<?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>86877</bug_id>
          
          <creation_ts>2012-05-18 11:22:22 -0700</creation_ts>
          <short_desc>Must set/reset pixel unpack alignment to 1 during texSubImage2D</short_desc>
          <delta_ts>2012-05-22 09:26:00 -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>All</rep_platform>
          <op_sys>All</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>87042</blocked>
    
    <blocked>87136</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Kenneth Russell">kbr</assigned_to>
          <cc>beidson</cc>
    
    <cc>cmarrin</cc>
    
    <cc>dino</cc>
    
    <cc>gman</cc>
    
    <cc>jamesr</cc>
    
    <cc>jbauman</cc>
    
    <cc>senorblanco</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>627843</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-05-18 11:22:22 -0700</bug_when>
    <thetext>Most of WebGLRenderingContext&apos;s texImage2D and texSubImage2D code paths, in particular those taking DOM elements and ImageData, have to pack the texture data into a temporary buffer before uploading. This temporary buffer is tightly packed, so the UNPACK_ALIGNMENT pixel store parameter has to be set to 1 during the upload. This was done for texImage2D a long time ago but is missing in the texSubImage2D code paths.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629492</commentid>
    <comment_count>1</comment_count>
      <attachid>143095</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-05-21 14:27:00 -0700</bug_when>
    <thetext>Created attachment 143095
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629501</commentid>
    <comment_count>2</comment_count>
      <attachid>143095</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-05-21 14:32:24 -0700</bug_when>
    <thetext>Comment on attachment 143095
Patch

R=me.  C++ changes look fine, I haven&apos;t carefully looked at the layout tests but since they are imports I&apos;m assuming they are fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630006</commentid>
    <comment_count>3</comment_count>
      <attachid>143095</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 23:57:21 -0700</bug_when>
    <thetext>Comment on attachment 143095
Patch

Clearing flags on attachment: 143095

Committed r117918: &lt;http://trac.webkit.org/changeset/117918&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630007</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 23:57:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630414</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-05-22 08:56:28 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 143095 [details])
&gt; R=me.  C++ changes look fine, I haven&apos;t carefully looked at the layout tests but since they are imports I&apos;m assuming they are fine.

They weren&apos;t.  This started 4 failures on Mac bots

http://build.webkit.org/results/Lion%20Release%20(Tests)/r117918%20(8526)/results.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143095</attachid>
            <date>2012-05-21 14:27:00 -0700</date>
            <delta_ts>2012-05-21 23:57:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86877-20120521142654.patch</filename>
            <type>text/plain</type>
            <size>65293</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3ODAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmRlYWExMDM5ZjIwM2Nl
Mzk2Y2Q4NDQwNzVkMmVlZTQ3ZmJjYmUxOC4uOWYxMzE5NDIyNzM2M2FmMzNkNjNiOGM2NjRhOGYz
MjIzNGM1ZGM4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA1LTIxICBLZW5u
ZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KKworICAgICAgICBNdXN0IHNldC9yZXNldCBw
aXhlbCB1bnBhY2sgYWxpZ25tZW50IHRvIDEgZHVyaW5nIHRleFN1YkltYWdlMkQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODc3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0IHBpeGVsIHVucGFjayBh
bGlnbm1lbnQgdG8gMSBkdXJpbmcgdXBsb2FkLCByZXNldHRpbmcgYWZ0ZXJ3YXJkLgorCisgICAg
ICAgIFRlc3RzOiBmYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy1yZ2I1NjUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jYW52YXMvd2ViZ2wv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQuaHRtbAorICAg
ICAgICAgICAgICAgZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQt
d2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jYW52YXMvd2Vi
Z2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS1kYXRhLXJnYjU2NS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2NhbnZhcy93ZWJnbC90
ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEtcmdiYTQ0NDQuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1pbWFnZS1kYXRhLXJnYmE1NTUxLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvY2Fu
dmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWlt
YWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jYW52
YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5o
dG1sCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTJESW1w
bCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnRleFN1YkltYWdl
MkQpOgorICAgICAgICAgICAgU2V0IHBpeGVsIHVucGFjayBhbGlnbm1lbnQgdG8gMSBkdXJpbmcg
dXBsb2FkOyByZXNldCBhZnRlcndhcmQuCisKIDIwMTItMDUtMjEgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogcmVmYWN0b3Ig
cmV2aXNpb24gaGlzdG9yeSB0byBub3QgaW5jbHVkZSByZXNvdXJjZSBpdHNlbGYuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApp
bmRleCA5MDEyNDZkMmUwOGQ2ZjExYjhkNjA2OGI5ZjNkYjk0ZTg2NzZjZjkzLi5lOWIyODE2ODg5
NDM0NWNkNjU2ODM3YzBhNjU4Y2QwODEwNGIxNDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTM3MzUsOCArMzcz
NSwxMiBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dGV4U3ViSW1hZ2UyREltcGwoR0Mz
RGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQwogICAgICAgICBzeW50aGVzaXplR0xFcnJv
cihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSwgInRleFN1YkltYWdlMkQiLCAiYmFk
IGltYWdlIik7CiAgICAgICAgIHJldHVybjsKICAgICB9CisgICAgaWYgKG1fdW5wYWNrQWxpZ25t
ZW50ICE9IDEpCisgICAgICAgIG1fY29udGV4dC0+cGl4ZWxTdG9yZWkoR3JhcGhpY3NDb250ZXh0
M0Q6OlVOUEFDS19BTElHTk1FTlQsIDEpOwogICAgIHRleFN1YkltYWdlMkRCYXNlKHRhcmdldCwg
bGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIGltYWdlLT53aWR0aCgpLCBpbWFnZS0+aGVpZ2h0KCks
CiAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0LCB0eXBlLCBkYXRhLmRhdGEoKSwgZWMpOwor
ICAgIGlmIChtX3VucGFja0FsaWdubWVudCAhPSAxKQorICAgICAgICBtX2NvbnRleHQtPnBpeGVs
U3RvcmVpKEdyYXBoaWNzQ29udGV4dDNEOjpVTlBBQ0tfQUxJR05NRU5ULCBtX3VucGFja0FsaWdu
bWVudCk7CiB9CiAKIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojp0ZXhTdWJJbWFnZTJEKEdD
M0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlv
ZmZzZXQsCkBAIC0zNzc2LDggKzM3ODAsMTIgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6
OnRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW4KICAg
ICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUs
ICJ0ZXhTdWJJbWFnZTJEIiwgImJhZCBpbWFnZSBkYXRhIik7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CisgICAgaWYgKG1fdW5wYWNrQWxpZ25tZW50ICE9IDEpCisgICAgICAgIG1fY29udGV4dC0+
cGl4ZWxTdG9yZWkoR3JhcGhpY3NDb250ZXh0M0Q6OlVOUEFDS19BTElHTk1FTlQsIDEpOwogICAg
IHRleFN1YkltYWdlMkRCYXNlKHRhcmdldCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIHBpeGVs
cy0+d2lkdGgoKSwgcGl4ZWxzLT5oZWlnaHQoKSwKICAgICAgICAgICAgICAgICAgICAgICBmb3Jt
YXQsIHR5cGUsIGRhdGEuZGF0YSgpLCBlYyk7CisgICAgaWYgKG1fdW5wYWNrQWxpZ25tZW50ICE9
IDEpCisgICAgICAgIG1fY29udGV4dC0+cGl4ZWxTdG9yZWkoR3JhcGhpY3NDb250ZXh0M0Q6OlVO
UEFDS19BTElHTk1FTlQsIG1fdW5wYWNrQWxpZ25tZW50KTsKIH0KIAogdm9pZCBXZWJHTFJlbmRl
cmluZ0NvbnRleHQ6OnRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVs
LCBHQzNEaW50IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZWI1ZTE1OWU2MTMy
ZTc3NmE2ODNmZWUyMDc5NDkzYzhhNTQ5M2U5Li42OGIzNjBjYjhmNjljODY1M2U5NGI5MTY1ZWY2
NzlmNWMzZjY2NzAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMTItMDUtMjEgIEtlbm5ldGgg
UnVzc2VsbCAgPGtickBnb29nbGUuY29tPgorCisgICAgICAgIE11c3Qgc2V0L3Jlc2V0IHBpeGVs
IHVucGFjayBhbGlnbm1lbnQgdG8gMSBkdXJpbmcgdGV4U3ViSW1hZ2UyRAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY4NzcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbmNvcnBvcmF0ZWQgc2V2ZXJhbCB0
ZXN0cyBmcm9tIFdlYkdMIGNvbmZvcm1hbmNlIHN1aXRlIGF0IEtocm9ub3MKKyAgICAgICAgYXMg
bGF5b3V0IHRlc3RzLCB2ZXJpZnlpbmcgdXBsb2FkIHRvIGFsbCBwYWNrZWQgcGl4ZWwgZm9ybWF0
cy4KKworICAgICAgICBUaGVyZSB3ZXJlIGRpZmZpY3VsdGllcyBpbmNvcnBvcmF0aW5nIHRoZSB2
aWRlby1yZWxhdGVkIHZhcmlhbnRzCisgICAgICAgIG9mIHRoZXNlIHRlc3RzOyBCdWcgODcwNDIg
aGFzIGJlZW4gZmlsZWQgdG8gdHJhY2sgdGhlaXIgYWRkaXRpb24uCisKKyAgICAgICAgKiBmYXN0
L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1j
YW52YXMuanM6IEFkZGVkLgorICAgICAgICAoZ2VuZXJhdGVUZXN0LmluaXQpOgorICAgICAgICAo
Z2VuZXJhdGVUZXN0LnJ1bk9uZUl0ZXJhdGlvbik6CisgICAgICAgIChnZW5lcmF0ZVRlc3QucnVu
VGVzdCk6CisgICAgICAgIChnZW5lcmF0ZVRlc3QpOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dl
YmdsL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEu
anM6IEFkZGVkLgorICAgICAgICAoZ2VuZXJhdGVUZXN0LmluaXQpOgorICAgICAgICAoZ2VuZXJh
dGVUZXN0LnJ1bk9uZUl0ZXJhdGlvbik6CisgICAgICAgIChnZW5lcmF0ZVRlc3QucnVuVGVzdCk6
CisgICAgICAgIChnZW5lcmF0ZVRlc3QpOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3Jl
c291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmpzOiBBZGRlZC4K
KyAgICAgICAgKGdlbmVyYXRlVGVzdC5pbml0KToKKyAgICAgICAgKGdlbmVyYXRlVGVzdC5ydW5P
bmVJdGVyYXRpb24pOgorICAgICAgICAoZ2VuZXJhdGVUZXN0LnJ1blRlc3RPbkltYWdlKToKKyAg
ICAgICAgKGdlbmVyYXRlVGVzdC5ydW5UZXN0Lm5ld0ltYWdlLm9ubG9hZCk6CisgICAgICAgIChn
ZW5lcmF0ZVRlc3QucnVuVGVzdCk6CisgICAgICAgIChnZW5lcmF0ZVRlc3QucnVuVGVzdDIubmV3
SW1hZ2Uub25sb2FkKToKKyAgICAgICAgKGdlbmVyYXRlVGVzdC5ydW5UZXN0Mik6CisgICAgICAg
IChnZW5lcmF0ZVRlc3QucnVuVGVzdDMpOgorICAgICAgICAoZ2VuZXJhdGVUZXN0KToKKyAgICAg
ICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qczoKKyAg
ICAgICAgKFdlYkdMVGVzdFV0aWxzKToKKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1leHBlY3RlZC50eHQ6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtaW1hZ2UtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmds
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS1leHBlY3RlZC50
eHQ6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGZhc3Qv
Y2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2
NS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IENvcGllZCBm
cm9tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtaW1hZ2UtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmds
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLWV4cGVjdGVkLnR4dDogQ29waWVkIGZyb20gTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS1leHBlY3RlZC50eHQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1NTEuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1j
YW52YXMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1kYXRhLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdl
LWRhdGEtcmdiNTY1LWV4cGVjdGVkLnR4dDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1kYXRhLWV4
cGVjdGVkLnR4dC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEtcmdiNTY1Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Ut
ZGF0YS1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtZGF0YS1l
eHBlY3RlZC50eHQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1kYXRhLXJnYmE0NDQ0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1h
Z2UtZGF0YS1yZ2JhNTU1MS1leHBlY3RlZC50eHQ6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtZGF0
YS1leHBlY3RlZC50eHQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1kYXRhLXJnYmE1NTUxLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
aW1hZ2UtZGF0YS5odG1sOgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qv
Y2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1p
bWFnZS1yZ2JhNDQ0NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1h
Z2UtcmdiYTU1NTEuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5odG1sOgorCiAyMDEyLTA1LTIxICBC
cmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBDaGVja2luZyBpbiBj
b3JyZWN0IHRlc3QgcmVzdWx0cyBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg2MTE5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9y
ZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1h
Z2UtMmQtd2l0aC1jYW52YXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDdiYzA5ODUxYWRjY2U4YmUzZWQ3ZTA0
NzM5MzMzM2EzMGNlY2FjNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy5qcwpAQCAtMCwwICsxLDkzIEBACitmdW5jdGlvbiBnZW5lcmF0ZVRlc3QocGl4ZWxGb3JtYXQs
IHBpeGVsVHlwZSwgcHJvbG9ndWUpIHsKKyAgICB2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cisg
ICAgdmFyIGdsID0gbnVsbDsKKyAgICB2YXIgdGV4dHVyZUxvYyA9IG51bGw7CisgICAgdmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworCisgICAgdmFyIGluaXQgPSBmdW5jdGlvbigpCisg
ICAgeworICAgICAgICBpZiAod2luZG93LmluaXROb25LaHJvbm9zRnJhbWV3b3JrKSB7CisgICAg
ICAgICAgICB3aW5kb3cuaW5pdE5vbktocm9ub3NGcmFtZXdvcmsodHJ1ZSk7CisgICAgICAgIH0K
KworICAgICAgICBkZXNjcmlwdGlvbignVmVyaWZ5IHRleEltYWdlMkQgYW5kIHRleFN1YkltYWdl
MkQgY29kZSBwYXRocyB0YWtpbmcgY2FudmFzIGVsZW1lbnRzICgnICsgcGl4ZWxGb3JtYXQgKyAn
LycgKyBwaXhlbFR5cGUgKyAnKScpOworCisgICAgICAgIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4
dCgiZXhhbXBsZSIpOworCisgICAgICAgIGlmICghcHJvbG9ndWUoZ2wpKSB7CisgICAgICAgICAg
ICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAg
ICB2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7CisKKyAgICAgICAgZ2wu
Y2xlYXJDb2xvcigwLDAsMCwxKTsKKyAgICAgICAgZ2wuY2xlYXJEZXB0aCgxKTsKKworICAgICAg
ICB2YXIgdGVzdENhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOworICAg
ICAgICB0ZXN0Q2FudmFzLndpZHRoID0gMTsKKyAgICAgICAgdGVzdENhbnZhcy5oZWlnaHQgPSAy
OworICAgICAgICB2YXIgY3R4ID0gdGVzdENhbnZhcy5nZXRDb250ZXh0KCIyZCIpOworICAgICAg
ICBjdHguZmlsbFN0eWxlID0gIiNmZjAwMDAiOworICAgICAgICBjdHguZmlsbFJlY3QoMCwwLDEs
MSk7CisgICAgICAgIGN0eC5maWxsU3R5bGUgPSAiIzAwZmYwMCI7CisgICAgICAgIGN0eC5maWxs
UmVjdCgwLDEsMSwxKTsKKyAgICAgICAgcnVuVGVzdCh0ZXN0Q2FudmFzKTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBydW5PbmVJdGVyYXRpb24oaW1hZ2UsIHVzZVRleFN1YkltYWdlMkQsIGZsaXBZ
LCB0b3BDb2xvciwgYm90dG9tQ29sb3IpCisgICAgeworICAgICAgICBkZWJ1ZygnVGVzdGluZyAn
ICsgKHVzZVRleFN1YkltYWdlMkQgPyAndGV4U3ViSW1hZ2UyRCcgOiAndGV4SW1hZ2UyRCcpICsK
KyAgICAgICAgICAgICAgJyB3aXRoIGZsaXBZPScgKyBmbGlwWSk7CisgICAgICAgIGdsLmNsZWFy
KGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBUSF9CVUZGRVJfQklUKTsKKyAgICAgICAgLy8g
RGlzYWJsZSBhbnkgd3JpdGVzIHRvIHRoZSBhbHBoYSBjaGFubmVsCisgICAgICAgIGdsLmNvbG9y
TWFzaygxLCAxLCAxLCAwKTsKKyAgICAgICAgdmFyIHRleHR1cmUgPSBnbC5jcmVhdGVUZXh0dXJl
KCk7CisgICAgICAgIC8vIEJpbmQgdGhlIHRleHR1cmUgdG8gdGV4dHVyZSB1bml0IDAKKyAgICAg
ICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSk7CisgICAgICAgIC8vIFNl
dCB1cCB0ZXh0dXJlIHBhcmFtZXRlcnMKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhU
VVJFXzJELCBnbC5URVhUVVJFX01JTl9GSUxURVIsIGdsLk5FQVJFU1QpOworICAgICAgICBnbC50
ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTkVB
UkVTVCk7CisgICAgICAgIC8vIFNldCB1cCBwaXhlbCBzdG9yZSBwYXJhbWV0ZXJzCisgICAgICAg
IGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19GTElQX1lfV0VCR0wsIGZsaXBZKTsKKyAgICAgICAg
Z2wucGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX1BSRU1VTFRJUExZX0FMUEhBX1dFQkdMLCBmYWxzZSk7
CisgICAgICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19DT0xPUlNQQUNFX0NPTlZFUlNJT05f
V0VCR0wsIGdsLk5PTkUpOworICAgICAgICAvLyBVcGxvYWQgdGhlIGltYWdlIGludG8gdGhlIHRl
eHR1cmUKKyAgICAgICAgaWYgKHVzZVRleFN1YkltYWdlMkQpIHsKKyAgICAgICAgICAgIC8vIElu
aXRpYWxpemUgdGhlIHRleHR1cmUgdG8gYmxhY2sgZmlyc3QKKyAgICAgICAgICAgIGdsLnRleElt
YWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2xbcGl4ZWxGb3JtYXRdLCBpbWFnZS53aWR0aCwgaW1h
Z2UuaGVpZ2h0LCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICBnbFtwaXhlbEZvcm1hdF0s
IGdsW3BpeGVsVHlwZV0sIG51bGwpOworICAgICAgICAgICAgZ2wudGV4U3ViSW1hZ2UyRChnbC5U
RVhUVVJFXzJELCAwLCAwLCAwLCBnbFtwaXhlbEZvcm1hdF0sIGdsW3BpeGVsVHlwZV0sIGltYWdl
KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgZ2xbcGl4ZWxGb3JtYXRdLCBnbFtwaXhlbEZvcm1hdF0sIGdsW3BpeGVsVHlwZV0s
IGltYWdlKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFBvaW50IHRoZSB1bmlmb3JtIHNhbXBs
ZXIgdG8gdGV4dHVyZSB1bml0IDAKKyAgICAgICAgZ2wudW5pZm9ybTFpKHRleHR1cmVMb2MsIDAp
OworICAgICAgICAvLyBEcmF3IHRoZSB0cmlhbmdsZXMKKyAgICAgICAgd3R1LmRyYXdRdWFkKGds
LCBbMCwgMCwgMCwgMjU1XSk7CisgICAgICAgIC8vIENoZWNrIGEgZmV3IHBpeGVscyBuZWFyIHRo
ZSB0b3AgYW5kIGJvdHRvbSBhbmQgbWFrZSBzdXJlIHRoZXkgaGF2ZQorICAgICAgICAvLyB0aGUg
cmlnaHQgY29sb3IuCisgICAgICAgIGRlYnVnKCJDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5lciIp
OworICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCA0LCA0LCAyLCAyLCBib3R0b21Db2xv
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hvdWxkQmUgIiArIGJvdHRvbUNvbG9y
KTsKKyAgICAgICAgZGVidWcoIkNoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVyIik7CisgICAgICAg
IHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDQsIGdsLmNhbnZhcy5oZWlnaHQgLSA4LCAyLCAyLCB0
b3BDb2xvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hvdWxkQmUgIiArIHRvcENv
bG9yKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KGltYWdlKQorICAgIHsKKyAgICAg
ICAgdmFyIHJlZCA9IFsyNTUsIDAsIDBdOworICAgICAgICB2YXIgZ3JlZW4gPSBbMCwgMjU1LCAw
XTsKKyAgICAgICAgcnVuT25lSXRlcmF0aW9uKGltYWdlLCBmYWxzZSwgdHJ1ZSwgcmVkLCBncmVl
bik7CisgICAgICAgIHJ1bk9uZUl0ZXJhdGlvbihpbWFnZSwgZmFsc2UsIGZhbHNlLCBncmVlbiwg
cmVkKTsKKyAgICAgICAgcnVuT25lSXRlcmF0aW9uKGltYWdlLCB0cnVlLCB0cnVlLCByZWQsIGdy
ZWVuKTsKKyAgICAgICAgcnVuT25lSXRlcmF0aW9uKGltYWdlLCB0cnVlLCBmYWxzZSwgZ3JlZW4s
IHJlZCk7CisKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUiwgInNob3Vs
ZCBiZSBubyBlcnJvcnMiKTsKKyAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0KKworICAgIHJl
dHVybiBpbml0OworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
cmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtZGF0YS5qcyBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1
Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmVmNjkzNjZiYzYwNjM1
YTA4YmVhZmUwNGM5MzMwYjI2Y2M1NDg4NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3Jlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLWRhdGEuanMKQEAgLTAsMCArMSwxMTQgQEAKK2Z1bmN0aW9uIGdlbmVyYXRlVGVz
dChwaXhlbEZvcm1hdCwgcGl4ZWxUeXBlLCBwcm9sb2d1ZSkgeworICAgIHZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKKyAgICB2YXIgZ2wgPSBudWxsOworICAgIHZhciB0ZXh0dXJlTG9jID0gbnVs
bDsKKyAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gZmFsc2U7CisgICAgdmFyIGltYWdlRGF0
YSA9IG51bGw7CisKKyAgICB2YXIgaW5pdCA9IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlm
ICh3aW5kb3cuaW5pdE5vbktocm9ub3NGcmFtZXdvcmspIHsKKyAgICAgICAgICAgIHdpbmRvdy5p
bml0Tm9uS2hyb25vc0ZyYW1ld29yayh0cnVlKTsKKyAgICAgICAgfQorCisgICAgICAgIGRlc2Ny
aXB0aW9uKCdWZXJpZnkgdGV4SW1hZ2UyRCBhbmQgdGV4U3ViSW1hZ2UyRCBjb2RlIHBhdGhzIHRh
a2luZyBJbWFnZURhdGEgKCcgKyBwaXhlbEZvcm1hdCArICcvJyArIHBpeGVsVHlwZSArICcpJyk7
CisKKyAgICAgICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7CisKKyAgICAg
ICAgaWYgKCFwcm9sb2d1ZShnbCkpIHsKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHZhciBwcm9ncmFtID0gd3R1LnNl
dHVwVGV4dHVyZWRRdWFkKGdsKTsKKyAgICAgICAgZ2wuY2xlYXJDb2xvcigwLDAsMCwxKTsKKyAg
ICAgICAgZ2wuY2xlYXJEZXB0aCgxKTsKKyAgICAgICAgZ2wuZGlzYWJsZShnbC5CTEVORCk7CisK
KyAgICAgICAgdGV4dHVyZUxvYyA9IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidGV4
Iik7CisKKyAgICAgICAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRl
eGNhbnZhcyIpOworICAgICAgICB2YXIgY29udGV4dDJkID0gY2FudmFzMmQuZ2V0Q29udGV4dCgi
MmQiKTsKKyAgICAgICAgaW1hZ2VEYXRhID0gY29udGV4dDJkLmNyZWF0ZUltYWdlRGF0YSgxLCAy
KTsKKyAgICAgICAgdmFyIGRhdGEgPSBpbWFnZURhdGEuZGF0YTsKKyAgICAgICAgZGF0YVswXSA9
IDI1NTsKKyAgICAgICAgZGF0YVsxXSA9IDA7CisgICAgICAgIGRhdGFbMl0gPSAwOworICAgICAg
ICBkYXRhWzNdID0gMjU1OworICAgICAgICBkYXRhWzRdID0gMDsKKyAgICAgICAgZGF0YVs1XSA9
IDI1NTsKKyAgICAgICAgZGF0YVs2XSA9IDA7CisgICAgICAgIGRhdGFbN10gPSAwOworCisgICAg
ICAgIHJ1blRlc3QoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5PbmVJdGVyYXRpb24odXNl
VGV4U3ViSW1hZ2UyRCwgZmxpcFksIHByZW11bHRpcGx5QWxwaGEsIHRvcENvbG9yLCBib3R0b21D
b2xvcikKKyAgICB7CisgICAgICAgIGRlYnVnKCdUZXN0aW5nICcgKyAodXNlVGV4U3ViSW1hZ2Uy
RCA/ICd0ZXhTdWJJbWFnZTJEJyA6ICd0ZXhJbWFnZTJEJykgKworICAgICAgICAgICAgICAnIHdp
dGggZmxpcFk9JyArIGZsaXBZICsgJyBhbmQgcHJlbXVsdGlwbHlBbHBoYT0nICsgcHJlbXVsdGlw
bHlBbHBoYSk7CisgICAgICAgIGdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQgfCBnbC5ERVBU
SF9CVUZGRVJfQklUKTsKKyAgICAgICAgLy8gRW5hYmxlIHdyaXRlcyB0byB0aGUgUkdCQSBjaGFu
bmVscworICAgICAgICBnbC5jb2xvck1hc2soMSwgMSwgMSwgMCk7CisgICAgICAgIHZhciB0ZXh0
dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgICAgICAvLyBCaW5kIHRoZSB0ZXh0dXJlIHRv
IHRleHR1cmUgdW5pdCAwCisgICAgICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRl
eHR1cmUpOworICAgICAgICAvLyBTZXQgdXAgdGV4dHVyZSBwYXJhbWV0ZXJzCisgICAgICAgIGds
LnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBnbC5O
RUFSRVNUKTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhU
VVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworICAgICAgICAvLyBTZXQgdXAgcGl4ZWwgc3Rv
cmUgcGFyYW1ldGVycworICAgICAgICBnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9ZX1dF
QkdMLCBmbGlwWSk7CisgICAgICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19QUkVNVUxUSVBM
WV9BTFBIQV9XRUJHTCwgcHJlbXVsdGlwbHlBbHBoYSk7CisgICAgICAgIC8vIFVwbG9hZCB0aGUg
aW1hZ2UgaW50byB0aGUgdGV4dHVyZQorICAgICAgICBpZiAodXNlVGV4U3ViSW1hZ2UyRCkgewor
ICAgICAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgdGV4dHVyZSB0byBibGFjayBmaXJzdAorICAg
ICAgICAgICAgZ2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbFtwaXhlbEZvcm1hdF0s
IDEsIDIsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGdsW3BpeGVsRm9ybWF0XSwgZ2xb
cGl4ZWxUeXBlXSwgbnVsbCk7CisgICAgICAgICAgICBnbC50ZXhTdWJJbWFnZTJEKGdsLlRFWFRV
UkVfMkQsIDAsIDAsIDAsIGdsW3BpeGVsRm9ybWF0XSwgZ2xbcGl4ZWxUeXBlXSwgaW1hZ2VEYXRh
KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGdsLnRleEltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgZ2xbcGl4ZWxGb3JtYXRdLCBnbFtwaXhlbEZvcm1hdF0sIGdsW3BpeGVsVHlwZV0s
IGltYWdlRGF0YSk7CisgICAgICAgIH0KKworICAgICAgICAvLyBQb2ludCB0aGUgdW5pZm9ybSBz
YW1wbGVyIHRvIHRleHR1cmUgdW5pdCAwCisgICAgICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9j
LCAwKTsKKyAgICAgICAgLy8gRHJhdyB0aGUgdHJpYW5nbGVzCisgICAgICAgIHd0dS5kcmF3UXVh
ZChnbCwgWzAsIDAsIDAsIDI1NV0pOworCisgICAgICAgIC8vIENoZWNrIHRoZSB0b3AgcGl4ZWwg
YW5kIGJvdHRvbSBwaXhlbCBhbmQgbWFrZSBzdXJlIHRoZXkgaGF2ZQorICAgICAgICAvLyB0aGUg
cmlnaHQgY29sb3IuCisgICAgICAgIGRlYnVnKCJDaGVja2luZyBib3R0b20gcGl4ZWwiKTsKKyAg
ICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgMSwgMSwgYm90dG9tQ29sb3IsICJz
aG91bGRCZSAiICsgYm90dG9tQ29sb3IpOworICAgICAgICBkZWJ1ZygiQ2hlY2tpbmcgdG9wIHBp
eGVsIik7CisgICAgICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDEsIDEsIDEsIHRvcENv
bG9yLCAic2hvdWxkQmUgIiArIHRvcENvbG9yKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5U
ZXN0KCkKKyAgICB7CisgICAgICAgIHZhciByZWQgPSBbMjU1LCAwLCAwLCAyNTVdOworICAgICAg
ICB2YXIgZ3JlZW4gPSBbMCwgMjU1LCAwLCAyNTVdOworICAgICAgICB2YXIgcmVkUHJlbXVsdGlw
bHlBbHBoYSA9IFsyNTUsIDAsIDAsIDI1NV07CisgICAgICAgIHZhciBncmVlblByZW11bHRpcGx5
QWxwaGEgPSBbMCwgMCwgMCwgMjU1XTsKKworICAgICAgICBydW5PbmVJdGVyYXRpb24oZmFsc2Us
IHRydWUsIGZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgcmVkLCBncmVlbik7CisgICAg
ICAgIHJ1bk9uZUl0ZXJhdGlvbihmYWxzZSwgZmFsc2UsIGZhbHNlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgZ3JlZW4sIHJlZCk7CisgICAgICAgIHJ1bk9uZUl0ZXJhdGlvbihmYWxzZSwgdHJ1
ZSwgdHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlZFByZW11bHRpcGx5QWxwaGEsIGdy
ZWVuUHJlbXVsdGlwbHlBbHBoYSk7CisgICAgICAgIHJ1bk9uZUl0ZXJhdGlvbihmYWxzZSwgZmFs
c2UsIHRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICBncmVlblByZW11bHRpcGx5QWxwaGEs
IHJlZFByZW11bHRpcGx5QWxwaGEpOworICAgICAgICBydW5PbmVJdGVyYXRpb24odHJ1ZSwgdHJ1
ZSwgZmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICByZWQsIGdyZWVuKTsKKyAgICAgICAg
cnVuT25lSXRlcmF0aW9uKHRydWUsIGZhbHNlLCBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGdyZWVuLCByZWQpOworICAgICAgICBydW5PbmVJdGVyYXRpb24odHJ1ZSwgdHJ1ZSwgdHJ1
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlZFByZW11bHRpcGx5QWxwaGEsIGdyZWVuUHJl
bXVsdGlwbHlBbHBoYSk7CisgICAgICAgIHJ1bk9uZUl0ZXJhdGlvbih0cnVlLCBmYWxzZSwgdHJ1
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGdyZWVuUHJlbXVsdGlwbHlBbHBoYSwgcmVkUHJl
bXVsdGlwbHlBbHBoYSk7CisKKyAgICAgICAgZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJP
UiwgInNob3VsZCBiZSBubyBlcnJvcnMiKTsKKyAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0K
KworICAgIHJldHVybiBpbml0OworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ2wvcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Uu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC9yZXNvdXJjZXMvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lN2ZmOGI2NDllNWY1ZjVj
YzU5ZGEyZTBhMWE1MzNhMzhmYzE3ZGYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvcmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UuanMKQEAgLTAsMCArMSwxMjggQEAKK2Z1bmN0aW9uIGdlbmVyYXRlVGVzdChwaXhl
bEZvcm1hdCwgcGl4ZWxUeXBlLCBwYXRoVG9UZXN0Um9vdCwgcHJvbG9ndWUpIHsKKyAgICB2YXIg
d3R1ID0gV2ViR0xUZXN0VXRpbHM7CisgICAgdmFyIGdsID0gbnVsbDsKKyAgICB2YXIgdGV4dHVy
ZUxvYyA9IG51bGw7CisgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZhbHNlOworICAgIHZh
ciBpbWdDYW52YXM7CisgICAgdmFyIHJlZCA9IFsyNTUsIDAsIDBdOworICAgIHZhciBncmVlbiA9
IFswLCAyNTUsIDBdOworCisgICAgdmFyIGluaXQgPSBmdW5jdGlvbigpCisgICAgeworICAgICAg
ICBpZiAod2luZG93LmluaXROb25LaHJvbm9zRnJhbWV3b3JrKSB7CisgICAgICAgICAgICB3aW5k
b3cuaW5pdE5vbktocm9ub3NGcmFtZXdvcmsodHJ1ZSk7CisgICAgICAgIH0KKworICAgICAgICBk
ZXNjcmlwdGlvbignVmVyaWZ5IHRleEltYWdlMkQgYW5kIHRleFN1YkltYWdlMkQgY29kZSBwYXRo
cyB0YWtpbmcgaW1hZ2UgZWxlbWVudHMgKCcgKyBwaXhlbEZvcm1hdCArICcvJyArIHBpeGVsVHlw
ZSArICcpJyk7CisKKyAgICAgICAgZ2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCJleGFtcGxlIik7
CisKKyAgICAgICAgaWYgKCFwcm9sb2d1ZShnbCkpIHsKKyAgICAgICAgICAgIGZpbmlzaFRlc3Qo
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHZhciBwcm9ncmFt
ID0gd3R1LnNldHVwVGV4dHVyZWRRdWFkKGdsKTsKKworICAgICAgICBnbC5jbGVhckNvbG9yKDAs
MCwwLDEpOworICAgICAgICBnbC5jbGVhckRlcHRoKDEpOworCisgICAgICAgIHRleHR1cmVMb2Mg
PSBnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgInRleCIpOworCisgICAgICAgIHd0dS5s
b2FkVGV4dHVyZShnbCwgcGF0aFRvVGVzdFJvb3QgKyAiL3Jlc291cmNlcy9yZWQtZ3JlZW4ucG5n
IiwgcnVuVGVzdCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuT25lSXRlcmF0aW9uKGltYWdl
LCB1c2VUZXhTdWJJbWFnZTJELCBmbGlwWSwgdG9wQ29sb3IsIGJvdHRvbUNvbG9yKQorICAgIHsK
KyAgICAgICAgZGVidWcoJ1Rlc3RpbmcgJyArICh1c2VUZXhTdWJJbWFnZTJEID8gJ3RleFN1Yklt
YWdlMkQnIDogJ3RleEltYWdlMkQnKSArCisgICAgICAgICAgICAgICcgd2l0aCBmbGlwWT0nICsg
ZmxpcFkpOworICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUIHwgZ2wuREVQVEhf
QlVGRkVSX0JJVCk7CisgICAgICAgIC8vIERpc2FibGUgYW55IHdyaXRlcyB0byB0aGUgYWxwaGEg
Y2hhbm5lbAorICAgICAgICBnbC5jb2xvck1hc2soMSwgMSwgMSwgMCk7CisgICAgICAgIHZhciB0
ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworICAgICAgICAvLyBCaW5kIHRoZSB0ZXh0dXJl
IHRvIHRleHR1cmUgdW5pdCAwCisgICAgICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQs
IHRleHR1cmUpOworICAgICAgICAvLyBTZXQgdXAgdGV4dHVyZSBwYXJhbWV0ZXJzCisgICAgICAg
IGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9NSU5fRklMVEVSLCBn
bC5ORUFSRVNUKTsKKyAgICAgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5U
RVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworICAgICAgICAvLyBTZXQgdXAgcGl4ZWwg
c3RvcmUgcGFyYW1ldGVycworICAgICAgICBnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9Z
X1dFQkdMLCBmbGlwWSk7CisgICAgICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVOUEFDS19QUkVNVUxU
SVBMWV9BTFBIQV9XRUJHTCwgZmFsc2UpOworICAgICAgICBnbC5waXhlbFN0b3JlaShnbC5VTlBB
Q0tfQ09MT1JTUEFDRV9DT05WRVJTSU9OX1dFQkdMLCBnbC5OT05FKTsKKyAgICAgICAgLy8gVXBs
b2FkIHRoZSBpbWFnZSBpbnRvIHRoZSB0ZXh0dXJlCisgICAgICAgIGlmICh1c2VUZXhTdWJJbWFn
ZTJEKSB7CisgICAgICAgICAgICAvLyBJbml0aWFsaXplIHRoZSB0ZXh0dXJlIHRvIGJsYWNrIGZp
cnN0CisgICAgICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsW3BpeGVs
Rm9ybWF0XSwgaW1hZ2Uud2lkdGgsIGltYWdlLmhlaWdodCwgMCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ2xbcGl4ZWxGb3JtYXRdLCBnbFtwaXhlbFR5cGVdLCBudWxsKTsKKyAgICAgICAg
ICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2xbcGl4ZWxGb3Jt
YXRdLCBnbFtwaXhlbFR5cGVdLCBpbWFnZSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsW3BpeGVsRm9ybWF0XSwgZ2xbcGl4
ZWxGb3JtYXRdLCBnbFtwaXhlbFR5cGVdLCBpbWFnZSk7CisgICAgICAgIH0KKworICAgICAgICAv
LyBQb2ludCB0aGUgdW5pZm9ybSBzYW1wbGVyIHRvIHRleHR1cmUgdW5pdCAwCisgICAgICAgIGds
LnVuaWZvcm0xaSh0ZXh0dXJlTG9jLCAwKTsKKyAgICAgICAgLy8gRHJhdyB0aGUgdHJpYW5nbGVz
CisgICAgICAgIHd0dS5kcmF3UXVhZChnbCwgWzAsIDAsIDAsIDI1NV0pOworICAgICAgICAvLyBD
aGVjayBhIGZldyBwaXhlbHMgbmVhciB0aGUgdG9wIGFuZCBib3R0b20gYW5kIG1ha2Ugc3VyZSB0
aGV5IGhhdmUKKyAgICAgICAgLy8gdGhlIHJpZ2h0IGNvbG9yLgorICAgICAgICBkZWJ1ZygiQ2hl
Y2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIiKTsKKyAgICAgICAgd3R1LmNoZWNrQ2FudmFzUmVjdChn
bCwgNCwgNCwgMiwgMiwgYm90dG9tQ29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InNob3VsZEJlICIgKyBib3R0b21Db2xvcik7CisgICAgICAgIGRlYnVnKCJDaGVja2luZyB1cHBl
ciBsZWZ0IGNvcm5lciIpOworICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCA0LCBnbC5j
YW52YXMuaGVpZ2h0IC0gOCwgMiwgMiwgdG9wQ29sb3IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInNob3VsZEJlICIgKyB0b3BDb2xvcik7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVu
VGVzdE9uSW1hZ2UoaW1hZ2UpIHsKKyAgICAgICAgcnVuT25lSXRlcmF0aW9uKGltYWdlLCBmYWxz
ZSwgdHJ1ZSwgcmVkLCBncmVlbik7CisgICAgICAgIHJ1bk9uZUl0ZXJhdGlvbihpbWFnZSwgZmFs
c2UsIGZhbHNlLCBncmVlbiwgcmVkKTsKKyAgICAgICAgcnVuT25lSXRlcmF0aW9uKGltYWdlLCB0
cnVlLCB0cnVlLCByZWQsIGdyZWVuKTsKKyAgICAgICAgcnVuT25lSXRlcmF0aW9uKGltYWdlLCB0
cnVlLCBmYWxzZSwgZ3JlZW4sIHJlZCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVzdChp
bWFnZSkKKyAgICB7CisgICAgICAgIHJ1blRlc3RPbkltYWdlKGltYWdlKTsKKworICAgICAgICBp
bWdDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsKKyAgICAgICAgaW1n
Q2FudmFzLndpZHRoID0gMTsKKyAgICAgICAgaW1nQ2FudmFzLmhlaWdodCA9IDI7CisgICAgICAg
IHZhciBpbWdDdHggPSBpbWdDYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsKKyAgICAgICAgdmFyIGlt
Z0RhdGEgPSBpbWdDdHguY3JlYXRlSW1hZ2VEYXRhKDEsIDIpOworICAgICAgICBpbWdEYXRhLmRh
dGFbMF0gPSByZWRbMF07CisgICAgICAgIGltZ0RhdGEuZGF0YVsxXSA9IHJlZFsxXTsKKyAgICAg
ICAgaW1nRGF0YS5kYXRhWzJdID0gcmVkWzJdOworICAgICAgICBpbWdEYXRhLmRhdGFbM10gPSAy
NTU7CisgICAgICAgIGltZ0RhdGEuZGF0YVs0XSA9IGdyZWVuWzBdOworICAgICAgICBpbWdEYXRh
LmRhdGFbNV0gPSBncmVlblsxXTsKKyAgICAgICAgaW1nRGF0YS5kYXRhWzZdID0gZ3JlZW5bMl07
CisgICAgICAgIGltZ0RhdGEuZGF0YVs3XSA9IDI1NTsKKyAgICAgICAgaW1nQ3R4LnB1dEltYWdl
RGF0YShpbWdEYXRhLCAwLCAwKTsKKworICAgICAgICAvLyBhcHBhcmVudGx5IEltYWdlIGlzIGRp
ZmZlcmVudCB0aGFuIDxpbWc+LgorICAgICAgICB2YXIgbmV3SW1hZ2UgPSAgbmV3IEltYWdlKCk7
CisgICAgICAgIG5ld0ltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgcnVu
VGVzdDIobmV3SW1hZ2UpOworICAgICAgICB9OworICAgICAgICBuZXdJbWFnZS5zcmMgPSBpbWdD
YW52YXMudG9EYXRhVVJMKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVzdDIoaW1hZ2Up
IHsKKyAgICAgICAgcnVuVGVzdE9uSW1hZ2UoaW1hZ2UpOworCisgICAgICAgIHZhciBuZXdJbWFn
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOworICAgICAgICBuZXdJbWFnZS5vbmxv
YWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHJ1blRlc3QzKG5ld0ltYWdlKTsKKyAgICAg
ICAgfTsKKyAgICAgICAgbmV3SW1hZ2Uuc3JjID0gaW1nQ2FudmFzLnRvRGF0YVVSTCgpOworICAg
IH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3QzKGltYWdlKSB7CisgICAgICAgIHJ1blRlc3RPbklt
YWdlKGltYWdlKTsKKworICAgICAgICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAi
c2hvdWxkIGJlIG5vIGVycm9ycyIpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorCisg
ICAgcmV0dXJuIGluaXQ7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzCmluZGV4IDc2ZGIyMGZiMTY0
OTUxMTZiYmViNzlkNjRkNjBjZDY3OTdmNzFkZjMuLjQzMjQ0ZDFjYmU1NDlhZmRiMjFlMTdlYzhi
ZWVmMDE4OTE2Y2I0OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdsL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzCkBAIC00NTMsMTQgKzQ1Mywx
OSBAQCB2YXIgbG9hZFRleHR1cmUgPSBmdW5jdGlvbihnbCwgdXJsLCBjYWxsYmFjaykgewogICov
CiB2YXIgY3JlYXRlM0RDb250ZXh0ID0gZnVuY3Rpb24ob3B0X2NhbnZhcywgb3B0X2F0dHJpYnV0
ZXMpIHsKICAgb3B0X2NhbnZhcyA9IG9wdF9jYW52YXMgfHwgZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiY2FudmFzIik7CisgIGlmICh0eXBlb2Ygb3B0X2NhbnZhcyA9PSAnc3RyaW5nJykgeworICAg
IG9wdF9jYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChvcHRfY2FudmFzKTsKKyAgfQog
ICB2YXIgY29udGV4dCA9IG51bGw7Ci0gIHRyeSB7Ci0gICAgY29udGV4dCA9IG9wdF9jYW52YXMu
Z2V0Q29udGV4dCgid2ViZ2wiLCBvcHRfYXR0cmlidXRlcyk7Ci0gIH0gY2F0Y2goZSkge30KLSAg
aWYgKCFjb250ZXh0KSB7CisgIHZhciBuYW1lcyA9IFsid2ViZ2wiLCAiZXhwZXJpbWVudGFsLXdl
YmdsIl07CisgIGZvciAodmFyIGkgPSAwOyBpIDwgbmFtZXMubGVuZ3RoOyArK2kpIHsKICAgICB0
cnkgewotICAgICAgY29udGV4dCA9IG9wdF9jYW52YXMuZ2V0Q29udGV4dCgiZXhwZXJpbWVudGFs
LXdlYmdsIiwgb3B0X2F0dHJpYnV0ZXMpOwotICAgIH0gY2F0Y2goZSkge30KKyAgICAgIGNvbnRl
eHQgPSBvcHRfY2FudmFzLmdldENvbnRleHQobmFtZXNbaV0sIG9wdF9hdHRyaWJ1dGVzKTsKKyAg
ICB9IGNhdGNoIChlKSB7CisgICAgfQorICAgIGlmIChjb250ZXh0KSB7CisgICAgICBicmVhazsK
KyAgICB9CiAgIH0KICAgaWYgKCFjb250ZXh0KSB7CiAgICAgdGVzdEZhaWxlZCgiVW5hYmxlIHRv
IGZldGNoIFdlYkdMIHJlbmRlcmluZyBjb250ZXh0IGZvciBDYW52YXMiKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtY2FudmFzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43ODBlNjA5MzRlYzRiNGNmMGMxNTUyNDdkZDRkNGEzZDk1Y2I4ZDliCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKK1Zl
cmlmeSB0ZXhJbWFnZTJEIGFuZCB0ZXhTdWJJbWFnZTJEIGNvZGUgcGF0aHMgdGFraW5nIGNhbnZh
cyBlbGVtZW50cyAoUkdCQS9VTlNJR05FRF9CWVRFKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKK1Rlc3RpbmcgdGV4SW1hZ2UyRCB3aXRoIGZsaXBZPXRydWUKK0NoZWNraW5nIGxvd2Vy
IGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDAsMjU1LDAKK0NoZWNraW5nIHVwcGVyIGxlZnQg
Y29ybmVyCitQQVNTIHNob3VsZEJlIDI1NSwwLDAKK1Rlc3RpbmcgdGV4SW1hZ2UyRCB3aXRoIGZs
aXBZPWZhbHNlCitDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAyNTUs
MCwwCitDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAwLDI1NSwwCitU
ZXN0aW5nIHRleFN1YkltYWdlMkQgd2l0aCBmbGlwWT10cnVlCitDaGVja2luZyBsb3dlciBsZWZ0
IGNvcm5lcgorUEFTUyBzaG91bGRCZSAwLDI1NSwwCitDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5l
cgorUEFTUyBzaG91bGRCZSAyNTUsMCwwCitUZXN0aW5nIHRleFN1YkltYWdlMkQgd2l0aCBmbGlw
WT1mYWxzZQorQ2hlY2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMjU1LDAs
MAorQ2hlY2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMCwyNTUsMAorUEFT
UyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogc2hvdWxkIGJlIG5vIGVy
cm9ycworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYjU2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZh
cy1yZ2I1NjUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjYzlhOTdkZjhiN2FjOTQ5Y2M0Y2Ez
NWM1ZTdiMmU0MzdlOWNhMDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2I1NjUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKK1ZlcmlmeSB0ZXhJbWFnZTJEIGFuZCB0ZXhT
dWJJbWFnZTJEIGNvZGUgcGF0aHMgdGFraW5nIGNhbnZhcyBlbGVtZW50cyAoUkdCL1VOU0lHTkVE
X1NIT1JUXzVfNl81KQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1Rlc3RpbmcgdGV4
SW1hZ2UyRCB3aXRoIGZsaXBZPXRydWUKK0NoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyCitQQVNT
IHNob3VsZEJlIDAsMjU1LDAKK0NoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVyCitQQVNTIHNob3Vs
ZEJlIDI1NSwwLDAKK1Rlc3RpbmcgdGV4SW1hZ2UyRCB3aXRoIGZsaXBZPWZhbHNlCitDaGVja2lu
ZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAyNTUsMCwwCitDaGVja2luZyB1cHBl
ciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAwLDI1NSwwCitUZXN0aW5nIHRleFN1YkltYWdl
MkQgd2l0aCBmbGlwWT10cnVlCitDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91
bGRCZSAwLDI1NSwwCitDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAy
NTUsMCwwCitUZXN0aW5nIHRleFN1YkltYWdlMkQgd2l0aCBmbGlwWT1mYWxzZQorQ2hlY2tpbmcg
bG93ZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMjU1LDAsMAorQ2hlY2tpbmcgdXBwZXIg
bGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMCwyNTUsMAorUEFTUyBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogc2hvdWxkIGJlIG5vIGVycm9ycworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
Y2FudmFzLXJnYjU2NS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWlt
YWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiNTY1Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTJjMmViNDU1NTQwNzVlNTY0YWFlN2I3MjQ3MzcxYmU1YjAzYTBhMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdl
LTJkLXdpdGgtY2FudmFzLXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7CisgICAg
cmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nZ2VuZXJh
dGVUZXN0KCJSR0IiLCAiVU5TSUdORURfU0hPUlRfNV82XzUiLCB0ZXN0UHJvbG9ndWUpKCknPgor
PGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMycHgiIGhlaWdodD0iMzJweCI+PC9jYW52YXM+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
OTE0YjY5NDVkN2NjY2UyNzBkYjEyOGExZDdhY2Q0MTJjMjQzMjNlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1jYW52YXMtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKK1Zl
cmlmeSB0ZXhJbWFnZTJEIGFuZCB0ZXhTdWJJbWFnZTJEIGNvZGUgcGF0aHMgdGFraW5nIGNhbnZh
cyBlbGVtZW50cyAoUkdCQS9VTlNJR05FRF9TSE9SVF80XzRfNF80KQorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKK1Rlc3RpbmcgdGV4SW1hZ2UyRCB3aXRoIGZsaXBZPXRydWUKK0NoZWNr
aW5nIGxvd2VyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDAsMjU1LDAKK0NoZWNraW5nIHVw
cGVyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDI1NSwwLDAKK1Rlc3RpbmcgdGV4SW1hZ2Uy
RCB3aXRoIGZsaXBZPWZhbHNlCitDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91
bGRCZSAyNTUsMCwwCitDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAw
LDI1NSwwCitUZXN0aW5nIHRleFN1YkltYWdlMkQgd2l0aCBmbGlwWT10cnVlCitDaGVja2luZyBs
b3dlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAwLDI1NSwwCitDaGVja2luZyB1cHBlciBs
ZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAyNTUsMCwwCitUZXN0aW5nIHRleFN1YkltYWdlMkQg
d2l0aCBmbGlwWT1mYWxzZQorQ2hlY2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxk
QmUgMjU1LDAsMAorQ2hlY2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMCwy
NTUsMAorUEFTUyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogc2hvdWxk
IGJlIG5vIGVycm9ycworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNh
bnZhcy1yZ2JhNDQ0NC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiMWY3ZGY1YjVkZDYyYjY0ODk0NTY1ZDNj
YjQ5OWQzZGQ0ZjI4YzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNDQ0NC5o
dG1sCkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmds
LXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVE
X1NIT1JUXzRfNF80XzQiLCB0ZXN0UHJvbG9ndWUpKCknPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIg
d2lkdGg9IjMycHgiIGhlaWdodD0iMzJweCI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlv
biI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtY2FudmFzLXJnYmE1NTUxLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
LXJnYmE1NTUxLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMDllNTNmNjgzZGY5MmNlYjJiNDQz
NjYzYjNhYjJlNTQ0MDVkNzhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1jYW52YXMtcmdiYTU1
NTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKK1ZlcmlmeSB0ZXhJbWFnZTJEIGFuZCB0
ZXhTdWJJbWFnZTJEIGNvZGUgcGF0aHMgdGFraW5nIGNhbnZhcyBlbGVtZW50cyAoUkdCQS9VTlNJ
R05FRF9TSE9SVF81XzVfNV8xKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1Rlc3Rp
bmcgdGV4SW1hZ2UyRCB3aXRoIGZsaXBZPXRydWUKK0NoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVy
CitQQVNTIHNob3VsZEJlIDAsMjU1LDAKK0NoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVyCitQQVNT
IHNob3VsZEJlIDI1NSwwLDAKK1Rlc3RpbmcgdGV4SW1hZ2UyRCB3aXRoIGZsaXBZPWZhbHNlCitD
aGVja2luZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAyNTUsMCwwCitDaGVja2lu
ZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAwLDI1NSwwCitUZXN0aW5nIHRleFN1
YkltYWdlMkQgd2l0aCBmbGlwWT10cnVlCitDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFT
UyBzaG91bGRCZSAwLDI1NSwwCitDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91
bGRCZSAyNTUsMCwwCitUZXN0aW5nIHRleFN1YkltYWdlMkQgd2l0aCBmbGlwWT1mYWxzZQorQ2hl
Y2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMjU1LDAsMAorQ2hlY2tpbmcg
dXBwZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMCwyNTUsMAorUEFTUyBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogc2hvdWxkIGJlIG5vIGVycm9ycworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtY2FudmFzLXJnYmE1NTUxLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjlhNTU2YWZiMzAyZTUzNTMzMzU0ZTk1MzNjMmFmOGQxZjFhZWZhMWMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy1yZ2JhNTU1MS5odG1sCkBAIC0wLDAgKzEsMjEgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWNhbnZhcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdFByb2xvZ3Vl
KGdsKSB7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9u
bG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX1NIT1JUXzVfNV81XzEiLCB0ZXN0
UHJvbG9ndWUpKCknPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMycHgiIGhlaWdodD0i
MzJweCI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtY2FudmFz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLWNhbnZhcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5OWVlYzc4NWFmMzJkMDczZTFi
MjUyMjMzNjkwNGE4NDI4NjAyZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5odG1s
CkBAIC0wLDAgKzEsMjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRl
c3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWNhbnZhcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX0JZ
VEUiLCB0ZXN0UHJvbG9ndWUpKCknPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMycHgi
IGhlaWdodD0iMzJweCI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UtZGF0YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJn
bC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEtZXhwZWN0ZWQudHh0
CmluZGV4IGY5YjdkZjg2NzNkYzRlMGY5YTdkZmY5NDZkNDdiZmI3MGM1MWE1ODguLjFlZGU1ZWFm
YjUxOWIxMTM1ZGRlODVjZTk5MzgyNzY5YTczYzg4YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2Ut
ZGF0YS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4
LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1kYXRhLWV4cGVjdGVkLnR4dApAQCAt
MSw1ICsxLDUgQEAKICAKLVZlcmlmeSB0ZXhJbWFnZTJEIGFuZCB0ZXhTdWJJbWFnZTJEIGNvZGUg
cGF0aHMgdGFraW5nIEltYWdlRGF0YQorVmVyaWZ5IHRleEltYWdlMkQgYW5kIHRleFN1YkltYWdl
MkQgY29kZSBwYXRocyB0YWtpbmcgSW1hZ2VEYXRhIChSR0JBL1VOU0lHTkVEX0JZVEUpCiAKIE9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIApAQCAtNDMsNiArNDMsNyBAQCBDaGVja2luZyBib3R0
b20gcGl4ZWwKIFBBU1Mgc2hvdWxkQmUgMjU1LDAsMCwyNTUKIENoZWNraW5nIHRvcCBwaXhlbAog
UEFTUyBzaG91bGRCZSAwLDAsMCwyNTUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IHNob3VsZCBiZSBubyBlcnJvcnMKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1kYXRhLXJn
YjU2NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1h
Z2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEtcmdiNTY1LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43MmE5YzU1YmI4ZjcxNjljMThjMmE2ODRiZDI1MjY2NDU3OTU4YTYyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFu
ZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1kYXRhLXJnYjU2NS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1MCBAQAorIAorVmVyaWZ5IHRleEltYWdlMkQgYW5kIHRleFN1YkltYWdlMkQgY29kZSBw
YXRocyB0YWtpbmcgSW1hZ2VEYXRhIChSR0IvVU5TSUdORURfU0hPUlRfNV82XzUpCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworVGVzdGluZyB0ZXhJbWFnZTJEIHdpdGggZmxpcFk9dHJ1
ZSBhbmQgcHJlbXVsdGlwbHlBbHBoYT1mYWxzZQorQ2hlY2tpbmcgYm90dG9tIHBpeGVsCitQQVNT
IHNob3VsZEJlIDAsMjU1LDAsMjU1CitDaGVja2luZyB0b3AgcGl4ZWwKK1BBU1Mgc2hvdWxkQmUg
MjU1LDAsMCwyNTUKK1Rlc3RpbmcgdGV4SW1hZ2UyRCB3aXRoIGZsaXBZPWZhbHNlIGFuZCBwcmVt
dWx0aXBseUFscGhhPWZhbHNlCitDaGVja2luZyBib3R0b20gcGl4ZWwKK1BBU1Mgc2hvdWxkQmUg
MjU1LDAsMCwyNTUKK0NoZWNraW5nIHRvcCBwaXhlbAorUEFTUyBzaG91bGRCZSAwLDI1NSwwLDI1
NQorVGVzdGluZyB0ZXhJbWFnZTJEIHdpdGggZmxpcFk9dHJ1ZSBhbmQgcHJlbXVsdGlwbHlBbHBo
YT10cnVlCitDaGVja2luZyBib3R0b20gcGl4ZWwKK1BBU1Mgc2hvdWxkQmUgMCwwLDAsMjU1CitD
aGVja2luZyB0b3AgcGl4ZWwKK1BBU1Mgc2hvdWxkQmUgMjU1LDAsMCwyNTUKK1Rlc3RpbmcgdGV4
SW1hZ2UyRCB3aXRoIGZsaXBZPWZhbHNlIGFuZCBwcmVtdWx0aXBseUFscGhhPXRydWUKK0NoZWNr
aW5nIGJvdHRvbSBwaXhlbAorUEFTUyBzaG91bGRCZSAyNTUsMCwwLDI1NQorQ2hlY2tpbmcgdG9w
IHBpeGVsCitQQVNTIHNob3VsZEJlIDAsMCwwLDI1NQorVGVzdGluZyB0ZXhTdWJJbWFnZTJEIHdp
dGggZmxpcFk9dHJ1ZSBhbmQgcHJlbXVsdGlwbHlBbHBoYT1mYWxzZQorQ2hlY2tpbmcgYm90dG9t
IHBpeGVsCitQQVNTIHNob3VsZEJlIDAsMjU1LDAsMjU1CitDaGVja2luZyB0b3AgcGl4ZWwKK1BB
U1Mgc2hvdWxkQmUgMjU1LDAsMCwyNTUKK1Rlc3RpbmcgdGV4U3ViSW1hZ2UyRCB3aXRoIGZsaXBZ
PWZhbHNlIGFuZCBwcmVtdWx0aXBseUFscGhhPWZhbHNlCitDaGVja2luZyBib3R0b20gcGl4ZWwK
K1BBU1Mgc2hvdWxkQmUgMjU1LDAsMCwyNTUKK0NoZWNraW5nIHRvcCBwaXhlbAorUEFTUyBzaG91
bGRCZSAwLDI1NSwwLDI1NQorVGVzdGluZyB0ZXhTdWJJbWFnZTJEIHdpdGggZmxpcFk9dHJ1ZSBh
bmQgcHJlbXVsdGlwbHlBbHBoYT10cnVlCitDaGVja2luZyBib3R0b20gcGl4ZWwKK1BBU1Mgc2hv
dWxkQmUgMCwwLDAsMjU1CitDaGVja2luZyB0b3AgcGl4ZWwKK1BBU1Mgc2hvdWxkQmUgMjU1LDAs
MCwyNTUKK1Rlc3RpbmcgdGV4U3ViSW1hZ2UyRCB3aXRoIGZsaXBZPWZhbHNlIGFuZCBwcmVtdWx0
aXBseUFscGhhPXRydWUKK0NoZWNraW5nIGJvdHRvbSBwaXhlbAorUEFTUyBzaG91bGRCZSAyNTUs
MCwwLDI1NQorQ2hlY2tpbmcgdG9wIHBpeGVsCitQQVNTIHNob3VsZEJlIDAsMCwwLDI1NQorUEFT
UyBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogc2hvdWxkIGJlIG5vIGVy
cm9ycworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtZGF0YS1yZ2I1NjUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtZGF0
YS1yZ2I1NjUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODk0OTZhNDk4NDc3YzY2ZjhmYTgyYTQwMGFjMDlh
ZDM4MDgxMjI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1kYXRhLXJnYjU2NS5odG1s
CkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
d2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRl
c3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
K2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCIiwgIlVOU0lHTkVE
X1NIT1JUXzVfNl81IiwgdGVzdFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9InRleGNhbnZhcyIg
d2lkdGg9IjFweCIgaGVpZ2h0PSIycHgiPjwvY2FudmFzPgorPGNhbnZhcyBpZD0iZXhhbXBsZSIg
d2lkdGg9IjFweCIgaGVpZ2h0PSIycHgiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24i
PjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1p
bWFnZS0yZC13aXRoLWltYWdlLWRhdGEtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFn
ZS1kYXRhLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjM1ODczNmE4MjUxYjY3
MzFiYTQyMWUwNTM5NDEwNmVhYzcxNmEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1k
YXRhLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUwIEBACisgCitWZXJpZnkgdGV4
SW1hZ2UyRCBhbmQgdGV4U3ViSW1hZ2UyRCBjb2RlIHBhdGhzIHRha2luZyBJbWFnZURhdGEgKFJH
QkEvVU5TSUdORURfU0hPUlRfNF80XzRfNCkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitUZXN0aW5nIHRleEltYWdlMkQgd2l0aCBmbGlwWT10cnVlIGFuZCBwcmVtdWx0aXBseUFscGhh
PWZhbHNlCitDaGVja2luZyBib3R0b20gcGl4ZWwKK1BBU1Mgc2hvdWxkQmUgMCwyNTUsMCwyNTUK
K0NoZWNraW5nIHRvcCBwaXhlbAorUEFTUyBzaG91bGRCZSAyNTUsMCwwLDI1NQorVGVzdGluZyB0
ZXhJbWFnZTJEIHdpdGggZmxpcFk9ZmFsc2UgYW5kIHByZW11bHRpcGx5QWxwaGE9ZmFsc2UKK0No
ZWNraW5nIGJvdHRvbSBwaXhlbAorUEFTUyBzaG91bGRCZSAyNTUsMCwwLDI1NQorQ2hlY2tpbmcg
dG9wIHBpeGVsCitQQVNTIHNob3VsZEJlIDAsMjU1LDAsMjU1CitUZXN0aW5nIHRleEltYWdlMkQg
d2l0aCBmbGlwWT10cnVlIGFuZCBwcmVtdWx0aXBseUFscGhhPXRydWUKK0NoZWNraW5nIGJvdHRv
bSBwaXhlbAorUEFTUyBzaG91bGRCZSAwLDAsMCwyNTUKK0NoZWNraW5nIHRvcCBwaXhlbAorUEFT
UyBzaG91bGRCZSAyNTUsMCwwLDI1NQorVGVzdGluZyB0ZXhJbWFnZTJEIHdpdGggZmxpcFk9ZmFs
c2UgYW5kIHByZW11bHRpcGx5QWxwaGE9dHJ1ZQorQ2hlY2tpbmcgYm90dG9tIHBpeGVsCitQQVNT
IHNob3VsZEJlIDI1NSwwLDAsMjU1CitDaGVja2luZyB0b3AgcGl4ZWwKK1BBU1Mgc2hvdWxkQmUg
MCwwLDAsMjU1CitUZXN0aW5nIHRleFN1YkltYWdlMkQgd2l0aCBmbGlwWT10cnVlIGFuZCBwcmVt
dWx0aXBseUFscGhhPWZhbHNlCitDaGVja2luZyBib3R0b20gcGl4ZWwKK1BBU1Mgc2hvdWxkQmUg
MCwyNTUsMCwyNTUKK0NoZWNraW5nIHRvcCBwaXhlbAorUEFTUyBzaG91bGRCZSAyNTUsMCwwLDI1
NQorVGVzdGluZyB0ZXhTdWJJbWFnZTJEIHdpdGggZmxpcFk9ZmFsc2UgYW5kIHByZW11bHRpcGx5
QWxwaGE9ZmFsc2UKK0NoZWNraW5nIGJvdHRvbSBwaXhlbAorUEFTUyBzaG91bGRCZSAyNTUsMCww
LDI1NQorQ2hlY2tpbmcgdG9wIHBpeGVsCitQQVNTIHNob3VsZEJlIDAsMjU1LDAsMjU1CitUZXN0
aW5nIHRleFN1YkltYWdlMkQgd2l0aCBmbGlwWT10cnVlIGFuZCBwcmVtdWx0aXBseUFscGhhPXRy
dWUKK0NoZWNraW5nIGJvdHRvbSBwaXhlbAorUEFTUyBzaG91bGRCZSAwLDAsMCwyNTUKK0NoZWNr
aW5nIHRvcCBwaXhlbAorUEFTUyBzaG91bGRCZSAyNTUsMCwwLDI1NQorVGVzdGluZyB0ZXhTdWJJ
bWFnZTJEIHdpdGggZmxpcFk9ZmFsc2UgYW5kIHByZW11bHRpcGx5QWxwaGE9dHJ1ZQorQ2hlY2tp
bmcgYm90dG9tIHBpeGVsCitQQVNTIHNob3VsZEJlIDI1NSwwLDAsMjU1CitDaGVja2luZyB0b3Ag
cGl4ZWwKK1BBU1Mgc2hvdWxkQmUgMCwwLDAsMjU1CitQQVNTIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBzaG91bGQgYmUgbm8gZXJyb3JzCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFn
ZS1kYXRhLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEtcmdiYTQ0NDQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kOWMyMzFhYmIzY2Q4ZDRkMDhhYTlmN2NiNmY1OTQ5ZDE5ZjgyNTBkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1z
dWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1kYXRhLXJnYmE0NDQ0Lmh0bWwKQEAgLTAsMCArMSwyMiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJk
LXdpdGgtaW1hZ2UtZGF0YS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdFBy
b2xvZ3VlKGdsKSB7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX1NIT1JUXzRfNF80XzQi
LCB0ZXN0UHJvbG9ndWUpKCknPgorPGNhbnZhcyBpZD0idGV4Y2FudmFzIiB3aWR0aD0iMXB4IiBo
ZWlnaHQ9IjJweCI+PC9jYW52YXM+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMXB4IiBo
ZWlnaHQ9IjJweCI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
aW1hZ2UtZGF0YS1yZ2JhNTU1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEtcmdiYTU1
NTEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5NzVlZTdmODZjYzE2YzM0Y2U4OThmNTIyNDMz
NjI1NGM1Nzc3YjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93
ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEtcmdiYTU1NTEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTAgQEAKKyAKK1ZlcmlmeSB0ZXhJbWFnZTJEIGFuZCB0
ZXhTdWJJbWFnZTJEIGNvZGUgcGF0aHMgdGFraW5nIEltYWdlRGF0YSAoUkdCQS9VTlNJR05FRF9T
SE9SVF81XzVfNV8xKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1Rlc3RpbmcgdGV4
SW1hZ2UyRCB3aXRoIGZsaXBZPXRydWUgYW5kIHByZW11bHRpcGx5QWxwaGE9ZmFsc2UKK0NoZWNr
aW5nIGJvdHRvbSBwaXhlbAorUEFTUyBzaG91bGRCZSAwLDI1NSwwLDI1NQorQ2hlY2tpbmcgdG9w
IHBpeGVsCitQQVNTIHNob3VsZEJlIDI1NSwwLDAsMjU1CitUZXN0aW5nIHRleEltYWdlMkQgd2l0
aCBmbGlwWT1mYWxzZSBhbmQgcHJlbXVsdGlwbHlBbHBoYT1mYWxzZQorQ2hlY2tpbmcgYm90dG9t
IHBpeGVsCitQQVNTIHNob3VsZEJlIDI1NSwwLDAsMjU1CitDaGVja2luZyB0b3AgcGl4ZWwKK1BB
U1Mgc2hvdWxkQmUgMCwyNTUsMCwyNTUKK1Rlc3RpbmcgdGV4SW1hZ2UyRCB3aXRoIGZsaXBZPXRy
dWUgYW5kIHByZW11bHRpcGx5QWxwaGE9dHJ1ZQorQ2hlY2tpbmcgYm90dG9tIHBpeGVsCitQQVNT
IHNob3VsZEJlIDAsMCwwLDI1NQorQ2hlY2tpbmcgdG9wIHBpeGVsCitQQVNTIHNob3VsZEJlIDI1
NSwwLDAsMjU1CitUZXN0aW5nIHRleEltYWdlMkQgd2l0aCBmbGlwWT1mYWxzZSBhbmQgcHJlbXVs
dGlwbHlBbHBoYT10cnVlCitDaGVja2luZyBib3R0b20gcGl4ZWwKK1BBU1Mgc2hvdWxkQmUgMjU1
LDAsMCwyNTUKK0NoZWNraW5nIHRvcCBwaXhlbAorUEFTUyBzaG91bGRCZSAwLDAsMCwyNTUKK1Rl
c3RpbmcgdGV4U3ViSW1hZ2UyRCB3aXRoIGZsaXBZPXRydWUgYW5kIHByZW11bHRpcGx5QWxwaGE9
ZmFsc2UKK0NoZWNraW5nIGJvdHRvbSBwaXhlbAorUEFTUyBzaG91bGRCZSAwLDI1NSwwLDI1NQor
Q2hlY2tpbmcgdG9wIHBpeGVsCitQQVNTIHNob3VsZEJlIDI1NSwwLDAsMjU1CitUZXN0aW5nIHRl
eFN1YkltYWdlMkQgd2l0aCBmbGlwWT1mYWxzZSBhbmQgcHJlbXVsdGlwbHlBbHBoYT1mYWxzZQor
Q2hlY2tpbmcgYm90dG9tIHBpeGVsCitQQVNTIHNob3VsZEJlIDI1NSwwLDAsMjU1CitDaGVja2lu
ZyB0b3AgcGl4ZWwKK1BBU1Mgc2hvdWxkQmUgMCwyNTUsMCwyNTUKK1Rlc3RpbmcgdGV4U3ViSW1h
Z2UyRCB3aXRoIGZsaXBZPXRydWUgYW5kIHByZW11bHRpcGx5QWxwaGE9dHJ1ZQorQ2hlY2tpbmcg
Ym90dG9tIHBpeGVsCitQQVNTIHNob3VsZEJlIDAsMCwwLDI1NQorQ2hlY2tpbmcgdG9wIHBpeGVs
CitQQVNTIHNob3VsZEJlIDI1NSwwLDAsMjU1CitUZXN0aW5nIHRleFN1YkltYWdlMkQgd2l0aCBm
bGlwWT1mYWxzZSBhbmQgcHJlbXVsdGlwbHlBbHBoYT10cnVlCitDaGVja2luZyBib3R0b20gcGl4
ZWwKK1BBU1Mgc2hvdWxkQmUgMjU1LDAsMCwyNTUKK0NoZWNraW5nIHRvcCBwaXhlbAorUEFTUyBz
aG91bGRCZSAwLDAsMCwyNTUKK1BBU1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IHNob3VsZCBiZSBubyBlcnJvcnMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEtcmdiYTU1
NTEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtZGF0YS1yZ2JhNTU1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlY2I2
YTYwMTcyYjdiZTdiNjI4ZDBmYjM5OGJmMWZmODg0YzkzM2IKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLWRhdGEtcmdiYTU1NTEuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIv
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1k
YXRhLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUoZ2wpIHsK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSdn
ZW5lcmF0ZVRlc3QoIlJHQkEiLCAiVU5TSUdORURfU0hPUlRfNV81XzVfMSIsIHRlc3RQcm9sb2d1
ZSkoKSc+Cis8Y2FudmFzIGlkPSJ0ZXhjYW52YXMiIHdpZHRoPSIxcHgiIGhlaWdodD0iMnB4Ij48
L2NhbnZhcz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIxcHgiIGhlaWdodD0iMnB4Ij48
L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1kYXRhLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFn
ZS0yZC13aXRoLWltYWdlLWRhdGEuaHRtbAppbmRleCA5MTI0ZTA0NmJhODhlNDI1MjhlZTU1NDk0
ZWY3YTJlZjlhZDlkZmIyLi5jMzY0ODMzZTcwMTUwZDM5ODM1NzYxNzA2YmQzYTY3Y2RjOGRlNTE1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEu
aHRtbApAQCAtMSwxMzMgKzEsMTkgQEAKKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+CiA8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dl
YmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXgt
aW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWRhdGEuanMiPjwvc2NyaXB0PgogPHNj
cmlwdD4KLXZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKLXZhciBnbCA9IG51bGw7Ci12YXIgdGV4
dHVyZUxvYyA9IG51bGw7Ci12YXIgaW1hZ2VEYXRhID0gbnVsbDsKLQotZnVuY3Rpb24gaW5pdCgp
Ci17Ci0gICAgaWYgKHdpbmRvdy5pbml0Tm9uS2hyb25vc0ZyYW1ld29yaykgewotICAgICAgICB3
aW5kb3cuaW5pdE5vbktocm9ub3NGcmFtZXdvcmsodHJ1ZSk7Ci0gICAgfQotCi0gICAgZGVzY3Jp
cHRpb24oJ1ZlcmlmeSB0ZXhJbWFnZTJEIGFuZCB0ZXhTdWJJbWFnZTJEIGNvZGUgcGF0aHMgdGFr
aW5nIEltYWdlRGF0YScpOwotCi0gICAgdmFyIGNhbnZhczJkID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRleGNhbnZhcyIpOwotICAgIHZhciBjb250ZXh0MmQgPSBjYW52YXMyZC5nZXRDb250
ZXh0KCIyZCIpOwotICAgIGltYWdlRGF0YSA9IGNvbnRleHQyZC5jcmVhdGVJbWFnZURhdGEoMSwg
Mik7Ci0gICAgdmFyIGRhdGEgPSBpbWFnZURhdGEuZGF0YTsKLSAgICBkYXRhWzBdID0gMjU1Owot
ICAgIGRhdGFbMV0gPSAwOwotICAgIGRhdGFbMl0gPSAwOwotICAgIGRhdGFbM10gPSAyNTU7Ci0g
ICAgZGF0YVs0XSA9IDA7Ci0gICAgZGF0YVs1XSA9IDI1NTsKLSAgICBkYXRhWzZdID0gMDsKLSAg
ICBkYXRhWzddID0gMDsKLQotICAgIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwotICAgIHZhciBjYW52
YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXhhbXBsZSIpOwotICAgIGdsID0gd3R1LmNy
ZWF0ZTNEQ29udGV4dChjYW52YXMpOwotICAgIHZhciBwcm9ncmFtID0gd3R1LnNldHVwVGV4dHVy
ZWRRdWFkKGdsKTsKLSAgICBnbC5jbGVhckNvbG9yKDAsMCwwLDEpOwotICAgIGdsLmNsZWFyRGVw
dGgoMSk7Ci0gICAgZ2wuZGlzYWJsZShnbC5CTEVORCk7Ci0KLSAgICB0ZXh0dXJlTG9jID0gZ2wu
Z2V0VW5pZm9ybUxvY2F0aW9uKHByb2dyYW0sICJ0ZXgiKTsKLQotICAgIHJ1blRlc3QoKTsKLX0K
LQotLy8gVGhlc2UgdHdvIGRlY2xhcmF0aW9ucyBuZWVkIHRvIGJlIGdsb2JhbCBmb3IgInNob3Vs
ZEJlIiB0byBzZWUgdGhlbQotdmFyIGJ1ZiA9IG51bGw7Ci12YXIgaWR4ID0gMDsKLXZhciBwaXhl
bCA9IFswLCAwLCAwLCAxXTsKLXZhciBjb3JyZWN0Q29sb3IgPSBudWxsOwotCi1mdW5jdGlvbiBy
dW5PbmVJdGVyYXRpb24odXNlVGV4U3ViSW1hZ2UyRCwgZmxpcFksIHByZW11bHRpcGx5QWxwaGEs
IHRvcENvbG9yLCBib3R0b21Db2xvcikKLXsKLSAgICBkZWJ1ZygnVGVzdGluZyAnICsgKHVzZVRl
eFN1YkltYWdlMkQgPyAndGV4U3ViSW1hZ2UyRCcgOiAndGV4SW1hZ2UyRCcpICsKLSAgICAgICAg
ICAnIHdpdGggZmxpcFk9JyArIGZsaXBZICsgJyBhbmQgcHJlbXVsdGlwbHlBbHBoYT0nICsgcHJl
bXVsdGlwbHlBbHBoYSk7Ci0gICAgZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRF
UFRIX0JVRkZFUl9CSVQpOwotICAgIC8vIEVuYWJsZSB3cml0ZXMgdG8gdGhlIFJHQkEgY2hhbm5l
bHMKLSAgICBnbC5jb2xvck1hc2soMSwgMSwgMSwgMCk7Ci0gICAgdmFyIHRleHR1cmUgPSBnbC5j
cmVhdGVUZXh0dXJlKCk7Ci0gICAgLy8gQmluZCB0aGUgdGV4dHVyZSB0byB0ZXh0dXJlIHVuaXQg
MAotICAgIGdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleHR1cmUpOwotICAgIC8vIFNl
dCB1cCB0ZXh0dXJlIHBhcmFtZXRlcnMKLSAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVf
MkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7Ci0gICAgZ2wudGV4UGFyYW1l
dGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOwot
ICAgIC8vIFNldCB1cCBwaXhlbCBzdG9yZSBwYXJhbWV0ZXJzCi0gICAgZ2wucGl4ZWxTdG9yZWko
Z2wuVU5QQUNLX0ZMSVBfWV9XRUJHTCwgZmxpcFkpOwotICAgIGdsLnBpeGVsU3RvcmVpKGdsLlVO
UEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJHTCwgcHJlbXVsdGlwbHlBbHBoYSk7Ci0gICAgLy8g
VXBsb2FkIHRoZSBpbWFnZSBpbnRvIHRoZSB0ZXh0dXJlCi0gICAgaWYgKHVzZVRleFN1YkltYWdl
MkQpIHsKLSAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgdGV4dHVyZSB0byBibGFjayBmaXJzdAot
ICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIDEsIDIsIDAs
Ci0gICAgICAgICAgICAgICAgICAgICAgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7
Ci0gICAgICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdC
QSwgZ2wuVU5TSUdORURfQllURSwgaW1hZ2VEYXRhKTsKLSAgICB9IGVsc2UgewotICAgICAgICBn
bC50ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIDAsIGdsLlJHQkEsIGdsLlJHQkEsIGdsLlVOU0lH
TkVEX0JZVEUsIGltYWdlRGF0YSk7Ci0gICAgfQotCi0gICAgLy8gUG9pbnQgdGhlIHVuaWZvcm0g
c2FtcGxlciB0byB0ZXh0dXJlIHVuaXQgMAotICAgIGdsLnVuaWZvcm0xaSh0ZXh0dXJlTG9jLCAw
KTsKLSAgICAvLyBEcmF3IHRoZSB0cmlhbmdsZXMKLSAgICB3dHUuZHJhd1F1YWQoZ2wsIFswLCAw
LCAwLCAyNTVdKTsKLQotICAgIC8vIFJlYWQgYmFjayB0aGUgcmVuZGVyaW5nIHJlc3VsdHMKLSAg
ICBidWYgPSBuZXcgVWludDhBcnJheSgxICogMiAqIDQpOwotICAgIGdsLnJlYWRQaXhlbHMoMCwg
MCwgMSwgMiwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgYnVmKTsKLSAgICAvLyBDaGVjayB0
aGUgdG9wIHBpeGVsIGFuZCBib3R0b20gcGl4ZWwgYW5kIG1ha2Ugc3VyZSB0aGV5IGhhdmUKLSAg
ICAvLyB0aGUgcmlnaHQgY29sb3IuCi0gICAgZGVidWcoIkNoZWNraW5nIGJvdHRvbSBwaXhlbCIp
OwotICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIDEsIDEsIGJvdHRvbUNvbG9yLCAi
c2hvdWxkQmUgIiArIGJvdHRvbUNvbG9yKTsKLSAgICBkZWJ1ZygiQ2hlY2tpbmcgdG9wIHBpeGVs
Iik7Ci0gICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMSwgMSwgMSwgdG9wQ29sb3IsICJz
aG91bGRCZSAiICsgdG9wQ29sb3IpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICB2
YXIgcmVkID0gWzI1NSwgMCwgMCwgMjU1XTsKLSAgICB2YXIgZ3JlZW4gPSBbMCwgMjU1LCAwLCAy
NTVdOwotICAgIHZhciByZWRQcmVtdWx0aXBseUFscGhhID0gWzI1NSwgMCwgMCwgMjU1XTsKLSAg
ICB2YXIgZ3JlZW5QcmVtdWx0aXBseUFscGhhID0gWzAsIDAsIDAsIDI1NV07Ci0KLSAgICBydW5P
bmVJdGVyYXRpb24oZmFsc2UsIHRydWUsIGZhbHNlLAotICAgICAgICAgICAgICAgICAgICByZWQs
IGdyZWVuKTsKLSAgICBydW5PbmVJdGVyYXRpb24oZmFsc2UsIGZhbHNlLCBmYWxzZSwKLSAgICAg
ICAgICAgICAgICAgICAgZ3JlZW4sIHJlZCk7Ci0gICAgcnVuT25lSXRlcmF0aW9uKGZhbHNlLCB0
cnVlLCB0cnVlLAotICAgICAgICAgICAgICAgICAgICByZWRQcmVtdWx0aXBseUFscGhhLCBncmVl
blByZW11bHRpcGx5QWxwaGEpOwotICAgIHJ1bk9uZUl0ZXJhdGlvbihmYWxzZSwgZmFsc2UsIHRy
dWUsCi0gICAgICAgICAgICAgICAgICAgIGdyZWVuUHJlbXVsdGlwbHlBbHBoYSwgcmVkUHJlbXVs
dGlwbHlBbHBoYSk7Ci0gICAgcnVuT25lSXRlcmF0aW9uKHRydWUsIHRydWUsIGZhbHNlLAotICAg
ICAgICAgICAgICAgICAgICByZWQsIGdyZWVuKTsKLSAgICBydW5PbmVJdGVyYXRpb24odHJ1ZSwg
ZmFsc2UsIGZhbHNlLAotICAgICAgICAgICAgICAgICAgICBncmVlbiwgcmVkKTsKLSAgICBydW5P
bmVJdGVyYXRpb24odHJ1ZSwgdHJ1ZSwgdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgcmVkUHJl
bXVsdGlwbHlBbHBoYSwgZ3JlZW5QcmVtdWx0aXBseUFscGhhKTsKLSAgICBydW5PbmVJdGVyYXRp
b24odHJ1ZSwgZmFsc2UsIHRydWUsCi0gICAgICAgICAgICAgICAgICAgIGdyZWVuUHJlbXVsdGlw
bHlBbHBoYSwgcmVkUHJlbXVsdGlwbHlBbHBoYSk7Ci0gICAgdmFyIGVwaWxvZ3VlID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Ci0gICAgZXBpbG9ndWUub25sb2FkID0gZmluaXNo
OwotICAgIGVwaWxvZ3VlLnNyYyA9ICIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
IjsKLSAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVwaWxvZ3VlKTsKLX0KLQotZnVuY3Rp
b24gZmluaXNoKCkgewotICAgIGlmICh3aW5kb3cubm9uS2hyb25vc0ZyYW1ld29ya05vdGlmeURv
bmUpIHsKLSAgICAgICAgd2luZG93Lm5vbktocm9ub3NGcmFtZXdvcmtOb3RpZnlEb25lKCk7Ci0g
ICAgfQorZnVuY3Rpb24gdGVzdFByb2xvZ3VlKGdsKSB7CisgICAgcmV0dXJuIHRydWU7CiB9CiA8
L3NjcmlwdD4KIDwvaGVhZD4KLTxib2R5IG9ubG9hZD0iaW5pdCgpIj4KKzxib2R5IG9ubG9hZD0n
Z2VuZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX0JZVEUiLCB0ZXN0UHJvbG9ndWUpKCknPgog
PGNhbnZhcyBpZD0idGV4Y2FudmFzIiB3aWR0aD0iMXB4IiBoZWlnaHQ9IjJweCI+PC9jYW52YXM+
CiA8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0iMXB4IiBoZWlnaHQ9IjJweCI+PC9jYW52YXM+
CiA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQt
c3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtZXhwZWN0ZWQudHh0CmluZGV4IDM2MTg5MTk4OTg3NGY4
ZWIxNmY4MWEyZTc0MDA4OWU4MjA2NDM2NzAuLjRlNmU4MWE4OTQ0Yjc4OWY2NzY0YzJjMzE4MDgz
NWU4YzBiNGVmNzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdp
dGgtaW1hZ2UtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotVmVyaWZ5IHRleEltYWdlMkQg
YW5kIHRleFN1YkltYWdlMkQgY29kZSBwYXRocyB0YWtpbmcgSW1hZ2VzCitWZXJpZnkgdGV4SW1h
Z2UyRCBhbmQgdGV4U3ViSW1hZ2UyRCBjb2RlIHBhdGhzIHRha2luZyBpbWFnZSBlbGVtZW50cyAo
UkdCQS9VTlNJR05FRF9CWVRFKQogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKQEAgLTIy
LDYgKzIyLDQ3IEBAIENoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyCiBQQVNTIHNob3VsZEJlIDI1
NSwwLDAKIENoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVyCiBQQVNTIHNob3VsZEJlIDAsMjU1LDAK
K1Rlc3RpbmcgdGV4SW1hZ2UyRCB3aXRoIGZsaXBZPXRydWUKK0NoZWNraW5nIGxvd2VyIGxlZnQg
Y29ybmVyCitQQVNTIHNob3VsZEJlIDAsMjU1LDAKK0NoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVy
CitQQVNTIHNob3VsZEJlIDI1NSwwLDAKK1Rlc3RpbmcgdGV4SW1hZ2UyRCB3aXRoIGZsaXBZPWZh
bHNlCitDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAyNTUsMCwwCitD
aGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAwLDI1NSwwCitUZXN0aW5n
IHRleFN1YkltYWdlMkQgd2l0aCBmbGlwWT10cnVlCitDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5l
cgorUEFTUyBzaG91bGRCZSAwLDI1NSwwCitDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFT
UyBzaG91bGRCZSAyNTUsMCwwCitUZXN0aW5nIHRleFN1YkltYWdlMkQgd2l0aCBmbGlwWT1mYWxz
ZQorQ2hlY2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMjU1LDAsMAorQ2hl
Y2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMCwyNTUsMAorVGVzdGluZyB0
ZXhJbWFnZTJEIHdpdGggZmxpcFk9dHJ1ZQorQ2hlY2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIKK1BB
U1Mgc2hvdWxkQmUgMCwyNTUsMAorQ2hlY2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hv
dWxkQmUgMjU1LDAsMAorVGVzdGluZyB0ZXhJbWFnZTJEIHdpdGggZmxpcFk9ZmFsc2UKK0NoZWNr
aW5nIGxvd2VyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDI1NSwwLDAKK0NoZWNraW5nIHVw
cGVyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDAsMjU1LDAKK1Rlc3RpbmcgdGV4U3ViSW1h
Z2UyRCB3aXRoIGZsaXBZPXRydWUKK0NoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyCitQQVNTIHNo
b3VsZEJlIDAsMjU1LDAKK0NoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJl
IDI1NSwwLDAKK1Rlc3RpbmcgdGV4U3ViSW1hZ2UyRCB3aXRoIGZsaXBZPWZhbHNlCitDaGVja2lu
ZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAyNTUsMCwwCitDaGVja2luZyB1cHBl
ciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAwLDI1NSwwCitQQVNTIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBzaG91bGQgYmUgbm8gZXJyb3JzCiBQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgt
aW1hZ2UtcmdiNTY1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmds
L3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jNzQ2ZGJkODMwMWU5NzNkMjJkNmFkNTVhMTEyMjliNTMwMjNjZTZhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdl
LWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2I1NjUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNjkgQEAKK1ZlcmlmeSB0ZXhJbWFnZTJEIGFuZCB0ZXhTdWJJbWFnZTJEIGNvZGUgcGF0aHMg
dGFraW5nIGltYWdlIGVsZW1lbnRzIChSR0IvVU5TSUdORURfU0hPUlRfNV82XzUpCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworVGVzdGluZyB0ZXhJbWFnZTJEIHdpdGggZmxpcFk9dHJ1
ZQorQ2hlY2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMCwyNTUsMAorQ2hl
Y2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMjU1LDAsMAorVGVzdGluZyB0
ZXhJbWFnZTJEIHdpdGggZmxpcFk9ZmFsc2UKK0NoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyCitQ
QVNTIHNob3VsZEJlIDI1NSwwLDAKK0NoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVyCitQQVNTIHNo
b3VsZEJlIDAsMjU1LDAKK1Rlc3RpbmcgdGV4U3ViSW1hZ2UyRCB3aXRoIGZsaXBZPXRydWUKK0No
ZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDAsMjU1LDAKK0NoZWNraW5n
IHVwcGVyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDI1NSwwLDAKK1Rlc3RpbmcgdGV4U3Vi
SW1hZ2UyRCB3aXRoIGZsaXBZPWZhbHNlCitDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFT
UyBzaG91bGRCZSAyNTUsMCwwCitDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91
bGRCZSAwLDI1NSwwCitUZXN0aW5nIHRleEltYWdlMkQgd2l0aCBmbGlwWT10cnVlCitDaGVja2lu
ZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAwLDI1NSwwCitDaGVja2luZyB1cHBl
ciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAyNTUsMCwwCitUZXN0aW5nIHRleEltYWdlMkQg
d2l0aCBmbGlwWT1mYWxzZQorQ2hlY2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxk
QmUgMjU1LDAsMAorQ2hlY2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMCwy
NTUsMAorVGVzdGluZyB0ZXhTdWJJbWFnZTJEIHdpdGggZmxpcFk9dHJ1ZQorQ2hlY2tpbmcgbG93
ZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMCwyNTUsMAorQ2hlY2tpbmcgdXBwZXIgbGVm
dCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMjU1LDAsMAorVGVzdGluZyB0ZXhTdWJJbWFnZTJEIHdp
dGggZmxpcFk9ZmFsc2UKK0NoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJl
IDI1NSwwLDAKK0NoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDAsMjU1
LDAKK1Rlc3RpbmcgdGV4SW1hZ2UyRCB3aXRoIGZsaXBZPXRydWUKK0NoZWNraW5nIGxvd2VyIGxl
ZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDAsMjU1LDAKK0NoZWNraW5nIHVwcGVyIGxlZnQgY29y
bmVyCitQQVNTIHNob3VsZEJlIDI1NSwwLDAKK1Rlc3RpbmcgdGV4SW1hZ2UyRCB3aXRoIGZsaXBZ
PWZhbHNlCitDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAyNTUsMCww
CitDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAwLDI1NSwwCitUZXN0
aW5nIHRleFN1YkltYWdlMkQgd2l0aCBmbGlwWT10cnVlCitDaGVja2luZyBsb3dlciBsZWZ0IGNv
cm5lcgorUEFTUyBzaG91bGRCZSAwLDI1NSwwCitDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgor
UEFTUyBzaG91bGRCZSAyNTUsMCwwCitUZXN0aW5nIHRleFN1YkltYWdlMkQgd2l0aCBmbGlwWT1m
YWxzZQorQ2hlY2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMjU1LDAsMAor
Q2hlY2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMCwyNTUsMAorUEFTUyBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogc2hvdWxkIGJlIG5vIGVycm9y
cworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3Vi
LWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiNTY1Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjcwMTZjYzY3ZmM0YTIwNmFlZDlmNDRjOGRjMWIwNDM2Y2MyMjk2YmMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYjU2NS5odG1sCkBAIC0wLDAgKzEsMjEgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13
aXRoLWltYWdlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0UHJvbG9ndWUo
Z2wpIHsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSdnZW5lcmF0ZVRlc3QoIlJHQiIsICJVTlNJR05FRF9TSE9SVF81XzZfNSIsICIuIiwgdGVz
dFByb2xvZ3VlKSgpJz4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdpZHRoPSIzMnB4IiBoZWlnaHQ9
IjMycHgiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdl
LXJnYmE0NDQ0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE1NTUzMGZjZTExMjdiYTM3M2ZiMzk3MGI2NDNkZmM5NTU2ZjcwNmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2Ut
YW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDY5IEBACitWZXJpZnkgdGV4SW1hZ2UyRCBhbmQgdGV4U3ViSW1hZ2UyRCBjb2RlIHBhdGhz
IHRha2luZyBpbWFnZSBlbGVtZW50cyAoUkdCQS9VTlNJR05FRF9TSE9SVF80XzRfNF80KQorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1Rlc3RpbmcgdGV4SW1hZ2UyRCB3aXRoIGZsaXBZ
PXRydWUKK0NoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDAsMjU1LDAK
K0NoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDI1NSwwLDAKK1Rlc3Rp
bmcgdGV4SW1hZ2UyRCB3aXRoIGZsaXBZPWZhbHNlCitDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5l
cgorUEFTUyBzaG91bGRCZSAyNTUsMCwwCitDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFT
UyBzaG91bGRCZSAwLDI1NSwwCitUZXN0aW5nIHRleFN1YkltYWdlMkQgd2l0aCBmbGlwWT10cnVl
CitDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAwLDI1NSwwCitDaGVj
a2luZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAyNTUsMCwwCitUZXN0aW5nIHRl
eFN1YkltYWdlMkQgd2l0aCBmbGlwWT1mYWxzZQorQ2hlY2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIK
K1BBU1Mgc2hvdWxkQmUgMjU1LDAsMAorQ2hlY2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIKK1BBU1Mg
c2hvdWxkQmUgMCwyNTUsMAorVGVzdGluZyB0ZXhJbWFnZTJEIHdpdGggZmxpcFk9dHJ1ZQorQ2hl
Y2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMCwyNTUsMAorQ2hlY2tpbmcg
dXBwZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMjU1LDAsMAorVGVzdGluZyB0ZXhJbWFn
ZTJEIHdpdGggZmxpcFk9ZmFsc2UKK0NoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyCitQQVNTIHNo
b3VsZEJlIDI1NSwwLDAKK0NoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJl
IDAsMjU1LDAKK1Rlc3RpbmcgdGV4U3ViSW1hZ2UyRCB3aXRoIGZsaXBZPXRydWUKK0NoZWNraW5n
IGxvd2VyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDAsMjU1LDAKK0NoZWNraW5nIHVwcGVy
IGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDI1NSwwLDAKK1Rlc3RpbmcgdGV4U3ViSW1hZ2Uy
RCB3aXRoIGZsaXBZPWZhbHNlCitDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91
bGRCZSAyNTUsMCwwCitDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAw
LDI1NSwwCitUZXN0aW5nIHRleEltYWdlMkQgd2l0aCBmbGlwWT10cnVlCitDaGVja2luZyBsb3dl
ciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAwLDI1NSwwCitDaGVja2luZyB1cHBlciBsZWZ0
IGNvcm5lcgorUEFTUyBzaG91bGRCZSAyNTUsMCwwCitUZXN0aW5nIHRleEltYWdlMkQgd2l0aCBm
bGlwWT1mYWxzZQorQ2hlY2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMjU1
LDAsMAorQ2hlY2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMCwyNTUsMAor
VGVzdGluZyB0ZXhTdWJJbWFnZTJEIHdpdGggZmxpcFk9dHJ1ZQorQ2hlY2tpbmcgbG93ZXIgbGVm
dCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMCwyNTUsMAorQ2hlY2tpbmcgdXBwZXIgbGVmdCBjb3Ju
ZXIKK1BBU1Mgc2hvdWxkQmUgMjU1LDAsMAorVGVzdGluZyB0ZXhTdWJJbWFnZTJEIHdpdGggZmxp
cFk9ZmFsc2UKK0NoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDI1NSww
LDAKK0NoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDAsMjU1LDAKK1BB
U1MgZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHNob3VsZCBiZSBubyBl
cnJvcnMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5k
LXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0NDQ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE0
NDQ0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRiMDFjOTAwMjUxODEwM2Y5YjQ2MWM0Mzg4MTIzN2I0ZTRi
ODJlOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3Rl
eC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UtcmdiYTQ0NDQuaHRtbApAQCAtMCww
ICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYmdsLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdGV4LWltYWdlLWFuZC1zdWIt
aW1hZ2UtMmQtd2l0aC1pbWFnZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVz
dFByb2xvZ3VlKGdsKSB7CisgICAgcmV0dXJuIHRydWU7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0nZ2VuZXJhdGVUZXN0KCJSR0JBIiwgIlVOU0lHTkVEX1NIT1JUXzRfNF80
XzQiLCAiLiIsIHRlc3RQcm9sb2d1ZSkoKSc+Cis8Y2FudmFzIGlkPSJleGFtcGxlIiB3aWR0aD0i
MzJweCIgaGVpZ2h0PSIzMnB4Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rp
dj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUx
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjAwN2NjNGQxZGRhOWJkYWFmYWY2OTZhNDU2MWVj
M2NiM2FhNjhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw2OSBAQAorVmVyaWZ5IHRleEltYWdlMkQgYW5kIHRleFN1YkltYWdl
MkQgY29kZSBwYXRocyB0YWtpbmcgaW1hZ2UgZWxlbWVudHMgKFJHQkEvVU5TSUdORURfU0hPUlRf
NV81XzVfMSkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCitUZXN0aW5nIHRleEltYWdl
MkQgd2l0aCBmbGlwWT10cnVlCitDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91
bGRCZSAwLDI1NSwwCitDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAy
NTUsMCwwCitUZXN0aW5nIHRleEltYWdlMkQgd2l0aCBmbGlwWT1mYWxzZQorQ2hlY2tpbmcgbG93
ZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMjU1LDAsMAorQ2hlY2tpbmcgdXBwZXIgbGVm
dCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMCwyNTUsMAorVGVzdGluZyB0ZXhTdWJJbWFnZTJEIHdp
dGggZmxpcFk9dHJ1ZQorQ2hlY2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUg
MCwyNTUsMAorQ2hlY2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMjU1LDAs
MAorVGVzdGluZyB0ZXhTdWJJbWFnZTJEIHdpdGggZmxpcFk9ZmFsc2UKK0NoZWNraW5nIGxvd2Vy
IGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDI1NSwwLDAKK0NoZWNraW5nIHVwcGVyIGxlZnQg
Y29ybmVyCitQQVNTIHNob3VsZEJlIDAsMjU1LDAKK1Rlc3RpbmcgdGV4SW1hZ2UyRCB3aXRoIGZs
aXBZPXRydWUKK0NoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDAsMjU1
LDAKK0NoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDI1NSwwLDAKK1Rl
c3RpbmcgdGV4SW1hZ2UyRCB3aXRoIGZsaXBZPWZhbHNlCitDaGVja2luZyBsb3dlciBsZWZ0IGNv
cm5lcgorUEFTUyBzaG91bGRCZSAyNTUsMCwwCitDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgor
UEFTUyBzaG91bGRCZSAwLDI1NSwwCitUZXN0aW5nIHRleFN1YkltYWdlMkQgd2l0aCBmbGlwWT10
cnVlCitDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAwLDI1NSwwCitD
aGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRCZSAyNTUsMCwwCitUZXN0aW5n
IHRleFN1YkltYWdlMkQgd2l0aCBmbGlwWT1mYWxzZQorQ2hlY2tpbmcgbG93ZXIgbGVmdCBjb3Ju
ZXIKK1BBU1Mgc2hvdWxkQmUgMjU1LDAsMAorQ2hlY2tpbmcgdXBwZXIgbGVmdCBjb3JuZXIKK1BB
U1Mgc2hvdWxkQmUgMCwyNTUsMAorVGVzdGluZyB0ZXhJbWFnZTJEIHdpdGggZmxpcFk9dHJ1ZQor
Q2hlY2tpbmcgbG93ZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMCwyNTUsMAorQ2hlY2tp
bmcgdXBwZXIgbGVmdCBjb3JuZXIKK1BBU1Mgc2hvdWxkQmUgMjU1LDAsMAorVGVzdGluZyB0ZXhJ
bWFnZTJEIHdpdGggZmxpcFk9ZmFsc2UKK0NoZWNraW5nIGxvd2VyIGxlZnQgY29ybmVyCitQQVNT
IHNob3VsZEJlIDI1NSwwLDAKK0NoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVyCitQQVNTIHNob3Vs
ZEJlIDAsMjU1LDAKK1Rlc3RpbmcgdGV4U3ViSW1hZ2UyRCB3aXRoIGZsaXBZPXRydWUKK0NoZWNr
aW5nIGxvd2VyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDAsMjU1LDAKK0NoZWNraW5nIHVw
cGVyIGxlZnQgY29ybmVyCitQQVNTIHNob3VsZEJlIDI1NSwwLDAKK1Rlc3RpbmcgdGV4U3ViSW1h
Z2UyRCB3aXRoIGZsaXBZPWZhbHNlCitDaGVja2luZyBsb3dlciBsZWZ0IGNvcm5lcgorUEFTUyBz
aG91bGRCZSAyNTUsMCwwCitDaGVja2luZyB1cHBlciBsZWZ0IGNvcm5lcgorUEFTUyBzaG91bGRC
ZSAwLDI1NSwwCitQQVNTIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBz
aG91bGQgYmUgbm8gZXJyb3JzCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wv
dGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0aC1pbWFnZS1yZ2JhNTU1MS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2UtMmQtd2l0
aC1pbWFnZS1yZ2JhNTU1MS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhZmE4ZWJlMDIyNTM3ZGFlZjM2ZTNj
ZGRjNWRhYWEzMzJmMzgzOTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLXJnYmE1NTUx
Lmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2Vi
Z2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3RleC1p
bWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
K2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05F
RF9TSE9SVF81XzVfNV8xIiwgIi4iLCB0ZXN0UHJvbG9ndWUpKCknPgorPGNhbnZhcyBpZD0iZXhh
bXBsZSIgd2lkdGg9IjMycHgiIGhlaWdodD0iMzJweCI+PC9jYW52YXM+Cis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1h
bmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuaHRtbAppbmRleCA0
ZmYyNWQ2NzIyMTY0ZGE5Mzc0MzViNGRmM2NhMzJiMjE4YzdlNzI2Li5kMjNhZmY2ODQyZDM1N2Y2
NmVhMzA1NDI2ZDFiYzA1NjhjYmViYmY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC90ZXgtaW1hZ2UtYW5kLXN1Yi1pbWFnZS0yZC13aXRoLWltYWdlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvdGV4LWltYWdlLWFuZC1zdWItaW1hZ2Ut
MmQtd2l0aC1pbWFnZS5odG1sCkBAIC0xLDEwNSArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KIDxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9InJlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtaW1hZ2UuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdD4KLXZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKLXZhciBnbCA9IG51bGw7
Ci12YXIgdGV4dHVyZUxvYyA9IG51bGw7Ci0KLWZ1bmN0aW9uIGluaXQoKQotewotICAgIGlmICh3
aW5kb3cuaW5pdE5vbktocm9ub3NGcmFtZXdvcmspIHsKLSAgICAgICAgd2luZG93LmluaXROb25L
aHJvbm9zRnJhbWV3b3JrKHRydWUpOwotICAgIH0KLQotICAgIGRlc2NyaXB0aW9uKCdWZXJpZnkg
dGV4SW1hZ2UyRCBhbmQgdGV4U3ViSW1hZ2UyRCBjb2RlIHBhdGhzIHRha2luZyBJbWFnZXMnKTsK
LQotICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXhhbXBsZSIpOwot
ICAgIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dChjYW52YXMpOwotICAgIHZhciBwcm9ncmFtID0g
d3R1LnNldHVwVGV4dHVyZWRRdWFkKGdsKTsKLQotICAgIGdsLmNsZWFyQ29sb3IoMCwwLDAsMSk7
Ci0gICAgZ2wuY2xlYXJEZXB0aCgxKTsKLQotICAgIHRleHR1cmVMb2MgPSBnbC5nZXRVbmlmb3Jt
TG9jYXRpb24oZ2wucHJvZ3JhbSwgInRleCIpOwotCi0gICAgd3R1LmxvYWRUZXh0dXJlKGdsLCAi
cmVzb3VyY2VzL3JlZC1ncmVlbi5wbmciLCBydW5UZXN0KTsKLX0KLQotLy8gVGhlc2UgdHdvIGRl
Y2xhcmF0aW9ucyBuZWVkIHRvIGJlIGdsb2JhbCBmb3IgInNob3VsZEJlIiB0byBzZWUgdGhlbQot
dmFyIGJ1ZiA9IG51bGw7Ci12YXIgaWR4ID0gMDsKLXZhciBwaXhlbCA9IFswLCAwLCAwXTsKLXZh
ciBjb3JyZWN0Q29sb3IgPSBudWxsOwotCi1mdW5jdGlvbiBydW5PbmVJdGVyYXRpb24oaW1hZ2Us
IHVzZVRleFN1YkltYWdlMkQsIGZsaXBZLCB0b3BDb2xvciwgYm90dG9tQ29sb3IpCi17Ci0gICAg
ZGVidWcoJ1Rlc3RpbmcgJyArICh1c2VUZXhTdWJJbWFnZTJEID8gJ3RleFN1YkltYWdlMkQnIDog
J3RleEltYWdlMkQnKSArCi0gICAgICAgICAgJyB3aXRoIGZsaXBZPScgKyBmbGlwWSk7Ci0gICAg
Z2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCB8IGdsLkRFUFRIX0JVRkZFUl9CSVQpOwotICAg
IC8vIERpc2FibGUgYW55IHdyaXRlcyB0byB0aGUgYWxwaGEgY2hhbm5lbAotICAgIGdsLmNvbG9y
TWFzaygxLCAxLCAxLCAwKTsKLSAgICB2YXIgdGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKTsK
LSAgICAvLyBCaW5kIHRoZSB0ZXh0dXJlIHRvIHRleHR1cmUgdW5pdCAwCi0gICAgZ2wuYmluZFRl
eHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSk7Ci0gICAgLy8gU2V0IHVwIHRleHR1cmUgcGFy
YW1ldGVycwotICAgIGdsLnRleFBhcmFtZXRlcmkoZ2wuVEVYVFVSRV8yRCwgZ2wuVEVYVFVSRV9N
SU5fRklMVEVSLCBnbC5ORUFSRVNUKTsKLSAgICBnbC50ZXhQYXJhbWV0ZXJpKGdsLlRFWFRVUkVf
MkQsIGdsLlRFWFRVUkVfTUFHX0ZJTFRFUiwgZ2wuTkVBUkVTVCk7Ci0gICAgLy8gU2V0IHVwIHBp
eGVsIHN0b3JlIHBhcmFtZXRlcnMKLSAgICBnbC5waXhlbFN0b3JlaShnbC5VTlBBQ0tfRkxJUF9Z
X1dFQkdMLCBmbGlwWSk7Ci0gICAgZ2wucGl4ZWxTdG9yZWkoZ2wuVU5QQUNLX1BSRU1VTFRJUExZ
X0FMUEhBX1dFQkdMLCBmYWxzZSk7Ci0gICAgLy8gVXBsb2FkIHRoZSBpbWFnZSBpbnRvIHRoZSB0
ZXh0dXJlCi0gICAgaWYgKHVzZVRleFN1YkltYWdlMkQpIHsKLSAgICAgICAgLy8gSW5pdGlhbGl6
ZSB0aGUgdGV4dHVyZSB0byBibGFjayBmaXJzdAotICAgICAgICBnbC50ZXhJbWFnZTJEKGdsLlRF
WFRVUkVfMkQsIDAsIGdsLlJHQkEsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQsIDAsCi0gICAg
ICAgICAgICAgICAgICAgICAgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCk7Ci0gICAg
ICAgIGdsLnRleFN1YkltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgMCwgMCwgZ2wuUkdCQSwgZ2wu
VU5TSUdORURfQllURSwgaW1hZ2UpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGdsLnRleEltYWdl
MkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgZ2wuUkdCQSwgZ2wuVU5TSUdORURfQllURSwg
aW1hZ2UpOwotICAgIH0KLQotICAgIC8vIFBvaW50IHRoZSB1bmlmb3JtIHNhbXBsZXIgdG8gdGV4
dHVyZSB1bml0IDAKLSAgICBnbC51bmlmb3JtMWkodGV4dHVyZUxvYywgMCk7Ci0gICAgLy8gRHJh
dyB0aGUgdHJpYW5nbGVzCi0gICAgd3R1LmRyYXdRdWFkKGdsLCBbMCwgMCwgMCwgMjU1XSk7Ci0g
ICAgLy8gQ2hlY2sgYSBmZXcgcGl4ZWxzIG5lYXIgdGhlIHRvcCBhbmQgYm90dG9tIGFuZCBtYWtl
IHN1cmUgdGhleSBoYXZlCi0gICAgLy8gdGhlIHJpZ2h0IGNvbG9yLgotICAgIGRlYnVnKCJDaGVj
a2luZyBsb3dlciBsZWZ0IGNvcm5lciIpOwotICAgIHd0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDQs
IDQsIDIsIDIsIGJvdHRvbUNvbG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZEJl
ICIgKyBib3R0b21Db2xvcik7Ci0gICAgZGVidWcoIkNoZWNraW5nIHVwcGVyIGxlZnQgY29ybmVy
Iik7Ci0gICAgd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgNCwgZ2wuY2FudmFzLmhlaWdodCAtIDgs
IDIsIDIsIHRvcENvbG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZEJlICIgKyB0
b3BDb2xvcik7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoaW1hZ2UpCi17Ci0gICAgdmFyIHJlZCA9
IFsyNTUsIDAsIDBdOwotICAgIHZhciBncmVlbiA9IFswLCAyNTUsIDBdOwotICAgIHJ1bk9uZUl0
ZXJhdGlvbihpbWFnZSwgZmFsc2UsIHRydWUsIHJlZCwgZ3JlZW4pOwotICAgIHJ1bk9uZUl0ZXJh
dGlvbihpbWFnZSwgZmFsc2UsIGZhbHNlLCBncmVlbiwgcmVkKTsKLSAgICBydW5PbmVJdGVyYXRp
b24oaW1hZ2UsIHRydWUsIHRydWUsIHJlZCwgZ3JlZW4pOwotICAgIHJ1bk9uZUl0ZXJhdGlvbihp
bWFnZSwgdHJ1ZSwgZmFsc2UsIGdyZWVuLCByZWQpOwotICAgIHZhciBlcGlsb2d1ZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOwotICAgIGVwaWxvZ3VlLm9ubG9hZCA9IGZpbmlz
aDsKLSAgICBlcGlsb2d1ZS5zcmMgPSAiLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI7Ci0gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlcGlsb2d1ZSk7Ci19Ci0KLWZ1bmN0
aW9uIGZpbmlzaCgpIHsKLSAgICBpZiAod2luZG93Lm5vbktocm9ub3NGcmFtZXdvcmtOb3RpZnlE
b25lKSB7Ci0gICAgICAgIHdpbmRvdy5ub25LaHJvbm9zRnJhbWV3b3JrTm90aWZ5RG9uZSgpOwot
ICAgIH0KK2Z1bmN0aW9uIHRlc3RQcm9sb2d1ZShnbCkgeworICAgIHJldHVybiB0cnVlOwogfQog
PC9zY3JpcHQ+CiA8L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9ImluaXQoKSI+Cis8Ym9keSBvbmxvYWQ9
J2dlbmVyYXRlVGVzdCgiUkdCQSIsICJVTlNJR05FRF9CWVRFIiwgIi4iLCB0ZXN0UHJvbG9ndWUp
KCknPgogPGNhbnZhcyBpZD0iZXhhbXBsZSIgd2lkdGg9IjMycHgiIGhlaWdodD0iMzJweCI+PC9j
YW52YXM+CiA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CiA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KIDwvYm9keT4KIDwvaHRtbD4KLQotCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>