<?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>167863</bug_id>
          
          <creation_ts>2017-02-05 18:26:58 -0800</creation_ts>
          <short_desc>Change ES6SampleBench into ARES-6</short_desc>
          <delta_ts>2017-02-06 14:52:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=167906</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>ap</cc>
    
    <cc>dbates</cc>
    
    <cc>jbedard</cc>
    
    <cc>jond</cc>
    
    <cc>lforschler</cc>
    
    <cc>mjs</cc>
    
    <cc>ossy</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1273443</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-02-05 18:26:58 -0800</bug_when>
    <thetext>This imports JonDavis&apos;s design.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273444</commentid>
    <comment_count>1</comment_count>
      <attachid>300680</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-02-05 18:28:45 -0800</bug_when>
    <thetext>Created attachment 300680
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273448</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-02-05 18:55:27 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created attachment 300680 [details]
&gt; the patch

The patch totally does apply to trunk of repository.  It&apos;s just that it&apos;s moving lots of stuff, so probably EWS is having a bad time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273453</commentid>
    <comment_count>3</comment_count>
      <attachid>300680</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-02-05 20:04:21 -0800</bug_when>
    <thetext>Comment on attachment 300680
the patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273456</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-02-05 20:58:13 -0800</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/211697</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273493</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2017-02-06 00:38:02 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Landed in https://trac.webkit.org/changeset/211697

It completely broke run-javascriptcore-tests, ES6SampleBench should 
have been renamed to ARES-6 in run-javascriptcore-tests too.

Fix landed in https://trac.webkit.org/changeset/211717</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273494</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2017-02-06 00:40:48 -0800</bug_when>
    <thetext>&gt; Its now called ARES-6.

Just out of curiosity, why? What does this new name mean?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273646</commentid>
    <comment_count>7</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-02-06 11:21:04 -0800</bug_when>
    <thetext>This also broke running cli.js with `jsc` shell.
I&apos;ll work on a fix now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273699</commentid>
    <comment_count>8</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-02-06 13:42:07 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Landed in https://trac.webkit.org/changeset/211697
&gt; 
&gt; It completely broke run-javascriptcore-tests, ES6SampleBench should 
&gt; have been renamed to ARES-6 in run-javascriptcore-tests too.
&gt; 
&gt; Fix landed in https://trac.webkit.org/changeset/211717

Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273700</commentid>
    <comment_count>9</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-02-06 13:42:58 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; Its now called ARES-6.
&gt; 
&gt; Just out of curiosity, why? What does this new name mean?

ES6SampleBench was a weird name.  ARES-6 is a fun name.  It&apos;s purely subjective.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273725</commentid>
    <comment_count>10</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2017-02-06 14:52:09 -0800</bug_when>
    <thetext>Just a note: the failure of svn-apply was because the patch attempts to remove some files multiple time.  https://bugs.webkit.org/show_bug.cgi?id=167906 tracks this bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300680</attachid>
            <date>2017-02-05 18:28:45 -0800</date>
            <delta_ts>2017-02-05 20:04:21 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>1907446</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3Rz
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyNSBAQAorMjAxNy0wMi0wNSAg
RmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSBFUzZTYW1w
bGVCZW5jaCBpbnRvIEFSRVMtNgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY3ODYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisgICAgICAgIAorICAgICAgICBUaGlzIGltcG9ydHMgY2hhbmdlcyB0aGF0IEpvbmF0aGFuIERh
dmlzIChqb25kQGFwcGxlLmNvbSkgbWFkZSB0byBFUzZTYW1wbGVCZW5jaCB0byBtYWtlIGl0IGxv
b2sKKyAgICAgICAgc3VwZXIgYXdlc29tZS4gSXRzIG5vdyBjYWxsZWQgQVJFUy02LgorCisgICAg
ICAgICogQVJFUy02OiBDb3BpZWQgZnJvbSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNo
LgorICAgICAgICAqIEFSRVMtNi9BUkVTLTYuc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBBUkVTLTYv
ZHJpdmVyLmpzOgorICAgICAgICAoRHJpdmVyKToKKyAgICAgICAgKERyaXZlci5wcm90b3R5cGUu
cmVhZHlUcmlnZ2VyKToKKyAgICAgICAgKERyaXZlci5wcm90b3R5cGUuZGlzYWJsZVRyaWdnZXIp
OgorICAgICAgICAoRHJpdmVyLnByb3RvdHlwZS5zdGFydCk6CisgICAgICAgIChEcml2ZXIucHJv
dG90eXBlLl91cGRhdGVJdGVyYXRpb25zKToKKyAgICAgICAgKiBBUkVTLTYvZ2x1ZS5qczoKKyAg
ICAgICAgKiBBUkVTLTYvaW5kZXguaHRtbDoKKyAgICAgICAgKiBBUkVTLTYvcmVzdWx0cy5qczoK
KyAgICAgICAgKFJlc3VsdHMucHJvdG90eXBlLnJlcG9ydFJ1bm5pbmcpOgorICAgICAgICAoUmVz
dWx0cy5wcm90b3R5cGUucmVwb3J0RG9uZSk6CisgICAgICAgICogQVJFUy02L3N0YXRzLmpzOgor
ICAgICAgICAoU3RhdHMucHJvdG90eXBlLnRvU3RyaW5nLnJldHVybi5zcGFuKToKKyAgICAgICAg
KFN0YXRzLnByb3RvdHlwZS50b1N0cmluZy5zcGFuLnNwYW4pOgorICAgICAgICAoU3RhdHMucHJv
dG90eXBlLnRvU3RyaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBBUkVTLTYvc3R5bGUuY3NzOiBS
ZW1vdmVkLgorICAgICAgICAqIEFSRVMtNi9zdHlsZXMuY3NzOiBBZGRlZC4KKyAgICAgICAgKGh0
bWwpOgorICAgICAgICAoYm9keSk6CisgICAgICAgIChoZWFkZXIsKToKKyAgICAgICAgKHAgYSk6
CisgICAgICAgIChwIGE6aG92ZXIpOgorICAgICAgICAoLmZsaXApOgorICAgICAgICAoaGVhZGVy
KToKKyAgICAgICAgKGgyLCk6CisgICAgICAgIChwKToKKyAgICAgICAgKC5hYm91dCBoMik6Cisg
ICAgICAgICgubG9nbyk6CisgICAgICAgICguc3RhcnQpOgorICAgICAgICAoLnN0YXJ0LnJlYWR5
KToKKyAgICAgICAgKC5zdGFydC5yZWFkeTpob3Zlcik6CisgICAgICAgICguc3RhcnQ6YWZ0ZXIp
OgorICAgICAgICAoLnN0YXJ0LnJlYWR5IC50ZXN0cnVuKToKKyAgICAgICAgKC50ZXN0cyk6Cisg
ICAgICAgICgudGVzdCk6CisgICAgICAgICgub3ZlcmFsbCBoMiwpOgorICAgICAgICAoLnRlc3Qg
LmluZGljYXRvcik6CisgICAgICAgICgudGVzdCAuaW5kaWNhdG9yLnJ1bm5pbmcpOgorICAgICAg
ICAoQGtleWZyYW1lcyB0ZXN0LXJ1bm5pbmcpOgorICAgICAgICAoMTAwJSk6CisgICAgICAgICgu
c2NvcmUpOgorICAgICAgICAoLnNjb3JlIGxhYmVsKToKKyAgICAgICAgKC5zY29yZSAudmFsdWUp
OgorICAgICAgICAoLnNjb3JlIC51bml0cyk6CisgICAgICAgICguc2NvcmUgLm1hcmdpbik6Cisg
ICAgICAgICgub3ZlcmFsbCk6CisgICAgICAgICgub3ZlcmFsbCAuc2NvcmUpOgorICAgICAgICAo
Lm92ZXJhbGwgLm1hcmdpbik6CisgICAgICAgICgudGVzdGluZywgLmFib3V0KToKKyAgICAgICAg
KC50ZXN0aW5nKToKKyAgICAgICAgKC5hYm91dCk6CisgICAgICAgICgjYWJvdXQ6dGFyZ2V0KToK
KyAgICAgICAgKEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzg0cHgpKToKKyAg
ICAgICAgKiBBUkVTLTYvc3dvb3Auc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBFUzZTYW1wbGVCZW5j
aDogUmVtb3ZlZC4KKyAgICAgICAgKiBFUzZTYW1wbGVCZW5jaC9BaXI6IFJlbW92ZWQuCisgICAg
ICAgICogRVM2U2FtcGxlQmVuY2gvQWlyL1JFQURNRS5tZDogUmVtb3ZlZC4KKyAgICAgICAgKiBF
UzZTYW1wbGVCZW5jaC9BaXIvYWlyanMtdGVzdHMueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBF
UzZTYW1wbGVCZW5jaC9BaXIvYWxsLmpzOiBSZW1vdmVkLgorICAgICAgICAqIEVTNlNhbXBsZUJl
bmNoL0Fpci9hbGxvY2F0ZV9zdGFjay5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBFUzZTYW1wbGVC
ZW5jaC9BaXIvYXJnLmpzOiBSZW1vdmVkLgorICAgICAgICAqIEVTNlNhbXBsZUJlbmNoL0Fpci9i
YXNpY19ibG9jay5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBFUzZTYW1wbGVCZW5jaC9BaXIvYmVu
Y2htYXJrLmpzOiBSZW1vdmVkLgorICAgICAgICAqIEVTNlNhbXBsZUJlbmNoL0Fpci9jb2RlLmpz
OiBSZW1vdmVkLgorICAgICAgICAqIEVTNlNhbXBsZUJlbmNoL0Fpci9jdXN0b20uanM6IFJlbW92
ZWQuCisgICAgICAgICogRVM2U2FtcGxlQmVuY2gvQWlyL2ZyZXF1ZW50ZWRfYmxvY2suanM6IFJl
bW92ZWQuCisgICAgICAgICogRVM2U2FtcGxlQmVuY2gvQWlyL2luc2VydGlvbl9zZXQuanM6IFJl
bW92ZWQuCisgICAgICAgICogRVM2U2FtcGxlQmVuY2gvQWlyL2luc3QuanM6IFJlbW92ZWQuCisg
ICAgICAgICogRVM2U2FtcGxlQmVuY2gvQWlyL2xpdmVuZXNzLmpzOiBSZW1vdmVkLgorICAgICAg
ICAqIEVTNlNhbXBsZUJlbmNoL0Fpci9tYWtlX2Rpc3Quc2g6IFJlbW92ZWQuCisgICAgICAgICog
RVM2U2FtcGxlQmVuY2gvQWlyL29wY29kZS5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBFUzZTYW1w
bGVCZW5jaC9BaXIvcGF5bG9hZC1haXJqcy1BQ0xqOEMuanM6IFJlbW92ZWQuCisgICAgICAgICog
RVM2U2FtcGxlQmVuY2gvQWlyL3BheWxvYWQtZ2JlbXUtZXhlY3V0ZUl0ZXJhdGlvbi5qczogUmVt
b3ZlZC4KKyAgICAgICAgKiBFUzZTYW1wbGVCZW5jaC9BaXIvcGF5bG9hZC1pbWFnaW5nLWdhdXNz
aWFuLWJsdXItZ2F1c3NpYW5CbHVyLmpzOiBSZW1vdmVkLgorICAgICAgICAqIEVTNlNhbXBsZUJl
bmNoL0Fpci9wYXlsb2FkLXR5cGVzY3JpcHQtc2NhbklkZW50aWZpZXIuanM6IFJlbW92ZWQuCisg
ICAgICAgICogRVM2U2FtcGxlQmVuY2gvQWlyL3JlZy5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBF
UzZTYW1wbGVCZW5jaC9BaXIvc3RhY2tfc2xvdC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBFUzZT
YW1wbGVCZW5jaC9BaXIvc3RyZXNzLXRlc3QuanM6IFJlbW92ZWQuCisgICAgICAgICogRVM2U2Ft
cGxlQmVuY2gvQWlyL3N0cmlwLWhhc2gucmI6IFJlbW92ZWQuCisgICAgICAgICogRVM2U2FtcGxl
QmVuY2gvQWlyL3N5bWJvbHMuanM6IFJlbW92ZWQuCisgICAgICAgICogRVM2U2FtcGxlQmVuY2gv
QWlyL3Rlc3QuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBFUzZTYW1wbGVCZW5jaC9BaXIvdGVz
dC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBFUzZTYW1wbGVCZW5jaC9BaXIvdG1wLmpzOiBSZW1v
dmVkLgorICAgICAgICAqIEVTNlNhbXBsZUJlbmNoL0Fpci90bXBfYmFzZS5qczogUmVtb3ZlZC4K
KyAgICAgICAgKiBFUzZTYW1wbGVCZW5jaC9BaXIvdXRpbC5qczogUmVtb3ZlZC4KKyAgICAgICAg
KiBFUzZTYW1wbGVCZW5jaC9CYXNpYzogUmVtb3ZlZC4KKyAgICAgICAgKiBFUzZTYW1wbGVCZW5j
aC9CYXNpYy9hc3QuanM6IFJlbW92ZWQuCisgICAgICAgICogRVM2U2FtcGxlQmVuY2gvQmFzaWMv
YmFzaWMtdGVzdHMueWFtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBFUzZTYW1wbGVCZW5jaC9CYXNp
Yy9iYXNpYy5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBFUzZTYW1wbGVCZW5jaC9CYXNpYy9iZW5j
aG1hcmsuanM6IFJlbW92ZWQuCisgICAgICAgICogRVM2U2FtcGxlQmVuY2gvQmFzaWMvY2FzZWxl
c3NfbWFwLmpzOiBSZW1vdmVkLgorICAgICAgICAqIEVTNlNhbXBsZUJlbmNoL0Jhc2ljL2xleGVy
LmpzOiBSZW1vdmVkLgorICAgICAgICAqIEVTNlNhbXBsZUJlbmNoL0Jhc2ljL251bWJlci5qczog
UmVtb3ZlZC4KKyAgICAgICAgKiBFUzZTYW1wbGVCZW5jaC9CYXNpYy9wYXJzZXIuanM6IFJlbW92
ZWQuCisgICAgICAgICogRVM2U2FtcGxlQmVuY2gvQmFzaWMvcmFuZG9tLmpzOiBSZW1vdmVkLgor
ICAgICAgICAqIEVTNlNhbXBsZUJlbmNoL0Jhc2ljL3N0YXRlLmpzOiBSZW1vdmVkLgorICAgICAg
ICAqIEVTNlNhbXBsZUJlbmNoL0Jhc2ljL3N0cmVzcy10ZXN0LmpzOiBSZW1vdmVkLgorICAgICAg
ICAqIEVTNlNhbXBsZUJlbmNoL0Jhc2ljL3Rlc3QuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBF
UzZTYW1wbGVCZW5jaC9CYXNpYy90ZXN0LmpzOiBSZW1vdmVkLgorICAgICAgICAqIEVTNlNhbXBs
ZUJlbmNoL0Jhc2ljL3V0aWwuanM6IFJlbW92ZWQuCisgICAgICAgICogRVM2U2FtcGxlQmVuY2gv
YWlyX2JlbmNobWFyay5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBFUzZTYW1wbGVCZW5jaC9iYXNp
Y19iZW5jaG1hcmsuanM6IFJlbW92ZWQuCisgICAgICAgICogRVM2U2FtcGxlQmVuY2gvY2xpLmpz
OiBSZW1vdmVkLgorICAgICAgICAqIEVTNlNhbXBsZUJlbmNoL2RyaXZlci5qczogUmVtb3ZlZC4K
KyAgICAgICAgKiBFUzZTYW1wbGVCZW5jaC9nbHVlLmpzOiBSZW1vdmVkLgorICAgICAgICAqIEVT
NlNhbXBsZUJlbmNoL2luZGV4Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogRVM2U2FtcGxlQmVu
Y2gvcmVzdWx0cy5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBFUzZTYW1wbGVCZW5jaC9zdGF0cy5q
czogUmVtb3ZlZC4KKyAgICAgICAgKiBFUzZTYW1wbGVCZW5jaC9zdHlsZS5jc3M6IFJlbW92ZWQu
CisKIDIwMTctMDItMDUgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBTaW1wbGUgbGluZSBsYXlvdXQ6IEFkZCBwZXJmb3JtYW5jZSB0ZXN0IHdpdGggdmFyeWluZyBz
dHJpbmcgYW5kIGZvbnQtc2l6ZSB0byBtaW5pbWl6ZSB3aWR0aC1jYWNoZSBoaXQuCkluZGV4OiBQ
ZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9SRUFETUUubWQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvUkVBRE1FLm1kCShyZXZpc2lv
biAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9SRUFETUUu
bWQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNTIgKzAsMCBAQAotIyBBbGwgYWJvdXQgQWlyLmpzCi0K
LUFpci5qcyBpcyBhbiBFUzYgYmVuY2htYXJrLiBJdCB0cmllcyB0byBmYWl0aGZ1bGx5IHVzZSBu
ZXcgZmVhdHVyZXMgbGlrZSBhcnJvdwotZnVuY3Rpb25zLCBjbGFzc2VzLCBmb3Itb2YsIGFuZCBN
YXAvU2V0LCBhbW9uZyBvdGhlcnMuIEFpci5qcyBkb2Vzbid0IGF2b2lkIGFueQotZmVhdHVyZXMg
b3V0IG9mIGZlYXIgdGhhdCB0aGV5IG1pZ2h0IGJlIHNsb3csIGluIHRoZSBob3BlIHRoYXQgd2Ug
bWlnaHQgbGVhcm4KLWhvdyB0byBtYWtlIHRob3NlIGZlYXR1cmVzIGZhc3QgYnkgbG9va2luZyBh
dCBob3cgQWlyLmpzIGFuZCBvdGhlciBiZW5jaG1hcmtzCi11c2UgdGhlbS4KLQotVGhpcyBkb2N1
bWVudHMgdGhlIG1vdGl2YXRpb24sIGRlc2lnbiwgYW5kIGxpY2Vuc2Ugb2YgQWlyLmpzLgotCi1U
byBydW4gQWlyLmpzLCBzaW1wbHkgb3BlbiAiW0Fpci5qcy90ZXN0Lmh0bWxdKHRlc3QuaHRtbCki
IGluIHlvdXIgYnJvd3Nlci4gSXQKLXdpbGwgb25seSBydW4gY29ycmVjdGx5IGlmIHlvdXIgYnJv
d3NlciBzdXBwb3J0cyBFUzYuCi0KLSMjIE1vdGl2YXRpb24KLQotQXQgdGhlIHRpbWUgdGhhdCBB
aXIuanMgd2FzIHdyaXR0ZW4sIG1vc3QgSmF2YVNjcmlwdCBiZW5jaG1hcmtzIHVzZWQgRVM1IG9y
Ci1vbGRlciB2ZXJzaW9ucyBvZiB0aGUgbGFuZ3VhZ2UuIEVTNiB0ZXN0aW5nIG1vc3RseSByZWxp
ZWQgb24gbWljcm9iZW5jaG1hcmtzIG9yCi1jb252ZXJzaW9ucyBvZiBleGlzdGluZyB0ZXN0cyB0
byBFUzYuIFdlIHRyeSB0byB1c2UgbGFyZ2VyIGJlbmNobWFya3MgdG8gYXZvaWQKLW92ZXItb3B0
aW1pemluZyBmb3Igc21hbGwgcGllY2VzIG9mIGNvZGUsIGFuZCB3ZSBhdm9pZCBtYWtpbmcgY2hh
bmdlcyB0bwotZXhpc3RpbmcgYmVuY2htYXJrcyBiZWNhdXNlIHRoYXQgYXBwcm9hY2ggaGFzIG5v
IGxpbWl0aW5nIHByaW5jaXBsZTogaWYgaXQncyBPSwotdG8gY2hhbmdlIGEgYmVuY2htYXJrIHRv
IHVzZSBhIGZlYXR1cmUsIGRvZXMgdGhhdCBtZWFuIHdlIGNhbiBhbHNvIGNoYW5nZSBpdCB0bwot
cmVtb3ZlIHRoZSB1c2Ugb2YgYSBmZWF0dXJlIHdlIGRvbid0IGxpa2U/IFdlIGZlZWwgdGhhdCB0
aGUgYmVzdCB3YXkgdG8gYXZvaWQKLWZhbGxpbmcgaW50byB0aGUgdHJhcCBvZiBjcmVhdGluZyBi
ZW5jaG1hcmtzIHRoYXQgcmVpbmZvcmNlIHdoYXQgc29tZSBKUyBlbmdpbmUKLWlzIGFscmVhZHkg
Z29vZCBhdCBpcyB0byBjcmVhdGUgYSBuZXcgYmVuY2htYXJrIGZyb20gZmlyc3QgcHJpbmNpcGxl
cy4KLQotV2Ugb25seSByZWNlbnRseSBjb21wbGV0ZWQgb3VyIG5ldyBKYXZhU2NyaXB0IGNvbXBp
bGVyLCBjYWxsZWQKLVtCM10oaHR0cHM6Ly93ZWJraXQub3JnL2Jsb2cvNTg1Mi9pbnRyb2R1Y2lu
Zy10aGUtYjMtaml0LWNvbXBpbGVyLykuIEIzJ3MKLWJhY2tlbmQsIGNhbGxlZAotW0Fpcl0oaHR0
cHM6Ly93ZWJraXQub3JnL2RvY3MvYjMvYXNzZW1ibHktaW50ZXJtZWRpYXRlLXJlcHJlc2VudGF0
aW9uLmh0bWwpLCBpcwotdmVyeSBDUFUtaW50ZW5zaXZlIGFuZCB1c2VzIGEgY29tYmluYXRpb24g
b2Ygb2JqZWN0LW9yaWVudGVkIGFuZCBmdW5jdGlvbmFsCi1pZGlvbXMgaW4gQysrLiBBZGRpdGlv
YWxseSwgaXQgcmVsaWVzIGhlYXZpbHkgb24gaGlnaCBzcGVlZCBtYXBzIGFuZCBzZXRzLiBJdAot
Z29lcyBzbyBmYXIgYXMgdG8gdXNlIGN1c3RvbWl6ZWQgbWFwL3NldCBpbXBsZW1lbnRhdGlvbnMg
LSBldmVuIG1vcmUgc28gdGhhbgotdGhlIHJlc3Qgb2YgV2ViS2l0LiBUaGlzIG1ha2VzIEFpciBh
IGdyZWF0IGNhbmRpZGF0ZSBmb3IgRVM2IGJlbmNobWFya2luZy4KLUFpci5qcyBpcyBhIGZhaXRo
ZnVsIEVTNiBpbXBsZW1lbnRhdGlvbiBvZiBBaXIuIEl0IHB1bGxzIG5vIHB1bmNoZXM6IGp1c3Qg
YXMKLXRoZSBvcmlnaW5hbCBDKysgQWlyIHdhcyB3cml0dGVuIHdpdGggZXhwcmVzc2l2ZW5lc3Mg
YXMgYSB0b3AgcHJpb3JpdHksIEFpci5qcwotaXMgbGliZXJhbCBpbiBpdHMgdXNlIG9mIG1vZGVy
biBFUzYgaWRpb21zIHdoZW5ldmVyIHRoaXMgaGVscHMgbWFrZSB0aGUgY29kZQotbW9yZSByZWFk
YWJsZS4gVW5saWtlIHRoZSBvcmlnaW5hbCBDKysgQWlyLCBBaXIuanMgZG9lc24ndCBleHBsb2l0
IGEgZGVlcAotdW5kZXJzdGFuZGluZyBvZiBjb21waWxlcnMgdG8gbWFrZSB0aGUgY29kZSBlYXN5
IHRvIGNvbXBpbGUuCi0KLSMjIERlc2lnbgotCi1BaXIuanMgcnVucyBvbmUgb2YgdGhlIG1vcmUg
ZXhwZW5zaXZlIEFpciBwaGFzZXMsIEFpcjo6YWxsb2NhdGVTdGFjaygpLiBUaGlzCi10dXJucyBh
YnN0cmFjdCBzdGFjayByZWZlcmVuY2VzIGludG8gY29uY3JldGUgc3RhY2sgcmVmZXJlbmNlcywg
Ynkgc2VsZWN0aW5nCi1ob3cgdG8gbGF5IG91dCBzdGFjayBzbG90cyBpbiB0aGUgc3RhY2sgZnJh
bWUuIFRoaXMgcmVxdWlyZXMgbGl2ZW5lc3MgYW5hbHlzaXMKLWFuZCBhbiBpbnRlcmZlcmVuY2Ug
Z3JhcGguCi0KLUFpci5qcyByZWxpZXMgb24gdGhyZWUgbWFqb3IgRVM2IGZlYXR1cmVzIG1vcmUg
c28gdGhhbiBtb3N0IG9mIHRoZSBvdGhlcnM6Ci0KLS0gQXJyb3cgZnVuY3Rpb25zLiBMaWtlIHRo
ZSBDKysgQWlyLCBBaXIuanMgdXNlcyBhIGZ1bmN0aW9uYWwgc3R5bGUgb2YKLSAgaXRlcmF0aW5n
IG1vc3Qgbm9uLXRyaXZpYWwgZGF0YS1zdHJ1Y3R1cmVzOgotCi0gICAgICAgIGluc3QuZm9yRWFj
aEFyZygoYXJnLCByb2xlLCB0eXBlLCB3aWR0aCkgPT4gLi4uKQotICAKLSAgVGhpcyBpcyBiZWNh
dXNlIHRoZSBmdW5jdGlvbmFsIHN0eWxlIGFsbG93cyB0aGUgY2FsbGJhY2tzIHRvIG11dGF0ZSB0
aGUgZGF0YQotICBiZWluZyBpdGVyYXRlZDogaWYgdGhlIGNhbGxiYWNrIHJldHVybnMgYSBub24t
bnVsbCB2YWx1ZSwgZm9yRWFjaEFyZygpIHdpbGwKLSAgcmVwbGFjZSB0aGUgYXJndW1lbnQgd2l0
aCB0aGF0IHZhbHVlLiBUaGlzIHdvdWxkIG5vdCBoYXZlIGJlZW4gcG9zc2libGUgd2l0aAotICBm
b3Itb2YuCi0KLS0gRm9yLW9mLiBNYW55IEFpciBkYXRhIHN0cnVjdHVyZXMgYXJlIGFtZW5hYmxl
IHRvIGZvci1vZiBpdGVyYXRpb24uIFdoaWxlIHRoZQotICBpbm5lcm1vc3QgbG9vcHMgdGVuZCB0
byB1c2UgZnVuY3Rpb25hbCBpdGVyYXRpb24sIHByZXR0eSBtdWNoIGFsbCBvZiB0aGUKLSAgb3V0
ZXIgbG9naWMgdXNlcyBmb3Itb2YgaGVhdmlseS4gRm9yIGV4YW1wbGU6Ci0KLSAgICAgICAgZm9y
IChsZXQgYmxvY2sgb2YgY29kZSkgLy8gSXRlcmF0ZSBvdmVyIHRoZSBiYXNpYyBibG9ja3MKLSAg
ICAgICAgICAgIGZvciAobGV0IGluc3Qgb2YgYmxvY2spIC8vIEl0ZXJhdGUgb3ZlciB0aGUgaW5z
dHJ1Y3Rpb25zIGluIGEgYmxvY2sKLSAgICAgICAgICAgICAgICAuLi4KLQotLSBNYXAvU2V0LiBU
aGUgbGl2ZW5lc3MgYW5hbHlzaXMgYW5kIEFpcjo6YWxsb2NhdGVTdGFjaygpIHJlbHkgb24gbWFw
cyBhbmQKLSAgc2V0cy4gRm9yIGV4YW1wbGUsIHdlIHVzZSBhIGxpdmVBdEhlYWQgbWFwIHRoYXQg
aXMga2V5ZWQgYnkgYmFzaWMgYmxvY2suIEl0cwotICB2YWx1ZXMgYXJlIHNldHMgb2YgbGl2ZSBz
dGFjayBzbG90cy4gVGhpcyBpcyBhIHJlbGF0aXZlbHkgY3J1ZGUgd2F5IG9mIGRvaW5nCi0gIGxp
dmVuZXNzLCBidXQgaXQgaXMgZXhhY3RseSBob3cgdGhlIG9yaWdpbmFsIEFpcjo6TGl2ZW5lc3NB
bmFseXNpcyB3b3JrZWQsIHNvCi0gIHdlIHZpZXcgaXQgYXMgYmVpbmcgcXVpdGUgZmFpdGhmdWwg
dG8gaG93IGEgc2Vuc2libGUgcHJvZ3JhbW1lciBtaWdodCB1c2UgTWFwCi0gIGFuZCBTZXQuCi0K
LUFpci5qcyBhbHNvIHVzZXMgc29tZSBvdGhlciBFUzYgZmVhdHVyZXMuIEZvciBleGFtcGxlLCBp
dCB1c2VzIGEgUHJveHkKLWluIG9uZSBwbGFjZSwgdGhvdWdoIHdlIGRvdWJ0IHRoYXQgaXQncyBv
biBhIGNyaXRpY2FsIHBhdGguIEFpci5qcyB1c2VzIGNsYXNzZXMKLWFuZCBsZXQvY29uc3QgZXh0
ZW5zaXZlbHksIGFzIHdlbGwgYSBzeW1ib2xzLiBTeW1ib2xzIGFyZSB1c2VkIGFzIGVudW1lcmF0
aW9uCi1lbGVtZW50cywgYW5kIHNvIHRoZXkgZnJlcXVlbnRseSBzaG93IHVwIGFzIGNhc2VzIGlu
IHN3aXRjaCBzdGF0ZW1lbnRzLgotCi1UaGUgd29ya2Zsb3cgb2YgYW4gQWlyLmpzIHJ1biBpcyBw
cmV0dHkgc2ltcGxlOiB3ZSBkbyAxNTAgcnVucyBvZiBhbGxvY2F0ZVN0YWNrCi1vbiBmb3VyIElS
IHBheWxvYWRzLgotCi1FYWNoIElSIHBheWxvYWQgaXMgYSBsYXJnZSBwaWVjZSBvZiBFUzYgY29k
ZSB0aGF0IGNvbnN0cnVjdHMgYW4gQWlyLmpzIENvZGUKLW9iamVjdCwgY29tcGxldGUgd2l0aCBi
bG9ja3MsIHRlbXBvcmFyaWVzLCBzdGFjayBzbG90cywgYW5kIGluc3RydWN0aW9ucy4gVGhlc2UK
LXBheWxvYWRzIGFyZSBnZW5lcmF0ZWQgYnkgcnVubmluZyBBaXI6OmR1bXBBc0pTKCkgcGhhc2Ug
anVzdCBwcmlvciB0byB0aGUKLW5hdGl2ZSBhbGxvY2F0ZVN0YWNrIHBoYXNlIG9uIHRoZSBsYXJn
ZXN0IGhvdCBmdW5jdGlvbiBpbiBmb3VyIG1ham9yIEpTCi1iZW5jaG1hcmtzIGFjY29yZGluZyB0
byBKYXZhU2NyaXB0Q29yZSdzIGludGVybmFsIHByb2ZpbGluZzoKLQotLSBPY3RhbmUvR0JFbXUs
IHRoZSBleGVjdXRlSXRlcmF0aW9uIGZ1bmN0aW9uLgotLSBLcmFrZW4vaW1hZ2luZy1nYXVzc2lh
bi1ibHVyLCB0aGUgZ2F1c3NpYW5CbHVyIGZ1bmN0aW9uLgotLSBPY3RhbmUvVHlwZXNjcmlwdCwg
dGhlIHNjYW5JZGVudGlmaWVyIGZ1bmN0aW9uLAotLSBBaXIuanMsIGFuIGFub255bW91cyBjbG9z
dXJlIGlkZW50aWZpZWQgYnkgb3VyIHByb2ZpbGVyIGFzIEFDTGo4Qy4KLQotVGhlc2UgcGF5bG9h
ZHMgYWxsb3cgQWlyLmpzIHRvIHByZWNpc2VseSByZXBsYXkgYWxsb2NhdGVTdGFjayBvbiB0aG9z
ZSBhY3R1YWwKLWZ1bmN0aW9ucy4KLQotSXQgd2FzIGFuIGEgcHJpb3JpIGdvYWwgb2YgQWlyLmpz
IHRvIHNwZW5kIG1vc3Qgb2YgdGhlIHRpbWUgaW4gdGhlCi1hbGxvY2F0ZVN0YWNrIHBoYXNlLiBU
aGlzIGlzIGEgZmFpdGhmdWwgcmVwcm9kdWN0aW9uIG9mIHRoZSBDKysgYWxsb2NhdGVTdGFjawot
cGhhc2UsIGluY2x1ZGluZyBpdHMgdXNlIG9mIGFuIGFic3RyYWN0IGxpdmVuZXNzIGFuYWx5c2lz
LiBJdCdzIGFic3RyYWN0IGluIHRoZQotc2Vuc2UgdGhhdCB0aGUgc2FtZSBsaXZlbmVzcyBhbGdv
cml0aG0gY2FuIGJlIHJldXNlZCBmb3IgdGVtcG9yYXJpZXMsCi1yZWdpc3RlcnMsIG9yIHN0YWNr
IHNsb3RzLiBJbiBDKysgdGhpcyBtZWFudCB1c2luZyB0ZW1wbGF0ZXMsIHdoaWxlIGluIEVTNiBp
dAotbWVhbnMgbW9yZSBydW4tdGltZSBkeW5hbWljIGRpc3BhdGNoLgotCi1FYWNoIElSIHBheWxv
YWQgaXMgZXhlY3V0YWJsZSBjb2RlIHRoYXQgYWxsb2NhdGVzIHRoZSBJUiwgYW5kIGFib3V0IDE1
JSBvZgotYmVuY2htYXJrIGV4ZWN1dGlvbiB0aW1lIGlzIHNwZW50IGluIHRoYXQgY29kZS4gVGhp
cyBpcyBzaWduaWZpY2FudCwgYnV0IGhhdmluZwotbGVhcm5lZCB0aGlzLCB3ZSBkb24ndCBmZWVs
IHRoYXQgaXQgd291bGQgYmUgaG9uZXN0IHRvIHRyeSB0byBjaGFuZ2UgdGhlCi1lZmZpY2llbmN5
IG9mIHBheWxvYWQgaW5pdGlhbGl6YXRpb24uIFdoYXQgaWYgdGhlIHBheWxvYWQgaW5pdGlhbGl6
YXRpb24gd2FzCi1tb3JlIGV4cGVuc2l2ZSBvbiBvdXIgZW5naW5lIHRoYW4gb3RoZXJzPyBJZiBp
dCB3YXMsIHRoZW4gc3VjaCBhIGNoYW5nZSB3b3VsZAotbm90IGJlIGZhaXIuCi0KLUFpci5qcyB2
YWxpZGF0ZXMgaXRzIHJlc3VsdHMuIFdlIGFkZGVkIGEgQ29kZSBoYXNoaW5nIGNhcGFiaWxpdHkg
dG8gYm90aCB0aGUKLUMrKyBBaXIgYW5kIEFpci5qcywgYW5kIHdlIGFzc2VydCBlYWNoIHBheWxv
YWQgbG9va3MgaWRlbnRpY2FsIGFmdGVyCi1hbGxvY2F0ZVN0YWNrIHRvIHdoYXQgaXQgd291bGQg
aGF2ZSBsb29rZWQgbGlrZSBhZnRlciB0aGUgb3JpZ2luYWwgQysrCi1hbGxvY2F0ZVN0YWNrLiBX
ZSBhbHNvIHZhbGlkYXRlIHRoYXQgcGF5bG9hZHMgaGFzaCBwcm9wZXJseSBiZWZvcmUKLWFsbGNv
YXRlU3RhY2ssIHRvIGhlbHAgY2F0Y2ggYnVncyBkdXJpbmcgcGF5bG9hZCBpbml0aWFsaXphdGlv
bi4gV2UgaGF2ZSBub3QKLW1lYXN1cmVkIGhvdyBsb25nIGhhc2hpbmcgdGFrZXMsIGJ1dCBpdCdz
IGEgTyhOKSBvcGVyYXRpb24sIHdoaWxlIGFsbG9jYXRlU3RhY2sKLWlzIGNsb3NlciB0byBPKE5e
MikuIFdlIHN1c3BlY3QgdGhhdCBiYXJyaW5nIHNvbWUgZW5naW5lIHBhdGhvbG9naWVzLCBoYXNo
aW5nCi1zaG91bGQgYmUgbXVjaCBmYXN0ZXIgdGhhbiBhbGxvY2F0ZVN0YWNrLCBhbmQgYWxsb2Nh
dGVTdGFjayBzaG91bGQgYmUgd2hlcmUgdGhlCi1idWxrIG9mIHRpbWUgaXMgc3BlbnQuCi0KLSMj
IExpY2Vuc2UKLQotQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLQotUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci1tb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLWFyZSBtZXQ6Ci0KLTEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0KLTIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotCi1USElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLUVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi1JTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLVBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi1DT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLUVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLVBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0oSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLU9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotCi0jIyBTdW1tYXJ5
Ci0KLUF0IHRoZSB0aW1lIHRoYXQgQWlyLmpzIHdhcyB3cml0dGVuLCB3ZSB3ZXJlbid0IGhhcHB5
IHdpdGggdGhlIEVTNiBiZW5jaG1hcmtzCi10aGF0IHdlcmUgYXZhaWxhYmxlIHRvIHVzLiBBaXIu
anMgdXNlcyBzb21lIEVTNiBmZWF0dXJlcyBpbiBhbmdlciwgaW4gdGhlIGhvcGUKLXRoYXQgd2Ug
Y2FuIGxlYXJuIGFib3V0IHBvc3NpYmxlIG9wdGltaXphdGlvbiBzdHJhdGVnaWVzIGJ5IGxvb2tp
bmcgYXQgdGhpcyBhbmQKLW90aGVyIGJlbmNobWFya3MuCkluZGV4OiBQZXJmb3JtYW5jZVRlc3Rz
L0VTNlNhbXBsZUJlbmNoL0Fpci9haXJqcy10ZXN0cy55YW1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZv
cm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2FpcmpzLXRlc3RzLnlhbWwJKHJldmlzaW9u
IDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2FpcmpzLXRl
c3RzLnlhbWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyOCArMCwwIEBACi0jIENvcHlyaWdodCAoQykg
MjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSMgYXJlIG1ldDoKLSMKLSMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAotIyAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAotIwotIyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQotIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0jIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSMgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQotIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotIyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0j
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORAotIyBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YKLSMgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLQotLSBwYXRoOiAuCi0gIHRlc3RzOgotICAgIC0gc3RyZXNzLXRlc3Qu
anMKLSAgY21kOiBkZWZhdWx0UnVuTm9pc3lUZXN0IHVubGVzcyBwYXJzZVJ1bkNvbW1hbmRzCi0K
SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2FsbC5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9hbGwuanMJKHJldmlz
aW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2FsbC5q
cwkobm9uZXhpc3RlbnQpCkBAIC0xLDE4ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLQotbG9hZCgi
c3ltYm9scy5qcyIpOwotbG9hZCgidG1wX2Jhc2UuanMiKTsKLWxvYWQoImFyZy5qcyIpOwotbG9h
ZCgiYmFzaWNfYmxvY2suanMiKTsKLWxvYWQoImNvZGUuanMiKTsKLWxvYWQoImZyZXF1ZW50ZWRf
YmxvY2suanMiKTsKLWxvYWQoImluc3QuanMiKTsKLWxvYWQoIm9wY29kZS5qcyIpOwotbG9hZCgi
cmVnLmpzIik7Ci1sb2FkKCJzdGFja19zbG90LmpzIik7Ci1sb2FkKCJ0bXAuanMiKTsKLWxvYWQo
InV0aWwuanMiKTsKLWxvYWQoImN1c3RvbS5qcyIpOwotbG9hZCgibGl2ZW5lc3MuanMiKTsKLWxv
YWQoImluc2VydGlvbl9zZXQuanMiKTsKLWxvYWQoImFsbG9jYXRlX3N0YWNrLmpzIik7CkluZGV4
OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9hbGxvY2F0ZV9zdGFjay5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9hbGxvY2F0
ZV9zdGFjay5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1w
bGVCZW5jaC9BaXIvYWxsb2NhdGVfc3RhY2suanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwyNTIgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBz
dHJpY3QiOwotCi1mdW5jdGlvbiBhbGxvY2F0ZVN0YWNrKGNvZGUpCi17Ci0gICAgaWYgKGNvZGUu
ZnJhbWVTaXplKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkZyYW1lIHNpemUgYWxyZWFkeSBk
ZXRlcm1pbmVkIik7Ci0gICAgCi0gICAgZnVuY3Rpb24gYXR0ZW1wdEFzc2lnbm1lbnQoc2xvdCwg
b2Zmc2V0RnJvbUZQLCBvdGhlclNsb3RzKQotICAgIHsKLSAgICAgICAgaWYgKG9mZnNldEZyb21G
UCA+IDApCi0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdCBuZWdhdGl2ZSBvZmZz
ZXQiKTsKLSAgICAgICAgCi0gICAgICAgIG9mZnNldEZyb21GUCA9IC1yb3VuZFVwVG9NdWx0aXBs
ZU9mKHNsb3QuYWxpZ25tZW50LCAtb2Zmc2V0RnJvbUZQKTsKLSAgICAgICAgCi0gICAgICAgIGZv
ciAobGV0IG90aGVyU2xvdCBvZiBvdGhlclNsb3RzKSB7Ci0gICAgICAgICAgICBpZiAoIW90aGVy
U2xvdC5vZmZzZXRGcm9tRlApCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAg
ICBsZXQgb3ZlcmxhcCA9IHJhbmdlc092ZXJsYXAoCi0gICAgICAgICAgICAgICAgb2Zmc2V0RnJv
bUZQLAotICAgICAgICAgICAgICAgIG9mZnNldEZyb21GUCArIHNsb3QuYnl0ZVNpemUsCi0gICAg
ICAgICAgICAgICAgb3RoZXJTbG90Lm9mZnNldEZyb21GUCwKLSAgICAgICAgICAgICAgICBvdGhl
clNsb3Qub2Zmc2V0RnJvbUZQICsgb3RoZXJTbG90LmJ5dGVTaXplKTsKLSAgICAgICAgICAgIGlm
IChvdmVybGFwKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAg
ICAgICAKLSAgICAgICAgc2xvdC5zZXRPZmZzZXRGcm9tRlAob2Zmc2V0RnJvbUZQKTsKLSAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIGFzc2lnbihzbG90LCBv
dGhlclNsb3RzKQotICAgIHsKLSAgICAgICAgaWYgKGF0dGVtcHRBc3NpZ25tZW50KHNsb3QsIC1z
bG90LmJ5dGVTaXplLCBvdGhlclNsb3RzKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
Ci0gICAgICAgIGZvciAobGV0IG90aGVyU2xvdCBvZiBvdGhlclNsb3RzKSB7Ci0gICAgICAgICAg
ICBpZiAoIW90aGVyU2xvdC5vZmZzZXRGcm9tRlApCi0gICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICBpZiAoYXR0ZW1wdEFzc2lnbm1lbnQoc2xvdCwgb3RoZXJTbG90Lm9mZnNl
dEZyb21GUCAtIHNsb3QuYnl0ZVNpemUsIG90aGVyU2xvdHMpKQotICAgICAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJBc3Np
Z25tZW50IGZhaWxlZCIpOwotICAgIH0KLSAgICAKLSAgICAvLyBBbGxvY2F0ZSBhbGwgb2YgdGhl
IGVzY2FwZWQgc2xvdHMgaW4gb3JkZXIuIFRoaXMgaXMga2luZCBvZiBhIGNyYXp5IGFsZ29yaXRo
bSB0byBhbGxvdyBmb3IKLSAgICAvLyB0aGUgcG9zc2liaWxpdHkgb2Ygc3RhY2sgc2xvdHMgYmVp
bmcgYXNzaWduZWQgZnJhbWUgb2Zmc2V0cyBiZWZvcmUgd2UgZXZlbiBnZXQgaGVyZS4KLSAgICBs
ZXQgYXNzaWduZWRFc2NhcGVkU3RhY2tTbG90cyA9IFtdOwotICAgIGxldCBlc2NhcGVkU3RhY2tT
bG90c1dvcmtsaXN0ID0gW107Ci0gICAgZm9yIChsZXQgc2xvdCBvZiBjb2RlLnN0YWNrU2xvdHMp
IHsKLSAgICAgICAgaWYgKHNsb3QuaXNMb2NrZWQpIHsKLSAgICAgICAgICAgIGlmIChzbG90Lm9m
ZnNldEZyb21GUCkKLSAgICAgICAgICAgICAgICBhc3NpZ25lZEVzY2FwZWRTdGFja1Nsb3RzLnB1
c2goc2xvdCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgZXNjYXBlZFN0YWNr
U2xvdHNXb3JrbGlzdC5wdXNoKHNsb3QpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
aWYgKHNsb3Qub2Zmc2V0RnJvbUZQKQotICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigi
T2Zmc2V0IGFscmVhZHkgYXNzaWduZWQiKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICAv
LyBUaGlzIGlzIGEgZmFpcmx5IGVzcGVuc2l2ZSBsb29wLCBidXQgaXQncyBPSyBiZWNhdXNlIHdl
J2xsIHVzdWFsbHkgb25seSBoYXZlIGEgaGFuZGZ1bCBvZgotICAgIC8vIGVzY2FwZWQgc3RhY2sg
c2xvdHMuCi0gICAgd2hpbGUgKGVzY2FwZWRTdGFja1Nsb3RzV29ya2xpc3QubGVuZ3RoKSB7Ci0g
ICAgICAgIGxldCBzbG90ID0gZXNjYXBlZFN0YWNrU2xvdHNXb3JrbGlzdC5wb3AoKTsKLSAgICAg
ICAgYXNzaWduKHNsb3QsIGFzc2lnbmVkRXNjYXBlZFN0YWNrU2xvdHMpOwotICAgICAgICBhc3Np
Z25lZEVzY2FwZWRTdGFja1Nsb3RzLnB1c2goc2xvdCk7Ci0gICAgfQotICAgIAotICAgIC8vIE5v
dyB3ZSBoYW5kbGUgdGhlIHNwaWxsIHNsb3RzLgotICAgIGxldCBsaXZlbmVzcyA9IG5ldyBMaXZl
bmVzcyhTdGFja1Nsb3QsIGNvZGUpOwotICAgIGxldCBpbnRlcmZlcmVuY2UgPSBuZXcgTWFwKCk7
Ci0gICAgZm9yIChsZXQgc2xvdCBvZiBjb2RlLnN0YWNrU2xvdHMpCi0gICAgICAgIGludGVyZmVy
ZW5jZS5zZXQoc2xvdCwgbmV3IFNldCgpKTsKLSAgICBsZXQgc2xvdHMgPSBbXTsKLSAgICAKLSAg
ICBmb3IgKGxldCBibG9jayBvZiBjb2RlKSB7Ci0gICAgICAgIGxldCBsb2NhbENhbGMgPSBsaXZl
bmVzcy5sb2NhbENhbGMoYmxvY2spOwotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gaW50ZXJm
ZXJlKGluc3RJbmRleCkKLSAgICAgICAgewotICAgICAgICAgICAgSW5zdC5mb3JFYWNoRGVmKAot
ICAgICAgICAgICAgICAgIFN0YWNrU2xvdCwgYmxvY2suZ2V0KGluc3RJbmRleCksIGJsb2NrLmdl
dChpbnN0SW5kZXggKyAxKSwKLSAgICAgICAgICAgICAgICAoc2xvdCwgcm9sZSwgdHlwZSwgd2lk
dGgpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFzbG90LmlzU3BpbGwpCi0gICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAg
ICAgICAgICAgICBmb3IgKGxldCBvdGhlclNsb3Qgb2YgbG9jYWxDYWxjLmxpdmVTZXQpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGludGVyZmVyZW5jZS5nZXQoc2xvdCkuYWRkKG90aGVyU2xv
dCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmZlcmVuY2UuZ2V0KG90aGVyU2xvdCku
YWRkKHNsb3QpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZvciAobGV0IGluc3RJbmRleCA9IGJsb2NrLnNp
emU7IGluc3RJbmRleC0tOykgewotICAgICAgICAgICAgLy8gS2lsbCBkZWFkIHN0b3Jlcy4gRm9y
IHNpbXBsaWNpdHkgd2Ugc2F5IHRoYXQgYSBzdG9yZSBpcyBraWxsYWJsZSBpZiBpdCBoYXMgb25s
eSBsYXRlCi0gICAgICAgICAgICAvLyBkZWZzIGFuZCB0aG9zZSBsYXRlIGRlZnMgYXJlIHRvIHRo
aW5ncyB0aGF0IGFyZSBkZWFkIHJpZ2h0IG5vdy4gV2Ugb25seSBkbyB0aGF0Ci0gICAgICAgICAg
ICAvLyBiZWNhdXNlIHRoYXQncyB0aGUgb25seSBraW5kIG9mIGRlYWQgc3RhY2sgc3RvcmUgd2Ug
d2lsbCBzZWUgaGVyZS4KLSAgICAgICAgICAgIGxldCBpbnN0ID0gYmxvY2suYXQoaW5zdEluZGV4
KTsKLSAgICAgICAgICAgIGlmICghaW5zdC5oYXNOb25BcmdFZmZlY3RzKSB7Ci0gICAgICAgICAg
ICAgICAgbGV0IG9rID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBpbnN0LmZvckVhY2hBcmcoKGFy
Zywgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKEFyZy5p
c0Vhcmx5RGVmKHJvbGUpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBvayA9IGZhbHNlOwot
ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgICAgIGlmICghQXJnLmlzTGF0ZURlZihyb2xlKSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFhcmcuaXNTdGFj
aykgewotICAgICAgICAgICAgICAgICAgICAgICAgb2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
ICAgICAKLSAgICAgICAgICAgICAgICAgICAgbGV0IHNsb3QgPSBhcmcuc3RhY2tTbG90OwotICAg
ICAgICAgICAgICAgICAgICBpZiAoIXNsb3QuaXNTcGlsbCkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgb2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKGxvY2FsQ2FsYy5saXZlU2V0LmhhcyhzbG90KSkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgb2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIGlm
IChvaykKLSAgICAgICAgICAgICAgICAgICAgaW5zdC5jbGVhcigpOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgCi0gICAgICAgICAgICBpbnRlcmZlcmUoaW5zdEluZGV4KTsKLSAgICAgICAg
ICAgIGxvY2FsQ2FsYy5leGVjdXRlKGluc3RJbmRleCk7Ci0gICAgICAgIH0KLSAgICAgICAgaW50
ZXJmZXJlKC0xKTsKLSAgICAgICAgCi0gICAgICAgIHJlbW92ZUFsbE1hdGNoaW5nKGJsb2NrLmlu
c3RzLCBpbnN0ID0+IGluc3Qub3Bjb2RlID09IE5vcCk7Ci0gICAgfQotICAgIAotICAgIC8vIE5v
dyB3ZSBhc3NpZ24gc3RhY2sgbG9jYXRpb25zLiBBdCBpdHMgaGVhcnQgdGhpcyBhbGdvcml0aG0g
aXMganVzdCBmaXJzdC1maXQuIEZvciBlYWNoCi0gICAgLy8gU3RhY2tTbG90IHdlIGp1c3Qgd2Fu
dCB0byBmaW5kIHRoZSBvZmZzZXRGcm9tRlAgdGhhdCBpcyBjbG9zZXN0IHRvIHplcm8gd2hpbGUg
ZW5zdXJpbmcgbm8KLSAgICAvLyBvdmVybGFwIHdpdGggb3RoZXIgU3RhY2tTbG90cyB0aGF0IHRo
aXMgb3ZlcmxhcHMgd2l0aC4KLSAgICBmb3IgKGxldCBzbG90IG9mIGNvZGUuc3RhY2tTbG90cykg
ewotICAgICAgICBpZiAoc2xvdC5vZmZzZXRGcm9tRlApCi0gICAgICAgICAgICBjb250aW51ZTsK
LSAgICAgICAgCi0gICAgICAgIGFzc2lnbihzbG90LCBhc3NpZ25lZEVzY2FwZWRTdGFja1Nsb3Rz
LmNvbmNhdChBcnJheS5mcm9tKGludGVyZmVyZW5jZS5nZXQoc2xvdCkpKSk7Ci0gICAgfQotICAg
IAotICAgIC8vIEZpZ3VyZSBvdXQgaG93IG11Y2ggc3RhY2sgd2UncmUgdXNpbmcgZm9yIHN0YWNr
IHNsb3RzLgotICAgIGxldCBmcmFtZVNpemVGb3JTdGFja1Nsb3RzID0gMDsKLSAgICBmb3IgKGxl
dCBzbG90IG9mIGNvZGUuc3RhY2tTbG90cykgewotICAgICAgICBmcmFtZVNpemVGb3JTdGFja1Ns
b3RzID0gTWF0aC5tYXgoCi0gICAgICAgICAgICBmcmFtZVNpemVGb3JTdGFja1Nsb3RzLAotICAg
ICAgICAgICAgLXNsb3Qub2Zmc2V0RnJvbUZQKTsKLSAgICB9Ci0gICAgCi0gICAgZnJhbWVTaXpl
Rm9yU3RhY2tTbG90cyA9IHJvdW5kVXBUb011bHRpcGxlT2Yoc3RhY2tBbGlnbm1lbnRCeXRlcywg
ZnJhbWVTaXplRm9yU3RhY2tTbG90cyk7Ci0KLSAgICAvLyBObyB3ZSBuZWVkIHRvIGRlZHVjZSBo
b3cgbXVjaCBhcmd1bWVudCBhcmVhIHdlIG5lZWQuCi0gICAgZm9yIChsZXQgYmxvY2sgb2YgY29k
ZSkgewotICAgICAgICBmb3IgKGxldCBpbnN0IG9mIGJsb2NrKSB7Ci0gICAgICAgICAgICBmb3Ig
KGxldCBhcmcgb2YgaW5zdC5hcmdzKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGFyZy5pc0NhbGxB
cmcpIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gRm9yIG5vdywgd2UgYXNzdW1lIHRoYXQgd2Ug
dXNlIDggYnl0ZXMgb2YgdGhlIGNhbGwgYXJnLiBCdXQgdGhhdCdzIG5vdAotICAgICAgICAgICAg
ICAgICAgICAvLyBzdWNoIGFuIGF3ZXNvbWUgYXNzdW1wdGlvbi4KLSAgICAgICAgICAgICAgICAg
ICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTA0
NTQKLSAgICAgICAgICAgICAgICAgICAgaWYgKGFyZy5vZmZzZXQgPCAwKQotICAgICAgICAgICAg
ICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJEaWQgbm90IGV4cGVjdCBuZWdhdGl2ZSBvZmZz
ZXQgZm9yIGNhbGxBcmciKTsKLSAgICAgICAgICAgICAgICAgICAgY29kZS5yZXF1ZXN0Q2FsbEFy
Z0FyZWFTaXplKGFyZy5vZmZzZXQgKyA4KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgY29kZS5zZXRGcmFtZVNpemUoZnJhbWVT
aXplRm9yU3RhY2tTbG90cyArIGNvZGUuY2FsbEFyZ0FyZWFTaXplKTsKLSAgICAKLSAgICAvLyBG
aW5hbGx5IHRyYW5zZm9ybSB0aGUgY29kZSB0byB1c2UgQWRkcnMgaW5zdGVhZCBvZiBTdGFja1Ns
b3RzLiBUaGlzIGlzIGEgbG9zc2xlc3MKLSAgICAvLyB0cmFuc2Zvcm1hdGlvbiBzaW5jZSB3ZSBj
YW4gc2VhcmNoIHRoZSBTdGFja1Nsb3RzIGFycmF5IHRvIGZpZ3VyZSBvdXQgd2hpY2ggU3RhY2tT
bG90IGFueQotICAgIC8vIG9mZnNldC1mcm9tLUZQIHJlZmVycyB0by4KLQotICAgIC8vIEZJWE1F
OiBUaGlzIG1heSBwcm9kdWNlIGFkZHJlc3NlcyB0aGF0IGFyZW4ndCB2YWxpZCBpZiB3ZSBlbmQg
dXAgd2l0aCBhIGdpbm9ybW91cyBzdGFjayBmcmFtZS4KLSAgICAvLyBXZSB3b3VsZCBoYXZlIHRv
IHNjYXZlbmdlIGZvciB0ZW1wb3JhcmllcyBpZiB0aGlzIGhhcHBlbmVkLiBGb3J0dW5hdGVseSwg
dGhpcyBjYXNlIHdpbGwgYmUKLSAgICAvLyBleHRyZW1lbHkgcmFyZSBzbyB3ZSBjYW4gZG8gY3Jh
enkgdGhpbmdzIHdoZW4gaXQgYXJpc2VzLgotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTI1MzAKLSAgICAKLSAgICBsZXQgaW5zZXJ0aW9uU2V0ID0gbmV3
IEluc2VydGlvblNldCgpOwotICAgIGZvciAobGV0IGJsb2NrIG9mIGNvZGUpIHsKLSAgICAgICAg
Zm9yIChsZXQgaW5zdEluZGV4ID0gMDsgaW5zdEluZGV4IDwgYmxvY2suc2l6ZTsgKytpbnN0SW5k
ZXgpIHsKLSAgICAgICAgICAgIGxldCBpbnN0ID0gYmxvY2suYXQoaW5zdEluZGV4KTsKLSAgICAg
ICAgICAgIGluc3QuZm9yRWFjaEFyZygoYXJnLCByb2xlLCB0eXBlLCB3aWR0aCkgPT4gewotICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uIHN0YWNrQWRkcihvZmZzZXQpCi0gICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gQXJnLmNyZWF0ZVN0YWNrQWRkcihvZmZzZXQs
IGNvZGUuZnJhbWVTaXplLCB3aWR0aCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIAotICAgICAgICAgICAgICAgIHN3aXRjaCAoYXJnLmtpbmQpIHsKLSAgICAgICAgICAgICAg
ICBjYXNlIEFyZy5TdGFjazogewotICAgICAgICAgICAgICAgICAgICBsZXQgc2xvdCA9IGFyZy5z
dGFja1Nsb3Q7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChBcmcuaXNaRGVmKHJvbGUpCi0gICAg
ICAgICAgICAgICAgICAgICAgICAmJiBzbG90LmlzU3BpbGwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICYmIHNsb3QuYnl0ZVNpemUgPiBBcmcuYnl0ZXMod2lkdGgpKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAvLyBDdXJyZW50bHkgd2Ugb25seSBoYW5kbGUgdGhpcyBzaW1wbGUgY2FzZSBi
ZWNhdXNlIGl0J3MgdGhlIG9ubHkgb25lCi0gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0
IGFyaXNlczogWkRlZidzIGFyZSBvbmx5IDMyLWJpdCByaWdodCBub3cuIFNvLCB3aGVuIHdlIGhp
dCB0aGVzZQotICAgICAgICAgICAgICAgICAgICAgICAgLy8gYXNzZXJ0aW9ucyBpdCBtZWFucyB0
aGF0IHdlIG5lZWQgdG8gaW1wbGVtZW50IHRob3NlIG90aGVyIGtpbmRzIG9mCi0gICAgICAgICAg
ICAgICAgICAgICAgICAvLyB6ZXJvIGZpbGxzLgotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHNsb3QuYnl0ZVNpemUgIT0gOCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93
IG5ldyBFcnJvcigKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYEJhZCBzcGlsbCBz
bG90IHNpemUgZm9yIFpEZWY6ICR7c2xvdC5ieXRlU2l6ZX0sIHdpZHRoIGlzICR7d2lkdGh9YCk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAo
d2lkdGggIT0gMzIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCYWQgd2lkdGggZm9yIFpEZWYiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAg
ICAgICAgICAgICAgICAgICAgaW5zZXJ0aW9uU2V0Lmluc2VydCgKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnN0SW5kZXggKyAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5l
dyBJbnN0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZVplcm8zMiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YWNrQWRkcihhcmcub2Zmc2V0ICsgNCAr
IHNsb3Qub2Zmc2V0RnJvbUZQKV0pKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gc3RhY2tBZGRyKGFyZy5vZmZzZXQgKyBzbG90Lm9mZnNldEZyb21G
UCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGNhc2UgQXJnLkNhbGxBcmc6
Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGFja0FkZHIoYXJnLm9mZnNldCAtIGNvZGUu
ZnJhbWVTaXplKTsKLSAgICAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQot
ICAgICAgICBpbnNlcnRpb25TZXQuZXhlY3V0ZShibG9jay5pbnN0cyk7Ci0gICAgfQotfQpJbmRl
eDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvYXJnLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2FyZy5qcwkocmV2aXNpb24g
MjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvYXJnLmpzCShu
b25leGlzdGVudCkKQEAgLTEsMTA2NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWNsYXNzIEFyZyB7Ci0gICAgY29u
c3RydWN0b3IoKQotICAgIHsKLSAgICAgICAgdGhpcy5fa2luZCA9IEFyZy5JbnZhbGlkOwotICAg
IH0KLSAgICAKLSAgICBzdGF0aWMgaXNBbnlVc2Uocm9sZSkKLSAgICB7Ci0gICAgICAgIHN3aXRj
aCAocm9sZSkgewotICAgICAgICBjYXNlIEFyZy5Vc2U6Ci0gICAgICAgIGNhc2UgQXJnLkNvbGRV
c2U6Ci0gICAgICAgIGNhc2UgQXJnLlVzZURlZjoKLSAgICAgICAgY2FzZSBBcmcuVXNlWkRlZjoK
LSAgICAgICAgY2FzZSBBcmcuTGF0ZVVzZToKLSAgICAgICAgY2FzZSBBcmcuTGF0ZUNvbGRVc2U6
Ci0gICAgICAgIGNhc2UgQXJnLlNjcmF0Y2g6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICAgICAgY2FzZSBBcmcuRGVmOgotICAgICAgICBjYXNlIEFyZy5aRGVmOgotICAgICAgICBjYXNl
IEFyZy5Vc2VBZGRyOgotICAgICAgICBjYXNlIEFyZy5FYXJseURlZjoKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJv
cigiQmFkIHJvbGUiKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgaXNDb2xk
VXNlKHJvbGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHJvbGUpIHsKLSAgICAgICAgY2FzZSBB
cmcuQ29sZFVzZToKLSAgICAgICAgY2FzZSBBcmcuTGF0ZUNvbGRVc2U6Ci0gICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBBcmcuVXNlOgotICAgICAgICBjYXNlIEFyZy5Vc2VE
ZWY6Ci0gICAgICAgIGNhc2UgQXJnLlVzZVpEZWY6Ci0gICAgICAgIGNhc2UgQXJnLkxhdGVVc2U6
Ci0gICAgICAgIGNhc2UgQXJnLkRlZjoKLSAgICAgICAgY2FzZSBBcmcuWkRlZjoKLSAgICAgICAg
Y2FzZSBBcmcuVXNlQWRkcjoKLSAgICAgICAgY2FzZSBBcmcuU2NyYXRjaDoKLSAgICAgICAgY2Fz
ZSBBcmcuRWFybHlEZWY6Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGRlZmF1
bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCByb2xlIik7Ci0gICAgICAgIH0K
LSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGlzV2FybVVzZShyb2xlKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIEFyZy5pc0FueVVzZShyb2xlKSAmJiAhQXJnLmlzQ29sZFVzZShyb2xlKTsKLSAgICB9
Ci0gICAgCi0gICAgc3RhdGljIGNvb2xlZChyb2xlKQotICAgIHsKLSAgICAgICAgc3dpdGNoIChy
b2xlKSB7Ci0gICAgICAgIGNhc2UgQXJnLkNvbGRVc2U6Ci0gICAgICAgIGNhc2UgQXJnLkxhdGVD
b2xkVXNlOgotICAgICAgICBjYXNlIEFyZy5Vc2VEZWY6Ci0gICAgICAgIGNhc2UgQXJnLlVzZVpE
ZWY6Ci0gICAgICAgIGNhc2UgQXJnLkRlZjoKLSAgICAgICAgY2FzZSBBcmcuWkRlZjoKLSAgICAg
ICAgY2FzZSBBcmcuVXNlQWRkcjoKLSAgICAgICAgY2FzZSBBcmcuU2NyYXRjaDoKLSAgICAgICAg
Y2FzZSBBcmcuRWFybHlEZWY6Ci0gICAgICAgICAgICByZXR1cm4gcm9sZTsKLSAgICAgICAgY2Fz
ZSBBcmcuVXNlOgotICAgICAgICAgICAgcmV0dXJuIEFyZy5Db2xkVXNlOwotICAgICAgICBjYXNl
IEFyZy5MYXRlVXNlOgotICAgICAgICAgICAgcmV0dXJuIEFyZy5MYXRlQ29sZFVzZTsKLSAgICAg
ICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIHJvbGUiKTsKLSAg
ICAgICAgfQotICAgIH0KLQotICAgIHN0YXRpYyBpc0Vhcmx5VXNlKHJvbGUpCi0gICAgewotICAg
ICAgICBzd2l0Y2ggKHJvbGUpIHsKLSAgICAgICAgY2FzZSBBcmcuVXNlOgotICAgICAgICBjYXNl
IEFyZy5Db2xkVXNlOgotICAgICAgICBjYXNlIEFyZy5Vc2VEZWY6Ci0gICAgICAgIGNhc2UgQXJn
LlVzZVpEZWY6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBBcmcuRGVm
OgotICAgICAgICBjYXNlIEFyZy5aRGVmOgotICAgICAgICBjYXNlIEFyZy5Vc2VBZGRyOgotICAg
ICAgICBjYXNlIEFyZy5MYXRlVXNlOgotICAgICAgICBjYXNlIEFyZy5MYXRlQ29sZFVzZToKLSAg
ICAgICAgY2FzZSBBcmcuU2NyYXRjaDoKLSAgICAgICAgY2FzZSBBcmcuRWFybHlEZWY6Ci0gICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoIkJhZCByb2xlIik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgc3Rh
dGljIGlzTGF0ZVVzZShyb2xlKQotICAgIHsKLSAgICAgICAgc3dpdGNoIChyb2xlKSB7Ci0gICAg
ICAgIGNhc2UgQXJnLkxhdGVVc2U6Ci0gICAgICAgIGNhc2UgQXJnLkxhdGVDb2xkVXNlOgotICAg
ICAgICBjYXNlIEFyZy5TY3JhdGNoOgotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAg
IGNhc2UgQXJnLkNvbGRVc2U6Ci0gICAgICAgIGNhc2UgQXJnLlVzZToKLSAgICAgICAgY2FzZSBB
cmcuVXNlRGVmOgotICAgICAgICBjYXNlIEFyZy5Vc2VaRGVmOgotICAgICAgICBjYXNlIEFyZy5E
ZWY6Ci0gICAgICAgIGNhc2UgQXJnLlpEZWY6Ci0gICAgICAgIGNhc2UgQXJnLlVzZUFkZHI6Ci0g
ICAgICAgIGNhc2UgQXJnLkVhcmx5RGVmOgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgcm9sZSIpOwot
ICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBpc0FueURlZihyb2xlKQotICAgIHsK
LSAgICAgICAgc3dpdGNoIChyb2xlKSB7Ci0gICAgICAgIGNhc2UgQXJnLlVzZToKLSAgICAgICAg
Y2FzZSBBcmcuQ29sZFVzZToKLSAgICAgICAgY2FzZSBBcmcuVXNlQWRkcjoKLSAgICAgICAgY2Fz
ZSBBcmcuTGF0ZVVzZToKLSAgICAgICAgY2FzZSBBcmcuTGF0ZUNvbGRVc2U6Ci0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGNhc2UgQXJnLkRlZjoKLSAgICAgICAgY2FzZSBBcmcu
VXNlRGVmOgotICAgICAgICBjYXNlIEFyZy5aRGVmOgotICAgICAgICBjYXNlIEFyZy5Vc2VaRGVm
OgotICAgICAgICBjYXNlIEFyZy5FYXJseURlZjoKLSAgICAgICAgY2FzZSBBcmcuU2NyYXRjaDoK
LSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJCYWQgcm9sZSIpOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAg
IHN0YXRpYyBpc0Vhcmx5RGVmKHJvbGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHJvbGUpIHsK
LSAgICAgICAgY2FzZSBBcmcuVXNlOgotICAgICAgICBjYXNlIEFyZy5Db2xkVXNlOgotICAgICAg
ICBjYXNlIEFyZy5Vc2VBZGRyOgotICAgICAgICBjYXNlIEFyZy5MYXRlVXNlOgotICAgICAgICBj
YXNlIEFyZy5EZWY6Ci0gICAgICAgIGNhc2UgQXJnLlVzZURlZjoKLSAgICAgICAgY2FzZSBBcmcu
WkRlZjoKLSAgICAgICAgY2FzZSBBcmcuVXNlWkRlZjoKLSAgICAgICAgY2FzZSBBcmcuTGF0ZUNv
bGRVc2U6Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGNhc2UgQXJnLkVhcmx5
RGVmOgotICAgICAgICBjYXNlIEFyZy5TY3JhdGNoOgotICAgICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCByb2xl
Iik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGlzTGF0ZURlZihyb2xlKQot
ICAgIHsKLSAgICAgICAgc3dpdGNoIChyb2xlKSB7Ci0gICAgICAgIGNhc2UgQXJnLlVzZToKLSAg
ICAgICAgY2FzZSBBcmcuQ29sZFVzZToKLSAgICAgICAgY2FzZSBBcmcuVXNlQWRkcjoKLSAgICAg
ICAgY2FzZSBBcmcuTGF0ZVVzZToKLSAgICAgICAgY2FzZSBBcmcuRWFybHlEZWY6Ci0gICAgICAg
IGNhc2UgQXJnLlNjcmF0Y2g6Ci0gICAgICAgIGNhc2UgQXJnLkxhdGVDb2xkVXNlOgotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBjYXNlIEFyZy5EZWY6Ci0gICAgICAgIGNhc2Ug
QXJnLlVzZURlZjoKLSAgICAgICAgY2FzZSBBcmcuWkRlZjoKLSAgICAgICAgY2FzZSBBcmcuVXNl
WkRlZjoKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBkZWZhdWx0OgotICAgICAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgcm9sZSIpOwotICAgICAgICB9Ci0gICAgfQotICAg
IAotICAgIHN0YXRpYyBpc1pEZWYocm9sZSkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAocm9sZSkg
ewotICAgICAgICBjYXNlIEFyZy5Vc2U6Ci0gICAgICAgIGNhc2UgQXJnLkNvbGRVc2U6Ci0gICAg
ICAgIGNhc2UgQXJnLlVzZUFkZHI6Ci0gICAgICAgIGNhc2UgQXJnLkxhdGVVc2U6Ci0gICAgICAg
IGNhc2UgQXJnLkRlZjoKLSAgICAgICAgY2FzZSBBcmcuVXNlRGVmOgotICAgICAgICBjYXNlIEFy
Zy5FYXJseURlZjoKLSAgICAgICAgY2FzZSBBcmcuU2NyYXRjaDoKLSAgICAgICAgY2FzZSBBcmcu
TGF0ZUNvbGRVc2U6Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGNhc2UgQXJn
LlpEZWY6Ci0gICAgICAgIGNhc2UgQXJnLlVzZVpEZWY6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIHJv
bGUiKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgdHlwZUZvckIzVHlwZSh0
eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgSW50MzI6
Ci0gICAgICAgIGNhc2UgSW50NjQ6Ci0gICAgICAgICAgICByZXR1cm4gR1A7Ci0gICAgICAgIGNh
c2UgRmxvYXQ6Ci0gICAgICAgIGNhc2UgRG91YmxlOgotICAgICAgICAgICAgcmV0dXJuIEZQOwot
ICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgQjMgdHlw
ZSIpOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyB3aWR0aEZvckIzVHlwZSh0
eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgSW50MzI6
Ci0gICAgICAgIGNhc2UgRmxvYXQ6Ci0gICAgICAgICAgICByZXR1cm4gMzI7Ci0gICAgICAgIGNh
c2UgSW50NjQ6Ci0gICAgICAgIGNhc2UgRG91YmxlOgotICAgICAgICAgICAgcmV0dXJuIDY0Owot
ICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgQjMgdHlw
ZSIpOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBjb25zZXJ2YXRpdmVXaWR0
aCh0eXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHR5cGUgPT0gR1AgPyBQdHIgOiA2NDsKLSAg
ICB9Ci0gICAgCi0gICAgc3RhdGljIG1pbmltdW1XaWR0aCh0eXBlKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIHR5cGUgPT0gR1AgPyA4IDogMzI7Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBieXRl
cyh3aWR0aCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB3aWR0aCAvIDg7Ci0gICAgfQotICAgIAot
ICAgIHN0YXRpYyB3aWR0aEZvckJ5dGVzKGJ5dGVzKQotICAgIHsKLSAgICAgICAgc3dpdGNoIChi
eXRlcykgewotICAgICAgICBjYXNlIDA6Ci0gICAgICAgIGNhc2UgMToKLSAgICAgICAgICAgIHJl
dHVybiA4OwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICByZXR1cm4gMTY7Ci0gICAgICAg
IGNhc2UgMzoKLSAgICAgICAgY2FzZSA0OgotICAgICAgICAgICAgcmV0dXJuIDMyOwotICAgICAg
ICBkZWZhdWx0OgotICAgICAgICAgICAgaWYgKGJ5dGVzID4gOCkKLSAgICAgICAgICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkJhZCBudW1iZXIgb2YgYnl0ZXMiKTsKLSAgICAgICAgICAgIHJldHVy
biA2NDsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgY3JlYXRlVG1wKHRtcCkK
LSAgICB7Ci0gICAgICAgIGxldCByZXN1bHQgPSBuZXcgQXJnKCk7Ci0gICAgICAgIHJlc3VsdC5f
a2luZCA9IEFyZy5UbXA7Ci0gICAgICAgIHJlc3VsdC5fdG1wID0gdG1wOwotICAgICAgICByZXR1
cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgZnJvbVJlZyhyZWcpCi0gICAgewot
ICAgICAgICByZXR1cm4gQXJnLmNyZWF0ZVRtcChyZWcpOwotICAgIH0KLSAgICAKLSAgICBzdGF0
aWMgY3JlYXRlSW1tKHZhbHVlKQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBBcmco
KTsKLSAgICAgICAgcmVzdWx0Ll9raW5kID0gQXJnLkltbTsKLSAgICAgICAgcmVzdWx0Ll92YWx1
ZSA9IHZhbHVlOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBzdGF0
aWMgY3JlYXRlQmlnSW1tKGxvd1ZhbHVlLCBoaWdoVmFsdWUgPSAwKQotICAgIHsKLSAgICAgICAg
bGV0IHJlc3VsdCA9IG5ldyBBcmcoKTsKLSAgICAgICAgcmVzdWx0Ll9raW5kID0gQXJnLkJpZ0lt
bTsKLSAgICAgICAgcmVzdWx0Ll9sb3dWYWx1ZSA9IGxvd1ZhbHVlOwotICAgICAgICByZXN1bHQu
X2hpZ2hWYWx1ZSA9IGhpZ2hWYWx1ZTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0g
ICAgCi0gICAgc3RhdGljIGNyZWF0ZUJpdEltbSh2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGxldCBy
ZXN1bHQgPSBuZXcgQXJnKCk7Ci0gICAgICAgIHJlc3VsdC5fa2luZCA9IEFyZy5CaXRJbW07Ci0g
ICAgICAgIHJlc3VsdC5fdmFsdWUgPSB2YWx1ZTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAg
ICB9Ci0gICAgCi0gICAgc3RhdGljIGNyZWF0ZUJpdEltbTY0KGxvd1ZhbHVlLCBoaWdoVmFsdWUg
PSAwKQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBBcmcoKTsKLSAgICAgICAgcmVz
dWx0Ll9raW5kID0gQXJnLkJpdEltbTY0OwotICAgICAgICByZXN1bHQuX2xvd1ZhbHVlID0gbG93
VmFsdWU7Ci0gICAgICAgIHJlc3VsdC5faGlnaFZhbHVlID0gaGlnaFZhbHVlOwotICAgICAgICBy
ZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgY3JlYXRlQWRkcihiYXNlLCBv
ZmZzZXQgPSAwKQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBBcmcoKTsKLSAgICAg
ICAgcmVzdWx0Ll9raW5kID0gQXJnLkFkZHI7Ci0gICAgICAgIHJlc3VsdC5fYmFzZSA9IGJhc2U7
Ci0gICAgICAgIHJlc3VsdC5fb2Zmc2V0ID0gb2Zmc2V0OwotICAgICAgICByZXR1cm4gcmVzdWx0
OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgY3JlYXRlU3RhY2soc2xvdCwgb2Zmc2V0ID0gMCkK
LSAgICB7Ci0gICAgICAgIGxldCByZXN1bHQgPSBuZXcgQXJnKCk7Ci0gICAgICAgIHJlc3VsdC5f
a2luZCA9IEFyZy5TdGFjazsKLSAgICAgICAgcmVzdWx0Ll9zbG90ID0gc2xvdDsKLSAgICAgICAg
cmVzdWx0Ll9vZmZzZXQgPSBvZmZzZXQ7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQot
ICAgIAotICAgIHN0YXRpYyBjcmVhdGVDYWxsQXJnKG9mZnNldCkKLSAgICB7Ci0gICAgICAgIGxl
dCByZXN1bHQgPSBuZXcgQXJnKCk7Ci0gICAgICAgIHJlc3VsdC5fa2luZCA9IEFyZy5DYWxsQXJn
OwotICAgICAgICByZXN1bHQuX29mZnNldCA9IG9mZnNldDsKLSAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGNyZWF0ZVN0YWNrQWRkcihvZmZzZXRGcm9tRlAs
IGZyYW1lU2l6ZSwgd2lkdGgpCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gQXJnLmNyZWF0
ZUFkZHIoUmVnLmNhbGxGcmFtZVJlZ2lzdGVyLCBvZmZzZXRGcm9tRlApOwotICAgICAgICBpZiAo
IXJlc3VsdC5pc1ZhbGlkRm9ybSh3aWR0aCkpCi0gICAgICAgICAgICByZXN1bHQgPSBBcmcuY3Jl
YXRlQWRkcihSZWcuc3RhY2tQb2ludGVyUmVnaXN0ZXIsIG9mZnNldEZyb21GUCArIGZyYW1lU2l6
ZSk7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBpc1Zh
bGlkU2NhbGUoc2NhbGUsIHdpZHRoKQotICAgIHsKLSAgICAgICAgc3dpdGNoIChzY2FsZSkgewot
ICAgICAgICBjYXNlIDE6Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgY2FzZSA0OgotICAgICAg
ICBjYXNlIDg6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgZGVmYXVsdDoKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBzdGF0
aWMgbG9nU2NhbGUoc2NhbGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHNjYWxlKSB7Ci0gICAg
ICAgIGNhc2UgMToKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICBjYXNlIDI6Ci0gICAg
ICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgY2FzZSA0OgotICAgICAgICAgICAgcmV0dXJuIDI7
Ci0gICAgICAgIGNhc2UgODoKLSAgICAgICAgICAgIHJldHVybiAzOwotICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgc2NhbGUiKTsKLSAgICAgICAgfQot
ICAgIH0KLSAgICAKLSAgICBzdGF0aWMgY3JlYXRlSW5kZXgoYmFzZSwgaW5kZXgsIHNjYWxlID0g
MSwgb2Zmc2V0ID0gMCkKLSAgICB7Ci0gICAgICAgIGxldCByZXN1bHQgPSBuZXcgQXJnKCk7Ci0g
ICAgICAgIHJlc3VsdC5fa2luZCA9IEFyZy5JbmRleDsKLSAgICAgICAgcmVzdWx0Ll9iYXNlID0g
YmFzZTsKLSAgICAgICAgcmVzdWx0Ll9pbmRleCA9IGluZGV4OwotICAgICAgICByZXN1bHQuX3Nj
YWxlID0gc2NhbGU7Ci0gICAgICAgIHJlc3VsdC5fb2Zmc2V0ID0gb2Zmc2V0OwotICAgICAgICBy
ZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgY3JlYXRlUmVsQ29uZChjb25k
aXRpb24pCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IEFyZygpOwotICAgICAgICBy
ZXN1bHQuX2tpbmQgPSBBcmcuUmVsQ29uZDsKLSAgICAgICAgcmVzdWx0Ll9jb25kaXRpb24gPSBj
b25kaXRpb247Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotICAgIAotICAgIHN0YXRp
YyBjcmVhdGVSZXNDb25kKGNvbmRpdGlvbikKLSAgICB7Ci0gICAgICAgIGxldCByZXN1bHQgPSBu
ZXcgQXJnKCk7Ci0gICAgICAgIHJlc3VsdC5fa2luZCA9IEFyZy5SZXNDb25kOwotICAgICAgICBy
ZXN1bHQuX2NvbmRpdGlvbiA9IGNvbmRpdGlvbjsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAg
ICB9Ci0gICAgCi0gICAgc3RhdGljIGNyZWF0ZURvdWJsZUNvbmQoY29uZGl0aW9uKQotICAgIHsK
LSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBBcmcoKTsKLSAgICAgICAgcmVzdWx0Ll9raW5kID0g
QXJnLkRvdWJsZUNvbmQ7Ci0gICAgICAgIHJlc3VsdC5fY29uZGl0aW9uID0gY29uZGl0aW9uOwot
ICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgY3JlYXRlV2lk
dGgod2lkdGgpCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IEFyZygpOwotICAgICAg
ICByZXN1bHQuX2tpbmQgPSBBcmcuV2lkdGg7Ci0gICAgICAgIHJlc3VsdC5fd2lkdGggPSB3aWR0
aDsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGNyZWF0
ZVNwZWNpYWwoKQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBBcmcoKTsKLSAgICAg
ICAgcmVzdWx0Ll9raW5kID0gQXJnLlNwZWNpYWw7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0g
ICAgfQotICAgIAotICAgIGdldCBraW5kKCkgeyByZXR1cm4gdGhpcy5fa2luZDsgfQotICAgIGdl
dCBpc1RtcCgpIHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gQXJnLlRtcDsgfQotICAgIGdldCBpc0lt
bSgpIHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gQXJnLkltbTsgfQotICAgIGdldCBpc0JpZ0ltbSgp
IHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gQXJnLkJpZ0ltbTsgfQotICAgIGdldCBpc0JpdEltbSgp
IHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gQXJnLkJpdEltbTsgfQotICAgIGdldCBpc0JpdEltbTY0
KCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBBcmcuQml0SW1tNjQ7IH0KLSAgICBnZXQgaXNTb21l
SW1tKCkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodGhpcy5fa2luZCkgewotICAgICAgICBjYXNl
IEFyZy5JbW06Ci0gICAgICAgIGNhc2UgQXJnLkJpdEltbToKLSAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICB9Ci0gICAgfQotICAgIGdldCBpc1NvbWVCaWdJbW0oKQotICAgIHsKLSAgICAgICAgc3dpdGNo
ICh0aGlzLl9raW5kKSB7Ci0gICAgICAgIGNhc2UgQXJnLkJpZ0ltbToKLSAgICAgICAgY2FzZSBB
cmcuQml0SW1tNjQ6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgZGVmYXVsdDoK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KLSAgICBnZXQgaXNB
ZGRyKCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBBcmcuQWRkcjsgfQotICAgIGdldCBpc1N0YWNr
KCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBBcmcuU3RhY2s7IH0KLSAgICBnZXQgaXNDYWxsQXJn
KCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBBcmcuQ2FsbEFyZzsgfQotICAgIGdldCBpc0luZGV4
KCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBBcmcuSW5kZXg7IH0KLSAgICBnZXQgaXNNZW1vcnko
KQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0aGlzLl9raW5kKSB7Ci0gICAgICAgIGNhc2UgQXJn
LkFkZHI6Ci0gICAgICAgIGNhc2UgQXJnLlN0YWNrOgotICAgICAgICBjYXNlIEFyZy5DYWxsQXJn
OgotICAgICAgICBjYXNlIEFyZy5JbmRleDoKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAg
fQotICAgIGdldCBpc1N0YWNrTWVtb3J5KCkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodGhpcy5f
a2luZCkgewotICAgICAgICBjYXNlIEFyZy5BZGRyOgotICAgICAgICAgICAgcmV0dXJuIHRoaXMu
X2Jhc2UgPT0gUmVnLmNhbGxGcmFtZVJlZ2lzdGVyCi0gICAgICAgICAgICAgICAgfHwgdGhpcy5f
YmFzZSA9PSBSZWcuc3RhY2tQb2ludGVyUmVnaXN0ZXI7Ci0gICAgICAgIGNhc2UgQXJnLlN0YWNr
OgotICAgICAgICBjYXNlIEFyZy5DYWxsQXJnOgotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAg
ICB9Ci0gICAgZ2V0IGlzUmVsQ29uZCgpIHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gQXJnLlJlbENv
bmQ7IH0KLSAgICBnZXQgaXNSZXNDb25kKCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBBcmcuUmVz
Q29uZDsgfQotICAgIGdldCBpc0RvdWJsZUNvbmQoKSB7IHJldHVybiB0aGlzLl9raW5kID09IEFy
Zy5Eb3VibGVDb25kOyB9Ci0gICAgZ2V0IGlzQ29uZGl0aW9uKCkKLSAgICB7Ci0gICAgICAgIHN3
aXRjaCAodGhpcy5fa2luZCkgewotICAgICAgICBjYXNlIEFyZy5SZWxDb25kOgotICAgICAgICBj
YXNlIEFyZy5SZXNDb25kOgotICAgICAgICBjYXNlIEFyZy5Eb3VibGVDb25kOgotICAgICAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgZ2V0IGlzV2lkdGgoKSB7IHJldHVybiB0aGlzLl9r
aW5kID09IEFyZy5XaWR0aDsgfQotICAgIGdldCBpc1NwZWNpYWwoKSB7IHJldHVybiB0aGlzLl9r
aW5kID09IEFyZy5TcGVjaWFsOyB9Ci0gICAgZ2V0IGlzQWxpdmUoKSB7IHJldHVybiB0aGlzLmlz
VG1wIHx8IHRoaXMuaXNTdGFjazsgfQotICAgIAotICAgIGdldCB0bXAoKQotICAgIHsKLSAgICAg
ICAgaWYgKHRoaXMuX2tpbmQgIT0gQXJnLlRtcCkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJv
cigiQ2FsbGVkIC50bXAgZm9yIG5vbi10bXAiKTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3RtcDsK
LSAgICB9Ci0gICAgCi0gICAgZ2V0IHZhbHVlKCkKLSAgICB7Ci0gICAgICAgIGlmICghdGhpcy5p
c1NvbWVJbW0pCi0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbGxlZCAudmFsdWUgZm9y
IG5vbi1pbW0iKTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlOwotICAgIH0KLSAgICAKLSAg
ICBnZXQgbG93VmFsdWUoKQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLmlzU29tZUJpZ0ltbSkK
LSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2FsbGVkIC5sb3dWYWx1ZSBmb3Igbm9uLWJp
Zy1pbW0iKTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2xvd1ZhbHVlOwotICAgIH0KLSAgICAKLSAg
ICBnZXQgaGlnaFZhbHVlKCkKLSAgICB7Ci0gICAgICAgIGlmICghdGhpcy5pc1NvbWVCaWdJbW0p
Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbGxlZCAuaGlnaFZhbHVlIGZvciBub24t
YmlnLWltbSIpOwotICAgICAgICByZXR1cm4gdGhpcy5faGlnaFZhbHVlOwotICAgIH0KLSAgICAK
LSAgICBnZXQgYmFzZSgpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAg
ICAgICAgY2FzZSBBcmcuQWRkcjoKLSAgICAgICAgY2FzZSBBcmcuSW5kZXg6Ci0gICAgICAgICAg
ICByZXR1cm4gdGhpcy5fYmFzZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93
IG5ldyBFcnJvcigiQ2FsbGVkIC5iYXNlIGZvciBub24tYWRkcmVzcyIpOwotICAgICAgICB9Ci0g
ICAgfQotICAgIAotICAgIGdldCBoYXNPZmZzZXQoKSB7IHJldHVybiB0aGlzLmlzTWVtb3J5OyB9
Ci0gICAgCi0gICAgZ2V0IG9mZnNldCgpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHRoaXMuX2tp
bmQpIHsKLSAgICAgICAgY2FzZSBBcmcuQWRkcjoKLSAgICAgICAgY2FzZSBBcmcuSW5kZXg6Ci0g
ICAgICAgIGNhc2UgQXJnLlN0YWNrOgotICAgICAgICBjYXNlIEFyZy5DYWxsQXJnOgotICAgICAg
ICAgICAgcmV0dXJuIHRoaXMuX29mZnNldDsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAg
IHRocm93IG5ldyBFcnJvcigiQ2FsbGVkIC5vZmZzZXQgZm9yIG5vbi1hZGRyZXNzIik7Ci0gICAg
ICAgIH0KLSAgICB9Ci0gICAgCi0gICAgZ2V0IHN0YWNrU2xvdCgpCi0gICAgewotICAgICAgICBp
ZiAodGhpcy5fa2luZCAhPSBBcmcuU3RhY2spCi0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkNhbGxlZCAuc3RhY2tTbG90IGZvciBub24tYWRkcmVzcyIpOwotICAgICAgICByZXR1cm4gdGhp
cy5fc2xvdDsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGluZGV4KCkKLSAgICB7Ci0gICAgICAgIGlm
ICh0aGlzLl9raW5kICE9IEFyZy5JbmRleCkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigi
Q2FsbGVkIC5pbmRleCBmb3Igbm9uLUluZGV4Iik7Ci0gICAgICAgIHJldHVybiB0aGlzLl9pbmRl
eDsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IHNjYWxlKCkKLSAgICB7Ci0gICAgICAgIGlmICh0aGlz
Ll9raW5kICE9IEFyZy5JbmRleCkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2FsbGVk
IC5zY2FsZSBmb3Igbm9uLUluZGV4Iik7Ci0gICAgICAgIHJldHVybiB0aGlzLl9zY2FsZTsKLSAg
ICB9Ci0gICAgCi0gICAgZ2V0IGxvZ1NjYWxlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBBcmcu
bG9nU2NhbGUodGhpcy5zY2FsZSk7Ci0gICAgfQotICAgIAotICAgIGdldCB3aWR0aCgpCi0gICAg
ewotICAgICAgICBpZiAodGhpcy5fa2luZCAhPSBBcmcuV2lkdGgpCi0gICAgICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoIkNhbGxlZCAud2lkdGggZm9yIG5vbi1XaWR0aCIpOwotICAgICAgICByZXR1
cm4gdGhpcy5fd2lkdGg7Ci0gICAgfQotICAgIAotICAgIGdldCBpc0dQVG1wKCkgeyByZXR1cm4g
dGhpcy5pc1RtcCAmJiB0aGlzLnRtcC5pc0dQOyB9Ci0gICAgZ2V0IGlzRlBUbXAoKSB7IHJldHVy
biB0aGlzLmlzVG1wICYmIHRoaXMudG1wLmlzRlA7IH0KLSAgICAKLSAgICBnZXQgaXNHUCgpCi0g
ICAgewotICAgICAgICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAgICAgICAgY2FzZSBBcmcuSW1t
OgotICAgICAgICBjYXNlIEFyZy5CaWdJbW06Ci0gICAgICAgIGNhc2UgQXJnLkJpdEltbToKLSAg
ICAgICAgY2FzZSBBcmcuQml0SW1tNjQ6Ci0gICAgICAgIGNhc2UgQXJnLkFkZHI6Ci0gICAgICAg
IGNhc2UgQXJnLkluZGV4OgotICAgICAgICBjYXNlIEFyZy5TdGFjazoKLSAgICAgICAgY2FzZSBB
cmcuQ2FsbEFyZzoKLSAgICAgICAgY2FzZSBBcmcuUmVsQ29uZDoKLSAgICAgICAgY2FzZSBBcmcu
UmVzQ29uZDoKLSAgICAgICAgY2FzZSBBcmcuRG91YmxlQ29uZDoKLSAgICAgICAgY2FzZSBBcmcu
V2lkdGg6Ci0gICAgICAgIGNhc2UgQXJnLlNwZWNpYWw6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgY2FzZSBBcmcuVG1wOgotICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNHUFRt
cDsKLSAgICAgICAgY2FzZSBBcmcuSW52YWxpZDoKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGtpbmQi
KTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBnZXQgaXNGUCgpCi0gICAgewotICAgICAg
ICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAgICAgICAgY2FzZSBBcmcuSW1tOgotICAgICAgICBj
YXNlIEFyZy5CaXRJbW06Ci0gICAgICAgIGNhc2UgQXJnLkJpdEltbTY0OgotICAgICAgICBjYXNl
IEFyZy5SZWxDb25kOgotICAgICAgICBjYXNlIEFyZy5SZXNDb25kOgotICAgICAgICBjYXNlIEFy
Zy5Eb3VibGVDb25kOgotICAgICAgICBjYXNlIEFyZy5XaWR0aDoKLSAgICAgICAgY2FzZSBBcmcu
U3BlY2lhbDoKLSAgICAgICAgY2FzZSBBcmcuSW52YWxpZDoKLSAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAgICAgY2FzZSBBcmcuQWRkcjoKLSAgICAgICAgY2FzZSBBcmcuSW5kZXg6Ci0g
ICAgICAgIGNhc2UgQXJnLlN0YWNrOgotICAgICAgICBjYXNlIEFyZy5DYWxsQXJnOgotICAgICAg
ICBjYXNlIEFyZy5CaWdJbW06Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2Fz
ZSBBcmcuVG1wOgotICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNGUFRtcDsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGtpbmQiKTsKLSAgICAgICAg
fQotICAgIH0KLSAgICAKLSAgICBnZXQgaGFzVHlwZSgpCi0gICAgewotICAgICAgICBzd2l0Y2gg
KHRoaXMuX2tpbmQpIHsKLSAgICAgICAgY2FzZSBBcmcuSW1tOgotICAgICAgICBjYXNlIEFyZy5C
aXRJbW06Ci0gICAgICAgIGNhc2UgQXJnLkJpdEltbTY0OgotICAgICAgICBjYXNlIEFyZy5UbXA6
Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBnZXQgdHlwZSgpCi0g
ICAgewotICAgICAgICByZXR1cm4gdGhpcy5pc0dQID8gR1AgOiBGUDsKLSAgICB9Ci0gICAgCi0g
ICAgaXNUeXBlKHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICAgICAg
Y2FzZSBBcmcuR1A6Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy5pc0dQOwotICAgICAgICBjYXNl
IEFyZy5GUDoKLSAgICAgICAgICAgIHJldHVybiB0aGlzLmlzRlA7Ci0gICAgICAgIGRlZmF1bHQ6
Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCB0eXBlIik7Ci0gICAgICAgIH0KLSAg
ICB9Ci0gICAgCi0gICAgaXNDb21wYXRpYmxlVHlwZShvdGhlcikKLSAgICB7Ci0gICAgICAgIGlm
ICh0aGlzLmhhc1R5cGUpCi0gICAgICAgICAgICByZXR1cm4gb3RoZXIuaXNUeXBlKHRoaXMudHlw
ZSk7Ci0gICAgICAgIGlmIChvdGhlci5oYXNUeXBlKQotICAgICAgICAgICAgcmV0dXJuIHRoaXMu
aXNUeXBlKG90aGVyLnR5cGUpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgCi0g
ICAgZ2V0IGlzR1BSKCkgeyByZXR1cm4gdGhpcy5pc1RtcCAmJiB0aGlzLnRtcC5pc0dQUjsgfQot
ICAgIGdldCBncHIoKSB7IHJldHVybiB0aGlzLnRtcC5ncHI7IH0KLSAgICBnZXQgaXNGUFIoKSB7
IHJldHVybiB0aGlzLmlzVG1wICYmIHRoaXMudG1wLmlzRlBSOyB9Ci0gICAgZ2V0IGZwcigpIHsg
cmV0dXJuIHRoaXMudG1wLmZwcjsgfQotICAgIGdldCBpc1JlZygpIHsgcmV0dXJuIHRoaXMuaXNU
bXAgJiYgdGhpcy50bXAuaXNSZWc7IH0KLSAgICBnZXQgcmVnKCkgeyByZXR1cm4gdGhpcy50bXAu
cmVnOyB9Ci0gICAgCi0gICAgc3RhdGljIGlzVmFsaWRJbW1Gb3JtKHZhbHVlKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIGlzUmVwcmVzZW50YWJsZUFzSW50MzIodmFsdWUpOwotICAgIH0KLSAgICBz
dGF0aWMgaXNWYWxpZEJpdEltbUZvcm0odmFsdWUpCi0gICAgewotICAgICAgICByZXR1cm4gaXNS
ZXByZXNlbnRhYmxlQXNJbnQzMih2YWx1ZSk7Ci0gICAgfQotICAgIHN0YXRpYyBpc1ZhbGlkQml0
SW1tNjRGb3JtKHZhbHVlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGlzUmVwcmVzZW50YWJsZUFz
SW50MzIodmFsdWUpOwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgaXNWYWxpZEFkZHJGb3JtKG9m
ZnNldCwgd2lkdGgpCi0gICAgewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgCi0g
ICAgc3RhdGljIGlzVmFsaWRJbmRleEZvcm0oc2NhbGUsIG9mZnNldCwgd2lkdGgpCi0gICAgewot
ICAgICAgICBpZiAoIWlzVmFsaWRTY2FsZShzY2FsZSwgd2lkdGgpKQotICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgCi0gICAgaXNWYWxp
ZEZvcm0od2lkdGgpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAgICAg
ICAgY2FzZSBBcmcuSW52YWxpZDoKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
Y2FzZSBBcmcuVG1wOgotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGNhc2UgQXJn
LkltbToKLSAgICAgICAgICAgIHJldHVybiBBcmcuaXNWYWxpZEltbUZvcm0odGhpcy52YWx1ZSk7
Ci0gICAgICAgIGNhc2UgQXJnLkJpZ0ltbToKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICBjYXNlIEFyZy5CaXRJbW06Ci0gICAgICAgICAgICByZXR1cm4gQXJnLmlzVmFsaWRCaXRJ
bW1Gb3JtKHRoaXMudmFsdWUpOwotICAgICAgICBjYXNlIEFyZy5CaXRJbW02NDoKLSAgICAgICAg
ICAgIHJldHVybiBBcmcuaXNWYWxpZEJpdEltbTY0Rm9ybSh0aGlzLnZhbHVlKTsKLSAgICAgICAg
Y2FzZSBBcmcuQWRkcjoKLSAgICAgICAgY2FzZSBBcmcuU3RhY2s6Ci0gICAgICAgIGNhc2UgQXJn
LkNhbGxBcmc6Ci0gICAgICAgICAgICByZXR1cm4gQXJnLmlzVmFsaWRBZGRyRm9ybSh0aGlzLm9m
ZnNldCwgd2lkdGgpOwotICAgICAgICBjYXNlIEFyZy5JbmRleDoKLSAgICAgICAgICAgIHJldHVy
biBBcmcuaXNWYWxpZEluZGV4Rm9ybSh0aGlzLnNjYWxlLCB0aGlzLm9mZnNldCwgd2lkdGgpOwot
ICAgICAgICBjYXNlIEFyZy5SZWxDb25kOgotICAgICAgICBjYXNlIEFyZy5SZXNDb25kOgotICAg
ICAgICBjYXNlIEFyZy5Eb3VibGVDb25kOgotICAgICAgICBjYXNlIEFyZy5XaWR0aDoKLSAgICAg
ICAgY2FzZSBBcmcuU3BlY2lhbDoKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBk
ZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQga2luZCIpOwotICAgICAg
ICB9Ci0gICAgfQotICAgIAotICAgIGZvckVhY2hUbXBGYXN0KGZ1bmMpCi0gICAgewotICAgICAg
ICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAgICAgICAgY2FzZSBBcmcuVG1wOiB7Ci0gICAgICAg
ICAgICBsZXQgcmVwbGFjZW1lbnQ7Ci0gICAgICAgICAgICBpZiAocmVwbGFjZW1lbnQgPSBmdW5j
KHRoaXMuX3RtcCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIEFyZy5jcmVhdGVUbXAocmVwbGFj
ZW1lbnQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBBcmcu
QWRkcjogewotICAgICAgICAgICAgbGV0IHJlcGxhY2VtZW50OwotICAgICAgICAgICAgaWYgKHJl
cGxhY2VtZW50ID0gZnVuYyh0aGlzLl9iYXNlKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gQXJn
LmNyZWF0ZUFkZHIocmVwbGFjZW1lbnQsIHRoaXMuX29mZnNldCk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICBjYXNlIEFyZy5JbmRleDogewotICAgICAgICAgICAgbGV0
IGJhc2VSZXBsYWNlbWVudCA9IGZ1bmModGhpcy5fYmFzZSk7Ci0gICAgICAgICAgICBsZXQgaW5k
ZXhSZXBsYWNlbWVudCA9IGZ1bmModGhpcy5faW5kZXgpOwotICAgICAgICAgICAgaWYgKGJhc2VS
ZXBsYWNlbWVudCB8fCBpbmRleFJlcGxhY2VtZW50KSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IEFyZy5jcmVhdGVJbmRleCgKLSAgICAgICAgICAgICAgICAgICAgYmFzZVJlcGxhY2VtZW50ID8g
YmFzZVJlcGxhY2VtZW50IDogdGhpcy5fYmFzZSwKLSAgICAgICAgICAgICAgICAgICAgaW5kZXhS
ZXBsYWNlbWVudCA/IGluZGV4UmVwbGFjZW1lbnQgOiB0aGlzLl9pbmRleCwKLSAgICAgICAgICAg
ICAgICAgICAgdGhpcy5fc2NhbGUsIHRoaXMuX29mZnNldCk7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgdXNlc1RtcChleHBlY3RlZFRtcCkK
LSAgICB7Ci0gICAgICAgIGxldCB1c2VzVG1wID0gZmFsc2U7Ci0gICAgICAgIGZvckVhY2hUbXBG
YXN0KHRtcCA9PiB7Ci0gICAgICAgICAgICB1c2VzVG1wIHw9IHRtcCA9PSBleHBlY3RlZFRtcDsK
LSAgICAgICAgfSk7Ci0gICAgICAgIHJldHVybiB1c2VzVG1wOwotICAgIH0KLSAgICAKLSAgICBm
b3JFYWNoVG1wKHJvbGUsIHR5cGUsIHdpZHRoLCBmdW5jKQotICAgIHsKLSAgICAgICAgc3dpdGNo
ICh0aGlzLl9raW5kKSB7Ci0gICAgICAgIGNhc2UgQXJnLlRtcDogewotICAgICAgICAgICAgbGV0
IHJlcGxhY2VtZW50OwotICAgICAgICAgICAgaWYgKHJlcGxhY2VtZW50ID0gZnVuYyh0aGlzLl90
bXAsIHJvbGUsIHR5cGUsIHdpZHRoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gQXJnLmNyZWF0
ZVRtcChyZXBsYWNlbWVudCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAg
ICBjYXNlIEFyZy5BZGRyOiB7Ci0gICAgICAgICAgICBsZXQgcmVwbGFjZW1lbnQ7Ci0gICAgICAg
ICAgICBpZiAocmVwbGFjZW1lbnQgPSBmdW5jKHRoaXMuX2Jhc2UsIEFyZy5Vc2UsIEdQLCByb2xl
ID09IEFyZy5Vc2VBZGRyID8gd2lkdGggOiBQdHIpKQotICAgICAgICAgICAgICAgIHJldHVybiBB
cmcuY3JlYXRlQWRkcihyZXBsYWNlbWVudCwgdGhpcy5fb2Zmc2V0KTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgQXJnLkluZGV4OiB7Ci0gICAgICAgICAgICBs
ZXQgYmFzZVJlcGxhY2VtZW50ID0gZnVuYyh0aGlzLl9iYXNlLCBBcmcuVXNlLCBHUCwgcm9sZSA9
PSBBcmcuVXNlQWRkciA/IHdpZHRoIDogUHRyKTsKLSAgICAgICAgICAgIGxldCBpbmRleFJlcGxh
Y2VtZW50ID0gZnVuYyh0aGlzLl9pbmRleCwgQXJnLlVzZSwgR1AsIHJvbGUgPT0gQXJnLlVzZUFk
ZHIgPyB3aWR0aCA6IFB0cik7Ci0gICAgICAgICAgICBpZiAoYmFzZVJlcGxhY2VtZW50IHx8IGlu
ZGV4UmVwbGFjZW1lbnQpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gQXJnLmNyZWF0ZUluZGV4
KAotICAgICAgICAgICAgICAgICAgICBiYXNlUmVwbGFjZW1lbnQgPyBiYXNlUmVwbGFjZW1lbnQg
OiB0aGlzLl9iYXNlLAotICAgICAgICAgICAgICAgICAgICBpbmRleFJlcGxhY2VtZW50ID8gaW5k
ZXhSZXBsYWNlbWVudCA6IHRoaXMuX2luZGV4LAotICAgICAgICAgICAgICAgICAgICB0aGlzLl9z
Y2FsZSwgdGhpcy5fb2Zmc2V0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICB9Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
fQotICAgIH0KLSAgICAKLSAgICBpcyh0aGluZykgeyByZXR1cm4gISF0aGluZy5leHRyYWN0KHRo
aXMpOyB9Ci0gICAgYXModGhpbmcpIHsgcmV0dXJuIHRoaW5nLmV4dHJhY3QodGhpcyk7IH0KLSAg
ICAKLSAgICAvLyBUaGlzIGxldHMgeW91IHNheSB0aGluZ3MgbGlrZToKLSAgICAvLyBhcmcuZm9y
RWFjaChUbXAgfCBSZWcgfCBBcmcgfCBTdGFja1Nsb3QsIC4uLikKLSAgICAvLwotICAgIC8vIEl0
J3MgdXNlZCBmb3IgYWJzdHJhY3QgbGl2ZW5lc3MgYW5hbHlzaXMuCi0gICAgZm9yRWFjaEZhc3Qo
dGhpbmcsIGZ1bmMpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpbmcuZm9yRWFjaEZhc3QodGhp
cywgZnVuYyk7Ci0gICAgfQotICAgIGZvckVhY2godGhpbmcsIHJvbGUsIHR5cGUsIHdpZHRoLCBm
dW5jKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaW5nLmZvckVhY2godGhpcywgcm9sZSwgdHlw
ZSwgd2lkdGgsIGZ1bmMpOwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgZXh0cmFjdChhcmcpIHsg
cmV0dXJuIGFyZzsgfQotICAgIHN0YXRpYyBmb3JFYWNoRmFzdChhcmcsIGZ1bmMpIHsgcmV0dXJu
IGZ1bmMoYXJnKTsgfQotICAgIHN0YXRpYyBmb3JFYWNoKGFyZywgcm9sZSwgdHlwZSwgd2lkdGgs
IGZ1bmMpIHsgcmV0dXJuIGZ1bmMoYXJnLCByb2xlLCB0eXBlLCB3aWR0aCk7IH0KLQotICAgIGdl
dCBjb25kaXRpb24oKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0aGlzLl9raW5kKSB7Ci0gICAg
ICAgIGNhc2UgQXJnLlJlbENvbmQ6Ci0gICAgICAgIGNhc2UgQXJnLlJlc0NvbmQ6Ci0gICAgICAg
IGNhc2UgQXJnLkRvdWJsZUNvbmQ6Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy5fY29uZGl0aW9u
OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYWxsZWQg
LmNvbmRpdGlvbiBmb3Igbm9uLWNvbmRpdGlvbiIpOwotICAgICAgICB9Ci0gICAgfQotICAgIAot
ICAgIGdldCBpc0ludmVydGlibGUoKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0aGlzLl9raW5k
KSB7Ci0gICAgICAgIGNhc2UgQXJnLlJlbENvbmQ6Ci0gICAgICAgIGNhc2UgQXJnLkRvdWJsZUNv
bGQ6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBBcmcuUmVzQ29uZDoK
LSAgICAgICAgICAgIHN3aXRjaCAodGhpcy5fY29uZGl0aW9uKSB7Ci0gICAgICAgICAgICBjYXNl
IFplcm86Ci0gICAgICAgICAgICBjYXNlIE5vblplcm86Ci0gICAgICAgICAgICBjYXNlIFNpZ25l
ZDoKLSAgICAgICAgICAgIGNhc2UgUG9zaXRpdmVPclplcm86Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBzdGF0aWMga2luZENvZGUoa2lu
ZCkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAoa2luZCkgewotICAgICAgICBjYXNlIEFyZy5JbnZh
bGlkOgotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIGNhc2UgQXJnLlRtcDoKLSAgICAg
ICAgICAgIHJldHVybiAxOwotICAgICAgICBjYXNlIEFyZy5JbW06Ci0gICAgICAgICAgICByZXR1
cm4gMjsKLSAgICAgICAgY2FzZSBBcmcuQmlnSW1tOgotICAgICAgICAgICAgcmV0dXJuIDM7Ci0g
ICAgICAgIGNhc2UgQXJnLkJpdEltbToKLSAgICAgICAgICAgIHJldHVybiA0OwotICAgICAgICBj
YXNlIEFyZy5CaXRJbW02NDoKLSAgICAgICAgICAgIHJldHVybiA1OwotICAgICAgICBjYXNlIEFy
Zy5BZGRyOgotICAgICAgICAgICAgcmV0dXJuIDY7Ci0gICAgICAgIGNhc2UgQXJnLlN0YWNrOgot
ICAgICAgICAgICAgcmV0dXJuIDc7Ci0gICAgICAgIGNhc2UgQXJnLkNhbGxBcmc6Ci0gICAgICAg
ICAgICByZXR1cm4gODsKLSAgICAgICAgY2FzZSBBcmcuSW5kZXg6Ci0gICAgICAgICAgICByZXR1
cm4gOTsKLSAgICAgICAgY2FzZSBBcmcuUmVsQ29uZDoKLSAgICAgICAgICAgIHJldHVybiAxMDsK
LSAgICAgICAgY2FzZSBBcmcuUmVzQ29uZDoKLSAgICAgICAgICAgIHJldHVybiAxMTsKLSAgICAg
ICAgY2FzZSBBcmcuRG91YmxlQ29uZDoKLSAgICAgICAgICAgIHJldHVybiAxMjsKLSAgICAgICAg
Y2FzZSBBcmcuU3BlY2lhbDoKLSAgICAgICAgICAgIHJldHVybiAxMzsKLSAgICAgICAgY2FzZSBB
cmcuV2lkdGhBcmc6Ci0gICAgICAgICAgICByZXR1cm4gMTQ7Ci0gICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBraW5kIik7Ci0gICAgICAgIH0KLSAgICB9
Ci0gICAgCi0gICAgaGFzaCgpCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gQXJnLmtpbmRD
b2RlKHRoaXMuX2tpbmQpOwotICAgICAgICAKLSAgICAgICAgc3dpdGNoICh0aGlzLl9raW5kKSB7
Ci0gICAgICAgIGNhc2UgQXJnLkludmFsaWQ6Ci0gICAgICAgIGNhc2UgQXJnLlNwZWNpYWw6Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBBcmcuVG1wOgotICAgICAgICAgICAgcmVz
dWx0ICs9IHRoaXMuX3RtcC5oYXNoKCk7Ci0gICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIEFyZy5JbW06Ci0gICAgICAgIGNhc2UgQXJnLkJp
dEltbToKLSAgICAgICAgICAgIHJlc3VsdCArPSB0aGlzLl92YWx1ZTsKLSAgICAgICAgICAgIHJl
c3VsdCB8PSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQXJnLkJpZ0ltbToK
LSAgICAgICAgY2FzZSBBcmcuQml0SW1tNjQ6Ci0gICAgICAgICAgICByZXN1bHQgKz0gdGhpcy5f
bG93VmFsdWU7Ci0gICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAgICAgICAgICAgIHJlc3VsdCAr
PSB0aGlzLl9oaWdoVmFsdWU7Ci0gICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIEFyZy5DYWxsQXJnOgotICAgICAgICAgICAgcmVzdWx0ICs9
IHRoaXMuX29mZnNldDsKLSAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGNhc2UgQXJnLlJlbENvbmQ6Ci0gICAgICAgICAgICByZXN1bHQgKz0gcmVs
Q29uZENvZGUodGhpcy5fY29uZGl0aW9uKTsKLSAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQXJnLlJlc0NvbmQ6Ci0gICAgICAgICAgICBy
ZXN1bHQgKz0gcmVzQ29uZENvZGUodGhpcy5fY29uZGl0aW9uKTsKLSAgICAgICAgICAgIHJlc3Vs
dCB8PSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQXJnLkRvdWJsZUNvbmQ6
Ci0gICAgICAgICAgICByZXN1bHQgKz0gZG91YmxlQ29uZENvZGUodGhpcy5fY29uZGl0aW9uKTsK
LSAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
c2UgQXJnLldpZHRoQXJnOgotICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuX3dpZHRoOwotICAg
ICAgICAgICAgcmVzdWx0IHw9IDA7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBB
cmcuQWRkcjoKLSAgICAgICAgICAgIHJlc3VsdCArPSB0aGlzLl9vZmZzZXQ7Ci0gICAgICAgICAg
ICByZXN1bHQgfD0gMDsKLSAgICAgICAgICAgIHJlc3VsdCArPSB0aGlzLl9iYXNlLmhhc2goKTsK
LSAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
c2UgQXJnLkluZGV4OgotICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuX29mZnNldDsKLSAgICAg
ICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuX3NjYWxlOwot
ICAgICAgICAgICAgcmVzdWx0IHw9IDA7Ci0gICAgICAgICAgICByZXN1bHQgKz0gdGhpcy5fYmFz
ZS5oYXNoKCk7Ci0gICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAgICAgICAgICAgIHJlc3VsdCAr
PSB0aGlzLl9pbmRleC5oYXNoKCk7Ci0gICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBjYXNlIEFyZy5TdGFjazoKLSAgICAgICAgICAgIHJlc3VsdCAr
PSB0aGlzLl9vZmZzZXQ7Ci0gICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAgICAgICAgICAgIHJl
c3VsdCArPSB0aGlzLnN0YWNrU2xvdC5pbmRleDsKLSAgICAgICAgICAgIHJlc3VsdCB8PSAwOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIHJldHVybiBy
ZXN1bHQgPj4+IDA7Ci0gICAgfQotICAgIAotICAgIHRvU3RyaW5nKCkKLSAgICB7Ci0gICAgICAg
IHN3aXRjaCAodGhpcy5fa2luZCkgewotICAgICAgICBjYXNlIEFyZy5JbnZhbGlkOgotICAgICAg
ICAgICAgcmV0dXJuICI8aW52YWxpZD4iOwotICAgICAgICBjYXNlIEFyZy5UbXA6Ci0gICAgICAg
ICAgICByZXR1cm4gdGhpcy5fdG1wLnRvU3RyaW5nKCk7Ci0gICAgICAgIGNhc2UgQXJnLkltbToK
LSAgICAgICAgICAgIHJldHVybiAiJCIgKyB0aGlzLl92YWx1ZTsKLSAgICAgICAgY2FzZSBBcmcu
QmlnSW1tOgotICAgICAgICBjYXNlIEFyZy5CaXRJbW02NDoKLSAgICAgICAgICAgIHJldHVybiAi
JDB4IiArIHRoaXMuX2hpZ2hWYWx1ZS50b1N0cmluZygxNikgKyAiOiIgKyB0aGlzLl9sb3dWYWx1
ZS50b1N0cmluZygxNik7Ci0gICAgICAgIGNhc2UgQXJnLkFkZHI6Ci0gICAgICAgICAgICByZXR1
cm4gIiIgKyAodGhpcy5fb2Zmc2V0ID8gdGhpcy5fb2Zmc2V0IDogIiIpICsgIigiICsgdGhpcy5f
YmFzZSArICIpIjsKLSAgICAgICAgY2FzZSBBcmcuSW5kZXg6Ci0gICAgICAgICAgICByZXR1cm4g
IiIgKyAodGhpcy5fb2Zmc2V0ID8gdGhpcy5fb2Zmc2V0IDogIiIpICsgIigiICsgdGhpcy5fYmFz
ZSArCi0gICAgICAgICAgICAgICAgIiwiICsgdGhpcy5faW5kZXggKyAodGhpcy5fc2NhbGUgPT0g
MSA/ICIiIDogIiwiICsgdGhpcy5fc2NhbGUpICsgIikiOwotICAgICAgICBjYXNlIEFyZy5TdGFj
azoKLSAgICAgICAgICAgIHJldHVybiAiIiArICh0aGlzLl9vZmZzZXQgPyB0aGlzLl9vZmZzZXQg
OiAiIikgKyAiKCIgKyB0aGlzLl9zbG90ICsgIikiOwotICAgICAgICBjYXNlIEFyZy5DYWxsQXJn
OgotICAgICAgICAgICAgcmV0dXJuICIiICsgKHRoaXMuX29mZnNldCA/IHRoaXMuX29mZnNldCA6
ICIiKSArICIoY2FsbEFyZykiOwotICAgICAgICBjYXNlIEFyZy5SZWxDb25kOgotICAgICAgICBj
YXNlIEFyZy5SZXNDb25kOgotICAgICAgICBjYXNlIEFyZy5Eb3VibGVDb25kOgotICAgICAgICAg
ICAgcmV0dXJuIHN5bWJvbE5hbWUodGhpcy5fY29uZGl0aW9uKTsKLSAgICAgICAgY2FzZSBBcmcu
U3BlY2lhbDoKLSAgICAgICAgICAgIHJldHVybiAic3BlY2lhbCI7Ci0gICAgICAgIGNhc2UgQXJn
LldpZHRoOgotICAgICAgICAgICAgcmV0dXJuICIiICsgdGhpcy5fdmFsdWU7Ci0gICAgICAgIGRl
ZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBraW5kIik7Ci0gICAgICAg
IH0KLSAgICB9Ci19Ci0KLS8vIEFyZyBraW5kcwotQXJnLkludmFsaWQgPSBTeW1ib2woIkludmFs
aWQiKTsKLUFyZy5UbXAgPSBTeW1ib2woIlRtcCIpOwotQXJnLkltbSA9IFN5bWJvbCgiSW1tIik7
Ci1BcmcuQmlnSW1tID0gU3ltYm9sKCJCaWdJbW0iKTsKLUFyZy5CaXRJbW0gPSBTeW1ib2woIkJp
dEltbSIpOwotQXJnLkJpdEltbTY0ID0gU3ltYm9sKCJCaXRJbW02NCIpOwotQXJnLkFkZHIgPSBT
eW1ib2woIkFkZHIiKTsKLUFyZy5TdGFjayA9IFN5bWJvbCgiU3RhY2siKTsKLUFyZy5DYWxsQXJn
ID0gU3ltYm9sKCJDYWxsQXJnIik7Ci1BcmcuSW5kZXggPSBTeW1ib2woIkluZGV4Iik7Ci1Bcmcu
UmVsQ29uZCA9IFN5bWJvbCgiUmVsQ29uZCIpOwotQXJnLlJlc0NvbmQgPSBTeW1ib2woIlJlc0Nv
bmQiKTsKLUFyZy5Eb3VibGVDb25kID0gU3ltYm9sKCJEb3VibGVDb25kIik7Ci1BcmcuU3BlY2lh
bCA9IFN5bWJvbCgiU3BlY2lhbCIpOwotQXJnLldpZHRoID0gU3ltYm9sKCJXaWR0aCIpOwotCi0v
LyBBcmcgcm9sZXMKLUFyZy5Vc2UgPSBTeW1ib2woIlVzZSIpOwotQXJnLkNvbGRVc2UgPSBTeW1i
b2woIkNvbGRVc2UiKTsKLUFyZy5MYXRlVXNlID0gU3ltYm9sKCJMYXRlVXNlIik7Ci1BcmcuTGF0
ZUNvbGRVc2UgPSBTeW1ib2woIkxhdGVDb2xkVXNlIik7Ci1BcmcuRGVmID0gU3ltYm9sKCJEZWYi
KTsKLUFyZy5aRGVmID0gU3ltYm9sKCJaRGVmIik7Ci1BcmcuVXNlRGVmID0gU3ltYm9sKCJVc2VE
ZWYiKTsKLUFyZy5Vc2VaRGVmID0gU3ltYm9sKCJVc2VaRGVmIik7Ci1BcmcuRWFybHlEZWYgPSBT
eW1ib2woIkVhcmx5RGVmIik7Ci1BcmcuU2NyYXRjaCA9IFN5bWJvbCgiU2NyYXRjaCIpOwotQXJn
LlVzZUFkZHIgPSBTeW1ib2woIlVzZUFkZHIiKTsKLQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9F
UzZTYW1wbGVCZW5jaC9BaXIvYmFzaWNfYmxvY2suanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFu
Y2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvYmFzaWNfYmxvY2suanMJKHJldmlzaW9uIDIxMTY4
OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2Jhc2ljX2Jsb2NrLmpz
CShub25leGlzdGVudCkKQEAgLTEsMTM1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgQmFzaWNCbG9jayB7
Ci0gICAgY29uc3RydWN0b3IoaW5kZXgsIGZyZXF1ZW5jeSkKLSAgICB7Ci0gICAgICAgIHRoaXMu
X2luZGV4ID0gaW5kZXg7Ci0gICAgICAgIHRoaXMuX2ZyZXF1ZW5jeSA9IGZyZXF1ZW5jeTsKLSAg
ICAgICAgdGhpcy5faW5zdHMgPSBbXTsKLSAgICAgICAgdGhpcy5fc3VjY2Vzc29ycyA9IFtdOwot
ICAgICAgICB0aGlzLl9wcmVkZWNlc3NvcnMgPSBbXTsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGlu
ZGV4KCkgeyByZXR1cm4gdGhpcy5faW5kZXg7IH0KLSAgICBnZXQgc2l6ZSgpIHsgcmV0dXJuIHRo
aXMuX2luc3RzLmxlbmd0aDsgfQotICAgIAotICAgIFtTeW1ib2wuaXRlcmF0b3JdKCkKLSAgICB7
Ci0gICAgICAgIHJldHVybiB0aGlzLl9pbnN0c1tTeW1ib2wuaXRlcmF0b3JdKCk7Ci0gICAgfQot
ICAgIAotICAgIGF0KGluZGV4KQotICAgIHsKLSAgICAgICAgaWYgKGluZGV4ID49IHRoaXMuX2lu
c3RzLmxlbmd0aCkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiT3V0IG9mIGJvdW5kcyBh
Y2Nlc3MiKTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RzW2luZGV4XTsKLSAgICB9Ci0gICAg
Ci0gICAgZ2V0KGluZGV4KQotICAgIHsKLSAgICAgICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+
PSB0aGlzLl9pbnN0cy5sZW5ndGgpCi0gICAgICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgICAg
cmV0dXJuIHRoaXMuX2luc3RzW2luZGV4XTsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGxhc3QoKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RzW3RoaXMuX2luc3RzLmxlbmd0aCAtIDFd
OwotICAgIH0KLSAgICAKLSAgICBnZXQgaW5zdHMoKSB7IHJldHVybiB0aGlzLl9pbnN0czsgfQot
ICAgIAotICAgIGFwcGVuZChpbnN0KSB7IHRoaXMuX2luc3RzLnB1c2goaW5zdCk7IH0KLSAgICAK
LSAgICBnZXQgbnVtU3VjY2Vzc29ycygpIHsgcmV0dXJuIHRoaXMuX3N1Y2Nlc3NvcnMubGVuZ3Ro
OyB9Ci0gICAgc3VjY2Vzc29yKGluZGV4KSB7IHJldHVybiB0aGlzLl9zdWNjZXNzb3JzW2luZGV4
XTsgfQotICAgIGdldCBzdWNjZXNzb3JzKCkgeyByZXR1cm4gdGhpcy5fc3VjY2Vzc29yczsgfQot
ICAgIAotICAgIHN1Y2Nlc3NvckJsb2NrKGluZGV4KSB7IHJldHVybiB0aGlzLl9zdWNjZXNzb3Jz
W2luZGV4XS5ibG9jazsgfQotICAgIGdldCBzdWNjZXNzb3JCbG9ja3MoKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIG5ldyBQcm94eSh0aGlzLl9zdWNjZXNzb3JzLCB7Ci0gICAgICAgICAgICBnZXQo
dGFyZ2V0LCBwcm9wZXJ0eSkgewotICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcGVydHkg
PT0gInN0cmluZyIKLSAgICAgICAgICAgICAgICAgICAgJiYgKHByb3BlcnR5IHwgMCkgPT0gcHJv
cGVydHkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXRbcHJvcGVydHldLmJsb2Nr
OwotICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXRbcHJvcGVydHldOwotICAgICAgICAgICAg
fSwKLSAgICAgICAgICAgIAotICAgICAgICAgICAgc2V0KHRhcmdldCwgcHJvcGVydHksIHZhbHVl
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9wZXJ0eSA9PSAic3RyaW5nIgotICAg
ICAgICAgICAgICAgICAgICAmJiAocHJvcGVydHkgfCAwKSA9PSBwcm9wZXJ0eSkgewotICAgICAg
ICAgICAgICAgICAgICB2YXIgb2xkVmFsdWUgPSB0YXJnZXRbcHJvcGVydHldOwotICAgICAgICAg
ICAgICAgICAgICB0YXJnZXRbcHJvcGVydHldID0gbmV3IEZyZXF1ZW50ZWRCbG9jaygKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHZhbHVlLCBvbGRWYWx1ZSA/IG9sZFZhbHVlLmZyZXF1ZW5jeSA6
IE5vcm1hbCk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgdGFyZ2V0W3Byb3BlcnR5XSA9IHZh
bHVlOwotICAgICAgICAgICAgfQotICAgICAgICB9KTsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IG51
bVByZWRlY2Vzc29ycygpIHsgcmV0dXJuIHRoaXMuX3ByZWRlY2Vzc29ycy5sZW5ndGg7IH0KLSAg
ICBwcmVkZWNlc3NvcihpbmRleCkgeyByZXR1cm4gdGhpcy5fcHJlZGVjZXNzb3JzW2luZGV4XTsg
fQotICAgIGdldCBwcmVkZWNlc3NvcnMoKSB7IHJldHVybiB0aGlzLl9wcmVkZWNlc3NvcnM7IH0K
LSAgICAKLSAgICBnZXQgZnJlcXVlbmN5KCkgeyByZXR1cm4gdGhpcy5fZnJlcXVlbmN5OyB9Ci0K
LSAgICB0b1N0cmluZygpCi0gICAgewotICAgICAgICByZXR1cm4gIiMiICsgdGhpcy5faW5kZXg7
Ci0gICAgfQotICAgIAotICAgIGdldCBoZWFkZXJTdHJpbmcoKQotICAgIHsKLSAgICAgICAgbGV0
IHJlc3VsdCA9ICIiOwotICAgICAgICByZXN1bHQgKz0gYEJCJHt0aGlzfTogOyBmcmVxdWVuY3kg
PSAke3RoaXMuX2ZyZXF1ZW5jeX1cbmA7Ci0gICAgICAgIGlmICh0aGlzLl9wcmVkZWNlc3NvcnMu
bGVuZ3RoKQotICAgICAgICAgICAgcmVzdWx0ICs9ICIgIFByZWRlY2Vzc29yczogIiArIHRoaXMu
X3ByZWRlY2Vzc29ycy5qb2luKCIsICIpICsgIlxuIjsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsK
LSAgICB9Ci0gICAgCi0gICAgZ2V0IGZvb3RlclN0cmluZygpCi0gICAgewotICAgICAgICBsZXQg
cmVzdWx0ID0gIiI7Ci0gICAgICAgIGlmICh0aGlzLl9zdWNjZXNzb3JzLmxlbmd0aCkKLSAgICAg
ICAgICAgIHJlc3VsdCArPSAiICBTdWNjZXNzb3JzOiAiICsgdGhpcy5fc3VjY2Vzc29ycy5qb2lu
KCIsICIpICsgIlxuIjsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0gICAgCi0gICAg
dG9TdHJpbmdEZWVwKCkKLSAgICB7Ci0gICAgICAgIGxldCByZXN1bHQgPSAiIjsKLSAgICAgICAg
cmVzdWx0ICs9IHRoaXMuaGVhZGVyU3RyaW5nOwotICAgICAgICBmb3IgKGxldCBpbnN0IG9mIHRo
aXMpCi0gICAgICAgICAgICByZXN1bHQgKz0gYCAgICAke2luc3R9XG5gOwotICAgICAgICByZXN1
bHQgKz0gdGhpcy5mb290ZXJTdHJpbmc7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQot
fQotCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9iZW5jaG1hcmsu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvYmVu
Y2htYXJrLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBs
ZUJlbmNoL0Fpci9iZW5jaG1hcmsuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSw4NSArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7
Ci0KLWNsYXNzIEFpckJlbmNobWFyayB7Ci0gICAgY29uc3RydWN0b3IodmVyYm9zZSA9IDApCi0g
ICAgewotICAgICAgICB0aGlzLl92ZXJib3NlID0gdmVyYm9zZTsKLSAgICAgICAgCi0gICAgICAg
IHRoaXMuX3BheWxvYWRzID0gWwotICAgICAgICAgICAge2dlbmVyYXRlOiBjcmVhdGVQYXlsb2Fk
R2JlbXVFeGVjdXRlSXRlcmF0aW9uLCBlYXJseUhhc2g6IDYzMjY1MzE0NCwgbGF0ZUhhc2g6IDM3
MjcxNTUxOH0sCi0gICAgICAgICAgICB7Z2VuZXJhdGU6IGNyZWF0ZVBheWxvYWRJbWFnaW5nR2F1
c3NpYW5CbHVyR2F1c3NpYW5CbHVyLCBlYXJseUhhc2g6IDM2Nzc4MTk1ODEsIGxhdGVIYXNoOiAx
MjUyMTE2MzA0fSwKLSAgICAgICAgICAgIHtnZW5lcmF0ZTogY3JlYXRlUGF5bG9hZFR5cGVzY3Jp
cHRTY2FuSWRlbnRpZmllciwgZWFybHlIYXNoOiAxOTE0ODUyNjAxLCBsYXRlSGFzaDogODM3MzM5
NTUxfSwKLSAgICAgICAgICAgIHtnZW5lcmF0ZTogY3JlYXRlUGF5bG9hZEFpckpTQUNMajhDLCBl
YXJseUhhc2g6IDEzNzM1OTk5NDAsIGxhdGVIYXNoOiAzOTgxMjgzNjAwfQotICAgICAgICBdOwot
ICAgIH0KLSAgICAKLSAgICBydW5JdGVyYXRpb24oKQotICAgIHsKLSAgICAgICAgZm9yIChsZXQg
cGF5bG9hZCBvZiB0aGlzLl9wYXlsb2FkcykgewotICAgICAgICAgICAgLy8gU2FkbHkgYWJvdXQg
MTclIG9mIG91ciB0aW1lIGlzIGluIGdlbmVyYXRlLiBJIGRvbid0IHRoaW5rIHRoYXQncyByZWFs
bHkgYXZvaWRhYmxlLAotICAgICAgICAgICAgLy8gYW5kIEkgZG9uJ3QgbWluZCB0ZXN0aW5nIFZN
cycgYWJpbGl0eSB0byBydW4gc3VjaCAiZGF0YSBkZWZpbml0aW9uIiBjb2RlIHF1aWNrbHkuIEkK
LSAgICAgICAgICAgIC8vIHdvdWxkIG5vdCBoYXZlIGV4cGVjdGVkIGl0IHRvIGJlIHNvIHNsb3cg
ZnJvbSBmaXJzdCBwcmluY2lwbGVzIQotICAgICAgICAgICAgbGV0IGNvZGUgPSBwYXlsb2FkLmdl
bmVyYXRlKCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmICh0aGlzLl92ZXJib3NlKSB7
Ci0gICAgICAgICAgICAgICAgcHJpbnQoIkJlZm9yZSBhbGxvY2F0ZVN0YWNrOiIpOwotICAgICAg
ICAgICAgICAgIHByaW50KGNvZGUpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAg
ICAgICAgICBsZXQgaGFzaCA9IGNvZGUuaGFzaCgpOwotICAgICAgICAgICAgaWYgKGhhc2ggIT0g
cGF5bG9hZC5lYXJseUhhc2gpCi0gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBXcm9u
ZyBlYXJseSBoYXNoIGZvciAke3BheWxvYWQuZ2VuZXJhdGUubmFtZX06ICR7aGFzaH1gKTsKLSAg
ICAgICAgICAgIAotICAgICAgICAgICAgYWxsb2NhdGVTdGFjayhjb2RlKTsKLSAgICAgICAgICAg
IAotICAgICAgICAgICAgaWYgKHRoaXMuX3ZlcmJvc2UpIHsKLSAgICAgICAgICAgICAgICBwcmlu
dCgiQWZ0ZXIgYWxsb2NhdGVTdGFjazoiKTsKLSAgICAgICAgICAgICAgICBwcmludChjb2RlKTsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaGFzaCA9IGNvZGUuaGFzaCgpOwotICAgICAg
ICAgICAgaWYgKGhhc2ggIT0gcGF5bG9hZC5sYXRlSGFzaCkKLSAgICAgICAgICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoYFdyb25nIGxhdGUgaGFzaCBmb3IgJHtwYXlsb2FkLmdlbmVyYXRlLm5hbWV9
OiAke2hhc2h9YCk7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHJ1bkJlbmNobWFy
aygpCi17Ci0gICAgY29uc3QgdmVyYm9zZSA9IDA7Ci0gICAgY29uc3QgbnVtSXRlcmF0aW9ucyA9
IDE1MDsKLSAgICAKLSAgICBsZXQgYmVmb3JlID0gY3VycmVudFRpbWUoKTsKLSAgICAKLSAgICBs
ZXQgYmVuY2htYXJrID0gbmV3IEFpckJlbmNobWFyayh2ZXJib3NlKTsKLSAgICAKLSAgICBmb3Ig
KGxldCBpdGVyYXRpb24gPSAwOyBpdGVyYXRpb24gPCBudW1JdGVyYXRpb25zOyArK2l0ZXJhdGlv
bikKLSAgICAgICAgYmVuY2htYXJrLnJ1bkl0ZXJhdGlvbigpOwotICAgIAotICAgIGxldCBhZnRl
ciA9IGN1cnJlbnRUaW1lKCk7Ci0gICAgcmV0dXJuIGFmdGVyIC0gYmVmb3JlOwotfQpJbmRleDog
UGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvY29kZS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9jb2RlLmpzCShyZXZpc2lvbiAy
MTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9jb2RlLmpzCShu
b25leGlzdGVudCkKQEAgLTEsMTIyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgQ29kZSB7Ci0gICAgY29u
c3RydWN0b3IoKQotICAgIHsKLSAgICAgICAgdGhpcy5fYmxvY2tzID0gW107Ci0gICAgICAgIHRo
aXMuX3N0YWNrU2xvdHMgPSBbXTsKLSAgICAgICAgdGhpcy5fZ3BUbXBzID0gW107Ci0gICAgICAg
IHRoaXMuX2ZwVG1wcyA9IFtdOwotICAgICAgICB0aGlzLl9jYWxsQXJnQXJlYVNpemUgPSAwOwot
ICAgICAgICB0aGlzLl9mcmFtZVNpemUgPSAwOwotICAgIH0KLSAgICAKLSAgICBhZGRCbG9jayhm
cmVxdWVuY3kgPSAxKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkZEluZGV4ZWQodGhpcy5fYmxv
Y2tzLCBCYXNpY0Jsb2NrLCBmcmVxdWVuY3kpOwotICAgIH0KLSAgICAKLSAgICBhZGRTdGFja1Ns
b3QoYnl0ZVNpemUsIGtpbmQpCi0gICAgewotICAgICAgICByZXR1cm4gYWRkSW5kZXhlZCh0aGlz
Ll9zdGFja1Nsb3RzLCBTdGFja1Nsb3QsIGJ5dGVTaXplLCBraW5kKTsKLSAgICB9Ci0gICAgCi0g
ICAgbmV3VG1wKHR5cGUpCi0gICAgewotICAgICAgICByZXR1cm4gYWRkSW5kZXhlZCh0aGlzW2Bf
JHtsb3dlclN5bWJvbE5hbWUodHlwZSl9VG1wc2BdLCBUbXAsIHR5cGUpOwotICAgIH0KLSAgICAK
LSAgICBnZXQgc2l6ZSgpIHsgcmV0dXJuIHRoaXMuX2Jsb2Nrcy5sZW5ndGg7IH0KLSAgICBhdChp
bmRleCkgeyByZXR1cm4gdGhpcy5fYmxvY2tzW2luZGV4XTsgfQotICAgIAotICAgIFtTeW1ib2wu
aXRlcmF0b3JdKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9ibG9ja3NbU3ltYm9sLml0
ZXJhdG9yXSgpOwotICAgIH0KLSAgICAKLSAgICBnZXQgYmxvY2tzKCkgeyByZXR1cm4gdGhpcy5f
YmxvY2tzOyB9Ci0gICAgZ2V0IHN0YWNrU2xvdHMoKSB7IHJldHVybiB0aGlzLl9zdGFja1Nsb3Rz
OyB9Ci0gICAgCi0gICAgdG1wcyh0eXBlKSB7IHJldHVybiB0aGlzW2BfJHtsb3dlclN5bWJvbE5h
bWUodHlwZSl9VG1wc2BdOyB9Ci0gICAgCi0gICAgZ2V0IGNhbGxBcmdBcmVhU2l6ZSgpIHsgcmV0
dXJuIHRoaXMuX2NhbGxBcmdBcmVhU2l6ZTsgfQotICAgIAotICAgIHJlcXVlc3RDYWxsQXJnQXJl
YVNpemUoc2l6ZSkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2NhbGxBcmdBcmVhU2l6ZSA9IE1hdGgu
bWF4KHRoaXMuX2NhbGxBcmdBcmVhU2l6ZSwgcm91bmRVcFRvTXVsdGlwbGVPZihzdGFja0FsaWdu
bWVudEJ5dGVzLCBzaXplKSk7Ci0gICAgfQotICAgIAotICAgIGdldCBmcmFtZVNpemUoKSB7IHJl
dHVybiB0aGlzLl9mcmFtZVNpemU7IH0KLSAgICAKLSAgICBzZXRGcmFtZVNpemUoZnJhbWVTaXpl
KSB7IHRoaXMuX2ZyYW1lU2l6ZSA9IGZyYW1lU2l6ZTsgfQotICAgIAotICAgIGhhc2goKQotICAg
IHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IDA7Ci0gICAgICAgIGZvciAobGV0IGJsb2NrIG9mIHRo
aXMpIHsKLSAgICAgICAgICAgIHJlc3VsdCAqPSAxMDAwMDAxOwotICAgICAgICAgICAgcmVzdWx0
IHw9IDA7Ci0gICAgICAgICAgICBmb3IgKGxldCBpbnN0IG9mIGJsb2NrKSB7Ci0gICAgICAgICAg
ICAgICAgcmVzdWx0ICo9IDk3OwotICAgICAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAg
ICAgICAgICAgIHJlc3VsdCArPSBpbnN0Lmhhc2goKTsKLSAgICAgICAgICAgICAgICByZXN1bHQg
fD0gMDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGZvciAobGV0IHN1Y2Nlc3NvciBvZiBi
bG9jay5zdWNjZXNzb3JCbG9ja3MpIHsKLSAgICAgICAgICAgICAgICByZXN1bHQgKj0gNzsKLSAg
ICAgICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAgICAgICAgICAgICAgICByZXN1bHQgKz0gc3Vj
Y2Vzc29yLmluZGV4OwotICAgICAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAg
fQotICAgICAgICB9Ci0gICAgICAgIGZvciAobGV0IHNsb3Qgb2YgdGhpcy5zdGFja1Nsb3RzKSB7
Ci0gICAgICAgICAgICByZXN1bHQgKj0gMTAxOwotICAgICAgICAgICAgcmVzdWx0IHw9IDA7Ci0g
ICAgICAgICAgICByZXN1bHQgKz0gc2xvdC5oYXNoKCk7Ci0gICAgICAgICAgICByZXN1bHQgfD0g
MDsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gcmVzdWx0ID4+PiAwOwotICAgIH0KLSAgICAK
LSAgICB0b1N0cmluZygpCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gIiI7Ci0gICAgICAg
IGZvciAobGV0IGJsb2NrIG9mIHRoaXMpIHsKLSAgICAgICAgICAgIHJlc3VsdCArPSBibG9jay50
b1N0cmluZ0RlZXAoKTsKLSAgICAgICAgfQotICAgICAgICBpZiAodGhpcy5zdGFja1Nsb3RzLmxl
bmd0aCkgewotICAgICAgICAgICAgcmVzdWx0ICs9ICJTdGFjayBzbG90czpcbiI7Ci0gICAgICAg
ICAgICBmb3IgKGxldCBzbG90IG9mIHRoaXMuc3RhY2tTbG90cykKLSAgICAgICAgICAgICAgICBy
ZXN1bHQgKz0gYCAgICAke3Nsb3R9XG5gOwotICAgICAgICB9Ci0gICAgICAgIGlmICh0aGlzLl9m
cmFtZVNpemUpCi0gICAgICAgICAgICByZXN1bHQgKz0gYEZyYW1lIHNpemU6ICR7dGhpcy5fZnJh
bWVTaXplfVxuYDsKLSAgICAgICAgaWYgKHRoaXMuX2NhbGxBcmdBcmVhU2l6ZSkKLSAgICAgICAg
ICAgIHJlc3VsdCArPSBgQ2FsbCBhcmcgYXJlYSBzaXplOiAke3RoaXMuX2NhbGxBcmdBcmVhU2l6
ZX1cbmA7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotfQpJbmRleDogUGVyZm9ybWFu
Y2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvY3VzdG9tLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZv
cm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2N1c3RvbS5qcwkocmV2aXNpb24gMjExNjg4
KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvY3VzdG9tLmpzCShub25l
eGlzdGVudCkKQEAgLTEsMTAzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY29uc3QgU2h1ZmZsZUN1c3RvbSA9IHsK
LSAgICBmb3JFYWNoQXJnKGluc3QsIGZ1bmMpCi0gICAgewotICAgICAgICB2YXIgbGltaXQgPSBN
YXRoLmZsb29yKGluc3QuYXJncy5sZW5ndGggLyAzKSAqIDM7Ci0gICAgICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgbGltaXQ7IGkgKz0gMykgewotICAgICAgICAgICAgbGV0IHNyYyA9IGluc3QuYXJn
c1tpICsgMF07Ci0gICAgICAgICAgICBsZXQgZHN0ID0gaW5zdC5hcmdzW2kgKyAxXTsKLSAgICAg
ICAgICAgIGxldCB3aWR0aEFyZyA9IGluc3QuYXJnc1tpICsgMl07Ci0gICAgICAgICAgICBsZXQg
d2lkdGggPSB3aWR0aEFyZy53aWR0aDsKLSAgICAgICAgICAgIGxldCB0eXBlID0gc3JjLmlzR1Ag
JiYgZHN0LmlzR1AgPyBHUCA6IEZQOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyhpICsgMCwg
ZnVuYywgQXJnLlVzZSwgdHlwZSwgd2lkdGgpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyhp
ICsgMSwgZnVuYywgQXJnLkRlZiwgdHlwZSwgd2lkdGgpOwotICAgICAgICAgICAgaW5zdC52aXNp
dEFyZyhpICsgMiwgZnVuYywgQXJnLlVzZSwgR1AsIDgpOwotICAgICAgICB9Ci0gICAgfSwKLSAg
ICAKLSAgICBoYXNOb25BcmdOb25Db250cm9sRWZmZWN0cyhpbnN0KQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIH0KLX07Ci0KLWNvbnN0IFBhdGNoQ3VzdG9tID0gewotICAgIGZv
ckVhY2hBcmcoaW5zdCwgZnVuYykKLSAgICB7Ci0gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
aW5zdC5hcmdzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBsZXQge3R5cGUsIHJvbGUsIHdp
ZHRofSA9IGluc3QucGF0Y2hBcmdEYXRhW2ldOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyhp
LCBmdW5jLCByb2xlLCB0eXBlLCB3aWR0aCk7Ci0gICAgICAgIH0KLSAgICB9LAotICAgIAotICAg
IGhhc05vbkFyZ05vbkNvbnRyb2xFZmZlY3RzKGluc3QpCi0gICAgewotICAgICAgICByZXR1cm4g
aW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHM7Ci0gICAgfQotfTsKLQotY29uc3QgQ0NhbGxDdXN0
b20gPSB7Ci0gICAgZm9yRWFjaEFyZyhpbnN0LCBmdW5jKQotICAgIHsKLSAgICAgICAgbGV0IGlu
ZGV4ID0gMDsKLSAgICAgICAgaW5zdC52aXNpdEFyZyhpbmRleCsrLCBmdW5jLCBBcmcuVXNlLCBH
UCwgUHRyKTsgLy8gY2FsbGVlCi0gICAgICAgIAotICAgICAgICBpZiAoaW5zdC5jQ2FsbFR5cGUg
IT0gVm9pZCkgewotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygKLSAgICAgICAgICAgICAgICBp
bmRleCsrLCBmdW5jLCBBcmcuRGVmLCBBcmcudHlwZUZvckIzVHlwZShpbnN0LmNDYWxsVHlwZSks
Ci0gICAgICAgICAgICAgICAgQXJnLndpZHRoRm9yQjNUeXBlKGluc3QuY0NhbGxUeXBlKSk7Ci0g
ICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZvciAobGV0IHR5cGUgb2YgaW5zdC5jQ2FsbEFy
Z1R5cGVzKSB7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKAotICAgICAgICAgICAgICAgIGlu
ZGV4KyssIGZ1bmMsIEFyZy5Vc2UsIEFyZy50eXBlRm9yQjNUeXBlKHR5cGUpLCBBcmcud2lkdGhG
b3JCM1R5cGUodHlwZSkpOwotICAgICAgICB9Ci0gICAgfSwKLSAgICAKLSAgICBoYXNOb25BcmdO
b25Db250cm9sRWZmZWN0cyhpbnN0KQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
fQotfTsKLQotY29uc3QgQ29sZENDYWxsQ3VzdG9tID0gewotICAgIGZvckVhY2hBcmcoaW5zdCwg
ZnVuYykKLSAgICB7Ci0gICAgICAgIENDYWxsQ3VzdG9tLmZvckVhY2hBcmcoCi0gICAgICAgICAg
ICBpbnN0LAotICAgICAgICAgICAgKGFyZywgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsKLSAgICAg
ICAgICAgICAgICByZXR1cm4gZnVuYyhhcmcsIEFyZy5jb29sZWQocm9sZSksIHR5cGUsIHdpZHRo
KTsKLSAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgCi0gICAgaGFzTm9uQXJnTm9uQ29udHJv
bEVmZmVjdHMoaW5zdCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLX07Ci0K
SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2ZyZXF1ZW50ZWRfYmxv
Y2suanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIv
ZnJlcXVlbnRlZF9ibG9jay5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0
cy9FUzZTYW1wbGVCZW5jaC9BaXIvZnJlcXVlbnRlZF9ibG9jay5qcwkobm9uZXhpc3RlbnQpCkBA
IC0xLDM4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0g
Ki8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgRnJlcXVlbnRlZEJsb2NrIHsKLSAgICBjb25zdHJ1
Y3RvcihibG9jaywgZnJlcXVlbmN5KQotICAgIHsKLSAgICAgICAgdGhpcy5ibG9jayA9IGJsb2Nr
OwotICAgICAgICB0aGlzLmZyZXF1ZW5jeSA9IGZyZXF1ZW5jeTsKLSAgICB9Ci0gICAgCi0gICAg
dG9TdHJpbmcoKQotICAgIHsKLSAgICAgICAgcmV0dXJuICh0aGlzLmZyZXF1ZW5jeSA9PSBOb3Jt
YWwgPyAiIiA6ICJSYXJlOiIpICsgdGhpcy5ibG9jazsKLSAgICB9Ci19CkluZGV4OiBQZXJmb3Jt
YW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9pbnNlcnRpb25fc2V0LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2luc2VydGlvbl9zZXQuanMJ
KHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWly
L2luc2VydGlvbl9zZXQuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSw4OSArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWNs
YXNzIEluc2VydGlvbiB7Ci0gICAgY29uc3RydWN0b3IoaW5kZXgsIGVsZW1lbnQpCi0gICAgewot
ICAgICAgICB0aGlzLl9pbmRleCA9IGluZGV4OwotICAgICAgICB0aGlzLl9lbGVtZW50ID0gZWxl
bWVudDsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGluZGV4KCkgeyByZXR1cm4gdGhpcy5faW5kZXg7
IH0KLSAgICBnZXQgZWxlbWVudCgpIHsgcmV0dXJuIHRoaXMuX2VsZW1lbnQ7IH0KLSAgICAKLSAg
ICBsZXNzVGhhbihvdGhlcikKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9pbmRleCA8IG90
aGVyLl9pbmRleDsKLSAgICB9Ci19Ci0KLWNsYXNzIEluc2VydGlvblNldCB7Ci0gICAgY29uc3Ry
dWN0b3IoKQotICAgIHsKLSAgICAgICAgdGhpcy5faW5zZXJ0aW9ucyA9IFtdCi0gICAgfQotICAg
IAotICAgIGFwcGVuZEluc2VydGlvbihpbnNlcnRpb24pCi0gICAgewotICAgICAgICB0aGlzLl9p
bnNlcnRpb25zLnB1c2goaW5zZXJ0aW9uKTsKLSAgICB9Ci0gICAgCi0gICAgYXBwZW5kKGluZGV4
LCBlbGVtZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5hcHBlbmRJbnNlcnRpb24obmV3IEluc2Vy
dGlvbihpbmRleCwgZWxlbWVudCkpOwotICAgIH0KLSAgICAKLSAgICBleGVjdXRlKHRhcmdldCkK
LSAgICB7Ci0gICAgICAgIC8vIFdlIGJ1YmJsZS1zb3J0IGJlY2F1c2UgdGhhdCdzIHdoYXQgdGhl
IEMrKyBjb2RlLCBhbmQgZm9yIHRoZSBzYW1lIHJlYXNvbiBhcyB3ZSBkbyBpdDoKLSAgICAgICAg
Ly8gdGhlIHN0ZGxpYiBkb2Vzbid0IGhhdmUgYSBzdGFibGUgc29ydCBhbmQgbWVyZ2Vzb3J0IGlz
IHNsb3dlciBpbiB0aGUgY29tbW9uIGNhc2Ugb2YgdGhlCi0gICAgICAgIC8vIGFycmF5IHVzdWFs
bHkgYmVpbmcgc29ydGVkLiBUaGlzIGFycmF5IGlzIHVzdWFsbHkgc29ydGVkLgotICAgICAgICBi
dWJibGVTb3J0KHRoaXMuX2luc2VydGlvbnMsIChhLCBiKSA9PiAoYS5sZXNzVGhhbihiKSkpOwot
ICAgICAgICAKLSAgICAgICAgbGV0IG51bUluc2VydGlvbnMgPSB0aGlzLl9pbnNlcnRpb25zLmxl
bmd0aDsKLSAgICAgICAgaWYgKCFudW1JbnNlcnRpb25zKQotICAgICAgICAgICAgcmV0dXJuIDA7
Ci0gICAgICAgIGxldCBvcmlnaW5hbFRhcmdldFNpemUgPSB0YXJnZXQubGVuZ3RoOwotICAgICAg
ICB0YXJnZXQubGVuZ3RoICs9IG51bUluc2VydGlvbnM7Ci0gICAgICAgIGxldCBsYXN0SW5kZXgg
PSB0YXJnZXQubGVuZ3RoOwotICAgICAgICBmb3IgKGxldCBpbmRleEluSW5zZXJ0aW9ucyA9IG51
bUluc2VydGlvbnM7IGluZGV4SW5JbnNlcnRpb25zLS07KSB7Ci0gICAgICAgICAgICBsZXQgaW5z
ZXJ0aW9uID0gdGhpcy5faW5zZXJ0aW9uc1tpbmRleEluSW5zZXJ0aW9uc107Ci0gICAgICAgICAg
ICBpZiAoaW5kZXhJbkluc2VydGlvbnMgJiYgaW5zZXJ0aW9uLmluZGV4IDwgdGhpcy5faW5zZXJ0
aW9uc1tpbmRleEluSW5zZXJ0aW9ucyAtIDFdLmluZGV4KQotICAgICAgICAgICAgICAgIHRocm93
IG5ldyBFcnJvcigiSW5zZXJ0aW9ucyBvdXQgb2Ygb3JkZXIiKTsKLSAgICAgICAgICAgIGlmIChp
bnNlcnRpb24uaW5kZXggPiBvcmlnaW5hbFRhcmdldFNpemUpCi0gICAgICAgICAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCJPdXQtb2YtYm91bmRzIGluc2VydGlvbiIpOwotICAgICAgICAgICAgbGV0
IGZpcnN0SW5kZXggPSBpbnNlcnRpb24uaW5kZXggKyBpbmRleEluSW5zZXJ0aW9uczsKLSAgICAg
ICAgICAgIGxldCBpbmRleE9mZnNldCA9IGluZGV4SW5JbnNlcnRpb25zICsgMTsKLSAgICAgICAg
ICAgIGZvciAobGV0IGkgPSBsYXN0SW5kZXg7IC0taSA+IGZpcnN0SW5kZXg7KQotICAgICAgICAg
ICAgICAgIHRhcmdldFtpXSA9IHRhcmdldFtpIC0gaW5kZXhPZmZzZXRdOwotICAgICAgICAgICAg
dGFyZ2V0W2ZpcnN0SW5kZXhdID0gaW5zZXJ0aW9uLmVsZW1lbnQ7Ci0gICAgICAgICAgICBsYXN0
SW5kZXggPSBmaXJzdEluZGV4OwotICAgICAgICB9Ci0gICAgICAgIHRoaXMuX2luc2VydGlvbnMg
PSBbXTsKLSAgICAgICAgcmV0dXJuIG51bUluc2VydGlvbnM7Ci0gICAgfQotfQotCkluZGV4OiBQ
ZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9pbnN0LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2luc3QuanMJKHJldmlzaW9uIDIx
MTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2luc3QuanMJKG5v
bmV4aXN0ZW50KQpAQCAtMSwxNDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1jbGFzcyBJbnN0IHsKLSAgICBjb25z
dHJ1Y3RvcihvcGNvZGUsIGFyZ3MgPSBbXSkKLSAgICB7Ci0gICAgICAgIHRoaXMuX29wY29kZSA9
IG9wY29kZTsKLSAgICAgICAgdGhpcy5fYXJncyA9IGFyZ3M7Ci0gICAgfQotICAgIAotICAgIGFw
cGVuZCguLi5hcmdzKQotICAgIHsKLSAgICAgICAgdGhpcy5fYXJncy5wdXNoKC4uLmFyZ3MpOwot
ICAgIH0KLSAgICAKLSAgICBjbGVhcigpCi0gICAgewotICAgICAgICB0aGlzLl9vcGNvZGUgPSBO
b3A7Ci0gICAgICAgIHRoaXMuX2FyZ3MgPSBbXTsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IG9wY29k
ZSgpIHsgcmV0dXJuIHRoaXMuX29wY29kZTsgfQotICAgIGdldCBhcmdzKCkgeyByZXR1cm4gdGhp
cy5fYXJnczsgfQotICAgIAotICAgIHZpc2l0QXJnKGluZGV4LCBmdW5jLCAuLi5hcmdzKQotICAg
IHsKLSAgICAgICAgbGV0IHJlcGxhY2VtZW50ID0gZnVuYyh0aGlzLl9hcmdzW2luZGV4XSwgLi4u
YXJncyk7Ci0gICAgICAgIGlmIChyZXBsYWNlbWVudCkKLSAgICAgICAgICAgIHRoaXMuX2FyZ3Nb
aW5kZXhdID0gcmVwbGFjZW1lbnQ7Ci0gICAgfQotICAgIAotICAgIGZvckVhY2hUbXBGYXN0KGZ1
bmMpCi0gICAgewotICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX2FyZ3MubGVuZ3Ro
OyArK2kpIHsKLSAgICAgICAgICAgIGxldCByZXBsYWNlbWVudDsKLSAgICAgICAgICAgIGlmIChy
ZXBsYWNlbWVudCA9IHRoaXMuX2FyZ3NbaV0uZm9yRWFjaFRtcEZhc3QoZnVuYykpCi0gICAgICAg
ICAgICAgICAgdGhpcy5fYXJnc1tpXSA9IHJlcGxhY2VtZW50OwotICAgICAgICB9Ci0gICAgfQot
ICAgIAotICAgIGZvckVhY2hBcmcoZnVuYykKLSAgICB7Ci0gICAgICAgIEluc3RfZm9yRWFjaEFy
Zyh0aGlzLCBmdW5jKTsKLSAgICB9Ci0gICAgCi0gICAgZm9yRWFjaFRtcChmdW5jKQotICAgIHsK
LSAgICAgICAgdGhpcy5mb3JFYWNoQXJnKChhcmcsIHJvbGUsIHR5cGUsIHdpZHRoKSA9PiB7Ci0g
ICAgICAgICAgICByZXR1cm4gYXJnLmZvckVhY2hUbXAocm9sZSwgdHlwZSwgd2lkdGgsIGZ1bmMp
OwotICAgICAgICB9KTsKLSAgICB9Ci0gICAgCi0gICAgZm9yRWFjaCh0aGluZywgZnVuYykKLSAg
ICB7Ci0gICAgICAgIHRoaXMuZm9yRWFjaEFyZygoYXJnLCByb2xlLCB0eXBlLCB3aWR0aCkgPT4g
ewotICAgICAgICAgICAgcmV0dXJuIGFyZy5mb3JFYWNoKHRoaW5nLCByb2xlLCB0eXBlLCB3aWR0
aCwgZnVuYyk7Ci0gICAgICAgIH0pOwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgZm9yRWFjaERl
Zih0aGluZywgcHJldkluc3QsIG5leHRJbnN0LCBmdW5jKQotICAgIHsKLSAgICAgICAgaWYgKHBy
ZXZJbnN0KSB7Ci0gICAgICAgICAgICBwcmV2SW5zdC5mb3JFYWNoKAotICAgICAgICAgICAgICAg
IHRoaW5nLAotICAgICAgICAgICAgICAgICh2YWx1ZSwgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKEFyZy5pc0xhdGVEZWYocm9sZSkpCi0gICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gZnVuYyh2YWx1ZSwgcm9sZSwgdHlwZSwgd2lkdGgpOwotICAg
ICAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBpZiAobmV4dElu
c3QpIHsKLSAgICAgICAgICAgIG5leHRJbnN0LmZvckVhY2goCi0gICAgICAgICAgICAgICAgdGhp
bmcsCi0gICAgICAgICAgICAgICAgKHZhbHVlLCByb2xlLCB0eXBlLCB3aWR0aCkgPT4gewotICAg
ICAgICAgICAgICAgICAgICBpZiAoQXJnLmlzRWFybHlEZWYocm9sZSkpCi0gICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gZnVuYyh2YWx1ZSwgcm9sZSwgdHlwZSwgd2lkdGgpOwotICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBmb3JFYWNo
RGVmV2l0aEV4dHJhQ2xvYmJlcmVkUmVncyh0aGluZywgcHJldkluc3QsIG5leHRJbnN0LCBmdW5j
KQotICAgIHsKLSAgICAgICAgZm9yRWFjaERlZih0aGluZywgcHJldkluc3QsIG5leHRJbnN0LCBm
dW5jKTsKLSAgICAgICAgCi0gICAgICAgIGxldCByZWdEZWZSb2xlOwotICAgICAgICAKLSAgICAg
ICAgbGV0IHJlcG9ydFJlZyA9IHJlZyA9PiB7Ci0gICAgICAgICAgICBsZXQgdHlwZSA9IHJlZy5p
c0dQUiA/IEdQIDogRlA7Ci0gICAgICAgICAgICBmdW5jKHRoaW5nLmZyb21SZWcocmVnKSwgcmVn
RGVmUm9sZSwgdHlwZSwgQXJnLmNvbnNlcnZhdGl2ZVdpZHRoKHR5cGUpKTsKLSAgICAgICAgfTsK
LSAgICAgICAgCi0gICAgICAgIGlmIChwcmV2SW5zdCAmJiBwcmV2SW5zdC5vcGNvZGUgPT0gUGF0
Y2gpIHsKLSAgICAgICAgICAgIHJlZ0RlZlJvbGUgPSBBcmcuRGVmOwotICAgICAgICAgICAgcHJl
dkluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmZvckVhY2gocmVwb3J0UmVnKTsKLSAgICAgICAgfQot
ICAgICAgICAKLSAgICAgICAgaWYgKG5leHRJbnN0ICYmIG5leHRJbnN0Lm9wY29kZSA9PSBQYXRj
aCkgewotICAgICAgICAgICAgcmVnRGVmUm9sZSA9IEFyZy5FYXJseURlZjsKLSAgICAgICAgICAg
IG5leHRJbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzLmZvckVhY2gocmVwb3J0UmVnKTsKLSAg
ICAgICAgfQotICAgIH0KLSAgICAKLSAgICBnZXQgaGFzTm9uQXJnRWZmZWN0cygpIHsgcmV0dXJu
IEluc3RfaGFzTm9uQXJnRWZmZWN0cyh0aGlzKTsgfQotICAgIAotICAgIGhhc2goKQotICAgIHsK
LSAgICAgICAgbGV0IHJlc3VsdCA9IG9wY29kZUNvZGUodGhpcy5vcGNvZGUpOwotICAgICAgICBm
b3IgKGxldCBhcmcgb2YgdGhpcy5hcmdzKSB7Ci0gICAgICAgICAgICByZXN1bHQgKz0gYXJnLmhh
c2goKTsKLSAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICB9Ci0gICAgICAgIHJldHVy
biByZXN1bHQgPj4+IDA7Ci0gICAgfQotICAgIAotICAgIHRvU3RyaW5nKCkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiAiIiArIHN5bWJvbE5hbWUodGhpcy5fb3Bjb2RlKSArICIgIiArIHRoaXMuX2Fy
Z3Muam9pbigiLCAiKTsKLSAgICB9Ci19Ci0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2Ft
cGxlQmVuY2gvQWlyL2xpdmVuZXNzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMv
RVM2U2FtcGxlQmVuY2gvQWlyL2xpdmVuZXNzLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJm
b3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9saXZlbmVzcy5qcwkobm9uZXhpc3RlbnQp
CkBAIC0xLDE1MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAotICovCi0idXNlIHN0cmljdCI7Ci0KLWNsYXNzIExpdmVuZXNzIHsKLSAgICBjb25zdHJ1Y3Rv
cih0aGluZywgY29kZSkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3RoaW5nID0gdGhpbmc7Ci0gICAg
ICAgIHRoaXMuX2NvZGUgPSBjb2RlOwotICAgICAgICAKLSAgICAgICAgdGhpcy5fbGl2ZUF0SGVh
ZCA9IG5ldyBNYXAoKTsKLSAgICAgICAgdGhpcy5fbGl2ZUF0VGFpbCA9IG5ldyBNYXAoKTsKLSAg
ICAgICAgCi0gICAgICAgIGZvciAobGV0IGJsb2NrIG9mIGNvZGUpIHsKLSAgICAgICAgICAgIHRo
aXMuX2xpdmVBdEhlYWQuc2V0KGJsb2NrLCBuZXcgU2V0KCkpOwotICAgICAgICAgICAgCi0gICAg
ICAgICAgICBsZXQgbGl2ZUF0VGFpbCA9IG5ldyBTZXQoKTsKLSAgICAgICAgICAgIHRoaXMuX2xp
dmVBdFRhaWwuc2V0KGJsb2NrLCBsaXZlQXRUYWlsKTsKLSAgICAgICAgICAgIAotICAgICAgICAg
ICAgYmxvY2subGFzdC5mb3JFYWNoKAotICAgICAgICAgICAgICAgIHRoaW5nLAotICAgICAgICAg
ICAgICAgICh2YWx1ZSwgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKEFyZy5pc0xhdGVVc2Uocm9sZSkpCi0gICAgICAgICAgICAgICAgICAgICAgICBsaXZl
QXRUYWlsLmFkZCh2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICAg
ICAgCi0gICAgICAgIGxldCBkaXJ0eUJsb2NrcyA9IG5ldyBTZXQoY29kZSk7Ci0gICAgICAgIAot
ICAgICAgICBsZXQgY2hhbmdlZDsKLSAgICAgICAgZG8gewotICAgICAgICAgICAgY2hhbmdlZCA9
IGZhbHNlOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBmb3IgKGxldCBibG9ja0luZGV4ID0g
Y29kZS5zaXplOyBibG9ja0luZGV4LS07KSB7Ci0gICAgICAgICAgICAgICAgbGV0IGJsb2NrID0g
Y29kZS5hdChibG9ja0luZGV4KTsKLSAgICAgICAgICAgICAgICBpZiAoIWJsb2NrKQotICAgICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAg
ICBpZiAoIWRpcnR5QmxvY2tzLmRlbGV0ZShibG9jaykpCi0gICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGxldCBsb2NhbENhbGMg
PSB0aGlzLmxvY2FsQ2FsYyhibG9jayk7Ci0gICAgICAgICAgICAgICAgZm9yIChsZXQgaW5zdElu
ZGV4ID0gYmxvY2suc2l6ZTsgaW5zdEluZGV4LS07KQotICAgICAgICAgICAgICAgICAgICBsb2Nh
bENhbGMuZXhlY3V0ZShpbnN0SW5kZXgpOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAg
ICAgIC8vIEhhbmRsZSB0aGUgZWFybHkgZGVmJ3Mgb2YgdGhlIGZpcnN0IGluc3RydWN0aW9uLgot
ICAgICAgICAgICAgICAgIGJsb2NrLmF0KDApLmZvckVhY2goCi0gICAgICAgICAgICAgICAgICAg
IHRoaW5nLAotICAgICAgICAgICAgICAgICAgICAodmFsdWUsIHJvbGUsIHR5cGUsIHdpZHRoKSA9
PiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJnLmlzRWFybHlEZWYocm9sZSkpCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxDYWxjLmxpdmVTZXQucmVtb3ZlKHZhbHVl
KTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAg
ICAgICAgbGV0IGxpdmVBdEhlYWQgPSB0aGlzLl9saXZlQXRIZWFkLmdldChibG9jayk7Ci0gICAg
ICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgaWYgKCFtZXJnZUludG9TZXQobGl2ZUF0SGVh
ZCwgbG9jYWxDYWxjLmxpdmVTZXQpKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBmb3IgKGxldCBwcmVkZWNlc3NvciBvZiBi
bG9jay5wcmVkZWNlc3NvcnMpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG1lcmdlSW50b1Nl
dCh0aGlzLl9saXZlQXRUYWlsLmdldChwcmVkZWNlc3NvciksIGxpdmVBdEhlYWQpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBkaXJ0eUJsb2Nrcy5hZGQocHJlZGVjZXNzb3IpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gd2hpbGUgKGNoYW5n
ZWQpOwotICAgIH0KLSAgICAKLSAgICBnZXQgdGhpbmcoKSB7IHJldHVybiB0aGlzLl90aGluZzsg
fQotICAgIGdldCBjb2RlKCkgeyByZXR1cm4gdGhpcy5fY29kZTsgfQotICAgIGdldCBsaXZlQXRI
ZWFkKCkgeyByZXR1cm4gdGhpcy5fbGl2ZUF0SGVhZDsgfQotICAgIGdldCBsaXZlQXRUYWlsKCkg
eyByZXR1cm4gdGhpcy5fbGl2ZUF0VGFpbDsgfQotICAgIAotICAgIGxvY2FsQ2FsYyhibG9jaykK
LSAgICB7Ci0gICAgICAgIGxldCBsaXZlbmVzcyA9IHRoaXM7Ci0gICAgICAgIGNsYXNzIExvY2Fs
Q2FsYyB7Ci0gICAgICAgICAgICBjb25zdHJ1Y3RvcigpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgdGhpcy5fbGl2ZVNldCA9IG5ldyBTZXQobGl2ZW5lc3MubGl2ZUF0VGFpbC5nZXQo
YmxvY2spKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgZ2V0IGxp
dmVTZXQoKSB7IHJldHVybiB0aGlzLl9saXZlU2V0OyB9Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIGV4ZWN1dGUoaW5zdEluZGV4KQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGxl
dCBpbnN0ID0gYmxvY2suYXQoaW5zdEluZGV4KTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAg
ICAgICAgICAvLyBGaXJzdCBoYW5kbGUgdGhlIGVhcmx5IGRlZnMgb2YgdGhlIG5leHQgaW5zdHJ1
Y3Rpb24uCi0gICAgICAgICAgICAgICAgaWYgKGluc3RJbmRleCArIDEgPCBibG9jay5zaXplKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGJsb2NrLmF0KGluc3RJbmRleCArIDEpLmZvckVhY2goCi0g
ICAgICAgICAgICAgICAgICAgICAgICBsaXZlbmVzcy50aGluZywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICh2YWx1ZSwgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoQXJnLmlzRWFybHlEZWYocm9sZSkpCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMuX2xpdmVTZXQuZGVsZXRlKHZhbHVlKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAKLSAgICAg
ICAgICAgICAgICAvLyBUaGVuIGhhbmRsZSBkZWZzLgotICAgICAgICAgICAgICAgIGluc3QuZm9y
RWFjaCgKLSAgICAgICAgICAgICAgICAgICAgbGl2ZW5lc3MudGhpbmcsCi0gICAgICAgICAgICAg
ICAgICAgICh2YWx1ZSwgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGlmIChBcmcuaXNMYXRlRGVmKHJvbGUpKQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRoaXMuX2xpdmVTZXQuZGVsZXRlKHZhbHVlKTsKLSAgICAgICAgICAgICAgICAgICAgfSk7
Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgLy8gVGhlbiBoYW5kbGUgdXNlcy4K
LSAgICAgICAgICAgICAgICBpbnN0LmZvckVhY2goCi0gICAgICAgICAgICAgICAgICAgIGxpdmVu
ZXNzLnRoaW5nLAotICAgICAgICAgICAgICAgICAgICAodmFsdWUsIHJvbGUsIHR5cGUsIHdpZHRo
KSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJnLmlzRWFybHlVc2Uocm9sZSkp
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGl2ZVNldC5hZGQodmFsdWUpOwot
ICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAg
ICAvLyBGaW5hbGx5IGhhbmRsZSB0aGUgbGF0ZSB1c2VzIG9mIHRoZSBwcmV2aW91cyBpbnN0cnVj
dGlvbi4KLSAgICAgICAgICAgICAgICBpZiAoaW5zdEluZGV4IC0gMSA+PSAwKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGJsb2NrLmF0KGluc3RJbmRleCAtIDEpLmZvckVhY2goCi0gICAgICAgICAg
ICAgICAgICAgICAgICBsaXZlbmVzcy50aGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICh2
YWx1ZSwgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoQXJnLmlzTGF0ZVVzZShyb2xlKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGhpcy5fbGl2ZVNldC5hZGQodmFsdWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7
Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIAot
ICAgICAgICByZXR1cm4gbmV3IExvY2FsQ2FsYygpOwotICAgIH0KLX0KLQpJbmRleDogUGVyZm9y
bWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvbWFrZV9kaXN0LnNoCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL21ha2VfZGlzdC5zaAkocmV2aXNp
b24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvbWFrZV9k
aXN0LnNoCShub25leGlzdGVudCkKQEAgLTEsMzkgKzAsMCBAQAotIyEvYmluL3NoCi0KLXNldCAt
ZQotc2V0IC14Ci0KLU1BUktET1dOPSJwZXJsICRIT01FL0RvY3VtZW50cy9NYXJrZG93bi5wbCIK
LQotcm0gLXJmIEFpci5qcwotbWtkaXIgQWlyLmpzCi0ke01BUktET1dOfSA8IFJFQURNRS5tZCA+
IEFpci5qcy9pbmRleC5odG1sCi1jcCBcCi0gICAgYWxsLmpzIFwKLSAgICBhbGxvY2F0ZV9zdGFj
ay5qcyBcCi0gICAgYXJnLmpzIFwKLSAgICBiYXNpY19ibG9jay5qcyBcCi0gICAgYmVuY2htYXJr
LmpzIFwKLSAgICBjb2RlLmpzIFwKLSAgICBjdXN0b20uanMgXAotICAgIGZyZXF1ZW50ZWRfYmxv
Y2suanMgXAotICAgIGluc2VydGlvbl9zZXQuanMgXAotICAgIGluc3QuanMgXAotICAgIGxpdmVu
ZXNzLmpzIFwKLSAgICBvcGNvZGUuanMgXAotICAgIHBheWxvYWQtYWlyanMtQUNMajhDLmpzIFwK
LSAgICBwYXlsb2FkLWdiZW11LWV4ZWN1dGVJdGVyYXRpb24uanMgXAotICAgIHBheWxvYWQtaW1h
Z2luZy1nYXVzc2lhbi1ibHVyLWdhdXNzaWFuQmx1ci5qcyBcCi0gICAgcGF5bG9hZC10eXBlc2Ny
aXB0LXNjYW5JZGVudGlmaWVyLmpzIFwKLSAgICByZWcuanMgXAotICAgIHN0YWNrX3Nsb3QuanMg
XAotICAgIHN5bWJvbHMuanMgXAotICAgIHRlc3QuaHRtbCBcCi0gICAgdGVzdC5qcyBcCi0gICAg
dG1wLmpzIFwKLSAgICB0bXBfYmFzZS5qcyBcCi0gICAgdXRpbC5qcyBcCi0gICAgQWlyLmpzLwot
Ci10YXIgLWN6dmYgQWlyLmpzLnRhci5neiBBaXIuanMKLQoKUHJvcGVydHkgY2hhbmdlcyBvbjog
UGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvbWFrZV9kaXN0LnNoCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KRGVsZXRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTEgKzAsMCAjIwotKgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNo
L0Fpci9vcGNvZGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVC
ZW5jaC9BaXIvb3Bjb2RlLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3Rz
L0VTNlNhbXBsZUJlbmNoL0Fpci9vcGNvZGUuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNjU1ICsw
LDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLS8vIEdlbmVyYXRlZCBieSBvcGNvZGVfZ2VuZXJhdG9yLnJi
IGZyb20gSmF2YVNjcmlwdENvcmUvYjMvYWlyL0Fpck9wY29kZS5vcGNvZGVzIC0tIGRvIG5vdCBl
ZGl0IQotY29uc3QgTm9wID0gU3ltYm9sKCJOb3AiKTsKLWNvbnN0IEFkZDMyID0gU3ltYm9sKCJB
ZGQzMiIpOwotY29uc3QgQWRkOCA9IFN5bWJvbCgiQWRkOCIpOwotY29uc3QgQWRkMTYgPSBTeW1i
b2woIkFkZDE2Iik7Ci1jb25zdCBBZGQ2NCA9IFN5bWJvbCgiQWRkNjQiKTsKLWNvbnN0IEFkZERv
dWJsZSA9IFN5bWJvbCgiQWRkRG91YmxlIik7Ci1jb25zdCBBZGRGbG9hdCA9IFN5bWJvbCgiQWRk
RmxvYXQiKTsKLWNvbnN0IFN1YjMyID0gU3ltYm9sKCJTdWIzMiIpOwotY29uc3QgU3ViNjQgPSBT
eW1ib2woIlN1YjY0Iik7Ci1jb25zdCBTdWJEb3VibGUgPSBTeW1ib2woIlN1YkRvdWJsZSIpOwot
Y29uc3QgU3ViRmxvYXQgPSBTeW1ib2woIlN1YkZsb2F0Iik7Ci1jb25zdCBOZWczMiA9IFN5bWJv
bCgiTmVnMzIiKTsKLWNvbnN0IE5lZzY0ID0gU3ltYm9sKCJOZWc2NCIpOwotY29uc3QgTmVnYXRl
RG91YmxlID0gU3ltYm9sKCJOZWdhdGVEb3VibGUiKTsKLWNvbnN0IE11bDMyID0gU3ltYm9sKCJN
dWwzMiIpOwotY29uc3QgTXVsNjQgPSBTeW1ib2woIk11bDY0Iik7Ci1jb25zdCBNdWx0aXBseUFk
ZDMyID0gU3ltYm9sKCJNdWx0aXBseUFkZDMyIik7Ci1jb25zdCBNdWx0aXBseUFkZDY0ID0gU3lt
Ym9sKCJNdWx0aXBseUFkZDY0Iik7Ci1jb25zdCBNdWx0aXBseVN1YjMyID0gU3ltYm9sKCJNdWx0
aXBseVN1YjMyIik7Ci1jb25zdCBNdWx0aXBseVN1YjY0ID0gU3ltYm9sKCJNdWx0aXBseVN1YjY0
Iik7Ci1jb25zdCBNdWx0aXBseU5lZzMyID0gU3ltYm9sKCJNdWx0aXBseU5lZzMyIik7Ci1jb25z
dCBNdWx0aXBseU5lZzY0ID0gU3ltYm9sKCJNdWx0aXBseU5lZzY0Iik7Ci1jb25zdCBEaXYzMiA9
IFN5bWJvbCgiRGl2MzIiKTsKLWNvbnN0IERpdjY0ID0gU3ltYm9sKCJEaXY2NCIpOwotY29uc3Qg
TXVsRG91YmxlID0gU3ltYm9sKCJNdWxEb3VibGUiKTsKLWNvbnN0IE11bEZsb2F0ID0gU3ltYm9s
KCJNdWxGbG9hdCIpOwotY29uc3QgRGl2RG91YmxlID0gU3ltYm9sKCJEaXZEb3VibGUiKTsKLWNv
bnN0IERpdkZsb2F0ID0gU3ltYm9sKCJEaXZGbG9hdCIpOwotY29uc3QgWDg2Q29udmVydFRvRG91
YmxlV29yZDMyID0gU3ltYm9sKCJYODZDb252ZXJ0VG9Eb3VibGVXb3JkMzIiKTsKLWNvbnN0IFg4
NkNvbnZlcnRUb1F1YWRXb3JkNjQgPSBTeW1ib2woIlg4NkNvbnZlcnRUb1F1YWRXb3JkNjQiKTsK
LWNvbnN0IFg4NkRpdjMyID0gU3ltYm9sKCJYODZEaXYzMiIpOwotY29uc3QgWDg2RGl2NjQgPSBT
eW1ib2woIlg4NkRpdjY0Iik7Ci1jb25zdCBMZWEgPSBTeW1ib2woIkxlYSIpOwotY29uc3QgQW5k
MzIgPSBTeW1ib2woIkFuZDMyIik7Ci1jb25zdCBBbmQ2NCA9IFN5bWJvbCgiQW5kNjQiKTsKLWNv
bnN0IEFuZERvdWJsZSA9IFN5bWJvbCgiQW5kRG91YmxlIik7Ci1jb25zdCBBbmRGbG9hdCA9IFN5
bWJvbCgiQW5kRmxvYXQiKTsKLWNvbnN0IFhvckRvdWJsZSA9IFN5bWJvbCgiWG9yRG91YmxlIik7
Ci1jb25zdCBYb3JGbG9hdCA9IFN5bWJvbCgiWG9yRmxvYXQiKTsKLWNvbnN0IExzaGlmdDMyID0g
U3ltYm9sKCJMc2hpZnQzMiIpOwotY29uc3QgTHNoaWZ0NjQgPSBTeW1ib2woIkxzaGlmdDY0Iik7
Ci1jb25zdCBSc2hpZnQzMiA9IFN5bWJvbCgiUnNoaWZ0MzIiKTsKLWNvbnN0IFJzaGlmdDY0ID0g
U3ltYm9sKCJSc2hpZnQ2NCIpOwotY29uc3QgVXJzaGlmdDMyID0gU3ltYm9sKCJVcnNoaWZ0MzIi
KTsKLWNvbnN0IFVyc2hpZnQ2NCA9IFN5bWJvbCgiVXJzaGlmdDY0Iik7Ci1jb25zdCBPcjMyID0g
U3ltYm9sKCJPcjMyIik7Ci1jb25zdCBPcjY0ID0gU3ltYm9sKCJPcjY0Iik7Ci1jb25zdCBYb3Iz
MiA9IFN5bWJvbCgiWG9yMzIiKTsKLWNvbnN0IFhvcjY0ID0gU3ltYm9sKCJYb3I2NCIpOwotY29u
c3QgTm90MzIgPSBTeW1ib2woIk5vdDMyIik7Ci1jb25zdCBOb3Q2NCA9IFN5bWJvbCgiTm90NjQi
KTsKLWNvbnN0IEFic0RvdWJsZSA9IFN5bWJvbCgiQWJzRG91YmxlIik7Ci1jb25zdCBBYnNGbG9h
dCA9IFN5bWJvbCgiQWJzRmxvYXQiKTsKLWNvbnN0IENlaWxEb3VibGUgPSBTeW1ib2woIkNlaWxE
b3VibGUiKTsKLWNvbnN0IENlaWxGbG9hdCA9IFN5bWJvbCgiQ2VpbEZsb2F0Iik7Ci1jb25zdCBG
bG9vckRvdWJsZSA9IFN5bWJvbCgiRmxvb3JEb3VibGUiKTsKLWNvbnN0IEZsb29yRmxvYXQgPSBT
eW1ib2woIkZsb29yRmxvYXQiKTsKLWNvbnN0IFNxcnREb3VibGUgPSBTeW1ib2woIlNxcnREb3Vi
bGUiKTsKLWNvbnN0IFNxcnRGbG9hdCA9IFN5bWJvbCgiU3FydEZsb2F0Iik7Ci1jb25zdCBDb252
ZXJ0SW50MzJUb0RvdWJsZSA9IFN5bWJvbCgiQ29udmVydEludDMyVG9Eb3VibGUiKTsKLWNvbnN0
IENvbnZlcnRJbnQ2NFRvRG91YmxlID0gU3ltYm9sKCJDb252ZXJ0SW50NjRUb0RvdWJsZSIpOwot
Y29uc3QgQ29udmVydEludDMyVG9GbG9hdCA9IFN5bWJvbCgiQ29udmVydEludDMyVG9GbG9hdCIp
OwotY29uc3QgQ29udmVydEludDY0VG9GbG9hdCA9IFN5bWJvbCgiQ29udmVydEludDY0VG9GbG9h
dCIpOwotY29uc3QgQ291bnRMZWFkaW5nWmVyb3MzMiA9IFN5bWJvbCgiQ291bnRMZWFkaW5nWmVy
b3MzMiIpOwotY29uc3QgQ291bnRMZWFkaW5nWmVyb3M2NCA9IFN5bWJvbCgiQ291bnRMZWFkaW5n
WmVyb3M2NCIpOwotY29uc3QgQ29udmVydERvdWJsZVRvRmxvYXQgPSBTeW1ib2woIkNvbnZlcnRE
b3VibGVUb0Zsb2F0Iik7Ci1jb25zdCBDb252ZXJ0RmxvYXRUb0RvdWJsZSA9IFN5bWJvbCgiQ29u
dmVydEZsb2F0VG9Eb3VibGUiKTsKLWNvbnN0IE1vdmUgPSBTeW1ib2woIk1vdmUiKTsKLWNvbnN0
IFN3YXAzMiA9IFN5bWJvbCgiU3dhcDMyIik7Ci1jb25zdCBTd2FwNjQgPSBTeW1ib2woIlN3YXA2
NCIpOwotY29uc3QgTW92ZTMyID0gU3ltYm9sKCJNb3ZlMzIiKTsKLWNvbnN0IFN0b3JlWmVybzMy
ID0gU3ltYm9sKCJTdG9yZVplcm8zMiIpOwotY29uc3QgU2lnbkV4dGVuZDMyVG9QdHIgPSBTeW1i
b2woIlNpZ25FeHRlbmQzMlRvUHRyIik7Ci1jb25zdCBaZXJvRXh0ZW5kOFRvMzIgPSBTeW1ib2wo
Ilplcm9FeHRlbmQ4VG8zMiIpOwotY29uc3QgU2lnbkV4dGVuZDhUbzMyID0gU3ltYm9sKCJTaWdu
RXh0ZW5kOFRvMzIiKTsKLWNvbnN0IFplcm9FeHRlbmQxNlRvMzIgPSBTeW1ib2woIlplcm9FeHRl
bmQxNlRvMzIiKTsKLWNvbnN0IFNpZ25FeHRlbmQxNlRvMzIgPSBTeW1ib2woIlNpZ25FeHRlbmQx
NlRvMzIiKTsKLWNvbnN0IE1vdmVGbG9hdCA9IFN5bWJvbCgiTW92ZUZsb2F0Iik7Ci1jb25zdCBN
b3ZlRG91YmxlID0gU3ltYm9sKCJNb3ZlRG91YmxlIik7Ci1jb25zdCBNb3ZlWmVyb1RvRG91Ymxl
ID0gU3ltYm9sKCJNb3ZlWmVyb1RvRG91YmxlIik7Ci1jb25zdCBNb3ZlNjRUb0RvdWJsZSA9IFN5
bWJvbCgiTW92ZTY0VG9Eb3VibGUiKTsKLWNvbnN0IE1vdmUzMlRvRmxvYXQgPSBTeW1ib2woIk1v
dmUzMlRvRmxvYXQiKTsKLWNvbnN0IE1vdmVEb3VibGVUbzY0ID0gU3ltYm9sKCJNb3ZlRG91Ymxl
VG82NCIpOwotY29uc3QgTW92ZUZsb2F0VG8zMiA9IFN5bWJvbCgiTW92ZUZsb2F0VG8zMiIpOwot
Y29uc3QgTG9hZDggPSBTeW1ib2woIkxvYWQ4Iik7Ci1jb25zdCBTdG9yZTggPSBTeW1ib2woIlN0
b3JlOCIpOwotY29uc3QgTG9hZDhTaWduZWRFeHRlbmRUbzMyID0gU3ltYm9sKCJMb2FkOFNpZ25l
ZEV4dGVuZFRvMzIiKTsKLWNvbnN0IExvYWQxNiA9IFN5bWJvbCgiTG9hZDE2Iik7Ci1jb25zdCBM
b2FkMTZTaWduZWRFeHRlbmRUbzMyID0gU3ltYm9sKCJMb2FkMTZTaWduZWRFeHRlbmRUbzMyIik7
Ci1jb25zdCBTdG9yZTE2ID0gU3ltYm9sKCJTdG9yZTE2Iik7Ci1jb25zdCBDb21wYXJlMzIgPSBT
eW1ib2woIkNvbXBhcmUzMiIpOwotY29uc3QgQ29tcGFyZTY0ID0gU3ltYm9sKCJDb21wYXJlNjQi
KTsKLWNvbnN0IFRlc3QzMiA9IFN5bWJvbCgiVGVzdDMyIik7Ci1jb25zdCBUZXN0NjQgPSBTeW1i
b2woIlRlc3Q2NCIpOwotY29uc3QgQ29tcGFyZURvdWJsZSA9IFN5bWJvbCgiQ29tcGFyZURvdWJs
ZSIpOwotY29uc3QgQ29tcGFyZUZsb2F0ID0gU3ltYm9sKCJDb21wYXJlRmxvYXQiKTsKLWNvbnN0
IEJyYW5jaDggPSBTeW1ib2woIkJyYW5jaDgiKTsKLWNvbnN0IEJyYW5jaDMyID0gU3ltYm9sKCJC
cmFuY2gzMiIpOwotY29uc3QgQnJhbmNoNjQgPSBTeW1ib2woIkJyYW5jaDY0Iik7Ci1jb25zdCBC
cmFuY2hUZXN0OCA9IFN5bWJvbCgiQnJhbmNoVGVzdDgiKTsKLWNvbnN0IEJyYW5jaFRlc3QzMiA9
IFN5bWJvbCgiQnJhbmNoVGVzdDMyIik7Ci1jb25zdCBCcmFuY2hUZXN0NjQgPSBTeW1ib2woIkJy
YW5jaFRlc3Q2NCIpOwotY29uc3QgQnJhbmNoRG91YmxlID0gU3ltYm9sKCJCcmFuY2hEb3VibGUi
KTsKLWNvbnN0IEJyYW5jaEZsb2F0ID0gU3ltYm9sKCJCcmFuY2hGbG9hdCIpOwotY29uc3QgQnJh
bmNoQWRkMzIgPSBTeW1ib2woIkJyYW5jaEFkZDMyIik7Ci1jb25zdCBCcmFuY2hBZGQ2NCA9IFN5
bWJvbCgiQnJhbmNoQWRkNjQiKTsKLWNvbnN0IEJyYW5jaE11bDMyID0gU3ltYm9sKCJCcmFuY2hN
dWwzMiIpOwotY29uc3QgQnJhbmNoTXVsNjQgPSBTeW1ib2woIkJyYW5jaE11bDY0Iik7Ci1jb25z
dCBCcmFuY2hTdWIzMiA9IFN5bWJvbCgiQnJhbmNoU3ViMzIiKTsKLWNvbnN0IEJyYW5jaFN1YjY0
ID0gU3ltYm9sKCJCcmFuY2hTdWI2NCIpOwotY29uc3QgQnJhbmNoTmVnMzIgPSBTeW1ib2woIkJy
YW5jaE5lZzMyIik7Ci1jb25zdCBCcmFuY2hOZWc2NCA9IFN5bWJvbCgiQnJhbmNoTmVnNjQiKTsK
LWNvbnN0IE1vdmVDb25kaXRpb25hbGx5MzIgPSBTeW1ib2woIk1vdmVDb25kaXRpb25hbGx5MzIi
KTsKLWNvbnN0IE1vdmVDb25kaXRpb25hbGx5NjQgPSBTeW1ib2woIk1vdmVDb25kaXRpb25hbGx5
NjQiKTsKLWNvbnN0IE1vdmVDb25kaXRpb25hbGx5VGVzdDMyID0gU3ltYm9sKCJNb3ZlQ29uZGl0
aW9uYWxseVRlc3QzMiIpOwotY29uc3QgTW92ZUNvbmRpdGlvbmFsbHlUZXN0NjQgPSBTeW1ib2wo
Ik1vdmVDb25kaXRpb25hbGx5VGVzdDY0Iik7Ci1jb25zdCBNb3ZlQ29uZGl0aW9uYWxseURvdWJs
ZSA9IFN5bWJvbCgiTW92ZUNvbmRpdGlvbmFsbHlEb3VibGUiKTsKLWNvbnN0IE1vdmVDb25kaXRp
b25hbGx5RmxvYXQgPSBTeW1ib2woIk1vdmVDb25kaXRpb25hbGx5RmxvYXQiKTsKLWNvbnN0IE1v
dmVEb3VibGVDb25kaXRpb25hbGx5MzIgPSBTeW1ib2woIk1vdmVEb3VibGVDb25kaXRpb25hbGx5
MzIiKTsKLWNvbnN0IE1vdmVEb3VibGVDb25kaXRpb25hbGx5NjQgPSBTeW1ib2woIk1vdmVEb3Vi
bGVDb25kaXRpb25hbGx5NjQiKTsKLWNvbnN0IE1vdmVEb3VibGVDb25kaXRpb25hbGx5VGVzdDMy
ID0gU3ltYm9sKCJNb3ZlRG91YmxlQ29uZGl0aW9uYWxseVRlc3QzMiIpOwotY29uc3QgTW92ZURv
dWJsZUNvbmRpdGlvbmFsbHlUZXN0NjQgPSBTeW1ib2woIk1vdmVEb3VibGVDb25kaXRpb25hbGx5
VGVzdDY0Iik7Ci1jb25zdCBNb3ZlRG91YmxlQ29uZGl0aW9uYWxseURvdWJsZSA9IFN5bWJvbCgi
TW92ZURvdWJsZUNvbmRpdGlvbmFsbHlEb3VibGUiKTsKLWNvbnN0IE1vdmVEb3VibGVDb25kaXRp
b25hbGx5RmxvYXQgPSBTeW1ib2woIk1vdmVEb3VibGVDb25kaXRpb25hbGx5RmxvYXQiKTsKLWNv
bnN0IEp1bXAgPSBTeW1ib2woIkp1bXAiKTsKLWNvbnN0IFJldDMyID0gU3ltYm9sKCJSZXQzMiIp
OwotY29uc3QgUmV0NjQgPSBTeW1ib2woIlJldDY0Iik7Ci1jb25zdCBSZXRGbG9hdCA9IFN5bWJv
bCgiUmV0RmxvYXQiKTsKLWNvbnN0IFJldERvdWJsZSA9IFN5bWJvbCgiUmV0RG91YmxlIik7Ci1j
b25zdCBPb3BzID0gU3ltYm9sKCJPb3BzIik7Ci1jb25zdCBTaHVmZmxlID0gU3ltYm9sKCJTaHVm
ZmxlIik7Ci1jb25zdCBQYXRjaCA9IFN5bWJvbCgiUGF0Y2giKTsKLWNvbnN0IENDYWxsID0gU3lt
Ym9sKCJDQ2FsbCIpOwotY29uc3QgQ29sZENDYWxsID0gU3ltYm9sKCJDb2xkQ0NhbGwiKTsKLWZ1
bmN0aW9uIEluc3RfZm9yRWFjaEFyZyhpbnN0LCBmdW5jKQotewotICAgIGxldCByZXBsYWNlbWVu
dDsKLSAgICBzd2l0Y2ggKGluc3Qub3Bjb2RlKSB7Ci0gICAgY2FzZSBOb3A6Ci0gICAgICAgIGJy
ZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEFkZDMyOgotICAgICAgICBzd2l0Y2ggKGlu
c3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNp
dEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFy
ZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygy
LCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAz
Mik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VaRGVmLCBHUCwg
MzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBBZGQ4OgotICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA4KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBm
dW5jLCBBcmcuVXNlRGVmLCBHUCwgOCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsK
LSAgICBjYXNlIEFkZDE2OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCAxNik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgR1As
IDE2KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQWRkNjQ6Ci0g
ICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDI6Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAg
ICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VEZWYsIEdQLCA2NCk7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygw
LCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBm
dW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5j
LCBBcmcuRGVmLCBHUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6
Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBBZGREb3VibGU6
Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0g
ICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAg
ICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBm
dW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5j
LCBBcmcuVXNlRGVmLCBGUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1
bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBBZGRGbG9h
dDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoK
LSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAg
ICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAg
ICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLkRlZiwgRlAsIDMyKTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAs
IGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1
bmMsIEFyZy5Vc2VEZWYsIEZQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIFN1YjMy
OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAg
ICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZVpEZWYsIEdQLCAzMik7Ci0gICAgICAg
IGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFN1YjY0OgotICAgICAgICBpbnN0LnZp
c2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmco
MSwgZnVuYywgQXJnLlVzZURlZiwgR1AsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgU3ViRG91YmxlOgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5n
dGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5j
LCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBB
cmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcu
RGVmLCBGUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAg
ICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAg
ICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgRlAsIDY0KTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgU3ViRmxvYXQ6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxl
bmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1
bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMs
IEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFy
Zy5EZWYsIEZQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAyOgotICAg
ICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAg
ICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBGUCwgMzIpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBOZWczMjoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5j
LCBBcmcuVXNlWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgTmVnNjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZURl
ZiwgR1AsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTmVn
YXRlRG91YmxlOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2
NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTXVsMzI6Ci0gICAgICAgIHN3
aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBp
bnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VaRGVmLCBHUCwgMzIpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywg
QXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJn
LlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlpE
ZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIE11bDY0OgotICAgICAgICBz
d2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgNjQpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywg
QXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJn
LlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLkRl
ZiwgR1AsIDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTXVsdGlwbHlBZGQzMjoKLSAg
ICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBp
bnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3Qudmlz
aXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygz
LCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgTXVsdGlwbHlBZGQ2NDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5j
LCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5V
c2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1As
IDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5jLCBBcmcuRGVmLCBHUCwgNjQpOwot
ICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNdWx0aXBseVN1YjMyOgot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52
aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJn
KDMsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBNdWx0aXBseVN1YjY0OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1
bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJn
LlVzZSwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBH
UCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5EZWYsIEdQLCA2NCk7
Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE11bHRpcGx5TmVnMzI6
Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAg
ICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0
LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBicmVhazsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNdWx0aXBseU5lZzY0OgotICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwg
ZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBB
cmcuWkRlZiwgR1AsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgRGl2MzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMy
KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAg
ICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBi
cmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBEaXY2NDoKLSAgICAgICAgaW5zdC52aXNp
dEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEs
IGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywg
QXJnLkRlZiwgR1AsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgTXVsRG91YmxlOgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAg
ICAgY2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBG
UCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBGUCwg
NjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuRGVmLCBGUCwgNjQp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgICAgIGluc3Qudmlz
aXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgRlAsIDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3Zlcmxv
YWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgTXVsRmxvYXQ6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAg
ICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQ
LCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5EZWYsIEZQLCAz
Mik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52
aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBGUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVy
bG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBEaXZEb3VibGU6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewot
ICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2Us
IEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5EZWYsIEZQ
LCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBGUCwgNjQpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBv
dmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBEaXZGbG9hdDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7
Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJn
LlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVz
ZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLkRlZiwg
RlAsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAg
ICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBp
bnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VEZWYsIEZQLCAzMik7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFk
IG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVh
azsKLSAgICBjYXNlIFg4NkNvbnZlcnRUb0RvdWJsZVdvcmQzMjoKLSAgICAgICAgaW5zdC52aXNp
dEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEs
IGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBYODZDb252ZXJ0VG9RdWFkV29yZDY0OgotICAgICAgICBpbnN0LnZpc2l0QXJn
KDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVu
YywgQXJnLkRlZiwgR1AsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgWDg2RGl2MzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZVpE
ZWYsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZVpEZWYs
IEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDMy
KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgWDg2RGl2NjQ6Ci0g
ICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZVpEZWYsIEdQLCA2NCk7Ci0gICAg
ICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZVpEZWYsIEdQLCA2NCk7Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGVhOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAs
IGZ1bmMsIEFyZy5Vc2VBZGRyLCBHUCwgUHRyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBm
dW5jLCBBcmcuRGVmLCBHUCwgUHRyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgQW5kMzI6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAg
ICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQ
LCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5aRGVmLCBHUCwg
MzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZVpEZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92
ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsK
LSAgICBjYXNlIEFuZDY0OgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAg
ICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNl
LCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBH
UCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuRGVmLCBHUCwg
NjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgR1AsIDY0KTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3Zl
cmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgQW5kRG91YmxlOgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsK
LSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcu
VXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNl
LCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuRGVmLCBG
UCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgRlAsIDY0KTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQg
b3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgQW5kRmxvYXQ6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkg
ewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFy
Zy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5V
c2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5EZWYs
IEZQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBGUCwgMzIpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJh
ZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBYb3JEb3VibGU6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0
aCkgewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMs
IEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFy
Zy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5E
ZWYsIEZQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAyOgotICAgICAg
ICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBGUCwgNjQpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBYb3JGbG9hdDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVu
Z3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVu
YywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywg
QXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJn
LkRlZiwgRlAsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAg
ICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VEZWYsIEZQLCAzMik7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJv
cigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIExzaGlmdDMyOgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5s
ZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBm
dW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5j
LCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBB
cmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0g
ICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VaRGVmLCBHUCwgMzIpOwotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcg
RXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMc2hpZnQ2NDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFy
Z3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmco
MCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwg
ZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVu
YywgQXJnLlpEZWYsIEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAy
OgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwot
ICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgNjQpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0K
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSc2hpZnQzMjoKLSAgICAgICAgc3dpdGNoIChpbnN0
LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRB
cmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmco
MSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwg
ZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIp
OwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlWkRlZiwgR1AsIDMy
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUnNoaWZ0NjQ6Ci0gICAgICAgIHN3aXRjaCAo
aW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZp
c2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0
QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDIsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgMjoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1As
IDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgR1As
IDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgVXJzaGlmdDMyOgotICAgICAgICBzd2l0
Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52
aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNp
dEFyZygyLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VaRGVm
LCBHUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBVcnNoaWZ0NjQ6Ci0gICAgICAg
IHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAg
ICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBp
bnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJn
LlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVz
ZURlZiwgR1AsIDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgT3IzMjoKLSAgICAgICAg
c3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMiwgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcu
VXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNl
WkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgT3I2NDoKLSAgICAgICAg
c3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMiwgZnVuYywgQXJnLkRlZiwgR1AsIDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VE
ZWYsIEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIFhvcjMyOgotICAgICAgICBz
d2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52
aXNpdEFyZygyLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2Va
RGVmLCBHUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAg
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBYb3I2NDoKLSAgICAgICAg
c3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMiwgZnVuYywgQXJnLkRlZiwgR1AsIDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VE
ZWYsIEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIE5vdDMyOgotICAgICAgICBz
d2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygxLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFy
Zy5Vc2VaRGVmLCBHUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6
Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBOb3Q2NDoKLSAg
ICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAg
ICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAg
ICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgR1AsIDY0KTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1
bmMsIEFyZy5Vc2VEZWYsIEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIEFic0Rv
dWJsZToKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAg
IGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEFic0Zsb2F0OgotICAgICAgICBpbnN0
LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRB
cmcoMSwgZnVuYywgQXJnLkRlZiwgRlAsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgQ2VpbERvdWJsZToKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5j
LCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5E
ZWYsIEZQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENl
aWxGbG9hdDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIp
OwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEZQLCAzMik7Ci0gICAg
ICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEZsb29yRG91YmxlOgotICAgICAg
ICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgIGluc3Qu
dmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgRmxvb3JGbG9hdDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygw
LCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMs
IEFyZy5EZWYsIEZQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBj
YXNlIFNxcnREb3VibGU6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwg
RlAsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVmLCBGUCwgNjQp
OwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTcXJ0RmxvYXQ6Ci0g
ICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAg
aW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVmLCBGUCwgMzIpOwotICAgICAgICBicmVhazsK
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDb252ZXJ0SW50MzJUb0RvdWJsZToKLSAgICAgICAg
aW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZp
c2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIENvbnZlcnRJbnQ2NFRvRG91YmxlOgotICAgICAgICBpbnN0LnZp
c2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmco
MSwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgQ29udmVydEludDMyVG9GbG9hdDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygw
LCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMs
IEFyZy5EZWYsIEZQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBj
YXNlIENvbnZlcnRJbnQ2NFRvRmxvYXQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywg
QXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVm
LCBGUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDb3Vu
dExlYWRpbmdaZXJvczMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlpEZWYsIEdQLCAz
Mik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENvdW50TGVhZGlu
Z1plcm9zNjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0
KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVmLCBHUCwgNjQpOwotICAg
ICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDb252ZXJ0RG91YmxlVG9GbG9h
dDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAg
ICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEZQLCAzMik7Ci0gICAgICAgIGJy
ZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENvbnZlcnRGbG9hdFRvRG91YmxlOgotICAg
ICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgIGlu
c3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgTW92ZToKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBm
dW5jLCBBcmcuVXNlLCBHUCwgUHRyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBB
cmcuRGVmLCBHUCwgUHRyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgU3dhcDMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2VEZWYsIEdQ
LCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgR1AsIDMy
KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3dhcDY0OgotICAg
ICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2VEZWYsIEdQLCA2NCk7Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgR1AsIDY0KTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTW92ZTMyOgotICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwg
ZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsK
LSAgICBjYXNlIFN0b3JlWmVybzMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IFNpZ25FeHRlbmQzMlRvUHRyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgR1As
IFB0cik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFplcm9FeHRl
bmQ4VG8zMjoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgOCk7
Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAg
ICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFNpZ25FeHRlbmQ4VG8zMjoKLSAg
ICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgOCk7Ci0gICAgICAgIGlu
c3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwot
ICAgICAgICBicmVhazsKLSAgICBjYXNlIFplcm9FeHRlbmQxNlRvMzI6Ci0gICAgICAgIGluc3Qu
dmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDE2KTsKLSAgICAgICAgaW5zdC52aXNpdEFy
ZygxLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgU2lnbkV4dGVuZDE2VG8zMjoKLSAgICAgICAgaW5zdC52aXNpdEFyZygw
LCBmdW5jLCBBcmcuVXNlLCBHUCwgMTYpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMs
IEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBNb3ZlRmxvYXQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwg
RlAsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVmLCBGUCwgMzIp
OwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNb3ZlRG91YmxlOgot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTW92ZVplcm9Ub0RvdWJsZToKLSAgICAgICAgaW5z
dC52aXNpdEFyZygwLCBmdW5jLCBBcmcuRGVmLCBGUCwgNjQpOwotICAgICAgICBicmVhazsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNb3ZlNjRUb0RvdWJsZToKLSAgICAgICAgaW5zdC52aXNp
dEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEs
IGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsK
LSAgICBjYXNlIE1vdmUzMlRvRmxvYXQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywg
QXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVm
LCBGUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNb3Zl
RG91YmxlVG82NDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwg
NjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEdQLCA2NCk7Ci0g
ICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVGbG9hdFRvMzI6Ci0g
ICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAg
aW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVmLCBHUCwgMzIpOwotICAgICAgICBicmVhazsK
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMb2FkODoKLSAgICAgICAgaW5zdC52aXNpdEFyZygw
LCBmdW5jLCBBcmcuVXNlLCBHUCwgOCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywg
QXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBj
YXNlIFN0b3JlODoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwg
OCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgR1AsIDgpOwotICAg
ICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMb2FkOFNpZ25lZEV4dGVuZFRv
MzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDgpOwotICAg
ICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBi
cmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMb2FkMTY6Ci0gICAgICAgIGluc3Qudmlz
aXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDE2KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygx
LCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgTG9hZDE2U2lnbmVkRXh0ZW5kVG8zMjoKLSAgICAgICAgaW5zdC52aXNpdEFy
ZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMTYpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1
bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBTdG9yZTE2OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCAxNik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgR1AsIDE2
KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29tcGFyZTMyOgot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52
aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJn
KDMsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBDb21wYXJlNjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywg
QXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNl
LCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2
NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0g
ICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFRlc3QzMjoKLSAgICAgICAg
aW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZp
c2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmco
MiwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5j
LCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgVGVzdDY0OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQ
LCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsK
LSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAg
ICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBicmVh
azsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDb21wYXJlRG91YmxlOgotICAgICAgICBpbnN0
LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRB
cmcoMSwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBm
dW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFy
Zy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBDb21wYXJlRmxvYXQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwg
R1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIp
OwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAg
ICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGJy
ZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJyYW5jaDg6Ci0gICAgICAgIGluc3Qudmlz
aXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygx
LCBmdW5jLCBBcmcuVXNlLCBHUCwgOCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywg
QXJnLlVzZSwgR1AsIDgpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBCcmFuY2gzMjoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwg
MzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0g
ICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQnJhbmNoNjQ6Ci0gICAgICAgIGluc3Qu
dmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFy
ZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1
bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIEJyYW5jaFRlc3Q4OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1As
IDgpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA4KTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQnJhbmNoVGVzdDMyOgotICAg
ICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGlu
c3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNp
dEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBCcmFuY2hUZXN0NjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwg
ZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBB
cmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJyYW5j
aERvdWJsZToKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIp
OwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAg
ICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQnJhbmNoRmxvYXQ6Ci0gICAgICAgIGluc3Qu
dmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFy
ZygxLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1
bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIEJyYW5jaEFkZDMyOgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsK
LSAgICAgICAgY2FzZSA0OgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcu
VXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNl
LCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBH
UCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5jLCBBcmcuWkRlZiwgR1As
IDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBp
bnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZp
c2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2VaRGVmLCBHUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVy
bG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBCcmFuY2hBZGQ2NDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7
Ci0gICAgICAgIGNhc2UgNDoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJn
LlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVz
ZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwg
R1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlpEZWYsIEdQ
LCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52
aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVy
bG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBCcmFuY2hNdWwzMjoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7
Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJn
LlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVz
ZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZVpE
ZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSA0OgotICAgICAg
ICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygzLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIDY6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5TY3JhdGNo
LCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuU2NyYXRj
aCwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoNSwgZnVuYywgQXJnLlpEZWYs
IEdQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJyYW5jaE11bDY0OgotICAgICAg
ICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlWkRlZiwgR1AsIDY0KTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIDY6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMs
IEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5V
c2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5TY3Jh
dGNoLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuU2Ny
YXRjaCwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoNSwgZnVuYywgQXJnLlpE
ZWYsIEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJyYW5jaFN1YjMyOgotICAg
ICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGlu
c3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNp
dEFyZygyLCBmdW5jLCBBcmcuVXNlWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgQnJhbmNoU3ViNjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmco
MCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5j
LCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5V
c2VEZWYsIEdQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IEJyYW5jaE5lZzMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQ
LCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZVpEZWYsIEdQLCAz
Mik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJyYW5jaE5lZzY0
OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAg
ICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZVpEZWYsIEdQLCA2NCk7Ci0gICAgICAg
IGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVDb25kaXRpb25hbGx5MzI6Ci0g
ICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDU6Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAg
ICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAg
ICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBp
bnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIDY6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMs
IEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCBQdHIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlLCBH
UCwgUHRyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoNSwgZnVuYywgQXJnLkRlZiwgR1As
IFB0cik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAg
IHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVDb25kaXRpb25hbGx5NjQ6Ci0g
ICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDU6Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAg
ICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAg
ICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBp
bnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIDY6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMs
IEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5V
c2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCBQdHIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlLCBH
UCwgUHRyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoNSwgZnVuYywgQXJnLkRlZiwgR1As
IFB0cik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAg
IHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVDb25kaXRpb25hbGx5VGVzdDMy
OgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSA1Ogot
ICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAg
ICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAg
ICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygzLCBmdW5jLCBBcmcuVXNlLCBHUCwgUHRyKTsKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoNCwgZnVuYywgQXJnLlVzZURlZiwgR1AsIFB0cik7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSA2OgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBm
dW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5j
LCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBB
cmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5jLCBBcmcu
VXNlLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoNCwgZnVuYywgQXJnLlVz
ZSwgR1AsIFB0cik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDUsIGZ1bmMsIEFyZy5EZWYs
IEdQLCBQdHIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNb3ZlQ29uZGl0aW9uYWxseVRl
c3Q2NDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2Ug
NToKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsK
LSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAg
ICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAg
ICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlVzZSwgR1AsIFB0cik7Ci0gICAgICAg
ICAgICBpbnN0LnZpc2l0QXJnKDQsIGZ1bmMsIEFyZy5Vc2VEZWYsIEdQLCBQdHIpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgNjoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmco
MCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwg
ZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVu
YywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywg
QXJnLlVzZSwgR1AsIFB0cik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDQsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCBQdHIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg1LCBmdW5jLCBBcmcu
RGVmLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTW92ZUNvbmRpdGlvbmFs
bHlEb3VibGU6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBj
YXNlIDY6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAz
Mik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7
Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0g
ICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwotICAg
ICAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlLCBHUCwgUHRyKTsKLSAgICAg
ICAgICAgIGluc3QudmlzaXRBcmcoNSwgZnVuYywgQXJnLkRlZiwgR1AsIFB0cik7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgY2FzZSA1OgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygw
LCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBm
dW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5j
LCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5jLCBB
cmcuVXNlLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoNCwgZnVuYywgQXJn
LlVzZURlZiwgR1AsIFB0cik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoK
LSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVDb25kaXRp
b25hbGx5RmxvYXQ6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAg
ICBjYXNlIDY6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQ
LCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAz
Mik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7
Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwot
ICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlLCBHUCwgUHRyKTsKLSAg
ICAgICAgICAgIGluc3QudmlzaXRBcmcoNSwgZnVuYywgQXJnLkRlZiwgR1AsIFB0cik7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSA1OgotICAgICAgICAgICAgaW5zdC52aXNpdEFy
ZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygx
LCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBm
dW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5j
LCBBcmcuVXNlLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoNCwgZnVuYywg
QXJnLlVzZURlZiwgR1AsIFB0cik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVs
dDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVEb3Vi
bGVDb25kaXRpb25hbGx5MzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVz
ZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwg
MzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0g
ICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAg
aW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZp
c2l0QXJnKDUsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIE1vdmVEb3VibGVDb25kaXRpb25hbGx5NjQ6Ci0gICAgICAgIGlu
c3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNp
dEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIs
IGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywg
QXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNl
LCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDUsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2
NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVEb3VibGVD
b25kaXRpb25hbGx5VGVzdDMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1As
IDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoNCwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5zdC52
aXNpdEFyZyg1LCBmdW5jLCBBcmcuRGVmLCBGUCwgNjQpOwotICAgICAgICBicmVhazsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBNb3ZlRG91YmxlQ29uZGl0aW9uYWxseVRlc3Q2NDoKLSAgICAg
ICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0
LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRB
cmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygzLCBm
dW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDQsIGZ1bmMsIEFy
Zy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoNSwgZnVuYywgQXJnLkRlZiwg
RlAsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTW92ZURv
dWJsZUNvbmRpdGlvbmFsbHlEb3VibGU6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywg
QXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNl
LCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2
NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAg
ICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBp
bnN0LnZpc2l0QXJnKDUsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwot
ICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVEb3VibGVDb25kaXRpb25hbGx5RmxvYXQ6Ci0g
ICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAg
aW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICBpbnN0LnZp
c2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmco
MywgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5j
LCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDUsIGZ1bmMsIEFyZy5E
ZWYsIEZQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEp1
bXA6Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFJldDMyOgotICAg
ICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGJy
ZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFJldDY0OgotICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIFJldEZsb2F0OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMs
IEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBj
YXNlIFJldERvdWJsZToKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBG
UCwgNjQpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBPb3BzOgot
ICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTaHVmZmxlOgotICAgICAg
ICBTaHVmZmxlQ3VzdG9tLmZvckVhY2hBcmcoaW5zdCwgZnVuYyk7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgUGF0Y2g6Ci0gICAgICAgIFBhdGNoQ3VzdG9tLmZvckVhY2hBcmcoaW5zdCwgZnVu
Yyk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ0NhbGw6Ci0gICAgICAgIENDYWxsQ3VzdG9t
LmZvckVhY2hBcmcoaW5zdCwgZnVuYyk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29sZEND
YWxsOgotICAgICAgICBDb2xkQ0NhbGxDdXN0b20uZm9yRWFjaEFyZyhpbnN0LCBmdW5jKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgdGhyb3cgIkJhZCBvcGNvZGUiOwot
ICAgIH0KLX0KLWZ1bmN0aW9uIEluc3RfaGFzTm9uQXJnRWZmZWN0cyhpbnN0KQotewotICAgIHN3
aXRjaCAoaW5zdC5vcGNvZGUpIHsKLSAgICBjYXNlIEJyYW5jaDg6Ci0gICAgY2FzZSBCcmFuY2gz
MjoKLSAgICBjYXNlIEJyYW5jaDY0OgotICAgIGNhc2UgQnJhbmNoVGVzdDg6Ci0gICAgY2FzZSBC
cmFuY2hUZXN0MzI6Ci0gICAgY2FzZSBCcmFuY2hUZXN0NjQ6Ci0gICAgY2FzZSBCcmFuY2hEb3Vi
bGU6Ci0gICAgY2FzZSBCcmFuY2hGbG9hdDoKLSAgICBjYXNlIEJyYW5jaEFkZDMyOgotICAgIGNh
c2UgQnJhbmNoQWRkNjQ6Ci0gICAgY2FzZSBCcmFuY2hNdWwzMjoKLSAgICBjYXNlIEJyYW5jaE11
bDY0OgotICAgIGNhc2UgQnJhbmNoU3ViMzI6Ci0gICAgY2FzZSBCcmFuY2hTdWI2NDoKLSAgICBj
YXNlIEJyYW5jaE5lZzMyOgotICAgIGNhc2UgQnJhbmNoTmVnNjQ6Ci0gICAgY2FzZSBKdW1wOgot
ICAgIGNhc2UgUmV0MzI6Ci0gICAgY2FzZSBSZXQ2NDoKLSAgICBjYXNlIFJldEZsb2F0OgotICAg
IGNhc2UgUmV0RG91YmxlOgotICAgIGNhc2UgT29wczoKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgY2FzZSBTaHVmZmxlOgotICAgICAgICByZXR1cm4gU2h1ZmZsZUN1c3RvbS5oYXNOb25BcmdO
b25Db250cm9sRWZmZWN0cyhpbnN0KTsKLSAgICBjYXNlIFBhdGNoOgotICAgICAgICByZXR1cm4g
UGF0Y2hDdXN0b20uaGFzTm9uQXJnTm9uQ29udHJvbEVmZmVjdHMoaW5zdCk7Ci0gICAgY2FzZSBD
Q2FsbDoKLSAgICAgICAgcmV0dXJuIENDYWxsQ3VzdG9tLmhhc05vbkFyZ05vbkNvbnRyb2xFZmZl
Y3RzKGluc3QpOwotICAgIGNhc2UgQ29sZENDYWxsOgotICAgICAgICByZXR1cm4gQ29sZENDYWxs
Q3VzdG9tLmhhc05vbkFyZ05vbkNvbnRyb2xFZmZlY3RzKGluc3QpOwotICAgIGRlZmF1bHQ6Ci0g
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci19Ci1mdW5jdGlvbiBvcGNvZGVDb2RlKG9wY29k
ZSkKLXsKLSAgICBzd2l0Y2ggKG9wY29kZSkgewotICAgIGNhc2UgQWJzRG91YmxlOgotICAgICAg
ICByZXR1cm4gMAotICAgIGNhc2UgQWJzRmxvYXQ6Ci0gICAgICAgIHJldHVybiAxCi0gICAgY2Fz
ZSBBZGQxNjoKLSAgICAgICAgcmV0dXJuIDIKLSAgICBjYXNlIEFkZDMyOgotICAgICAgICByZXR1
cm4gMwotICAgIGNhc2UgQWRkNjQ6Ci0gICAgICAgIHJldHVybiA0Ci0gICAgY2FzZSBBZGQ4Ogot
ICAgICAgICByZXR1cm4gNQotICAgIGNhc2UgQWRkRG91YmxlOgotICAgICAgICByZXR1cm4gNgot
ICAgIGNhc2UgQWRkRmxvYXQ6Ci0gICAgICAgIHJldHVybiA3Ci0gICAgY2FzZSBBbmQzMjoKLSAg
ICAgICAgcmV0dXJuIDgKLSAgICBjYXNlIEFuZDY0OgotICAgICAgICByZXR1cm4gOQotICAgIGNh
c2UgQW5kRG91YmxlOgotICAgICAgICByZXR1cm4gMTAKLSAgICBjYXNlIEFuZEZsb2F0OgotICAg
ICAgICByZXR1cm4gMTEKLSAgICBjYXNlIEJyYW5jaDMyOgotICAgICAgICByZXR1cm4gMTIKLSAg
ICBjYXNlIEJyYW5jaDY0OgotICAgICAgICByZXR1cm4gMTMKLSAgICBjYXNlIEJyYW5jaDg6Ci0g
ICAgICAgIHJldHVybiAxNAotICAgIGNhc2UgQnJhbmNoQWRkMzI6Ci0gICAgICAgIHJldHVybiAx
NQotICAgIGNhc2UgQnJhbmNoQWRkNjQ6Ci0gICAgICAgIHJldHVybiAxNgotICAgIGNhc2UgQnJh
bmNoRG91YmxlOgotICAgICAgICByZXR1cm4gMTcKLSAgICBjYXNlIEJyYW5jaEZsb2F0OgotICAg
ICAgICByZXR1cm4gMTgKLSAgICBjYXNlIEJyYW5jaE11bDMyOgotICAgICAgICByZXR1cm4gMTkK
LSAgICBjYXNlIEJyYW5jaE11bDY0OgotICAgICAgICByZXR1cm4gMjAKLSAgICBjYXNlIEJyYW5j
aE5lZzMyOgotICAgICAgICByZXR1cm4gMjEKLSAgICBjYXNlIEJyYW5jaE5lZzY0OgotICAgICAg
ICByZXR1cm4gMjIKLSAgICBjYXNlIEJyYW5jaFN1YjMyOgotICAgICAgICByZXR1cm4gMjMKLSAg
ICBjYXNlIEJyYW5jaFN1YjY0OgotICAgICAgICByZXR1cm4gMjQKLSAgICBjYXNlIEJyYW5jaFRl
c3QzMjoKLSAgICAgICAgcmV0dXJuIDI1Ci0gICAgY2FzZSBCcmFuY2hUZXN0NjQ6Ci0gICAgICAg
IHJldHVybiAyNgotICAgIGNhc2UgQnJhbmNoVGVzdDg6Ci0gICAgICAgIHJldHVybiAyNwotICAg
IGNhc2UgQ0NhbGw6Ci0gICAgICAgIHJldHVybiAyOAotICAgIGNhc2UgQ2VpbERvdWJsZToKLSAg
ICAgICAgcmV0dXJuIDI5Ci0gICAgY2FzZSBDZWlsRmxvYXQ6Ci0gICAgICAgIHJldHVybiAzMAot
ICAgIGNhc2UgQ29sZENDYWxsOgotICAgICAgICByZXR1cm4gMzEKLSAgICBjYXNlIENvbXBhcmUz
MjoKLSAgICAgICAgcmV0dXJuIDMyCi0gICAgY2FzZSBDb21wYXJlNjQ6Ci0gICAgICAgIHJldHVy
biAzMwotICAgIGNhc2UgQ29tcGFyZURvdWJsZToKLSAgICAgICAgcmV0dXJuIDM0Ci0gICAgY2Fz
ZSBDb21wYXJlRmxvYXQ6Ci0gICAgICAgIHJldHVybiAzNQotICAgIGNhc2UgQ29udmVydERvdWJs
ZVRvRmxvYXQ6Ci0gICAgICAgIHJldHVybiAzNgotICAgIGNhc2UgQ29udmVydEZsb2F0VG9Eb3Vi
bGU6Ci0gICAgICAgIHJldHVybiAzNwotICAgIGNhc2UgQ29udmVydEludDMyVG9Eb3VibGU6Ci0g
ICAgICAgIHJldHVybiAzOAotICAgIGNhc2UgQ29udmVydEludDMyVG9GbG9hdDoKLSAgICAgICAg
cmV0dXJuIDM5Ci0gICAgY2FzZSBDb252ZXJ0SW50NjRUb0RvdWJsZToKLSAgICAgICAgcmV0dXJu
IDQwCi0gICAgY2FzZSBDb252ZXJ0SW50NjRUb0Zsb2F0OgotICAgICAgICByZXR1cm4gNDEKLSAg
ICBjYXNlIENvdW50TGVhZGluZ1plcm9zMzI6Ci0gICAgICAgIHJldHVybiA0MgotICAgIGNhc2Ug
Q291bnRMZWFkaW5nWmVyb3M2NDoKLSAgICAgICAgcmV0dXJuIDQzCi0gICAgY2FzZSBEaXYzMjoK
LSAgICAgICAgcmV0dXJuIDQ0Ci0gICAgY2FzZSBEaXY2NDoKLSAgICAgICAgcmV0dXJuIDQ1Ci0g
ICAgY2FzZSBEaXZEb3VibGU6Ci0gICAgICAgIHJldHVybiA0NgotICAgIGNhc2UgRGl2RmxvYXQ6
Ci0gICAgICAgIHJldHVybiA0NwotICAgIGNhc2UgRmxvb3JEb3VibGU6Ci0gICAgICAgIHJldHVy
biA0OAotICAgIGNhc2UgRmxvb3JGbG9hdDoKLSAgICAgICAgcmV0dXJuIDQ5Ci0gICAgY2FzZSBK
dW1wOgotICAgICAgICByZXR1cm4gNTAKLSAgICBjYXNlIExlYToKLSAgICAgICAgcmV0dXJuIDUx
Ci0gICAgY2FzZSBMb2FkMTY6Ci0gICAgICAgIHJldHVybiA1MgotICAgIGNhc2UgTG9hZDE2U2ln
bmVkRXh0ZW5kVG8zMjoKLSAgICAgICAgcmV0dXJuIDUzCi0gICAgY2FzZSBMb2FkODoKLSAgICAg
ICAgcmV0dXJuIDU0Ci0gICAgY2FzZSBMb2FkOFNpZ25lZEV4dGVuZFRvMzI6Ci0gICAgICAgIHJl
dHVybiA1NQotICAgIGNhc2UgTHNoaWZ0MzI6Ci0gICAgICAgIHJldHVybiA1NgotICAgIGNhc2Ug
THNoaWZ0NjQ6Ci0gICAgICAgIHJldHVybiA1NwotICAgIGNhc2UgTW92ZToKLSAgICAgICAgcmV0
dXJuIDU4Ci0gICAgY2FzZSBNb3ZlMzI6Ci0gICAgICAgIHJldHVybiA1OQotICAgIGNhc2UgTW92
ZTMyVG9GbG9hdDoKLSAgICAgICAgcmV0dXJuIDYwCi0gICAgY2FzZSBNb3ZlNjRUb0RvdWJsZToK
LSAgICAgICAgcmV0dXJuIDYxCi0gICAgY2FzZSBNb3ZlQ29uZGl0aW9uYWxseTMyOgotICAgICAg
ICByZXR1cm4gNjIKLSAgICBjYXNlIE1vdmVDb25kaXRpb25hbGx5NjQ6Ci0gICAgICAgIHJldHVy
biA2MwotICAgIGNhc2UgTW92ZUNvbmRpdGlvbmFsbHlEb3VibGU6Ci0gICAgICAgIHJldHVybiA2
NAotICAgIGNhc2UgTW92ZUNvbmRpdGlvbmFsbHlGbG9hdDoKLSAgICAgICAgcmV0dXJuIDY1Ci0g
ICAgY2FzZSBNb3ZlQ29uZGl0aW9uYWxseVRlc3QzMjoKLSAgICAgICAgcmV0dXJuIDY2Ci0gICAg
Y2FzZSBNb3ZlQ29uZGl0aW9uYWxseVRlc3Q2NDoKLSAgICAgICAgcmV0dXJuIDY3Ci0gICAgY2Fz
ZSBNb3ZlRG91YmxlOgotICAgICAgICByZXR1cm4gNjgKLSAgICBjYXNlIE1vdmVEb3VibGVDb25k
aXRpb25hbGx5MzI6Ci0gICAgICAgIHJldHVybiA2OQotICAgIGNhc2UgTW92ZURvdWJsZUNvbmRp
dGlvbmFsbHk2NDoKLSAgICAgICAgcmV0dXJuIDcwCi0gICAgY2FzZSBNb3ZlRG91YmxlQ29uZGl0
aW9uYWxseURvdWJsZToKLSAgICAgICAgcmV0dXJuIDcxCi0gICAgY2FzZSBNb3ZlRG91YmxlQ29u
ZGl0aW9uYWxseUZsb2F0OgotICAgICAgICByZXR1cm4gNzIKLSAgICBjYXNlIE1vdmVEb3VibGVD
b25kaXRpb25hbGx5VGVzdDMyOgotICAgICAgICByZXR1cm4gNzMKLSAgICBjYXNlIE1vdmVEb3Vi
bGVDb25kaXRpb25hbGx5VGVzdDY0OgotICAgICAgICByZXR1cm4gNzQKLSAgICBjYXNlIE1vdmVE
b3VibGVUbzY0OgotICAgICAgICByZXR1cm4gNzUKLSAgICBjYXNlIE1vdmVGbG9hdDoKLSAgICAg
ICAgcmV0dXJuIDc2Ci0gICAgY2FzZSBNb3ZlRmxvYXRUbzMyOgotICAgICAgICByZXR1cm4gNzcK
LSAgICBjYXNlIE1vdmVaZXJvVG9Eb3VibGU6Ci0gICAgICAgIHJldHVybiA3OAotICAgIGNhc2Ug
TXVsMzI6Ci0gICAgICAgIHJldHVybiA3OQotICAgIGNhc2UgTXVsNjQ6Ci0gICAgICAgIHJldHVy
biA4MAotICAgIGNhc2UgTXVsRG91YmxlOgotICAgICAgICByZXR1cm4gODEKLSAgICBjYXNlIE11
bEZsb2F0OgotICAgICAgICByZXR1cm4gODIKLSAgICBjYXNlIE11bHRpcGx5QWRkMzI6Ci0gICAg
ICAgIHJldHVybiA4MwotICAgIGNhc2UgTXVsdGlwbHlBZGQ2NDoKLSAgICAgICAgcmV0dXJuIDg0
Ci0gICAgY2FzZSBNdWx0aXBseU5lZzMyOgotICAgICAgICByZXR1cm4gODUKLSAgICBjYXNlIE11
bHRpcGx5TmVnNjQ6Ci0gICAgICAgIHJldHVybiA4NgotICAgIGNhc2UgTXVsdGlwbHlTdWIzMjoK
LSAgICAgICAgcmV0dXJuIDg3Ci0gICAgY2FzZSBNdWx0aXBseVN1YjY0OgotICAgICAgICByZXR1
cm4gODgKLSAgICBjYXNlIE5lZzMyOgotICAgICAgICByZXR1cm4gODkKLSAgICBjYXNlIE5lZzY0
OgotICAgICAgICByZXR1cm4gOTAKLSAgICBjYXNlIE5lZ2F0ZURvdWJsZToKLSAgICAgICAgcmV0
dXJuIDkxCi0gICAgY2FzZSBOb3A6Ci0gICAgICAgIHJldHVybiA5MgotICAgIGNhc2UgTm90MzI6
Ci0gICAgICAgIHJldHVybiA5MwotICAgIGNhc2UgTm90NjQ6Ci0gICAgICAgIHJldHVybiA5NAot
ICAgIGNhc2UgT29wczoKLSAgICAgICAgcmV0dXJuIDk1Ci0gICAgY2FzZSBPcjMyOgotICAgICAg
ICByZXR1cm4gOTYKLSAgICBjYXNlIE9yNjQ6Ci0gICAgICAgIHJldHVybiA5NwotICAgIGNhc2Ug
UGF0Y2g6Ci0gICAgICAgIHJldHVybiA5OAotICAgIGNhc2UgUmV0MzI6Ci0gICAgICAgIHJldHVy
biA5OQotICAgIGNhc2UgUmV0NjQ6Ci0gICAgICAgIHJldHVybiAxMDAKLSAgICBjYXNlIFJldERv
dWJsZToKLSAgICAgICAgcmV0dXJuIDEwMQotICAgIGNhc2UgUmV0RmxvYXQ6Ci0gICAgICAgIHJl
dHVybiAxMDIKLSAgICBjYXNlIFJzaGlmdDMyOgotICAgICAgICByZXR1cm4gMTAzCi0gICAgY2Fz
ZSBSc2hpZnQ2NDoKLSAgICAgICAgcmV0dXJuIDEwNAotICAgIGNhc2UgU2h1ZmZsZToKLSAgICAg
ICAgcmV0dXJuIDEwNQotICAgIGNhc2UgU2lnbkV4dGVuZDE2VG8zMjoKLSAgICAgICAgcmV0dXJu
IDEwNgotICAgIGNhc2UgU2lnbkV4dGVuZDMyVG9QdHI6Ci0gICAgICAgIHJldHVybiAxMDcKLSAg
ICBjYXNlIFNpZ25FeHRlbmQ4VG8zMjoKLSAgICAgICAgcmV0dXJuIDEwOAotICAgIGNhc2UgU3Fy
dERvdWJsZToKLSAgICAgICAgcmV0dXJuIDEwOQotICAgIGNhc2UgU3FydEZsb2F0OgotICAgICAg
ICByZXR1cm4gMTEwCi0gICAgY2FzZSBTdG9yZTE2OgotICAgICAgICByZXR1cm4gMTExCi0gICAg
Y2FzZSBTdG9yZTg6Ci0gICAgICAgIHJldHVybiAxMTIKLSAgICBjYXNlIFN0b3JlWmVybzMyOgot
ICAgICAgICByZXR1cm4gMTEzCi0gICAgY2FzZSBTdWIzMjoKLSAgICAgICAgcmV0dXJuIDExNAot
ICAgIGNhc2UgU3ViNjQ6Ci0gICAgICAgIHJldHVybiAxMTUKLSAgICBjYXNlIFN1YkRvdWJsZToK
LSAgICAgICAgcmV0dXJuIDExNgotICAgIGNhc2UgU3ViRmxvYXQ6Ci0gICAgICAgIHJldHVybiAx
MTcKLSAgICBjYXNlIFN3YXAzMjoKLSAgICAgICAgcmV0dXJuIDExOAotICAgIGNhc2UgU3dhcDY0
OgotICAgICAgICByZXR1cm4gMTE5Ci0gICAgY2FzZSBUZXN0MzI6Ci0gICAgICAgIHJldHVybiAx
MjAKLSAgICBjYXNlIFRlc3Q2NDoKLSAgICAgICAgcmV0dXJuIDEyMQotICAgIGNhc2UgVXJzaGlm
dDMyOgotICAgICAgICByZXR1cm4gMTIyCi0gICAgY2FzZSBVcnNoaWZ0NjQ6Ci0gICAgICAgIHJl
dHVybiAxMjMKLSAgICBjYXNlIFg4NkNvbnZlcnRUb0RvdWJsZVdvcmQzMjoKLSAgICAgICAgcmV0
dXJuIDEyNAotICAgIGNhc2UgWDg2Q29udmVydFRvUXVhZFdvcmQ2NDoKLSAgICAgICAgcmV0dXJu
IDEyNQotICAgIGNhc2UgWDg2RGl2MzI6Ci0gICAgICAgIHJldHVybiAxMjYKLSAgICBjYXNlIFg4
NkRpdjY0OgotICAgICAgICByZXR1cm4gMTI3Ci0gICAgY2FzZSBYb3IzMjoKLSAgICAgICAgcmV0
dXJuIDEyOAotICAgIGNhc2UgWG9yNjQ6Ci0gICAgICAgIHJldHVybiAxMjkKLSAgICBjYXNlIFhv
ckRvdWJsZToKLSAgICAgICAgcmV0dXJuIDEzMAotICAgIGNhc2UgWG9yRmxvYXQ6Ci0gICAgICAg
IHJldHVybiAxMzEKLSAgICBjYXNlIFplcm9FeHRlbmQxNlRvMzI6Ci0gICAgICAgIHJldHVybiAx
MzIKLSAgICBjYXNlIFplcm9FeHRlbmQ4VG8zMjoKLSAgICAgICAgcmV0dXJuIDEzMwotICAgIGRl
ZmF1bHQ6Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigiYmFkIG9wY29kZSIpOwotICAgIH0KLX0K
SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3BheWxvYWQtYWlyanMt
QUNMajhDLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gv
QWlyL3BheWxvYWQtYWlyanMtQUNMajhDLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3Jt
YW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9wYXlsb2FkLWFpcmpzLUFDTGo4Qy5qcwkobm9u
ZXhpc3RlbnQpCkBAIC0xLDE3MzAgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotLy8gR2VuZXJhdGVk
IGJ5IEFpcjo6ZHVtcEFzSlMgZnJvbSAjQUNMajhDIGluIEFpci5qcwotZnVuY3Rpb24gY3JlYXRl
UGF5bG9hZEFpckpTQUNMajhDKCkKLXsKLSAgICBsZXQgY29kZSA9IG5ldyBDb2RlKCk7Ci0gICAg
bGV0IGJiMCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxID0gY29kZS5hZGRCbG9jaygp
OwotICAgIGxldCBiYjIgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMyA9IGNvZGUuYWRk
QmxvY2soKTsKLSAgICBsZXQgYmI0ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjUgPSBj
b2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiNiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQg
YmI3ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjggPSBjb2RlLmFkZEJsb2NrKCk7Ci0g
ICAgbGV0IGJiOSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMCA9IGNvZGUuYWRkQmxv
Y2soKTsKLSAgICBsZXQgYmIxMSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMiA9IGNv
ZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQg
YmIxNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxNSA9IGNvZGUuYWRkQmxvY2soKTsK
LSAgICBsZXQgc2xvdDAgPSBjb2RlLmFkZFN0YWNrU2xvdCgxNjAsIExvY2tlZCk7Ci0gICAgbGV0
IHNsb3QxID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwotICAgIGxldCBzbG90MiA9IGNv
ZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xvdDMgPSBjb2RlLmFkZFN0YWNr
U2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3Q0ID0gY29kZS5hZGRTdGFja1Nsb3QoNDAsIExv
Y2tlZCk7Ci0gICAgc2xvdDQuc2V0T2Zmc2V0RnJvbUZQKC00MCk7Ci0gICAgbGV0IHRtcDYxID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wNTkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU4ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXA1NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTYgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXA1NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTMgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDUyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1MSA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDQ5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0OCA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wNDcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ2ID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wNDQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQzID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXA0MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDEgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXAzOSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzggPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDM3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzNiA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDM0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMyA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wMzIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDMxID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
MjkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI4ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXAyNyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjYgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDI1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAy
NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjMgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDIyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyMSA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wMjAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE5
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wMTcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE2ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXAxNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTQg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAxMiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTEgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDEwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXA3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXA1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXAzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAy
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCBpbnN0OwotICAgIGxldCBhcmc7
Ci0gICAgYmIwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMSwgTm9ybWFs
KSk7Ci0gICAgYmIwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTUsIE5v
cm1hbCkpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
QmlnSW1tKDI3NjQyNDgwMCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYnAsIDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5l
eHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzLmFk
ZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5TY3JhdGNoLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJicCwgNzIpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYnAsIDY0KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJwLCA1Nik7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJicCwgNDgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyLCAt
NjU1MzYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Bl
Y2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJl
c0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
aW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBu
ZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihS
ZWcucmJwLCAyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUFkZHIoUmVnLnJheCwgMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVCaWdJbW0oMCwgLTY1NTM2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBp
bnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJl
Z3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjEx
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkxhdGVVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwo
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhh
c05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJjeCwgMzIpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEy
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yY3gs
IDQwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNp
YWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXND
b25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0
cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMC5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVCaWdJbW0oMjc2MzI3NjQ4LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRp
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0
Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQ
YXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yOCwgNSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDIxKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJi
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5z
dC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2Ji
ZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcg
U2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogOH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogOH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0
Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQ
YXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yMTIsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgzNzIpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEy
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucjEyLCA4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4
LCAtNDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Bl
Y2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJl
c0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3Qu
cGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBp
bnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5l
dyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIwLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUJpZ0ltbSgyNzYzMjEwMjQsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5z
dC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MCwgNzIpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MCwgNjQpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MCwgNTYpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MCwgNDgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Qw
LCA0MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwo
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0
Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
RGVmLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRj
aCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAg
IGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMC5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoWG9yNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJ
bW0oNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgt
Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2so
c2xvdDIsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgt
Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwo
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25k
KE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnI5KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDMsIDApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hU
ZXN0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGJiMS5z
dWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMsIE5vcm1hbCkpOwotICAgIGJi
MS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIsIE5vcm1hbCkpOwotICAg
IGJiMS5wcmVkZWNlc3NvcnMucHVzaChiYjApOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yOCwgMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDQ2OCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZl
Y3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMS5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVB
ZGRyKFJlZy5yOCwgMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMS5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVCaWdJbW0oMjc2NzQxMTYwLCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmN4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2g2
NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoRXF1YWwpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgOCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxLmFwcGVuZChpbnN0KTsKLSAgICBiYjIucHJl
ZGVjZXNzb3JzLnB1c2goYmIxKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4
dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMi5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE9vcHMpOwotICAgIGJiMi5hcHBlbmQoaW5z
dCk7Ci0gICAgYmIzLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNCwgTm9y
bWFsKSk7Ci0gICAgYmIzLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNywg
Tm9ybWFsKSk7Ci0gICAgYmIzLnByZWRlY2Vzc29ycy5wdXNoKGJiMSk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yOCwgMjQpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEzKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTm90RXF1
YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIo
UmVnLnJieCwgNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlSW1tKDIzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5z
dC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI3NTczOTYxNiwgMSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoQnJhbmNoNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEVx
dWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRy
KFJlZy5yYngsIDI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjMuYXBw
ZW5kKGluc3QpOwotICAgIGJiNC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhi
YjUsIE5vcm1hbCkpOwotICAgIGJiNC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjYsIE5vcm1hbCkpOwotICAgIGJiNC5wcmVkZWNlc3NvcnMucHVzaChiYjMpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Qw
LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5y
YngsIDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRk
cihSZWcucmF4LCAzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVTdGFjayhzbG90MSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJz
aSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNo
SGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVn
cyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QwLCAz
Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNs
b3QwLCAyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0
YWNrKHNsb3QwLCAxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVN0YWNrKHNsb3QwLCA4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNC5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVCaWdJbW0oMjc2NjQ1ODcyLCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI3NjY0NjQ5NiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDIpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDI0KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygzMik7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRj
aCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoOCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygxNik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygyNCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygzMik7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdF
ZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
ZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcucmN4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnJkeCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yc2kpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmRpKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncy5hZGQoUmVnLnI4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnI5KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW0xKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTIpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMyk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW00KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnhtbTUpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1t
Nik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW03KTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcueG1tOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy54bW0xMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMSk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMik7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MuYWRkKFJlZy54bW0xNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54
bW0xNSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkRlZiwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQ
YXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0
cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoWG9yNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgtMik7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
ZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9
IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmI0LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgx
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVS
ZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjQuYXBwZW5kKGluc3QpOwotICAgIGJiNS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRC
bG9jayhiYjgsIE5vcm1hbCkpOwotICAgIGJiNS5wcmVkZWNlc3NvcnMucHVzaChiYjQpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEs
IDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lh
bCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3Qu
cGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQ
YXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9
IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
aW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBu
ZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lh
bCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENv
bmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUFkZHIoUmVnLnJjeCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlSW1tKDQxOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBp
bnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBi
YjUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQmlnSW1tKDI3NjE2ODYwOCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoOCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygxNik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygyNCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygzMik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3Rz
ID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFF
YXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcucmN4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJk
eCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yc2kpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmRpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnI4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnI5
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMCk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcueG1tMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54
bW0xKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTIpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMyk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy54bW00KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnhtbTUpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNik7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW03KTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcueG1tOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0x
MCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMSk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMik7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy54bW0xMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW0xNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xNSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkRlZiwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsK
LSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0g
W107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiNS5h
cHBlbmQoaW5zdCk7Ci0gICAgYmI2LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2Nr
KGJiOCwgTm9ybWFsKSk7Ci0gICAgYmI2LnByZWRlY2Vzc29ycy5wdXNoKGJiNCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KEp1bXApOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7Ci0gICAgYmI3LnN1Y2Nlc3Nv
cnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTIsIE5vcm1hbCkpOwotICAgIGJiNy5zdWNj
ZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjksIE5vcm1hbCkpOwotICAgIGJiNy5w
cmVkZWNlc3NvcnMucHVzaChiYjMpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUltbSg1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmI3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDMyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg0MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjcuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoNDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmI3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDU2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDI0KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDMyKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDQwKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDQ4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDU2KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0Vm
ZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0
KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5l
eHRyYUVhcmx5Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy5yY3gpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcucmR4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJzaSk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZGkpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcucjgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcucjkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjEwKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy54bW0wKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnhtbTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMik7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0zKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTQpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcueG1tNSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW02
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTcpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tOCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MuYWRkKFJlZy54bW05KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVn
LnhtbTEwKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTExKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEyKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEzKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnhtbTE0KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnht
bTE1KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiNy5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBh
dGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQo
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
QnJhbmNoVGVzdDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAg
ICBiYjguc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxMywgTm9ybWFsKSk7
Ci0gICAgYmI4LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTAsIE5vcm1h
bCkpOwotICAgIGJiOC5wcmVkZWNlc3NvcnMucHVzaChiYjYpOwotICAgIGJiOC5wcmVkZWNlc3Nv
cnMucHVzaChiYjUpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0NjQpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjguYXBwZW5kKGluc3QpOwotICAgIGJiOS5zdWNjZXNzb3JzLnB1c2go
bmV3IEZyZXF1ZW50ZWRCbG9jayhiYjExLCBOb3JtYWwpKTsKLSAgICBiYjkucHJlZGVjZXNzb3Jz
LnB1c2goYmI3KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmI5LmFwcGVuZChp
bnN0KTsKLSAgICBiYjEwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTEs
IE5vcm1hbCkpOwotICAgIGJiMTAucHJlZGVjZXNzb3JzLnB1c2goYmI4KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxMS5wcmVkZWNl
c3NvcnMucHVzaChiYjkpOwotICAgIGJiMTEucHJlZGVjZXNzb3JzLnB1c2goYmIxMCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQmVs
b3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIo
UmVnLnJheCwgNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlSW1tKDIwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGlu
c3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDh9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDh9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0
LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoT29wcyk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAg
YmIxMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE0LCBOb3JtYWwpKTsK
LSAgICBiYjEyLnByZWRlY2Vzc29ycy5wdXNoKGJiNyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1
bXApOwotICAgIGJiMTIuYXBwZW5kKGluc3QpOwotICAgIGJiMTMuc3VjY2Vzc29ycy5wdXNoKG5l
dyBGcmVxdWVudGVkQmxvY2soYmIxNCwgTm9ybWFsKSk7Ci0gICAgYmIxMy5wcmVkZWNlc3NvcnMu
cHVzaChiYjgpOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjEzLmFwcGVuZChp
bnN0KTsKLSAgICBiYjE0LnByZWRlY2Vzc29ycy5wdXNoKGJiMTIpOwotICAgIGJiMTQucHJlZGVj
ZXNzb3JzLnB1c2goYmIxMyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIxNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFuZDY0KTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlSW1tKC05KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjE0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsK
LSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0g
W107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMTQuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEwKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE0LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoUmV0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE0LmFwcGVuZChpbnN0KTsKLSAgICBi
YjE1LnByZWRlY2Vzc29ycy5wdXNoKGJiMCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMTUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChSZXQ2NCk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMTUuYXBwZW5kKGluc3QpOwotICAgIHJldHVybiBjb2RlOwotfQpJbmRleDogUGVy
Zm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvcGF5bG9hZC1nYmVtdS1leGVjdXRlSXRl
cmF0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gv
QWlyL3BheWxvYWQtZ2JlbXUtZXhlY3V0ZUl0ZXJhdGlvbi5qcwkocmV2aXNpb24gMjExNjg4KQor
KysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvcGF5bG9hZC1nYmVtdS1leGVj
dXRlSXRlcmF0aW9uLmpzCShub25leGlzdGVudCkKQEAgLTEsMzIyOSArMCwwIEBACi0idXNlIHN0
cmljdCI7Ci0vLyBHZW5lcmF0ZWQgYnkgQWlyOjpkdW1wQXNKUyBmcm9tIGV4ZWN1dGVJdGVyYXRp
b24jRVZ4OHBKIGluIE9jdGFuZS9nYmVtdQotZnVuY3Rpb24gY3JlYXRlUGF5bG9hZEdiZW11RXhl
Y3V0ZUl0ZXJhdGlvbigpCi17Ci0gICAgbGV0IGNvZGUgPSBuZXcgQ29kZSgpOwotICAgIGxldCBi
YjAgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMSA9IGNvZGUuYWRkQmxvY2soKTsKLSAg
ICBsZXQgYmIyID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjMgPSBjb2RlLmFkZEJsb2Nr
KCk7Ci0gICAgbGV0IGJiNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI1ID0gY29kZS5h
ZGRCbG9jaygpOwotICAgIGxldCBiYjYgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiNyA9
IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI4ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxl
dCBiYjkgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMTAgPSBjb2RlLmFkZEJsb2NrKCk7
Ci0gICAgbGV0IGJiMTEgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMTIgPSBjb2RlLmFk
ZEJsb2NrKCk7Ci0gICAgbGV0IGJiMTMgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMTQg
PSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMTUgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAg
bGV0IGJiMTYgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMTcgPSBjb2RlLmFkZEJsb2Nr
KCk7Ci0gICAgbGV0IGJiMTggPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMTkgPSBjb2Rl
LmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMjAgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJi
MjEgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMjIgPSBjb2RlLmFkZEJsb2NrKCk7Ci0g
ICAgbGV0IGJiMjMgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMjQgPSBjb2RlLmFkZEJs
b2NrKCk7Ci0gICAgbGV0IGJiMjUgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMjYgPSBj
b2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMjcgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0
IGJiMjggPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMjkgPSBjb2RlLmFkZEJsb2NrKCk7
Ci0gICAgbGV0IGJiMzAgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMzEgPSBjb2RlLmFk
ZEJsb2NrKCk7Ci0gICAgbGV0IGJiMzIgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMzMg
PSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMzQgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAg
bGV0IGJiMzUgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMzYgPSBjb2RlLmFkZEJsb2Nr
KCk7Ci0gICAgbGV0IGJiMzcgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMzggPSBjb2Rl
LmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMzkgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJi
NDAgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiNDEgPSBjb2RlLmFkZEJsb2NrKCk7Ci0g
ICAgbGV0IGJiNDIgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IHNsb3QwID0gY29kZS5hZGRT
dGFja1Nsb3QoNjQsIExvY2tlZCk7Ci0gICAgbGV0IHNsb3QxID0gY29kZS5hZGRTdGFja1Nsb3Qo
OCwgU3BpbGwpOwotICAgIGxldCBzbG90MiA9IGNvZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsK
LSAgICBsZXQgc2xvdDMgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNs
b3Q0ID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwotICAgIGxldCBzbG90NSA9IGNvZGUu
YWRkU3RhY2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xvdDYgPSBjb2RlLmFkZFN0YWNrU2xv
dCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3Q3ID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwp
OwotICAgIGxldCBzbG90OCA9IGNvZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQg
c2xvdDkgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3QxMCA9IGNv
ZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xvdDExID0gY29kZS5hZGRTdGFj
a1Nsb3QoOCwgU3BpbGwpOwotICAgIGxldCBzbG90MTIgPSBjb2RlLmFkZFN0YWNrU2xvdCg0MCwg
TG9ja2VkKTsKLSAgICBzbG90MTIuc2V0T2Zmc2V0RnJvbUZQKC00MCk7Ci0gICAgbGV0IHRtcDE5
MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTg5ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXAxODggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE4NyA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTg2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXAxODUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE4NCA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMTgzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxODIgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE4MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wMTgwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNzkgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDE3OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTc3
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNzYgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDE3NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTc0ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNzMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDE3MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTcxID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXAxNzAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE2OSA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTY4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAxNjcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE2NiA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMTY1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNjQg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE2MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wMTYyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNjEgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDE2MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
MTU5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNTggPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDE1NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTU2ID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNTUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDE1NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTUzID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAxNTIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE1MSA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTUwID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAxNDkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE0OCA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wMTQ3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAx
NDYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE0NSA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wMTQ0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNDMgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE0MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMTQxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNDAgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDEzOSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTM4ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMzcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDEzNiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTM1ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXAxMzQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEz
MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTMyID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXAxMzEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzMCA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTI5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXAxMjggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyNyA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMTI2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMjUgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyNCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wMTIzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMjIgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDEyMSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTIw
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMTkgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDExOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTE3ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMTYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDExNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTE0ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXAxMTMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDExMiA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTExID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAxMTAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwOSA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMTA4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMDcg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwNiA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wMTA1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMDQgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwMyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
MTAyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMDEgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDEwMCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTkgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDk4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXA5NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTYgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDk1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5NCA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDkyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5MSA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wOTAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDg5ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXA4OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
ODcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDg2ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXA4NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODQgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDgzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4
MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODEgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDgwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3OSA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wNzggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDc3
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3NiA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wNzUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDc0ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXA3MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzIg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDcxID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXA3MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjkgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDY4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2NyA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDY1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2NCA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wNjMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDYyID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wNjAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU5ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXA1OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTcgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXA1NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTQgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDUzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1MiA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDUwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0OSA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wNDggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ3ID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0NiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wNDUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ0ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXA0MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDIgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXA0MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzkgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDM4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzNyA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDM1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzNCA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wMzMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDMyID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
MzAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI5ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXAyOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjcgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDI2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAy
NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjQgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDIzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyMiA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wMjEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDIw
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxOSA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wMTggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE3ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXAxNiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTUg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE0ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAxMyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTIgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDExID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMCA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNyA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wNiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNSA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMiA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wMSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMCA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgZnRtcDcgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA2ID0g
Y29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNSA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBs
ZXQgZnRtcDQgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAzID0gY29kZS5uZXdUbXAo
RlApOwotICAgIGxldCBmdG1wMiA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDEgPSBj
b2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAwID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxl
dCBpbnN0OwotICAgIGxldCBhcmc7Ci0gICAgYmIwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiMiwgTm9ybWFsKSk7Ci0gICAgYmIwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJl
cXVlbnRlZEJsb2NrKGJiMSwgTm9ybWFsKSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg2OTA0OTYwLCAxKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJicCwgMTYpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYnApOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3Rz
ID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFF
YXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlNjcmF0Y2gs
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJwLCA0MCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyLCAt
NjU1MzYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Bl
Y2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJl
c0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9
IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMC5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Bl
Y2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJl
bENvbmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUFkZHIoUmVnLnJieCwgNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlSW1tKDIxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9
IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA4fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRy
KFJlZy5yYngsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVCaWdJbW0oMjg2NTA2NTQ0LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxMCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI4NjQ1NTE2OCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NCwgMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI4NzEzMTM0NCwgMSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90
NiwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90
MywgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI4
NjQ3NDU5MiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVTdGFjayhzbG90MiwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQmlnSW1tKDI4NzIwOTcyOCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MTEsIDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDAsIC02NTUzNik7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyODcxMTI3MjgsIDEpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDgsIDAp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgwLCA2NTUz
Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFj
ayhzbG90OSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmln
SW1tKDI4NzExMjcyMCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIw
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlQmlnSW1tKDI4NjUwNjE5MiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NywgMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChC
cmFuY2gzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoRXF1YWwpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oODYyKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxLnN1Y2Nl
c3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNDEsIE5vcm1hbCkpOwotICAgIGJiMS5z
dWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMsIE5vcm1hbCkpOwotICAgIGJi
MS5wcmVkZWNlc3NvcnMucHVzaChiYjApOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDg4MSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1
ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
ID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAyMjQpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KEJyYW5jaFRlc3QzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQo
Tm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMS5hcHBl
bmQoaW5zdCk7Ci0gICAgYmIyLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJi
NDEsIE5vcm1hbCkpOwotICAgIGJiMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjMsIE5vcm1hbCkpOwotICAgIGJiMi5wcmVkZWNlc3NvcnMucHVzaChiYjApOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAy
MjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMi5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRlc3QzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMi5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRl
ZEJsb2NrKGJiNSwgTm9ybWFsKSk7Ci0gICAgYmIzLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiNCwgTm9ybWFsKSk7Ci0gICAgYmIzLnByZWRlY2Vzc29ycy5wdXNoKGJiMSk7
Ci0gICAgYmIzLnByZWRlY2Vzc29ycy5wdXNoKGJiNDApOwotICAgIGJiMy5wcmVkZWNlc3NvcnMu
cHVzaChiYjM5KTsKLSAgICBiYjMucHJlZGVjZXNzb3JzLnB1c2goYmIyKTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgOCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJzaSwg
LTExNDQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMy5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
UmVsQ29uZChFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMy5hcHBl
bmQoaW5zdCk7Ci0gICAgYmI0LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJi
NiwgTm9ybWFsKSk7Ci0gICAgYmI0LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2Nr
KGJiNywgTm9ybWFsKSk7Ci0gICAgYmI0LnByZWRlY2Vzc29ycy5wdXNoKGJiMyk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChFcXVh
bCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUlt
bSgyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0g
ICAgYmI1LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNiwgTm9ybWFsKSk7
Ci0gICAgYmI1LnByZWRlY2Vzc29ycy5wdXNoKGJiMyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAyMzIpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMjU2KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAyNDgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KEFuZDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjUuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChBbmQzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgz
MSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoQWRkNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNS5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlQWRkcihSZWcucmJ4LCAyNDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI1
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmI1LmFwcGVu
ZChpbnN0KTsKLSAgICBiYjYuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI3
LCBOb3JtYWwpKTsKLSAgICBiYjYucHJlZGVjZXNzb3JzLnB1c2goYmI0KTsKLSAgICBiYjYucHJl
ZGVjZXNzb3JzLnB1c2goYmI1KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkMzIpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVJbW0oLTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yc2ksIC0xMTQ0KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KEp1bXApOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7Ci0gICAgYmI3LnN1Y2Nlc3NvcnMucHVz
aChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiOCwgTm9ybWFsKSk7Ci0gICAgYmI3LnN1Y2Nlc3NvcnMu
cHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiOSwgTm9ybWFsKSk7Ci0gICAgYmI3LnByZWRlY2Vz
c29ycy5wdXNoKGJiNCk7Ci0gICAgYmI3LnByZWRlY2Vzc29ycy5wdXNoKGJiNik7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDI0
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxD
b25kKEdyZWF0ZXJUaGFuKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlSW1tKDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI3LmFw
cGVuZChpbnN0KTsKLSAgICBiYjguc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2so
YmI5LCBOb3JtYWwpKTsKLSAgICBiYjgucHJlZGVjZXNzb3JzLnB1c2goYmI3KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyODY0NTUxNjgs
IDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOC5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0o
Mjg2NDU1MTY4LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjguYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUNhbGxBcmcoOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjguYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlQ2FsbEFyZygxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjguYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI4LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5l
eHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzLmFk
ZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZHgpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcucnNpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnJkaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOCk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOSk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTApOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMSk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0yKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnhtbTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1t
NCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW01KTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTYpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcueG1tNyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy54bW04KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTkpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTApOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcueG1tMTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1t
MTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTQpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTUpOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5EZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjguYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwo
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJn
RWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiOC5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiOC5hcHBlbmQoaW5z
dCk7Ci0gICAgYmI5LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTIsIE5v
cm1hbCkpOwotICAgIGJiOS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjEw
LCBOb3JtYWwpKTsKLSAgICBiYjkucHJlZGVjZXNzb3JzLnB1c2goYmI3KTsKLSAgICBiYjkucHJl
ZGVjZXNzb3JzLnB1c2goYmI4KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMzA0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDEyOCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmI5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
UGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucjgsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg4MCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNO
b25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgYmI5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnI4LCA4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQ
YXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEFib3ZlT3JFcXVhbCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJh
eCwgLTgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBh
dGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQo
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBiYjkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmI5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUluZGV4KFJlZy5yYXgsIFJlZy5yc2ksIDgsIDApOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmVDb25kaXRpb25hbGx5VGVzdDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVz
Q29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlSW1tKC0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFy
Z0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcg
U2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmI5LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChO
b3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
QWRkcihSZWcucmN4LCA1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVJbW0oMjMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5z
dC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgYmI5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJjeCwgMjQpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJy
YW5jaDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChFcXVhbCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q3LCAwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIx
MC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjExLCBOb3JtYWwpKTsKLSAg
ICBiYjEwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTMsIE5vcm1hbCkp
OwotICAgIGJiMTAucHJlZGVjZXNzb3JzLnB1c2goYmI5KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
QnJhbmNoNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEVxdWFsKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEwLCAw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTAuYXBwZW5kKGluc3QpOwotICAg
IGJiMTEuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxNCwgTm9ybWFsKSk7
Ci0gICAgYmIxMS5wcmVkZWNlc3NvcnMucHVzaChiYjEwKTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MCwgMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMzQ0KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RF
cXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRk
cihSZWcucmRpLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVJbW0oNTAyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBp
bnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIDE2KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChB
Ym92ZU9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVBZGRyKFJlZy5yZGksIDI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVl
OwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEg
PSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KExvYWQ4KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVnLnJzaSwgUmVnLnJheCwg
MSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMS5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwot
ICAgIGJiMTIuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxNCwgTm9ybWFs
KSk7Ci0gICAgYmIxMi5wcmVkZWNlc3NvcnMucHVzaChiYjkpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QwLCAwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAzMzYpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRp
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTIuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4
LCA0NTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTIuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNw
ZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVS
ZXNDb25kKE92ZXJmbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3Rz
ID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5aRGVmLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
TGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBiYjEyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmRpLCAw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNTAy
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRy
YUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIxMi5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGks
IDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEyLmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVj
aWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVs
Q29uZChBYm92ZU9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIDI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZl
Y3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIxMi5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KExvYWQ4KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
SW5kZXgoUmVnLnJzaSwgUmVnLnJheCwgMSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIxMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwot
ICAgIGJiMTIuYXBwZW5kKGluc3QpOwotICAgIGJiMTMucHJlZGVjZXNzb3JzLnB1c2goYmIxMCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lh
bCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGlu
c3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBiYjEzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoT29wcyk7Ci0g
ICAgYmIxMy5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxNC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1
ZW50ZWRCbG9jayhiYjE1LCBOb3JtYWwpKTsKLSAgICBiYjE0LnN1Y2Nlc3NvcnMucHVzaChuZXcg
RnJlcXVlbnRlZEJsb2NrKGJiMTYsIE5vcm1hbCkpOwotICAgIGJiMTQucHJlZGVjZXNzb3JzLnB1
c2goYmIxMSk7Ci0gICAgYmIxNC5wcmVkZWNlc3NvcnMucHVzaChiYjEyKTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoQWRkMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTQuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChaZXJvRXh0ZW5kMTZUbzMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTQuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNC5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQWRkcihSZWcucmJ4LCAxMjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIxNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRlc3QzMik7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAyMTYpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTQuYXBwZW5kKGluc3QpOwotICAgIGJiMTUucHJlZGVj
ZXNzb3JzLnB1c2goYmIxNCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0
cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxNS5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE9vcHMpOwotICAgIGJiMTUuYXBwZW5kKGlu
c3QpOwotICAgIGJiMTYuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxOCwg
Tm9ybWFsKSk7Ci0gICAgYmIxNi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhi
YjE3LCBOb3JtYWwpKTsKLSAgICBiYjE2LnByZWRlY2Vzc29ycy5wdXNoKGJiMTQpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCA4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVn
LnJheCwgLTE3NTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlQWRkcihSZWcucmR4LCAxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVJlbENvbmQoQWJvdmVPckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmR4LCAyNCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJi
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFy
Z0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcg
U2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTG9hZDgpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVJbmRleChSZWcucmF4LCBSZWcucmN4LCAxLCAwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoQWRkNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIo
UmVnLnJieCwgMjcyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
QmlnSW1tKDI4NzExMjcyMCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVJlbENvbmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDgwKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg3MTEyNzIwLCAxKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVj
dHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIxNi5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVC
aWdJbW0oMjg3MTEyNzI4LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQWJvdmVPckVxdWFsKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4LCAtOCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdF
ZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUluZGV4KFJlZy5y
YXgsIFJlZy5yY3gsIDgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlSW1tKDEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZUNvbmRpdGlvbmFsbHlUZXN0
NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oLTEpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMik7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygxNik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyODcxMTI3
MjAsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlQ2FsbEFyZygzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5z
dC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdz
LmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJjeCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZHgpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucnNpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnJkaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOSk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTAp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMSk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0yKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW01KTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTYpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tNyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW04KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTkpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTApOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcueG1tMTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tMTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTQpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTUpOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5EZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxNi5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3Qu
cGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3Zl
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmR4LCAtMTA4OCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDI3Mik7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngs
IDI4MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFJzaGlmdDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVSZXNDb25kKE92ZXJmbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRy
dWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuWkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KEFkZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZHgsIC0x
MDg4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcu
cmR4LCAtODgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
QWRkcihSZWcucmR4LCAtMTE3Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9
IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJi
MTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yY3gsIDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg4MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0
cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjE2
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUFkZHIoUmVnLnJjeCwgOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQWJvdmVPckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4LCAtOCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJn
RWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjE2LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlSW5kZXgoUmVnLnJheCwgUmVnLnJkeCwgOCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChN
b3ZlQ29uZGl0aW9uYWxseVRlc3Q2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9u
WmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUltbSgtMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9
IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNo
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgNSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDIzKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhh
c05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogOH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogOH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygzMik7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJn
KDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxB
cmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNh
bGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUNhbGxBcmcoMzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0
LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJjeCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy5yZHgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcucnNpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJkaSk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy5yOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy5yMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTApOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW0yKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTMp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNCk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW01KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTYpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tNyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW04KTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTkpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcueG1tMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTIp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTMpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTQpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcueG1tMTUpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5EZWYsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZl
Y3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxNi5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVB
ZGRyKFJlZy5yYngsIDI3Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIx
Ni5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVBZGRyKFJlZy5yYngsIDI4MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUnNoaWZ0
MzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucnNpLCAtMTA0OCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQo
T3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0
cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5M
YXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJiMTYuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQWRkcihSZWcucnNpLCAtMTA0OCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJzaSwgLTEwNzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFu
Y2g2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQmVsb3cpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBiYjE3LnN1
Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTksIE5vcm1hbCkpOwotICAgIGJi
MTcucHJlZGVjZXNzb3JzLnB1c2goYmIxNik7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KENvbnZlcnRJ
bnQzMlRvRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxNy5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxOC5zdWNj
ZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE5LCBOb3JtYWwpKTsKLSAgICBiYjE4
LnByZWRlY2Vzc29ycy5wdXNoKGJiMTYpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIxOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmU2NFRvRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE4LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxOC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxOS5zdWNj
ZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIwLCBOb3JtYWwpKTsKLSAgICBiYjE5
LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzIsIE5vcm1hbCkpOwotICAg
IGJiMTkucHJlZGVjZXNzb3JzLnB1c2goYmIxNyk7Ci0gICAgYmIxOS5wcmVkZWNlc3NvcnMucHVz
aChiYjE4KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQ29udmVydEludDMyVG9Eb3VibGUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMTkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGREb3Vi
bGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlRG91YmxlVG82NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
MSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxOS5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0o
MCwgNjU1MzYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTkuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIx
OS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlQWRkcihSZWcucnNpLCAtMTA3Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjE5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJzaSwgLTEwODApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiMTkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE92ZXJmbG93KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0
LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
WkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIxOS5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE5
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVBZGRyKFJlZy5yc2ksIC0xMDgwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMTkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0
MzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJzaSwgLTExMDQpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTkuYXBwZW5kKGluc3QpOwotICAgIGJiMjAu
c3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyMSwgTm9ybWFsKSk7Ci0gICAg
YmIyMC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMyLCBOb3JtYWwpKTsK
LSAgICBiYjIwLnByZWRlY2Vzc29ycy5wdXNoKGJiMTkpOwotICAgIGluc3QgPSBuZXcgSW5zdChN
b3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucnNpLCAtMTA5Nik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5aRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxh
dGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjIw
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkNjQpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJzaSwgLTEwOTYpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yc2ksIC0xMTEyKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEdyZWF0ZXJU
aGFuT3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjAu
YXBwZW5kKGluc3QpOwotICAgIGJiMjEuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxv
Y2soYmIyMywgTm9ybWFsKSk7Ci0gICAgYmIyMS5wcmVkZWNlc3NvcnMucHVzaChiYjIwKTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJi
eCwgMzQ0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIxLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVT
cGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
UmVsQ29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQWRkcihSZWcucjEyLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVJbW0oNTAyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0
cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGJiMjEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucjEyLCAxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIyMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnIxMiwgMjQpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjkpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQmVsb3dPckVxdWFs
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnI5KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0o
NjUyODYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNO
b25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIyMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDIzMik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMS5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5y
YngsIDI1Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIxLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIyMS5hcHBlbmQoaW5zdCk7
Ci0gICAgYmIyMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIzLCBOb3Jt
YWwpKTsKLSAgICBiYjIyLnByZWRlY2Vzc29ycy5wdXNoKGJiMzApOwotICAgIGJiMjIucHJlZGVj
ZXNzb3JzLnB1c2goYmIzMSk7Ci0gICAgYmIyMi5wcmVkZWNlc3NvcnMucHVzaChiYjI5KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjIuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjIyLmFwcGVuZChpbnN0KTsKLSAg
ICBiYjIzLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjUsIE5vcm1hbCkp
OwotICAgIGJiMjMuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyNCwgTm9y
bWFsKSk7Ci0gICAgYmIyMy5wcmVkZWNlc3NvcnMucHVzaChiYjIxKTsKLSAgICBiYjIzLnByZWRl
Y2Vzc29ycy5wdXNoKGJiMjIpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVSZXNDb25kKE92ZXJmbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3Rz
ID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZVpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDY0KTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yc2ksIC0xMDk2KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChMb2FkOCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkaSwgNjUy
ODUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRy
YUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2VaRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVD
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29u
ZChCZWxvd09yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUltbSg2NTI4NSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIz
LmFwcGVuZChpbnN0KTsKLSAgICBiYjI0LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJs
b2NrKGJiMjYsIE5vcm1hbCkpOwotICAgIGJiMjQuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVu
dGVkQmxvY2soYmIzMCwgTm9ybWFsKSk7Ci0gICAgYmIyNC5wcmVkZWNlc3NvcnMucHVzaChiYjIz
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoU3RvcmU4KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUFkZHIoUmVnLnJkaSwgNjUyODUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIy
NC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlUmVsQ29uZChFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyNTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyNS5zdWNjZXNzb3JzLnB1c2gobmV3IEZy
ZXF1ZW50ZWRCbG9jayhiYjI2LCBOb3JtYWwpKTsKLSAgICBiYjI1LnN1Y2Nlc3NvcnMucHVzaChu
ZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzAsIE5vcm1hbCkpOwotICAgIGJiMjUucHJlZGVjZXNzb3Jz
LnB1c2goYmIyMyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlUmVsQ29uZChFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyNTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIyNS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyNi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1
ZW50ZWRCbG9jayhiYjI4LCBOb3JtYWwpKTsKLSAgICBiYjI2LnN1Y2Nlc3NvcnMucHVzaChuZXcg
RnJlcXVlbnRlZEJsb2NrKGJiMjcsIE5vcm1hbCkpOwotICAgIGJiMjYucHJlZGVjZXNzb3JzLnB1
c2goYmIyNCk7Ci0gICAgYmIyNi5wcmVkZWNlc3NvcnMucHVzaChiYjI1KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTG9hZDgpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIDY1Mjg2
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI2LmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxD
b25kKEJlbG93T3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlSW1tKDY1Mjg1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MjYuYXBwZW5kKGluc3QpOwotICAgIGJiMjcuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVk
QmxvY2soYmIyOCwgTm9ybWFsKSk7Ci0gICAgYmIyNy5wcmVkZWNlc3NvcnMucHVzaChiYjI2KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoU3RvcmU4KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFk
ZHIoUmVnLnJkaSwgNjUyODUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNy5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMjcuYXBwZW5k
KGluc3QpOwotICAgIGJiMjguc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIy
OSwgTm9ybWFsKSk7Ci0gICAgYmIyOC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjMxLCBOb3JtYWwpKTsKLSAgICBiYjI4LnByZWRlY2Vzc29ycy5wdXNoKGJiMjYpOwotICAg
IGJiMjgucHJlZGVjZXNzb3JzLnB1c2goYmIyNyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDI0OCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE9yMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIyOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI4LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoQWRkNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEzKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjguYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJi
eCwgMjQ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjguYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cjEzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjguYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVS
ZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjI4LmFwcGVuZChpbnN0KTsKLSAgICBiYjI5LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRl
ZEJsb2NrKGJiMjIsIE5vcm1hbCkpOwotICAgIGJiMjkuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVx
dWVudGVkQmxvY2soYmIzMiwgTm9ybWFsKSk7Ci0gICAgYmIyOS5wcmVkZWNlc3NvcnMucHVzaChi
YjI4KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQW5kMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyOS5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFuZDMyKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlSW1tKDMxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI5LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkNjQpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMjkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMjQwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMjkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2gz
Mik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoR3JlYXRlclRoYW5PckVxdWFsKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyOS5hcHBlbmQoaW5zdCk7Ci0g
ICAgYmIzMC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIyLCBOb3JtYWwp
KTsKLSAgICBiYjMwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzIsIE5v
cm1hbCkpOwotICAgIGJiMzAucHJlZGVjZXNzb3JzLnB1c2goYmIyNCk7Ci0gICAgYmIzMC5wcmVk
ZWNlc3NvcnMucHVzaChiYjI1KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEdyZWF0ZXJUaGFuT3JFcXVhbCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzAuYXBwZW5kKGluc3QpOwotICAgIGJiMzEu
c3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyMiwgTm9ybWFsKSk7Ci0gICAg
YmIzMS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMyLCBOb3JtYWwpKTsK
LSAgICBiYjMxLnByZWRlY2Vzc29ycy5wdXNoKGJiMjgpOwotICAgIGluc3QgPSBuZXcgSW5zdChC
cmFuY2gzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoR3JlYXRlclRoYW5PckVxdWFs
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzMS5hcHBlbmQoaW5z
dCk7Ci0gICAgYmIzMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMzLCBO
b3JtYWwpKTsKLSAgICBiYjMyLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJi
MzQsIE5vcm1hbCkpOwotICAgIGJiMzIucHJlZGVjZXNzb3JzLnB1c2goYmIxOSk7Ci0gICAgYmIz
Mi5wcmVkZWNlc3NvcnMucHVzaChiYjIwKTsKLSAgICBiYjMyLnByZWRlY2Vzc29ycy5wdXNoKGJi
MzApOwotICAgIGJiMzIucHJlZGVjZXNzb3JzLnB1c2goYmIzMSk7Ci0gICAgYmIzMi5wcmVkZWNl
c3NvcnMucHVzaChiYjI5KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUFkZHIoUmVnLnJzaSwgLTExMjApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMzIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2gz
Mik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoR3JlYXRlclRoYW4pOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBiYjMzLnByZWRl
Y2Vzc29ycy5wdXNoKGJiMzIpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFF
YXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMzMuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChPb3BzKTsKLSAgICBiYjMzLmFwcGVuZChpbnN0KTsKLSAgICBiYjM0LnN1
Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzYsIE5vcm1hbCkpOwotICAgIGJi
MzQuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzNSwgTm9ybWFsKSk7Ci0g
ICAgYmIzNC5wcmVkZWNlc3NvcnMucHVzaChiYjMyKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMTM2KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoQnJhbmNoNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEJlbG93KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0g
ICAgYmIzNS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjM3LCBOb3JtYWwp
KTsKLSAgICBiYjM1LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzgsIE5v
cm1hbCkpOwotICAgIGJiMzUucHJlZGVjZXNzb3JzLnB1c2goYmIzNCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KENvbnZlcnRJbnQzMlRvRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM1LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoRG91YmxlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlRG91YmxlQ29uZChEb3VibGVHcmVhdGVyVGhhbk9yRXF1YWwpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzUuYXBwZW5kKGluc3QpOwotICAgIGJiMzYu
c3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzNywgTm9ybWFsKSk7Ci0gICAg
YmIzNi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjM4LCBOb3JtYWwpKTsK
LSAgICBiYjM2LnByZWRlY2Vzc29ycy5wdXNoKGJiMzQpOwotICAgIGluc3QgPSBuZXcgSW5zdChB
ZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmU2NFRvRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
eG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM2LmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
RG91YmxlQ29uZChEb3VibGVHcmVhdGVyVGhhbk9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzYuYXBwZW5kKGluc3QpOwotICAgIGJiMzcuc3VjY2Vz
c29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzOCwgTm9ybWFsKSk7Ci0gICAgYmIzNy5w
cmVkZWNlc3NvcnMucHVzaChiYjM1KTsKLSAgICBiYjM3LnByZWRlY2Vzc29ycy5wdXNoKGJiMzYp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1t
KDI4NjQ3NDU5MiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNy5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVCaWdJbW0oMjg2NDc0NTkyLCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjM3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIzNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMzcuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIzNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDI0KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0
cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUVhcmx5
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy5yY3gpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmR4KTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJzaSk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZGkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcucjgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjkpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjEwKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW0wKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMik7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0zKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTQpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tNSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW02KTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTcpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tOCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW05KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEwKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTExKTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEyKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTEzKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVn
LnhtbTE0KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTE1KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIz
Ny5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGlu
c3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgYmIzNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwot
ICAgIGJiMzcuYXBwZW5kKGluc3QpOwotICAgIGJiMzguc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVx
dWVudGVkQmxvY2soYmIzOSwgTm9ybWFsKSk7Ci0gICAgYmIzOC5zdWNjZXNzb3JzLnB1c2gobmV3
IEZyZXF1ZW50ZWRCbG9jayhiYjQwLCBOb3JtYWwpKTsKLSAgICBiYjM4LnByZWRlY2Vzc29ycy5w
dXNoKGJiMzUpOwotICAgIGJiMzgucHJlZGVjZXNzb3JzLnB1c2goYmIzNyk7Ci0gICAgYmIzOC5w
cmVkZWNlc3NvcnMucHVzaChiYjM2KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAwKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oODgxKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0
cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMzguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCA4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM4LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkeCwg
LTE4MjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzguYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOC5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJh
RWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZVpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBiYjM4LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmR4
LCAtMTgyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM4LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIo
UmVnLnJkeCwgLTE4MzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzgu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2gzMik7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVJlbENvbmQoR3JlYXRlclRoYW4pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjM4LmFwcGVuZChpbnN0KTsKLSAgICBiYjM5LnN1Y2Nlc3NvcnMucHVz
aChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNDIsIE5vcm1hbCkpOwotICAgIGJiMzkuc3VjY2Vzc29y
cy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzLCBOb3JtYWwpKTsKLSAgICBiYjM5LnByZWRl
Y2Vzc29ycy5wdXNoKGJiMzgpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlQmlnSW1tKDI4NjQ3NDU5MiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg2NDc0NTkyLCAxKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJn
KDI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhh
c05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0g
ICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yY3gpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcucmR4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJz
aSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZGkpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcucjkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjEw
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0wKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tMik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0zKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTQpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tNSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW02KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTcpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tOCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW05KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnhtbTEwKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnht
bTExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEyKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEzKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncy5hZGQoUmVnLnhtbTE0KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnhtbTE1KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBh
dGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBp
bnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDIyNCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE9yMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMik7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM5LmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoQWRkNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzkuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUFkZHIoUmVnLnJieCwgMjI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MzkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQmlnSW1tKDI4NzEzMTM0NCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg3MTMxMzQ0LCAxKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjM5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiMzkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI4NzIwOTcyOCwgMSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygyNCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM5LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxs
QXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNh
bGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0
LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJjeCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy5yZHgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcucnNpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJkaSk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy5yOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy5yMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTApOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW0yKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTMp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNCk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW01KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTYpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tNyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW04KTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTkpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcueG1tMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTIp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTMpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTQpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcueG1tMTUpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5EZWYsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjM5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVl
OwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEg
PSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjM5LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJi
eCwgMjI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM5LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoVGVzdDMyKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAgYmI0MC5zdWNjZXNzb3JzLnB1c2gobmV3IEZy
ZXF1ZW50ZWRCbG9jayhiYjQyLCBOb3JtYWwpKTsKLSAgICBiYjQwLnN1Y2Nlc3NvcnMucHVzaChu
ZXcgRnJlcXVlbnRlZEJsb2NrKGJiMywgTm9ybWFsKSk7Ci0gICAgYmI0MC5wcmVkZWNlc3NvcnMu
cHVzaChiYjM4KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUFkZHIoUmVnLnJieCwgMjI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjQwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoVGVzdDMyKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0MC5hcHBlbmQoaW5zdCk7Ci0gICAgYmI0MS5wcmVkZWNl
c3NvcnMucHVzaChiYjEpOwotICAgIGJiNDEucHJlZGVjZXNzb3JzLnB1c2goYmIyKTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0MS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KFJldDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0MS5hcHBlbmQoaW5zdCk7Ci0gICAgYmI0
Mi5wcmVkZWNlc3NvcnMucHVzaChiYjQwKTsKLSAgICBiYjQyLnByZWRlY2Vzc29ycy5wdXNoKGJi
MzkpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1t
KDEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQyLmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUmV0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQyLmFwcGVuZChpbnN0
KTsKLSAgICByZXR1cm4gY29kZTsKLX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxl
QmVuY2gvQWlyL3BheWxvYWQtaW1hZ2luZy1nYXVzc2lhbi1ibHVyLWdhdXNzaWFuQmx1ci5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9wYXlsb2Fk
LWltYWdpbmctZ2F1c3NpYW4tYmx1ci1nYXVzc2lhbkJsdXIuanMJKHJldmlzaW9uIDIxMTY4OCkK
KysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3BheWxvYWQtaW1hZ2luZy1n
YXVzc2lhbi1ibHVyLWdhdXNzaWFuQmx1ci5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDMxMDcgKzAs
MCBAQAotInVzZSBzdHJpY3QiOwotLy8gR2VuZXJhdGVkIGJ5IEFpcjo6ZHVtcEFzSlMgZnJvbSBn
YXVzc2lhbkJsdXIjQTh2Y1lnIGluIEtyYWtlbi9pbWFnaW5nLWdhdXNzaWFuLWJsdXIKLWZ1bmN0
aW9uIGNyZWF0ZVBheWxvYWRJbWFnaW5nR2F1c3NpYW5CbHVyR2F1c3NpYW5CbHVyKCkKLXsKLSAg
ICBsZXQgY29kZSA9IG5ldyBDb2RlKCk7Ci0gICAgbGV0IGJiMCA9IGNvZGUuYWRkQmxvY2soKTsK
LSAgICBsZXQgYmIxID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjIgPSBjb2RlLmFkZEJs
b2NrKCk7Ci0gICAgbGV0IGJiMyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI0ID0gY29k
ZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjUgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJi
NiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI3ID0gY29kZS5hZGRCbG9jaygpOwotICAg
IGxldCBiYjggPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiOSA9IGNvZGUuYWRkQmxvY2so
KTsKLSAgICBsZXQgYmIxMCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMSA9IGNvZGUu
YWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIx
MyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAg
ICBsZXQgYmIxNSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxNiA9IGNvZGUuYWRkQmxv
Y2soKTsKLSAgICBsZXQgYmIxNyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxOCA9IGNv
ZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxOSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQg
YmIyMCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyMSA9IGNvZGUuYWRkQmxvY2soKTsK
LSAgICBsZXQgYmIyMiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyMyA9IGNvZGUuYWRk
QmxvY2soKTsKLSAgICBsZXQgYmIyNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyNSA9
IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyNiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBs
ZXQgYmIyNyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyOCA9IGNvZGUuYWRkQmxvY2so
KTsKLSAgICBsZXQgYmIyOSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzMCA9IGNvZGUu
YWRkQmxvY2soKTsKLSAgICBsZXQgYmIzMSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIz
MiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzMyA9IGNvZGUuYWRkQmxvY2soKTsKLSAg
ICBsZXQgYmIzNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzNSA9IGNvZGUuYWRkQmxv
Y2soKTsKLSAgICBsZXQgYmIzNiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgc2xvdDAgPSBj
b2RlLmFkZFN0YWNrU2xvdCg0MCwgTG9ja2VkKTsKLSAgICBsZXQgc2xvdDEgPSBjb2RlLmFkZFN0
YWNrU2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3QyID0gY29kZS5hZGRTdGFja1Nsb3QoOCwg
U3BpbGwpOwotICAgIGxldCBzbG90MyA9IGNvZGUuYWRkU3RhY2tTbG90KDQsIFNwaWxsKTsKLSAg
ICBsZXQgc2xvdDQgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3Q1
ID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwotICAgIGxldCBzbG90NiA9IGNvZGUuYWRk
U3RhY2tTbG90KDQwLCBMb2NrZWQpOwotICAgIHNsb3Q2LnNldE9mZnNldEZyb21GUCgtNDApOwot
ICAgIGxldCB0bXAxNDEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE0MCA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTM5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXAxMzggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzNyA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMTM2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMzUgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzNCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wMTMzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMzIgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDEzMSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTMw
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMjkgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDEyOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTI3ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMjYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDEyNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTI0ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXAxMjMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyMiA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTIxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAxMjAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDExOSA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMTE4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMTcg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDExNiA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wMTE1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMTQgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDExMyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
MTEyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMTEgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDExMCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTA5ID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMDggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDEwNyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTA2ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAxMDUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwNCA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTAzID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAxMDIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwMSA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wMTAwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5
OSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTggPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDk3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5NiA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wOTUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDk0
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wOTIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDkxID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXA5MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODkg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDg4ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXA4NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODYgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDg1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4NCA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDgyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4MSA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wODAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDc5ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wNzcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDc2ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXA3NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzQgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDczID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXA3MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzEgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDcwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2OSA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDY3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2NiA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wNjUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDY0ID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wNjIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDYxID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXA2MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTkgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXA1NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTYgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDU1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1NCA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDUyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1MSA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wNTAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ5ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXA0OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
NDcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ2ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXA0NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDQgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDQzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0
MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDEgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDQwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzOSA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wMzggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDM3
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzNiA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wMzUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDM0ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXAzMyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzIg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDMxID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAzMCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjkgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDI4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyNyA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDI1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyNCA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMjMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDIyID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyMSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wMjAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE5ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAxOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTcgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAxNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTQgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDEzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMiA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDEwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXA4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXA2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAwID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCBmdG1wNzQgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0
IGZ0bXA3MyA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDcyID0gY29kZS5uZXdUbXAo
RlApOwotICAgIGxldCBmdG1wNzEgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA3MCA9
IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDY5ID0gY29kZS5uZXdUbXAoRlApOwotICAg
IGxldCBmdG1wNjggPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA2NyA9IGNvZGUubmV3
VG1wKEZQKTsKLSAgICBsZXQgZnRtcDY2ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1w
NjUgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA2NCA9IGNvZGUubmV3VG1wKEZQKTsK
LSAgICBsZXQgZnRtcDYzID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNjIgPSBjb2Rl
Lm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA2MSA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQg
ZnRtcDYwID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNTkgPSBjb2RlLm5ld1RtcChG
UCk7Ci0gICAgbGV0IGZ0bXA1OCA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDU3ID0g
Y29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNTYgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAg
bGV0IGZ0bXA1NSA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDU0ID0gY29kZS5uZXdU
bXAoRlApOwotICAgIGxldCBmdG1wNTMgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA1
MiA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDUxID0gY29kZS5uZXdUbXAoRlApOwot
ICAgIGxldCBmdG1wNTAgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA0OSA9IGNvZGUu
bmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDQ4ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBm
dG1wNDcgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA0NiA9IGNvZGUubmV3VG1wKEZQ
KTsKLSAgICBsZXQgZnRtcDQ1ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNDQgPSBj
b2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA0MyA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBs
ZXQgZnRtcDQyID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNDEgPSBjb2RlLm5ld1Rt
cChGUCk7Ci0gICAgbGV0IGZ0bXA0MCA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDM5
ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMzggPSBjb2RlLm5ld1RtcChGUCk7Ci0g
ICAgbGV0IGZ0bXAzNyA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDM2ID0gY29kZS5u
ZXdUbXAoRlApOwotICAgIGxldCBmdG1wMzUgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0
bXAzNCA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDMzID0gY29kZS5uZXdUbXAoRlAp
OwotICAgIGxldCBmdG1wMzIgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAzMSA9IGNv
ZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDMwID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxl
dCBmdG1wMjkgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAyOCA9IGNvZGUubmV3VG1w
KEZQKTsKLSAgICBsZXQgZnRtcDI3ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMjYg
PSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAyNSA9IGNvZGUubmV3VG1wKEZQKTsKLSAg
ICBsZXQgZnRtcDI0ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMjMgPSBjb2RlLm5l
d1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAyMiA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRt
cDIxID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMjAgPSBjb2RlLm5ld1RtcChGUCk7
Ci0gICAgbGV0IGZ0bXAxOSA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDE4ID0gY29k
ZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMTcgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0
IGZ0bXAxNiA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDE1ID0gY29kZS5uZXdUbXAo
RlApOwotICAgIGxldCBmdG1wMTQgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAxMyA9
IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDEyID0gY29kZS5uZXdUbXAoRlApOwotICAg
IGxldCBmdG1wMTEgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAxMCA9IGNvZGUubmV3
VG1wKEZQKTsKLSAgICBsZXQgZnRtcDkgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA4
ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNyA9IGNvZGUubmV3VG1wKEZQKTsKLSAg
ICBsZXQgZnRtcDYgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA1ID0gY29kZS5uZXdU
bXAoRlApOwotICAgIGxldCBmdG1wNCA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDMg
PSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAyID0gY29kZS5uZXdUbXAoRlApOwotICAg
IGxldCBmdG1wMSA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDAgPSBjb2RlLm5ld1Rt
cChGUCk7Ci0gICAgbGV0IGluc3Q7Ci0gICAgbGV0IGFyZzsKLSAgICBiYjAuc3VjY2Vzc29ycy5w
dXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyLCBOb3JtYWwpKTsKLSAgICBiYjAuc3VjY2Vzc29y
cy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxLCBSYXJlKSk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTQ0MzA1OTA0LCAxKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJi
cCwgMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFs
KCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYnApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNO
b25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtd
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlNjcmF0Y2gsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1t
KDE0MjU0NzE2OCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUFkZHIoUmVnLnJheCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE0MjU0NzE4NCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxNDI1NDcxOTIsIDEpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYXgsIDAp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTQy
NTQ3MjAwLCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
QWRkcihSZWcucmF4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQmlnSW1tKDE0MjU0NzIwOCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxNDI1NDcyMTYsIDEpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYXgsIDApOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEwKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTQyNTQ3MjI0LCAx
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcu
cmF4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmln
SW1tKDE0MjU0NzIzMiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIw
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUFkZHIoUmVnLnJheCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUJpZ0ltbSgxNDI1NDcyNDAsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIDApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMCwgLTY1NTM2KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlNjRUb0RvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hEb3VibGUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVEb3VibGVDb25kKERvdWJsZUVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGJiMS5zdWNjZXNzb3JzLnB1c2go
bmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIsIE5vcm1hbCkpOwotICAgIGJiMS5wcmVkZWNlc3NvcnMu
cHVzaChiYjApOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVSZWxDb25kKEJlbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hI
YXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxLmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQ29udmVydEludDMyVG9Eb3VibGUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJi
MS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJs
b2NrKGJiNCwgTm9ybWFsKSk7Ci0gICAgYmIyLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRl
ZEJsb2NrKGJiMywgUmFyZSkpOwotICAgIGJiMi5wcmVkZWNlc3NvcnMucHVzaChiYjApOwotICAg
IGJiMi5wcmVkZWNlc3NvcnMucHVzaChiYjEpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEJlbG93KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJh
RWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgYmIyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlUmVsQ29uZChCZWxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
ZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBp
bnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5l
dyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMi5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVJlbENvbmQoQmVsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRj
aEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJl
Z3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjIuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlNjRUb0RvdWJsZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hEb3VibGUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVEb3VibGVDb25kKERvdWJsZUVxdWFsKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIuYXBwZW5kKGluc3QpOwotICAgIGJi
My5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjQsIE5vcm1hbCkpOwotICAg
IGJiMy5wcmVkZWNlc3NvcnMucHVzaChiYjIpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEJlbG93KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJh
RWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgYmIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQ29udmVydEludDMyVG9E
b3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KEp1bXApOwotICAgIGJiMy5hcHBlbmQoaW5zdCk7Ci0gICAgYmI0LnN1Y2Nlc3NvcnMucHVz
aChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNiwgTm9ybWFsKSk7Ci0gICAgYmI0LnN1Y2Nlc3NvcnMu
cHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNSwgUmFyZSkpOwotICAgIGJiNC5wcmVkZWNlc3Nv
cnMucHVzaChiYjIpOwotICAgIGJiNC5wcmVkZWNlc3NvcnMucHVzaChiYjMpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
OCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlNjRUb0RvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hEb3VibGUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVEb3VibGVDb25kKERvdWJsZUVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGJiNS5zdWNjZXNzb3JzLnB1
c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjYsIE5vcm1hbCkpOwotICAgIGJiNS5wcmVkZWNlc3Nv
cnMucHVzaChiYjQpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVSZWxDb25kKEJlbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0
Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmI1LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQ29udmVydEludDMyVG9Eb3VibGUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAg
IGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgYmI2LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRl
ZEJsb2NrKGJiOCwgTm9ybWFsKSk7Ci0gICAgYmI2LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiNywgUmFyZSkpOwotICAgIGJiNi5wcmVkZWNlc3NvcnMucHVzaChiYjQpOwot
ICAgIGJiNi5wcmVkZWNlc3NvcnMucHVzaChiYjUpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRj
aCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEJlbG93KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwg
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4
dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkNjQpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTY0
VG9Eb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoQnJhbmNoRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlRG91YmxlQ29uZChEb3Vi
bGVFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI2LmFw
cGVuZChpbnN0KTsKLSAgICBiYjcuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2so
YmI4LCBOb3JtYWwpKTsKLSAgICBiYjcucHJlZGVjZXNzb3JzLnB1c2goYmI2KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChCZWxvdyk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRy
dWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KENvbnZlcnRJbnQzMlRvRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjcuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjcuYXBwZW5kKGluc3QpOwotICAg
IGJiOC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjEwLCBOb3JtYWwpKTsK
LSAgICBiYjguc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI5LCBSYXJlKSk7
Ci0gICAgYmI4LnByZWRlY2Vzc29ycy5wdXNoKGJiNik7Ci0gICAgYmI4LnByZWRlY2Vzc29ycy5w
dXNoKGJiNyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVCaWdJbW0oMTE3MDc2NDg4LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVBZGRyKFJlZy5yOCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmU2NFRv
RG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW02KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KEJyYW5jaERvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZURvdWJsZUNvbmQoRG91Ymxl
RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW02KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOC5hcHBl
bmQoaW5zdCk7Ci0gICAgYmI5LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJi
MTAsIE5vcm1hbCkpOwotICAgIGJiOS5wcmVkZWNlc3NvcnMucHVzaChiYjgpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEJlbG93KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI5
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7
Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9
IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KENvbnZlcnRJbnQzMlRvRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW02KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIx
MC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE4LCBOb3JtYWwpKTsKLSAg
ICBiYjEwLnByZWRlY2Vzc29ycy5wdXNoKGJiOCk7Ci0gICAgYmIxMC5wcmVkZWNlc3NvcnMucHVz
aChiYjkpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
QmlnSW1tKDE0NDUwNjU4NCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnI5LCAtOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjEwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxNDQ1MDY1NDQsIDEpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5y
ZGksIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUlt
bSg4MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmln
SW1tKDE0NDUwNjU0NCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0
cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMTAuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE0NDUwNjU1Miwg
MSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMC5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJl
Zy5yZGksIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTAuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVN0YWNrKHNsb3QyLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTAu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MTAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIC04KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjEwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QzLCAwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMTAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChN
b3ZlWmVyb1RvRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW03KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTAuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEwKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NCwgMCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyLCAtNjU1MzYp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTAuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjEwLmFwcGVuZChpbnN0KTsKLSAgICBi
YjExLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTMsIE5vcm1hbCkpOwot
ICAgIGJiMTEucHJlZGVjZXNzb3JzLnB1c2goYmIzNSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1
bXApOwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAgIGJiMTIuc3VjY2Vzc29ycy5wdXNoKG5l
dyBGcmVxdWVudGVkQmxvY2soYmIxMywgTm9ybWFsKSk7Ci0gICAgYmIxMi5wcmVkZWNlc3NvcnMu
cHVzaChiYjM0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MTIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjEyLmFw
cGVuZChpbnN0KTsKLSAgICBiYjEzLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2Nr
KGJiMTUsIE5vcm1hbCkpOwotICAgIGJiMTMucHJlZGVjZXNzb3JzLnB1c2goYmIxMSk7Ci0gICAg
YmIxMy5wcmVkZWNlc3NvcnMucHVzaChiYjEyKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgtNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIxMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmVEb3Vi
bGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTcpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjEzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZURvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNyk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTMuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW03KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMy5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmVEb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnhtbTcpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEz
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxMy5hcHBl
bmQoaW5zdCk7Ci0gICAgYmIxNC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhi
YjE1LCBOb3JtYWwpKTsKLSAgICBiYjE0LnByZWRlY2Vzc29ycy5wdXNoKGJiMzEpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNC5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMTQuYXBwZW5kKGluc3QpOwotICAgIGJi
MTUuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyOCwgTm9ybWFsKSk7Ci0g
ICAgYmIxNS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE2LCBOb3JtYWwp
KTsKLSAgICBiYjE1LnByZWRlY2Vzc29ycy5wdXNoKGJiMTMpOwotICAgIGJiMTUucHJlZGVjZXNz
b3JzLnB1c2goYmIxNCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJk
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5z
dC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2Ji
ZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcg
U2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2Us
IHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwot
ICAgIGJiMTUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2gzMik7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTGVzc1RoYW4pOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjE1LmFwcGVuZChpbnN0KTsKLSAgICBiYjE2LnN1Y2Nlc3NvcnMucHVz
aChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjksIE5vcm1hbCkpOwotICAgIGJiMTYuc3VjY2Vzc29y
cy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxNywgTm9ybWFsKSk7Ci0gICAgYmIxNi5wcmVk
ZWNlc3NvcnMucHVzaChiYjE1KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEdyZWF0ZXJUaGFuT3JFcXVhbCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyNjcpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxNy5zdWNj
ZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE4LCBOb3JtYWwpKTsKLSAgICBiYjE3
LnByZWRlY2Vzc29ycy5wdXNoKGJiMTYpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMTcuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKC02KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjE3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0g
ICAgYmIxNy5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxOC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1
ZW50ZWRCbG9jayhiYjIwLCBOb3JtYWwpKTsKLSAgICBiYjE4LnN1Y2Nlc3NvcnMucHVzaChuZXcg
RnJlcXVlbnRlZEJsb2NrKGJiMTksIFJhcmUpKTsKLSAgICBiYjE4LnByZWRlY2Vzc29ycy5wdXNo
KGJiMTApOwotICAgIGJiMTgucHJlZGVjZXNzb3JzLnB1c2goYmIxNyk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZs
b3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdF
ZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5aRGVmLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVD
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNl
LCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsK
LSAgICBiYjE4LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg0MDApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90
MSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRy
YUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuWkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlw
ZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5M
YXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRl
Q29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMTguYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0MzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVS
ZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjE4LmFwcGVuZChpbnN0KTsKLSAgICBiYjE5LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRl
ZEJsb2NrKGJiMjAsIE5vcm1hbCkpOwotICAgIGJiMTkucHJlZGVjZXNzb3JzLnB1c2goYmIxOCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lh
bCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENv
bmQoTGVzc1RoYW4pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVJbW0oMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnht
bTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0Vm
ZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0
KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwg
d2lkdGg6IDY0fSk7Ci0gICAgYmIxOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KEp1bXApOwotICAgIGJiMTkuYXBwZW5kKGluc3QpOwotICAgIGJiMjAuc3VjY2Vzc29ycy5wdXNo
KG5ldyBGcmVxdWVudGVkQmxvY2soYmIyMiwgTm9ybWFsKSk7Ci0gICAgYmIyMC5wcmVkZWNlc3Nv
cnMucHVzaChiYjE4KTsKLSAgICBiYjIwLnByZWRlY2Vzc29ycy5wdXNoKGJiMTkpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
c2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KFJzaGlmdDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDMx
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIwLmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoQWRkMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjAuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChYb3IzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIy
MC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVJlbENvbmQoTGVzc1RoYW4pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEsIDApOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5w
YXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0
KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQWJv
dmVPckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3RhY2soc2xvdDMsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0x
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNO
b25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDIsIDApOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjAuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVnLnJzaSwg
UmVnLnJkaSwgOCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMC5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVJbW0oMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjAuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlQ29uZGl0aW9uYWxseVRlc3Q2NCk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgtMSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJv
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
NSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZm
ZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQo
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMjAuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVx
dWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRy
KFJlZy5yZGksIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUltbSg3OSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdF
ZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGks
IDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjAuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRy
KFJlZy5yMTIsIC04KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIwLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIyMC5hcHBlbmQo
aW5zdCk7Ci0gICAgYmIyMS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIy
LCBOb3JtYWwpKTsKLSAgICBiYjIxLnByZWRlY2Vzc29ycy5wdXNoKGJiMjcpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMS5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMjEuYXBwZW5kKGluc3QpOwotICAgIGJiMjIu
c3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyNSwgTm9ybWFsKSk7Ci0gICAg
YmIyMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIzLCBOb3JtYWwpKTsK
LSAgICBiYjIyLnByZWRlY2Vzc29ycy5wdXNoKGJiMjApOwotICAgIGJiMjIucHJlZGVjZXNzb3Jz
LnB1c2goYmIyMSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJk
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5aRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVD
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2Us
IHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5
cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBiYjIyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKExlc3NUaGFu
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1t
KDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMi5hcHBlbmQoaW5zdCk7Ci0g
ICAgYmIyMy5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjI2LCBOb3JtYWwp
KTsKLSAgICBiYjIzLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjQsIE5v
cm1hbCkpOwotICAgIGJiMjMucHJlZGVjZXNzb3JzLnB1c2goYmIyMik7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChHcmVhdGVyVGhh
bk9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVJbW0oNDAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5k
KGluc3QpOwotICAgIGJiMjQuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIy
NywgTm9ybWFsKSk7Ci0gICAgYmIyNC5wcmVkZWNlc3NvcnMucHVzaChiYjIzKTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxv
dyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnht
bTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFz
Tm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9
IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuWkRlZiwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5M
YXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAs
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRl
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIyNC5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVJbW0oNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
Myk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0
LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
WkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwg
dHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlw
ZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJiMjQuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUlt
bSgzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVJlbENvbmQoQWJvdmVPckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEsIDApOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGlu
c3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIyNC5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVJlbENvbmQoQWJvdmVPckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
YmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmVEb3VibGUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVJbmRleChSZWcucjksIFJlZy5yMTUsIDgsIDApOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChSc2hpZnQzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgzMSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KEFkZDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoWG9yMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjQuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVSZWxDb25kKExlc3NUaGFuKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlSW1tKDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnhtbTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9
IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChBYm92ZU9yRXF1
YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
eG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hI
YXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3Zl
RG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVnLnIxMiwgUmVnLnJieCwgOCwg
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy54bW00KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjQuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNdWxEb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnhtbTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcueG1tNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGREb3VibGUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQz
Mik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE11
bERvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUluZGV4KFJlZy5yOSwgUmVnLnJzaSwgOCwg
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy54bW00KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnhtbTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZERvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDMyKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlSW1tKDIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTXVsRG91YmxlKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVnLnI5LCBSZWcucjE1LCA4LCAwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTQpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoQWRkRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnhtbTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTXVsRG91YmxlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlSW5kZXgoUmVnLnI5LCBSZWcucjE0LCA4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTQpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoQWRkRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTQp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
eG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAg
YmIyNS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjI3LCBOb3JtYWwpKTsK
LSAgICBiYjI1LnByZWRlY2Vzc29ycy5wdXNoKGJiMjIpOwotICAgIGluc3QgPSBuZXcgSW5zdChK
dW1wKTsKLSAgICBiYjI1LmFwcGVuZChpbnN0KTsKLSAgICBiYjI2LnN1Y2Nlc3NvcnMucHVzaChu
ZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjcsIE5vcm1hbCkpOwotICAgIGJiMjYucHJlZGVjZXNzb3Jz
LnB1c2goYmIyMyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMjYuYXBwZW5k
KGluc3QpOwotICAgIGJiMjcuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIy
MSwgTm9ybWFsKSk7Ci0gICAgYmIyNy5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjMwLCBOb3JtYWwpKTsKLSAgICBiYjI3LnByZWRlY2Vzc29ycy5wdXNoKGJiMjQpOwotICAg
IGJiMjcucHJlZGVjZXNzb3JzLnB1c2goYmIyNik7Ci0gICAgYmIyNy5wcmVkZWNlc3NvcnMucHVz
aChiYjI1KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjcu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVSZXNDb25kKE92ZXJmbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
Myk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0
Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZVpEZWYsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
TGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0
ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNv
bGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0
aDogNjR9KTsKLSAgICBiYjI3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJh
bmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKExlc3NUaGFuKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDcpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNy5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyOC5zdWNj
ZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMxLCBOb3JtYWwpKTsKLSAgICBiYjI4
LnByZWRlY2Vzc29ycy5wdXNoKGJiMTUpOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAg
ICBiYjI4LmFwcGVuZChpbnN0KTsKLSAgICBiYjI5LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiMzEsIE5vcm1hbCkpOwotICAgIGJiMjkucHJlZGVjZXNzb3JzLnB1c2goYmIx
Nik7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMjkuYXBwZW5kKGluc3QpOwot
ICAgIGJiMzAuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzMSwgTm9ybWFs
KSk7Ci0gICAgYmIzMC5wcmVkZWNlc3NvcnMucHVzaChiYjI3KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjMwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoSnVtcCk7Ci0gICAgYmIzMC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzMS5zdWNjZXNz
b3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE0LCBOb3JtYWwpKTsKLSAgICBiYjMxLnN1
Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzIsIE5vcm1hbCkpOwotICAgIGJi
MzEucHJlZGVjZXNzb3JzLnB1c2goYmIzMCk7Ci0gICAgYmIzMS5wcmVkZWNlc3NvcnMucHVzaChi
YjI5KTsKLSAgICBiYjMxLnByZWRlY2Vzc29ycy5wdXNoKGJiMjgpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJz
aSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2so
c2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAg
aW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2VaRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0
eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBl
OiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBG
UCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIzMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChMZXNzVGhhbik7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg3KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzEuYXBwZW5kKGluc3QpOwotICAgIGJi
MzIuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzNCwgTm9ybWFsKSk7Ci0g
ICAgYmIzMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMzLCBSYXJlKSk7
Ci0gICAgYmIzMi5wcmVkZWNlc3NvcnMucHVzaChiYjMxKTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
UGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg0MDApOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90
NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0
cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5
cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6
IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
TGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAg
ICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoVGVzdDMyKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzMi5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzMy5zdWNjZXNz
b3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjM0LCBOb3JtYWwpKTsKLSAgICBiYjMzLnBy
ZWRlY2Vzc29ycy5wdXNoKGJiMzIpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKExlc3NUaGFuKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNo
SGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVn
cyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAg
IGJiMzMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjMz
LmFwcGVuZChpbnN0KTsKLSAgICBiYjM0LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJs
b2NrKGJiMTIsIE5vcm1hbCkpOwotICAgIGJiMzQuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVu
dGVkQmxvY2soYmIzNSwgTm9ybWFsKSk7Ci0gICAgYmIzNC5wcmVkZWNlc3NvcnMucHVzaChiYjMy
KTsKLSAgICBiYjM0LnByZWRlY2Vzc29ycy5wdXNoKGJiMzMpOwotICAgIGluc3QgPSBuZXcgSW5z
dChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE92ZXJmbG93KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFj
ayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAg
ICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5aRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVD
b2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2Us
IHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
ZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg0
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Rh
Y2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0g
ICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtd
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuWkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRl
Q29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29s
ZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJiMzQuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChEaXZEb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnht
bTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVj
aWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVs
Q29uZChBYm92ZU9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJz
aSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25B
cmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9
KTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlRG91YmxlQ29uZChEb3VibGVOb3RFcXVhbE9yVW5vcmRlcmVk
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3Rz
ID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRo
OiA2NH0pOwotICAgIGJiMzQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3Zl
RG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbmRleChSZWcucjksIFJlZy5yc2ks
IDgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVT
cGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
UmVzQ29uZChPdmVyZmxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9
IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2VaRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxh
dGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVD
b2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KERp
dkRvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNik7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChBZGQzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KEFkZDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDMpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChBYm92ZU9y
RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7
Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9
IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMzQuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEFi
b3ZlT3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0g
dHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lh
bCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZURvdWJs
ZUNvbmQoRG91YmxlTm90RXF1YWxPclVub3JkZXJlZCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
aW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBu
ZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEZQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMzQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbmRleChSZWcu
cjksIFJlZy5yZGksIDgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNC5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDMyKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlSW1tKDIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoRGl2RG91YmxlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy54bW02KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZURvdWJsZUNvbmQoRG91YmxlTm90RXF1YWxPclVub3JkZXJlZCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAg
ICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmVEb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnht
bTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUluZGV4
KFJlZy5yOSwgUmVnLnJzaSwgOCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoRGl2RG91YmxlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW02KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZURvdWJsZUNvbmQoRG91YmxlTm90RXF1YWxPclVub3JkZXJl
ZCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAg
aW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0
aDogNjR9KTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZURvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVnLnI5LCBSZWcucmF4
LCA4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzQuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5l
eHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2VaRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxh
dGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVs
Q29uZChMZXNzVGhhbik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUltbSg0MDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNC5h
cHBlbmQoaW5zdCk7Ci0gICAgYmIzNS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjExLCBOb3JtYWwpKTsKLSAgICBiYjM1LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRl
ZEJsb2NrKGJiMzYsIE5vcm1hbCkpOwotICAgIGJiMzUucHJlZGVjZXNzb3JzLnB1c2goYmIzNCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNS5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Bl
Y2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJl
c0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZVpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBiYjM1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJh
bmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKExlc3NUaGFuKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDI2Nyk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM1LmFwcGVuZChpbnN0KTsKLSAgICBiYjM2LnBy
ZWRlY2Vzc29ycy5wdXNoKGJiMzUpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE0NDUwNjU3NiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIzNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFJl
dDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIzNi5hcHBlbmQoaW5zdCk7Ci0gICAgcmV0dXJuIGNvZGU7Ci19Cklu
ZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9wYXlsb2FkLXR5cGVzY3Jp
cHQtc2NhbklkZW50aWZpZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZT
YW1wbGVCZW5jaC9BaXIvcGF5bG9hZC10eXBlc2NyaXB0LXNjYW5JZGVudGlmaWVyLmpzCShyZXZp
c2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9wYXls
b2FkLXR5cGVzY3JpcHQtc2NhbklkZW50aWZpZXIuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxODc4
ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLS8vIEdlbmVyYXRlZCBieSBBaXI6OmR1bXBBc0pTIGZy
b20gc2NhbklkZW50aWZpZXIjRVBjRlFlIGluIE9jdGFuZS90eXBlc2NyaXB0Ci1mdW5jdGlvbiBj
cmVhdGVQYXlsb2FkVHlwZXNjcmlwdFNjYW5JZGVudGlmaWVyKCkKLXsKLSAgICBsZXQgY29kZSA9
IG5ldyBDb2RlKCk7Ci0gICAgbGV0IGJiMCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIx
ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjIgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAg
bGV0IGJiMyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI0ID0gY29kZS5hZGRCbG9jaygp
OwotICAgIGxldCBiYjUgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiNiA9IGNvZGUuYWRk
QmxvY2soKTsKLSAgICBsZXQgYmI3ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjggPSBj
b2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiOSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQg
YmIxMCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMSA9IGNvZGUuYWRkQmxvY2soKTsK
LSAgICBsZXQgYmIxMiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMyA9IGNvZGUuYWRk
QmxvY2soKTsKLSAgICBsZXQgYmIxNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxNSA9
IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxNiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBs
ZXQgYmIxNyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxOCA9IGNvZGUuYWRkQmxvY2so
KTsKLSAgICBsZXQgYmIxOSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyMCA9IGNvZGUu
YWRkQmxvY2soKTsKLSAgICBsZXQgYmIyMSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIy
MiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyMyA9IGNvZGUuYWRkQmxvY2soKTsKLSAg
ICBsZXQgYmIyNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyNSA9IGNvZGUuYWRkQmxv
Y2soKTsKLSAgICBsZXQgYmIyNiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyNyA9IGNv
ZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyOCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQg
YmIyOSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzMCA9IGNvZGUuYWRkQmxvY2soKTsK
LSAgICBsZXQgYmIzMSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzMiA9IGNvZGUuYWRk
QmxvY2soKTsKLSAgICBsZXQgYmIzMyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzNCA9
IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgc2xvdDAgPSBjb2RlLmFkZFN0YWNrU2xvdCg1Niwg
TG9ja2VkKTsKLSAgICBsZXQgc2xvdDEgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0g
ICAgbGV0IHNsb3QyID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwotICAgIGxldCBzbG90
MyA9IGNvZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xvdDQgPSBjb2RlLmFk
ZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3Q1ID0gY29kZS5hZGRTdGFja1Nsb3Qo
NCwgU3BpbGwpOwotICAgIGxldCBzbG90NiA9IGNvZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsK
LSAgICBsZXQgc2xvdDcgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNs
b3Q4ID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwotICAgIGxldCBzbG90OSA9IGNvZGUu
YWRkU3RhY2tTbG90KDQwLCBMb2NrZWQpOwotICAgIHNsb3Q5LnNldE9mZnNldEZyb21GUCgtNDAp
OwotICAgIGxldCB0bXA5OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTcgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDk2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXA5NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTQgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDkzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5MiA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDkwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4OSA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wODggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDg3ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXA4NiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
ODUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDg0ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXA4MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODIgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDgxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4
MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzkgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDc4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3NyA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wNzYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDc1
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wNzMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDcyID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXA3MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzAg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDY5ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXA2OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjcgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDY2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2NSA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDYzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2MiA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wNjEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDYwID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1OSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wNTggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU3ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXA1NiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTUgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXA1MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTIgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDUxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1MCA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDQ4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0NyA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wNDYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ1ID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wNDMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQyID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXA0MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDAgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDM5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXAzOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzcgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDM2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzNSA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDMzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMiA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wMzEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDMwID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXAyOSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
MjggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI3ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXAyNiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjUgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDI0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAy
MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjIgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDIxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyMCA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wMTkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE4
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNyA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wMTYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE1ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXAxNCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTMg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAxMSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTAgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDggPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDUgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDMgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IGluc3Q7Ci0gICAgbGV0IGFyZzsKLSAgICBiYjAuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVx
dWVudGVkQmxvY2soYmI1LCBOb3JtYWwpKTsKLSAgICBiYjAuc3VjY2Vzc29ycy5wdXNoKG5ldyBG
cmVxdWVudGVkQmxvY2soYmI0LCBOb3JtYWwpKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxNzczMjk4ODgsIDEpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJwLCAxNik7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJicCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVj
dHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRy
YUVhcmx5Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuU2NyYXRj
aCwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYnAsIDQw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDIs
IC02NTUzNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVT
cGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
UmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIwLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVT
cGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
UmVsQ29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQWRkcihSZWcucmJ4LCA1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVJbW0oMjEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDh9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDh9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMC5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Bl
Y2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJl
bENvbmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUFkZHIoUmVnLnJieCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlSW1tKDI1NDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRy
YUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgNzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KENvbXBh
cmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoRXF1YWwpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oOTIpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE1NDk5MTkz
NiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVj
aWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVs
Q29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQWRkcihSZWcucmN4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVJbW0oODApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUJpZ0ltbSgxNTQ5OTE5MzYsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVl
OwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEg
PSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjAuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlQmlnSW1tKDE1NDk5MTk0NCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJjeCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucjEyLCAtOCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQ
YXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEFib3ZlT3JFcXVhbCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFj
ayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRj
aEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJl
Z3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVJbmRleChSZWcucjEyLCBSZWcucmF4LCA4LCAwKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEwKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlQ29uZGl0aW9uYWxseVRlc3Q2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0Nv
bmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUltbSgtMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFhvcjY0KTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlSW1tKDYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVJbW0oLTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVN0YWNrKHNsb3QyLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVJbW0oLTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9
IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJi
MC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIw
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUJpZ0ltbSgxMjk5ODczMTIsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDQsIDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxMDg0MTgzNTIsIDEpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMCwgLTY1NTM2KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KEJyYW5jaFRlc3Q2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVy
byk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5z
dCk7Ci0gICAgYmIxLnByZWRlY2Vzc29ycy5wdXNoKGJiNik7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGlu
c3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgYmIxLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoT29wcyk7
Ci0gICAgYmIxLmFwcGVuZChpbnN0KTsKLSAgICBiYjIucHJlZGVjZXNzb3JzLnB1c2goYmIyMyk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lh
bCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0Vm
ZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0
KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIyLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoT29wcyk7Ci0gICAgYmIyLmFwcGVuZChpbnN0KTsKLSAgICBiYjMucHJl
ZGVjZXNzb3JzLnB1c2goYmIzMik7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
aW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBu
ZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIz
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoT29wcyk7Ci0gICAgYmIzLmFwcGVu
ZChpbnN0KTsKLSAgICBiYjQucHJlZGVjZXNzb3JzLnB1c2goYmIwKTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3Rz
ID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBi
YjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChPb3BzKTsKLSAgICBiYjQuYXBw
ZW5kKGluc3QpOwotICAgIGJiNS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhi
YjgsIE5vcm1hbCkpOwotICAgIGJiNS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjYsIFJhcmUpKTsKLSAgICBiYjUucHJlZGVjZXNzb3JzLnB1c2goYmIwKTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgNTYp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5y
YngsIDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNS5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRy
KFJlZy5yYXgsIC0yNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI1LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUFkZHIoUmVnLnIxMCwgMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRlc3Q2NCk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgYmI2LnN1Y2Nlc3NvcnMu
cHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMSwgUmFyZSkpOwotICAgIGJiNi5zdWNjZXNzb3Jz
LnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjcsIE5vcm1hbCkpOwotICAgIGJiNi5wcmVkZWNl
c3NvcnMucHVzaChiYjUpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQWRkcihSZWcucmJwLCAzNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDcsIDApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NiwgMCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYnApOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNO
b25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmN4KTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncy5hZGQoUmVnLnJzaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy5yZGkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjgpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjkpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcucjEwKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTIpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW00KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTUp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNik7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW03KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMSk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW0xMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0x
NCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xNSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5EZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkRlZiwgdHlwZTogRlAs
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNs
b3Q4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Rh
Y2soc2xvdDcsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI2LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVN0YWNrKHNsb3Q2LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjYu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQmlnSW1tKDEyOTk4NzMxMiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoVGVzdDY0
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yY3gsIDApOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgtMSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3QpOwotICAgIGJiNy5zdWNjZXNz
b3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjExLCBOb3JtYWwpKTsKLSAgICBiYjcucHJl
ZGVjZXNzb3JzLnB1c2goYmI2KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0g
ICAgYmI3LmFwcGVuZChpbnN0KTsKLSAgICBiYjguc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVu
dGVkQmxvY2soYmIxMSwgTm9ybWFsKSk7Ci0gICAgYmI4LnByZWRlY2Vzc29ycy5wdXNoKGJiNSk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJl
Zy5yYXgsIDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiOC5hcHBlbmQoaW5zdCk7
Ci0gICAgYmI5LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTEsIE5vcm1h
bCkpOwotICAgIGJiOS5wcmVkZWNlc3NvcnMucHVzaChiYjE1KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjkpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KEp1bXApOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxMC5zdWNjZXNzb3JzLnB1
c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjExLCBOb3JtYWwpKTsKLSAgICBiYjEwLnByZWRlY2Vz
c29ycy5wdXNoKGJiMTgpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMTAu
YXBwZW5kKGluc3QpOwotICAgIGJiMTEuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxv
Y2soYmIxMiwgTm9ybWFsKSk7Ci0gICAgYmIxMS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50
ZWRCbG9jayhiYjE2LCBOb3JtYWwpKTsKLSAgICBiYjExLnByZWRlY2Vzc29ycy5wdXNoKGJiNyk7
Ci0gICAgYmIxMS5wcmVkZWNlc3NvcnMucHVzaChiYjEwKTsKLSAgICBiYjExLnByZWRlY2Vzc29y
cy5wdXNoKGJiOSk7Ci0gICAgYmIxMS5wcmVkZWNlc3NvcnMucHVzaChiYjgpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjkpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDQw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTEuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNw
ZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVS
ZXNDb25kKE92ZXJmbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0
LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZVpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
TGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAg
ICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCA0MCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMzIpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQo
T3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFF
YXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlWkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJiMTEu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDY0KTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDMyKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChC
cmFuY2gzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTGVzc1RoYW4pOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBi
YjEyLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTMsIE5vcm1hbCkpOwot
ICAgIGJiMTIuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxNCwgTm9ybWFs
KSk7Ci0gICAgYmIxMi5wcmVkZWNlc3NvcnMucHVzaChiYjExKTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChBYm92ZU9yRXF1YWwpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNp
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJl
Zy5yMTAsIDEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAg
aW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMTIuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucjEwLCAxNik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMi5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRlc3QzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJl
c0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQWRkcihSZWcucmF4LCAxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlSW1tKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIx
Mi5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxMy5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRC
bG9jayhiYjE1LCBOb3JtYWwpKTsKLSAgICBiYjEzLnByZWRlY2Vzc29ycy5wdXNoKGJiMTIpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChMb2FkOCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUluZGV4KFJl
Zy5yOSwgUmVnLnJkeCwgMSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIxMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMTMu
YXBwZW5kKGluc3QpOwotICAgIGJiMTQuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxv
Y2soYmIxNSwgTm9ybWFsKSk7Ci0gICAgYmIxNC5wcmVkZWNlc3NvcnMucHVzaChiYjEyKTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTG9hZDE2KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVn
LnI5LCBSZWcucmR4LCAyLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjE0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxNC5h
cHBlbmQoaW5zdCk7Ci0gICAgYmIxNS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjksIE5vcm1hbCkpOwotICAgIGJiMTUuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVk
QmxvY2soYmIxNywgTm9ybWFsKSk7Ci0gICAgYmIxNS5wcmVkZWNlc3NvcnMucHVzaChiYjE0KTsK
LSAgICBiYjE1LnByZWRlY2Vzc29ycy5wdXNoKGJiMTMpOwotICAgIGluc3QgPSBuZXcgSW5zdChN
b3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoQWRkNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTUuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVn
LnJieCwgNzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNS5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Bl
Y2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJl
bENvbmQoQWJvdmVPckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAg
aW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjE1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUluZGV4KFJlZy5yMTIsIFJl
Zy5yYXgsIDgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTUuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlQ29uZGl0aW9uYWxseVRlc3Q2NCk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgtMSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEzKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE1LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoWG9yNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNik7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oLTIpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTUuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8p
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJs
eUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjE1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoQnJhbmNoVGVzdDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25a
ZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNS5hcHBlbmQo
aW5zdCk7Ci0gICAgYmIxNi5wcmVkZWNlc3NvcnMucHVzaChiYjExKTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJi
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNO
b25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjE2
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoT29wcyk7Ci0gICAgYmIxNi5hcHBl
bmQoaW5zdCk7Ci0gICAgYmIxNy5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhi
YjE4LCBOb3JtYWwpKTsKLSAgICBiYjE3LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJs
b2NrKGJiMTksIE5vcm1hbCkpOwotICAgIGJiMTcucHJlZGVjZXNzb3JzLnB1c2goYmIxNSk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29u
ZChHcmVhdGVyVGhhbk9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVJbW0oNDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIxNy5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxOC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50
ZWRCbG9jayhiYjEwLCBOb3JtYWwpKTsKLSAgICBiYjE4LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJl
cXVlbnRlZEJsb2NrKGJiMTksIE5vcm1hbCkpOwotICAgIGJiMTgucHJlZGVjZXNzb3JzLnB1c2go
YmIxNyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlUmVsQ29uZChMZXNzVGhhbk9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNTcpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIxOC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxOS5zdWNjZXNzb3JzLnB1c2gobmV3IEZy
ZXF1ZW50ZWRCbG9jayhiYjIwLCBOb3JtYWwpKTsKLSAgICBiYjE5LnN1Y2Nlc3NvcnMucHVzaChu
ZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjEsIE5vcm1hbCkpOwotICAgIGJiMTkucHJlZGVjZXNzb3Jz
LnB1c2goYmIxNyk7Ci0gICAgYmIxOS5wcmVkZWNlc3NvcnMucHVzaChiYjE4KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEdyZWF0
ZXJUaGFuT3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUltbSgxMjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxOS5h
cHBlbmQoaW5zdCk7Ci0gICAgYmIyMC5wcmVkZWNlc3NvcnMucHVzaChiYjE5KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1
LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9u
QXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5l
dyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoT29wcyk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyMS5zdWNjZXNzb3Jz
LnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIyLCBOb3JtYWwpKTsKLSAgICBiYjIxLnN1Y2Nl
c3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjMsIE5vcm1hbCkpOwotICAgIGJiMjEu
cHJlZGVjZXNzb3JzLnB1c2goYmIxOSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5z
dC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIyMS5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVs
Q29uZChFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUltbSg5Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIxLmFwcGVu
ZChpbnN0KTsKLSAgICBiYjIyLnByZWRlY2Vzc29ycy5wdXNoKGJiMjEpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDAp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdF
ZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGJiMjIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChPb3BzKTsKLSAgICBiYjIyLmFwcGVuZChpbnN0KTsKLSAgICBiYjIzLnN1Y2Nlc3NvcnMucHVz
aChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMiwgUmFyZSkpOwotICAgIGJiMjMuc3VjY2Vzc29ycy5w
dXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyNCwgTm9ybWFsKSk7Ci0gICAgYmIyMy5wcmVkZWNl
c3NvcnMucHVzaChiYjIxKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgNDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE1NTAyMTU2OCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMyk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygxNik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDI0KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMzIpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg0MCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMTYp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmco
MjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxB
cmcoMzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNh
bGxBcmcoNDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBh
dGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQo
KTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJjeCk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy5yZHgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcucnNpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJkaSk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOCk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy5yOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy5yMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTApOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW0yKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTMpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW01KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnhtbTYpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1t
Nyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW04KTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcueG1tMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcueG1tMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTIpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTMpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTQpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcueG1tMTUpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5EZWYsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMjMuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNw
ZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRj
aEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJl
Z3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChN
b3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE1NTA0MTI4OCwgMSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYXgsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4
LCAtMTMzNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAg
aW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMjMuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRk
cihSZWcucjEzLCAyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlU3RhY2soc2xvdDAsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUltbSgyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVBZGRyKFJlZy5yYnAsIDM2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQmlnSW1tKDEwODM1NjMwNCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDMsIDApOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJicCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBp
bnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5l
dyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJjeCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yc2kpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcucmRpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnI4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnI5KTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMCk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcueG1tMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0yKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTMpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW01KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTYp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNyk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW04KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTEpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTIpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcueG1tMTQpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1t
MTUpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkRlZiwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5E
ZWYsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBiYjIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxMjk5ODczMTIsIDEpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChC
cmFuY2hUZXN0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJjeCwg
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKC0x
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAg
IGJiMjQuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyNSwgTm9ybWFsKSk7
Ci0gICAgYmIyNC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjI2LCBOb3Jt
YWwpKTsKLSAgICBiYjI0LnByZWRlY2Vzc29ycy5wdXNoKGJiMjMpOwotICAgIGluc3QgPSBuZXcg
SW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEzKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZm
ZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQo
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25k
KE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0LmFw
cGVuZChpbnN0KTsKLSAgICBiYjI1LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2Nr
KGJiMjcsIE5vcm1hbCkpOwotICAgIGJiMjUuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVk
QmxvY2soYmIyNiwgTm9ybWFsKSk7Ci0gICAgYmIyNS5wcmVkZWNlc3NvcnMucHVzaChiYjI0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI1LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQW5kNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0o
LTkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjUuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2g2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJl
bENvbmQoRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVJbW0oMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI1LmFwcGVu
ZChpbnN0KTsKLSAgICBiYjI2LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJi
MjksIE5vcm1hbCkpOwotICAgIGJiMjYuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxv
Y2soYmIyOCwgTm9ybWFsKSk7Ci0gICAgYmIyNi5wcmVkZWNlc3NvcnMucHVzaChiYjI0KTsKLSAg
ICBiYjI2LnByZWRlY2Vzc29ycy5wdXNoKGJiMjUpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFu
Y2hUZXN0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI2LmFwcGVuZChpbnN0KTsKLSAgICBi
YjI3LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzAsIE5vcm1hbCkpOwot
ICAgIGJiMjcucHJlZGVjZXNzb3JzLnB1c2goYmIyNSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIyNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXAp
OwotICAgIGJiMjcuYXBwZW5kKGluc3QpOwotICAgIGJiMjguc3VjY2Vzc29ycy5wdXNoKG5ldyBG
cmVxdWVudGVkQmxvY2soYmIzMiwgTm9ybWFsKSk7Ci0gICAgYmIyOC5wcmVkZWNlc3NvcnMucHVz
aChiYjI2KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIyOC5hcHBlbmQoaW5z
dCk7Ci0gICAgYmIyOS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMwLCBO
b3JtYWwpKTsKLSAgICBiYjI5LnByZWRlY2Vzc29ycy5wdXNoKGJiMjYpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChKdW1wKTsKLSAgICBiYjI5LmFwcGVuZChpbnN0KTsKLSAgICBiYjMwLnN1Y2Nlc3Nv
cnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzQsIE5vcm1hbCkpOwotICAgIGJiMzAuc3Vj
Y2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzMSwgTm9ybWFsKSk7Ci0gICAgYmIz
MC5wcmVkZWNlc3NvcnMucHVzaChiYjI5KTsKLSAgICBiYjMwLnByZWRlY2Vzc29ycy5wdXNoKGJi
MjcpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzAuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBbmQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUltbSgtOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzMC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDY0KTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlUmVsQ29uZChFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUltbSgyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzAu
YXBwZW5kKGluc3QpOwotICAgIGJiMzEuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxv
Y2soYmIzMiwgTm9ybWFsKSk7Ci0gICAgYmIzMS5wcmVkZWNlc3NvcnMucHVzaChiYjMwKTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIzMS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIz
Mi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMsIFJhcmUpKTsKLSAgICBi
YjMyLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzMsIE5vcm1hbCkpOwot
ICAgIGJiMzIucHJlZGVjZXNzb3JzLnB1c2goYmIyOCk7Ci0gICAgYmIzMi5wcmVkZWNlc3NvcnMu
cHVzaChiYjMxKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlSW1tKDMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUFkZHIoUmVnLnJicCwgMzYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIz
Mi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVCaWdJbW0oMTU0OTkxNjMyLCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJwKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
UGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDEwODM1NjMwNCwgMSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnhtbTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5w
YXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0
KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yY3gpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucnNpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnJkaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5y
OCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOSk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnht
bTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMik7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0zKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncy5hZGQoUmVnLnhtbTQpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcueG1tNSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW02KTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTcpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tOCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW05KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEw
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTExKTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEyKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncy5hZGQoUmVnLnhtbTEzKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnhtbTE0KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTE1KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkRlZiwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5EZWYsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0
eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
YmIzMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVCaWdJbW0oMTI5OTg3MzEyLCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNo
VGVzdDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yY3gsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgtMSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBiYjMz
LnByZWRlY2Vzc29ycy5wdXNoKGJiMzIpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3Qu
ZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMzMuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChSZXQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzMuYXBwZW5kKGluc3QpOwot
ICAgIGJiMzQucHJlZGVjZXNzb3JzLnB1c2goYmIzMCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTUzODM1Mjk2LCAxKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgzKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygzMik7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg2KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDQwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoOCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygx
Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFy
ZygyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2Fs
bEFyZygzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
Q2FsbEFyZyg0MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3Qu
cGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmN4KTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncy5hZGQoUmVnLnJkeCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy5yc2kpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmRpKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnI4KTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncy5hZGQoUmVnLnI5KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnIxMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnhtbTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMyk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW00KTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTUpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcueG1tNik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54
bW03KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTgpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tOSk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy54bW0xMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW0xMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMik7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMyk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MuYWRkKFJlZy54bW0xNSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkRlZiwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIzNC5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Bl
Y2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNo
SGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVn
cyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFJl
dDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgcmV0dXJuIGNvZGU7Ci19Cklu
ZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9yZWcuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvcmVnLmpzCShyZXZpc2lv
biAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9yZWcuanMJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwxNDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
NiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1jbGFzcyBSZWcgZXh0ZW5kcyBU
bXBCYXNlIHsKLSAgICBjb25zdHJ1Y3RvcihpbmRleCwgdHlwZSwgbmFtZSwgaXNDYWxsZWVTYXZl
KQotICAgIHsKLSAgICAgICAgc3VwZXIoKTsKLSAgICAgICAgdGhpcy5faW5kZXggPSBpbmRleDsK
LSAgICAgICAgdGhpcy5fdHlwZSA9IHR5cGU7Ci0gICAgICAgIHRoaXMuX25hbWUgPSBuYW1lOwot
ICAgICAgICB0aGlzLl9pc0NhbGxlZVNhdmUgPSAhIWlzQ2FsbGVlU2F2ZTsKLSAgICB9Ci0gICAg
Ci0gICAgc3RhdGljIGZyb21SZWcocmVnKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHJlZzsKLSAg
ICB9Ci0gICAgCi0gICAgZ2V0IGluZGV4KCkgeyByZXR1cm4gdGhpcy5faW5kZXg7IH0KLSAgICBn
ZXQgdHlwZSgpIHsgcmV0dXJuIHRoaXMuX3R5cGU7IH0KLSAgICBnZXQgbmFtZSgpIHsgcmV0dXJu
IHRoaXMuX25hbWU7IH0KLSAgICBnZXQgaXNDYWxsZWVTYXZlKCkgeyByZXR1cm4gdGhpcy5faXND
YWxsZWVTYXZlOyB9Ci0gICAgCi0gICAgZ2V0IGlzUmVnKCkgeyByZXR1cm4gdHJ1ZTsgfQotICAg
IAotICAgIGhhc2goKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuaXNHUCkKLSAgICAgICAgICAg
IHJldHVybiAxICsgdGhpcy5faW5kZXg7Ci0gICAgICAgIHJldHVybiAtMSAtIHRoaXMuX2luZGV4
OwotICAgIH0KLSAgICAKLSAgICB0b1N0cmluZygpCi0gICAgewotICAgICAgICByZXR1cm4gYCUk
e3RoaXMuX25hbWV9YDsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGV4dHJhY3QoYXJnKQotICAg
IHsKLSAgICAgICAgaWYgKGFyZy5pc1JlZykKLSAgICAgICAgICAgIHJldHVybiBhcmcucmVnOwot
ICAgICAgICByZXR1cm4gbnVsbDsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGZvckVhY2hGYXN0
KGFyZywgZnVuYykKLSAgICB7Ci0gICAgICAgIHJldHVybiBhcmcuZm9yRWFjaFRtcEZhc3QodG1w
ID0+IHsKLSAgICAgICAgICAgIGlmICghdG1wLmlzUmVnKQotICAgICAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgICAgIHJldHVybiBmdW5jKHRtcCk7Ci0gICAgICAgIH0pOwotICAgIH0KLSAg
ICAKLSAgICBzdGF0aWMgZm9yRWFjaChhcmcsIGFyZ1JvbGUsIGFyZ1R5cGUsIGFyZ1dpZHRoLCBm
dW5jKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFyZy5mb3JFYWNoVG1wKAotICAgICAgICAgICAg
YXJnUm9sZSwgYXJnVHlwZSwgYXJnV2lkdGgsCi0gICAgICAgICAgICAodG1wLCByb2xlLCB0eXBl
LCB3aWR0aCkgPT4gewotICAgICAgICAgICAgICAgIGlmICghdG1wLmlzUmVnKQotICAgICAgICAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmModG1wLCByb2xl
LCB0eXBlLCB3aWR0aCk7Ci0gICAgICAgICAgICB9KTsKLSAgICB9Ci19Ci0KLXsKLSAgICBSZWcu
cmVncyA9IFtdOwotICAgIGZ1bmN0aW9uIG5ld1JlZyguLi5hcmdzKQotICAgIHsKLSAgICAgICAg
bGV0IHJlc3VsdCA9IG5ldyBSZWcoLi4uYXJncyk7Ci0gICAgICAgIFJlZy5yZWdzLnB1c2gocmVz
dWx0KTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0KLSAgICAvLyBEZWZpbmUgWDg2
XzY0IEdQUnMKLSAgICB7Ci0gICAgICAgIGxldCBpbmRleCA9IDA7Ci0gICAgICAgIGZ1bmN0aW9u
IG5ld0dQUihuYW1lLCBpc0NhbGxlZVNhdmUpIHsgcmV0dXJuIG5ld1JlZyhpbmRleCsrLCBHUCwg
bmFtZSwgaXNDYWxsZWVTYXZlKTsgfQotICAgICAgICAKLSAgICAgICAgUmVnLnJheCA9IG5ld0dQ
UigicmF4Iik7Ci0gICAgICAgIFJlZy5yY3ggPSBuZXdHUFIoInJjeCIpOwotICAgICAgICBSZWcu
cmR4ID0gbmV3R1BSKCJyZHgiKTsKLSAgICAgICAgUmVnLnJieCA9IG5ld0dQUigicmJ4IiwgdHJ1
ZSk7Ci0gICAgICAgIFJlZy5yc3AgPSBuZXdHUFIoInJzcCIpOwotICAgICAgICBSZWcucmJwID0g
bmV3R1BSKCJyYnAiLCB0cnVlKTsKLSAgICAgICAgUmVnLnJzaSA9IG5ld0dQUigicnNpIik7Ci0g
ICAgICAgIFJlZy5yZGkgPSBuZXdHUFIoInJkaSIpOwotICAgICAgICBmb3IgKGxldCBpID0gODsg
aSA8PSAxNTsgKytpKQotICAgICAgICAgICAgUmVnW2ByJHtpfWBdID0gbmV3R1BSKGByJHtpfWAs
IGkgPj0gMTIpOwotICAgIH0KLQotICAgIC8vIERlZmluZSBYODZfNjQgRlBScy4KLSAgICBmb3Ig
KGxldCBpID0gMDsgaSA8PSAxNTsgKytpKQotICAgICAgICBSZWdbYHhtbSR7aX1gXSA9IG5ld1Jl
ZyhpLCBGUCwgYHhtbSR7aX1gKTsKLQotICAgIFJlZy5ncHJzID0gW10KLSAgICBSZWcuZnBycyA9
IFtdCi0gICAgUmVnLmNhbGxlZVNhdmVHUFJzID0gW10KLSAgICBSZWcuY2FsbGVlU2F2ZUZQUnMg
PSBbXQotICAgIFJlZy5jYWxsZWVTYXZlcyA9IFtdCi0gICAgZm9yIChsZXQgcmVnIG9mIFJlZy5y
ZWdzKSB7Ci0gICAgICAgIGlmIChyZWcuaXNHUCkgewotICAgICAgICAgICAgUmVnLmdwcnMucHVz
aChyZWcpOwotICAgICAgICAgICAgaWYgKHJlZy5pc0NhbGxlZVNhdmUpCi0gICAgICAgICAgICAg
ICAgUmVnLmNhbGxlZVNhdmVHUFJzLnB1c2gocmVnKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgIFJlZy5mcHJzLnB1c2gocmVnKTsKLSAgICAgICAgICAgIGlmIChyZWcuaXNDYWxsZWVT
YXZlKQotICAgICAgICAgICAgICAgIFJlZy5jYWxsZWVTYXZlRlBSUy5wdXNoKHJlZyk7Ci0gICAg
ICAgIH0KLSAgICAgICAgaWYgKHJlZy5pc0NhbGxlZVNhdmUpCi0gICAgICAgICAgICBSZWcuY2Fs
bGVlU2F2ZXMucHVzaChyZWcpOwotICAgIH0KLSAgICAKLSAgICBSZWcuY2FsbEZyYW1lUmVnaXN0
ZXIgPSBSZWcucmJwOwotICAgIFJlZy5zdGFja1BvaW50ZXJSZWdpc3RlciA9IFJlZy5yc3A7Ci19
CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9zdGFja19zbG90Lmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3N0YWNr
X3Nsb3QuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxl
QmVuY2gvQWlyL3N0YWNrX3Nsb3QuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMDIgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3Qi
OwotCi1jbGFzcyBTdGFja1Nsb3QgewotICAgIGNvbnN0cnVjdG9yKGluZGV4LCBieXRlU2l6ZSwg
a2luZCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2luZGV4ID0gaW5kZXg7Ci0gICAgICAgIHRoaXMu
X2J5dGVTaXplID0gYnl0ZVNpemU7Ci0gICAgICAgIHRoaXMuX2tpbmQgPSBraW5kOwotICAgIH0K
LSAgICAKLSAgICBnZXQgYnl0ZVNpemUoKSB7IHJldHVybiB0aGlzLl9ieXRlU2l6ZTsgfQotICAg
IGdldCBraW5kKCkgeyByZXR1cm4gdGhpcy5fa2luZDsgfQotICAgIAotICAgIGdldCBpc0xvY2tl
ZCgpIHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gTG9ja2VkOyB9Ci0gICAgZ2V0IGlzU3BpbGwoKSB7
IHJldHVybiB0aGlzLl9raW5kID09IFNwaWxsOyB9Ci0gICAgCi0gICAgZ2V0IGluZGV4KCkgeyBy
ZXR1cm4gdGhpcy5faW5kZXg7IH0KLQotICAgIGVuc3VyZVNpemUoc2l6ZSkKLSAgICB7Ci0gICAg
ICAgIGlmICh0aGlzLl9vZmZzZXRGcm9tRlApCi0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IlN0YWNrIHNsb3QgYWxyZWFkeSBhbGxvY2F0ZWQiKTsKLSAgICAgICAgdGhpcy5fYnl0ZVNpemUg
PSBNYXRoLm1heCh0aGlzLl9ieXRlU2l6ZSwgc2l6ZSk7Ci0gICAgfQotICAgIAotICAgIGdldCBh
bGlnbm1lbnQoKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2J5dGVTaXplIDw9IDEpCi0gICAg
ICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgaWYgKHRoaXMuX2J5dGVTaXplIDw9IDIpCi0gICAg
ICAgICAgICByZXR1cm4gMjsKLSAgICAgICAgaWYgKHRoaXMuX2J5dGVTaXplIDw9IDQpCi0gICAg
ICAgICAgICByZXR1cm4gNDsKLSAgICAgICAgcmV0dXJuIDg7Ci0gICAgfQotICAgIAotICAgIGdl
dCBvZmZzZXRGcm9tRlAoKSB7IHJldHVybiB0aGlzLl9vZmZzZXRGcm9tRlA7IH0KLSAgICAKLSAg
ICBzZXRPZmZzZXRGcm9tRlAodmFsdWUpIHsgdGhpcy5fb2Zmc2V0RnJvbUZQID0gdmFsdWU7IH0K
LSAgICAKLSAgICBoYXNoKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiAoKHRoaXMuX2tpbmQgPT0g
U3BpbGwgPyAxIDogMCkgKyB0aGlzLl9ieXRlU2l6ZSAqIDMgKyAodGhpcy5fb2Zmc2V0RnJvbUZQ
ID8gdGhpcy5fb2Zmc2V0RnJvbUZQICogNyA6IDApKSA+Pj4gMDsKLSAgICB9Ci0gICAgCi0gICAg
dG9TdHJpbmcoKQotICAgIHsKLSAgICAgICAgcmV0dXJuICIiICsgKHRoaXMuaXNTcGlsbCA/ICJz
cGlsbCIgOiAic3RhY2siKSArIHRoaXMuX2luZGV4ICsgIjwiICsgdGhpcy5fYnl0ZVNpemUgKwot
ICAgICAgICAgICAgKHRoaXMuX29mZnNldEZyb21GUCA/ICIsIG9mZnNldCA9ICIgKyB0aGlzLl9v
ZmZzZXRGcm9tRlAgOiAiIikgKyAiPiI7Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBleHRyYWN0
KGFyZykKLSAgICB7Ci0gICAgICAgIGlmIChhcmcuaXNTdGFjaykKLSAgICAgICAgICAgIHJldHVy
biBhcmcuc3RhY2tTbG90OwotICAgICAgICByZXR1cm4gbnVsbDsKLSAgICB9Ci0gICAgCi0gICAg
c3RhdGljIGZvckVhY2hGYXN0KGFyZywgZnVuYykKLSAgICB7Ci0gICAgICAgIGlmICghYXJnLmlz
U3RhY2spCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgICAgICBsZXQgcmVwbGFj
ZW1lbnQ7Ci0gICAgICAgIGlmIChyZXBsYWNlbWVudCA9IGZ1bmMoYXJnLnN0YWNrU2xvdCkpCi0g
ICAgICAgICAgICByZXR1cm4gQXJnLmNyZWF0ZVN0YWNrKHJlcGxhY2VtZW50LCB0aGlzLl9vZmZz
ZXQpOwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgZm9yRWFjaChhcmcsIHJvbGUsIHR5cGUsIHdp
ZHRoLCBmdW5jKQotICAgIHsKLSAgICAgICAgaWYgKCFhcmcuaXNTdGFjaykKLSAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgCi0gICAgICAgIGxldCByZXBsYWNlbWVudDsKLSAgICAgICAgaWYg
KHJlcGxhY2VtZW50ID0gZnVuYyhhcmcuc3RhY2tTbG90LCByb2xlLCB0eXBlLCB3aWR0aCkpCi0g
ICAgICAgICAgICByZXR1cm4gQXJnLmNyZWF0ZVN0YWNrKHJlcGxhY2VtZW50LCB0aGlzLl9vZmZz
ZXQpOwotICAgIH0KLX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWly
L3N0cmVzcy10ZXN0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxl
QmVuY2gvQWlyL3N0cmVzcy10ZXN0LmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5j
ZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9zdHJlc3MtdGVzdC5qcwkobm9uZXhpc3RlbnQpCkBA
IC0xLDUyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0g
Ki8KLSJ1c2Ugc3RyaWN0IjsKLQotbG9hZCgiYWxsLmpzIik7Ci1sb2FkKCJwYXlsb2FkLWdiZW11
LWV4ZWN1dGVJdGVyYXRpb24uanMiKTsKLWxvYWQoInBheWxvYWQtaW1hZ2luZy1nYXVzc2lhbi1i
bHVyLWdhdXNzaWFuQmx1ci5qcyIpOwotbG9hZCgicGF5bG9hZC1haXJqcy1BQ0xqOEMuanMiKTsK
LWxvYWQoInBheWxvYWQtdHlwZXNjcmlwdC1zY2FuSWRlbnRpZmllci5qcyIpOwotbG9hZCgiYmVu
Y2htYXJrLmpzIik7Ci0KLWxldCBiZW5jaG1hcmsgPSBuZXcgQWlyQmVuY2htYXJrKCk7Ci1sZXQg
YmVmb3JlID0gcHJlY2lzZVRpbWUoKTsKLQotLy8gUnVuIGZvciBhdCBsZWFzdCAxMCBpdGVyYXRp
b25zLgotZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgKytpKSB7Ci0gICAgcHJpbnQoIlJ1bm5pbmcg
bWFuZGF0b3J5IGl0ZXJhdGlvbiAjIiArIChpICsgMSkgKyAiOiIpOwotICAgIGJlbmNobWFyay5y
dW5JdGVyYXRpb24oKTsKLX0KLQotLy8gUnVuIHVudGlsIHdlIGhhdmUgYmVlbiBydW5uaW5nIGZv
ciB0d28gc2Vjb25kcy4KLXdoaWxlIChwcmVjaXNlVGltZSgpIDwgYmVmb3JlICsgMikgewotICAg
IHByaW50KCJSdW5uaW5nIGJvbnVzIGl0ZXJhdGlvbjoiKTsKLSAgICBiZW5jaG1hcmsucnVuSXRl
cmF0aW9uKCk7Ci19Ci0KLXByaW50KCJTdWNjZXNzISIpOwotCi0KLQpJbmRleDogUGVyZm9ybWFu
Y2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvc3RyaXAtaGFzaC5yYgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQ
ZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9zdHJpcC1oYXNoLnJiCShyZXZpc2lv
biAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9zdHJpcC1o
YXNoLnJiCShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAotIyBUaGlzIGlzIGEgdXNlZnVs
IGhhY2sgZm9yIGNsZWFuaW5nIHVwIHRoZSBwYXlsb2FkcyBnZW5lcmF0ZWQgYnkgQWlyOjpkdW1w
QXNKUygpLiBUaGF0IHdpbGwKLSMgZ2VuZXJhdGUgY29kZSB0aGF0IGNvbXB1dGVzIHRoZSBoYXNo
IG9mIGluc3RzIGFuZCBzdGFjayBzbG90cyBhbmQgY2hlY2tzIGl0LiBUaGlzIGlzIHVzZWZ1bCBm
b3IKLSMgZGVidWdnaW5nLCBidXQgd2UgcHJvYmFibHkgZG9uJ3Qgd2FudCB0aGF0IG92ZXJoZWFk
IGluIHRoZSBwYXlsb2FkcyB3ZSBkZXBsb3kuIFNvLCB5b3UgY2FuIHJ1bgotIyB0aGlzIHNjcmlw
dCB0byByZW1vdmUgYWxsIG9mIHRoZSBoYXNoaW5nIGNvZGUuCi0KLUFSR1YuZWFjaCB7Ci0gICAg
fCBmaWxlbmFtZSB8Ci0gICAgSU86OndyaXRlKGZpbGVuYW1lLCBJTzo6cmVhZChmaWxlbmFtZSku
bGluZXMucmVqZWN0e3x2fCB2ID1+IC9oYXNoL2l9LmpvaW4oKSkKLX0KLQpJbmRleDogUGVyZm9y
bWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvc3ltYm9scy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQ
ZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9zeW1ib2xzLmpzCShyZXZpc2lvbiAy
MTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9zeW1ib2xzLmpz
CShub25leGlzdGVudCkKQEAgLTEsMTYyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotLy8gVGhpcyBmaWxlIGlzIGZv
ciBtaXNjIHN5bWJvbHMuCi0KLS8vIEIzIHR5cGVzCi1jb25zdCBWb2lkID0gU3ltYm9sKCJWb2lk
Iik7Ci1jb25zdCBJbnQzMiA9IFN5bWJvbCgiSW50MzIiKTsKLWNvbnN0IEludDY0ID0gU3ltYm9s
KCJJbnQ2NCIpOwotY29uc3QgRmxvYXQgPSBTeW1ib2woIkZsb2F0Iik7Ci1jb25zdCBEb3VibGUg
PSBTeW1ib2woIkRvdWJsZSIpOwotCi0vLyBBcmcgdHlwZQotY29uc3QgR1AgPSBTeW1ib2woIkdQ
Iik7Ci1jb25zdCBGUCA9IFN5bWJvbCgiRlAiKTsKLQotLy8gU3RhY2sgc2xvdCBraW5kCi1jb25z
dCBMb2NrZWQgPSBTeW1ib2woIkxvY2tlZCIpOwotY29uc3QgU3BpbGwgPSBTeW1ib2woIlNwaWxs
Iik7Ci0KLS8vIEZyZXF1ZW5jeSBjbGFzcwotY29uc3QgTm9ybWFsID0gU3ltYm9sKCJOb3JtYWwi
KTsKLWNvbnN0IFJhcmUgPSBTeW1ib2woIlJhcmUiKTsKLQotLy8gUmVsYXRpb25hbCBjb25kaXRp
b25zCi1jb25zdCBFcXVhbCA9IFN5bWJvbCgiRXF1YWwiKTsKLWNvbnN0IE5vdEVxdWFsID0gU3lt
Ym9sKCJOb3RFcXVhbCIpOwotY29uc3QgQWJvdmUgPSBTeW1ib2woIkFib3ZlIik7Ci1jb25zdCBB
Ym92ZU9yRXF1YWwgPSBTeW1ib2woIkFib3ZlT3JFcXVhbCIpOwotY29uc3QgQmVsb3cgPSBTeW1i
b2woIkJlbG93Iik7Ci1jb25zdCBCZWxvd09yRXF1YWwgPSBTeW1ib2woIkJlbG93T3JFcXVhbCIp
OwotY29uc3QgR3JlYXRlclRoYW4gPSBTeW1ib2woIkdyZWF0ZXJUaGFuIik7Ci1jb25zdCBHcmVh
dGVyVGhhbk9yRXF1YWwgPSBTeW1ib2woIkdyZWF0ZXJUaGFuT3JFcXVhbCIpOwotY29uc3QgTGVz
c1RoYW4gPSBTeW1ib2woIkxlc3NUaGFuIik7Ci1jb25zdCBMZXNzVGhhbk9yRXF1YWwgPSBTeW1i
b2woIkxlc3NUaGFuT3JFcXVhbCIpOwotCi1mdW5jdGlvbiByZWxDb25kQ29kZShjb25kKQotewot
ICAgIHN3aXRjaCAoY29uZCkgewotICAgIGNhc2UgRXF1YWw6Ci0gICAgICAgIHJldHVybiA0Owot
ICAgIGNhc2UgTm90RXF1YWw6Ci0gICAgICAgIHJldHVybiA1OwotICAgIGNhc2UgQWJvdmU6Ci0g
ICAgICAgIHJldHVybiA3OwotICAgIGNhc2UgQWJvdmVPckVxdWFsOgotICAgICAgICByZXR1cm4g
MzsKLSAgICBjYXNlIEJlbG93OgotICAgICAgICByZXR1cm4gMjsKLSAgICBjYXNlIEJlbG93T3JF
cXVhbDoKLSAgICAgICAgcmV0dXJuIDY7Ci0gICAgY2FzZSBHcmVhdGVyVGhhbjoKLSAgICAgICAg
cmV0dXJuIDE1OwotICAgIGNhc2UgR3JlYXRlclRoYW5PckVxdWFsOgotICAgICAgICByZXR1cm4g
MTM7Ci0gICAgY2FzZSBMZXNzVGhhbjoKLSAgICAgICAgcmV0dXJuIDEyOwotICAgIGNhc2UgTGVz
c1RoYW5PckVxdWFsOgotICAgICAgICByZXR1cm4gMTQ7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJCYWQgcmVsIGNvbmQiKTsKLSAgICB9Ci19Ci0KLS8vIFJlc3VsdCBj
b25kaXRpb25zCi1jb25zdCBPdmVyZmxvdyA9IFN5bWJvbCgiT3ZlcmZsb3ciKTsKLWNvbnN0IFNp
Z25lZCA9IFN5bWJvbCgiU2lnbmVkIik7Ci1jb25zdCBQb3NpdGl2ZU9yWmVybyA9IFN5bWJvbCgi
UG9zaXRpdmVPclplcm8iKTsKLWNvbnN0IFplcm8gPSBTeW1ib2woIlplcm8iKTsKLWNvbnN0IE5v
blplcm8gPSBTeW1ib2woIk5vblplcm8iKTsKLQotZnVuY3Rpb24gcmVzQ29uZENvZGUoY29uZCkK
LXsKLSAgICBzd2l0Y2ggKGNvbmQpIHsKLSAgICBjYXNlIE92ZXJmbG93OgotICAgICAgICByZXR1
cm4gMDsKLSAgICBjYXNlIFNpZ25lZDoKLSAgICAgICAgcmV0dXJuIDg7Ci0gICAgY2FzZSBQb3Np
dGl2ZU9yWmVybzoKLSAgICAgICAgcmV0dXJuIDk7Ci0gICAgY2FzZSBaZXJvOgotICAgICAgICBy
ZXR1cm4gNDsKLSAgICBjYXNlIE5vblplcm86Ci0gICAgICAgIHJldHVybiA1OwotICAgIGRlZmF1
bHQ6Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIHJlcyBjb25kOiAiICsgY29uZC50b1N0
cmluZygpKTsKLSAgICB9Ci19Ci0KLS8vIERvdWJsZSBjb25kaXRpb25zCi1jb25zdCBEb3VibGVF
cXVhbCA9IFN5bWJvbCgiRG91YmxlRXF1YWwiKTsKLWNvbnN0IERvdWJsZU5vdEVxdWFsID0gU3lt
Ym9sKCJEb3VibGVOb3RFcXVhbCIpOwotY29uc3QgRG91YmxlR3JlYXRlclRoYW4gPSBTeW1ib2wo
IkRvdWJsZUdyZWF0ZXJUaGFuIik7Ci1jb25zdCBEb3VibGVHcmVhdGVyVGhhbk9yRXF1YWwgPSBT
eW1ib2woIkRvdWJsZUdyZWF0ZXJUaGFuT3JFcXVhbCIpOwotY29uc3QgRG91YmxlTGVzc1RoYW4g
PSBTeW1ib2woIkRvdWJsZUxlc3NUaGFuIik7Ci1jb25zdCBEb3VibGVMZXNzVGhhbk9yRXF1YWwg
PSBTeW1ib2woIkRvdWJsZUxlc3NUaGFuT3JFcXVhbCIpOwotY29uc3QgRG91YmxlRXF1YWxPclVu
b3JkZXJlZCA9IFN5bWJvbCgiRG91YmxlRXF1YWxPclVub3JkZXJlZCIpOwotY29uc3QgRG91Ymxl
Tm90RXF1YWxPclVub3JkZXJlZCA9IFN5bWJvbCgiRG91YmxlTm90RXF1YWxPclVub3JkZXJlZCIp
OwotY29uc3QgRG91YmxlR3JlYXRlclRoYW5PclVub3JkZXJlZCA9IFN5bWJvbCgiRG91YmxlR3Jl
YXRlclRoYW5PclVub3JkZXJlZCIpOwotY29uc3QgRG91YmxlR3JlYXRlclRoYW5PckVxdWFsT3JV
bm9yZGVyZWQgPSBTeW1ib2woIkRvdWJsZUdyZWF0ZXJUaGFuT3JFcXVhbE9yVW5vcmRlcmVkIik7
Ci1jb25zdCBEb3VibGVMZXNzVGhhbk9yVW5vcmRlcmVkID0gU3ltYm9sKCJEb3VibGVMZXNzVGhh
bk9yVW5vcmRlcmVkIik7Ci1jb25zdCBEb3VibGVMZXNzVGhhbk9yRXF1YWxPclVub3JkZXJlZCA9
IFN5bWJvbCgiRG91YmxlTGVzc1RoYW5PckVxdWFsT3JVbm9yZGVyZWQiKTsKLQotZnVuY3Rpb24g
ZG91YmxlQ29uZENvZGUoY29uZCkKLXsKLSAgICBjb25zdCBiaXRJbnZlcnQgPSAweDEwOwotICAg
IGNvbnN0IGJpdFNwZWNpYWwgPSAweDIwOwotICAgIHN3aXRjaCAoY29uZCkgewotICAgIGNhc2Ug
RG91YmxlRXF1YWw6Ci0gICAgICAgIHJldHVybiA0IHwgYml0U3BlY2lhbDsKLSAgICBjYXNlIERv
dWJsZU5vdEVxdWFsOgotICAgICAgICByZXR1cm4gNTsKLSAgICBjYXNlIERvdWJsZUdyZWF0ZXJU
aGFuOgotICAgICAgICByZXR1cm4gNzsKLSAgICBjYXNlIERvdWJsZUdyZWF0ZXJUaGFuT3JFcXVh
bDoKLSAgICAgICAgcmV0dXJuIDM7Ci0gICAgY2FzZSBEb3VibGVMZXNzVGhhbjoKLSAgICAgICAg
cmV0dXJuIDcgfCBiaXRJbnZlcnQ7Ci0gICAgY2FzZSBEb3VibGVMZXNzVGhhbk9yRXF1YWw6Ci0g
ICAgICAgIHJldHVybiAzIHwgYml0SW52ZXJ0OwotICAgIGNhc2UgRG91YmxlRXF1YWxPclVub3Jk
ZXJlZDoKLSAgICAgICAgcmV0dXJuIDQ7Ci0gICAgY2FzZSBEb3VibGVOb3RFcXVhbE9yVW5vcmRl
cmVkOgotICAgICAgICByZXR1cm4gNSB8IGJpdFNwZWNpYWw7Ci0gICAgY2FzZSBEb3VibGVHcmVh
dGVyVGhhbk9yVW5vcmRlcmVkOgotICAgICAgICByZXR1cm4gMiB8IGJpdEludmVydDsKLSAgICBj
YXNlIERvdWJsZUdyZWF0ZXJUaGFuT3JFcXVhbE9yVW5vcmRlcmVkOgotICAgICAgICByZXR1cm4g
NiB8IGJpdEludmVydDsKLSAgICBjYXNlIERvdWJsZUxlc3NUaGFuT3JVbm9yZGVyZWQ6Ci0gICAg
ICAgIHJldHVybiAyOwotICAgIGNhc2UgRG91YmxlTGVzc1RoYW5PckVxdWFsT3JVbm9yZGVyZWQ6
Ci0gICAgICAgIHJldHVybiA2OwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHRocm93IG5ldyBFcnJv
cigiQmFkIGNvbmQiKTsKLSAgICB9Ci19Ci0KLS8vIERlZmluZSBwb2ludGVyVHlwZSgpCi1jb25z
dCBQdHIgPSA2NDsKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3Rl
c3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fp
ci90ZXN0Lmh0bWwJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2Ft
cGxlQmVuY2gvQWlyL3Rlc3QuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDQ1ICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08dGl0bGU+QWlyLmpzPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJzeW1ib2xz
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJ0bXBfYmFzZS5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iYXJnLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJiYXNpY19ibG9jay5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iY29kZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
ZnJlcXVlbnRlZF9ibG9jay5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iaW5zdC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0ib3Bjb2RlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJy
ZWcuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InN0YWNrX3Nsb3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9InRtcC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0idXRpbC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iY3VzdG9tLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJs
aXZlbmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iaW5zZXJ0aW9uX3NldC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iYWxsb2NhdGVfc3RhY2suanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9InBheWxvYWQtZ2JlbXUtZXhlY3V0ZUl0ZXJhdGlvbi5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0icGF5bG9hZC1pbWFnaW5nLWdhdXNzaWFuLWJsdXItZ2F1c3NpYW5CbHVyLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJwYXlsb2FkLWFpcmpzLUFDTGo4Qy5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0icGF5bG9hZC10eXBlc2NyaXB0LXNjYW5JZGVudGlmaWVyLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJiZW5jaG1hcmsuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLSAg
ICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICB0cnkgewotICAgICAgICAgICAgdmFyIHJl
c3VsdCA9IHJ1bkJlbmNobWFyaygpOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInJlc3VsdC1zdW1tYXJ5IikuaW5uZXJIVE1MID0gIlRoYXQgdG9vayAiICsgcmVzdWx0ICsg
IiBtcy4iOwotICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicmVzdWx0LXN1bW1hcnkiKS5pbm5lckhUTUwgPSAiRmFpbGVkOiAiICsgZTsK
LSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08aDE+QWlyLmpz
PC9oMT4KLTxwPgotICA8ZGl2IGlkPSJyZXN1bHQtc3VtbWFyeSI+PC9kaXY+Ci0gIDxkaXY+PGEg
aHJlZj0iamF2YXNjcmlwdDpydW5UZXN0KCkiPlN0YXJ0IFRlc3Q8L2E+PC9kaXY+Ci08L3A+Ci08
L2JvZHk+Ci08L2h0bWw+Ci0KLQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5j
aC9BaXIvdGVzdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJl
bmNoL0Fpci90ZXN0LmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VT
NlNhbXBsZUJlbmNoL0Fpci90ZXN0LmpzCShub25leGlzdGVudCkKQEAgLTEsMzUgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3Qi
OwotCi1sb2FkKCJhbGwuanMiKTsKLWxvYWQoInBheWxvYWQtZ2JlbXUtZXhlY3V0ZUl0ZXJhdGlv
bi5qcyIpOwotbG9hZCgicGF5bG9hZC1pbWFnaW5nLWdhdXNzaWFuLWJsdXItZ2F1c3NpYW5CbHVy
LmpzIik7Ci1sb2FkKCJwYXlsb2FkLWFpcmpzLUFDTGo4Qy5qcyIpOwotbG9hZCgicGF5bG9hZC10
eXBlc2NyaXB0LXNjYW5JZGVudGlmaWVyLmpzIik7Ci1sb2FkKCJiZW5jaG1hcmsuanMiKTsKLQot
bGV0IHJlc3VsdCA9IHJ1bkJlbmNobWFyaygpOwotcHJpbnQoIlRoYXQgdG9vayAiICsgcmVzdWx0
ICsgIiBtcy4iKTsKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3Rt
cC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci90
bXAuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVu
Y2gvQWlyL3RtcC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDY2ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3Mg
VG1wIGV4dGVuZHMgVG1wQmFzZSB7Ci0gICAgY29uc3RydWN0b3IoaW5kZXgsIHR5cGUpCi0gICAg
ewotICAgICAgICBzdXBlcigpOwotICAgICAgICB0aGlzLl9pbmRleCA9IGluZGV4OwotICAgICAg
ICB0aGlzLl90eXBlID0gdHlwZTsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGZyb21SZWcocmVn
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIHJlZzsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGluZGV4
KCkgeyByZXR1cm4gdGhpcy5faW5kZXg7IH0KLSAgICBnZXQgdHlwZSgpIHsgcmV0dXJuIHRoaXMu
X3R5cGU7IH0KLSAgICAKLSAgICBnZXQgaXNSZWcoKSB7IHJldHVybiBmYWxzZTsgfQotICAgIAot
ICAgIGhhc2goKQotICAgIHsKLSAgICAgICAgaWYgKGlzR1ApCi0gICAgICAgICAgICByZXR1cm4g
UmVnLmdwcnNbUmVnLmdwcnMubGVuZ3RoIC0gMV0uaGFzaCgpICsgMSArIHRoaXMuX2luZGV4Owot
ICAgICAgICByZXR1cm4gUmVnLmZwcnNbUmVnLmZwcnMubGVuZ3RoIC0gMV0uaGFzaCgpIC0gMSAt
IHRoaXMuX2luZGV4OwotICAgIH0KLQotICAgIHRvU3RyaW5nKCkKLSAgICB7Ci0gICAgICAgIHJl
dHVybiAiJSIgKyAodGhpcy5pc0dQID8gIiIgOiAiZiIpICsgInRtcCIgKyB0aGlzLl9pbmRleDsK
LSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGV4dHJhY3QoYXJnKQotICAgIHsKLSAgICAgICAgaWYg
KGFyZy5pc1RtcCkKLSAgICAgICAgICAgIHJldHVybiBhcmcudG1wOwotICAgICAgICByZXR1cm4g
bnVsbDsKLSAgICB9Ci0KLSAgICBzdGF0aWMgZm9yRWFjaEZhc3QoYXJnLCBmdW5jKSB7IHJldHVy
biBhcmcuZm9yRWFjaFRtcEZhc3QoZnVuYyk7IH0KLSAgICBzdGF0aWMgZm9yRWFjaChhcmcsIHJv
bGUsIHR5cGUsIHdpZHRoLCBmdW5jKSB7IHJldHVybiBhcmcuZm9yRWFjaFRtcChyb2xlLCB0eXBl
LCB3aWR0aCwgZnVuYyk7IH0KLX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVu
Y2gvQWlyL3RtcF9iYXNlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2Ft
cGxlQmVuY2gvQWlyL3RtcF9iYXNlLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5j
ZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci90bXBfYmFzZS5qcwkobm9uZXhpc3RlbnQpCkBAIC0x
LDU1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8K
LSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgVG1wQmFzZSB7Ci0gICAgZ2V0IGlzR1AoKSB7IHJldHVy
biB0aGlzLnR5cGUgPT0gR1A7IH0KLSAgICBnZXQgaXNGUCgpIHsgcmV0dXJuIHRoaXMudHlwZSA9
PSBGUDsgfQotICAgIAotICAgIGdldCBpc0dQUigpIHsgcmV0dXJuIHRoaXMuaXNSZWcgJiYgdGhp
cy5pc0dQOyB9Ci0gICAgZ2V0IGlzRlBSKCkgeyByZXR1cm4gdGhpcy5pc1JlZyAmJiB0aGlzLmlz
RlA7IH0KLSAgICAKLSAgICBnZXQgcmVnKCkKLSAgICB7Ci0gICAgICAgIGlmICghdGhpcy5pc1Jl
ZykKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2FsbGVkIC5yZWcgb24gbm9uLVJlZyIp
OwotICAgICAgICByZXR1cm4gdGhpczsKLSAgICB9Ci0KLSAgICBnZXQgZ3ByKCkKLSAgICB7Ci0g
ICAgICAgIGlmICghdGhpcy5pc0dQUikKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2Fs
bGVkIC5ncHIgb24gbm9uLUdQUiIpOwotICAgICAgICByZXR1cm4gdGhpczsKLSAgICB9Ci0gICAg
Ci0gICAgZ2V0IGZwcigpCi0gICAgewotICAgICAgICBpZiAoIXRoaXMuaXNGUFIpCi0gICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbGxlZCAuZnByIG9uIG5vbi1GUFIiKTsKLSAgICAgICAg
cmV0dXJuIHRoaXM7Ci0gICAgfQotfQotCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBs
ZUJlbmNoL0Fpci91dGlsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2Ft
cGxlQmVuY2gvQWlyL3V0aWwuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVz
dHMvRVM2U2FtcGxlQmVuY2gvQWlyL3V0aWwuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNzkgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBz
dHJpY3QiOwotCi1mdW5jdGlvbiBpc1JlcHJlc2VudGFibGVBc0ludDMyKHZhbHVlKQotewotICAg
IHJldHVybiAodmFsdWUgfCAwKSA9PT0gdmFsdWU7Ci19Ci0KLWZ1bmN0aW9uIGFkZEluZGV4ZWQo
bGlzdCwgY29ucywgLi4uYXJncykKLXsKLSAgICBsZXQgcmVzdWx0ID0gbmV3IGNvbnMobGlzdC5s
ZW5ndGgsIC4uLmFyZ3MpOwotICAgIGxpc3QucHVzaChyZXN1bHQpOwotICAgIHJldHVybiByZXN1
bHQ7Ci19Ci0KLWNvbnN0IHN0YWNrQWxpZ25tZW50Qnl0ZXMgPSAxNjsKLQotZnVuY3Rpb24gcm91
bmRVcFRvTXVsdGlwbGVPZihhbW91bnQsIHZhbHVlKQotewotICAgIHJldHVybiBNYXRoLmNlaWwo
dmFsdWUgLyBhbW91bnQpICogYW1vdW50OwotfQotCi1mdW5jdGlvbiBzeW1ib2xOYW1lKHN5bWJv
bCkKLXsKLSAgICBsZXQgZnVsbFN0cmluZyA9IHN5bWJvbC50b1N0cmluZygpOwotICAgIHJldHVy
biBmdWxsU3RyaW5nLnN1YnN0cmluZygiU3ltYm9sKCIubGVuZ3RoLCBmdWxsU3RyaW5nLmxlbmd0
aCAtICIpIi5sZW5ndGgpOwotfQotCi1mdW5jdGlvbiBsb3dlclN5bWJvbE5hbWUoc3ltYm9sKQot
ewotICAgIHJldHVybiBzeW1ib2xOYW1lKHN5bWJvbCkudG9Mb3dlckNhc2UoKTsKLX0KLQotZnVu
Y3Rpb24gc2V0VG9TdHJpbmcoc2V0KQotewotICAgIGxldCByZXN1bHQgPSAiIjsKLSAgICBmb3Ig
KGxldCB2YWx1ZSBvZiBzZXQpIHsKLSAgICAgICAgaWYgKHJlc3VsdCkKLSAgICAgICAgICAgIHJl
c3VsdCArPSAiLCAiOwotICAgICAgICByZXN1bHQgKz0gdmFsdWU7Ci0gICAgfQotICAgIHJldHVy
biByZXN1bHQ7Ci19Ci0KLWZ1bmN0aW9uIG1lcmdlSW50b1NldCh0YXJnZXQsIHNvdXJjZSkKLXsK
LSAgICBsZXQgZGlkQWRkID0gZmFsc2U7Ci0gICAgZm9yIChsZXQgdmFsdWUgb2Ygc291cmNlKSB7
Ci0gICAgICAgIGlmICh0YXJnZXQuaGFzKHZhbHVlKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwot
ICAgICAgICB0YXJnZXQuYWRkKHZhbHVlKTsKLSAgICAgICAgZGlkQWRkID0gdHJ1ZTsKLSAgICB9
Ci0gICAgcmV0dXJuIGRpZEFkZDsKLX0KLQotZnVuY3Rpb24gbm9uRW1wdHlSYW5nZXNPdmVybGFw
KGxlZnRNaW4sIGxlZnRNYXgsIHJpZ2h0TWluLCByaWdodE1heCkKLXsKLSAgICBpZiAobGVmdE1p
biA+PSBsZWZ0TWF4KQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBsZWZ0IHJhbmdlIik7
Ci0gICAgaWYgKHJpZ2h0TWluID49IHJpZ2h0TWF4KQotICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCByaWdodCByYW5nZSIpOwotICAgIAotICAgIGlmIChsZWZ0TWluIDw9IHJpZ2h0TWluICYm
IGxlZnRNYXggPiByaWdodE1pbikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKHJpZ2h0
TWluIDw9IGxlZnRNaW4gJiYgcmlnaHRNYXggPiBsZWZ0TWluKQotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWZ1bmN0aW9uIHJhbmdlc092ZXJsYXAobGVmdE1p
biwgbGVmdE1heCwgcmlnaHRNaW4sIHJpZ2h0TWF4KQotewotICAgIGlmIChsZWZ0TWluID4gbGVm
dE1heCkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgbGVmdCByYW5nZSIpOwotICAgIGlm
IChyaWdodE1pbiA+IHJpZ2h0TWF4KQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCByaWdo
dCByYW5nZSIpOwotICAgIAotICAgIGlmIChsZWZ0TWluID09IGxlZnRNYXgpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICBpZiAocmlnaHRNaW4gPT0gcmlnaHRNYXgpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAKLSAgICByZXR1cm4gbm9uRW1wdHlSYW5nZXNPdmVybGFwKGxlZnRNaW4s
IGxlZnRNYXgsIHJpZ2h0TWluLCByaWdodE1heCk7Ci19Ci0KLWZ1bmN0aW9uIHJlbW92ZUFsbE1h
dGNoaW5nKGFycmF5LCBmdW5jKQotewotICAgIGxldCBzcmNJbmRleCA9IDA7Ci0gICAgbGV0IGRz
dEluZGV4ID0gMDsKLSAgICB3aGlsZSAoc3JjSW5kZXggPCBhcnJheS5sZW5ndGgpIHsKLSAgICAg
ICAgbGV0IHZhbHVlID0gYXJyYXlbc3JjSW5kZXgrK107Ci0gICAgICAgIGlmICghZnVuYyh2YWx1
ZSkpCi0gICAgICAgICAgICBhcnJheVtkc3RJbmRleCsrXSA9IHZhbHVlOwotICAgIH0KLSAgICBh
cnJheS5sZW5ndGggPSBkc3RJbmRleDsKLX0KLQotZnVuY3Rpb24gYnViYmxlU29ydChhcnJheSwg
bGVzc1RoYW4pCi17Ci0gICAgZnVuY3Rpb24gc3dhcChpLCBqKQotICAgIHsKLSAgICAgICAgdmFy
IHRtcCA9IGFycmF5W2ldOwotICAgICAgICBhcnJheVtpXSA9IGFycmF5W2pdOwotICAgICAgICBh
cnJheVtqXSA9IHRtcDsKLSAgICB9Ci0gICAgCi0gICAgbGV0IGJlZ2luID0gMDsKLSAgICBsZXQg
ZW5kID0gYXJyYXkubGVuZ3RoOwotICAgIGZvciAoOzspIHsKLSAgICAgICAgbGV0IGNoYW5nZWQg
PSBmYWxzZTsKLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIGJ1YmJsZShpLCBqKQotICAgICAg
ICB7Ci0gICAgICAgICAgICBpZiAobGVzc1RoYW4oYXJyYXlbaV0sIGFycmF5W2pdKSkgewotICAg
ICAgICAgICAgICAgIHN3YXAoaSwgaik7Ci0gICAgICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7
Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAKLSAgICAgICAgaWYgKGVuZCA8IGJlZ2lu
KQotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCZWdpbiBhbmQgZW5kIGFyZSBtZXNzZWQg
dXAiKTsKLSAgICAgICAgCi0gICAgICAgIGxldCBsaW1pdCA9IGVuZCAtIGJlZ2luOwotICAgICAg
ICBmb3IgKGxldCBpID0gbGltaXQ7IGktLSA+IDE7KQotICAgICAgICAgICAgYnViYmxlKGJlZ2lu
ICsgaSwgYmVnaW4gKyBpIC0gMSk7Ci0gICAgICAgIGlmICghY2hhbmdlZCkKLSAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgCi0gICAgICAgIC8vIEFmdGVyIG9uZSBydW4sIHRoZSBmaXJzdCBl
bGVtZW50IGluIHRoZSBsaXN0IGlzIGd1YXJhbnRlZWQgdG8gYmUgdGhlIHNtYWxsZXN0LgotICAg
ICAgICBiZWdpbisrOwotICAgICAgICAKLSAgICAgICAgLy8gTm93IGdvIGluIHRoZSBvdGhlciBk
aXJlY3Rpb24uIFRoaXMgZWxpbWluYXRlcyBtb3N0IHNvcnRpbmcgcGF0aG9sb2dpZXMuCi0gICAg
ICAgIGNoYW5nZWQgPSBmYWxzZTsKLSAgICAgICAgCi0gICAgICAgIGlmIChlbmQgPCBiZWdpbikK
LSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmVnaW4gYW5kIGVuZCBhcmUgbWVzc2VkIHVw
Iik7Ci0gICAgICAgIAotICAgICAgICBsaW1pdCA9IGVuZCAtIGJlZ2luOwotICAgICAgICBmb3Ig
KGxldCBpID0gMTsgaSA8IGxpbWl0OyArK2kpCi0gICAgICAgICAgICBidWJibGUoYmVnaW4gKyBp
LCBiZWdpbiArIGkgLSAxKTsKLSAgICAgICAgaWYgKCFjaGFuZ2VkKQotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAKLSAgICAgICAgLy8gTm93IHRoZSBsYXN0IGVsZW1lbnQgaXMgZ3VhcmFu
dGVlZCB0byBiZSB0aGUgbGFyZ2VzdC4KLSAgICAgICAgZW5kLS07Ci0gICAgfQotfQotCi1sZXQg
Y3VycmVudFRpbWU7Ci1pZiAodGhpcy5wZXJmb3JtYW5jZSAmJiBwZXJmb3JtYW5jZS5ub3cpCi0g
ICAgY3VycmVudFRpbWUgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHBlcmZvcm1hbmNlLm5vdygpIH07
Ci1lbHNlIGlmICh0aGlzLnByZWNpc2VUaW1lKQotICAgIGN1cnJlbnRUaW1lID0gZnVuY3Rpb24o
KSB7IHJldHVybiBwcmVjaXNlVGltZSgpICogMTAwMDsgfTsKLWVsc2UKLSAgICBjdXJyZW50VGlt
ZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gK25ldyBEYXRlKCk7IH07Ci0KSW5kZXg6IFBlcmZvcm1h
bmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvYXN0LmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZv
cm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvYXN0LmpzCShyZXZpc2lvbiAyMTE2ODgp
CisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL2FzdC5qcwkobm9uZXhp
c3RlbnQpCkBAIC0xLDI3MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWNvbnN0IEJhc2ljID0ge307Ci0KLUJhc2lj
Lk51bWJlckFwcGx5ID0gZnVuY3Rpb24oc3RhdGUpCi17Ci0gICAgLy8gSSdkIGNhbGwgdGhpcyBh
cmd1bWVudHMgYnV0IHdlJ3JlIGluIHN0cmljdCBtb2RlLgotICAgIGxldCBwYXJhbWV0ZXJzID0g
dGhpcy5wYXJhbWV0ZXJzLm1hcCh2YWx1ZSA9PiB2YWx1ZS5ldmFsdWF0ZShzdGF0ZSkpOwotICAg
IAotICAgIHJldHVybiBzdGF0ZS5nZXRWYWx1ZSh0aGlzLm5hbWUsIHBhcmFtZXRlcnMubGVuZ3Ro
KS5hcHBseShzdGF0ZSwgcGFyYW1ldGVycyk7Ci19OwotCi1CYXNpYy5WYXJpYWJsZSA9IGZ1bmN0
aW9uKHN0YXRlKQotewotICAgIGxldCBwYXJhbWV0ZXJzID0gdGhpcy5wYXJhbWV0ZXJzLm1hcCh2
YWx1ZSA9PiB2YWx1ZS5ldmFsdWF0ZShzdGF0ZSkpOwotICAgIAotICAgIHJldHVybiBzdGF0ZS5n
ZXRWYWx1ZSh0aGlzLm5hbWUsIHBhcmFtZXRlcnMubGVuZ3RoKS5sZWZ0QXBwbHkoc3RhdGUsIHBh
cmFtZXRlcnMpOwotfQotCi1CYXNpYy5Db25zdCA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIHJl
dHVybiB0aGlzLnZhbHVlOwotfQotCi1CYXNpYy5OdW1iZXJQb3cgPSBmdW5jdGlvbihzdGF0ZSkK
LXsKLSAgICByZXR1cm4gTWF0aC5wb3codGhpcy5sZWZ0LmV2YWx1YXRlKHN0YXRlKSwgdGhpcy5y
aWdodC5ldmFsdWF0ZShzdGF0ZSkpOwotfQotCi1CYXNpYy5OdW1iZXJNdWwgPSBmdW5jdGlvbihz
dGF0ZSkKLXsKLSAgICByZXR1cm4gdGhpcy5sZWZ0LmV2YWx1YXRlKHN0YXRlKSAqIHRoaXMucmln
aHQuZXZhbHVhdGUoc3RhdGUpOwotfQotCi1CYXNpYy5OdW1iZXJEaXYgPSBmdW5jdGlvbihzdGF0
ZSkKLXsKLSAgICByZXR1cm4gdGhpcy5sZWZ0LmV2YWx1YXRlKHN0YXRlKSAvIHRoaXMucmlnaHQu
ZXZhbHVhdGUoc3RhdGUpOwotfQotCi1CYXNpYy5OdW1iZXJOZWcgPSBmdW5jdGlvbihzdGF0ZSkK
LXsKLSAgICByZXR1cm4gLXRoaXMudGVybS5ldmFsdWF0ZShzdGF0ZSk7Ci19Ci0KLUJhc2ljLk51
bWJlckFkZCA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIHJldHVybiB0aGlzLmxlZnQuZXZhbHVh
dGUoc3RhdGUpICsgdGhpcy5yaWdodC5ldmFsdWF0ZShzdGF0ZSk7Ci19Ci0KLUJhc2ljLk51bWJl
clN1YiA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIHJldHVybiB0aGlzLmxlZnQuZXZhbHVhdGUo
c3RhdGUpIC0gdGhpcy5yaWdodC5ldmFsdWF0ZShzdGF0ZSk7Ci19Ci0KLUJhc2ljLlN0cmluZ1Zh
ciA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIGxldCB2YWx1ZSA9IHN0YXRlLnN0cmluZ1ZhbHVl
cy5nZXQodGhpcy5uYW1lKTsKLSAgICBpZiAodmFsdWUgPT0gbnVsbCkKLSAgICAgICAgc3RhdGUu
YWJvcnQoIkNvdWxkIG5vdCBmaW5kIHN0cmluZyB2YXJpYWJsZSAiICsgdGhpcy5uYW1lKTsKLSAg
ICByZXR1cm4gdmFsdWU7Ci19Ci0KLUJhc2ljLkVxdWFscyA9IGZ1bmN0aW9uKHN0YXRlKQotewot
ICAgIHJldHVybiB0aGlzLmxlZnQuZXZhbHVhdGUoc3RhdGUpID09IHRoaXMucmlnaHQuZXZhbHVh
dGUoc3RhdGUpOwotfQotCi1CYXNpYy5Ob3RFcXVhbHMgPSBmdW5jdGlvbihzdGF0ZSkKLXsKLSAg
ICByZXR1cm4gdGhpcy5sZWZ0LmV2YWx1YXRlKHN0YXRlKSAhPSB0aGlzLnJpZ2h0LmV2YWx1YXRl
KHN0YXRlKTsKLX0KLQotQmFzaWMuTGVzc1RoYW4gPSBmdW5jdGlvbihzdGF0ZSkKLXsKLSAgICBy
ZXR1cm4gdGhpcy5sZWZ0LmV2YWx1YXRlKHN0YXRlKSA8IHRoaXMucmlnaHQuZXZhbHVhdGUoc3Rh
dGUpOwotfQotCi1CYXNpYy5HcmVhdGVyVGhhbiA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIHJl
dHVybiB0aGlzLmxlZnQuZXZhbHVhdGUoc3RhdGUpID4gdGhpcy5yaWdodC5ldmFsdWF0ZShzdGF0
ZSk7Ci19Ci0KLUJhc2ljLkxlc3NFcXVhbCA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIHJldHVy
biB0aGlzLmxlZnQuZXZhbHVhdGUoc3RhdGUpIDw9IHRoaXMucmlnaHQuZXZhbHVhdGUoc3RhdGUp
OwotfQotCi1CYXNpYy5HcmVhdGVyRXF1YWwgPSBmdW5jdGlvbihzdGF0ZSkKLXsKLSAgICByZXR1
cm4gdGhpcy5sZWZ0LmV2YWx1YXRlKHN0YXRlKSA+PSB0aGlzLnJpZ2h0LmV2YWx1YXRlKHN0YXRl
KTsKLX0KLQotQmFzaWMuR29UbyA9IGZ1bmN0aW9uKihzdGF0ZSkKLXsKLSAgICBzdGF0ZS5uZXh0
TGluZU51bWJlciA9IHRoaXMudGFyZ2V0OwotfQotCi1CYXNpYy5Hb1N1YiA9IGZ1bmN0aW9uKihz
dGF0ZSkKLXsKLSAgICBzdGF0ZS5zdWJTdGFjay5wdXNoKHN0YXRlLm5leHRMaW5lTnVtYmVyKTsK
LSAgICBzdGF0ZS5uZXh0TGluZU51bWJlciA9IHRoaXMudGFyZ2V0OwotfQotCi1CYXNpYy5EZWYg
PSBmdW5jdGlvbiooc3RhdGUpCi17Ci0gICAgc3RhdGUudmFsaWRhdGUoIXN0YXRlLnZhbHVlcy5o
YXModGhpcy5uYW1lKSwgIkNhbm5vdCByZWRlZmluZSBmdW5jdGlvbiIpOwotICAgIHN0YXRlLnZh
bHVlcy5zZXQodGhpcy5uYW1lLCBuZXcgTnVtYmVyRnVuY3Rpb24odGhpcy5wYXJhbWV0ZXJzLCB0
aGlzLmV4cHJlc3Npb24pKTsKLX0KLQotQmFzaWMuTGV0ID0gZnVuY3Rpb24qKHN0YXRlKQotewot
ICAgIHRoaXMudmFyaWFibGUuZXZhbHVhdGUoc3RhdGUpLmFzc2lnbih0aGlzLmV4cHJlc3Npb24u
ZXZhbHVhdGUoc3RhdGUpKTsKLX0KLQotQmFzaWMuSWYgPSBmdW5jdGlvbiooc3RhdGUpCi17Ci0g
ICAgaWYgKHRoaXMuY29uZGl0aW9uLmV2YWx1YXRlKHN0YXRlKSkKLSAgICAgICAgc3RhdGUubmV4
dExpbmVOdW1iZXIgPSB0aGlzLnRhcmdldDsKLX0KLQotQmFzaWMuUmV0dXJuID0gZnVuY3Rpb24q
KHN0YXRlKQotewotICAgIHRoaXMudmFsaWRhdGUoc3RhdGUuc3ViU3RhY2subGVuZ3RoLCAiTm90
IGluIGEgc3Vicm91dGluZSIpOwotICAgIHRoaXMubmV4dExpbmVOdW1iZXIgPSBzdGF0ZS5zdWJT
dGFjay5wb3AoKTsKLX0KLQotQmFzaWMuU3RvcCA9IGZ1bmN0aW9uKihzdGF0ZSkKLXsKLSAgICBz
dGF0ZS5uZXh0TGluZU51bWJlciA9IG51bGw7Ci19Ci0KLUJhc2ljLk9uID0gZnVuY3Rpb24qKHN0
YXRlKQotewotICAgIGxldCBpbmRleCA9IHRoaXMuZXhwcmVzc2lvbi5ldmFsdWF0ZShzdGF0ZSk7
Ci0gICAgaWYgKCEoaW5kZXggPj0gMSkgfHwgIShpbmRleCA8PSB0aGlzLnRhcmdldHMubGVuZ3Ro
KSkKLSAgICAgICAgc3RhdGUuYWJvcnQoIkluZGV4IG91dCBvZiBib3VuZHM6ICIgKyBpbmRleCk7
Ci0gICAgdGhpcy5uZXh0TGluZU51bWJlciA9IHRoaXMudGFyZ2V0c1tNYXRoLmZsb29yKGluZGV4
KV07Ci19Ci0KLUJhc2ljLkZvciA9IGZ1bmN0aW9uKihzdGF0ZSkKLXsKLSAgICBsZXQgc2lkZVN0
YXRlID0gc3RhdGUuZ2V0U2lkZVN0YXRlKHRoaXMpOwotICAgIHNpZGVTdGF0ZS52YXJpYWJsZSA9
IHN0YXRlLmdldFZhbHVlKHRoaXMudmFyaWFibGUsIDApLmxlZnRBcHBseShzdGF0ZSwgW10pOwot
ICAgIHNpZGVTdGF0ZS5pbml0aWFsVmFsdWUgPSB0aGlzLmluaXRpYWwuZXZhbHVhdGUoc3RhdGUp
OwotICAgIHNpZGVTdGF0ZS5saW1pdFZhbHVlID0gdGhpcy5saW1pdC5ldmFsdWF0ZShzdGF0ZSk7
Ci0gICAgc2lkZVN0YXRlLnN0ZXBWYWx1ZSA9IHRoaXMuc3RlcC5ldmFsdWF0ZShzdGF0ZSk7Ci0g
ICAgc2lkZVN0YXRlLnZhcmlhYmxlLmFzc2lnbihzaWRlU3RhdGUuaW5pdGlhbFZhbHVlKTsKLSAg
ICBzaWRlU3RhdGUuc2hvdWxkU3RvcCA9IGZ1bmN0aW9uKCkgewotICAgICAgICByZXR1cm4gKHNp
ZGVTdGF0ZS52YXJpYWJsZS52YWx1ZSAtIHNpZGVTdGF0ZS5saW1pdFZhbHVlKSAqIE1hdGguc2ln
bihzaWRlU3RhdGUuc3RlcFZhbHVlKSA+IDA7Ci0gICAgfTsKLSAgICBpZiAoc2lkZVN0YXRlLnNo
b3VsZFN0b3AoKSkKLSAgICAgICAgdGhpcy5uZXh0TGluZU51bWJlciA9IHRoaXMudGFyZ2V0Lmxp
bmVOdW1iZXIgKyAxOwotfQotCi1CYXNpYy5OZXh0ID0gZnVuY3Rpb24qKHN0YXRlKQotewotICAg
IGxldCBzaWRlU3RhdGUgPSBzdGF0ZS5nZXRTaWRlU3RhdGUodGhpcy50YXJnZXQpOwotICAgIHNp
ZGVTdGF0ZS52YXJpYWJsZS5hc3NpZ24oc2lkZVN0YXRlLnZhcmlhYmxlLnZhbHVlICsgc2lkZVN0
YXRlLnN0ZXBWYWx1ZSk7Ci0gICAgaWYgKHNpZGVTdGF0ZS5zaG91bGRTdG9wKCkpCi0gICAgICAg
IHJldHVybjsKLSAgICBzdGF0ZS5uZXh0TGluZU51bWJlciA9IHRoaXMudGFyZ2V0LmxpbmVOdW1i
ZXIgKyAxOwotfQotCi1CYXNpYy5OZXh0LmlzQmxvY2tFbmQgPSB0cnVlOwotCi1CYXNpYy5Qcmlu
dCA9IGZ1bmN0aW9uKihzdGF0ZSkKLXsKLSAgICBsZXQgc3RyaW5nID0gIiI7Ci0gICAgZm9yIChs
ZXQgaXRlbSBvZiB0aGlzLml0ZW1zKSB7Ci0gICAgICAgIHN3aXRjaCAoaXRlbS5raW5kKSB7Ci0g
ICAgICAgIGNhc2UgImNvbW1hIjoKLSAgICAgICAgICAgIHdoaWxlIChzdHJpbmcubGVuZ3RoICUg
MTQpCi0gICAgICAgICAgICAgICAgc3RyaW5nICs9ICIgIjsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlICJ0YWIiOiB7Ci0gICAgICAgICAgICBsZXQgdmFsdWUgPSBpdGVtLnZhbHVl
LmV2YWx1YXRlKHN0YXRlKTsKLSAgICAgICAgICAgIHZhbHVlID0gTWF0aC5tYXgoTWF0aC5yb3Vu
ZCh2YWx1ZSksIDEpOwotICAgICAgICAgICAgd2hpbGUgKHN0cmluZy5sZW5ndGggJSB2YWx1ZSkK
LSAgICAgICAgICAgICAgICBzdHJpbmcgKz0gIiAiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIH0KLSAgICAgICAgY2FzZSAic3RyaW5nIjoKLSAgICAgICAgY2FzZSAibnVtYmVyIjoKLSAg
ICAgICAgICAgIHN0cmluZyArPSBpdGVtLnZhbHVlLmV2YWx1YXRlKHN0YXRlKTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCYWQgaXRlbSBraW5kOiAiICsgaXRlbS5raW5kKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAK
LSAgICB5aWVsZCB7a2luZDogIm91dHB1dCIsIHN0cmluZ307Ci19Ci0KLUJhc2ljLklucHV0ID0g
ZnVuY3Rpb24qKHN0YXRlKQotewotICAgIGxldCByZXN1bHRzID0geWllbGQge2tpbmQ6ICJpbnB1
dCIsIG51bUl0ZW1zOiB0aGlzLml0ZW1zLmxlbmd0aH07Ci0gICAgc3RhdGUudmFsaWRhdGUocmVz
dWx0cyAhPSBudWxsICYmIHJlc3VsdHMubGVuZ3RoID09IHRoaXMuaXRlbXMubGVuZ3RoLCAiSW5w
dXQgZGlkIG5vdCBnZXQgdGhlIHJpZ2h0IG51bWJlciBvZiBpdGVtcyIpOwotICAgIGZvciAobGV0
IGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7ICsraSkKLSAgICAgICAgdGhpcy5pdGVtc1tpXS5l
dmFsdWF0ZShzdGF0ZSkuYXNzaWduKHJlc3VsdHNbaV0pOwotfQotCi1CYXNpYy5SZWFkID0gZnVu
Y3Rpb24qKHN0YXRlKQotewotICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy5pdGVtcykgewotICAg
ICAgICBzdGF0ZS52YWxpZGF0ZShzdGF0ZS5kYXRhSW5kZXggPCBzdGF0ZS5wcm9ncmFtLmRhdGEu
bGVuZ3RoLCAiQXR0ZW1wdGluZyB0byByZWFkIHBhc3QgdGhlIGVuZCBvZiBkYXRhIik7Ci0gICAg
ICAgIGl0ZW0uYXNzaWduKHN0YXRlLnByb2dyYW0uZGF0YVtzdGF0ZS5kYXRhSW5kZXgrK10pOwot
ICAgIH0KLX0KLQotQmFzaWMuUmVzdG9yZSA9IGZ1bmN0aW9uKihzdGF0ZSkKLXsKLSAgICBzdGF0
ZS5kYXRhSW5kZXggPSAwOwotfQotCi1CYXNpYy5EaW0gPSBmdW5jdGlvbiooc3RhdGUpCi17Ci0g
ICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLml0ZW1zKSB7Ci0gICAgICAgIHN0YXRlLnZhbGlkYXRl
KCFzdGF0ZS52YWx1ZXMuaGFzKGl0ZW0ubmFtZSksICJWYXJpYWJsZSAiICsgaXRlbS5uYW1lICsg
IiBhbHJlYWR5IGV4aXN0cyIpOwotICAgICAgICBzdGF0ZS52YWxpZGF0ZShpdGVtLmJvdW5kcy5s
ZW5ndGgsICJEaW0gc3RhdGVtZW50IGlzIGZvciBhcnJheXMiKTsKLSAgICAgICAgc3RhdGUudmFs
dWVzLnNldChpdGVtLm5hbWUsIG5ldyBOdW1iZXJBcnJheShpdGVtLmJvdW5kcy5tYXAoYm91bmQg
PT4gYm91bmQgKyAxKSkpOwotICAgIH0KLX0KLQotQmFzaWMuUmFuZG9taXplID0gZnVuY3Rpb24q
KHN0YXRlKQotewotICAgIHN0YXRlLnJuZyA9IGNyZWF0ZVJOR1dpdGhSYW5kb21TZWVkKCk7Ci19
Ci0KLUJhc2ljLkVuZCA9IGZ1bmN0aW9uKihzdGF0ZSkKLXsKLSAgICBzdGF0ZS5uZXh0TGluZU51
bWJlciA9IG51bGw7Ci19Ci0KLUJhc2ljLkVuZC5pc0Jsb2NrRW5kID0gdHJ1ZTsKLQotQmFzaWMu
UHJvZ3JhbSA9IGZ1bmN0aW9uKiBwcm9ncmFtR2VuZXJhdG9yKHN0YXRlKQotewotICAgIHN0YXRl
LnZhbGlkYXRlKHN0YXRlLnByb2dyYW0gPT0gdGhpcywgIlN0YXRlIG11c3QgbWF0Y2ggcHJvZ3Jh
bSIpOwotICAgIGxldCBtYXhMaW5lTnVtYmVyID0gTWF0aC5tYXgoLi4udGhpcy5zdGF0ZW1lbnRz
LmtleXMoKSk7Ci0gICAgd2hpbGUgKHN0YXRlLm5leHRMaW5lTnVtYmVyICE9IG51bGwpIHsKLSAg
ICAgICAgc3RhdGUudmFsaWRhdGUoc3RhdGUubmV4dExpbmVOdW1iZXIgPD0gbWF4TGluZU51bWJl
ciwgIldlbnQgb3V0IG9mIGJvdW5kcyBvZiB0aGUgcHJvZ3JhbSIpOwotICAgICAgICBsZXQgc3Rh
dGVtZW50ID0gdGhpcy5zdGF0ZW1lbnRzLmdldChzdGF0ZS5uZXh0TGluZU51bWJlcisrKTsKLSAg
ICAgICAgaWYgKHN0YXRlbWVudCA9PSBudWxsIHx8IHN0YXRlbWVudC5wcm9jZXNzID09IG51bGwp
Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgc3RhdGUuc3RhdGVtZW50ID0gc3RhdGVt
ZW50OwotICAgICAgICB5aWVsZCogc3RhdGVtZW50LnByb2Nlc3Moc3RhdGUpOwotICAgIH0KLX0K
LQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9iYXNpYy10ZXN0
cy55YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFz
aWMvYmFzaWMtdGVzdHMueWFtbAkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0
cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9iYXNpYy10ZXN0cy55YW1sCShub25leGlzdGVudCkKQEAg
LTEsMjggKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0jCi0j
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKLSMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAKLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSMgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSMgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKLSMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotIyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSMgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0jIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLS0gcGF0aDog
LgotICB0ZXN0czoKLSAgICAtIHN0cmVzcy10ZXN0LmpzCi0gIGNtZDogZGVmYXVsdFJ1bk5vaXN5
VGVzdCB1bmxlc3MgcGFyc2VSdW5Db21tYW5kcwotCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VT
NlNhbXBsZUJlbmNoL0Jhc2ljL2Jhc2ljLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVz
dHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvYmFzaWMuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBl
cmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvYmFzaWMuanMJKG5vbmV4aXN0ZW50
KQpAQCAtMSw1MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAotICovCi0idXNlIHN0cmljdCI7Ci0KLWZ1bmN0aW9uIHByZXBhcmUoc3RyaW5nKQotewotICAg
IGxldCBwcm9ncmFtID0gcGFyc2UobGV4KHN0cmluZykpLnByb2dyYW0oKTsKLSAgICByZXR1cm4g
cHJvZ3JhbS5wcm9jZXNzKG5ldyBTdGF0ZShwcm9ncmFtKSk7Ci19Ci0KLWZ1bmN0aW9uIHNpbXVs
YXRlKHByb2dyYW0sIGlucHV0cyA9IFtdKQotewotICAgIGxldCByZXN1bHQgPSAiIjsKLSAgICBs
ZXQgYXJncyA9IFtdOwotICAgIGZvciAoOzspIHsKLSAgICAgICAgbGV0IG5leHQgPSBwcm9ncmFt
Lm5leHQoLi4uYXJncyk7Ci0gICAgICAgIGFyZ3MgPSBbXTsKLSAgICAgICAgaWYgKG5leHQuZG9u
ZSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAobmV4dC52YWx1ZS5raW5kID09ICJv
dXRwdXQiKSB7Ci0gICAgICAgICAgICByZXN1bHQgKz0gbmV4dC52YWx1ZS5zdHJpbmcgKyAiXG4i
OwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKG5leHQudmFs
dWUua2luZCA9PSAiaW5wdXQiKSB7Ci0gICAgICAgICAgICBhcmdzID0gaW5wdXRzLnNwbGljZSgw
LCBuZXh0LnZhbHVlLm51bUl0ZW1zKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9
Ci0gICAgfQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMv
RVM2U2FtcGxlQmVuY2gvQmFzaWMvYmVuY2htYXJrLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvYmVuY2htYXJrLmpzCShyZXZpc2lvbiAyMTE2
ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL2JlbmNobWFyay5q
cwkobm9uZXhpc3RlbnQpCkBAIC0xLDY1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgQmFzaWNCZW5jaG1h
cmsgewotICAgIGNvbnN0cnVjdG9yKHZlcmJvc2UgPSAwKQotICAgIHsKLSAgICAgICAgdGhpcy5f
dmVyYm9zZSA9IHZlcmJvc2U7Ci0gICAgfQotICAgIAotICAgIHJ1bkl0ZXJhdGlvbigpCi0gICAg
ewotICAgICAgICBmdW5jdGlvbiBleHBlY3QocHJvZ3JhbSwgZXhwZWN0ZWQsIC4uLmlucHV0cykK
LSAgICAgICAgewotICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHNpbXVsYXRlKHByZXBhcmUocHJv
Z3JhbSwgaW5wdXRzKSk7Ci0gICAgICAgICAgICBpZiAocmVzdWx0ICE9IGV4cGVjdGVkKQotICAg
ICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiUHJvZ3JhbSAiICsgSlNPTi5zdHJpbmdpZnko
cHJvZ3JhbSkgKyAiIHdpdGggaW5wdXRzICIgKyBKU09OLnN0cmluZ2lmeShpbnB1dHMpICsgIiBw
cm9kdWNlZCAiICsgSlNPTi5zdHJpbmdpZnkocmVzdWx0KSArICIgYnV0IHdlIGV4cGVjdGVkICIg
KyBKU09OLnN0cmluZ2lmeShleHBlY3RlZCkpOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAg
ICBleHBlY3QoIjEwIHByaW50IFwiaGVsbG8sIHdvcmxkIVwiXG4yMCBlbmQiLCAiaGVsbG8sIHdv
cmxkIVxuIik7Ci0gICAgICAgIGV4cGVjdCgiMTAgbGV0IHggPSAwXG4yMCBsZXQgeCA9IHggKyAx
XG4zMCBwcmludCB4XG40MCBpZiB4IDwgMTAgdGhlbiAyMFxuNTAgZW5kIiwgIjFcbjJcbjNcbjRc
bjVcbjZcbjdcbjhcbjlcbjEwXG4iKTsKLSAgICAgICAgZXhwZWN0KCIxMCBwcmludCBpbnQocm5k
ICogMTAwKVxuMjAgZW5kXG4iLCAiOThcbiIpOwotICAgICAgICBleHBlY3QoIjEwIGxldCB2YWx1
ZSA9IGludChybmQgKiAyMDAwKVxuMjAgcHJpbnQgdmFsdWVcbjMwIGlmIHZhbHVlIDw+IDEwMCB0
aGVuIDEwXG40MCBlbmQiLCAiMTk3NFxuNjk3XG4xMTI2XG4xOTk4XG4xNjU4XG4yNjRcbjE2NTBc
bjE2NzdcbjIyNlxuMTE3XG40OTJcbjg2MVxuODc3XG4xOTY5XG4zOFxuMTAzOVxuMTk3XG4xMjYx
XG4xMTAyXG4xNTIyXG45MTZcbjE2ODNcbjE5NDNcbjE4MzVcbjQ3NlxuMTg5OFxuOTM5XG4xNzZc
bjk2NlxuOTA4XG40NzRcbjYxNFxuMTMyNlxuNTY0XG4xOTE2XG43MjhcbjUyNFxuMTYyXG4xMzAz
XG43NThcbjgzMlxuMTI3OVxuMTg1NlxuMTg3NlxuOTgyXG42XG4xNjEzXG4xNzgxXG42ODFcbjEy
MzhcbjQ5NFxuMTU4M1xuMTk1M1xuNzg4XG4xMDI2XG4zNDdcbjExMTZcbjE0NjVcbjUxNFxuNTgz
XG40NjNcbjE5NzBcbjE1NzNcbjQxMlxuMTI1NlxuMTQ1M1xuODM4XG4xNTM4XG4xOTg0XG4xNTk4
XG4yMDlcbjQxMVxuMTcwMFxuNTQ2XG44NjFcbjkxXG4xMzJcbjg4NFxuMzc4XG42OTNcbjExXG40
MzNcbjE3MTlcbjg2MFxuMTY0XG40NzJcbjIzMVxuMTc4NlxuODA2XG44MTFcbjEwNlxuMTY5N1xu
MTE4XG45ODBcbjg5MFxuMTE5OVxuMjI3XG4xNjY3XG4xOTMzXG4xOTAzXG4xMzkwXG4xNTk1XG45
MjNcbjE3NDZcbjM5XG4xMzYxXG4xMTdcbjEyOTdcbjkyM1xuOTAxXG4xMTgwXG44MThcbjE0NDRc
bjI2OVxuOTMzXG4zMjdcbjE3NDRcbjEwODJcbjE1MjdcbjEyNjBcbjYyMlxuNTI4XG4zMThcbjg1
NlxuMjk2XG4xNzk2XG4xNTc0XG41ODVcbjE4NzFcbjExMVxuODI3XG4xNzI1XG4xMzIwXG4xODY4
XG4xNjk1XG4xOTE0XG4yMTZcbjYzXG4xODQ3XG4xNTZcbjY3MVxuODkzXG4xMjdcbjE4Njdcbjgx
MVxuMjc5XG45MTNcbjMxMFxuODE0XG45MDdcbjEzNjNcbjE2MjRcbjE2NzBcbjQ3OFxuNzE0XG40
MzZcbjM1NVxuMTQ4NFxuMTYyOFxuMTIwOFxuODAwXG42MTFcbjkxN1xuODI5XG44MzBcbjI3M1xu
MTc5MVxuMzQwXG4yMTRcbjk5MlxuMTQ0NFxuNDQyXG4xNTU1XG4xNDRcbjExOTRcbjI4MlxuMTgw
XG4xMjI4XG4xMjUxXG4xODgzXG42NzhcbjE1NTVcbjM0N1xuNzJcbjE2NjFcbjE4MjhcbjEwOTBc
bjExODNcbjk1N1xuMTY4NVxuOTMwXG40NzVcbjEwM1xuNzU5XG4xNzI1XG4xOTAyXG4xNjYyXG4x
NTg3XG42MVxuNjE0XG44NjNcbjE0MThcbjMyMVxuMTA1MFxuNTA1XG4xNjIyXG4xNDI1XG44MDNc
bjU4OVxuMTUxMVxuMTA5OFxuMTA1MVxuMTU1NFxuMTg5OFxuMjdcbjc0N1xuODEzXG4xNTQ0XG4z
MzJcbjcyOFxuMTM2M1xuNzcxXG43NTlcbjExNDVcbjEwOThcbjE5OTFcbjM4NVxuMjMwXG41MjBc
bjEzNjlcbjE4NDBcbjEyODVcbjE1NjJcbjE4NDVcbjEwMlxuNzYwXG4xODc0XG43NDhcbjM2MVxu
NTc1XG4yNzdcbjE2NjFcbjE3NjRcbjExMTdcbjMzMlxuNzU3XG4xNzY2XG4xNzIyXG4xNDNcbjQ3
NFxuMTUwN1xuMTI5NFxuMTE4MFxuMTU3OFxuOTA0XG44NDVcbjMyMVxuNDk2XG4xOTExXG4xNzg0
XG4xMTE2XG45MzhcbjE1OTFcbjE0MDNcbjEzNzRcbjUzM1xuMTA4NVxuNDUyXG43MDhcbjEwOTZc
bjE2MzRcbjUyMlxuNTY0XG4xMzk3XG4xMzU3XG45ODBcbjk3OFxuMTc2MFxuMTA4OFxuMTM2MVxu
MTE4NFxuMzE0XG4xMjQyXG4yMTdcbjEzM1xuMTE4N1xuMTcyM1xuNjQ2XG42MDVcbjU5MVxuNDZc
bjEzNVxuMTQyMFxuMTgyMVxuMTE0N1xuMTIxMVxuNjFcbjI0NFxuMTMwN1xuMTU1MVxuNDQ5XG4x
MTIyXG4xMzM2XG4xNDBcbjg4MFxuMjJcbjExNTVcbjEzMjZcbjU5MFxuMTQ5OVxuMTM3NlxuMTEy
XG4xNzcxXG4xODk3XG4xMDcxXG45MzhcbjE2ODVcbjE5NjNcbjEyMDNcbjEyOTZcbjgwNFxuMTI3
NVxuNDUzXG4xMzg3XG40ODJcbjEyNjJcbjE4ODNcbjEzODFcbjQxOFxuMTQxN1xuMTIyMlxuMTIw
OFxuMTI2M1xuNjMyXG40NTBcbjE0MjJcbjEyODVcbjE0MDhcbjY0NFxuNjY1XG4yNzVcbjM2M1xu
MTAxMlxuMTY1XG4zNTRcbjgwXG42MDlcbjI5MVxuMTY2MVxuMTcyNFxuMTE3XG40MDdcbjU5XG45
MDZcbjEyMjRcbjEzNlxuODU1XG4xMjc1XG4xNDY4XG40ODJcbjE1MzdcbjEyODNcbjE3ODRcbjE1
NjhcbjE4MzJcbjQ1MlxuODY3XG4xNTQ2XG4xNDY3XG44MDBcbjQ1XG4xMjI1XG4xODkwXG40NjVc
bjEzNzJcbjQ3XG4xNjA4XG4xOTNcbjEzNDVcbjE4NDdcbjEwNTlcbjE3ODhcbjUxOFxuNTJcbjEw
NTJcbjEwMDNcbjEyMTBcbjExMzVcbjE0MzNcbjUxOVxuMTU1OFxuMzlcbjEyNDlcbjEwMTdcbjM5
XG4xNzEzXG4xNDQ5XG4xMjQ1XG4xMzU0XG44MlxuMTE0MFxuOTE2XG4xNTk1XG44MzhcbjYwN1xu
Mzg5XG4xMjcwXG44MjFcbjI0N1xuMTY5MlxuMTMwNVxuMTIxMVxuMTk2MFxuNDI5XG4xNzAzXG4x
NjM1XG41NzVcbjE2MThcbjE0OTBcbjE0OTVcbjY4MlxuMTI1NlxuOTY0XG40MjBcbjE1MjBcbjE0
MjlcbjE5OTdcbjM5NlxuMzgyXG44NTZcbjExODJcbjI5NlxuMTI5NVxuMjk4XG4xODkyXG45OTBc
bjcxMVxuOTM0XG4xOTM5XG4xMzM5XG42ODJcbjE2MzFcbjE1MzNcbjc0MlxuMTUyMFxuMTI4MVxu
MTMzMlxuMTA0MlxuNjU2XG4xNTc2XG4xMjUzXG4xNjA4XG4zNzVcbjE2OVxuMTRcbjQxNFxuMTU4
NlxuMTU2MlxuMTUwOFxuMTI0NVxuMzAzXG43MTVcbjEwNTNcbjM0MFxuOTE1XG4xNjBcbjE3OTZc
bjExMVxuOTI1XG4xODcyXG43MzVcbjM1MFxuMTA3XG4xOTEzXG4xNjUzXG45ODdcbjgyNVxuMTg5
M1xuMTYwMVxuNDYwXG4xMjI4XG4xNTI2XG4xNjEzXG4xMzU5XG4xODU0XG4xMzUyXG41NDJcbjY2
NVxuMTA5XG4xODc0XG40NjdcbjUzM1xuMTE4OFxuMTYyOVxuODUxXG42MzBcbjEwNjBcbjE1MzBc
bjE4NTNcbjc0M1xuNzY1XG4xMjZcbjE1NDBcbjE0MTFcbjg1OFxuMTc0MVxuMjg0XG4yOTlcbjU3
N1xuMTg0OFxuMTQ5NVxuMjgzXG4xODg2XG4yODRcbjEyOVxuMTA3N1xuMTI0NVxuMTM2NFxuMTUw
NVxuMTc2XG4xMDEyXG4xNjYzXG4xMzA2XG4xNTg2XG40MTBcbjMxNVxuNjYwXG4yNTZcbjExMDJc
bjEyODlcbjEyOTJcbjkzOVxuNzYyXG42MDFcbjExNDBcbjU3NFxuMTg1MVxuNDRcbjU2MFxuMTk0
OFxuMTE0MlxuMTc4N1xuOTQ3XG45NDhcbjI4MFxuMTIxMFxuMTEzOVxuMTA3MlxuMTAzM1xuOTJc
bjEyNDRcbjE1ODlcbjEwNzlcbjIyXG4xNTE0XG4xNjNcbjE1N1xuMTc0MlxuMTA1OFxuNTE0XG4x
OTZcbjE4NThcbjU2NVxuMzU0XG4xNDEzXG43OTJcbjE4M1xuNTI2XG4xNzI0XG4xMDA3XG4xNThc
bjEyMjlcbjE4MDJcbjk5XG4xNTE0XG43MDhcbjEyNzZcbjE4MDJcbjE1NjRcbjEzODdcbjEyMzVc
bjExMzJcbjcxNVxuMTU4NFxuNjE3XG4xNjY0XG4xNTU5XG4xNjI1XG4xMDM3XG42MDFcbjExNzVc
bjE3MTNcbjEwN1xuODhcbjM4NFxuMTYzNFxuOTA0XG4xODM1XG4xNDcyXG4yMTJcbjExNDVcbjQ0
M1xuMTYxN1xuODY2XG4xOTYzXG45MzdcbjE5MTdcbjg1NVxuMTIxNVxuMTg2N1xuNTIwXG44OTJc
bjE0ODNcbjE4OThcbjE3NDdcbjE0NDFcbjI4OVxuMTYwOVxuMzI4XG41NjZcbjI3MVxuNDU4XG4x
NjE2XG44NDNcbjExMDdcbjUwN1xuMTA5MFxuODU0XG4xMDk0XG44MDZcbjE2NlxuNDA4XG42NjFc
bjMzNFxuMjMwXG4xOTE3XG4xMzIzXG45MjdcbjE5MTJcbjY3M1xuMzExXG45NTJcbjE3ODNcbjE1
NDlcbjE3MTRcbjE1MDBcbjQ1MFxuMTQ5OFxuNTMwXG40NDJcbjYwN1xuNjA5XG4xMjI2XG4zNzBc
bjE3NjlcbjE4MTVcbjc4OFxuNTM2XG4yOTNcbjExNVxuOTQ3XG4yOTBcbjE3NjRcbjI0M1xuMTIx
OVxuMTg1MVxuMjg5XG41OTlcbjE1MjhcbjE1MFxuMTg1OVxuMjk3XG4yNzlcbjE1NDJcbjE3MTlc
bjE5MTBcbjU1MVxuNDAxXG45NTJcbjE3NjRcbjk0NlxuMTgzNVxuNjQ3XG4xMzA5XG4yNzFcbjI3
NVxuNzBcbjEyOVxuMTUxOFxuOTcyXG4xMTY0XG44MTZcbjExMjVcbjU3NVxuNTg4XG4xNDU2XG4x
MTU0XG4yOTBcbjE2ODFcbjExMzNcbjU2MVxuMzQzXG4xMzYwXG4xMDM1XG4xMTU4XG4xMzY1XG43
NDRcbjc4MVxuNThcbjUzMVxuMjcxXG4xNjEyXG4xNzc0XG4yOFxuMTQ4MFxuMTMxMlxuMTg1NVxu
NjY2XG4xNTc0XG42MTNcbjQyXG40NTZcbjM1MVxuNzI3XG4xNTAzXG4xMTE1XG4zMzNcbjE5NzJc
bjgyMlxuMTU3NVxuODQ4XG4xMDg3XG4xMjYyXG4xNjcxXG43MTBcbjQ2MFxuMTgxNlxuMjg3XG4x
NzJcbjQ5MlxuMTA3OVxuNTgyXG4xMjM2XG4xNzU2XG4xNzkyXG4xMDk1XG4xMjA1XG4xODk0XG4y
MlxuMTkzMFxuMTUyOVxuMTU0N1xuMTM4M1xuMTc2OFxuMzY0XG4xMTA4XG4xOTcyXG4yODdcbjIw
MFxuMjMwXG4xMzM1XG4xODdcbjQ4NlxuMTcyMlxuMjBcbjk2M1xuNzkyXG4xMTE0XG42MzNcbjE4
NjJcbjE0MzNcbjgyOVxuNzM3XG4yMTVcbjE1NzBcbjM3OFxuMTY3N1xuOTQ0XG4xMzAxXG4xMTYw
XG41MDBcbjE1MFxuODg2XG4xMzM3XG42NjJcbjEwNjJcbjI5MFxuNDYwXG41OTJcbjE4Njdcbjg3
MlxuMTU1XG4xNjEzXG4xOTEzXG4xNTQ4XG4xODQ3XG44NTVcbjE3MDJcbjk1MlxuMTg5NFxuNTg3
XG4xODEzXG4xMDIxXG4yMVxuNjU0XG4yNTRcbjkxMFxuMTY5NlxuMTYwNlxuNjc5XG4xMjIyXG42
OTZcbjEzMTlcbjM2OFxuNDQ3XG41NDlcbjkwNVxuMTE5NFxuMTg5XG4xNzY2XG42MTZcbjI3OFxu
MTQxOFxuMTk2NVxuODcyXG45OThcbjEyNjhcbjE2NzNcbjE2NDdcbjExNjNcbjUzM1xuMTY1MFxu
MTg0OVxuMTEyNFxuMTI1MlxuMTQxMlxuNzAzXG45NDRcbjQ2OFxuMTQ4NVxuMTM1MlxuNjgxXG44
NjRcbjE0MzJcbjE3NzFcbjQ5N1xuOTU2XG4xNzk0XG4zNjNcbjEwOTlcbjE4MDRcbjQ1N1xuMTIy
N1xuMTQ4N1xuNDQ2XG4xOTkzXG4xNTc2XG4yNzJcbjcwOVxuMTgxMFxuMzMwXG44NzZcbjExMDdc
bjExODdcbjEyMlxuMTYyNVxuNDcyXG42NzZcbjMxNFxuMTI1N1xuMTUwOVxuMzUwXG43NDFcbjM2
NlxuMzNcbjUzNlxuMjkzXG4xNjYzXG4xMDM5XG4xNTI3XG4xMjZcbjkyM1xuMTkzN1xuMTc2N1xu
MTMwMlxuMTUxMFxuMTUxOFxuMTM0M1xuOTFcbjE1NTFcbjE2MTRcbjE2ODdcbjE3NDhcbjEzN1xu
NzVcbjczOFxuMTk3N1xuNzUxXG4yMzdcbjMxM1xuNTY2XG4yNFxuMjAyXG44ODlcbjE3MTZcbjE0
NjBcbjEyOVxuMTc2MFxuMTU5N1xuOTZcbjEwNTdcbjEzMjNcbjExODhcbjEzNzNcbjUzN1xuOTU1
XG42NVxuMTY3OVxuMTQ0MVxuMTMxNVxuMzk4XG42NDdcbjE0NzBcbjEzMzVcbjYxN1xuMzMxXG43
OTZcbjEyOVxuMTYzNVxuMTQ5N1xuODM2XG44NTVcbjE0NzJcbjE4MjhcbjU2OFxuODYyXG42OTBc
bjEzNzBcbjE2NTdcbjgxOVxuNDVcbjQyMFxuMjU4XG4xOTgwXG42NzJcbjYxNVxuMzU4XG44NTJc
bjExNDhcbjE4OTdcbjEzMDZcbjEwOTJcbjE0MDVcbjcxOVxuMTc1MlxuMTQ1NlxuMTMzOFxuMzMy
XG4zNTFcbjQ3OVxuNzQ3XG4yNDlcbjE5NzdcbjE2NzFcbjEwNjFcbjE2ODVcbjMwNlxuMjU0XG4x
MDYwXG43NjRcbjQyMFxuMTEzOVxuMTQ1MlxuNDI2XG44MzVcbjkyOVxuMTQyNFxuMTMzNlxuNjk3
XG4xOTFcbjE2OTdcbjE4OTdcbjY0NFxuNTQ2XG45ODJcbjM1OVxuMTIwMVxuMTA5NVxuMTYyM1xu
MTk0N1xuMjE1XG4xMFxuODU1XG4yOTdcbjU1MVxuMTAzN1xuOTQ1XG4zOTZcbjIxMVxuMTA1OVxu
NDIzXG4xNTIxXG4xNzcwXG4yMDNcbjE4Mjhcbjg3OVxuMTE3OVxuMTkxMlxuMTAyOFxuMTQxNlxu
MTg0NVxuNjk4XG43MTVcbjE4NTdcbjgxN1xuNTBcbjQ3M1xuMTEyMlxuMTI2XG43MFxuMTc3M1xu
NDBcbjE5NzBcbjEzMTFcbjgyNlxuMzU1XG4xOTIxXG4yM1xuNTI2XG4xNzE3XG4xMzk3XG4xOTMy
XG4xMDc1XG4xNjUyXG45OTdcbjEwMzlcbjE0ODFcbjc3OVxuNDE1XG40OVxuMTMzMFxuMzE3XG4x
NzAxXG42OTBcbjI0NVxuMTgyNFxuNjM5XG43OTlcbjEyNDBcbjQyMlxuMzQ0XG4xNjM5XG4yMFxu
NTQ2XG45MTJcbjE5MzBcbjEzNjhcbjE1NDFcbjExMDlcbjM2OVxuNjZcbjE1NjRcbjQ0NFxuMTky
OFxuMTk2M1xuMTg5OVxuNzQ0XG4xNTkzXG4xNzAyXG4xMDBcbiIpOwotCi0gICAgICAgIGV4cGVj
dCgiMTAgZGltIGEoMjAwMClcbjIwIGZvciBpID0gMiB0byAyMDAwXG4zMCBsZXQgYShpKSA9IDFc
bjQwIG5leHQgaVxuNTAgZm9yIGkgPSAyIHRvIHNxcigyMDAwKVxuNjAgaWYgYShpKSA9IDAgdGhl
biAxMDBcbjcwIGZvciBqID0gaSBeIDIgdG8gMjAwMCBzdGVwIGlcbjgwIGxldCBhKGopID0gMFxu
OTAgbmV4dCBqXG4xMDAgbmV4dCBpXG4xMTAgZm9yIGkgPSAyIHRvIDIwMDBcbjEyMCBpZiBhKGkp
ID0gMCB0aGVuIDE0MFxuMTMwIHByaW50IGlcbjE0MCBuZXh0IGlcbjE1MCBlbmRcbiIsICIyXG4z
XG41XG43XG4xMVxuMTNcbjE3XG4xOVxuMjNcbjI5XG4zMVxuMzdcbjQxXG40M1xuNDdcbjUzXG41
OVxuNjFcbjY3XG43MVxuNzNcbjc5XG44M1xuODlcbjk3XG4xMDFcbjEwM1xuMTA3XG4xMDlcbjEx
M1xuMTI3XG4xMzFcbjEzN1xuMTM5XG4xNDlcbjE1MVxuMTU3XG4xNjNcbjE2N1xuMTczXG4xNzlc
bjE4MVxuMTkxXG4xOTNcbjE5N1xuMTk5XG4yMTFcbjIyM1xuMjI3XG4yMjlcbjIzM1xuMjM5XG4y
NDFcbjI1MVxuMjU3XG4yNjNcbjI2OVxuMjcxXG4yNzdcbjI4MVxuMjgzXG4yOTNcbjMwN1xuMzEx
XG4zMTNcbjMxN1xuMzMxXG4zMzdcbjM0N1xuMzQ5XG4zNTNcbjM1OVxuMzY3XG4zNzNcbjM3OVxu
MzgzXG4zODlcbjM5N1xuNDAxXG40MDlcbjQxOVxuNDIxXG40MzFcbjQzM1xuNDM5XG40NDNcbjQ0
OVxuNDU3XG40NjFcbjQ2M1xuNDY3XG40NzlcbjQ4N1xuNDkxXG40OTlcbjUwM1xuNTA5XG41MjFc
bjUyM1xuNTQxXG41NDdcbjU1N1xuNTYzXG41NjlcbjU3MVxuNTc3XG41ODdcbjU5M1xuNTk5XG42
MDFcbjYwN1xuNjEzXG42MTdcbjYxOVxuNjMxXG42NDFcbjY0M1xuNjQ3XG42NTNcbjY1OVxuNjYx
XG42NzNcbjY3N1xuNjgzXG42OTFcbjcwMVxuNzA5XG43MTlcbjcyN1xuNzMzXG43Mzlcbjc0M1xu
NzUxXG43NTdcbjc2MVxuNzY5XG43NzNcbjc4N1xuNzk3XG44MDlcbjgxMVxuODIxXG44MjNcbjgy
N1xuODI5XG44Mzlcbjg1M1xuODU3XG44NTlcbjg2M1xuODc3XG44ODFcbjg4M1xuODg3XG45MDdc
bjkxMVxuOTE5XG45MjlcbjkzN1xuOTQxXG45NDdcbjk1M1xuOTY3XG45NzFcbjk3N1xuOTgzXG45
OTFcbjk5N1xuMTAwOVxuMTAxM1xuMTAxOVxuMTAyMVxuMTAzMVxuMTAzM1xuMTAzOVxuMTA0OVxu
MTA1MVxuMTA2MVxuMTA2M1xuMTA2OVxuMTA4N1xuMTA5MVxuMTA5M1xuMTA5N1xuMTEwM1xuMTEw
OVxuMTExN1xuMTEyM1xuMTEyOVxuMTE1MVxuMTE1M1xuMTE2M1xuMTE3MVxuMTE4MVxuMTE4N1xu
MTE5M1xuMTIwMVxuMTIxM1xuMTIxN1xuMTIyM1xuMTIyOVxuMTIzMVxuMTIzN1xuMTI0OVxuMTI1
OVxuMTI3N1xuMTI3OVxuMTI4M1xuMTI4OVxuMTI5MVxuMTI5N1xuMTMwMVxuMTMwM1xuMTMwN1xu
MTMxOVxuMTMyMVxuMTMyN1xuMTM2MVxuMTM2N1xuMTM3M1xuMTM4MVxuMTM5OVxuMTQwOVxuMTQy
M1xuMTQyN1xuMTQyOVxuMTQzM1xuMTQzOVxuMTQ0N1xuMTQ1MVxuMTQ1M1xuMTQ1OVxuMTQ3MVxu
MTQ4MVxuMTQ4M1xuMTQ4N1xuMTQ4OVxuMTQ5M1xuMTQ5OVxuMTUxMVxuMTUyM1xuMTUzMVxuMTU0
M1xuMTU0OVxuMTU1M1xuMTU1OVxuMTU2N1xuMTU3MVxuMTU3OVxuMTU4M1xuMTU5N1xuMTYwMVxu
MTYwN1xuMTYwOVxuMTYxM1xuMTYxOVxuMTYyMVxuMTYyN1xuMTYzN1xuMTY1N1xuMTY2M1xuMTY2
N1xuMTY2OVxuMTY5M1xuMTY5N1xuMTY5OVxuMTcwOVxuMTcyMVxuMTcyM1xuMTczM1xuMTc0MVxu
MTc0N1xuMTc1M1xuMTc1OVxuMTc3N1xuMTc4M1xuMTc4N1xuMTc4OVxuMTgwMVxuMTgxMVxuMTgy
M1xuMTgzMVxuMTg0N1xuMTg2MVxuMTg2N1xuMTg3MVxuMTg3M1xuMTg3N1xuMTg3OVxuMTg4OVxu
MTkwMVxuMTkwN1xuMTkxM1xuMTkzMVxuMTkzM1xuMTk0OVxuMTk1MVxuMTk3M1xuMTk3OVxuMTk4
N1xuMTk5M1xuMTk5N1xuMTk5OVxuIik7Ci0gICAgfQotfQotICAgIAotZnVuY3Rpb24gcnVuQmVu
Y2htYXJrKCkKLXsKLSAgICBjb25zdCB2ZXJib3NlID0gMDsKLSAgICBjb25zdCBudW1JdGVyYXRp
b25zID0gMTUwOwotICAgIAotICAgIGxldCBiZWZvcmUgPSBjdXJyZW50VGltZSgpOwotICAgIAot
ICAgIGxldCBiZW5jaG1hcmsgPSBuZXcgQmVuY2htYXJrKHZlcmJvc2UpOwotICAgIAotICAgIGZv
ciAobGV0IGl0ZXJhdGlvbiA9IDA7IGl0ZXJhdGlvbiA8IG51bUl0ZXJhdGlvbnM7ICsraXRlcmF0
aW9uKQotICAgICAgICBiZW5jaG1hcmsucnVuSXRlcmF0aW9uKCk7Ci0gICAgCi0gICAgbGV0IGFm
dGVyID0gY3VycmVudFRpbWUoKTsKLSAgICByZXR1cm4gYWZ0ZXIgLSBiZWZvcmU7Ci19CkluZGV4
OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL2Nhc2VsZXNzX21hcC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL2Nhc2Vs
ZXNzX21hcC5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1w
bGVCZW5jaC9CYXNpYy9jYXNlbGVzc19tYXAuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSw1NiArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0
cmljdCI7Ci0KLWNsYXNzIENhc2VsZXNzTWFwIHsKLSAgICBjb25zdHJ1Y3RvcihvdGhlck1hcCkK
LSAgICB7Ci0gICAgICAgIGlmIChvdGhlck1hcCA9PSBudWxsKQotICAgICAgICAgICAgdGhpcy5f
bWFwID0gbmV3IE1hcCgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0aGlzLl9tYXAgPSBu
ZXcgTWFwKG90aGVyTWFwLl9tYXApOwotICAgIH0KLSAgICAKLSAgICBzZXQoa2V5LCB2YWx1ZSkK
LSAgICB7Ci0gICAgICAgIHRoaXMuX21hcC5zZXQoa2V5LnRvTG93ZXJDYXNlKCksIHZhbHVlKTsK
LSAgICB9Ci0gICAgCi0gICAgaGFzKGtleSkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9t
YXAuaGFzKGtleS50b0xvd2VyQ2FzZSgpKTsKLSAgICB9Ci0gICAgCi0gICAgZ2V0KGtleSkKLSAg
ICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9tYXAuZ2V0KGtleS50b0xvd2VyQ2FzZSgpKTsKLSAg
ICB9Ci0KLSAgICBbU3ltYm9sLml0ZXJhdG9yXSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhp
cy5fbWFwW1N5bWJvbC5pdGVyYXRvcl0oKTsKLSAgICB9Ci19Ci0KSW5kZXg6IFBlcmZvcm1hbmNl
VGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvbGV4ZXIuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9y
bWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9sZXhlci5qcwkocmV2aXNpb24gMjExNjg4
KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9sZXhlci5qcwkobm9u
ZXhpc3RlbnQpCkBAIC0xLDk3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotLy8gTG9vc2VseSBiYXNlZCBvbiBFQ01B
IDU1IHNlY3Rpb25zIDQtOCwgYnV0IGxvb3NlbmVkIHRvIGFsbG93IGZvciBtb2Rlcm4gY29udmVu
dGlvbnMsIGxpa2UKLS8vIG11bHRpLWNoYXJhY3RlciB2YXJpYWJsZSBuYW1lcy4gQnV0IHRoaXMg
ZG9lc24ndCBnbyB0b28gZmFyIC0gaW4gcGFydGljdWxhciwgdGhpcyBkb2Vzbid0IGRvCi0vLyB1
bmljb2RlLCBiZWNhdXNlIHRoYXQgd291bGQgcmVxdWlyZSBtb3JlIHRob3VnaHQuCi1mdW5jdGlv
biogbGV4KHN0cmluZykKLXsKLSAgICBsZXQgc291cmNlTGluZU51bWJlciA9IDA7Ci0gICAgZm9y
IChsZXQgbGluZSBvZiBzdHJpbmcuc3BsaXQoIlxuIikpIHsKLSAgICAgICAgKytzb3VyY2VMaW5l
TnVtYmVyOwotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gY29uc3VtZVdoaXRlc3BhY2UoKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoL15ccysvLnRlc3QobGluZSkpCi0gICAgICAgICAg
ICAgICAgbGluZSA9IFJlZ0V4cC5yaWdodENvbnRleHQ7Ci0gICAgICAgIH0KLSAgIAotICAgICAg
ICBmdW5jdGlvbiBjb25zdW1lKGtpbmQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGxpbmUgPSBS
ZWdFeHAucmlnaHRDb250ZXh0OwotICAgICAgICAgICAgcmV0dXJuIHtraW5kLCBzdHJpbmc6IFJl
Z0V4cC5sYXN0TWF0Y2gsIHNvdXJjZUxpbmVOdW1iZXIsIHVzZXJMaW5lTnVtYmVyfTsKLSAgICAg
ICAgfQotICAgICAgICAKLSAgICAgICAgY29uc3QgaXNJZGVudGlmaWVyID0gL15bYS16X10oW2Et
ejAtOV9dKikvaTsKLSAgICAgICAgY29uc3QgaXNOdW1iZXIgPSAvXigoWzAtOV0rKFwuKFswLTld
KikpPyl8KFwuWzAtOV0rKShlKFsrLV0/KShbMC05XSspKT8pL2k7Ci0gICAgICAgIGNvbnN0IGlz
U3RyaW5nID0gL15cIihbXlwiXXwoXCJcIikpKlwiLzsKLSAgICAgICAgY29uc3QgaXNLZXl3b3Jk
ID0gL14oKGJhc2UpfChkYXRhKXwoZGVmKXwoZGltKXwoZW5kKXwoZm9yKXwoZ28pfChnb3N1Yil8
KGdvdG8pfChpZil8KGlucHV0KXwobGV0KXwobmV4dCl8KG9uKXwob3B0aW9uKXwocHJpbnQpfChy
YW5kb21pemUpfChyZWFkKXwocmVzdG9yZSl8KHJldHVybil8KHN0ZXApfChzdG9wKXwoc3ViKXwo
dGhlbil8KHRvKSkvaTsKLSAgICAgICAgY29uc3QgaXNPcGVyYXRvciA9IC9eKC18XCt8XCp8XC98
XF58XCh8XCl8KDxbPj1dPyl8KD49Pyl8PXwsfFwkfDspLzsKLSAgICAgICAgY29uc3QgaXNSZW0g
PSAvXnJlbVxzLiovOwotICAgICAgICAKLSAgICAgICAgY29uc3VtZVdoaXRlc3BhY2UoKTsKLSAg
ICAgICAgCi0gICAgICAgIGlmICghL15bMC05XSsvLnRlc3QobGluZSkpCi0gICAgICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkF0IGxpbmUgIiArIHNvdXJjZUxpbmVOdW1iZXIgKyAiOiBFeHBlY3Qg
bGluZSBudW1iZXI6ICIgKyBsaW5lKTsKLSAgICAgICAgbGV0IHVzZXJMaW5lTnVtYmVyID0gK1Jl
Z0V4cC5sYXN0TWF0Y2g7Ci0gICAgICAgIGxpbmUgPSBSZWdFeHAucmlnaHRDb250ZXh0OwotICAg
ICAgICB5aWVsZCB7a2luZDogInVzZXJMaW5lTnVtYmVyIiwgc3RyaW5nOiBSZWdFeHAubGFzdE1h
dGNoLCBzb3VyY2VMaW5lTnVtYmVyLCB1c2VyTGluZU51bWJlcn07Ci0gICAgICAgIAotICAgICAg
ICBjb25zdW1lV2hpdGVzcGFjZSgpOwotICAgICAgICAKLSAgICAgICAgd2hpbGUgKGxpbmUubGVu
Z3RoKSB7Ci0gICAgICAgICAgICBpZiAoaXNLZXl3b3JkLnRlc3QobGluZSkpCi0gICAgICAgICAg
ICAgICAgeWllbGQgY29uc3VtZSgia2V5d29yZCIpOwotICAgICAgICAgICAgZWxzZSBpZiAoaXNJ
ZGVudGlmaWVyLnRlc3QobGluZSkpCi0gICAgICAgICAgICAgICAgeWllbGQgY29uc3VtZSgiaWRl
bnRpZmllciIpOwotICAgICAgICAgICAgZWxzZSBpZiAoaXNOdW1iZXIudGVzdChsaW5lKSkgewot
ICAgICAgICAgICAgICAgIGxldCB0b2tlbiA9IGNvbnN1bWUoIm51bWJlciIpOwotICAgICAgICAg
ICAgICAgIHRva2VuLnZhbHVlID0gK3Rva2VuLnN0cmluZzsKLSAgICAgICAgICAgICAgICB5aWVs
ZCB0b2tlbjsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcudGVzdChsaW5lKSkgewot
ICAgICAgICAgICAgICAgIGxldCB0b2tlbiA9IGNvbnN1bWUoInN0cmluZyIpOwotICAgICAgICAg
ICAgICAgIHRva2VuLnZhbHVlID0gIiI7Ci0gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7
IGkgPCB0b2tlbi5zdHJpbmcubGVuZ3RoIC0gMTsgKytpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGxldCBjaGFyID0gdG9rZW4uc3RyaW5nLmNoYXJBdChpKTsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKGNoYXIgPT0gIlwiIikKLSAgICAgICAgICAgICAgICAgICAgICAgIGkrKzsKLSAgICAgICAg
ICAgICAgICAgICAgdG9rZW4udmFsdWUgKz0gY2hhcjsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgeWllbGQgdG9rZW47Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGlzT3BlcmF0
b3IudGVzdChsaW5lKSkKLSAgICAgICAgICAgICAgICB5aWVsZCBjb25zdW1lKCJvcGVyYXRvciIp
OwotICAgICAgICAgICAgZWxzZSBpZiAoaXNSZW0udGVzdChsaW5lKSkKLSAgICAgICAgICAgICAg
ICB5aWVsZCBjb25zdW1lKCJyZW1hcmsiKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0IGxpbmUgIiArIHNvdXJjZUxpbmVOdW1iZXIgKyAiOiBD
YW5ub3QgbGV4IHRva2VuOiAiICsgbGluZSk7Ci0gICAgICAgICAgICBjb25zdW1lV2hpdGVzcGFj
ZSgpOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICAvLyBOb3RlOiB0aGlzIGlzIG5lY2Vz
c2FyeSBmb3IgdGhlIHBhcnNlciwgd2hpY2ggbWF5IGxvb2stYWhlYWQgd2l0aG91dCBjaGVja2lu
ZyBpZiB3ZSdyZQotICAgICAgICAvLyBkb25lLiBGb3J0dW5hdGVseSwgaXQgd29uJ3QgbG9vay1h
aGVhZCBwYXN0IGEgbmV3TGluZS4KLSAgICAgICAgeWllbGQge2tpbmQ6ICJuZXdMaW5lIiwgc3Ry
aW5nOiJcbiIsIHNvdXJjZUxpbmVOdW1iZXIsIHVzZXJMaW5lTnVtYmVyfTsKLSAgICB9Ci19Cklu
ZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL251bWJlci5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL251bWJlci5q
cwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9C
YXNpYy9udW1iZXIuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMzcgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1jbGFz
cyBOdW1iZXJWYWx1ZSB7Ci0gICAgY29uc3RydWN0b3IodmFsdWUgPSAwKQotICAgIHsKLSAgICAg
ICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IHZhbHVlKCkgeyBy
ZXR1cm4gdGhpcy5fdmFsdWU7IH0KLSAgICAKLSAgICBhcHBseShzdGF0ZSwgcGFyYW1ldGVycykK
LSAgICB7Ci0gICAgICAgIHN0YXRlLnZhbGlkYXRlKHBhcmFtZXRlcnMubGVuZ3RoID09IDAsICJT
aG91bGQgbm90IHBhc3MgYXJndW1lbnRzIHRvIHNpbXBsZSBudW1lcmljIHZhcmlhYmxlcyIpOwot
ICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7Ci0gICAgfQotICAgIAotICAgIGxlZnRBcHBseShz
dGF0ZSwgcGFyYW1ldGVycykKLSAgICB7Ci0gICAgICAgIHN0YXRlLnZhbGlkYXRlKHBhcmFtZXRl
cnMubGVuZ3RoID09IDAsICJTaG91bGQgbm90IHBhc3MgYXJndW1lbnRzIHRvIHNpbXBsZSBudW1l
cmljIHZhcmlhYmxlcyIpOwotICAgICAgICByZXR1cm4gdGhpczsKLSAgICB9Ci0gICAgCi0gICAg
YXNzaWduKHZhbHVlKQotICAgIHsKLSAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTsKLSAgICB9
Ci19Ci0KLWNsYXNzIE51bWJlckFycmF5IHsKLSAgICBjb25zdHJ1Y3RvcihkaW0gPSBbMTFdKQot
ICAgIHsKLSAgICAgICAgZnVuY3Rpb24gYWxsb2NhdGVEaW0oaW5kZXgpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGxldCByZXN1bHQgPSBuZXcgQXJyYXkoZGltW2luZGV4XSk7Ci0gICAgICAgICAg
ICBpZiAoaW5kZXggKyAxIDwgZGltLmxlbmd0aCkgewotICAgICAgICAgICAgICAgIGZvciAobGV0
IGkgPSAwOyBpIDwgZGltW2luZGV4XTsgKytpKQotICAgICAgICAgICAgICAgICAgICByZXN1bHRb
aV0gPSBhbGxvY2F0ZURpbShpbmRleCArIDEpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpbVtpbmRleF07ICsraSkKLSAgICAgICAg
ICAgICAgICAgICAgcmVzdWx0W2ldID0gbmV3IE51bWJlclZhbHVlKCk7Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAg
ICB0aGlzLl9hcnJheSA9IGFsbG9jYXRlRGltKDApOwotICAgICAgICB0aGlzLl9kaW0gPSBkaW07
Ci0gICAgfQotICAgIAotICAgIGFwcGx5KHN0YXRlLCBwYXJhbWV0ZXJzKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIHRoaXMubGVmdEFwcGx5KHN0YXRlLCBwYXJhbWV0ZXJzKS5hcHBseShzdGF0ZSwg
W10pOwotICAgIH0KLSAgICAKLSAgICBsZWZ0QXBwbHkoc3RhdGUsIHBhcmFtZXRlcnMpCi0gICAg
ewotICAgICAgICBpZiAodGhpcy5fZGltLmxlbmd0aCAhPSBwYXJhbWV0ZXJzLmxlbmd0aCkKLSAg
ICAgICAgICAgIHN0YXRlLmFib3J0KCJFeHBlY3RlZCAiICsgdGhpcy5fZGltLmxlbmd0aCArICIg
YXJndW1lbnRzIGJ1dCAiICsgcGFyYW1ldGVycy5sZW5ndGggKyAiIHdlcmUgcGFzc2VkLiIpOwot
ICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5fYXJyYXk7Ci0gICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgcGFyYW1ldGVycy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgbGV0IGluZGV4ID0g
TWF0aC5mbG9vcihwYXJhbWV0ZXJzW2ldKTsKLSAgICAgICAgICAgIGlmICghKGluZGV4ID49IHN0
YXRlLnByb2dyYW0uYmFzZSkgfHwgIShpbmRleCA8IHJlc3VsdC5sZW5ndGgpKQotICAgICAgICAg
ICAgICAgIHN0YXRlLmFib3J0KCJJbmRleCBvdXQgb2YgYm91bmRzOiAiICsgaW5kZXgpOwotICAg
ICAgICAgICAgcmVzdWx0ID0gcmVzdWx0W2luZGV4XTsKLSAgICAgICAgfQotICAgICAgICByZXR1
cm4gcmVzdWx0OwotICAgIH0KLX0KLQotY2xhc3MgTnVtYmVyRnVuY3Rpb24gewotICAgIGNvbnN0
cnVjdG9yKHBhcmFtZXRlcnMsIGNvZGUpCi0gICAgewotICAgICAgICB0aGlzLl9wYXJhbWV0ZXJz
ID0gcGFyYW1ldGVyczsKLSAgICAgICAgdGhpcy5fY29kZSA9IGNvZGU7Ci0gICAgfQotICAgIAot
ICAgIGFwcGx5KHN0YXRlLCBwYXJhbWV0ZXJzKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX3Bh
cmFtZXRlcnMubGVuZ3RoICE9IHBhcmFtZXRlcnMubGVuZ3RoKQotICAgICAgICAgICAgc3RhdGUu
YWJvcnQoIkV4cGVjdGVkICIgKyB0aGlzLl9wYXJhbWV0ZXJzLmxlbmd0aCArICIgYXJndW1lbnRz
IGJ1dCAiICsgcGFyYW1ldGVycy5sZW5ndGggKyAiIHdlcmUgcGFzc2VkIik7Ci0gICAgICAgIGxl
dCBvbGRWYWx1ZXMgPSBzdGF0ZS52YWx1ZXM7Ci0gICAgICAgIHN0YXRlLnZhbHVlcyA9IG5ldyBN
YXAob2xkVmFsdWVzKTsKLSAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLmxl
bmd0aDsgKytpKQotICAgICAgICAgICAgc3RhdGUudmFsdWVzLnNldCh0aGlzLl9wYXJhbWV0ZXJz
W2ldLCBwYXJhbWV0ZXJzW2ldKTsKLSAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuY29kZS5ldmFs
dWF0ZShzdGF0ZSk7Ci0gICAgICAgIHN0YXRlLnZhbHVlcyA9IG9sZFZhbHVlczsKLSAgICAgICAg
cmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0gICAgCi0gICAgbGVmdEFwcGx5KHN0YXRlLCBwYXJhbWV0
ZXJzKQotICAgIHsKLSAgICAgICAgc3RhdGUuYWJvcnQoIkNhbm5vdCB1c2UgYSBmdW5jdGlvbiBh
cyBhbiBsdmFsdWUiKTsKLSAgICB9Ci19Ci0KLWNsYXNzIE5hdGl2ZUZ1bmN0aW9uIHsKLSAgICBj
b25zdHJ1Y3RvcihjYWxsYmFjaykKLSAgICB7Ci0gICAgICAgIHRoaXMuX2NhbGxiYWNrID0gY2Fs
bGJhY2s7Ci0gICAgfQotICAgIAotICAgIGFwcGx5KHN0YXRlLCBwYXJhbWV0ZXJzKQotICAgIHsK
LSAgICAgICAgaWYgKHRoaXMuX2NhbGxiYWNrLmxlbmd0aCAhPSBwYXJhbWV0ZXJzLmxlbmd0aCkK
LSAgICAgICAgICAgIHN0YXRlLmFib3J0KCJFeHBlY3RlZCAiICsgdGhpcy5fY2FsbGJhY2subGVu
Z3RoICsgIiBhcmd1bWVudHMgYnV0ICIgKyBwYXJhbWV0ZXJzLmxlbmd0aCArICIgd2VyZSBwYXNz
ZWQiKTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2NhbGxiYWNrKC4uLnBhcmFtZXRlcnMpOwotICAg
IH0KLSAgICAKLSAgICBsZWZ0QXBwbHkoc3RhdGUsIHBhcmFtZXRlcnMpCi0gICAgewotICAgICAg
ICBzdGF0ZS5hYm9ydCgiQ2Fubm90IHVzZSBhIG5hdGl2ZSBmdW5jdGlvbiBhcyBhbiBsdmFsdWUi
KTsKLSAgICB9Ci19Ci0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFz
aWMvcGFyc2VyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVu
Y2gvQmFzaWMvcGFyc2VyLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3Rz
L0VTNlNhbXBsZUJlbmNoL0Jhc2ljL3BhcnNlci5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDU1OCAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
Ci0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNl
IHN0cmljdCI7Ci0KLWZ1bmN0aW9uIHBhcnNlKHRva2VuaXplcikKLXsKLSAgICBsZXQgcHJvZ3Jh
bTsKLSAgICAKLSAgICBsZXQgcHVzaEJhY2tCdWZmZXIgPSBbXTsKLSAgICAKLSAgICBmdW5jdGlv
biBuZXh0VG9rZW4oKQotICAgIHsKLSAgICAgICAgaWYgKHB1c2hCYWNrQnVmZmVyLmxlbmd0aCkK
LSAgICAgICAgICAgIHJldHVybiBwdXNoQmFja0J1ZmZlci5wb3AoKTsKLSAgICAgICAgbGV0IHJl
c3VsdCA9IHRva2VuaXplci5uZXh0KCk7Ci0gICAgICAgIGlmIChyZXN1bHQuZG9uZSkKLSAgICAg
ICAgICAgIHJldHVybiB7a2luZDogImVuZE9mRmlsZSIsIHN0cmluZzogIjxlbmQgb2YgZmlsZT4i
fTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdC52YWx1ZTsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rp
b24gcHVzaFRva2VuKHRva2VuKQotICAgIHsKLSAgICAgICAgcHVzaEJhY2tCdWZmZXIucHVzaCh0
b2tlbik7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHBlZWtUb2tlbigpCi0gICAgewotICAg
ICAgICBsZXQgcmVzdWx0ID0gbmV4dFRva2VuKCk7Ci0gICAgICAgIHB1c2hUb2tlbihyZXN1bHQp
OwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBjb25z
dW1lS2luZChraW5kKQotICAgIHsKLSAgICAgICAgbGV0IHRva2VuID0gbmV4dFRva2VuKCk7Ci0g
ICAgICAgIGlmICh0b2tlbi5raW5kICE9IGtpbmQpIHsKLSAgICAgICAgICAgIHRocm93IG5ldyBF
cnJvcigiQXQgIiArIHRva2VuLnNvdXJjZUxpbmVOdW1iZXIgKyAiOiBleHBlY3RlZCAiICsga2lu
ZCArICIgYnV0IGdvdDogIiArIHRva2VuLnN0cmluZyk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0
dXJuIHRva2VuOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBjb25zdW1lVG9rZW4oc3RyaW5n
KQotICAgIHsKLSAgICAgICAgbGV0IHRva2VuID0gbmV4dFRva2VuKCk7Ci0gICAgICAgIGlmICh0
b2tlbi5zdHJpbmcudG9Mb3dlckNhc2UoKSAhPSBzdHJpbmcudG9Mb3dlckNhc2UoKSkKLSAgICAg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiQXQgIiArIHRva2VuLnNvdXJjZUxpbmVOdW1iZXIgKyAi
OiBleHBlY3RlZCAiICsgc3RyaW5nICsgIiBidXQgZ290OiAiICsgdG9rZW4uc3RyaW5nKTsKLSAg
ICAgICAgcmV0dXJuIHRva2VuOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBwYXJzZVZhcmlh
YmxlKCkKLSAgICB7Ci0gICAgICAgIGxldCBuYW1lID0gY29uc3VtZUtpbmQoImlkZW50aWZpZXIi
KS5zdHJpbmc7Ci0gICAgICAgIGxldCByZXN1bHQgPSB7ZXZhbHVhdGU6IEJhc2ljLlZhcmlhYmxl
LCBuYW1lLCBwYXJhbWV0ZXJzOiBbXX07Ci0gICAgICAgIGlmIChwZWVrVG9rZW4oKS5zdHJpbmcg
PT0gIigiKSB7Ci0gICAgICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgbmV4dFRva2VuKCk7
Ci0gICAgICAgICAgICAgICAgcmVzdWx0LnBhcmFtZXRlcnMucHVzaChwYXJzZU51bWVyaWNFeHBy
ZXNzaW9uKCkpOwotICAgICAgICAgICAgfSB3aGlsZSAocGVla1Rva2VuKCkuc3RyaW5nID09ICIs
Iik7Ci0gICAgICAgICAgICBjb25zdW1lVG9rZW4oIikiKTsKLSAgICAgICAgfQotICAgICAgICBy
ZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBwYXJzZU51bWVyaWNFeHBy
ZXNzaW9uKCkKLSAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIHBhcnNlUHJpbWFyeSgpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIGxldCB0b2tlbiA9IG5leHRUb2tlbigpOwotICAgICAgICAgICAgc3dp
dGNoICh0b2tlbi5raW5kKSB7Ci0gICAgICAgICAgICBjYXNlICJpZGVudGlmaWVyIjogewotICAg
ICAgICAgICAgICAgIGxldCByZXN1bHQgPSB7ZXZhbHVhdGU6IEJhc2ljLk51bWJlckFwcGx5LCBu
YW1lOiB0b2tlbi5zdHJpbmcsIHBhcmFtZXRlcnM6IFtdfTsKLSAgICAgICAgICAgICAgICBpZiAo
cGVla1Rva2VuKCkuc3RyaW5nID09ICIoIikgewotICAgICAgICAgICAgICAgICAgICBkbyB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBuZXh0VG9rZW4oKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHJlc3VsdC5wYXJhbWV0ZXJzLnB1c2gocGFyc2VOdW1lcmljRXhwcmVzc2lvbigpKTsKLSAg
ICAgICAgICAgICAgICAgICAgfSB3aGlsZSAocGVla1Rva2VuKCkuc3RyaW5nID09ICIsIik7Ci0g
ICAgICAgICAgICAgICAgICAgIGNvbnN1bWVUb2tlbigiKSIpOwotICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIAotICAgICAgICAgICAgY2FzZSAibnVtYmVyIjoKLSAgICAgICAgICAgICAgICByZXR1
cm4ge2V2YWx1YXRlOiBCYXNpYy5Db25zdCwgdmFsdWU6IHRva2VuLnZhbHVlfTsKLSAgICAgICAg
ICAgICAgICAKLSAgICAgICAgICAgIGNhc2UgIm9wZXJhdG9yIjoKLSAgICAgICAgICAgICAgICBz
d2l0Y2ggKHRva2VuLnN0cmluZykgewotICAgICAgICAgICAgICAgIGNhc2UgIigiOiB7Ci0gICAg
ICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBwYXJzZU51bWVyaWNFeHByZXNzaW9uKCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGNvbnN1bWVUb2tlbigiKSIpOwotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gcmVzdWx0OwotICAgICAgICAgICAgICAgIH0gfQotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJBdCAiICsg
dG9rZW4uc291cmNlTGluZU51bWJlciArICI6IGV4cGVjdGVkIGlkZW50aWZpZXIsIG51bWJlciwg
b3IgKCwgYnV0IGdvdDogIiArIHRva2VuLnN0cmluZyk7Ci0gICAgICAgIH0KLSAgICAgICAgCi0g
ICAgICAgIGZ1bmN0aW9uIHBhcnNlRmFjdG9yKCkKLSAgICAgICAgewotICAgICAgICAgICAgbGV0
IHByaW1hcnkgPSBwYXJzZVByaW1hcnkoKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgbGV0
IG9rID0gdHJ1ZTsKLSAgICAgICAgICAgIHdoaWxlIChvaykgewotICAgICAgICAgICAgICAgIHN3
aXRjaCAocGVla1Rva2VuKCkuc3RyaW5nKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSAiXiI6Ci0g
ICAgICAgICAgICAgICAgICAgIG5leHRUb2tlbigpOwotICAgICAgICAgICAgICAgICAgICBwcmlt
YXJ5ID0ge2V2YWx1YXRlOiBCYXNpYy5OdW1iZXJQb3csIGxlZnQ6IHByaW1hcnksIHJpZ2h0OiBw
YXJzZVByaW1hcnkoKX07Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgIG9rID0gZmFsc2U7Ci0gICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIAotICAgICAgICAgICAgcmV0dXJuIHByaW1hcnk7Ci0gICAgICAgIH0KLSAgICAgICAg
Ci0gICAgICAgIGZ1bmN0aW9uIHBhcnNlVGVybSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGxl
dCBmYWN0b3IgPSBwYXJzZUZhY3RvcigpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBsZXQg
b2sgPSB0cnVlOwotICAgICAgICAgICAgd2hpbGUgKG9rKSB7Ci0gICAgICAgICAgICAgICAgc3dp
dGNoIChwZWVrVG9rZW4oKS5zdHJpbmcpIHsKLSAgICAgICAgICAgICAgICBjYXNlICIqIjoKLSAg
ICAgICAgICAgICAgICAgICAgbmV4dFRva2VuKCk7Ci0gICAgICAgICAgICAgICAgICAgIGZhY3Rv
ciA9IHtldmFsdWF0ZTogQmFzaWMuTnVtYmVyTXVsLCBsZWZ0OiBmYWN0b3IsIHJpZ2h0OiBwYXJz
ZUZhY3RvcigpfTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
Y2FzZSAiLyI6Ci0gICAgICAgICAgICAgICAgICAgIG5leHRUb2tlbigpOwotICAgICAgICAgICAg
ICAgICAgICBmYWN0b3IgPSB7ZXZhbHVhdGU6IEJhc2ljLk51bWJlckRpdiwgbGVmdDogZmFjdG9y
LCByaWdodDogcGFyc2VGYWN0b3IoKX07Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgIG9rID0gZmFsc2U7Ci0g
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgcmV0dXJuIGZhY3RvcjsKLSAgICAgICAgfQot
ICAgICAgICAKLSAgICAgICAgLy8gT25seSB0aGUgbGVhZGluZyB0ZXJtIGluIEJhc2ljIGNhbiBo
YXZlIGEgc2lnbi4KLSAgICAgICAgbGV0IG5lZ2F0ZSA9IGZhbHNlOwotICAgICAgICBzd2l0Y2gg
KHBlZWtUb2tlbigpLnN0cmluZykgewotICAgICAgICBjYXNlICIrIjoKLSAgICAgICAgICAgIG5l
eHRUb2tlbigpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgIi0iOgotICAgICAg
ICAgICAgbmVnYXRlID0gdHJ1ZTsKLSAgICAgICAgICAgIG5leHRUb2tlbigpCi0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgbGV0IHRlcm0gPSBwYXJzZVRl
cm0oKTsKLSAgICAgICAgaWYgKG5lZ2F0ZSkKLSAgICAgICAgICAgIHRlcm0gPSB7ZXZhbHVhdGU6
IEJhc2ljLk51bWJlck5lZywgdGVybTogdGVybX07Ci0gICAgICAgIAotICAgICAgICBsZXQgb2sg
PSB0cnVlOwotICAgICAgICB3aGlsZSAob2spIHsKLSAgICAgICAgICAgIHN3aXRjaCAocGVla1Rv
a2VuKCkuc3RyaW5nKSB7Ci0gICAgICAgICAgICBjYXNlICIrIjoKLSAgICAgICAgICAgICAgICBu
ZXh0VG9rZW4oKTsKLSAgICAgICAgICAgICAgICB0ZXJtID0ge2V2YWx1YXRlOiBCYXNpYy5OdW1i
ZXJBZGQsIGxlZnQ6IHRlcm0sIHJpZ2h0OiBwYXJzZVRlcm0oKX07Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICBjYXNlICItIjoKLSAgICAgICAgICAgICAgICBuZXh0VG9rZW4o
KTsKLSAgICAgICAgICAgICAgICB0ZXJtID0ge2V2YWx1YXRlOiBCYXNpYy5OdW1iZXJTdWIsIGxl
ZnQ6IHRlcm0sIHJpZ2h0OiBwYXJzZVRlcm0oKX07Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIG9rID0gZmFsc2U7Ci0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAg
ICAgIHJldHVybiB0ZXJtOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBwYXJzZUNvbnN0YW50
KCkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAocGVla1Rva2VuKCkuc3RyaW5nKSB7Ci0gICAgICAg
IGNhc2UgIisiOgotICAgICAgICAgICAgbmV4dFRva2VuKCk7Ci0gICAgICAgICAgICByZXR1cm4g
Y29uc3VtZUtpbmQoIm51bWJlciIpLnZhbHVlOwotICAgICAgICBjYXNlICItIjoKLSAgICAgICAg
ICAgIG5leHRUb2tlbigpOwotICAgICAgICAgICAgcmV0dXJuIC1jb25zdW1lS2luZCgibnVtYmVy
IikudmFsdWU7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBpZiAoaXNTdHJpbmdFeHBy
ZXNzaW9uKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnN1bWVLaW5kKCJzdHJpbmciKS52
YWx1ZTsKLSAgICAgICAgICAgIHJldHVybiBjb25zdW1lS2luZCgibnVtYmVyIikudmFsdWU7Ci0g
ICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gcGFyc2VTdHJpbmdFeHByZXNzaW9u
KCkKLSAgICB7Ci0gICAgICAgIGxldCB0b2tlbiA9IG5leHRUb2tlbigpOwotICAgICAgICBzd2l0
Y2ggKHRva2VuLmtpbmQpIHsKLSAgICAgICAgY2FzZSAic3RyaW5nIjoKLSAgICAgICAgICAgIHJl
dHVybiB7ZXZhbHVhdGU6IEJhc2ljLkNvbnN0LCB2YWx1ZTogdG9rZW4udmFsdWV9OwotICAgICAg
ICBjYXNlICJpZGVudGlmaWVyIjoKLSAgICAgICAgICAgIGNvbnN1bWVUb2tlbigiJCIpOwotICAg
ICAgICAgICAgcmV0dXJuIHtldmFsdWF0ZTogQmFzaWMuU3RyaW5nVmFyLCBuYW1lOiB0b2tlbi5z
dHJpbmd9OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJB
dCAiICsgdG9rZW4uc291cmNlTGluZU51bWJlciArICI6IGV4cGVjdGVkIHN0cmluZyBleHByZXNz
aW9uIGJ1dCBnb3QgIiArIHRva2VuLnN0cmluZyk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0g
ICAgZnVuY3Rpb24gaXNTdHJpbmdFeHByZXNzaW9uKCkKLSAgICB7Ci0gICAgICAgIC8vIEEgc3Ry
aW5nIGV4cHJlc3Npb24gbXVzdCBzdGFydCB3aXRoIGEgc3RyaW5nIHZhcmlhYmxlIG9yIGEgc3Ry
aW5nIGNvbnN0YW50LgotICAgICAgICBsZXQgdG9rZW4gPSBuZXh0VG9rZW4oKTsKLSAgICAgICAg
aWYgKHRva2VuLmtpbmQgPT0gInN0cmluZyIpIHsKLSAgICAgICAgICAgIHB1c2hUb2tlbih0b2tl
bik7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotICAgICAgICBpZiAodG9r
ZW4ua2luZCA9PSAiaWRlbnRpZmllciIpIHsKLSAgICAgICAgICAgIGxldCByZXN1bHQgPSBwZWVr
VG9rZW4oKS5zdHJpbmcgPT0gIiQiOwotICAgICAgICAgICAgcHVzaFRva2VuKHRva2VuKTsKLSAg
ICAgICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAgIH0KLSAgICAgICAgcHVzaFRva2VuKHRv
a2VuKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBw
YXJzZVJlbGF0aW9uYWxFeHByZXNzaW9uKCkKLSAgICB7Ci0gICAgICAgIGlmIChpc1N0cmluZ0V4
cHJlc3Npb24oKSkgewotICAgICAgICAgICAgbGV0IGxlZnQgPSBwYXJzZVN0cmluZ0V4cHJlc3Np
b24oKTsKLSAgICAgICAgICAgIGxldCBvcGVyYXRvciA9IG5leHRUb2tlbigpOwotICAgICAgICAg
ICAgbGV0IGV2YWx1YXRlOwotICAgICAgICAgICAgc3dpdGNoIChvcGVyYXRvci5zdHJpbmcpIHsK
LSAgICAgICAgICAgIGNhc2UgIj0iOgotICAgICAgICAgICAgICAgIGV2YWx1YXRlID0gQmFzaWMu
RXF1YWxzOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiPD4iOgot
ICAgICAgICAgICAgICAgIGV2YWx1YXRlID0gQmFzaWMuTm90RXF1YWxzOwotICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkF0ICIgKyBvcGVyYXRvci5zb3VyY2VMaW5lTnVtYmVyICsgIjogZXhwZWN0ZWQg
YSBzdHJpbmcgY29tcGFyaXNvbiBvcGVyYXRvciBidXQgZ290OiAiICsgb3BlcmF0b3Iuc3RyaW5n
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiB7ZXZhbHVhdGUsIGxlZnQsIHJp
Z2h0OiBwYXJzZVN0cmluZ0V4cHJlc3Npb24oKX07Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAg
ICAgIGxldCBsZWZ0ID0gcGFyc2VOdW1lcmljRXhwcmVzc2lvbigpOwotICAgICAgICBsZXQgb3Bl
cmF0b3IgPSBuZXh0VG9rZW4oKTsKLSAgICAgICAgbGV0IGV2YWx1YXRlOwotICAgICAgICBzd2l0
Y2ggKG9wZXJhdG9yLnN0cmluZykgewotICAgICAgICBjYXNlICI9IjoKLSAgICAgICAgICAgIGV2
YWx1YXRlID0gQmFzaWMuRXF1YWxzOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
Ijw+IjoKLSAgICAgICAgICAgIGV2YWx1YXRlID0gQmFzaWMuTm90RXF1YWxzOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgIjwiOgotICAgICAgICAgICAgZXZhbHVhdGUgPSBCYXNp
Yy5MZXNzVGhhbjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICI+IjoKLSAgICAg
ICAgICAgIGV2YWx1YXRlID0gQmFzaWMuR3JlYXRlclRoYW47Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSAiPD0iOgotICAgICAgICAgICAgZXZhbHVhdGUgPSBCYXNpYy5MZXNzRXF1
YWw7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAiPj0iOgotICAgICAgICAgICAg
ZXZhbHVhdGUgPSBCYXNpYy5HcmVhdGVyRXF1YWw7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQXQgIiArIG9wZXJhdG9y
LnNvdXJjZUxpbmVOdW1iZXIgKyAiOiBleHBlY3RlZCBhIG51bWVyaWMgY29tcGFyaXNvbiBvcGVy
YXRvciBidXQgZ290OiAiICsgb3BlcmF0b3Iuc3RyaW5nKTsKLSAgICAgICAgfQotICAgICAgICBy
ZXR1cm4ge2V2YWx1YXRlLCBsZWZ0LCByaWdodDogcGFyc2VOdW1lcmljRXhwcmVzc2lvbigpfTsK
LSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gcGFyc2VOb25OZWdhdGl2ZUludGVnZXIoKQotICAg
IHsKLSAgICAgICAgbGV0IHRva2VuID0gbmV4dFRva2VuKCk7Ci0gICAgICAgIGlmICghL15bMC05
XSskLy50ZXN0KHRva2VuLnN0cmluZykpCi0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0
ICIsIHRva2VuLnNvdXJjZUxpbmVOdW1iZXIgKyAiOiBleHBlY3RlZCBhIGxpbmUgbnVtYmVyIGJ1
dCBnb3Q6ICIgKyB0b2tlbi5zdHJpbmcpOwotICAgICAgICByZXR1cm4gdG9rZW4udmFsdWU7Ci0g
ICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHBhcnNlR29Ub1N0YXRlbWVudCgpCi0gICAgewotICAg
ICAgICBzdGF0ZW1lbnQua2luZCA9IEJhc2ljLkdvVG87Ci0gICAgICAgIHN0YXRlbWVudC50YXJn
ZXQgPSBwYXJzZU5vbk5lZ2F0aXZlSW50ZWdlcigpOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlv
biBwYXJzZUdvU3ViU3RhdGVtZW50KCkKLSAgICB7Ci0gICAgICAgIHN0YXRlbWVudC5raW5kID0g
QmFzaWMuR29TdWI7Ci0gICAgICAgIHN0YXRlbWVudC50YXJnZXQgPSBwYXJzZU5vbk5lZ2F0aXZl
SW50ZWdlcigpOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBwYXJzZVN0YXRlbWVudCgpCi0g
ICAgewotICAgICAgICBsZXQgc3RhdGVtZW50ID0ge307Ci0gICAgICAgIHN0YXRlbWVudC5saW5l
TnVtYmVyID0gY29uc3VtZUtpbmQoInVzZXJMaW5lTnVtYmVyIikudXNlckxpbmVOdW1iZXI7Ci0g
ICAgICAgIHByb2dyYW0uc3RhdGVtZW50cy5zZXQoc3RhdGVtZW50LmxpbmVOdW1iZXIsIHN0YXRl
bWVudCk7Ci0gICAgICAgIAotICAgICAgICBsZXQgY29tbWFuZCA9IG5leHRUb2tlbigpOwotICAg
ICAgICBzdGF0ZW1lbnQuc291cmNlTGluZU51bWJlciA9IGNvbW1hbmQuc291cmNlTGluZU51bWJl
cjsKLSAgICAgICAgc3dpdGNoIChjb21tYW5kLmtpbmQpIHsKLSAgICAgICAgY2FzZSAia2V5d29y
ZCI6Ci0gICAgICAgICAgICBzd2l0Y2ggKGNvbW1hbmQuc3RyaW5nLnRvTG93ZXJDYXNlKCkpIHsK
LSAgICAgICAgICAgIGNhc2UgImRlZiI6Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnByb2Nl
c3MgPSBCYXNpYy5EZWY7Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50Lm5hbWUgPSBjb25zdW1l
S2luZCgiaWRlbnRpZmllciIpOwotICAgICAgICAgICAgICAgIHN0YXRlbWVudC5wYXJhbWV0ZXJz
ID0gW107Ci0gICAgICAgICAgICAgICAgaWYgKHBlZWtUb2tlbigpLnN0cmluZyA9PSAiKCIpIHsK
LSAgICAgICAgICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFRv
a2VuKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQucGFyYW1ldGVycy5wdXNo
KGNvbnN1bWVLaW5kKCJpZGVudGlmaWVyIikpOwotICAgICAgICAgICAgICAgICAgICB9IHdoaWxl
IChwZWVrVG9rZW4oKS5zdHJpbmcgPT0gIiwiKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgc3RhdGVtZW50LmV4cHJlc3Npb24gPSBwYXJzZU51bWVyaWNFeHByZXNzaW9uKCk7
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICJsZXQiOgotICAgICAg
ICAgICAgICAgIHN0YXRlbWVudC5wcm9jZXNzID0gQmFzaWMuTGV0OwotICAgICAgICAgICAgICAg
IHN0YXRlbWVudC52YXJpYWJsZSA9IHBhcnNlVmFyaWFibGUoKTsKLSAgICAgICAgICAgICAgICBj
b25zdW1lVG9rZW4oIj0iKTsKLSAgICAgICAgICAgICAgICBpZiAoc3RhdGVtZW50LnByb2Nlc3Mg
PT0gQmFzaWMuTGV0KQotICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQuZXhwcmVzc2lvbiA9
IHBhcnNlTnVtZXJpY0V4cHJlc3Npb24oKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgICAgIHN0YXRlbWVudC5leHByZXNzaW9uID0gcGFyc2VTdHJpbmdFeHByZXNzaW9u
KCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICJnbyI6IHsKLSAg
ICAgICAgICAgICAgICBsZXQgbmV4dCA9IG5leHRUb2tlbigpOwotICAgICAgICAgICAgICAgIGlm
IChuZXh0LnN0cmluZyA9PSAidG8iKQotICAgICAgICAgICAgICAgICAgICBwYXJzZUdvVG9TdGF0
ZW1lbnQoKTsKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChuZXh0LnN0cmluZyA9PSAic3ViIikK
LSAgICAgICAgICAgICAgICAgICAgcGFyc2VHb1N1YlN0YXRlbWVudCgpOwotICAgICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJBdCAiICsgbmV4
dC5zb3VyY2VMaW5lTnVtYmVyICsgIjogZXhwZWN0ZWQgdG8gb3Igc3ViIGJ1dCBnb3Q6ICIgKyBu
ZXh0LnN0cmluZyk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBjYXNlICJnb3RvIjoKLSAgICAgICAgICAgICAgICBwYXJzZUdvVG9TdGF0ZW1lbnQo
KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgImdvc3ViIjoKLSAg
ICAgICAgICAgICAgICBwYXJzZUdvU3ViU3RhdGVtZW50KCk7Ci0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICBjYXNlICJpZiI6Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnBy
b2Nlc3MgPSBCYXNpYy5JZjsKLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQuY29uZGl0aW9uID0g
cGFyc2VSZWxhdGlvbmFsRXhwcmVzc2lvbigpOwotICAgICAgICAgICAgICAgIGNvbnN1bWVUb2tl
bigidGhlbiIpOwotICAgICAgICAgICAgICAgIHN0YXRlbWVudC50YXJnZXQgPSBwYXJzZU5vbk5l
Z2F0aXZlSW50ZWdlcigpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2Fz
ZSAicmV0dXJuIjoKLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQucHJvY2VzcyA9IEJhc2ljLlJl
dHVybjsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgInN0b3AiOgot
ICAgICAgICAgICAgICAgIHN0YXRlbWVudC5wcm9jZXNzID0gQmFzaWMuU3RvcDsKLSAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIm9uIjoKLSAgICAgICAgICAgICAgICBz
dGF0ZW1lbnQucHJvY2VzcyA9IEJhc2ljLk9uOwotICAgICAgICAgICAgICAgIHN0YXRlbWVudC5l
eHByZXNzaW9uID0gcGFyc2VOdW1lcmljRXhwcmVzc2lvbigpOwotICAgICAgICAgICAgICAgIGlm
IChwZWVrVG9rZW4oKS5zdHJpbmcgPT0gImdvIikgewotICAgICAgICAgICAgICAgICAgICBjb25z
dW1lVG9rZW4oImdvIik7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN1bWVUb2tlbigidG8iKTsK
LSAgICAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgY29uc3VtZVRva2Vu
KCJnb3RvIik7Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnRhcmdldHMgPSBbXTsKLSAgICAg
ICAgICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudC50YXJn
ZXRzLnB1c2gocGFyc2VOb25OZWdhdGl2ZUludGVnZXIoKSk7Ci0gICAgICAgICAgICAgICAgICAg
IGlmIChwZWVrVG9rZW4oKS5zdHJpbmcgIT0gIiwiKQotICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIG5leHRUb2tlbigpOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgImZvciI6Ci0gICAg
ICAgICAgICAgICAgc3RhdGVtZW50LnByb2Nlc3MgPSBCYXNpYy5Gb3I7Ci0gICAgICAgICAgICAg
ICAgc3RhdGVtZW50LnZhcmlhYmxlID0gY29uc3VtZUtpbmQoImlkZW50aWZpZXIiKS5zdHJpbmc7
Ci0gICAgICAgICAgICAgICAgY29uc3VtZVRva2VuKCI9Iik7Ci0gICAgICAgICAgICAgICAgc3Rh
dGVtZW50LmluaXRpYWwgPSBwYXJzZU51bWVyaWNFeHByZXNzaW9uKCk7Ci0gICAgICAgICAgICAg
ICAgY29uc3VtZVRva2VuKCJ0byIpOwotICAgICAgICAgICAgICAgIHN0YXRlbWVudC5saW1pdCA9
IHBhcnNlTnVtZXJpY0V4cHJlc3Npb24oKTsKLSAgICAgICAgICAgICAgICBpZiAocGVla1Rva2Vu
KCkuc3RyaW5nID09ICJzdGVwIikgewotICAgICAgICAgICAgICAgICAgICBuZXh0VG9rZW4oKTsK
LSAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50LnN0ZXAgPSBwYXJzZU51bWVyaWNFeHByZXNz
aW9uKCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHN0YXRl
bWVudC5zdGVwID0ge2V2YWx1YXRlOiBCYXNpYy5Db25zdCwgdmFsdWU6IDF9OwotICAgICAgICAg
ICAgICAgIGNvbnN1bWVLaW5kKCJuZXdMaW5lIik7Ci0gICAgICAgICAgICAgICAgbGV0IGxhc3RT
dGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudHMoKTsKLSAgICAgICAgICAgICAgICBpZiAobGFzdFN0
YXRlbWVudC5wcm9jZXNzICE9IEJhc2ljLk5leHQpCi0gICAgICAgICAgICAgICAgICAgIHRocm93
IG5ldyBFcnJvcigiQXQgIiArIGxhc3RTdGF0ZW1lbnQuc291cmNlTGluZU51bWJlciArICI6IGV4
cGVjdGVkIG5leHQgc3RhdGVtZW50Iik7Ci0gICAgICAgICAgICAgICAgaWYgKGxhc3RTdGF0ZW1l
bnQudmFyaWFibGUgIT0gc3RhdGVtZW50LnZhcmlhYmxlKQotICAgICAgICAgICAgICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkF0ICIgKyBsYXN0U3RhdGVtZW50LnNvdXJjZUxpbmVOdW1iZXIgKyAi
OiBleHBlY3RlZCBuZXh0IGZvciAiICsgc3RhdGVtZW50LnZhcmlhYmxlICsgIiBidXQgZ290ICIg
KyBsYXN0U3RhdGVtZW50LnZhcmlhYmxlKTsKLSAgICAgICAgICAgICAgICBsYXN0U3RhdGVtZW50
LnRhcmdldCA9IHN0YXRlbWVudDsKLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQudGFyZ2V0ID0g
bGFzdFN0YXRlbWVudDsKLSAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGVtZW50OwotICAgICAg
ICAgICAgY2FzZSAibmV4dCI6Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnByb2Nlc3MgPSBC
YXNpYy5OZXh0OwotICAgICAgICAgICAgICAgIHN0YXRlbWVudC52YXJpYWJsZSA9IGNvbnN1bWVL
aW5kKCJpZGVudGlmaWVyIikuc3RyaW5nOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgY2FzZSAicHJpbnQiOiB7Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnByb2Nlc3Mg
PSBCYXNpYy5QcmludDsKLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQuaXRlbXMgPSBbXTsKLSAg
ICAgICAgICAgICAgICBsZXQgb2sgPSB0cnVlOwotICAgICAgICAgICAgICAgIHdoaWxlIChvaykg
ewotICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHBlZWtUb2tlbigpLnN0cmluZykgewotICAg
ICAgICAgICAgICAgICAgICBjYXNlICIsIjoKLSAgICAgICAgICAgICAgICAgICAgICAgIG5leHRU
b2tlbigpOwotICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50Lml0ZW1zLnB1c2goe2tp
bmQ6ICJjb21tYSJ9KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgICAgICAgICBjYXNlICI7IjoKLSAgICAgICAgICAgICAgICAgICAgICAgIG5leHRUb2tlbigp
OwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNh
c2UgInRhYiI6Ci0gICAgICAgICAgICAgICAgICAgICAgICBuZXh0VG9rZW4oKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN1bWVUb2tlbigiKCIpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgc3RhdGVtZW50Lml0ZW1zLnB1c2goe2tpbmQ6ICJ0YWIiLCB2YWx1ZTogcGFyc2VOdW1lcmlj
RXhwcmVzc2lvbigpfSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgICAgICAgICAgY2FzZSAiXG4iOgotICAgICAgICAgICAgICAgICAgICAgICAgb2sgPSBmYWxz
ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBk
ZWZhdWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzU3RyaW5nRXhwcmVzc2lvbigp
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50Lml0ZW1zLnB1c2goe2tp
bmQ6ICJzdHJpbmciLCB2YWx1ZTogcGFyc2VTdHJpbmdFeHByZXNzaW9uKCl9KTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudC5pdGVtcy5wdXNoKHtraW5kOiAibnVtYmVy
IiwgdmFsdWU6IHBhcnNlTnVtZXJpY0V4cHJlc3Npb24oKX0pOwotICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNlICJp
bnB1dCI6Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnByb2Nlc3MgPSBCYXNpYy5JbnB1dDsK
LSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQuaXRlbXMgPSBbXTsKLSAgICAgICAgICAgICAgICBm
b3IgKDs7KSB7Ci0gICAgICAgICAgICAgICAgICAgIHN0YW1lbnQuaXRlbXMucHVzaChwYXJzZVZh
cmlhYmxlKCkpOwotICAgICAgICAgICAgICAgICAgICBpZiAocGVla1Rva2VuKCkuc3RyaW5nICE9
ICIsIikKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAg
ICBuZXh0VG9rZW4oKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICBjYXNlICJyZWFkIjoKLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQucHJv
Y2VzcyA9IEJhc2ljLlJlYWQ7Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50Lml0ZW1zID0gW107
Ci0gICAgICAgICAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgICAgICAgICBzdGFtZW50
Lml0ZW1zLnB1c2gocGFyc2VWYXJpYWJsZSgpKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHBl
ZWtUb2tlbigpLnN0cmluZyAhPSAiLCIpCi0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgICAgICAgICAgbmV4dFRva2VuKCk7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAicmVzdG9yZSI6Ci0gICAgICAg
ICAgICAgICAgc3RhdGVtZW50LnByb2Nlc3MgPSBCYXNpYy5SZXN0b3JlOwotICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiZGF0YSI6Ci0gICAgICAgICAgICAgICAgZm9y
ICg7OykgewotICAgICAgICAgICAgICAgICAgICBwcm9ncmFtLmRhdGEucHVzaChwYXJzZUNvbnN0
YW50KCkpOwotICAgICAgICAgICAgICAgICAgICBpZiAocGVla1Rva2VuKCkuc3RyaW5nICE9ICIs
IikKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBu
ZXh0VG9rZW4oKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICBjYXNlICJkaW0iOgotICAgICAgICAgICAgICAgIHN0YXRlbWVudC5wcm9jZXNz
ID0gQmFzaWMuRGltOwotICAgICAgICAgICAgICAgIHN0YXRlbWVudC5pdGVtcyA9IFtdOwotICAg
ICAgICAgICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgICAgICAgICAgbGV0IG5hbWUgPSBj
b25zdW1lS2luZCgiaWRlbnRpZmllciIpLnN0cmluZzsKLSAgICAgICAgICAgICAgICAgICAgY29u
c3VtZVRva2VuKCIoIik7Ci0gICAgICAgICAgICAgICAgICAgIGxldCBib3VuZHMgPSBbXTsKLSAg
ICAgICAgICAgICAgICAgICAgYm91bmRzLnB1c2gocGFyc2VOb25OZWdhdGl2ZUludGVnZXIoKSk7
Ci0gICAgICAgICAgICAgICAgICAgIGlmIChwZWVrVG9rZW4oKS5zdHJpbmcgPT0gIiwiKSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBuZXh0VG9rZW4oKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGJvdW5kcy5wdXNoKHBhcnNlTm9uTmVnYXRpdmVJbnRlZ2VyKCkpOwotICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN1bWVUb2tlbigiKSIpOwotICAgICAg
ICAgICAgICAgICAgICBzdGF0ZW1lbnQuaXRlbXMucHVzaCh7bmFtZSwgYm91bmRzfSk7Ci0gICAg
ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICBpZiAocGVla1Rva2VuKCkuc3Ry
aW5nICE9ICIsIikKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
ICAgICAgICBjb25zdW1lVG9rZW4oIiwiKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICJvcHRpb24iOiB7Ci0gICAgICAgICAgICAg
ICAgY29uc3VtZVRva2VuKCJiYXNlIik7Ci0gICAgICAgICAgICAgICAgbGV0IGJhc2UgPSBwYXJz
ZU5vbk5lZ2F0aXZlSW50ZWdlcigpOwotICAgICAgICAgICAgICAgIGlmIChiYXNlICE9IDAgJiYg
YmFzZSAhPSAxKQotICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0ICIgKyBj
b21tYW5kLnNvdXJjZUxpbmVOdW1iZXIgKyAiOiB1bmV4cGVjdGVkIGJhc2U6ICIgKyBiYXNlKTsK
LSAgICAgICAgICAgICAgICBwcm9ncmFtLmJhc2UgPSBiYXNlOwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAicmFuZG9taXplIjoKLSAgICAg
ICAgICAgICAgICBzdGF0ZW1lbnQucHJvY2VzcyA9IEJhc2ljLlJhbmRvbWl6ZTsKLSAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgImVuZCI6Ci0gICAgICAgICAgICAgICAg
c3RhdGVtZW50LnByb2Nlc3MgPSBCYXNpYy5FbmQ7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQXQg
IiArIGNvbW1hbmQuc291cmNlTGluZU51bWJlciArICI6IHVuZXhwZWN0ZWQgY29tbWFuZCBidXQg
Z290OiAiICsgY29tbWFuZC5zdHJpbmcpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGNhc2UgInJlbWFyayI6Ci0gICAgICAgICAgICAvLyBKdXN0IGlnbm9yZSBp
dC4KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCJBdCAiICsgY29tbWFuZC5zb3VyY2VMaW5lTnVtYmVyICsgIjogZXhwZWN0
ZWQgY29tbWFuZCBidXQgZ290OiAiICsgY29tbWFuZC5zdHJpbmcgKyAiIChvZiBraW5kICIgKyBj
b21tYW5kLmtpbmQgKyAiKSIpOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBjb25zdW1l
S2luZCgibmV3TGluZSIpOwotICAgICAgICByZXR1cm4gc3RhdGVtZW50OwotICAgIH0KLSAgICAK
LSAgICBmdW5jdGlvbiBwYXJzZVN0YXRlbWVudHMoKQotICAgIHsKLSAgICAgICAgbGV0IHN0YXRl
bWVudDsKLSAgICAgICAgZG8gewotICAgICAgICAgICAgc3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1l
bnQoKTsKLSAgICAgICAgfSB3aGlsZSAoIXN0YXRlbWVudC5wcm9jZXNzIHx8ICFzdGF0ZW1lbnQu
cHJvY2Vzcy5pc0Jsb2NrRW5kKTsKLSAgICAgICAgcmV0dXJuIHN0YXRlbWVudDsKLSAgICB9Ci0g
ICAgCi0gICAgcmV0dXJuIHsKLSAgICAgICAgcHJvZ3JhbSgpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHByb2dyYW0gPSB7Ci0gICAgICAgICAgICAgICAgcHJvY2VzczogQmFzaWMuUHJvZ3JhbSwK
LSAgICAgICAgICAgICAgICBzdGF0ZW1lbnRzOiBuZXcgTWFwKCksCi0gICAgICAgICAgICAgICAg
ZGF0YTogW10sCi0gICAgICAgICAgICAgICAgYmFzZTogMAotICAgICAgICAgICAgfTsKLSAgICAg
ICAgICAgIGxldCBsYXN0U3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnRzKHByb2dyYW0uc3RhdGVt
ZW50cyk7Ci0gICAgICAgICAgICBpZiAobGFzdFN0YXRlbWVudC5wcm9jZXNzICE9IEJhc2ljLkVu
ZCkKLSAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0ICIgKyBsYXN0U3RhdGVtZW50
LnNvdXJjZUxpbmVOdW1iZXIgKyAiOiBleHBlY3RlZCBlbmQiKTsKLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgcmV0dXJuIHByb2dyYW07Ci0gICAgICAgIH0sCi0gICAgICAgIAotICAgICAgICBz
dGF0ZW1lbnQocHJvZ3JhbV8pCi0gICAgICAgIHsKLSAgICAgICAgICAgIHByb2dyYW0gPSBwcm9n
cmFtXzsKLSAgICAgICAgICAgIHJldHVybiBwYXJzZVN0YXRlbWVudCgpOwotICAgICAgICB9Ci0g
ICAgfTsKLX0KLQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9y
YW5kb20uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9C
YXNpYy9yYW5kb20uanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2
U2FtcGxlQmVuY2gvQmFzaWMvcmFuZG9tLmpzCShub25leGlzdGVudCkKQEAgLTEsNTQgKzAsMCBA
QAotLy8gQ29weXJpZ2h0IDIwMTMgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLS8vIENvcHlyaWdodCAoQykgMjAxNS0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLS8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotLy8gbWV0OgotLy8K
LS8vICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0vLyAgICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0vLyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0vLyAgICAgICBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwotLy8g
ICAgICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkCi0vLyAgICAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0vLyAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0vLyAg
ICAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQKLS8vICAgICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLS8vCi0vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0vLyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAotLy8gTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCi0vLyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotLy8gT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0vLyBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCi0vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLS8vIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotLy8gVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
Ly8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0vLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotInVzZSBzdHJpY3QiOwotCi0vLyBUaGlz
IGlzIGJhc2VkIG9uIE9jdGFuZSdzIFJORy4KLWZ1bmN0aW9uIGNyZWF0ZVJORyhzZWVkKQotewot
ICAgIHJldHVybiBmdW5jdGlvbigpIHsKLSAgICAgICAgLy8gUm9iZXJ0IEplbmtpbnMnIDMyIGJp
dCBpbnRlZ2VyIGhhc2ggZnVuY3Rpb24uCi0gICAgICAgIHNlZWQgPSAoKHNlZWQgKyAweDdlZDU1
ZDE2KSArIChzZWVkIDw8IDEyKSkgICYgMHhmZmZmZmZmZjsKLSAgICAgICAgc2VlZCA9ICgoc2Vl
ZCBeIDB4Yzc2MWMyM2MpIF4gKHNlZWQgPj4+IDE5KSkgJiAweGZmZmZmZmZmOwotICAgICAgICBz
ZWVkID0gKChzZWVkICsgMHgxNjU2NjdiMSkgKyAoc2VlZCA8PCA1KSkgICAmIDB4ZmZmZmZmZmY7
Ci0gICAgICAgIHNlZWQgPSAoKHNlZWQgKyAweGQzYTI2NDZjKSBeIChzZWVkIDw8IDkpKSAgICYg
MHhmZmZmZmZmZjsKLSAgICAgICAgc2VlZCA9ICgoc2VlZCArIDB4ZmQ3MDQ2YzUpICsgKHNlZWQg
PDwgMykpICAgJiAweGZmZmZmZmZmOwotICAgICAgICBzZWVkID0gKChzZWVkIF4gMHhiNTVhNGYw
OSkgXiAoc2VlZCA+Pj4gMTYpKSAmIDB4ZmZmZmZmZmY7Ci0gICAgICAgIHJldHVybiAoc2VlZCAm
IDB4ZmZmZmZmZikgLyAweDEwMDAwMDAwOwotICAgIH07Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0ZVJO
R1dpdGhGaXhlZFNlZWQoKQotewotICAgIC8vIFRoaXMgdXNlcyBPY3RhbmUncyBpbml0aWFsIHNl
ZWQuCi0gICAgcmV0dXJuIGNyZWF0ZVJORyg0OTczNDMyMSk7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0
ZVJOR1dpdGhSYW5kb21TZWVkKCkKLXsKLSAgICByZXR1cm4gY3JlYXRlUk5HKChNYXRoLnJhbmRv
bSgpICogNDI5NDk2NzI5NikgfCAwKTsKLX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2Ft
cGxlQmVuY2gvQmFzaWMvc3RhdGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9F
UzZTYW1wbGVCZW5jaC9CYXNpYy9zdGF0ZS5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9y
bWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9zdGF0ZS5qcwkobm9uZXhpc3RlbnQpCkBA
IC0xLDk4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0g
Ki8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgU3RhdGUgewotICAgIGNvbnN0cnVjdG9yKHByb2dy
YW0pCi0gICAgewotICAgICAgICB0aGlzLnZhbHVlcyA9IG5ldyBDYXNlbGVzc01hcCgpOwotICAg
ICAgICB0aGlzLnN0cmluZ1ZhbHVlcyA9IG5ldyBDYXNlbGVzc01hcCgpOwotICAgICAgICB0aGlz
LnNpZGVTdGF0ZSA9IG5ldyBXZWFrTWFwKCk7Ci0gICAgICAgIHRoaXMuc3RhdGVtZW50ID0gbnVs
bDsKLSAgICAgICAgdGhpcy5uZXh0TGluZU51bWJlciA9IDA7Ci0gICAgICAgIHRoaXMuc3ViU3Rh
Y2sgPSBbXTsKLSAgICAgICAgdGhpcy5kYXRhSW5kZXggPSAwOwotICAgICAgICB0aGlzLnByb2dy
YW0gPSBwcm9ncmFtOwotICAgICAgICB0aGlzLnJuZyA9IGNyZWF0ZVJOR1dpdGhGaXhlZFNlZWQo
KTsKLSAgICAgICAgCi0gICAgICAgIGxldCBhZGROYXRpdmUgPSAobmFtZSwgY2FsbGJhY2spID0+
IHsKLSAgICAgICAgICAgIHRoaXMudmFsdWVzLnNldChuYW1lLCBuZXcgTmF0aXZlRnVuY3Rpb24o
Y2FsbGJhY2spKTsKLSAgICAgICAgfTsKLSAgICAgICAgCi0gICAgICAgIGFkZE5hdGl2ZSgiYWJz
IiwgeCA9PiBNYXRoLmFicyh4KSk7Ci0gICAgICAgIGFkZE5hdGl2ZSgiYXRuIiwgeCA9PiBNYXRo
LmF0YW4oeCkpOwotICAgICAgICBhZGROYXRpdmUoImNvcyIsIHggPT4gTWF0aC5jb3MoeCkpOwot
ICAgICAgICBhZGROYXRpdmUoImV4cCIsIHggPT4gTWF0aC5leHAoeCkpOwotICAgICAgICBhZGRO
YXRpdmUoImludCIsIHggPT4gTWF0aC5mbG9vcih4KSk7Ci0gICAgICAgIGFkZE5hdGl2ZSgibG9n
IiwgeCA9PiBNYXRoLmxvZyh4KSk7Ci0gICAgICAgIGFkZE5hdGl2ZSgicm5kIiwgKCkgPT4gdGhp
cy5ybmcoKSk7Ci0gICAgICAgIGFkZE5hdGl2ZSgic2duIiwgeCA9PiBNYXRoLnNpZ24oeCkpOwot
ICAgICAgICBhZGROYXRpdmUoInNpbiIsIHggPT4gTWF0aC5zaW4oeCkpOwotICAgICAgICBhZGRO
YXRpdmUoInNxciIsIHggPT4gTWF0aC5zcXJ0KHgpKTsKLSAgICAgICAgYWRkTmF0aXZlKCJ0YW4i
LCB4ID0+IE1hdGgudGFuKHgpKTsKLSAgICB9Ci0gICAgCi0gICAgZ2V0VmFsdWUobmFtZSwgbnVt
UGFyYW1ldGVycykKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLnZhbHVlcy5oYXMobmFtZSkpCi0g
ICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXMuZ2V0KG5hbWUpOwotCi0gICAgICAgIGxldCBy
ZXN1bHQ7Ci0gICAgICAgIGlmIChudW1QYXJhbWV0ZXJzID09IDApCi0gICAgICAgICAgICByZXN1
bHQgPSBuZXcgTnVtYmVyVmFsdWUoKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBsZXQg
ZGltID0gW107Ci0gICAgICAgICAgICB3aGlsZSAobnVtUGFyYW1ldGVycy0tKQotICAgICAgICAg
ICAgICAgIGRpbS5wdXNoKDExKTsKLSAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBOdW1iZXJBcnJh
eShkaW0pOwotICAgICAgICB9Ci0gICAgICAgIHRoaXMudmFsdWVzLnNldChuYW1lLCByZXN1bHQp
OwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBnZXRTaWRlU3RhdGUo
a2V5KQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnNpZGVTdGF0ZS5oYXMoa2V5KSkgewotICAg
ICAgICAgICAgbGV0IHJlc3VsdCA9IHt9OwotICAgICAgICAgICAgdGhpcy5zaWRlU3RhdGUuc2V0
KGtleSwgcmVzdWx0KTsKLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAgIH0KLSAg
ICAgICAgcmV0dXJuIHRoaXMuc2lkZVN0YXRlLmdldChrZXkpOwotICAgIH0KLSAgICAKLSAgICBh
Ym9ydCh0ZXh0KQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnN0YXRlbWVudCkKLSAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQXQgYmVnaW5uaW5nIG9mIGV4ZWN1dGlvbjogIiArIHRleHQp
OwotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0ICIgKyB0aGlzLnN0YXRlbWVudC5zb3VyY2VM
aW5lTnVtYmVyICsgIjogIiArIHRleHQpOwotICAgIH0KLSAgICAKLSAgICB2YWxpZGF0ZShwcmVk
aWNhdGUsIHRleHQpCi0gICAgewotICAgICAgICBpZiAoIXByZWRpY2F0ZSkKLSAgICAgICAgICAg
IHRoaXMuYWJvcnQodGV4dCk7Ci0gICAgfQotfQotCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VT
NlNhbXBsZUJlbmNoL0Jhc2ljL3N0cmVzcy10ZXN0LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvc3RyZXNzLXRlc3QuanMJKHJldmlzaW9uIDIx
MTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvc3RyZXNzLXRl
c3QuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSw1NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWxvYWQoImFzdC5qcyIp
OwotbG9hZCgiYmFzaWMuanMiKTsKLWxvYWQoImNhc2VsZXNzX21hcC5qcyIpOwotbG9hZCgibGV4
ZXIuanMiKTsKLWxvYWQoIm51bWJlci5qcyIpOwotbG9hZCgicGFyc2VyLmpzIik7Ci1sb2FkKCJy
YW5kb20uanMiKTsKLWxvYWQoInN0YXRlLmpzIik7Ci1sb2FkKCJ1dGlsLmpzIik7Ci1sb2FkKCJi
ZW5jaG1hcmsuanMiKTsKLQotbGV0IGJlbmNobWFyayA9IG5ldyBCYXNpY0JlbmNobWFyaygpOwot
bGV0IGJlZm9yZSA9IHByZWNpc2VUaW1lKCk7Ci0KLS8vIFJ1biBmb3IgYXQgbGVhc3QgMTAgaXRl
cmF0aW9ucy4KLWZvciAobGV0IGkgPSAwOyBpIDwgMTA7ICsraSkgewotICAgIHByaW50KCJSdW5u
aW5nIG1hbmRhdG9yeSBpdGVyYXRpb24gIyIgKyAoaSArIDEpICsgIjoiKTsKLSAgICBiZW5jaG1h
cmsucnVuSXRlcmF0aW9uKCk7Ci19Ci0KLS8vIFJ1biB1bnRpbCB3ZSBoYXZlIGJlZW4gcnVubmlu
ZyBmb3IgdHdvIHNlY29uZHMuCi13aGlsZSAocHJlY2lzZVRpbWUoKSA8IGJlZm9yZSArIDIpIHsK
LSAgICBwcmludCgiUnVubmluZyBib251cyBpdGVyYXRpb246Iik7Ci0gICAgYmVuY2htYXJrLnJ1
bkl0ZXJhdGlvbigpOwotfQotCi1wcmludCgiU3VjY2VzcyEiKTsKLQpJbmRleDogUGVyZm9ybWFu
Y2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy90ZXN0Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVy
Zm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy90ZXN0Lmh0bWwJKHJldmlzaW9uIDIx
MTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvdGVzdC5odG1s
CShub25leGlzdGVudCkKQEAgLTEsMzQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5C
YXNpYzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iYXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJiYXNpYy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iY2FzZWxlc3NfbWFwLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJsZXhlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ibnVt
YmVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJwYXJzZXIuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9InJhbmRvbS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ic3RhdGUuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9InV0aWwuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImJl
bmNobWFyay5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgICB2YXIgcmVzdWx0ID0gcnVuQmVuY2htYXJrKCk7
Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0LXN1bW1hcnkiKS5p
bm5lckhUTUwgPSAiVGhhdCB0b29rICIgKyByZXN1bHQgKyAiIG1zLiI7Ci0gICAgICAgIH0gY2F0
Y2ggKGUpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQtc3Vt
bWFyeSIpLmlubmVySFRNTCA9ICJGYWlsZWQ6ICIgKyBlOwotICAgICAgICB9Ci0gICAgfQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5CYXNpYzwvaDE+Ci08cD4KLSAgPGRpdiBpZD0i
cmVzdWx0LXN1bW1hcnkiPjwvZGl2PgotICA8ZGl2PjxhIGhyZWY9ImphdmFzY3JpcHQ6cnVuVGVz
dCgpIj5TdGFydCBUZXN0PC9hPjwvZGl2PgotPC9wPgotPC9ib2R5PgotPC9odG1sPgotCi0KSW5k
ZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvdGVzdC5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL3Rlc3QuanMJKHJl
dmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMv
dGVzdC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDE2ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLQot
bG9hZCgiYXN0LmpzIik7Ci1sb2FkKCJiYXNpYy5qcyIpOwotbG9hZCgiY2FzZWxlc3NfbWFwLmpz
Iik7Ci1sb2FkKCJsZXhlci5qcyIpOwotbG9hZCgibnVtYmVyLmpzIik7Ci1sb2FkKCJwYXJzZXIu
anMiKTsKLWxvYWQoInJhbmRvbS5qcyIpOwotbG9hZCgic3RhdGUuanMiKTsKLWxvYWQoInV0aWwu
anMiKTsKLQotbG9hZCgiYmVuY2htYXJrLmpzIik7Ci0KLWxldCByZXN1bHQgPSBydW5CZW5jaG1h
cmsoKTsKLXByaW50KCJUaGF0IHRvb2sgIiArIHJlc3VsdCArICIgbXMuIik7CkluZGV4OiBQZXJm
b3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL3V0aWwuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
UGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy91dGlsLmpzCShyZXZpc2lvbiAy
MTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL3V0aWwuanMJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwzNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWxldCBjdXJyZW50VGltZTsKLWlm
ICh0aGlzLnBlcmZvcm1hbmNlICYmIHBlcmZvcm1hbmNlLm5vdykKLSAgICBjdXJyZW50VGltZSA9
IGZ1bmN0aW9uKCkgeyByZXR1cm4gcGVyZm9ybWFuY2Uubm93KCkgfTsKLWVsc2UgaWYgKHRoaXMu
cHJlY2lzZVRpbWUpCi0gICAgY3VycmVudFRpbWUgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHByZWNp
c2VUaW1lKCkgKiAxMDAwOyB9OwotZWxzZQotICAgIGN1cnJlbnRUaW1lID0gZnVuY3Rpb24oKSB7
IHJldHVybiArbmV3IERhdGUoKTsgfTsKLQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1w
bGVCZW5jaC9haXJfYmVuY2htYXJrLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMv
RVM2U2FtcGxlQmVuY2gvYWlyX2JlbmNobWFyay5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVy
Zm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9haXJfYmVuY2htYXJrLmpzCShub25leGlzdGVu
dCkKQEAgLTEsMTA1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY29uc3QgQWlyQmVuY2htYXJrQ29kZSA9IFN0cmlu
Zy5yYXdgCi08c2NyaXB0IHNyYz0iQWlyL3N5bWJvbHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9IkFpci90bXBfYmFzZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iQWlyL2FyZy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iQWlyL2Jhc2ljX2Jsb2NrLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSJBaXIvY29kZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iQWlyL2ZyZXF1
ZW50ZWRfYmxvY2suanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IkFpci9pbnN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJBaXIvb3Bjb2RlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJBaXIvcmVnLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJBaXIvc3RhY2tfc2xvdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iQWlyL3RtcC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iQWlyL3V0aWwuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IkFpci9jdXN0b20uanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9IkFpci9saXZlbmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iQWlyL2luc2VydGlvbl9zZXQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IkFpci9h
bGxvY2F0ZV9zdGFjay5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iQWlyL3BheWxvYWQtZ2Jl
bXUtZXhlY3V0ZUl0ZXJhdGlvbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iQWlyL3BheWxv
YWQtaW1hZ2luZy1nYXVzc2lhbi1ibHVyLWdhdXNzaWFuQmx1ci5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iQWlyL3BheWxvYWQtYWlyanMtQUNMajhDLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSJBaXIvcGF5bG9hZC10eXBlc2NyaXB0LXNjYW5JZGVudGlmaWVyLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSJBaXIvYmVuY2htYXJrLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci12YXIg
cmVzdWx0cyA9IFtdOwotdmFyIGJlbmNobWFyayA9IG5ldyBBaXJCZW5jaG1hcmsoKTsKLXZhciBu
dW1JdGVyYXRpb25zID0gMjAwOwotZm9yICh2YXIgaSA9IDA7IGkgPCBudW1JdGVyYXRpb25zOyAr
K2kpIHsKLSAgICB2YXIgYmVmb3JlID0gY3VycmVudFRpbWUoKTsKLSAgICBiZW5jaG1hcmsucnVu
SXRlcmF0aW9uKCk7Ci0gICAgdmFyIGFmdGVyID0gY3VycmVudFRpbWUoKTsKLSAgICByZXN1bHRz
LnB1c2goYWZ0ZXIgLSBiZWZvcmUpOwotfQotcmVwb3J0UmVzdWx0KHJlc3VsdHMpOwotPC9zY3Jp
cHQ+YDsKLQotbGV0IHJ1bkFpckJlbmNobWFyayA9IG51bGw7Ci1pZiAoIWlzSW5Ccm93c2VyKSB7
Ci0gICAgbGV0IHNvdXJjZXMgPSBbCi0gICAgICAgICJBaXIvc3ltYm9scy5qcyIKLSAgICAgICAg
LCAiQWlyL3RtcF9iYXNlLmpzIgotICAgICAgICAsICJBaXIvYXJnLmpzIgotICAgICAgICAsICJB
aXIvYmFzaWNfYmxvY2suanMiCi0gICAgICAgICwgIkFpci9jb2RlLmpzIgotICAgICAgICAsICJB
aXIvZnJlcXVlbnRlZF9ibG9jay5qcyIKLSAgICAgICAgLCAiQWlyL2luc3QuanMiCi0gICAgICAg
ICwgIkFpci9vcGNvZGUuanMiCi0gICAgICAgICwgIkFpci9yZWcuanMiCi0gICAgICAgICwgIkFp
ci9zdGFja19zbG90LmpzIgotICAgICAgICAsICJBaXIvdG1wLmpzIgotICAgICAgICAsICJBaXIv
dXRpbC5qcyIKLSAgICAgICAgLCAiQWlyL2N1c3RvbS5qcyIKLSAgICAgICAgLCAiQWlyL2xpdmVu
ZXNzLmpzIgotICAgICAgICAsICJBaXIvaW5zZXJ0aW9uX3NldC5qcyIKLSAgICAgICAgLCAiQWly
L2FsbG9jYXRlX3N0YWNrLmpzIgotICAgICAgICAsICJBaXIvcGF5bG9hZC1nYmVtdS1leGVjdXRl
SXRlcmF0aW9uLmpzIgotICAgICAgICAsICJBaXIvcGF5bG9hZC1pbWFnaW5nLWdhdXNzaWFuLWJs
dXItZ2F1c3NpYW5CbHVyLmpzIgotICAgICAgICAsICJBaXIvcGF5bG9hZC1haXJqcy1BQ0xqOEMu
anMiCi0gICAgICAgICwgIkFpci9wYXlsb2FkLXR5cGVzY3JpcHQtc2NhbklkZW50aWZpZXIuanMi
Ci0gICAgICAgICwgIkFpci9iZW5jaG1hcmsuanMiCi0gICAgXTsKLQotICAgIHJ1bkFpckJlbmNo
bWFyayA9IG1ha2VCZW5jaG1hcmtSdW5uZXIoc291cmNlcywgIkFpckJlbmNobWFyayIpOwotfQot
Ci1jb25zdCBBaXJCZW5jaG1hcmtSdW5uZXIgPSB7Ci0gICAgY29kZTogQWlyQmVuY2htYXJrQ29k
ZSwKLSAgICBydW46IHJ1bkFpckJlbmNobWFyaywKLSAgICBjZWxsczogeyB9LAotICAgIG5hbWU6
ICJBaXIiCi19OwotCi1pZiAoaXNJbkJyb3dzZXIpIHsKLSAgICBBaXJCZW5jaG1hcmtSdW5uZXIu
Y2VsbHMgPSB7Ci0gICAgICAgIGZpcnN0SXRlcmF0aW9uOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiQWlyRmlyc3RJdGVyYXRpb24iKSwKLSAgICAgICAgYXZlcmFnZVdvcnN0Q2FzZTogZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoIkFpckF2ZXJhZ2VXb3JzdENhc2UiKSwKLSAgICAgICAgc3RlYWR5
U3RhdGU6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJBaXJTdGVhZHlTdGF0ZSIpLAotICAgICAg
ICBtZXNzYWdlOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiQWlyTWVzc2FnZSIpCi0gICAgfQot
fQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9iYXNpY19iZW5jaG1hcmsu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9iYXNpY19i
ZW5jaG1hcmsuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2Ft
cGxlQmVuY2gvYmFzaWNfYmVuY2htYXJrLmpzCShub25leGlzdGVudCkKQEAgLTEsODQgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJp
Y3QiOwotCi1jb25zdCBCYXNpY0JlbmNobWFya0NvZGUgPSBTdHJpbmcucmF3YAotPHNjcmlwdCBz
cmM9IkJhc2ljL2FzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iQmFzaWMvYmFzaWMuanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IkJhc2ljL2Nhc2VsZXNzX21hcC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iQmFzaWMvbGV4ZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IkJh
c2ljL251bWJlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iQmFzaWMvcGFyc2VyLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJCYXNpYy9yYW5kb20uanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9IkJhc2ljL3N0YXRlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJCYXNpYy91dGls
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJCYXNpYy9iZW5jaG1hcmsuanMiPjwvc2NyaXB0
PgotPHNjcmlwdD4KLXZhciByZXN1bHRzID0gW107Ci12YXIgYmVuY2htYXJrID0gbmV3IEJhc2lj
QmVuY2htYXJrKCk7Ci12YXIgbnVtSXRlcmF0aW9ucyA9IDIwMDsKLWZvciAodmFyIGkgPSAwOyBp
IDwgbnVtSXRlcmF0aW9uczsgKytpKSB7Ci0gICAgdmFyIGJlZm9yZSA9IGN1cnJlbnRUaW1lKCk7
Ci0gICAgYmVuY2htYXJrLnJ1bkl0ZXJhdGlvbigpOwotICAgIHZhciBhZnRlciA9IGN1cnJlbnRU
aW1lKCk7Ci0gICAgcmVzdWx0cy5wdXNoKGFmdGVyIC0gYmVmb3JlKTsKLX0KLXJlcG9ydFJlc3Vs
dChyZXN1bHRzKTsKLTwvc2NyaXB0PmA7Ci0KLQotbGV0IHJ1bkJhc2ljQmVuY2htYXJrID0gbnVs
bDsKLWlmICghaXNJbkJyb3dzZXIpIHsKLSAgICBsZXQgc291cmNlcyA9IFsKLSAgICAgICAgIkJh
c2ljL2FzdC5qcyIKLSAgICAgICAgLCAiQmFzaWMvYmFzaWMuanMiCi0gICAgICAgICwgIkJhc2lj
L2Nhc2VsZXNzX21hcC5qcyIKLSAgICAgICAgLCAiQmFzaWMvbGV4ZXIuanMiCi0gICAgICAgICwg
IkJhc2ljL251bWJlci5qcyIKLSAgICAgICAgLCAiQmFzaWMvcGFyc2VyLmpzIgotICAgICAgICAs
ICJCYXNpYy9yYW5kb20uanMiCi0gICAgICAgICwgIkJhc2ljL3N0YXRlLmpzIgotICAgICAgICAs
ICJCYXNpYy91dGlsLmpzIgotICAgICAgICAsICJCYXNpYy9iZW5jaG1hcmsuanMiCi0gICAgXTsK
LQotICAgIHJ1bkJhc2ljQmVuY2htYXJrID0gbWFrZUJlbmNobWFya1J1bm5lcihzb3VyY2VzLCAi
QmFzaWNCZW5jaG1hcmsiKTsKLX0KLQotY29uc3QgQmFzaWNCZW5jaG1hcmtSdW5uZXIgPSB7Ci0g
ICAgbmFtZTogIkJhc2ljIiwKLSAgICBjb2RlOiBCYXNpY0JlbmNobWFya0NvZGUsCi0gICAgcnVu
OiBydW5CYXNpY0JlbmNobWFyaywKLSAgICBjZWxsczoge30KLX07Ci0KLWlmIChpc0luQnJvd3Nl
cikgewotICAgIEJhc2ljQmVuY2htYXJrUnVubmVyLmNlbGxzID0gewotICAgICAgICBmaXJzdEl0
ZXJhdGlvbjogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkJhc2ljRmlyc3RJdGVyYXRpb24iKSwK
LSAgICAgICAgYXZlcmFnZVdvcnN0Q2FzZTogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkJhc2lj
QXZlcmFnZVdvcnN0Q2FzZSIpLAotICAgICAgICBzdGVhZHlTdGF0ZTogZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoIkJhc2ljU3RlYWR5U3RhdGUiKSwKLSAgICAgICAgbWVzc2FnZTogZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIkJhc2ljTWVzc2FnZSIpCi0gICAgfTsKLX0KSW5kZXg6IFBlcmZvcm1h
bmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvY2xpLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNl
VGVzdHMvRVM2U2FtcGxlQmVuY2gvY2xpLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3Jt
YW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL2NsaS5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDMzICsw
LDAgQEAKLWNvbnN0IGlzSW5Ccm93c2VyID0gZmFsc2U7Ci0KLWZ1bmN0aW9uIG1ha2VCZW5jaG1h
cmtSdW5uZXIoc291cmNlcywgYmVuY2htYXJrQ29uc3RydWN0b3IpIHsKLSAgICBsZXQgc291cmNl
ID0gIid1c2Ugc3RyaWN0JzsiCi0gICAgZm9yIChsZXQgZmlsZSBvZiBzb3VyY2VzKSB7Ci0gICAg
ICAgIHNvdXJjZSArPSByZWFkRmlsZShmaWxlKTsKLSAgICB9Ci0gICAgc291cmNlICs9IGAKLSAg
ICAgICAgdGhpcy5yZXN1bHRzID0gW107Ci0gICAgICAgIHZhciBiZW5jaG1hcmsgPSBuZXcgJHti
ZW5jaG1hcmtDb25zdHJ1Y3Rvcn0oKTsKLSAgICAgICAgdmFyIG51bUl0ZXJhdGlvbnMgPSAyMDA7
Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtSXRlcmF0aW9uczsgKytpKSB7Ci0gICAg
ICAgICAgICB2YXIgYmVmb3JlID0gY3VycmVudFRpbWUoKTsKLSAgICAgICAgICAgIGJlbmNobWFy
ay5ydW5JdGVyYXRpb24oKTsKLSAgICAgICAgICAgIHZhciBhZnRlciA9IGN1cnJlbnRUaW1lKCk7
Ci0gICAgICAgICAgICByZXN1bHRzLnB1c2goYWZ0ZXIgLSBiZWZvcmUpOwotICAgICAgICB9Ci0g
ICAgYDsKLSAgICByZXR1cm4gZnVuY3Rpb24gZG9SdW4oKSB7Ci0gICAgICAgIGxldCBnbG9iYWxP
YmplY3RPZlNjcmlwdCA9IHJ1blN0cmluZyhzb3VyY2UpOwotICAgICAgICBsZXQgcmVzdWx0cyA9
IGdsb2JhbE9iamVjdE9mU2NyaXB0LnJlc3VsdHM7Ci0gICAgICAgIHJlcG9ydFJlc3VsdChyZXN1
bHRzKTsKLSAgICB9Ci19Ci0KLWxvYWQoImRyaXZlci5qcyIpOwotbG9hZCgicmVzdWx0cy5qcyIp
OwotbG9hZCgic3RhdHMuanMiKTsKLWxvYWQoImFpcl9iZW5jaG1hcmsuanMiKTsKLWxvYWQoImJh
c2ljX2JlbmNobWFyay5qcyIpOwotbG9hZCgiZ2x1ZS5qcyIpOwotCi1kcml2ZXIuc3RhcnQoMTAp
OwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9kcml2ZXIuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9kcml2ZXIuanMJKHJldmlz
aW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvZHJpdmVyLmpz
CShub25leGlzdGVudCkKQEAgLTEsMTgxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgRHJpdmVyIHsKLSAg
ICBjb25zdHJ1Y3Rvcih0cmlnZ2VyQ2VsbCwgdHJpZ2dlckxpbmssIG1hZ2ljQ2VsbCwgc3VtbWFy
eUNlbGwsIGtleSkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2JlbmNobWFya3MgPSBuZXcgTWFwKCk7
Ci0gICAgICAgIHRoaXMuX3RyaWdnZXJDZWxsID0gdHJpZ2dlckNlbGw7Ci0gICAgICAgIHRoaXMu
X3RyaWdnZXJMaW5rID0gdHJpZ2dlckxpbms7Ci0gICAgICAgIHRoaXMuX21hZ2ljQ2VsbCA9IG1h
Z2ljQ2VsbDsKLSAgICAgICAgdGhpcy5fc3VtbWFyeSA9IG5ldyBTdGF0cyhzdW1tYXJ5Q2VsbCwg
InN1bW1hcnkiKTsKLSAgICAgICAgdGhpcy5fa2V5ID0ga2V5OwotICAgICAgICB0aGlzLl9oYWRF
cnJvcnMgPSBmYWxzZTsKLSAgICAgICAgaWYgKGlzSW5Ccm93c2VyKQotICAgICAgICAgICAgd2lu
ZG93W2tleV0gPSB0aGlzOwotICAgIH0KLSAgICAKLSAgICBhZGRCZW5jaG1hcmsoYmVuY2htYXJr
KQotICAgIHsKLSAgICAgICAgdGhpcy5fYmVuY2htYXJrcy5zZXQoYmVuY2htYXJrLCBuZXcgUmVz
dWx0cyhiZW5jaG1hcmspKTsKLSAgICB9Ci0gICAgCi0gICAgc3RhcnQobnVtSXRlcmF0aW9ucykK
LSAgICB7Ci0gICAgICAgIHRoaXMuX3VwZGF0ZUl0ZXJhdGlvbnMoKTsKLSAgICAgICAgCi0gICAg
ICAgIHRoaXMuX3N1bW1hcnkucmVzZXQoKTsKLSAgICAgICAgZm9yIChsZXQgW2JlbmNobWFyaywg
cmVzdWx0c10gb2YgdGhpcy5fYmVuY2htYXJrcykKLSAgICAgICAgICAgIHJlc3VsdHMucmVzZXQo
KTsKLSAgICAgICAgdGhpcy5faXNSdW5uaW5nID0gdHJ1ZTsKLSAgICAgICAgdGhpcy5fbnVtSXRl
cmF0aW9ucyA9IG51bUl0ZXJhdGlvbnM7Ci0gICAgICAgIHRoaXMuX2l0ZXJhdG9yID0gbnVsbDsK
LSAgICAgICAgdGhpcy5faXRlcmF0ZSgpOwotICAgIH0KLSAgICAKLSAgICByZXBvcnRSZXN1bHQo
Li4uYXJncykKLSAgICB7Ci0gICAgICAgIHRoaXMuX2JlbmNobWFya3MuZ2V0KHRoaXMuX2JlbmNo
bWFyaykucmVwb3J0UmVzdWx0KC4uLmFyZ3MpOwotICAgICAgICB0aGlzLl9yZWNvbXB1dGVTdW1t
YXJ5KCk7Ci0gICAgICAgIHRoaXMuX2l0ZXJhdGUoKTsKLSAgICB9Ci0gICAgCi0gICAgcmVwb3J0
RXJyb3IoLi4uYXJncykKLSAgICB7Ci0gICAgICAgIHRoaXMuX2JlbmNobWFya3MuZ2V0KHRoaXMu
X2JlbmNobWFyaykucmVwb3J0RXJyb3IoLi4uYXJncyk7Ci0gICAgICAgIHRoaXMuX3JlY29tcHV0
ZVN1bW1hcnkoKTsKLSAgICAgICAgdGhpcy5faGFkRXJyb3JzID0gdHJ1ZTsKLSAgICAgICAgdGhp
cy5faXRlcmF0ZSgpOwotICAgIH0KLSAgICAKLSAgICBfcmVjb21wdXRlU3VtbWFyeSgpCi0gICAg
ewotICAgICAgICBjbGFzcyBHZW9tZWFuIHsKLSAgICAgICAgICAgIGNvbnN0cnVjdG9yKCkKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB0aGlzLl9jb3VudCA9IDA7Ci0gICAgICAgICAg
ICAgICAgdGhpcy5fc3VtID0gMDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAg
ICAgICAgYWRkKHZhbHVlKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHRoaXMuX2Nv
dW50Kys7Ci0gICAgICAgICAgICAgICAgdGhpcy5fc3VtICs9IE1hdGgubG9nKHZhbHVlKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgZ2V0IHJlc3VsdCgpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE1hdGguZXhwKHRoaXMuX3N1bSAqICgx
IC8gdGhpcy5fY291bnQpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICAKLSAg
ICAgICAgbGV0IHN0YXRzZXMgPSBbXTsKLSAgICAgICAgZm9yIChsZXQgcmVzdWx0cyBvZiB0aGlz
Ll9iZW5jaG1hcmtzLnZhbHVlcygpKSB7Ci0gICAgICAgICAgICBmb3IgKGxldCBzdWJSZXN1bHQg
b2YgUmVzdWx0cy5zdWJSZXN1bHRzKQotICAgICAgICAgICAgICAgIHN0YXRzZXMucHVzaChyZXN1
bHRzW3N1YlJlc3VsdF0pOwotICAgICAgICB9Ci0KLSAgICAgICAgbGV0IG51bUl0ZXJhdGlvbnMg
PSBNYXRoLm1pbiguLi5zdGF0c2VzLm1hcChzdGF0cyA9PiBzdGF0cy5udW1JdGVyYXRpb25zKSk7
Ci0gICAgICAgIGxldCBkYXRhID0gbmV3IEFycmF5KG51bUl0ZXJhdGlvbnMpOwotICAgICAgICBm
b3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBkYXRhW2ld
ID0gbmV3IEdlb21lYW4oKTsKLSAgICAgICAgCi0gICAgICAgIGZvciAobGV0IHN0YXRzIG9mIHN0
YXRzZXMpIHsKLSAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7ICsr
aSkKLSAgICAgICAgICAgICAgICBkYXRhW2ldLmFkZChzdGF0cy52YWx1ZUZvckl0ZXJhdGlvbihp
KSk7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGxldCBnZW9tZWFucyA9IGRhdGEubWFw
KGdlb21lYW4gPT4gZ2VvbWVhbi5yZXN1bHQpOwotICAgICAgICAKLSAgICAgICAgdGhpcy5fc3Vt
bWFyeS5yZXNldCguLi5nZW9tZWFucyk7Ci0gICAgfQotICAgIAotICAgIF9pdGVyYXRlKCkKLSAg
ICB7Ci0gICAgICAgIHRoaXMuX2JlbmNobWFyayA9IHRoaXMuX2l0ZXJhdG9yID8gdGhpcy5faXRl
cmF0b3IubmV4dCgpLnZhbHVlIDogbnVsbDsKLSAgICAgICAgaWYgKCF0aGlzLl9iZW5jaG1hcmsp
IHsKLSAgICAgICAgICAgIGlmICghdGhpcy5fbnVtSXRlcmF0aW9ucykgewotICAgICAgICAgICAg
ICAgIGlmIChpc0luQnJvd3NlcikgewotICAgICAgICAgICAgICAgICAgICB0aGlzLl90cmlnZ2Vy
Q2VsbC5pbm5lckhUTUwgPQotICAgICAgICAgICAgICAgICAgICAgICAgKHRoaXMuX2hhZEVycm9y
cyA/ICJGYWlsdXJlcyBlbmNvdW50ZXJlZCEiIDogIlN1Y2Nlc3MhIikgKwotICAgICAgICAgICAg
ICAgICAgICAgICAgYCA8YSBocmVmPSIke3RoaXMuX3RyaWdnZXJMaW5rfSI+UmVzdGFydCBCZW5j
aG1hcms8L2E+YDsKLSAgICAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgICAg
cHJpbnQodGhpcy5faGFkRXJyb3JzID8gIkZhaWx1cmVzIGVuY291bnRlcmVkISIgOiAiU3VjY2Vz
cyEgQmVuY2htYXJrIGlzIG5vdyBmaW5pc2hlZC4iKTsKLSAgICAgICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aGlzLl9udW1JdGVyYXRpb25zLS07Ci0gICAg
ICAgICAgICB0aGlzLl91cGRhdGVJdGVyYXRpb25zKCk7Ci0gICAgICAgICAgICB0aGlzLl9pdGVy
YXRvciA9IHRoaXMuX2JlbmNobWFya3Mua2V5cygpOwotICAgICAgICAgICAgdGhpcy5fYmVuY2ht
YXJrID0gdGhpcy5faXRlcmF0b3IubmV4dCgpLnZhbHVlOwotICAgICAgICB9Ci0gICAgICAgIAot
ICAgICAgICB0aGlzLl9iZW5jaG1hcmtzLmdldCh0aGlzLl9iZW5jaG1hcmspLnJlcG9ydFJ1bm5p
bmcoKTsKLSAgICAgICAgCi0gICAgICAgIGxldCBiZW5jaG1hcmsgPSB0aGlzLl9iZW5jaG1hcms7
Ci0gICAgICAgIGlmIChpc0luQnJvd3NlcikgewotICAgICAgICAgICAgd2luZG93LnNldFRpbWVv
dXQoKCkgPT4gewotICAgICAgICAgICAgICAgIGlmICghdGhpcy5faXNSdW5uaW5nKQotICAgICAg
ICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAg
dGhpcy5fbWFnaWNDZWxsLmNvbnRlbnREb2N1bWVudC5ib2R5LnRleHRDb250ZW50ID0gIiI7Ci0g
ICAgICAgICAgICAgICAgdGhpcy5fbWFnaWNDZWxsLmNvbnRlbnREb2N1bWVudC5ib2R5LmlubmVy
SFRNTCA9ICI8aWZyYW1lIGlkPVwibWFnaWNGcmFtZVwiIGZyYW1lYm9yZGVyPVwiMFwiPiI7Ci0g
ICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgbGV0IG1hZ2ljRnJhbWUgPSB0aGlzLl9t
YWdpY0NlbGwuY29udGVudERvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWdpY0ZyYW1lIik7Ci0g
ICAgICAgICAgICAgICAgbWFnaWNGcmFtZS5jb250ZW50RG9jdW1lbnQub3BlbigpOwotICAgICAg
ICAgICAgICAgIG1hZ2ljRnJhbWUuY29udGVudERvY3VtZW50LndyaXRlKAotICAgICAgICAgICAg
ICAgICAgICBgPCFET0NUWVBFIGh0bWw+PGhlYWQ+PHRpdGxlPmJlbmNobWFyayBwYXlsb2FkPC90
aXRsZT48L2hlYWQ+PGJvZHk+PHNjcmlwdD5gICsKLSAgICAgICAgICAgICAgICAgICAgYHdpbmRv
dy5vbmVycm9yID0gdG9wLiR7dGhpcy5fa2V5fS5yZXBvcnRFcnJvcjtcbmAgKwotICAgICAgICAg
ICAgICAgICAgICBgZnVuY3Rpb24gcmVwb3J0UmVzdWx0KClcbmAgKwotICAgICAgICAgICAgICAg
ICAgICBge1xuYCArCi0gICAgICAgICAgICAgICAgICAgIGAgICAgdmFyIGRyaXZlciA9IHRvcC4k
e3RoaXMuX2tleX07XG5gICsKLSAgICAgICAgICAgICAgICAgICAgYCAgICBkcml2ZXIucmVwb3J0
UmVzdWx0LmFwcGx5KGRyaXZlciwgYXJndW1lbnRzKTtcbmAgKwotICAgICAgICAgICAgICAgICAg
ICBgfVxuYCArCi0gICAgICAgICAgICAgICAgICAgIGA8L3NjcmlwdD5cbmAgKwotICAgICAgICAg
ICAgICAgICAgICBgJHt0aGlzLl9iZW5jaG1hcmsuY29kZX08L2JvZHk+PC9odG1sPmApOwotICAg
ICAgICAgICAgfSwgMTAwKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFByb21pc2Uu
cmVzb2x2ZSgyMCkudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9pc1J1
bm5pbmcpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAKLSAg
ICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAgICBwcmludChgUnVubmluZy4u
LiAke3RoaXMuX2JlbmNobWFyay5uYW1lfSAoICR7dGhpcy5fbnVtSXRlcmF0aW9ucyArIDF9ICB0
byBnbylgKTsKLSAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJrLnJ1bigpOwotICAgICAgICAg
ICAgICAgICAgICBwcmludCgiXG4iKTsKLSAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsKLSAg
ICAgICAgICAgICAgICAgICAgcHJpbnQoZSk7Ci0gICAgICAgICAgICAgICAgICAgIHByaW50KGUu
c3RhY2spOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0g
ICAgfQotICAgIAotICAgIF91cGRhdGVJdGVyYXRpb25zKCkKLSAgICB7Ci0gICAgICAgIGlmIChp
c0luQnJvd3NlcikKLSAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJDZWxsLmlubmVySFRNTCA9ICJS
dW5uaW5nLi4uICgiICsgKHRoaXMuX251bUl0ZXJhdGlvbnMgKyAxKSArICIgdG8gZ28pIjsKLSAg
ICB9Ci19CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL2dsdWUuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9nbHVlLmpzCShyZXZp
c2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL2dsdWUuanMJ
KG5vbmV4aXN0ZW50KQpAQCAtMSwzOSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWNvbnN0IGRyaXZlciA9IG5ldyBE
cml2ZXIoCi0gICAgaXNJbkJyb3dzZXIgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHJpZ2dl
ciIpIDogbnVsbCwKLSAgICAiZHJpdmVyLnN0YXJ0KDEwKSIsCi0gICAgaXNJbkJyb3dzZXIgPyBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFnaWMiKSA6IG51bGwsCi0gICAgaXNJbkJyb3dzZXIg
PyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiR2VvbWVhbiIpIDogbnVsbCwKLSAgICAic2FtcGxl
QmVuY2giKTsKLQotZnVuY3Rpb24gcmVwb3J0UmVzdWx0KC4uLmFyZ3MpIHsKLSAgICBkcml2ZXIu
cmVwb3J0UmVzdWx0KC4uLmFyZ3MpOwotfQotCi1kcml2ZXIuYWRkQmVuY2htYXJrKEFpckJlbmNo
bWFya1J1bm5lcik7Ci1kcml2ZXIuYWRkQmVuY2htYXJrKEJhc2ljQmVuY2htYXJrUnVubmVyKTsK
SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvaW5kZXguaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL2luZGV4Lmh0bWwJKHJldmlz
aW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvaW5kZXguaHRt
bAkobm9uZXhpc3RlbnQpCkBAIC0xLDUyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+
RVM2IFNhbXBsZSBCZW5jaDwvdGl0bGU+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRl
eHQvY3NzIiBocmVmPSJzdHlsZS5jc3MiPgotPC9oZWFkPgotPHNjcmlwdD4KLXdpbmRvdy5vbmVy
cm9yID0gZnVuY3Rpb24obWVzc2FnZSwgdXJsLCBsaW5lTnVtYmVyKQotewotICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0cmlnZ2VyIikuaW5uZXJIVE1MID0gIkVSUk9SOiAiICsgdXJsICsg
IjoiICsgbGluZU51bWJlciArICI6ICIgKyBtZXNzYWdlOwotfQotCi1jb25zdCBpc0luQnJvd3Nl
ciA9IHRydWU7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJkcml2ZXIuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9InJlc3VsdHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InN0YXRzLmpz
Ij48L3NjcmlwdD4KLTxib2R5PgotPGRpdiBpZD0iY29udGVudHMiPgotPGgxPkVTNiBTYW1wbGUg
QmVuY2g8L2gxPgotPHA+VGhpcyBpcyBhIGJlbmNobWFyayBzdWl0ZSB0aGF0IGNvbnNpc3RzIG9m
IEVTNiBzYW1wbGUgY29kZSB3cml0dGVuIGJ5IHRoZQotPGEgaHJlZj0iaHR0cDovL3d3dy53ZWJr
aXQub3JnLyI+V2ViS2l0PC9hPiB0ZWFtLiAgQWxsIHJlc3VsdHMgYXJlIGluIG1pbGxpc2Vjb25k
cyB3aXRoIDk1JQotY29uZmlkZW5jZSBpbnRlcnZhbHMuICBMb3dlciBpcyBiZXR0ZXIuPC9wPgot
PHAgaWQ9InRyaWdnZXIiPjxhIGhyZWY9ImphdmFzY3JpcHQ6ZHJpdmVyLnN0YXJ0KDEwKSI+U3Rh
cnQgQmVuY2htYXJrPC9hPjwvcD4KLTxwPjxiPkdlb21ldHJpYyBNZWFuIFJlc3VsdDogPHNwYW4g
aWQ9Ikdlb21lYW4iPi4uLjwvc3Bhbj48L2I+PC9wPgotPHRhYmxlIGNlbGxzcGFjaW5nPTAgY2Vs
bHBhZGRpbmc9MCBib3JkZXI9MD4KLSAgPHRyPgotICAgIDx0aCB3aWR0aD0xODA+QmVuY2htYXJr
PC90aD4KLSAgICA8dGggd2lkdGg9MTgwPkZpcnN0IEl0ZXJhdGlvbjwvdGg+Ci0gICAgPHRoIHdp
ZHRoPTE4MD5Xb3JzdCAyJTwvdGg+Ci0gICAgPHRoIHdpZHRoPTE4MD5TdGVhZHkgU3RhdGU8L3Ro
PgotICA8dHI+Ci0gICAgPHRoPkFpcjwvdGg+Ci0gICAgPHRkIGlkPSJBaXJGaXJzdEl0ZXJhdGlv
biI+Li4uPC90ZD4KLSAgICA8dGQgaWQ9IkFpckF2ZXJhZ2VXb3JzdENhc2UiPi4uLjwvdGQ+Ci0g
ICAgPHRkIGlkPSJBaXJTdGVhZHlTdGF0ZSI+Li4uPC90ZD4KLSAgICA8dGQgaWQ9IkFpck1lc3Nh
Z2UiPjwvdGQ+Ci0gIDwvdHI+Ci0gIDx0cj4KLSAgICA8dGg+QmFzaWM8L3RoPgotICAgIDx0ZCBp
ZD0iQmFzaWNGaXJzdEl0ZXJhdGlvbiI+Li4uPC90ZD4KLSAgICA8dGQgaWQ9IkJhc2ljQXZlcmFn
ZVdvcnN0Q2FzZSI+Li4uPC90ZD4KLSAgICA8dGQgaWQ9IkJhc2ljU3RlYWR5U3RhdGUiPi4uLjwv
dGQ+Ci0gICAgPHRkIGlkPSJCYXNpY01lc3NhZ2UiPjwvdGQ+Ci0gIDwvdHI+Ci08L3RhYmxlPgot
PC9kaXY+Ci08aWZyYW1lIGlkPSJtYWdpYyIgZnJhbWVCb3JkZXI9MD48L2lmcmFtZT4KLTxzY3Jp
cHQgc3JjPSJhaXJfYmVuY2htYXJrLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJiYXNpY19i
ZW5jaG1hcmsuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImdsdWUuanMiPjwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9y
ZXN1bHRzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gv
cmVzdWx0cy5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1w
bGVCZW5jaC9yZXN1bHRzLmpzCShub25leGlzdGVudCkKQEAgLTEsMTA5ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQot
Y2xhc3MgUmVzdWx0cyB7Ci0gICAgY29uc3RydWN0b3IoYmVuY2htYXJrKQotICAgIHsKLSAgICAg
ICAgdGhpcy5fYmVuY2htYXJrID0gYmVuY2htYXJrOwotICAgICAgICBmb3IgKGxldCBzdWJSZXN1
bHQgb2YgUmVzdWx0cy5zdWJSZXN1bHRzKQotICAgICAgICAgICAgdGhpc1tzdWJSZXN1bHRdID0g
bmV3IFN0YXRzKGJlbmNobWFyay5jZWxsc1tzdWJSZXN1bHRdLCBzdWJSZXN1bHQpOwotICAgIH0K
LSAgICAKLSAgICBnZXQgYmVuY2htYXJrKCkgeyByZXR1cm4gdGhpcy5fYmVuY2htYXJrOyB9Ci0g
ICAgCi0gICAgcmVzZXQoKQotICAgIHsKLSAgICAgICAgZm9yIChsZXQgc3ViUmVzdWx0IG9mIFJl
c3VsdHMuc3ViUmVzdWx0cykKLSAgICAgICAgICAgIHRoaXNbc3ViUmVzdWx0XS5yZXNldCgpOwot
ICAgIH0KLSAgICAKLSAgICByZXBvcnRSdW5uaW5nKCkKLSAgICB7Ci0gICAgICAgIGlmIChpc0lu
QnJvd3NlcikKLSAgICAgICAgICAgIHRoaXMuX2JlbmNobWFyay5jZWxscy5tZXNzYWdlLmlubmVy
SFRNTCA9ICJSdW5uaW5nLi4uIjsKLSAgICB9Ci0gICAgCi0gICAgcmVwb3J0RG9uZSgpCi0gICAg
ewotICAgICAgICBpZiAoaXNJbkJyb3dzZXIpCi0gICAgICAgICAgICB0aGlzLl9iZW5jaG1hcmsu
Y2VsbHMubWVzc2FnZS5pbm5lckhUTUwgPSAiIjsKLSAgICB9Ci0gICAgCi0gICAgcmVwb3J0UmVz
dWx0KHRpbWVzKQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gYXZlcmFnZUFib3ZlUGVyY2VudGls
ZShudW1iZXJzLCBwZXJjZW50aWxlKSB7Ci0gICAgICAgICAgICAvLyBEb24ndCBjaGFuZ2UgdGhl
IG9yaWdpbmFsIGFycmF5LgotICAgICAgICAgICAgbnVtYmVycyA9IG51bWJlcnMuc2xpY2UoKTsK
LSAgICAgICAgICAgIAotICAgICAgICAgICAgLy8gU29ydCBpbiBhc2NlbmRpbmcgb3JkZXIuCi0g
ICAgICAgICAgICBudW1iZXJzLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gYSAtIGI7IH0p
OwotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBOb3cgdGhlIGVsZW1lbnRzIHdlIHdhbnQg
YXJlIGF0IHRoZSBlbmQuIEtlZXAgcmVtb3ZpbmcgdGhlbSB1bnRpbCB0aGUgYXJyYXkgc2l6ZSBz
aHJpbmtzIHRvbyBtdWNoLgotICAgICAgICAgICAgLy8gRXhhbXBsZXMgYXNzdW1pbmcgcGVyY2Vu
dGlsZSA9IDk5OgotICAgICAgICAgICAgLy8KLSAgICAgICAgICAgIC8vIC0gbnVtYmVycy5sZW5n
dGggc3RhcnRzIGF0IDEwMDogd2Ugd2lsbCByZW1vdmUganVzdCB0aGUgd29yc3QgZW50cnkgYW5k
IHRoZW4gbm90IHJlbW92ZSBhbnltb3JlLAotICAgICAgICAgICAgLy8gICBzaW5jZSB0aGVuIG51
bWJlcnMubGVuZ3RoIC8gb3JpZ2luYWxMZW5ndGggPSAwLjk5LgotICAgICAgICAgICAgLy8KLSAg
ICAgICAgICAgIC8vIC0gbnVtYmVycy5sZW5ndGggc3RhcnRzIGF0IDEwMDA6IHdlIHdpbGwgcmVt
b3ZlIHRoZSB0ZW4gd29yc3QuCi0gICAgICAgICAgICAvLwotICAgICAgICAgICAgLy8gLSBudW1i
ZXJzLmxlbmd0aCBzdGFydHMgYXQgMTA6IHdlIHdpbGwgcmVtb3ZlIGp1c3QgdGhlIHdvcnN0Lgot
ICAgICAgICAgICAgdmFyIG51bWJlcnNXZVdhbnQgPSBbXTsKLSAgICAgICAgICAgIHZhciBvcmln
aW5hbExlbmd0aCA9IG51bWJlcnMubGVuZ3RoOwotICAgICAgICAgICAgd2hpbGUgKG51bWJlcnMu
bGVuZ3RoIC8gb3JpZ2luYWxMZW5ndGggPiBwZXJjZW50aWxlIC8gMTAwKQotICAgICAgICAgICAg
ICAgIG51bWJlcnNXZVdhbnQucHVzaChudW1iZXJzLnBvcCgpKTsKLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgdmFyIHN1bSA9IDA7Ci0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG51
bWJlcnNXZVdhbnQubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICAgICAgc3VtICs9IG51bWJlcnNX
ZVdhbnRbaV07Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZhciByZXN1bHQgPSBzdW0gLyBu
dW1iZXJzV2VXYW50Lmxlbmd0aDsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgLy8gRG8gYSBz
YW5pdHkgY2hlY2suCi0gICAgICAgICAgICBpZiAobnVtYmVycy5sZW5ndGggJiYgcmVzdWx0IDwg
bnVtYmVyc1tudW1iZXJzLmxlbmd0aCAtIDFdKSB7Ci0gICAgICAgICAgICAgICAgdGhyb3cgIlNh
bml0eSBjaGVjayBmYWlsOiB0aGUgd29yc3QgY2FzZSByZXN1bHQgaXMgIiArIHJlc3VsdCArCi0g
ICAgICAgICAgICAgICAgICAgICIgYnV0IHdlIGRpZG4ndCB0YWtlIGludG8gYWNjb3VudCAiICsg
bnVtYmVyczsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKLSAgICAgICAgfQotCi0gICAgICAgIHRoaXMuZmlyc3RJdGVyYXRpb24uYWRkKHRp
bWVzWzBdKTsKLSAgICAgICAgbGV0IHN0ZWFkeVRpbWVzID0gdGltZXMuc2xpY2UoMSk7Ci0gICAg
ICAgIHRoaXMuYXZlcmFnZVdvcnN0Q2FzZS5hZGQoYXZlcmFnZUFib3ZlUGVyY2VudGlsZShzdGVh
ZHlUaW1lcywgOTgpKTsKLSAgICAgICAgdGhpcy5zdGVhZHlTdGF0ZS5hZGQoc3RlYWR5VGltZXMu
cmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4gcHJldmlvdXMgKyBjdXJyZW50KSAvIHN0ZWFk
eVRpbWVzLmxlbmd0aCk7Ci0gICAgICAgIHRoaXMucmVwb3J0RG9uZSgpOwotICAgIH0KLSAgICAK
LSAgICByZXBvcnRFcnJvcihtZXNzYWdlLCB1cmwsIGxpbmVOdW1iZXIpCi0gICAgewotICAgICAg
ICBmb3IgKGxldCBzdWJSZXN1bHQgb2YgUmVzdWx0cy5zdWJSZXN1bHRzKQotICAgICAgICAgICAg
dGhpc1tzdWJSZXN1bHRdLnJlcG9ydFJlc3VsdChTdGF0cy5lcnJvcik7Ci0gICAgICAgIGlmIChp
c0luQnJvd3NlcikKLSAgICAgICAgICAgIHRoaXMuX2JlbmNobWFyay5jZWxscy5tZXNzYWdlLmlu
bmVySFRNTCA9IHVybCArICI6IiArIGxpbmVOdW1iZXIgKyAiOiAiICsgbWVzc2FnZTsKLSAgICB9
Ci19Ci0KLVJlc3VsdHMuc3ViUmVzdWx0cyA9IFsiZmlyc3RJdGVyYXRpb24iLCAiYXZlcmFnZVdv
cnN0Q2FzZSIsICJzdGVhZHlTdGF0ZSJdOwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1w
bGVCZW5jaC9zdGF0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBs
ZUJlbmNoL3N0YXRzLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VT
NlNhbXBsZUJlbmNoL3N0YXRzLmpzCShub25leGlzdGVudCkKQEAgLTEsMTE0ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsK
LQotY2xhc3MgU3RhdHMgewotICAgIGNvbnN0cnVjdG9yKGNlbGwsIHByZWZpeCkKLSAgICB7Ci0g
ICAgICAgIHRoaXMuX2NlbGwgPSBjZWxsOwotICAgICAgICB0aGlzLl9kYXRhID0gW107Ci0gICAg
ICAgIHRoaXMuX3ByZWZpeCA9ICIiOwotICAgICAgICBpZiAoIWlzSW5Ccm93c2VyICYmIHByZWZp
eCkgewotICAgICAgICAgICAgdGhpcy5fcHJlZml4ID0gcHJlZml4ICsgIjogIjsKLSAgICAgICAg
ICAgIGlmICh0aGlzLl9wcmVmaXgubGVuZ3RoIDwgMjApCi0gICAgICAgICAgICAgICAgdGhpcy5f
cHJlZml4ICs9ICIgIi5yZXBlYXQoMjAgLSB0aGlzLl9wcmVmaXgubGVuZ3RoKTsKLSAgICAgICAg
fQotICAgIH0KLSAgICAKLSAgICByZXNldCguLi5kYXRhKQotICAgIHsKLSAgICAgICAgdGhpcy5f
ZGF0YSA9IGRhdGE7Ci0gICAgICAgIHRoaXMuX3VwZGF0ZSgpOwotICAgIH0KLSAgICAKLSAgICBh
ZGQoLi4uZGF0YSkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2RhdGEucHVzaCguLi5kYXRhKTsKLSAg
ICAgICAgdGhpcy5fdXBkYXRlKCk7Ci0gICAgfQotICAgIAotICAgIGdldCBudW1JdGVyYXRpb25z
KCkgeyByZXR1cm4gdGhpcy5fZGF0YS5sZW5ndGg7IH0KLSAgICB2YWx1ZUZvckl0ZXJhdGlvbihp
bmRleCkgeyByZXR1cm4gdGhpcy5fZGF0YVtpbmRleF07IH0KLSAgICAKLSAgICBnZXQgcmVzdWx0
KCkKLSAgICB7Ci0gICAgICAgIHZhciB0RGlzdHJpYnV0aW9uID0gW05hTiwgTmFOLCAxMi43MSwg
NC4zMCwgMy4xOCwgMi43OCwgMi41NywgMi40NSwgMi4zNiwgMi4zMSwgMi4yNiwgMi4yMywgMi4y
MCwgMi4xOCwgMi4xNiwgMi4xNCwgMi4xMywgMi4xMiwgMi4xMSwgMi4xMCwgMi4wOSwgMi4wOSwg
Mi4wOCwgMi4wNywgMi4wNywgMi4wNiwgMi4wNiwgMi4wNiwgMi4wNSwgMi4wNSwgMi4wNSwgMi4w
NCwgMi4wNCwgMi4wNCwgMi4wMywgMi4wMywgMi4wMywgMi4wMywgMi4wMywgMi4wMiwgMi4wMiwg
Mi4wMiwgMi4wMiwgMi4wMiwgMi4wMiwgMi4wMiwgMi4wMSwgMi4wMSwgMi4wMSwgMi4wMSwgMi4w
MSwgMi4wMSwgMi4wMSwgMi4wMSwgMi4wMSwgMi4wMCwgMi4wMCwgMi4wMCwgMi4wMCwgMi4wMCwg
Mi4wMCwgMi4wMCwgMi4wMCwgMi4wMCwgMi4wMCwgMi4wMCwgMi4wMCwgMi4wMCwgMi4wMCwgMi4w
MCwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwg
MS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45
OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OCwg
MS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45
OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwg
MS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45
OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwg
MS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45
OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwg
MS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nl07Ci0gICAgICAgIHZhciB0TWF4
ID0gdERpc3RyaWJ1dGlvbi5sZW5ndGg7Ci0gICAgICAgIHZhciB0TGltaXQgPSAxLjk2OwotCi0g
ICAgICAgIGZ1bmN0aW9uIHREaXN0KG4pCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChuID4g
dE1heCkKLSAgICAgICAgICAgICAgICByZXR1cm4gdExpbWl0OwotICAgICAgICAgICAgcmV0dXJu
IHREaXN0cmlidXRpb25bbl07Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGxldCBzdW0g
PSAwOwotICAgICAgICBsZXQgbiA9IDA7Ci0gICAgICAgIGZvciAobGV0IGRhdHVtIG9mIHRoaXMu
X2RhdGEpIHsKLSAgICAgICAgICAgIHN1bSArPSBkYXR1bTsKLSAgICAgICAgICAgIG4rKzsKLSAg
ICAgICAgfQotICAgICAgICAKLSAgICAgICAgbGV0IG1lYW4gPSBzdW0gLyBuOwotICAgICAgICAK
LSAgICAgICAgaWYgKG4gPD0gMikKLSAgICAgICAgICAgIHJldHVybiB7biwgbWVhbn07Ci0gICAg
ICAgIAotICAgICAgICBsZXQgc3VtRm9yU3RkRGV2ID0gMDsKLSAgICAgICAgZm9yIChsZXQgZGF0
dW0gb2YgdGhpcy5fZGF0YSkKLSAgICAgICAgICAgIHN1bUZvclN0ZERldiArPSBNYXRoLnBvdyhk
YXR1bSAtIG1lYW4sIDIpOwotICAgICAgICBsZXQgc3RhbmRhcmREZXZpYXRpb24gPSBNYXRoLnNx
cnQoc3VtRm9yU3RkRGV2IC8gKG4gLSAxKSk7Ci0gICAgICAgIGxldCBzdGFuZGFyZEVycm9yID0g
c3RhbmRhcmREZXZpYXRpb24gLyBNYXRoLnNxcnQobik7Ci0gICAgICAgIGxldCBpbnRlcnZhbCA9
IHREaXN0KG4pICogc3RhbmRhcmRFcnJvcjsKLSAgICAgICAgcmV0dXJuIHtuLCBtZWFuLCBpbnRl
cnZhbH07Ci0gICAgfQotICAgIAotICAgIHRvU3RyaW5nKCkKLSAgICB7Ci0gICAgICAgIGxldCBy
ZXN1bHQgPSB0aGlzLnJlc3VsdDsKLSAgICAgICAgCi0gICAgICAgIGlmICghcmVzdWx0Lm4pCi0g
ICAgICAgICAgICByZXR1cm4gIi4uLiI7Ci0gICAgICAgIAotICAgICAgICBpZiAocmVzdWx0Lm1l
YW4gIT0gcmVzdWx0Lm1lYW4pCi0gICAgICAgICAgICByZXR1cm4gIkVSUk9SIjsKLSAgICAgICAg
Ci0gICAgICAgIGlmICgiaW50ZXJ2YWwiIGluIHJlc3VsdCkKLSAgICAgICAgICAgIHJldHVybiBg
JHt0aGlzLl9wcmVmaXh9JHtyZXN1bHQubWVhbi50b0ZpeGVkKDIpfSBtcyArLSAke3Jlc3VsdC5p
bnRlcnZhbC50b0ZpeGVkKDIpfSBtc2A7Ci0KLSAgICAgICAgcmV0dXJuIGAke3RoaXMuX3ByZWZp
eH0ke3Jlc3VsdC5tZWFuLnRvRml4ZWQoMil9IG1zYDsKLSAgICB9Ci0gICAgCi0gICAgX3VwZGF0
ZSgpCi0gICAgewotICAgICAgICBpZiAoaXNJbkJyb3dzZXIpIHsKLSAgICAgICAgICAgIGlmICh0
aGlzLl9jZWxsKQotICAgICAgICAgICAgICAgIHRoaXMuX2NlbGwuaW5uZXJIVE1MID0gdGhpcy50
b1N0cmluZygpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHByaW50KHRoaXMudG9TdHJp
bmcoKSk7Ci0gICAgfQotfQotCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNo
L3N0eWxlLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNo
L3N0eWxlLmNzcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1w
bGVCZW5jaC9zdHlsZS5jc3MJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNDIgKzAsMCBAQAotYm9keSB7
Ci0gICAgYmFja2dyb3VuZDogI2ZmZjsKLSAgICBjb2xvcjogIzAwMDsKLSAgICBtYXJnaW46IDEw
cHg7Ci0gICAgcGFkZGluZzogMDsKLX0KLWJvZHksIHRoLCB0ciB7Ci0gICAgZm9udDogbm9ybWFs
IDEzcHggVmVyZGFuYSxBcmlhbCwnQml0c3RyZWFtIFZlcmEgU2FucycsSGVsdmV0aWNhLHNhbnMt
c2VyaWY7Ci19Ci1oMSwgaDIsIGgzLCBoNCB7Ci0gICAgZm9udC1mYW1pbHk6IEFyaWFsLFZlcmRh
bmEsJ0JpdHN0cmVhbSBWZXJhIFNhbnMnLEhlbHZldGljYSxzYW5zLXNlcmlmOwotICAgIGZvbnQt
d2VpZ2h0OiBib2xkOwotICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMThlbTsKLSAgICBwYWdlLWJy
ZWFrLWFmdGVyOiBhdm9pZDsKLX0KLWgxIHsgZm9udC1zaXplOiAyMHB4OyB0ZXh0LWluZGVudDog
LTEwcHggfQotaDIgeyBmb250LXNpemU6IDE3cHg7IHRleHQtaW5kZW50OiAtMTBweCB9Ci1oMyB7
IGZvbnQtc2l6ZTogMTVweDsgdGV4dC1pbmRlbnQ6IC0xMHB4IH0KLWhyIHsgYm9yZGVyOiBub25l
OyAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2I7IG1hcmdpbjogMmVtIDAgfQotYWRkcmVzcyB7
IGZvbnQtc3R5bGU6IG5vcm1hbCB9Ci1pbWcgeyBib3JkZXI6IG5vbmUgfQotCi0udW5kZXJsaW5l
IHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQotb2wubG93ZXJhbHBoYSB7IGxpc3Qtc3R5
bGUtdHlwZTogbG93ZXItYWxwaGEgfQotb2wudXBwZXJhbHBoYSB7IGxpc3Qtc3R5bGUtdHlwZTog
dXBwZXItYWxwaGEgfQotb2wubG93ZXJyb21hbiB7IGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9t
YW4gfQotb2wudXBwZXJyb21hbiB7IGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW4gfQotb2wu
YXJhYmljIHsgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsIH0KLQotLmJhbm5lci1saW5rOmxpbmss
IC5iYW5uZXItbGluazp2aXNpdGVkIHsKLSAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Ci0gICAg
Y29sb3I6ICNiMDA7Ci0gICAgYm9yZGVyLWJvdHRvbTogMHB4OwotfQotCi0vKiBMaW5rIHN0eWxl
cyAqLwotOmxpbmssIDp2aXNpdGVkIHsKLSAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Ci0gICAg
Y29sb3I6ICNiMDA7Ci0gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjYmJiOwotfQotaDEg
OmxpbmssIGgxIDp2aXNpdGVkICxoMiA6bGluaywgaDIgOnZpc2l0ZWQsIGgzIDpsaW5rLCBoMyA6
dmlzaXRlZCwKLWg0IDpsaW5rLCBoNCA6dmlzaXRlZCwgaDUgOmxpbmssIGg1IDp2aXNpdGVkLCBo
NiA6bGluaywgaDYgOnZpc2l0ZWQgewotICAgIGNvbG9yOiBpbmhlcml0OwotfQotCi0vKiBIZWFk
aW5nIGFuY2hvcnMgKi8KLS5hbmNob3I6bGluaywgLmFuY2hvcjp2aXNpdGVkIHsKLSAgICBib3Jk
ZXI6IG5vbmU7Ci0gICAgY29sb3I6ICNkN2Q3ZDc7Ci0gICAgZm9udC1zaXplOiAuOGVtOwotICAg
IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsKLX0KLSogPiAuYW5jaG9yOmxpbmssICogPiAuYW5j
aG9yOnZpc2l0ZWQgewotICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKLX0KLWgxOmhvdmVyIC5hbmNo
b3IsIGgyOmhvdmVyIC5hbmNob3IsIGgzOmhvdmVyIC5hbmNob3IsCi1oNDpob3ZlciAuYW5jaG9y
LCBoNTpob3ZlciAuYW5jaG9yLCBoNjpob3ZlciAuYW5jaG9yLAotc3Bhbjpob3ZlciAuYW5jaG9y
IHsKLSAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwotfQotCi1hLm1pc3Npbmc6bGluaywgYS5taXNz
aW5nOnZpc2l0ZWQsIGEubWlzc2luZywgc3Bhbi5taXNzaW5nLAotYS5mb3JiaWRkZW4sIHNwYW4u
Zm9yYmlkZGVuIHsgY29sb3I6ICM5OTggfQotYS5taXNzaW5nOmhvdmVyIHsgY29sb3I6ICMwMDAg
fQotYS5jbG9zZWQ6bGluaywgYS5jbG9zZWQ6dmlzaXRlZCwgc3Bhbi5jbG9zZWQgeyB0ZXh0LWRl
Y29yYXRpb246IGxpbmUtdGhyb3VnaCB9Ci0KLXByZSB7Ci0gICAgYmFja2dyb3VuZDogI2Y3Zjdm
NzsKLSAgICBib3JkZXI6IDFweCBzb2xpZCAjZDdkN2Q3OwotICAgIG1hcmdpbjogMWVtIDEuNzVl
bTsKLSAgICBwYWRkaW5nOiAuMjVlbTsKLSAgICBvdmVyZmxvdzogYXV0bzsKLX0KLQotZGl2LmNv
ZGUgewotICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7Ci0gICAgYm9yZGVyOiAxcHggc29saWQgI2Q3
ZDdkNzsKLSAgICBtYXJnaW46IDFlbSAxLjc1ZW07Ci0gICAgcGFkZGluZzogLjI1ZW07Ci0gICAg
b3ZlcmZsb3c6IGF1dG8KLX0KLQotZGl2LmNvZGUgcHJlIHsgbWFyZ2luOiAwOyB9Ci0KLWR0IHsK
LSAgICBmb250LXdlaWdodDogYm9sZDsKLX0KLWRkIHsKLSAgICBwYWRkaW5nOiAwIDAgMC44ZW0g
MDsKLX0KLWRkOmxhc3QtY2hpbGQgewotICAgIHBhZGRpbmc6IDAgMCAwIDA7Ci19Ci0KLS8qKiBM
b2dvICoqLwotLnNpdGUtbG9nbyB7Ci0gICAgZm9udC1zaXplOiAzcmVtOwotICAgIGxpbmUtaGVp
Z2h0OiAzcmVtOwotICAgIGZvbnQtd2VpZ2h0OiAyMDA7Ci0gICAgZGlzcGxheTogaW5saW5lLWJs
b2NrOwotICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vd3AtY29udGVudC90aGVtZXMvd2Via2l0
L2ltYWdlcy93ZWJraXQuc3ZnJykgbm8tcmVwZWF0OwotICAgIHBhZGRpbmctbGVmdDogN3JlbTsK
LSAgICBjb2xvcjogIzMzMzsKLX0KLQotLnNpdGUtbG9nbyAudGFnbGluZSB7Ci0gICAgZGlzcGxh
eTogYmxvY2s7Ci0gICAgZm9udC1zaXplOiAxLjJyZW07Ci0gICAgbGluZS1oZWlnaHQ6IDJyZW07
Ci0gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1cmVtOwotICAgIGNvbG9yOiAjNjY2OwotfQotCi10
YWJsZSB7Ci0gICAgcGFkZGluZzogMCAwIDAgMDsKLX0KLQotI2NvbnRlbnRzIHsKLSAgICBmb250
LXNpemU6IDkwJTsKLSAgICBwYWRkaW5nOiAxZW0gMmVtIDJlbSAyZW0KLX0KLQotcCB7Ci0gICAg
bWFyZ2luOiAwIDAgMWVtIDA7Ci19Ci0KLXA6bGFzdC1jaGlsZCB7Ci0gICAgbWFyZ2luOiAwIDAg
MCAwOwotfQotCi10aCB7Ci0gICAgZm9udC1zaXplOiA5MCU7Ci0gICAgZm9udC13ZWlnaHQ6IGJv
bGQ7ICAgCi0gICAgcGFkZGluZzogMCAwIDFlbSAwOwotfQotCi10ZCB7Ci0gICAgZm9udC1zaXpl
OiA5MCU7Ci0gICAgdGV4dC1hbGlnbjogY2VudGVyOwotICAgIHBhZGRpbmc6IDAgMCAxZW0gMDsK
LX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQVJFUy02L0FSRVMtNi5zdmcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gUGVyZm9ybWFuY2VUZXN0cy9BUkVTLTYvQVJFUy02LnN2Zwkobm9uZXhpc3RlbnQpCisrKyBQ
ZXJmb3JtYW5jZVRlc3RzL0FSRVMtNi9BUkVTLTYuc3ZnCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsNCBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9
IjAgMCAzMzUgNzQiPgorICAgIDx0aXRsZT5BUkVTLTY8L3RpdGxlPgorICAgIDxwYXRoIGZpbGw9
IiM5QjlCOUIiIGQ9Ik0gMTIuODM3IDEzLjc4NSBDIDYuMDUyIDEzLjc4NSAwLjU5IDE5LjI0NyAw
LjU5IDI2LjAzMiBMIDAuNTkgNzMuMzY2IEwgMTMuNDE2IDczLjM2NiBMIDEzLjQxNiA1NC4xNjgg
TCA0Ny4xNzkgNTQuMTY4IEwgNDcuMTc5IDczLjM2NiBMIDYwLjE3MSA3My4zNjYgTCA2MC4xNzEg
MjYuMDMyIEMgNjAuMTcxIDE5LjI0NyA1NC42MjcgMTMuNzg1IDQ3Ljg0MSAxMy43ODUgTCAxMi44
MzcgMTMuNzg1IFogTSAxMy40MTYgNDEuMjU5IEwgMTMuNDE2IDI2LjY5NCBMIDQ3LjE3OSAyNi42
OTQgTCA0Ny4xNzkgNDEuMjU5IEwgMTMuNDE2IDQxLjI1OSBaIE0gMTI0Ljg1NCAyNi4xMTUgQyAx
MjQuODU0IDE5LjQxMiAxMTkuMzA5IDEzLjg2OCAxMTIuNTI0IDEzLjg2OCBMIDY1LjI3MyAxMy44
NjggTCA2NS4yNzMgNzMuMzY2IEwgNzguMDk5IDczLjM2NiBMIDc4LjA5OSA1NC4yNTEgQyA3OC4x
ODIgNTQuMzMzIDc4LjM0NyA1NC4zMzMgNzguMzQ3IDU0LjMzMyBDIDc4LjM0NyA1NC4wMDIgNzgu
MjY1IDUzLjgzNyA3OC4wOTkgNTMuODM3IEwgOTUuMTQ2IDUzLjc1NCBMIDExMS42MTMgNzMuMzY2
IEwgMTI0Ljg1NCA3My4zNjYgTCAxMjQuODU0IDY4Ljk4IEMgMTIwLjcxNiA2NC4wMTUgMTE2LjE2
NSA1OC43MTkgMTExLjk0NCA1My43NTQgTCAxMTIuNTI0IDUzLjc1NCBDIDExOS4zMDkgNTMuNzU0
IDEyNC44NTQgNDguMjEgMTI0Ljg1NCA0MS41MDcgTCAxMjQuODU0IDI2LjExNSBaIE0gNzguMDk5
IDI2LjY5NCBMIDExMS44NjIgMjYuNjk0IEwgMTExLjg2MiA0MC44NDUgTCA3OC4wOTkgNDAuODQ1
IEwgNzguMDk5IDI2LjY5NCBaIi8+PHBhdGggZmlsbD0iI0U3QjEzNSIgZD0iTSAzMTMuOTU1IDcz
LjA1MyBDIDMxNy4xNjcgNzEuMzg5IDMxOS4zNTMgNjguMDM3IDMxOS4zNTMgNjQuMTU4IEwgMzE5
LjM1MyA0OS44NDIgQyAzMTkuMzUzIDQ0LjIxNSAzMTQuODg1IDM5LjgzIDMwOS4zNCAzOS44MyBM
IDI2OS4yMDYgMzkuODMgQyAyNjcuNDY4IDM5LjgzIDI2NS45NzkgMzguMzQgMjY1Ljk3OSAzNi41
MTkgTCAyNjUuOTc5IDI0LjYwMyBDIDI2NS45NzkgMjIuODY1IDI2Ny40NjggMjEuMzc2IDI2OS4y
MDYgMjEuMzc2IEwgMzA4LjkyNyAyMS4zNzYgTCAzMDguOTI3IDE0LjUwOCBMIDI2OS4yMDYgMTQu
NTA4IEMgMjYzLjU3OSAxNC41MDggMjU5LjE5MyAxOC45NzYgMjU5LjE5MyAyNC42MDMgTCAyNTku
MTkzIDY0LjE1OCBDIDI1OS4xOTMgNjguMDM3IDI2MS4zMzkgNzEuMzg5IDI2NC41NTUgNzMuMDUz
IEwgMjM0LjA2OSA3My4wNTMgQyAyMzkuNDczIDcxLjgwMiAyNDMuNTY2IDY2Ljk0OSAyNDMuNTY2
IDYxLjExOSBMIDI0My41NjYgNDkuMzY4IEMgMjQzLjU2NiA0Mi41ODMgMjM4LjAyMiAzNy4xMjEg
MjMxLjMxOSAzNy4xMjEgTCAxOTYuODEyIDM3LjEyMSBMIDE5Ni44MTIgMjYuNjk0IEwgMjMwLjU3
NCAyNi42OTQgTCAyMzAuNTc0IDMxLjU3NyBMIDI0My41NjYgMzEuNTc3IEwgMjQzLjU2NiAyNi4w
MzIgQyAyNDMuNTY2IDE5LjI0NyAyMzguMDIyIDEzLjc4NSAyMzEuMzE5IDEzLjc4NSBMIDE5Ni4y
MzIgMTMuNzg1IEMgMTg5LjQ0NyAxMy43ODUgMTgzLjk4NSAxOS4yNDcgMTgzLjk4NSAyNi4wMzIg
TCAxODMuOTg1IDM3Ljc4MyBDIDE4My45ODUgNDQuNTY5IDE4OS40NDcgNTAuMDMgMTk2LjIzMiA1
MC4wMyBMIDIzMC41NzQgNTAuMDMgTCAyMzAuNTc0IDYwLjQ1NyBMIDE5Ni44MTIgNjAuNDU3IEwg
MTk2LjgxMiA1NS41NzUgTCAxODMuOTg1IDU1LjU3NSBMIDE4My45ODUgNjEuMTE5IEMgMTgzLjk4
NSA2Ni45NDkgMTg4LjAxNyA3MS44MDIgMTkzLjQ1NyA3My4wNTMgTCAxNzkuNzQ3IDczLjA1MyBM
IDE3OS43NDcgNjAuNDU3IEwgMTM3LjcwOSA2MC40NTcgTCAxMzcuNzA5IDUwLjAzIEwgMTcxLjU1
NSA1MC4wMyBMIDE3MS41NTUgMzcuMTIxIEwgMTM3LjcwOSAzNy4xMjEgTCAxMzcuNzA5IDI2LjY5
NCBMIDE3OS43NDcgMjYuNjk0IEwgMTc5Ljc0NyAxMy43ODUgTCAxMjQuNzE3IDEzLjc4NSBMIDEy
NC43MTcgNDMuNDE5IEwgMTI0LjcxNyAwLjM2NiBMIDMzNC45NTEgMC4zNjYgTCAzMzQuOTUxIDcz
LjA1MyBMIDMxMy45NTUgNzMuMDUzIFogTSAyNDcuNzIyIDQwLjU0NyBMIDI0Ny43MjIgNDcuMzMz
IEwgMjU0LjUwNyA0Ny4zMzMgTCAyNTQuNTA3IDQwLjU0NyBMIDI0Ny43MjIgNDAuNTQ3IFogTSAz
MTIuNTY4IDY0LjE1OCBDIDMxMi41NjggNjUuODk2IDMxMS4wNzggNjcuMzg2IDMwOS4zNCA2Ny4z
ODYgTCAyNjkuMjA2IDY3LjM4NiBDIDI2Ny40NjggNjcuMzg2IDI2NS45NzkgNjUuODk2IDI2NS45
NzkgNjQuMTU4IEwgMjY1Ljk3OSA0Ni42MTUgTCAzMDkuMzQgNDYuNjE1IEMgMzExLjA3OCA0Ni42
MTUgMzEyLjU2OCA0OC4xMDUgMzEyLjU2OCA0OS44NDIgTCAzMTIuNTY4IDY0LjE1OCBaIi8+Cis8
L3N2Zz4KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQVJFUy02L2RyaXZlci5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0FSRVMtNi9kcml2ZXIuanMJKHJldmlzaW9uIDIxMTY4OCkK
KysrIFBlcmZvcm1hbmNlVGVzdHMvQVJFUy02L2RyaXZlci5qcwkod29ya2luZyBjb3B5KQpAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSw5
ICsyNSwxMCBAQAogInVzZSBzdHJpY3QiOwogCiBjbGFzcyBEcml2ZXIgewotICAgIGNvbnN0cnVj
dG9yKHRyaWdnZXJDZWxsLCB0cmlnZ2VyTGluaywgbWFnaWNDZWxsLCBzdW1tYXJ5Q2VsbCwga2V5
KQorICAgIGNvbnN0cnVjdG9yKHN0YXR1c0NlbGwsIHRyaWdnZXJDZWxsLCB0cmlnZ2VyTGluaywg
bWFnaWNDZWxsLCBzdW1tYXJ5Q2VsbCwga2V5KQogICAgIHsKICAgICAgICAgdGhpcy5fYmVuY2ht
YXJrcyA9IG5ldyBNYXAoKTsKKyAgICAgICAgdGhpcy5fc3RhdHVzQ2VsbCA9IHN0YXR1c0NlbGw7
CiAgICAgICAgIHRoaXMuX3RyaWdnZXJDZWxsID0gdHJpZ2dlckNlbGw7CiAgICAgICAgIHRoaXMu
X3RyaWdnZXJMaW5rID0gdHJpZ2dlckxpbms7CiAgICAgICAgIHRoaXMuX21hZ2ljQ2VsbCA9IG1h
Z2ljQ2VsbDsKQEAgLTQzLDEwICs0NCwyMyBAQCBjbGFzcyBEcml2ZXIgewogICAgICAgICB0aGlz
Ll9iZW5jaG1hcmtzLnNldChiZW5jaG1hcmssIG5ldyBSZXN1bHRzKGJlbmNobWFyaykpOwogICAg
IH0KICAgICAKKyAgICByZWFkeVRyaWdnZXIoKSAKKyAgICB7CisgICAgICAgIHRoaXMuX3RyaWdn
ZXJDZWxsLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fdHJpZ2dlckxpbmspOworICAg
ICAgICB0aGlzLl90cmlnZ2VyQ2VsbC5jbGFzc0xpc3QuYWRkKCdyZWFkeScpOworICAgIH0KKyAg
ICAKKyAgICBkaXNhYmxlVHJpZ2dlcigpIAorICAgIHsKKyAgICAgICAgdGhpcy5fdHJpZ2dlckNl
bGwucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl90cmlnZ2VyTGluayk7CisgICAg
ICAgIHRoaXMuX3RyaWdnZXJDZWxsLmNsYXNzTGlzdC5yZW1vdmUoJ3JlYWR5Jyk7CisgICAgfQor
ICAgIAogICAgIHN0YXJ0KG51bUl0ZXJhdGlvbnMpCiAgICAgeworICAgICAgICB0aGlzLmRpc2Fi
bGVUcmlnZ2VyKCk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZUl0ZXJhdGlvbnMoKTsKLSAgICAgICAg
CisKICAgICAgICAgdGhpcy5fc3VtbWFyeS5yZXNldCgpOwogICAgICAgICBmb3IgKGxldCBbYmVu
Y2htYXJrLCByZXN1bHRzXSBvZiB0aGlzLl9iZW5jaG1hcmtzKQogICAgICAgICAgICAgcmVzdWx0
cy5yZXNldCgpOwpAQCAtMTE5LDkgKzEzMyw5IEBAIGNsYXNzIERyaXZlciB7CiAgICAgICAgIGlm
ICghdGhpcy5fYmVuY2htYXJrKSB7CiAgICAgICAgICAgICBpZiAoIXRoaXMuX251bUl0ZXJhdGlv
bnMpIHsKICAgICAgICAgICAgICAgICBpZiAoaXNJbkJyb3dzZXIpIHsKLSAgICAgICAgICAgICAg
ICAgICAgdGhpcy5fdHJpZ2dlckNlbGwuaW5uZXJIVE1MID0KLSAgICAgICAgICAgICAgICAgICAg
ICAgICh0aGlzLl9oYWRFcnJvcnMgPyAiRmFpbHVyZXMgZW5jb3VudGVyZWQhIiA6ICJTdWNjZXNz
ISIpICsKLSAgICAgICAgICAgICAgICAgICAgICAgIGAgPGEgaHJlZj0iJHt0aGlzLl90cmlnZ2Vy
TGlua30iPlJlc3RhcnQgQmVuY2htYXJrPC9hPmA7CisgICAgICAgICAgICAgICAgICAgIHRoaXMu
X3N0YXR1c0NlbGwuaW5uZXJIVE1MID0KKyAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLl9o
YWRFcnJvcnMgPyAiRmFpbHVyZXMgZW5jb3VudGVyZWQhIiA6ICJSZXN0YXJ0Iik7CisgICAgICAg
ICAgICAgICAgICAgIHRoaXMucmVhZHlUcmlnZ2VyKCk7CiAgICAgICAgICAgICAgICAgfSBlbHNl
CiAgICAgICAgICAgICAgICAgICAgIHByaW50KHRoaXMuX2hhZEVycm9ycyA/ICJGYWlsdXJlcyBl
bmNvdW50ZXJlZCEiIDogIlN1Y2Nlc3MhIEJlbmNobWFyayBpcyBub3cgZmluaXNoZWQuIik7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTc2LDYgKzE5MCw2IEBAIGNsYXNzIERyaXZlciB7
CiAgICAgX3VwZGF0ZUl0ZXJhdGlvbnMoKQogICAgIHsKICAgICAgICAgaWYgKGlzSW5Ccm93c2Vy
KQotICAgICAgICAgICAgdGhpcy5fdHJpZ2dlckNlbGwuaW5uZXJIVE1MID0gIlJ1bm5pbmcuLi4g
KCIgKyAodGhpcy5fbnVtSXRlcmF0aW9ucyArIDEpICsgIiB0byBnbykiOworICAgICAgICAgICAg
dGhpcy5fc3RhdHVzQ2VsbC5pbm5lckhUTUwgPSAiUnVubmluZy4uLiAiICsgKHRoaXMuX251bUl0
ZXJhdGlvbnMgKyAxKSArICIgdG8gZ28iOwogICAgIH0KIH0KSW5kZXg6IFBlcmZvcm1hbmNlVGVz
dHMvQVJFUy02L2dsdWUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9BUkVTLTYv
Z2x1ZS5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9BUkVTLTYvZ2x1
ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMjUsOCArMjUsMTEgQEAKICJ1c2Ugc3RyaWN0IjsKIAog
Y29uc3QgZHJpdmVyID0gbmV3IERyaXZlcigKKyAgICBpc0luQnJvd3NlciA/IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJzdGF0dXMiKSA6IG51bGwsCiAgICAgaXNJbkJyb3dzZXIgPyBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidHJpZ2dlciIpIDogbnVsbCwKLSAgICAiZHJpdmVyLnN0YXJ0KDEw
KSIsCisgICAgZnVuY3Rpb24oKSB7CisgICAgICAgIGRyaXZlci5zdGFydCgxMCkKKyAgICB9LAog
ICAgIGlzSW5Ccm93c2VyID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1hZ2ljIikgOiBudWxs
LAogICAgIGlzSW5Ccm93c2VyID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkdlb21lYW4iKSA6
IG51bGwsCiAgICAgInNhbXBsZUJlbmNoIik7CkBAIC0zNywzICs0MCw0IEBAIGZ1bmN0aW9uIHJl
cG9ydFJlc3VsdCguLi5hcmdzKSB7CiAKIGRyaXZlci5hZGRCZW5jaG1hcmsoQWlyQmVuY2htYXJr
UnVubmVyKTsKIGRyaXZlci5hZGRCZW5jaG1hcmsoQmFzaWNCZW5jaG1hcmtSdW5uZXIpOworZHJp
dmVyLnJlYWR5VHJpZ2dlcigpOwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9BUkVTLTYvaW5kZXgu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0FSRVMtNi9pbmRleC5odG1sCShy
ZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0FSRVMtNi9pbmRleC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDUyICsxLDEyNSBAQAorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4K
IDxoZWFkPgotPHRpdGxlPkVTNiBTYW1wbGUgQmVuY2g8L3RpdGxlPgotPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0ic3R5bGUuY3NzIj4KKyAgICA8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9InN0eWxlcy5jc3MiPiAgICAKIDwvaGVhZD4KLTxzY3JpcHQ+Ci13
aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKG1lc3NhZ2UsIHVybCwgbGluZU51bWJlcikKLXsKLSAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidHJpZ2dlciIpLmlubmVySFRNTCA9ICJFUlJPUjog
IiArIHVybCArICI6IiArIGxpbmVOdW1iZXIgKyAiOiAiICsgbWVzc2FnZTsKLX0KLQotY29uc3Qg
aXNJbkJyb3dzZXIgPSB0cnVlOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iZHJpdmVyLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXN1bHRzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJzdGF0cy5qcyI+PC9zY3JpcHQ+CiA8Ym9keT4KLTxkaXYgaWQ9ImNvbnRlbnRzIj4KLTxoMT5F
UzYgU2FtcGxlIEJlbmNoPC9oMT4KLTxwPlRoaXMgaXMgYSBiZW5jaG1hcmsgc3VpdGUgdGhhdCBj
b25zaXN0cyBvZiBFUzYgc2FtcGxlIGNvZGUgd3JpdHRlbiBieSB0aGUKLTxhIGhyZWY9Imh0dHA6
Ly93d3cud2Via2l0Lm9yZy8iPldlYktpdDwvYT4gdGVhbS4gIEFsbCByZXN1bHRzIGFyZSBpbiBt
aWxsaXNlY29uZHMgd2l0aCA5NSUKLWNvbmZpZGVuY2UgaW50ZXJ2YWxzLiAgTG93ZXIgaXMgYmV0
dGVyLjwvcD4KLTxwIGlkPSJ0cmlnZ2VyIj48YSBocmVmPSJqYXZhc2NyaXB0OmRyaXZlci5zdGFy
dCgxMCkiPlN0YXJ0IEJlbmNobWFyazwvYT48L3A+Ci08cD48Yj5HZW9tZXRyaWMgTWVhbiBSZXN1
bHQ6IDxzcGFuIGlkPSJHZW9tZWFuIj4uLi48L3NwYW4+PC9iPjwvcD4KLTx0YWJsZSBjZWxsc3Bh
Y2luZz0wIGNlbGxwYWRkaW5nPTAgYm9yZGVyPTA+Ci0gIDx0cj4KLSAgICA8dGggd2lkdGg9MTgw
PkJlbmNobWFyazwvdGg+Ci0gICAgPHRoIHdpZHRoPTE4MD5GaXJzdCBJdGVyYXRpb248L3RoPgot
ICAgIDx0aCB3aWR0aD0xODA+V29yc3QgMiU8L3RoPgotICAgIDx0aCB3aWR0aD0xODA+U3RlYWR5
IFN0YXRlPC90aD4KLSAgPHRyPgotICAgIDx0aD5BaXI8L3RoPgotICAgIDx0ZCBpZD0iQWlyRmly
c3RJdGVyYXRpb24iPi4uLjwvdGQ+Ci0gICAgPHRkIGlkPSJBaXJBdmVyYWdlV29yc3RDYXNlIj4u
Li48L3RkPgotICAgIDx0ZCBpZD0iQWlyU3RlYWR5U3RhdGUiPi4uLjwvdGQ+Ci0gICAgPHRkIGlk
PSJBaXJNZXNzYWdlIj48L3RkPgotICA8L3RyPgotICA8dHI+Ci0gICAgPHRoPkJhc2ljPC90aD4K
LSAgICA8dGQgaWQ9IkJhc2ljRmlyc3RJdGVyYXRpb24iPi4uLjwvdGQ+Ci0gICAgPHRkIGlkPSJC
YXNpY0F2ZXJhZ2VXb3JzdENhc2UiPi4uLjwvdGQ+Ci0gICAgPHRkIGlkPSJCYXNpY1N0ZWFkeVN0
YXRlIj4uLi48L3RkPgotICAgIDx0ZCBpZD0iQmFzaWNNZXNzYWdlIj48L3RkPgotICA8L3RyPgot
PC90YWJsZT4KLTwvZGl2PgotPGlmcmFtZSBpZD0ibWFnaWMiIGZyYW1lQm9yZGVyPTA+PC9pZnJh
bWU+Ci08c2NyaXB0IHNyYz0iYWlyX2JlbmNobWFyay5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iYmFzaWNfYmVuY2htYXJrLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJnbHVlLmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgIHdpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24obWVz
c2FnZSwgdXJsLCBsaW5lTnVtYmVyKQorICAgIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImVycm9yIikuaW5uZXJIVE1MID0gIkVSUk9SOiAiICsgdXJsICsgIjoiICsgbGluZU51
bWJlciArICI6ICIgKyBtZXNzYWdlOworICAgIH0KKworICAgIGNvbnN0IGlzSW5Ccm93c2VyID0g
dHJ1ZTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iZHJpdmVyLmpzIj48L3Njcmlw
dD4KKyAgICA8c2NyaXB0IHNyYz0icmVzdWx0cy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBz
cmM9InN0YXRzLmpzIj48L3NjcmlwdD4KKyAgICAKKyAgICA8aGVhZGVyPgorICAgICAgICA8aDEg
Y2xhc3M9ImxvZ28iPjxpbWcgc3JjPSJBUkVTLTYuc3ZnIiB0aXRsZT0iQVJFUy02IiBhbHQ9IkFS
RVMtNiI+PC9oMT4KKyAgICAgICAgPGJ1dHRvbiBpZD0idHJpZ2dlciIgY2xhc3M9InN0YXJ0Ij4K
KyAgICAgICAgICAgIDxzcGFuIGlkPSJzdGF0dXMiPlN0YXJ0PC9zcGFuPgorICAgICAgICA8L2J1
dHRvbj4KKyAgICAgICAgPGRpdiBpZD0iZXJyb3IiIGNsYXNzPSJlcnJvciI+PC9kaXY+CisgICAg
PC9oZWFkZXI+CisKKyAgICA8bWFpbj4KKyAgICAKKyAgICA8cD5BUkVTLTYgbWVhc3VyZXMgdGhl
IGV4ZWN1dGlvbiB0aW1lIG9mIEphdmFTY3JpcHQncyBuZXdlc3QgZmVhdHVyZXMuIDxhIGhyZWY9
IiNhYm91dCI+UmVhZCBtb3JlIGRldGFpbHMgJiM5NjU4OzwvYT48L3A+CisKKyAgICA8ZGl2IGlk
PSJhYm91dCIgY2xhc3M9ImZsaXAiPgorICAgIDxkaXYgY2xhc3M9InRlc3RpbmciPgorICAgICAg
ICAgICAgCisgICAgPGRpdiBjbGFzcz0ib3ZlcmFsbCI+CisgICAgICAgIDxoMj5PdmVyYWxsPC9o
Mj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic2NvcmUiPgorICAgICAgICAgICAgPHNwYW4gaWQ9Ikdl
b21lYW4iPgorICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ2YWx1ZSI+JiMxMDA3NDsmIzEw
MDc0Oy4mIzEwMDc0OyYjMTAwNzQ7PC9zcGFuPjxzcGFuIGNsYXNzPSJ1bml0cyI+bXM8L3NwYW4+
CisgICAgICAgICAgICA8L3NwYW4+CisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PiAgICAKKyAg
ICAKKyAgICA8ZGl2IGNsYXNzPSJ0ZXN0cyI+CisgICAgICAgIAorICAgICAgICA8ZGl2IGNsYXNz
PSJhaXIgdGVzdCI+CisgICAgICAgICAgICA8ZGl2IGlkPSJBaXJNZXNzYWdlIiBjbGFzcz0iaW5k
aWNhdG9yIj4uPC9kaXY+CisgICAgICAgICAgICA8aDI+QWlyPC9oMj4gCisKKyAgICAgICAgICAg
IDxkaXYgY2xhc3M9InNjb3JlIj4KKyAgICAgICAgICAgICAgICA8bGFiZWw+Rmlyc3QgSXRlcmF0
aW9uPC9sYWJlbD4KKyAgICAgICAgICAgICAgICA8c3BhbiBpZD0iQWlyRmlyc3RJdGVyYXRpb24i
PgorICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idmFsdWUiPiYjMTAwNzQ7JiMxMDA3
NDsuJiMxMDA3NDsmIzEwMDc0Ozwvc3Bhbj48c3BhbiBjbGFzcz0idW5pdHMiPm1zPC9zcGFuPgor
ICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorIAorICAgICAgICAg
ICAgPGRpdiBjbGFzcz0ic2NvcmUiPgorICAgICAgICAgICAgICAgIDxsYWJlbD5Xb3JzdCAyJTwv
bGFiZWw+CisgICAgICAgICAgICAgICAgPHNwYW4gaWQ9IkFpckF2ZXJhZ2VXb3JzdENhc2UiPgor
ICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idmFsdWUiPiYjMTAwNzQ7JiMxMDA3NDsu
JiMxMDA3NDsmIzEwMDc0Ozwvc3Bhbj48c3BhbiBjbGFzcz0idW5pdHMiPm1zPC9zcGFuPgorICAg
ICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2PgorCisgICAgICAgICAgICA8
ZGl2IGNsYXNzPSJzY29yZSI+CisgICAgICAgICAgICAgICAgPGxhYmVsPkF2ZXJhZ2U8L2xhYmVs
PgorICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJBaXJTdGVhZHlTdGF0ZSI+CisgICAgICAgICAg
ICAgICAgICAgIDxzcGFuIGNsYXNzPSJ2YWx1ZSI+JiMxMDA3NDsmIzEwMDc0Oy4mIzEwMDc0OyYj
MTAwNzQ7PC9zcGFuPjxzcGFuIGNsYXNzPSJ1bml0cyI+bXM8L3NwYW4+CisgICAgICAgICAgICAg
ICAgPC9zcGFuPgorICAgICAgICAgICAgPC9kaXY+CisgICAgICAgICAgICAKKyAgICAgICAgPC9k
aXY+CisgICAgCisgICAgICAgIDxkaXYgY2xhc3M9ImJhc2ljIHRlc3QiPgorICAgICAgICAgICAg
PGRpdiBpZD0iQmFzaWNNZXNzYWdlIiBjbGFzcz0iaW5kaWNhdG9yIj4uPC9kaXY+CisgICAgICAg
ICAgICA8aDI+QmFzaWM8L2gyPiAKKyAgICAgICAgICAgIAorICAgICAgICAgICAgPGRpdiBjbGFz
cz0ic2NvcmUiPgorICAgICAgICAgICAgICAgIDxsYWJlbD5GaXJzdCBJdGVyYXRpb248L2xhYmVs
PgorICAgICAgICAgICAgICAgIDxzcGFuIGlkPSJCYXNpY0ZpcnN0SXRlcmF0aW9uIj4KKyAgICAg
ICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InZhbHVlIj4mIzEwMDc0OyYjMTAwNzQ7LiYjMTAw
NzQ7JiMxMDA3NDs8L3NwYW4+PHNwYW4gY2xhc3M9InVuaXRzIj5tczwvc3Bhbj4gICAgICAgICAg
ICAgICAgICAgIAorICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgICAgIDwvZGl2Pgor
IAorICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2NvcmUiPgorICAgICAgICAgICAgICAgIDxsYWJl
bD5Xb3JzdCAyJTwvbGFiZWw+CisgICAgICAgICAgICAgICAgPHNwYW4gaWQ9IkJhc2ljQXZlcmFn
ZVdvcnN0Q2FzZSI+CisgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ2YWx1ZSI+JiMx
MDA3NDsmIzEwMDc0Oy4mIzEwMDc0OyYjMTAwNzQ7PC9zcGFuPjxzcGFuIGNsYXNzPSJ1bml0cyI+
bXM8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICA8L3NwYW4+Cisg
ICAgICAgICAgICA8L2Rpdj4KKworICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2NvcmUiPgorICAg
ICAgICAgICAgICAgIDxsYWJlbD5BdmVyYWdlPC9sYWJlbD4KKyAgICAgICAgICAgICAgICA8c3Bh
biBpZD0iQmFzaWNTdGVhZHlTdGF0ZSI+CisgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNz
PSJ2YWx1ZSI+JiMxMDA3NDsmIzEwMDc0Oy4mIzEwMDc0OyYjMTAwNzQ7PC9zcGFuPjxzcGFuIGNs
YXNzPSJ1bml0cyI+bXM8L3NwYW4+ICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAg
ICA8L3NwYW4+CisgICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgIAorICAgICAgICA8L2Rp
dj4KKyAgICAgICAgCisgICAgPC9kaXY+CisgICAgPC9kaXY+CisgICAgCisgICAgPGRpdiBjbGFz
cz0iYWJvdXQiPgorICAgICAgICA8aDI+QWJvdXQ8L2gyPgorICAgICAgICAKKyAgICAgICAgPHA+
QVJFUy02IG1lYXN1cmVzIHRoZSBleGVjdXRpb24gdGltZSBvZiBKYXZhU2NyaXB0JiM4MjE3O3Mg
bmV3ZXN0IGZlYXR1cmVzLCBpbmNsdWRpbmcgc3ltYm9scywgZm9yLW9mLCBhcnJvdyBmdW5jdGlv
bnMsIE1hcC9TZXQvV2Vha01hcCwgbGV0L2NvbnN0LCBjbGFzc2VzLCBwcm94aWVzLCBzdHJpbmcg
aW50ZXJwb2xhdGlvbiwgZGVzdHJ1Y3R1cmluZywgZGVmYXVsdCBhcmd1bWVudHMsIHNwcmVhZCwg
dGFpbCBjYWxscywgYW5kIGdlbmVyYXRvcnMuPC9wPgorCisgICAgICAgIDxwPkFpciBpcyBhbiBF
UzIwMTUgcG9ydCBvZiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly93ZWJraXQub3JnL2Jsb2cvNTg1Mi9p
bnRyb2R1Y2luZy10aGUtYjMtaml0LWNvbXBpbGVyLyI+V2ViS2l0IEIzIEpJVDwvYT4mIzgyMTc7
cyA8YSBocmVmPSJodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjAxNzgzIj48Y29k
ZT5BaXI6OmFsbG9jYXRlU3RhY2s8L2NvZGU+IHBoYXNlPC9hPi4gVGhpcyBjb2RlIGlzIGEgaGVh
dnkgdXNlciBvZiBNYXAsIFNldCwgY2xhc3Nlcywgc3ByZWFkLCBhbmQgZm9yLW9mLiBUaGUgYmVu
Y2htYXJrIHJ1bnMgPGNvZGU+YWxsb2NhdGVTdGFjazwvY29kZT4gb24gaG90IGZ1bmN0aW9uIGJv
ZGllcyBmcm9tIG90aGVyIHBvcHVsYXIgSmF2YVNjcmlwdCBiZW5jaG1hcmtzOiA8Y29kZT5leGVj
dXRlSXRlcmF0aW9uPC9jb2RlPiBmcm9tIE9jdGFuZS9HYW1lYm95LCA8Y29kZT5nYXVzc2lhbkJs
dXI8L2NvZGU+IGZyb20gS3Jha2VuLCBhbmQgPGNvZGU+c2NhbklkZW50aWZpZXI8L2NvZGU+IGZy
b20gT2N0YW5lL1R5cGVzY3JpcHQuIEJlY2F1c2UgbWV0YWNpcmN1bGFyaXR5LCB0aGUgYmVuY2ht
YXJrIGFsc28gcnVucyA8Y29kZT5hbGxvY2F0ZVN0YWNrPC9jb2RlPiBvbiB0aGUgbGFyZ2VzdCBo
b3QgZnVuY3Rpb24gaW4gQWlyLjwvcD4KKworICAgICAgICA8cD5CYXNpYyBpcyBhbiA8YSBocmVm
PSJodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjAyNDQ2Ij5FUzIwMTUgaW1wbGVt
ZW50YXRpb24gb2YgdGhlIEVDTUEtNTUgQkFTSUMgc3RhbmRhcmQ8L2E+LiBCQVNJQyB3YXMgYW4g
aW50ZXJhY3RpdmUgbGFuZ3VhZ2UgZnJvbSB0aGUgc3RhcnQsIHNvIG91ciBpbXBsZW1lbnRhdGlv
biB1c2VzIGdlbmVyYXRvciBmdW5jdGlvbnMgZm9yIHRoZSBlbnRpcmUgaW50ZXJwcmV0ZXIuIFdo
ZW4gdGhlIEJBU0lDIHByb2dyYW0gc2F5cyA8Y29kZT5JTlBVVDwvY29kZT4sIG91ciBpbnRlcnBy
ZXRlciBzYXlzIDxjb2RlPnlpZWxkPC9jb2RlPi4gVGhpcyBhbGxvd3MgdXNlcnMgb2YgdGhlIGlu
dGVycHJldGVyIHRvIGVhc2lseSBpbnRlZ3JhdGUgaXQgaW50byBhIHJ1bmxvb3AuIEJhc2ljIGFs
c28gdXNlcyBjbGFzc2VzLCBNYXAsIGFuZCBXZWFrTWFwLiBUaGUgYmVuY2htYXJrIHJ1bnMgYSBo
YW5kZnVsIG9mIHNpbXBsZSBwcm9ncmFtcywgdGhlIG1vc3QgY29tcGxleCBvZiB3aGljaCBmaW5k
cyBwcmltZSBudW1iZXJzLjwvcD4KKworICAgICAgICA8cD5XZSBsaWtlIG1ha2luZyBKYXZhU2Ny
aXB0IHJ1biBmYXN0ZXIsIGJ1dCB3ZSBkaWRuJiM4MjE3O3QgaGF2ZSBhbnkgRVMyMDE1IGNvZGUg
dG8gb3B0aW1pemUuIEFSRVMtNiBpcyBhIGNvbGxlY3Rpb24gb2Ygc2FtcGxlIEVTMjAxNSBjb2Rl
IHdyaXR0ZW4gYnkgdGhlIFdlYktpdCBKYXZhU2NyaXB0IHRlYW0sIHdoaWNoIHdlIHVzZWQgdG8g
Ym9vdHN0cmFwIG91ciBFUzIwMTUgb3B0aW1pemF0aW9uIGVmZm9ydHMuPC9wPgorICAgICAgICAK
KyAgICAgICAgPHA+PGEgaHJlZj0iIyI+JiM5NzAwOyBSZXR1cm4gdG8gVGVzdGluZzwvYT48L3A+
CisgICAgPC9kaXY+CisKKyAgICA8L2Rpdj4KKyAgICA8L21haW4+CisgICAgCisgICAgPGlmcmFt
ZSBpZD0ibWFnaWMiIGZyYW1lQm9yZGVyPTA+PC9pZnJhbWU+CisgICAgPHNjcmlwdCBzcmM9ImFp
cl9iZW5jaG1hcmsuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJiYXNpY19iZW5jaG1h
cmsuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJnbHVlLmpzIj48L3NjcmlwdD4KKyAg
ICAgICAgCiA8L2JvZHk+Ci08L2h0bWw+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9BUkVTLTYvcmVzdWx0cy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0FSRVMtNi9yZXN1bHRzLmpzCShyZXZpc2lvbiAyMTE2ODgp
CisrKyBQZXJmb3JtYW5jZVRlc3RzL0FSRVMtNi9yZXN1bHRzLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC00MywxMyArNDMsMTMgQEAgY2xhc3MgUmVzdWx0cyB7CiAgICAgcmVwb3J0UnVubmluZygpCiAg
ICAgewogICAgICAgICBpZiAoaXNJbkJyb3dzZXIpCi0gICAgICAgICAgICB0aGlzLl9iZW5jaG1h
cmsuY2VsbHMubWVzc2FnZS5pbm5lckhUTUwgPSAiUnVubmluZy4uLiI7CisgICAgICAgICAgICB0
aGlzLl9iZW5jaG1hcmsuY2VsbHMubWVzc2FnZS5jbGFzc0xpc3QuYWRkKCdydW5uaW5nJyk7CiAg
ICAgfQogICAgIAogICAgIHJlcG9ydERvbmUoKQogICAgIHsKICAgICAgICAgaWYgKGlzSW5Ccm93
c2VyKQotICAgICAgICAgICAgdGhpcy5fYmVuY2htYXJrLmNlbGxzLm1lc3NhZ2UuaW5uZXJIVE1M
ID0gIiI7CisgICAgICAgICAgICB0aGlzLl9iZW5jaG1hcmsuY2VsbHMubWVzc2FnZS5jbGFzc0xp
c3QucmVtb3ZlKCdydW5uaW5nJyk7CiAgICAgfQogICAgIAogICAgIHJlcG9ydFJlc3VsdCh0aW1l
cykKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvQVJFUy02L3N0YXRzLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFBlcmZvcm1hbmNlVGVzdHMvQVJFUy02L3N0YXRzLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQ
ZXJmb3JtYW5jZVRlc3RzL0FSRVMtNi9zdGF0cy5qcwkod29ya2luZyBjb3B5KQpAQCAtOTEsMTUg
KzkxLDE1IEBAIGNsYXNzIFN0YXRzIHsKICAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMucmVzdWx0
OwogICAgICAgICAKICAgICAgICAgaWYgKCFyZXN1bHQubikKLSAgICAgICAgICAgIHJldHVybiAi
Li4uIjsKKyAgICAgICAgICAgIHJldHVybiBgPHNwYW4gY2xhc3M9InZhbHVlIj5cJiMxMDA3NDtc
JiMxMDA3NDsuXCYjMTAwNzQ7XCYjMTAwNzQ7PC9zcGFuPjxzcGFuIGNsYXNzPSJ1bml0cyI+bXM8
L3NwYW4+YDsKICAgICAgICAgCiAgICAgICAgIGlmIChyZXN1bHQubWVhbiAhPSByZXN1bHQubWVh
bikKICAgICAgICAgICAgIHJldHVybiAiRVJST1IiOwogICAgICAgICAKICAgICAgICAgaWYgKCJp
bnRlcnZhbCIgaW4gcmVzdWx0KQotICAgICAgICAgICAgcmV0dXJuIGAke3RoaXMuX3ByZWZpeH0k
e3Jlc3VsdC5tZWFuLnRvRml4ZWQoMil9IG1zICstICR7cmVzdWx0LmludGVydmFsLnRvRml4ZWQo
Mil9IG1zYDsKKyAgICAgICAgICAgIHJldHVybiBgPHNwYW4gY2xhc3M9InZhbHVlIj4ke3RoaXMu
X3ByZWZpeH0ke3Jlc3VsdC5tZWFuLnRvRml4ZWQoMil9PC9zcGFuPjxzcGFuIGNsYXNzPSJtYXJn
aW4iPiAmcGx1c21uOyR7cmVzdWx0LmludGVydmFsLnRvRml4ZWQoMil9PC9zcGFuPjxzcGFuIGNs
YXNzPSJ1bml0cyI+bXM8L3NwYW4+YDsKIAotICAgICAgICByZXR1cm4gYCR7dGhpcy5fcHJlZml4
fSR7cmVzdWx0Lm1lYW4udG9GaXhlZCgyKX0gbXNgOworICAgICAgICByZXR1cm4gYDxzcGFuIGNs
YXNzPSJ2YWx1ZSI+JHt0aGlzLl9wcmVmaXh9JHtyZXN1bHQubWVhbi50b0ZpeGVkKDIpfTwvc3Bh
bj48c3BhbiBjbGFzcz0idW5pdHMiPm1zPC9zcGFuPmA7CiAgICAgfQogICAgIAogICAgIF91cGRh
dGUoKQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9BUkVTLTYvc3R5bGVzLmNzcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0FSRVMtNi9zdHlsZXMuY3NzCShub25leGlzdGVudCkKKysr
IFBlcmZvcm1hbmNlVGVzdHMvQVJFUy02L3N0eWxlcy5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwyNDUgQEAKK2h0bWwgeworICAgIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCJI
ZWx2ZXRpY2EiLHNhbnMtc2VyaWY7CisgICAgZm9udC1zaXplOiA2Mi41JTsKKyAgICBmb250LXN5
bnRoZXNpczogbm9uZTsKK30KKworYm9keSB7CisgICAgbWFyZ2luOiAwOworICAgIGJhY2tncm91
bmQ6ICMyQzJDM0MgdXJsKCdzd29vcC5zdmcnKSBuby1yZXBlYXQ7CisgICAgYmFja2dyb3VuZC1z
aXplOiA1MHZ3OworICAgIHdpZHRoOiAxMDAlOworICAgIGZvbnQtc2l6ZTogMS42cmVtOworICAg
IGZvbnQtd2VpZ2h0OiA0MDA7CisgICAgbGluZS1oZWlnaHQ6IDEuNDsKKyAgICBjb2xvcjogIzlC
OUI5QjsKKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIHBhZGRpbmc6IDZ2dyA5dnc7
CisgICAgcGVyc3BlY3RpdmU6IDEwMDBweDsKK30KKworaGVhZGVyLAorbWFpbiwKK2Zvb3RlciB7
CisgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKKyAgICBtYXgtd2lkdGg6IDc4MHB4OworICAg
IG1hcmdpbjogMCBhdXRvOworfQorCitwIGEgeworICAgIGNvbG9yOiAjRTdCMTM1OworICAgIHRl
eHQtZGVjb3JhdGlvbjogbm9uZTsKK30KKworcCBhOmhvdmVyIHsKKyAgICB0ZXh0LWRlY29yYXRp
b246IHVuZGVybGluZTsKK30KKworLmZsaXAgeworCXRyYW5zaXRpb246IDAuNnM7CisJdHJhbnNm
b3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsKKworCXBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICBkaXNw
bGF5OiBmbGV4OworfQorCitoZWFkZXIgeworICAgIGRpc3BsYXk6IGZsZXg7CisgICAgZmxleC13
cmFwOiB3cmFwOworfQorCitoMiwKKy5pbmRpY2F0b3IgeworICAgIGZvbnQtc2l6ZTogNXJlbTsK
KyAgICBjb2xvcjogIzlCOUI5QjsKKyAgICBmb250LXdlaWdodDogNTAwOworICAgIGxpbmUtaGVp
Z2h0OiAxLjI1OworICAgIG1hcmdpbjogMDsKK30KKworcCB7CisgICAgY29sb3I6ICNmZmZmZmY7
CisgICAgZm9udC1zaXplOiAxLjhyZW07CisgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsKK30KKwor
LmFib3V0IGgyIHsKKyAgICBtYXJnaW4tdG9wOiAzcmVtOworfQorCisubG9nbyB7CisgICAgd2lk
dGg6IDMzcmVtOworICAgIGhlaWdodDogYXV0bzsKKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwor
ICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgbWFyZ2luOiAxcHggMXJlbSAxcHggMDsKKyAgICBm
b250LXNpemU6IDA7Cit9CisKKy5zdGFydCB7CisgICAgZmxleDogMTsKKyAgICBkaXNwbGF5OiBi
bG9jazsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgYmFja2dyb3VuZC1jb2xvcjogdHJh
bnNwYXJlbnQ7CisgICAgYm9yZGVyOiA1cHggc29saWQgI0U3QjEzNTsKKyAgICBmb250LXNpemU6
IDIuNHJlbTsKKyAgICBsaW5lLWhlaWdodDogNS40cmVtOworICAgIGZvbnQtd2VpZ2h0OiA2MDA7
CisgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKKyAgICBjb2xvcjogI0U3QjEzNTsKK30K
KworLnN0YXJ0LnJlYWR5IHsKKyAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1v
dXQsIGNvbG9yIDAuMnMgZWFzZS1vdXQ7CisgICAgY3Vyc29yOiBwb2ludGVyOworfQorCisuc3Rh
cnQucmVhZHk6aG92ZXIgeworICAgIGJhY2tncm91bmQtY29sb3I6ICNFN0IxMzU7CisgICAgY29s
b3I6ICMyQzJDM0M7Cit9CisKKy5zdGFydDphZnRlciB7CisgICAgY29udGVudDogJyc7CisgICAg
ZGlzcGxheTogYmxvY2s7ICAKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgcmlnaHQ6IDA7
CisgICAgdG9wOiAwOworICAgIHdpZHRoOiAwOworICAgIGhlaWdodDogMDsKKyAgICBib3JkZXIt
dG9wOiAzcmVtIHNvbGlkICNFN0IxMzU7CisgICAgYm9yZGVyLXJpZ2h0OiAwIHNvbGlkIHRyYW5z
cGFyZW50OworICAgIGJvcmRlci1ib3R0b206IDAgc29saWQgdHJhbnNwYXJlbnQ7CisgICAgYm9y
ZGVyLWxlZnQ6IDNyZW0gc29saWQgdHJhbnNwYXJlbnQ7Cit9CisKKy5zdGFydC5yZWFkeSAudGVz
dHJ1biB7CisgICAgb3BhY2l0eTogMDsKK30KKworLnRlc3RzIHsKKyAgICBkaXNwbGF5OiBmbGV4
OworICAgIGZsZXgtd3JhcDogd3JhcDsKKyAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3Vu
ZDsKK30KKworLnRlc3QgeworICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICBmbGV4OiAxOwor
ICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTc5Nzk3OworICAgIG1hcmdpbi1yaWdodDog
MXJlbTsKKyAgICBtYXJnaW4tYm90dG9tOiAzcmVtOworfQorCisub3ZlcmFsbCBoMiwKKy50ZXN0
IGgyIHsKKyAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk3OTc5NzsKK30KKworLnRlc3Qg
LmluZGljYXRvciB7CisgICAgY29sb3I6ICNFN0IxMzU7CisgICAgb3BhY2l0eTogMDsKKyAgICAK
KyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgbGVmdDogLTEuMnJlbTsKK30KKworLnRlc3Qg
LmluZGljYXRvci5ydW5uaW5nIHsKKyAgICBhbmltYXRpb246IHRlc3QtcnVubmluZyAxczsKK30K
KworQGtleWZyYW1lcyB0ZXN0LXJ1bm5pbmcgeworICAwJSAgIHsgb3BhY2l0eTogMDsgfQorICAx
MDAlICB7IG9wYWNpdHk6IDE7IH0KK30KKworLnNjb3JlIHsKKyAgICBjb2xvcjogI0U3QjEzNTsK
KyAgICBtYXJnaW46IDFyZW0gMDsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7Cit9CisKKy5zY29y
ZSBsYWJlbCB7CisgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKKyAgICBsZXR0ZXItc3Bh
Y2luZzogMC4wMnJlbTsKKyAgICBmb250LXdlaWdodDogNTAwOworICAgIGRpc3BsYXk6IGJsb2Nr
OworICAgIGxpbmUtaGVpZ2h0OiAxOworfQorCisuc2NvcmUgLnZhbHVlIHsKKyAgICBmb250LXNp
emU6IDYuNHJlbTsKKyAgICBmb250LXdlaWdodDogNjAwOworCisgICAgbGluZS1oZWlnaHQ6IDE7
CisgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKK30KKworLnNjb3JlIC51bml0cyB7CisgICAgZm9u
dC1zaXplOiA0cmVtOworICAgIGZvbnQtd2VpZ2h0OiA2MDA7CisgICAgCit9CisKKy5zY29yZSAu
bWFyZ2luIHsKKyAgICBjb2xvcjogIzlCOUI5QjsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7Cisg
ICAgZm9udC1zaXplOiAycmVtOworICAgIHRvcDogMnJlbTsKKyAgICBtYXJnaW4tbGVmdDogMC4y
cmVtOworfQorCisub3ZlcmFsbCB7CisgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsKK30KKworLm92
ZXJhbGwgLnNjb3JlICB7CisgICAgY29sb3I6ICNmZmZmZmY7Cit9CisKKy5vdmVyYWxsIC5tYXJn
aW4gIHsKKyAgICB0b3A6IDAuNXJlbTsKK30KKworLnRlc3RpbmcsIC5hYm91dCB7CisgICAgYmFj
a2dyb3VuZC1jb2xvcjogIzJDMkMzQzsKKwktd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhp
ZGRlbjsKKworCXBvc2l0aW9uOiBhYnNvbHV0ZTsKKwl0b3A6IDA7CisJbGVmdDogMDsKK30KKwor
LnRlc3RpbmcgeworICAgIHdpZHRoOiAxMDAlOworCXotaW5kZXg6IDI7CisJdHJhbnNmb3JtOiBy
b3RhdGVZKDBkZWcpOworICAgIHBhZGRpbmctYm90dG9tOiAxMHJlbTsKK30KKworLmFib3V0IHsK
Kwl0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTsKK30KKworI2Fib3V0OnRhcmdldCB7CisJdHJh
bnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7CisgICAgCit9CisKK0BtZWRpYSBvbmx5IHNjcmVlbiBh
bmQgKG1heC13aWR0aDogNzg0cHgpIHsKKyAgICAKKyAgICAubG9nbyB7CisgICAgICAgIHdpZHRo
OiAxMDAlOworICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOworICAgICAgICBtYXJnaW46IDAg
MCAxcmVtIDA7CisgICAgfQorICAgIC5zdGFydCB7CisgICAgICAgIHdpZHRoOiAxMDAlOworICAg
IH0KKyAgICAKKyAgICAudGVzdCB7CisgICAgICAgIGZsZXg6IG5vbmU7CisgICAgICAgIAorICAg
ICAgICB3aWR0aDogMTAwJTsKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJ
bmRleDogUGVyZm9ybWFuY2VUZXN0cy9BUkVTLTYvc3dvb3Auc3ZnCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBl
cmZvcm1hbmNlVGVzdHMvQVJFUy02L3N3b29wLnN2Zwkobm9uZXhpc3RlbnQpCisrKyBQZXJmb3Jt
YW5jZVRlc3RzL0FSRVMtNi9zd29vcC5zdmcJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBA
Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjYxNCIgaGVp
Z2h0PSI2MTIiIHZpZXdCb3g9IjAgMCA2MTQgNjEyIj4KKyAgICA8cG9seWdvbiBmaWxsPSIjOUI5
QjlCIiBwb2ludHM9IjEwMS44MjIgNTQuNzEzIDAgNjExLjQ3NSAwIDI0OS44NTUgOTcuMzggNDMu
MDUxIDU1OC4yMjkgMCA2MTMuOTAxIDAiLz48cG9seWdvbiBmaWxsPSIjRTdCMTM1IiBwb2ludHM9
IjkwLjI1MiAyNS4wODggMCA2NS44NzcgMCAzNi4xMDQgMCAwIDkwLjI1MiAwIDQzMi4wNzggMCIv
PgorPC9zdmc+CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9SRUFE
TUUubWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIv
UkVBRE1FLm1kCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBs
ZUJlbmNoL0Fpci9SRUFETUUubWQJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNTIgKzAsMCBAQAotIyBB
bGwgYWJvdXQgQWlyLmpzCi0KLUFpci5qcyBpcyBhbiBFUzYgYmVuY2htYXJrLiBJdCB0cmllcyB0
byBmYWl0aGZ1bGx5IHVzZSBuZXcgZmVhdHVyZXMgbGlrZSBhcnJvdwotZnVuY3Rpb25zLCBjbGFz
c2VzLCBmb3Itb2YsIGFuZCBNYXAvU2V0LCBhbW9uZyBvdGhlcnMuIEFpci5qcyBkb2Vzbid0IGF2
b2lkIGFueQotZmVhdHVyZXMgb3V0IG9mIGZlYXIgdGhhdCB0aGV5IG1pZ2h0IGJlIHNsb3csIGlu
IHRoZSBob3BlIHRoYXQgd2UgbWlnaHQgbGVhcm4KLWhvdyB0byBtYWtlIHRob3NlIGZlYXR1cmVz
IGZhc3QgYnkgbG9va2luZyBhdCBob3cgQWlyLmpzIGFuZCBvdGhlciBiZW5jaG1hcmtzCi11c2Ug
dGhlbS4KLQotVGhpcyBkb2N1bWVudHMgdGhlIG1vdGl2YXRpb24sIGRlc2lnbiwgYW5kIGxpY2Vu
c2Ugb2YgQWlyLmpzLgotCi1UbyBydW4gQWlyLmpzLCBzaW1wbHkgb3BlbiAiW0Fpci5qcy90ZXN0
Lmh0bWxdKHRlc3QuaHRtbCkiIGluIHlvdXIgYnJvd3Nlci4gSXQKLXdpbGwgb25seSBydW4gY29y
cmVjdGx5IGlmIHlvdXIgYnJvd3NlciBzdXBwb3J0cyBFUzYuCi0KLSMjIE1vdGl2YXRpb24KLQot
QXQgdGhlIHRpbWUgdGhhdCBBaXIuanMgd2FzIHdyaXR0ZW4sIG1vc3QgSmF2YVNjcmlwdCBiZW5j
aG1hcmtzIHVzZWQgRVM1IG9yCi1vbGRlciB2ZXJzaW9ucyBvZiB0aGUgbGFuZ3VhZ2UuIEVTNiB0
ZXN0aW5nIG1vc3RseSByZWxpZWQgb24gbWljcm9iZW5jaG1hcmtzIG9yCi1jb252ZXJzaW9ucyBv
ZiBleGlzdGluZyB0ZXN0cyB0byBFUzYuIFdlIHRyeSB0byB1c2UgbGFyZ2VyIGJlbmNobWFya3Mg
dG8gYXZvaWQKLW92ZXItb3B0aW1pemluZyBmb3Igc21hbGwgcGllY2VzIG9mIGNvZGUsIGFuZCB3
ZSBhdm9pZCBtYWtpbmcgY2hhbmdlcyB0bwotZXhpc3RpbmcgYmVuY2htYXJrcyBiZWNhdXNlIHRo
YXQgYXBwcm9hY2ggaGFzIG5vIGxpbWl0aW5nIHByaW5jaXBsZTogaWYgaXQncyBPSwotdG8gY2hh
bmdlIGEgYmVuY2htYXJrIHRvIHVzZSBhIGZlYXR1cmUsIGRvZXMgdGhhdCBtZWFuIHdlIGNhbiBh
bHNvIGNoYW5nZSBpdCB0bwotcmVtb3ZlIHRoZSB1c2Ugb2YgYSBmZWF0dXJlIHdlIGRvbid0IGxp
a2U/IFdlIGZlZWwgdGhhdCB0aGUgYmVzdCB3YXkgdG8gYXZvaWQKLWZhbGxpbmcgaW50byB0aGUg
dHJhcCBvZiBjcmVhdGluZyBiZW5jaG1hcmtzIHRoYXQgcmVpbmZvcmNlIHdoYXQgc29tZSBKUyBl
bmdpbmUKLWlzIGFscmVhZHkgZ29vZCBhdCBpcyB0byBjcmVhdGUgYSBuZXcgYmVuY2htYXJrIGZy
b20gZmlyc3QgcHJpbmNpcGxlcy4KLQotV2Ugb25seSByZWNlbnRseSBjb21wbGV0ZWQgb3VyIG5l
dyBKYXZhU2NyaXB0IGNvbXBpbGVyLCBjYWxsZWQKLVtCM10oaHR0cHM6Ly93ZWJraXQub3JnL2Js
b2cvNTg1Mi9pbnRyb2R1Y2luZy10aGUtYjMtaml0LWNvbXBpbGVyLykuIEIzJ3MKLWJhY2tlbmQs
IGNhbGxlZAotW0Fpcl0oaHR0cHM6Ly93ZWJraXQub3JnL2RvY3MvYjMvYXNzZW1ibHktaW50ZXJt
ZWRpYXRlLXJlcHJlc2VudGF0aW9uLmh0bWwpLCBpcwotdmVyeSBDUFUtaW50ZW5zaXZlIGFuZCB1
c2VzIGEgY29tYmluYXRpb24gb2Ygb2JqZWN0LW9yaWVudGVkIGFuZCBmdW5jdGlvbmFsCi1pZGlv
bXMgaW4gQysrLiBBZGRpdGlvYWxseSwgaXQgcmVsaWVzIGhlYXZpbHkgb24gaGlnaCBzcGVlZCBt
YXBzIGFuZCBzZXRzLiBJdAotZ29lcyBzbyBmYXIgYXMgdG8gdXNlIGN1c3RvbWl6ZWQgbWFwL3Nl
dCBpbXBsZW1lbnRhdGlvbnMgLSBldmVuIG1vcmUgc28gdGhhbgotdGhlIHJlc3Qgb2YgV2ViS2l0
LiBUaGlzIG1ha2VzIEFpciBhIGdyZWF0IGNhbmRpZGF0ZSBmb3IgRVM2IGJlbmNobWFya2luZy4K
LUFpci5qcyBpcyBhIGZhaXRoZnVsIEVTNiBpbXBsZW1lbnRhdGlvbiBvZiBBaXIuIEl0IHB1bGxz
IG5vIHB1bmNoZXM6IGp1c3QgYXMKLXRoZSBvcmlnaW5hbCBDKysgQWlyIHdhcyB3cml0dGVuIHdp
dGggZXhwcmVzc2l2ZW5lc3MgYXMgYSB0b3AgcHJpb3JpdHksIEFpci5qcwotaXMgbGliZXJhbCBp
biBpdHMgdXNlIG9mIG1vZGVybiBFUzYgaWRpb21zIHdoZW5ldmVyIHRoaXMgaGVscHMgbWFrZSB0
aGUgY29kZQotbW9yZSByZWFkYWJsZS4gVW5saWtlIHRoZSBvcmlnaW5hbCBDKysgQWlyLCBBaXIu
anMgZG9lc24ndCBleHBsb2l0IGEgZGVlcAotdW5kZXJzdGFuZGluZyBvZiBjb21waWxlcnMgdG8g
bWFrZSB0aGUgY29kZSBlYXN5IHRvIGNvbXBpbGUuCi0KLSMjIERlc2lnbgotCi1BaXIuanMgcnVu
cyBvbmUgb2YgdGhlIG1vcmUgZXhwZW5zaXZlIEFpciBwaGFzZXMsIEFpcjo6YWxsb2NhdGVTdGFj
aygpLiBUaGlzCi10dXJucyBhYnN0cmFjdCBzdGFjayByZWZlcmVuY2VzIGludG8gY29uY3JldGUg
c3RhY2sgcmVmZXJlbmNlcywgYnkgc2VsZWN0aW5nCi1ob3cgdG8gbGF5IG91dCBzdGFjayBzbG90
cyBpbiB0aGUgc3RhY2sgZnJhbWUuIFRoaXMgcmVxdWlyZXMgbGl2ZW5lc3MgYW5hbHlzaXMKLWFu
ZCBhbiBpbnRlcmZlcmVuY2UgZ3JhcGguCi0KLUFpci5qcyByZWxpZXMgb24gdGhyZWUgbWFqb3Ig
RVM2IGZlYXR1cmVzIG1vcmUgc28gdGhhbiBtb3N0IG9mIHRoZSBvdGhlcnM6Ci0KLS0gQXJyb3cg
ZnVuY3Rpb25zLiBMaWtlIHRoZSBDKysgQWlyLCBBaXIuanMgdXNlcyBhIGZ1bmN0aW9uYWwgc3R5
bGUgb2YKLSAgaXRlcmF0aW5nIG1vc3Qgbm9uLXRyaXZpYWwgZGF0YS1zdHJ1Y3R1cmVzOgotCi0g
ICAgICAgIGluc3QuZm9yRWFjaEFyZygoYXJnLCByb2xlLCB0eXBlLCB3aWR0aCkgPT4gLi4uKQot
ICAKLSAgVGhpcyBpcyBiZWNhdXNlIHRoZSBmdW5jdGlvbmFsIHN0eWxlIGFsbG93cyB0aGUgY2Fs
bGJhY2tzIHRvIG11dGF0ZSB0aGUgZGF0YQotICBiZWluZyBpdGVyYXRlZDogaWYgdGhlIGNhbGxi
YWNrIHJldHVybnMgYSBub24tbnVsbCB2YWx1ZSwgZm9yRWFjaEFyZygpIHdpbGwKLSAgcmVwbGFj
ZSB0aGUgYXJndW1lbnQgd2l0aCB0aGF0IHZhbHVlLiBUaGlzIHdvdWxkIG5vdCBoYXZlIGJlZW4g
cG9zc2libGUgd2l0aAotICBmb3Itb2YuCi0KLS0gRm9yLW9mLiBNYW55IEFpciBkYXRhIHN0cnVj
dHVyZXMgYXJlIGFtZW5hYmxlIHRvIGZvci1vZiBpdGVyYXRpb24uIFdoaWxlIHRoZQotICBpbm5l
cm1vc3QgbG9vcHMgdGVuZCB0byB1c2UgZnVuY3Rpb25hbCBpdGVyYXRpb24sIHByZXR0eSBtdWNo
IGFsbCBvZiB0aGUKLSAgb3V0ZXIgbG9naWMgdXNlcyBmb3Itb2YgaGVhdmlseS4gRm9yIGV4YW1w
bGU6Ci0KLSAgICAgICAgZm9yIChsZXQgYmxvY2sgb2YgY29kZSkgLy8gSXRlcmF0ZSBvdmVyIHRo
ZSBiYXNpYyBibG9ja3MKLSAgICAgICAgICAgIGZvciAobGV0IGluc3Qgb2YgYmxvY2spIC8vIEl0
ZXJhdGUgb3ZlciB0aGUgaW5zdHJ1Y3Rpb25zIGluIGEgYmxvY2sKLSAgICAgICAgICAgICAgICAu
Li4KLQotLSBNYXAvU2V0LiBUaGUgbGl2ZW5lc3MgYW5hbHlzaXMgYW5kIEFpcjo6YWxsb2NhdGVT
dGFjaygpIHJlbHkgb24gbWFwcyBhbmQKLSAgc2V0cy4gRm9yIGV4YW1wbGUsIHdlIHVzZSBhIGxp
dmVBdEhlYWQgbWFwIHRoYXQgaXMga2V5ZWQgYnkgYmFzaWMgYmxvY2suIEl0cwotICB2YWx1ZXMg
YXJlIHNldHMgb2YgbGl2ZSBzdGFjayBzbG90cy4gVGhpcyBpcyBhIHJlbGF0aXZlbHkgY3J1ZGUg
d2F5IG9mIGRvaW5nCi0gIGxpdmVuZXNzLCBidXQgaXQgaXMgZXhhY3RseSBob3cgdGhlIG9yaWdp
bmFsIEFpcjo6TGl2ZW5lc3NBbmFseXNpcyB3b3JrZWQsIHNvCi0gIHdlIHZpZXcgaXQgYXMgYmVp
bmcgcXVpdGUgZmFpdGhmdWwgdG8gaG93IGEgc2Vuc2libGUgcHJvZ3JhbW1lciBtaWdodCB1c2Ug
TWFwCi0gIGFuZCBTZXQuCi0KLUFpci5qcyBhbHNvIHVzZXMgc29tZSBvdGhlciBFUzYgZmVhdHVy
ZXMuIEZvciBleGFtcGxlLCBpdCB1c2VzIGEgUHJveHkKLWluIG9uZSBwbGFjZSwgdGhvdWdoIHdl
IGRvdWJ0IHRoYXQgaXQncyBvbiBhIGNyaXRpY2FsIHBhdGguIEFpci5qcyB1c2VzIGNsYXNzZXMK
LWFuZCBsZXQvY29uc3QgZXh0ZW5zaXZlbHksIGFzIHdlbGwgYSBzeW1ib2xzLiBTeW1ib2xzIGFy
ZSB1c2VkIGFzIGVudW1lcmF0aW9uCi1lbGVtZW50cywgYW5kIHNvIHRoZXkgZnJlcXVlbnRseSBz
aG93IHVwIGFzIGNhc2VzIGluIHN3aXRjaCBzdGF0ZW1lbnRzLgotCi1UaGUgd29ya2Zsb3cgb2Yg
YW4gQWlyLmpzIHJ1biBpcyBwcmV0dHkgc2ltcGxlOiB3ZSBkbyAxNTAgcnVucyBvZiBhbGxvY2F0
ZVN0YWNrCi1vbiBmb3VyIElSIHBheWxvYWRzLgotCi1FYWNoIElSIHBheWxvYWQgaXMgYSBsYXJn
ZSBwaWVjZSBvZiBFUzYgY29kZSB0aGF0IGNvbnN0cnVjdHMgYW4gQWlyLmpzIENvZGUKLW9iamVj
dCwgY29tcGxldGUgd2l0aCBibG9ja3MsIHRlbXBvcmFyaWVzLCBzdGFjayBzbG90cywgYW5kIGlu
c3RydWN0aW9ucy4gVGhlc2UKLXBheWxvYWRzIGFyZSBnZW5lcmF0ZWQgYnkgcnVubmluZyBBaXI6
OmR1bXBBc0pTKCkgcGhhc2UganVzdCBwcmlvciB0byB0aGUKLW5hdGl2ZSBhbGxvY2F0ZVN0YWNr
IHBoYXNlIG9uIHRoZSBsYXJnZXN0IGhvdCBmdW5jdGlvbiBpbiBmb3VyIG1ham9yIEpTCi1iZW5j
aG1hcmtzIGFjY29yZGluZyB0byBKYXZhU2NyaXB0Q29yZSdzIGludGVybmFsIHByb2ZpbGluZzoK
LQotLSBPY3RhbmUvR0JFbXUsIHRoZSBleGVjdXRlSXRlcmF0aW9uIGZ1bmN0aW9uLgotLSBLcmFr
ZW4vaW1hZ2luZy1nYXVzc2lhbi1ibHVyLCB0aGUgZ2F1c3NpYW5CbHVyIGZ1bmN0aW9uLgotLSBP
Y3RhbmUvVHlwZXNjcmlwdCwgdGhlIHNjYW5JZGVudGlmaWVyIGZ1bmN0aW9uLAotLSBBaXIuanMs
IGFuIGFub255bW91cyBjbG9zdXJlIGlkZW50aWZpZWQgYnkgb3VyIHByb2ZpbGVyIGFzIEFDTGo4
Qy4KLQotVGhlc2UgcGF5bG9hZHMgYWxsb3cgQWlyLmpzIHRvIHByZWNpc2VseSByZXBsYXkgYWxs
b2NhdGVTdGFjayBvbiB0aG9zZSBhY3R1YWwKLWZ1bmN0aW9ucy4KLQotSXQgd2FzIGFuIGEgcHJp
b3JpIGdvYWwgb2YgQWlyLmpzIHRvIHNwZW5kIG1vc3Qgb2YgdGhlIHRpbWUgaW4gdGhlCi1hbGxv
Y2F0ZVN0YWNrIHBoYXNlLiBUaGlzIGlzIGEgZmFpdGhmdWwgcmVwcm9kdWN0aW9uIG9mIHRoZSBD
KysgYWxsb2NhdGVTdGFjawotcGhhc2UsIGluY2x1ZGluZyBpdHMgdXNlIG9mIGFuIGFic3RyYWN0
IGxpdmVuZXNzIGFuYWx5c2lzLiBJdCdzIGFic3RyYWN0IGluIHRoZQotc2Vuc2UgdGhhdCB0aGUg
c2FtZSBsaXZlbmVzcyBhbGdvcml0aG0gY2FuIGJlIHJldXNlZCBmb3IgdGVtcG9yYXJpZXMsCi1y
ZWdpc3RlcnMsIG9yIHN0YWNrIHNsb3RzLiBJbiBDKysgdGhpcyBtZWFudCB1c2luZyB0ZW1wbGF0
ZXMsIHdoaWxlIGluIEVTNiBpdAotbWVhbnMgbW9yZSBydW4tdGltZSBkeW5hbWljIGRpc3BhdGNo
LgotCi1FYWNoIElSIHBheWxvYWQgaXMgZXhlY3V0YWJsZSBjb2RlIHRoYXQgYWxsb2NhdGVzIHRo
ZSBJUiwgYW5kIGFib3V0IDE1JSBvZgotYmVuY2htYXJrIGV4ZWN1dGlvbiB0aW1lIGlzIHNwZW50
IGluIHRoYXQgY29kZS4gVGhpcyBpcyBzaWduaWZpY2FudCwgYnV0IGhhdmluZwotbGVhcm5lZCB0
aGlzLCB3ZSBkb24ndCBmZWVsIHRoYXQgaXQgd291bGQgYmUgaG9uZXN0IHRvIHRyeSB0byBjaGFu
Z2UgdGhlCi1lZmZpY2llbmN5IG9mIHBheWxvYWQgaW5pdGlhbGl6YXRpb24uIFdoYXQgaWYgdGhl
IHBheWxvYWQgaW5pdGlhbGl6YXRpb24gd2FzCi1tb3JlIGV4cGVuc2l2ZSBvbiBvdXIgZW5naW5l
IHRoYW4gb3RoZXJzPyBJZiBpdCB3YXMsIHRoZW4gc3VjaCBhIGNoYW5nZSB3b3VsZAotbm90IGJl
IGZhaXIuCi0KLUFpci5qcyB2YWxpZGF0ZXMgaXRzIHJlc3VsdHMuIFdlIGFkZGVkIGEgQ29kZSBo
YXNoaW5nIGNhcGFiaWxpdHkgdG8gYm90aCB0aGUKLUMrKyBBaXIgYW5kIEFpci5qcywgYW5kIHdl
IGFzc2VydCBlYWNoIHBheWxvYWQgbG9va3MgaWRlbnRpY2FsIGFmdGVyCi1hbGxvY2F0ZVN0YWNr
IHRvIHdoYXQgaXQgd291bGQgaGF2ZSBsb29rZWQgbGlrZSBhZnRlciB0aGUgb3JpZ2luYWwgQysr
Ci1hbGxvY2F0ZVN0YWNrLiBXZSBhbHNvIHZhbGlkYXRlIHRoYXQgcGF5bG9hZHMgaGFzaCBwcm9w
ZXJseSBiZWZvcmUKLWFsbGNvYXRlU3RhY2ssIHRvIGhlbHAgY2F0Y2ggYnVncyBkdXJpbmcgcGF5
bG9hZCBpbml0aWFsaXphdGlvbi4gV2UgaGF2ZSBub3QKLW1lYXN1cmVkIGhvdyBsb25nIGhhc2hp
bmcgdGFrZXMsIGJ1dCBpdCdzIGEgTyhOKSBvcGVyYXRpb24sIHdoaWxlIGFsbG9jYXRlU3RhY2sK
LWlzIGNsb3NlciB0byBPKE5eMikuIFdlIHN1c3BlY3QgdGhhdCBiYXJyaW5nIHNvbWUgZW5naW5l
IHBhdGhvbG9naWVzLCBoYXNoaW5nCi1zaG91bGQgYmUgbXVjaCBmYXN0ZXIgdGhhbiBhbGxvY2F0
ZVN0YWNrLCBhbmQgYWxsb2NhdGVTdGFjayBzaG91bGQgYmUgd2hlcmUgdGhlCi1idWxrIG9mIHRp
bWUgaXMgc3BlbnQuCi0KLSMjIExpY2Vuc2UKLQotQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLQotUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci1tb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLWFyZSBtZXQ6
Ci0KLTEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0KLTIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotCi1USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKLUVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi1JTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLVBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi1DT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLUVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLVBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0oSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLU9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAotCi0jIyBTdW1tYXJ5Ci0KLUF0IHRoZSB0aW1lIHRoYXQgQWlyLmpzIHdhcyB3cml0dGVu
LCB3ZSB3ZXJlbid0IGhhcHB5IHdpdGggdGhlIEVTNiBiZW5jaG1hcmtzCi10aGF0IHdlcmUgYXZh
aWxhYmxlIHRvIHVzLiBBaXIuanMgdXNlcyBzb21lIEVTNiBmZWF0dXJlcyBpbiBhbmdlciwgaW4g
dGhlIGhvcGUKLXRoYXQgd2UgY2FuIGxlYXJuIGFib3V0IHBvc3NpYmxlIG9wdGltaXphdGlvbiBz
dHJhdGVnaWVzIGJ5IGxvb2tpbmcgYXQgdGhpcyBhbmQKLW90aGVyIGJlbmNobWFya3MuCkluZGV4
OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9haXJqcy10ZXN0cy55YW1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2FpcmpzLXRl
c3RzLnlhbWwJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxl
QmVuY2gvQWlyL2FpcmpzLXRlc3RzLnlhbWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyOCArMCwwIEBA
Ci0jIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0j
Ci0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSMgYXJlIG1ldDoKLSMKLSMgMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0j
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuIAotIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uIAotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQotIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0jIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKLSMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQotIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotIyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7Ci0jIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAotIyBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YKLSMgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotLSBwYXRoOiAuCi0gIHRlc3RzOgot
ICAgIC0gc3RyZXNzLXRlc3QuanMKLSAgY21kOiBkZWZhdWx0UnVuTm9pc3lUZXN0IHVubGVzcyBw
YXJzZVJ1bkNvbW1hbmRzCi0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gv
QWlyL2FsbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNo
L0Fpci9hbGwuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2Ft
cGxlQmVuY2gvQWlyL2FsbC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDE4ICswLDAgQEAKLSJ1c2Ug
c3RyaWN0IjsKLQotbG9hZCgic3ltYm9scy5qcyIpOwotbG9hZCgidG1wX2Jhc2UuanMiKTsKLWxv
YWQoImFyZy5qcyIpOwotbG9hZCgiYmFzaWNfYmxvY2suanMiKTsKLWxvYWQoImNvZGUuanMiKTsK
LWxvYWQoImZyZXF1ZW50ZWRfYmxvY2suanMiKTsKLWxvYWQoImluc3QuanMiKTsKLWxvYWQoIm9w
Y29kZS5qcyIpOwotbG9hZCgicmVnLmpzIik7Ci1sb2FkKCJzdGFja19zbG90LmpzIik7Ci1sb2Fk
KCJ0bXAuanMiKTsKLWxvYWQoInV0aWwuanMiKTsKLWxvYWQoImN1c3RvbS5qcyIpOwotbG9hZCgi
bGl2ZW5lc3MuanMiKTsKLWxvYWQoImluc2VydGlvbl9zZXQuanMiKTsKLWxvYWQoImFsbG9jYXRl
X3N0YWNrLmpzIik7CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9h
bGxvY2F0ZV9zdGFjay5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBs
ZUJlbmNoL0Fpci9hbGxvY2F0ZV9zdGFjay5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9y
bWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvYWxsb2NhdGVfc3RhY2suanMJKG5vbmV4aXN0
ZW50KQpAQCAtMSwyNTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1mdW5jdGlvbiBhbGxvY2F0ZVN0YWNrKGNvZGUp
Ci17Ci0gICAgaWYgKGNvZGUuZnJhbWVTaXplKQotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkZy
YW1lIHNpemUgYWxyZWFkeSBkZXRlcm1pbmVkIik7Ci0gICAgCi0gICAgZnVuY3Rpb24gYXR0ZW1w
dEFzc2lnbm1lbnQoc2xvdCwgb2Zmc2V0RnJvbUZQLCBvdGhlclNsb3RzKQotICAgIHsKLSAgICAg
ICAgaWYgKG9mZnNldEZyb21GUCA+IDApCi0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4
cGVjdCBuZWdhdGl2ZSBvZmZzZXQiKTsKLSAgICAgICAgCi0gICAgICAgIG9mZnNldEZyb21GUCA9
IC1yb3VuZFVwVG9NdWx0aXBsZU9mKHNsb3QuYWxpZ25tZW50LCAtb2Zmc2V0RnJvbUZQKTsKLSAg
ICAgICAgCi0gICAgICAgIGZvciAobGV0IG90aGVyU2xvdCBvZiBvdGhlclNsb3RzKSB7Ci0gICAg
ICAgICAgICBpZiAoIW90aGVyU2xvdC5vZmZzZXRGcm9tRlApCi0gICAgICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgICAgICBsZXQgb3ZlcmxhcCA9IHJhbmdlc092ZXJsYXAoCi0gICAgICAg
ICAgICAgICAgb2Zmc2V0RnJvbUZQLAotICAgICAgICAgICAgICAgIG9mZnNldEZyb21GUCArIHNs
b3QuYnl0ZVNpemUsCi0gICAgICAgICAgICAgICAgb3RoZXJTbG90Lm9mZnNldEZyb21GUCwKLSAg
ICAgICAgICAgICAgICBvdGhlclNsb3Qub2Zmc2V0RnJvbUZQICsgb3RoZXJTbG90LmJ5dGVTaXpl
KTsKLSAgICAgICAgICAgIGlmIChvdmVybGFwKQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgc2xvdC5zZXRPZmZzZXRGcm9tRlAob2Zm
c2V0RnJvbUZQKTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0
aW9uIGFzc2lnbihzbG90LCBvdGhlclNsb3RzKQotICAgIHsKLSAgICAgICAgaWYgKGF0dGVtcHRB
c3NpZ25tZW50KHNsb3QsIC1zbG90LmJ5dGVTaXplLCBvdGhlclNsb3RzKSkKLSAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgCi0gICAgICAgIGZvciAobGV0IG90aGVyU2xvdCBvZiBvdGhlclNs
b3RzKSB7Ci0gICAgICAgICAgICBpZiAoIW90aGVyU2xvdC5vZmZzZXRGcm9tRlApCi0gICAgICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBpZiAoYXR0ZW1wdEFzc2lnbm1lbnQoc2xv
dCwgb3RoZXJTbG90Lm9mZnNldEZyb21GUCAtIHNsb3QuYnl0ZVNpemUsIG90aGVyU2xvdHMpKQot
ICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCJBc3NpZ25tZW50IGZhaWxlZCIpOwotICAgIH0KLSAgICAKLSAgICAvLyBB
bGxvY2F0ZSBhbGwgb2YgdGhlIGVzY2FwZWQgc2xvdHMgaW4gb3JkZXIuIFRoaXMgaXMga2luZCBv
ZiBhIGNyYXp5IGFsZ29yaXRobSB0byBhbGxvdyBmb3IKLSAgICAvLyB0aGUgcG9zc2liaWxpdHkg
b2Ygc3RhY2sgc2xvdHMgYmVpbmcgYXNzaWduZWQgZnJhbWUgb2Zmc2V0cyBiZWZvcmUgd2UgZXZl
biBnZXQgaGVyZS4KLSAgICBsZXQgYXNzaWduZWRFc2NhcGVkU3RhY2tTbG90cyA9IFtdOwotICAg
IGxldCBlc2NhcGVkU3RhY2tTbG90c1dvcmtsaXN0ID0gW107Ci0gICAgZm9yIChsZXQgc2xvdCBv
ZiBjb2RlLnN0YWNrU2xvdHMpIHsKLSAgICAgICAgaWYgKHNsb3QuaXNMb2NrZWQpIHsKLSAgICAg
ICAgICAgIGlmIChzbG90Lm9mZnNldEZyb21GUCkKLSAgICAgICAgICAgICAgICBhc3NpZ25lZEVz
Y2FwZWRTdGFja1Nsb3RzLnB1c2goc2xvdCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAg
ICAgICAgZXNjYXBlZFN0YWNrU2xvdHNXb3JrbGlzdC5wdXNoKHNsb3QpOwotICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgaWYgKHNsb3Qub2Zmc2V0RnJvbUZQKQotICAgICAgICAgICAgICAg
IHRocm93IG5ldyBFcnJvcigiT2Zmc2V0IGFscmVhZHkgYXNzaWduZWQiKTsKLSAgICAgICAgfQot
ICAgIH0KLSAgICAKLSAgICAvLyBUaGlzIGlzIGEgZmFpcmx5IGVzcGVuc2l2ZSBsb29wLCBidXQg
aXQncyBPSyBiZWNhdXNlIHdlJ2xsIHVzdWFsbHkgb25seSBoYXZlIGEgaGFuZGZ1bCBvZgotICAg
IC8vIGVzY2FwZWQgc3RhY2sgc2xvdHMuCi0gICAgd2hpbGUgKGVzY2FwZWRTdGFja1Nsb3RzV29y
a2xpc3QubGVuZ3RoKSB7Ci0gICAgICAgIGxldCBzbG90ID0gZXNjYXBlZFN0YWNrU2xvdHNXb3Jr
bGlzdC5wb3AoKTsKLSAgICAgICAgYXNzaWduKHNsb3QsIGFzc2lnbmVkRXNjYXBlZFN0YWNrU2xv
dHMpOwotICAgICAgICBhc3NpZ25lZEVzY2FwZWRTdGFja1Nsb3RzLnB1c2goc2xvdCk7Ci0gICAg
fQotICAgIAotICAgIC8vIE5vdyB3ZSBoYW5kbGUgdGhlIHNwaWxsIHNsb3RzLgotICAgIGxldCBs
aXZlbmVzcyA9IG5ldyBMaXZlbmVzcyhTdGFja1Nsb3QsIGNvZGUpOwotICAgIGxldCBpbnRlcmZl
cmVuY2UgPSBuZXcgTWFwKCk7Ci0gICAgZm9yIChsZXQgc2xvdCBvZiBjb2RlLnN0YWNrU2xvdHMp
Ci0gICAgICAgIGludGVyZmVyZW5jZS5zZXQoc2xvdCwgbmV3IFNldCgpKTsKLSAgICBsZXQgc2xv
dHMgPSBbXTsKLSAgICAKLSAgICBmb3IgKGxldCBibG9jayBvZiBjb2RlKSB7Ci0gICAgICAgIGxl
dCBsb2NhbENhbGMgPSBsaXZlbmVzcy5sb2NhbENhbGMoYmxvY2spOwotICAgICAgICAKLSAgICAg
ICAgZnVuY3Rpb24gaW50ZXJmZXJlKGluc3RJbmRleCkKLSAgICAgICAgewotICAgICAgICAgICAg
SW5zdC5mb3JFYWNoRGVmKAotICAgICAgICAgICAgICAgIFN0YWNrU2xvdCwgYmxvY2suZ2V0KGlu
c3RJbmRleCksIGJsb2NrLmdldChpbnN0SW5kZXggKyAxKSwKLSAgICAgICAgICAgICAgICAoc2xv
dCwgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFzbG90
LmlzU3BpbGwpCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAg
ICAgICAgIAotICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBvdGhlclNsb3Qgb2YgbG9jYWxD
YWxjLmxpdmVTZXQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGludGVyZmVyZW5jZS5nZXQo
c2xvdCkuYWRkKG90aGVyU2xvdCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmZlcmVu
Y2UuZ2V0KG90aGVyU2xvdCkuYWRkKHNsb3QpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZvciAobGV0IGlu
c3RJbmRleCA9IGJsb2NrLnNpemU7IGluc3RJbmRleC0tOykgewotICAgICAgICAgICAgLy8gS2ls
bCBkZWFkIHN0b3Jlcy4gRm9yIHNpbXBsaWNpdHkgd2Ugc2F5IHRoYXQgYSBzdG9yZSBpcyBraWxs
YWJsZSBpZiBpdCBoYXMgb25seSBsYXRlCi0gICAgICAgICAgICAvLyBkZWZzIGFuZCB0aG9zZSBs
YXRlIGRlZnMgYXJlIHRvIHRoaW5ncyB0aGF0IGFyZSBkZWFkIHJpZ2h0IG5vdy4gV2Ugb25seSBk
byB0aGF0Ci0gICAgICAgICAgICAvLyBiZWNhdXNlIHRoYXQncyB0aGUgb25seSBraW5kIG9mIGRl
YWQgc3RhY2sgc3RvcmUgd2Ugd2lsbCBzZWUgaGVyZS4KLSAgICAgICAgICAgIGxldCBpbnN0ID0g
YmxvY2suYXQoaW5zdEluZGV4KTsKLSAgICAgICAgICAgIGlmICghaW5zdC5oYXNOb25BcmdFZmZl
Y3RzKSB7Ci0gICAgICAgICAgICAgICAgbGV0IG9rID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBp
bnN0LmZvckVhY2hBcmcoKGFyZywgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKEFyZy5pc0Vhcmx5RGVmKHJvbGUpKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBvayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGlmICghQXJnLmlzTGF0ZURlZihy
b2xlKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKCFhcmcuaXNTdGFjaykgewotICAgICAgICAgICAgICAgICAgICAgICAgb2sgPSBmYWxz
ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgbGV0IHNsb3QgPSBh
cmcuc3RhY2tTbG90OwotICAgICAgICAgICAgICAgICAgICBpZiAoIXNsb3QuaXNTcGlsbCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgb2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAK
LSAgICAgICAgICAgICAgICAgICAgaWYgKGxvY2FsQ2FsYy5saXZlU2V0LmhhcyhzbG90KSkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgb2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgICAgIGlmIChvaykKLSAgICAgICAgICAgICAgICAgICAgaW5zdC5jbGVhcigp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBpbnRlcmZlcmUoaW5z
dEluZGV4KTsKLSAgICAgICAgICAgIGxvY2FsQ2FsYy5leGVjdXRlKGluc3RJbmRleCk7Ci0gICAg
ICAgIH0KLSAgICAgICAgaW50ZXJmZXJlKC0xKTsKLSAgICAgICAgCi0gICAgICAgIHJlbW92ZUFs
bE1hdGNoaW5nKGJsb2NrLmluc3RzLCBpbnN0ID0+IGluc3Qub3Bjb2RlID09IE5vcCk7Ci0gICAg
fQotICAgIAotICAgIC8vIE5vdyB3ZSBhc3NpZ24gc3RhY2sgbG9jYXRpb25zLiBBdCBpdHMgaGVh
cnQgdGhpcyBhbGdvcml0aG0gaXMganVzdCBmaXJzdC1maXQuIEZvciBlYWNoCi0gICAgLy8gU3Rh
Y2tTbG90IHdlIGp1c3Qgd2FudCB0byBmaW5kIHRoZSBvZmZzZXRGcm9tRlAgdGhhdCBpcyBjbG9z
ZXN0IHRvIHplcm8gd2hpbGUgZW5zdXJpbmcgbm8KLSAgICAvLyBvdmVybGFwIHdpdGggb3RoZXIg
U3RhY2tTbG90cyB0aGF0IHRoaXMgb3ZlcmxhcHMgd2l0aC4KLSAgICBmb3IgKGxldCBzbG90IG9m
IGNvZGUuc3RhY2tTbG90cykgewotICAgICAgICBpZiAoc2xvdC5vZmZzZXRGcm9tRlApCi0gICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgCi0gICAgICAgIGFzc2lnbihzbG90LCBhc3NpZ25l
ZEVzY2FwZWRTdGFja1Nsb3RzLmNvbmNhdChBcnJheS5mcm9tKGludGVyZmVyZW5jZS5nZXQoc2xv
dCkpKSk7Ci0gICAgfQotICAgIAotICAgIC8vIEZpZ3VyZSBvdXQgaG93IG11Y2ggc3RhY2sgd2Un
cmUgdXNpbmcgZm9yIHN0YWNrIHNsb3RzLgotICAgIGxldCBmcmFtZVNpemVGb3JTdGFja1Nsb3Rz
ID0gMDsKLSAgICBmb3IgKGxldCBzbG90IG9mIGNvZGUuc3RhY2tTbG90cykgewotICAgICAgICBm
cmFtZVNpemVGb3JTdGFja1Nsb3RzID0gTWF0aC5tYXgoCi0gICAgICAgICAgICBmcmFtZVNpemVG
b3JTdGFja1Nsb3RzLAotICAgICAgICAgICAgLXNsb3Qub2Zmc2V0RnJvbUZQKTsKLSAgICB9Ci0g
ICAgCi0gICAgZnJhbWVTaXplRm9yU3RhY2tTbG90cyA9IHJvdW5kVXBUb011bHRpcGxlT2Yoc3Rh
Y2tBbGlnbm1lbnRCeXRlcywgZnJhbWVTaXplRm9yU3RhY2tTbG90cyk7Ci0KLSAgICAvLyBObyB3
ZSBuZWVkIHRvIGRlZHVjZSBob3cgbXVjaCBhcmd1bWVudCBhcmVhIHdlIG5lZWQuCi0gICAgZm9y
IChsZXQgYmxvY2sgb2YgY29kZSkgewotICAgICAgICBmb3IgKGxldCBpbnN0IG9mIGJsb2NrKSB7
Ci0gICAgICAgICAgICBmb3IgKGxldCBhcmcgb2YgaW5zdC5hcmdzKSB7Ci0gICAgICAgICAgICAg
ICAgaWYgKGFyZy5pc0NhbGxBcmcpIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gRm9yIG5vdywg
d2UgYXNzdW1lIHRoYXQgd2UgdXNlIDggYnl0ZXMgb2YgdGhlIGNhbGwgYXJnLiBCdXQgdGhhdCdz
IG5vdAotICAgICAgICAgICAgICAgICAgICAvLyBzdWNoIGFuIGF3ZXNvbWUgYXNzdW1wdGlvbi4K
LSAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTA0NTQKLSAgICAgICAgICAgICAgICAgICAgaWYgKGFyZy5vZmZzZXQg
PCAwKQotICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJEaWQgbm90IGV4
cGVjdCBuZWdhdGl2ZSBvZmZzZXQgZm9yIGNhbGxBcmciKTsKLSAgICAgICAgICAgICAgICAgICAg
Y29kZS5yZXF1ZXN0Q2FsbEFyZ0FyZWFTaXplKGFyZy5vZmZzZXQgKyA4KTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgY29kZS5z
ZXRGcmFtZVNpemUoZnJhbWVTaXplRm9yU3RhY2tTbG90cyArIGNvZGUuY2FsbEFyZ0FyZWFTaXpl
KTsKLSAgICAKLSAgICAvLyBGaW5hbGx5IHRyYW5zZm9ybSB0aGUgY29kZSB0byB1c2UgQWRkcnMg
aW5zdGVhZCBvZiBTdGFja1Nsb3RzLiBUaGlzIGlzIGEgbG9zc2xlc3MKLSAgICAvLyB0cmFuc2Zv
cm1hdGlvbiBzaW5jZSB3ZSBjYW4gc2VhcmNoIHRoZSBTdGFja1Nsb3RzIGFycmF5IHRvIGZpZ3Vy
ZSBvdXQgd2hpY2ggU3RhY2tTbG90IGFueQotICAgIC8vIG9mZnNldC1mcm9tLUZQIHJlZmVycyB0
by4KLQotICAgIC8vIEZJWE1FOiBUaGlzIG1heSBwcm9kdWNlIGFkZHJlc3NlcyB0aGF0IGFyZW4n
dCB2YWxpZCBpZiB3ZSBlbmQgdXAgd2l0aCBhIGdpbm9ybW91cyBzdGFjayBmcmFtZS4KLSAgICAv
LyBXZSB3b3VsZCBoYXZlIHRvIHNjYXZlbmdlIGZvciB0ZW1wb3JhcmllcyBpZiB0aGlzIGhhcHBl
bmVkLiBGb3J0dW5hdGVseSwgdGhpcyBjYXNlIHdpbGwgYmUKLSAgICAvLyBleHRyZW1lbHkgcmFy
ZSBzbyB3ZSBjYW4gZG8gY3JhenkgdGhpbmdzIHdoZW4gaXQgYXJpc2VzLgotICAgIC8vIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI1MzAKLSAgICAKLSAgICBsZXQg
aW5zZXJ0aW9uU2V0ID0gbmV3IEluc2VydGlvblNldCgpOwotICAgIGZvciAobGV0IGJsb2NrIG9m
IGNvZGUpIHsKLSAgICAgICAgZm9yIChsZXQgaW5zdEluZGV4ID0gMDsgaW5zdEluZGV4IDwgYmxv
Y2suc2l6ZTsgKytpbnN0SW5kZXgpIHsKLSAgICAgICAgICAgIGxldCBpbnN0ID0gYmxvY2suYXQo
aW5zdEluZGV4KTsKLSAgICAgICAgICAgIGluc3QuZm9yRWFjaEFyZygoYXJnLCByb2xlLCB0eXBl
LCB3aWR0aCkgPT4gewotICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHN0YWNrQWRkcihvZmZzZXQp
Ci0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gQXJnLmNyZWF0
ZVN0YWNrQWRkcihvZmZzZXQsIGNvZGUuZnJhbWVTaXplLCB3aWR0aCk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIHN3aXRjaCAoYXJnLmtpbmQp
IHsKLSAgICAgICAgICAgICAgICBjYXNlIEFyZy5TdGFjazogewotICAgICAgICAgICAgICAgICAg
ICBsZXQgc2xvdCA9IGFyZy5zdGFja1Nsb3Q7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChBcmcu
aXNaRGVmKHJvbGUpCi0gICAgICAgICAgICAgICAgICAgICAgICAmJiBzbG90LmlzU3BpbGwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICYmIHNsb3QuYnl0ZVNpemUgPiBBcmcuYnl0ZXMod2lkdGgp
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBDdXJyZW50bHkgd2Ugb25seSBoYW5kbGUg
dGhpcyBzaW1wbGUgY2FzZSBiZWNhdXNlIGl0J3MgdGhlIG9ubHkgb25lCi0gICAgICAgICAgICAg
ICAgICAgICAgICAvLyB0aGF0IGFyaXNlczogWkRlZidzIGFyZSBvbmx5IDMyLWJpdCByaWdodCBu
b3cuIFNvLCB3aGVuIHdlIGhpdCB0aGVzZQotICAgICAgICAgICAgICAgICAgICAgICAgLy8gYXNz
ZXJ0aW9ucyBpdCBtZWFucyB0aGF0IHdlIG5lZWQgdG8gaW1wbGVtZW50IHRob3NlIG90aGVyIGtp
bmRzIG9mCi0gICAgICAgICAgICAgICAgICAgICAgICAvLyB6ZXJvIGZpbGxzLgotICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKHNsb3QuYnl0ZVNpemUgIT0gOCkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYEJhZCBzcGlsbCBzbG90IHNpemUgZm9yIFpEZWY6ICR7c2xvdC5ieXRlU2l6ZX0sIHdp
ZHRoIGlzICR7d2lkdGh9YCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBpZiAod2lkdGggIT0gMzIpCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgd2lkdGggZm9yIFpEZWYiKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0aW9uU2V0Lmluc2VydCgK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0SW5kZXggKyAxLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG5ldyBJbnN0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTdG9yZVplcm8zMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YWNrQWRk
cihhcmcub2Zmc2V0ICsgNCArIHNsb3Qub2Zmc2V0RnJvbUZQKV0pKTsKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RhY2tBZGRyKGFyZy5vZmZzZXQg
KyBzbG90Lm9mZnNldEZyb21GUCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IGNhc2UgQXJnLkNhbGxBcmc6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGFja0FkZHIo
YXJnLm9mZnNldCAtIGNvZGUuZnJhbWVTaXplKTsKLSAgICAgICAgICAgICAgICBkZWZhdWx0Ogot
ICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICB9KTsKLSAgICAgICAgfQotICAgICAgICBpbnNlcnRpb25TZXQuZXhlY3V0ZShibG9jay5pbnN0
cyk7Ci0gICAgfQotfQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIv
YXJnLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWly
L2FyZy5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVC
ZW5jaC9BaXIvYXJnLmpzCShub25leGlzdGVudCkKQEAgLTEsMTA2NCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWNs
YXNzIEFyZyB7Ci0gICAgY29uc3RydWN0b3IoKQotICAgIHsKLSAgICAgICAgdGhpcy5fa2luZCA9
IEFyZy5JbnZhbGlkOwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgaXNBbnlVc2Uocm9sZSkKLSAg
ICB7Ci0gICAgICAgIHN3aXRjaCAocm9sZSkgewotICAgICAgICBjYXNlIEFyZy5Vc2U6Ci0gICAg
ICAgIGNhc2UgQXJnLkNvbGRVc2U6Ci0gICAgICAgIGNhc2UgQXJnLlVzZURlZjoKLSAgICAgICAg
Y2FzZSBBcmcuVXNlWkRlZjoKLSAgICAgICAgY2FzZSBBcmcuTGF0ZVVzZToKLSAgICAgICAgY2Fz
ZSBBcmcuTGF0ZUNvbGRVc2U6Ci0gICAgICAgIGNhc2UgQXJnLlNjcmF0Y2g6Ci0gICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBBcmcuRGVmOgotICAgICAgICBjYXNlIEFyZy5a
RGVmOgotICAgICAgICBjYXNlIEFyZy5Vc2VBZGRyOgotICAgICAgICBjYXNlIEFyZy5FYXJseURl
ZjoKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQmFkIHJvbGUiKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAK
LSAgICBzdGF0aWMgaXNDb2xkVXNlKHJvbGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHJvbGUp
IHsKLSAgICAgICAgY2FzZSBBcmcuQ29sZFVzZToKLSAgICAgICAgY2FzZSBBcmcuTGF0ZUNvbGRV
c2U6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBBcmcuVXNlOgotICAg
ICAgICBjYXNlIEFyZy5Vc2VEZWY6Ci0gICAgICAgIGNhc2UgQXJnLlVzZVpEZWY6Ci0gICAgICAg
IGNhc2UgQXJnLkxhdGVVc2U6Ci0gICAgICAgIGNhc2UgQXJnLkRlZjoKLSAgICAgICAgY2FzZSBB
cmcuWkRlZjoKLSAgICAgICAgY2FzZSBBcmcuVXNlQWRkcjoKLSAgICAgICAgY2FzZSBBcmcuU2Ny
YXRjaDoKLSAgICAgICAgY2FzZSBBcmcuRWFybHlEZWY6Ci0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBy
b2xlIik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGlzV2FybVVzZShyb2xl
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIEFyZy5pc0FueVVzZShyb2xlKSAmJiAhQXJnLmlzQ29s
ZFVzZShyb2xlKTsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGNvb2xlZChyb2xlKQotICAgIHsK
LSAgICAgICAgc3dpdGNoIChyb2xlKSB7Ci0gICAgICAgIGNhc2UgQXJnLkNvbGRVc2U6Ci0gICAg
ICAgIGNhc2UgQXJnLkxhdGVDb2xkVXNlOgotICAgICAgICBjYXNlIEFyZy5Vc2VEZWY6Ci0gICAg
ICAgIGNhc2UgQXJnLlVzZVpEZWY6Ci0gICAgICAgIGNhc2UgQXJnLkRlZjoKLSAgICAgICAgY2Fz
ZSBBcmcuWkRlZjoKLSAgICAgICAgY2FzZSBBcmcuVXNlQWRkcjoKLSAgICAgICAgY2FzZSBBcmcu
U2NyYXRjaDoKLSAgICAgICAgY2FzZSBBcmcuRWFybHlEZWY6Ci0gICAgICAgICAgICByZXR1cm4g
cm9sZTsKLSAgICAgICAgY2FzZSBBcmcuVXNlOgotICAgICAgICAgICAgcmV0dXJuIEFyZy5Db2xk
VXNlOwotICAgICAgICBjYXNlIEFyZy5MYXRlVXNlOgotICAgICAgICAgICAgcmV0dXJuIEFyZy5M
YXRlQ29sZFVzZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJv
cigiQmFkIHJvbGUiKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHN0YXRpYyBpc0Vhcmx5VXNl
KHJvbGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHJvbGUpIHsKLSAgICAgICAgY2FzZSBBcmcu
VXNlOgotICAgICAgICBjYXNlIEFyZy5Db2xkVXNlOgotICAgICAgICBjYXNlIEFyZy5Vc2VEZWY6
Ci0gICAgICAgIGNhc2UgQXJnLlVzZVpEZWY6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICAgICAgY2FzZSBBcmcuRGVmOgotICAgICAgICBjYXNlIEFyZy5aRGVmOgotICAgICAgICBjYXNl
IEFyZy5Vc2VBZGRyOgotICAgICAgICBjYXNlIEFyZy5MYXRlVXNlOgotICAgICAgICBjYXNlIEFy
Zy5MYXRlQ29sZFVzZToKLSAgICAgICAgY2FzZSBBcmcuU2NyYXRjaDoKLSAgICAgICAgY2FzZSBB
cmcuRWFybHlEZWY6Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGRlZmF1bHQ6
Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCByb2xlIik7Ci0gICAgICAgIH0KLSAg
ICB9Ci0gICAgCi0gICAgc3RhdGljIGlzTGF0ZVVzZShyb2xlKQotICAgIHsKLSAgICAgICAgc3dp
dGNoIChyb2xlKSB7Ci0gICAgICAgIGNhc2UgQXJnLkxhdGVVc2U6Ci0gICAgICAgIGNhc2UgQXJn
LkxhdGVDb2xkVXNlOgotICAgICAgICBjYXNlIEFyZy5TY3JhdGNoOgotICAgICAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgICAgIGNhc2UgQXJnLkNvbGRVc2U6Ci0gICAgICAgIGNhc2UgQXJnLlVz
ZToKLSAgICAgICAgY2FzZSBBcmcuVXNlRGVmOgotICAgICAgICBjYXNlIEFyZy5Vc2VaRGVmOgot
ICAgICAgICBjYXNlIEFyZy5EZWY6Ci0gICAgICAgIGNhc2UgQXJnLlpEZWY6Ci0gICAgICAgIGNh
c2UgQXJnLlVzZUFkZHI6Ci0gICAgICAgIGNhc2UgQXJnLkVhcmx5RGVmOgotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJCYWQgcm9sZSIpOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBpc0Fu
eURlZihyb2xlKQotICAgIHsKLSAgICAgICAgc3dpdGNoIChyb2xlKSB7Ci0gICAgICAgIGNhc2Ug
QXJnLlVzZToKLSAgICAgICAgY2FzZSBBcmcuQ29sZFVzZToKLSAgICAgICAgY2FzZSBBcmcuVXNl
QWRkcjoKLSAgICAgICAgY2FzZSBBcmcuTGF0ZVVzZToKLSAgICAgICAgY2FzZSBBcmcuTGF0ZUNv
bGRVc2U6Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGNhc2UgQXJnLkRlZjoK
LSAgICAgICAgY2FzZSBBcmcuVXNlRGVmOgotICAgICAgICBjYXNlIEFyZy5aRGVmOgotICAgICAg
ICBjYXNlIEFyZy5Vc2VaRGVmOgotICAgICAgICBjYXNlIEFyZy5FYXJseURlZjoKLSAgICAgICAg
Y2FzZSBBcmcuU2NyYXRjaDoKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBkZWZh
dWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgcm9sZSIpOwotICAgICAgICB9
Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBpc0Vhcmx5RGVmKHJvbGUpCi0gICAgewotICAgICAg
ICBzd2l0Y2ggKHJvbGUpIHsKLSAgICAgICAgY2FzZSBBcmcuVXNlOgotICAgICAgICBjYXNlIEFy
Zy5Db2xkVXNlOgotICAgICAgICBjYXNlIEFyZy5Vc2VBZGRyOgotICAgICAgICBjYXNlIEFyZy5M
YXRlVXNlOgotICAgICAgICBjYXNlIEFyZy5EZWY6Ci0gICAgICAgIGNhc2UgQXJnLlVzZURlZjoK
LSAgICAgICAgY2FzZSBBcmcuWkRlZjoKLSAgICAgICAgY2FzZSBBcmcuVXNlWkRlZjoKLSAgICAg
ICAgY2FzZSBBcmcuTGF0ZUNvbGRVc2U6Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgIGNhc2UgQXJnLkVhcmx5RGVmOgotICAgICAgICBjYXNlIEFyZy5TY3JhdGNoOgotICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZCByb2xlIik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgc3RhdGlj
IGlzTGF0ZURlZihyb2xlKQotICAgIHsKLSAgICAgICAgc3dpdGNoIChyb2xlKSB7Ci0gICAgICAg
IGNhc2UgQXJnLlVzZToKLSAgICAgICAgY2FzZSBBcmcuQ29sZFVzZToKLSAgICAgICAgY2FzZSBB
cmcuVXNlQWRkcjoKLSAgICAgICAgY2FzZSBBcmcuTGF0ZVVzZToKLSAgICAgICAgY2FzZSBBcmcu
RWFybHlEZWY6Ci0gICAgICAgIGNhc2UgQXJnLlNjcmF0Y2g6Ci0gICAgICAgIGNhc2UgQXJnLkxh
dGVDb2xkVXNlOgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBjYXNlIEFyZy5E
ZWY6Ci0gICAgICAgIGNhc2UgQXJnLlVzZURlZjoKLSAgICAgICAgY2FzZSBBcmcuWkRlZjoKLSAg
ICAgICAgY2FzZSBBcmcuVXNlWkRlZjoKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAg
ICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgcm9sZSIpOwotICAg
ICAgICB9Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBpc1pEZWYocm9sZSkKLSAgICB7Ci0gICAg
ICAgIHN3aXRjaCAocm9sZSkgewotICAgICAgICBjYXNlIEFyZy5Vc2U6Ci0gICAgICAgIGNhc2Ug
QXJnLkNvbGRVc2U6Ci0gICAgICAgIGNhc2UgQXJnLlVzZUFkZHI6Ci0gICAgICAgIGNhc2UgQXJn
LkxhdGVVc2U6Ci0gICAgICAgIGNhc2UgQXJnLkRlZjoKLSAgICAgICAgY2FzZSBBcmcuVXNlRGVm
OgotICAgICAgICBjYXNlIEFyZy5FYXJseURlZjoKLSAgICAgICAgY2FzZSBBcmcuU2NyYXRjaDoK
LSAgICAgICAgY2FzZSBBcmcuTGF0ZUNvbGRVc2U6Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgICAgIGNhc2UgQXJnLlpEZWY6Ci0gICAgICAgIGNhc2UgQXJnLlVzZVpEZWY6Ci0gICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93
IG5ldyBFcnJvcigiQmFkIHJvbGUiKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBzdGF0
aWMgdHlwZUZvckIzVHlwZSh0eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0g
ICAgICAgIGNhc2UgSW50MzI6Ci0gICAgICAgIGNhc2UgSW50NjQ6Ci0gICAgICAgICAgICByZXR1
cm4gR1A7Ci0gICAgICAgIGNhc2UgRmxvYXQ6Ci0gICAgICAgIGNhc2UgRG91YmxlOgotICAgICAg
ICAgICAgcmV0dXJuIEZQOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJCYWQgQjMgdHlwZSIpOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIHN0YXRp
YyB3aWR0aEZvckIzVHlwZSh0eXBlKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0g
ICAgICAgIGNhc2UgSW50MzI6Ci0gICAgICAgIGNhc2UgRmxvYXQ6Ci0gICAgICAgICAgICByZXR1
cm4gMzI7Ci0gICAgICAgIGNhc2UgSW50NjQ6Ci0gICAgICAgIGNhc2UgRG91YmxlOgotICAgICAg
ICAgICAgcmV0dXJuIDY0OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJCYWQgQjMgdHlwZSIpOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIHN0YXRp
YyBjb25zZXJ2YXRpdmVXaWR0aCh0eXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHR5cGUgPT0g
R1AgPyBQdHIgOiA2NDsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIG1pbmltdW1XaWR0aCh0eXBl
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIHR5cGUgPT0gR1AgPyA4IDogMzI7Ci0gICAgfQotICAg
IAotICAgIHN0YXRpYyBieXRlcyh3aWR0aCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB3aWR0aCAv
IDg7Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyB3aWR0aEZvckJ5dGVzKGJ5dGVzKQotICAgIHsK
LSAgICAgICAgc3dpdGNoIChieXRlcykgewotICAgICAgICBjYXNlIDA6Ci0gICAgICAgIGNhc2Ug
MToKLSAgICAgICAgICAgIHJldHVybiA4OwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBy
ZXR1cm4gMTY7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgY2FzZSA0OgotICAgICAgICAgICAg
cmV0dXJuIDMyOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgaWYgKGJ5dGVzID4gOCkK
LSAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBudW1iZXIgb2YgYnl0ZXMiKTsK
LSAgICAgICAgICAgIHJldHVybiA2NDsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBzdGF0
aWMgY3JlYXRlVG1wKHRtcCkKLSAgICB7Ci0gICAgICAgIGxldCByZXN1bHQgPSBuZXcgQXJnKCk7
Ci0gICAgICAgIHJlc3VsdC5fa2luZCA9IEFyZy5UbXA7Ci0gICAgICAgIHJlc3VsdC5fdG1wID0g
dG1wOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgZnJv
bVJlZyhyZWcpCi0gICAgewotICAgICAgICByZXR1cm4gQXJnLmNyZWF0ZVRtcChyZWcpOwotICAg
IH0KLSAgICAKLSAgICBzdGF0aWMgY3JlYXRlSW1tKHZhbHVlKQotICAgIHsKLSAgICAgICAgbGV0
IHJlc3VsdCA9IG5ldyBBcmcoKTsKLSAgICAgICAgcmVzdWx0Ll9raW5kID0gQXJnLkltbTsKLSAg
ICAgICAgcmVzdWx0Ll92YWx1ZSA9IHZhbHVlOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAg
IH0KLSAgICAKLSAgICBzdGF0aWMgY3JlYXRlQmlnSW1tKGxvd1ZhbHVlLCBoaWdoVmFsdWUgPSAw
KQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBBcmcoKTsKLSAgICAgICAgcmVzdWx0
Ll9raW5kID0gQXJnLkJpZ0ltbTsKLSAgICAgICAgcmVzdWx0Ll9sb3dWYWx1ZSA9IGxvd1ZhbHVl
OwotICAgICAgICByZXN1bHQuX2hpZ2hWYWx1ZSA9IGhpZ2hWYWx1ZTsKLSAgICAgICAgcmV0dXJu
IHJlc3VsdDsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGNyZWF0ZUJpdEltbSh2YWx1ZSkKLSAg
ICB7Ci0gICAgICAgIGxldCByZXN1bHQgPSBuZXcgQXJnKCk7Ci0gICAgICAgIHJlc3VsdC5fa2lu
ZCA9IEFyZy5CaXRJbW07Ci0gICAgICAgIHJlc3VsdC5fdmFsdWUgPSB2YWx1ZTsKLSAgICAgICAg
cmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGNyZWF0ZUJpdEltbTY0KGxv
d1ZhbHVlLCBoaWdoVmFsdWUgPSAwKQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBB
cmcoKTsKLSAgICAgICAgcmVzdWx0Ll9raW5kID0gQXJnLkJpdEltbTY0OwotICAgICAgICByZXN1
bHQuX2xvd1ZhbHVlID0gbG93VmFsdWU7Ci0gICAgICAgIHJlc3VsdC5faGlnaFZhbHVlID0gaGln
aFZhbHVlOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMg
Y3JlYXRlQWRkcihiYXNlLCBvZmZzZXQgPSAwKQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9
IG5ldyBBcmcoKTsKLSAgICAgICAgcmVzdWx0Ll9raW5kID0gQXJnLkFkZHI7Ci0gICAgICAgIHJl
c3VsdC5fYmFzZSA9IGJhc2U7Ci0gICAgICAgIHJlc3VsdC5fb2Zmc2V0ID0gb2Zmc2V0OwotICAg
ICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgY3JlYXRlU3RhY2so
c2xvdCwgb2Zmc2V0ID0gMCkKLSAgICB7Ci0gICAgICAgIGxldCByZXN1bHQgPSBuZXcgQXJnKCk7
Ci0gICAgICAgIHJlc3VsdC5fa2luZCA9IEFyZy5TdGFjazsKLSAgICAgICAgcmVzdWx0Ll9zbG90
ID0gc2xvdDsKLSAgICAgICAgcmVzdWx0Ll9vZmZzZXQgPSBvZmZzZXQ7Ci0gICAgICAgIHJldHVy
biByZXN1bHQ7Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBjcmVhdGVDYWxsQXJnKG9mZnNldCkK
LSAgICB7Ci0gICAgICAgIGxldCByZXN1bHQgPSBuZXcgQXJnKCk7Ci0gICAgICAgIHJlc3VsdC5f
a2luZCA9IEFyZy5DYWxsQXJnOwotICAgICAgICByZXN1bHQuX29mZnNldCA9IG9mZnNldDsKLSAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGNyZWF0ZVN0YWNr
QWRkcihvZmZzZXRGcm9tRlAsIGZyYW1lU2l6ZSwgd2lkdGgpCi0gICAgewotICAgICAgICBsZXQg
cmVzdWx0ID0gQXJnLmNyZWF0ZUFkZHIoUmVnLmNhbGxGcmFtZVJlZ2lzdGVyLCBvZmZzZXRGcm9t
RlApOwotICAgICAgICBpZiAoIXJlc3VsdC5pc1ZhbGlkRm9ybSh3aWR0aCkpCi0gICAgICAgICAg
ICByZXN1bHQgPSBBcmcuY3JlYXRlQWRkcihSZWcuc3RhY2tQb2ludGVyUmVnaXN0ZXIsIG9mZnNl
dEZyb21GUCArIGZyYW1lU2l6ZSk7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotICAg
IAotICAgIHN0YXRpYyBpc1ZhbGlkU2NhbGUoc2NhbGUsIHdpZHRoKQotICAgIHsKLSAgICAgICAg
c3dpdGNoIChzY2FsZSkgewotICAgICAgICBjYXNlIDE6Ci0gICAgICAgIGNhc2UgMjoKLSAgICAg
ICAgY2FzZSA0OgotICAgICAgICBjYXNlIDg6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAg
IH0KLSAgICAKLSAgICBzdGF0aWMgbG9nU2NhbGUoc2NhbGUpCi0gICAgewotICAgICAgICBzd2l0
Y2ggKHNjYWxlKSB7Ci0gICAgICAgIGNhc2UgMToKLSAgICAgICAgICAgIHJldHVybiAwOwotICAg
ICAgICBjYXNlIDI6Ci0gICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgY2FzZSA0OgotICAg
ICAgICAgICAgcmV0dXJuIDI7Ci0gICAgICAgIGNhc2UgODoKLSAgICAgICAgICAgIHJldHVybiAz
OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgc2Nh
bGUiKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgY3JlYXRlSW5kZXgoYmFz
ZSwgaW5kZXgsIHNjYWxlID0gMSwgb2Zmc2V0ID0gMCkKLSAgICB7Ci0gICAgICAgIGxldCByZXN1
bHQgPSBuZXcgQXJnKCk7Ci0gICAgICAgIHJlc3VsdC5fa2luZCA9IEFyZy5JbmRleDsKLSAgICAg
ICAgcmVzdWx0Ll9iYXNlID0gYmFzZTsKLSAgICAgICAgcmVzdWx0Ll9pbmRleCA9IGluZGV4Owot
ICAgICAgICByZXN1bHQuX3NjYWxlID0gc2NhbGU7Ci0gICAgICAgIHJlc3VsdC5fb2Zmc2V0ID0g
b2Zmc2V0OwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMg
Y3JlYXRlUmVsQ29uZChjb25kaXRpb24pCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gbmV3
IEFyZygpOwotICAgICAgICByZXN1bHQuX2tpbmQgPSBBcmcuUmVsQ29uZDsKLSAgICAgICAgcmVz
dWx0Ll9jb25kaXRpb24gPSBjb25kaXRpb247Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAg
fQotICAgIAotICAgIHN0YXRpYyBjcmVhdGVSZXNDb25kKGNvbmRpdGlvbikKLSAgICB7Ci0gICAg
ICAgIGxldCByZXN1bHQgPSBuZXcgQXJnKCk7Ci0gICAgICAgIHJlc3VsdC5fa2luZCA9IEFyZy5S
ZXNDb25kOwotICAgICAgICByZXN1bHQuX2NvbmRpdGlvbiA9IGNvbmRpdGlvbjsKLSAgICAgICAg
cmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGNyZWF0ZURvdWJsZUNvbmQo
Y29uZGl0aW9uKQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBBcmcoKTsKLSAgICAg
ICAgcmVzdWx0Ll9raW5kID0gQXJnLkRvdWJsZUNvbmQ7Ci0gICAgICAgIHJlc3VsdC5fY29uZGl0
aW9uID0gY29uZGl0aW9uOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAg
ICBzdGF0aWMgY3JlYXRlV2lkdGgod2lkdGgpCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0g
bmV3IEFyZygpOwotICAgICAgICByZXN1bHQuX2tpbmQgPSBBcmcuV2lkdGg7Ci0gICAgICAgIHJl
c3VsdC5fd2lkdGggPSB3aWR0aDsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0gICAg
Ci0gICAgc3RhdGljIGNyZWF0ZVNwZWNpYWwoKQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9
IG5ldyBBcmcoKTsKLSAgICAgICAgcmVzdWx0Ll9raW5kID0gQXJnLlNwZWNpYWw7Ci0gICAgICAg
IHJldHVybiByZXN1bHQ7Ci0gICAgfQotICAgIAotICAgIGdldCBraW5kKCkgeyByZXR1cm4gdGhp
cy5fa2luZDsgfQotICAgIGdldCBpc1RtcCgpIHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gQXJnLlRt
cDsgfQotICAgIGdldCBpc0ltbSgpIHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gQXJnLkltbTsgfQot
ICAgIGdldCBpc0JpZ0ltbSgpIHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gQXJnLkJpZ0ltbTsgfQot
ICAgIGdldCBpc0JpdEltbSgpIHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gQXJnLkJpdEltbTsgfQot
ICAgIGdldCBpc0JpdEltbTY0KCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBBcmcuQml0SW1tNjQ7
IH0KLSAgICBnZXQgaXNTb21lSW1tKCkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodGhpcy5fa2lu
ZCkgewotICAgICAgICBjYXNlIEFyZy5JbW06Ci0gICAgICAgIGNhc2UgQXJnLkJpdEltbToKLSAg
ICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgfQotICAgIGdldCBpc1NvbWVCaWdJbW0oKQotICAg
IHsKLSAgICAgICAgc3dpdGNoICh0aGlzLl9raW5kKSB7Ci0gICAgICAgIGNhc2UgQXJnLkJpZ0lt
bToKLSAgICAgICAgY2FzZSBBcmcuQml0SW1tNjQ6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQot
ICAgIH0KLSAgICBnZXQgaXNBZGRyKCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBBcmcuQWRkcjsg
fQotICAgIGdldCBpc1N0YWNrKCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBBcmcuU3RhY2s7IH0K
LSAgICBnZXQgaXNDYWxsQXJnKCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBBcmcuQ2FsbEFyZzsg
fQotICAgIGdldCBpc0luZGV4KCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBBcmcuSW5kZXg7IH0K
LSAgICBnZXQgaXNNZW1vcnkoKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0aGlzLl9raW5kKSB7
Ci0gICAgICAgIGNhc2UgQXJnLkFkZHI6Ci0gICAgICAgIGNhc2UgQXJnLlN0YWNrOgotICAgICAg
ICBjYXNlIEFyZy5DYWxsQXJnOgotICAgICAgICBjYXNlIEFyZy5JbmRleDoKLSAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICB9Ci0gICAgfQotICAgIGdldCBpc1N0YWNrTWVtb3J5KCkKLSAgICB7Ci0gICAg
ICAgIHN3aXRjaCAodGhpcy5fa2luZCkgewotICAgICAgICBjYXNlIEFyZy5BZGRyOgotICAgICAg
ICAgICAgcmV0dXJuIHRoaXMuX2Jhc2UgPT0gUmVnLmNhbGxGcmFtZVJlZ2lzdGVyCi0gICAgICAg
ICAgICAgICAgfHwgdGhpcy5fYmFzZSA9PSBSZWcuc3RhY2tQb2ludGVyUmVnaXN0ZXI7Ci0gICAg
ICAgIGNhc2UgQXJnLlN0YWNrOgotICAgICAgICBjYXNlIEFyZy5DYWxsQXJnOgotICAgICAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgZ2V0IGlzUmVsQ29uZCgpIHsgcmV0dXJuIHRoaXMu
X2tpbmQgPT0gQXJnLlJlbENvbmQ7IH0KLSAgICBnZXQgaXNSZXNDb25kKCkgeyByZXR1cm4gdGhp
cy5fa2luZCA9PSBBcmcuUmVzQ29uZDsgfQotICAgIGdldCBpc0RvdWJsZUNvbmQoKSB7IHJldHVy
biB0aGlzLl9raW5kID09IEFyZy5Eb3VibGVDb25kOyB9Ci0gICAgZ2V0IGlzQ29uZGl0aW9uKCkK
LSAgICB7Ci0gICAgICAgIHN3aXRjaCAodGhpcy5fa2luZCkgewotICAgICAgICBjYXNlIEFyZy5S
ZWxDb25kOgotICAgICAgICBjYXNlIEFyZy5SZXNDb25kOgotICAgICAgICBjYXNlIEFyZy5Eb3Vi
bGVDb25kOgotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgZ2V0IGlzV2lkdGgo
KSB7IHJldHVybiB0aGlzLl9raW5kID09IEFyZy5XaWR0aDsgfQotICAgIGdldCBpc1NwZWNpYWwo
KSB7IHJldHVybiB0aGlzLl9raW5kID09IEFyZy5TcGVjaWFsOyB9Ci0gICAgZ2V0IGlzQWxpdmUo
KSB7IHJldHVybiB0aGlzLmlzVG1wIHx8IHRoaXMuaXNTdGFjazsgfQotICAgIAotICAgIGdldCB0
bXAoKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2tpbmQgIT0gQXJnLlRtcCkKLSAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQ2FsbGVkIC50bXAgZm9yIG5vbi10bXAiKTsKLSAgICAgICAg
cmV0dXJuIHRoaXMuX3RtcDsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IHZhbHVlKCkKLSAgICB7Ci0g
ICAgICAgIGlmICghdGhpcy5pc1NvbWVJbW0pCi0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkNhbGxlZCAudmFsdWUgZm9yIG5vbi1pbW0iKTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVl
OwotICAgIH0KLSAgICAKLSAgICBnZXQgbG93VmFsdWUoKQotICAgIHsKLSAgICAgICAgaWYgKCF0
aGlzLmlzU29tZUJpZ0ltbSkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2FsbGVkIC5s
b3dWYWx1ZSBmb3Igbm9uLWJpZy1pbW0iKTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2xvd1ZhbHVl
OwotICAgIH0KLSAgICAKLSAgICBnZXQgaGlnaFZhbHVlKCkKLSAgICB7Ci0gICAgICAgIGlmICgh
dGhpcy5pc1NvbWVCaWdJbW0pCi0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbGxlZCAu
aGlnaFZhbHVlIGZvciBub24tYmlnLWltbSIpOwotICAgICAgICByZXR1cm4gdGhpcy5faGlnaFZh
bHVlOwotICAgIH0KLSAgICAKLSAgICBnZXQgYmFzZSgpCi0gICAgewotICAgICAgICBzd2l0Y2gg
KHRoaXMuX2tpbmQpIHsKLSAgICAgICAgY2FzZSBBcmcuQWRkcjoKLSAgICAgICAgY2FzZSBBcmcu
SW5kZXg6Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy5fYmFzZTsKLSAgICAgICAgZGVmYXVsdDoK
LSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2FsbGVkIC5iYXNlIGZvciBub24tYWRkcmVz
cyIpOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIGdldCBoYXNPZmZzZXQoKSB7IHJldHVy
biB0aGlzLmlzTWVtb3J5OyB9Ci0gICAgCi0gICAgZ2V0IG9mZnNldCgpCi0gICAgewotICAgICAg
ICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAgICAgICAgY2FzZSBBcmcuQWRkcjoKLSAgICAgICAg
Y2FzZSBBcmcuSW5kZXg6Ci0gICAgICAgIGNhc2UgQXJnLlN0YWNrOgotICAgICAgICBjYXNlIEFy
Zy5DYWxsQXJnOgotICAgICAgICAgICAgcmV0dXJuIHRoaXMuX29mZnNldDsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2FsbGVkIC5vZmZzZXQgZm9yIG5v
bi1hZGRyZXNzIik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgZ2V0IHN0YWNrU2xvdCgp
Ci0gICAgewotICAgICAgICBpZiAodGhpcy5fa2luZCAhPSBBcmcuU3RhY2spCi0gICAgICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkNhbGxlZCAuc3RhY2tTbG90IGZvciBub24tYWRkcmVzcyIpOwot
ICAgICAgICByZXR1cm4gdGhpcy5fc2xvdDsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGluZGV4KCkK
LSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9raW5kICE9IEFyZy5JbmRleCkKLSAgICAgICAgICAg
IHRocm93IG5ldyBFcnJvcigiQ2FsbGVkIC5pbmRleCBmb3Igbm9uLUluZGV4Iik7Ci0gICAgICAg
IHJldHVybiB0aGlzLl9pbmRleDsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IHNjYWxlKCkKLSAgICB7
Ci0gICAgICAgIGlmICh0aGlzLl9raW5kICE9IEFyZy5JbmRleCkKLSAgICAgICAgICAgIHRocm93
IG5ldyBFcnJvcigiQ2FsbGVkIC5zY2FsZSBmb3Igbm9uLUluZGV4Iik7Ci0gICAgICAgIHJldHVy
biB0aGlzLl9zY2FsZTsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGxvZ1NjYWxlKCkKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBBcmcubG9nU2NhbGUodGhpcy5zY2FsZSk7Ci0gICAgfQotICAgIAotICAg
IGdldCB3aWR0aCgpCi0gICAgewotICAgICAgICBpZiAodGhpcy5fa2luZCAhPSBBcmcuV2lkdGgp
Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbGxlZCAud2lkdGggZm9yIG5vbi1XaWR0
aCIpOwotICAgICAgICByZXR1cm4gdGhpcy5fd2lkdGg7Ci0gICAgfQotICAgIAotICAgIGdldCBp
c0dQVG1wKCkgeyByZXR1cm4gdGhpcy5pc1RtcCAmJiB0aGlzLnRtcC5pc0dQOyB9Ci0gICAgZ2V0
IGlzRlBUbXAoKSB7IHJldHVybiB0aGlzLmlzVG1wICYmIHRoaXMudG1wLmlzRlA7IH0KLSAgICAK
LSAgICBnZXQgaXNHUCgpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAg
ICAgICAgY2FzZSBBcmcuSW1tOgotICAgICAgICBjYXNlIEFyZy5CaWdJbW06Ci0gICAgICAgIGNh
c2UgQXJnLkJpdEltbToKLSAgICAgICAgY2FzZSBBcmcuQml0SW1tNjQ6Ci0gICAgICAgIGNhc2Ug
QXJnLkFkZHI6Ci0gICAgICAgIGNhc2UgQXJnLkluZGV4OgotICAgICAgICBjYXNlIEFyZy5TdGFj
azoKLSAgICAgICAgY2FzZSBBcmcuQ2FsbEFyZzoKLSAgICAgICAgY2FzZSBBcmcuUmVsQ29uZDoK
LSAgICAgICAgY2FzZSBBcmcuUmVzQ29uZDoKLSAgICAgICAgY2FzZSBBcmcuRG91YmxlQ29uZDoK
LSAgICAgICAgY2FzZSBBcmcuV2lkdGg6Ci0gICAgICAgIGNhc2UgQXJnLlNwZWNpYWw6Ci0gICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBBcmcuVG1wOgotICAgICAgICAgICAg
cmV0dXJuIHRoaXMuaXNHUFRtcDsKLSAgICAgICAgY2FzZSBBcmcuSW52YWxpZDoKLSAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5l
dyBFcnJvcigiQmFkIGtpbmQiKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBnZXQgaXNG
UCgpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAgICAgICAgY2FzZSBB
cmcuSW1tOgotICAgICAgICBjYXNlIEFyZy5CaXRJbW06Ci0gICAgICAgIGNhc2UgQXJnLkJpdElt
bTY0OgotICAgICAgICBjYXNlIEFyZy5SZWxDb25kOgotICAgICAgICBjYXNlIEFyZy5SZXNDb25k
OgotICAgICAgICBjYXNlIEFyZy5Eb3VibGVDb25kOgotICAgICAgICBjYXNlIEFyZy5XaWR0aDoK
LSAgICAgICAgY2FzZSBBcmcuU3BlY2lhbDoKLSAgICAgICAgY2FzZSBBcmcuSW52YWxpZDoKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgY2FzZSBBcmcuQWRkcjoKLSAgICAgICAg
Y2FzZSBBcmcuSW5kZXg6Ci0gICAgICAgIGNhc2UgQXJnLlN0YWNrOgotICAgICAgICBjYXNlIEFy
Zy5DYWxsQXJnOgotICAgICAgICBjYXNlIEFyZy5CaWdJbW06Ci0gICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICAgICAgY2FzZSBBcmcuVG1wOgotICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNG
UFRtcDsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFk
IGtpbmQiKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBnZXQgaGFzVHlwZSgpCi0gICAg
ewotICAgICAgICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAgICAgICAgY2FzZSBBcmcuSW1tOgot
ICAgICAgICBjYXNlIEFyZy5CaXRJbW06Ci0gICAgICAgIGNhc2UgQXJnLkJpdEltbTY0OgotICAg
ICAgICBjYXNlIEFyZy5UbXA6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KLSAgICAK
LSAgICBnZXQgdHlwZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5pc0dQID8gR1AgOiBG
UDsKLSAgICB9Ci0gICAgCi0gICAgaXNUeXBlKHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2gg
KHR5cGUpIHsKLSAgICAgICAgY2FzZSBBcmcuR1A6Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy5p
c0dQOwotICAgICAgICBjYXNlIEFyZy5GUDoKLSAgICAgICAgICAgIHJldHVybiB0aGlzLmlzRlA7
Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCB0eXBl
Iik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgaXNDb21wYXRpYmxlVHlwZShvdGhlcikK
LSAgICB7Ci0gICAgICAgIGlmICh0aGlzLmhhc1R5cGUpCi0gICAgICAgICAgICByZXR1cm4gb3Ro
ZXIuaXNUeXBlKHRoaXMudHlwZSk7Ci0gICAgICAgIGlmIChvdGhlci5oYXNUeXBlKQotICAgICAg
ICAgICAgcmV0dXJuIHRoaXMuaXNUeXBlKG90aGVyLnR5cGUpOwotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGlzR1BSKCkgeyByZXR1cm4gdGhpcy5pc1RtcCAmJiB0
aGlzLnRtcC5pc0dQUjsgfQotICAgIGdldCBncHIoKSB7IHJldHVybiB0aGlzLnRtcC5ncHI7IH0K
LSAgICBnZXQgaXNGUFIoKSB7IHJldHVybiB0aGlzLmlzVG1wICYmIHRoaXMudG1wLmlzRlBSOyB9
Ci0gICAgZ2V0IGZwcigpIHsgcmV0dXJuIHRoaXMudG1wLmZwcjsgfQotICAgIGdldCBpc1JlZygp
IHsgcmV0dXJuIHRoaXMuaXNUbXAgJiYgdGhpcy50bXAuaXNSZWc7IH0KLSAgICBnZXQgcmVnKCkg
eyByZXR1cm4gdGhpcy50bXAucmVnOyB9Ci0gICAgCi0gICAgc3RhdGljIGlzVmFsaWRJbW1Gb3Jt
KHZhbHVlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGlzUmVwcmVzZW50YWJsZUFzSW50MzIodmFs
dWUpOwotICAgIH0KLSAgICBzdGF0aWMgaXNWYWxpZEJpdEltbUZvcm0odmFsdWUpCi0gICAgewot
ICAgICAgICByZXR1cm4gaXNSZXByZXNlbnRhYmxlQXNJbnQzMih2YWx1ZSk7Ci0gICAgfQotICAg
IHN0YXRpYyBpc1ZhbGlkQml0SW1tNjRGb3JtKHZhbHVlKQotICAgIHsKLSAgICAgICAgcmV0dXJu
IGlzUmVwcmVzZW50YWJsZUFzSW50MzIodmFsdWUpOwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMg
aXNWYWxpZEFkZHJGb3JtKG9mZnNldCwgd2lkdGgpCi0gICAgewotICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGlzVmFsaWRJbmRleEZvcm0oc2NhbGUsIG9mZnNl
dCwgd2lkdGgpCi0gICAgewotICAgICAgICBpZiAoIWlzVmFsaWRTY2FsZShzY2FsZSwgd2lkdGgp
KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
Ci0gICAgCi0gICAgaXNWYWxpZEZvcm0od2lkdGgpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHRo
aXMuX2tpbmQpIHsKLSAgICAgICAgY2FzZSBBcmcuSW52YWxpZDoKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgY2FzZSBBcmcuVG1wOgotICAgICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgICAgIGNhc2UgQXJnLkltbToKLSAgICAgICAgICAgIHJldHVybiBBcmcuaXNWYWxpZElt
bUZvcm0odGhpcy52YWx1ZSk7Ci0gICAgICAgIGNhc2UgQXJnLkJpZ0ltbToKLSAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICBjYXNlIEFyZy5CaXRJbW06Ci0gICAgICAgICAgICByZXR1
cm4gQXJnLmlzVmFsaWRCaXRJbW1Gb3JtKHRoaXMudmFsdWUpOwotICAgICAgICBjYXNlIEFyZy5C
aXRJbW02NDoKLSAgICAgICAgICAgIHJldHVybiBBcmcuaXNWYWxpZEJpdEltbTY0Rm9ybSh0aGlz
LnZhbHVlKTsKLSAgICAgICAgY2FzZSBBcmcuQWRkcjoKLSAgICAgICAgY2FzZSBBcmcuU3RhY2s6
Ci0gICAgICAgIGNhc2UgQXJnLkNhbGxBcmc6Ci0gICAgICAgICAgICByZXR1cm4gQXJnLmlzVmFs
aWRBZGRyRm9ybSh0aGlzLm9mZnNldCwgd2lkdGgpOwotICAgICAgICBjYXNlIEFyZy5JbmRleDoK
LSAgICAgICAgICAgIHJldHVybiBBcmcuaXNWYWxpZEluZGV4Rm9ybSh0aGlzLnNjYWxlLCB0aGlz
Lm9mZnNldCwgd2lkdGgpOwotICAgICAgICBjYXNlIEFyZy5SZWxDb25kOgotICAgICAgICBjYXNl
IEFyZy5SZXNDb25kOgotICAgICAgICBjYXNlIEFyZy5Eb3VibGVDb25kOgotICAgICAgICBjYXNl
IEFyZy5XaWR0aDoKLSAgICAgICAgY2FzZSBBcmcuU3BlY2lhbDoKLSAgICAgICAgICAgIHJldHVy
biB0cnVlOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJC
YWQga2luZCIpOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIGZvckVhY2hUbXBGYXN0KGZ1
bmMpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAgICAgICAgY2FzZSBB
cmcuVG1wOiB7Ci0gICAgICAgICAgICBsZXQgcmVwbGFjZW1lbnQ7Ci0gICAgICAgICAgICBpZiAo
cmVwbGFjZW1lbnQgPSBmdW5jKHRoaXMuX3RtcCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIEFy
Zy5jcmVhdGVUbXAocmVwbGFjZW1lbnQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0K
LSAgICAgICAgY2FzZSBBcmcuQWRkcjogewotICAgICAgICAgICAgbGV0IHJlcGxhY2VtZW50Owot
ICAgICAgICAgICAgaWYgKHJlcGxhY2VtZW50ID0gZnVuYyh0aGlzLl9iYXNlKSkKLSAgICAgICAg
ICAgICAgICByZXR1cm4gQXJnLmNyZWF0ZUFkZHIocmVwbGFjZW1lbnQsIHRoaXMuX29mZnNldCk7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlIEFyZy5JbmRleDog
ewotICAgICAgICAgICAgbGV0IGJhc2VSZXBsYWNlbWVudCA9IGZ1bmModGhpcy5fYmFzZSk7Ci0g
ICAgICAgICAgICBsZXQgaW5kZXhSZXBsYWNlbWVudCA9IGZ1bmModGhpcy5faW5kZXgpOwotICAg
ICAgICAgICAgaWYgKGJhc2VSZXBsYWNlbWVudCB8fCBpbmRleFJlcGxhY2VtZW50KSB7Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIEFyZy5jcmVhdGVJbmRleCgKLSAgICAgICAgICAgICAgICAgICAg
YmFzZVJlcGxhY2VtZW50ID8gYmFzZVJlcGxhY2VtZW50IDogdGhpcy5fYmFzZSwKLSAgICAgICAg
ICAgICAgICAgICAgaW5kZXhSZXBsYWNlbWVudCA/IGluZGV4UmVwbGFjZW1lbnQgOiB0aGlzLl9p
bmRleCwKLSAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2NhbGUsIHRoaXMuX29mZnNldCk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBkZWZh
dWx0OgotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgdXNl
c1RtcChleHBlY3RlZFRtcCkKLSAgICB7Ci0gICAgICAgIGxldCB1c2VzVG1wID0gZmFsc2U7Ci0g
ICAgICAgIGZvckVhY2hUbXBGYXN0KHRtcCA9PiB7Ci0gICAgICAgICAgICB1c2VzVG1wIHw9IHRt
cCA9PSBleHBlY3RlZFRtcDsKLSAgICAgICAgfSk7Ci0gICAgICAgIHJldHVybiB1c2VzVG1wOwot
ICAgIH0KLSAgICAKLSAgICBmb3JFYWNoVG1wKHJvbGUsIHR5cGUsIHdpZHRoLCBmdW5jKQotICAg
IHsKLSAgICAgICAgc3dpdGNoICh0aGlzLl9raW5kKSB7Ci0gICAgICAgIGNhc2UgQXJnLlRtcDog
ewotICAgICAgICAgICAgbGV0IHJlcGxhY2VtZW50OwotICAgICAgICAgICAgaWYgKHJlcGxhY2Vt
ZW50ID0gZnVuYyh0aGlzLl90bXAsIHJvbGUsIHR5cGUsIHdpZHRoKSkKLSAgICAgICAgICAgICAg
ICByZXR1cm4gQXJnLmNyZWF0ZVRtcChyZXBsYWNlbWVudCk7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgfQotICAgICAgICBjYXNlIEFyZy5BZGRyOiB7Ci0gICAgICAgICAgICBsZXQgcmVw
bGFjZW1lbnQ7Ci0gICAgICAgICAgICBpZiAocmVwbGFjZW1lbnQgPSBmdW5jKHRoaXMuX2Jhc2Us
IEFyZy5Vc2UsIEdQLCByb2xlID09IEFyZy5Vc2VBZGRyID8gd2lkdGggOiBQdHIpKQotICAgICAg
ICAgICAgICAgIHJldHVybiBBcmcuY3JlYXRlQWRkcihyZXBsYWNlbWVudCwgdGhpcy5fb2Zmc2V0
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgQXJnLkluZGV4
OiB7Ci0gICAgICAgICAgICBsZXQgYmFzZVJlcGxhY2VtZW50ID0gZnVuYyh0aGlzLl9iYXNlLCBB
cmcuVXNlLCBHUCwgcm9sZSA9PSBBcmcuVXNlQWRkciA/IHdpZHRoIDogUHRyKTsKLSAgICAgICAg
ICAgIGxldCBpbmRleFJlcGxhY2VtZW50ID0gZnVuYyh0aGlzLl9pbmRleCwgQXJnLlVzZSwgR1As
IHJvbGUgPT0gQXJnLlVzZUFkZHIgPyB3aWR0aCA6IFB0cik7Ci0gICAgICAgICAgICBpZiAoYmFz
ZVJlcGxhY2VtZW50IHx8IGluZGV4UmVwbGFjZW1lbnQpIHsKLSAgICAgICAgICAgICAgICByZXR1
cm4gQXJnLmNyZWF0ZUluZGV4KAotICAgICAgICAgICAgICAgICAgICBiYXNlUmVwbGFjZW1lbnQg
PyBiYXNlUmVwbGFjZW1lbnQgOiB0aGlzLl9iYXNlLAotICAgICAgICAgICAgICAgICAgICBpbmRl
eFJlcGxhY2VtZW50ID8gaW5kZXhSZXBsYWNlbWVudCA6IHRoaXMuX2luZGV4LAotICAgICAgICAg
ICAgICAgICAgICB0aGlzLl9zY2FsZSwgdGhpcy5fb2Zmc2V0KTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBpcyh0aGluZykgeyByZXR1cm4g
ISF0aGluZy5leHRyYWN0KHRoaXMpOyB9Ci0gICAgYXModGhpbmcpIHsgcmV0dXJuIHRoaW5nLmV4
dHJhY3QodGhpcyk7IH0KLSAgICAKLSAgICAvLyBUaGlzIGxldHMgeW91IHNheSB0aGluZ3MgbGlr
ZToKLSAgICAvLyBhcmcuZm9yRWFjaChUbXAgfCBSZWcgfCBBcmcgfCBTdGFja1Nsb3QsIC4uLikK
LSAgICAvLwotICAgIC8vIEl0J3MgdXNlZCBmb3IgYWJzdHJhY3QgbGl2ZW5lc3MgYW5hbHlzaXMu
Ci0gICAgZm9yRWFjaEZhc3QodGhpbmcsIGZ1bmMpCi0gICAgewotICAgICAgICByZXR1cm4gdGhp
bmcuZm9yRWFjaEZhc3QodGhpcywgZnVuYyk7Ci0gICAgfQotICAgIGZvckVhY2godGhpbmcsIHJv
bGUsIHR5cGUsIHdpZHRoLCBmdW5jKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaW5nLmZvckVh
Y2godGhpcywgcm9sZSwgdHlwZSwgd2lkdGgsIGZ1bmMpOwotICAgIH0KLSAgICAKLSAgICBzdGF0
aWMgZXh0cmFjdChhcmcpIHsgcmV0dXJuIGFyZzsgfQotICAgIHN0YXRpYyBmb3JFYWNoRmFzdChh
cmcsIGZ1bmMpIHsgcmV0dXJuIGZ1bmMoYXJnKTsgfQotICAgIHN0YXRpYyBmb3JFYWNoKGFyZywg
cm9sZSwgdHlwZSwgd2lkdGgsIGZ1bmMpIHsgcmV0dXJuIGZ1bmMoYXJnLCByb2xlLCB0eXBlLCB3
aWR0aCk7IH0KLQotICAgIGdldCBjb25kaXRpb24oKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0
aGlzLl9raW5kKSB7Ci0gICAgICAgIGNhc2UgQXJnLlJlbENvbmQ6Ci0gICAgICAgIGNhc2UgQXJn
LlJlc0NvbmQ6Ci0gICAgICAgIGNhc2UgQXJnLkRvdWJsZUNvbmQ6Ci0gICAgICAgICAgICByZXR1
cm4gdGhpcy5fY29uZGl0aW9uOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJDYWxsZWQgLmNvbmRpdGlvbiBmb3Igbm9uLWNvbmRpdGlvbiIpOwotICAgICAg
ICB9Ci0gICAgfQotICAgIAotICAgIGdldCBpc0ludmVydGlibGUoKQotICAgIHsKLSAgICAgICAg
c3dpdGNoICh0aGlzLl9raW5kKSB7Ci0gICAgICAgIGNhc2UgQXJnLlJlbENvbmQ6Ci0gICAgICAg
IGNhc2UgQXJnLkRvdWJsZUNvbGQ6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAg
Y2FzZSBBcmcuUmVzQ29uZDoKLSAgICAgICAgICAgIHN3aXRjaCAodGhpcy5fY29uZGl0aW9uKSB7
Ci0gICAgICAgICAgICBjYXNlIFplcm86Ci0gICAgICAgICAgICBjYXNlIE5vblplcm86Ci0gICAg
ICAgICAgICBjYXNlIFNpZ25lZDoKLSAgICAgICAgICAgIGNhc2UgUG9zaXRpdmVPclplcm86Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgZGVmYXVsdDoK
LSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBz
dGF0aWMga2luZENvZGUoa2luZCkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAoa2luZCkgewotICAg
ICAgICBjYXNlIEFyZy5JbnZhbGlkOgotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIGNh
c2UgQXJnLlRtcDoKLSAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICBjYXNlIEFyZy5JbW06
Ci0gICAgICAgICAgICByZXR1cm4gMjsKLSAgICAgICAgY2FzZSBBcmcuQmlnSW1tOgotICAgICAg
ICAgICAgcmV0dXJuIDM7Ci0gICAgICAgIGNhc2UgQXJnLkJpdEltbToKLSAgICAgICAgICAgIHJl
dHVybiA0OwotICAgICAgICBjYXNlIEFyZy5CaXRJbW02NDoKLSAgICAgICAgICAgIHJldHVybiA1
OwotICAgICAgICBjYXNlIEFyZy5BZGRyOgotICAgICAgICAgICAgcmV0dXJuIDY7Ci0gICAgICAg
IGNhc2UgQXJnLlN0YWNrOgotICAgICAgICAgICAgcmV0dXJuIDc7Ci0gICAgICAgIGNhc2UgQXJn
LkNhbGxBcmc6Ci0gICAgICAgICAgICByZXR1cm4gODsKLSAgICAgICAgY2FzZSBBcmcuSW5kZXg6
Ci0gICAgICAgICAgICByZXR1cm4gOTsKLSAgICAgICAgY2FzZSBBcmcuUmVsQ29uZDoKLSAgICAg
ICAgICAgIHJldHVybiAxMDsKLSAgICAgICAgY2FzZSBBcmcuUmVzQ29uZDoKLSAgICAgICAgICAg
IHJldHVybiAxMTsKLSAgICAgICAgY2FzZSBBcmcuRG91YmxlQ29uZDoKLSAgICAgICAgICAgIHJl
dHVybiAxMjsKLSAgICAgICAgY2FzZSBBcmcuU3BlY2lhbDoKLSAgICAgICAgICAgIHJldHVybiAx
MzsKLSAgICAgICAgY2FzZSBBcmcuV2lkdGhBcmc6Ci0gICAgICAgICAgICByZXR1cm4gMTQ7Ci0g
ICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBraW5kIik7
Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgaGFzaCgpCi0gICAgewotICAgICAgICBsZXQg
cmVzdWx0ID0gQXJnLmtpbmRDb2RlKHRoaXMuX2tpbmQpOwotICAgICAgICAKLSAgICAgICAgc3dp
dGNoICh0aGlzLl9raW5kKSB7Ci0gICAgICAgIGNhc2UgQXJnLkludmFsaWQ6Ci0gICAgICAgIGNh
c2UgQXJnLlNwZWNpYWw6Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBBcmcuVG1w
OgotICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuX3RtcC5oYXNoKCk7Ci0gICAgICAgICAgICBy
ZXN1bHQgfD0gMDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIEFyZy5JbW06Ci0g
ICAgICAgIGNhc2UgQXJnLkJpdEltbToKLSAgICAgICAgICAgIHJlc3VsdCArPSB0aGlzLl92YWx1
ZTsKLSAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgQXJnLkJpZ0ltbToKLSAgICAgICAgY2FzZSBBcmcuQml0SW1tNjQ6Ci0gICAgICAgICAg
ICByZXN1bHQgKz0gdGhpcy5fbG93VmFsdWU7Ci0gICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAg
ICAgICAgICAgIHJlc3VsdCArPSB0aGlzLl9oaWdoVmFsdWU7Ci0gICAgICAgICAgICByZXN1bHQg
fD0gMDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIEFyZy5DYWxsQXJnOgotICAg
ICAgICAgICAgcmVzdWx0ICs9IHRoaXMuX29mZnNldDsKLSAgICAgICAgICAgIHJlc3VsdCB8PSAw
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQXJnLlJlbENvbmQ6Ci0gICAgICAg
ICAgICByZXN1bHQgKz0gcmVsQ29uZENvZGUodGhpcy5fY29uZGl0aW9uKTsKLSAgICAgICAgICAg
IHJlc3VsdCB8PSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQXJnLlJlc0Nv
bmQ6Ci0gICAgICAgICAgICByZXN1bHQgKz0gcmVzQ29uZENvZGUodGhpcy5fY29uZGl0aW9uKTsK
LSAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
c2UgQXJnLkRvdWJsZUNvbmQ6Ci0gICAgICAgICAgICByZXN1bHQgKz0gZG91YmxlQ29uZENvZGUo
dGhpcy5fY29uZGl0aW9uKTsKLSAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGNhc2UgQXJnLldpZHRoQXJnOgotICAgICAgICAgICAgcmVzdWx0ICs9
IHRoaXMuX3dpZHRoOwotICAgICAgICAgICAgcmVzdWx0IHw9IDA7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSBBcmcuQWRkcjoKLSAgICAgICAgICAgIHJlc3VsdCArPSB0aGlzLl9v
ZmZzZXQ7Ci0gICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAgICAgICAgICAgIHJlc3VsdCArPSB0
aGlzLl9iYXNlLmhhc2goKTsKLSAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGNhc2UgQXJnLkluZGV4OgotICAgICAgICAgICAgcmVzdWx0ICs9IHRo
aXMuX29mZnNldDsKLSAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAgcmVzdWx0
ICs9IHRoaXMuX3NjYWxlOwotICAgICAgICAgICAgcmVzdWx0IHw9IDA7Ci0gICAgICAgICAgICBy
ZXN1bHQgKz0gdGhpcy5fYmFzZS5oYXNoKCk7Ci0gICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAg
ICAgICAgICAgIHJlc3VsdCArPSB0aGlzLl9pbmRleC5oYXNoKCk7Ci0gICAgICAgICAgICByZXN1
bHQgfD0gMDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIEFyZy5TdGFjazoKLSAg
ICAgICAgICAgIHJlc3VsdCArPSB0aGlzLl9vZmZzZXQ7Ci0gICAgICAgICAgICByZXN1bHQgfD0g
MDsKLSAgICAgICAgICAgIHJlc3VsdCArPSB0aGlzLnN0YWNrU2xvdC5pbmRleDsKLSAgICAgICAg
ICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAg
Ci0gICAgICAgIHJldHVybiByZXN1bHQgPj4+IDA7Ci0gICAgfQotICAgIAotICAgIHRvU3RyaW5n
KCkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodGhpcy5fa2luZCkgewotICAgICAgICBjYXNlIEFy
Zy5JbnZhbGlkOgotICAgICAgICAgICAgcmV0dXJuICI8aW52YWxpZD4iOwotICAgICAgICBjYXNl
IEFyZy5UbXA6Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy5fdG1wLnRvU3RyaW5nKCk7Ci0gICAg
ICAgIGNhc2UgQXJnLkltbToKLSAgICAgICAgICAgIHJldHVybiAiJCIgKyB0aGlzLl92YWx1ZTsK
LSAgICAgICAgY2FzZSBBcmcuQmlnSW1tOgotICAgICAgICBjYXNlIEFyZy5CaXRJbW02NDoKLSAg
ICAgICAgICAgIHJldHVybiAiJDB4IiArIHRoaXMuX2hpZ2hWYWx1ZS50b1N0cmluZygxNikgKyAi
OiIgKyB0aGlzLl9sb3dWYWx1ZS50b1N0cmluZygxNik7Ci0gICAgICAgIGNhc2UgQXJnLkFkZHI6
Ci0gICAgICAgICAgICByZXR1cm4gIiIgKyAodGhpcy5fb2Zmc2V0ID8gdGhpcy5fb2Zmc2V0IDog
IiIpICsgIigiICsgdGhpcy5fYmFzZSArICIpIjsKLSAgICAgICAgY2FzZSBBcmcuSW5kZXg6Ci0g
ICAgICAgICAgICByZXR1cm4gIiIgKyAodGhpcy5fb2Zmc2V0ID8gdGhpcy5fb2Zmc2V0IDogIiIp
ICsgIigiICsgdGhpcy5fYmFzZSArCi0gICAgICAgICAgICAgICAgIiwiICsgdGhpcy5faW5kZXgg
KyAodGhpcy5fc2NhbGUgPT0gMSA/ICIiIDogIiwiICsgdGhpcy5fc2NhbGUpICsgIikiOwotICAg
ICAgICBjYXNlIEFyZy5TdGFjazoKLSAgICAgICAgICAgIHJldHVybiAiIiArICh0aGlzLl9vZmZz
ZXQgPyB0aGlzLl9vZmZzZXQgOiAiIikgKyAiKCIgKyB0aGlzLl9zbG90ICsgIikiOwotICAgICAg
ICBjYXNlIEFyZy5DYWxsQXJnOgotICAgICAgICAgICAgcmV0dXJuICIiICsgKHRoaXMuX29mZnNl
dCA/IHRoaXMuX29mZnNldCA6ICIiKSArICIoY2FsbEFyZykiOwotICAgICAgICBjYXNlIEFyZy5S
ZWxDb25kOgotICAgICAgICBjYXNlIEFyZy5SZXNDb25kOgotICAgICAgICBjYXNlIEFyZy5Eb3Vi
bGVDb25kOgotICAgICAgICAgICAgcmV0dXJuIHN5bWJvbE5hbWUodGhpcy5fY29uZGl0aW9uKTsK
LSAgICAgICAgY2FzZSBBcmcuU3BlY2lhbDoKLSAgICAgICAgICAgIHJldHVybiAic3BlY2lhbCI7
Ci0gICAgICAgIGNhc2UgQXJnLldpZHRoOgotICAgICAgICAgICAgcmV0dXJuICIiICsgdGhpcy5f
dmFsdWU7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJh
ZCBraW5kIik7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLS8vIEFyZyBraW5kcwotQXJnLkludmFs
aWQgPSBTeW1ib2woIkludmFsaWQiKTsKLUFyZy5UbXAgPSBTeW1ib2woIlRtcCIpOwotQXJnLklt
bSA9IFN5bWJvbCgiSW1tIik7Ci1BcmcuQmlnSW1tID0gU3ltYm9sKCJCaWdJbW0iKTsKLUFyZy5C
aXRJbW0gPSBTeW1ib2woIkJpdEltbSIpOwotQXJnLkJpdEltbTY0ID0gU3ltYm9sKCJCaXRJbW02
NCIpOwotQXJnLkFkZHIgPSBTeW1ib2woIkFkZHIiKTsKLUFyZy5TdGFjayA9IFN5bWJvbCgiU3Rh
Y2siKTsKLUFyZy5DYWxsQXJnID0gU3ltYm9sKCJDYWxsQXJnIik7Ci1BcmcuSW5kZXggPSBTeW1i
b2woIkluZGV4Iik7Ci1BcmcuUmVsQ29uZCA9IFN5bWJvbCgiUmVsQ29uZCIpOwotQXJnLlJlc0Nv
bmQgPSBTeW1ib2woIlJlc0NvbmQiKTsKLUFyZy5Eb3VibGVDb25kID0gU3ltYm9sKCJEb3VibGVD
b25kIik7Ci1BcmcuU3BlY2lhbCA9IFN5bWJvbCgiU3BlY2lhbCIpOwotQXJnLldpZHRoID0gU3lt
Ym9sKCJXaWR0aCIpOwotCi0vLyBBcmcgcm9sZXMKLUFyZy5Vc2UgPSBTeW1ib2woIlVzZSIpOwot
QXJnLkNvbGRVc2UgPSBTeW1ib2woIkNvbGRVc2UiKTsKLUFyZy5MYXRlVXNlID0gU3ltYm9sKCJM
YXRlVXNlIik7Ci1BcmcuTGF0ZUNvbGRVc2UgPSBTeW1ib2woIkxhdGVDb2xkVXNlIik7Ci1Bcmcu
RGVmID0gU3ltYm9sKCJEZWYiKTsKLUFyZy5aRGVmID0gU3ltYm9sKCJaRGVmIik7Ci1BcmcuVXNl
RGVmID0gU3ltYm9sKCJVc2VEZWYiKTsKLUFyZy5Vc2VaRGVmID0gU3ltYm9sKCJVc2VaRGVmIik7
Ci1BcmcuRWFybHlEZWYgPSBTeW1ib2woIkVhcmx5RGVmIik7Ci1BcmcuU2NyYXRjaCA9IFN5bWJv
bCgiU2NyYXRjaCIpOwotQXJnLlVzZUFkZHIgPSBTeW1ib2woIlVzZUFkZHIiKTsKLQpJbmRleDog
UGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvYmFzaWNfYmxvY2suanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvYmFzaWNfYmxvY2su
anMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gv
QWlyL2Jhc2ljX2Jsb2NrLmpzCShub25leGlzdGVudCkKQEAgLTEsMTM1ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQot
Y2xhc3MgQmFzaWNCbG9jayB7Ci0gICAgY29uc3RydWN0b3IoaW5kZXgsIGZyZXF1ZW5jeSkKLSAg
ICB7Ci0gICAgICAgIHRoaXMuX2luZGV4ID0gaW5kZXg7Ci0gICAgICAgIHRoaXMuX2ZyZXF1ZW5j
eSA9IGZyZXF1ZW5jeTsKLSAgICAgICAgdGhpcy5faW5zdHMgPSBbXTsKLSAgICAgICAgdGhpcy5f
c3VjY2Vzc29ycyA9IFtdOwotICAgICAgICB0aGlzLl9wcmVkZWNlc3NvcnMgPSBbXTsKLSAgICB9
Ci0gICAgCi0gICAgZ2V0IGluZGV4KCkgeyByZXR1cm4gdGhpcy5faW5kZXg7IH0KLSAgICBnZXQg
c2l6ZSgpIHsgcmV0dXJuIHRoaXMuX2luc3RzLmxlbmd0aDsgfQotICAgIAotICAgIFtTeW1ib2wu
aXRlcmF0b3JdKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9pbnN0c1tTeW1ib2wuaXRl
cmF0b3JdKCk7Ci0gICAgfQotICAgIAotICAgIGF0KGluZGV4KQotICAgIHsKLSAgICAgICAgaWYg
KGluZGV4ID49IHRoaXMuX2luc3RzLmxlbmd0aCkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJv
cigiT3V0IG9mIGJvdW5kcyBhY2Nlc3MiKTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RzW2lu
ZGV4XTsKLSAgICB9Ci0gICAgCi0gICAgZ2V0KGluZGV4KQotICAgIHsKLSAgICAgICAgaWYgKGlu
ZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLl9pbnN0cy5sZW5ndGgpCi0gICAgICAgICAgICByZXR1
cm4gbnVsbDsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RzW2luZGV4XTsKLSAgICB9Ci0gICAg
Ci0gICAgZ2V0IGxhc3QoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2luc3RzW3RoaXMu
X2luc3RzLmxlbmd0aCAtIDFdOwotICAgIH0KLSAgICAKLSAgICBnZXQgaW5zdHMoKSB7IHJldHVy
biB0aGlzLl9pbnN0czsgfQotICAgIAotICAgIGFwcGVuZChpbnN0KSB7IHRoaXMuX2luc3RzLnB1
c2goaW5zdCk7IH0KLSAgICAKLSAgICBnZXQgbnVtU3VjY2Vzc29ycygpIHsgcmV0dXJuIHRoaXMu
X3N1Y2Nlc3NvcnMubGVuZ3RoOyB9Ci0gICAgc3VjY2Vzc29yKGluZGV4KSB7IHJldHVybiB0aGlz
Ll9zdWNjZXNzb3JzW2luZGV4XTsgfQotICAgIGdldCBzdWNjZXNzb3JzKCkgeyByZXR1cm4gdGhp
cy5fc3VjY2Vzc29yczsgfQotICAgIAotICAgIHN1Y2Nlc3NvckJsb2NrKGluZGV4KSB7IHJldHVy
biB0aGlzLl9zdWNjZXNzb3JzW2luZGV4XS5ibG9jazsgfQotICAgIGdldCBzdWNjZXNzb3JCbG9j
a3MoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyBQcm94eSh0aGlzLl9zdWNjZXNzb3JzLCB7
Ci0gICAgICAgICAgICBnZXQodGFyZ2V0LCBwcm9wZXJ0eSkgewotICAgICAgICAgICAgICAgIGlm
ICh0eXBlb2YgcHJvcGVydHkgPT0gInN0cmluZyIKLSAgICAgICAgICAgICAgICAgICAgJiYgKHBy
b3BlcnR5IHwgMCkgPT0gcHJvcGVydHkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXJn
ZXRbcHJvcGVydHldLmJsb2NrOwotICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXRbcHJvcGVy
dHldOwotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIAotICAgICAgICAgICAgc2V0KHRhcmdl
dCwgcHJvcGVydHksIHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBwcm9wZXJ0
eSA9PSAic3RyaW5nIgotICAgICAgICAgICAgICAgICAgICAmJiAocHJvcGVydHkgfCAwKSA9PSBw
cm9wZXJ0eSkgewotICAgICAgICAgICAgICAgICAgICB2YXIgb2xkVmFsdWUgPSB0YXJnZXRbcHJv
cGVydHldOwotICAgICAgICAgICAgICAgICAgICB0YXJnZXRbcHJvcGVydHldID0gbmV3IEZyZXF1
ZW50ZWRCbG9jaygKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBvbGRWYWx1ZSA/IG9s
ZFZhbHVlLmZyZXF1ZW5jeSA6IE5vcm1hbCk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgdGFy
Z2V0W3Byb3BlcnR5XSA9IHZhbHVlOwotICAgICAgICAgICAgfQotICAgICAgICB9KTsKLSAgICB9
Ci0gICAgCi0gICAgZ2V0IG51bVByZWRlY2Vzc29ycygpIHsgcmV0dXJuIHRoaXMuX3ByZWRlY2Vz
c29ycy5sZW5ndGg7IH0KLSAgICBwcmVkZWNlc3NvcihpbmRleCkgeyByZXR1cm4gdGhpcy5fcHJl
ZGVjZXNzb3JzW2luZGV4XTsgfQotICAgIGdldCBwcmVkZWNlc3NvcnMoKSB7IHJldHVybiB0aGlz
Ll9wcmVkZWNlc3NvcnM7IH0KLSAgICAKLSAgICBnZXQgZnJlcXVlbmN5KCkgeyByZXR1cm4gdGhp
cy5fZnJlcXVlbmN5OyB9Ci0KLSAgICB0b1N0cmluZygpCi0gICAgewotICAgICAgICByZXR1cm4g
IiMiICsgdGhpcy5faW5kZXg7Ci0gICAgfQotICAgIAotICAgIGdldCBoZWFkZXJTdHJpbmcoKQot
ICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9ICIiOwotICAgICAgICByZXN1bHQgKz0gYEJCJHt0
aGlzfTogOyBmcmVxdWVuY3kgPSAke3RoaXMuX2ZyZXF1ZW5jeX1cbmA7Ci0gICAgICAgIGlmICh0
aGlzLl9wcmVkZWNlc3NvcnMubGVuZ3RoKQotICAgICAgICAgICAgcmVzdWx0ICs9ICIgIFByZWRl
Y2Vzc29yczogIiArIHRoaXMuX3ByZWRlY2Vzc29ycy5qb2luKCIsICIpICsgIlxuIjsKLSAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGZvb3RlclN0cmluZygpCi0g
ICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gIiI7Ci0gICAgICAgIGlmICh0aGlzLl9zdWNjZXNz
b3JzLmxlbmd0aCkKLSAgICAgICAgICAgIHJlc3VsdCArPSAiICBTdWNjZXNzb3JzOiAiICsgdGhp
cy5fc3VjY2Vzc29ycy5qb2luKCIsICIpICsgIlxuIjsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsK
LSAgICB9Ci0gICAgCi0gICAgdG9TdHJpbmdEZWVwKCkKLSAgICB7Ci0gICAgICAgIGxldCByZXN1
bHQgPSAiIjsKLSAgICAgICAgcmVzdWx0ICs9IHRoaXMuaGVhZGVyU3RyaW5nOwotICAgICAgICBm
b3IgKGxldCBpbnN0IG9mIHRoaXMpCi0gICAgICAgICAgICByZXN1bHQgKz0gYCAgICAke2luc3R9
XG5gOwotICAgICAgICByZXN1bHQgKz0gdGhpcy5mb290ZXJTdHJpbmc7Ci0gICAgICAgIHJldHVy
biByZXN1bHQ7Ci0gICAgfQotfQotCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJl
bmNoL0Fpci9iZW5jaG1hcmsuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZT
YW1wbGVCZW5jaC9BaXIvYmVuY2htYXJrLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3Jt
YW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9iZW5jaG1hcmsuanMJKG5vbmV4aXN0ZW50KQpA
QCAtMSw4NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAot
ICovCi0idXNlIHN0cmljdCI7Ci0KLWNsYXNzIEFpckJlbmNobWFyayB7Ci0gICAgY29uc3RydWN0
b3IodmVyYm9zZSA9IDApCi0gICAgewotICAgICAgICB0aGlzLl92ZXJib3NlID0gdmVyYm9zZTsK
LSAgICAgICAgCi0gICAgICAgIHRoaXMuX3BheWxvYWRzID0gWwotICAgICAgICAgICAge2dlbmVy
YXRlOiBjcmVhdGVQYXlsb2FkR2JlbXVFeGVjdXRlSXRlcmF0aW9uLCBlYXJseUhhc2g6IDYzMjY1
MzE0NCwgbGF0ZUhhc2g6IDM3MjcxNTUxOH0sCi0gICAgICAgICAgICB7Z2VuZXJhdGU6IGNyZWF0
ZVBheWxvYWRJbWFnaW5nR2F1c3NpYW5CbHVyR2F1c3NpYW5CbHVyLCBlYXJseUhhc2g6IDM2Nzc4
MTk1ODEsIGxhdGVIYXNoOiAxMjUyMTE2MzA0fSwKLSAgICAgICAgICAgIHtnZW5lcmF0ZTogY3Jl
YXRlUGF5bG9hZFR5cGVzY3JpcHRTY2FuSWRlbnRpZmllciwgZWFybHlIYXNoOiAxOTE0ODUyNjAx
LCBsYXRlSGFzaDogODM3MzM5NTUxfSwKLSAgICAgICAgICAgIHtnZW5lcmF0ZTogY3JlYXRlUGF5
bG9hZEFpckpTQUNMajhDLCBlYXJseUhhc2g6IDEzNzM1OTk5NDAsIGxhdGVIYXNoOiAzOTgxMjgz
NjAwfQotICAgICAgICBdOwotICAgIH0KLSAgICAKLSAgICBydW5JdGVyYXRpb24oKQotICAgIHsK
LSAgICAgICAgZm9yIChsZXQgcGF5bG9hZCBvZiB0aGlzLl9wYXlsb2FkcykgewotICAgICAgICAg
ICAgLy8gU2FkbHkgYWJvdXQgMTclIG9mIG91ciB0aW1lIGlzIGluIGdlbmVyYXRlLiBJIGRvbid0
IHRoaW5rIHRoYXQncyByZWFsbHkgYXZvaWRhYmxlLAotICAgICAgICAgICAgLy8gYW5kIEkgZG9u
J3QgbWluZCB0ZXN0aW5nIFZNcycgYWJpbGl0eSB0byBydW4gc3VjaCAiZGF0YSBkZWZpbml0aW9u
IiBjb2RlIHF1aWNrbHkuIEkKLSAgICAgICAgICAgIC8vIHdvdWxkIG5vdCBoYXZlIGV4cGVjdGVk
IGl0IHRvIGJlIHNvIHNsb3cgZnJvbSBmaXJzdCBwcmluY2lwbGVzIQotICAgICAgICAgICAgbGV0
IGNvZGUgPSBwYXlsb2FkLmdlbmVyYXRlKCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlm
ICh0aGlzLl92ZXJib3NlKSB7Ci0gICAgICAgICAgICAgICAgcHJpbnQoIkJlZm9yZSBhbGxvY2F0
ZVN0YWNrOiIpOwotICAgICAgICAgICAgICAgIHByaW50KGNvZGUpOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgCi0gICAgICAgICAgICBsZXQgaGFzaCA9IGNvZGUuaGFzaCgpOwotICAgICAg
ICAgICAgaWYgKGhhc2ggIT0gcGF5bG9hZC5lYXJseUhhc2gpCi0gICAgICAgICAgICAgICAgdGhy
b3cgbmV3IEVycm9yKGBXcm9uZyBlYXJseSBoYXNoIGZvciAke3BheWxvYWQuZ2VuZXJhdGUubmFt
ZX06ICR7aGFzaH1gKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgYWxsb2NhdGVTdGFjayhj
b2RlKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgKHRoaXMuX3ZlcmJvc2UpIHsKLSAg
ICAgICAgICAgICAgICBwcmludCgiQWZ0ZXIgYWxsb2NhdGVTdGFjazoiKTsKLSAgICAgICAgICAg
ICAgICBwcmludChjb2RlKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaGFzaCA9IGNv
ZGUuaGFzaCgpOwotICAgICAgICAgICAgaWYgKGhhc2ggIT0gcGF5bG9hZC5sYXRlSGFzaCkKLSAg
ICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFdyb25nIGxhdGUgaGFzaCBmb3IgJHtwYXls
b2FkLmdlbmVyYXRlLm5hbWV9OiAke2hhc2h9YCk7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLWZ1
bmN0aW9uIHJ1bkJlbmNobWFyaygpCi17Ci0gICAgY29uc3QgdmVyYm9zZSA9IDA7Ci0gICAgY29u
c3QgbnVtSXRlcmF0aW9ucyA9IDE1MDsKLSAgICAKLSAgICBsZXQgYmVmb3JlID0gY3VycmVudFRp
bWUoKTsKLSAgICAKLSAgICBsZXQgYmVuY2htYXJrID0gbmV3IEFpckJlbmNobWFyayh2ZXJib3Nl
KTsKLSAgICAKLSAgICBmb3IgKGxldCBpdGVyYXRpb24gPSAwOyBpdGVyYXRpb24gPCBudW1JdGVy
YXRpb25zOyArK2l0ZXJhdGlvbikKLSAgICAgICAgYmVuY2htYXJrLnJ1bkl0ZXJhdGlvbigpOwot
ICAgIAotICAgIGxldCBhZnRlciA9IGN1cnJlbnRUaW1lKCk7Ci0gICAgcmV0dXJuIGFmdGVyIC0g
YmVmb3JlOwotfQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvY29k
ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9j
b2RlLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJl
bmNoL0Fpci9jb2RlLmpzCShub25leGlzdGVudCkKQEAgLTEsMTIyICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xh
c3MgQ29kZSB7Ci0gICAgY29uc3RydWN0b3IoKQotICAgIHsKLSAgICAgICAgdGhpcy5fYmxvY2tz
ID0gW107Ci0gICAgICAgIHRoaXMuX3N0YWNrU2xvdHMgPSBbXTsKLSAgICAgICAgdGhpcy5fZ3BU
bXBzID0gW107Ci0gICAgICAgIHRoaXMuX2ZwVG1wcyA9IFtdOwotICAgICAgICB0aGlzLl9jYWxs
QXJnQXJlYVNpemUgPSAwOwotICAgICAgICB0aGlzLl9mcmFtZVNpemUgPSAwOwotICAgIH0KLSAg
ICAKLSAgICBhZGRCbG9jayhmcmVxdWVuY3kgPSAxKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFk
ZEluZGV4ZWQodGhpcy5fYmxvY2tzLCBCYXNpY0Jsb2NrLCBmcmVxdWVuY3kpOwotICAgIH0KLSAg
ICAKLSAgICBhZGRTdGFja1Nsb3QoYnl0ZVNpemUsIGtpbmQpCi0gICAgewotICAgICAgICByZXR1
cm4gYWRkSW5kZXhlZCh0aGlzLl9zdGFja1Nsb3RzLCBTdGFja1Nsb3QsIGJ5dGVTaXplLCBraW5k
KTsKLSAgICB9Ci0gICAgCi0gICAgbmV3VG1wKHR5cGUpCi0gICAgewotICAgICAgICByZXR1cm4g
YWRkSW5kZXhlZCh0aGlzW2BfJHtsb3dlclN5bWJvbE5hbWUodHlwZSl9VG1wc2BdLCBUbXAsIHR5
cGUpOwotICAgIH0KLSAgICAKLSAgICBnZXQgc2l6ZSgpIHsgcmV0dXJuIHRoaXMuX2Jsb2Nrcy5s
ZW5ndGg7IH0KLSAgICBhdChpbmRleCkgeyByZXR1cm4gdGhpcy5fYmxvY2tzW2luZGV4XTsgfQot
ICAgIAotICAgIFtTeW1ib2wuaXRlcmF0b3JdKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlz
Ll9ibG9ja3NbU3ltYm9sLml0ZXJhdG9yXSgpOwotICAgIH0KLSAgICAKLSAgICBnZXQgYmxvY2tz
KCkgeyByZXR1cm4gdGhpcy5fYmxvY2tzOyB9Ci0gICAgZ2V0IHN0YWNrU2xvdHMoKSB7IHJldHVy
biB0aGlzLl9zdGFja1Nsb3RzOyB9Ci0gICAgCi0gICAgdG1wcyh0eXBlKSB7IHJldHVybiB0aGlz
W2BfJHtsb3dlclN5bWJvbE5hbWUodHlwZSl9VG1wc2BdOyB9Ci0gICAgCi0gICAgZ2V0IGNhbGxB
cmdBcmVhU2l6ZSgpIHsgcmV0dXJuIHRoaXMuX2NhbGxBcmdBcmVhU2l6ZTsgfQotICAgIAotICAg
IHJlcXVlc3RDYWxsQXJnQXJlYVNpemUoc2l6ZSkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2NhbGxB
cmdBcmVhU2l6ZSA9IE1hdGgubWF4KHRoaXMuX2NhbGxBcmdBcmVhU2l6ZSwgcm91bmRVcFRvTXVs
dGlwbGVPZihzdGFja0FsaWdubWVudEJ5dGVzLCBzaXplKSk7Ci0gICAgfQotICAgIAotICAgIGdl
dCBmcmFtZVNpemUoKSB7IHJldHVybiB0aGlzLl9mcmFtZVNpemU7IH0KLSAgICAKLSAgICBzZXRG
cmFtZVNpemUoZnJhbWVTaXplKSB7IHRoaXMuX2ZyYW1lU2l6ZSA9IGZyYW1lU2l6ZTsgfQotICAg
IAotICAgIGhhc2goKQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IDA7Ci0gICAgICAgIGZv
ciAobGV0IGJsb2NrIG9mIHRoaXMpIHsKLSAgICAgICAgICAgIHJlc3VsdCAqPSAxMDAwMDAxOwot
ICAgICAgICAgICAgcmVzdWx0IHw9IDA7Ci0gICAgICAgICAgICBmb3IgKGxldCBpbnN0IG9mIGJs
b2NrKSB7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ICo9IDk3OwotICAgICAgICAgICAgICAgIHJl
c3VsdCB8PSAwOwotICAgICAgICAgICAgICAgIHJlc3VsdCArPSBpbnN0Lmhhc2goKTsKLSAgICAg
ICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGZvciAo
bGV0IHN1Y2Nlc3NvciBvZiBibG9jay5zdWNjZXNzb3JCbG9ja3MpIHsKLSAgICAgICAgICAgICAg
ICByZXN1bHQgKj0gNzsKLSAgICAgICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAgICAgICAgICAg
ICAgICByZXN1bHQgKz0gc3VjY2Vzc29yLmluZGV4OwotICAgICAgICAgICAgICAgIHJlc3VsdCB8
PSAwOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGZvciAobGV0IHNsb3Qgb2Yg
dGhpcy5zdGFja1Nsb3RzKSB7Ci0gICAgICAgICAgICByZXN1bHQgKj0gMTAxOwotICAgICAgICAg
ICAgcmVzdWx0IHw9IDA7Ci0gICAgICAgICAgICByZXN1bHQgKz0gc2xvdC5oYXNoKCk7Ci0gICAg
ICAgICAgICByZXN1bHQgfD0gMDsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gcmVzdWx0ID4+
PiAwOwotICAgIH0KLSAgICAKLSAgICB0b1N0cmluZygpCi0gICAgewotICAgICAgICBsZXQgcmVz
dWx0ID0gIiI7Ci0gICAgICAgIGZvciAobGV0IGJsb2NrIG9mIHRoaXMpIHsKLSAgICAgICAgICAg
IHJlc3VsdCArPSBibG9jay50b1N0cmluZ0RlZXAoKTsKLSAgICAgICAgfQotICAgICAgICBpZiAo
dGhpcy5zdGFja1Nsb3RzLmxlbmd0aCkgewotICAgICAgICAgICAgcmVzdWx0ICs9ICJTdGFjayBz
bG90czpcbiI7Ci0gICAgICAgICAgICBmb3IgKGxldCBzbG90IG9mIHRoaXMuc3RhY2tTbG90cykK
LSAgICAgICAgICAgICAgICByZXN1bHQgKz0gYCAgICAke3Nsb3R9XG5gOwotICAgICAgICB9Ci0g
ICAgICAgIGlmICh0aGlzLl9mcmFtZVNpemUpCi0gICAgICAgICAgICByZXN1bHQgKz0gYEZyYW1l
IHNpemU6ICR7dGhpcy5fZnJhbWVTaXplfVxuYDsKLSAgICAgICAgaWYgKHRoaXMuX2NhbGxBcmdB
cmVhU2l6ZSkKLSAgICAgICAgICAgIHJlc3VsdCArPSBgQ2FsbCBhcmcgYXJlYSBzaXplOiAke3Ro
aXMuX2NhbGxBcmdBcmVhU2l6ZX1cbmA7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQot
fQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvY3VzdG9tLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2N1c3RvbS5q
cwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9B
aXIvY3VzdG9tLmpzCShub25leGlzdGVudCkKQEAgLTEsMTAzICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY29uc3Qg
U2h1ZmZsZUN1c3RvbSA9IHsKLSAgICBmb3JFYWNoQXJnKGluc3QsIGZ1bmMpCi0gICAgewotICAg
ICAgICB2YXIgbGltaXQgPSBNYXRoLmZsb29yKGluc3QuYXJncy5sZW5ndGggLyAzKSAqIDM7Ci0g
ICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGltaXQ7IGkgKz0gMykgewotICAgICAgICAgICAg
bGV0IHNyYyA9IGluc3QuYXJnc1tpICsgMF07Ci0gICAgICAgICAgICBsZXQgZHN0ID0gaW5zdC5h
cmdzW2kgKyAxXTsKLSAgICAgICAgICAgIGxldCB3aWR0aEFyZyA9IGluc3QuYXJnc1tpICsgMl07
Ci0gICAgICAgICAgICBsZXQgd2lkdGggPSB3aWR0aEFyZy53aWR0aDsKLSAgICAgICAgICAgIGxl
dCB0eXBlID0gc3JjLmlzR1AgJiYgZHN0LmlzR1AgPyBHUCA6IEZQOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZyhpICsgMCwgZnVuYywgQXJnLlVzZSwgdHlwZSwgd2lkdGgpOwotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZyhpICsgMSwgZnVuYywgQXJnLkRlZiwgdHlwZSwgd2lkdGgpOwotICAg
ICAgICAgICAgaW5zdC52aXNpdEFyZyhpICsgMiwgZnVuYywgQXJnLlVzZSwgR1AsIDgpOwotICAg
ICAgICB9Ci0gICAgfSwKLSAgICAKLSAgICBoYXNOb25BcmdOb25Db250cm9sRWZmZWN0cyhpbnN0
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLX07Ci0KLWNvbnN0IFBhdGNo
Q3VzdG9tID0gewotICAgIGZvckVhY2hBcmcoaW5zdCwgZnVuYykKLSAgICB7Ci0gICAgICAgIGZv
ciAobGV0IGkgPSAwOyBpIDwgaW5zdC5hcmdzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBs
ZXQge3R5cGUsIHJvbGUsIHdpZHRofSA9IGluc3QucGF0Y2hBcmdEYXRhW2ldOwotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZyhpLCBmdW5jLCByb2xlLCB0eXBlLCB3aWR0aCk7Ci0gICAgICAgIH0K
LSAgICB9LAotICAgIAotICAgIGhhc05vbkFyZ05vbkNvbnRyb2xFZmZlY3RzKGluc3QpCi0gICAg
ewotICAgICAgICByZXR1cm4gaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHM7Ci0gICAgfQotfTsK
LQotY29uc3QgQ0NhbGxDdXN0b20gPSB7Ci0gICAgZm9yRWFjaEFyZyhpbnN0LCBmdW5jKQotICAg
IHsKLSAgICAgICAgbGV0IGluZGV4ID0gMDsKLSAgICAgICAgaW5zdC52aXNpdEFyZyhpbmRleCsr
LCBmdW5jLCBBcmcuVXNlLCBHUCwgUHRyKTsgLy8gY2FsbGVlCi0gICAgICAgIAotICAgICAgICBp
ZiAoaW5zdC5jQ2FsbFR5cGUgIT0gVm9pZCkgewotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygK
LSAgICAgICAgICAgICAgICBpbmRleCsrLCBmdW5jLCBBcmcuRGVmLCBBcmcudHlwZUZvckIzVHlw
ZShpbnN0LmNDYWxsVHlwZSksCi0gICAgICAgICAgICAgICAgQXJnLndpZHRoRm9yQjNUeXBlKGlu
c3QuY0NhbGxUeXBlKSk7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZvciAobGV0IHR5
cGUgb2YgaW5zdC5jQ2FsbEFyZ1R5cGVzKSB7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKAot
ICAgICAgICAgICAgICAgIGluZGV4KyssIGZ1bmMsIEFyZy5Vc2UsIEFyZy50eXBlRm9yQjNUeXBl
KHR5cGUpLCBBcmcud2lkdGhGb3JCM1R5cGUodHlwZSkpOwotICAgICAgICB9Ci0gICAgfSwKLSAg
ICAKLSAgICBoYXNOb25BcmdOb25Db250cm9sRWZmZWN0cyhpbnN0KQotICAgIHsKLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgfQotfTsKLQotY29uc3QgQ29sZENDYWxsQ3VzdG9tID0gewotICAg
IGZvckVhY2hBcmcoaW5zdCwgZnVuYykKLSAgICB7Ci0gICAgICAgIENDYWxsQ3VzdG9tLmZvckVh
Y2hBcmcoCi0gICAgICAgICAgICBpbnN0LAotICAgICAgICAgICAgKGFyZywgcm9sZSwgdHlwZSwg
d2lkdGgpID0+IHsKLSAgICAgICAgICAgICAgICByZXR1cm4gZnVuYyhhcmcsIEFyZy5jb29sZWQo
cm9sZSksIHR5cGUsIHdpZHRoKTsKLSAgICAgICAgICAgIH0pOwotICAgIH0sCi0gICAgCi0gICAg
aGFzTm9uQXJnTm9uQ29udHJvbEVmZmVjdHMoaW5zdCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0
cnVlOwotICAgIH0KLX07Ci0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gv
QWlyL2ZyZXF1ZW50ZWRfYmxvY2suanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9F
UzZTYW1wbGVCZW5jaC9BaXIvZnJlcXVlbnRlZF9ibG9jay5qcwkocmV2aXNpb24gMjExNjg4KQor
KysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvZnJlcXVlbnRlZF9ibG9jay5q
cwkobm9uZXhpc3RlbnQpCkBAIC0xLDM4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgRnJlcXVlbnRlZEJs
b2NrIHsKLSAgICBjb25zdHJ1Y3RvcihibG9jaywgZnJlcXVlbmN5KQotICAgIHsKLSAgICAgICAg
dGhpcy5ibG9jayA9IGJsb2NrOwotICAgICAgICB0aGlzLmZyZXF1ZW5jeSA9IGZyZXF1ZW5jeTsK
LSAgICB9Ci0gICAgCi0gICAgdG9TdHJpbmcoKQotICAgIHsKLSAgICAgICAgcmV0dXJuICh0aGlz
LmZyZXF1ZW5jeSA9PSBOb3JtYWwgPyAiIiA6ICJSYXJlOiIpICsgdGhpcy5ibG9jazsKLSAgICB9
Ci19CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9pbnNlcnRpb25f
c2V0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWly
L2luc2VydGlvbl9zZXQuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMv
RVM2U2FtcGxlQmVuY2gvQWlyL2luc2VydGlvbl9zZXQuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSw4
OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0i
dXNlIHN0cmljdCI7Ci0KLWNsYXNzIEluc2VydGlvbiB7Ci0gICAgY29uc3RydWN0b3IoaW5kZXgs
IGVsZW1lbnQpCi0gICAgewotICAgICAgICB0aGlzLl9pbmRleCA9IGluZGV4OwotICAgICAgICB0
aGlzLl9lbGVtZW50ID0gZWxlbWVudDsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGluZGV4KCkgeyBy
ZXR1cm4gdGhpcy5faW5kZXg7IH0KLSAgICBnZXQgZWxlbWVudCgpIHsgcmV0dXJuIHRoaXMuX2Vs
ZW1lbnQ7IH0KLSAgICAKLSAgICBsZXNzVGhhbihvdGhlcikKLSAgICB7Ci0gICAgICAgIHJldHVy
biB0aGlzLl9pbmRleCA8IG90aGVyLl9pbmRleDsKLSAgICB9Ci19Ci0KLWNsYXNzIEluc2VydGlv
blNldCB7Ci0gICAgY29uc3RydWN0b3IoKQotICAgIHsKLSAgICAgICAgdGhpcy5faW5zZXJ0aW9u
cyA9IFtdCi0gICAgfQotICAgIAotICAgIGFwcGVuZEluc2VydGlvbihpbnNlcnRpb24pCi0gICAg
ewotICAgICAgICB0aGlzLl9pbnNlcnRpb25zLnB1c2goaW5zZXJ0aW9uKTsKLSAgICB9Ci0gICAg
Ci0gICAgYXBwZW5kKGluZGV4LCBlbGVtZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5hcHBlbmRJ
bnNlcnRpb24obmV3IEluc2VydGlvbihpbmRleCwgZWxlbWVudCkpOwotICAgIH0KLSAgICAKLSAg
ICBleGVjdXRlKHRhcmdldCkKLSAgICB7Ci0gICAgICAgIC8vIFdlIGJ1YmJsZS1zb3J0IGJlY2F1
c2UgdGhhdCdzIHdoYXQgdGhlIEMrKyBjb2RlLCBhbmQgZm9yIHRoZSBzYW1lIHJlYXNvbiBhcyB3
ZSBkbyBpdDoKLSAgICAgICAgLy8gdGhlIHN0ZGxpYiBkb2Vzbid0IGhhdmUgYSBzdGFibGUgc29y
dCBhbmQgbWVyZ2Vzb3J0IGlzIHNsb3dlciBpbiB0aGUgY29tbW9uIGNhc2Ugb2YgdGhlCi0gICAg
ICAgIC8vIGFycmF5IHVzdWFsbHkgYmVpbmcgc29ydGVkLiBUaGlzIGFycmF5IGlzIHVzdWFsbHkg
c29ydGVkLgotICAgICAgICBidWJibGVTb3J0KHRoaXMuX2luc2VydGlvbnMsIChhLCBiKSA9PiAo
YS5sZXNzVGhhbihiKSkpOwotICAgICAgICAKLSAgICAgICAgbGV0IG51bUluc2VydGlvbnMgPSB0
aGlzLl9pbnNlcnRpb25zLmxlbmd0aDsKLSAgICAgICAgaWYgKCFudW1JbnNlcnRpb25zKQotICAg
ICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIGxldCBvcmlnaW5hbFRhcmdldFNpemUgPSB0YXJn
ZXQubGVuZ3RoOwotICAgICAgICB0YXJnZXQubGVuZ3RoICs9IG51bUluc2VydGlvbnM7Ci0gICAg
ICAgIGxldCBsYXN0SW5kZXggPSB0YXJnZXQubGVuZ3RoOwotICAgICAgICBmb3IgKGxldCBpbmRl
eEluSW5zZXJ0aW9ucyA9IG51bUluc2VydGlvbnM7IGluZGV4SW5JbnNlcnRpb25zLS07KSB7Ci0g
ICAgICAgICAgICBsZXQgaW5zZXJ0aW9uID0gdGhpcy5faW5zZXJ0aW9uc1tpbmRleEluSW5zZXJ0
aW9uc107Ci0gICAgICAgICAgICBpZiAoaW5kZXhJbkluc2VydGlvbnMgJiYgaW5zZXJ0aW9uLmlu
ZGV4IDwgdGhpcy5faW5zZXJ0aW9uc1tpbmRleEluSW5zZXJ0aW9ucyAtIDFdLmluZGV4KQotICAg
ICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiSW5zZXJ0aW9ucyBvdXQgb2Ygb3JkZXIiKTsK
LSAgICAgICAgICAgIGlmIChpbnNlcnRpb24uaW5kZXggPiBvcmlnaW5hbFRhcmdldFNpemUpCi0g
ICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJPdXQtb2YtYm91bmRzIGluc2VydGlvbiIp
OwotICAgICAgICAgICAgbGV0IGZpcnN0SW5kZXggPSBpbnNlcnRpb24uaW5kZXggKyBpbmRleElu
SW5zZXJ0aW9uczsKLSAgICAgICAgICAgIGxldCBpbmRleE9mZnNldCA9IGluZGV4SW5JbnNlcnRp
b25zICsgMTsKLSAgICAgICAgICAgIGZvciAobGV0IGkgPSBsYXN0SW5kZXg7IC0taSA+IGZpcnN0
SW5kZXg7KQotICAgICAgICAgICAgICAgIHRhcmdldFtpXSA9IHRhcmdldFtpIC0gaW5kZXhPZmZz
ZXRdOwotICAgICAgICAgICAgdGFyZ2V0W2ZpcnN0SW5kZXhdID0gaW5zZXJ0aW9uLmVsZW1lbnQ7
Ci0gICAgICAgICAgICBsYXN0SW5kZXggPSBmaXJzdEluZGV4OwotICAgICAgICB9Ci0gICAgICAg
IHRoaXMuX2luc2VydGlvbnMgPSBbXTsKLSAgICAgICAgcmV0dXJuIG51bUluc2VydGlvbnM7Ci0g
ICAgfQotfQotCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9pbnN0
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2lu
c3QuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVu
Y2gvQWlyL2luc3QuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNDMgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1jbGFz
cyBJbnN0IHsKLSAgICBjb25zdHJ1Y3RvcihvcGNvZGUsIGFyZ3MgPSBbXSkKLSAgICB7Ci0gICAg
ICAgIHRoaXMuX29wY29kZSA9IG9wY29kZTsKLSAgICAgICAgdGhpcy5fYXJncyA9IGFyZ3M7Ci0g
ICAgfQotICAgIAotICAgIGFwcGVuZCguLi5hcmdzKQotICAgIHsKLSAgICAgICAgdGhpcy5fYXJn
cy5wdXNoKC4uLmFyZ3MpOwotICAgIH0KLSAgICAKLSAgICBjbGVhcigpCi0gICAgewotICAgICAg
ICB0aGlzLl9vcGNvZGUgPSBOb3A7Ci0gICAgICAgIHRoaXMuX2FyZ3MgPSBbXTsKLSAgICB9Ci0g
ICAgCi0gICAgZ2V0IG9wY29kZSgpIHsgcmV0dXJuIHRoaXMuX29wY29kZTsgfQotICAgIGdldCBh
cmdzKCkgeyByZXR1cm4gdGhpcy5fYXJnczsgfQotICAgIAotICAgIHZpc2l0QXJnKGluZGV4LCBm
dW5jLCAuLi5hcmdzKQotICAgIHsKLSAgICAgICAgbGV0IHJlcGxhY2VtZW50ID0gZnVuYyh0aGlz
Ll9hcmdzW2luZGV4XSwgLi4uYXJncyk7Ci0gICAgICAgIGlmIChyZXBsYWNlbWVudCkKLSAgICAg
ICAgICAgIHRoaXMuX2FyZ3NbaW5kZXhdID0gcmVwbGFjZW1lbnQ7Ci0gICAgfQotICAgIAotICAg
IGZvckVhY2hUbXBGYXN0KGZ1bmMpCi0gICAgewotICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8
IHRoaXMuX2FyZ3MubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIGxldCByZXBsYWNlbWVudDsK
LSAgICAgICAgICAgIGlmIChyZXBsYWNlbWVudCA9IHRoaXMuX2FyZ3NbaV0uZm9yRWFjaFRtcEZh
c3QoZnVuYykpCi0gICAgICAgICAgICAgICAgdGhpcy5fYXJnc1tpXSA9IHJlcGxhY2VtZW50Owot
ICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIGZvckVhY2hBcmcoZnVuYykKLSAgICB7Ci0gICAg
ICAgIEluc3RfZm9yRWFjaEFyZyh0aGlzLCBmdW5jKTsKLSAgICB9Ci0gICAgCi0gICAgZm9yRWFj
aFRtcChmdW5jKQotICAgIHsKLSAgICAgICAgdGhpcy5mb3JFYWNoQXJnKChhcmcsIHJvbGUsIHR5
cGUsIHdpZHRoKSA9PiB7Ci0gICAgICAgICAgICByZXR1cm4gYXJnLmZvckVhY2hUbXAocm9sZSwg
dHlwZSwgd2lkdGgsIGZ1bmMpOwotICAgICAgICB9KTsKLSAgICB9Ci0gICAgCi0gICAgZm9yRWFj
aCh0aGluZywgZnVuYykKLSAgICB7Ci0gICAgICAgIHRoaXMuZm9yRWFjaEFyZygoYXJnLCByb2xl
LCB0eXBlLCB3aWR0aCkgPT4gewotICAgICAgICAgICAgcmV0dXJuIGFyZy5mb3JFYWNoKHRoaW5n
LCByb2xlLCB0eXBlLCB3aWR0aCwgZnVuYyk7Ci0gICAgICAgIH0pOwotICAgIH0KLSAgICAKLSAg
ICBzdGF0aWMgZm9yRWFjaERlZih0aGluZywgcHJldkluc3QsIG5leHRJbnN0LCBmdW5jKQotICAg
IHsKLSAgICAgICAgaWYgKHByZXZJbnN0KSB7Ci0gICAgICAgICAgICBwcmV2SW5zdC5mb3JFYWNo
KAotICAgICAgICAgICAgICAgIHRoaW5nLAotICAgICAgICAgICAgICAgICh2YWx1ZSwgcm9sZSwg
dHlwZSwgd2lkdGgpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKEFyZy5pc0xhdGVEZWYo
cm9sZSkpCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnVuYyh2YWx1ZSwgcm9sZSwg
dHlwZSwgd2lkdGgpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgICAgIAot
ICAgICAgICBpZiAobmV4dEluc3QpIHsKLSAgICAgICAgICAgIG5leHRJbnN0LmZvckVhY2goCi0g
ICAgICAgICAgICAgICAgdGhpbmcsCi0gICAgICAgICAgICAgICAgKHZhbHVlLCByb2xlLCB0eXBl
LCB3aWR0aCkgPT4gewotICAgICAgICAgICAgICAgICAgICBpZiAoQXJnLmlzRWFybHlEZWYocm9s
ZSkpCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZnVuYyh2YWx1ZSwgcm9sZSwgdHlw
ZSwgd2lkdGgpOwotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgfQotICAgIAot
ICAgIHN0YXRpYyBmb3JFYWNoRGVmV2l0aEV4dHJhQ2xvYmJlcmVkUmVncyh0aGluZywgcHJldklu
c3QsIG5leHRJbnN0LCBmdW5jKQotICAgIHsKLSAgICAgICAgZm9yRWFjaERlZih0aGluZywgcHJl
dkluc3QsIG5leHRJbnN0LCBmdW5jKTsKLSAgICAgICAgCi0gICAgICAgIGxldCByZWdEZWZSb2xl
OwotICAgICAgICAKLSAgICAgICAgbGV0IHJlcG9ydFJlZyA9IHJlZyA9PiB7Ci0gICAgICAgICAg
ICBsZXQgdHlwZSA9IHJlZy5pc0dQUiA/IEdQIDogRlA7Ci0gICAgICAgICAgICBmdW5jKHRoaW5n
LmZyb21SZWcocmVnKSwgcmVnRGVmUm9sZSwgdHlwZSwgQXJnLmNvbnNlcnZhdGl2ZVdpZHRoKHR5
cGUpKTsKLSAgICAgICAgfTsKLSAgICAgICAgCi0gICAgICAgIGlmIChwcmV2SW5zdCAmJiBwcmV2
SW5zdC5vcGNvZGUgPT0gUGF0Y2gpIHsKLSAgICAgICAgICAgIHJlZ0RlZlJvbGUgPSBBcmcuRGVm
OwotICAgICAgICAgICAgcHJldkluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmZvckVhY2gocmVwb3J0
UmVnKTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKG5leHRJbnN0ICYmIG5leHRJ
bnN0Lm9wY29kZSA9PSBQYXRjaCkgewotICAgICAgICAgICAgcmVnRGVmUm9sZSA9IEFyZy5FYXJs
eURlZjsKLSAgICAgICAgICAgIG5leHRJbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzLmZvckVh
Y2gocmVwb3J0UmVnKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBnZXQgaGFzTm9uQXJn
RWZmZWN0cygpIHsgcmV0dXJuIEluc3RfaGFzTm9uQXJnRWZmZWN0cyh0aGlzKTsgfQotICAgIAot
ICAgIGhhc2goKQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG9wY29kZUNvZGUodGhpcy5v
cGNvZGUpOwotICAgICAgICBmb3IgKGxldCBhcmcgb2YgdGhpcy5hcmdzKSB7Ci0gICAgICAgICAg
ICByZXN1bHQgKz0gYXJnLmhhc2goKTsKLSAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAg
ICB9Ci0gICAgICAgIHJldHVybiByZXN1bHQgPj4+IDA7Ci0gICAgfQotICAgIAotICAgIHRvU3Ry
aW5nKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiAiIiArIHN5bWJvbE5hbWUodGhpcy5fb3Bjb2Rl
KSArICIgIiArIHRoaXMuX2FyZ3Muam9pbigiLCAiKTsKLSAgICB9Ci19Ci0KSW5kZXg6IFBlcmZv
cm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2xpdmVuZXNzLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2xpdmVuZXNzLmpzCShyZXZpc2lv
biAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9saXZlbmVz
cy5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDE1MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWNsYXNzIExpdmVuZXNz
IHsKLSAgICBjb25zdHJ1Y3Rvcih0aGluZywgY29kZSkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3Ro
aW5nID0gdGhpbmc7Ci0gICAgICAgIHRoaXMuX2NvZGUgPSBjb2RlOwotICAgICAgICAKLSAgICAg
ICAgdGhpcy5fbGl2ZUF0SGVhZCA9IG5ldyBNYXAoKTsKLSAgICAgICAgdGhpcy5fbGl2ZUF0VGFp
bCA9IG5ldyBNYXAoKTsKLSAgICAgICAgCi0gICAgICAgIGZvciAobGV0IGJsb2NrIG9mIGNvZGUp
IHsKLSAgICAgICAgICAgIHRoaXMuX2xpdmVBdEhlYWQuc2V0KGJsb2NrLCBuZXcgU2V0KCkpOwot
ICAgICAgICAgICAgCi0gICAgICAgICAgICBsZXQgbGl2ZUF0VGFpbCA9IG5ldyBTZXQoKTsKLSAg
ICAgICAgICAgIHRoaXMuX2xpdmVBdFRhaWwuc2V0KGJsb2NrLCBsaXZlQXRUYWlsKTsKLSAgICAg
ICAgICAgIAotICAgICAgICAgICAgYmxvY2subGFzdC5mb3JFYWNoKAotICAgICAgICAgICAgICAg
IHRoaW5nLAotICAgICAgICAgICAgICAgICh2YWx1ZSwgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsK
LSAgICAgICAgICAgICAgICAgICAgaWYgKEFyZy5pc0xhdGVVc2Uocm9sZSkpCi0gICAgICAgICAg
ICAgICAgICAgICAgICBsaXZlQXRUYWlsLmFkZCh2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgfSk7
Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGxldCBkaXJ0eUJsb2NrcyA9IG5ldyBTZXQo
Y29kZSk7Ci0gICAgICAgIAotICAgICAgICBsZXQgY2hhbmdlZDsKLSAgICAgICAgZG8gewotICAg
ICAgICAgICAgY2hhbmdlZCA9IGZhbHNlOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBmb3Ig
KGxldCBibG9ja0luZGV4ID0gY29kZS5zaXplOyBibG9ja0luZGV4LS07KSB7Ci0gICAgICAgICAg
ICAgICAgbGV0IGJsb2NrID0gY29kZS5hdChibG9ja0luZGV4KTsKLSAgICAgICAgICAgICAgICBp
ZiAoIWJsb2NrKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICBpZiAoIWRpcnR5QmxvY2tzLmRlbGV0ZShibG9jaykpCi0gICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAg
ICAgIGxldCBsb2NhbENhbGMgPSB0aGlzLmxvY2FsQ2FsYyhibG9jayk7Ci0gICAgICAgICAgICAg
ICAgZm9yIChsZXQgaW5zdEluZGV4ID0gYmxvY2suc2l6ZTsgaW5zdEluZGV4LS07KQotICAgICAg
ICAgICAgICAgICAgICBsb2NhbENhbGMuZXhlY3V0ZShpbnN0SW5kZXgpOwotICAgICAgICAgICAg
ICAgIAotICAgICAgICAgICAgICAgIC8vIEhhbmRsZSB0aGUgZWFybHkgZGVmJ3Mgb2YgdGhlIGZp
cnN0IGluc3RydWN0aW9uLgotICAgICAgICAgICAgICAgIGJsb2NrLmF0KDApLmZvckVhY2goCi0g
ICAgICAgICAgICAgICAgICAgIHRoaW5nLAotICAgICAgICAgICAgICAgICAgICAodmFsdWUsIHJv
bGUsIHR5cGUsIHdpZHRoKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJnLmlz
RWFybHlEZWYocm9sZSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxDYWxjLmxp
dmVTZXQucmVtb3ZlKHZhbHVlKTsKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAg
ICAgICAgCi0gICAgICAgICAgICAgICAgbGV0IGxpdmVBdEhlYWQgPSB0aGlzLl9saXZlQXRIZWFk
LmdldChibG9jayk7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgaWYgKCFtZXJn
ZUludG9TZXQobGl2ZUF0SGVhZCwgbG9jYWxDYWxjLmxpdmVTZXQpKQotICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBmb3IgKGxl
dCBwcmVkZWNlc3NvciBvZiBibG9jay5wcmVkZWNlc3NvcnMpIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKG1lcmdlSW50b1NldCh0aGlzLl9saXZlQXRUYWlsLmdldChwcmVkZWNlc3NvciksIGxp
dmVBdEhlYWQpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBkaXJ0eUJsb2Nrcy5hZGQocHJl
ZGVjZXNzb3IpOwotICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7Ci0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0gd2hpbGUgKGNoYW5nZWQpOwotICAgIH0KLSAgICAKLSAgICBnZXQgdGhpbmcoKSB7IHJl
dHVybiB0aGlzLl90aGluZzsgfQotICAgIGdldCBjb2RlKCkgeyByZXR1cm4gdGhpcy5fY29kZTsg
fQotICAgIGdldCBsaXZlQXRIZWFkKCkgeyByZXR1cm4gdGhpcy5fbGl2ZUF0SGVhZDsgfQotICAg
IGdldCBsaXZlQXRUYWlsKCkgeyByZXR1cm4gdGhpcy5fbGl2ZUF0VGFpbDsgfQotICAgIAotICAg
IGxvY2FsQ2FsYyhibG9jaykKLSAgICB7Ci0gICAgICAgIGxldCBsaXZlbmVzcyA9IHRoaXM7Ci0g
ICAgICAgIGNsYXNzIExvY2FsQ2FsYyB7Ci0gICAgICAgICAgICBjb25zdHJ1Y3RvcigpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgdGhpcy5fbGl2ZVNldCA9IG5ldyBTZXQobGl2ZW5l
c3MubGl2ZUF0VGFpbC5nZXQoYmxvY2spKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAot
ICAgICAgICAgICAgZ2V0IGxpdmVTZXQoKSB7IHJldHVybiB0aGlzLl9saXZlU2V0OyB9Ci0gICAg
ICAgICAgICAKLSAgICAgICAgICAgIGV4ZWN1dGUoaW5zdEluZGV4KQotICAgICAgICAgICAgewot
ICAgICAgICAgICAgICAgIGxldCBpbnN0ID0gYmxvY2suYXQoaW5zdEluZGV4KTsKLSAgICAgICAg
ICAgICAgICAKLSAgICAgICAgICAgICAgICAvLyBGaXJzdCBoYW5kbGUgdGhlIGVhcmx5IGRlZnMg
b2YgdGhlIG5leHQgaW5zdHJ1Y3Rpb24uCi0gICAgICAgICAgICAgICAgaWYgKGluc3RJbmRleCAr
IDEgPCBibG9jay5zaXplKSB7Ci0gICAgICAgICAgICAgICAgICAgIGJsb2NrLmF0KGluc3RJbmRl
eCArIDEpLmZvckVhY2goCi0gICAgICAgICAgICAgICAgICAgICAgICBsaXZlbmVzcy50aGluZywK
LSAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZSwgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJnLmlzRWFybHlEZWYocm9sZSkpCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xpdmVTZXQuZGVsZXRlKHZhbHVl
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAvLyBUaGVuIGhhbmRsZSBkZWZzLgotICAgICAg
ICAgICAgICAgIGluc3QuZm9yRWFjaCgKLSAgICAgICAgICAgICAgICAgICAgbGl2ZW5lc3MudGhp
bmcsCi0gICAgICAgICAgICAgICAgICAgICh2YWx1ZSwgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChBcmcuaXNMYXRlRGVmKHJvbGUpKQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xpdmVTZXQuZGVsZXRlKHZhbHVlKTsKLSAgICAg
ICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgLy8g
VGhlbiBoYW5kbGUgdXNlcy4KLSAgICAgICAgICAgICAgICBpbnN0LmZvckVhY2goCi0gICAgICAg
ICAgICAgICAgICAgIGxpdmVuZXNzLnRoaW5nLAotICAgICAgICAgICAgICAgICAgICAodmFsdWUs
IHJvbGUsIHR5cGUsIHdpZHRoKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJn
LmlzRWFybHlVc2Uocm9sZSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGl2
ZVNldC5hZGQodmFsdWUpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICAvLyBGaW5hbGx5IGhhbmRsZSB0aGUgbGF0ZSB1c2VzIG9mIHRo
ZSBwcmV2aW91cyBpbnN0cnVjdGlvbi4KLSAgICAgICAgICAgICAgICBpZiAoaW5zdEluZGV4IC0g
MSA+PSAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIGJsb2NrLmF0KGluc3RJbmRleCAtIDEpLmZv
ckVhY2goCi0gICAgICAgICAgICAgICAgICAgICAgICBsaXZlbmVzcy50aGluZywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICh2YWx1ZSwgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoQXJnLmlzTGF0ZVVzZShyb2xlKSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGl2ZVNldC5hZGQodmFsdWUpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAg
ICAgICB9Ci0gICAgICAgIAotICAgICAgICByZXR1cm4gbmV3IExvY2FsQ2FsYygpOwotICAgIH0K
LX0KLQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvbWFrZV9kaXN0
LnNoCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL21h
a2VfZGlzdC5zaAkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1w
bGVCZW5jaC9BaXIvbWFrZV9kaXN0LnNoCShub25leGlzdGVudCkKQEAgLTEsMzkgKzAsMCBAQAot
IyEvYmluL3NoCi0KLXNldCAtZQotc2V0IC14Ci0KLU1BUktET1dOPSJwZXJsICRIT01FL0RvY3Vt
ZW50cy9NYXJrZG93bi5wbCIKLQotcm0gLXJmIEFpci5qcwotbWtkaXIgQWlyLmpzCi0ke01BUktE
T1dOfSA8IFJFQURNRS5tZCA+IEFpci5qcy9pbmRleC5odG1sCi1jcCBcCi0gICAgYWxsLmpzIFwK
LSAgICBhbGxvY2F0ZV9zdGFjay5qcyBcCi0gICAgYXJnLmpzIFwKLSAgICBiYXNpY19ibG9jay5q
cyBcCi0gICAgYmVuY2htYXJrLmpzIFwKLSAgICBjb2RlLmpzIFwKLSAgICBjdXN0b20uanMgXAot
ICAgIGZyZXF1ZW50ZWRfYmxvY2suanMgXAotICAgIGluc2VydGlvbl9zZXQuanMgXAotICAgIGlu
c3QuanMgXAotICAgIGxpdmVuZXNzLmpzIFwKLSAgICBvcGNvZGUuanMgXAotICAgIHBheWxvYWQt
YWlyanMtQUNMajhDLmpzIFwKLSAgICBwYXlsb2FkLWdiZW11LWV4ZWN1dGVJdGVyYXRpb24uanMg
XAotICAgIHBheWxvYWQtaW1hZ2luZy1nYXVzc2lhbi1ibHVyLWdhdXNzaWFuQmx1ci5qcyBcCi0g
ICAgcGF5bG9hZC10eXBlc2NyaXB0LXNjYW5JZGVudGlmaWVyLmpzIFwKLSAgICByZWcuanMgXAot
ICAgIHN0YWNrX3Nsb3QuanMgXAotICAgIHN5bWJvbHMuanMgXAotICAgIHRlc3QuaHRtbCBcCi0g
ICAgdGVzdC5qcyBcCi0gICAgdG1wLmpzIFwKLSAgICB0bXBfYmFzZS5qcyBcCi0gICAgdXRpbC5q
cyBcCi0gICAgQWlyLmpzLwotCi10YXIgLWN6dmYgQWlyLmpzLnRhci5neiBBaXIuanMKLQoKUHJv
cGVydHkgY2hhbmdlcyBvbjogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvbWFr
ZV9kaXN0LnNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTEgKzAsMCAj
IwotKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBQZXJmb3JtYW5jZVRl
c3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9vcGNvZGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFu
Y2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvb3Bjb2RlLmpzCShyZXZpc2lvbiAyMTE2ODgpCisr
KyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9vcGNvZGUuanMJKG5vbmV4aXN0
ZW50KQpAQCAtMSwxNjU1ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLS8vIEdlbmVyYXRlZCBieSBv
cGNvZGVfZ2VuZXJhdG9yLnJiIGZyb20gSmF2YVNjcmlwdENvcmUvYjMvYWlyL0Fpck9wY29kZS5v
cGNvZGVzIC0tIGRvIG5vdCBlZGl0IQotY29uc3QgTm9wID0gU3ltYm9sKCJOb3AiKTsKLWNvbnN0
IEFkZDMyID0gU3ltYm9sKCJBZGQzMiIpOwotY29uc3QgQWRkOCA9IFN5bWJvbCgiQWRkOCIpOwot
Y29uc3QgQWRkMTYgPSBTeW1ib2woIkFkZDE2Iik7Ci1jb25zdCBBZGQ2NCA9IFN5bWJvbCgiQWRk
NjQiKTsKLWNvbnN0IEFkZERvdWJsZSA9IFN5bWJvbCgiQWRkRG91YmxlIik7Ci1jb25zdCBBZGRG
bG9hdCA9IFN5bWJvbCgiQWRkRmxvYXQiKTsKLWNvbnN0IFN1YjMyID0gU3ltYm9sKCJTdWIzMiIp
OwotY29uc3QgU3ViNjQgPSBTeW1ib2woIlN1YjY0Iik7Ci1jb25zdCBTdWJEb3VibGUgPSBTeW1i
b2woIlN1YkRvdWJsZSIpOwotY29uc3QgU3ViRmxvYXQgPSBTeW1ib2woIlN1YkZsb2F0Iik7Ci1j
b25zdCBOZWczMiA9IFN5bWJvbCgiTmVnMzIiKTsKLWNvbnN0IE5lZzY0ID0gU3ltYm9sKCJOZWc2
NCIpOwotY29uc3QgTmVnYXRlRG91YmxlID0gU3ltYm9sKCJOZWdhdGVEb3VibGUiKTsKLWNvbnN0
IE11bDMyID0gU3ltYm9sKCJNdWwzMiIpOwotY29uc3QgTXVsNjQgPSBTeW1ib2woIk11bDY0Iik7
Ci1jb25zdCBNdWx0aXBseUFkZDMyID0gU3ltYm9sKCJNdWx0aXBseUFkZDMyIik7Ci1jb25zdCBN
dWx0aXBseUFkZDY0ID0gU3ltYm9sKCJNdWx0aXBseUFkZDY0Iik7Ci1jb25zdCBNdWx0aXBseVN1
YjMyID0gU3ltYm9sKCJNdWx0aXBseVN1YjMyIik7Ci1jb25zdCBNdWx0aXBseVN1YjY0ID0gU3lt
Ym9sKCJNdWx0aXBseVN1YjY0Iik7Ci1jb25zdCBNdWx0aXBseU5lZzMyID0gU3ltYm9sKCJNdWx0
aXBseU5lZzMyIik7Ci1jb25zdCBNdWx0aXBseU5lZzY0ID0gU3ltYm9sKCJNdWx0aXBseU5lZzY0
Iik7Ci1jb25zdCBEaXYzMiA9IFN5bWJvbCgiRGl2MzIiKTsKLWNvbnN0IERpdjY0ID0gU3ltYm9s
KCJEaXY2NCIpOwotY29uc3QgTXVsRG91YmxlID0gU3ltYm9sKCJNdWxEb3VibGUiKTsKLWNvbnN0
IE11bEZsb2F0ID0gU3ltYm9sKCJNdWxGbG9hdCIpOwotY29uc3QgRGl2RG91YmxlID0gU3ltYm9s
KCJEaXZEb3VibGUiKTsKLWNvbnN0IERpdkZsb2F0ID0gU3ltYm9sKCJEaXZGbG9hdCIpOwotY29u
c3QgWDg2Q29udmVydFRvRG91YmxlV29yZDMyID0gU3ltYm9sKCJYODZDb252ZXJ0VG9Eb3VibGVX
b3JkMzIiKTsKLWNvbnN0IFg4NkNvbnZlcnRUb1F1YWRXb3JkNjQgPSBTeW1ib2woIlg4NkNvbnZl
cnRUb1F1YWRXb3JkNjQiKTsKLWNvbnN0IFg4NkRpdjMyID0gU3ltYm9sKCJYODZEaXYzMiIpOwot
Y29uc3QgWDg2RGl2NjQgPSBTeW1ib2woIlg4NkRpdjY0Iik7Ci1jb25zdCBMZWEgPSBTeW1ib2wo
IkxlYSIpOwotY29uc3QgQW5kMzIgPSBTeW1ib2woIkFuZDMyIik7Ci1jb25zdCBBbmQ2NCA9IFN5
bWJvbCgiQW5kNjQiKTsKLWNvbnN0IEFuZERvdWJsZSA9IFN5bWJvbCgiQW5kRG91YmxlIik7Ci1j
b25zdCBBbmRGbG9hdCA9IFN5bWJvbCgiQW5kRmxvYXQiKTsKLWNvbnN0IFhvckRvdWJsZSA9IFN5
bWJvbCgiWG9yRG91YmxlIik7Ci1jb25zdCBYb3JGbG9hdCA9IFN5bWJvbCgiWG9yRmxvYXQiKTsK
LWNvbnN0IExzaGlmdDMyID0gU3ltYm9sKCJMc2hpZnQzMiIpOwotY29uc3QgTHNoaWZ0NjQgPSBT
eW1ib2woIkxzaGlmdDY0Iik7Ci1jb25zdCBSc2hpZnQzMiA9IFN5bWJvbCgiUnNoaWZ0MzIiKTsK
LWNvbnN0IFJzaGlmdDY0ID0gU3ltYm9sKCJSc2hpZnQ2NCIpOwotY29uc3QgVXJzaGlmdDMyID0g
U3ltYm9sKCJVcnNoaWZ0MzIiKTsKLWNvbnN0IFVyc2hpZnQ2NCA9IFN5bWJvbCgiVXJzaGlmdDY0
Iik7Ci1jb25zdCBPcjMyID0gU3ltYm9sKCJPcjMyIik7Ci1jb25zdCBPcjY0ID0gU3ltYm9sKCJP
cjY0Iik7Ci1jb25zdCBYb3IzMiA9IFN5bWJvbCgiWG9yMzIiKTsKLWNvbnN0IFhvcjY0ID0gU3lt
Ym9sKCJYb3I2NCIpOwotY29uc3QgTm90MzIgPSBTeW1ib2woIk5vdDMyIik7Ci1jb25zdCBOb3Q2
NCA9IFN5bWJvbCgiTm90NjQiKTsKLWNvbnN0IEFic0RvdWJsZSA9IFN5bWJvbCgiQWJzRG91Ymxl
Iik7Ci1jb25zdCBBYnNGbG9hdCA9IFN5bWJvbCgiQWJzRmxvYXQiKTsKLWNvbnN0IENlaWxEb3Vi
bGUgPSBTeW1ib2woIkNlaWxEb3VibGUiKTsKLWNvbnN0IENlaWxGbG9hdCA9IFN5bWJvbCgiQ2Vp
bEZsb2F0Iik7Ci1jb25zdCBGbG9vckRvdWJsZSA9IFN5bWJvbCgiRmxvb3JEb3VibGUiKTsKLWNv
bnN0IEZsb29yRmxvYXQgPSBTeW1ib2woIkZsb29yRmxvYXQiKTsKLWNvbnN0IFNxcnREb3VibGUg
PSBTeW1ib2woIlNxcnREb3VibGUiKTsKLWNvbnN0IFNxcnRGbG9hdCA9IFN5bWJvbCgiU3FydEZs
b2F0Iik7Ci1jb25zdCBDb252ZXJ0SW50MzJUb0RvdWJsZSA9IFN5bWJvbCgiQ29udmVydEludDMy
VG9Eb3VibGUiKTsKLWNvbnN0IENvbnZlcnRJbnQ2NFRvRG91YmxlID0gU3ltYm9sKCJDb252ZXJ0
SW50NjRUb0RvdWJsZSIpOwotY29uc3QgQ29udmVydEludDMyVG9GbG9hdCA9IFN5bWJvbCgiQ29u
dmVydEludDMyVG9GbG9hdCIpOwotY29uc3QgQ29udmVydEludDY0VG9GbG9hdCA9IFN5bWJvbCgi
Q29udmVydEludDY0VG9GbG9hdCIpOwotY29uc3QgQ291bnRMZWFkaW5nWmVyb3MzMiA9IFN5bWJv
bCgiQ291bnRMZWFkaW5nWmVyb3MzMiIpOwotY29uc3QgQ291bnRMZWFkaW5nWmVyb3M2NCA9IFN5
bWJvbCgiQ291bnRMZWFkaW5nWmVyb3M2NCIpOwotY29uc3QgQ29udmVydERvdWJsZVRvRmxvYXQg
PSBTeW1ib2woIkNvbnZlcnREb3VibGVUb0Zsb2F0Iik7Ci1jb25zdCBDb252ZXJ0RmxvYXRUb0Rv
dWJsZSA9IFN5bWJvbCgiQ29udmVydEZsb2F0VG9Eb3VibGUiKTsKLWNvbnN0IE1vdmUgPSBTeW1i
b2woIk1vdmUiKTsKLWNvbnN0IFN3YXAzMiA9IFN5bWJvbCgiU3dhcDMyIik7Ci1jb25zdCBTd2Fw
NjQgPSBTeW1ib2woIlN3YXA2NCIpOwotY29uc3QgTW92ZTMyID0gU3ltYm9sKCJNb3ZlMzIiKTsK
LWNvbnN0IFN0b3JlWmVybzMyID0gU3ltYm9sKCJTdG9yZVplcm8zMiIpOwotY29uc3QgU2lnbkV4
dGVuZDMyVG9QdHIgPSBTeW1ib2woIlNpZ25FeHRlbmQzMlRvUHRyIik7Ci1jb25zdCBaZXJvRXh0
ZW5kOFRvMzIgPSBTeW1ib2woIlplcm9FeHRlbmQ4VG8zMiIpOwotY29uc3QgU2lnbkV4dGVuZDhU
bzMyID0gU3ltYm9sKCJTaWduRXh0ZW5kOFRvMzIiKTsKLWNvbnN0IFplcm9FeHRlbmQxNlRvMzIg
PSBTeW1ib2woIlplcm9FeHRlbmQxNlRvMzIiKTsKLWNvbnN0IFNpZ25FeHRlbmQxNlRvMzIgPSBT
eW1ib2woIlNpZ25FeHRlbmQxNlRvMzIiKTsKLWNvbnN0IE1vdmVGbG9hdCA9IFN5bWJvbCgiTW92
ZUZsb2F0Iik7Ci1jb25zdCBNb3ZlRG91YmxlID0gU3ltYm9sKCJNb3ZlRG91YmxlIik7Ci1jb25z
dCBNb3ZlWmVyb1RvRG91YmxlID0gU3ltYm9sKCJNb3ZlWmVyb1RvRG91YmxlIik7Ci1jb25zdCBN
b3ZlNjRUb0RvdWJsZSA9IFN5bWJvbCgiTW92ZTY0VG9Eb3VibGUiKTsKLWNvbnN0IE1vdmUzMlRv
RmxvYXQgPSBTeW1ib2woIk1vdmUzMlRvRmxvYXQiKTsKLWNvbnN0IE1vdmVEb3VibGVUbzY0ID0g
U3ltYm9sKCJNb3ZlRG91YmxlVG82NCIpOwotY29uc3QgTW92ZUZsb2F0VG8zMiA9IFN5bWJvbCgi
TW92ZUZsb2F0VG8zMiIpOwotY29uc3QgTG9hZDggPSBTeW1ib2woIkxvYWQ4Iik7Ci1jb25zdCBT
dG9yZTggPSBTeW1ib2woIlN0b3JlOCIpOwotY29uc3QgTG9hZDhTaWduZWRFeHRlbmRUbzMyID0g
U3ltYm9sKCJMb2FkOFNpZ25lZEV4dGVuZFRvMzIiKTsKLWNvbnN0IExvYWQxNiA9IFN5bWJvbCgi
TG9hZDE2Iik7Ci1jb25zdCBMb2FkMTZTaWduZWRFeHRlbmRUbzMyID0gU3ltYm9sKCJMb2FkMTZT
aWduZWRFeHRlbmRUbzMyIik7Ci1jb25zdCBTdG9yZTE2ID0gU3ltYm9sKCJTdG9yZTE2Iik7Ci1j
b25zdCBDb21wYXJlMzIgPSBTeW1ib2woIkNvbXBhcmUzMiIpOwotY29uc3QgQ29tcGFyZTY0ID0g
U3ltYm9sKCJDb21wYXJlNjQiKTsKLWNvbnN0IFRlc3QzMiA9IFN5bWJvbCgiVGVzdDMyIik7Ci1j
b25zdCBUZXN0NjQgPSBTeW1ib2woIlRlc3Q2NCIpOwotY29uc3QgQ29tcGFyZURvdWJsZSA9IFN5
bWJvbCgiQ29tcGFyZURvdWJsZSIpOwotY29uc3QgQ29tcGFyZUZsb2F0ID0gU3ltYm9sKCJDb21w
YXJlRmxvYXQiKTsKLWNvbnN0IEJyYW5jaDggPSBTeW1ib2woIkJyYW5jaDgiKTsKLWNvbnN0IEJy
YW5jaDMyID0gU3ltYm9sKCJCcmFuY2gzMiIpOwotY29uc3QgQnJhbmNoNjQgPSBTeW1ib2woIkJy
YW5jaDY0Iik7Ci1jb25zdCBCcmFuY2hUZXN0OCA9IFN5bWJvbCgiQnJhbmNoVGVzdDgiKTsKLWNv
bnN0IEJyYW5jaFRlc3QzMiA9IFN5bWJvbCgiQnJhbmNoVGVzdDMyIik7Ci1jb25zdCBCcmFuY2hU
ZXN0NjQgPSBTeW1ib2woIkJyYW5jaFRlc3Q2NCIpOwotY29uc3QgQnJhbmNoRG91YmxlID0gU3lt
Ym9sKCJCcmFuY2hEb3VibGUiKTsKLWNvbnN0IEJyYW5jaEZsb2F0ID0gU3ltYm9sKCJCcmFuY2hG
bG9hdCIpOwotY29uc3QgQnJhbmNoQWRkMzIgPSBTeW1ib2woIkJyYW5jaEFkZDMyIik7Ci1jb25z
dCBCcmFuY2hBZGQ2NCA9IFN5bWJvbCgiQnJhbmNoQWRkNjQiKTsKLWNvbnN0IEJyYW5jaE11bDMy
ID0gU3ltYm9sKCJCcmFuY2hNdWwzMiIpOwotY29uc3QgQnJhbmNoTXVsNjQgPSBTeW1ib2woIkJy
YW5jaE11bDY0Iik7Ci1jb25zdCBCcmFuY2hTdWIzMiA9IFN5bWJvbCgiQnJhbmNoU3ViMzIiKTsK
LWNvbnN0IEJyYW5jaFN1YjY0ID0gU3ltYm9sKCJCcmFuY2hTdWI2NCIpOwotY29uc3QgQnJhbmNo
TmVnMzIgPSBTeW1ib2woIkJyYW5jaE5lZzMyIik7Ci1jb25zdCBCcmFuY2hOZWc2NCA9IFN5bWJv
bCgiQnJhbmNoTmVnNjQiKTsKLWNvbnN0IE1vdmVDb25kaXRpb25hbGx5MzIgPSBTeW1ib2woIk1v
dmVDb25kaXRpb25hbGx5MzIiKTsKLWNvbnN0IE1vdmVDb25kaXRpb25hbGx5NjQgPSBTeW1ib2wo
Ik1vdmVDb25kaXRpb25hbGx5NjQiKTsKLWNvbnN0IE1vdmVDb25kaXRpb25hbGx5VGVzdDMyID0g
U3ltYm9sKCJNb3ZlQ29uZGl0aW9uYWxseVRlc3QzMiIpOwotY29uc3QgTW92ZUNvbmRpdGlvbmFs
bHlUZXN0NjQgPSBTeW1ib2woIk1vdmVDb25kaXRpb25hbGx5VGVzdDY0Iik7Ci1jb25zdCBNb3Zl
Q29uZGl0aW9uYWxseURvdWJsZSA9IFN5bWJvbCgiTW92ZUNvbmRpdGlvbmFsbHlEb3VibGUiKTsK
LWNvbnN0IE1vdmVDb25kaXRpb25hbGx5RmxvYXQgPSBTeW1ib2woIk1vdmVDb25kaXRpb25hbGx5
RmxvYXQiKTsKLWNvbnN0IE1vdmVEb3VibGVDb25kaXRpb25hbGx5MzIgPSBTeW1ib2woIk1vdmVE
b3VibGVDb25kaXRpb25hbGx5MzIiKTsKLWNvbnN0IE1vdmVEb3VibGVDb25kaXRpb25hbGx5NjQg
PSBTeW1ib2woIk1vdmVEb3VibGVDb25kaXRpb25hbGx5NjQiKTsKLWNvbnN0IE1vdmVEb3VibGVD
b25kaXRpb25hbGx5VGVzdDMyID0gU3ltYm9sKCJNb3ZlRG91YmxlQ29uZGl0aW9uYWxseVRlc3Qz
MiIpOwotY29uc3QgTW92ZURvdWJsZUNvbmRpdGlvbmFsbHlUZXN0NjQgPSBTeW1ib2woIk1vdmVE
b3VibGVDb25kaXRpb25hbGx5VGVzdDY0Iik7Ci1jb25zdCBNb3ZlRG91YmxlQ29uZGl0aW9uYWxs
eURvdWJsZSA9IFN5bWJvbCgiTW92ZURvdWJsZUNvbmRpdGlvbmFsbHlEb3VibGUiKTsKLWNvbnN0
IE1vdmVEb3VibGVDb25kaXRpb25hbGx5RmxvYXQgPSBTeW1ib2woIk1vdmVEb3VibGVDb25kaXRp
b25hbGx5RmxvYXQiKTsKLWNvbnN0IEp1bXAgPSBTeW1ib2woIkp1bXAiKTsKLWNvbnN0IFJldDMy
ID0gU3ltYm9sKCJSZXQzMiIpOwotY29uc3QgUmV0NjQgPSBTeW1ib2woIlJldDY0Iik7Ci1jb25z
dCBSZXRGbG9hdCA9IFN5bWJvbCgiUmV0RmxvYXQiKTsKLWNvbnN0IFJldERvdWJsZSA9IFN5bWJv
bCgiUmV0RG91YmxlIik7Ci1jb25zdCBPb3BzID0gU3ltYm9sKCJPb3BzIik7Ci1jb25zdCBTaHVm
ZmxlID0gU3ltYm9sKCJTaHVmZmxlIik7Ci1jb25zdCBQYXRjaCA9IFN5bWJvbCgiUGF0Y2giKTsK
LWNvbnN0IENDYWxsID0gU3ltYm9sKCJDQ2FsbCIpOwotY29uc3QgQ29sZENDYWxsID0gU3ltYm9s
KCJDb2xkQ0NhbGwiKTsKLWZ1bmN0aW9uIEluc3RfZm9yRWFjaEFyZyhpbnN0LCBmdW5jKQotewot
ICAgIGxldCByZXBsYWNlbWVudDsKLSAgICBzd2l0Y2ggKGluc3Qub3Bjb2RlKSB7Ci0gICAgY2Fz
ZSBOb3A6Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEFkZDMyOgot
ICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAg
ICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAg
ICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1
bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMs
IEFyZy5Vc2VaRGVmLCBHUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1
bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBBZGQ4Ogot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA4KTsKLSAgICAgICAg
aW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgOCk7Ci0gICAgICAgIGJyZWFr
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEFkZDE2OgotICAgICAgICBpbnN0LnZpc2l0QXJn
KDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAxNik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVu
YywgQXJnLlVzZURlZiwgR1AsIDE2KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgQWRkNjQ6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAg
ICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VEZWYs
IEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygyLCBmdW5jLCBBcmcuRGVmLCBHUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVy
bG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBBZGREb3VibGU6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewot
ICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2Us
IEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5EZWYsIEZQ
LCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBGUCwgNjQpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBv
dmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBBZGRGbG9hdDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7
Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJn
LlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVz
ZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLkRlZiwg
RlAsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAg
ICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBp
bnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VEZWYsIEZQLCAzMik7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFk
IG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVh
azsKLSAgICBjYXNlIFN1YjMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZVpEZWYs
IEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFN1YjY0
OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAg
ICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgR1AsIDY0KTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3ViRG91YmxlOgotICAgICAgICBzd2l0
Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52
aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNp
dEFyZygyLCBmdW5jLCBBcmcuRGVmLCBGUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwg
RlAsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwg
RlAsIDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3ViRmxvYXQ6Ci0gICAgICAgIHN3
aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBp
bnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZp
c2l0QXJnKDIsIGZ1bmMsIEFyZy5EZWYsIEZQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNl
LCBGUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVm
LCBGUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBOZWczMjoKLSAgICAgICAgaW5z
dC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTmVnNjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmco
MCwgZnVuYywgQXJnLlVzZURlZiwgR1AsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgTmVnYXRlRG91YmxlOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1
bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJn
LkRlZiwgRlAsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
TXVsMzI6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNl
IDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7
Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VaRGVmLCBHUCwgMzIp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3Qudmlz
aXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRB
cmcoMiwgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNl
IE11bDY0OgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2Fz
ZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQp
OwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgNjQp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3Qudmlz
aXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRB
cmcoMiwgZnVuYywgQXJnLkRlZiwgR1AsIDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
TXVsdGlwbHlBZGQzMjoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBH
UCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7
Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAg
ICAgaW5zdC52aXNpdEFyZygzLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTXVsdGlwbHlBZGQ2NDoKLSAgICAgICAgaW5z
dC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0
QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwg
ZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5jLCBB
cmcuRGVmLCBHUCwgNjQpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBNdWx0aXBseVN1YjMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMy
KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAg
ICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBi
cmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNdWx0aXBseVN1YjY0OgotICAgICAgICBp
bnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3Qudmlz
aXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygy
LCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMs
IEFyZy5EZWYsIEdQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBj
YXNlIE11bHRpcGx5TmVnMzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVz
ZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwg
MzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwot
ICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNdWx0aXBseU5lZzY0Ogot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52
aXNpdEFyZygyLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgRGl2MzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVu
YywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcu
VXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5aRGVmLCBH
UCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBEaXY2NDoK
LSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAg
ICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3Qu
dmlzaXRBcmcoMiwgZnVuYywgQXJnLkRlZiwgR1AsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgTXVsRG91YmxlOgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJn
cy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygw
LCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBm
dW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5j
LCBBcmcuRGVmLCBGUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoK
LSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAg
ICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgRlAsIDY0KTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgTXVsRmxvYXQ6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5h
cmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEs
IGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1
bmMsIEFyZy5EZWYsIEZQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAy
OgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwot
ICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBGUCwgMzIpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0K
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBEaXZEb3VibGU6Ci0gICAgICAgIHN3aXRjaCAoaW5z
dC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIs
IGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQp
OwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBGUCwgNjQp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBEaXZGbG9hdDoKLSAgICAgICAgc3dpdGNoIChp
bnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3Qudmlz
aXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRB
cmcoMSwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmco
MiwgZnVuYywgQXJnLkRlZiwgRlAsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAz
Mik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VEZWYsIEZQLCAz
Mik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRo
cm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIFg4NkNvbnZlcnRUb0RvdWJsZVdvcmQzMjoK
LSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAg
ICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBicmVh
azsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBYODZDb252ZXJ0VG9RdWFkV29yZDY0OgotICAg
ICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGlu
c3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgR1AsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgWDg2RGl2MzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmco
MCwgZnVuYywgQXJnLlVzZVpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwg
ZnVuYywgQXJnLlVzZVpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVu
YywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgWDg2RGl2NjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZVpE
ZWYsIEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZVpEZWYs
IEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDY0
KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGVhOgotICAgICAg
ICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2VBZGRyLCBHUCwgUHRyKTsKLSAgICAgICAg
aW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVmLCBHUCwgUHRyKTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQW5kMzI6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5h
cmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEs
IGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1
bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
MjoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsK
LSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZVpEZWYsIEdQLCAzMik7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93
IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
fQotICAgICAgICBicmVhazsKLSAgICBjYXNlIEFuZDY0OgotICAgICAgICBzd2l0Y2ggKGluc3Qu
YXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFy
ZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygx
LCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBm
dW5jLCBBcmcuRGVmLCBHUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
MjoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsK
LSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgR1AsIDY0KTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQW5kRG91YmxlOgotICAgICAgICBzd2l0Y2ggKGlu
c3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNp
dEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFy
ZygxLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygy
LCBmdW5jLCBBcmcuRGVmLCBGUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNh
c2UgMjoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDY0
KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgRlAsIDY0
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQW5kRmxvYXQ6Ci0gICAgICAgIHN3aXRjaCAo
aW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZp
c2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0
QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDIsIGZ1bmMsIEFyZy5EZWYsIEZQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwg
MzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBGUCwg
MzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBYb3JEb3VibGU6Ci0gICAgICAgIHN3aXRj
aCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZp
c2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0
QXJnKDIsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBG
UCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBG
UCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBYb3JGbG9hdDoKLSAgICAgICAgc3dp
dGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3Qudmlz
aXRBcmcoMiwgZnVuYywgQXJnLkRlZiwgRlAsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VEZWYs
IEZQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIExzaGlmdDMyOgotICAgICAgICBz
d2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52
aXNpdEFyZygyLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2Va
RGVmLCBHUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAg
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMc2hpZnQ2NDoKLSAgICAg
ICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAg
ICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlpEZWYsIEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBB
cmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcu
VXNlRGVmLCBHUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSc2hpZnQzMjoKLSAg
ICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAg
ICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAg
ICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5j
LCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBB
cmcuVXNlWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUnNoaWZ0NjQ6
Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0g
ICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAg
ICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgNjQpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwg
ZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVu
YywgQXJnLlVzZURlZiwgR1AsIDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZh
dWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgVXJzaGlm
dDMyOgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAz
OgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwot
ICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAg
ICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEs
IGZ1bmMsIEFyZy5Vc2VaRGVmLCBHUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBV
cnNoaWZ0NjQ6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBj
YXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2
NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7
Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgNjQpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGluc3Qudmlz
aXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRB
cmcoMSwgZnVuYywgQXJnLlVzZURlZiwgR1AsIDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQi
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgT3IzMjoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNh
c2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMy
KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsK
LSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgaW5zdC52aXNp
dEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFy
ZygxLCBmdW5jLCBBcmcuVXNlWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQi
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgT3I2NDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNh
c2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0
KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsK
LSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLkRlZiwgR1AsIDY0KTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDEsIGZ1bmMsIEFyZy5Vc2VEZWYsIEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNl
IFhvcjMyOgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2Fz
ZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIp
OwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwot
ICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDEsIGZ1bmMsIEFyZy5Vc2VaRGVmLCBHUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBYb3I2NDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNh
c2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0
KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsK
LSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLkRlZiwgR1AsIDY0KTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDEsIGZ1bmMsIEFyZy5Vc2VEZWYsIEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNl
IE5vdDMyOgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2Fz
ZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIp
OwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgICBpbnN0LnZp
c2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2VaRGVmLCBHUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVy
bG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBOb3Q2NDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAg
ICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwg
R1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgR1As
IDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDE6Ci0gICAgICAgICAgICBp
bnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2VEZWYsIEdQLCA2NCk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFk
IG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVh
azsKLSAgICBjYXNlIEFic0RvdWJsZToKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBB
cmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYs
IEZQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEFic0Zs
b2F0OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0g
ICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgRlAsIDMyKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ2VpbERvdWJsZToKLSAgICAgICAgaW5z
dC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0
QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIENlaWxGbG9hdDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5j
LCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5E
ZWYsIEZQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEZs
b29yRG91YmxlOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2
NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRmxvb3JGbG9hdDoKLSAgICAg
ICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICBpbnN0
LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEZQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFNxcnREb3VibGU6Ci0gICAgICAgIGluc3QudmlzaXRBcmco
MCwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5j
LCBBcmcuRGVmLCBGUCwgNjQpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBTcXJ0RmxvYXQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwg
RlAsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVmLCBGUCwgMzIp
OwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDb252ZXJ0SW50MzJU
b0RvdWJsZToKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIp
OwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAg
ICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENvbnZlcnRJbnQ2NFRvRG91Ymxl
OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAg
ICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29udmVydEludDMyVG9GbG9hdDoKLSAgICAg
ICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0
LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEZQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIENvbnZlcnRJbnQ2NFRvRmxvYXQ6Ci0gICAgICAgIGluc3Qu
dmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFy
ZygxLCBmdW5jLCBBcmcuRGVmLCBGUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBDb3VudExlYWRpbmdaZXJvczMyOgotICAgICAgICBpbnN0LnZpc2l0QXJn
KDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVu
YywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIENvdW50TGVhZGluZ1plcm9zNjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVu
YywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcu
RGVmLCBHUCwgNjQpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBD
b252ZXJ0RG91YmxlVG9GbG9hdDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcu
VXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEZQ
LCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENvbnZlcnRG
bG9hdFRvRG91YmxlOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQ
LCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTW92ZToKLSAgICAgICAg
aW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgUHRyKTsKLSAgICAgICAgaW5zdC52
aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVmLCBHUCwgUHRyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgU3dhcDMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1
bmMsIEFyZy5Vc2VEZWYsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywg
QXJnLlVzZURlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgU3dhcDY0OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2VEZWYs
IEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgR1As
IDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTW92ZTMyOgot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFr
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFN0b3JlWmVybzMyOgotICAgICAgICBpbnN0LnZp
c2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIFNpZ25FeHRlbmQzMlRvUHRyOgotICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwg
ZnVuYywgQXJnLkRlZiwgR1AsIFB0cik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsK
LSAgICBjYXNlIFplcm9FeHRlbmQ4VG8zMjoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5j
LCBBcmcuVXNlLCBHUCwgOCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlpE
ZWYsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFNp
Z25FeHRlbmQ4VG8zMjoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBH
UCwgOCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7
Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFplcm9FeHRlbmQxNlRv
MzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDE2KTsKLSAg
ICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgU2lnbkV4dGVuZDE2VG8zMjoKLSAgICAg
ICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMTYpOwotICAgICAgICBpbnN0
LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBicmVhazsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNb3ZlRmxvYXQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmco
MCwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5j
LCBBcmcuRGVmLCBGUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBNb3ZlRG91YmxlOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEZQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgRlAsIDY0
KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTW92ZVplcm9Ub0Rv
dWJsZToKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuRGVmLCBGUCwgNjQpOwot
ICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNb3ZlNjRUb0RvdWJsZToK
LSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAg
ICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgIGJyZWFr
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmUzMlRvRmxvYXQ6Ci0gICAgICAgIGluc3Qu
dmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFy
ZygxLCBmdW5jLCBBcmcuRGVmLCBGUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBNb3ZlRG91YmxlVG82NDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBm
dW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFy
Zy5EZWYsIEdQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IE1vdmVGbG9hdFRvMzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwg
RlAsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVmLCBHUCwgMzIp
OwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMb2FkODoKLSAgICAg
ICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgOCk7Ci0gICAgICAgIGluc3Qu
dmlzaXRBcmcoMSwgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFN0b3JlODoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBm
dW5jLCBBcmcuVXNlLCBHUCwgOCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJn
LkRlZiwgR1AsIDgpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBM
b2FkOFNpZ25lZEV4dGVuZFRvMzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJn
LlVzZSwgR1AsIDgpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5aRGVmLCBH
UCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMb2FkMTY6
Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDE2KTsKLSAgICAg
ICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTG9hZDE2U2lnbmVkRXh0ZW5kVG8zMjoKLSAg
ICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMTYpOwotICAgICAgICBp
bnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBicmVhazsK
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTdG9yZTE2OgotICAgICAgICBpbnN0LnZpc2l0QXJn
KDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAxNik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVu
YywgQXJnLkRlZiwgR1AsIDE2KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgQ29tcGFyZTMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMy
KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAg
ICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBi
cmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDb21wYXJlNjQ6Ci0gICAgICAgIGluc3Qu
dmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFy
ZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1
bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJn
LlpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IFRlc3QzMjoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIp
OwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAg
ICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5z
dC52aXNpdEFyZygzLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgVGVzdDY0OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAs
IGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywg
QXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNl
LCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5aRGVmLCBHUCwg
MzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDb21wYXJlRG91
YmxlOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0g
ICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAg
aW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZp
c2l0QXJnKDMsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBDb21wYXJlRmxvYXQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmco
MCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5j
LCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5V
c2UsIEZQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlpEZWYsIEdQ
LCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJyYW5jaDg6
Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAg
ICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgOCk7Ci0gICAgICAgIGluc3Qu
dmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDgpOwotICAgICAgICBicmVhazsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBCcmFuY2gzMjoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBm
dW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwg
R1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQnJhbmNo
NjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAg
ICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBp
bnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwot
ICAgICAgICBicmVhazsKLSAgICBjYXNlIEJyYW5jaFRlc3Q4OgotICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwg
ZnVuYywgQXJnLlVzZSwgR1AsIDgpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCA4KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
QnJhbmNoVGVzdDMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQ
LCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsK
LSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAg
ICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBCcmFuY2hUZXN0NjQ6Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52
aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJn
KDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIEJyYW5jaERvdWJsZToKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5j
LCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5V
c2UsIEZQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgRlAs
IDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQnJhbmNoRmxv
YXQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAg
ICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICBp
bnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgIGJyZWFrOwot
ICAgICAgICBicmVhazsKLSAgICBjYXNlIEJyYW5jaEFkZDMyOgotICAgICAgICBzd2l0Y2ggKGlu
c3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSA0OgotICAgICAgICAgICAgaW5zdC52aXNp
dEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFy
ZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygy
LCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygzLCBm
dW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7
Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0g
ICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2VaRGVmLCBHUCwgMzIpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0K
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBCcmFuY2hBZGQ2NDoKLSAgICAgICAgc3dpdGNoIChp
bnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgNDoKLSAgICAgICAgICAgIGluc3Qudmlz
aXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRB
cmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmco
MiwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMywg
ZnVuYywgQXJnLlpEZWYsIEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIp
OwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwot
ICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgNjQpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0K
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBCcmFuY2hNdWwzMjoKLSAgICAgICAgc3dpdGNoIChp
bnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3Qudmlz
aXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRB
cmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmco
MiwgZnVuYywgQXJnLlVzZVpEZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSA0OgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBH
UCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwg
MzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIp
OwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDY6Ci0gICAgICAgICAgICBpbnN0LnZp
c2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0
QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDMs
IGZ1bmMsIEFyZy5TY3JhdGNoLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg0
LCBmdW5jLCBBcmcuU2NyYXRjaCwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmco
NSwgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJy
YW5jaE11bDY0OgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAg
Y2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwg
MzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQp
OwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlWkRlZiwgR1AsIDY0
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDY6Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZp
c2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0
QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDMsIGZ1bmMsIEFyZy5TY3JhdGNoLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFy
Zyg0LCBmdW5jLCBBcmcuU2NyYXRjaCwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRB
cmcoNSwgZnVuYywgQXJnLlpEZWYsIEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNl
IEJyYW5jaFN1YjMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQ
LCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsK
LSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlWkRlZiwgR1AsIDMyKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQnJhbmNoU3ViNjQ6Ci0gICAg
ICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5z
dC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0
QXJnKDIsIGZ1bmMsIEFyZy5Vc2VEZWYsIEdQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIEJyYW5jaE5lZzMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAs
IGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywg
QXJnLlVzZVpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIEJyYW5jaE5lZzY0OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZVpEZWYs
IEdQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVD
b25kaXRpb25hbGx5MzI6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAg
ICAgICBjYXNlIDU6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQ
LCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAz
Mik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIp
OwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgUHRy
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDY6Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZp
c2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0
QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDMsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg0
LCBmdW5jLCBBcmcuVXNlLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoNSwg
ZnVuYywgQXJnLkRlZiwgR1AsIFB0cik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVD
b25kaXRpb25hbGx5NjQ6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAg
ICAgICBjYXNlIDU6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQ
LCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2
NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIp
OwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgUHRy
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDY6Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZp
c2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0
QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDMsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg0
LCBmdW5jLCBBcmcuVXNlLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoNSwg
ZnVuYywgQXJnLkRlZiwgR1AsIFB0cik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVD
b25kaXRpb25hbGx5VGVzdDMyOgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsK
LSAgICAgICAgY2FzZSA1OgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcu
VXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNl
LCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBH
UCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5jLCBBcmcuVXNlLCBHUCwg
UHRyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoNCwgZnVuYywgQXJnLlVzZURlZiwgR1As
IFB0cik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSA2OgotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52
aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNp
dEFyZygzLCBmdW5jLCBBcmcuVXNlLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRB
cmcoNCwgZnVuYywgQXJnLlVzZSwgR1AsIFB0cik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDUsIGZ1bmMsIEFyZy5EZWYsIEdQLCBQdHIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBN
b3ZlQ29uZGl0aW9uYWxseVRlc3Q2NDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3Ro
KSB7Ci0gICAgICAgIGNhc2UgNToKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywg
QXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJn
LlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVz
ZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlVzZSwg
R1AsIFB0cik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDQsIGZ1bmMsIEFyZy5Vc2VEZWYs
IEdQLCBQdHIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgNjoKLSAgICAgICAg
ICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMywgZnVuYywgQXJnLlVzZSwgR1AsIFB0cik7Ci0gICAgICAgICAgICBpbnN0LnZp
c2l0QXJnKDQsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwotICAgICAgICAgICAgaW5zdC52aXNp
dEFyZyg1LCBmdW5jLCBBcmcuRGVmLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQi
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgTW92ZUNvbmRpdGlvbmFsbHlEb3VibGU6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxl
bmd0aCkgewotICAgICAgICBjYXNlIDY6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1
bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMs
IEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFy
Zy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5V
c2UsIEdQLCBQdHIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNl
LCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoNSwgZnVuYywgQXJnLkRlZiwg
R1AsIFB0cik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSA1OgotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52
aXNpdEFyZygzLCBmdW5jLCBBcmcuVXNlLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGluc3Qudmlz
aXRBcmcoNCwgZnVuYywgQXJnLlVzZURlZiwgR1AsIFB0cik7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJs
b2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIE1vdmVDb25kaXRpb25hbGx5RmxvYXQ6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdz
Lmxlbmd0aCkgewotICAgICAgICBjYXNlIDY6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAs
IGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1
bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMs
IEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCBQdHIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcu
VXNlLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoNSwgZnVuYywgQXJnLkRl
ZiwgR1AsIFB0cik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSA1OgotICAgICAg
ICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygzLCBmdW5jLCBBcmcuVXNlLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoNCwgZnVuYywgQXJnLlVzZURlZiwgR1AsIFB0cik7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92
ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsK
LSAgICBjYXNlIE1vdmVEb3VibGVDb25kaXRpb25hbGx5MzI6Ci0gICAgICAgIGluc3QudmlzaXRB
cmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBm
dW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlVzZSwg
RlAsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQp
OwotICAgICAgICBpbnN0LnZpc2l0QXJnKDUsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAg
ICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVEb3VibGVDb25kaXRpb25h
bGx5NjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsK
LSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAg
ICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3Qu
dmlzaXRBcmcoMywgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFy
Zyg0LCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDUsIGZ1
bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIE1vdmVEb3VibGVDb25kaXRpb25hbGx5VGVzdDMyOgotICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwg
ZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBB
cmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5Vc2Us
IEZQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoNCwgZnVuYywgQXJnLlVzZSwgRlAsIDY0
KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZyg1LCBmdW5jLCBBcmcuRGVmLCBGUCwgNjQpOwotICAg
ICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNb3ZlRG91YmxlQ29uZGl0aW9u
YWxseVRlc3Q2NDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwg
MzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0g
ICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAg
aW5zdC52aXNpdEFyZygzLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZp
c2l0QXJnKDQsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmco
NSwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgTW92ZURvdWJsZUNvbmRpdGlvbmFsbHlEb3VibGU6Ci0gICAgICAgIGluc3Qu
dmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFy
ZygxLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1
bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJn
LlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlLCBG
UCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDUsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7
Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVEb3VibGVDb25k
aXRpb25hbGx5RmxvYXQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwg
R1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIp
OwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAg
ICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5z
dC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0
QXJnKDUsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIEp1bXA6Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIFJldDMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQ
LCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFJldDY0Ogot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAg
IGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFJldEZsb2F0OgotICAgICAgICBpbnN0
LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIFJldERvdWJsZToKLSAgICAgICAgaW5zdC52aXNpdEFyZygw
LCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBPb3BzOgotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBTaHVmZmxlOgotICAgICAgICBTaHVmZmxlQ3VzdG9tLmZvckVhY2hBcmcoaW5zdCwgZnVuYyk7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUGF0Y2g6Ci0gICAgICAgIFBhdGNoQ3VzdG9tLmZv
ckVhY2hBcmcoaW5zdCwgZnVuYyk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ0NhbGw6Ci0g
ICAgICAgIENDYWxsQ3VzdG9tLmZvckVhY2hBcmcoaW5zdCwgZnVuYyk7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgQ29sZENDYWxsOgotICAgICAgICBDb2xkQ0NhbGxDdXN0b20uZm9yRWFjaEFy
ZyhpbnN0LCBmdW5jKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgdGhy
b3cgIkJhZCBvcGNvZGUiOwotICAgIH0KLX0KLWZ1bmN0aW9uIEluc3RfaGFzTm9uQXJnRWZmZWN0
cyhpbnN0KQotewotICAgIHN3aXRjaCAoaW5zdC5vcGNvZGUpIHsKLSAgICBjYXNlIEJyYW5jaDg6
Ci0gICAgY2FzZSBCcmFuY2gzMjoKLSAgICBjYXNlIEJyYW5jaDY0OgotICAgIGNhc2UgQnJhbmNo
VGVzdDg6Ci0gICAgY2FzZSBCcmFuY2hUZXN0MzI6Ci0gICAgY2FzZSBCcmFuY2hUZXN0NjQ6Ci0g
ICAgY2FzZSBCcmFuY2hEb3VibGU6Ci0gICAgY2FzZSBCcmFuY2hGbG9hdDoKLSAgICBjYXNlIEJy
YW5jaEFkZDMyOgotICAgIGNhc2UgQnJhbmNoQWRkNjQ6Ci0gICAgY2FzZSBCcmFuY2hNdWwzMjoK
LSAgICBjYXNlIEJyYW5jaE11bDY0OgotICAgIGNhc2UgQnJhbmNoU3ViMzI6Ci0gICAgY2FzZSBC
cmFuY2hTdWI2NDoKLSAgICBjYXNlIEJyYW5jaE5lZzMyOgotICAgIGNhc2UgQnJhbmNoTmVnNjQ6
Ci0gICAgY2FzZSBKdW1wOgotICAgIGNhc2UgUmV0MzI6Ci0gICAgY2FzZSBSZXQ2NDoKLSAgICBj
YXNlIFJldEZsb2F0OgotICAgIGNhc2UgUmV0RG91YmxlOgotICAgIGNhc2UgT29wczoKLSAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBTaHVmZmxlOgotICAgICAgICByZXR1cm4gU2h1ZmZs
ZUN1c3RvbS5oYXNOb25BcmdOb25Db250cm9sRWZmZWN0cyhpbnN0KTsKLSAgICBjYXNlIFBhdGNo
OgotICAgICAgICByZXR1cm4gUGF0Y2hDdXN0b20uaGFzTm9uQXJnTm9uQ29udHJvbEVmZmVjdHMo
aW5zdCk7Ci0gICAgY2FzZSBDQ2FsbDoKLSAgICAgICAgcmV0dXJuIENDYWxsQ3VzdG9tLmhhc05v
bkFyZ05vbkNvbnRyb2xFZmZlY3RzKGluc3QpOwotICAgIGNhc2UgQ29sZENDYWxsOgotICAgICAg
ICByZXR1cm4gQ29sZENDYWxsQ3VzdG9tLmhhc05vbkFyZ05vbkNvbnRyb2xFZmZlY3RzKGluc3Qp
OwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci19Ci1mdW5jdGlv
biBvcGNvZGVDb2RlKG9wY29kZSkKLXsKLSAgICBzd2l0Y2ggKG9wY29kZSkgewotICAgIGNhc2Ug
QWJzRG91YmxlOgotICAgICAgICByZXR1cm4gMAotICAgIGNhc2UgQWJzRmxvYXQ6Ci0gICAgICAg
IHJldHVybiAxCi0gICAgY2FzZSBBZGQxNjoKLSAgICAgICAgcmV0dXJuIDIKLSAgICBjYXNlIEFk
ZDMyOgotICAgICAgICByZXR1cm4gMwotICAgIGNhc2UgQWRkNjQ6Ci0gICAgICAgIHJldHVybiA0
Ci0gICAgY2FzZSBBZGQ4OgotICAgICAgICByZXR1cm4gNQotICAgIGNhc2UgQWRkRG91YmxlOgot
ICAgICAgICByZXR1cm4gNgotICAgIGNhc2UgQWRkRmxvYXQ6Ci0gICAgICAgIHJldHVybiA3Ci0g
ICAgY2FzZSBBbmQzMjoKLSAgICAgICAgcmV0dXJuIDgKLSAgICBjYXNlIEFuZDY0OgotICAgICAg
ICByZXR1cm4gOQotICAgIGNhc2UgQW5kRG91YmxlOgotICAgICAgICByZXR1cm4gMTAKLSAgICBj
YXNlIEFuZEZsb2F0OgotICAgICAgICByZXR1cm4gMTEKLSAgICBjYXNlIEJyYW5jaDMyOgotICAg
ICAgICByZXR1cm4gMTIKLSAgICBjYXNlIEJyYW5jaDY0OgotICAgICAgICByZXR1cm4gMTMKLSAg
ICBjYXNlIEJyYW5jaDg6Ci0gICAgICAgIHJldHVybiAxNAotICAgIGNhc2UgQnJhbmNoQWRkMzI6
Ci0gICAgICAgIHJldHVybiAxNQotICAgIGNhc2UgQnJhbmNoQWRkNjQ6Ci0gICAgICAgIHJldHVy
biAxNgotICAgIGNhc2UgQnJhbmNoRG91YmxlOgotICAgICAgICByZXR1cm4gMTcKLSAgICBjYXNl
IEJyYW5jaEZsb2F0OgotICAgICAgICByZXR1cm4gMTgKLSAgICBjYXNlIEJyYW5jaE11bDMyOgot
ICAgICAgICByZXR1cm4gMTkKLSAgICBjYXNlIEJyYW5jaE11bDY0OgotICAgICAgICByZXR1cm4g
MjAKLSAgICBjYXNlIEJyYW5jaE5lZzMyOgotICAgICAgICByZXR1cm4gMjEKLSAgICBjYXNlIEJy
YW5jaE5lZzY0OgotICAgICAgICByZXR1cm4gMjIKLSAgICBjYXNlIEJyYW5jaFN1YjMyOgotICAg
ICAgICByZXR1cm4gMjMKLSAgICBjYXNlIEJyYW5jaFN1YjY0OgotICAgICAgICByZXR1cm4gMjQK
LSAgICBjYXNlIEJyYW5jaFRlc3QzMjoKLSAgICAgICAgcmV0dXJuIDI1Ci0gICAgY2FzZSBCcmFu
Y2hUZXN0NjQ6Ci0gICAgICAgIHJldHVybiAyNgotICAgIGNhc2UgQnJhbmNoVGVzdDg6Ci0gICAg
ICAgIHJldHVybiAyNwotICAgIGNhc2UgQ0NhbGw6Ci0gICAgICAgIHJldHVybiAyOAotICAgIGNh
c2UgQ2VpbERvdWJsZToKLSAgICAgICAgcmV0dXJuIDI5Ci0gICAgY2FzZSBDZWlsRmxvYXQ6Ci0g
ICAgICAgIHJldHVybiAzMAotICAgIGNhc2UgQ29sZENDYWxsOgotICAgICAgICByZXR1cm4gMzEK
LSAgICBjYXNlIENvbXBhcmUzMjoKLSAgICAgICAgcmV0dXJuIDMyCi0gICAgY2FzZSBDb21wYXJl
NjQ6Ci0gICAgICAgIHJldHVybiAzMwotICAgIGNhc2UgQ29tcGFyZURvdWJsZToKLSAgICAgICAg
cmV0dXJuIDM0Ci0gICAgY2FzZSBDb21wYXJlRmxvYXQ6Ci0gICAgICAgIHJldHVybiAzNQotICAg
IGNhc2UgQ29udmVydERvdWJsZVRvRmxvYXQ6Ci0gICAgICAgIHJldHVybiAzNgotICAgIGNhc2Ug
Q29udmVydEZsb2F0VG9Eb3VibGU6Ci0gICAgICAgIHJldHVybiAzNwotICAgIGNhc2UgQ29udmVy
dEludDMyVG9Eb3VibGU6Ci0gICAgICAgIHJldHVybiAzOAotICAgIGNhc2UgQ29udmVydEludDMy
VG9GbG9hdDoKLSAgICAgICAgcmV0dXJuIDM5Ci0gICAgY2FzZSBDb252ZXJ0SW50NjRUb0RvdWJs
ZToKLSAgICAgICAgcmV0dXJuIDQwCi0gICAgY2FzZSBDb252ZXJ0SW50NjRUb0Zsb2F0OgotICAg
ICAgICByZXR1cm4gNDEKLSAgICBjYXNlIENvdW50TGVhZGluZ1plcm9zMzI6Ci0gICAgICAgIHJl
dHVybiA0MgotICAgIGNhc2UgQ291bnRMZWFkaW5nWmVyb3M2NDoKLSAgICAgICAgcmV0dXJuIDQz
Ci0gICAgY2FzZSBEaXYzMjoKLSAgICAgICAgcmV0dXJuIDQ0Ci0gICAgY2FzZSBEaXY2NDoKLSAg
ICAgICAgcmV0dXJuIDQ1Ci0gICAgY2FzZSBEaXZEb3VibGU6Ci0gICAgICAgIHJldHVybiA0Ngot
ICAgIGNhc2UgRGl2RmxvYXQ6Ci0gICAgICAgIHJldHVybiA0NwotICAgIGNhc2UgRmxvb3JEb3Vi
bGU6Ci0gICAgICAgIHJldHVybiA0OAotICAgIGNhc2UgRmxvb3JGbG9hdDoKLSAgICAgICAgcmV0
dXJuIDQ5Ci0gICAgY2FzZSBKdW1wOgotICAgICAgICByZXR1cm4gNTAKLSAgICBjYXNlIExlYToK
LSAgICAgICAgcmV0dXJuIDUxCi0gICAgY2FzZSBMb2FkMTY6Ci0gICAgICAgIHJldHVybiA1Mgot
ICAgIGNhc2UgTG9hZDE2U2lnbmVkRXh0ZW5kVG8zMjoKLSAgICAgICAgcmV0dXJuIDUzCi0gICAg
Y2FzZSBMb2FkODoKLSAgICAgICAgcmV0dXJuIDU0Ci0gICAgY2FzZSBMb2FkOFNpZ25lZEV4dGVu
ZFRvMzI6Ci0gICAgICAgIHJldHVybiA1NQotICAgIGNhc2UgTHNoaWZ0MzI6Ci0gICAgICAgIHJl
dHVybiA1NgotICAgIGNhc2UgTHNoaWZ0NjQ6Ci0gICAgICAgIHJldHVybiA1NwotICAgIGNhc2Ug
TW92ZToKLSAgICAgICAgcmV0dXJuIDU4Ci0gICAgY2FzZSBNb3ZlMzI6Ci0gICAgICAgIHJldHVy
biA1OQotICAgIGNhc2UgTW92ZTMyVG9GbG9hdDoKLSAgICAgICAgcmV0dXJuIDYwCi0gICAgY2Fz
ZSBNb3ZlNjRUb0RvdWJsZToKLSAgICAgICAgcmV0dXJuIDYxCi0gICAgY2FzZSBNb3ZlQ29uZGl0
aW9uYWxseTMyOgotICAgICAgICByZXR1cm4gNjIKLSAgICBjYXNlIE1vdmVDb25kaXRpb25hbGx5
NjQ6Ci0gICAgICAgIHJldHVybiA2MwotICAgIGNhc2UgTW92ZUNvbmRpdGlvbmFsbHlEb3VibGU6
Ci0gICAgICAgIHJldHVybiA2NAotICAgIGNhc2UgTW92ZUNvbmRpdGlvbmFsbHlGbG9hdDoKLSAg
ICAgICAgcmV0dXJuIDY1Ci0gICAgY2FzZSBNb3ZlQ29uZGl0aW9uYWxseVRlc3QzMjoKLSAgICAg
ICAgcmV0dXJuIDY2Ci0gICAgY2FzZSBNb3ZlQ29uZGl0aW9uYWxseVRlc3Q2NDoKLSAgICAgICAg
cmV0dXJuIDY3Ci0gICAgY2FzZSBNb3ZlRG91YmxlOgotICAgICAgICByZXR1cm4gNjgKLSAgICBj
YXNlIE1vdmVEb3VibGVDb25kaXRpb25hbGx5MzI6Ci0gICAgICAgIHJldHVybiA2OQotICAgIGNh
c2UgTW92ZURvdWJsZUNvbmRpdGlvbmFsbHk2NDoKLSAgICAgICAgcmV0dXJuIDcwCi0gICAgY2Fz
ZSBNb3ZlRG91YmxlQ29uZGl0aW9uYWxseURvdWJsZToKLSAgICAgICAgcmV0dXJuIDcxCi0gICAg
Y2FzZSBNb3ZlRG91YmxlQ29uZGl0aW9uYWxseUZsb2F0OgotICAgICAgICByZXR1cm4gNzIKLSAg
ICBjYXNlIE1vdmVEb3VibGVDb25kaXRpb25hbGx5VGVzdDMyOgotICAgICAgICByZXR1cm4gNzMK
LSAgICBjYXNlIE1vdmVEb3VibGVDb25kaXRpb25hbGx5VGVzdDY0OgotICAgICAgICByZXR1cm4g
NzQKLSAgICBjYXNlIE1vdmVEb3VibGVUbzY0OgotICAgICAgICByZXR1cm4gNzUKLSAgICBjYXNl
IE1vdmVGbG9hdDoKLSAgICAgICAgcmV0dXJuIDc2Ci0gICAgY2FzZSBNb3ZlRmxvYXRUbzMyOgot
ICAgICAgICByZXR1cm4gNzcKLSAgICBjYXNlIE1vdmVaZXJvVG9Eb3VibGU6Ci0gICAgICAgIHJl
dHVybiA3OAotICAgIGNhc2UgTXVsMzI6Ci0gICAgICAgIHJldHVybiA3OQotICAgIGNhc2UgTXVs
NjQ6Ci0gICAgICAgIHJldHVybiA4MAotICAgIGNhc2UgTXVsRG91YmxlOgotICAgICAgICByZXR1
cm4gODEKLSAgICBjYXNlIE11bEZsb2F0OgotICAgICAgICByZXR1cm4gODIKLSAgICBjYXNlIE11
bHRpcGx5QWRkMzI6Ci0gICAgICAgIHJldHVybiA4MwotICAgIGNhc2UgTXVsdGlwbHlBZGQ2NDoK
LSAgICAgICAgcmV0dXJuIDg0Ci0gICAgY2FzZSBNdWx0aXBseU5lZzMyOgotICAgICAgICByZXR1
cm4gODUKLSAgICBjYXNlIE11bHRpcGx5TmVnNjQ6Ci0gICAgICAgIHJldHVybiA4NgotICAgIGNh
c2UgTXVsdGlwbHlTdWIzMjoKLSAgICAgICAgcmV0dXJuIDg3Ci0gICAgY2FzZSBNdWx0aXBseVN1
YjY0OgotICAgICAgICByZXR1cm4gODgKLSAgICBjYXNlIE5lZzMyOgotICAgICAgICByZXR1cm4g
ODkKLSAgICBjYXNlIE5lZzY0OgotICAgICAgICByZXR1cm4gOTAKLSAgICBjYXNlIE5lZ2F0ZURv
dWJsZToKLSAgICAgICAgcmV0dXJuIDkxCi0gICAgY2FzZSBOb3A6Ci0gICAgICAgIHJldHVybiA5
MgotICAgIGNhc2UgTm90MzI6Ci0gICAgICAgIHJldHVybiA5MwotICAgIGNhc2UgTm90NjQ6Ci0g
ICAgICAgIHJldHVybiA5NAotICAgIGNhc2UgT29wczoKLSAgICAgICAgcmV0dXJuIDk1Ci0gICAg
Y2FzZSBPcjMyOgotICAgICAgICByZXR1cm4gOTYKLSAgICBjYXNlIE9yNjQ6Ci0gICAgICAgIHJl
dHVybiA5NwotICAgIGNhc2UgUGF0Y2g6Ci0gICAgICAgIHJldHVybiA5OAotICAgIGNhc2UgUmV0
MzI6Ci0gICAgICAgIHJldHVybiA5OQotICAgIGNhc2UgUmV0NjQ6Ci0gICAgICAgIHJldHVybiAx
MDAKLSAgICBjYXNlIFJldERvdWJsZToKLSAgICAgICAgcmV0dXJuIDEwMQotICAgIGNhc2UgUmV0
RmxvYXQ6Ci0gICAgICAgIHJldHVybiAxMDIKLSAgICBjYXNlIFJzaGlmdDMyOgotICAgICAgICBy
ZXR1cm4gMTAzCi0gICAgY2FzZSBSc2hpZnQ2NDoKLSAgICAgICAgcmV0dXJuIDEwNAotICAgIGNh
c2UgU2h1ZmZsZToKLSAgICAgICAgcmV0dXJuIDEwNQotICAgIGNhc2UgU2lnbkV4dGVuZDE2VG8z
MjoKLSAgICAgICAgcmV0dXJuIDEwNgotICAgIGNhc2UgU2lnbkV4dGVuZDMyVG9QdHI6Ci0gICAg
ICAgIHJldHVybiAxMDcKLSAgICBjYXNlIFNpZ25FeHRlbmQ4VG8zMjoKLSAgICAgICAgcmV0dXJu
IDEwOAotICAgIGNhc2UgU3FydERvdWJsZToKLSAgICAgICAgcmV0dXJuIDEwOQotICAgIGNhc2Ug
U3FydEZsb2F0OgotICAgICAgICByZXR1cm4gMTEwCi0gICAgY2FzZSBTdG9yZTE2OgotICAgICAg
ICByZXR1cm4gMTExCi0gICAgY2FzZSBTdG9yZTg6Ci0gICAgICAgIHJldHVybiAxMTIKLSAgICBj
YXNlIFN0b3JlWmVybzMyOgotICAgICAgICByZXR1cm4gMTEzCi0gICAgY2FzZSBTdWIzMjoKLSAg
ICAgICAgcmV0dXJuIDExNAotICAgIGNhc2UgU3ViNjQ6Ci0gICAgICAgIHJldHVybiAxMTUKLSAg
ICBjYXNlIFN1YkRvdWJsZToKLSAgICAgICAgcmV0dXJuIDExNgotICAgIGNhc2UgU3ViRmxvYXQ6
Ci0gICAgICAgIHJldHVybiAxMTcKLSAgICBjYXNlIFN3YXAzMjoKLSAgICAgICAgcmV0dXJuIDEx
OAotICAgIGNhc2UgU3dhcDY0OgotICAgICAgICByZXR1cm4gMTE5Ci0gICAgY2FzZSBUZXN0MzI6
Ci0gICAgICAgIHJldHVybiAxMjAKLSAgICBjYXNlIFRlc3Q2NDoKLSAgICAgICAgcmV0dXJuIDEy
MQotICAgIGNhc2UgVXJzaGlmdDMyOgotICAgICAgICByZXR1cm4gMTIyCi0gICAgY2FzZSBVcnNo
aWZ0NjQ6Ci0gICAgICAgIHJldHVybiAxMjMKLSAgICBjYXNlIFg4NkNvbnZlcnRUb0RvdWJsZVdv
cmQzMjoKLSAgICAgICAgcmV0dXJuIDEyNAotICAgIGNhc2UgWDg2Q29udmVydFRvUXVhZFdvcmQ2
NDoKLSAgICAgICAgcmV0dXJuIDEyNQotICAgIGNhc2UgWDg2RGl2MzI6Ci0gICAgICAgIHJldHVy
biAxMjYKLSAgICBjYXNlIFg4NkRpdjY0OgotICAgICAgICByZXR1cm4gMTI3Ci0gICAgY2FzZSBY
b3IzMjoKLSAgICAgICAgcmV0dXJuIDEyOAotICAgIGNhc2UgWG9yNjQ6Ci0gICAgICAgIHJldHVy
biAxMjkKLSAgICBjYXNlIFhvckRvdWJsZToKLSAgICAgICAgcmV0dXJuIDEzMAotICAgIGNhc2Ug
WG9yRmxvYXQ6Ci0gICAgICAgIHJldHVybiAxMzEKLSAgICBjYXNlIFplcm9FeHRlbmQxNlRvMzI6
Ci0gICAgICAgIHJldHVybiAxMzIKLSAgICBjYXNlIFplcm9FeHRlbmQ4VG8zMjoKLSAgICAgICAg
cmV0dXJuIDEzMwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigiYmFkIG9w
Y29kZSIpOwotICAgIH0KLX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gv
QWlyL3BheWxvYWQtYWlyanMtQUNMajhDLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVz
dHMvRVM2U2FtcGxlQmVuY2gvQWlyL3BheWxvYWQtYWlyanMtQUNMajhDLmpzCShyZXZpc2lvbiAy
MTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9wYXlsb2FkLWFp
cmpzLUFDTGo4Qy5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDE3MzAgKzAsMCBAQAotInVzZSBzdHJp
Y3QiOwotLy8gR2VuZXJhdGVkIGJ5IEFpcjo6ZHVtcEFzSlMgZnJvbSAjQUNMajhDIGluIEFpci5q
cwotZnVuY3Rpb24gY3JlYXRlUGF5bG9hZEFpckpTQUNMajhDKCkKLXsKLSAgICBsZXQgY29kZSA9
IG5ldyBDb2RlKCk7Ci0gICAgbGV0IGJiMCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIx
ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjIgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAg
bGV0IGJiMyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI0ID0gY29kZS5hZGRCbG9jaygp
OwotICAgIGxldCBiYjUgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiNiA9IGNvZGUuYWRk
QmxvY2soKTsKLSAgICBsZXQgYmI3ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjggPSBj
b2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiOSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQg
YmIxMCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMSA9IGNvZGUuYWRkQmxvY2soKTsK
LSAgICBsZXQgYmIxMiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMyA9IGNvZGUuYWRk
QmxvY2soKTsKLSAgICBsZXQgYmIxNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxNSA9
IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgc2xvdDAgPSBjb2RlLmFkZFN0YWNrU2xvdCgxNjAs
IExvY2tlZCk7Ci0gICAgbGV0IHNsb3QxID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwot
ICAgIGxldCBzbG90MiA9IGNvZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xv
dDMgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3Q0ID0gY29kZS5h
ZGRTdGFja1Nsb3QoNDAsIExvY2tlZCk7Ci0gICAgc2xvdDQuc2V0T2Zmc2V0RnJvbUZQKC00MCk7
Ci0gICAgbGV0IHRtcDYxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2MCA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDU4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1NyA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wNTYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU1ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXA1NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
NTMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDUyID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXA1MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTAgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0
OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDcgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDQ2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0NSA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wNDQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQz
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wNDEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQwID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXAzOSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzgg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDM3ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAzNiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzUgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDM0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMyA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDMxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMCA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMjkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI4ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyNyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wMjYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI1ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAyNCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjMgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDIyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAyMSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjAgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDE5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxOCA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDE2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNSA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMTQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMTEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXA5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXA3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXA0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCBp
bnN0OwotICAgIGxldCBhcmc7Ci0gICAgYmIwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRl
ZEJsb2NrKGJiMSwgTm9ybWFsKSk7Ci0gICAgYmIwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiMTUsIE5vcm1hbCkpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI3NjQyNDgwMCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYnAsIDE2KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9
IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5TY3JhdGNoLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJicCwgNzIpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRp
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYnAs
IDY0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihS
ZWcucmJwLCA1Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUFkZHIoUmVnLnJicCwgNDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIw
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUJpZ0ltbSgyLCAtNjU1MzYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAg
IGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlQWRkcihSZWcucmJwLCAyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgMTYpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMCwgLTY1NTM2KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZl
Y3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0
cmFFYXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5MYXRlVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkxhdGVVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBi
YjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFF
YXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIwLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFk
ZHIoUmVnLnJjeCwgMzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVBZGRyKFJlZy5yY3gsIDQwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhh
c05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjc2MzI3NjQ4LCAxKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4
dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5v
dEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVB
ZGRyKFJlZy5yOCwgNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlSW1tKDIxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGlu
c3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogOH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogOH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4
dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5v
dEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVB
ZGRyKFJlZy5yMTIsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUltbSgzNzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsK
LSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0g
W107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
QWRkcihSZWcucjEyLCA4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQWRkcihSZWcucmF4LCAtNDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
c2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0
LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
ZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAg
aW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyNzYzMjEwMjQsIDEpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTm90RXF1YWwpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJj
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0
cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MCwgNzIp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90
MCwgNjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFj
ayhzbG90MCwgNTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVTdGFjayhzbG90MCwgNDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVN0YWNrKHNsb3QwLCA0MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4
dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0Vm
ZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0
KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoWG9yNjQpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVJbW0oNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUltbSgtMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3RhY2soc2xvdDIsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUltbSgtMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI5KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsK
LSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0g
W107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDMsIDAp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChCcmFuY2hUZXN0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5v
blplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5k
KGluc3QpOwotICAgIGJiMS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMs
IE5vcm1hbCkpOwotICAgIGJiMS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhi
YjIsIE5vcm1hbCkpOwotICAgIGJiMS5wcmVkZWNlc3NvcnMucHVzaChiYjApOwotICAgIGluc3Qg
PSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFs
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJl
Zy5yOCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
SW1tKDQ2OCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3Qu
cGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGJiMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yOCwgMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjc2NzQxMTYwLCAxKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmN4LCAwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChCcmFuY2g2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoRXF1YWwp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVn
LnJheCwgOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxLmFwcGVuZChp
bnN0KTsKLSAgICBiYjIucHJlZGVjZXNzb3JzLnB1c2goYmIxKTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0g
dHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGJiMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE9vcHMpOwot
ICAgIGJiMi5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiNCwgTm9ybWFsKSk7Ci0gICAgYmIzLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJl
cXVlbnRlZEJsb2NrKGJiNywgTm9ybWFsKSk7Ci0gICAgYmIzLnByZWRlY2Vzc29ycy5wdXNoKGJi
MSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRy
KFJlZy5yOCwgMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMy5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVJlbENvbmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDIzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0
cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjMuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1t
KDI3NTczOTYxNiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoNjQpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVSZWxDb25kKEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjMuYXBwZW5kKGluc3QpOwotICAgIGJiNC5zdWNjZXNzb3JzLnB1c2gobmV3
IEZyZXF1ZW50ZWRCbG9jayhiYjUsIE5vcm1hbCkpOwotICAgIGJiNC5zdWNjZXNzb3JzLnB1c2go
bmV3IEZyZXF1ZW50ZWRCbG9jayhiYjYsIE5vcm1hbCkpOwotICAgIGJiNC5wcmVkZWNlc3NvcnMu
cHVzaChiYjMpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVN0YWNrKHNsb3QwLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
NC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVBZGRyKFJlZy5yYngsIDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4LCAzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MSwgMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQ
YXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRy
YUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjQuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVN0YWNrKHNsb3QwLCAzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVN0YWNrKHNsb3QwLCAyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QwLCAxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QwLCA4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjc2NjQ1ODcyLCAxKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI3NjY0NjQ5NiwgMSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDIpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMTYpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDI0KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygzMik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxB
cmcoOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2Fs
bEFyZygxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
Q2FsbEFyZygyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlQ2FsbEFyZygzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGlu
c3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmN4KTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnJkeCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy5yc2kpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmRpKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnI4KTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnI5KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnIxMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnhtbTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1t
Myk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW00KTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTUpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcueG1tNik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy54bW03KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTgpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tOSk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW0xMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0x
Mik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMyk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xNCk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy54bW0xNSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkRlZiwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIx
Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0
YWNrKHNsb3QxLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBh
dGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQo
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiNC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoWG9yNjQpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVJbW0oNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUlt
bSgtMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVj
aWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVz
Q29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0g
ICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtd
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgYmI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0NjQpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGJiNS5zdWNjZXNzb3JzLnB1
c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjgsIE5vcm1hbCkpOwotICAgIGJiNS5wcmVkZWNlc3Nv
cnMucHVzaChiYjQpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0
LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxh
dGVVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIx
Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNo
SGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVn
cyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiNS5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Bl
Y2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJl
c0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAg
IGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVJlbENvbmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJjeCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDQxOSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZl
Y3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChN
b3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI3NjE2ODYwOCwgMSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDIpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMTYpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDI0KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygzMik7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoOCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygx
Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFy
ZygyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2Fs
bEFyZygzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0
Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmN4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncy5hZGQoUmVnLnJkeCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy5yc2kpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmRpKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnI4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncy5hZGQoUmVnLnI5KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVn
LnIxMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMCk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy54bW0xKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnhtbTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMyk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW00KTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTUpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcueG1tNik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW03
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MuYWRkKFJlZy54bW0xMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy54bW0xMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMik7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMyk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MuYWRkKFJlZy54bW0xNSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkRlZiwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNs
b3QxLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25B
cmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KEp1bXApOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgYmI2LnN1Y2Nlc3NvcnMucHVzaChu
ZXcgRnJlcXVlbnRlZEJsb2NrKGJiOCwgTm9ybWFsKSk7Ci0gICAgYmI2LnByZWRlY2Vzc29ycy5w
dXNoKGJiNCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVJbW0oMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNi5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7
Ci0gICAgYmI3LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTIsIE5vcm1h
bCkpOwotICAgIGJiNy5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjksIE5v
cm1hbCkpOwotICAgIGJiNy5wcmVkZWNlc3NvcnMucHVzaChiYjMpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg1KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDMyKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg0MCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjcuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoNDgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDU2KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDI0
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJn
KDMyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxs
QXJnKDQwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVD
YWxsQXJnKDQ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVDYWxsQXJnKDU2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5z
dC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2Ji
ZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcg
U2V0KCk7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yY3gpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcucmR4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnJzaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZGkpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjgpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcucjkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcucjEwKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0wKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcueG1tMik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0z
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTQpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MuYWRkKFJlZy54bW02KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVn
LnhtbTcpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tOCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW05KTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncy5hZGQoUmVnLnhtbTEwKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnhtbTExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEy
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEzKTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTE0KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncy5hZGQoUmVnLnhtbTE1KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5l
eHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoVGVzdDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVz
Q29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI3
LmFwcGVuZChpbnN0KTsKLSAgICBiYjguc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxv
Y2soYmIxMywgTm9ybWFsKSk7Ci0gICAgYmI4LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRl
ZEJsb2NrKGJiMTAsIE5vcm1hbCkpOwotICAgIGJiOC5wcmVkZWNlc3NvcnMucHVzaChiYjYpOwot
ICAgIGJiOC5wcmVkZWNlc3NvcnMucHVzaChiYjUpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFu
Y2hUZXN0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjguYXBwZW5kKGluc3QpOwotICAgIGJi
OS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjExLCBOb3JtYWwpKTsKLSAg
ICBiYjkucHJlZGVjZXNzb3JzLnB1c2goYmI3KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7
Ci0gICAgYmI5LmFwcGVuZChpbnN0KTsKLSAgICBiYjEwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJl
cXVlbnRlZEJsb2NrKGJiMTEsIE5vcm1hbCkpOwotICAgIGJiMTAucHJlZGVjZXNzb3JzLnB1c2go
YmI4KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxMC5hcHBlbmQoaW5zdCk7
Ci0gICAgYmIxMS5wcmVkZWNlc3NvcnMucHVzaChiYjkpOwotICAgIGJiMTEucHJlZGVjZXNzb3Jz
LnB1c2goYmIxMCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVJlbENvbmQoQmVsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDIwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBp
bnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDh9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDh9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3Rz
ID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBi
YjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoT29wcyk7Ci0gICAgYmIxMS5h
cHBlbmQoaW5zdCk7Ci0gICAgYmIxMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjE0LCBOb3JtYWwpKTsKLSAgICBiYjEyLnByZWRlY2Vzc29ycy5wdXNoKGJiNyk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMTIuYXBwZW5kKGluc3QpOwotICAgIGJiMTMu
c3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxNCwgTm9ybWFsKSk7Ci0gICAg
YmIxMy5wcmVkZWNlc3NvcnMucHVzaChiYjgpOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsK
LSAgICBiYjEzLmFwcGVuZChpbnN0KTsKLSAgICBiYjE0LnByZWRlY2Vzc29ycy5wdXNoKGJiMTIp
OwotICAgIGJiMTQucHJlZGVjZXNzb3JzLnB1c2goYmIxMyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KEFuZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKC05KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjE0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25B
cmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMTQu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlSW1tKDEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE0LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUmV0NjQpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE0LmFw
cGVuZChpbnN0KTsKLSAgICBiYjE1LnByZWRlY2Vzc29ycy5wdXNoKGJiMCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChSZXQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTUuYXBwZW5kKGluc3QpOwotICAgIHJldHVybiBj
b2RlOwotfQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvcGF5bG9h
ZC1nYmVtdS1leGVjdXRlSXRlcmF0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVz
dHMvRVM2U2FtcGxlQmVuY2gvQWlyL3BheWxvYWQtZ2JlbXUtZXhlY3V0ZUl0ZXJhdGlvbi5qcwko
cmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIv
cGF5bG9hZC1nYmVtdS1leGVjdXRlSXRlcmF0aW9uLmpzCShub25leGlzdGVudCkKQEAgLTEsMzIy
OSArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0vLyBHZW5lcmF0ZWQgYnkgQWlyOjpkdW1wQXNKUyBm
cm9tIGV4ZWN1dGVJdGVyYXRpb24jRVZ4OHBKIGluIE9jdGFuZS9nYmVtdQotZnVuY3Rpb24gY3Jl
YXRlUGF5bG9hZEdiZW11RXhlY3V0ZUl0ZXJhdGlvbigpCi17Ci0gICAgbGV0IGNvZGUgPSBuZXcg
Q29kZSgpOwotICAgIGxldCBiYjAgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMSA9IGNv
ZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBi
YjMgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAg
ICBsZXQgYmI1ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjYgPSBjb2RlLmFkZEJsb2Nr
KCk7Ci0gICAgbGV0IGJiNyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI4ID0gY29kZS5h
ZGRCbG9jaygpOwotICAgIGxldCBiYjkgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMTAg
PSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMTEgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAg
bGV0IGJiMTIgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMTMgPSBjb2RlLmFkZEJsb2Nr
KCk7Ci0gICAgbGV0IGJiMTQgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMTUgPSBjb2Rl
LmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMTYgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJi
MTcgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMTggPSBjb2RlLmFkZEJsb2NrKCk7Ci0g
ICAgbGV0IGJiMTkgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMjAgPSBjb2RlLmFkZEJs
b2NrKCk7Ci0gICAgbGV0IGJiMjEgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMjIgPSBj
b2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMjMgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0
IGJiMjQgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMjUgPSBjb2RlLmFkZEJsb2NrKCk7
Ci0gICAgbGV0IGJiMjYgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMjcgPSBjb2RlLmFk
ZEJsb2NrKCk7Ci0gICAgbGV0IGJiMjggPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMjkg
PSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMzAgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAg
bGV0IGJiMzEgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMzIgPSBjb2RlLmFkZEJsb2Nr
KCk7Ci0gICAgbGV0IGJiMzMgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMzQgPSBjb2Rl
LmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMzUgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJi
MzYgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMzcgPSBjb2RlLmFkZEJsb2NrKCk7Ci0g
ICAgbGV0IGJiMzggPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMzkgPSBjb2RlLmFkZEJs
b2NrKCk7Ci0gICAgbGV0IGJiNDAgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiNDEgPSBj
b2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiNDIgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0
IHNsb3QwID0gY29kZS5hZGRTdGFja1Nsb3QoNjQsIExvY2tlZCk7Ci0gICAgbGV0IHNsb3QxID0g
Y29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwotICAgIGxldCBzbG90MiA9IGNvZGUuYWRkU3Rh
Y2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xvdDMgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBT
cGlsbCk7Ci0gICAgbGV0IHNsb3Q0ID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwotICAg
IGxldCBzbG90NSA9IGNvZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xvdDYg
PSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3Q3ID0gY29kZS5hZGRT
dGFja1Nsb3QoOCwgU3BpbGwpOwotICAgIGxldCBzbG90OCA9IGNvZGUuYWRkU3RhY2tTbG90KDgs
IFNwaWxsKTsKLSAgICBsZXQgc2xvdDkgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0g
ICAgbGV0IHNsb3QxMCA9IGNvZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xv
dDExID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwotICAgIGxldCBzbG90MTIgPSBjb2Rl
LmFkZFN0YWNrU2xvdCg0MCwgTG9ja2VkKTsKLSAgICBzbG90MTIuc2V0T2Zmc2V0RnJvbUZQKC00
MCk7Ci0gICAgbGV0IHRtcDE5MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTg5ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxODggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDE4NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTg2ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXAxODUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE4
NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTgzID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXAxODIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE4MSA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTgwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXAxNzkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE3OCA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMTc3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNzYgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE3NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wMTc0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNzMgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDE3MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTcx
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNzAgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDE2OSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTY4ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNjcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDE2NiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTY1ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXAxNjQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE2MyA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTYyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAxNjEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE2MCA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMTU5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNTgg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE1NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wMTU2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNTUgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDE1NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
MTUzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNTIgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDE1MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTUwID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNDkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDE0OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTQ3ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAxNDYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE0NSA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTQ0ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAxNDMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE0MiA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wMTQxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAx
NDAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzOSA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wMTM4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMzcgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzNiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMTM1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMzQgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDEzMyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTMyID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMzEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDEzMCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTI5ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXAxMjggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEy
NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTI2ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXAxMjUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyNCA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTIzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXAxMjIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyMSA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMTIwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMTkgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDExOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wMTE3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMTYgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDExNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTE0
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMTMgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDExMiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTExID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMTAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDEwOSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTA4ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXAxMDcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwNiA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTA1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAxMDQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwMyA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMTAyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMDEg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwMCA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wOTkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDk4ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXA5NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTYg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDk1ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXA5NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTMgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDkyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5MSA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDg5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4OCA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wODcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDg2ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wODQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDgzID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXA4MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODEgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDgwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXA3OSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzggPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDc3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3NiA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDc0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3MyA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wNzIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDcxID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wNjkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDY4ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXA2NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjYgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDY1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXA2NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjMgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDYyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2MSA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDU5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1OCA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wNTcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU2ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXA1NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
NTQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDUzID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXA1MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTEgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDUwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0
OSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDggPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDQ3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0NiA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wNDUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ0
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wNDIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQxID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXA0MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzkg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDM4ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAzNyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzYgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDM1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzNCA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDMyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMSA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMzAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI5ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wMjcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI2ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAyNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjQgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDIzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAyMiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjEgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDIwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxOSA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDE3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNiA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMTUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE0ID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMTIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDExID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXAxMCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOSA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNiA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNCA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMiA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgZnRtcDcgPSBjb2RlLm5ld1RtcChGUCk7
Ci0gICAgbGV0IGZ0bXA2ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNSA9IGNvZGUu
bmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDQgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0
bXAzID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMiA9IGNvZGUubmV3VG1wKEZQKTsK
LSAgICBsZXQgZnRtcDEgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAwID0gY29kZS5u
ZXdUbXAoRlApOwotICAgIGxldCBpbnN0OwotICAgIGxldCBhcmc7Ci0gICAgYmIwLnN1Y2Nlc3Nv
cnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMiwgTm9ybWFsKSk7Ci0gICAgYmIwLnN1Y2Nl
c3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMSwgTm9ybWFsKSk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg2OTA0OTYwLCAx
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIo
UmVnLnJicCwgMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVT
cGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYnApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0
Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlNjcmF0Y2gsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
QWRkcihSZWcucmJwLCA0MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIw
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUJpZ0ltbSgyLCAtNjU1MzYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0g
ICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtd
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgNSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDIxKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0g
ICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtd
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg2NTA2NTQ0LCAxKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxMCwgMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI4NjQ1NTE2OCwgMSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhz
bG90NCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1t
KDI4NzEzMTM0NCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVTdGFjayhzbG90NiwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlSW1tKDEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVTdGFjayhzbG90MywgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQmlnSW1tKDI4NjQ3NDU5MiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MiwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3Zl
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI4NzIwOTcyOCwgMSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MTEsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MSwgMCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDAsIC02NTUzNik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyODcx
MTI3MjgsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3RhY2soc2xvdDgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUJpZ0ltbSgwLCA2NTUzNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90OSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI4NzExMjcyMCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI4NjUwNjE5MiwgMSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90Nywg
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChCcmFuY2gzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQo
RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVJbW0oODYyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5z
dCk7Ci0gICAgYmIxLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNDEsIE5v
cm1hbCkpOwotICAgIGJiMS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMs
IE5vcm1hbCkpOwotICAgIGJiMS5wcmVkZWNlc3NvcnMucHVzaChiYjApOwotICAgIGluc3QgPSBu
ZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDg4
MSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNO
b25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjEuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihS
ZWcucmJ4LCAyMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMS5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRlc3QzMik7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyLnN1Y2Nlc3NvcnMucHVzaChuZXcg
RnJlcXVlbnRlZEJsb2NrKGJiNDEsIE5vcm1hbCkpOwotICAgIGJiMi5zdWNjZXNzb3JzLnB1c2go
bmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMsIE5vcm1hbCkpOwotICAgIGJiMi5wcmVkZWNlc3NvcnMu
cHVzaChiYjApOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlQWRkcihSZWcucmJ4LCAyMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRlc3QzMik7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiMi5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzLnN1Y2Nlc3NvcnMu
cHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNSwgTm9ybWFsKSk7Ci0gICAgYmIzLnN1Y2Nlc3Nv
cnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNCwgTm9ybWFsKSk7Ci0gICAgYmIzLnByZWRl
Y2Vzc29ycy5wdXNoKGJiMSk7Ci0gICAgYmIzLnByZWRlY2Vzc29ycy5wdXNoKGJiNDApOwotICAg
IGJiMy5wcmVkZWNlc3NvcnMucHVzaChiYjM5KTsKLSAgICBiYjMucHJlZGVjZXNzb3JzLnB1c2go
YmIyKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFk
ZHIoUmVnLnJieCwgOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUFkZHIoUmVnLnJzaSwgLTExNDQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMy5hcHBlbmQoaW5zdCk7Ci0gICAgYmI0LnN1Y2Nlc3NvcnMucHVzaChuZXcg
RnJlcXVlbnRlZEJsb2NrKGJiNiwgTm9ybWFsKSk7Ci0gICAgYmI0LnN1Y2Nlc3NvcnMucHVzaChu
ZXcgRnJlcXVlbnRlZEJsb2NrKGJiNywgTm9ybWFsKSk7Ci0gICAgYmI0LnByZWRlY2Vzc29ycy5w
dXNoKGJiMyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlUmVsQ29uZChFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUltbSgyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
NC5hcHBlbmQoaW5zdCk7Ci0gICAgYmI1LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJs
b2NrKGJiNiwgTm9ybWFsKSk7Ci0gICAgYmI1LnByZWRlY2Vzc29ycy5wdXNoKGJiMyk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNyk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAy
MzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJi
eCwgMjU2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjUuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRk
cihSZWcucmJ4LCAyNDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNS5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFuZDMyKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBbmQzMik7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUltbSgzMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkNjQpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAyNDApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVt
cCk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBiYjYuc3VjY2Vzc29ycy5wdXNoKG5ldyBG
cmVxdWVudGVkQmxvY2soYmI3LCBOb3JtYWwpKTsKLSAgICBiYjYucHJlZGVjZXNzb3JzLnB1c2go
YmI0KTsKLSAgICBiYjYucHJlZGVjZXNzb3JzLnB1c2goYmI1KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoQWRkMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oLTEpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yc2ks
IC0xMTQ0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7Ci0gICAg
YmI3LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiOCwgTm9ybWFsKSk7Ci0g
ICAgYmI3LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiOSwgTm9ybWFsKSk7
Ci0gICAgYmI3LnByZWRlY2Vzc29ycy5wdXNoKGJiNCk7Ci0gICAgYmI3LnByZWRlY2Vzc29ycy5w
dXNoKGJiNik7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVBZGRyKFJlZy5yYngsIDI0MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmI3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVSZWxDb25kKEdyZWF0ZXJUaGFuKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAgICBiYjguc3VjY2Vzc29ycy5wdXNoKG5l
dyBGcmVxdWVudGVkQmxvY2soYmI5LCBOb3JtYWwpKTsKLSAgICBiYjgucHJlZGVjZXNzb3JzLnB1
c2goYmI3KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUJpZ0ltbSgyODY0NTUxNjgsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVCaWdJbW0oMjg2NDU1MTY4LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmI4LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9
IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnJjeCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZHgp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucnNpKTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJkaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MuYWRkKFJlZy5yOCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOSk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTApOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnhtbTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1t
MSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0yKTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcueG1tNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy54bW01KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTYpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNyk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy54bW04KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnhtbTkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTAp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTEpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcueG1tMTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcueG1tMTQpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTUpOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5EZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBi
YjguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBp
bnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5l
dyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwot
ICAgIGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgYmI5LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiMTIsIE5vcm1hbCkpOwotICAgIGJiOS5zdWNjZXNzb3JzLnB1c2gobmV3IEZy
ZXF1ZW50ZWRCbG9jayhiYjEwLCBOb3JtYWwpKTsKLSAgICBiYjkucHJlZGVjZXNzb3JzLnB1c2go
YmI3KTsKLSAgICBiYjkucHJlZGVjZXNzb3JzLnB1c2goYmI4KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMzA0KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDEyOCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
ZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI5LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChO
b3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
QWRkcihSZWcucjgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUltbSg4MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmI5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnI4LCA4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjkuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEFi
b3ZlT3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUFkZHIoUmVnLnJheCwgLTgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5l
eHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUluZGV4KFJlZy5yYXgsIFJlZy5y
c2ksIDgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOS5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJ
bW0oMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOS5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmVDb25kaXRpb25hbGx5VGVzdDY0KTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKC0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
aW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBu
ZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmI5
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmN4LCA1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMjMpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0
cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmI5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJjeCwgMjQpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KEJyYW5jaDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChF
cXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVN0YWNrKHNsb3Q3LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOS5hcHBl
bmQoaW5zdCk7Ci0gICAgYmIxMC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhi
YjExLCBOb3JtYWwpKTsKLSAgICBiYjEwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJs
b2NrKGJiMTMsIE5vcm1hbCkpOwotICAgIGJiMTAucHJlZGVjZXNzb3JzLnB1c2goYmI5KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25k
KEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3RhY2soc2xvdDEwLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTAu
YXBwZW5kKGluc3QpOwotICAgIGJiMTEuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxv
Y2soYmIxNCwgTm9ybWFsKSk7Ci0gICAgYmIxMS5wcmVkZWNlc3NvcnMucHVzaChiYjEwKTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhz
bG90MCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIo
UmVnLnJieCwgMzQ0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmRpLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNTAyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRp
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZl
Y3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxMS5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVB
ZGRyKFJlZy5yZGksIDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEx
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlUmVsQ29uZChBYm92ZU9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIDI0KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJi
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05v
bkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBu
ZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KExvYWQ4KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgo
UmVnLnJzaSwgUmVnLnJheCwgMSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJi
MTEuYXBwZW5kKGluc3QpOwotICAgIGJiMTIuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVk
QmxvY2soYmIxNCwgTm9ybWFsKSk7Ci0gICAgYmIxMi5wcmVkZWNlc3NvcnMucHVzaChiYjkpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNr
KHNsb3QwLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTIuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRk
cihSZWcucmJ4LCAzMzYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTIu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQWRkcihSZWcucmJ4LCA0NTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMTIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE92ZXJmbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0
Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5aRGVm
LCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
TGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0
ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjEyLmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFs
KCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29u
ZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlQWRkcihSZWcucmRpLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVJbW0oNTAyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRy
dWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIxMi5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVBZGRyKFJlZy5yZGksIDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjEyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlUmVsQ29uZChBYm92ZU9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIDI0KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3Qu
cGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgYmIxMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KExvYWQ4KTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVnLnJzaSwgUmVnLnJheCwgMSwgMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMTIuYXBwZW5kKGluc3QpOwotICAgIGJiMTMucHJlZGVj
ZXNzb3JzLnB1c2goYmIxMCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBp
bnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjEzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoT29wcyk7Ci0gICAgYmIxMy5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxNC5zdWNjZXNz
b3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE1LCBOb3JtYWwpKTsKLSAgICBiYjE0LnN1
Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTYsIE5vcm1hbCkpOwotICAgIGJi
MTQucHJlZGVjZXNzb3JzLnB1c2goYmIxMSk7Ci0gICAgYmIxNC5wcmVkZWNlc3NvcnMucHVzaChi
YjEyKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJ
bW0oMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTQuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChaZXJvRXh0ZW5kMTZUbzMyKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMTQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIxNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAxMjgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KEJyYW5jaFRlc3QzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcu
cmJ4LCAyMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTQuYXBwZW5kKGluc3Qp
OwotICAgIGJiMTUucHJlZGVjZXNzb3JzLnB1c2goYmIxNCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0
cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgYmIxNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE9vcHMpOwot
ICAgIGJiMTUuYXBwZW5kKGluc3QpOwotICAgIGJiMTYuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVx
dWVudGVkQmxvY2soYmIxOCwgTm9ybWFsKSk7Ci0gICAgYmIxNi5zdWNjZXNzb3JzLnB1c2gobmV3
IEZyZXF1ZW50ZWRCbG9jayhiYjE3LCBOb3JtYWwpKTsKLSAgICBiYjE2LnByZWRlY2Vzc29ycy5w
dXNoKGJiMTQpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlQWRkcihSZWcucmJ4LCA4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgLTE3NTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmR4LCAxNik7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQWJvdmVPckVxdWFsKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcu
cmR4LCAyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
aW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBu
ZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTG9hZDgpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbmRleChSZWcucmF4LCBSZWcu
cmN4LCAxLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkNjQpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMjcyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI4NzExMjcyMCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTm90RXF1YWwpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgMCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDgwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg3
MTEyNzIwLCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5w
YXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0
KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg3MTEyNzI4LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgMCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQWJvdmVPckVxdWFs
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRk
cihSZWcucmF4LCAtOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGlu
c3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjE2
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUluZGV4KFJlZy5yYXgsIFJlZy5yY3gsIDgsIDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChN
b3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZUNvbmRpdGlvbmFsbHlUZXN0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblpl
cm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJ
bW0oLTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQ2FsbEFyZyg4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVJbW0oMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQ2FsbEFyZygxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUJpZ0ltbSgyODcxMTI3MjAsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMzIpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0
cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJh
RWFybHlDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnJjeCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5y
ZHgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucnNpKTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJkaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MuYWRkKFJlZy5yOCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5y
OSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTApOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0yKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTMpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW01KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTYpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNyk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW04KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnhtbTkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1t
MTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTEpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTIpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tMTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcueG1tMTQpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTUp
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5EZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNo
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0
LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmR4LCAt
MTA4OCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRy
KFJlZy5yYngsIDI3Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVBZGRyKFJlZy5yYngsIDI4MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFJzaGlmdDMyKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE92ZXJmbG93KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFz
Tm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9
IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuWkRlZiwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KEFkZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVBZGRyKFJlZy5yZHgsIC0xMDg4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQWRkcihSZWcucmR4LCAtODgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmR4LCAtMTE3Nik7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJj
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNo
SGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVn
cyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQ
YXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yY3gsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg4MCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhh
c05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJjeCwgOCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQWJvdmVPckVxdWFsKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJk
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihS
ZWcucmF4LCAtOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBp
bnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5l
dyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMy
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChN
b3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVnLnJheCwgUmVnLnJkeCwgOCwgMCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMTApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlQ29uZGl0aW9uYWxseVRlc3Q2NCk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUltbSgtMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0
Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJi
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNo
SGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVn
cyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTm90RXF1
YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIo
UmVnLnJheCwgNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlSW1tKDIzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFF
YXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogOH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogOH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjE2LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUltbSgyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVD
YWxsQXJnKDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlQ2FsbEFyZygzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5z
dC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdz
LmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJjeCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZHgpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucnNpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnJkaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOSk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTAp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMSk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0yKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW01KTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTYpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tNyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW04KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTkpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTApOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcueG1tMTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tMTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTQpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTUpOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5EZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxNi5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3Qu
cGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDI3Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDI4MCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoUnNoaWZ0MzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
ZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5y
YngsIDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRk
cihSZWcucnNpLCAtMTA0OCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIx
Ni5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0
cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucnNpLCAtMTA0OCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJzaSwgLTEwNzIpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChCcmFuY2g2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQmVs
b3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChp
bnN0KTsKLSAgICBiYjE3LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTks
IE5vcm1hbCkpOwotICAgIGJiMTcucHJlZGVjZXNzb3JzLnB1c2goYmIxNik7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KENvbnZlcnRJbnQzMlRvRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE3LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxNy5hcHBlbmQoaW5z
dCk7Ci0gICAgYmIxOC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE5LCBO
b3JtYWwpKTsKLSAgICBiYjE4LnByZWRlY2Vzc29ycy5wdXNoKGJiMTYpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxOC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmU2NFRvRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE4LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxOC5hcHBlbmQoaW5z
dCk7Ci0gICAgYmIxOS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIwLCBO
b3JtYWwpKTsKLSAgICBiYjE5LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJi
MzIsIE5vcm1hbCkpOwotICAgIGJiMTkucHJlZGVjZXNzb3JzLnB1c2goYmIxNyk7Ci0gICAgYmIx
OS5wcmVkZWNlc3NvcnMucHVzaChiYjE4KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQ29udmVydElu
dDMyVG9Eb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTkuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChBZGREb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTAp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
eG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTkuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlRG91YmxlVG82NCk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIxOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVCaWdJbW0oMCwgNjU1MzYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMTkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIxOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucnNpLCAtMTA3Mik7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJzaSwgLTEwODAp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTkuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwo
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25k
KE92ZXJmbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5z
dC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuWkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgYmIxOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDY0KTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjE5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yc2ksIC0xMDgwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChCcmFuY2hUZXN0MzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblpl
cm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIo
UmVnLnJzaSwgLTExMDQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTkuYXBwZW5k
KGluc3QpOwotICAgIGJiMjAuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIy
MSwgTm9ybWFsKSk7Ci0gICAgYmIyMC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjMyLCBOb3JtYWwpKTsKLSAgICBiYjIwLnByZWRlY2Vzc29ycy5wdXNoKGJiMTkpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucnNp
LCAtMTA5Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsK
LSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0g
W107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5aRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxh
dGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBiYjIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRk
NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJzaSwgLTEwOTYp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yc2ks
IC0xMTEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIwLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVSZWxDb25kKEdyZWF0ZXJUaGFuT3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMjAuYXBwZW5kKGluc3QpOwotICAgIGJiMjEuc3VjY2Vzc29ycy5wdXNo
KG5ldyBGcmVxdWVudGVkQmxvY2soYmIyMywgTm9ybWFsKSk7Ci0gICAgYmIyMS5wcmVkZWNlc3Nv
cnMucHVzaChiYjIwKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUFkZHIoUmVnLnJieCwgMzQ0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjIxLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucjEyLCAwKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNTAyKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0
cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMjEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucjEyLCAxNik7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMS5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnIx
MiwgMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMS5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Bl
Y2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJl
bENvbmQoQmVsb3dPckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnI5KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVJbW0oNjUyODYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIyMS5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVB
ZGRyKFJlZy5yYngsIDIzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIy
MS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVBZGRyKFJlZy5yYngsIDI1Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjIxLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAg
YmIyMS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50
ZWRCbG9jayhiYjIzLCBOb3JtYWwpKTsKLSAgICBiYjIyLnByZWRlY2Vzc29ycy5wdXNoKGJiMzAp
OwotICAgIGJiMjIucHJlZGVjZXNzb3JzLnB1c2goYmIzMSk7Ci0gICAgYmIyMi5wcmVkZWNlc3Nv
cnMucHVzaChiYjI5KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMjIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjIy
LmFwcGVuZChpbnN0KTsKLSAgICBiYjIzLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJs
b2NrKGJiMjUsIE5vcm1hbCkpOwotICAgIGJiMjMuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVu
dGVkQmxvY2soYmIyNCwgTm9ybWFsKSk7Ci0gICAgYmIyMy5wcmVkZWNlc3NvcnMucHVzaChiYjIx
KTsKLSAgICBiYjIzLnByZWRlY2Vzc29ycy5wdXNoKGJiMjIpOwotICAgIGluc3QgPSBuZXcgSW5z
dChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE92ZXJmbG93KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0
Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZVpEZWYsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KEFkZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJj
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIzLmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJl
Zy5yc2ksIC0xMDk2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChMb2FkOCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUFkZHIoUmVnLnJkaSwgNjUyODUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRy
dWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2VaRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVD
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIy
My5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlUmVsQ29uZChCZWxvd09yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjkpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg2NTI4NSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjIzLmFwcGVuZChpbnN0KTsKLSAgICBiYjI0LnN1Y2Nlc3NvcnMucHVz
aChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjYsIE5vcm1hbCkpOwotICAgIGJiMjQuc3VjY2Vzc29y
cy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzMCwgTm9ybWFsKSk7Ci0gICAgYmIyNC5wcmVk
ZWNlc3NvcnMucHVzaChiYjIzKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoU3RvcmU4KTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkaSwgNjUyODUpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJy
YW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChFcXVhbCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyNTYpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyNS5zdWNj
ZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjI2LCBOb3JtYWwpKTsKLSAgICBiYjI1
LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzAsIE5vcm1hbCkpOwotICAg
IGJiMjUucHJlZGVjZXNzb3JzLnB1c2goYmIyMyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5j
aDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChFcXVhbCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyNTYpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyNi5zdWNjZXNz
b3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjI4LCBOb3JtYWwpKTsKLSAgICBiYjI2LnN1
Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjcsIE5vcm1hbCkpOwotICAgIGJi
MjYucHJlZGVjZXNzb3JzLnB1c2goYmIyNCk7Ci0gICAgYmIyNi5wcmVkZWNlc3NvcnMucHVzaChi
YjI1KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTG9hZDgpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVB
ZGRyKFJlZy5yZGksIDY1Mjg2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVSZWxDb25kKEJlbG93T3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDY1Mjg1KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMjYuYXBwZW5kKGluc3QpOwotICAgIGJiMjcuc3VjY2Vzc29ycy5w
dXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyOCwgTm9ybWFsKSk7Ci0gICAgYmIyNy5wcmVkZWNl
c3NvcnMucHVzaChiYjI2KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoU3RvcmU4KTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkaSwgNjUyODUpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIyNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXAp
OwotICAgIGJiMjcuYXBwZW5kKGluc3QpOwotICAgIGJiMjguc3VjY2Vzc29ycy5wdXNoKG5ldyBG
cmVxdWVudGVkQmxvY2soYmIyOSwgTm9ybWFsKSk7Ci0gICAgYmIyOC5zdWNjZXNzb3JzLnB1c2go
bmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMxLCBOb3JtYWwpKTsKLSAgICBiYjI4LnByZWRlY2Vzc29y
cy5wdXNoKGJiMjYpOwotICAgIGJiMjgucHJlZGVjZXNzb3JzLnB1c2goYmIyNyk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDI0
OCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyOC5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE9yMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
ZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyOC5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI4LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjguYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUFkZHIoUmVnLnJieCwgMjQ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMjguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MjguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0NjQpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjI4LmFwcGVuZChpbnN0KTsKLSAgICBiYjI5LnN1Y2Nlc3NvcnMu
cHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjIsIE5vcm1hbCkpOwotICAgIGJiMjkuc3VjY2Vz
c29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzMiwgTm9ybWFsKSk7Ci0gICAgYmIyOS5w
cmVkZWNlc3NvcnMucHVzaChiYjI4KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQW5kMzIpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIyOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFuZDMy
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDMxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjI5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkNjQp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiMjkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMjQwKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjkuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChCcmFuY2gzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoR3JlYXRl
clRoYW5PckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIy
OS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzMC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRC
bG9jayhiYjIyLCBOb3JtYWwpKTsKLSAgICBiYjMwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiMzIsIE5vcm1hbCkpOwotICAgIGJiMzAucHJlZGVjZXNzb3JzLnB1c2goYmIy
NCk7Ci0gICAgYmIzMC5wcmVkZWNlc3NvcnMucHVzaChiYjI1KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEdyZWF0ZXJUaGFuT3JF
cXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzAuYXBwZW5k
KGluc3QpOwotICAgIGJiMzEuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIy
MiwgTm9ybWFsKSk7Ci0gICAgYmIzMS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjMyLCBOb3JtYWwpKTsKLSAgICBiYjMxLnByZWRlY2Vzc29ycy5wdXNoKGJiMjgpOwotICAg
IGluc3QgPSBuZXcgSW5zdChCcmFuY2gzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQo
R3JlYXRlclRoYW5PckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIzMS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1
ZW50ZWRCbG9jayhiYjMzLCBOb3JtYWwpKTsKLSAgICBiYjMyLnN1Y2Nlc3NvcnMucHVzaChuZXcg
RnJlcXVlbnRlZEJsb2NrKGJiMzQsIE5vcm1hbCkpOwotICAgIGJiMzIucHJlZGVjZXNzb3JzLnB1
c2goYmIxOSk7Ci0gICAgYmIzMi5wcmVkZWNlc3NvcnMucHVzaChiYjIwKTsKLSAgICBiYjMyLnBy
ZWRlY2Vzc29ycy5wdXNoKGJiMzApOwotICAgIGJiMzIucHJlZGVjZXNzb3JzLnB1c2goYmIzMSk7
Ci0gICAgYmIzMi5wcmVkZWNlc3NvcnMucHVzaChiYjI5KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJzaSwgLTExMjApOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzIuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChCcmFuY2gzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoR3JlYXRl
clRoYW4pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVJbW0oMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjMyLmFwcGVuZChpbnN0
KTsKLSAgICBiYjMzLnByZWRlY2Vzc29ycy5wdXNoKGJiMzIpOwotICAgIGluc3QgPSBuZXcgSW5z
dChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVl
OwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEg
PSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMzMuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChPb3BzKTsKLSAgICBiYjMzLmFwcGVuZChp
bnN0KTsKLSAgICBiYjM0LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzYs
IE5vcm1hbCkpOwotICAgIGJiMzQuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2so
YmIzNSwgTm9ybWFsKSk7Ci0gICAgYmIzNC5wcmVkZWNlc3NvcnMucHVzaChiYjMyKTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwg
MTM2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVS
ZWxDb25kKEJlbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIz
NC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzNS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRC
bG9jayhiYjM3LCBOb3JtYWwpKTsKLSAgICBiYjM1LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiMzgsIE5vcm1hbCkpOwotICAgIGJiMzUucHJlZGVjZXNzb3JzLnB1c2goYmIz
NCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KENvbnZlcnRJbnQzMlRvRG91YmxlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjM1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoRG91Ymxl
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlRG91YmxlQ29uZChEb3VibGVHcmVhdGVyVGhhbk9yRXF1
YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW0wKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzUuYXBwZW5k
KGluc3QpOwotICAgIGJiMzYuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIz
NywgTm9ybWFsKSk7Ci0gICAgYmIzNi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjM4LCBOb3JtYWwpKTsKLSAgICBiYjM2LnByZWRlY2Vzc29ycy5wdXNoKGJiMzQpOwotICAg
IGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNi5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmU2NFRvRG91YmxlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjM2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoRG91YmxlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlRG91YmxlQ29uZChEb3VibGVHcmVhdGVyVGhhbk9yRXF1YWwpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
MSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy54bW0wKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzYuYXBwZW5kKGluc3Qp
OwotICAgIGJiMzcuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzOCwgTm9y
bWFsKSk7Ci0gICAgYmIzNy5wcmVkZWNlc3NvcnMucHVzaChiYjM1KTsKLSAgICBiYjM3LnByZWRl
Y2Vzc29ycy5wdXNoKGJiMzYpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlQmlnSW1tKDI4NjQ3NDU5MiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIzNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg2NDc0NTkyLCAxKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzcuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJn
KDI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhh
c05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0g
ICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yY3gpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcucmR4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJz
aSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZGkpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcucjkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjEw
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0wKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tMik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0zKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTQpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tNSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW02KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTcpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tOCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW05KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnhtbTEwKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnht
bTExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEyKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEzKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncy5hZGQoUmVnLnhtbTE0KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnhtbTE1KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgYmIzNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBh
dGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBp
bnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIzNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMzcuYXBwZW5kKGluc3QpOwotICAgIGJiMzguc3VjY2Vz
c29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzOSwgTm9ybWFsKSk7Ci0gICAgYmIzOC5z
dWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjQwLCBOb3JtYWwpKTsKLSAgICBi
YjM4LnByZWRlY2Vzc29ycy5wdXNoKGJiMzUpOwotICAgIGJiMzgucHJlZGVjZXNzb3JzLnB1c2go
YmIzNyk7Ci0gICAgYmIzOC5wcmVkZWNlc3NvcnMucHVzaChiYjM2KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4
LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0o
ODgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhh
c05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMzguYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRk
cihSZWcucmJ4LCA4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM4LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUFkZHIoUmVnLnJkeCwgLTE4MjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMzguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIzOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1
ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
ID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZVpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjM4LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzguYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOC5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQWRkcihSZWcucmR4LCAtMTgyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjM4LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkeCwgLTE4MzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMzguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFu
Y2gzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoR3JlYXRlclRoYW4pOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM4LmFwcGVuZChpbnN0KTsKLSAgICBi
YjM5LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNDIsIE5vcm1hbCkpOwot
ICAgIGJiMzkuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzLCBOb3JtYWwp
KTsKLSAgICBiYjM5LnByZWRlY2Vzc29ycy5wdXNoKGJiMzgpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI4NjQ3NDU5MiwgMSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg2NDc0NTky
LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM5LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVD
YWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUlt
bSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxs
QXJnKDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzkuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNh
bGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Bl
Y2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQ2FsbEFyZyg4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVDYWxsQXJnKDI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFF
YXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncy5hZGQoUmVn
LnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yY3gpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmR4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncy5hZGQoUmVnLnJzaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy5yZGkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjgpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcucjEwKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVn
LnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0wKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tMik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW0zKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTQpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNSk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW02KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnhtbTcpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1t
OCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW05KTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEwKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncy5hZGQoUmVnLnhtbTExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnhtbTEyKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEzKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTE0KTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTE1KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9
IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuRGVm
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZl
Y3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIzOS5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVB
ZGRyKFJlZy5yYngsIDIyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIz
OS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE9yMzIpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVJbW0oMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjM5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkNjQpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMzkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMjI0KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMzkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChN
b3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI4NzEzMTM0NCwgMSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg3MTMxMzQ0LCAx
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM5LmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxs
QXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgx
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJn
KDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzkuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI4
NzIwOTcyOCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQ2FsbEFyZygyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM5LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5z
dC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdz
LmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJjeCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZHgpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucnNpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnJkaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOSk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTAp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMSk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0yKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW01KTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTYpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tNyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW04KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTkpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTApOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcueG1tMTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tMTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTQpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTUpOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5EZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjM5LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVj
aWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05v
bkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBu
ZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjM5
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUFkZHIoUmVnLnJieCwgMjI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjM5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoVGVzdDMy
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAgYmI0MC5zdWNj
ZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjQyLCBOb3JtYWwpKTsKLSAgICBiYjQw
LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMywgTm9ybWFsKSk7Ci0gICAg
YmI0MC5wcmVkZWNlc3NvcnMucHVzaChiYjM4KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMjI0KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjQwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoQnJhbmNoVGVzdDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0MC5hcHBlbmQoaW5zdCk7
Ci0gICAgYmI0MS5wcmVkZWNlc3NvcnMucHVzaChiYjEpOwotICAgIGJiNDEucHJlZGVjZXNzb3Jz
LnB1c2goYmIyKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUltbSgxMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0MS5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFJldDY0KTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0MS5hcHBl
bmQoaW5zdCk7Ci0gICAgYmI0Mi5wcmVkZWNlc3NvcnMucHVzaChiYjQwKTsKLSAgICBiYjQyLnBy
ZWRlY2Vzc29ycy5wdXNoKGJiMzkpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlSW1tKDEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjQyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUmV0NjQpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjQyLmFwcGVuZChpbnN0KTsKLSAgICByZXR1cm4gY29kZTsKLX0KSW5kZXg6IFBlcmZvcm1h
bmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3BheWxvYWQtaW1hZ2luZy1nYXVzc2lhbi1ibHVy
LWdhdXNzaWFuQmx1ci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBs
ZUJlbmNoL0Fpci9wYXlsb2FkLWltYWdpbmctZ2F1c3NpYW4tYmx1ci1nYXVzc2lhbkJsdXIuanMJ
KHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWly
L3BheWxvYWQtaW1hZ2luZy1nYXVzc2lhbi1ibHVyLWdhdXNzaWFuQmx1ci5qcwkobm9uZXhpc3Rl
bnQpCkBAIC0xLDMxMDcgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotLy8gR2VuZXJhdGVkIGJ5IEFp
cjo6ZHVtcEFzSlMgZnJvbSBnYXVzc2lhbkJsdXIjQTh2Y1lnIGluIEtyYWtlbi9pbWFnaW5nLWdh
dXNzaWFuLWJsdXIKLWZ1bmN0aW9uIGNyZWF0ZVBheWxvYWRJbWFnaW5nR2F1c3NpYW5CbHVyR2F1
c3NpYW5CbHVyKCkKLXsKLSAgICBsZXQgY29kZSA9IG5ldyBDb2RlKCk7Ci0gICAgbGV0IGJiMCA9
IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxl
dCBiYjIgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMyA9IGNvZGUuYWRkQmxvY2soKTsK
LSAgICBsZXQgYmI0ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjUgPSBjb2RlLmFkZEJs
b2NrKCk7Ci0gICAgbGV0IGJiNiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI3ID0gY29k
ZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjggPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJi
OSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMCA9IGNvZGUuYWRkQmxvY2soKTsKLSAg
ICBsZXQgYmIxMSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMiA9IGNvZGUuYWRkQmxv
Y2soKTsKLSAgICBsZXQgYmIxMyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxNCA9IGNv
ZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxNSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQg
YmIxNiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxNyA9IGNvZGUuYWRkQmxvY2soKTsK
LSAgICBsZXQgYmIxOCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxOSA9IGNvZGUuYWRk
QmxvY2soKTsKLSAgICBsZXQgYmIyMCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyMSA9
IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyMiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBs
ZXQgYmIyMyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyNCA9IGNvZGUuYWRkQmxvY2so
KTsKLSAgICBsZXQgYmIyNSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyNiA9IGNvZGUu
YWRkQmxvY2soKTsKLSAgICBsZXQgYmIyNyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIy
OCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyOSA9IGNvZGUuYWRkQmxvY2soKTsKLSAg
ICBsZXQgYmIzMCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzMSA9IGNvZGUuYWRkQmxv
Y2soKTsKLSAgICBsZXQgYmIzMiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzMyA9IGNv
ZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQg
YmIzNSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzNiA9IGNvZGUuYWRkQmxvY2soKTsK
LSAgICBsZXQgc2xvdDAgPSBjb2RlLmFkZFN0YWNrU2xvdCg0MCwgTG9ja2VkKTsKLSAgICBsZXQg
c2xvdDEgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3QyID0gY29k
ZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwotICAgIGxldCBzbG90MyA9IGNvZGUuYWRkU3RhY2tT
bG90KDQsIFNwaWxsKTsKLSAgICBsZXQgc2xvdDQgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGls
bCk7Ci0gICAgbGV0IHNsb3Q1ID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwotICAgIGxl
dCBzbG90NiA9IGNvZGUuYWRkU3RhY2tTbG90KDQwLCBMb2NrZWQpOwotICAgIHNsb3Q2LnNldE9m
ZnNldEZyb21GUCgtNDApOwotICAgIGxldCB0bXAxNDEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDE0MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTM5ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXAxMzggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEz
NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTM2ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXAxMzUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzNCA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTMzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXAxMzIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzMSA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMTMwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMjkgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wMTI3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMjYgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDEyNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTI0
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMjMgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDEyMiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTIxID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMjAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDExOSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTE4ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXAxMTcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDExNiA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTE1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAxMTQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDExMyA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMTEyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMTEg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDExMCA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wMTA5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMDggPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwNyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
MTA2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMDUgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDEwNCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTAzID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMDIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDEwMSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTAwID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXA5OSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTggPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDk3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXA5NiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTUgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDk0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5MyA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDkxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5MCA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wODkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDg4ID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wODYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDg1ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXA4NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODMgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDgyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXA4MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODAgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDc5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3OCA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDc2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3NSA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wNzQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDczID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXA3MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
NzEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDcwID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXA2OSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjggPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDY3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2
NiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjUgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDY0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2MyA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wNjIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDYx
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wNTkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU4ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXA1NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTYg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU1ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXA1NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTMgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDUyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1MSA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDQ5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0OCA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wNDcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ2ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wNDQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQzID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXA0MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDEgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAzOSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzggPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDM3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzNiA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDM0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMyA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMzIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDMxID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMjkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI4ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXAyNyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjYgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXAyNCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjMgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDIyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyMSA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDE5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxOCA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wMTcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE2ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
MTQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXAxMiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTEgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXA3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXA1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0ID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXAyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXAwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCBmdG1wNzQgPSBjb2RlLm5l
d1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA3MyA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRt
cDcyID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNzEgPSBjb2RlLm5ld1RtcChGUCk7
Ci0gICAgbGV0IGZ0bXA3MCA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDY5ID0gY29k
ZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNjggPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0
IGZ0bXA2NyA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDY2ID0gY29kZS5uZXdUbXAo
RlApOwotICAgIGxldCBmdG1wNjUgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA2NCA9
IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDYzID0gY29kZS5uZXdUbXAoRlApOwotICAg
IGxldCBmdG1wNjIgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA2MSA9IGNvZGUubmV3
VG1wKEZQKTsKLSAgICBsZXQgZnRtcDYwID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1w
NTkgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA1OCA9IGNvZGUubmV3VG1wKEZQKTsK
LSAgICBsZXQgZnRtcDU3ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNTYgPSBjb2Rl
Lm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA1NSA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQg
ZnRtcDU0ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNTMgPSBjb2RlLm5ld1RtcChG
UCk7Ci0gICAgbGV0IGZ0bXA1MiA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDUxID0g
Y29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNTAgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAg
bGV0IGZ0bXA0OSA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDQ4ID0gY29kZS5uZXdU
bXAoRlApOwotICAgIGxldCBmdG1wNDcgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA0
NiA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDQ1ID0gY29kZS5uZXdUbXAoRlApOwot
ICAgIGxldCBmdG1wNDQgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA0MyA9IGNvZGUu
bmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDQyID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBm
dG1wNDEgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA0MCA9IGNvZGUubmV3VG1wKEZQ
KTsKLSAgICBsZXQgZnRtcDM5ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMzggPSBj
b2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAzNyA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBs
ZXQgZnRtcDM2ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMzUgPSBjb2RlLm5ld1Rt
cChGUCk7Ci0gICAgbGV0IGZ0bXAzNCA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDMz
ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMzIgPSBjb2RlLm5ld1RtcChGUCk7Ci0g
ICAgbGV0IGZ0bXAzMSA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDMwID0gY29kZS5u
ZXdUbXAoRlApOwotICAgIGxldCBmdG1wMjkgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0
bXAyOCA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDI3ID0gY29kZS5uZXdUbXAoRlAp
OwotICAgIGxldCBmdG1wMjYgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAyNSA9IGNv
ZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDI0ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxl
dCBmdG1wMjMgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAyMiA9IGNvZGUubmV3VG1w
KEZQKTsKLSAgICBsZXQgZnRtcDIxID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMjAg
PSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAxOSA9IGNvZGUubmV3VG1wKEZQKTsKLSAg
ICBsZXQgZnRtcDE4ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMTcgPSBjb2RlLm5l
d1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAxNiA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRt
cDE1ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMTQgPSBjb2RlLm5ld1RtcChGUCk7
Ci0gICAgbGV0IGZ0bXAxMyA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDEyID0gY29k
ZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMTEgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0
IGZ0bXAxMCA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDkgPSBjb2RlLm5ld1RtcChG
UCk7Ci0gICAgbGV0IGZ0bXA4ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNyA9IGNv
ZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDYgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0
IGZ0bXA1ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNCA9IGNvZGUubmV3VG1wKEZQ
KTsKLSAgICBsZXQgZnRtcDMgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAyID0gY29k
ZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMSA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQg
ZnRtcDAgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGluc3Q7Ci0gICAgbGV0IGFyZzsKLSAg
ICBiYjAuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyLCBOb3JtYWwpKTsK
LSAgICBiYjAuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxLCBSYXJlKSk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0o
MTQ0MzA1OTA0LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUFkZHIoUmVnLnJicCwgMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYnApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5y
MTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlNjcmF0Y2gsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlQmlnSW1tKDE0MjU0NzE2OCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE0MjU0NzE4NCwgMSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwg
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgx
NDI1NDcxOTIsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVBZGRyKFJlZy5yYXgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVCaWdJbW0oMTQyNTQ3MjAwLCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3Zl
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE0MjU0NzIwOCwgMSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxNDI1NDcyMTYs
IDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJl
Zy5yYXgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVC
aWdJbW0oMTQyNTQ3MjI0LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQWRkcihSZWcucmF4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE0MjU0NzIzMiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxNDI1NDcyNDAsIDEpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIDAp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMCwg
LTY1NTM2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlNjRUb0RvdWJsZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hEb3VibGUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVEb3VibGVDb25kKERvdWJsZUVxdWFsKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGJi
MS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIsIE5vcm1hbCkpOwotICAg
IGJiMS5wcmVkZWNlc3NvcnMucHVzaChiYjApOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEJlbG93KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJh
RWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgYmIxLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQ29udmVydEludDMyVG9E
b3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KEp1bXApOwotICAgIGJiMS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyLnN1Y2Nlc3NvcnMucHVz
aChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNCwgTm9ybWFsKSk7Ci0gICAgYmIyLnN1Y2Nlc3NvcnMu
cHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMywgUmFyZSkpOwotICAgIGJiMi5wcmVkZWNlc3Nv
cnMucHVzaChiYjApOwotICAgIGJiMi5wcmVkZWNlc3NvcnMucHVzaChiYjEpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEJlbG93KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJz
aSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1
ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
ID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChCZWxvdyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJk
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2so
c2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAg
aW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGJiMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNo
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQmVsb3cpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0
cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBiYjIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlNjRU
b0RvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChCcmFuY2hEb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVEb3VibGVDb25kKERvdWJs
ZUVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIuYXBw
ZW5kKGluc3QpOwotICAgIGJiMy5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhi
YjQsIE5vcm1hbCkpOwotICAgIGJiMy5wcmVkZWNlc3NvcnMucHVzaChiYjIpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEJlbG93KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIx
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1
ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
ID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoQ29udmVydEludDMyVG9Eb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIx
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMy5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMy5hcHBlbmQoaW5zdCk7Ci0gICAg
YmI0LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNiwgTm9ybWFsKSk7Ci0g
ICAgYmI0LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNSwgUmFyZSkpOwot
ICAgIGJiNC5wcmVkZWNlc3NvcnMucHVzaChiYjIpOwotICAgIGJiNC5wcmVkZWNlc3NvcnMucHVz
aChiYjMpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlNjRUb0RvdWJsZSk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hEb3Vi
bGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVEb3VibGVDb25kKERvdWJsZUVxdWFsKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
MSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAg
IGJiNS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjYsIE5vcm1hbCkpOwot
ICAgIGJiNS5wcmVkZWNlc3NvcnMucHVzaChiYjQpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRj
aCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEJlbG93KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwg
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4
dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQ29udmVydEludDMy
VG9Eb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KEp1bXApOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgYmI2LnN1Y2Nlc3NvcnMu
cHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiOCwgTm9ybWFsKSk7Ci0gICAgYmI2LnN1Y2Nlc3Nv
cnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNywgUmFyZSkpOwotICAgIGJiNi5wcmVkZWNl
c3NvcnMucHVzaChiYjQpOwotICAgIGJiNi5wcmVkZWNlc3NvcnMucHVzaChiYjUpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEJlbG93
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0g
dHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoQWRkNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZTY0VG9Eb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI2LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlRG91YmxlQ29uZChEb3VibGVFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBiYjcuc3VjY2Vzc29ycy5wdXNoKG5l
dyBGcmVxdWVudGVkQmxvY2soYmI4LCBOb3JtYWwpKTsKLSAgICBiYjcucHJlZGVjZXNzb3JzLnB1
c2goYmI2KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlUmVsQ29uZChCZWxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFz
Tm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9
IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiNy5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KENvbnZlcnRJbnQzMlRvRG91YmxlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjcuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjcu
YXBwZW5kKGluc3QpOwotICAgIGJiOC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjEwLCBOb3JtYWwpKTsKLSAgICBiYjguc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVk
QmxvY2soYmI5LCBSYXJlKSk7Ci0gICAgYmI4LnByZWRlY2Vzc29ycy5wdXNoKGJiNik7Ci0gICAg
YmI4LnByZWRlY2Vzc29ycy5wdXNoKGJiNyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTE3MDc2NDg4LCAxKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yOCwgMCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjkpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmU2NFRvRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
OCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy54bW02KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOC5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaERvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZURvdWJsZUNvbmQoRG91YmxlRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW02KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgYmI5LnN1Y2Nlc3NvcnMucHVzaChuZXcg
RnJlcXVlbnRlZEJsb2NrKGJiMTAsIE5vcm1hbCkpOwotICAgIGJiOS5wcmVkZWNlc3NvcnMucHVz
aChiYjgpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVSZWxDb25kKEJlbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnI5KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9u
QXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5l
dyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KENvbnZlcnRJbnQzMlRvRG91YmxlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy54bW02KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
OS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiOS5hcHBl
bmQoaW5zdCk7Ci0gICAgYmIxMC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhi
YjE4LCBOb3JtYWwpKTsKLSAgICBiYjEwLnByZWRlY2Vzc29ycy5wdXNoKGJiOCk7Ci0gICAgYmIx
MC5wcmVkZWNlc3NvcnMucHVzaChiYjkpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE0NDUwNjU4NCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIDApOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjkpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnI5LCAtOCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEwLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxNDQ1MDY1
NDQsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTAuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNw
ZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVS
ZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVBZGRyKFJlZy5yZGksIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUltbSg4MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE0NDUwNjU0NCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnIxMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBh
dGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQo
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMTAuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
QmlnSW1tKDE0NDUwNjU1MiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMTAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QyLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMTAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3Zl
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMTAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChN
b3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIC04KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QzLCAw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTAuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlWmVyb1RvRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW03KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTAuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
SW1tKDEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVT
dGFjayhzbG90NCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEwLmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUJpZ0ltbSgyLCAtNjU1MzYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MTAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjEwLmFw
cGVuZChpbnN0KTsKLSAgICBiYjExLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2Nr
KGJiMTMsIE5vcm1hbCkpOwotICAgIGJiMTEucHJlZGVjZXNzb3JzLnB1c2goYmIzNSk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAgIGJiMTIu
c3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxMywgTm9ybWFsKSk7Ci0gICAg
YmIxMi5wcmVkZWNlc3NvcnMucHVzaChiYjM0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMy
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMTIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChK
dW1wKTsKLSAgICBiYjEyLmFwcGVuZChpbnN0KTsKLSAgICBiYjEzLnN1Y2Nlc3NvcnMucHVzaChu
ZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTUsIE5vcm1hbCkpOwotICAgIGJiMTMucHJlZGVjZXNzb3Jz
LnB1c2goYmIxMSk7Ci0gICAgYmIxMy5wcmVkZWNlc3NvcnMucHVzaChiYjEyKTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgtNik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmVEb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTcp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
eG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEzLmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZURvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tNyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTMuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlRG91YmxlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy54bW03KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIxMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmVEb3VibGUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTcpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjEzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVt
cCk7Ci0gICAgYmIxMy5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxNC5zdWNjZXNzb3JzLnB1c2gobmV3
IEZyZXF1ZW50ZWRCbG9jayhiYjE1LCBOb3JtYWwpKTsKLSAgICBiYjE0LnByZWRlY2Vzc29ycy5w
dXNoKGJiMzEpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIx
NC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMTQuYXBw
ZW5kKGluc3QpOwotICAgIGJiMTUuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2so
YmIyOCwgTm9ybWFsKSk7Ci0gICAgYmIxNS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRC
bG9jayhiYjE2LCBOb3JtYWwpKTsKLSAgICBiYjE1LnByZWRlY2Vzc29ycy5wdXNoKGJiMTMpOwot
ICAgIGJiMTUucHJlZGVjZXNzb3JzLnB1c2goYmIxNCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBh
dGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNs
b3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGlu
c3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRV
c2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2Us
IHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTog
RlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMTUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChCcmFuY2gzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTGVzc1RoYW4pOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNp
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE1LmFwcGVuZChpbnN0KTsKLSAgICBi
YjE2LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjksIE5vcm1hbCkpOwot
ICAgIGJiMTYuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxNywgTm9ybWFs
KSk7Ci0gICAgYmIxNi5wcmVkZWNlc3NvcnMucHVzaChiYjE1KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEdyZWF0ZXJUaGFuT3JF
cXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUltbSgyNjcpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5z
dCk7Ci0gICAgYmIxNy5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE4LCBO
b3JtYWwpKTsKLSAgICBiYjE3LnByZWRlY2Vzc29ycy5wdXNoKGJiMTYpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTcuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKC02KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxNy5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxOC5zdWNjZXNz
b3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIwLCBOb3JtYWwpKTsKLSAgICBiYjE4LnN1
Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTksIFJhcmUpKTsKLSAgICBiYjE4
LnByZWRlY2Vzc29ycy5wdXNoKGJiMTApOwotICAgIGJiMTgucHJlZGVjZXNzb3JzLnB1c2goYmIx
Nyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxOC5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGlu
c3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5aRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNl
LCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6
IEZQLCB3aWR0aDogNjR9KTsKLSAgICBiYjE4LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg0MDAp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFj
ayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVTdGFjayhzbG90MSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRy
dWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuWkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5M
YXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAs
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRl
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJi
MTguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0MzIpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjE4LmFwcGVuZChpbnN0KTsKLSAgICBiYjE5LnN1Y2Nlc3NvcnMu
cHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjAsIE5vcm1hbCkpOwotICAgIGJiMTkucHJlZGVj
ZXNzb3JzLnB1c2goYmIxOCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVJlbENvbmQoTGVzc1RoYW4pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEsIDApOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJj
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5z
dC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2Ji
ZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcg
U2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxOS5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMTkuYXBwZW5kKGluc3QpOwotICAgIGJi
MjAuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyMiwgTm9ybWFsKSk7Ci0g
ICAgYmIyMC5wcmVkZWNlc3NvcnMucHVzaChiYjE4KTsKLSAgICBiYjIwLnByZWRlY2Vzc29ycy5w
dXNoKGJiMTkpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIy
MC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFJzaGlmdDMyKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlSW1tKDMxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkMzIpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChYb3IzMik7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBh
dGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTGVzc1RoYW4pOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2so
c2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3Qu
ZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIyMC5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVJlbENvbmQoQWJvdmVPckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDMsIDApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMjAuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Rh
Y2soc2xvdDIsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjAuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlSW5kZXgoUmVnLnJzaSwgUmVnLnJkaSwgOCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlQ29u
ZGl0aW9uYWxseVRlc3Q2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
c2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgt
MSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIwLmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MSwgMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0
LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBG
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMjAuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg3OSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGlu
c3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIyMC5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVBZGRyKFJlZy5yZGksIDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yMTIsIC04KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7
Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyMS5zdWNjZXNzb3JzLnB1c2gobmV3IEZy
ZXF1ZW50ZWRCbG9jayhiYjIyLCBOb3JtYWwpKTsKLSAgICBiYjIxLnByZWRlY2Vzc29ycy5wdXNo
KGJiMjcpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMS5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMjEuYXBwZW5k
KGluc3QpOwotICAgIGJiMjIuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIy
NSwgTm9ybWFsKSk7Ci0gICAgYmIyMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjIzLCBOb3JtYWwpKTsKLSAgICBiYjIyLnByZWRlY2Vzc29ycy5wdXNoKGJiMjApOwotICAg
IGJiMjIucHJlZGVjZXNzb3JzLnB1c2goYmIyMSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNo
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1
LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVN0YWNrKHNsb3QxLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAg
ICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5aRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVD
b2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBiYjIyLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVSZWxDb25kKExlc3NUaGFuKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlSW1tKDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIy
Mi5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyMy5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRC
bG9jayhiYjI2LCBOb3JtYWwpKTsKLSAgICBiYjIzLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiMjQsIE5vcm1hbCkpOwotICAgIGJiMjMucHJlZGVjZXNzb3JzLnB1c2goYmIy
Mik7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
UmVsQ29uZChHcmVhdGVyVGhhbk9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNDAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGJiMjQuc3VjY2Vzc29ycy5wdXNoKG5ldyBG
cmVxdWVudGVkQmxvY2soYmIyNywgTm9ybWFsKSk7Ci0gICAgYmIyNC5wcmVkZWNlc3NvcnMucHVz
aChiYjIzKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEsIDApOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJj
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVh
cmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuWkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTog
RlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5M
YXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRl
Q29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29s
ZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNs
b3QxLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5z
dC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuWkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVz
ZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlw
ZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQzMik7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUltbSgzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQWJvdmVPckVxdWFsKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2so
c2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBp
bnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNo
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQWJvdmVPckVxdWFsKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUs
IDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsK
LSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0g
W107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAs
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmVEb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbmRleChSZWcucjksIFJlZy5yMTUs
IDgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjQuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChSc2hpZnQzMik7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUltbSgzMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNC5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDMyKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoWG9yMzIpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKExlc3NUaGFuKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDApOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Qx
LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0g
ICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtd
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjI0LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVT
cGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
UmVsQ29uZChBYm92ZU9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEsIDApOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJh
RWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVn
LnIxMiwgUmVnLnJieCwgOCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy54bW00KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNdWxEb3VibGUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChB
ZGREb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChBZGQzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE11bERvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUluZGV4KFJl
Zy5yOSwgUmVnLnJzaSwgOCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy54bW00KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZERvdWJsZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KEFkZDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDIpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTXVsRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVnLnI5LCBSZWcu
cjE1LCA4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnhtbTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkRG91YmxlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTXVsRG91
YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVnLnI5LCBSZWcucjE0LCA4LCAwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnht
bTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcueG1tNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnhtbTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIyNC5h
cHBlbmQoaW5zdCk7Ci0gICAgYmIyNS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjI3LCBOb3JtYWwpKTsKLSAgICBiYjI1LnByZWRlY2Vzc29ycy5wdXNoKGJiMjIpOwotICAg
IGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjI1LmFwcGVuZChpbnN0KTsKLSAgICBiYjI2
LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjcsIE5vcm1hbCkpOwotICAg
IGJiMjYucHJlZGVjZXNzb3JzLnB1c2goYmIyMyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXAp
OwotICAgIGJiMjYuYXBwZW5kKGluc3QpOwotICAgIGJiMjcuc3VjY2Vzc29ycy5wdXNoKG5ldyBG
cmVxdWVudGVkQmxvY2soYmIyMSwgTm9ybWFsKSk7Ci0gICAgYmIyNy5zdWNjZXNzb3JzLnB1c2go
bmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMwLCBOb3JtYWwpKTsKLSAgICBiYjI3LnByZWRlY2Vzc29y
cy5wdXNoKGJiMjQpOwotICAgIGJiMjcucHJlZGVjZXNzb3JzLnB1c2goYmIyNik7Ci0gICAgYmIy
Ny5wcmVkZWNlc3NvcnMucHVzaChiYjI1KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMjcuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRj
aCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE92ZXJmbG93KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNs
b3QxLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4
dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZVpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0
ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNv
bGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRV
c2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBiYjI3LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKExl
c3NUaGFuKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlSW1tKDcpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNy5hcHBlbmQoaW5z
dCk7Ci0gICAgYmIyOC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMxLCBO
b3JtYWwpKTsKLSAgICBiYjI4LnByZWRlY2Vzc29ycy5wdXNoKGJiMTUpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChKdW1wKTsKLSAgICBiYjI4LmFwcGVuZChpbnN0KTsKLSAgICBiYjI5LnN1Y2Nlc3Nv
cnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzEsIE5vcm1hbCkpOwotICAgIGJiMjkucHJl
ZGVjZXNzb3JzLnB1c2goYmIxNik7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJi
MjkuYXBwZW5kKGluc3QpOwotICAgIGJiMzAuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVk
QmxvY2soYmIzMSwgTm9ybWFsKSk7Ci0gICAgYmIzMC5wcmVkZWNlc3NvcnMucHVzaChiYjI3KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNs
b3QxLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjMwLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIzMC5hcHBlbmQoaW5zdCk7
Ci0gICAgYmIzMS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE0LCBOb3Jt
YWwpKTsKLSAgICBiYjMxLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzIs
IE5vcm1hbCkpOwotICAgIGJiMzEucHJlZGVjZXNzb3JzLnB1c2goYmIzMCk7Ci0gICAgYmIzMS5w
cmVkZWNlc3NvcnMucHVzaChiYjI5KTsKLSAgICBiYjMxLnByZWRlY2Vzc29ycy5wdXNoKGJiMjgp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzMS5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
NSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZm
ZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQo
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2VaRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxh
dGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIzMS5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVs
Q29uZChMZXNzVGhhbik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUltbSg3KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzEuYXBw
ZW5kKGluc3QpOwotICAgIGJiMzIuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2so
YmIzNCwgTm9ybWFsKSk7Ci0gICAgYmIzMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRC
bG9jayhiYjMzLCBSYXJlKSk7Ci0gICAgYmIzMi5wcmVkZWNlc3NvcnMucHVzaChiYjMxKTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChP
dmVyZmxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUltbSg0MDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0
cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
TGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQ
LCB3aWR0aDogNjR9KTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoQnJhbmNoVGVzdDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzMi5hcHBlbmQoaW5zdCk7
Ci0gICAgYmIzMy5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjM0LCBOb3Jt
YWwpKTsKLSAgICBiYjMzLnByZWRlY2Vzc29ycy5wdXNoKGJiMzIpOwotICAgIGluc3QgPSBuZXcg
SW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKExlc3NUaGFuKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1
LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRy
YUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAs
IHdpZHRoOiA2NH0pOwotICAgIGJiMzMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChKdW1wKTsKLSAgICBiYjMzLmFwcGVuZChpbnN0KTsKLSAgICBiYjM0LnN1Y2Nlc3NvcnMucHVz
aChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTIsIE5vcm1hbCkpOwotICAgIGJiMzQuc3VjY2Vzc29y
cy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzNSwgTm9ybWFsKSk7Ci0gICAgYmIzNC5wcmVk
ZWNlc3NvcnMucHVzaChiYjMyKTsKLSAgICBiYjM0LnByZWRlY2Vzc29ycy5wdXNoKGJiMzMpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwo
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25k
KE92ZXJmbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdF
ZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5aRGVmLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVD
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5
cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjM0LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVT
cGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
UmVzQ29uZChPdmVyZmxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUltbSg0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJn
RWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuWkRlZiwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRl
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVz
ZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJiMzQuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChEaXZEb3VibGUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnhtbTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlUmVsQ29uZChBYm92ZU9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJj
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlRG91YmxlQ29uZChEb3VibGVO
b3RFcXVhbE9yVW5vcmRlcmVkKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
Myk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0
Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogRlAs
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMzQuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbmRl
eChSZWcucjksIFJlZy5yc2ksIDgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
eG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNo
SGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVn
cyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2VaRGVmLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxh
dGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVD
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KERpdkRvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
eG1tNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzQuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUlt
bSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
SW1tKDMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlUmVsQ29uZChBYm92ZU9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
ZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9u
QXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5l
dyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMzQu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVSZWxDb25kKEFib3ZlT3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hI
YXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAg
YmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZURvdWJsZUNvbmQoRG91YmxlTm90RXF1YWxPclVub3JkZXJlZCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnht
bTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAg
IGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMzQuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVJbmRleChSZWcucjksIFJlZy5yZGksIDgsIDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDMy
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoRGl2
RG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW02KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZURvdWJsZUNvbmQoRG91YmxlTm90
RXF1YWxPclVub3JkZXJlZCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdF
ZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBG
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIzNC5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmVEb3VibGUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUluZGV4KFJlZy5yOSwgUmVnLnJzaSwgOCwgMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
RGl2RG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW02KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZURvdWJsZUNvbmQoRG91Ymxl
Tm90RXF1YWxPclVub3JkZXJlZCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
NSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZm
ZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQo
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAs
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZURvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
eG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW5k
ZXgoUmVnLnI5LCBSZWcucmF4LCA4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMzQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9
IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2VaRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxh
dGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
YmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlUmVsQ29uZChMZXNzVGhhbik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg0MDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzNS5zdWNjZXNzb3JzLnB1c2go
bmV3IEZyZXF1ZW50ZWRCbG9jayhiYjExLCBOb3JtYWwpKTsKLSAgICBiYjM1LnN1Y2Nlc3NvcnMu
cHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzYsIE5vcm1hbCkpOwotICAgIGJiMzUucHJlZGVj
ZXNzb3JzLnB1c2goYmIzNCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIzNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsK
LSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0g
W107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZVpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjM1LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKExl
c3NUaGFuKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlSW1tKDI2Nyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM1LmFwcGVuZChp
bnN0KTsKLSAgICBiYjM2LnByZWRlY2Vzc29ycy5wdXNoKGJiMzUpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE0NDUwNjU3NiwgMSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNi5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KFJldDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNi5hcHBlbmQoaW5zdCk7Ci0gICAg
cmV0dXJuIGNvZGU7Ci19CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fp
ci9wYXlsb2FkLXR5cGVzY3JpcHQtc2NhbklkZW50aWZpZXIuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVy
Zm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvcGF5bG9hZC10eXBlc2NyaXB0LXNjYW5J
ZGVudGlmaWVyLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNh
bXBsZUJlbmNoL0Fpci9wYXlsb2FkLXR5cGVzY3JpcHQtc2NhbklkZW50aWZpZXIuanMJKG5vbmV4
aXN0ZW50KQpAQCAtMSwxODc4ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLS8vIEdlbmVyYXRlZCBi
eSBBaXI6OmR1bXBBc0pTIGZyb20gc2NhbklkZW50aWZpZXIjRVBjRlFlIGluIE9jdGFuZS90eXBl
c2NyaXB0Ci1mdW5jdGlvbiBjcmVhdGVQYXlsb2FkVHlwZXNjcmlwdFNjYW5JZGVudGlmaWVyKCkK
LXsKLSAgICBsZXQgY29kZSA9IG5ldyBDb2RlKCk7Ci0gICAgbGV0IGJiMCA9IGNvZGUuYWRkQmxv
Y2soKTsKLSAgICBsZXQgYmIxID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjIgPSBjb2Rl
LmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI0
ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjUgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAg
bGV0IGJiNiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI3ID0gY29kZS5hZGRCbG9jaygp
OwotICAgIGxldCBiYjggPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiOSA9IGNvZGUuYWRk
QmxvY2soKTsKLSAgICBsZXQgYmIxMCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMSA9
IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBs
ZXQgYmIxMyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxNCA9IGNvZGUuYWRkQmxvY2so
KTsKLSAgICBsZXQgYmIxNSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxNiA9IGNvZGUu
YWRkQmxvY2soKTsKLSAgICBsZXQgYmIxNyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIx
OCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxOSA9IGNvZGUuYWRkQmxvY2soKTsKLSAg
ICBsZXQgYmIyMCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyMSA9IGNvZGUuYWRkQmxv
Y2soKTsKLSAgICBsZXQgYmIyMiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyMyA9IGNv
ZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQg
YmIyNSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyNiA9IGNvZGUuYWRkQmxvY2soKTsK
LSAgICBsZXQgYmIyNyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyOCA9IGNvZGUuYWRk
QmxvY2soKTsKLSAgICBsZXQgYmIyOSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzMCA9
IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzMSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBs
ZXQgYmIzMiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzMyA9IGNvZGUuYWRkQmxvY2so
KTsKLSAgICBsZXQgYmIzNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgc2xvdDAgPSBjb2Rl
LmFkZFN0YWNrU2xvdCg1NiwgTG9ja2VkKTsKLSAgICBsZXQgc2xvdDEgPSBjb2RlLmFkZFN0YWNr
U2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3QyID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3Bp
bGwpOwotICAgIGxldCBzbG90MyA9IGNvZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsKLSAgICBs
ZXQgc2xvdDQgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3Q1ID0g
Y29kZS5hZGRTdGFja1Nsb3QoNCwgU3BpbGwpOwotICAgIGxldCBzbG90NiA9IGNvZGUuYWRkU3Rh
Y2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xvdDcgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBT
cGlsbCk7Ci0gICAgbGV0IHNsb3Q4ID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwotICAg
IGxldCBzbG90OSA9IGNvZGUuYWRkU3RhY2tTbG90KDQwLCBMb2NrZWQpOwotICAgIHNsb3Q5LnNl
dE9mZnNldEZyb21GUCgtNDApOwotICAgIGxldCB0bXA5OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wOTcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDk2ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXA5NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTQg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDkzID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXA5MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTEgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDkwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4OSA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDg3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4NiA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wODUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDg0ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wODIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDgxID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXA4MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzkgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDc4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXA3NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzYgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDc1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3NCA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDcyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3MSA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wNzAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDY5ID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wNjcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDY2ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXA2NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjQgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDYzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXA2MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjEgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDYwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1OSA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDU3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1NiA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wNTUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU0ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXA1MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
NTIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDUxID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXA1MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDkgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0
NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDYgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDQ1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0NCA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wNDMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQy
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wNDAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDM5ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXAzOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzcg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDM2ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAzNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzQgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDMzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMiA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDMwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyOSA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMjggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI3ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyNiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wMjUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI0ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAyMyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjIgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDIxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAyMCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTkgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDE4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNyA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDE1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNCA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMTMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMTAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDkgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDcgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDUg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDIgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDAgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IGluc3Q7Ci0gICAgbGV0IGFyZzsKLSAgICBiYjAuc3VjY2Vz
c29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI1LCBOb3JtYWwpKTsKLSAgICBiYjAuc3Vj
Y2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI0LCBOb3JtYWwpKTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxNzczMjk4ODgs
IDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRk
cihSZWcucmJwLCAxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJicCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5w
YXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0
KCk7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuU2NyYXRjaCwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMC5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVBZGRyKFJlZy5yYnAsIDQwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQmlnSW1tKDIsIC02NTUzNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsK
LSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0g
W107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCA1KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMjEpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsK
LSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0g
W107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDh9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDh9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDI1NDApOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRy
dWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgNzIpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KENvbXBhcmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoRXF1
YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJ
bW0oOTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlQmlnSW1tKDE1NDk5MTkzNiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmN4LCAwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oODApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxNTQ5OTE5MzYsIDEpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90
NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05v
bkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBu
ZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE1NDk5MTk0NCwgMSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJjeCwgMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucjEyLCAtOCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
OCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEFi
b3ZlT3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0
cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbmRleChSZWcucjEyLCBSZWcucmF4
LCA4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1t
KDEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlQ29uZGl0aW9uYWxseVRlc3Q2NCk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgtMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KFhvcjY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDYpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oLTIpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QyLCAwKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oLTIpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBh
dGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNr
KHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNo
SGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVn
cyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxMjk5ODczMTIsIDEpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDQsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxMDg0MTgzNTIs
IDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0o
MCwgLTY1NTM2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
SW1tKDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRlc3Q2NCk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxLnByZWRlY2Vzc29ycy5wdXNoKGJiNik7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVj
dHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoT29wcyk7Ci0gICAgYmIxLmFwcGVuZChpbnN0KTsKLSAgICBiYjIucHJlZGVj
ZXNzb3JzLnB1c2goYmIyMyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5z
dC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2Ji
ZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcg
U2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIyLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoT29wcyk7Ci0gICAgYmIyLmFwcGVuZChp
bnN0KTsKLSAgICBiYjMucHJlZGVjZXNzb3JzLnB1c2goYmIzMik7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAg
IGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgYmIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoT29w
cyk7Ci0gICAgYmIzLmFwcGVuZChpbnN0KTsKLSAgICBiYjQucHJlZGVjZXNzb3JzLnB1c2goYmIw
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVj
aWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0
Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChP
b3BzKTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGJiNS5zdWNjZXNzb3JzLnB1c2gobmV3
IEZyZXF1ZW50ZWRCbG9jayhiYjgsIE5vcm1hbCkpOwotICAgIGJiNS5zdWNjZXNzb3JzLnB1c2go
bmV3IEZyZXF1ZW50ZWRCbG9jayhiYjYsIFJhcmUpKTsKLSAgICBiYjUucHJlZGVjZXNzb3JzLnB1
c2goYmIwKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUFkZHIoUmVnLnJieCwgNTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
NS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVBZGRyKFJlZy5yYngsIDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYXgsIC0yNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnIxMCwgMTYpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KEJyYW5jaFRlc3Q2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0g
ICAgYmI2LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMSwgUmFyZSkpOwot
ICAgIGJiNi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjcsIE5vcm1hbCkp
OwotICAgIGJiNi5wcmVkZWNlc3NvcnMucHVzaChiYjUpOwotICAgIGluc3QgPSBuZXcgSW5zdChN
b3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJwLCAzNik7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q4LCAwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDcsIDAp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90
NiwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YnApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lh
bCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmN4KTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJzaSk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZGkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcucjgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjkpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjEwKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW0xKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTIp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMyk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW00KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTUpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tNik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW03KTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTgpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW0xMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMSk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMik7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MuYWRkKFJlZy54bW0xNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy54bW0xNSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5EZWYsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkRlZiwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
YmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVN0YWNrKHNsb3Q4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDcsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q2LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3Zl
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDEyOTk4NzMxMiwgMSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoQnJhbmNoVGVzdDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJv
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJl
Zy5yY3gsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUltbSgtMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3Qp
OwotICAgIGJiNy5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjExLCBOb3Jt
YWwpKTsKLSAgICBiYjcucHJlZGVjZXNzb3JzLnB1c2goYmI2KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgOCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoSnVtcCk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAgICBiYjguc3VjY2Vzc29y
cy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxMSwgTm9ybWFsKSk7Ci0gICAgYmI4LnByZWRl
Y2Vzc29ycy5wdXNoKGJiNSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVBZGRyKFJlZy5yYXgsIDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAg
IGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgYmI5LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRl
ZEJsb2NrKGJiMTEsIE5vcm1hbCkpOwotICAgIGJiOS5wcmVkZWNlc3NvcnMucHVzaChiYjE1KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cjkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAg
YmIxMC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjExLCBOb3JtYWwpKTsK
LSAgICBiYjEwLnByZWRlY2Vzc29ycy5wdXNoKGJiMTgpOwotICAgIGluc3QgPSBuZXcgSW5zdChN
b3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KEp1bXApOwotICAgIGJiMTAuYXBwZW5kKGluc3QpOwotICAgIGJiMTEuc3VjY2Vzc29ycy5wdXNo
KG5ldyBGcmVxdWVudGVkQmxvY2soYmIxMiwgTm9ybWFsKSk7Ci0gICAgYmIxMS5zdWNjZXNzb3Jz
LnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE2LCBOb3JtYWwpKTsKLSAgICBiYjExLnByZWRl
Y2Vzc29ycy5wdXNoKGJiNyk7Ci0gICAgYmIxMS5wcmVkZWNlc3NvcnMucHVzaChiYjEwKTsKLSAg
ICBiYjExLnByZWRlY2Vzc29ycy5wdXNoKGJiOSk7Ci0gICAgYmIxMS5wcmVkZWNlc3NvcnMucHVz
aChiYjgpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMS5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVBZGRyKFJlZy5yYngsIDQwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE92ZXJmbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3Rz
ID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZVpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
TGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcu
cmJ4LCA0MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIo
UmVnLnJieCwgMzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTEuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIx
MS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVl
OwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEg
PSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlWkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3Zl
MzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KEFkZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDMy
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChCcmFuY2gzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQo
TGVzc1RoYW4pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFw
cGVuZChpbnN0KTsKLSAgICBiYjEyLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2Nr
KGJiMTMsIE5vcm1hbCkpOwotICAgIGJiMTIuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVk
QmxvY2soYmIxNCwgTm9ybWFsKSk7Ci0gICAgYmIxMi5wcmVkZWNlc3NvcnMucHVzaChiYjExKTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFs
KCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29u
ZChBYm92ZU9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVBZGRyKFJlZy5yMTAsIDEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIx
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZm
ZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQo
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMTIuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
QWRkcihSZWcucjEwLCAxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIx
Mi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRlc3QzMik7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4LCAxNik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIxMi5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxMy5zdWNjZXNzb3JzLnB1
c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE1LCBOb3JtYWwpKTsKLSAgICBiYjEzLnByZWRlY2Vz
c29ycy5wdXNoKGJiMTIpOwotICAgIGluc3QgPSBuZXcgSW5zdChMb2FkOCk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUluZGV4KFJlZy5yOSwgUmVnLnJkeCwgMSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KEp1bXApOwotICAgIGJiMTMuYXBwZW5kKGluc3QpOwotICAgIGJiMTQuc3VjY2Vzc29ycy5wdXNo
KG5ldyBGcmVxdWVudGVkQmxvY2soYmIxNSwgTm9ybWFsKSk7Ci0gICAgYmIxNC5wcmVkZWNlc3Nv
cnMucHVzaChiYjEyKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTG9hZDE2KTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlSW5kZXgoUmVnLnI5LCBSZWcucmR4LCAyLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjE0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
SnVtcCk7Ci0gICAgYmIxNC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxNS5zdWNjZXNzb3JzLnB1c2go
bmV3IEZyZXF1ZW50ZWRCbG9jayhiYjksIE5vcm1hbCkpOwotICAgIGJiMTUuc3VjY2Vzc29ycy5w
dXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxNywgTm9ybWFsKSk7Ci0gICAgYmIxNS5wcmVkZWNl
c3NvcnMucHVzaChiYjE0KTsKLSAgICBiYjE1LnByZWRlY2Vzc29ycy5wdXNoKGJiMTMpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNS5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE1LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTUu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgNzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIxNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQWJvdmVPckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJz
aSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZm
ZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQo
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjE1LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUluZGV4KFJlZy5yMTIsIFJlZy5yYXgsIDgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMTUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlQ29u
ZGl0aW9uYWxseVRlc3Q2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgt
MSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE1LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE1LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoWG9yNjQpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVJbW0oNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNS5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVJbW0oLTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTUuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwot
ICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBb
XTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjE1LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE1LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoVGVzdDY0KTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIxNS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxNi5wcmVkZWNlc3NvcnMucHVzaChiYjEx
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVj
aWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoT29w
cyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxNy5zdWNjZXNzb3JzLnB1c2gobmV3
IEZyZXF1ZW50ZWRCbG9jayhiYjE4LCBOb3JtYWwpKTsKLSAgICBiYjE3LnN1Y2Nlc3NvcnMucHVz
aChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTksIE5vcm1hbCkpOwotICAgIGJiMTcucHJlZGVjZXNz
b3JzLnB1c2goYmIxNSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlUmVsQ29uZChHcmVhdGVyVGhhbk9yRXF1YWwpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNDgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxNy5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxOC5zdWNjZXNzb3Jz
LnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjEwLCBOb3JtYWwpKTsKLSAgICBiYjE4LnN1Y2Nl
c3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTksIE5vcm1hbCkpOwotICAgIGJiMTgu
cHJlZGVjZXNzb3JzLnB1c2goYmIxNyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChMZXNzVGhhbk9yRXF1YWwpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNTcpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxOC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxOS5zdWNj
ZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIwLCBOb3JtYWwpKTsKLSAgICBiYjE5
LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjEsIE5vcm1hbCkpOwotICAg
IGJiMTkucHJlZGVjZXNzb3JzLnB1c2goYmIxNyk7Ci0gICAgYmIxOS5wcmVkZWNlc3NvcnMucHVz
aChiYjE4KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVSZWxDb25kKEdyZWF0ZXJUaGFuT3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxMjgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIxOS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyMC5wcmVkZWNlc3NvcnMucHVz
aChiYjE5KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9
IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjIwLmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoT29wcyk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0g
ICAgYmIyMS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIyLCBOb3JtYWwp
KTsKLSAgICBiYjIxLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjMsIE5v
cm1hbCkpOwotICAgIGJiMjEucHJlZGVjZXNzb3JzLnB1c2goYmIxOSk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0
cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
YmIyMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlUmVsQ29uZChFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg5Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjIxLmFwcGVuZChpbnN0KTsKLSAgICBiYjIyLnByZWRlY2Vzc29ycy5wdXNoKGJi
MjEpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNw
ZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGlu
c3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMjIuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChPb3BzKTsKLSAgICBiYjIyLmFwcGVuZChpbnN0KTsKLSAgICBi
YjIzLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMiwgUmFyZSkpOwotICAg
IGJiMjMuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyNCwgTm9ybWFsKSk7
Ci0gICAgYmIyMy5wcmVkZWNlc3NvcnMucHVzaChiYjIxKTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgNDgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE1NTAyMTU2OCwgMSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFy
Zyg4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMyk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygx
Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIzLmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJn
KDI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxB
cmcoMzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2Fs
bEFyZyg0MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIzLmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVj
aWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUNhbGxBcmcoMzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoNDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5l
eHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzLmFk
ZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZHgpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcucnNpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnJkaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOCk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOSk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTApOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMSk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0yKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnhtbTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1t
NCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW01KTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTYpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcueG1tNyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy54bW04KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTkpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTApOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcueG1tMTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1t
MTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTQpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTUpOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5EZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0
cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE1NTA0
MTI4OCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVB
ZGRyKFJlZy5yYXgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQWRkcihSZWcucmF4LCAtMTMzNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIx
Myk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZm
ZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQo
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucjEzLCAyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDAsIDApOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYnAsIDM2KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDEwODM1NjMwNCwgMSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xv
dDMsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJicCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAg
aW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnJjeCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yc2kpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmRpKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnI4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnI5KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMCk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW0yKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTMp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNCk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW01KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTYpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tNyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW04KTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTkpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcueG1tMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTIp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTMpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTQpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcueG1tMTUpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuRGVm
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkRlZiwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5EZWYsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxMjk5ODczMTIsIDEpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXND
b25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUFkZHIoUmVnLnJjeCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlSW1tKC0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMu
YXBwZW5kKGluc3QpOwotICAgIGJiMjQuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxv
Y2soYmIyNSwgTm9ybWFsKSk7Ci0gICAgYmIyNC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50
ZWRCbG9jayhiYjI2LCBOb3JtYWwpKTsKLSAgICBiYjI0LnByZWRlY2Vzc29ycy5wdXNoKGJiMjMp
OwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNp
YWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0
LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMjQuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0NjQpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBiYjI1LnN1Y2Nlc3NvcnMucHVzaChu
ZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjcsIE5vcm1hbCkpOwotICAgIGJiMjUuc3VjY2Vzc29ycy5w
dXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyNiwgTm9ybWFsKSk7Ci0gICAgYmIyNS5wcmVkZWNl
c3NvcnMucHVzaChiYjI0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQW5kNjQpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVJbW0oLTkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMjUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2g2NCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjI1LmFwcGVuZChpbnN0KTsKLSAgICBiYjI2LnN1Y2Nlc3NvcnMucHVzaChuZXcg
RnJlcXVlbnRlZEJsb2NrKGJiMjksIE5vcm1hbCkpOwotICAgIGJiMjYuc3VjY2Vzc29ycy5wdXNo
KG5ldyBGcmVxdWVudGVkQmxvY2soYmIyOCwgTm9ybWFsKSk7Ci0gICAgYmIyNi5wcmVkZWNlc3Nv
cnMucHVzaChiYjI0KTsKLSAgICBiYjI2LnByZWRlY2Vzc29ycy5wdXNoKGJiMjUpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25k
KE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI2LmFw
cGVuZChpbnN0KTsKLSAgICBiYjI3LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2Nr
KGJiMzAsIE5vcm1hbCkpOwotICAgIGJiMjcucHJlZGVjZXNzb3JzLnB1c2goYmIyNSk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMik7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMjcuYXBwZW5kKGluc3QpOwotICAgIGJiMjguc3Vj
Y2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzMiwgTm9ybWFsKSk7Ci0gICAgYmIy
OC5wcmVkZWNlc3NvcnMucHVzaChiYjI2KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0g
ICAgYmIyOC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyOS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1
ZW50ZWRCbG9jayhiYjMwLCBOb3JtYWwpKTsKLSAgICBiYjI5LnByZWRlY2Vzc29ycy5wdXNoKGJi
MjYpOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjI5LmFwcGVuZChpbnN0KTsK
LSAgICBiYjMwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzQsIE5vcm1h
bCkpOwotICAgIGJiMzAuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzMSwg
Tm9ybWFsKSk7Ci0gICAgYmIzMC5wcmVkZWNlc3NvcnMucHVzaChiYjI5KTsKLSAgICBiYjMwLnBy
ZWRlY2Vzc29ycy5wdXNoKGJiMjcpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMzAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBbmQ2NCk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUltbSgtOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIzMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDY0KTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMzAuYXBwZW5kKGluc3QpOwotICAgIGJiMzEuc3VjY2Vzc29ycy5wdXNo
KG5ldyBGcmVxdWVudGVkQmxvY2soYmIzMiwgTm9ybWFsKSk7Ci0gICAgYmIzMS5wcmVkZWNlc3Nv
cnMucHVzaChiYjMwKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIzMS5hcHBl
bmQoaW5zdCk7Ci0gICAgYmIzMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhi
YjMsIFJhcmUpKTsKLSAgICBiYjMyLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2Nr
KGJiMzMsIE5vcm1hbCkpOwotICAgIGJiMzIucHJlZGVjZXNzb3JzLnB1c2goYmIyOCk7Ci0gICAg
YmIzMi5wcmVkZWNlc3NvcnMucHVzaChiYjMxKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMy
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJicCwgMzYpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIzMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTU0OTkxNjMyLCAxKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJk
aSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDEw
ODM1NjMwNCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3Qu
ZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy5yY3gpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucnNpKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJkaSk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy5yOCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy5yOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTApOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncy5hZGQoUmVnLnhtbTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcueG1tMik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0zKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTQpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW02KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTcp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tOCk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW05KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTEwKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVn
LnhtbTExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEyKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEzKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTE0KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnhtbTE1KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkRlZiwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5EZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgYmIzMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTI5OTg3MzEyLCAxKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoQnJhbmNoVGVzdDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChO
b25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVB
ZGRyKFJlZy5yY3gsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUltbSgtMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjMyLmFwcGVu
ZChpbnN0KTsKLSAgICBiYjMzLnByZWRlY2Vzc29ycy5wdXNoKGJiMzIpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMg
PSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJi
MzMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChSZXQ2NCk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MzMuYXBwZW5kKGluc3QpOwotICAgIGJiMzQucHJlZGVjZXNzb3JzLnB1c2goYmIzMCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTUzODM1
Mjk2LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUltbSgzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVD
YWxsQXJnKDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzQuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlQ2FsbEFyZygzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUltbSg2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVD
YWxsQXJnKDQwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzQuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNw
ZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUNhbGxBcmcoOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQ2FsbEFyZygxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlQ2FsbEFyZygyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg0MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0
LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmN4KTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJkeCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yc2kpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcucmRpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnI4KTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnI5KTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xKTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcueG1tMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54
bW00KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTUpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNik7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy54bW03KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnhtbTgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tOSk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MuYWRkKFJlZy54bW0xMik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54
bW0xMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xNCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xNSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkRlZiwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRy
YUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KFJldDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAg
cmV0dXJuIGNvZGU7Ci19CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fp
ci9yZWcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9B
aXIvcmVnLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBs
ZUJlbmNoL0Fpci9yZWcuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNDAgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1j
bGFzcyBSZWcgZXh0ZW5kcyBUbXBCYXNlIHsKLSAgICBjb25zdHJ1Y3RvcihpbmRleCwgdHlwZSwg
bmFtZSwgaXNDYWxsZWVTYXZlKQotICAgIHsKLSAgICAgICAgc3VwZXIoKTsKLSAgICAgICAgdGhp
cy5faW5kZXggPSBpbmRleDsKLSAgICAgICAgdGhpcy5fdHlwZSA9IHR5cGU7Ci0gICAgICAgIHRo
aXMuX25hbWUgPSBuYW1lOwotICAgICAgICB0aGlzLl9pc0NhbGxlZVNhdmUgPSAhIWlzQ2FsbGVl
U2F2ZTsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGZyb21SZWcocmVnKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIHJlZzsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGluZGV4KCkgeyByZXR1cm4gdGhp
cy5faW5kZXg7IH0KLSAgICBnZXQgdHlwZSgpIHsgcmV0dXJuIHRoaXMuX3R5cGU7IH0KLSAgICBn
ZXQgbmFtZSgpIHsgcmV0dXJuIHRoaXMuX25hbWU7IH0KLSAgICBnZXQgaXNDYWxsZWVTYXZlKCkg
eyByZXR1cm4gdGhpcy5faXNDYWxsZWVTYXZlOyB9Ci0gICAgCi0gICAgZ2V0IGlzUmVnKCkgeyBy
ZXR1cm4gdHJ1ZTsgfQotICAgIAotICAgIGhhc2goKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMu
aXNHUCkKLSAgICAgICAgICAgIHJldHVybiAxICsgdGhpcy5faW5kZXg7Ci0gICAgICAgIHJldHVy
biAtMSAtIHRoaXMuX2luZGV4OwotICAgIH0KLSAgICAKLSAgICB0b1N0cmluZygpCi0gICAgewot
ICAgICAgICByZXR1cm4gYCUke3RoaXMuX25hbWV9YDsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGlj
IGV4dHJhY3QoYXJnKQotICAgIHsKLSAgICAgICAgaWYgKGFyZy5pc1JlZykKLSAgICAgICAgICAg
IHJldHVybiBhcmcucmVnOwotICAgICAgICByZXR1cm4gbnVsbDsKLSAgICB9Ci0gICAgCi0gICAg
c3RhdGljIGZvckVhY2hGYXN0KGFyZywgZnVuYykKLSAgICB7Ci0gICAgICAgIHJldHVybiBhcmcu
Zm9yRWFjaFRtcEZhc3QodG1wID0+IHsKLSAgICAgICAgICAgIGlmICghdG1wLmlzUmVnKQotICAg
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIHJldHVybiBmdW5jKHRtcCk7Ci0gICAg
ICAgIH0pOwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgZm9yRWFjaChhcmcsIGFyZ1JvbGUsIGFy
Z1R5cGUsIGFyZ1dpZHRoLCBmdW5jKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFyZy5mb3JFYWNo
VG1wKAotICAgICAgICAgICAgYXJnUm9sZSwgYXJnVHlwZSwgYXJnV2lkdGgsCi0gICAgICAgICAg
ICAodG1wLCByb2xlLCB0eXBlLCB3aWR0aCkgPT4gewotICAgICAgICAgICAgICAgIGlmICghdG1w
LmlzUmVnKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIGZ1bmModG1wLCByb2xlLCB0eXBlLCB3aWR0aCk7Ci0gICAgICAgICAgICB9KTsKLSAgICB9
Ci19Ci0KLXsKLSAgICBSZWcucmVncyA9IFtdOwotICAgIGZ1bmN0aW9uIG5ld1JlZyguLi5hcmdz
KQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBSZWcoLi4uYXJncyk7Ci0gICAgICAg
IFJlZy5yZWdzLnB1c2gocmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0K
LSAgICAvLyBEZWZpbmUgWDg2XzY0IEdQUnMKLSAgICB7Ci0gICAgICAgIGxldCBpbmRleCA9IDA7
Ci0gICAgICAgIGZ1bmN0aW9uIG5ld0dQUihuYW1lLCBpc0NhbGxlZVNhdmUpIHsgcmV0dXJuIG5l
d1JlZyhpbmRleCsrLCBHUCwgbmFtZSwgaXNDYWxsZWVTYXZlKTsgfQotICAgICAgICAKLSAgICAg
ICAgUmVnLnJheCA9IG5ld0dQUigicmF4Iik7Ci0gICAgICAgIFJlZy5yY3ggPSBuZXdHUFIoInJj
eCIpOwotICAgICAgICBSZWcucmR4ID0gbmV3R1BSKCJyZHgiKTsKLSAgICAgICAgUmVnLnJieCA9
IG5ld0dQUigicmJ4IiwgdHJ1ZSk7Ci0gICAgICAgIFJlZy5yc3AgPSBuZXdHUFIoInJzcCIpOwot
ICAgICAgICBSZWcucmJwID0gbmV3R1BSKCJyYnAiLCB0cnVlKTsKLSAgICAgICAgUmVnLnJzaSA9
IG5ld0dQUigicnNpIik7Ci0gICAgICAgIFJlZy5yZGkgPSBuZXdHUFIoInJkaSIpOwotICAgICAg
ICBmb3IgKGxldCBpID0gODsgaSA8PSAxNTsgKytpKQotICAgICAgICAgICAgUmVnW2ByJHtpfWBd
ID0gbmV3R1BSKGByJHtpfWAsIGkgPj0gMTIpOwotICAgIH0KLQotICAgIC8vIERlZmluZSBYODZf
NjQgRlBScy4KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8PSAxNTsgKytpKQotICAgICAgICBSZWdb
YHhtbSR7aX1gXSA9IG5ld1JlZyhpLCBGUCwgYHhtbSR7aX1gKTsKLQotICAgIFJlZy5ncHJzID0g
W10KLSAgICBSZWcuZnBycyA9IFtdCi0gICAgUmVnLmNhbGxlZVNhdmVHUFJzID0gW10KLSAgICBS
ZWcuY2FsbGVlU2F2ZUZQUnMgPSBbXQotICAgIFJlZy5jYWxsZWVTYXZlcyA9IFtdCi0gICAgZm9y
IChsZXQgcmVnIG9mIFJlZy5yZWdzKSB7Ci0gICAgICAgIGlmIChyZWcuaXNHUCkgewotICAgICAg
ICAgICAgUmVnLmdwcnMucHVzaChyZWcpOwotICAgICAgICAgICAgaWYgKHJlZy5pc0NhbGxlZVNh
dmUpCi0gICAgICAgICAgICAgICAgUmVnLmNhbGxlZVNhdmVHUFJzLnB1c2gocmVnKTsKLSAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFJlZy5mcHJzLnB1c2gocmVnKTsKLSAgICAgICAgICAg
IGlmIChyZWcuaXNDYWxsZWVTYXZlKQotICAgICAgICAgICAgICAgIFJlZy5jYWxsZWVTYXZlRlBS
Uy5wdXNoKHJlZyk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHJlZy5pc0NhbGxlZVNhdmUpCi0g
ICAgICAgICAgICBSZWcuY2FsbGVlU2F2ZXMucHVzaChyZWcpOwotICAgIH0KLSAgICAKLSAgICBS
ZWcuY2FsbEZyYW1lUmVnaXN0ZXIgPSBSZWcucmJwOwotICAgIFJlZy5zdGFja1BvaW50ZXJSZWdp
c3RlciA9IFJlZy5yc3A7Ci19CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNo
L0Fpci9zdGFja19zbG90LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2Ft
cGxlQmVuY2gvQWlyL3N0YWNrX3Nsb3QuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1h
bmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3N0YWNrX3Nsb3QuanMJKG5vbmV4aXN0ZW50KQpA
QCAtMSwxMDIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqLwotInVzZSBzdHJpY3QiOwotCi1jbGFzcyBTdGFja1Nsb3QgewotICAgIGNvbnN0cnVjdG9y
KGluZGV4LCBieXRlU2l6ZSwga2luZCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2luZGV4ID0gaW5k
ZXg7Ci0gICAgICAgIHRoaXMuX2J5dGVTaXplID0gYnl0ZVNpemU7Ci0gICAgICAgIHRoaXMuX2tp
bmQgPSBraW5kOwotICAgIH0KLSAgICAKLSAgICBnZXQgYnl0ZVNpemUoKSB7IHJldHVybiB0aGlz
Ll9ieXRlU2l6ZTsgfQotICAgIGdldCBraW5kKCkgeyByZXR1cm4gdGhpcy5fa2luZDsgfQotICAg
IAotICAgIGdldCBpc0xvY2tlZCgpIHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gTG9ja2VkOyB9Ci0g
ICAgZ2V0IGlzU3BpbGwoKSB7IHJldHVybiB0aGlzLl9raW5kID09IFNwaWxsOyB9Ci0gICAgCi0g
ICAgZ2V0IGluZGV4KCkgeyByZXR1cm4gdGhpcy5faW5kZXg7IH0KLQotICAgIGVuc3VyZVNpemUo
c2l6ZSkKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9vZmZzZXRGcm9tRlApCi0gICAgICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIlN0YWNrIHNsb3QgYWxyZWFkeSBhbGxvY2F0ZWQiKTsKLSAgICAg
ICAgdGhpcy5fYnl0ZVNpemUgPSBNYXRoLm1heCh0aGlzLl9ieXRlU2l6ZSwgc2l6ZSk7Ci0gICAg
fQotICAgIAotICAgIGdldCBhbGlnbm1lbnQoKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2J5
dGVTaXplIDw9IDEpCi0gICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgaWYgKHRoaXMuX2J5
dGVTaXplIDw9IDIpCi0gICAgICAgICAgICByZXR1cm4gMjsKLSAgICAgICAgaWYgKHRoaXMuX2J5
dGVTaXplIDw9IDQpCi0gICAgICAgICAgICByZXR1cm4gNDsKLSAgICAgICAgcmV0dXJuIDg7Ci0g
ICAgfQotICAgIAotICAgIGdldCBvZmZzZXRGcm9tRlAoKSB7IHJldHVybiB0aGlzLl9vZmZzZXRG
cm9tRlA7IH0KLSAgICAKLSAgICBzZXRPZmZzZXRGcm9tRlAodmFsdWUpIHsgdGhpcy5fb2Zmc2V0
RnJvbUZQID0gdmFsdWU7IH0KLSAgICAKLSAgICBoYXNoKCkKLSAgICB7Ci0gICAgICAgIHJldHVy
biAoKHRoaXMuX2tpbmQgPT0gU3BpbGwgPyAxIDogMCkgKyB0aGlzLl9ieXRlU2l6ZSAqIDMgKyAo
dGhpcy5fb2Zmc2V0RnJvbUZQID8gdGhpcy5fb2Zmc2V0RnJvbUZQICogNyA6IDApKSA+Pj4gMDsK
LSAgICB9Ci0gICAgCi0gICAgdG9TdHJpbmcoKQotICAgIHsKLSAgICAgICAgcmV0dXJuICIiICsg
KHRoaXMuaXNTcGlsbCA/ICJzcGlsbCIgOiAic3RhY2siKSArIHRoaXMuX2luZGV4ICsgIjwiICsg
dGhpcy5fYnl0ZVNpemUgKwotICAgICAgICAgICAgKHRoaXMuX29mZnNldEZyb21GUCA/ICIsIG9m
ZnNldCA9ICIgKyB0aGlzLl9vZmZzZXRGcm9tRlAgOiAiIikgKyAiPiI7Ci0gICAgfQotICAgIAot
ICAgIHN0YXRpYyBleHRyYWN0KGFyZykKLSAgICB7Ci0gICAgICAgIGlmIChhcmcuaXNTdGFjaykK
LSAgICAgICAgICAgIHJldHVybiBhcmcuc3RhY2tTbG90OwotICAgICAgICByZXR1cm4gbnVsbDsK
LSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGZvckVhY2hGYXN0KGFyZywgZnVuYykKLSAgICB7Ci0g
ICAgICAgIGlmICghYXJnLmlzU3RhY2spCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIAot
ICAgICAgICBsZXQgcmVwbGFjZW1lbnQ7Ci0gICAgICAgIGlmIChyZXBsYWNlbWVudCA9IGZ1bmMo
YXJnLnN0YWNrU2xvdCkpCi0gICAgICAgICAgICByZXR1cm4gQXJnLmNyZWF0ZVN0YWNrKHJlcGxh
Y2VtZW50LCB0aGlzLl9vZmZzZXQpOwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgZm9yRWFjaChh
cmcsIHJvbGUsIHR5cGUsIHdpZHRoLCBmdW5jKQotICAgIHsKLSAgICAgICAgaWYgKCFhcmcuaXNT
dGFjaykKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgICAgIGxldCByZXBsYWNl
bWVudDsKLSAgICAgICAgaWYgKHJlcGxhY2VtZW50ID0gZnVuYyhhcmcuc3RhY2tTbG90LCByb2xl
LCB0eXBlLCB3aWR0aCkpCi0gICAgICAgICAgICByZXR1cm4gQXJnLmNyZWF0ZVN0YWNrKHJlcGxh
Y2VtZW50LCB0aGlzLl9vZmZzZXQpOwotICAgIH0KLX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMv
RVM2U2FtcGxlQmVuY2gvQWlyL3N0cmVzcy10ZXN0LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3N0cmVzcy10ZXN0LmpzCShyZXZpc2lvbiAyMTE2
ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9zdHJlc3MtdGVzdC5q
cwkobm9uZXhpc3RlbnQpCkBAIC0xLDUyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotbG9hZCgiYWxsLmpzIik7Ci1s
b2FkKCJwYXlsb2FkLWdiZW11LWV4ZWN1dGVJdGVyYXRpb24uanMiKTsKLWxvYWQoInBheWxvYWQt
aW1hZ2luZy1nYXVzc2lhbi1ibHVyLWdhdXNzaWFuQmx1ci5qcyIpOwotbG9hZCgicGF5bG9hZC1h
aXJqcy1BQ0xqOEMuanMiKTsKLWxvYWQoInBheWxvYWQtdHlwZXNjcmlwdC1zY2FuSWRlbnRpZmll
ci5qcyIpOwotbG9hZCgiYmVuY2htYXJrLmpzIik7Ci0KLWxldCBiZW5jaG1hcmsgPSBuZXcgQWly
QmVuY2htYXJrKCk7Ci1sZXQgYmVmb3JlID0gcHJlY2lzZVRpbWUoKTsKLQotLy8gUnVuIGZvciBh
dCBsZWFzdCAxMCBpdGVyYXRpb25zLgotZm9yIChsZXQgaSA9IDA7IGkgPCAxMDsgKytpKSB7Ci0g
ICAgcHJpbnQoIlJ1bm5pbmcgbWFuZGF0b3J5IGl0ZXJhdGlvbiAjIiArIChpICsgMSkgKyAiOiIp
OwotICAgIGJlbmNobWFyay5ydW5JdGVyYXRpb24oKTsKLX0KLQotLy8gUnVuIHVudGlsIHdlIGhh
dmUgYmVlbiBydW5uaW5nIGZvciB0d28gc2Vjb25kcy4KLXdoaWxlIChwcmVjaXNlVGltZSgpIDwg
YmVmb3JlICsgMikgewotICAgIHByaW50KCJSdW5uaW5nIGJvbnVzIGl0ZXJhdGlvbjoiKTsKLSAg
ICBiZW5jaG1hcmsucnVuSXRlcmF0aW9uKCk7Ci19Ci0KLXByaW50KCJTdWNjZXNzISIpOwotCi0K
LQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvc3RyaXAtaGFzaC5y
Ygo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9zdHJp
cC1oYXNoLnJiCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBs
ZUJlbmNoL0Fpci9zdHJpcC1oYXNoLnJiCShub25leGlzdGVudCkKQEAgLTEsMTAgKzAsMCBAQAot
IyBUaGlzIGlzIGEgdXNlZnVsIGhhY2sgZm9yIGNsZWFuaW5nIHVwIHRoZSBwYXlsb2FkcyBnZW5l
cmF0ZWQgYnkgQWlyOjpkdW1wQXNKUygpLiBUaGF0IHdpbGwKLSMgZ2VuZXJhdGUgY29kZSB0aGF0
IGNvbXB1dGVzIHRoZSBoYXNoIG9mIGluc3RzIGFuZCBzdGFjayBzbG90cyBhbmQgY2hlY2tzIGl0
LiBUaGlzIGlzIHVzZWZ1bCBmb3IKLSMgZGVidWdnaW5nLCBidXQgd2UgcHJvYmFibHkgZG9uJ3Qg
d2FudCB0aGF0IG92ZXJoZWFkIGluIHRoZSBwYXlsb2FkcyB3ZSBkZXBsb3kuIFNvLCB5b3UgY2Fu
IHJ1bgotIyB0aGlzIHNjcmlwdCB0byByZW1vdmUgYWxsIG9mIHRoZSBoYXNoaW5nIGNvZGUuCi0K
LUFSR1YuZWFjaCB7Ci0gICAgfCBmaWxlbmFtZSB8Ci0gICAgSU86OndyaXRlKGZpbGVuYW1lLCBJ
Tzo6cmVhZChmaWxlbmFtZSkubGluZXMucmVqZWN0e3x2fCB2ID1+IC9oYXNoL2l9LmpvaW4oKSkK
LX0KLQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvc3ltYm9scy5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9zeW1i
b2xzLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJl
bmNoL0Fpci9zeW1ib2xzLmpzCShub25leGlzdGVudCkKQEAgLTEsMTYyICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQot
Ly8gVGhpcyBmaWxlIGlzIGZvciBtaXNjIHN5bWJvbHMuCi0KLS8vIEIzIHR5cGVzCi1jb25zdCBW
b2lkID0gU3ltYm9sKCJWb2lkIik7Ci1jb25zdCBJbnQzMiA9IFN5bWJvbCgiSW50MzIiKTsKLWNv
bnN0IEludDY0ID0gU3ltYm9sKCJJbnQ2NCIpOwotY29uc3QgRmxvYXQgPSBTeW1ib2woIkZsb2F0
Iik7Ci1jb25zdCBEb3VibGUgPSBTeW1ib2woIkRvdWJsZSIpOwotCi0vLyBBcmcgdHlwZQotY29u
c3QgR1AgPSBTeW1ib2woIkdQIik7Ci1jb25zdCBGUCA9IFN5bWJvbCgiRlAiKTsKLQotLy8gU3Rh
Y2sgc2xvdCBraW5kCi1jb25zdCBMb2NrZWQgPSBTeW1ib2woIkxvY2tlZCIpOwotY29uc3QgU3Bp
bGwgPSBTeW1ib2woIlNwaWxsIik7Ci0KLS8vIEZyZXF1ZW5jeSBjbGFzcwotY29uc3QgTm9ybWFs
ID0gU3ltYm9sKCJOb3JtYWwiKTsKLWNvbnN0IFJhcmUgPSBTeW1ib2woIlJhcmUiKTsKLQotLy8g
UmVsYXRpb25hbCBjb25kaXRpb25zCi1jb25zdCBFcXVhbCA9IFN5bWJvbCgiRXF1YWwiKTsKLWNv
bnN0IE5vdEVxdWFsID0gU3ltYm9sKCJOb3RFcXVhbCIpOwotY29uc3QgQWJvdmUgPSBTeW1ib2wo
IkFib3ZlIik7Ci1jb25zdCBBYm92ZU9yRXF1YWwgPSBTeW1ib2woIkFib3ZlT3JFcXVhbCIpOwot
Y29uc3QgQmVsb3cgPSBTeW1ib2woIkJlbG93Iik7Ci1jb25zdCBCZWxvd09yRXF1YWwgPSBTeW1i
b2woIkJlbG93T3JFcXVhbCIpOwotY29uc3QgR3JlYXRlclRoYW4gPSBTeW1ib2woIkdyZWF0ZXJU
aGFuIik7Ci1jb25zdCBHcmVhdGVyVGhhbk9yRXF1YWwgPSBTeW1ib2woIkdyZWF0ZXJUaGFuT3JF
cXVhbCIpOwotY29uc3QgTGVzc1RoYW4gPSBTeW1ib2woIkxlc3NUaGFuIik7Ci1jb25zdCBMZXNz
VGhhbk9yRXF1YWwgPSBTeW1ib2woIkxlc3NUaGFuT3JFcXVhbCIpOwotCi1mdW5jdGlvbiByZWxD
b25kQ29kZShjb25kKQotewotICAgIHN3aXRjaCAoY29uZCkgewotICAgIGNhc2UgRXF1YWw6Ci0g
ICAgICAgIHJldHVybiA0OwotICAgIGNhc2UgTm90RXF1YWw6Ci0gICAgICAgIHJldHVybiA1Owot
ICAgIGNhc2UgQWJvdmU6Ci0gICAgICAgIHJldHVybiA3OwotICAgIGNhc2UgQWJvdmVPckVxdWFs
OgotICAgICAgICByZXR1cm4gMzsKLSAgICBjYXNlIEJlbG93OgotICAgICAgICByZXR1cm4gMjsK
LSAgICBjYXNlIEJlbG93T3JFcXVhbDoKLSAgICAgICAgcmV0dXJuIDY7Ci0gICAgY2FzZSBHcmVh
dGVyVGhhbjoKLSAgICAgICAgcmV0dXJuIDE1OwotICAgIGNhc2UgR3JlYXRlclRoYW5PckVxdWFs
OgotICAgICAgICByZXR1cm4gMTM7Ci0gICAgY2FzZSBMZXNzVGhhbjoKLSAgICAgICAgcmV0dXJu
IDEyOwotICAgIGNhc2UgTGVzc1RoYW5PckVxdWFsOgotICAgICAgICByZXR1cm4gMTQ7Ci0gICAg
ZGVmYXVsdDoKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgcmVsIGNvbmQiKTsKLSAgICB9
Ci19Ci0KLS8vIFJlc3VsdCBjb25kaXRpb25zCi1jb25zdCBPdmVyZmxvdyA9IFN5bWJvbCgiT3Zl
cmZsb3ciKTsKLWNvbnN0IFNpZ25lZCA9IFN5bWJvbCgiU2lnbmVkIik7Ci1jb25zdCBQb3NpdGl2
ZU9yWmVybyA9IFN5bWJvbCgiUG9zaXRpdmVPclplcm8iKTsKLWNvbnN0IFplcm8gPSBTeW1ib2wo
Ilplcm8iKTsKLWNvbnN0IE5vblplcm8gPSBTeW1ib2woIk5vblplcm8iKTsKLQotZnVuY3Rpb24g
cmVzQ29uZENvZGUoY29uZCkKLXsKLSAgICBzd2l0Y2ggKGNvbmQpIHsKLSAgICBjYXNlIE92ZXJm
bG93OgotICAgICAgICByZXR1cm4gMDsKLSAgICBjYXNlIFNpZ25lZDoKLSAgICAgICAgcmV0dXJu
IDg7Ci0gICAgY2FzZSBQb3NpdGl2ZU9yWmVybzoKLSAgICAgICAgcmV0dXJuIDk7Ci0gICAgY2Fz
ZSBaZXJvOgotICAgICAgICByZXR1cm4gNDsKLSAgICBjYXNlIE5vblplcm86Ci0gICAgICAgIHJl
dHVybiA1OwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIHJlcyBj
b25kOiAiICsgY29uZC50b1N0cmluZygpKTsKLSAgICB9Ci19Ci0KLS8vIERvdWJsZSBjb25kaXRp
b25zCi1jb25zdCBEb3VibGVFcXVhbCA9IFN5bWJvbCgiRG91YmxlRXF1YWwiKTsKLWNvbnN0IERv
dWJsZU5vdEVxdWFsID0gU3ltYm9sKCJEb3VibGVOb3RFcXVhbCIpOwotY29uc3QgRG91YmxlR3Jl
YXRlclRoYW4gPSBTeW1ib2woIkRvdWJsZUdyZWF0ZXJUaGFuIik7Ci1jb25zdCBEb3VibGVHcmVh
dGVyVGhhbk9yRXF1YWwgPSBTeW1ib2woIkRvdWJsZUdyZWF0ZXJUaGFuT3JFcXVhbCIpOwotY29u
c3QgRG91YmxlTGVzc1RoYW4gPSBTeW1ib2woIkRvdWJsZUxlc3NUaGFuIik7Ci1jb25zdCBEb3Vi
bGVMZXNzVGhhbk9yRXF1YWwgPSBTeW1ib2woIkRvdWJsZUxlc3NUaGFuT3JFcXVhbCIpOwotY29u
c3QgRG91YmxlRXF1YWxPclVub3JkZXJlZCA9IFN5bWJvbCgiRG91YmxlRXF1YWxPclVub3JkZXJl
ZCIpOwotY29uc3QgRG91YmxlTm90RXF1YWxPclVub3JkZXJlZCA9IFN5bWJvbCgiRG91YmxlTm90
RXF1YWxPclVub3JkZXJlZCIpOwotY29uc3QgRG91YmxlR3JlYXRlclRoYW5PclVub3JkZXJlZCA9
IFN5bWJvbCgiRG91YmxlR3JlYXRlclRoYW5PclVub3JkZXJlZCIpOwotY29uc3QgRG91YmxlR3Jl
YXRlclRoYW5PckVxdWFsT3JVbm9yZGVyZWQgPSBTeW1ib2woIkRvdWJsZUdyZWF0ZXJUaGFuT3JF
cXVhbE9yVW5vcmRlcmVkIik7Ci1jb25zdCBEb3VibGVMZXNzVGhhbk9yVW5vcmRlcmVkID0gU3lt
Ym9sKCJEb3VibGVMZXNzVGhhbk9yVW5vcmRlcmVkIik7Ci1jb25zdCBEb3VibGVMZXNzVGhhbk9y
RXF1YWxPclVub3JkZXJlZCA9IFN5bWJvbCgiRG91YmxlTGVzc1RoYW5PckVxdWFsT3JVbm9yZGVy
ZWQiKTsKLQotZnVuY3Rpb24gZG91YmxlQ29uZENvZGUoY29uZCkKLXsKLSAgICBjb25zdCBiaXRJ
bnZlcnQgPSAweDEwOwotICAgIGNvbnN0IGJpdFNwZWNpYWwgPSAweDIwOwotICAgIHN3aXRjaCAo
Y29uZCkgewotICAgIGNhc2UgRG91YmxlRXF1YWw6Ci0gICAgICAgIHJldHVybiA0IHwgYml0U3Bl
Y2lhbDsKLSAgICBjYXNlIERvdWJsZU5vdEVxdWFsOgotICAgICAgICByZXR1cm4gNTsKLSAgICBj
YXNlIERvdWJsZUdyZWF0ZXJUaGFuOgotICAgICAgICByZXR1cm4gNzsKLSAgICBjYXNlIERvdWJs
ZUdyZWF0ZXJUaGFuT3JFcXVhbDoKLSAgICAgICAgcmV0dXJuIDM7Ci0gICAgY2FzZSBEb3VibGVM
ZXNzVGhhbjoKLSAgICAgICAgcmV0dXJuIDcgfCBiaXRJbnZlcnQ7Ci0gICAgY2FzZSBEb3VibGVM
ZXNzVGhhbk9yRXF1YWw6Ci0gICAgICAgIHJldHVybiAzIHwgYml0SW52ZXJ0OwotICAgIGNhc2Ug
RG91YmxlRXF1YWxPclVub3JkZXJlZDoKLSAgICAgICAgcmV0dXJuIDQ7Ci0gICAgY2FzZSBEb3Vi
bGVOb3RFcXVhbE9yVW5vcmRlcmVkOgotICAgICAgICByZXR1cm4gNSB8IGJpdFNwZWNpYWw7Ci0g
ICAgY2FzZSBEb3VibGVHcmVhdGVyVGhhbk9yVW5vcmRlcmVkOgotICAgICAgICByZXR1cm4gMiB8
IGJpdEludmVydDsKLSAgICBjYXNlIERvdWJsZUdyZWF0ZXJUaGFuT3JFcXVhbE9yVW5vcmRlcmVk
OgotICAgICAgICByZXR1cm4gNiB8IGJpdEludmVydDsKLSAgICBjYXNlIERvdWJsZUxlc3NUaGFu
T3JVbm9yZGVyZWQ6Ci0gICAgICAgIHJldHVybiAyOwotICAgIGNhc2UgRG91YmxlTGVzc1RoYW5P
ckVxdWFsT3JVbm9yZGVyZWQ6Ci0gICAgICAgIHJldHVybiA2OwotICAgIGRlZmF1bHQ6Ci0gICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGNvbmQiKTsKLSAgICB9Ci19Ci0KLS8vIERlZmluZSBw
b2ludGVyVHlwZSgpCi1jb25zdCBQdHIgPSA2NDsKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2
U2FtcGxlQmVuY2gvQWlyL3Rlc3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3Rz
L0VTNlNhbXBsZUJlbmNoL0Fpci90ZXN0Lmh0bWwJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZv
cm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3Rlc3QuaHRtbAkobm9uZXhpc3RlbnQpCkBA
IC0xLDQ1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+QWlyLmpzPC90aXRsZT4KLTxz
Y3JpcHQgc3JjPSJzeW1ib2xzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJ0bXBfYmFzZS5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iYXJnLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJiYXNpY19ibG9jay5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iY29kZS5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iZnJlcXVlbnRlZF9ibG9jay5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iaW5zdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ib3Bjb2RlLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSJyZWcuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InN0YWNrX3Ns
b3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InRtcC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0idXRpbC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iY3VzdG9tLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSJsaXZlbmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iaW5z
ZXJ0aW9uX3NldC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iYWxsb2NhdGVfc3RhY2suanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InBheWxvYWQtZ2JlbXUtZXhlY3V0ZUl0ZXJhdGlvbi5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icGF5bG9hZC1pbWFnaW5nLWdhdXNzaWFuLWJsdXIt
Z2F1c3NpYW5CbHVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJwYXlsb2FkLWFpcmpzLUFD
TGo4Qy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icGF5bG9hZC10eXBlc2NyaXB0LXNjYW5J
ZGVudGlmaWVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJiZW5jaG1hcmsuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdD4KLSAgICBmdW5jdGlvbiBydW5UZXN0KCkgewotICAgICAgICB0cnkgewot
ICAgICAgICAgICAgdmFyIHJlc3VsdCA9IHJ1bkJlbmNobWFyaygpOwotICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdC1zdW1tYXJ5IikuaW5uZXJIVE1MID0gIlRoYXQg
dG9vayAiICsgcmVzdWx0ICsgIiBtcy4iOwotICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0LXN1bW1hcnkiKS5pbm5lckhUTUwg
PSAiRmFpbGVkOiAiICsgZTsKLSAgICAgICAgfQotICAgIH0KLTwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08aDE+QWlyLmpzPC9oMT4KLTxwPgotICA8ZGl2IGlkPSJyZXN1bHQtc3VtbWFyeSI+
PC9kaXY+Ci0gIDxkaXY+PGEgaHJlZj0iamF2YXNjcmlwdDpydW5UZXN0KCkiPlN0YXJ0IFRlc3Q8
L2E+PC9kaXY+Ci08L3A+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KLQpJbmRleDogUGVyZm9ybWFuY2VU
ZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvdGVzdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5j
ZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci90ZXN0LmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQ
ZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci90ZXN0LmpzCShub25leGlzdGVudCkK
QEAgLTEsMzUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqLwotInVzZSBzdHJpY3QiOwotCi1sb2FkKCJhbGwuanMiKTsKLWxvYWQoInBheWxvYWQtZ2Jl
bXUtZXhlY3V0ZUl0ZXJhdGlvbi5qcyIpOwotbG9hZCgicGF5bG9hZC1pbWFnaW5nLWdhdXNzaWFu
LWJsdXItZ2F1c3NpYW5CbHVyLmpzIik7Ci1sb2FkKCJwYXlsb2FkLWFpcmpzLUFDTGo4Qy5qcyIp
OwotbG9hZCgicGF5bG9hZC10eXBlc2NyaXB0LXNjYW5JZGVudGlmaWVyLmpzIik7Ci1sb2FkKCJi
ZW5jaG1hcmsuanMiKTsKLQotbGV0IHJlc3VsdCA9IHJ1bkJlbmNobWFyaygpOwotcHJpbnQoIlRo
YXQgdG9vayAiICsgcmVzdWx0ICsgIiBtcy4iKTsKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2
U2FtcGxlQmVuY2gvQWlyL3RtcC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VT
NlNhbXBsZUJlbmNoL0Fpci90bXAuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNl
VGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3RtcC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDY2ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ug
c3RyaWN0IjsKLQotY2xhc3MgVG1wIGV4dGVuZHMgVG1wQmFzZSB7Ci0gICAgY29uc3RydWN0b3Io
aW5kZXgsIHR5cGUpCi0gICAgewotICAgICAgICBzdXBlcigpOwotICAgICAgICB0aGlzLl9pbmRl
eCA9IGluZGV4OwotICAgICAgICB0aGlzLl90eXBlID0gdHlwZTsKLSAgICB9Ci0gICAgCi0gICAg
c3RhdGljIGZyb21SZWcocmVnKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHJlZzsKLSAgICB9Ci0g
ICAgCi0gICAgZ2V0IGluZGV4KCkgeyByZXR1cm4gdGhpcy5faW5kZXg7IH0KLSAgICBnZXQgdHlw
ZSgpIHsgcmV0dXJuIHRoaXMuX3R5cGU7IH0KLSAgICAKLSAgICBnZXQgaXNSZWcoKSB7IHJldHVy
biBmYWxzZTsgfQotICAgIAotICAgIGhhc2goKQotICAgIHsKLSAgICAgICAgaWYgKGlzR1ApCi0g
ICAgICAgICAgICByZXR1cm4gUmVnLmdwcnNbUmVnLmdwcnMubGVuZ3RoIC0gMV0uaGFzaCgpICsg
MSArIHRoaXMuX2luZGV4OwotICAgICAgICByZXR1cm4gUmVnLmZwcnNbUmVnLmZwcnMubGVuZ3Ro
IC0gMV0uaGFzaCgpIC0gMSAtIHRoaXMuX2luZGV4OwotICAgIH0KLQotICAgIHRvU3RyaW5nKCkK
LSAgICB7Ci0gICAgICAgIHJldHVybiAiJSIgKyAodGhpcy5pc0dQID8gIiIgOiAiZiIpICsgInRt
cCIgKyB0aGlzLl9pbmRleDsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGV4dHJhY3QoYXJnKQot
ICAgIHsKLSAgICAgICAgaWYgKGFyZy5pc1RtcCkKLSAgICAgICAgICAgIHJldHVybiBhcmcudG1w
OwotICAgICAgICByZXR1cm4gbnVsbDsKLSAgICB9Ci0KLSAgICBzdGF0aWMgZm9yRWFjaEZhc3Qo
YXJnLCBmdW5jKSB7IHJldHVybiBhcmcuZm9yRWFjaFRtcEZhc3QoZnVuYyk7IH0KLSAgICBzdGF0
aWMgZm9yRWFjaChhcmcsIHJvbGUsIHR5cGUsIHdpZHRoLCBmdW5jKSB7IHJldHVybiBhcmcuZm9y
RWFjaFRtcChyb2xlLCB0eXBlLCB3aWR0aCwgZnVuYyk7IH0KLX0KSW5kZXg6IFBlcmZvcm1hbmNl
VGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3RtcF9iYXNlLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZv
cm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3RtcF9iYXNlLmpzCShyZXZpc2lvbiAyMTE2
ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci90bXBfYmFzZS5qcwko
bm9uZXhpc3RlbnQpCkBAIC0xLDU1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgVG1wQmFzZSB7Ci0gICAg
Z2V0IGlzR1AoKSB7IHJldHVybiB0aGlzLnR5cGUgPT0gR1A7IH0KLSAgICBnZXQgaXNGUCgpIHsg
cmV0dXJuIHRoaXMudHlwZSA9PSBGUDsgfQotICAgIAotICAgIGdldCBpc0dQUigpIHsgcmV0dXJu
IHRoaXMuaXNSZWcgJiYgdGhpcy5pc0dQOyB9Ci0gICAgZ2V0IGlzRlBSKCkgeyByZXR1cm4gdGhp
cy5pc1JlZyAmJiB0aGlzLmlzRlA7IH0KLSAgICAKLSAgICBnZXQgcmVnKCkKLSAgICB7Ci0gICAg
ICAgIGlmICghdGhpcy5pc1JlZykKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2FsbGVk
IC5yZWcgb24gbm9uLVJlZyIpOwotICAgICAgICByZXR1cm4gdGhpczsKLSAgICB9Ci0KLSAgICBn
ZXQgZ3ByKCkKLSAgICB7Ci0gICAgICAgIGlmICghdGhpcy5pc0dQUikKLSAgICAgICAgICAgIHRo
cm93IG5ldyBFcnJvcigiQ2FsbGVkIC5ncHIgb24gbm9uLUdQUiIpOwotICAgICAgICByZXR1cm4g
dGhpczsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGZwcigpCi0gICAgewotICAgICAgICBpZiAoIXRo
aXMuaXNGUFIpCi0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbGxlZCAuZnByIG9uIG5v
bi1GUFIiKTsKLSAgICAgICAgcmV0dXJuIHRoaXM7Ci0gICAgfQotfQotCkluZGV4OiBQZXJmb3Jt
YW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci91dGlsLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZv
cm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3V0aWwuanMJKHJldmlzaW9uIDIxMTY4OCkK
KysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3V0aWwuanMJKG5vbmV4aXN0
ZW50KQpAQCAtMSwxNzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1mdW5jdGlvbiBpc1JlcHJlc2VudGFibGVBc0lu
dDMyKHZhbHVlKQotewotICAgIHJldHVybiAodmFsdWUgfCAwKSA9PT0gdmFsdWU7Ci19Ci0KLWZ1
bmN0aW9uIGFkZEluZGV4ZWQobGlzdCwgY29ucywgLi4uYXJncykKLXsKLSAgICBsZXQgcmVzdWx0
ID0gbmV3IGNvbnMobGlzdC5sZW5ndGgsIC4uLmFyZ3MpOwotICAgIGxpc3QucHVzaChyZXN1bHQp
OwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLWNvbnN0IHN0YWNrQWxpZ25tZW50Qnl0ZXMgPSAx
NjsKLQotZnVuY3Rpb24gcm91bmRVcFRvTXVsdGlwbGVPZihhbW91bnQsIHZhbHVlKQotewotICAg
IHJldHVybiBNYXRoLmNlaWwodmFsdWUgLyBhbW91bnQpICogYW1vdW50OwotfQotCi1mdW5jdGlv
biBzeW1ib2xOYW1lKHN5bWJvbCkKLXsKLSAgICBsZXQgZnVsbFN0cmluZyA9IHN5bWJvbC50b1N0
cmluZygpOwotICAgIHJldHVybiBmdWxsU3RyaW5nLnN1YnN0cmluZygiU3ltYm9sKCIubGVuZ3Ro
LCBmdWxsU3RyaW5nLmxlbmd0aCAtICIpIi5sZW5ndGgpOwotfQotCi1mdW5jdGlvbiBsb3dlclN5
bWJvbE5hbWUoc3ltYm9sKQotewotICAgIHJldHVybiBzeW1ib2xOYW1lKHN5bWJvbCkudG9Mb3dl
ckNhc2UoKTsKLX0KLQotZnVuY3Rpb24gc2V0VG9TdHJpbmcoc2V0KQotewotICAgIGxldCByZXN1
bHQgPSAiIjsKLSAgICBmb3IgKGxldCB2YWx1ZSBvZiBzZXQpIHsKLSAgICAgICAgaWYgKHJlc3Vs
dCkKLSAgICAgICAgICAgIHJlc3VsdCArPSAiLCAiOwotICAgICAgICByZXN1bHQgKz0gdmFsdWU7
Ci0gICAgfQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLWZ1bmN0aW9uIG1lcmdlSW50b1NldCh0
YXJnZXQsIHNvdXJjZSkKLXsKLSAgICBsZXQgZGlkQWRkID0gZmFsc2U7Ci0gICAgZm9yIChsZXQg
dmFsdWUgb2Ygc291cmNlKSB7Ci0gICAgICAgIGlmICh0YXJnZXQuaGFzKHZhbHVlKSkKLSAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICB0YXJnZXQuYWRkKHZhbHVlKTsKLSAgICAgICAgZGlk
QWRkID0gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGRpZEFkZDsKLX0KLQotZnVuY3Rpb24gbm9u
RW1wdHlSYW5nZXNPdmVybGFwKGxlZnRNaW4sIGxlZnRNYXgsIHJpZ2h0TWluLCByaWdodE1heCkK
LXsKLSAgICBpZiAobGVmdE1pbiA+PSBsZWZ0TWF4KQotICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCBsZWZ0IHJhbmdlIik7Ci0gICAgaWYgKHJpZ2h0TWluID49IHJpZ2h0TWF4KQotICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkJhZCByaWdodCByYW5nZSIpOwotICAgIAotICAgIGlmIChsZWZ0
TWluIDw9IHJpZ2h0TWluICYmIGxlZnRNYXggPiByaWdodE1pbikKLSAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgaWYgKHJpZ2h0TWluIDw9IGxlZnRNaW4gJiYgcmlnaHRNYXggPiBsZWZ0TWluKQot
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWZ1bmN0aW9uIHJh
bmdlc092ZXJsYXAobGVmdE1pbiwgbGVmdE1heCwgcmlnaHRNaW4sIHJpZ2h0TWF4KQotewotICAg
IGlmIChsZWZ0TWluID4gbGVmdE1heCkKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgbGVm
dCByYW5nZSIpOwotICAgIGlmIChyaWdodE1pbiA+IHJpZ2h0TWF4KQotICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZCByaWdodCByYW5nZSIpOwotICAgIAotICAgIGlmIChsZWZ0TWluID09IGxl
ZnRNYXgpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAocmlnaHRNaW4gPT0gcmlnaHRN
YXgpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAgICByZXR1cm4gbm9uRW1wdHlSYW5n
ZXNPdmVybGFwKGxlZnRNaW4sIGxlZnRNYXgsIHJpZ2h0TWluLCByaWdodE1heCk7Ci19Ci0KLWZ1
bmN0aW9uIHJlbW92ZUFsbE1hdGNoaW5nKGFycmF5LCBmdW5jKQotewotICAgIGxldCBzcmNJbmRl
eCA9IDA7Ci0gICAgbGV0IGRzdEluZGV4ID0gMDsKLSAgICB3aGlsZSAoc3JjSW5kZXggPCBhcnJh
eS5sZW5ndGgpIHsKLSAgICAgICAgbGV0IHZhbHVlID0gYXJyYXlbc3JjSW5kZXgrK107Ci0gICAg
ICAgIGlmICghZnVuYyh2YWx1ZSkpCi0gICAgICAgICAgICBhcnJheVtkc3RJbmRleCsrXSA9IHZh
bHVlOwotICAgIH0KLSAgICBhcnJheS5sZW5ndGggPSBkc3RJbmRleDsKLX0KLQotZnVuY3Rpb24g
YnViYmxlU29ydChhcnJheSwgbGVzc1RoYW4pCi17Ci0gICAgZnVuY3Rpb24gc3dhcChpLCBqKQot
ICAgIHsKLSAgICAgICAgdmFyIHRtcCA9IGFycmF5W2ldOwotICAgICAgICBhcnJheVtpXSA9IGFy
cmF5W2pdOwotICAgICAgICBhcnJheVtqXSA9IHRtcDsKLSAgICB9Ci0gICAgCi0gICAgbGV0IGJl
Z2luID0gMDsKLSAgICBsZXQgZW5kID0gYXJyYXkubGVuZ3RoOwotICAgIGZvciAoOzspIHsKLSAg
ICAgICAgbGV0IGNoYW5nZWQgPSBmYWxzZTsKLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIGJ1
YmJsZShpLCBqKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAobGVzc1RoYW4oYXJyYXlbaV0s
IGFycmF5W2pdKSkgewotICAgICAgICAgICAgICAgIHN3YXAoaSwgaik7Ci0gICAgICAgICAgICAg
ICAgY2hhbmdlZCA9IHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAKLSAgICAg
ICAgaWYgKGVuZCA8IGJlZ2luKQotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCZWdpbiBh
bmQgZW5kIGFyZSBtZXNzZWQgdXAiKTsKLSAgICAgICAgCi0gICAgICAgIGxldCBsaW1pdCA9IGVu
ZCAtIGJlZ2luOwotICAgICAgICBmb3IgKGxldCBpID0gbGltaXQ7IGktLSA+IDE7KQotICAgICAg
ICAgICAgYnViYmxlKGJlZ2luICsgaSwgYmVnaW4gKyBpIC0gMSk7Ci0gICAgICAgIGlmICghY2hh
bmdlZCkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgICAgIC8vIEFmdGVyIG9u
ZSBydW4sIHRoZSBmaXJzdCBlbGVtZW50IGluIHRoZSBsaXN0IGlzIGd1YXJhbnRlZWQgdG8gYmUg
dGhlIHNtYWxsZXN0LgotICAgICAgICBiZWdpbisrOwotICAgICAgICAKLSAgICAgICAgLy8gTm93
IGdvIGluIHRoZSBvdGhlciBkaXJlY3Rpb24uIFRoaXMgZWxpbWluYXRlcyBtb3N0IHNvcnRpbmcg
cGF0aG9sb2dpZXMuCi0gICAgICAgIGNoYW5nZWQgPSBmYWxzZTsKLSAgICAgICAgCi0gICAgICAg
IGlmIChlbmQgPCBiZWdpbikKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmVnaW4gYW5k
IGVuZCBhcmUgbWVzc2VkIHVwIik7Ci0gICAgICAgIAotICAgICAgICBsaW1pdCA9IGVuZCAtIGJl
Z2luOwotICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IGxpbWl0OyArK2kpCi0gICAgICAgICAg
ICBidWJibGUoYmVnaW4gKyBpLCBiZWdpbiArIGkgLSAxKTsKLSAgICAgICAgaWYgKCFjaGFuZ2Vk
KQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICAgICAgLy8gTm93IHRoZSBsYXN0
IGVsZW1lbnQgaXMgZ3VhcmFudGVlZCB0byBiZSB0aGUgbGFyZ2VzdC4KLSAgICAgICAgZW5kLS07
Ci0gICAgfQotfQotCi1sZXQgY3VycmVudFRpbWU7Ci1pZiAodGhpcy5wZXJmb3JtYW5jZSAmJiBw
ZXJmb3JtYW5jZS5ub3cpCi0gICAgY3VycmVudFRpbWUgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHBl
cmZvcm1hbmNlLm5vdygpIH07Ci1lbHNlIGlmICh0aGlzLnByZWNpc2VUaW1lKQotICAgIGN1cnJl
bnRUaW1lID0gZnVuY3Rpb24oKSB7IHJldHVybiBwcmVjaXNlVGltZSgpICogMTAwMDsgfTsKLWVs
c2UKLSAgICBjdXJyZW50VGltZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gK25ldyBEYXRlKCk7IH07
Ci0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvYXN0LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvYXN0Lmpz
CShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jh
c2ljL2FzdC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDI3MyArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWNvbnN0IEJh
c2ljID0ge307Ci0KLUJhc2ljLk51bWJlckFwcGx5ID0gZnVuY3Rpb24oc3RhdGUpCi17Ci0gICAg
Ly8gSSdkIGNhbGwgdGhpcyBhcmd1bWVudHMgYnV0IHdlJ3JlIGluIHN0cmljdCBtb2RlLgotICAg
IGxldCBwYXJhbWV0ZXJzID0gdGhpcy5wYXJhbWV0ZXJzLm1hcCh2YWx1ZSA9PiB2YWx1ZS5ldmFs
dWF0ZShzdGF0ZSkpOwotICAgIAotICAgIHJldHVybiBzdGF0ZS5nZXRWYWx1ZSh0aGlzLm5hbWUs
IHBhcmFtZXRlcnMubGVuZ3RoKS5hcHBseShzdGF0ZSwgcGFyYW1ldGVycyk7Ci19OwotCi1CYXNp
Yy5WYXJpYWJsZSA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIGxldCBwYXJhbWV0ZXJzID0gdGhp
cy5wYXJhbWV0ZXJzLm1hcCh2YWx1ZSA9PiB2YWx1ZS5ldmFsdWF0ZShzdGF0ZSkpOwotICAgIAot
ICAgIHJldHVybiBzdGF0ZS5nZXRWYWx1ZSh0aGlzLm5hbWUsIHBhcmFtZXRlcnMubGVuZ3RoKS5s
ZWZ0QXBwbHkoc3RhdGUsIHBhcmFtZXRlcnMpOwotfQotCi1CYXNpYy5Db25zdCA9IGZ1bmN0aW9u
KHN0YXRlKQotewotICAgIHJldHVybiB0aGlzLnZhbHVlOwotfQotCi1CYXNpYy5OdW1iZXJQb3cg
PSBmdW5jdGlvbihzdGF0ZSkKLXsKLSAgICByZXR1cm4gTWF0aC5wb3codGhpcy5sZWZ0LmV2YWx1
YXRlKHN0YXRlKSwgdGhpcy5yaWdodC5ldmFsdWF0ZShzdGF0ZSkpOwotfQotCi1CYXNpYy5OdW1i
ZXJNdWwgPSBmdW5jdGlvbihzdGF0ZSkKLXsKLSAgICByZXR1cm4gdGhpcy5sZWZ0LmV2YWx1YXRl
KHN0YXRlKSAqIHRoaXMucmlnaHQuZXZhbHVhdGUoc3RhdGUpOwotfQotCi1CYXNpYy5OdW1iZXJE
aXYgPSBmdW5jdGlvbihzdGF0ZSkKLXsKLSAgICByZXR1cm4gdGhpcy5sZWZ0LmV2YWx1YXRlKHN0
YXRlKSAvIHRoaXMucmlnaHQuZXZhbHVhdGUoc3RhdGUpOwotfQotCi1CYXNpYy5OdW1iZXJOZWcg
PSBmdW5jdGlvbihzdGF0ZSkKLXsKLSAgICByZXR1cm4gLXRoaXMudGVybS5ldmFsdWF0ZShzdGF0
ZSk7Ci19Ci0KLUJhc2ljLk51bWJlckFkZCA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIHJldHVy
biB0aGlzLmxlZnQuZXZhbHVhdGUoc3RhdGUpICsgdGhpcy5yaWdodC5ldmFsdWF0ZShzdGF0ZSk7
Ci19Ci0KLUJhc2ljLk51bWJlclN1YiA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIHJldHVybiB0
aGlzLmxlZnQuZXZhbHVhdGUoc3RhdGUpIC0gdGhpcy5yaWdodC5ldmFsdWF0ZShzdGF0ZSk7Ci19
Ci0KLUJhc2ljLlN0cmluZ1ZhciA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIGxldCB2YWx1ZSA9
IHN0YXRlLnN0cmluZ1ZhbHVlcy5nZXQodGhpcy5uYW1lKTsKLSAgICBpZiAodmFsdWUgPT0gbnVs
bCkKLSAgICAgICAgc3RhdGUuYWJvcnQoIkNvdWxkIG5vdCBmaW5kIHN0cmluZyB2YXJpYWJsZSAi
ICsgdGhpcy5uYW1lKTsKLSAgICByZXR1cm4gdmFsdWU7Ci19Ci0KLUJhc2ljLkVxdWFscyA9IGZ1
bmN0aW9uKHN0YXRlKQotewotICAgIHJldHVybiB0aGlzLmxlZnQuZXZhbHVhdGUoc3RhdGUpID09
IHRoaXMucmlnaHQuZXZhbHVhdGUoc3RhdGUpOwotfQotCi1CYXNpYy5Ob3RFcXVhbHMgPSBmdW5j
dGlvbihzdGF0ZSkKLXsKLSAgICByZXR1cm4gdGhpcy5sZWZ0LmV2YWx1YXRlKHN0YXRlKSAhPSB0
aGlzLnJpZ2h0LmV2YWx1YXRlKHN0YXRlKTsKLX0KLQotQmFzaWMuTGVzc1RoYW4gPSBmdW5jdGlv
bihzdGF0ZSkKLXsKLSAgICByZXR1cm4gdGhpcy5sZWZ0LmV2YWx1YXRlKHN0YXRlKSA8IHRoaXMu
cmlnaHQuZXZhbHVhdGUoc3RhdGUpOwotfQotCi1CYXNpYy5HcmVhdGVyVGhhbiA9IGZ1bmN0aW9u
KHN0YXRlKQotewotICAgIHJldHVybiB0aGlzLmxlZnQuZXZhbHVhdGUoc3RhdGUpID4gdGhpcy5y
aWdodC5ldmFsdWF0ZShzdGF0ZSk7Ci19Ci0KLUJhc2ljLkxlc3NFcXVhbCA9IGZ1bmN0aW9uKHN0
YXRlKQotewotICAgIHJldHVybiB0aGlzLmxlZnQuZXZhbHVhdGUoc3RhdGUpIDw9IHRoaXMucmln
aHQuZXZhbHVhdGUoc3RhdGUpOwotfQotCi1CYXNpYy5HcmVhdGVyRXF1YWwgPSBmdW5jdGlvbihz
dGF0ZSkKLXsKLSAgICByZXR1cm4gdGhpcy5sZWZ0LmV2YWx1YXRlKHN0YXRlKSA+PSB0aGlzLnJp
Z2h0LmV2YWx1YXRlKHN0YXRlKTsKLX0KLQotQmFzaWMuR29UbyA9IGZ1bmN0aW9uKihzdGF0ZSkK
LXsKLSAgICBzdGF0ZS5uZXh0TGluZU51bWJlciA9IHRoaXMudGFyZ2V0OwotfQotCi1CYXNpYy5H
b1N1YiA9IGZ1bmN0aW9uKihzdGF0ZSkKLXsKLSAgICBzdGF0ZS5zdWJTdGFjay5wdXNoKHN0YXRl
Lm5leHRMaW5lTnVtYmVyKTsKLSAgICBzdGF0ZS5uZXh0TGluZU51bWJlciA9IHRoaXMudGFyZ2V0
OwotfQotCi1CYXNpYy5EZWYgPSBmdW5jdGlvbiooc3RhdGUpCi17Ci0gICAgc3RhdGUudmFsaWRh
dGUoIXN0YXRlLnZhbHVlcy5oYXModGhpcy5uYW1lKSwgIkNhbm5vdCByZWRlZmluZSBmdW5jdGlv
biIpOwotICAgIHN0YXRlLnZhbHVlcy5zZXQodGhpcy5uYW1lLCBuZXcgTnVtYmVyRnVuY3Rpb24o
dGhpcy5wYXJhbWV0ZXJzLCB0aGlzLmV4cHJlc3Npb24pKTsKLX0KLQotQmFzaWMuTGV0ID0gZnVu
Y3Rpb24qKHN0YXRlKQotewotICAgIHRoaXMudmFyaWFibGUuZXZhbHVhdGUoc3RhdGUpLmFzc2ln
bih0aGlzLmV4cHJlc3Npb24uZXZhbHVhdGUoc3RhdGUpKTsKLX0KLQotQmFzaWMuSWYgPSBmdW5j
dGlvbiooc3RhdGUpCi17Ci0gICAgaWYgKHRoaXMuY29uZGl0aW9uLmV2YWx1YXRlKHN0YXRlKSkK
LSAgICAgICAgc3RhdGUubmV4dExpbmVOdW1iZXIgPSB0aGlzLnRhcmdldDsKLX0KLQotQmFzaWMu
UmV0dXJuID0gZnVuY3Rpb24qKHN0YXRlKQotewotICAgIHRoaXMudmFsaWRhdGUoc3RhdGUuc3Vi
U3RhY2subGVuZ3RoLCAiTm90IGluIGEgc3Vicm91dGluZSIpOwotICAgIHRoaXMubmV4dExpbmVO
dW1iZXIgPSBzdGF0ZS5zdWJTdGFjay5wb3AoKTsKLX0KLQotQmFzaWMuU3RvcCA9IGZ1bmN0aW9u
KihzdGF0ZSkKLXsKLSAgICBzdGF0ZS5uZXh0TGluZU51bWJlciA9IG51bGw7Ci19Ci0KLUJhc2lj
Lk9uID0gZnVuY3Rpb24qKHN0YXRlKQotewotICAgIGxldCBpbmRleCA9IHRoaXMuZXhwcmVzc2lv
bi5ldmFsdWF0ZShzdGF0ZSk7Ci0gICAgaWYgKCEoaW5kZXggPj0gMSkgfHwgIShpbmRleCA8PSB0
aGlzLnRhcmdldHMubGVuZ3RoKSkKLSAgICAgICAgc3RhdGUuYWJvcnQoIkluZGV4IG91dCBvZiBi
b3VuZHM6ICIgKyBpbmRleCk7Ci0gICAgdGhpcy5uZXh0TGluZU51bWJlciA9IHRoaXMudGFyZ2V0
c1tNYXRoLmZsb29yKGluZGV4KV07Ci19Ci0KLUJhc2ljLkZvciA9IGZ1bmN0aW9uKihzdGF0ZSkK
LXsKLSAgICBsZXQgc2lkZVN0YXRlID0gc3RhdGUuZ2V0U2lkZVN0YXRlKHRoaXMpOwotICAgIHNp
ZGVTdGF0ZS52YXJpYWJsZSA9IHN0YXRlLmdldFZhbHVlKHRoaXMudmFyaWFibGUsIDApLmxlZnRB
cHBseShzdGF0ZSwgW10pOwotICAgIHNpZGVTdGF0ZS5pbml0aWFsVmFsdWUgPSB0aGlzLmluaXRp
YWwuZXZhbHVhdGUoc3RhdGUpOwotICAgIHNpZGVTdGF0ZS5saW1pdFZhbHVlID0gdGhpcy5saW1p
dC5ldmFsdWF0ZShzdGF0ZSk7Ci0gICAgc2lkZVN0YXRlLnN0ZXBWYWx1ZSA9IHRoaXMuc3RlcC5l
dmFsdWF0ZShzdGF0ZSk7Ci0gICAgc2lkZVN0YXRlLnZhcmlhYmxlLmFzc2lnbihzaWRlU3RhdGUu
aW5pdGlhbFZhbHVlKTsKLSAgICBzaWRlU3RhdGUuc2hvdWxkU3RvcCA9IGZ1bmN0aW9uKCkgewot
ICAgICAgICByZXR1cm4gKHNpZGVTdGF0ZS52YXJpYWJsZS52YWx1ZSAtIHNpZGVTdGF0ZS5saW1p
dFZhbHVlKSAqIE1hdGguc2lnbihzaWRlU3RhdGUuc3RlcFZhbHVlKSA+IDA7Ci0gICAgfTsKLSAg
ICBpZiAoc2lkZVN0YXRlLnNob3VsZFN0b3AoKSkKLSAgICAgICAgdGhpcy5uZXh0TGluZU51bWJl
ciA9IHRoaXMudGFyZ2V0LmxpbmVOdW1iZXIgKyAxOwotfQotCi1CYXNpYy5OZXh0ID0gZnVuY3Rp
b24qKHN0YXRlKQotewotICAgIGxldCBzaWRlU3RhdGUgPSBzdGF0ZS5nZXRTaWRlU3RhdGUodGhp
cy50YXJnZXQpOwotICAgIHNpZGVTdGF0ZS52YXJpYWJsZS5hc3NpZ24oc2lkZVN0YXRlLnZhcmlh
YmxlLnZhbHVlICsgc2lkZVN0YXRlLnN0ZXBWYWx1ZSk7Ci0gICAgaWYgKHNpZGVTdGF0ZS5zaG91
bGRTdG9wKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBzdGF0ZS5uZXh0TGluZU51bWJlciA9IHRo
aXMudGFyZ2V0LmxpbmVOdW1iZXIgKyAxOwotfQotCi1CYXNpYy5OZXh0LmlzQmxvY2tFbmQgPSB0
cnVlOwotCi1CYXNpYy5QcmludCA9IGZ1bmN0aW9uKihzdGF0ZSkKLXsKLSAgICBsZXQgc3RyaW5n
ID0gIiI7Ci0gICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLml0ZW1zKSB7Ci0gICAgICAgIHN3aXRj
aCAoaXRlbS5raW5kKSB7Ci0gICAgICAgIGNhc2UgImNvbW1hIjoKLSAgICAgICAgICAgIHdoaWxl
IChzdHJpbmcubGVuZ3RoICUgMTQpCi0gICAgICAgICAgICAgICAgc3RyaW5nICs9ICIgIjsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICJ0YWIiOiB7Ci0gICAgICAgICAgICBsZXQg
dmFsdWUgPSBpdGVtLnZhbHVlLmV2YWx1YXRlKHN0YXRlKTsKLSAgICAgICAgICAgIHZhbHVlID0g
TWF0aC5tYXgoTWF0aC5yb3VuZCh2YWx1ZSksIDEpOwotICAgICAgICAgICAgd2hpbGUgKHN0cmlu
Zy5sZW5ndGggJSB2YWx1ZSkKLSAgICAgICAgICAgICAgICBzdHJpbmcgKz0gIiAiOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSAic3RyaW5nIjoKLSAgICAgICAg
Y2FzZSAibnVtYmVyIjoKLSAgICAgICAgICAgIHN0cmluZyArPSBpdGVtLnZhbHVlLmV2YWx1YXRl
KHN0YXRlKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgaXRlbSBraW5kOiAiICsgaXRlbS5raW5kKTsKLSAgICAg
ICAgfQotICAgIH0KLSAgICAKLSAgICB5aWVsZCB7a2luZDogIm91dHB1dCIsIHN0cmluZ307Ci19
Ci0KLUJhc2ljLklucHV0ID0gZnVuY3Rpb24qKHN0YXRlKQotewotICAgIGxldCByZXN1bHRzID0g
eWllbGQge2tpbmQ6ICJpbnB1dCIsIG51bUl0ZW1zOiB0aGlzLml0ZW1zLmxlbmd0aH07Ci0gICAg
c3RhdGUudmFsaWRhdGUocmVzdWx0cyAhPSBudWxsICYmIHJlc3VsdHMubGVuZ3RoID09IHRoaXMu
aXRlbXMubGVuZ3RoLCAiSW5wdXQgZGlkIG5vdCBnZXQgdGhlIHJpZ2h0IG51bWJlciBvZiBpdGVt
cyIpOwotICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzdWx0cy5sZW5ndGg7ICsraSkKLSAgICAg
ICAgdGhpcy5pdGVtc1tpXS5ldmFsdWF0ZShzdGF0ZSkuYXNzaWduKHJlc3VsdHNbaV0pOwotfQot
Ci1CYXNpYy5SZWFkID0gZnVuY3Rpb24qKHN0YXRlKQotewotICAgIGZvciAobGV0IGl0ZW0gb2Yg
dGhpcy5pdGVtcykgewotICAgICAgICBzdGF0ZS52YWxpZGF0ZShzdGF0ZS5kYXRhSW5kZXggPCBz
dGF0ZS5wcm9ncmFtLmRhdGEubGVuZ3RoLCAiQXR0ZW1wdGluZyB0byByZWFkIHBhc3QgdGhlIGVu
ZCBvZiBkYXRhIik7Ci0gICAgICAgIGl0ZW0uYXNzaWduKHN0YXRlLnByb2dyYW0uZGF0YVtzdGF0
ZS5kYXRhSW5kZXgrK10pOwotICAgIH0KLX0KLQotQmFzaWMuUmVzdG9yZSA9IGZ1bmN0aW9uKihz
dGF0ZSkKLXsKLSAgICBzdGF0ZS5kYXRhSW5kZXggPSAwOwotfQotCi1CYXNpYy5EaW0gPSBmdW5j
dGlvbiooc3RhdGUpCi17Ci0gICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLml0ZW1zKSB7Ci0gICAg
ICAgIHN0YXRlLnZhbGlkYXRlKCFzdGF0ZS52YWx1ZXMuaGFzKGl0ZW0ubmFtZSksICJWYXJpYWJs
ZSAiICsgaXRlbS5uYW1lICsgIiBhbHJlYWR5IGV4aXN0cyIpOwotICAgICAgICBzdGF0ZS52YWxp
ZGF0ZShpdGVtLmJvdW5kcy5sZW5ndGgsICJEaW0gc3RhdGVtZW50IGlzIGZvciBhcnJheXMiKTsK
LSAgICAgICAgc3RhdGUudmFsdWVzLnNldChpdGVtLm5hbWUsIG5ldyBOdW1iZXJBcnJheShpdGVt
LmJvdW5kcy5tYXAoYm91bmQgPT4gYm91bmQgKyAxKSkpOwotICAgIH0KLX0KLQotQmFzaWMuUmFu
ZG9taXplID0gZnVuY3Rpb24qKHN0YXRlKQotewotICAgIHN0YXRlLnJuZyA9IGNyZWF0ZVJOR1dp
dGhSYW5kb21TZWVkKCk7Ci19Ci0KLUJhc2ljLkVuZCA9IGZ1bmN0aW9uKihzdGF0ZSkKLXsKLSAg
ICBzdGF0ZS5uZXh0TGluZU51bWJlciA9IG51bGw7Ci19Ci0KLUJhc2ljLkVuZC5pc0Jsb2NrRW5k
ID0gdHJ1ZTsKLQotQmFzaWMuUHJvZ3JhbSA9IGZ1bmN0aW9uKiBwcm9ncmFtR2VuZXJhdG9yKHN0
YXRlKQotewotICAgIHN0YXRlLnZhbGlkYXRlKHN0YXRlLnByb2dyYW0gPT0gdGhpcywgIlN0YXRl
IG11c3QgbWF0Y2ggcHJvZ3JhbSIpOwotICAgIGxldCBtYXhMaW5lTnVtYmVyID0gTWF0aC5tYXgo
Li4udGhpcy5zdGF0ZW1lbnRzLmtleXMoKSk7Ci0gICAgd2hpbGUgKHN0YXRlLm5leHRMaW5lTnVt
YmVyICE9IG51bGwpIHsKLSAgICAgICAgc3RhdGUudmFsaWRhdGUoc3RhdGUubmV4dExpbmVOdW1i
ZXIgPD0gbWF4TGluZU51bWJlciwgIldlbnQgb3V0IG9mIGJvdW5kcyBvZiB0aGUgcHJvZ3JhbSIp
OwotICAgICAgICBsZXQgc3RhdGVtZW50ID0gdGhpcy5zdGF0ZW1lbnRzLmdldChzdGF0ZS5uZXh0
TGluZU51bWJlcisrKTsKLSAgICAgICAgaWYgKHN0YXRlbWVudCA9PSBudWxsIHx8IHN0YXRlbWVu
dC5wcm9jZXNzID09IG51bGwpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgc3RhdGUu
c3RhdGVtZW50ID0gc3RhdGVtZW50OwotICAgICAgICB5aWVsZCogc3RhdGVtZW50LnByb2Nlc3Mo
c3RhdGUpOwotICAgIH0KLX0KLQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5j
aC9CYXNpYy9iYXNpYy10ZXN0cy55YW1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMv
RVM2U2FtcGxlQmVuY2gvQmFzaWMvYmFzaWMtdGVzdHMueWFtbAkocmV2aXNpb24gMjExNjg4KQor
KysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9iYXNpYy10ZXN0cy55YW1s
CShub25leGlzdGVudCkKQEAgLTEsMjggKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0jIGFyZSBtZXQ6Ci0jCi0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKLSMgMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKLSMKLSMgVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkKLSMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKLSMgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotIyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQKLSMgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0jIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0KLS0gcGF0aDogLgotICB0ZXN0czoKLSAgICAtIHN0cmVzcy10ZXN0LmpzCi0gIGNt
ZDogZGVmYXVsdFJ1bk5vaXN5VGVzdCB1bmxlc3MgcGFyc2VSdW5Db21tYW5kcwotCkluZGV4OiBQ
ZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL2Jhc2ljLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvYmFzaWMuanMJKHJldmlz
aW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvYmFz
aWMuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSw1MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWZ1bmN0aW9uIHByZXBh
cmUoc3RyaW5nKQotewotICAgIGxldCBwcm9ncmFtID0gcGFyc2UobGV4KHN0cmluZykpLnByb2dy
YW0oKTsKLSAgICByZXR1cm4gcHJvZ3JhbS5wcm9jZXNzKG5ldyBTdGF0ZShwcm9ncmFtKSk7Ci19
Ci0KLWZ1bmN0aW9uIHNpbXVsYXRlKHByb2dyYW0sIGlucHV0cyA9IFtdKQotewotICAgIGxldCBy
ZXN1bHQgPSAiIjsKLSAgICBsZXQgYXJncyA9IFtdOwotICAgIGZvciAoOzspIHsKLSAgICAgICAg
bGV0IG5leHQgPSBwcm9ncmFtLm5leHQoLi4uYXJncyk7Ci0gICAgICAgIGFyZ3MgPSBbXTsKLSAg
ICAgICAgaWYgKG5leHQuZG9uZSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAobmV4
dC52YWx1ZS5raW5kID09ICJvdXRwdXQiKSB7Ci0gICAgICAgICAgICByZXN1bHQgKz0gbmV4dC52
YWx1ZS5zdHJpbmcgKyAiXG4iOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLSAg
ICAgICAgaWYgKG5leHQudmFsdWUua2luZCA9PSAiaW5wdXQiKSB7Ci0gICAgICAgICAgICBhcmdz
ID0gaW5wdXRzLnNwbGljZSgwLCBuZXh0LnZhbHVlLm51bUl0ZW1zKTsKLSAgICAgICAgICAgIGNv
bnRpbnVlOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KSW5kZXg6
IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvYmVuY2htYXJrLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvYmVuY2htYXJr
LmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNo
L0Jhc2ljL2JlbmNobWFyay5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDY1ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQot
Y2xhc3MgQmFzaWNCZW5jaG1hcmsgewotICAgIGNvbnN0cnVjdG9yKHZlcmJvc2UgPSAwKQotICAg
IHsKLSAgICAgICAgdGhpcy5fdmVyYm9zZSA9IHZlcmJvc2U7Ci0gICAgfQotICAgIAotICAgIHJ1
bkl0ZXJhdGlvbigpCi0gICAgewotICAgICAgICBmdW5jdGlvbiBleHBlY3QocHJvZ3JhbSwgZXhw
ZWN0ZWQsIC4uLmlucHV0cykKLSAgICAgICAgewotICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHNp
bXVsYXRlKHByZXBhcmUocHJvZ3JhbSwgaW5wdXRzKSk7Ci0gICAgICAgICAgICBpZiAocmVzdWx0
ICE9IGV4cGVjdGVkKQotICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiUHJvZ3JhbSAi
ICsgSlNPTi5zdHJpbmdpZnkocHJvZ3JhbSkgKyAiIHdpdGggaW5wdXRzICIgKyBKU09OLnN0cmlu
Z2lmeShpbnB1dHMpICsgIiBwcm9kdWNlZCAiICsgSlNPTi5zdHJpbmdpZnkocmVzdWx0KSArICIg
YnV0IHdlIGV4cGVjdGVkICIgKyBKU09OLnN0cmluZ2lmeShleHBlY3RlZCkpOwotICAgICAgICB9
Ci0gICAgICAgIAotICAgICAgICBleHBlY3QoIjEwIHByaW50IFwiaGVsbG8sIHdvcmxkIVwiXG4y
MCBlbmQiLCAiaGVsbG8sIHdvcmxkIVxuIik7Ci0gICAgICAgIGV4cGVjdCgiMTAgbGV0IHggPSAw
XG4yMCBsZXQgeCA9IHggKyAxXG4zMCBwcmludCB4XG40MCBpZiB4IDwgMTAgdGhlbiAyMFxuNTAg
ZW5kIiwgIjFcbjJcbjNcbjRcbjVcbjZcbjdcbjhcbjlcbjEwXG4iKTsKLSAgICAgICAgZXhwZWN0
KCIxMCBwcmludCBpbnQocm5kICogMTAwKVxuMjAgZW5kXG4iLCAiOThcbiIpOwotICAgICAgICBl
eHBlY3QoIjEwIGxldCB2YWx1ZSA9IGludChybmQgKiAyMDAwKVxuMjAgcHJpbnQgdmFsdWVcbjMw
IGlmIHZhbHVlIDw+IDEwMCB0aGVuIDEwXG40MCBlbmQiLCAiMTk3NFxuNjk3XG4xMTI2XG4xOTk4
XG4xNjU4XG4yNjRcbjE2NTBcbjE2NzdcbjIyNlxuMTE3XG40OTJcbjg2MVxuODc3XG4xOTY5XG4z
OFxuMTAzOVxuMTk3XG4xMjYxXG4xMTAyXG4xNTIyXG45MTZcbjE2ODNcbjE5NDNcbjE4MzVcbjQ3
NlxuMTg5OFxuOTM5XG4xNzZcbjk2NlxuOTA4XG40NzRcbjYxNFxuMTMyNlxuNTY0XG4xOTE2XG43
MjhcbjUyNFxuMTYyXG4xMzAzXG43NThcbjgzMlxuMTI3OVxuMTg1NlxuMTg3NlxuOTgyXG42XG4x
NjEzXG4xNzgxXG42ODFcbjEyMzhcbjQ5NFxuMTU4M1xuMTk1M1xuNzg4XG4xMDI2XG4zNDdcbjEx
MTZcbjE0NjVcbjUxNFxuNTgzXG40NjNcbjE5NzBcbjE1NzNcbjQxMlxuMTI1NlxuMTQ1M1xuODM4
XG4xNTM4XG4xOTg0XG4xNTk4XG4yMDlcbjQxMVxuMTcwMFxuNTQ2XG44NjFcbjkxXG4xMzJcbjg4
NFxuMzc4XG42OTNcbjExXG40MzNcbjE3MTlcbjg2MFxuMTY0XG40NzJcbjIzMVxuMTc4NlxuODA2
XG44MTFcbjEwNlxuMTY5N1xuMTE4XG45ODBcbjg5MFxuMTE5OVxuMjI3XG4xNjY3XG4xOTMzXG4x
OTAzXG4xMzkwXG4xNTk1XG45MjNcbjE3NDZcbjM5XG4xMzYxXG4xMTdcbjEyOTdcbjkyM1xuOTAx
XG4xMTgwXG44MThcbjE0NDRcbjI2OVxuOTMzXG4zMjdcbjE3NDRcbjEwODJcbjE1MjdcbjEyNjBc
bjYyMlxuNTI4XG4zMThcbjg1NlxuMjk2XG4xNzk2XG4xNTc0XG41ODVcbjE4NzFcbjExMVxuODI3
XG4xNzI1XG4xMzIwXG4xODY4XG4xNjk1XG4xOTE0XG4yMTZcbjYzXG4xODQ3XG4xNTZcbjY3MVxu
ODkzXG4xMjdcbjE4NjdcbjgxMVxuMjc5XG45MTNcbjMxMFxuODE0XG45MDdcbjEzNjNcbjE2MjRc
bjE2NzBcbjQ3OFxuNzE0XG40MzZcbjM1NVxuMTQ4NFxuMTYyOFxuMTIwOFxuODAwXG42MTFcbjkx
N1xuODI5XG44MzBcbjI3M1xuMTc5MVxuMzQwXG4yMTRcbjk5MlxuMTQ0NFxuNDQyXG4xNTU1XG4x
NDRcbjExOTRcbjI4MlxuMTgwXG4xMjI4XG4xMjUxXG4xODgzXG42NzhcbjE1NTVcbjM0N1xuNzJc
bjE2NjFcbjE4MjhcbjEwOTBcbjExODNcbjk1N1xuMTY4NVxuOTMwXG40NzVcbjEwM1xuNzU5XG4x
NzI1XG4xOTAyXG4xNjYyXG4xNTg3XG42MVxuNjE0XG44NjNcbjE0MThcbjMyMVxuMTA1MFxuNTA1
XG4xNjIyXG4xNDI1XG44MDNcbjU4OVxuMTUxMVxuMTA5OFxuMTA1MVxuMTU1NFxuMTg5OFxuMjdc
bjc0N1xuODEzXG4xNTQ0XG4zMzJcbjcyOFxuMTM2M1xuNzcxXG43NTlcbjExNDVcbjEwOThcbjE5
OTFcbjM4NVxuMjMwXG41MjBcbjEzNjlcbjE4NDBcbjEyODVcbjE1NjJcbjE4NDVcbjEwMlxuNzYw
XG4xODc0XG43NDhcbjM2MVxuNTc1XG4yNzdcbjE2NjFcbjE3NjRcbjExMTdcbjMzMlxuNzU3XG4x
NzY2XG4xNzIyXG4xNDNcbjQ3NFxuMTUwN1xuMTI5NFxuMTE4MFxuMTU3OFxuOTA0XG44NDVcbjMy
MVxuNDk2XG4xOTExXG4xNzg0XG4xMTE2XG45MzhcbjE1OTFcbjE0MDNcbjEzNzRcbjUzM1xuMTA4
NVxuNDUyXG43MDhcbjEwOTZcbjE2MzRcbjUyMlxuNTY0XG4xMzk3XG4xMzU3XG45ODBcbjk3OFxu
MTc2MFxuMTA4OFxuMTM2MVxuMTE4NFxuMzE0XG4xMjQyXG4yMTdcbjEzM1xuMTE4N1xuMTcyM1xu
NjQ2XG42MDVcbjU5MVxuNDZcbjEzNVxuMTQyMFxuMTgyMVxuMTE0N1xuMTIxMVxuNjFcbjI0NFxu
MTMwN1xuMTU1MVxuNDQ5XG4xMTIyXG4xMzM2XG4xNDBcbjg4MFxuMjJcbjExNTVcbjEzMjZcbjU5
MFxuMTQ5OVxuMTM3NlxuMTEyXG4xNzcxXG4xODk3XG4xMDcxXG45MzhcbjE2ODVcbjE5NjNcbjEy
MDNcbjEyOTZcbjgwNFxuMTI3NVxuNDUzXG4xMzg3XG40ODJcbjEyNjJcbjE4ODNcbjEzODFcbjQx
OFxuMTQxN1xuMTIyMlxuMTIwOFxuMTI2M1xuNjMyXG40NTBcbjE0MjJcbjEyODVcbjE0MDhcbjY0
NFxuNjY1XG4yNzVcbjM2M1xuMTAxMlxuMTY1XG4zNTRcbjgwXG42MDlcbjI5MVxuMTY2MVxuMTcy
NFxuMTE3XG40MDdcbjU5XG45MDZcbjEyMjRcbjEzNlxuODU1XG4xMjc1XG4xNDY4XG40ODJcbjE1
MzdcbjEyODNcbjE3ODRcbjE1NjhcbjE4MzJcbjQ1MlxuODY3XG4xNTQ2XG4xNDY3XG44MDBcbjQ1
XG4xMjI1XG4xODkwXG40NjVcbjEzNzJcbjQ3XG4xNjA4XG4xOTNcbjEzNDVcbjE4NDdcbjEwNTlc
bjE3ODhcbjUxOFxuNTJcbjEwNTJcbjEwMDNcbjEyMTBcbjExMzVcbjE0MzNcbjUxOVxuMTU1OFxu
MzlcbjEyNDlcbjEwMTdcbjM5XG4xNzEzXG4xNDQ5XG4xMjQ1XG4xMzU0XG44MlxuMTE0MFxuOTE2
XG4xNTk1XG44MzhcbjYwN1xuMzg5XG4xMjcwXG44MjFcbjI0N1xuMTY5MlxuMTMwNVxuMTIxMVxu
MTk2MFxuNDI5XG4xNzAzXG4xNjM1XG41NzVcbjE2MThcbjE0OTBcbjE0OTVcbjY4MlxuMTI1Nlxu
OTY0XG40MjBcbjE1MjBcbjE0MjlcbjE5OTdcbjM5NlxuMzgyXG44NTZcbjExODJcbjI5NlxuMTI5
NVxuMjk4XG4xODkyXG45OTBcbjcxMVxuOTM0XG4xOTM5XG4xMzM5XG42ODJcbjE2MzFcbjE1MzNc
bjc0MlxuMTUyMFxuMTI4MVxuMTMzMlxuMTA0MlxuNjU2XG4xNTc2XG4xMjUzXG4xNjA4XG4zNzVc
bjE2OVxuMTRcbjQxNFxuMTU4NlxuMTU2MlxuMTUwOFxuMTI0NVxuMzAzXG43MTVcbjEwNTNcbjM0
MFxuOTE1XG4xNjBcbjE3OTZcbjExMVxuOTI1XG4xODcyXG43MzVcbjM1MFxuMTA3XG4xOTEzXG4x
NjUzXG45ODdcbjgyNVxuMTg5M1xuMTYwMVxuNDYwXG4xMjI4XG4xNTI2XG4xNjEzXG4xMzU5XG4x
ODU0XG4xMzUyXG41NDJcbjY2NVxuMTA5XG4xODc0XG40NjdcbjUzM1xuMTE4OFxuMTYyOVxuODUx
XG42MzBcbjEwNjBcbjE1MzBcbjE4NTNcbjc0M1xuNzY1XG4xMjZcbjE1NDBcbjE0MTFcbjg1OFxu
MTc0MVxuMjg0XG4yOTlcbjU3N1xuMTg0OFxuMTQ5NVxuMjgzXG4xODg2XG4yODRcbjEyOVxuMTA3
N1xuMTI0NVxuMTM2NFxuMTUwNVxuMTc2XG4xMDEyXG4xNjYzXG4xMzA2XG4xNTg2XG40MTBcbjMx
NVxuNjYwXG4yNTZcbjExMDJcbjEyODlcbjEyOTJcbjkzOVxuNzYyXG42MDFcbjExNDBcbjU3NFxu
MTg1MVxuNDRcbjU2MFxuMTk0OFxuMTE0MlxuMTc4N1xuOTQ3XG45NDhcbjI4MFxuMTIxMFxuMTEz
OVxuMTA3MlxuMTAzM1xuOTJcbjEyNDRcbjE1ODlcbjEwNzlcbjIyXG4xNTE0XG4xNjNcbjE1N1xu
MTc0MlxuMTA1OFxuNTE0XG4xOTZcbjE4NThcbjU2NVxuMzU0XG4xNDEzXG43OTJcbjE4M1xuNTI2
XG4xNzI0XG4xMDA3XG4xNThcbjEyMjlcbjE4MDJcbjk5XG4xNTE0XG43MDhcbjEyNzZcbjE4MDJc
bjE1NjRcbjEzODdcbjEyMzVcbjExMzJcbjcxNVxuMTU4NFxuNjE3XG4xNjY0XG4xNTU5XG4xNjI1
XG4xMDM3XG42MDFcbjExNzVcbjE3MTNcbjEwN1xuODhcbjM4NFxuMTYzNFxuOTA0XG4xODM1XG4x
NDcyXG4yMTJcbjExNDVcbjQ0M1xuMTYxN1xuODY2XG4xOTYzXG45MzdcbjE5MTdcbjg1NVxuMTIx
NVxuMTg2N1xuNTIwXG44OTJcbjE0ODNcbjE4OThcbjE3NDdcbjE0NDFcbjI4OVxuMTYwOVxuMzI4
XG41NjZcbjI3MVxuNDU4XG4xNjE2XG44NDNcbjExMDdcbjUwN1xuMTA5MFxuODU0XG4xMDk0XG44
MDZcbjE2NlxuNDA4XG42NjFcbjMzNFxuMjMwXG4xOTE3XG4xMzIzXG45MjdcbjE5MTJcbjY3M1xu
MzExXG45NTJcbjE3ODNcbjE1NDlcbjE3MTRcbjE1MDBcbjQ1MFxuMTQ5OFxuNTMwXG40NDJcbjYw
N1xuNjA5XG4xMjI2XG4zNzBcbjE3NjlcbjE4MTVcbjc4OFxuNTM2XG4yOTNcbjExNVxuOTQ3XG4y
OTBcbjE3NjRcbjI0M1xuMTIxOVxuMTg1MVxuMjg5XG41OTlcbjE1MjhcbjE1MFxuMTg1OVxuMjk3
XG4yNzlcbjE1NDJcbjE3MTlcbjE5MTBcbjU1MVxuNDAxXG45NTJcbjE3NjRcbjk0NlxuMTgzNVxu
NjQ3XG4xMzA5XG4yNzFcbjI3NVxuNzBcbjEyOVxuMTUxOFxuOTcyXG4xMTY0XG44MTZcbjExMjVc
bjU3NVxuNTg4XG4xNDU2XG4xMTU0XG4yOTBcbjE2ODFcbjExMzNcbjU2MVxuMzQzXG4xMzYwXG4x
MDM1XG4xMTU4XG4xMzY1XG43NDRcbjc4MVxuNThcbjUzMVxuMjcxXG4xNjEyXG4xNzc0XG4yOFxu
MTQ4MFxuMTMxMlxuMTg1NVxuNjY2XG4xNTc0XG42MTNcbjQyXG40NTZcbjM1MVxuNzI3XG4xNTAz
XG4xMTE1XG4zMzNcbjE5NzJcbjgyMlxuMTU3NVxuODQ4XG4xMDg3XG4xMjYyXG4xNjcxXG43MTBc
bjQ2MFxuMTgxNlxuMjg3XG4xNzJcbjQ5MlxuMTA3OVxuNTgyXG4xMjM2XG4xNzU2XG4xNzkyXG4x
MDk1XG4xMjA1XG4xODk0XG4yMlxuMTkzMFxuMTUyOVxuMTU0N1xuMTM4M1xuMTc2OFxuMzY0XG4x
MTA4XG4xOTcyXG4yODdcbjIwMFxuMjMwXG4xMzM1XG4xODdcbjQ4NlxuMTcyMlxuMjBcbjk2M1xu
NzkyXG4xMTE0XG42MzNcbjE4NjJcbjE0MzNcbjgyOVxuNzM3XG4yMTVcbjE1NzBcbjM3OFxuMTY3
N1xuOTQ0XG4xMzAxXG4xMTYwXG41MDBcbjE1MFxuODg2XG4xMzM3XG42NjJcbjEwNjJcbjI5MFxu
NDYwXG41OTJcbjE4Njdcbjg3MlxuMTU1XG4xNjEzXG4xOTEzXG4xNTQ4XG4xODQ3XG44NTVcbjE3
MDJcbjk1MlxuMTg5NFxuNTg3XG4xODEzXG4xMDIxXG4yMVxuNjU0XG4yNTRcbjkxMFxuMTY5Nlxu
MTYwNlxuNjc5XG4xMjIyXG42OTZcbjEzMTlcbjM2OFxuNDQ3XG41NDlcbjkwNVxuMTE5NFxuMTg5
XG4xNzY2XG42MTZcbjI3OFxuMTQxOFxuMTk2NVxuODcyXG45OThcbjEyNjhcbjE2NzNcbjE2NDdc
bjExNjNcbjUzM1xuMTY1MFxuMTg0OVxuMTEyNFxuMTI1MlxuMTQxMlxuNzAzXG45NDRcbjQ2OFxu
MTQ4NVxuMTM1MlxuNjgxXG44NjRcbjE0MzJcbjE3NzFcbjQ5N1xuOTU2XG4xNzk0XG4zNjNcbjEw
OTlcbjE4MDRcbjQ1N1xuMTIyN1xuMTQ4N1xuNDQ2XG4xOTkzXG4xNTc2XG4yNzJcbjcwOVxuMTgx
MFxuMzMwXG44NzZcbjExMDdcbjExODdcbjEyMlxuMTYyNVxuNDcyXG42NzZcbjMxNFxuMTI1N1xu
MTUwOVxuMzUwXG43NDFcbjM2NlxuMzNcbjUzNlxuMjkzXG4xNjYzXG4xMDM5XG4xNTI3XG4xMjZc
bjkyM1xuMTkzN1xuMTc2N1xuMTMwMlxuMTUxMFxuMTUxOFxuMTM0M1xuOTFcbjE1NTFcbjE2MTRc
bjE2ODdcbjE3NDhcbjEzN1xuNzVcbjczOFxuMTk3N1xuNzUxXG4yMzdcbjMxM1xuNTY2XG4yNFxu
MjAyXG44ODlcbjE3MTZcbjE0NjBcbjEyOVxuMTc2MFxuMTU5N1xuOTZcbjEwNTdcbjEzMjNcbjEx
ODhcbjEzNzNcbjUzN1xuOTU1XG42NVxuMTY3OVxuMTQ0MVxuMTMxNVxuMzk4XG42NDdcbjE0NzBc
bjEzMzVcbjYxN1xuMzMxXG43OTZcbjEyOVxuMTYzNVxuMTQ5N1xuODM2XG44NTVcbjE0NzJcbjE4
MjhcbjU2OFxuODYyXG42OTBcbjEzNzBcbjE2NTdcbjgxOVxuNDVcbjQyMFxuMjU4XG4xOTgwXG42
NzJcbjYxNVxuMzU4XG44NTJcbjExNDhcbjE4OTdcbjEzMDZcbjEwOTJcbjE0MDVcbjcxOVxuMTc1
MlxuMTQ1NlxuMTMzOFxuMzMyXG4zNTFcbjQ3OVxuNzQ3XG4yNDlcbjE5NzdcbjE2NzFcbjEwNjFc
bjE2ODVcbjMwNlxuMjU0XG4xMDYwXG43NjRcbjQyMFxuMTEzOVxuMTQ1MlxuNDI2XG44MzVcbjky
OVxuMTQyNFxuMTMzNlxuNjk3XG4xOTFcbjE2OTdcbjE4OTdcbjY0NFxuNTQ2XG45ODJcbjM1OVxu
MTIwMVxuMTA5NVxuMTYyM1xuMTk0N1xuMjE1XG4xMFxuODU1XG4yOTdcbjU1MVxuMTAzN1xuOTQ1
XG4zOTZcbjIxMVxuMTA1OVxuNDIzXG4xNTIxXG4xNzcwXG4yMDNcbjE4Mjhcbjg3OVxuMTE3OVxu
MTkxMlxuMTAyOFxuMTQxNlxuMTg0NVxuNjk4XG43MTVcbjE4NTdcbjgxN1xuNTBcbjQ3M1xuMTEy
MlxuMTI2XG43MFxuMTc3M1xuNDBcbjE5NzBcbjEzMTFcbjgyNlxuMzU1XG4xOTIxXG4yM1xuNTI2
XG4xNzE3XG4xMzk3XG4xOTMyXG4xMDc1XG4xNjUyXG45OTdcbjEwMzlcbjE0ODFcbjc3OVxuNDE1
XG40OVxuMTMzMFxuMzE3XG4xNzAxXG42OTBcbjI0NVxuMTgyNFxuNjM5XG43OTlcbjEyNDBcbjQy
MlxuMzQ0XG4xNjM5XG4yMFxuNTQ2XG45MTJcbjE5MzBcbjEzNjhcbjE1NDFcbjExMDlcbjM2OVxu
NjZcbjE1NjRcbjQ0NFxuMTkyOFxuMTk2M1xuMTg5OVxuNzQ0XG4xNTkzXG4xNzAyXG4xMDBcbiIp
OwotCi0gICAgICAgIGV4cGVjdCgiMTAgZGltIGEoMjAwMClcbjIwIGZvciBpID0gMiB0byAyMDAw
XG4zMCBsZXQgYShpKSA9IDFcbjQwIG5leHQgaVxuNTAgZm9yIGkgPSAyIHRvIHNxcigyMDAwKVxu
NjAgaWYgYShpKSA9IDAgdGhlbiAxMDBcbjcwIGZvciBqID0gaSBeIDIgdG8gMjAwMCBzdGVwIGlc
bjgwIGxldCBhKGopID0gMFxuOTAgbmV4dCBqXG4xMDAgbmV4dCBpXG4xMTAgZm9yIGkgPSAyIHRv
IDIwMDBcbjEyMCBpZiBhKGkpID0gMCB0aGVuIDE0MFxuMTMwIHByaW50IGlcbjE0MCBuZXh0IGlc
bjE1MCBlbmRcbiIsICIyXG4zXG41XG43XG4xMVxuMTNcbjE3XG4xOVxuMjNcbjI5XG4zMVxuMzdc
bjQxXG40M1xuNDdcbjUzXG41OVxuNjFcbjY3XG43MVxuNzNcbjc5XG44M1xuODlcbjk3XG4xMDFc
bjEwM1xuMTA3XG4xMDlcbjExM1xuMTI3XG4xMzFcbjEzN1xuMTM5XG4xNDlcbjE1MVxuMTU3XG4x
NjNcbjE2N1xuMTczXG4xNzlcbjE4MVxuMTkxXG4xOTNcbjE5N1xuMTk5XG4yMTFcbjIyM1xuMjI3
XG4yMjlcbjIzM1xuMjM5XG4yNDFcbjI1MVxuMjU3XG4yNjNcbjI2OVxuMjcxXG4yNzdcbjI4MVxu
MjgzXG4yOTNcbjMwN1xuMzExXG4zMTNcbjMxN1xuMzMxXG4zMzdcbjM0N1xuMzQ5XG4zNTNcbjM1
OVxuMzY3XG4zNzNcbjM3OVxuMzgzXG4zODlcbjM5N1xuNDAxXG40MDlcbjQxOVxuNDIxXG40MzFc
bjQzM1xuNDM5XG40NDNcbjQ0OVxuNDU3XG40NjFcbjQ2M1xuNDY3XG40NzlcbjQ4N1xuNDkxXG40
OTlcbjUwM1xuNTA5XG41MjFcbjUyM1xuNTQxXG41NDdcbjU1N1xuNTYzXG41NjlcbjU3MVxuNTc3
XG41ODdcbjU5M1xuNTk5XG42MDFcbjYwN1xuNjEzXG42MTdcbjYxOVxuNjMxXG42NDFcbjY0M1xu
NjQ3XG42NTNcbjY1OVxuNjYxXG42NzNcbjY3N1xuNjgzXG42OTFcbjcwMVxuNzA5XG43MTlcbjcy
N1xuNzMzXG43Mzlcbjc0M1xuNzUxXG43NTdcbjc2MVxuNzY5XG43NzNcbjc4N1xuNzk3XG44MDlc
bjgxMVxuODIxXG44MjNcbjgyN1xuODI5XG44Mzlcbjg1M1xuODU3XG44NTlcbjg2M1xuODc3XG44
ODFcbjg4M1xuODg3XG45MDdcbjkxMVxuOTE5XG45MjlcbjkzN1xuOTQxXG45NDdcbjk1M1xuOTY3
XG45NzFcbjk3N1xuOTgzXG45OTFcbjk5N1xuMTAwOVxuMTAxM1xuMTAxOVxuMTAyMVxuMTAzMVxu
MTAzM1xuMTAzOVxuMTA0OVxuMTA1MVxuMTA2MVxuMTA2M1xuMTA2OVxuMTA4N1xuMTA5MVxuMTA5
M1xuMTA5N1xuMTEwM1xuMTEwOVxuMTExN1xuMTEyM1xuMTEyOVxuMTE1MVxuMTE1M1xuMTE2M1xu
MTE3MVxuMTE4MVxuMTE4N1xuMTE5M1xuMTIwMVxuMTIxM1xuMTIxN1xuMTIyM1xuMTIyOVxuMTIz
MVxuMTIzN1xuMTI0OVxuMTI1OVxuMTI3N1xuMTI3OVxuMTI4M1xuMTI4OVxuMTI5MVxuMTI5N1xu
MTMwMVxuMTMwM1xuMTMwN1xuMTMxOVxuMTMyMVxuMTMyN1xuMTM2MVxuMTM2N1xuMTM3M1xuMTM4
MVxuMTM5OVxuMTQwOVxuMTQyM1xuMTQyN1xuMTQyOVxuMTQzM1xuMTQzOVxuMTQ0N1xuMTQ1MVxu
MTQ1M1xuMTQ1OVxuMTQ3MVxuMTQ4MVxuMTQ4M1xuMTQ4N1xuMTQ4OVxuMTQ5M1xuMTQ5OVxuMTUx
MVxuMTUyM1xuMTUzMVxuMTU0M1xuMTU0OVxuMTU1M1xuMTU1OVxuMTU2N1xuMTU3MVxuMTU3OVxu
MTU4M1xuMTU5N1xuMTYwMVxuMTYwN1xuMTYwOVxuMTYxM1xuMTYxOVxuMTYyMVxuMTYyN1xuMTYz
N1xuMTY1N1xuMTY2M1xuMTY2N1xuMTY2OVxuMTY5M1xuMTY5N1xuMTY5OVxuMTcwOVxuMTcyMVxu
MTcyM1xuMTczM1xuMTc0MVxuMTc0N1xuMTc1M1xuMTc1OVxuMTc3N1xuMTc4M1xuMTc4N1xuMTc4
OVxuMTgwMVxuMTgxMVxuMTgyM1xuMTgzMVxuMTg0N1xuMTg2MVxuMTg2N1xuMTg3MVxuMTg3M1xu
MTg3N1xuMTg3OVxuMTg4OVxuMTkwMVxuMTkwN1xuMTkxM1xuMTkzMVxuMTkzM1xuMTk0OVxuMTk1
MVxuMTk3M1xuMTk3OVxuMTk4N1xuMTk5M1xuMTk5N1xuMTk5OVxuIik7Ci0gICAgfQotfQotICAg
IAotZnVuY3Rpb24gcnVuQmVuY2htYXJrKCkKLXsKLSAgICBjb25zdCB2ZXJib3NlID0gMDsKLSAg
ICBjb25zdCBudW1JdGVyYXRpb25zID0gMTUwOwotICAgIAotICAgIGxldCBiZWZvcmUgPSBjdXJy
ZW50VGltZSgpOwotICAgIAotICAgIGxldCBiZW5jaG1hcmsgPSBuZXcgQmVuY2htYXJrKHZlcmJv
c2UpOwotICAgIAotICAgIGZvciAobGV0IGl0ZXJhdGlvbiA9IDA7IGl0ZXJhdGlvbiA8IG51bUl0
ZXJhdGlvbnM7ICsraXRlcmF0aW9uKQotICAgICAgICBiZW5jaG1hcmsucnVuSXRlcmF0aW9uKCk7
Ci0gICAgCi0gICAgbGV0IGFmdGVyID0gY3VycmVudFRpbWUoKTsKLSAgICByZXR1cm4gYWZ0ZXIg
LSBiZWZvcmU7Ci19CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2lj
L2Nhc2VsZXNzX21hcC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBs
ZUJlbmNoL0Jhc2ljL2Nhc2VsZXNzX21hcC5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9y
bWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9jYXNlbGVzc19tYXAuanMJKG5vbmV4aXN0
ZW50KQpAQCAtMSw1NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWNsYXNzIENhc2VsZXNzTWFwIHsKLSAgICBjb25z
dHJ1Y3RvcihvdGhlck1hcCkKLSAgICB7Ci0gICAgICAgIGlmIChvdGhlck1hcCA9PSBudWxsKQot
ICAgICAgICAgICAgdGhpcy5fbWFwID0gbmV3IE1hcCgpOwotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICB0aGlzLl9tYXAgPSBuZXcgTWFwKG90aGVyTWFwLl9tYXApOwotICAgIH0KLSAgICAKLSAg
ICBzZXQoa2V5LCB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIHRoaXMuX21hcC5zZXQoa2V5LnRvTG93
ZXJDYXNlKCksIHZhbHVlKTsKLSAgICB9Ci0gICAgCi0gICAgaGFzKGtleSkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiB0aGlzLl9tYXAuaGFzKGtleS50b0xvd2VyQ2FzZSgpKTsKLSAgICB9Ci0gICAg
Ci0gICAgZ2V0KGtleSkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9tYXAuZ2V0KGtleS50
b0xvd2VyQ2FzZSgpKTsKLSAgICB9Ci0KLSAgICBbU3ltYm9sLml0ZXJhdG9yXSgpCi0gICAgewot
ICAgICAgICByZXR1cm4gdGhpcy5fbWFwW1N5bWJvbC5pdGVyYXRvcl0oKTsKLSAgICB9Ci19Ci0K
SW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvbGV4ZXIuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9sZXhlci5q
cwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9C
YXNpYy9sZXhlci5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDk3ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotLy8gTG9v
c2VseSBiYXNlZCBvbiBFQ01BIDU1IHNlY3Rpb25zIDQtOCwgYnV0IGxvb3NlbmVkIHRvIGFsbG93
IGZvciBtb2Rlcm4gY29udmVudGlvbnMsIGxpa2UKLS8vIG11bHRpLWNoYXJhY3RlciB2YXJpYWJs
ZSBuYW1lcy4gQnV0IHRoaXMgZG9lc24ndCBnbyB0b28gZmFyIC0gaW4gcGFydGljdWxhciwgdGhp
cyBkb2Vzbid0IGRvCi0vLyB1bmljb2RlLCBiZWNhdXNlIHRoYXQgd291bGQgcmVxdWlyZSBtb3Jl
IHRob3VnaHQuCi1mdW5jdGlvbiogbGV4KHN0cmluZykKLXsKLSAgICBsZXQgc291cmNlTGluZU51
bWJlciA9IDA7Ci0gICAgZm9yIChsZXQgbGluZSBvZiBzdHJpbmcuc3BsaXQoIlxuIikpIHsKLSAg
ICAgICAgKytzb3VyY2VMaW5lTnVtYmVyOwotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gY29u
c3VtZVdoaXRlc3BhY2UoKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoL15ccysvLnRlc3Qo
bGluZSkpCi0gICAgICAgICAgICAgICAgbGluZSA9IFJlZ0V4cC5yaWdodENvbnRleHQ7Ci0gICAg
ICAgIH0KLSAgIAotICAgICAgICBmdW5jdGlvbiBjb25zdW1lKGtpbmQpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGxpbmUgPSBSZWdFeHAucmlnaHRDb250ZXh0OwotICAgICAgICAgICAgcmV0dXJu
IHtraW5kLCBzdHJpbmc6IFJlZ0V4cC5sYXN0TWF0Y2gsIHNvdXJjZUxpbmVOdW1iZXIsIHVzZXJM
aW5lTnVtYmVyfTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgY29uc3QgaXNJZGVudGlm
aWVyID0gL15bYS16X10oW2EtejAtOV9dKikvaTsKLSAgICAgICAgY29uc3QgaXNOdW1iZXIgPSAv
XigoWzAtOV0rKFwuKFswLTldKikpPyl8KFwuWzAtOV0rKShlKFsrLV0/KShbMC05XSspKT8pL2k7
Ci0gICAgICAgIGNvbnN0IGlzU3RyaW5nID0gL15cIihbXlwiXXwoXCJcIikpKlwiLzsKLSAgICAg
ICAgY29uc3QgaXNLZXl3b3JkID0gL14oKGJhc2UpfChkYXRhKXwoZGVmKXwoZGltKXwoZW5kKXwo
Zm9yKXwoZ28pfChnb3N1Yil8KGdvdG8pfChpZil8KGlucHV0KXwobGV0KXwobmV4dCl8KG9uKXwo
b3B0aW9uKXwocHJpbnQpfChyYW5kb21pemUpfChyZWFkKXwocmVzdG9yZSl8KHJldHVybil8KHN0
ZXApfChzdG9wKXwoc3ViKXwodGhlbil8KHRvKSkvaTsKLSAgICAgICAgY29uc3QgaXNPcGVyYXRv
ciA9IC9eKC18XCt8XCp8XC98XF58XCh8XCl8KDxbPj1dPyl8KD49Pyl8PXwsfFwkfDspLzsKLSAg
ICAgICAgY29uc3QgaXNSZW0gPSAvXnJlbVxzLiovOwotICAgICAgICAKLSAgICAgICAgY29uc3Vt
ZVdoaXRlc3BhY2UoKTsKLSAgICAgICAgCi0gICAgICAgIGlmICghL15bMC05XSsvLnRlc3QobGlu
ZSkpCi0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0IGxpbmUgIiArIHNvdXJjZUxpbmVO
dW1iZXIgKyAiOiBFeHBlY3QgbGluZSBudW1iZXI6ICIgKyBsaW5lKTsKLSAgICAgICAgbGV0IHVz
ZXJMaW5lTnVtYmVyID0gK1JlZ0V4cC5sYXN0TWF0Y2g7Ci0gICAgICAgIGxpbmUgPSBSZWdFeHAu
cmlnaHRDb250ZXh0OwotICAgICAgICB5aWVsZCB7a2luZDogInVzZXJMaW5lTnVtYmVyIiwgc3Ry
aW5nOiBSZWdFeHAubGFzdE1hdGNoLCBzb3VyY2VMaW5lTnVtYmVyLCB1c2VyTGluZU51bWJlcn07
Ci0gICAgICAgIAotICAgICAgICBjb25zdW1lV2hpdGVzcGFjZSgpOwotICAgICAgICAKLSAgICAg
ICAgd2hpbGUgKGxpbmUubGVuZ3RoKSB7Ci0gICAgICAgICAgICBpZiAoaXNLZXl3b3JkLnRlc3Qo
bGluZSkpCi0gICAgICAgICAgICAgICAgeWllbGQgY29uc3VtZSgia2V5d29yZCIpOwotICAgICAg
ICAgICAgZWxzZSBpZiAoaXNJZGVudGlmaWVyLnRlc3QobGluZSkpCi0gICAgICAgICAgICAgICAg
eWllbGQgY29uc3VtZSgiaWRlbnRpZmllciIpOwotICAgICAgICAgICAgZWxzZSBpZiAoaXNOdW1i
ZXIudGVzdChsaW5lKSkgewotICAgICAgICAgICAgICAgIGxldCB0b2tlbiA9IGNvbnN1bWUoIm51
bWJlciIpOwotICAgICAgICAgICAgICAgIHRva2VuLnZhbHVlID0gK3Rva2VuLnN0cmluZzsKLSAg
ICAgICAgICAgICAgICB5aWVsZCB0b2tlbjsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNTdHJp
bmcudGVzdChsaW5lKSkgewotICAgICAgICAgICAgICAgIGxldCB0b2tlbiA9IGNvbnN1bWUoInN0
cmluZyIpOwotICAgICAgICAgICAgICAgIHRva2VuLnZhbHVlID0gIiI7Ci0gICAgICAgICAgICAg
ICAgZm9yIChsZXQgaSA9IDE7IGkgPCB0b2tlbi5zdHJpbmcubGVuZ3RoIC0gMTsgKytpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGxldCBjaGFyID0gdG9rZW4uc3RyaW5nLmNoYXJBdChpKTsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKGNoYXIgPT0gIlwiIikKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGkrKzsKLSAgICAgICAgICAgICAgICAgICAgdG9rZW4udmFsdWUgKz0gY2hhcjsKLSAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgeWllbGQgdG9rZW47Ci0gICAgICAgICAgICB9
IGVsc2UgaWYgKGlzT3BlcmF0b3IudGVzdChsaW5lKSkKLSAgICAgICAgICAgICAgICB5aWVsZCBj
b25zdW1lKCJvcGVyYXRvciIpOwotICAgICAgICAgICAgZWxzZSBpZiAoaXNSZW0udGVzdChsaW5l
KSkKLSAgICAgICAgICAgICAgICB5aWVsZCBjb25zdW1lKCJyZW1hcmsiKTsKLSAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0IGxpbmUgIiArIHNvdXJj
ZUxpbmVOdW1iZXIgKyAiOiBDYW5ub3QgbGV4IHRva2VuOiAiICsgbGluZSk7Ci0gICAgICAgICAg
ICBjb25zdW1lV2hpdGVzcGFjZSgpOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICAvLyBO
b3RlOiB0aGlzIGlzIG5lY2Vzc2FyeSBmb3IgdGhlIHBhcnNlciwgd2hpY2ggbWF5IGxvb2stYWhl
YWQgd2l0aG91dCBjaGVja2luZyBpZiB3ZSdyZQotICAgICAgICAvLyBkb25lLiBGb3J0dW5hdGVs
eSwgaXQgd29uJ3QgbG9vay1haGVhZCBwYXN0IGEgbmV3TGluZS4KLSAgICAgICAgeWllbGQge2tp
bmQ6ICJuZXdMaW5lIiwgc3RyaW5nOiJcbiIsIHNvdXJjZUxpbmVOdW1iZXIsIHVzZXJMaW5lTnVt
YmVyfTsKLSAgICB9Ci19CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jh
c2ljL251bWJlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJl
bmNoL0Jhc2ljL251bWJlci5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0
cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9udW1iZXIuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMzcg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVz
ZSBzdHJpY3QiOwotCi1jbGFzcyBOdW1iZXJWYWx1ZSB7Ci0gICAgY29uc3RydWN0b3IodmFsdWUg
PSAwKQotICAgIHsKLSAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTsKLSAgICB9Ci0gICAgCi0g
ICAgZ2V0IHZhbHVlKCkgeyByZXR1cm4gdGhpcy5fdmFsdWU7IH0KLSAgICAKLSAgICBhcHBseShz
dGF0ZSwgcGFyYW1ldGVycykKLSAgICB7Ci0gICAgICAgIHN0YXRlLnZhbGlkYXRlKHBhcmFtZXRl
cnMubGVuZ3RoID09IDAsICJTaG91bGQgbm90IHBhc3MgYXJndW1lbnRzIHRvIHNpbXBsZSBudW1l
cmljIHZhcmlhYmxlcyIpOwotICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7Ci0gICAgfQotICAg
IAotICAgIGxlZnRBcHBseShzdGF0ZSwgcGFyYW1ldGVycykKLSAgICB7Ci0gICAgICAgIHN0YXRl
LnZhbGlkYXRlKHBhcmFtZXRlcnMubGVuZ3RoID09IDAsICJTaG91bGQgbm90IHBhc3MgYXJndW1l
bnRzIHRvIHNpbXBsZSBudW1lcmljIHZhcmlhYmxlcyIpOwotICAgICAgICByZXR1cm4gdGhpczsK
LSAgICB9Ci0gICAgCi0gICAgYXNzaWduKHZhbHVlKQotICAgIHsKLSAgICAgICAgdGhpcy5fdmFs
dWUgPSB2YWx1ZTsKLSAgICB9Ci19Ci0KLWNsYXNzIE51bWJlckFycmF5IHsKLSAgICBjb25zdHJ1
Y3RvcihkaW0gPSBbMTFdKQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gYWxsb2NhdGVEaW0oaW5k
ZXgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGxldCByZXN1bHQgPSBuZXcgQXJyYXkoZGltW2lu
ZGV4XSk7Ci0gICAgICAgICAgICBpZiAoaW5kZXggKyAxIDwgZGltLmxlbmd0aCkgewotICAgICAg
ICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGltW2luZGV4XTsgKytpKQotICAgICAgICAg
ICAgICAgICAgICByZXN1bHRbaV0gPSBhbGxvY2F0ZURpbShpbmRleCArIDEpOwotICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpbVtpbmRl
eF07ICsraSkKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0W2ldID0gbmV3IE51bWJlclZhbHVl
KCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgICAgICB9
Ci0gICAgICAgIAotICAgICAgICB0aGlzLl9hcnJheSA9IGFsbG9jYXRlRGltKDApOwotICAgICAg
ICB0aGlzLl9kaW0gPSBkaW07Ci0gICAgfQotICAgIAotICAgIGFwcGx5KHN0YXRlLCBwYXJhbWV0
ZXJzKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMubGVmdEFwcGx5KHN0YXRlLCBwYXJhbWV0
ZXJzKS5hcHBseShzdGF0ZSwgW10pOwotICAgIH0KLSAgICAKLSAgICBsZWZ0QXBwbHkoc3RhdGUs
IHBhcmFtZXRlcnMpCi0gICAgewotICAgICAgICBpZiAodGhpcy5fZGltLmxlbmd0aCAhPSBwYXJh
bWV0ZXJzLmxlbmd0aCkKLSAgICAgICAgICAgIHN0YXRlLmFib3J0KCJFeHBlY3RlZCAiICsgdGhp
cy5fZGltLmxlbmd0aCArICIgYXJndW1lbnRzIGJ1dCAiICsgcGFyYW1ldGVycy5sZW5ndGggKyAi
IHdlcmUgcGFzc2VkLiIpOwotICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5fYXJyYXk7Ci0gICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGFyYW1ldGVycy5sZW5ndGg7ICsraSkgewotICAgICAg
ICAgICAgbGV0IGluZGV4ID0gTWF0aC5mbG9vcihwYXJhbWV0ZXJzW2ldKTsKLSAgICAgICAgICAg
IGlmICghKGluZGV4ID49IHN0YXRlLnByb2dyYW0uYmFzZSkgfHwgIShpbmRleCA8IHJlc3VsdC5s
ZW5ndGgpKQotICAgICAgICAgICAgICAgIHN0YXRlLmFib3J0KCJJbmRleCBvdXQgb2YgYm91bmRz
OiAiICsgaW5kZXgpOwotICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0W2luZGV4XTsKLSAgICAg
ICAgfQotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLX0KLQotY2xhc3MgTnVtYmVyRnVu
Y3Rpb24gewotICAgIGNvbnN0cnVjdG9yKHBhcmFtZXRlcnMsIGNvZGUpCi0gICAgewotICAgICAg
ICB0aGlzLl9wYXJhbWV0ZXJzID0gcGFyYW1ldGVyczsKLSAgICAgICAgdGhpcy5fY29kZSA9IGNv
ZGU7Ci0gICAgfQotICAgIAotICAgIGFwcGx5KHN0YXRlLCBwYXJhbWV0ZXJzKQotICAgIHsKLSAg
ICAgICAgaWYgKHRoaXMuX3BhcmFtZXRlcnMubGVuZ3RoICE9IHBhcmFtZXRlcnMubGVuZ3RoKQot
ICAgICAgICAgICAgc3RhdGUuYWJvcnQoIkV4cGVjdGVkICIgKyB0aGlzLl9wYXJhbWV0ZXJzLmxl
bmd0aCArICIgYXJndW1lbnRzIGJ1dCAiICsgcGFyYW1ldGVycy5sZW5ndGggKyAiIHdlcmUgcGFz
c2VkIik7Ci0gICAgICAgIGxldCBvbGRWYWx1ZXMgPSBzdGF0ZS52YWx1ZXM7Ci0gICAgICAgIHN0
YXRlLnZhbHVlcyA9IG5ldyBNYXAob2xkVmFsdWVzKTsKLSAgICAgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCBwYXJhbWV0ZXJzLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgc3RhdGUudmFsdWVzLnNl
dCh0aGlzLl9wYXJhbWV0ZXJzW2ldLCBwYXJhbWV0ZXJzW2ldKTsKLSAgICAgICAgbGV0IHJlc3Vs
dCA9IHRoaXMuY29kZS5ldmFsdWF0ZShzdGF0ZSk7Ci0gICAgICAgIHN0YXRlLnZhbHVlcyA9IG9s
ZFZhbHVlczsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0gICAgCi0gICAgbGVmdEFw
cGx5KHN0YXRlLCBwYXJhbWV0ZXJzKQotICAgIHsKLSAgICAgICAgc3RhdGUuYWJvcnQoIkNhbm5v
dCB1c2UgYSBmdW5jdGlvbiBhcyBhbiBsdmFsdWUiKTsKLSAgICB9Ci19Ci0KLWNsYXNzIE5hdGl2
ZUZ1bmN0aW9uIHsKLSAgICBjb25zdHJ1Y3RvcihjYWxsYmFjaykKLSAgICB7Ci0gICAgICAgIHRo
aXMuX2NhbGxiYWNrID0gY2FsbGJhY2s7Ci0gICAgfQotICAgIAotICAgIGFwcGx5KHN0YXRlLCBw
YXJhbWV0ZXJzKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2NhbGxiYWNrLmxlbmd0aCAhPSBw
YXJhbWV0ZXJzLmxlbmd0aCkKLSAgICAgICAgICAgIHN0YXRlLmFib3J0KCJFeHBlY3RlZCAiICsg
dGhpcy5fY2FsbGJhY2subGVuZ3RoICsgIiBhcmd1bWVudHMgYnV0ICIgKyBwYXJhbWV0ZXJzLmxl
bmd0aCArICIgd2VyZSBwYXNzZWQiKTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2NhbGxiYWNrKC4u
LnBhcmFtZXRlcnMpOwotICAgIH0KLSAgICAKLSAgICBsZWZ0QXBwbHkoc3RhdGUsIHBhcmFtZXRl
cnMpCi0gICAgewotICAgICAgICBzdGF0ZS5hYm9ydCgiQ2Fubm90IHVzZSBhIG5hdGl2ZSBmdW5j
dGlvbiBhcyBhbiBsdmFsdWUiKTsKLSAgICB9Ci19Ci0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMv
RVM2U2FtcGxlQmVuY2gvQmFzaWMvcGFyc2VyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNl
VGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvcGFyc2VyLmpzCShyZXZpc2lvbiAyMTE2ODgpCisr
KyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL3BhcnNlci5qcwkobm9uZXhp
c3RlbnQpCkBAIC0xLDU1OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWZ1bmN0aW9uIHBhcnNlKHRva2VuaXplcikK
LXsKLSAgICBsZXQgcHJvZ3JhbTsKLSAgICAKLSAgICBsZXQgcHVzaEJhY2tCdWZmZXIgPSBbXTsK
LSAgICAKLSAgICBmdW5jdGlvbiBuZXh0VG9rZW4oKQotICAgIHsKLSAgICAgICAgaWYgKHB1c2hC
YWNrQnVmZmVyLmxlbmd0aCkKLSAgICAgICAgICAgIHJldHVybiBwdXNoQmFja0J1ZmZlci5wb3Ao
KTsKLSAgICAgICAgbGV0IHJlc3VsdCA9IHRva2VuaXplci5uZXh0KCk7Ci0gICAgICAgIGlmIChy
ZXN1bHQuZG9uZSkKLSAgICAgICAgICAgIHJldHVybiB7a2luZDogImVuZE9mRmlsZSIsIHN0cmlu
ZzogIjxlbmQgb2YgZmlsZT4ifTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdC52YWx1ZTsKLSAgICB9
Ci0gICAgCi0gICAgZnVuY3Rpb24gcHVzaFRva2VuKHRva2VuKQotICAgIHsKLSAgICAgICAgcHVz
aEJhY2tCdWZmZXIucHVzaCh0b2tlbik7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHBlZWtU
b2tlbigpCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gbmV4dFRva2VuKCk7Ci0gICAgICAg
IHB1c2hUb2tlbihyZXN1bHQpOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAK
LSAgICBmdW5jdGlvbiBjb25zdW1lS2luZChraW5kKQotICAgIHsKLSAgICAgICAgbGV0IHRva2Vu
ID0gbmV4dFRva2VuKCk7Ci0gICAgICAgIGlmICh0b2tlbi5raW5kICE9IGtpbmQpIHsKLSAgICAg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiQXQgIiArIHRva2VuLnNvdXJjZUxpbmVOdW1iZXIgKyAi
OiBleHBlY3RlZCAiICsga2luZCArICIgYnV0IGdvdDogIiArIHRva2VuLnN0cmluZyk7Ci0gICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuIHRva2VuOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBj
b25zdW1lVG9rZW4oc3RyaW5nKQotICAgIHsKLSAgICAgICAgbGV0IHRva2VuID0gbmV4dFRva2Vu
KCk7Ci0gICAgICAgIGlmICh0b2tlbi5zdHJpbmcudG9Mb3dlckNhc2UoKSAhPSBzdHJpbmcudG9M
b3dlckNhc2UoKSkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQXQgIiArIHRva2VuLnNv
dXJjZUxpbmVOdW1iZXIgKyAiOiBleHBlY3RlZCAiICsgc3RyaW5nICsgIiBidXQgZ290OiAiICsg
dG9rZW4uc3RyaW5nKTsKLSAgICAgICAgcmV0dXJuIHRva2VuOwotICAgIH0KLSAgICAKLSAgICBm
dW5jdGlvbiBwYXJzZVZhcmlhYmxlKCkKLSAgICB7Ci0gICAgICAgIGxldCBuYW1lID0gY29uc3Vt
ZUtpbmQoImlkZW50aWZpZXIiKS5zdHJpbmc7Ci0gICAgICAgIGxldCByZXN1bHQgPSB7ZXZhbHVh
dGU6IEJhc2ljLlZhcmlhYmxlLCBuYW1lLCBwYXJhbWV0ZXJzOiBbXX07Ci0gICAgICAgIGlmIChw
ZWVrVG9rZW4oKS5zdHJpbmcgPT0gIigiKSB7Ci0gICAgICAgICAgICBkbyB7Ci0gICAgICAgICAg
ICAgICAgbmV4dFRva2VuKCk7Ci0gICAgICAgICAgICAgICAgcmVzdWx0LnBhcmFtZXRlcnMucHVz
aChwYXJzZU51bWVyaWNFeHByZXNzaW9uKCkpOwotICAgICAgICAgICAgfSB3aGlsZSAocGVla1Rv
a2VuKCkuc3RyaW5nID09ICIsIik7Ci0gICAgICAgICAgICBjb25zdW1lVG9rZW4oIikiKTsKLSAg
ICAgICAgfQotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlv
biBwYXJzZU51bWVyaWNFeHByZXNzaW9uKCkKLSAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIHBhcnNl
UHJpbWFyeSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGxldCB0b2tlbiA9IG5leHRUb2tlbigp
OwotICAgICAgICAgICAgc3dpdGNoICh0b2tlbi5raW5kKSB7Ci0gICAgICAgICAgICBjYXNlICJp
ZGVudGlmaWVyIjogewotICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSB7ZXZhbHVhdGU6IEJh
c2ljLk51bWJlckFwcGx5LCBuYW1lOiB0b2tlbi5zdHJpbmcsIHBhcmFtZXRlcnM6IFtdfTsKLSAg
ICAgICAgICAgICAgICBpZiAocGVla1Rva2VuKCkuc3RyaW5nID09ICIoIikgewotICAgICAgICAg
ICAgICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBuZXh0VG9rZW4oKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wYXJhbWV0ZXJzLnB1c2gocGFyc2VOdW1lcmlj
RXhwcmVzc2lvbigpKTsKLSAgICAgICAgICAgICAgICAgICAgfSB3aGlsZSAocGVla1Rva2VuKCku
c3RyaW5nID09ICIsIik7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN1bWVUb2tlbigiKSIpOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgY2FzZSAibnVtYmVyIjoKLSAg
ICAgICAgICAgICAgICByZXR1cm4ge2V2YWx1YXRlOiBCYXNpYy5Db25zdCwgdmFsdWU6IHRva2Vu
LnZhbHVlfTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIGNhc2UgIm9wZXJhdG9yIjoK
LSAgICAgICAgICAgICAgICBzd2l0Y2ggKHRva2VuLnN0cmluZykgewotICAgICAgICAgICAgICAg
IGNhc2UgIigiOiB7Ci0gICAgICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBwYXJzZU51bWVy
aWNFeHByZXNzaW9uKCk7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN1bWVUb2tlbigiKSIpOwot
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgICAgICAgICAgICAgIH0gfQot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJBdCAiICsgdG9rZW4uc291cmNlTGluZU51bWJlciArICI6IGV4cGVjdGVkIGlk
ZW50aWZpZXIsIG51bWJlciwgb3IgKCwgYnV0IGdvdDogIiArIHRva2VuLnN0cmluZyk7Ci0gICAg
ICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHBhcnNlRmFjdG9yKCkKLSAgICAgICAg
ewotICAgICAgICAgICAgbGV0IHByaW1hcnkgPSBwYXJzZVByaW1hcnkoKTsKLSAgICAgICAgICAg
IAotICAgICAgICAgICAgbGV0IG9rID0gdHJ1ZTsKLSAgICAgICAgICAgIHdoaWxlIChvaykgewot
ICAgICAgICAgICAgICAgIHN3aXRjaCAocGVla1Rva2VuKCkuc3RyaW5nKSB7Ci0gICAgICAgICAg
ICAgICAgY2FzZSAiXiI6Ci0gICAgICAgICAgICAgICAgICAgIG5leHRUb2tlbigpOwotICAgICAg
ICAgICAgICAgICAgICBwcmltYXJ5ID0ge2V2YWx1YXRlOiBCYXNpYy5OdW1iZXJQb3csIGxlZnQ6
IHByaW1hcnksIHJpZ2h0OiBwYXJzZVByaW1hcnkoKX07Ci0gICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgIG9rID0g
ZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgcmV0dXJuIHByaW1hcnk7Ci0g
ICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHBhcnNlVGVybSgpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIGxldCBmYWN0b3IgPSBwYXJzZUZhY3RvcigpOwotICAgICAgICAgICAg
Ci0gICAgICAgICAgICBsZXQgb2sgPSB0cnVlOwotICAgICAgICAgICAgd2hpbGUgKG9rKSB7Ci0g
ICAgICAgICAgICAgICAgc3dpdGNoIChwZWVrVG9rZW4oKS5zdHJpbmcpIHsKLSAgICAgICAgICAg
ICAgICBjYXNlICIqIjoKLSAgICAgICAgICAgICAgICAgICAgbmV4dFRva2VuKCk7Ci0gICAgICAg
ICAgICAgICAgICAgIGZhY3RvciA9IHtldmFsdWF0ZTogQmFzaWMuTnVtYmVyTXVsLCBsZWZ0OiBm
YWN0b3IsIHJpZ2h0OiBwYXJzZUZhY3RvcigpfTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgICAgICAgICAgY2FzZSAiLyI6Ci0gICAgICAgICAgICAgICAgICAgIG5leHRUb2tl
bigpOwotICAgICAgICAgICAgICAgICAgICBmYWN0b3IgPSB7ZXZhbHVhdGU6IEJhc2ljLk51bWJl
ckRpdiwgbGVmdDogZmFjdG9yLCByaWdodDogcGFyc2VGYWN0b3IoKX07Ci0gICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAg
ICAgIG9rID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgcmV0dXJuIGZh
Y3RvcjsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgLy8gT25seSB0aGUgbGVhZGluZyB0
ZXJtIGluIEJhc2ljIGNhbiBoYXZlIGEgc2lnbi4KLSAgICAgICAgbGV0IG5lZ2F0ZSA9IGZhbHNl
OwotICAgICAgICBzd2l0Y2ggKHBlZWtUb2tlbigpLnN0cmluZykgewotICAgICAgICBjYXNlICIr
IjoKLSAgICAgICAgICAgIG5leHRUb2tlbigpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgIi0iOgotICAgICAgICAgICAgbmVnYXRlID0gdHJ1ZTsKLSAgICAgICAgICAgIG5leHRU
b2tlbigpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAg
bGV0IHRlcm0gPSBwYXJzZVRlcm0oKTsKLSAgICAgICAgaWYgKG5lZ2F0ZSkKLSAgICAgICAgICAg
IHRlcm0gPSB7ZXZhbHVhdGU6IEJhc2ljLk51bWJlck5lZywgdGVybTogdGVybX07Ci0gICAgICAg
IAotICAgICAgICBsZXQgb2sgPSB0cnVlOwotICAgICAgICB3aGlsZSAob2spIHsKLSAgICAgICAg
ICAgIHN3aXRjaCAocGVla1Rva2VuKCkuc3RyaW5nKSB7Ci0gICAgICAgICAgICBjYXNlICIrIjoK
LSAgICAgICAgICAgICAgICBuZXh0VG9rZW4oKTsKLSAgICAgICAgICAgICAgICB0ZXJtID0ge2V2
YWx1YXRlOiBCYXNpYy5OdW1iZXJBZGQsIGxlZnQ6IHRlcm0sIHJpZ2h0OiBwYXJzZVRlcm0oKX07
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICItIjoKLSAgICAgICAg
ICAgICAgICBuZXh0VG9rZW4oKTsKLSAgICAgICAgICAgICAgICB0ZXJtID0ge2V2YWx1YXRlOiBC
YXNpYy5OdW1iZXJTdWIsIGxlZnQ6IHRlcm0sIHJpZ2h0OiBwYXJzZVRlcm0oKX07Ci0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIG9r
ID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0KLSAgICAgICAgCi0gICAgICAgIHJldHVybiB0ZXJtOwotICAgIH0KLSAgICAKLSAgICBmdW5j
dGlvbiBwYXJzZUNvbnN0YW50KCkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAocGVla1Rva2VuKCku
c3RyaW5nKSB7Ci0gICAgICAgIGNhc2UgIisiOgotICAgICAgICAgICAgbmV4dFRva2VuKCk7Ci0g
ICAgICAgICAgICByZXR1cm4gY29uc3VtZUtpbmQoIm51bWJlciIpLnZhbHVlOwotICAgICAgICBj
YXNlICItIjoKLSAgICAgICAgICAgIG5leHRUb2tlbigpOwotICAgICAgICAgICAgcmV0dXJuIC1j
b25zdW1lS2luZCgibnVtYmVyIikudmFsdWU7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAg
ICBpZiAoaXNTdHJpbmdFeHByZXNzaW9uKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnN1
bWVLaW5kKCJzdHJpbmciKS52YWx1ZTsKLSAgICAgICAgICAgIHJldHVybiBjb25zdW1lS2luZCgi
bnVtYmVyIikudmFsdWU7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gcGFy
c2VTdHJpbmdFeHByZXNzaW9uKCkKLSAgICB7Ci0gICAgICAgIGxldCB0b2tlbiA9IG5leHRUb2tl
bigpOwotICAgICAgICBzd2l0Y2ggKHRva2VuLmtpbmQpIHsKLSAgICAgICAgY2FzZSAic3RyaW5n
IjoKLSAgICAgICAgICAgIHJldHVybiB7ZXZhbHVhdGU6IEJhc2ljLkNvbnN0LCB2YWx1ZTogdG9r
ZW4udmFsdWV9OwotICAgICAgICBjYXNlICJpZGVudGlmaWVyIjoKLSAgICAgICAgICAgIGNvbnN1
bWVUb2tlbigiJCIpOwotICAgICAgICAgICAgcmV0dXJuIHtldmFsdWF0ZTogQmFzaWMuU3RyaW5n
VmFyLCBuYW1lOiB0b2tlbi5zdHJpbmd9OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJBdCAiICsgdG9rZW4uc291cmNlTGluZU51bWJlciArICI6IGV4cGVj
dGVkIHN0cmluZyBleHByZXNzaW9uIGJ1dCBnb3QgIiArIHRva2VuLnN0cmluZyk7Ci0gICAgICAg
IH0KLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gaXNTdHJpbmdFeHByZXNzaW9uKCkKLSAgICB7
Ci0gICAgICAgIC8vIEEgc3RyaW5nIGV4cHJlc3Npb24gbXVzdCBzdGFydCB3aXRoIGEgc3RyaW5n
IHZhcmlhYmxlIG9yIGEgc3RyaW5nIGNvbnN0YW50LgotICAgICAgICBsZXQgdG9rZW4gPSBuZXh0
VG9rZW4oKTsKLSAgICAgICAgaWYgKHRva2VuLmtpbmQgPT0gInN0cmluZyIpIHsKLSAgICAgICAg
ICAgIHB1c2hUb2tlbih0b2tlbik7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAg
fQotICAgICAgICBpZiAodG9rZW4ua2luZCA9PSAiaWRlbnRpZmllciIpIHsKLSAgICAgICAgICAg
IGxldCByZXN1bHQgPSBwZWVrVG9rZW4oKS5zdHJpbmcgPT0gIiQiOwotICAgICAgICAgICAgcHVz
aFRva2VuKHRva2VuKTsKLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAgIH0KLSAg
ICAgICAgcHVzaFRva2VuKHRva2VuKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAg
ICAKLSAgICBmdW5jdGlvbiBwYXJzZVJlbGF0aW9uYWxFeHByZXNzaW9uKCkKLSAgICB7Ci0gICAg
ICAgIGlmIChpc1N0cmluZ0V4cHJlc3Npb24oKSkgewotICAgICAgICAgICAgbGV0IGxlZnQgPSBw
YXJzZVN0cmluZ0V4cHJlc3Npb24oKTsKLSAgICAgICAgICAgIGxldCBvcGVyYXRvciA9IG5leHRU
b2tlbigpOwotICAgICAgICAgICAgbGV0IGV2YWx1YXRlOwotICAgICAgICAgICAgc3dpdGNoIChv
cGVyYXRvci5zdHJpbmcpIHsKLSAgICAgICAgICAgIGNhc2UgIj0iOgotICAgICAgICAgICAgICAg
IGV2YWx1YXRlID0gQmFzaWMuRXF1YWxzOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgY2FzZSAiPD4iOgotICAgICAgICAgICAgICAgIGV2YWx1YXRlID0gQmFzaWMuTm90RXF1
YWxzOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0ICIgKyBvcGVyYXRvci5zb3VyY2VMaW5lTnVt
YmVyICsgIjogZXhwZWN0ZWQgYSBzdHJpbmcgY29tcGFyaXNvbiBvcGVyYXRvciBidXQgZ290OiAi
ICsgb3BlcmF0b3Iuc3RyaW5nKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiB7
ZXZhbHVhdGUsIGxlZnQsIHJpZ2h0OiBwYXJzZVN0cmluZ0V4cHJlc3Npb24oKX07Ci0gICAgICAg
IH0KLSAgICAgICAgCi0gICAgICAgIGxldCBsZWZ0ID0gcGFyc2VOdW1lcmljRXhwcmVzc2lvbigp
OwotICAgICAgICBsZXQgb3BlcmF0b3IgPSBuZXh0VG9rZW4oKTsKLSAgICAgICAgbGV0IGV2YWx1
YXRlOwotICAgICAgICBzd2l0Y2ggKG9wZXJhdG9yLnN0cmluZykgewotICAgICAgICBjYXNlICI9
IjoKLSAgICAgICAgICAgIGV2YWx1YXRlID0gQmFzaWMuRXF1YWxzOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGNhc2UgIjw+IjoKLSAgICAgICAgICAgIGV2YWx1YXRlID0gQmFzaWMuTm90
RXF1YWxzOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgIjwiOgotICAgICAgICAg
ICAgZXZhbHVhdGUgPSBCYXNpYy5MZXNzVGhhbjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlICI+IjoKLSAgICAgICAgICAgIGV2YWx1YXRlID0gQmFzaWMuR3JlYXRlclRoYW47Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAiPD0iOgotICAgICAgICAgICAgZXZhbHVh
dGUgPSBCYXNpYy5MZXNzRXF1YWw7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAi
Pj0iOgotICAgICAgICAgICAgZXZhbHVhdGUgPSBCYXNpYy5HcmVhdGVyRXF1YWw7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJv
cigiQXQgIiArIG9wZXJhdG9yLnNvdXJjZUxpbmVOdW1iZXIgKyAiOiBleHBlY3RlZCBhIG51bWVy
aWMgY29tcGFyaXNvbiBvcGVyYXRvciBidXQgZ290OiAiICsgb3BlcmF0b3Iuc3RyaW5nKTsKLSAg
ICAgICAgfQotICAgICAgICByZXR1cm4ge2V2YWx1YXRlLCBsZWZ0LCByaWdodDogcGFyc2VOdW1l
cmljRXhwcmVzc2lvbigpfTsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gcGFyc2VOb25OZWdh
dGl2ZUludGVnZXIoKQotICAgIHsKLSAgICAgICAgbGV0IHRva2VuID0gbmV4dFRva2VuKCk7Ci0g
ICAgICAgIGlmICghL15bMC05XSskLy50ZXN0KHRva2VuLnN0cmluZykpCi0gICAgICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkF0ICIsIHRva2VuLnNvdXJjZUxpbmVOdW1iZXIgKyAiOiBleHBlY3Rl
ZCBhIGxpbmUgbnVtYmVyIGJ1dCBnb3Q6ICIgKyB0b2tlbi5zdHJpbmcpOwotICAgICAgICByZXR1
cm4gdG9rZW4udmFsdWU7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHBhcnNlR29Ub1N0YXRl
bWVudCgpCi0gICAgewotICAgICAgICBzdGF0ZW1lbnQua2luZCA9IEJhc2ljLkdvVG87Ci0gICAg
ICAgIHN0YXRlbWVudC50YXJnZXQgPSBwYXJzZU5vbk5lZ2F0aXZlSW50ZWdlcigpOwotICAgIH0K
LSAgICAKLSAgICBmdW5jdGlvbiBwYXJzZUdvU3ViU3RhdGVtZW50KCkKLSAgICB7Ci0gICAgICAg
IHN0YXRlbWVudC5raW5kID0gQmFzaWMuR29TdWI7Ci0gICAgICAgIHN0YXRlbWVudC50YXJnZXQg
PSBwYXJzZU5vbk5lZ2F0aXZlSW50ZWdlcigpOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBw
YXJzZVN0YXRlbWVudCgpCi0gICAgewotICAgICAgICBsZXQgc3RhdGVtZW50ID0ge307Ci0gICAg
ICAgIHN0YXRlbWVudC5saW5lTnVtYmVyID0gY29uc3VtZUtpbmQoInVzZXJMaW5lTnVtYmVyIiku
dXNlckxpbmVOdW1iZXI7Ci0gICAgICAgIHByb2dyYW0uc3RhdGVtZW50cy5zZXQoc3RhdGVtZW50
LmxpbmVOdW1iZXIsIHN0YXRlbWVudCk7Ci0gICAgICAgIAotICAgICAgICBsZXQgY29tbWFuZCA9
IG5leHRUb2tlbigpOwotICAgICAgICBzdGF0ZW1lbnQuc291cmNlTGluZU51bWJlciA9IGNvbW1h
bmQuc291cmNlTGluZU51bWJlcjsKLSAgICAgICAgc3dpdGNoIChjb21tYW5kLmtpbmQpIHsKLSAg
ICAgICAgY2FzZSAia2V5d29yZCI6Ci0gICAgICAgICAgICBzd2l0Y2ggKGNvbW1hbmQuc3RyaW5n
LnRvTG93ZXJDYXNlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgImRlZiI6Ci0gICAgICAgICAgICAg
ICAgc3RhdGVtZW50LnByb2Nlc3MgPSBCYXNpYy5EZWY7Ci0gICAgICAgICAgICAgICAgc3RhdGVt
ZW50Lm5hbWUgPSBjb25zdW1lS2luZCgiaWRlbnRpZmllciIpOwotICAgICAgICAgICAgICAgIHN0
YXRlbWVudC5wYXJhbWV0ZXJzID0gW107Ci0gICAgICAgICAgICAgICAgaWYgKHBlZWtUb2tlbigp
LnN0cmluZyA9PSAiKCIpIHsKLSAgICAgICAgICAgICAgICAgICAgZG8gewotICAgICAgICAgICAg
ICAgICAgICAgICAgbmV4dFRva2VuKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1l
bnQucGFyYW1ldGVycy5wdXNoKGNvbnN1bWVLaW5kKCJpZGVudGlmaWVyIikpOwotICAgICAgICAg
ICAgICAgICAgICB9IHdoaWxlIChwZWVrVG9rZW4oKS5zdHJpbmcgPT0gIiwiKTsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LmV4cHJlc3Npb24gPSBwYXJzZU51
bWVyaWNFeHByZXNzaW9uKCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBj
YXNlICJsZXQiOgotICAgICAgICAgICAgICAgIHN0YXRlbWVudC5wcm9jZXNzID0gQmFzaWMuTGV0
OwotICAgICAgICAgICAgICAgIHN0YXRlbWVudC52YXJpYWJsZSA9IHBhcnNlVmFyaWFibGUoKTsK
LSAgICAgICAgICAgICAgICBjb25zdW1lVG9rZW4oIj0iKTsKLSAgICAgICAgICAgICAgICBpZiAo
c3RhdGVtZW50LnByb2Nlc3MgPT0gQmFzaWMuTGV0KQotICAgICAgICAgICAgICAgICAgICBzdGF0
ZW1lbnQuZXhwcmVzc2lvbiA9IHBhcnNlTnVtZXJpY0V4cHJlc3Npb24oKTsKLSAgICAgICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudC5leHByZXNzaW9uID0gcGFy
c2VTdHJpbmdFeHByZXNzaW9uKCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICBjYXNlICJnbyI6IHsKLSAgICAgICAgICAgICAgICBsZXQgbmV4dCA9IG5leHRUb2tlbigpOwot
ICAgICAgICAgICAgICAgIGlmIChuZXh0LnN0cmluZyA9PSAidG8iKQotICAgICAgICAgICAgICAg
ICAgICBwYXJzZUdvVG9TdGF0ZW1lbnQoKTsKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChuZXh0
LnN0cmluZyA9PSAic3ViIikKLSAgICAgICAgICAgICAgICAgICAgcGFyc2VHb1N1YlN0YXRlbWVu
dCgpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJBdCAiICsgbmV4dC5zb3VyY2VMaW5lTnVtYmVyICsgIjogZXhwZWN0ZWQgdG8gb3Ig
c3ViIGJ1dCBnb3Q6ICIgKyBuZXh0LnN0cmluZyk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNlICJnb3RvIjoKLSAgICAgICAgICAgICAgICBw
YXJzZUdvVG9TdGF0ZW1lbnQoKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
IGNhc2UgImdvc3ViIjoKLSAgICAgICAgICAgICAgICBwYXJzZUdvU3ViU3RhdGVtZW50KCk7Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICJpZiI6Ci0gICAgICAgICAg
ICAgICAgc3RhdGVtZW50LnByb2Nlc3MgPSBCYXNpYy5JZjsKLSAgICAgICAgICAgICAgICBzdGF0
ZW1lbnQuY29uZGl0aW9uID0gcGFyc2VSZWxhdGlvbmFsRXhwcmVzc2lvbigpOwotICAgICAgICAg
ICAgICAgIGNvbnN1bWVUb2tlbigidGhlbiIpOwotICAgICAgICAgICAgICAgIHN0YXRlbWVudC50
YXJnZXQgPSBwYXJzZU5vbk5lZ2F0aXZlSW50ZWdlcigpOwotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgY2FzZSAicmV0dXJuIjoKLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQu
cHJvY2VzcyA9IEJhc2ljLlJldHVybjsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIGNhc2UgInN0b3AiOgotICAgICAgICAgICAgICAgIHN0YXRlbWVudC5wcm9jZXNzID0gQmFz
aWMuU3RvcDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIm9uIjoK
LSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQucHJvY2VzcyA9IEJhc2ljLk9uOwotICAgICAgICAg
ICAgICAgIHN0YXRlbWVudC5leHByZXNzaW9uID0gcGFyc2VOdW1lcmljRXhwcmVzc2lvbigpOwot
ICAgICAgICAgICAgICAgIGlmIChwZWVrVG9rZW4oKS5zdHJpbmcgPT0gImdvIikgewotICAgICAg
ICAgICAgICAgICAgICBjb25zdW1lVG9rZW4oImdvIik7Ci0gICAgICAgICAgICAgICAgICAgIGNv
bnN1bWVUb2tlbigidG8iKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAg
ICAgICAgY29uc3VtZVRva2VuKCJnb3RvIik7Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnRh
cmdldHMgPSBbXTsKLSAgICAgICAgICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICAgICAg
ICAgIHN0YXRlbWVudC50YXJnZXRzLnB1c2gocGFyc2VOb25OZWdhdGl2ZUludGVnZXIoKSk7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmIChwZWVrVG9rZW4oKS5zdHJpbmcgIT0gIiwiKQotICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIG5leHRUb2tlbigp
OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
IGNhc2UgImZvciI6Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnByb2Nlc3MgPSBCYXNpYy5G
b3I7Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnZhcmlhYmxlID0gY29uc3VtZUtpbmQoImlk
ZW50aWZpZXIiKS5zdHJpbmc7Ci0gICAgICAgICAgICAgICAgY29uc3VtZVRva2VuKCI9Iik7Ci0g
ICAgICAgICAgICAgICAgc3RhdGVtZW50LmluaXRpYWwgPSBwYXJzZU51bWVyaWNFeHByZXNzaW9u
KCk7Ci0gICAgICAgICAgICAgICAgY29uc3VtZVRva2VuKCJ0byIpOwotICAgICAgICAgICAgICAg
IHN0YXRlbWVudC5saW1pdCA9IHBhcnNlTnVtZXJpY0V4cHJlc3Npb24oKTsKLSAgICAgICAgICAg
ICAgICBpZiAocGVla1Rva2VuKCkuc3RyaW5nID09ICJzdGVwIikgewotICAgICAgICAgICAgICAg
ICAgICBuZXh0VG9rZW4oKTsKLSAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50LnN0ZXAgPSBw
YXJzZU51bWVyaWNFeHByZXNzaW9uKCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICAgICAgICAgIHN0YXRlbWVudC5zdGVwID0ge2V2YWx1YXRlOiBCYXNpYy5Db25zdCwgdmFs
dWU6IDF9OwotICAgICAgICAgICAgICAgIGNvbnN1bWVLaW5kKCJuZXdMaW5lIik7Ci0gICAgICAg
ICAgICAgICAgbGV0IGxhc3RTdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudHMoKTsKLSAgICAgICAg
ICAgICAgICBpZiAobGFzdFN0YXRlbWVudC5wcm9jZXNzICE9IEJhc2ljLk5leHQpCi0gICAgICAg
ICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQXQgIiArIGxhc3RTdGF0ZW1lbnQuc291cmNl
TGluZU51bWJlciArICI6IGV4cGVjdGVkIG5leHQgc3RhdGVtZW50Iik7Ci0gICAgICAgICAgICAg
ICAgaWYgKGxhc3RTdGF0ZW1lbnQudmFyaWFibGUgIT0gc3RhdGVtZW50LnZhcmlhYmxlKQotICAg
ICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0ICIgKyBsYXN0U3RhdGVtZW50LnNv
dXJjZUxpbmVOdW1iZXIgKyAiOiBleHBlY3RlZCBuZXh0IGZvciAiICsgc3RhdGVtZW50LnZhcmlh
YmxlICsgIiBidXQgZ290ICIgKyBsYXN0U3RhdGVtZW50LnZhcmlhYmxlKTsKLSAgICAgICAgICAg
ICAgICBsYXN0U3RhdGVtZW50LnRhcmdldCA9IHN0YXRlbWVudDsKLSAgICAgICAgICAgICAgICBz
dGF0ZW1lbnQudGFyZ2V0ID0gbGFzdFN0YXRlbWVudDsKLSAgICAgICAgICAgICAgICByZXR1cm4g
c3RhdGVtZW50OwotICAgICAgICAgICAgY2FzZSAibmV4dCI6Ci0gICAgICAgICAgICAgICAgc3Rh
dGVtZW50LnByb2Nlc3MgPSBCYXNpYy5OZXh0OwotICAgICAgICAgICAgICAgIHN0YXRlbWVudC52
YXJpYWJsZSA9IGNvbnN1bWVLaW5kKCJpZGVudGlmaWVyIikuc3RyaW5nOwotICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAicHJpbnQiOiB7Ci0gICAgICAgICAgICAgICAg
c3RhdGVtZW50LnByb2Nlc3MgPSBCYXNpYy5QcmludDsKLSAgICAgICAgICAgICAgICBzdGF0ZW1l
bnQuaXRlbXMgPSBbXTsKLSAgICAgICAgICAgICAgICBsZXQgb2sgPSB0cnVlOwotICAgICAgICAg
ICAgICAgIHdoaWxlIChvaykgewotICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHBlZWtUb2tl
bigpLnN0cmluZykgewotICAgICAgICAgICAgICAgICAgICBjYXNlICIsIjoKLSAgICAgICAgICAg
ICAgICAgICAgICAgIG5leHRUb2tlbigpOwotICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVt
ZW50Lml0ZW1zLnB1c2goe2tpbmQ6ICJjb21tYSJ9KTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBjYXNlICI7IjoKLSAgICAgICAgICAgICAgICAg
ICAgICAgIG5leHRUb2tlbigpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICAgICAgICAgIGNhc2UgInRhYiI6Ci0gICAgICAgICAgICAgICAgICAgICAgICBuZXh0
VG9rZW4oKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN1bWVUb2tlbigiKCIpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50Lml0ZW1zLnB1c2goe2tpbmQ6ICJ0YWIiLCB2
YWx1ZTogcGFyc2VOdW1lcmljRXhwcmVzc2lvbigpfSk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSAiXG4iOgotICAgICAgICAgICAgICAg
ICAgICAgICAgb2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlz
U3RyaW5nRXhwcmVzc2lvbigpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVt
ZW50Lml0ZW1zLnB1c2goe2tpbmQ6ICJzdHJpbmciLCB2YWx1ZTogcGFyc2VTdHJpbmdFeHByZXNz
aW9uKCl9KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudC5pdGVtcy5w
dXNoKHtraW5kOiAibnVtYmVyIiwgdmFsdWU6IHBhcnNlTnVtZXJpY0V4cHJlc3Npb24oKX0pOwot
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBjYXNlICJpbnB1dCI6Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnByb2Nl
c3MgPSBCYXNpYy5JbnB1dDsKLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQuaXRlbXMgPSBbXTsK
LSAgICAgICAgICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICAgICAgICAgIHN0YW1lbnQu
aXRlbXMucHVzaChwYXJzZVZhcmlhYmxlKCkpOwotICAgICAgICAgICAgICAgICAgICBpZiAocGVl
a1Rva2VuKCkuc3RyaW5nICE9ICIsIikKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgICAgICAgICBuZXh0VG9rZW4oKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICJyZWFkIjoKLSAgICAgICAgICAg
ICAgICBzdGF0ZW1lbnQucHJvY2VzcyA9IEJhc2ljLlJlYWQ7Ci0gICAgICAgICAgICAgICAgc3Rh
dGVtZW50Lml0ZW1zID0gW107Ci0gICAgICAgICAgICAgICAgZm9yICg7OykgewotICAgICAgICAg
ICAgICAgICAgICBzdGFtZW50Lml0ZW1zLnB1c2gocGFyc2VWYXJpYWJsZSgpKTsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKHBlZWtUb2tlbigpLnN0cmluZyAhPSAiLCIpCi0gICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgbmV4dFRva2VuKCk7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAi
cmVzdG9yZSI6Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnByb2Nlc3MgPSBCYXNpYy5SZXN0
b3JlOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAiZGF0YSI6Ci0g
ICAgICAgICAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgICAgICAgICBwcm9ncmFtLmRh
dGEucHVzaChwYXJzZUNvbnN0YW50KCkpOwotICAgICAgICAgICAgICAgICAgICBpZiAocGVla1Rv
a2VuKCkuc3RyaW5nICE9ICIsIikKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgICAgICAgICBuZXh0VG9rZW4oKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICJkaW0iOgotICAgICAgICAgICAgICAg
IHN0YXRlbWVudC5wcm9jZXNzID0gQmFzaWMuRGltOwotICAgICAgICAgICAgICAgIHN0YXRlbWVu
dC5pdGVtcyA9IFtdOwotICAgICAgICAgICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgICAg
ICAgICAgbGV0IG5hbWUgPSBjb25zdW1lS2luZCgiaWRlbnRpZmllciIpLnN0cmluZzsKLSAgICAg
ICAgICAgICAgICAgICAgY29uc3VtZVRva2VuKCIoIik7Ci0gICAgICAgICAgICAgICAgICAgIGxl
dCBib3VuZHMgPSBbXTsKLSAgICAgICAgICAgICAgICAgICAgYm91bmRzLnB1c2gocGFyc2VOb25O
ZWdhdGl2ZUludGVnZXIoKSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChwZWVrVG9rZW4oKS5z
dHJpbmcgPT0gIiwiKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBuZXh0VG9rZW4oKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGJvdW5kcy5wdXNoKHBhcnNlTm9uTmVnYXRpdmVJbnRlZ2Vy
KCkpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN1bWVU
b2tlbigiKSIpOwotICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQuaXRlbXMucHVzaCh7bmFt
ZSwgYm91bmRzfSk7Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICBp
ZiAocGVla1Rva2VuKCkuc3RyaW5nICE9ICIsIikKLSAgICAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgICAgICAgICBjb25zdW1lVG9rZW4oIiwiKTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICJvcHRpb24i
OiB7Ci0gICAgICAgICAgICAgICAgY29uc3VtZVRva2VuKCJiYXNlIik7Ci0gICAgICAgICAgICAg
ICAgbGV0IGJhc2UgPSBwYXJzZU5vbk5lZ2F0aXZlSW50ZWdlcigpOwotICAgICAgICAgICAgICAg
IGlmIChiYXNlICE9IDAgJiYgYmFzZSAhPSAxKQotICAgICAgICAgICAgICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkF0ICIgKyBjb21tYW5kLnNvdXJjZUxpbmVOdW1iZXIgKyAiOiB1bmV4cGVjdGVk
IGJhc2U6ICIgKyBiYXNlKTsKLSAgICAgICAgICAgICAgICBwcm9ncmFtLmJhc2UgPSBiYXNlOwot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAi
cmFuZG9taXplIjoKLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQucHJvY2VzcyA9IEJhc2ljLlJh
bmRvbWl6ZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgImVuZCI6
Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnByb2Nlc3MgPSBCYXNpYy5FbmQ7Ci0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHRo
cm93IG5ldyBFcnJvcigiQXQgIiArIGNvbW1hbmQuc291cmNlTGluZU51bWJlciArICI6IHVuZXhw
ZWN0ZWQgY29tbWFuZCBidXQgZ290OiAiICsgY29tbWFuZC5zdHJpbmcpOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgInJlbWFyayI6Ci0gICAgICAgICAg
ICAvLyBKdXN0IGlnbm9yZSBpdC4KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJBdCAiICsgY29tbWFuZC5zb3VyY2VMaW5l
TnVtYmVyICsgIjogZXhwZWN0ZWQgY29tbWFuZCBidXQgZ290OiAiICsgY29tbWFuZC5zdHJpbmcg
KyAiIChvZiBraW5kICIgKyBjb21tYW5kLmtpbmQgKyAiKSIpOwotICAgICAgICB9Ci0gICAgICAg
IAotICAgICAgICBjb25zdW1lS2luZCgibmV3TGluZSIpOwotICAgICAgICByZXR1cm4gc3RhdGVt
ZW50OwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBwYXJzZVN0YXRlbWVudHMoKQotICAgIHsK
LSAgICAgICAgbGV0IHN0YXRlbWVudDsKLSAgICAgICAgZG8gewotICAgICAgICAgICAgc3RhdGVt
ZW50ID0gcGFyc2VTdGF0ZW1lbnQoKTsKLSAgICAgICAgfSB3aGlsZSAoIXN0YXRlbWVudC5wcm9j
ZXNzIHx8ICFzdGF0ZW1lbnQucHJvY2Vzcy5pc0Jsb2NrRW5kKTsKLSAgICAgICAgcmV0dXJuIHN0
YXRlbWVudDsKLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIHsKLSAgICAgICAgcHJvZ3JhbSgpCi0g
ICAgICAgIHsKLSAgICAgICAgICAgIHByb2dyYW0gPSB7Ci0gICAgICAgICAgICAgICAgcHJvY2Vz
czogQmFzaWMuUHJvZ3JhbSwKLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnRzOiBuZXcgTWFwKCks
Ci0gICAgICAgICAgICAgICAgZGF0YTogW10sCi0gICAgICAgICAgICAgICAgYmFzZTogMAotICAg
ICAgICAgICAgfTsKLSAgICAgICAgICAgIGxldCBsYXN0U3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1l
bnRzKHByb2dyYW0uc3RhdGVtZW50cyk7Ci0gICAgICAgICAgICBpZiAobGFzdFN0YXRlbWVudC5w
cm9jZXNzICE9IEJhc2ljLkVuZCkKLSAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0
ICIgKyBsYXN0U3RhdGVtZW50LnNvdXJjZUxpbmVOdW1iZXIgKyAiOiBleHBlY3RlZCBlbmQiKTsK
LSAgICAgICAgICAgIAotICAgICAgICAgICAgcmV0dXJuIHByb2dyYW07Ci0gICAgICAgIH0sCi0g
ICAgICAgIAotICAgICAgICBzdGF0ZW1lbnQocHJvZ3JhbV8pCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHByb2dyYW0gPSBwcm9ncmFtXzsKLSAgICAgICAgICAgIHJldHVybiBwYXJzZVN0YXRlbWVu
dCgpOwotICAgICAgICB9Ci0gICAgfTsKLX0KLQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZT
YW1wbGVCZW5jaC9CYXNpYy9yYW5kb20uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0
cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9yYW5kb20uanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBl
cmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvcmFuZG9tLmpzCShub25leGlzdGVu
dCkKQEAgLTEsNTQgKzAsMCBAQAotLy8gQ29weXJpZ2h0IDIwMTMgdGhlIFY4IHByb2plY3QgYXV0
aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIENvcHlyaWdodCAoQykgMjAxNS0yMDE2IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotLy8gbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
IGFyZQotLy8gbWV0OgotLy8KLS8vICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0vLyAgICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0vLyAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
Ci0vLyAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZwotLy8gICAgICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCi0vLyAgICAgICB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0vLyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCi0vLyAgICAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKLS8vICAgICAgIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLS8vCi0vLyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCi0vLyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAotLy8gTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0vLyBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotLy8g
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCi0vLyBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0vLyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLS8vIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQotLy8gVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0vLyBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotInVzZSBz
dHJpY3QiOwotCi0vLyBUaGlzIGlzIGJhc2VkIG9uIE9jdGFuZSdzIFJORy4KLWZ1bmN0aW9uIGNy
ZWF0ZVJORyhzZWVkKQotewotICAgIHJldHVybiBmdW5jdGlvbigpIHsKLSAgICAgICAgLy8gUm9i
ZXJ0IEplbmtpbnMnIDMyIGJpdCBpbnRlZ2VyIGhhc2ggZnVuY3Rpb24uCi0gICAgICAgIHNlZWQg
PSAoKHNlZWQgKyAweDdlZDU1ZDE2KSArIChzZWVkIDw8IDEyKSkgICYgMHhmZmZmZmZmZjsKLSAg
ICAgICAgc2VlZCA9ICgoc2VlZCBeIDB4Yzc2MWMyM2MpIF4gKHNlZWQgPj4+IDE5KSkgJiAweGZm
ZmZmZmZmOwotICAgICAgICBzZWVkID0gKChzZWVkICsgMHgxNjU2NjdiMSkgKyAoc2VlZCA8PCA1
KSkgICAmIDB4ZmZmZmZmZmY7Ci0gICAgICAgIHNlZWQgPSAoKHNlZWQgKyAweGQzYTI2NDZjKSBe
IChzZWVkIDw8IDkpKSAgICYgMHhmZmZmZmZmZjsKLSAgICAgICAgc2VlZCA9ICgoc2VlZCArIDB4
ZmQ3MDQ2YzUpICsgKHNlZWQgPDwgMykpICAgJiAweGZmZmZmZmZmOwotICAgICAgICBzZWVkID0g
KChzZWVkIF4gMHhiNTVhNGYwOSkgXiAoc2VlZCA+Pj4gMTYpKSAmIDB4ZmZmZmZmZmY7Ci0gICAg
ICAgIHJldHVybiAoc2VlZCAmIDB4ZmZmZmZmZikgLyAweDEwMDAwMDAwOwotICAgIH07Ci19Ci0K
LWZ1bmN0aW9uIGNyZWF0ZVJOR1dpdGhGaXhlZFNlZWQoKQotewotICAgIC8vIFRoaXMgdXNlcyBP
Y3RhbmUncyBpbml0aWFsIHNlZWQuCi0gICAgcmV0dXJuIGNyZWF0ZVJORyg0OTczNDMyMSk7Ci19
Ci0KLWZ1bmN0aW9uIGNyZWF0ZVJOR1dpdGhSYW5kb21TZWVkKCkKLXsKLSAgICByZXR1cm4gY3Jl
YXRlUk5HKChNYXRoLnJhbmRvbSgpICogNDI5NDk2NzI5NikgfCAwKTsKLX0KSW5kZXg6IFBlcmZv
cm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvc3RhdGUuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
UGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9zdGF0ZS5qcwkocmV2aXNpb24g
MjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9zdGF0ZS5q
cwkobm9uZXhpc3RlbnQpCkBAIC0xLDk4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgU3RhdGUgewotICAg
IGNvbnN0cnVjdG9yKHByb2dyYW0pCi0gICAgewotICAgICAgICB0aGlzLnZhbHVlcyA9IG5ldyBD
YXNlbGVzc01hcCgpOwotICAgICAgICB0aGlzLnN0cmluZ1ZhbHVlcyA9IG5ldyBDYXNlbGVzc01h
cCgpOwotICAgICAgICB0aGlzLnNpZGVTdGF0ZSA9IG5ldyBXZWFrTWFwKCk7Ci0gICAgICAgIHRo
aXMuc3RhdGVtZW50ID0gbnVsbDsKLSAgICAgICAgdGhpcy5uZXh0TGluZU51bWJlciA9IDA7Ci0g
ICAgICAgIHRoaXMuc3ViU3RhY2sgPSBbXTsKLSAgICAgICAgdGhpcy5kYXRhSW5kZXggPSAwOwot
ICAgICAgICB0aGlzLnByb2dyYW0gPSBwcm9ncmFtOwotICAgICAgICB0aGlzLnJuZyA9IGNyZWF0
ZVJOR1dpdGhGaXhlZFNlZWQoKTsKLSAgICAgICAgCi0gICAgICAgIGxldCBhZGROYXRpdmUgPSAo
bmFtZSwgY2FsbGJhY2spID0+IHsKLSAgICAgICAgICAgIHRoaXMudmFsdWVzLnNldChuYW1lLCBu
ZXcgTmF0aXZlRnVuY3Rpb24oY2FsbGJhY2spKTsKLSAgICAgICAgfTsKLSAgICAgICAgCi0gICAg
ICAgIGFkZE5hdGl2ZSgiYWJzIiwgeCA9PiBNYXRoLmFicyh4KSk7Ci0gICAgICAgIGFkZE5hdGl2
ZSgiYXRuIiwgeCA9PiBNYXRoLmF0YW4oeCkpOwotICAgICAgICBhZGROYXRpdmUoImNvcyIsIHgg
PT4gTWF0aC5jb3MoeCkpOwotICAgICAgICBhZGROYXRpdmUoImV4cCIsIHggPT4gTWF0aC5leHAo
eCkpOwotICAgICAgICBhZGROYXRpdmUoImludCIsIHggPT4gTWF0aC5mbG9vcih4KSk7Ci0gICAg
ICAgIGFkZE5hdGl2ZSgibG9nIiwgeCA9PiBNYXRoLmxvZyh4KSk7Ci0gICAgICAgIGFkZE5hdGl2
ZSgicm5kIiwgKCkgPT4gdGhpcy5ybmcoKSk7Ci0gICAgICAgIGFkZE5hdGl2ZSgic2duIiwgeCA9
PiBNYXRoLnNpZ24oeCkpOwotICAgICAgICBhZGROYXRpdmUoInNpbiIsIHggPT4gTWF0aC5zaW4o
eCkpOwotICAgICAgICBhZGROYXRpdmUoInNxciIsIHggPT4gTWF0aC5zcXJ0KHgpKTsKLSAgICAg
ICAgYWRkTmF0aXZlKCJ0YW4iLCB4ID0+IE1hdGgudGFuKHgpKTsKLSAgICB9Ci0gICAgCi0gICAg
Z2V0VmFsdWUobmFtZSwgbnVtUGFyYW1ldGVycykKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLnZh
bHVlcy5oYXMobmFtZSkpCi0gICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZXMuZ2V0KG5hbWUp
OwotCi0gICAgICAgIGxldCByZXN1bHQ7Ci0gICAgICAgIGlmIChudW1QYXJhbWV0ZXJzID09IDAp
Ci0gICAgICAgICAgICByZXN1bHQgPSBuZXcgTnVtYmVyVmFsdWUoKTsKLSAgICAgICAgZWxzZSB7
Ci0gICAgICAgICAgICBsZXQgZGltID0gW107Ci0gICAgICAgICAgICB3aGlsZSAobnVtUGFyYW1l
dGVycy0tKQotICAgICAgICAgICAgICAgIGRpbS5wdXNoKDExKTsKLSAgICAgICAgICAgIHJlc3Vs
dCA9IG5ldyBOdW1iZXJBcnJheShkaW0pOwotICAgICAgICB9Ci0gICAgICAgIHRoaXMudmFsdWVz
LnNldChuYW1lLCByZXN1bHQpOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAK
LSAgICBnZXRTaWRlU3RhdGUoa2V5KQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnNpZGVTdGF0
ZS5oYXMoa2V5KSkgewotICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHt9OwotICAgICAgICAgICAg
dGhpcy5zaWRlU3RhdGUuc2V0KGtleSwgcmVzdWx0KTsKLSAgICAgICAgICAgIHJldHVybiByZXN1
bHQ7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHRoaXMuc2lkZVN0YXRlLmdldChrZXkpOwot
ICAgIH0KLSAgICAKLSAgICBhYm9ydCh0ZXh0KQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnN0
YXRlbWVudCkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQXQgYmVnaW5uaW5nIG9mIGV4
ZWN1dGlvbjogIiArIHRleHQpOwotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0ICIgKyB0aGlz
LnN0YXRlbWVudC5zb3VyY2VMaW5lTnVtYmVyICsgIjogIiArIHRleHQpOwotICAgIH0KLSAgICAK
LSAgICB2YWxpZGF0ZShwcmVkaWNhdGUsIHRleHQpCi0gICAgewotICAgICAgICBpZiAoIXByZWRp
Y2F0ZSkKLSAgICAgICAgICAgIHRoaXMuYWJvcnQodGV4dCk7Ci0gICAgfQotfQotCkluZGV4OiBQ
ZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL3N0cmVzcy10ZXN0LmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvc3RyZXNzLXRl
c3QuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVu
Y2gvQmFzaWMvc3RyZXNzLXRlc3QuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSw1NCArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7
Ci0KLWxvYWQoImFzdC5qcyIpOwotbG9hZCgiYmFzaWMuanMiKTsKLWxvYWQoImNhc2VsZXNzX21h
cC5qcyIpOwotbG9hZCgibGV4ZXIuanMiKTsKLWxvYWQoIm51bWJlci5qcyIpOwotbG9hZCgicGFy
c2VyLmpzIik7Ci1sb2FkKCJyYW5kb20uanMiKTsKLWxvYWQoInN0YXRlLmpzIik7Ci1sb2FkKCJ1
dGlsLmpzIik7Ci1sb2FkKCJiZW5jaG1hcmsuanMiKTsKLQotbGV0IGJlbmNobWFyayA9IG5ldyBC
YXNpY0JlbmNobWFyaygpOwotbGV0IGJlZm9yZSA9IHByZWNpc2VUaW1lKCk7Ci0KLS8vIFJ1biBm
b3IgYXQgbGVhc3QgMTAgaXRlcmF0aW9ucy4KLWZvciAobGV0IGkgPSAwOyBpIDwgMTA7ICsraSkg
ewotICAgIHByaW50KCJSdW5uaW5nIG1hbmRhdG9yeSBpdGVyYXRpb24gIyIgKyAoaSArIDEpICsg
IjoiKTsKLSAgICBiZW5jaG1hcmsucnVuSXRlcmF0aW9uKCk7Ci19Ci0KLS8vIFJ1biB1bnRpbCB3
ZSBoYXZlIGJlZW4gcnVubmluZyBmb3IgdHdvIHNlY29uZHMuCi13aGlsZSAocHJlY2lzZVRpbWUo
KSA8IGJlZm9yZSArIDIpIHsKLSAgICBwcmludCgiUnVubmluZyBib251cyBpdGVyYXRpb246Iik7
Ci0gICAgYmVuY2htYXJrLnJ1bkl0ZXJhdGlvbigpOwotfQotCi1wcmludCgiU3VjY2VzcyEiKTsK
LQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy90ZXN0Lmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy90ZXN0
Lmh0bWwJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVu
Y2gvQmFzaWMvdGVzdC5odG1sCShub25leGlzdGVudCkKQEAgLTEsMzQgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTx0aXRsZT5CYXNpYzwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iYXN0LmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJiYXNpYy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iY2Fz
ZWxlc3NfbWFwLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJsZXhlci5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0ibnVtYmVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJwYXJzZXIu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJhbmRvbS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0ic3RhdGUuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InV0aWwuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9ImJlbmNobWFyay5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgIGZ1
bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgICB2YXIgcmVzdWx0
ID0gcnVuQmVuY2htYXJrKCk7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cmVzdWx0LXN1bW1hcnkiKS5pbm5lckhUTUwgPSAiVGhhdCB0b29rICIgKyByZXN1bHQgKyAiIG1z
LiI7Ci0gICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJyZXN1bHQtc3VtbWFyeSIpLmlubmVySFRNTCA9ICJGYWlsZWQ6ICIgKyBlOwotICAg
ICAgICB9Ci0gICAgfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5CYXNpYzwvaDE+
Ci08cD4KLSAgPGRpdiBpZD0icmVzdWx0LXN1bW1hcnkiPjwvZGl2PgotICA8ZGl2PjxhIGhyZWY9
ImphdmFzY3JpcHQ6cnVuVGVzdCgpIj5TdGFydCBUZXN0PC9hPjwvZGl2PgotPC9wPgotPC9ib2R5
PgotPC9odG1sPgotCi0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFz
aWMvdGVzdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNo
L0Jhc2ljL3Rlc3QuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2
U2FtcGxlQmVuY2gvQmFzaWMvdGVzdC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDE2ICswLDAgQEAK
LSJ1c2Ugc3RyaWN0IjsKLQotbG9hZCgiYXN0LmpzIik7Ci1sb2FkKCJiYXNpYy5qcyIpOwotbG9h
ZCgiY2FzZWxlc3NfbWFwLmpzIik7Ci1sb2FkKCJsZXhlci5qcyIpOwotbG9hZCgibnVtYmVyLmpz
Iik7Ci1sb2FkKCJwYXJzZXIuanMiKTsKLWxvYWQoInJhbmRvbS5qcyIpOwotbG9hZCgic3RhdGUu
anMiKTsKLWxvYWQoInV0aWwuanMiKTsKLQotbG9hZCgiYmVuY2htYXJrLmpzIik7Ci0KLWxldCBy
ZXN1bHQgPSBydW5CZW5jaG1hcmsoKTsKLXByaW50KCJUaGF0IHRvb2sgIiArIHJlc3VsdCArICIg
bXMuIik7CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL3V0aWwu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy91
dGlsLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJl
bmNoL0Jhc2ljL3V0aWwuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWxl
dCBjdXJyZW50VGltZTsKLWlmICh0aGlzLnBlcmZvcm1hbmNlICYmIHBlcmZvcm1hbmNlLm5vdykK
LSAgICBjdXJyZW50VGltZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gcGVyZm9ybWFuY2Uubm93KCkg
fTsKLWVsc2UgaWYgKHRoaXMucHJlY2lzZVRpbWUpCi0gICAgY3VycmVudFRpbWUgPSBmdW5jdGlv
bigpIHsgcmV0dXJuIHByZWNpc2VUaW1lKCkgKiAxMDAwOyB9OwotZWxzZQotICAgIGN1cnJlbnRU
aW1lID0gZnVuY3Rpb24oKSB7IHJldHVybiArbmV3IERhdGUoKTsgfTsKLQpJbmRleDogUGVyZm9y
bWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9haXJfYmVuY2htYXJrLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvYWlyX2JlbmNobWFyay5qcwkocmV2aXNp
b24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9haXJfYmVuY2ht
YXJrLmpzCShub25leGlzdGVudCkKQEAgLTEsMTA1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY29uc3QgQWlyQmVu
Y2htYXJrQ29kZSA9IFN0cmluZy5yYXdgCi08c2NyaXB0IHNyYz0iQWlyL3N5bWJvbHMuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9IkFpci90bXBfYmFzZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iQWlyL2FyZy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iQWlyL2Jhc2ljX2Jsb2Nr
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJBaXIvY29kZS5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iQWlyL2ZyZXF1ZW50ZWRfYmxvY2suanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
IkFpci9pbnN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJBaXIvb3Bjb2RlLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJBaXIvcmVnLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJB
aXIvc3RhY2tfc2xvdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iQWlyL3RtcC5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iQWlyL3V0aWwuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
IkFpci9jdXN0b20uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IkFpci9saXZlbmVzcy5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iQWlyL2luc2VydGlvbl9zZXQuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9IkFpci9hbGxvY2F0ZV9zdGFjay5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iQWlyL3BheWxvYWQtZ2JlbXUtZXhlY3V0ZUl0ZXJhdGlvbi5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0iQWlyL3BheWxvYWQtaW1hZ2luZy1nYXVzc2lhbi1ibHVyLWdhdXNzaWFuQmx1ci5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iQWlyL3BheWxvYWQtYWlyanMtQUNMajhDLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJBaXIvcGF5bG9hZC10eXBlc2NyaXB0LXNjYW5JZGVudGlm
aWVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJBaXIvYmVuY2htYXJrLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci12YXIgcmVzdWx0cyA9IFtdOwotdmFyIGJlbmNobWFyayA9IG5ldyBBaXJC
ZW5jaG1hcmsoKTsKLXZhciBudW1JdGVyYXRpb25zID0gMjAwOwotZm9yICh2YXIgaSA9IDA7IGkg
PCBudW1JdGVyYXRpb25zOyArK2kpIHsKLSAgICB2YXIgYmVmb3JlID0gY3VycmVudFRpbWUoKTsK
LSAgICBiZW5jaG1hcmsucnVuSXRlcmF0aW9uKCk7Ci0gICAgdmFyIGFmdGVyID0gY3VycmVudFRp
bWUoKTsKLSAgICByZXN1bHRzLnB1c2goYWZ0ZXIgLSBiZWZvcmUpOwotfQotcmVwb3J0UmVzdWx0
KHJlc3VsdHMpOwotPC9zY3JpcHQ+YDsKLQotbGV0IHJ1bkFpckJlbmNobWFyayA9IG51bGw7Ci1p
ZiAoIWlzSW5Ccm93c2VyKSB7Ci0gICAgbGV0IHNvdXJjZXMgPSBbCi0gICAgICAgICJBaXIvc3lt
Ym9scy5qcyIKLSAgICAgICAgLCAiQWlyL3RtcF9iYXNlLmpzIgotICAgICAgICAsICJBaXIvYXJn
LmpzIgotICAgICAgICAsICJBaXIvYmFzaWNfYmxvY2suanMiCi0gICAgICAgICwgIkFpci9jb2Rl
LmpzIgotICAgICAgICAsICJBaXIvZnJlcXVlbnRlZF9ibG9jay5qcyIKLSAgICAgICAgLCAiQWly
L2luc3QuanMiCi0gICAgICAgICwgIkFpci9vcGNvZGUuanMiCi0gICAgICAgICwgIkFpci9yZWcu
anMiCi0gICAgICAgICwgIkFpci9zdGFja19zbG90LmpzIgotICAgICAgICAsICJBaXIvdG1wLmpz
IgotICAgICAgICAsICJBaXIvdXRpbC5qcyIKLSAgICAgICAgLCAiQWlyL2N1c3RvbS5qcyIKLSAg
ICAgICAgLCAiQWlyL2xpdmVuZXNzLmpzIgotICAgICAgICAsICJBaXIvaW5zZXJ0aW9uX3NldC5q
cyIKLSAgICAgICAgLCAiQWlyL2FsbG9jYXRlX3N0YWNrLmpzIgotICAgICAgICAsICJBaXIvcGF5
bG9hZC1nYmVtdS1leGVjdXRlSXRlcmF0aW9uLmpzIgotICAgICAgICAsICJBaXIvcGF5bG9hZC1p
bWFnaW5nLWdhdXNzaWFuLWJsdXItZ2F1c3NpYW5CbHVyLmpzIgotICAgICAgICAsICJBaXIvcGF5
bG9hZC1haXJqcy1BQ0xqOEMuanMiCi0gICAgICAgICwgIkFpci9wYXlsb2FkLXR5cGVzY3JpcHQt
c2NhbklkZW50aWZpZXIuanMiCi0gICAgICAgICwgIkFpci9iZW5jaG1hcmsuanMiCi0gICAgXTsK
LQotICAgIHJ1bkFpckJlbmNobWFyayA9IG1ha2VCZW5jaG1hcmtSdW5uZXIoc291cmNlcywgIkFp
ckJlbmNobWFyayIpOwotfQotCi1jb25zdCBBaXJCZW5jaG1hcmtSdW5uZXIgPSB7Ci0gICAgY29k
ZTogQWlyQmVuY2htYXJrQ29kZSwKLSAgICBydW46IHJ1bkFpckJlbmNobWFyaywKLSAgICBjZWxs
czogeyB9LAotICAgIG5hbWU6ICJBaXIiCi19OwotCi1pZiAoaXNJbkJyb3dzZXIpIHsKLSAgICBB
aXJCZW5jaG1hcmtSdW5uZXIuY2VsbHMgPSB7Ci0gICAgICAgIGZpcnN0SXRlcmF0aW9uOiBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiQWlyRmlyc3RJdGVyYXRpb24iKSwKLSAgICAgICAgYXZlcmFn
ZVdvcnN0Q2FzZTogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkFpckF2ZXJhZ2VXb3JzdENhc2Ui
KSwKLSAgICAgICAgc3RlYWR5U3RhdGU6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJBaXJTdGVh
ZHlTdGF0ZSIpLAotICAgICAgICBtZXNzYWdlOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiQWly
TWVzc2FnZSIpCi0gICAgfQotfQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5j
aC9iYXNpY19iZW5jaG1hcmsuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZT
YW1wbGVCZW5jaC9iYXNpY19iZW5jaG1hcmsuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZv
cm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvYmFzaWNfYmVuY2htYXJrLmpzCShub25leGlzdGVu
dCkKQEAgLTEsODQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1jb25zdCBCYXNpY0JlbmNobWFya0NvZGUgPSBTdHJp
bmcucmF3YAotPHNjcmlwdCBzcmM9IkJhc2ljL2FzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0iQmFzaWMvYmFzaWMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IkJhc2ljL2Nhc2VsZXNz
X21hcC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iQmFzaWMvbGV4ZXIuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9IkJhc2ljL251bWJlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
QmFzaWMvcGFyc2VyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJCYXNpYy9yYW5kb20uanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9IkJhc2ljL3N0YXRlLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSJCYXNpYy91dGlsLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJCYXNpYy9iZW5j
aG1hcmsuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLXZhciByZXN1bHRzID0gW107Ci12YXIgYmVu
Y2htYXJrID0gbmV3IEJhc2ljQmVuY2htYXJrKCk7Ci12YXIgbnVtSXRlcmF0aW9ucyA9IDIwMDsK
LWZvciAodmFyIGkgPSAwOyBpIDwgbnVtSXRlcmF0aW9uczsgKytpKSB7Ci0gICAgdmFyIGJlZm9y
ZSA9IGN1cnJlbnRUaW1lKCk7Ci0gICAgYmVuY2htYXJrLnJ1bkl0ZXJhdGlvbigpOwotICAgIHZh
ciBhZnRlciA9IGN1cnJlbnRUaW1lKCk7Ci0gICAgcmVzdWx0cy5wdXNoKGFmdGVyIC0gYmVmb3Jl
KTsKLX0KLXJlcG9ydFJlc3VsdChyZXN1bHRzKTsKLTwvc2NyaXB0PmA7Ci0KLQotbGV0IHJ1bkJh
c2ljQmVuY2htYXJrID0gbnVsbDsKLWlmICghaXNJbkJyb3dzZXIpIHsKLSAgICBsZXQgc291cmNl
cyA9IFsKLSAgICAgICAgIkJhc2ljL2FzdC5qcyIKLSAgICAgICAgLCAiQmFzaWMvYmFzaWMuanMi
Ci0gICAgICAgICwgIkJhc2ljL2Nhc2VsZXNzX21hcC5qcyIKLSAgICAgICAgLCAiQmFzaWMvbGV4
ZXIuanMiCi0gICAgICAgICwgIkJhc2ljL251bWJlci5qcyIKLSAgICAgICAgLCAiQmFzaWMvcGFy
c2VyLmpzIgotICAgICAgICAsICJCYXNpYy9yYW5kb20uanMiCi0gICAgICAgICwgIkJhc2ljL3N0
YXRlLmpzIgotICAgICAgICAsICJCYXNpYy91dGlsLmpzIgotICAgICAgICAsICJCYXNpYy9iZW5j
aG1hcmsuanMiCi0gICAgXTsKLQotICAgIHJ1bkJhc2ljQmVuY2htYXJrID0gbWFrZUJlbmNobWFy
a1J1bm5lcihzb3VyY2VzLCAiQmFzaWNCZW5jaG1hcmsiKTsKLX0KLQotY29uc3QgQmFzaWNCZW5j
aG1hcmtSdW5uZXIgPSB7Ci0gICAgbmFtZTogIkJhc2ljIiwKLSAgICBjb2RlOiBCYXNpY0JlbmNo
bWFya0NvZGUsCi0gICAgcnVuOiBydW5CYXNpY0JlbmNobWFyaywKLSAgICBjZWxsczoge30KLX07
Ci0KLWlmIChpc0luQnJvd3NlcikgewotICAgIEJhc2ljQmVuY2htYXJrUnVubmVyLmNlbGxzID0g
ewotICAgICAgICBmaXJzdEl0ZXJhdGlvbjogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkJhc2lj
Rmlyc3RJdGVyYXRpb24iKSwKLSAgICAgICAgYXZlcmFnZVdvcnN0Q2FzZTogZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoIkJhc2ljQXZlcmFnZVdvcnN0Q2FzZSIpLAotICAgICAgICBzdGVhZHlTdGF0
ZTogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkJhc2ljU3RlYWR5U3RhdGUiKSwKLSAgICAgICAg
bWVzc2FnZTogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkJhc2ljTWVzc2FnZSIpCi0gICAgfTsK
LX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvY2xpLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvY2xpLmpzCShyZXZpc2lvbiAy
MTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL2NsaS5qcwkobm9uZXhp
c3RlbnQpCkBAIC0xLDMzICswLDAgQEAKLWNvbnN0IGlzSW5Ccm93c2VyID0gZmFsc2U7Ci0KLWZ1
bmN0aW9uIG1ha2VCZW5jaG1hcmtSdW5uZXIoc291cmNlcywgYmVuY2htYXJrQ29uc3RydWN0b3Ip
IHsKLSAgICBsZXQgc291cmNlID0gIid1c2Ugc3RyaWN0JzsiCi0gICAgZm9yIChsZXQgZmlsZSBv
ZiBzb3VyY2VzKSB7Ci0gICAgICAgIHNvdXJjZSArPSByZWFkRmlsZShmaWxlKTsKLSAgICB9Ci0g
ICAgc291cmNlICs9IGAKLSAgICAgICAgdGhpcy5yZXN1bHRzID0gW107Ci0gICAgICAgIHZhciBi
ZW5jaG1hcmsgPSBuZXcgJHtiZW5jaG1hcmtDb25zdHJ1Y3Rvcn0oKTsKLSAgICAgICAgdmFyIG51
bUl0ZXJhdGlvbnMgPSAyMDA7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVtSXRlcmF0
aW9uczsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgYmVmb3JlID0gY3VycmVudFRpbWUoKTsKLSAg
ICAgICAgICAgIGJlbmNobWFyay5ydW5JdGVyYXRpb24oKTsKLSAgICAgICAgICAgIHZhciBhZnRl
ciA9IGN1cnJlbnRUaW1lKCk7Ci0gICAgICAgICAgICByZXN1bHRzLnB1c2goYWZ0ZXIgLSBiZWZv
cmUpOwotICAgICAgICB9Ci0gICAgYDsKLSAgICByZXR1cm4gZnVuY3Rpb24gZG9SdW4oKSB7Ci0g
ICAgICAgIGxldCBnbG9iYWxPYmplY3RPZlNjcmlwdCA9IHJ1blN0cmluZyhzb3VyY2UpOwotICAg
ICAgICBsZXQgcmVzdWx0cyA9IGdsb2JhbE9iamVjdE9mU2NyaXB0LnJlc3VsdHM7Ci0gICAgICAg
IHJlcG9ydFJlc3VsdChyZXN1bHRzKTsKLSAgICB9Ci19Ci0KLWxvYWQoImRyaXZlci5qcyIpOwot
bG9hZCgicmVzdWx0cy5qcyIpOwotbG9hZCgic3RhdHMuanMiKTsKLWxvYWQoImFpcl9iZW5jaG1h
cmsuanMiKTsKLWxvYWQoImJhc2ljX2JlbmNobWFyay5qcyIpOwotbG9hZCgiZ2x1ZS5qcyIpOwot
Ci1kcml2ZXIuc3RhcnQoMTApOwpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5j
aC9kcml2ZXIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5j
aC9kcml2ZXIuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2Ft
cGxlQmVuY2gvZHJpdmVyLmpzCShub25leGlzdGVudCkKQEAgLTEsMTgxICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQot
Y2xhc3MgRHJpdmVyIHsKLSAgICBjb25zdHJ1Y3Rvcih0cmlnZ2VyQ2VsbCwgdHJpZ2dlckxpbmss
IG1hZ2ljQ2VsbCwgc3VtbWFyeUNlbGwsIGtleSkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2JlbmNo
bWFya3MgPSBuZXcgTWFwKCk7Ci0gICAgICAgIHRoaXMuX3RyaWdnZXJDZWxsID0gdHJpZ2dlckNl
bGw7Ci0gICAgICAgIHRoaXMuX3RyaWdnZXJMaW5rID0gdHJpZ2dlckxpbms7Ci0gICAgICAgIHRo
aXMuX21hZ2ljQ2VsbCA9IG1hZ2ljQ2VsbDsKLSAgICAgICAgdGhpcy5fc3VtbWFyeSA9IG5ldyBT
dGF0cyhzdW1tYXJ5Q2VsbCwgInN1bW1hcnkiKTsKLSAgICAgICAgdGhpcy5fa2V5ID0ga2V5Owot
ICAgICAgICB0aGlzLl9oYWRFcnJvcnMgPSBmYWxzZTsKLSAgICAgICAgaWYgKGlzSW5Ccm93c2Vy
KQotICAgICAgICAgICAgd2luZG93W2tleV0gPSB0aGlzOwotICAgIH0KLSAgICAKLSAgICBhZGRC
ZW5jaG1hcmsoYmVuY2htYXJrKQotICAgIHsKLSAgICAgICAgdGhpcy5fYmVuY2htYXJrcy5zZXQo
YmVuY2htYXJrLCBuZXcgUmVzdWx0cyhiZW5jaG1hcmspKTsKLSAgICB9Ci0gICAgCi0gICAgc3Rh
cnQobnVtSXRlcmF0aW9ucykKLSAgICB7Ci0gICAgICAgIHRoaXMuX3VwZGF0ZUl0ZXJhdGlvbnMo
KTsKLSAgICAgICAgCi0gICAgICAgIHRoaXMuX3N1bW1hcnkucmVzZXQoKTsKLSAgICAgICAgZm9y
IChsZXQgW2JlbmNobWFyaywgcmVzdWx0c10gb2YgdGhpcy5fYmVuY2htYXJrcykKLSAgICAgICAg
ICAgIHJlc3VsdHMucmVzZXQoKTsKLSAgICAgICAgdGhpcy5faXNSdW5uaW5nID0gdHJ1ZTsKLSAg
ICAgICAgdGhpcy5fbnVtSXRlcmF0aW9ucyA9IG51bUl0ZXJhdGlvbnM7Ci0gICAgICAgIHRoaXMu
X2l0ZXJhdG9yID0gbnVsbDsKLSAgICAgICAgdGhpcy5faXRlcmF0ZSgpOwotICAgIH0KLSAgICAK
LSAgICByZXBvcnRSZXN1bHQoLi4uYXJncykKLSAgICB7Ci0gICAgICAgIHRoaXMuX2JlbmNobWFy
a3MuZ2V0KHRoaXMuX2JlbmNobWFyaykucmVwb3J0UmVzdWx0KC4uLmFyZ3MpOwotICAgICAgICB0
aGlzLl9yZWNvbXB1dGVTdW1tYXJ5KCk7Ci0gICAgICAgIHRoaXMuX2l0ZXJhdGUoKTsKLSAgICB9
Ci0gICAgCi0gICAgcmVwb3J0RXJyb3IoLi4uYXJncykKLSAgICB7Ci0gICAgICAgIHRoaXMuX2Jl
bmNobWFya3MuZ2V0KHRoaXMuX2JlbmNobWFyaykucmVwb3J0RXJyb3IoLi4uYXJncyk7Ci0gICAg
ICAgIHRoaXMuX3JlY29tcHV0ZVN1bW1hcnkoKTsKLSAgICAgICAgdGhpcy5faGFkRXJyb3JzID0g
dHJ1ZTsKLSAgICAgICAgdGhpcy5faXRlcmF0ZSgpOwotICAgIH0KLSAgICAKLSAgICBfcmVjb21w
dXRlU3VtbWFyeSgpCi0gICAgewotICAgICAgICBjbGFzcyBHZW9tZWFuIHsKLSAgICAgICAgICAg
IGNvbnN0cnVjdG9yKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB0aGlzLl9jb3Vu
dCA9IDA7Ci0gICAgICAgICAgICAgICAgdGhpcy5fc3VtID0gMDsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIAotICAgICAgICAgICAgYWRkKHZhbHVlKQotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIHRoaXMuX2NvdW50Kys7Ci0gICAgICAgICAgICAgICAgdGhpcy5fc3VtICs9IE1h
dGgubG9nKHZhbHVlKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAg
Z2V0IHJlc3VsdCgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE1hdGgu
ZXhwKHRoaXMuX3N1bSAqICgxIC8gdGhpcy5fY291bnQpKTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgfQotICAgICAgICAKLSAgICAgICAgbGV0IHN0YXRzZXMgPSBbXTsKLSAgICAgICAgZm9yIChs
ZXQgcmVzdWx0cyBvZiB0aGlzLl9iZW5jaG1hcmtzLnZhbHVlcygpKSB7Ci0gICAgICAgICAgICBm
b3IgKGxldCBzdWJSZXN1bHQgb2YgUmVzdWx0cy5zdWJSZXN1bHRzKQotICAgICAgICAgICAgICAg
IHN0YXRzZXMucHVzaChyZXN1bHRzW3N1YlJlc3VsdF0pOwotICAgICAgICB9Ci0KLSAgICAgICAg
bGV0IG51bUl0ZXJhdGlvbnMgPSBNYXRoLm1pbiguLi5zdGF0c2VzLm1hcChzdGF0cyA9PiBzdGF0
cy5udW1JdGVyYXRpb25zKSk7Ci0gICAgICAgIGxldCBkYXRhID0gbmV3IEFycmF5KG51bUl0ZXJh
dGlvbnMpOwotICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyArK2kpCi0g
ICAgICAgICAgICBkYXRhW2ldID0gbmV3IEdlb21lYW4oKTsKLSAgICAgICAgCi0gICAgICAgIGZv
ciAobGV0IHN0YXRzIG9mIHN0YXRzZXMpIHsKLSAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgZGF0YS5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgICAgICBkYXRhW2ldLmFkZChzdGF0cy52
YWx1ZUZvckl0ZXJhdGlvbihpKSk7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGxldCBn
ZW9tZWFucyA9IGRhdGEubWFwKGdlb21lYW4gPT4gZ2VvbWVhbi5yZXN1bHQpOwotICAgICAgICAK
LSAgICAgICAgdGhpcy5fc3VtbWFyeS5yZXNldCguLi5nZW9tZWFucyk7Ci0gICAgfQotICAgIAot
ICAgIF9pdGVyYXRlKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2JlbmNobWFyayA9IHRoaXMuX2l0
ZXJhdG9yID8gdGhpcy5faXRlcmF0b3IubmV4dCgpLnZhbHVlIDogbnVsbDsKLSAgICAgICAgaWYg
KCF0aGlzLl9iZW5jaG1hcmspIHsKLSAgICAgICAgICAgIGlmICghdGhpcy5fbnVtSXRlcmF0aW9u
cykgewotICAgICAgICAgICAgICAgIGlmIChpc0luQnJvd3NlcikgewotICAgICAgICAgICAgICAg
ICAgICB0aGlzLl90cmlnZ2VyQ2VsbC5pbm5lckhUTUwgPQotICAgICAgICAgICAgICAgICAgICAg
ICAgKHRoaXMuX2hhZEVycm9ycyA/ICJGYWlsdXJlcyBlbmNvdW50ZXJlZCEiIDogIlN1Y2Nlc3Mh
IikgKwotICAgICAgICAgICAgICAgICAgICAgICAgYCA8YSBocmVmPSIke3RoaXMuX3RyaWdnZXJM
aW5rfSI+UmVzdGFydCBCZW5jaG1hcms8L2E+YDsKLSAgICAgICAgICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgICAgICAgICAgcHJpbnQodGhpcy5faGFkRXJyb3JzID8gIkZhaWx1cmVzIGVuY291
bnRlcmVkISIgOiAiU3VjY2VzcyEgQmVuY2htYXJrIGlzIG5vdyBmaW5pc2hlZC4iKTsKLSAgICAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0aGlzLl9udW1J
dGVyYXRpb25zLS07Ci0gICAgICAgICAgICB0aGlzLl91cGRhdGVJdGVyYXRpb25zKCk7Ci0gICAg
ICAgICAgICB0aGlzLl9pdGVyYXRvciA9IHRoaXMuX2JlbmNobWFya3Mua2V5cygpOwotICAgICAg
ICAgICAgdGhpcy5fYmVuY2htYXJrID0gdGhpcy5faXRlcmF0b3IubmV4dCgpLnZhbHVlOwotICAg
ICAgICB9Ci0gICAgICAgIAotICAgICAgICB0aGlzLl9iZW5jaG1hcmtzLmdldCh0aGlzLl9iZW5j
aG1hcmspLnJlcG9ydFJ1bm5pbmcoKTsKLSAgICAgICAgCi0gICAgICAgIGxldCBiZW5jaG1hcmsg
PSB0aGlzLl9iZW5jaG1hcms7Ci0gICAgICAgIGlmIChpc0luQnJvd3NlcikgewotICAgICAgICAg
ICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4gewotICAgICAgICAgICAgICAgIGlmICghdGhpcy5f
aXNSdW5uaW5nKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAgICAg
Ci0gICAgICAgICAgICAgICAgdGhpcy5fbWFnaWNDZWxsLmNvbnRlbnREb2N1bWVudC5ib2R5LnRl
eHRDb250ZW50ID0gIiI7Ci0gICAgICAgICAgICAgICAgdGhpcy5fbWFnaWNDZWxsLmNvbnRlbnRE
b2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICI8aWZyYW1lIGlkPVwibWFnaWNGcmFtZVwiIGZyYW1l
Ym9yZGVyPVwiMFwiPiI7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgbGV0IG1h
Z2ljRnJhbWUgPSB0aGlzLl9tYWdpY0NlbGwuY29udGVudERvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJtYWdpY0ZyYW1lIik7Ci0gICAgICAgICAgICAgICAgbWFnaWNGcmFtZS5jb250ZW50RG9jdW1l
bnQub3BlbigpOwotICAgICAgICAgICAgICAgIG1hZ2ljRnJhbWUuY29udGVudERvY3VtZW50Lndy
aXRlKAotICAgICAgICAgICAgICAgICAgICBgPCFET0NUWVBFIGh0bWw+PGhlYWQ+PHRpdGxlPmJl
bmNobWFyayBwYXlsb2FkPC90aXRsZT48L2hlYWQ+PGJvZHk+PHNjcmlwdD5gICsKLSAgICAgICAg
ICAgICAgICAgICAgYHdpbmRvdy5vbmVycm9yID0gdG9wLiR7dGhpcy5fa2V5fS5yZXBvcnRFcnJv
cjtcbmAgKwotICAgICAgICAgICAgICAgICAgICBgZnVuY3Rpb24gcmVwb3J0UmVzdWx0KClcbmAg
KwotICAgICAgICAgICAgICAgICAgICBge1xuYCArCi0gICAgICAgICAgICAgICAgICAgIGAgICAg
dmFyIGRyaXZlciA9IHRvcC4ke3RoaXMuX2tleX07XG5gICsKLSAgICAgICAgICAgICAgICAgICAg
YCAgICBkcml2ZXIucmVwb3J0UmVzdWx0LmFwcGx5KGRyaXZlciwgYXJndW1lbnRzKTtcbmAgKwot
ICAgICAgICAgICAgICAgICAgICBgfVxuYCArCi0gICAgICAgICAgICAgICAgICAgIGA8L3Njcmlw
dD5cbmAgKwotICAgICAgICAgICAgICAgICAgICBgJHt0aGlzLl9iZW5jaG1hcmsuY29kZX08L2Jv
ZHk+PC9odG1sPmApOwotICAgICAgICAgICAgfSwgMTAwKTsKLSAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgIFByb21pc2UucmVzb2x2ZSgyMCkudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICAg
ICAgaWYgKCF0aGlzLl9pc1J1bm5pbmcpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAgICAgICAgICAg
ICBwcmludChgUnVubmluZy4uLiAke3RoaXMuX2JlbmNobWFyay5uYW1lfSAoICR7dGhpcy5fbnVt
SXRlcmF0aW9ucyArIDF9ICB0byBnbylgKTsKLSAgICAgICAgICAgICAgICAgICAgYmVuY2htYXJr
LnJ1bigpOwotICAgICAgICAgICAgICAgICAgICBwcmludCgiXG4iKTsKLSAgICAgICAgICAgICAg
ICB9IGNhdGNoKGUpIHsKLSAgICAgICAgICAgICAgICAgICAgcHJpbnQoZSk7Ci0gICAgICAgICAg
ICAgICAgICAgIHByaW50KGUuc3RhY2spOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IH0pOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIF91cGRhdGVJdGVyYXRpb25zKCkKLSAg
ICB7Ci0gICAgICAgIGlmIChpc0luQnJvd3NlcikKLSAgICAgICAgICAgIHRoaXMuX3RyaWdnZXJD
ZWxsLmlubmVySFRNTCA9ICJSdW5uaW5nLi4uICgiICsgKHRoaXMuX251bUl0ZXJhdGlvbnMgKyAx
KSArICIgdG8gZ28pIjsKLSAgICB9Ci19CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBs
ZUJlbmNoL2dsdWUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVC
ZW5jaC9nbHVlLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNh
bXBsZUJlbmNoL2dsdWUuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwzOSArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWNv
bnN0IGRyaXZlciA9IG5ldyBEcml2ZXIoCi0gICAgaXNJbkJyb3dzZXIgPyBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidHJpZ2dlciIpIDogbnVsbCwKLSAgICAiZHJpdmVyLnN0YXJ0KDEwKSIsCi0g
ICAgaXNJbkJyb3dzZXIgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFnaWMiKSA6IG51bGws
Ci0gICAgaXNJbkJyb3dzZXIgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiR2VvbWVhbiIpIDog
bnVsbCwKLSAgICAic2FtcGxlQmVuY2giKTsKLQotZnVuY3Rpb24gcmVwb3J0UmVzdWx0KC4uLmFy
Z3MpIHsKLSAgICBkcml2ZXIucmVwb3J0UmVzdWx0KC4uLmFyZ3MpOwotfQotCi1kcml2ZXIuYWRk
QmVuY2htYXJrKEFpckJlbmNobWFya1J1bm5lcik7Ci1kcml2ZXIuYWRkQmVuY2htYXJrKEJhc2lj
QmVuY2htYXJrUnVubmVyKTsKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gv
aW5kZXguaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNo
L2luZGV4Lmh0bWwJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2Ft
cGxlQmVuY2gvaW5kZXguaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDUyICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08dGl0bGU+RVM2IFNhbXBsZSBCZW5jaDwvdGl0bGU+Ci08bGluayByZWw9InN0
eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJzdHlsZS5jc3MiPgotPC9oZWFkPgotPHNj
cmlwdD4KLXdpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24obWVzc2FnZSwgdXJsLCBsaW5lTnVtYmVy
KQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0cmlnZ2VyIikuaW5uZXJIVE1MID0g
IkVSUk9SOiAiICsgdXJsICsgIjoiICsgbGluZU51bWJlciArICI6ICIgKyBtZXNzYWdlOwotfQot
Ci1jb25zdCBpc0luQnJvd3NlciA9IHRydWU7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJkcml2
ZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc3VsdHMuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9InN0YXRzLmpzIj48L3NjcmlwdD4KLTxib2R5PgotPGRpdiBpZD0iY29udGVudHMi
PgotPGgxPkVTNiBTYW1wbGUgQmVuY2g8L2gxPgotPHA+VGhpcyBpcyBhIGJlbmNobWFyayBzdWl0
ZSB0aGF0IGNvbnNpc3RzIG9mIEVTNiBzYW1wbGUgY29kZSB3cml0dGVuIGJ5IHRoZQotPGEgaHJl
Zj0iaHR0cDovL3d3dy53ZWJraXQub3JnLyI+V2ViS2l0PC9hPiB0ZWFtLiAgQWxsIHJlc3VsdHMg
YXJlIGluIG1pbGxpc2Vjb25kcyB3aXRoIDk1JQotY29uZmlkZW5jZSBpbnRlcnZhbHMuICBMb3dl
ciBpcyBiZXR0ZXIuPC9wPgotPHAgaWQ9InRyaWdnZXIiPjxhIGhyZWY9ImphdmFzY3JpcHQ6ZHJp
dmVyLnN0YXJ0KDEwKSI+U3RhcnQgQmVuY2htYXJrPC9hPjwvcD4KLTxwPjxiPkdlb21ldHJpYyBN
ZWFuIFJlc3VsdDogPHNwYW4gaWQ9Ikdlb21lYW4iPi4uLjwvc3Bhbj48L2I+PC9wPgotPHRhYmxl
IGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MCBib3JkZXI9MD4KLSAgPHRyPgotICAgIDx0aCB3
aWR0aD0xODA+QmVuY2htYXJrPC90aD4KLSAgICA8dGggd2lkdGg9MTgwPkZpcnN0IEl0ZXJhdGlv
bjwvdGg+Ci0gICAgPHRoIHdpZHRoPTE4MD5Xb3JzdCAyJTwvdGg+Ci0gICAgPHRoIHdpZHRoPTE4
MD5TdGVhZHkgU3RhdGU8L3RoPgotICA8dHI+Ci0gICAgPHRoPkFpcjwvdGg+Ci0gICAgPHRkIGlk
PSJBaXJGaXJzdEl0ZXJhdGlvbiI+Li4uPC90ZD4KLSAgICA8dGQgaWQ9IkFpckF2ZXJhZ2VXb3Jz
dENhc2UiPi4uLjwvdGQ+Ci0gICAgPHRkIGlkPSJBaXJTdGVhZHlTdGF0ZSI+Li4uPC90ZD4KLSAg
ICA8dGQgaWQ9IkFpck1lc3NhZ2UiPjwvdGQ+Ci0gIDwvdHI+Ci0gIDx0cj4KLSAgICA8dGg+QmFz
aWM8L3RoPgotICAgIDx0ZCBpZD0iQmFzaWNGaXJzdEl0ZXJhdGlvbiI+Li4uPC90ZD4KLSAgICA8
dGQgaWQ9IkJhc2ljQXZlcmFnZVdvcnN0Q2FzZSI+Li4uPC90ZD4KLSAgICA8dGQgaWQ9IkJhc2lj
U3RlYWR5U3RhdGUiPi4uLjwvdGQ+Ci0gICAgPHRkIGlkPSJCYXNpY01lc3NhZ2UiPjwvdGQ+Ci0g
IDwvdHI+Ci08L3RhYmxlPgotPC9kaXY+Ci08aWZyYW1lIGlkPSJtYWdpYyIgZnJhbWVCb3JkZXI9
MD48L2lmcmFtZT4KLTxzY3JpcHQgc3JjPSJhaXJfYmVuY2htYXJrLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSJiYXNpY19iZW5jaG1hcmsuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Imds
dWUuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpJbmRleDogUGVyZm9ybWFuY2VUZXN0
cy9FUzZTYW1wbGVCZW5jaC9yZXN1bHRzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVz
dHMvRVM2U2FtcGxlQmVuY2gvcmVzdWx0cy5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9y
bWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9yZXN1bHRzLmpzCShub25leGlzdGVudCkKQEAgLTEs
MTA5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8K
LSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgUmVzdWx0cyB7Ci0gICAgY29uc3RydWN0b3IoYmVuY2ht
YXJrKQotICAgIHsKLSAgICAgICAgdGhpcy5fYmVuY2htYXJrID0gYmVuY2htYXJrOwotICAgICAg
ICBmb3IgKGxldCBzdWJSZXN1bHQgb2YgUmVzdWx0cy5zdWJSZXN1bHRzKQotICAgICAgICAgICAg
dGhpc1tzdWJSZXN1bHRdID0gbmV3IFN0YXRzKGJlbmNobWFyay5jZWxsc1tzdWJSZXN1bHRdLCBz
dWJSZXN1bHQpOwotICAgIH0KLSAgICAKLSAgICBnZXQgYmVuY2htYXJrKCkgeyByZXR1cm4gdGhp
cy5fYmVuY2htYXJrOyB9Ci0gICAgCi0gICAgcmVzZXQoKQotICAgIHsKLSAgICAgICAgZm9yIChs
ZXQgc3ViUmVzdWx0IG9mIFJlc3VsdHMuc3ViUmVzdWx0cykKLSAgICAgICAgICAgIHRoaXNbc3Vi
UmVzdWx0XS5yZXNldCgpOwotICAgIH0KLSAgICAKLSAgICByZXBvcnRSdW5uaW5nKCkKLSAgICB7
Ci0gICAgICAgIGlmIChpc0luQnJvd3NlcikKLSAgICAgICAgICAgIHRoaXMuX2JlbmNobWFyay5j
ZWxscy5tZXNzYWdlLmlubmVySFRNTCA9ICJSdW5uaW5nLi4uIjsKLSAgICB9Ci0gICAgCi0gICAg
cmVwb3J0RG9uZSgpCi0gICAgewotICAgICAgICBpZiAoaXNJbkJyb3dzZXIpCi0gICAgICAgICAg
ICB0aGlzLl9iZW5jaG1hcmsuY2VsbHMubWVzc2FnZS5pbm5lckhUTUwgPSAiIjsKLSAgICB9Ci0g
ICAgCi0gICAgcmVwb3J0UmVzdWx0KHRpbWVzKQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gYXZl
cmFnZUFib3ZlUGVyY2VudGlsZShudW1iZXJzLCBwZXJjZW50aWxlKSB7Ci0gICAgICAgICAgICAv
LyBEb24ndCBjaGFuZ2UgdGhlIG9yaWdpbmFsIGFycmF5LgotICAgICAgICAgICAgbnVtYmVycyA9
IG51bWJlcnMuc2xpY2UoKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgLy8gU29ydCBpbiBh
c2NlbmRpbmcgb3JkZXIuCi0gICAgICAgICAgICBudW1iZXJzLnNvcnQoZnVuY3Rpb24oYSwgYikg
eyByZXR1cm4gYSAtIGI7IH0pOwotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyBOb3cgdGhl
IGVsZW1lbnRzIHdlIHdhbnQgYXJlIGF0IHRoZSBlbmQuIEtlZXAgcmVtb3ZpbmcgdGhlbSB1bnRp
bCB0aGUgYXJyYXkgc2l6ZSBzaHJpbmtzIHRvbyBtdWNoLgotICAgICAgICAgICAgLy8gRXhhbXBs
ZXMgYXNzdW1pbmcgcGVyY2VudGlsZSA9IDk5OgotICAgICAgICAgICAgLy8KLSAgICAgICAgICAg
IC8vIC0gbnVtYmVycy5sZW5ndGggc3RhcnRzIGF0IDEwMDogd2Ugd2lsbCByZW1vdmUganVzdCB0
aGUgd29yc3QgZW50cnkgYW5kIHRoZW4gbm90IHJlbW92ZSBhbnltb3JlLAotICAgICAgICAgICAg
Ly8gICBzaW5jZSB0aGVuIG51bWJlcnMubGVuZ3RoIC8gb3JpZ2luYWxMZW5ndGggPSAwLjk5Lgot
ICAgICAgICAgICAgLy8KLSAgICAgICAgICAgIC8vIC0gbnVtYmVycy5sZW5ndGggc3RhcnRzIGF0
IDEwMDA6IHdlIHdpbGwgcmVtb3ZlIHRoZSB0ZW4gd29yc3QuCi0gICAgICAgICAgICAvLwotICAg
ICAgICAgICAgLy8gLSBudW1iZXJzLmxlbmd0aCBzdGFydHMgYXQgMTA6IHdlIHdpbGwgcmVtb3Zl
IGp1c3QgdGhlIHdvcnN0LgotICAgICAgICAgICAgdmFyIG51bWJlcnNXZVdhbnQgPSBbXTsKLSAg
ICAgICAgICAgIHZhciBvcmlnaW5hbExlbmd0aCA9IG51bWJlcnMubGVuZ3RoOwotICAgICAgICAg
ICAgd2hpbGUgKG51bWJlcnMubGVuZ3RoIC8gb3JpZ2luYWxMZW5ndGggPiBwZXJjZW50aWxlIC8g
MTAwKQotICAgICAgICAgICAgICAgIG51bWJlcnNXZVdhbnQucHVzaChudW1iZXJzLnBvcCgpKTsK
LSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIHN1bSA9IDA7Ci0gICAgICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IG51bWJlcnNXZVdhbnQubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICAg
ICAgc3VtICs9IG51bWJlcnNXZVdhbnRbaV07Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHZh
ciByZXN1bHQgPSBzdW0gLyBudW1iZXJzV2VXYW50Lmxlbmd0aDsKLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgLy8gRG8gYSBzYW5pdHkgY2hlY2suCi0gICAgICAgICAgICBpZiAobnVtYmVycy5s
ZW5ndGggJiYgcmVzdWx0IDwgbnVtYmVyc1tudW1iZXJzLmxlbmd0aCAtIDFdKSB7Ci0gICAgICAg
ICAgICAgICAgdGhyb3cgIlNhbml0eSBjaGVjayBmYWlsOiB0aGUgd29yc3QgY2FzZSByZXN1bHQg
aXMgIiArIHJlc3VsdCArCi0gICAgICAgICAgICAgICAgICAgICIgYnV0IHdlIGRpZG4ndCB0YWtl
IGludG8gYWNjb3VudCAiICsgbnVtYmVyczsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAot
ICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICAgICAgfQotCi0gICAgICAgIHRoaXMuZmly
c3RJdGVyYXRpb24uYWRkKHRpbWVzWzBdKTsKLSAgICAgICAgbGV0IHN0ZWFkeVRpbWVzID0gdGlt
ZXMuc2xpY2UoMSk7Ci0gICAgICAgIHRoaXMuYXZlcmFnZVdvcnN0Q2FzZS5hZGQoYXZlcmFnZUFi
b3ZlUGVyY2VudGlsZShzdGVhZHlUaW1lcywgOTgpKTsKLSAgICAgICAgdGhpcy5zdGVhZHlTdGF0
ZS5hZGQoc3RlYWR5VGltZXMucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4gcHJldmlvdXMg
KyBjdXJyZW50KSAvIHN0ZWFkeVRpbWVzLmxlbmd0aCk7Ci0gICAgICAgIHRoaXMucmVwb3J0RG9u
ZSgpOwotICAgIH0KLSAgICAKLSAgICByZXBvcnRFcnJvcihtZXNzYWdlLCB1cmwsIGxpbmVOdW1i
ZXIpCi0gICAgewotICAgICAgICBmb3IgKGxldCBzdWJSZXN1bHQgb2YgUmVzdWx0cy5zdWJSZXN1
bHRzKQotICAgICAgICAgICAgdGhpc1tzdWJSZXN1bHRdLnJlcG9ydFJlc3VsdChTdGF0cy5lcnJv
cik7Ci0gICAgICAgIGlmIChpc0luQnJvd3NlcikKLSAgICAgICAgICAgIHRoaXMuX2JlbmNobWFy
ay5jZWxscy5tZXNzYWdlLmlubmVySFRNTCA9IHVybCArICI6IiArIGxpbmVOdW1iZXIgKyAiOiAi
ICsgbWVzc2FnZTsKLSAgICB9Ci19Ci0KLVJlc3VsdHMuc3ViUmVzdWx0cyA9IFsiZmlyc3RJdGVy
YXRpb24iLCAiYXZlcmFnZVdvcnN0Q2FzZSIsICJzdGVhZHlTdGF0ZSJdOwpJbmRleDogUGVyZm9y
bWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9zdGF0cy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3Jt
YW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL3N0YXRzLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQ
ZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL3N0YXRzLmpzCShub25leGlzdGVudCkKQEAg
LTEsMTE0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0g
Ki8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgU3RhdHMgewotICAgIGNvbnN0cnVjdG9yKGNlbGws
IHByZWZpeCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2NlbGwgPSBjZWxsOwotICAgICAgICB0aGlz
Ll9kYXRhID0gW107Ci0gICAgICAgIHRoaXMuX3ByZWZpeCA9ICIiOwotICAgICAgICBpZiAoIWlz
SW5Ccm93c2VyICYmIHByZWZpeCkgewotICAgICAgICAgICAgdGhpcy5fcHJlZml4ID0gcHJlZml4
ICsgIjogIjsKLSAgICAgICAgICAgIGlmICh0aGlzLl9wcmVmaXgubGVuZ3RoIDwgMjApCi0gICAg
ICAgICAgICAgICAgdGhpcy5fcHJlZml4ICs9ICIgIi5yZXBlYXQoMjAgLSB0aGlzLl9wcmVmaXgu
bGVuZ3RoKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICByZXNldCguLi5kYXRhKQotICAg
IHsKLSAgICAgICAgdGhpcy5fZGF0YSA9IGRhdGE7Ci0gICAgICAgIHRoaXMuX3VwZGF0ZSgpOwot
ICAgIH0KLSAgICAKLSAgICBhZGQoLi4uZGF0YSkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2RhdGEu
cHVzaCguLi5kYXRhKTsKLSAgICAgICAgdGhpcy5fdXBkYXRlKCk7Ci0gICAgfQotICAgIAotICAg
IGdldCBudW1JdGVyYXRpb25zKCkgeyByZXR1cm4gdGhpcy5fZGF0YS5sZW5ndGg7IH0KLSAgICB2
YWx1ZUZvckl0ZXJhdGlvbihpbmRleCkgeyByZXR1cm4gdGhpcy5fZGF0YVtpbmRleF07IH0KLSAg
ICAKLSAgICBnZXQgcmVzdWx0KCkKLSAgICB7Ci0gICAgICAgIHZhciB0RGlzdHJpYnV0aW9uID0g
W05hTiwgTmFOLCAxMi43MSwgNC4zMCwgMy4xOCwgMi43OCwgMi41NywgMi40NSwgMi4zNiwgMi4z
MSwgMi4yNiwgMi4yMywgMi4yMCwgMi4xOCwgMi4xNiwgMi4xNCwgMi4xMywgMi4xMiwgMi4xMSwg
Mi4xMCwgMi4wOSwgMi4wOSwgMi4wOCwgMi4wNywgMi4wNywgMi4wNiwgMi4wNiwgMi4wNiwgMi4w
NSwgMi4wNSwgMi4wNSwgMi4wNCwgMi4wNCwgMi4wNCwgMi4wMywgMi4wMywgMi4wMywgMi4wMywg
Mi4wMywgMi4wMiwgMi4wMiwgMi4wMiwgMi4wMiwgMi4wMiwgMi4wMiwgMi4wMiwgMi4wMSwgMi4w
MSwgMi4wMSwgMi4wMSwgMi4wMSwgMi4wMSwgMi4wMSwgMi4wMSwgMi4wMSwgMi4wMCwgMi4wMCwg
Mi4wMCwgMi4wMCwgMi4wMCwgMi4wMCwgMi4wMCwgMi4wMCwgMi4wMCwgMi4wMCwgMi4wMCwgMi4w
MCwgMi4wMCwgMi4wMCwgMi4wMCwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwg
MS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45
OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwgMS45OSwg
MS45OSwgMS45OSwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45
OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwg
MS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45
OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwg
MS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45
OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwg
MS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45OCwgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nywg
MS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45
NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45NywgMS45Nl07
Ci0gICAgICAgIHZhciB0TWF4ID0gdERpc3RyaWJ1dGlvbi5sZW5ndGg7Ci0gICAgICAgIHZhciB0
TGltaXQgPSAxLjk2OwotCi0gICAgICAgIGZ1bmN0aW9uIHREaXN0KG4pCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGlmIChuID4gdE1heCkKLSAgICAgICAgICAgICAgICByZXR1cm4gdExpbWl0Owot
ICAgICAgICAgICAgcmV0dXJuIHREaXN0cmlidXRpb25bbl07Ci0gICAgICAgIH0KLSAgICAgICAg
Ci0gICAgICAgIGxldCBzdW0gPSAwOwotICAgICAgICBsZXQgbiA9IDA7Ci0gICAgICAgIGZvciAo
bGV0IGRhdHVtIG9mIHRoaXMuX2RhdGEpIHsKLSAgICAgICAgICAgIHN1bSArPSBkYXR1bTsKLSAg
ICAgICAgICAgIG4rKzsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgbGV0IG1lYW4gPSBz
dW0gLyBuOwotICAgICAgICAKLSAgICAgICAgaWYgKG4gPD0gMikKLSAgICAgICAgICAgIHJldHVy
biB7biwgbWVhbn07Ci0gICAgICAgIAotICAgICAgICBsZXQgc3VtRm9yU3RkRGV2ID0gMDsKLSAg
ICAgICAgZm9yIChsZXQgZGF0dW0gb2YgdGhpcy5fZGF0YSkKLSAgICAgICAgICAgIHN1bUZvclN0
ZERldiArPSBNYXRoLnBvdyhkYXR1bSAtIG1lYW4sIDIpOwotICAgICAgICBsZXQgc3RhbmRhcmRE
ZXZpYXRpb24gPSBNYXRoLnNxcnQoc3VtRm9yU3RkRGV2IC8gKG4gLSAxKSk7Ci0gICAgICAgIGxl
dCBzdGFuZGFyZEVycm9yID0gc3RhbmRhcmREZXZpYXRpb24gLyBNYXRoLnNxcnQobik7Ci0gICAg
ICAgIGxldCBpbnRlcnZhbCA9IHREaXN0KG4pICogc3RhbmRhcmRFcnJvcjsKLSAgICAgICAgcmV0
dXJuIHtuLCBtZWFuLCBpbnRlcnZhbH07Ci0gICAgfQotICAgIAotICAgIHRvU3RyaW5nKCkKLSAg
ICB7Ci0gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLnJlc3VsdDsKLSAgICAgICAgCi0gICAgICAg
IGlmICghcmVzdWx0Lm4pCi0gICAgICAgICAgICByZXR1cm4gIi4uLiI7Ci0gICAgICAgIAotICAg
ICAgICBpZiAocmVzdWx0Lm1lYW4gIT0gcmVzdWx0Lm1lYW4pCi0gICAgICAgICAgICByZXR1cm4g
IkVSUk9SIjsKLSAgICAgICAgCi0gICAgICAgIGlmICgiaW50ZXJ2YWwiIGluIHJlc3VsdCkKLSAg
ICAgICAgICAgIHJldHVybiBgJHt0aGlzLl9wcmVmaXh9JHtyZXN1bHQubWVhbi50b0ZpeGVkKDIp
fSBtcyArLSAke3Jlc3VsdC5pbnRlcnZhbC50b0ZpeGVkKDIpfSBtc2A7Ci0KLSAgICAgICAgcmV0
dXJuIGAke3RoaXMuX3ByZWZpeH0ke3Jlc3VsdC5tZWFuLnRvRml4ZWQoMil9IG1zYDsKLSAgICB9
Ci0gICAgCi0gICAgX3VwZGF0ZSgpCi0gICAgewotICAgICAgICBpZiAoaXNJbkJyb3dzZXIpIHsK
LSAgICAgICAgICAgIGlmICh0aGlzLl9jZWxsKQotICAgICAgICAgICAgICAgIHRoaXMuX2NlbGwu
aW5uZXJIVE1MID0gdGhpcy50b1N0cmluZygpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IHByaW50KHRoaXMudG9TdHJpbmcoKSk7Ci0gICAgfQotfQotCkluZGV4OiBQZXJmb3JtYW5jZVRl
c3RzL0VTNlNhbXBsZUJlbmNoL3N0eWxlLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRl
c3RzL0VTNlNhbXBsZUJlbmNoL3N0eWxlLmNzcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9y
bWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9zdHlsZS5jc3MJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
NDIgKzAsMCBAQAotYm9keSB7Ci0gICAgYmFja2dyb3VuZDogI2ZmZjsKLSAgICBjb2xvcjogIzAw
MDsKLSAgICBtYXJnaW46IDEwcHg7Ci0gICAgcGFkZGluZzogMDsKLX0KLWJvZHksIHRoLCB0ciB7
Ci0gICAgZm9udDogbm9ybWFsIDEzcHggVmVyZGFuYSxBcmlhbCwnQml0c3RyZWFtIFZlcmEgU2Fu
cycsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Ci19Ci1oMSwgaDIsIGgzLCBoNCB7Ci0gICAgZm9udC1m
YW1pbHk6IEFyaWFsLFZlcmRhbmEsJ0JpdHN0cmVhbSBWZXJhIFNhbnMnLEhlbHZldGljYSxzYW5z
LXNlcmlmOwotICAgIGZvbnQtd2VpZ2h0OiBib2xkOwotICAgIGxldHRlci1zcGFjaW5nOiAtMC4w
MThlbTsKLSAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsKLX0KLWgxIHsgZm9udC1zaXplOiAy
MHB4OyB0ZXh0LWluZGVudDogLTEwcHggfQotaDIgeyBmb250LXNpemU6IDE3cHg7IHRleHQtaW5k
ZW50OiAtMTBweCB9Ci1oMyB7IGZvbnQtc2l6ZTogMTVweDsgdGV4dC1pbmRlbnQ6IC0xMHB4IH0K
LWhyIHsgYm9yZGVyOiBub25lOyAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2I7IG1hcmdpbjog
MmVtIDAgfQotYWRkcmVzcyB7IGZvbnQtc3R5bGU6IG5vcm1hbCB9Ci1pbWcgeyBib3JkZXI6IG5v
bmUgfQotCi0udW5kZXJsaW5lIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgfQotb2wubG93
ZXJhbHBoYSB7IGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGEgfQotb2wudXBwZXJhbHBoYSB7
IGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGEgfQotb2wubG93ZXJyb21hbiB7IGxpc3Qtc3R5
bGUtdHlwZTogbG93ZXItcm9tYW4gfQotb2wudXBwZXJyb21hbiB7IGxpc3Qtc3R5bGUtdHlwZTog
dXBwZXItcm9tYW4gfQotb2wuYXJhYmljIHsgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsIH0KLQot
LmJhbm5lci1saW5rOmxpbmssIC5iYW5uZXItbGluazp2aXNpdGVkIHsKLSAgICB0ZXh0LWRlY29y
YXRpb246IG5vbmU7Ci0gICAgY29sb3I6ICNiMDA7Ci0gICAgYm9yZGVyLWJvdHRvbTogMHB4Owot
fQotCi0vKiBMaW5rIHN0eWxlcyAqLwotOmxpbmssIDp2aXNpdGVkIHsKLSAgICB0ZXh0LWRlY29y
YXRpb246IG5vbmU7Ci0gICAgY29sb3I6ICNiMDA7Ci0gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRv
dHRlZCAjYmJiOwotfQotaDEgOmxpbmssIGgxIDp2aXNpdGVkICxoMiA6bGluaywgaDIgOnZpc2l0
ZWQsIGgzIDpsaW5rLCBoMyA6dmlzaXRlZCwKLWg0IDpsaW5rLCBoNCA6dmlzaXRlZCwgaDUgOmxp
bmssIGg1IDp2aXNpdGVkLCBoNiA6bGluaywgaDYgOnZpc2l0ZWQgewotICAgIGNvbG9yOiBpbmhl
cml0OwotfQotCi0vKiBIZWFkaW5nIGFuY2hvcnMgKi8KLS5hbmNob3I6bGluaywgLmFuY2hvcjp2
aXNpdGVkIHsKLSAgICBib3JkZXI6IG5vbmU7Ci0gICAgY29sb3I6ICNkN2Q3ZDc7Ci0gICAgZm9u
dC1zaXplOiAuOGVtOwotICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsKLX0KLSogPiAuYW5j
aG9yOmxpbmssICogPiAuYW5jaG9yOnZpc2l0ZWQgewotICAgIHZpc2liaWxpdHk6IGhpZGRlbjsK
LX0KLWgxOmhvdmVyIC5hbmNob3IsIGgyOmhvdmVyIC5hbmNob3IsIGgzOmhvdmVyIC5hbmNob3Is
Ci1oNDpob3ZlciAuYW5jaG9yLCBoNTpob3ZlciAuYW5jaG9yLCBoNjpob3ZlciAuYW5jaG9yLAot
c3Bhbjpob3ZlciAuYW5jaG9yIHsKLSAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOwotfQotCi1hLm1p
c3Npbmc6bGluaywgYS5taXNzaW5nOnZpc2l0ZWQsIGEubWlzc2luZywgc3Bhbi5taXNzaW5nLAot
YS5mb3JiaWRkZW4sIHNwYW4uZm9yYmlkZGVuIHsgY29sb3I6ICM5OTggfQotYS5taXNzaW5nOmhv
dmVyIHsgY29sb3I6ICMwMDAgfQotYS5jbG9zZWQ6bGluaywgYS5jbG9zZWQ6dmlzaXRlZCwgc3Bh
bi5jbG9zZWQgeyB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaCB9Ci0KLXByZSB7Ci0gICAg
YmFja2dyb3VuZDogI2Y3ZjdmNzsKLSAgICBib3JkZXI6IDFweCBzb2xpZCAjZDdkN2Q3OwotICAg
IG1hcmdpbjogMWVtIDEuNzVlbTsKLSAgICBwYWRkaW5nOiAuMjVlbTsKLSAgICBvdmVyZmxvdzog
YXV0bzsKLX0KLQotZGl2LmNvZGUgewotICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7Ci0gICAgYm9y
ZGVyOiAxcHggc29saWQgI2Q3ZDdkNzsKLSAgICBtYXJnaW46IDFlbSAxLjc1ZW07Ci0gICAgcGFk
ZGluZzogLjI1ZW07Ci0gICAgb3ZlcmZsb3c6IGF1dG8KLX0KLQotZGl2LmNvZGUgcHJlIHsgbWFy
Z2luOiAwOyB9Ci0KLWR0IHsKLSAgICBmb250LXdlaWdodDogYm9sZDsKLX0KLWRkIHsKLSAgICBw
YWRkaW5nOiAwIDAgMC44ZW0gMDsKLX0KLWRkOmxhc3QtY2hpbGQgewotICAgIHBhZGRpbmc6IDAg
MCAwIDA7Ci19Ci0KLS8qKiBMb2dvICoqLwotLnNpdGUtbG9nbyB7Ci0gICAgZm9udC1zaXplOiAz
cmVtOwotICAgIGxpbmUtaGVpZ2h0OiAzcmVtOwotICAgIGZvbnQtd2VpZ2h0OiAyMDA7Ci0gICAg
ZGlzcGxheTogaW5saW5lLWJsb2NrOwotICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vd3AtY29u
dGVudC90aGVtZXMvd2Via2l0L2ltYWdlcy93ZWJraXQuc3ZnJykgbm8tcmVwZWF0OwotICAgIHBh
ZGRpbmctbGVmdDogN3JlbTsKLSAgICBjb2xvcjogIzMzMzsKLX0KLQotLnNpdGUtbG9nbyAudGFn
bGluZSB7Ci0gICAgZGlzcGxheTogYmxvY2s7Ci0gICAgZm9udC1zaXplOiAxLjJyZW07Ci0gICAg
bGluZS1oZWlnaHQ6IDJyZW07Ci0gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1cmVtOwotICAgIGNv
bG9yOiAjNjY2OwotfQotCi10YWJsZSB7Ci0gICAgcGFkZGluZzogMCAwIDAgMDsKLX0KLQotI2Nv
bnRlbnRzIHsKLSAgICBmb250LXNpemU6IDkwJTsKLSAgICBwYWRkaW5nOiAxZW0gMmVtIDJlbSAy
ZW0KLX0KLQotcCB7Ci0gICAgbWFyZ2luOiAwIDAgMWVtIDA7Ci19Ci0KLXA6bGFzdC1jaGlsZCB7
Ci0gICAgbWFyZ2luOiAwIDAgMCAwOwotfQotCi10aCB7Ci0gICAgZm9udC1zaXplOiA5MCU7Ci0g
ICAgZm9udC13ZWlnaHQ6IGJvbGQ7ICAgCi0gICAgcGFkZGluZzogMCAwIDFlbSAwOwotfQotCi10
ZCB7Ci0gICAgZm9udC1zaXplOiA5MCU7Ci0gICAgdGV4dC1hbGlnbjogY2VudGVyOwotICAgIHBh
ZGRpbmc6IDAgMCAxZW0gMDsKLX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVu
Y2gvQWlyL1JFQURNRS5tZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBs
ZUJlbmNoL0Fpci9SRUFETUUubWQJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVz
dHMvRVM2U2FtcGxlQmVuY2gvQWlyL1JFQURNRS5tZAkobm9uZXhpc3RlbnQpCkBAIC0xLDE1MiAr
MCwwIEBACi0jIEFsbCBhYm91dCBBaXIuanMKLQotQWlyLmpzIGlzIGFuIEVTNiBiZW5jaG1hcmsu
IEl0IHRyaWVzIHRvIGZhaXRoZnVsbHkgdXNlIG5ldyBmZWF0dXJlcyBsaWtlIGFycm93Ci1mdW5j
dGlvbnMsIGNsYXNzZXMsIGZvci1vZiwgYW5kIE1hcC9TZXQsIGFtb25nIG90aGVycy4gQWlyLmpz
IGRvZXNuJ3QgYXZvaWQgYW55Ci1mZWF0dXJlcyBvdXQgb2YgZmVhciB0aGF0IHRoZXkgbWlnaHQg
YmUgc2xvdywgaW4gdGhlIGhvcGUgdGhhdCB3ZSBtaWdodCBsZWFybgotaG93IHRvIG1ha2UgdGhv
c2UgZmVhdHVyZXMgZmFzdCBieSBsb29raW5nIGF0IGhvdyBBaXIuanMgYW5kIG90aGVyIGJlbmNo
bWFya3MKLXVzZSB0aGVtLgotCi1UaGlzIGRvY3VtZW50cyB0aGUgbW90aXZhdGlvbiwgZGVzaWdu
LCBhbmQgbGljZW5zZSBvZiBBaXIuanMuCi0KLVRvIHJ1biBBaXIuanMsIHNpbXBseSBvcGVuICJb
QWlyLmpzL3Rlc3QuaHRtbF0odGVzdC5odG1sKSIgaW4geW91ciBicm93c2VyLiBJdAotd2lsbCBv
bmx5IHJ1biBjb3JyZWN0bHkgaWYgeW91ciBicm93c2VyIHN1cHBvcnRzIEVTNi4KLQotIyMgTW90
aXZhdGlvbgotCi1BdCB0aGUgdGltZSB0aGF0IEFpci5qcyB3YXMgd3JpdHRlbiwgbW9zdCBKYXZh
U2NyaXB0IGJlbmNobWFya3MgdXNlZCBFUzUgb3IKLW9sZGVyIHZlcnNpb25zIG9mIHRoZSBsYW5n
dWFnZS4gRVM2IHRlc3RpbmcgbW9zdGx5IHJlbGllZCBvbiBtaWNyb2JlbmNobWFya3Mgb3IKLWNv
bnZlcnNpb25zIG9mIGV4aXN0aW5nIHRlc3RzIHRvIEVTNi4gV2UgdHJ5IHRvIHVzZSBsYXJnZXIg
YmVuY2htYXJrcyB0byBhdm9pZAotb3Zlci1vcHRpbWl6aW5nIGZvciBzbWFsbCBwaWVjZXMgb2Yg
Y29kZSwgYW5kIHdlIGF2b2lkIG1ha2luZyBjaGFuZ2VzIHRvCi1leGlzdGluZyBiZW5jaG1hcmtz
IGJlY2F1c2UgdGhhdCBhcHByb2FjaCBoYXMgbm8gbGltaXRpbmcgcHJpbmNpcGxlOiBpZiBpdCdz
IE9LCi10byBjaGFuZ2UgYSBiZW5jaG1hcmsgdG8gdXNlIGEgZmVhdHVyZSwgZG9lcyB0aGF0IG1l
YW4gd2UgY2FuIGFsc28gY2hhbmdlIGl0IHRvCi1yZW1vdmUgdGhlIHVzZSBvZiBhIGZlYXR1cmUg
d2UgZG9uJ3QgbGlrZT8gV2UgZmVlbCB0aGF0IHRoZSBiZXN0IHdheSB0byBhdm9pZAotZmFsbGlu
ZyBpbnRvIHRoZSB0cmFwIG9mIGNyZWF0aW5nIGJlbmNobWFya3MgdGhhdCByZWluZm9yY2Ugd2hh
dCBzb21lIEpTIGVuZ2luZQotaXMgYWxyZWFkeSBnb29kIGF0IGlzIHRvIGNyZWF0ZSBhIG5ldyBi
ZW5jaG1hcmsgZnJvbSBmaXJzdCBwcmluY2lwbGVzLgotCi1XZSBvbmx5IHJlY2VudGx5IGNvbXBs
ZXRlZCBvdXIgbmV3IEphdmFTY3JpcHQgY29tcGlsZXIsIGNhbGxlZAotW0IzXShodHRwczovL3dl
YmtpdC5vcmcvYmxvZy81ODUyL2ludHJvZHVjaW5nLXRoZS1iMy1qaXQtY29tcGlsZXIvKS4gQjMn
cwotYmFja2VuZCwgY2FsbGVkCi1bQWlyXShodHRwczovL3dlYmtpdC5vcmcvZG9jcy9iMy9hc3Nl
bWJseS1pbnRlcm1lZGlhdGUtcmVwcmVzZW50YXRpb24uaHRtbCksIGlzCi12ZXJ5IENQVS1pbnRl
bnNpdmUgYW5kIHVzZXMgYSBjb21iaW5hdGlvbiBvZiBvYmplY3Qtb3JpZW50ZWQgYW5kIGZ1bmN0
aW9uYWwKLWlkaW9tcyBpbiBDKysuIEFkZGl0aW9hbGx5LCBpdCByZWxpZXMgaGVhdmlseSBvbiBo
aWdoIHNwZWVkIG1hcHMgYW5kIHNldHMuIEl0Ci1nb2VzIHNvIGZhciBhcyB0byB1c2UgY3VzdG9t
aXplZCBtYXAvc2V0IGltcGxlbWVudGF0aW9ucyAtIGV2ZW4gbW9yZSBzbyB0aGFuCi10aGUgcmVz
dCBvZiBXZWJLaXQuIFRoaXMgbWFrZXMgQWlyIGEgZ3JlYXQgY2FuZGlkYXRlIGZvciBFUzYgYmVu
Y2htYXJraW5nLgotQWlyLmpzIGlzIGEgZmFpdGhmdWwgRVM2IGltcGxlbWVudGF0aW9uIG9mIEFp
ci4gSXQgcHVsbHMgbm8gcHVuY2hlczoganVzdCBhcwotdGhlIG9yaWdpbmFsIEMrKyBBaXIgd2Fz
IHdyaXR0ZW4gd2l0aCBleHByZXNzaXZlbmVzcyBhcyBhIHRvcCBwcmlvcml0eSwgQWlyLmpzCi1p
cyBsaWJlcmFsIGluIGl0cyB1c2Ugb2YgbW9kZXJuIEVTNiBpZGlvbXMgd2hlbmV2ZXIgdGhpcyBo
ZWxwcyBtYWtlIHRoZSBjb2RlCi1tb3JlIHJlYWRhYmxlLiBVbmxpa2UgdGhlIG9yaWdpbmFsIEMr
KyBBaXIsIEFpci5qcyBkb2Vzbid0IGV4cGxvaXQgYSBkZWVwCi11bmRlcnN0YW5kaW5nIG9mIGNv
bXBpbGVycyB0byBtYWtlIHRoZSBjb2RlIGVhc3kgdG8gY29tcGlsZS4KLQotIyMgRGVzaWduCi0K
LUFpci5qcyBydW5zIG9uZSBvZiB0aGUgbW9yZSBleHBlbnNpdmUgQWlyIHBoYXNlcywgQWlyOjph
bGxvY2F0ZVN0YWNrKCkuIFRoaXMKLXR1cm5zIGFic3RyYWN0IHN0YWNrIHJlZmVyZW5jZXMgaW50
byBjb25jcmV0ZSBzdGFjayByZWZlcmVuY2VzLCBieSBzZWxlY3RpbmcKLWhvdyB0byBsYXkgb3V0
IHN0YWNrIHNsb3RzIGluIHRoZSBzdGFjayBmcmFtZS4gVGhpcyByZXF1aXJlcyBsaXZlbmVzcyBh
bmFseXNpcwotYW5kIGFuIGludGVyZmVyZW5jZSBncmFwaC4KLQotQWlyLmpzIHJlbGllcyBvbiB0
aHJlZSBtYWpvciBFUzYgZmVhdHVyZXMgbW9yZSBzbyB0aGFuIG1vc3Qgb2YgdGhlIG90aGVyczoK
LQotLSBBcnJvdyBmdW5jdGlvbnMuIExpa2UgdGhlIEMrKyBBaXIsIEFpci5qcyB1c2VzIGEgZnVu
Y3Rpb25hbCBzdHlsZSBvZgotICBpdGVyYXRpbmcgbW9zdCBub24tdHJpdmlhbCBkYXRhLXN0cnVj
dHVyZXM6Ci0KLSAgICAgICAgaW5zdC5mb3JFYWNoQXJnKChhcmcsIHJvbGUsIHR5cGUsIHdpZHRo
KSA9PiAuLi4pCi0gIAotICBUaGlzIGlzIGJlY2F1c2UgdGhlIGZ1bmN0aW9uYWwgc3R5bGUgYWxs
b3dzIHRoZSBjYWxsYmFja3MgdG8gbXV0YXRlIHRoZSBkYXRhCi0gIGJlaW5nIGl0ZXJhdGVkOiBp
ZiB0aGUgY2FsbGJhY2sgcmV0dXJucyBhIG5vbi1udWxsIHZhbHVlLCBmb3JFYWNoQXJnKCkgd2ls
bAotICByZXBsYWNlIHRoZSBhcmd1bWVudCB3aXRoIHRoYXQgdmFsdWUuIFRoaXMgd291bGQgbm90
IGhhdmUgYmVlbiBwb3NzaWJsZSB3aXRoCi0gIGZvci1vZi4KLQotLSBGb3Itb2YuIE1hbnkgQWly
IGRhdGEgc3RydWN0dXJlcyBhcmUgYW1lbmFibGUgdG8gZm9yLW9mIGl0ZXJhdGlvbi4gV2hpbGUg
dGhlCi0gIGlubmVybW9zdCBsb29wcyB0ZW5kIHRvIHVzZSBmdW5jdGlvbmFsIGl0ZXJhdGlvbiwg
cHJldHR5IG11Y2ggYWxsIG9mIHRoZQotICBvdXRlciBsb2dpYyB1c2VzIGZvci1vZiBoZWF2aWx5
LiBGb3IgZXhhbXBsZToKLQotICAgICAgICBmb3IgKGxldCBibG9jayBvZiBjb2RlKSAvLyBJdGVy
YXRlIG92ZXIgdGhlIGJhc2ljIGJsb2NrcwotICAgICAgICAgICAgZm9yIChsZXQgaW5zdCBvZiBi
bG9jaykgLy8gSXRlcmF0ZSBvdmVyIHRoZSBpbnN0cnVjdGlvbnMgaW4gYSBibG9jawotICAgICAg
ICAgICAgICAgIC4uLgotCi0tIE1hcC9TZXQuIFRoZSBsaXZlbmVzcyBhbmFseXNpcyBhbmQgQWly
OjphbGxvY2F0ZVN0YWNrKCkgcmVseSBvbiBtYXBzIGFuZAotICBzZXRzLiBGb3IgZXhhbXBsZSwg
d2UgdXNlIGEgbGl2ZUF0SGVhZCBtYXAgdGhhdCBpcyBrZXllZCBieSBiYXNpYyBibG9jay4gSXRz
Ci0gIHZhbHVlcyBhcmUgc2V0cyBvZiBsaXZlIHN0YWNrIHNsb3RzLiBUaGlzIGlzIGEgcmVsYXRp
dmVseSBjcnVkZSB3YXkgb2YgZG9pbmcKLSAgbGl2ZW5lc3MsIGJ1dCBpdCBpcyBleGFjdGx5IGhv
dyB0aGUgb3JpZ2luYWwgQWlyOjpMaXZlbmVzc0FuYWx5c2lzIHdvcmtlZCwgc28KLSAgd2Ugdmll
dyBpdCBhcyBiZWluZyBxdWl0ZSBmYWl0aGZ1bCB0byBob3cgYSBzZW5zaWJsZSBwcm9ncmFtbWVy
IG1pZ2h0IHVzZSBNYXAKLSAgYW5kIFNldC4KLQotQWlyLmpzIGFsc28gdXNlcyBzb21lIG90aGVy
IEVTNiBmZWF0dXJlcy4gRm9yIGV4YW1wbGUsIGl0IHVzZXMgYSBQcm94eQotaW4gb25lIHBsYWNl
LCB0aG91Z2ggd2UgZG91YnQgdGhhdCBpdCdzIG9uIGEgY3JpdGljYWwgcGF0aC4gQWlyLmpzIHVz
ZXMgY2xhc3NlcwotYW5kIGxldC9jb25zdCBleHRlbnNpdmVseSwgYXMgd2VsbCBhIHN5bWJvbHMu
IFN5bWJvbHMgYXJlIHVzZWQgYXMgZW51bWVyYXRpb24KLWVsZW1lbnRzLCBhbmQgc28gdGhleSBm
cmVxdWVudGx5IHNob3cgdXAgYXMgY2FzZXMgaW4gc3dpdGNoIHN0YXRlbWVudHMuCi0KLVRoZSB3
b3JrZmxvdyBvZiBhbiBBaXIuanMgcnVuIGlzIHByZXR0eSBzaW1wbGU6IHdlIGRvIDE1MCBydW5z
IG9mIGFsbG9jYXRlU3RhY2sKLW9uIGZvdXIgSVIgcGF5bG9hZHMuCi0KLUVhY2ggSVIgcGF5bG9h
ZCBpcyBhIGxhcmdlIHBpZWNlIG9mIEVTNiBjb2RlIHRoYXQgY29uc3RydWN0cyBhbiBBaXIuanMg
Q29kZQotb2JqZWN0LCBjb21wbGV0ZSB3aXRoIGJsb2NrcywgdGVtcG9yYXJpZXMsIHN0YWNrIHNs
b3RzLCBhbmQgaW5zdHJ1Y3Rpb25zLiBUaGVzZQotcGF5bG9hZHMgYXJlIGdlbmVyYXRlZCBieSBy
dW5uaW5nIEFpcjo6ZHVtcEFzSlMoKSBwaGFzZSBqdXN0IHByaW9yIHRvIHRoZQotbmF0aXZlIGFs
bG9jYXRlU3RhY2sgcGhhc2Ugb24gdGhlIGxhcmdlc3QgaG90IGZ1bmN0aW9uIGluIGZvdXIgbWFq
b3IgSlMKLWJlbmNobWFya3MgYWNjb3JkaW5nIHRvIEphdmFTY3JpcHRDb3JlJ3MgaW50ZXJuYWwg
cHJvZmlsaW5nOgotCi0tIE9jdGFuZS9HQkVtdSwgdGhlIGV4ZWN1dGVJdGVyYXRpb24gZnVuY3Rp
b24uCi0tIEtyYWtlbi9pbWFnaW5nLWdhdXNzaWFuLWJsdXIsIHRoZSBnYXVzc2lhbkJsdXIgZnVu
Y3Rpb24uCi0tIE9jdGFuZS9UeXBlc2NyaXB0LCB0aGUgc2NhbklkZW50aWZpZXIgZnVuY3Rpb24s
Ci0tIEFpci5qcywgYW4gYW5vbnltb3VzIGNsb3N1cmUgaWRlbnRpZmllZCBieSBvdXIgcHJvZmls
ZXIgYXMgQUNMajhDLgotCi1UaGVzZSBwYXlsb2FkcyBhbGxvdyBBaXIuanMgdG8gcHJlY2lzZWx5
IHJlcGxheSBhbGxvY2F0ZVN0YWNrIG9uIHRob3NlIGFjdHVhbAotZnVuY3Rpb25zLgotCi1JdCB3
YXMgYW4gYSBwcmlvcmkgZ29hbCBvZiBBaXIuanMgdG8gc3BlbmQgbW9zdCBvZiB0aGUgdGltZSBp
biB0aGUKLWFsbG9jYXRlU3RhY2sgcGhhc2UuIFRoaXMgaXMgYSBmYWl0aGZ1bCByZXByb2R1Y3Rp
b24gb2YgdGhlIEMrKyBhbGxvY2F0ZVN0YWNrCi1waGFzZSwgaW5jbHVkaW5nIGl0cyB1c2Ugb2Yg
YW4gYWJzdHJhY3QgbGl2ZW5lc3MgYW5hbHlzaXMuIEl0J3MgYWJzdHJhY3QgaW4gdGhlCi1zZW5z
ZSB0aGF0IHRoZSBzYW1lIGxpdmVuZXNzIGFsZ29yaXRobSBjYW4gYmUgcmV1c2VkIGZvciB0ZW1w
b3JhcmllcywKLXJlZ2lzdGVycywgb3Igc3RhY2sgc2xvdHMuIEluIEMrKyB0aGlzIG1lYW50IHVz
aW5nIHRlbXBsYXRlcywgd2hpbGUgaW4gRVM2IGl0Ci1tZWFucyBtb3JlIHJ1bi10aW1lIGR5bmFt
aWMgZGlzcGF0Y2guCi0KLUVhY2ggSVIgcGF5bG9hZCBpcyBleGVjdXRhYmxlIGNvZGUgdGhhdCBh
bGxvY2F0ZXMgdGhlIElSLCBhbmQgYWJvdXQgMTUlIG9mCi1iZW5jaG1hcmsgZXhlY3V0aW9uIHRp
bWUgaXMgc3BlbnQgaW4gdGhhdCBjb2RlLiBUaGlzIGlzIHNpZ25pZmljYW50LCBidXQgaGF2aW5n
Ci1sZWFybmVkIHRoaXMsIHdlIGRvbid0IGZlZWwgdGhhdCBpdCB3b3VsZCBiZSBob25lc3QgdG8g
dHJ5IHRvIGNoYW5nZSB0aGUKLWVmZmljaWVuY3kgb2YgcGF5bG9hZCBpbml0aWFsaXphdGlvbi4g
V2hhdCBpZiB0aGUgcGF5bG9hZCBpbml0aWFsaXphdGlvbiB3YXMKLW1vcmUgZXhwZW5zaXZlIG9u
IG91ciBlbmdpbmUgdGhhbiBvdGhlcnM/IElmIGl0IHdhcywgdGhlbiBzdWNoIGEgY2hhbmdlIHdv
dWxkCi1ub3QgYmUgZmFpci4KLQotQWlyLmpzIHZhbGlkYXRlcyBpdHMgcmVzdWx0cy4gV2UgYWRk
ZWQgYSBDb2RlIGhhc2hpbmcgY2FwYWJpbGl0eSB0byBib3RoIHRoZQotQysrIEFpciBhbmQgQWly
LmpzLCBhbmQgd2UgYXNzZXJ0IGVhY2ggcGF5bG9hZCBsb29rcyBpZGVudGljYWwgYWZ0ZXIKLWFs
bG9jYXRlU3RhY2sgdG8gd2hhdCBpdCB3b3VsZCBoYXZlIGxvb2tlZCBsaWtlIGFmdGVyIHRoZSBv
cmlnaW5hbCBDKysKLWFsbG9jYXRlU3RhY2suIFdlIGFsc28gdmFsaWRhdGUgdGhhdCBwYXlsb2Fk
cyBoYXNoIHByb3Blcmx5IGJlZm9yZQotYWxsY29hdGVTdGFjaywgdG8gaGVscCBjYXRjaCBidWdz
IGR1cmluZyBwYXlsb2FkIGluaXRpYWxpemF0aW9uLiBXZSBoYXZlIG5vdAotbWVhc3VyZWQgaG93
IGxvbmcgaGFzaGluZyB0YWtlcywgYnV0IGl0J3MgYSBPKE4pIG9wZXJhdGlvbiwgd2hpbGUgYWxs
b2NhdGVTdGFjawotaXMgY2xvc2VyIHRvIE8oTl4yKS4gV2Ugc3VzcGVjdCB0aGF0IGJhcnJpbmcg
c29tZSBlbmdpbmUgcGF0aG9sb2dpZXMsIGhhc2hpbmcKLXNob3VsZCBiZSBtdWNoIGZhc3RlciB0
aGFuIGFsbG9jYXRlU3RhY2ssIGFuZCBhbGxvY2F0ZVN0YWNrIHNob3VsZCBiZSB3aGVyZSB0aGUK
LWJ1bGsgb2YgdGltZSBpcyBzcGVudC4KLQotIyMgTGljZW5zZQotCi1Db3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotCi1SZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLW1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotYXJlIG1ldDoKLQotMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLQotMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0KLVRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLUlNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLUNPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi1QUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi1PRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLShJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCi0KLSMjIFN1bW1hcnkKLQotQXQgdGhlIHRpbWUgdGhhdCBBaXIuanMg
d2FzIHdyaXR0ZW4sIHdlIHdlcmVuJ3QgaGFwcHkgd2l0aCB0aGUgRVM2IGJlbmNobWFya3MKLXRo
YXQgd2VyZSBhdmFpbGFibGUgdG8gdXMuIEFpci5qcyB1c2VzIHNvbWUgRVM2IGZlYXR1cmVzIGlu
IGFuZ2VyLCBpbiB0aGUgaG9wZQotdGhhdCB3ZSBjYW4gbGVhcm4gYWJvdXQgcG9zc2libGUgb3B0
aW1pemF0aW9uIHN0cmF0ZWdpZXMgYnkgbG9va2luZyBhdCB0aGlzIGFuZAotb3RoZXIgYmVuY2ht
YXJrcy4KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2FpcmpzLXRl
c3RzLnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9B
aXIvYWlyanMtdGVzdHMueWFtbAkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0
cy9FUzZTYW1wbGVCZW5jaC9BaXIvYWlyanMtdGVzdHMueWFtbAkobm9uZXhpc3RlbnQpCkBAIC0x
LDI4ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotIyBhcmUgbWV0OgotIwotIyAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCi0jIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
IyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0jIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKLSMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQotIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0jIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCi0jIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSMgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0jIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0jIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotIyBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi0tIHBhdGg6IC4K
LSAgdGVzdHM6Ci0gICAgLSBzdHJlc3MtdGVzdC5qcwotICBjbWQ6IGRlZmF1bHRSdW5Ob2lzeVRl
c3QgdW5sZXNzIHBhcnNlUnVuQ29tbWFuZHMKLQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZT
YW1wbGVCZW5jaC9BaXIvYWxsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2
U2FtcGxlQmVuY2gvQWlyL2FsbC5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VU
ZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvYWxsLmpzCShub25leGlzdGVudCkKQEAgLTEsMTggKzAs
MCBAQAotInVzZSBzdHJpY3QiOwotCi1sb2FkKCJzeW1ib2xzLmpzIik7Ci1sb2FkKCJ0bXBfYmFz
ZS5qcyIpOwotbG9hZCgiYXJnLmpzIik7Ci1sb2FkKCJiYXNpY19ibG9jay5qcyIpOwotbG9hZCgi
Y29kZS5qcyIpOwotbG9hZCgiZnJlcXVlbnRlZF9ibG9jay5qcyIpOwotbG9hZCgiaW5zdC5qcyIp
OwotbG9hZCgib3Bjb2RlLmpzIik7Ci1sb2FkKCJyZWcuanMiKTsKLWxvYWQoInN0YWNrX3Nsb3Qu
anMiKTsKLWxvYWQoInRtcC5qcyIpOwotbG9hZCgidXRpbC5qcyIpOwotbG9hZCgiY3VzdG9tLmpz
Iik7Ci1sb2FkKCJsaXZlbmVzcy5qcyIpOwotbG9hZCgiaW5zZXJ0aW9uX3NldC5qcyIpOwotbG9h
ZCgiYWxsb2NhdGVfc3RhY2suanMiKTsKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxl
QmVuY2gvQWlyL2FsbG9jYXRlX3N0YWNrLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVz
dHMvRVM2U2FtcGxlQmVuY2gvQWlyL2FsbG9jYXRlX3N0YWNrLmpzCShyZXZpc2lvbiAyMTE2ODgp
CisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9hbGxvY2F0ZV9zdGFjay5q
cwkobm9uZXhpc3RlbnQpCkBAIC0xLDI1MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWZ1bmN0aW9uIGFsbG9jYXRl
U3RhY2soY29kZSkKLXsKLSAgICBpZiAoY29kZS5mcmFtZVNpemUpCi0gICAgICAgIHRocm93IG5l
dyBFcnJvcigiRnJhbWUgc2l6ZSBhbHJlYWR5IGRldGVybWluZWQiKTsKLSAgICAKLSAgICBmdW5j
dGlvbiBhdHRlbXB0QXNzaWdubWVudChzbG90LCBvZmZzZXRGcm9tRlAsIG90aGVyU2xvdHMpCi0g
ICAgewotICAgICAgICBpZiAob2Zmc2V0RnJvbUZQID4gMCkKLSAgICAgICAgICAgIHRocm93IG5l
dyBFcnJvcigiRXhwZWN0IG5lZ2F0aXZlIG9mZnNldCIpOwotICAgICAgICAKLSAgICAgICAgb2Zm
c2V0RnJvbUZQID0gLXJvdW5kVXBUb011bHRpcGxlT2Yoc2xvdC5hbGlnbm1lbnQsIC1vZmZzZXRG
cm9tRlApOwotICAgICAgICAKLSAgICAgICAgZm9yIChsZXQgb3RoZXJTbG90IG9mIG90aGVyU2xv
dHMpIHsKLSAgICAgICAgICAgIGlmICghb3RoZXJTbG90Lm9mZnNldEZyb21GUCkKLSAgICAgICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIGxldCBvdmVybGFwID0gcmFuZ2VzT3Zlcmxh
cCgKLSAgICAgICAgICAgICAgICBvZmZzZXRGcm9tRlAsCi0gICAgICAgICAgICAgICAgb2Zmc2V0
RnJvbUZQICsgc2xvdC5ieXRlU2l6ZSwKLSAgICAgICAgICAgICAgICBvdGhlclNsb3Qub2Zmc2V0
RnJvbUZQLAotICAgICAgICAgICAgICAgIG90aGVyU2xvdC5vZmZzZXRGcm9tRlAgKyBvdGhlclNs
b3QuYnl0ZVNpemUpOwotICAgICAgICAgICAgaWYgKG92ZXJsYXApCi0gICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBzbG90LnNldE9mZnNl
dEZyb21GUChvZmZzZXRGcm9tRlApOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAg
Ci0gICAgZnVuY3Rpb24gYXNzaWduKHNsb3QsIG90aGVyU2xvdHMpCi0gICAgewotICAgICAgICBp
ZiAoYXR0ZW1wdEFzc2lnbm1lbnQoc2xvdCwgLXNsb3QuYnl0ZVNpemUsIG90aGVyU2xvdHMpKQot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICAgICAgZm9yIChsZXQgb3RoZXJTbG90
IG9mIG90aGVyU2xvdHMpIHsKLSAgICAgICAgICAgIGlmICghb3RoZXJTbG90Lm9mZnNldEZyb21G
UCkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIGlmIChhdHRlbXB0QXNz
aWdubWVudChzbG90LCBvdGhlclNsb3Qub2Zmc2V0RnJvbUZQIC0gc2xvdC5ieXRlU2l6ZSwgb3Ro
ZXJTbG90cykpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIAot
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkFzc2lnbm1lbnQgZmFpbGVkIik7Ci0gICAgfQotICAg
IAotICAgIC8vIEFsbG9jYXRlIGFsbCBvZiB0aGUgZXNjYXBlZCBzbG90cyBpbiBvcmRlci4gVGhp
cyBpcyBraW5kIG9mIGEgY3JhenkgYWxnb3JpdGhtIHRvIGFsbG93IGZvcgotICAgIC8vIHRoZSBw
b3NzaWJpbGl0eSBvZiBzdGFjayBzbG90cyBiZWluZyBhc3NpZ25lZCBmcmFtZSBvZmZzZXRzIGJl
Zm9yZSB3ZSBldmVuIGdldCBoZXJlLgotICAgIGxldCBhc3NpZ25lZEVzY2FwZWRTdGFja1Nsb3Rz
ID0gW107Ci0gICAgbGV0IGVzY2FwZWRTdGFja1Nsb3RzV29ya2xpc3QgPSBbXTsKLSAgICBmb3Ig
KGxldCBzbG90IG9mIGNvZGUuc3RhY2tTbG90cykgewotICAgICAgICBpZiAoc2xvdC5pc0xvY2tl
ZCkgewotICAgICAgICAgICAgaWYgKHNsb3Qub2Zmc2V0RnJvbUZQKQotICAgICAgICAgICAgICAg
IGFzc2lnbmVkRXNjYXBlZFN0YWNrU2xvdHMucHVzaChzbG90KTsKLSAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICBlc2NhcGVkU3RhY2tTbG90c1dvcmtsaXN0LnB1c2goc2xvdCk7Ci0g
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBpZiAoc2xvdC5vZmZzZXRGcm9tRlApCi0gICAg
ICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJPZmZzZXQgYWxyZWFkeSBhc3NpZ25lZCIpOwot
ICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIC8vIFRoaXMgaXMgYSBmYWlybHkgZXNwZW5zaXZl
IGxvb3AsIGJ1dCBpdCdzIE9LIGJlY2F1c2Ugd2UnbGwgdXN1YWxseSBvbmx5IGhhdmUgYSBoYW5k
ZnVsIG9mCi0gICAgLy8gZXNjYXBlZCBzdGFjayBzbG90cy4KLSAgICB3aGlsZSAoZXNjYXBlZFN0
YWNrU2xvdHNXb3JrbGlzdC5sZW5ndGgpIHsKLSAgICAgICAgbGV0IHNsb3QgPSBlc2NhcGVkU3Rh
Y2tTbG90c1dvcmtsaXN0LnBvcCgpOwotICAgICAgICBhc3NpZ24oc2xvdCwgYXNzaWduZWRFc2Nh
cGVkU3RhY2tTbG90cyk7Ci0gICAgICAgIGFzc2lnbmVkRXNjYXBlZFN0YWNrU2xvdHMucHVzaChz
bG90KTsKLSAgICB9Ci0gICAgCi0gICAgLy8gTm93IHdlIGhhbmRsZSB0aGUgc3BpbGwgc2xvdHMu
Ci0gICAgbGV0IGxpdmVuZXNzID0gbmV3IExpdmVuZXNzKFN0YWNrU2xvdCwgY29kZSk7Ci0gICAg
bGV0IGludGVyZmVyZW5jZSA9IG5ldyBNYXAoKTsKLSAgICBmb3IgKGxldCBzbG90IG9mIGNvZGUu
c3RhY2tTbG90cykKLSAgICAgICAgaW50ZXJmZXJlbmNlLnNldChzbG90LCBuZXcgU2V0KCkpOwot
ICAgIGxldCBzbG90cyA9IFtdOwotICAgIAotICAgIGZvciAobGV0IGJsb2NrIG9mIGNvZGUpIHsK
LSAgICAgICAgbGV0IGxvY2FsQ2FsYyA9IGxpdmVuZXNzLmxvY2FsQ2FsYyhibG9jayk7Ci0gICAg
ICAgIAotICAgICAgICBmdW5jdGlvbiBpbnRlcmZlcmUoaW5zdEluZGV4KQotICAgICAgICB7Ci0g
ICAgICAgICAgICBJbnN0LmZvckVhY2hEZWYoCi0gICAgICAgICAgICAgICAgU3RhY2tTbG90LCBi
bG9jay5nZXQoaW5zdEluZGV4KSwgYmxvY2suZ2V0KGluc3RJbmRleCArIDEpLAotICAgICAgICAg
ICAgICAgIChzbG90LCByb2xlLCB0eXBlLCB3aWR0aCkgPT4gewotICAgICAgICAgICAgICAgICAg
ICBpZiAoIXNsb3QuaXNTcGlsbCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IG90aGVyU2xv
dCBvZiBsb2NhbENhbGMubGl2ZVNldCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJm
ZXJlbmNlLmdldChzbG90KS5hZGQob3RoZXJTbG90KTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGludGVyZmVyZW5jZS5nZXQob3RoZXJTbG90KS5hZGQoc2xvdCk7Ci0gICAgICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAg
Zm9yIChsZXQgaW5zdEluZGV4ID0gYmxvY2suc2l6ZTsgaW5zdEluZGV4LS07KSB7Ci0gICAgICAg
ICAgICAvLyBLaWxsIGRlYWQgc3RvcmVzLiBGb3Igc2ltcGxpY2l0eSB3ZSBzYXkgdGhhdCBhIHN0
b3JlIGlzIGtpbGxhYmxlIGlmIGl0IGhhcyBvbmx5IGxhdGUKLSAgICAgICAgICAgIC8vIGRlZnMg
YW5kIHRob3NlIGxhdGUgZGVmcyBhcmUgdG8gdGhpbmdzIHRoYXQgYXJlIGRlYWQgcmlnaHQgbm93
LiBXZSBvbmx5IGRvIHRoYXQKLSAgICAgICAgICAgIC8vIGJlY2F1c2UgdGhhdCdzIHRoZSBvbmx5
IGtpbmQgb2YgZGVhZCBzdGFjayBzdG9yZSB3ZSB3aWxsIHNlZSBoZXJlLgotICAgICAgICAgICAg
bGV0IGluc3QgPSBibG9jay5hdChpbnN0SW5kZXgpOwotICAgICAgICAgICAgaWYgKCFpbnN0Lmhh
c05vbkFyZ0VmZmVjdHMpIHsKLSAgICAgICAgICAgICAgICBsZXQgb2sgPSB0cnVlOwotICAgICAg
ICAgICAgICAgIGluc3QuZm9yRWFjaEFyZygoYXJnLCByb2xlLCB0eXBlLCB3aWR0aCkgPT4gewot
ICAgICAgICAgICAgICAgICAgICBpZiAoQXJnLmlzRWFybHlEZWYocm9sZSkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIG9rID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgaWYgKCFBcmcu
aXNMYXRlRGVmKHJvbGUpKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICAgICAgICAgICAgICBpZiAoIWFyZy5pc1N0YWNrKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBvayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICBs
ZXQgc2xvdCA9IGFyZy5zdGFja1Nsb3Q7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghc2xvdC5p
c1NwaWxsKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBvayA9IGZhbHNlOwotICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICBpZiAobG9jYWxDYWxjLmxpdmVTZXQuaGFz
KHNsb3QpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBvayA9IGZhbHNlOwotICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgaWYgKG9rKQotICAgICAgICAgICAgICAgICAgICBp
bnN0LmNsZWFyKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlu
dGVyZmVyZShpbnN0SW5kZXgpOwotICAgICAgICAgICAgbG9jYWxDYWxjLmV4ZWN1dGUoaW5zdElu
ZGV4KTsKLSAgICAgICAgfQotICAgICAgICBpbnRlcmZlcmUoLTEpOwotICAgICAgICAKLSAgICAg
ICAgcmVtb3ZlQWxsTWF0Y2hpbmcoYmxvY2suaW5zdHMsIGluc3QgPT4gaW5zdC5vcGNvZGUgPT0g
Tm9wKTsKLSAgICB9Ci0gICAgCi0gICAgLy8gTm93IHdlIGFzc2lnbiBzdGFjayBsb2NhdGlvbnMu
IEF0IGl0cyBoZWFydCB0aGlzIGFsZ29yaXRobSBpcyBqdXN0IGZpcnN0LWZpdC4gRm9yIGVhY2gK
LSAgICAvLyBTdGFja1Nsb3Qgd2UganVzdCB3YW50IHRvIGZpbmQgdGhlIG9mZnNldEZyb21GUCB0
aGF0IGlzIGNsb3Nlc3QgdG8gemVybyB3aGlsZSBlbnN1cmluZyBubwotICAgIC8vIG92ZXJsYXAg
d2l0aCBvdGhlciBTdGFja1Nsb3RzIHRoYXQgdGhpcyBvdmVybGFwcyB3aXRoLgotICAgIGZvciAo
bGV0IHNsb3Qgb2YgY29kZS5zdGFja1Nsb3RzKSB7Ci0gICAgICAgIGlmIChzbG90Lm9mZnNldEZy
b21GUCkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAKLSAgICAgICAgYXNzaWduKHNs
b3QsIGFzc2lnbmVkRXNjYXBlZFN0YWNrU2xvdHMuY29uY2F0KEFycmF5LmZyb20oaW50ZXJmZXJl
bmNlLmdldChzbG90KSkpKTsKLSAgICB9Ci0gICAgCi0gICAgLy8gRmlndXJlIG91dCBob3cgbXVj
aCBzdGFjayB3ZSdyZSB1c2luZyBmb3Igc3RhY2sgc2xvdHMuCi0gICAgbGV0IGZyYW1lU2l6ZUZv
clN0YWNrU2xvdHMgPSAwOwotICAgIGZvciAobGV0IHNsb3Qgb2YgY29kZS5zdGFja1Nsb3RzKSB7
Ci0gICAgICAgIGZyYW1lU2l6ZUZvclN0YWNrU2xvdHMgPSBNYXRoLm1heCgKLSAgICAgICAgICAg
IGZyYW1lU2l6ZUZvclN0YWNrU2xvdHMsCi0gICAgICAgICAgICAtc2xvdC5vZmZzZXRGcm9tRlAp
OwotICAgIH0KLSAgICAKLSAgICBmcmFtZVNpemVGb3JTdGFja1Nsb3RzID0gcm91bmRVcFRvTXVs
dGlwbGVPZihzdGFja0FsaWdubWVudEJ5dGVzLCBmcmFtZVNpemVGb3JTdGFja1Nsb3RzKTsKLQot
ICAgIC8vIE5vIHdlIG5lZWQgdG8gZGVkdWNlIGhvdyBtdWNoIGFyZ3VtZW50IGFyZWEgd2UgbmVl
ZC4KLSAgICBmb3IgKGxldCBibG9jayBvZiBjb2RlKSB7Ci0gICAgICAgIGZvciAobGV0IGluc3Qg
b2YgYmxvY2spIHsKLSAgICAgICAgICAgIGZvciAobGV0IGFyZyBvZiBpbnN0LmFyZ3MpIHsKLSAg
ICAgICAgICAgICAgICBpZiAoYXJnLmlzQ2FsbEFyZykgewotICAgICAgICAgICAgICAgICAgICAv
LyBGb3Igbm93LCB3ZSBhc3N1bWUgdGhhdCB3ZSB1c2UgOCBieXRlcyBvZiB0aGUgY2FsbCBhcmcu
IEJ1dCB0aGF0J3Mgbm90Ci0gICAgICAgICAgICAgICAgICAgIC8vIHN1Y2ggYW4gYXdlc29tZSBh
c3N1bXB0aW9uLgotICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDQ1NAotICAgICAgICAgICAgICAgICAgICBpZiAo
YXJnLm9mZnNldCA8IDApCi0gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkRpZCBub3QgZXhwZWN0IG5lZ2F0aXZlIG9mZnNldCBmb3IgY2FsbEFyZyIpOwotICAgICAgICAg
ICAgICAgICAgICBjb2RlLnJlcXVlc3RDYWxsQXJnQXJlYVNpemUoYXJnLm9mZnNldCArIDgpOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICAK
LSAgICBjb2RlLnNldEZyYW1lU2l6ZShmcmFtZVNpemVGb3JTdGFja1Nsb3RzICsgY29kZS5jYWxs
QXJnQXJlYVNpemUpOwotICAgIAotICAgIC8vIEZpbmFsbHkgdHJhbnNmb3JtIHRoZSBjb2RlIHRv
IHVzZSBBZGRycyBpbnN0ZWFkIG9mIFN0YWNrU2xvdHMuIFRoaXMgaXMgYSBsb3NzbGVzcwotICAg
IC8vIHRyYW5zZm9ybWF0aW9uIHNpbmNlIHdlIGNhbiBzZWFyY2ggdGhlIFN0YWNrU2xvdHMgYXJy
YXkgdG8gZmlndXJlIG91dCB3aGljaCBTdGFja1Nsb3QgYW55Ci0gICAgLy8gb2Zmc2V0LWZyb20t
RlAgcmVmZXJzIHRvLgotCi0gICAgLy8gRklYTUU6IFRoaXMgbWF5IHByb2R1Y2UgYWRkcmVzc2Vz
IHRoYXQgYXJlbid0IHZhbGlkIGlmIHdlIGVuZCB1cCB3aXRoIGEgZ2lub3Jtb3VzIHN0YWNrIGZy
YW1lLgotICAgIC8vIFdlIHdvdWxkIGhhdmUgdG8gc2NhdmVuZ2UgZm9yIHRlbXBvcmFyaWVzIGlm
IHRoaXMgaGFwcGVuZWQuIEZvcnR1bmF0ZWx5LCB0aGlzIGNhc2Ugd2lsbCBiZQotICAgIC8vIGV4
dHJlbWVseSByYXJlIHNvIHdlIGNhbiBkbyBjcmF6eSB0aGluZ3Mgd2hlbiBpdCBhcmlzZXMuCi0g
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjUzMAotICAg
IAotICAgIGxldCBpbnNlcnRpb25TZXQgPSBuZXcgSW5zZXJ0aW9uU2V0KCk7Ci0gICAgZm9yIChs
ZXQgYmxvY2sgb2YgY29kZSkgewotICAgICAgICBmb3IgKGxldCBpbnN0SW5kZXggPSAwOyBpbnN0
SW5kZXggPCBibG9jay5zaXplOyArK2luc3RJbmRleCkgewotICAgICAgICAgICAgbGV0IGluc3Qg
PSBibG9jay5hdChpbnN0SW5kZXgpOwotICAgICAgICAgICAgaW5zdC5mb3JFYWNoQXJnKChhcmcs
IHJvbGUsIHR5cGUsIHdpZHRoKSA9PiB7Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24gc3RhY2tB
ZGRyKG9mZnNldCkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVy
biBBcmcuY3JlYXRlU3RhY2tBZGRyKG9mZnNldCwgY29kZS5mcmFtZVNpemUsIHdpZHRoKTsKLSAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgc3dpdGNo
IChhcmcua2luZCkgewotICAgICAgICAgICAgICAgIGNhc2UgQXJnLlN0YWNrOiB7Ci0gICAgICAg
ICAgICAgICAgICAgIGxldCBzbG90ID0gYXJnLnN0YWNrU2xvdDsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKEFyZy5pc1pEZWYocm9sZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICYmIHNsb3Qu
aXNTcGlsbAotICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2xvdC5ieXRlU2l6ZSA+IEFyZy5i
eXRlcyh3aWR0aCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIEN1cnJlbnRseSB3ZSBv
bmx5IGhhbmRsZSB0aGlzIHNpbXBsZSBjYXNlIGJlY2F1c2UgaXQncyB0aGUgb25seSBvbmUKLSAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQgYXJpc2VzOiBaRGVmJ3MgYXJlIG9ubHkgMzIt
Yml0IHJpZ2h0IG5vdy4gU28sIHdoZW4gd2UgaGl0IHRoZXNlCi0gICAgICAgICAgICAgICAgICAg
ICAgICAvLyBhc3NlcnRpb25zIGl0IG1lYW5zIHRoYXQgd2UgbmVlZCB0byBpbXBsZW1lbnQgdGhv
c2Ugb3RoZXIga2luZHMgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIHplcm8gZmlsbHMu
Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2xvdC5ieXRlU2l6ZSAhPSA4KSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBgQmFkIHNwaWxsIHNsb3Qgc2l6ZSBmb3IgWkRlZjogJHtzbG90LmJ5
dGVTaXplfSwgd2lkdGggaXMgJHt3aWR0aH1gKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh3aWR0aCAhPSAzMikKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCB3aWR0aCBmb3IgWkRlZiIpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRpb25T
ZXQuaW5zZXJ0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RJbmRleCArIDEsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEluc3QoCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFN0b3JlWmVybzMyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbc3RhY2tBZGRyKGFyZy5vZmZzZXQgKyA0ICsgc2xvdC5vZmZzZXRGcm9tRlApXSkpOwotICAg
ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGFja0FkZHIo
YXJnLm9mZnNldCArIHNsb3Qub2Zmc2V0RnJvbUZQKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgY2FzZSBBcmcuQ2FsbEFyZzoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IHN0YWNrQWRkcihhcmcub2Zmc2V0IC0gY29kZS5mcmFtZVNpemUpOwotICAgICAgICAgICAgICAg
IGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgICAgIGluc2VydGlvblNldC5leGVjdXRl
KGJsb2NrLmluc3RzKTsKLSAgICB9Ci19CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBs
ZUJlbmNoL0Fpci9hcmcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1w
bGVCZW5jaC9BaXIvYXJnLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3Rz
L0VTNlNhbXBsZUJlbmNoL0Fpci9hcmcuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMDY0ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3Ry
aWN0IjsKLQotY2xhc3MgQXJnIHsKLSAgICBjb25zdHJ1Y3RvcigpCi0gICAgewotICAgICAgICB0
aGlzLl9raW5kID0gQXJnLkludmFsaWQ7Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBpc0FueVVz
ZShyb2xlKQotICAgIHsKLSAgICAgICAgc3dpdGNoIChyb2xlKSB7Ci0gICAgICAgIGNhc2UgQXJn
LlVzZToKLSAgICAgICAgY2FzZSBBcmcuQ29sZFVzZToKLSAgICAgICAgY2FzZSBBcmcuVXNlRGVm
OgotICAgICAgICBjYXNlIEFyZy5Vc2VaRGVmOgotICAgICAgICBjYXNlIEFyZy5MYXRlVXNlOgot
ICAgICAgICBjYXNlIEFyZy5MYXRlQ29sZFVzZToKLSAgICAgICAgY2FzZSBBcmcuU2NyYXRjaDoK
LSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBjYXNlIEFyZy5EZWY6Ci0gICAgICAg
IGNhc2UgQXJnLlpEZWY6Ci0gICAgICAgIGNhc2UgQXJnLlVzZUFkZHI6Ci0gICAgICAgIGNhc2Ug
QXJnLkVhcmx5RGVmOgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgcm9sZSIpOwotICAgICAgICB9Ci0g
ICAgfQotICAgIAotICAgIHN0YXRpYyBpc0NvbGRVc2Uocm9sZSkKLSAgICB7Ci0gICAgICAgIHN3
aXRjaCAocm9sZSkgewotICAgICAgICBjYXNlIEFyZy5Db2xkVXNlOgotICAgICAgICBjYXNlIEFy
Zy5MYXRlQ29sZFVzZToKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBjYXNlIEFy
Zy5Vc2U6Ci0gICAgICAgIGNhc2UgQXJnLlVzZURlZjoKLSAgICAgICAgY2FzZSBBcmcuVXNlWkRl
ZjoKLSAgICAgICAgY2FzZSBBcmcuTGF0ZVVzZToKLSAgICAgICAgY2FzZSBBcmcuRGVmOgotICAg
ICAgICBjYXNlIEFyZy5aRGVmOgotICAgICAgICBjYXNlIEFyZy5Vc2VBZGRyOgotICAgICAgICBj
YXNlIEFyZy5TY3JhdGNoOgotICAgICAgICBjYXNlIEFyZy5FYXJseURlZjoKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBF
cnJvcigiQmFkIHJvbGUiKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgaXNX
YXJtVXNlKHJvbGUpCi0gICAgewotICAgICAgICByZXR1cm4gQXJnLmlzQW55VXNlKHJvbGUpICYm
ICFBcmcuaXNDb2xkVXNlKHJvbGUpOwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgY29vbGVkKHJv
bGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHJvbGUpIHsKLSAgICAgICAgY2FzZSBBcmcuQ29s
ZFVzZToKLSAgICAgICAgY2FzZSBBcmcuTGF0ZUNvbGRVc2U6Ci0gICAgICAgIGNhc2UgQXJnLlVz
ZURlZjoKLSAgICAgICAgY2FzZSBBcmcuVXNlWkRlZjoKLSAgICAgICAgY2FzZSBBcmcuRGVmOgot
ICAgICAgICBjYXNlIEFyZy5aRGVmOgotICAgICAgICBjYXNlIEFyZy5Vc2VBZGRyOgotICAgICAg
ICBjYXNlIEFyZy5TY3JhdGNoOgotICAgICAgICBjYXNlIEFyZy5FYXJseURlZjoKLSAgICAgICAg
ICAgIHJldHVybiByb2xlOwotICAgICAgICBjYXNlIEFyZy5Vc2U6Ci0gICAgICAgICAgICByZXR1
cm4gQXJnLkNvbGRVc2U7Ci0gICAgICAgIGNhc2UgQXJnLkxhdGVVc2U6Ci0gICAgICAgICAgICBy
ZXR1cm4gQXJnLkxhdGVDb2xkVXNlOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCJCYWQgcm9sZSIpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgc3RhdGlj
IGlzRWFybHlVc2Uocm9sZSkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAocm9sZSkgewotICAgICAg
ICBjYXNlIEFyZy5Vc2U6Ci0gICAgICAgIGNhc2UgQXJnLkNvbGRVc2U6Ci0gICAgICAgIGNhc2Ug
QXJnLlVzZURlZjoKLSAgICAgICAgY2FzZSBBcmcuVXNlWkRlZjoKLSAgICAgICAgICAgIHJldHVy
biB0cnVlOwotICAgICAgICBjYXNlIEFyZy5EZWY6Ci0gICAgICAgIGNhc2UgQXJnLlpEZWY6Ci0g
ICAgICAgIGNhc2UgQXJnLlVzZUFkZHI6Ci0gICAgICAgIGNhc2UgQXJnLkxhdGVVc2U6Ci0gICAg
ICAgIGNhc2UgQXJnLkxhdGVDb2xkVXNlOgotICAgICAgICBjYXNlIEFyZy5TY3JhdGNoOgotICAg
ICAgICBjYXNlIEFyZy5FYXJseURlZjoKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIHJvbGUiKTsKLSAg
ICAgICAgfQotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgaXNMYXRlVXNlKHJvbGUpCi0gICAgewot
ICAgICAgICBzd2l0Y2ggKHJvbGUpIHsKLSAgICAgICAgY2FzZSBBcmcuTGF0ZVVzZToKLSAgICAg
ICAgY2FzZSBBcmcuTGF0ZUNvbGRVc2U6Ci0gICAgICAgIGNhc2UgQXJnLlNjcmF0Y2g6Ci0gICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBBcmcuQ29sZFVzZToKLSAgICAgICAg
Y2FzZSBBcmcuVXNlOgotICAgICAgICBjYXNlIEFyZy5Vc2VEZWY6Ci0gICAgICAgIGNhc2UgQXJn
LlVzZVpEZWY6Ci0gICAgICAgIGNhc2UgQXJnLkRlZjoKLSAgICAgICAgY2FzZSBBcmcuWkRlZjoK
LSAgICAgICAgY2FzZSBBcmcuVXNlQWRkcjoKLSAgICAgICAgY2FzZSBBcmcuRWFybHlEZWY6Ci0g
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0
aHJvdyBuZXcgRXJyb3IoIkJhZCByb2xlIik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAg
c3RhdGljIGlzQW55RGVmKHJvbGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHJvbGUpIHsKLSAg
ICAgICAgY2FzZSBBcmcuVXNlOgotICAgICAgICBjYXNlIEFyZy5Db2xkVXNlOgotICAgICAgICBj
YXNlIEFyZy5Vc2VBZGRyOgotICAgICAgICBjYXNlIEFyZy5MYXRlVXNlOgotICAgICAgICBjYXNl
IEFyZy5MYXRlQ29sZFVzZToKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgY2Fz
ZSBBcmcuRGVmOgotICAgICAgICBjYXNlIEFyZy5Vc2VEZWY6Ci0gICAgICAgIGNhc2UgQXJnLlpE
ZWY6Ci0gICAgICAgIGNhc2UgQXJnLlVzZVpEZWY6Ci0gICAgICAgIGNhc2UgQXJnLkVhcmx5RGVm
OgotICAgICAgICBjYXNlIEFyZy5TY3JhdGNoOgotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCByb2xlIik7
Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGlzRWFybHlEZWYocm9sZSkKLSAg
ICB7Ci0gICAgICAgIHN3aXRjaCAocm9sZSkgewotICAgICAgICBjYXNlIEFyZy5Vc2U6Ci0gICAg
ICAgIGNhc2UgQXJnLkNvbGRVc2U6Ci0gICAgICAgIGNhc2UgQXJnLlVzZUFkZHI6Ci0gICAgICAg
IGNhc2UgQXJnLkxhdGVVc2U6Ci0gICAgICAgIGNhc2UgQXJnLkRlZjoKLSAgICAgICAgY2FzZSBB
cmcuVXNlRGVmOgotICAgICAgICBjYXNlIEFyZy5aRGVmOgotICAgICAgICBjYXNlIEFyZy5Vc2Va
RGVmOgotICAgICAgICBjYXNlIEFyZy5MYXRlQ29sZFVzZToKLSAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAgICAgY2FzZSBBcmcuRWFybHlEZWY6Ci0gICAgICAgIGNhc2UgQXJnLlNjcmF0
Y2g6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQmFkIHJvbGUiKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAK
LSAgICBzdGF0aWMgaXNMYXRlRGVmKHJvbGUpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHJvbGUp
IHsKLSAgICAgICAgY2FzZSBBcmcuVXNlOgotICAgICAgICBjYXNlIEFyZy5Db2xkVXNlOgotICAg
ICAgICBjYXNlIEFyZy5Vc2VBZGRyOgotICAgICAgICBjYXNlIEFyZy5MYXRlVXNlOgotICAgICAg
ICBjYXNlIEFyZy5FYXJseURlZjoKLSAgICAgICAgY2FzZSBBcmcuU2NyYXRjaDoKLSAgICAgICAg
Y2FzZSBBcmcuTGF0ZUNvbGRVc2U6Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
IGNhc2UgQXJnLkRlZjoKLSAgICAgICAgY2FzZSBBcmcuVXNlRGVmOgotICAgICAgICBjYXNlIEFy
Zy5aRGVmOgotICAgICAgICBjYXNlIEFyZy5Vc2VaRGVmOgotICAgICAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBy
b2xlIik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGlzWkRlZihyb2xlKQot
ICAgIHsKLSAgICAgICAgc3dpdGNoIChyb2xlKSB7Ci0gICAgICAgIGNhc2UgQXJnLlVzZToKLSAg
ICAgICAgY2FzZSBBcmcuQ29sZFVzZToKLSAgICAgICAgY2FzZSBBcmcuVXNlQWRkcjoKLSAgICAg
ICAgY2FzZSBBcmcuTGF0ZVVzZToKLSAgICAgICAgY2FzZSBBcmcuRGVmOgotICAgICAgICBjYXNl
IEFyZy5Vc2VEZWY6Ci0gICAgICAgIGNhc2UgQXJnLkVhcmx5RGVmOgotICAgICAgICBjYXNlIEFy
Zy5TY3JhdGNoOgotICAgICAgICBjYXNlIEFyZy5MYXRlQ29sZFVzZToKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAgICAgY2FzZSBBcmcuWkRlZjoKLSAgICAgICAgY2FzZSBBcmcuVXNl
WkRlZjoKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBkZWZhdWx0OgotICAgICAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgcm9sZSIpOwotICAgICAgICB9Ci0gICAgfQotICAg
IAotICAgIHN0YXRpYyB0eXBlRm9yQjNUeXBlKHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2gg
KHR5cGUpIHsKLSAgICAgICAgY2FzZSBJbnQzMjoKLSAgICAgICAgY2FzZSBJbnQ2NDoKLSAgICAg
ICAgICAgIHJldHVybiBHUDsKLSAgICAgICAgY2FzZSBGbG9hdDoKLSAgICAgICAgY2FzZSBEb3Vi
bGU6Ci0gICAgICAgICAgICByZXR1cm4gRlA7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBCMyB0eXBlIik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAg
Ci0gICAgc3RhdGljIHdpZHRoRm9yQjNUeXBlKHR5cGUpCi0gICAgewotICAgICAgICBzd2l0Y2gg
KHR5cGUpIHsKLSAgICAgICAgY2FzZSBJbnQzMjoKLSAgICAgICAgY2FzZSBGbG9hdDoKLSAgICAg
ICAgICAgIHJldHVybiAzMjsKLSAgICAgICAgY2FzZSBJbnQ2NDoKLSAgICAgICAgY2FzZSBEb3Vi
bGU6Ci0gICAgICAgICAgICByZXR1cm4gNjQ7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBCMyB0eXBlIik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAg
Ci0gICAgc3RhdGljIGNvbnNlcnZhdGl2ZVdpZHRoKHR5cGUpCi0gICAgewotICAgICAgICByZXR1
cm4gdHlwZSA9PSBHUCA/IFB0ciA6IDY0OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgbWluaW11
bVdpZHRoKHR5cGUpCi0gICAgewotICAgICAgICByZXR1cm4gdHlwZSA9PSBHUCA/IDggOiAzMjsK
LSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGJ5dGVzKHdpZHRoKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIHdpZHRoIC8gODsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIHdpZHRoRm9yQnl0ZXMoYnl0
ZXMpCi0gICAgewotICAgICAgICBzd2l0Y2ggKGJ5dGVzKSB7Ci0gICAgICAgIGNhc2UgMDoKLSAg
ICAgICAgY2FzZSAxOgotICAgICAgICAgICAgcmV0dXJuIDg7Ci0gICAgICAgIGNhc2UgMjoKLSAg
ICAgICAgICAgIHJldHVybiAxNjsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICBjYXNlIDQ6Ci0g
ICAgICAgICAgICByZXR1cm4gMzI7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBpZiAo
Ynl0ZXMgPiA4KQotICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG51bWJlciBv
ZiBieXRlcyIpOwotICAgICAgICAgICAgcmV0dXJuIDY0OwotICAgICAgICB9Ci0gICAgfQotICAg
IAotICAgIHN0YXRpYyBjcmVhdGVUbXAodG1wKQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9
IG5ldyBBcmcoKTsKLSAgICAgICAgcmVzdWx0Ll9raW5kID0gQXJnLlRtcDsKLSAgICAgICAgcmVz
dWx0Ll90bXAgPSB0bXA7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotICAgIAotICAg
IHN0YXRpYyBmcm9tUmVnKHJlZykKLSAgICB7Ci0gICAgICAgIHJldHVybiBBcmcuY3JlYXRlVG1w
KHJlZyk7Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBjcmVhdGVJbW0odmFsdWUpCi0gICAgewot
ICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IEFyZygpOwotICAgICAgICByZXN1bHQuX2tpbmQgPSBB
cmcuSW1tOwotICAgICAgICByZXN1bHQuX3ZhbHVlID0gdmFsdWU7Ci0gICAgICAgIHJldHVybiBy
ZXN1bHQ7Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBjcmVhdGVCaWdJbW0obG93VmFsdWUsIGhp
Z2hWYWx1ZSA9IDApCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IEFyZygpOwotICAg
ICAgICByZXN1bHQuX2tpbmQgPSBBcmcuQmlnSW1tOwotICAgICAgICByZXN1bHQuX2xvd1ZhbHVl
ID0gbG93VmFsdWU7Ci0gICAgICAgIHJlc3VsdC5faGlnaFZhbHVlID0gaGlnaFZhbHVlOwotICAg
ICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgY3JlYXRlQml0SW1t
KHZhbHVlKQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBBcmcoKTsKLSAgICAgICAg
cmVzdWx0Ll9raW5kID0gQXJnLkJpdEltbTsKLSAgICAgICAgcmVzdWx0Ll92YWx1ZSA9IHZhbHVl
OwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgY3JlYXRl
Qml0SW1tNjQobG93VmFsdWUsIGhpZ2hWYWx1ZSA9IDApCi0gICAgewotICAgICAgICBsZXQgcmVz
dWx0ID0gbmV3IEFyZygpOwotICAgICAgICByZXN1bHQuX2tpbmQgPSBBcmcuQml0SW1tNjQ7Ci0g
ICAgICAgIHJlc3VsdC5fbG93VmFsdWUgPSBsb3dWYWx1ZTsKLSAgICAgICAgcmVzdWx0Ll9oaWdo
VmFsdWUgPSBoaWdoVmFsdWU7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotICAgIAot
ICAgIHN0YXRpYyBjcmVhdGVBZGRyKGJhc2UsIG9mZnNldCA9IDApCi0gICAgewotICAgICAgICBs
ZXQgcmVzdWx0ID0gbmV3IEFyZygpOwotICAgICAgICByZXN1bHQuX2tpbmQgPSBBcmcuQWRkcjsK
LSAgICAgICAgcmVzdWx0Ll9iYXNlID0gYmFzZTsKLSAgICAgICAgcmVzdWx0Ll9vZmZzZXQgPSBv
ZmZzZXQ7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBj
cmVhdGVTdGFjayhzbG90LCBvZmZzZXQgPSAwKQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9
IG5ldyBBcmcoKTsKLSAgICAgICAgcmVzdWx0Ll9raW5kID0gQXJnLlN0YWNrOwotICAgICAgICBy
ZXN1bHQuX3Nsb3QgPSBzbG90OwotICAgICAgICByZXN1bHQuX29mZnNldCA9IG9mZnNldDsKLSAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGNyZWF0ZUNhbGxB
cmcob2Zmc2V0KQotICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBBcmcoKTsKLSAgICAg
ICAgcmVzdWx0Ll9raW5kID0gQXJnLkNhbGxBcmc7Ci0gICAgICAgIHJlc3VsdC5fb2Zmc2V0ID0g
b2Zmc2V0OwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMg
Y3JlYXRlU3RhY2tBZGRyKG9mZnNldEZyb21GUCwgZnJhbWVTaXplLCB3aWR0aCkKLSAgICB7Ci0g
ICAgICAgIGxldCByZXN1bHQgPSBBcmcuY3JlYXRlQWRkcihSZWcuY2FsbEZyYW1lUmVnaXN0ZXIs
IG9mZnNldEZyb21GUCk7Ci0gICAgICAgIGlmICghcmVzdWx0LmlzVmFsaWRGb3JtKHdpZHRoKSkK
LSAgICAgICAgICAgIHJlc3VsdCA9IEFyZy5jcmVhdGVBZGRyKFJlZy5zdGFja1BvaW50ZXJSZWdp
c3Rlciwgb2Zmc2V0RnJvbUZQICsgZnJhbWVTaXplKTsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsK
LSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGlzVmFsaWRTY2FsZShzY2FsZSwgd2lkdGgpCi0gICAg
ewotICAgICAgICBzd2l0Y2ggKHNjYWxlKSB7Ci0gICAgICAgIGNhc2UgMToKLSAgICAgICAgY2Fz
ZSAyOgotICAgICAgICBjYXNlIDQ6Ci0gICAgICAgIGNhc2UgODoKLSAgICAgICAgICAgIHJldHVy
biB0cnVlOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICB9Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBsb2dTY2FsZShzY2FsZSkKLSAgICB7Ci0g
ICAgICAgIHN3aXRjaCAoc2NhbGUpIHsKLSAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgcmV0
dXJuIDA7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICBj
YXNlIDQ6Ci0gICAgICAgICAgICByZXR1cm4gMjsKLSAgICAgICAgY2FzZSA4OgotICAgICAgICAg
ICAgcmV0dXJuIDM7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIkJhZCBzY2FsZSIpOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBjcmVh
dGVJbmRleChiYXNlLCBpbmRleCwgc2NhbGUgPSAxLCBvZmZzZXQgPSAwKQotICAgIHsKLSAgICAg
ICAgbGV0IHJlc3VsdCA9IG5ldyBBcmcoKTsKLSAgICAgICAgcmVzdWx0Ll9raW5kID0gQXJnLklu
ZGV4OwotICAgICAgICByZXN1bHQuX2Jhc2UgPSBiYXNlOwotICAgICAgICByZXN1bHQuX2luZGV4
ID0gaW5kZXg7Ci0gICAgICAgIHJlc3VsdC5fc2NhbGUgPSBzY2FsZTsKLSAgICAgICAgcmVzdWx0
Ll9vZmZzZXQgPSBvZmZzZXQ7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotICAgIAot
ICAgIHN0YXRpYyBjcmVhdGVSZWxDb25kKGNvbmRpdGlvbikKLSAgICB7Ci0gICAgICAgIGxldCBy
ZXN1bHQgPSBuZXcgQXJnKCk7Ci0gICAgICAgIHJlc3VsdC5fa2luZCA9IEFyZy5SZWxDb25kOwot
ICAgICAgICByZXN1bHQuX2NvbmRpdGlvbiA9IGNvbmRpdGlvbjsKLSAgICAgICAgcmV0dXJuIHJl
c3VsdDsKLSAgICB9Ci0gICAgCi0gICAgc3RhdGljIGNyZWF0ZVJlc0NvbmQoY29uZGl0aW9uKQot
ICAgIHsKLSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBBcmcoKTsKLSAgICAgICAgcmVzdWx0Ll9r
aW5kID0gQXJnLlJlc0NvbmQ7Ci0gICAgICAgIHJlc3VsdC5fY29uZGl0aW9uID0gY29uZGl0aW9u
OwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgY3JlYXRl
RG91YmxlQ29uZChjb25kaXRpb24pCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IEFy
ZygpOwotICAgICAgICByZXN1bHQuX2tpbmQgPSBBcmcuRG91YmxlQ29uZDsKLSAgICAgICAgcmVz
dWx0Ll9jb25kaXRpb24gPSBjb25kaXRpb247Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAg
fQotICAgIAotICAgIHN0YXRpYyBjcmVhdGVXaWR0aCh3aWR0aCkKLSAgICB7Ci0gICAgICAgIGxl
dCByZXN1bHQgPSBuZXcgQXJnKCk7Ci0gICAgICAgIHJlc3VsdC5fa2luZCA9IEFyZy5XaWR0aDsK
LSAgICAgICAgcmVzdWx0Ll93aWR0aCA9IHdpZHRoOwotICAgICAgICByZXR1cm4gcmVzdWx0Owot
ICAgIH0KLSAgICAKLSAgICBzdGF0aWMgY3JlYXRlU3BlY2lhbCgpCi0gICAgewotICAgICAgICBs
ZXQgcmVzdWx0ID0gbmV3IEFyZygpOwotICAgICAgICByZXN1bHQuX2tpbmQgPSBBcmcuU3BlY2lh
bDsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGtpbmQoKSB7
IHJldHVybiB0aGlzLl9raW5kOyB9Ci0gICAgZ2V0IGlzVG1wKCkgeyByZXR1cm4gdGhpcy5fa2lu
ZCA9PSBBcmcuVG1wOyB9Ci0gICAgZ2V0IGlzSW1tKCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBB
cmcuSW1tOyB9Ci0gICAgZ2V0IGlzQmlnSW1tKCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBBcmcu
QmlnSW1tOyB9Ci0gICAgZ2V0IGlzQml0SW1tKCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBBcmcu
Qml0SW1tOyB9Ci0gICAgZ2V0IGlzQml0SW1tNjQoKSB7IHJldHVybiB0aGlzLl9raW5kID09IEFy
Zy5CaXRJbW02NDsgfQotICAgIGdldCBpc1NvbWVJbW0oKQotICAgIHsKLSAgICAgICAgc3dpdGNo
ICh0aGlzLl9raW5kKSB7Ci0gICAgICAgIGNhc2UgQXJnLkltbToKLSAgICAgICAgY2FzZSBBcmcu
Qml0SW1tOgotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAg
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgZ2V0IGlzU29tZUJp
Z0ltbSgpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAgICAgICAgY2Fz
ZSBBcmcuQmlnSW1tOgotICAgICAgICBjYXNlIEFyZy5CaXRJbW02NDoKLSAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgICAgICB9Ci0gICAgfQotICAgIGdldCBpc0FkZHIoKSB7IHJldHVybiB0aGlzLl9raW5kID09
IEFyZy5BZGRyOyB9Ci0gICAgZ2V0IGlzU3RhY2soKSB7IHJldHVybiB0aGlzLl9raW5kID09IEFy
Zy5TdGFjazsgfQotICAgIGdldCBpc0NhbGxBcmcoKSB7IHJldHVybiB0aGlzLl9raW5kID09IEFy
Zy5DYWxsQXJnOyB9Ci0gICAgZ2V0IGlzSW5kZXgoKSB7IHJldHVybiB0aGlzLl9raW5kID09IEFy
Zy5JbmRleDsgfQotICAgIGdldCBpc01lbW9yeSgpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHRo
aXMuX2tpbmQpIHsKLSAgICAgICAgY2FzZSBBcmcuQWRkcjoKLSAgICAgICAgY2FzZSBBcmcuU3Rh
Y2s6Ci0gICAgICAgIGNhc2UgQXJnLkNhbGxBcmc6Ci0gICAgICAgIGNhc2UgQXJnLkluZGV4Ogot
ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgZ2V0IGlzU3RhY2tNZW1vcnkoKQot
ICAgIHsKLSAgICAgICAgc3dpdGNoICh0aGlzLl9raW5kKSB7Ci0gICAgICAgIGNhc2UgQXJnLkFk
ZHI6Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy5fYmFzZSA9PSBSZWcuY2FsbEZyYW1lUmVnaXN0
ZXIKLSAgICAgICAgICAgICAgICB8fCB0aGlzLl9iYXNlID09IFJlZy5zdGFja1BvaW50ZXJSZWdp
c3RlcjsKLSAgICAgICAgY2FzZSBBcmcuU3RhY2s6Ci0gICAgICAgIGNhc2UgQXJnLkNhbGxBcmc6
Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KLSAgICBnZXQgaXNSZWxDb25kKCkgeyBy
ZXR1cm4gdGhpcy5fa2luZCA9PSBBcmcuUmVsQ29uZDsgfQotICAgIGdldCBpc1Jlc0NvbmQoKSB7
IHJldHVybiB0aGlzLl9raW5kID09IEFyZy5SZXNDb25kOyB9Ci0gICAgZ2V0IGlzRG91YmxlQ29u
ZCgpIHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gQXJnLkRvdWJsZUNvbmQ7IH0KLSAgICBnZXQgaXND
b25kaXRpb24oKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0aGlzLl9raW5kKSB7Ci0gICAgICAg
IGNhc2UgQXJnLlJlbENvbmQ6Ci0gICAgICAgIGNhc2UgQXJnLlJlc0NvbmQ6Ci0gICAgICAgIGNh
c2UgQXJnLkRvdWJsZUNvbmQ6Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgIH0KLSAgICBn
ZXQgaXNXaWR0aCgpIHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gQXJnLldpZHRoOyB9Ci0gICAgZ2V0
IGlzU3BlY2lhbCgpIHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gQXJnLlNwZWNpYWw7IH0KLSAgICBn
ZXQgaXNBbGl2ZSgpIHsgcmV0dXJuIHRoaXMuaXNUbXAgfHwgdGhpcy5pc1N0YWNrOyB9Ci0gICAg
Ci0gICAgZ2V0IHRtcCgpCi0gICAgewotICAgICAgICBpZiAodGhpcy5fa2luZCAhPSBBcmcuVG1w
KQotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYWxsZWQgLnRtcCBmb3Igbm9uLXRtcCIp
OwotICAgICAgICByZXR1cm4gdGhpcy5fdG1wOwotICAgIH0KLSAgICAKLSAgICBnZXQgdmFsdWUo
KQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLmlzU29tZUltbSkKLSAgICAgICAgICAgIHRocm93
IG5ldyBFcnJvcigiQ2FsbGVkIC52YWx1ZSBmb3Igbm9uLWltbSIpOwotICAgICAgICByZXR1cm4g
dGhpcy5fdmFsdWU7Ci0gICAgfQotICAgIAotICAgIGdldCBsb3dWYWx1ZSgpCi0gICAgewotICAg
ICAgICBpZiAoIXRoaXMuaXNTb21lQmlnSW1tKQotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJDYWxsZWQgLmxvd1ZhbHVlIGZvciBub24tYmlnLWltbSIpOwotICAgICAgICByZXR1cm4gdGhp
cy5fbG93VmFsdWU7Ci0gICAgfQotICAgIAotICAgIGdldCBoaWdoVmFsdWUoKQotICAgIHsKLSAg
ICAgICAgaWYgKCF0aGlzLmlzU29tZUJpZ0ltbSkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJv
cigiQ2FsbGVkIC5oaWdoVmFsdWUgZm9yIG5vbi1iaWctaW1tIik7Ci0gICAgICAgIHJldHVybiB0
aGlzLl9oaWdoVmFsdWU7Ci0gICAgfQotICAgIAotICAgIGdldCBiYXNlKCkKLSAgICB7Ci0gICAg
ICAgIHN3aXRjaCAodGhpcy5fa2luZCkgewotICAgICAgICBjYXNlIEFyZy5BZGRyOgotICAgICAg
ICBjYXNlIEFyZy5JbmRleDoKLSAgICAgICAgICAgIHJldHVybiB0aGlzLl9iYXNlOwotICAgICAg
ICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYWxsZWQgLmJhc2UgZm9y
IG5vbi1hZGRyZXNzIik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgZ2V0IGhhc09mZnNl
dCgpIHsgcmV0dXJuIHRoaXMuaXNNZW1vcnk7IH0KLSAgICAKLSAgICBnZXQgb2Zmc2V0KCkKLSAg
ICB7Ci0gICAgICAgIHN3aXRjaCAodGhpcy5fa2luZCkgewotICAgICAgICBjYXNlIEFyZy5BZGRy
OgotICAgICAgICBjYXNlIEFyZy5JbmRleDoKLSAgICAgICAgY2FzZSBBcmcuU3RhY2s6Ci0gICAg
ICAgIGNhc2UgQXJnLkNhbGxBcmc6Ci0gICAgICAgICAgICByZXR1cm4gdGhpcy5fb2Zmc2V0Owot
ICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYWxsZWQgLm9m
ZnNldCBmb3Igbm9uLWFkZHJlc3MiKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBnZXQg
c3RhY2tTbG90KCkKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9raW5kICE9IEFyZy5TdGFjaykK
LSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2FsbGVkIC5zdGFja1Nsb3QgZm9yIG5vbi1h
ZGRyZXNzIik7Ci0gICAgICAgIHJldHVybiB0aGlzLl9zbG90OwotICAgIH0KLSAgICAKLSAgICBn
ZXQgaW5kZXgoKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2tpbmQgIT0gQXJnLkluZGV4KQot
ICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYWxsZWQgLmluZGV4IGZvciBub24tSW5kZXgi
KTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2luZGV4OwotICAgIH0KLSAgICAKLSAgICBnZXQgc2Nh
bGUoKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2tpbmQgIT0gQXJnLkluZGV4KQotICAgICAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYWxsZWQgLnNjYWxlIGZvciBub24tSW5kZXgiKTsKLSAg
ICAgICAgcmV0dXJuIHRoaXMuX3NjYWxlOwotICAgIH0KLSAgICAKLSAgICBnZXQgbG9nU2NhbGUo
KQotICAgIHsKLSAgICAgICAgcmV0dXJuIEFyZy5sb2dTY2FsZSh0aGlzLnNjYWxlKTsKLSAgICB9
Ci0gICAgCi0gICAgZ2V0IHdpZHRoKCkKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9raW5kICE9
IEFyZy5XaWR0aCkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2FsbGVkIC53aWR0aCBm
b3Igbm9uLVdpZHRoIik7Ci0gICAgICAgIHJldHVybiB0aGlzLl93aWR0aDsKLSAgICB9Ci0gICAg
Ci0gICAgZ2V0IGlzR1BUbXAoKSB7IHJldHVybiB0aGlzLmlzVG1wICYmIHRoaXMudG1wLmlzR1A7
IH0KLSAgICBnZXQgaXNGUFRtcCgpIHsgcmV0dXJuIHRoaXMuaXNUbXAgJiYgdGhpcy50bXAuaXNG
UDsgfQotICAgIAotICAgIGdldCBpc0dQKCkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodGhpcy5f
a2luZCkgewotICAgICAgICBjYXNlIEFyZy5JbW06Ci0gICAgICAgIGNhc2UgQXJnLkJpZ0ltbToK
LSAgICAgICAgY2FzZSBBcmcuQml0SW1tOgotICAgICAgICBjYXNlIEFyZy5CaXRJbW02NDoKLSAg
ICAgICAgY2FzZSBBcmcuQWRkcjoKLSAgICAgICAgY2FzZSBBcmcuSW5kZXg6Ci0gICAgICAgIGNh
c2UgQXJnLlN0YWNrOgotICAgICAgICBjYXNlIEFyZy5DYWxsQXJnOgotICAgICAgICBjYXNlIEFy
Zy5SZWxDb25kOgotICAgICAgICBjYXNlIEFyZy5SZXNDb25kOgotICAgICAgICBjYXNlIEFyZy5E
b3VibGVDb25kOgotICAgICAgICBjYXNlIEFyZy5XaWR0aDoKLSAgICAgICAgY2FzZSBBcmcuU3Bl
Y2lhbDoKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBjYXNlIEFyZy5UbXA6Ci0g
ICAgICAgICAgICByZXR1cm4gdGhpcy5pc0dQVG1wOwotICAgICAgICBjYXNlIEFyZy5JbnZhbGlk
OgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJCYWQga2luZCIpOwotICAgICAgICB9Ci0gICAgfQotICAgIAot
ICAgIGdldCBpc0ZQKCkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodGhpcy5fa2luZCkgewotICAg
ICAgICBjYXNlIEFyZy5JbW06Ci0gICAgICAgIGNhc2UgQXJnLkJpdEltbToKLSAgICAgICAgY2Fz
ZSBBcmcuQml0SW1tNjQ6Ci0gICAgICAgIGNhc2UgQXJnLlJlbENvbmQ6Ci0gICAgICAgIGNhc2Ug
QXJnLlJlc0NvbmQ6Ci0gICAgICAgIGNhc2UgQXJnLkRvdWJsZUNvbmQ6Ci0gICAgICAgIGNhc2Ug
QXJnLldpZHRoOgotICAgICAgICBjYXNlIEFyZy5TcGVjaWFsOgotICAgICAgICBjYXNlIEFyZy5J
bnZhbGlkOgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBjYXNlIEFyZy5BZGRy
OgotICAgICAgICBjYXNlIEFyZy5JbmRleDoKLSAgICAgICAgY2FzZSBBcmcuU3RhY2s6Ci0gICAg
ICAgIGNhc2UgQXJnLkNhbGxBcmc6Ci0gICAgICAgIGNhc2UgQXJnLkJpZ0ltbToKLSAgICAgICAg
ICAgIHJldHVybiB0cnVlOwotICAgICAgICBjYXNlIEFyZy5UbXA6Ci0gICAgICAgICAgICByZXR1
cm4gdGhpcy5pc0ZQVG1wOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJCYWQga2luZCIpOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIGdldCBoYXNU
eXBlKCkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodGhpcy5fa2luZCkgewotICAgICAgICBjYXNl
IEFyZy5JbW06Ci0gICAgICAgIGNhc2UgQXJnLkJpdEltbToKLSAgICAgICAgY2FzZSBBcmcuQml0
SW1tNjQ6Ci0gICAgICAgIGNhc2UgQXJnLlRtcDoKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwot
ICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0g
ICAgfQotICAgIAotICAgIGdldCB0eXBlKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLmlz
R1AgPyBHUCA6IEZQOwotICAgIH0KLSAgICAKLSAgICBpc1R5cGUodHlwZSkKLSAgICB7Ci0gICAg
ICAgIHN3aXRjaCAodHlwZSkgewotICAgICAgICBjYXNlIEFyZy5HUDoKLSAgICAgICAgICAgIHJl
dHVybiB0aGlzLmlzR1A7Ci0gICAgICAgIGNhc2UgQXJnLkZQOgotICAgICAgICAgICAgcmV0dXJu
IHRoaXMuaXNGUDsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJv
cigiQmFkIHR5cGUiKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBpc0NvbXBhdGlibGVU
eXBlKG90aGVyKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuaGFzVHlwZSkKLSAgICAgICAgICAg
IHJldHVybiBvdGhlci5pc1R5cGUodGhpcy50eXBlKTsKLSAgICAgICAgaWYgKG90aGVyLmhhc1R5
cGUpCi0gICAgICAgICAgICByZXR1cm4gdGhpcy5pc1R5cGUob3RoZXIudHlwZSk7Ci0gICAgICAg
IHJldHVybiB0cnVlOwotICAgIH0KLSAgICAKLSAgICBnZXQgaXNHUFIoKSB7IHJldHVybiB0aGlz
LmlzVG1wICYmIHRoaXMudG1wLmlzR1BSOyB9Ci0gICAgZ2V0IGdwcigpIHsgcmV0dXJuIHRoaXMu
dG1wLmdwcjsgfQotICAgIGdldCBpc0ZQUigpIHsgcmV0dXJuIHRoaXMuaXNUbXAgJiYgdGhpcy50
bXAuaXNGUFI7IH0KLSAgICBnZXQgZnByKCkgeyByZXR1cm4gdGhpcy50bXAuZnByOyB9Ci0gICAg
Z2V0IGlzUmVnKCkgeyByZXR1cm4gdGhpcy5pc1RtcCAmJiB0aGlzLnRtcC5pc1JlZzsgfQotICAg
IGdldCByZWcoKSB7IHJldHVybiB0aGlzLnRtcC5yZWc7IH0KLSAgICAKLSAgICBzdGF0aWMgaXNW
YWxpZEltbUZvcm0odmFsdWUpCi0gICAgewotICAgICAgICByZXR1cm4gaXNSZXByZXNlbnRhYmxl
QXNJbnQzMih2YWx1ZSk7Ci0gICAgfQotICAgIHN0YXRpYyBpc1ZhbGlkQml0SW1tRm9ybSh2YWx1
ZSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBpc1JlcHJlc2VudGFibGVBc0ludDMyKHZhbHVlKTsK
LSAgICB9Ci0gICAgc3RhdGljIGlzVmFsaWRCaXRJbW02NEZvcm0odmFsdWUpCi0gICAgewotICAg
ICAgICByZXR1cm4gaXNSZXByZXNlbnRhYmxlQXNJbnQzMih2YWx1ZSk7Ci0gICAgfQotICAgIAot
ICAgIHN0YXRpYyBpc1ZhbGlkQWRkckZvcm0ob2Zmc2V0LCB3aWR0aCkKLSAgICB7Ci0gICAgICAg
IHJldHVybiB0cnVlOwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgaXNWYWxpZEluZGV4Rm9ybShz
Y2FsZSwgb2Zmc2V0LCB3aWR0aCkKLSAgICB7Ci0gICAgICAgIGlmICghaXNWYWxpZFNjYWxlKHNj
YWxlLCB3aWR0aCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIHJldHVybiB0
cnVlOwotICAgIH0KLSAgICAKLSAgICBpc1ZhbGlkRm9ybSh3aWR0aCkKLSAgICB7Ci0gICAgICAg
IHN3aXRjaCAodGhpcy5fa2luZCkgewotICAgICAgICBjYXNlIEFyZy5JbnZhbGlkOgotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBjYXNlIEFyZy5UbXA6Ci0gICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICAgICAgY2FzZSBBcmcuSW1tOgotICAgICAgICAgICAgcmV0dXJuIEFy
Zy5pc1ZhbGlkSW1tRm9ybSh0aGlzLnZhbHVlKTsKLSAgICAgICAgY2FzZSBBcmcuQmlnSW1tOgot
ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGNhc2UgQXJnLkJpdEltbToKLSAgICAg
ICAgICAgIHJldHVybiBBcmcuaXNWYWxpZEJpdEltbUZvcm0odGhpcy52YWx1ZSk7Ci0gICAgICAg
IGNhc2UgQXJnLkJpdEltbTY0OgotICAgICAgICAgICAgcmV0dXJuIEFyZy5pc1ZhbGlkQml0SW1t
NjRGb3JtKHRoaXMudmFsdWUpOwotICAgICAgICBjYXNlIEFyZy5BZGRyOgotICAgICAgICBjYXNl
IEFyZy5TdGFjazoKLSAgICAgICAgY2FzZSBBcmcuQ2FsbEFyZzoKLSAgICAgICAgICAgIHJldHVy
biBBcmcuaXNWYWxpZEFkZHJGb3JtKHRoaXMub2Zmc2V0LCB3aWR0aCk7Ci0gICAgICAgIGNhc2Ug
QXJnLkluZGV4OgotICAgICAgICAgICAgcmV0dXJuIEFyZy5pc1ZhbGlkSW5kZXhGb3JtKHRoaXMu
c2NhbGUsIHRoaXMub2Zmc2V0LCB3aWR0aCk7Ci0gICAgICAgIGNhc2UgQXJnLlJlbENvbmQ6Ci0g
ICAgICAgIGNhc2UgQXJnLlJlc0NvbmQ6Ci0gICAgICAgIGNhc2UgQXJnLkRvdWJsZUNvbmQ6Ci0g
ICAgICAgIGNhc2UgQXJnLldpZHRoOgotICAgICAgICBjYXNlIEFyZy5TcGVjaWFsOgotICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkJhZCBraW5kIik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgZm9yRWFj
aFRtcEZhc3QoZnVuYykKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAodGhpcy5fa2luZCkgewotICAg
ICAgICBjYXNlIEFyZy5UbXA6IHsKLSAgICAgICAgICAgIGxldCByZXBsYWNlbWVudDsKLSAgICAg
ICAgICAgIGlmIChyZXBsYWNlbWVudCA9IGZ1bmModGhpcy5fdG1wKSkKLSAgICAgICAgICAgICAg
ICByZXR1cm4gQXJnLmNyZWF0ZVRtcChyZXBsYWNlbWVudCk7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgfQotICAgICAgICBjYXNlIEFyZy5BZGRyOiB7Ci0gICAgICAgICAgICBsZXQgcmVw
bGFjZW1lbnQ7Ci0gICAgICAgICAgICBpZiAocmVwbGFjZW1lbnQgPSBmdW5jKHRoaXMuX2Jhc2Up
KQotICAgICAgICAgICAgICAgIHJldHVybiBBcmcuY3JlYXRlQWRkcihyZXBsYWNlbWVudCwgdGhp
cy5fb2Zmc2V0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2Ug
QXJnLkluZGV4OiB7Ci0gICAgICAgICAgICBsZXQgYmFzZVJlcGxhY2VtZW50ID0gZnVuYyh0aGlz
Ll9iYXNlKTsKLSAgICAgICAgICAgIGxldCBpbmRleFJlcGxhY2VtZW50ID0gZnVuYyh0aGlzLl9p
bmRleCk7Ci0gICAgICAgICAgICBpZiAoYmFzZVJlcGxhY2VtZW50IHx8IGluZGV4UmVwbGFjZW1l
bnQpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gQXJnLmNyZWF0ZUluZGV4KAotICAgICAgICAg
ICAgICAgICAgICBiYXNlUmVwbGFjZW1lbnQgPyBiYXNlUmVwbGFjZW1lbnQgOiB0aGlzLl9iYXNl
LAotICAgICAgICAgICAgICAgICAgICBpbmRleFJlcGxhY2VtZW50ID8gaW5kZXhSZXBsYWNlbWVu
dCA6IHRoaXMuX2luZGV4LAotICAgICAgICAgICAgICAgICAgICB0aGlzLl9zY2FsZSwgdGhpcy5f
b2Zmc2V0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0g
ICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLSAg
ICAKLSAgICB1c2VzVG1wKGV4cGVjdGVkVG1wKQotICAgIHsKLSAgICAgICAgbGV0IHVzZXNUbXAg
PSBmYWxzZTsKLSAgICAgICAgZm9yRWFjaFRtcEZhc3QodG1wID0+IHsKLSAgICAgICAgICAgIHVz
ZXNUbXAgfD0gdG1wID09IGV4cGVjdGVkVG1wOwotICAgICAgICB9KTsKLSAgICAgICAgcmV0dXJu
IHVzZXNUbXA7Ci0gICAgfQotICAgIAotICAgIGZvckVhY2hUbXAocm9sZSwgdHlwZSwgd2lkdGgs
IGZ1bmMpCi0gICAgewotICAgICAgICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAgICAgICAgY2Fz
ZSBBcmcuVG1wOiB7Ci0gICAgICAgICAgICBsZXQgcmVwbGFjZW1lbnQ7Ci0gICAgICAgICAgICBp
ZiAocmVwbGFjZW1lbnQgPSBmdW5jKHRoaXMuX3RtcCwgcm9sZSwgdHlwZSwgd2lkdGgpKQotICAg
ICAgICAgICAgICAgIHJldHVybiBBcmcuY3JlYXRlVG1wKHJlcGxhY2VtZW50KTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgQXJnLkFkZHI6IHsKLSAgICAgICAg
ICAgIGxldCByZXBsYWNlbWVudDsKLSAgICAgICAgICAgIGlmIChyZXBsYWNlbWVudCA9IGZ1bmMo
dGhpcy5fYmFzZSwgQXJnLlVzZSwgR1AsIHJvbGUgPT0gQXJnLlVzZUFkZHIgPyB3aWR0aCA6IFB0
cikpCi0gICAgICAgICAgICAgICAgcmV0dXJuIEFyZy5jcmVhdGVBZGRyKHJlcGxhY2VtZW50LCB0
aGlzLl9vZmZzZXQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2Fz
ZSBBcmcuSW5kZXg6IHsKLSAgICAgICAgICAgIGxldCBiYXNlUmVwbGFjZW1lbnQgPSBmdW5jKHRo
aXMuX2Jhc2UsIEFyZy5Vc2UsIEdQLCByb2xlID09IEFyZy5Vc2VBZGRyID8gd2lkdGggOiBQdHIp
OwotICAgICAgICAgICAgbGV0IGluZGV4UmVwbGFjZW1lbnQgPSBmdW5jKHRoaXMuX2luZGV4LCBB
cmcuVXNlLCBHUCwgcm9sZSA9PSBBcmcuVXNlQWRkciA/IHdpZHRoIDogUHRyKTsKLSAgICAgICAg
ICAgIGlmIChiYXNlUmVwbGFjZW1lbnQgfHwgaW5kZXhSZXBsYWNlbWVudCkgewotICAgICAgICAg
ICAgICAgIHJldHVybiBBcmcuY3JlYXRlSW5kZXgoCi0gICAgICAgICAgICAgICAgICAgIGJhc2VS
ZXBsYWNlbWVudCA/IGJhc2VSZXBsYWNlbWVudCA6IHRoaXMuX2Jhc2UsCi0gICAgICAgICAgICAg
ICAgICAgIGluZGV4UmVwbGFjZW1lbnQgPyBpbmRleFJlcGxhY2VtZW50IDogdGhpcy5faW5kZXgs
Ci0gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NjYWxlLCB0aGlzLl9vZmZzZXQpOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgZGVmYXVsdDoK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIGlzKHRoaW5n
KSB7IHJldHVybiAhIXRoaW5nLmV4dHJhY3QodGhpcyk7IH0KLSAgICBhcyh0aGluZykgeyByZXR1
cm4gdGhpbmcuZXh0cmFjdCh0aGlzKTsgfQotICAgIAotICAgIC8vIFRoaXMgbGV0cyB5b3Ugc2F5
IHRoaW5ncyBsaWtlOgotICAgIC8vIGFyZy5mb3JFYWNoKFRtcCB8IFJlZyB8IEFyZyB8IFN0YWNr
U2xvdCwgLi4uKQotICAgIC8vCi0gICAgLy8gSXQncyB1c2VkIGZvciBhYnN0cmFjdCBsaXZlbmVz
cyBhbmFseXNpcy4KLSAgICBmb3JFYWNoRmFzdCh0aGluZywgZnVuYykKLSAgICB7Ci0gICAgICAg
IHJldHVybiB0aGluZy5mb3JFYWNoRmFzdCh0aGlzLCBmdW5jKTsKLSAgICB9Ci0gICAgZm9yRWFj
aCh0aGluZywgcm9sZSwgdHlwZSwgd2lkdGgsIGZ1bmMpCi0gICAgewotICAgICAgICByZXR1cm4g
dGhpbmcuZm9yRWFjaCh0aGlzLCByb2xlLCB0eXBlLCB3aWR0aCwgZnVuYyk7Ci0gICAgfQotICAg
IAotICAgIHN0YXRpYyBleHRyYWN0KGFyZykgeyByZXR1cm4gYXJnOyB9Ci0gICAgc3RhdGljIGZv
ckVhY2hGYXN0KGFyZywgZnVuYykgeyByZXR1cm4gZnVuYyhhcmcpOyB9Ci0gICAgc3RhdGljIGZv
ckVhY2goYXJnLCByb2xlLCB0eXBlLCB3aWR0aCwgZnVuYykgeyByZXR1cm4gZnVuYyhhcmcsIHJv
bGUsIHR5cGUsIHdpZHRoKTsgfQotCi0gICAgZ2V0IGNvbmRpdGlvbigpCi0gICAgewotICAgICAg
ICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAgICAgICAgY2FzZSBBcmcuUmVsQ29uZDoKLSAgICAg
ICAgY2FzZSBBcmcuUmVzQ29uZDoKLSAgICAgICAgY2FzZSBBcmcuRG91YmxlQ29uZDoKLSAgICAg
ICAgICAgIHJldHVybiB0aGlzLl9jb25kaXRpb247Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkNhbGxlZCAuY29uZGl0aW9uIGZvciBub24tY29uZGl0aW9u
Iik7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgZ2V0IGlzSW52ZXJ0aWJsZSgpCi0gICAg
ewotICAgICAgICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAgICAgICAgY2FzZSBBcmcuUmVsQ29u
ZDoKLSAgICAgICAgY2FzZSBBcmcuRG91YmxlQ29sZDoKLSAgICAgICAgICAgIHJldHVybiB0cnVl
OwotICAgICAgICBjYXNlIEFyZy5SZXNDb25kOgotICAgICAgICAgICAgc3dpdGNoICh0aGlzLl9j
b25kaXRpb24pIHsKLSAgICAgICAgICAgIGNhc2UgWmVybzoKLSAgICAgICAgICAgIGNhc2UgTm9u
WmVybzoKLSAgICAgICAgICAgIGNhc2UgU2lnbmVkOgotICAgICAgICAgICAgY2FzZSBQb3NpdGl2
ZU9yWmVybzoKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIGRlZmF1
bHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgfQotICAgICAg
ICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgfQot
ICAgIAotICAgIHN0YXRpYyBraW5kQ29kZShraW5kKQotICAgIHsKLSAgICAgICAgc3dpdGNoIChr
aW5kKSB7Ci0gICAgICAgIGNhc2UgQXJnLkludmFsaWQ6Ci0gICAgICAgICAgICByZXR1cm4gMDsK
LSAgICAgICAgY2FzZSBBcmcuVG1wOgotICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgIGNh
c2UgQXJnLkltbToKLSAgICAgICAgICAgIHJldHVybiAyOwotICAgICAgICBjYXNlIEFyZy5CaWdJ
bW06Ci0gICAgICAgICAgICByZXR1cm4gMzsKLSAgICAgICAgY2FzZSBBcmcuQml0SW1tOgotICAg
ICAgICAgICAgcmV0dXJuIDQ7Ci0gICAgICAgIGNhc2UgQXJnLkJpdEltbTY0OgotICAgICAgICAg
ICAgcmV0dXJuIDU7Ci0gICAgICAgIGNhc2UgQXJnLkFkZHI6Ci0gICAgICAgICAgICByZXR1cm4g
NjsKLSAgICAgICAgY2FzZSBBcmcuU3RhY2s6Ci0gICAgICAgICAgICByZXR1cm4gNzsKLSAgICAg
ICAgY2FzZSBBcmcuQ2FsbEFyZzoKLSAgICAgICAgICAgIHJldHVybiA4OwotICAgICAgICBjYXNl
IEFyZy5JbmRleDoKLSAgICAgICAgICAgIHJldHVybiA5OwotICAgICAgICBjYXNlIEFyZy5SZWxD
b25kOgotICAgICAgICAgICAgcmV0dXJuIDEwOwotICAgICAgICBjYXNlIEFyZy5SZXNDb25kOgot
ICAgICAgICAgICAgcmV0dXJuIDExOwotICAgICAgICBjYXNlIEFyZy5Eb3VibGVDb25kOgotICAg
ICAgICAgICAgcmV0dXJuIDEyOwotICAgICAgICBjYXNlIEFyZy5TcGVjaWFsOgotICAgICAgICAg
ICAgcmV0dXJuIDEzOwotICAgICAgICBjYXNlIEFyZy5XaWR0aEFyZzoKLSAgICAgICAgICAgIHJl
dHVybiAxNDsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigi
QmFkIGtpbmQiKTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBoYXNoKCkKLSAgICB7Ci0g
ICAgICAgIGxldCByZXN1bHQgPSBBcmcua2luZENvZGUodGhpcy5fa2luZCk7Ci0gICAgICAgIAot
ICAgICAgICBzd2l0Y2ggKHRoaXMuX2tpbmQpIHsKLSAgICAgICAgY2FzZSBBcmcuSW52YWxpZDoK
LSAgICAgICAgY2FzZSBBcmcuU3BlY2lhbDoKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIEFyZy5UbXA6Ci0gICAgICAgICAgICByZXN1bHQgKz0gdGhpcy5fdG1wLmhhc2goKTsKLSAg
ICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
QXJnLkltbToKLSAgICAgICAgY2FzZSBBcmcuQml0SW1tOgotICAgICAgICAgICAgcmVzdWx0ICs9
IHRoaXMuX3ZhbHVlOwotICAgICAgICAgICAgcmVzdWx0IHw9IDA7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSBBcmcuQmlnSW1tOgotICAgICAgICBjYXNlIEFyZy5CaXRJbW02NDoK
LSAgICAgICAgICAgIHJlc3VsdCArPSB0aGlzLl9sb3dWYWx1ZTsKLSAgICAgICAgICAgIHJlc3Vs
dCB8PSAwOwotICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuX2hpZ2hWYWx1ZTsKLSAgICAgICAg
ICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQXJnLkNh
bGxBcmc6Ci0gICAgICAgICAgICByZXN1bHQgKz0gdGhpcy5fb2Zmc2V0OwotICAgICAgICAgICAg
cmVzdWx0IHw9IDA7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBBcmcuUmVsQ29u
ZDoKLSAgICAgICAgICAgIHJlc3VsdCArPSByZWxDb25kQ29kZSh0aGlzLl9jb25kaXRpb24pOwot
ICAgICAgICAgICAgcmVzdWx0IHw9IDA7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBBcmcuUmVzQ29uZDoKLSAgICAgICAgICAgIHJlc3VsdCArPSByZXNDb25kQ29kZSh0aGlzLl9j
b25kaXRpb24pOwotICAgICAgICAgICAgcmVzdWx0IHw9IDA7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSBBcmcuRG91YmxlQ29uZDoKLSAgICAgICAgICAgIHJlc3VsdCArPSBkb3Vi
bGVDb25kQ29kZSh0aGlzLl9jb25kaXRpb24pOwotICAgICAgICAgICAgcmVzdWx0IHw9IDA7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBBcmcuV2lkdGhBcmc6Ci0gICAgICAgICAg
ICByZXN1bHQgKz0gdGhpcy5fd2lkdGg7Ci0gICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIEFyZy5BZGRyOgotICAgICAgICAgICAgcmVzdWx0
ICs9IHRoaXMuX29mZnNldDsKLSAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAg
cmVzdWx0ICs9IHRoaXMuX2Jhc2UuaGFzaCgpOwotICAgICAgICAgICAgcmVzdWx0IHw9IDA7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBBcmcuSW5kZXg6Ci0gICAgICAgICAgICBy
ZXN1bHQgKz0gdGhpcy5fb2Zmc2V0OwotICAgICAgICAgICAgcmVzdWx0IHw9IDA7Ci0gICAgICAg
ICAgICByZXN1bHQgKz0gdGhpcy5fc2NhbGU7Ci0gICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAg
ICAgICAgICAgIHJlc3VsdCArPSB0aGlzLl9iYXNlLmhhc2goKTsKLSAgICAgICAgICAgIHJlc3Vs
dCB8PSAwOwotICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuX2luZGV4Lmhhc2goKTsKLSAgICAg
ICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQXJn
LlN0YWNrOgotICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuX29mZnNldDsKLSAgICAgICAgICAg
IHJlc3VsdCB8PSAwOwotICAgICAgICAgICAgcmVzdWx0ICs9IHRoaXMuc3RhY2tTbG90LmluZGV4
OwotICAgICAgICAgICAgcmVzdWx0IHw9IDA7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
fQotICAgICAgICAKLSAgICAgICAgcmV0dXJuIHJlc3VsdCA+Pj4gMDsKLSAgICB9Ci0gICAgCi0g
ICAgdG9TdHJpbmcoKQotICAgIHsKLSAgICAgICAgc3dpdGNoICh0aGlzLl9raW5kKSB7Ci0gICAg
ICAgIGNhc2UgQXJnLkludmFsaWQ6Ci0gICAgICAgICAgICByZXR1cm4gIjxpbnZhbGlkPiI7Ci0g
ICAgICAgIGNhc2UgQXJnLlRtcDoKLSAgICAgICAgICAgIHJldHVybiB0aGlzLl90bXAudG9TdHJp
bmcoKTsKLSAgICAgICAgY2FzZSBBcmcuSW1tOgotICAgICAgICAgICAgcmV0dXJuICIkIiArIHRo
aXMuX3ZhbHVlOwotICAgICAgICBjYXNlIEFyZy5CaWdJbW06Ci0gICAgICAgIGNhc2UgQXJnLkJp
dEltbTY0OgotICAgICAgICAgICAgcmV0dXJuICIkMHgiICsgdGhpcy5faGlnaFZhbHVlLnRvU3Ry
aW5nKDE2KSArICI6IiArIHRoaXMuX2xvd1ZhbHVlLnRvU3RyaW5nKDE2KTsKLSAgICAgICAgY2Fz
ZSBBcmcuQWRkcjoKLSAgICAgICAgICAgIHJldHVybiAiIiArICh0aGlzLl9vZmZzZXQgPyB0aGlz
Ll9vZmZzZXQgOiAiIikgKyAiKCIgKyB0aGlzLl9iYXNlICsgIikiOwotICAgICAgICBjYXNlIEFy
Zy5JbmRleDoKLSAgICAgICAgICAgIHJldHVybiAiIiArICh0aGlzLl9vZmZzZXQgPyB0aGlzLl9v
ZmZzZXQgOiAiIikgKyAiKCIgKyB0aGlzLl9iYXNlICsKLSAgICAgICAgICAgICAgICAiLCIgKyB0
aGlzLl9pbmRleCArICh0aGlzLl9zY2FsZSA9PSAxID8gIiIgOiAiLCIgKyB0aGlzLl9zY2FsZSkg
KyAiKSI7Ci0gICAgICAgIGNhc2UgQXJnLlN0YWNrOgotICAgICAgICAgICAgcmV0dXJuICIiICsg
KHRoaXMuX29mZnNldCA/IHRoaXMuX29mZnNldCA6ICIiKSArICIoIiArIHRoaXMuX3Nsb3QgKyAi
KSI7Ci0gICAgICAgIGNhc2UgQXJnLkNhbGxBcmc6Ci0gICAgICAgICAgICByZXR1cm4gIiIgKyAo
dGhpcy5fb2Zmc2V0ID8gdGhpcy5fb2Zmc2V0IDogIiIpICsgIihjYWxsQXJnKSI7Ci0gICAgICAg
IGNhc2UgQXJnLlJlbENvbmQ6Ci0gICAgICAgIGNhc2UgQXJnLlJlc0NvbmQ6Ci0gICAgICAgIGNh
c2UgQXJnLkRvdWJsZUNvbmQ6Ci0gICAgICAgICAgICByZXR1cm4gc3ltYm9sTmFtZSh0aGlzLl9j
b25kaXRpb24pOwotICAgICAgICBjYXNlIEFyZy5TcGVjaWFsOgotICAgICAgICAgICAgcmV0dXJu
ICJzcGVjaWFsIjsKLSAgICAgICAgY2FzZSBBcmcuV2lkdGg6Ci0gICAgICAgICAgICByZXR1cm4g
IiIgKyB0aGlzLl92YWx1ZTsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5l
dyBFcnJvcigiQmFkIGtpbmQiKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotLy8gQXJnIGtpbmRz
Ci1BcmcuSW52YWxpZCA9IFN5bWJvbCgiSW52YWxpZCIpOwotQXJnLlRtcCA9IFN5bWJvbCgiVG1w
Iik7Ci1BcmcuSW1tID0gU3ltYm9sKCJJbW0iKTsKLUFyZy5CaWdJbW0gPSBTeW1ib2woIkJpZ0lt
bSIpOwotQXJnLkJpdEltbSA9IFN5bWJvbCgiQml0SW1tIik7Ci1BcmcuQml0SW1tNjQgPSBTeW1i
b2woIkJpdEltbTY0Iik7Ci1BcmcuQWRkciA9IFN5bWJvbCgiQWRkciIpOwotQXJnLlN0YWNrID0g
U3ltYm9sKCJTdGFjayIpOwotQXJnLkNhbGxBcmcgPSBTeW1ib2woIkNhbGxBcmciKTsKLUFyZy5J
bmRleCA9IFN5bWJvbCgiSW5kZXgiKTsKLUFyZy5SZWxDb25kID0gU3ltYm9sKCJSZWxDb25kIik7
Ci1BcmcuUmVzQ29uZCA9IFN5bWJvbCgiUmVzQ29uZCIpOwotQXJnLkRvdWJsZUNvbmQgPSBTeW1i
b2woIkRvdWJsZUNvbmQiKTsKLUFyZy5TcGVjaWFsID0gU3ltYm9sKCJTcGVjaWFsIik7Ci1Bcmcu
V2lkdGggPSBTeW1ib2woIldpZHRoIik7Ci0KLS8vIEFyZyByb2xlcwotQXJnLlVzZSA9IFN5bWJv
bCgiVXNlIik7Ci1BcmcuQ29sZFVzZSA9IFN5bWJvbCgiQ29sZFVzZSIpOwotQXJnLkxhdGVVc2Ug
PSBTeW1ib2woIkxhdGVVc2UiKTsKLUFyZy5MYXRlQ29sZFVzZSA9IFN5bWJvbCgiTGF0ZUNvbGRV
c2UiKTsKLUFyZy5EZWYgPSBTeW1ib2woIkRlZiIpOwotQXJnLlpEZWYgPSBTeW1ib2woIlpEZWYi
KTsKLUFyZy5Vc2VEZWYgPSBTeW1ib2woIlVzZURlZiIpOwotQXJnLlVzZVpEZWYgPSBTeW1ib2wo
IlVzZVpEZWYiKTsKLUFyZy5FYXJseURlZiA9IFN5bWJvbCgiRWFybHlEZWYiKTsKLUFyZy5TY3Jh
dGNoID0gU3ltYm9sKCJTY3JhdGNoIik7Ci1BcmcuVXNlQWRkciA9IFN5bWJvbCgiVXNlQWRkciIp
OwotCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9iYXNpY19ibG9j
ay5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9i
YXNpY19ibG9jay5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZT
YW1wbGVCZW5jaC9BaXIvYmFzaWNfYmxvY2suanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMzUgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBz
dHJpY3QiOwotCi1jbGFzcyBCYXNpY0Jsb2NrIHsKLSAgICBjb25zdHJ1Y3RvcihpbmRleCwgZnJl
cXVlbmN5KQotICAgIHsKLSAgICAgICAgdGhpcy5faW5kZXggPSBpbmRleDsKLSAgICAgICAgdGhp
cy5fZnJlcXVlbmN5ID0gZnJlcXVlbmN5OwotICAgICAgICB0aGlzLl9pbnN0cyA9IFtdOwotICAg
ICAgICB0aGlzLl9zdWNjZXNzb3JzID0gW107Ci0gICAgICAgIHRoaXMuX3ByZWRlY2Vzc29ycyA9
IFtdOwotICAgIH0KLSAgICAKLSAgICBnZXQgaW5kZXgoKSB7IHJldHVybiB0aGlzLl9pbmRleDsg
fQotICAgIGdldCBzaXplKCkgeyByZXR1cm4gdGhpcy5faW5zdHMubGVuZ3RoOyB9Ci0gICAgCi0g
ICAgW1N5bWJvbC5pdGVyYXRvcl0oKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2luc3Rz
W1N5bWJvbC5pdGVyYXRvcl0oKTsKLSAgICB9Ci0gICAgCi0gICAgYXQoaW5kZXgpCi0gICAgewot
ICAgICAgICBpZiAoaW5kZXggPj0gdGhpcy5faW5zdHMubGVuZ3RoKQotICAgICAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCJPdXQgb2YgYm91bmRzIGFjY2VzcyIpOwotICAgICAgICByZXR1cm4gdGhp
cy5faW5zdHNbaW5kZXhdOwotICAgIH0KLSAgICAKLSAgICBnZXQoaW5kZXgpCi0gICAgewotICAg
ICAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID49IHRoaXMuX2luc3RzLmxlbmd0aCkKLSAgICAg
ICAgICAgIHJldHVybiBudWxsOwotICAgICAgICByZXR1cm4gdGhpcy5faW5zdHNbaW5kZXhdOwot
ICAgIH0KLSAgICAKLSAgICBnZXQgbGFzdCgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5f
aW5zdHNbdGhpcy5faW5zdHMubGVuZ3RoIC0gMV07Ci0gICAgfQotICAgIAotICAgIGdldCBpbnN0
cygpIHsgcmV0dXJuIHRoaXMuX2luc3RzOyB9Ci0gICAgCi0gICAgYXBwZW5kKGluc3QpIHsgdGhp
cy5faW5zdHMucHVzaChpbnN0KTsgfQotICAgIAotICAgIGdldCBudW1TdWNjZXNzb3JzKCkgeyBy
ZXR1cm4gdGhpcy5fc3VjY2Vzc29ycy5sZW5ndGg7IH0KLSAgICBzdWNjZXNzb3IoaW5kZXgpIHsg
cmV0dXJuIHRoaXMuX3N1Y2Nlc3NvcnNbaW5kZXhdOyB9Ci0gICAgZ2V0IHN1Y2Nlc3NvcnMoKSB7
IHJldHVybiB0aGlzLl9zdWNjZXNzb3JzOyB9Ci0gICAgCi0gICAgc3VjY2Vzc29yQmxvY2soaW5k
ZXgpIHsgcmV0dXJuIHRoaXMuX3N1Y2Nlc3NvcnNbaW5kZXhdLmJsb2NrOyB9Ci0gICAgZ2V0IHN1
Y2Nlc3NvckJsb2NrcygpCi0gICAgewotICAgICAgICByZXR1cm4gbmV3IFByb3h5KHRoaXMuX3N1
Y2Nlc3NvcnMsIHsKLSAgICAgICAgICAgIGdldCh0YXJnZXQsIHByb3BlcnR5KSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKHR5cGVvZiBwcm9wZXJ0eSA9PSAic3RyaW5nIgotICAgICAgICAgICAgICAg
ICAgICAmJiAocHJvcGVydHkgfCAwKSA9PSBwcm9wZXJ0eSkKLSAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHRhcmdldFtwcm9wZXJ0eV0uYmxvY2s7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRh
cmdldFtwcm9wZXJ0eV07Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgCi0gICAgICAgICAg
ICBzZXQodGFyZ2V0LCBwcm9wZXJ0eSwgdmFsdWUpIHsKLSAgICAgICAgICAgICAgICBpZiAodHlw
ZW9mIHByb3BlcnR5ID09ICJzdHJpbmciCi0gICAgICAgICAgICAgICAgICAgICYmIChwcm9wZXJ0
eSB8IDApID09IHByb3BlcnR5KSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciBvbGRWYWx1ZSA9
IHRhcmdldFtwcm9wZXJ0eV07Ci0gICAgICAgICAgICAgICAgICAgIHRhcmdldFtwcm9wZXJ0eV0g
PSBuZXcgRnJlcXVlbnRlZEJsb2NrKAotICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIG9s
ZFZhbHVlID8gb2xkVmFsdWUuZnJlcXVlbmN5IDogTm9ybWFsKTsKLSAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAKLSAgICAgICAg
ICAgICAgICB0YXJnZXRbcHJvcGVydHldID0gdmFsdWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0pOwotICAgIH0KLSAgICAKLSAgICBnZXQgbnVtUHJlZGVjZXNzb3JzKCkgeyByZXR1cm4gdGhp
cy5fcHJlZGVjZXNzb3JzLmxlbmd0aDsgfQotICAgIHByZWRlY2Vzc29yKGluZGV4KSB7IHJldHVy
biB0aGlzLl9wcmVkZWNlc3NvcnNbaW5kZXhdOyB9Ci0gICAgZ2V0IHByZWRlY2Vzc29ycygpIHsg
cmV0dXJuIHRoaXMuX3ByZWRlY2Vzc29yczsgfQotICAgIAotICAgIGdldCBmcmVxdWVuY3koKSB7
IHJldHVybiB0aGlzLl9mcmVxdWVuY3k7IH0KLQotICAgIHRvU3RyaW5nKCkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiAiIyIgKyB0aGlzLl9pbmRleDsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGhlYWRl
clN0cmluZygpCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gIiI7Ci0gICAgICAgIHJlc3Vs
dCArPSBgQkIke3RoaXN9OiA7IGZyZXF1ZW5jeSA9ICR7dGhpcy5fZnJlcXVlbmN5fVxuYDsKLSAg
ICAgICAgaWYgKHRoaXMuX3ByZWRlY2Vzc29ycy5sZW5ndGgpCi0gICAgICAgICAgICByZXN1bHQg
Kz0gIiAgUHJlZGVjZXNzb3JzOiAiICsgdGhpcy5fcHJlZGVjZXNzb3JzLmpvaW4oIiwgIikgKyAi
XG4iOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICBnZXQgZm9vdGVy
U3RyaW5nKCkKLSAgICB7Ci0gICAgICAgIGxldCByZXN1bHQgPSAiIjsKLSAgICAgICAgaWYgKHRo
aXMuX3N1Y2Nlc3NvcnMubGVuZ3RoKQotICAgICAgICAgICAgcmVzdWx0ICs9ICIgIFN1Y2Nlc3Nv
cnM6ICIgKyB0aGlzLl9zdWNjZXNzb3JzLmpvaW4oIiwgIikgKyAiXG4iOwotICAgICAgICByZXR1
cm4gcmVzdWx0OwotICAgIH0KLSAgICAKLSAgICB0b1N0cmluZ0RlZXAoKQotICAgIHsKLSAgICAg
ICAgbGV0IHJlc3VsdCA9ICIiOwotICAgICAgICByZXN1bHQgKz0gdGhpcy5oZWFkZXJTdHJpbmc7
Ci0gICAgICAgIGZvciAobGV0IGluc3Qgb2YgdGhpcykKLSAgICAgICAgICAgIHJlc3VsdCArPSBg
ICAgICR7aW5zdH1cbmA7Ci0gICAgICAgIHJlc3VsdCArPSB0aGlzLmZvb3RlclN0cmluZzsKLSAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci19Ci0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMv
RVM2U2FtcGxlQmVuY2gvQWlyL2JlbmNobWFyay5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5j
ZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9iZW5jaG1hcmsuanMJKHJldmlzaW9uIDIxMTY4OCkK
KysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL2JlbmNobWFyay5qcwkobm9u
ZXhpc3RlbnQpCkBAIC0xLDg1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgQWlyQmVuY2htYXJrIHsKLSAg
ICBjb25zdHJ1Y3Rvcih2ZXJib3NlID0gMCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3ZlcmJvc2Ug
PSB2ZXJib3NlOwotICAgICAgICAKLSAgICAgICAgdGhpcy5fcGF5bG9hZHMgPSBbCi0gICAgICAg
ICAgICB7Z2VuZXJhdGU6IGNyZWF0ZVBheWxvYWRHYmVtdUV4ZWN1dGVJdGVyYXRpb24sIGVhcmx5
SGFzaDogNjMyNjUzMTQ0LCBsYXRlSGFzaDogMzcyNzE1NTE4fSwKLSAgICAgICAgICAgIHtnZW5l
cmF0ZTogY3JlYXRlUGF5bG9hZEltYWdpbmdHYXVzc2lhbkJsdXJHYXVzc2lhbkJsdXIsIGVhcmx5
SGFzaDogMzY3NzgxOTU4MSwgbGF0ZUhhc2g6IDEyNTIxMTYzMDR9LAotICAgICAgICAgICAge2dl
bmVyYXRlOiBjcmVhdGVQYXlsb2FkVHlwZXNjcmlwdFNjYW5JZGVudGlmaWVyLCBlYXJseUhhc2g6
IDE5MTQ4NTI2MDEsIGxhdGVIYXNoOiA4MzczMzk1NTF9LAotICAgICAgICAgICAge2dlbmVyYXRl
OiBjcmVhdGVQYXlsb2FkQWlySlNBQ0xqOEMsIGVhcmx5SGFzaDogMTM3MzU5OTk0MCwgbGF0ZUhh
c2g6IDM5ODEyODM2MDB9Ci0gICAgICAgIF07Ci0gICAgfQotICAgIAotICAgIHJ1bkl0ZXJhdGlv
bigpCi0gICAgewotICAgICAgICBmb3IgKGxldCBwYXlsb2FkIG9mIHRoaXMuX3BheWxvYWRzKSB7
Ci0gICAgICAgICAgICAvLyBTYWRseSBhYm91dCAxNyUgb2Ygb3VyIHRpbWUgaXMgaW4gZ2VuZXJh
dGUuIEkgZG9uJ3QgdGhpbmsgdGhhdCdzIHJlYWxseSBhdm9pZGFibGUsCi0gICAgICAgICAgICAv
LyBhbmQgSSBkb24ndCBtaW5kIHRlc3RpbmcgVk1zJyBhYmlsaXR5IHRvIHJ1biBzdWNoICJkYXRh
IGRlZmluaXRpb24iIGNvZGUgcXVpY2tseS4gSQotICAgICAgICAgICAgLy8gd291bGQgbm90IGhh
dmUgZXhwZWN0ZWQgaXQgdG8gYmUgc28gc2xvdyBmcm9tIGZpcnN0IHByaW5jaXBsZXMhCi0gICAg
ICAgICAgICBsZXQgY29kZSA9IHBheWxvYWQuZ2VuZXJhdGUoKTsKLSAgICAgICAgICAgIAotICAg
ICAgICAgICAgaWYgKHRoaXMuX3ZlcmJvc2UpIHsKLSAgICAgICAgICAgICAgICBwcmludCgiQmVm
b3JlIGFsbG9jYXRlU3RhY2s6Iik7Ci0gICAgICAgICAgICAgICAgcHJpbnQoY29kZSk7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGxldCBoYXNoID0gY29kZS5oYXNo
KCk7Ci0gICAgICAgICAgICBpZiAoaGFzaCAhPSBwYXlsb2FkLmVhcmx5SGFzaCkKLSAgICAgICAg
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFdyb25nIGVhcmx5IGhhc2ggZm9yICR7cGF5bG9hZC5n
ZW5lcmF0ZS5uYW1lfTogJHtoYXNofWApOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBhbGxv
Y2F0ZVN0YWNrKGNvZGUpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiAodGhpcy5fdmVy
Ym9zZSkgewotICAgICAgICAgICAgICAgIHByaW50KCJBZnRlciBhbGxvY2F0ZVN0YWNrOiIpOwot
ICAgICAgICAgICAgICAgIHByaW50KGNvZGUpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAg
ICBoYXNoID0gY29kZS5oYXNoKCk7Ci0gICAgICAgICAgICBpZiAoaGFzaCAhPSBwYXlsb2FkLmxh
dGVIYXNoKQotICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgV3JvbmcgbGF0ZSBoYXNo
IGZvciAke3BheWxvYWQuZ2VuZXJhdGUubmFtZX06ICR7aGFzaH1gKTsKLSAgICAgICAgfQotICAg
IH0KLX0KLQotZnVuY3Rpb24gcnVuQmVuY2htYXJrKCkKLXsKLSAgICBjb25zdCB2ZXJib3NlID0g
MDsKLSAgICBjb25zdCBudW1JdGVyYXRpb25zID0gMTUwOwotICAgIAotICAgIGxldCBiZWZvcmUg
PSBjdXJyZW50VGltZSgpOwotICAgIAotICAgIGxldCBiZW5jaG1hcmsgPSBuZXcgQWlyQmVuY2ht
YXJrKHZlcmJvc2UpOwotICAgIAotICAgIGZvciAobGV0IGl0ZXJhdGlvbiA9IDA7IGl0ZXJhdGlv
biA8IG51bUl0ZXJhdGlvbnM7ICsraXRlcmF0aW9uKQotICAgICAgICBiZW5jaG1hcmsucnVuSXRl
cmF0aW9uKCk7Ci0gICAgCi0gICAgbGV0IGFmdGVyID0gY3VycmVudFRpbWUoKTsKLSAgICByZXR1
cm4gYWZ0ZXIgLSBiZWZvcmU7Ci19CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJl
bmNoL0Fpci9jb2RlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxl
QmVuY2gvQWlyL2NvZGUuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMv
RVM2U2FtcGxlQmVuY2gvQWlyL2NvZGUuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMjIgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJp
Y3QiOwotCi1jbGFzcyBDb2RlIHsKLSAgICBjb25zdHJ1Y3RvcigpCi0gICAgewotICAgICAgICB0
aGlzLl9ibG9ja3MgPSBbXTsKLSAgICAgICAgdGhpcy5fc3RhY2tTbG90cyA9IFtdOwotICAgICAg
ICB0aGlzLl9ncFRtcHMgPSBbXTsKLSAgICAgICAgdGhpcy5fZnBUbXBzID0gW107Ci0gICAgICAg
IHRoaXMuX2NhbGxBcmdBcmVhU2l6ZSA9IDA7Ci0gICAgICAgIHRoaXMuX2ZyYW1lU2l6ZSA9IDA7
Ci0gICAgfQotICAgIAotICAgIGFkZEJsb2NrKGZyZXF1ZW5jeSA9IDEpCi0gICAgewotICAgICAg
ICByZXR1cm4gYWRkSW5kZXhlZCh0aGlzLl9ibG9ja3MsIEJhc2ljQmxvY2ssIGZyZXF1ZW5jeSk7
Ci0gICAgfQotICAgIAotICAgIGFkZFN0YWNrU2xvdChieXRlU2l6ZSwga2luZCkKLSAgICB7Ci0g
ICAgICAgIHJldHVybiBhZGRJbmRleGVkKHRoaXMuX3N0YWNrU2xvdHMsIFN0YWNrU2xvdCwgYnl0
ZVNpemUsIGtpbmQpOwotICAgIH0KLSAgICAKLSAgICBuZXdUbXAodHlwZSkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiBhZGRJbmRleGVkKHRoaXNbYF8ke2xvd2VyU3ltYm9sTmFtZSh0eXBlKX1UbXBz
YF0sIFRtcCwgdHlwZSk7Ci0gICAgfQotICAgIAotICAgIGdldCBzaXplKCkgeyByZXR1cm4gdGhp
cy5fYmxvY2tzLmxlbmd0aDsgfQotICAgIGF0KGluZGV4KSB7IHJldHVybiB0aGlzLl9ibG9ja3Nb
aW5kZXhdOyB9Ci0gICAgCi0gICAgW1N5bWJvbC5pdGVyYXRvcl0oKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIHRoaXMuX2Jsb2Nrc1tTeW1ib2wuaXRlcmF0b3JdKCk7Ci0gICAgfQotICAgIAotICAg
IGdldCBibG9ja3MoKSB7IHJldHVybiB0aGlzLl9ibG9ja3M7IH0KLSAgICBnZXQgc3RhY2tTbG90
cygpIHsgcmV0dXJuIHRoaXMuX3N0YWNrU2xvdHM7IH0KLSAgICAKLSAgICB0bXBzKHR5cGUpIHsg
cmV0dXJuIHRoaXNbYF8ke2xvd2VyU3ltYm9sTmFtZSh0eXBlKX1UbXBzYF07IH0KLSAgICAKLSAg
ICBnZXQgY2FsbEFyZ0FyZWFTaXplKCkgeyByZXR1cm4gdGhpcy5fY2FsbEFyZ0FyZWFTaXplOyB9
Ci0gICAgCi0gICAgcmVxdWVzdENhbGxBcmdBcmVhU2l6ZShzaXplKQotICAgIHsKLSAgICAgICAg
dGhpcy5fY2FsbEFyZ0FyZWFTaXplID0gTWF0aC5tYXgodGhpcy5fY2FsbEFyZ0FyZWFTaXplLCBy
b3VuZFVwVG9NdWx0aXBsZU9mKHN0YWNrQWxpZ25tZW50Qnl0ZXMsIHNpemUpKTsKLSAgICB9Ci0g
ICAgCi0gICAgZ2V0IGZyYW1lU2l6ZSgpIHsgcmV0dXJuIHRoaXMuX2ZyYW1lU2l6ZTsgfQotICAg
IAotICAgIHNldEZyYW1lU2l6ZShmcmFtZVNpemUpIHsgdGhpcy5fZnJhbWVTaXplID0gZnJhbWVT
aXplOyB9Ci0gICAgCi0gICAgaGFzaCgpCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gMDsK
LSAgICAgICAgZm9yIChsZXQgYmxvY2sgb2YgdGhpcykgewotICAgICAgICAgICAgcmVzdWx0ICo9
IDEwMDAwMDE7Ci0gICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAgICAgICAgICAgIGZvciAobGV0
IGluc3Qgb2YgYmxvY2spIHsKLSAgICAgICAgICAgICAgICByZXN1bHQgKj0gOTc7Ci0gICAgICAg
ICAgICAgICAgcmVzdWx0IHw9IDA7Ci0gICAgICAgICAgICAgICAgcmVzdWx0ICs9IGluc3QuaGFz
aCgpOwotICAgICAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICAgICAgfQotICAgICAg
ICAgICAgZm9yIChsZXQgc3VjY2Vzc29yIG9mIGJsb2NrLnN1Y2Nlc3NvckJsb2NrcykgewotICAg
ICAgICAgICAgICAgIHJlc3VsdCAqPSA3OwotICAgICAgICAgICAgICAgIHJlc3VsdCB8PSAwOwot
ICAgICAgICAgICAgICAgIHJlc3VsdCArPSBzdWNjZXNzb3IuaW5kZXg7Ci0gICAgICAgICAgICAg
ICAgcmVzdWx0IHw9IDA7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgZm9yIChs
ZXQgc2xvdCBvZiB0aGlzLnN0YWNrU2xvdHMpIHsKLSAgICAgICAgICAgIHJlc3VsdCAqPSAxMDE7
Ci0gICAgICAgICAgICByZXN1bHQgfD0gMDsKLSAgICAgICAgICAgIHJlc3VsdCArPSBzbG90Lmhh
c2goKTsKLSAgICAgICAgICAgIHJlc3VsdCB8PSAwOwotICAgICAgICB9Ci0gICAgICAgIHJldHVy
biByZXN1bHQgPj4+IDA7Ci0gICAgfQotICAgIAotICAgIHRvU3RyaW5nKCkKLSAgICB7Ci0gICAg
ICAgIGxldCByZXN1bHQgPSAiIjsKLSAgICAgICAgZm9yIChsZXQgYmxvY2sgb2YgdGhpcykgewot
ICAgICAgICAgICAgcmVzdWx0ICs9IGJsb2NrLnRvU3RyaW5nRGVlcCgpOwotICAgICAgICB9Ci0g
ICAgICAgIGlmICh0aGlzLnN0YWNrU2xvdHMubGVuZ3RoKSB7Ci0gICAgICAgICAgICByZXN1bHQg
Kz0gIlN0YWNrIHNsb3RzOlxuIjsKLSAgICAgICAgICAgIGZvciAobGV0IHNsb3Qgb2YgdGhpcy5z
dGFja1Nsb3RzKQotICAgICAgICAgICAgICAgIHJlc3VsdCArPSBgICAgICR7c2xvdH1cbmA7Ci0g
ICAgICAgIH0KLSAgICAgICAgaWYgKHRoaXMuX2ZyYW1lU2l6ZSkKLSAgICAgICAgICAgIHJlc3Vs
dCArPSBgRnJhbWUgc2l6ZTogJHt0aGlzLl9mcmFtZVNpemV9XG5gOwotICAgICAgICBpZiAodGhp
cy5fY2FsbEFyZ0FyZWFTaXplKQotICAgICAgICAgICAgcmVzdWx0ICs9IGBDYWxsIGFyZyBhcmVh
IHNpemU6ICR7dGhpcy5fY2FsbEFyZ0FyZWFTaXplfVxuYDsKLSAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKLSAgICB9Ci19CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9j
dXN0b20uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9B
aXIvY3VzdG9tLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNh
bXBsZUJlbmNoL0Fpci9jdXN0b20uanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxMDMgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3Qi
OwotCi1jb25zdCBTaHVmZmxlQ3VzdG9tID0gewotICAgIGZvckVhY2hBcmcoaW5zdCwgZnVuYykK
LSAgICB7Ci0gICAgICAgIHZhciBsaW1pdCA9IE1hdGguZmxvb3IoaW5zdC5hcmdzLmxlbmd0aCAv
IDMpICogMzsKLSAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW1pdDsgaSArPSAzKSB7Ci0g
ICAgICAgICAgICBsZXQgc3JjID0gaW5zdC5hcmdzW2kgKyAwXTsKLSAgICAgICAgICAgIGxldCBk
c3QgPSBpbnN0LmFyZ3NbaSArIDFdOwotICAgICAgICAgICAgbGV0IHdpZHRoQXJnID0gaW5zdC5h
cmdzW2kgKyAyXTsKLSAgICAgICAgICAgIGxldCB3aWR0aCA9IHdpZHRoQXJnLndpZHRoOwotICAg
ICAgICAgICAgbGV0IHR5cGUgPSBzcmMuaXNHUCAmJiBkc3QuaXNHUCA/IEdQIDogRlA7Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKGkgKyAwLCBmdW5jLCBBcmcuVXNlLCB0eXBlLCB3aWR0aCk7
Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKGkgKyAxLCBmdW5jLCBBcmcuRGVmLCB0eXBlLCB3
aWR0aCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKGkgKyAyLCBmdW5jLCBBcmcuVXNlLCBH
UCwgOCk7Ci0gICAgICAgIH0KLSAgICB9LAotICAgIAotICAgIGhhc05vbkFyZ05vbkNvbnRyb2xF
ZmZlY3RzKGluc3QpCi0gICAgewotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotfTsKLQot
Y29uc3QgUGF0Y2hDdXN0b20gPSB7Ci0gICAgZm9yRWFjaEFyZyhpbnN0LCBmdW5jKQotICAgIHsK
LSAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnN0LmFyZ3MubGVuZ3RoOyArK2kpIHsKLSAg
ICAgICAgICAgIGxldCB7dHlwZSwgcm9sZSwgd2lkdGh9ID0gaW5zdC5wYXRjaEFyZ0RhdGFbaV07
Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKGksIGZ1bmMsIHJvbGUsIHR5cGUsIHdpZHRoKTsK
LSAgICAgICAgfQotICAgIH0sCi0gICAgCi0gICAgaGFzTm9uQXJnTm9uQ29udHJvbEVmZmVjdHMo
aW5zdCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0czsK
LSAgICB9Ci19OwotCi1jb25zdCBDQ2FsbEN1c3RvbSA9IHsKLSAgICBmb3JFYWNoQXJnKGluc3Qs
IGZ1bmMpCi0gICAgewotICAgICAgICBsZXQgaW5kZXggPSAwOwotICAgICAgICBpbnN0LnZpc2l0
QXJnKGluZGV4KyssIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOyAvLyBjYWxsZWUKLSAgICAgICAg
Ci0gICAgICAgIGlmIChpbnN0LmNDYWxsVHlwZSAhPSBWb2lkKSB7Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKAotICAgICAgICAgICAgICAgIGluZGV4KyssIGZ1bmMsIEFyZy5EZWYsIEFyZy50
eXBlRm9yQjNUeXBlKGluc3QuY0NhbGxUeXBlKSwKLSAgICAgICAgICAgICAgICBBcmcud2lkdGhG
b3JCM1R5cGUoaW5zdC5jQ2FsbFR5cGUpKTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAg
Zm9yIChsZXQgdHlwZSBvZiBpbnN0LmNDYWxsQXJnVHlwZXMpIHsKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoCi0gICAgICAgICAgICAgICAgaW5kZXgrKywgZnVuYywgQXJnLlVzZSwgQXJnLnR5
cGVGb3JCM1R5cGUodHlwZSksIEFyZy53aWR0aEZvckIzVHlwZSh0eXBlKSk7Ci0gICAgICAgIH0K
LSAgICB9LAotICAgIAotICAgIGhhc05vbkFyZ05vbkNvbnRyb2xFZmZlY3RzKGluc3QpCi0gICAg
ewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci19OwotCi1jb25zdCBDb2xkQ0NhbGxDdXN0
b20gPSB7Ci0gICAgZm9yRWFjaEFyZyhpbnN0LCBmdW5jKQotICAgIHsKLSAgICAgICAgQ0NhbGxD
dXN0b20uZm9yRWFjaEFyZygKLSAgICAgICAgICAgIGluc3QsCi0gICAgICAgICAgICAoYXJnLCBy
b2xlLCB0eXBlLCB3aWR0aCkgPT4gewotICAgICAgICAgICAgICAgIHJldHVybiBmdW5jKGFyZywg
QXJnLmNvb2xlZChyb2xlKSwgdHlwZSwgd2lkdGgpOwotICAgICAgICAgICAgfSk7Ci0gICAgfSwK
LSAgICAKLSAgICBoYXNOb25BcmdOb25Db250cm9sRWZmZWN0cyhpbnN0KQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgfQotfTsKLQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZT
YW1wbGVCZW5jaC9BaXIvZnJlcXVlbnRlZF9ibG9jay5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3Jt
YW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9mcmVxdWVudGVkX2Jsb2NrLmpzCShyZXZpc2lv
biAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9mcmVxdWVu
dGVkX2Jsb2NrLmpzCShub25leGlzdGVudCkKQEAgLTEsMzggKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1jbGFzcyBG
cmVxdWVudGVkQmxvY2sgewotICAgIGNvbnN0cnVjdG9yKGJsb2NrLCBmcmVxdWVuY3kpCi0gICAg
ewotICAgICAgICB0aGlzLmJsb2NrID0gYmxvY2s7Ci0gICAgICAgIHRoaXMuZnJlcXVlbmN5ID0g
ZnJlcXVlbmN5OwotICAgIH0KLSAgICAKLSAgICB0b1N0cmluZygpCi0gICAgewotICAgICAgICBy
ZXR1cm4gKHRoaXMuZnJlcXVlbmN5ID09IE5vcm1hbCA/ICIiIDogIlJhcmU6IikgKyB0aGlzLmJs
b2NrOwotICAgIH0KLX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWly
L2luc2VydGlvbl9zZXQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1w
bGVCZW5jaC9BaXIvaW5zZXJ0aW9uX3NldC5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9y
bWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvaW5zZXJ0aW9uX3NldC5qcwkobm9uZXhpc3Rl
bnQpCkBAIC0xLDg5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgSW5zZXJ0aW9uIHsKLSAgICBjb25zdHJ1
Y3RvcihpbmRleCwgZWxlbWVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2luZGV4ID0gaW5kZXg7
Ci0gICAgICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50OwotICAgIH0KLSAgICAKLSAgICBnZXQg
aW5kZXgoKSB7IHJldHVybiB0aGlzLl9pbmRleDsgfQotICAgIGdldCBlbGVtZW50KCkgeyByZXR1
cm4gdGhpcy5fZWxlbWVudDsgfQotICAgIAotICAgIGxlc3NUaGFuKG90aGVyKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIHRoaXMuX2luZGV4IDwgb3RoZXIuX2luZGV4OwotICAgIH0KLX0KLQotY2xh
c3MgSW5zZXJ0aW9uU2V0IHsKLSAgICBjb25zdHJ1Y3RvcigpCi0gICAgewotICAgICAgICB0aGlz
Ll9pbnNlcnRpb25zID0gW10KLSAgICB9Ci0gICAgCi0gICAgYXBwZW5kSW5zZXJ0aW9uKGluc2Vy
dGlvbikKLSAgICB7Ci0gICAgICAgIHRoaXMuX2luc2VydGlvbnMucHVzaChpbnNlcnRpb24pOwot
ICAgIH0KLSAgICAKLSAgICBhcHBlbmQoaW5kZXgsIGVsZW1lbnQpCi0gICAgewotICAgICAgICB0
aGlzLmFwcGVuZEluc2VydGlvbihuZXcgSW5zZXJ0aW9uKGluZGV4LCBlbGVtZW50KSk7Ci0gICAg
fQotICAgIAotICAgIGV4ZWN1dGUodGFyZ2V0KQotICAgIHsKLSAgICAgICAgLy8gV2UgYnViYmxl
LXNvcnQgYmVjYXVzZSB0aGF0J3Mgd2hhdCB0aGUgQysrIGNvZGUsIGFuZCBmb3IgdGhlIHNhbWUg
cmVhc29uIGFzIHdlIGRvIGl0OgotICAgICAgICAvLyB0aGUgc3RkbGliIGRvZXNuJ3QgaGF2ZSBh
IHN0YWJsZSBzb3J0IGFuZCBtZXJnZXNvcnQgaXMgc2xvd2VyIGluIHRoZSBjb21tb24gY2FzZSBv
ZiB0aGUKLSAgICAgICAgLy8gYXJyYXkgdXN1YWxseSBiZWluZyBzb3J0ZWQuIFRoaXMgYXJyYXkg
aXMgdXN1YWxseSBzb3J0ZWQuCi0gICAgICAgIGJ1YmJsZVNvcnQodGhpcy5faW5zZXJ0aW9ucywg
KGEsIGIpID0+IChhLmxlc3NUaGFuKGIpKSk7Ci0gICAgICAgIAotICAgICAgICBsZXQgbnVtSW5z
ZXJ0aW9ucyA9IHRoaXMuX2luc2VydGlvbnMubGVuZ3RoOwotICAgICAgICBpZiAoIW51bUluc2Vy
dGlvbnMpCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgbGV0IG9yaWdpbmFsVGFyZ2V0
U2l6ZSA9IHRhcmdldC5sZW5ndGg7Ci0gICAgICAgIHRhcmdldC5sZW5ndGggKz0gbnVtSW5zZXJ0
aW9uczsKLSAgICAgICAgbGV0IGxhc3RJbmRleCA9IHRhcmdldC5sZW5ndGg7Ci0gICAgICAgIGZv
ciAobGV0IGluZGV4SW5JbnNlcnRpb25zID0gbnVtSW5zZXJ0aW9uczsgaW5kZXhJbkluc2VydGlv
bnMtLTspIHsKLSAgICAgICAgICAgIGxldCBpbnNlcnRpb24gPSB0aGlzLl9pbnNlcnRpb25zW2lu
ZGV4SW5JbnNlcnRpb25zXTsKLSAgICAgICAgICAgIGlmIChpbmRleEluSW5zZXJ0aW9ucyAmJiBp
bnNlcnRpb24uaW5kZXggPCB0aGlzLl9pbnNlcnRpb25zW2luZGV4SW5JbnNlcnRpb25zIC0gMV0u
aW5kZXgpCi0gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJJbnNlcnRpb25zIG91dCBv
ZiBvcmRlciIpOwotICAgICAgICAgICAgaWYgKGluc2VydGlvbi5pbmRleCA+IG9yaWdpbmFsVGFy
Z2V0U2l6ZSkKLSAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIk91dC1vZi1ib3VuZHMg
aW5zZXJ0aW9uIik7Ci0gICAgICAgICAgICBsZXQgZmlyc3RJbmRleCA9IGluc2VydGlvbi5pbmRl
eCArIGluZGV4SW5JbnNlcnRpb25zOwotICAgICAgICAgICAgbGV0IGluZGV4T2Zmc2V0ID0gaW5k
ZXhJbkluc2VydGlvbnMgKyAxOwotICAgICAgICAgICAgZm9yIChsZXQgaSA9IGxhc3RJbmRleDsg
LS1pID4gZmlyc3RJbmRleDspCi0gICAgICAgICAgICAgICAgdGFyZ2V0W2ldID0gdGFyZ2V0W2kg
LSBpbmRleE9mZnNldF07Ci0gICAgICAgICAgICB0YXJnZXRbZmlyc3RJbmRleF0gPSBpbnNlcnRp
b24uZWxlbWVudDsKLSAgICAgICAgICAgIGxhc3RJbmRleCA9IGZpcnN0SW5kZXg7Ci0gICAgICAg
IH0KLSAgICAgICAgdGhpcy5faW5zZXJ0aW9ucyA9IFtdOwotICAgICAgICByZXR1cm4gbnVtSW5z
ZXJ0aW9uczsKLSAgICB9Ci19Ci0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVu
Y2gvQWlyL2luc3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVC
ZW5jaC9BaXIvaW5zdC5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9F
UzZTYW1wbGVCZW5jaC9BaXIvaW5zdC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDE0MyArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQot
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmlj
dCI7Ci0KLWNsYXNzIEluc3QgewotICAgIGNvbnN0cnVjdG9yKG9wY29kZSwgYXJncyA9IFtdKQot
ICAgIHsKLSAgICAgICAgdGhpcy5fb3Bjb2RlID0gb3Bjb2RlOwotICAgICAgICB0aGlzLl9hcmdz
ID0gYXJnczsKLSAgICB9Ci0gICAgCi0gICAgYXBwZW5kKC4uLmFyZ3MpCi0gICAgewotICAgICAg
ICB0aGlzLl9hcmdzLnB1c2goLi4uYXJncyk7Ci0gICAgfQotICAgIAotICAgIGNsZWFyKCkKLSAg
ICB7Ci0gICAgICAgIHRoaXMuX29wY29kZSA9IE5vcDsKLSAgICAgICAgdGhpcy5fYXJncyA9IFtd
OwotICAgIH0KLSAgICAKLSAgICBnZXQgb3Bjb2RlKCkgeyByZXR1cm4gdGhpcy5fb3Bjb2RlOyB9
Ci0gICAgZ2V0IGFyZ3MoKSB7IHJldHVybiB0aGlzLl9hcmdzOyB9Ci0gICAgCi0gICAgdmlzaXRB
cmcoaW5kZXgsIGZ1bmMsIC4uLmFyZ3MpCi0gICAgewotICAgICAgICBsZXQgcmVwbGFjZW1lbnQg
PSBmdW5jKHRoaXMuX2FyZ3NbaW5kZXhdLCAuLi5hcmdzKTsKLSAgICAgICAgaWYgKHJlcGxhY2Vt
ZW50KQotICAgICAgICAgICAgdGhpcy5fYXJnc1tpbmRleF0gPSByZXBsYWNlbWVudDsKLSAgICB9
Ci0gICAgCi0gICAgZm9yRWFjaFRtcEZhc3QoZnVuYykKLSAgICB7Ci0gICAgICAgIGZvciAobGV0
IGkgPSAwOyBpIDwgdGhpcy5fYXJncy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgbGV0IHJl
cGxhY2VtZW50OwotICAgICAgICAgICAgaWYgKHJlcGxhY2VtZW50ID0gdGhpcy5fYXJnc1tpXS5m
b3JFYWNoVG1wRmFzdChmdW5jKSkKLSAgICAgICAgICAgICAgICB0aGlzLl9hcmdzW2ldID0gcmVw
bGFjZW1lbnQ7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgZm9yRWFjaEFyZyhmdW5jKQot
ICAgIHsKLSAgICAgICAgSW5zdF9mb3JFYWNoQXJnKHRoaXMsIGZ1bmMpOwotICAgIH0KLSAgICAK
LSAgICBmb3JFYWNoVG1wKGZ1bmMpCi0gICAgewotICAgICAgICB0aGlzLmZvckVhY2hBcmcoKGFy
Zywgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsKLSAgICAgICAgICAgIHJldHVybiBhcmcuZm9yRWFj
aFRtcChyb2xlLCB0eXBlLCB3aWR0aCwgZnVuYyk7Ci0gICAgICAgIH0pOwotICAgIH0KLSAgICAK
LSAgICBmb3JFYWNoKHRoaW5nLCBmdW5jKQotICAgIHsKLSAgICAgICAgdGhpcy5mb3JFYWNoQXJn
KChhcmcsIHJvbGUsIHR5cGUsIHdpZHRoKSA9PiB7Ci0gICAgICAgICAgICByZXR1cm4gYXJnLmZv
ckVhY2godGhpbmcsIHJvbGUsIHR5cGUsIHdpZHRoLCBmdW5jKTsKLSAgICAgICAgfSk7Ci0gICAg
fQotICAgIAotICAgIHN0YXRpYyBmb3JFYWNoRGVmKHRoaW5nLCBwcmV2SW5zdCwgbmV4dEluc3Qs
IGZ1bmMpCi0gICAgewotICAgICAgICBpZiAocHJldkluc3QpIHsKLSAgICAgICAgICAgIHByZXZJ
bnN0LmZvckVhY2goCi0gICAgICAgICAgICAgICAgdGhpbmcsCi0gICAgICAgICAgICAgICAgKHZh
bHVlLCByb2xlLCB0eXBlLCB3aWR0aCkgPT4gewotICAgICAgICAgICAgICAgICAgICBpZiAoQXJn
LmlzTGF0ZURlZihyb2xlKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jKHZh
bHVlLCByb2xlLCB0eXBlLCB3aWR0aCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0K
LSAgICAgICAgCi0gICAgICAgIGlmIChuZXh0SW5zdCkgewotICAgICAgICAgICAgbmV4dEluc3Qu
Zm9yRWFjaCgKLSAgICAgICAgICAgICAgICB0aGluZywKLSAgICAgICAgICAgICAgICAodmFsdWUs
IHJvbGUsIHR5cGUsIHdpZHRoKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChBcmcuaXNF
YXJseURlZihyb2xlKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmdW5jKHZhbHVl
LCByb2xlLCB0eXBlLCB3aWR0aCk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KLSAg
ICB9Ci0gICAgCi0gICAgc3RhdGljIGZvckVhY2hEZWZXaXRoRXh0cmFDbG9iYmVyZWRSZWdzKHRo
aW5nLCBwcmV2SW5zdCwgbmV4dEluc3QsIGZ1bmMpCi0gICAgewotICAgICAgICBmb3JFYWNoRGVm
KHRoaW5nLCBwcmV2SW5zdCwgbmV4dEluc3QsIGZ1bmMpOwotICAgICAgICAKLSAgICAgICAgbGV0
IHJlZ0RlZlJvbGU7Ci0gICAgICAgIAotICAgICAgICBsZXQgcmVwb3J0UmVnID0gcmVnID0+IHsK
LSAgICAgICAgICAgIGxldCB0eXBlID0gcmVnLmlzR1BSID8gR1AgOiBGUDsKLSAgICAgICAgICAg
IGZ1bmModGhpbmcuZnJvbVJlZyhyZWcpLCByZWdEZWZSb2xlLCB0eXBlLCBBcmcuY29uc2VydmF0
aXZlV2lkdGgodHlwZSkpOwotICAgICAgICB9OwotICAgICAgICAKLSAgICAgICAgaWYgKHByZXZJ
bnN0ICYmIHByZXZJbnN0Lm9wY29kZSA9PSBQYXRjaCkgewotICAgICAgICAgICAgcmVnRGVmUm9s
ZSA9IEFyZy5EZWY7Ci0gICAgICAgICAgICBwcmV2SW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuZm9y
RWFjaChyZXBvcnRSZWcpOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBpZiAobmV4dElu
c3QgJiYgbmV4dEluc3Qub3Bjb2RlID09IFBhdGNoKSB7Ci0gICAgICAgICAgICByZWdEZWZSb2xl
ID0gQXJnLkVhcmx5RGVmOwotICAgICAgICAgICAgbmV4dEluc3QuZXh0cmFFYXJseUNsb2JiZXJl
ZFJlZ3MuZm9yRWFjaChyZXBvcnRSZWcpOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIGdl
dCBoYXNOb25BcmdFZmZlY3RzKCkgeyByZXR1cm4gSW5zdF9oYXNOb25BcmdFZmZlY3RzKHRoaXMp
OyB9Ci0gICAgCi0gICAgaGFzaCgpCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gb3Bjb2Rl
Q29kZSh0aGlzLm9wY29kZSk7Ci0gICAgICAgIGZvciAobGV0IGFyZyBvZiB0aGlzLmFyZ3MpIHsK
LSAgICAgICAgICAgIHJlc3VsdCArPSBhcmcuaGFzaCgpOwotICAgICAgICAgICAgcmVzdWx0IHw9
IDA7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHJlc3VsdCA+Pj4gMDsKLSAgICB9Ci0gICAg
Ci0gICAgdG9TdHJpbmcoKQotICAgIHsKLSAgICAgICAgcmV0dXJuICIiICsgc3ltYm9sTmFtZSh0
aGlzLl9vcGNvZGUpICsgIiAiICsgdGhpcy5fYXJncy5qb2luKCIsICIpOwotICAgIH0KLX0KLQpJ
bmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvbGl2ZW5lc3MuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvbGl2ZW5lc3Mu
anMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gv
QWlyL2xpdmVuZXNzLmpzCShub25leGlzdGVudCkKQEAgLTEsMTUyICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xh
c3MgTGl2ZW5lc3MgewotICAgIGNvbnN0cnVjdG9yKHRoaW5nLCBjb2RlKQotICAgIHsKLSAgICAg
ICAgdGhpcy5fdGhpbmcgPSB0aGluZzsKLSAgICAgICAgdGhpcy5fY29kZSA9IGNvZGU7Ci0gICAg
ICAgIAotICAgICAgICB0aGlzLl9saXZlQXRIZWFkID0gbmV3IE1hcCgpOwotICAgICAgICB0aGlz
Ll9saXZlQXRUYWlsID0gbmV3IE1hcCgpOwotICAgICAgICAKLSAgICAgICAgZm9yIChsZXQgYmxv
Y2sgb2YgY29kZSkgewotICAgICAgICAgICAgdGhpcy5fbGl2ZUF0SGVhZC5zZXQoYmxvY2ssIG5l
dyBTZXQoKSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGxldCBsaXZlQXRUYWlsID0gbmV3
IFNldCgpOwotICAgICAgICAgICAgdGhpcy5fbGl2ZUF0VGFpbC5zZXQoYmxvY2ssIGxpdmVBdFRh
aWwpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBibG9jay5sYXN0LmZvckVhY2goCi0gICAg
ICAgICAgICAgICAgdGhpbmcsCi0gICAgICAgICAgICAgICAgKHZhbHVlLCByb2xlLCB0eXBlLCB3
aWR0aCkgPT4gewotICAgICAgICAgICAgICAgICAgICBpZiAoQXJnLmlzTGF0ZVVzZShyb2xlKSkK
LSAgICAgICAgICAgICAgICAgICAgICAgIGxpdmVBdFRhaWwuYWRkKHZhbHVlKTsKLSAgICAgICAg
ICAgICAgICB9KTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgbGV0IGRpcnR5QmxvY2tz
ID0gbmV3IFNldChjb2RlKTsKLSAgICAgICAgCi0gICAgICAgIGxldCBjaGFuZ2VkOwotICAgICAg
ICBkbyB7Ci0gICAgICAgICAgICBjaGFuZ2VkID0gZmFsc2U7Ci0gICAgICAgICAgICAKLSAgICAg
ICAgICAgIGZvciAobGV0IGJsb2NrSW5kZXggPSBjb2RlLnNpemU7IGJsb2NrSW5kZXgtLTspIHsK
LSAgICAgICAgICAgICAgICBsZXQgYmxvY2sgPSBjb2RlLmF0KGJsb2NrSW5kZXgpOwotICAgICAg
ICAgICAgICAgIGlmICghYmxvY2spCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGlmICghZGlydHlCbG9ja3MuZGVsZXRlKGJs
b2NrKSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgCi0g
ICAgICAgICAgICAgICAgbGV0IGxvY2FsQ2FsYyA9IHRoaXMubG9jYWxDYWxjKGJsb2NrKTsKLSAg
ICAgICAgICAgICAgICBmb3IgKGxldCBpbnN0SW5kZXggPSBibG9jay5zaXplOyBpbnN0SW5kZXgt
LTspCi0gICAgICAgICAgICAgICAgICAgIGxvY2FsQ2FsYy5leGVjdXRlKGluc3RJbmRleCk7Ci0g
ICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgLy8gSGFuZGxlIHRoZSBlYXJseSBkZWYn
cyBvZiB0aGUgZmlyc3QgaW5zdHJ1Y3Rpb24uCi0gICAgICAgICAgICAgICAgYmxvY2suYXQoMCku
Zm9yRWFjaCgKLSAgICAgICAgICAgICAgICAgICAgdGhpbmcsCi0gICAgICAgICAgICAgICAgICAg
ICh2YWx1ZSwgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGlmIChBcmcuaXNFYXJseURlZihyb2xlKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBs
b2NhbENhbGMubGl2ZVNldC5yZW1vdmUodmFsdWUpOwotICAgICAgICAgICAgICAgICAgICB9KTsK
LSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBsZXQgbGl2ZUF0SGVhZCA9IHRoaXMu
X2xpdmVBdEhlYWQuZ2V0KGJsb2NrKTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAg
ICBpZiAoIW1lcmdlSW50b1NldChsaXZlQXRIZWFkLCBsb2NhbENhbGMubGl2ZVNldCkpCi0gICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAg
ICAgIGZvciAobGV0IHByZWRlY2Vzc29yIG9mIGJsb2NrLnByZWRlY2Vzc29ycykgewotICAgICAg
ICAgICAgICAgICAgICBpZiAobWVyZ2VJbnRvU2V0KHRoaXMuX2xpdmVBdFRhaWwuZ2V0KHByZWRl
Y2Vzc29yKSwgbGl2ZUF0SGVhZCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRpcnR5Qmxv
Y2tzLmFkZChwcmVkZWNlc3Nvcik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfSB3aGlsZSAoY2hhbmdlZCk7Ci0gICAgfQotICAgIAotICAgIGdldCB0
aGluZygpIHsgcmV0dXJuIHRoaXMuX3RoaW5nOyB9Ci0gICAgZ2V0IGNvZGUoKSB7IHJldHVybiB0
aGlzLl9jb2RlOyB9Ci0gICAgZ2V0IGxpdmVBdEhlYWQoKSB7IHJldHVybiB0aGlzLl9saXZlQXRI
ZWFkOyB9Ci0gICAgZ2V0IGxpdmVBdFRhaWwoKSB7IHJldHVybiB0aGlzLl9saXZlQXRUYWlsOyB9
Ci0gICAgCi0gICAgbG9jYWxDYWxjKGJsb2NrKQotICAgIHsKLSAgICAgICAgbGV0IGxpdmVuZXNz
ID0gdGhpczsKLSAgICAgICAgY2xhc3MgTG9jYWxDYWxjIHsKLSAgICAgICAgICAgIGNvbnN0cnVj
dG9yKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB0aGlzLl9saXZlU2V0ID0gbmV3
IFNldChsaXZlbmVzcy5saXZlQXRUYWlsLmdldChibG9jaykpOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgCi0gICAgICAgICAgICBnZXQgbGl2ZVNldCgpIHsgcmV0dXJuIHRoaXMuX2xpdmVT
ZXQ7IH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgZXhlY3V0ZShpbnN0SW5kZXgpCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgbGV0IGluc3QgPSBibG9jay5hdChpbnN0SW5kZXgp
OwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIEZpcnN0IGhhbmRsZSB0aGUg
ZWFybHkgZGVmcyBvZiB0aGUgbmV4dCBpbnN0cnVjdGlvbi4KLSAgICAgICAgICAgICAgICBpZiAo
aW5zdEluZGV4ICsgMSA8IGJsb2NrLnNpemUpIHsKLSAgICAgICAgICAgICAgICAgICAgYmxvY2su
YXQoaW5zdEluZGV4ICsgMSkuZm9yRWFjaCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpdmVu
ZXNzLnRoaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlLCByb2xlLCB0eXBlLCB3
aWR0aCkgPT4gewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChBcmcuaXNFYXJseURl
Zihyb2xlKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGl2ZVNldC5k
ZWxldGUodmFsdWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIFRoZW4gaGFuZGxlIGRl
ZnMuCi0gICAgICAgICAgICAgICAgaW5zdC5mb3JFYWNoKAotICAgICAgICAgICAgICAgICAgICBs
aXZlbmVzcy50aGluZywKLSAgICAgICAgICAgICAgICAgICAgKHZhbHVlLCByb2xlLCB0eXBlLCB3
aWR0aCkgPT4gewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEFyZy5pc0xhdGVEZWYocm9s
ZSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbGl2ZVNldC5kZWxldGUodmFs
dWUpOwotICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAg
ICAgICAgICAvLyBUaGVuIGhhbmRsZSB1c2VzLgotICAgICAgICAgICAgICAgIGluc3QuZm9yRWFj
aCgKLSAgICAgICAgICAgICAgICAgICAgbGl2ZW5lc3MudGhpbmcsCi0gICAgICAgICAgICAgICAg
ICAgICh2YWx1ZSwgcm9sZSwgdHlwZSwgd2lkdGgpID0+IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChBcmcuaXNFYXJseVVzZShyb2xlKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0aGlzLl9saXZlU2V0LmFkZCh2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAg
ICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIC8vIEZpbmFsbHkgaGFuZGxlIHRoZSBsYXRl
IHVzZXMgb2YgdGhlIHByZXZpb3VzIGluc3RydWN0aW9uLgotICAgICAgICAgICAgICAgIGlmIChp
bnN0SW5kZXggLSAxID49IDApIHsKLSAgICAgICAgICAgICAgICAgICAgYmxvY2suYXQoaW5zdElu
ZGV4IC0gMSkuZm9yRWFjaCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpdmVuZXNzLnRoaW5n
LAotICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlLCByb2xlLCB0eXBlLCB3aWR0aCkgPT4g
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChBcmcuaXNMYXRlVXNlKHJvbGUpKQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9saXZlU2V0LmFkZCh2YWx1ZSk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIHJldHVybiBuZXcgTG9jYWxDYWxj
KCk7Ci0gICAgfQotfQotCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fp
ci9tYWtlX2Rpc3Quc2gKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVC
ZW5jaC9BaXIvbWFrZV9kaXN0LnNoCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRl
c3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9tYWtlX2Rpc3Quc2gJKG5vbmV4aXN0ZW50KQpAQCAtMSwz
OSArMCwwIEBACi0jIS9iaW4vc2gKLQotc2V0IC1lCi1zZXQgLXgKLQotTUFSS0RPV049InBlcmwg
JEhPTUUvRG9jdW1lbnRzL01hcmtkb3duLnBsIgotCi1ybSAtcmYgQWlyLmpzCi1ta2RpciBBaXIu
anMKLSR7TUFSS0RPV059IDwgUkVBRE1FLm1kID4gQWlyLmpzL2luZGV4Lmh0bWwKLWNwIFwKLSAg
ICBhbGwuanMgXAotICAgIGFsbG9jYXRlX3N0YWNrLmpzIFwKLSAgICBhcmcuanMgXAotICAgIGJh
c2ljX2Jsb2NrLmpzIFwKLSAgICBiZW5jaG1hcmsuanMgXAotICAgIGNvZGUuanMgXAotICAgIGN1
c3RvbS5qcyBcCi0gICAgZnJlcXVlbnRlZF9ibG9jay5qcyBcCi0gICAgaW5zZXJ0aW9uX3NldC5q
cyBcCi0gICAgaW5zdC5qcyBcCi0gICAgbGl2ZW5lc3MuanMgXAotICAgIG9wY29kZS5qcyBcCi0g
ICAgcGF5bG9hZC1haXJqcy1BQ0xqOEMuanMgXAotICAgIHBheWxvYWQtZ2JlbXUtZXhlY3V0ZUl0
ZXJhdGlvbi5qcyBcCi0gICAgcGF5bG9hZC1pbWFnaW5nLWdhdXNzaWFuLWJsdXItZ2F1c3NpYW5C
bHVyLmpzIFwKLSAgICBwYXlsb2FkLXR5cGVzY3JpcHQtc2NhbklkZW50aWZpZXIuanMgXAotICAg
IHJlZy5qcyBcCi0gICAgc3RhY2tfc2xvdC5qcyBcCi0gICAgc3ltYm9scy5qcyBcCi0gICAgdGVz
dC5odG1sIFwKLSAgICB0ZXN0LmpzIFwKLSAgICB0bXAuanMgXAotICAgIHRtcF9iYXNlLmpzIFwK
LSAgICB1dGlsLmpzIFwKLSAgICBBaXIuanMvCi0KLXRhciAtY3p2ZiBBaXIuanMudGFyLmd6IEFp
ci5qcwotCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJl
bmNoL0Fpci9tYWtlX2Rpc3Quc2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZXhlY3V0YWJsZQoj
IyAtMSArMCwwICMjCi0qClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFBl
cmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL29wY29kZS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9vcGNvZGUuanMJKHJldmlzaW9u
IDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL29wY29kZS5q
cwkobm9uZXhpc3RlbnQpCkBAIC0xLDE2NTUgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotLy8gR2Vu
ZXJhdGVkIGJ5IG9wY29kZV9nZW5lcmF0b3IucmIgZnJvbSBKYXZhU2NyaXB0Q29yZS9iMy9haXIv
QWlyT3Bjb2RlLm9wY29kZXMgLS0gZG8gbm90IGVkaXQhCi1jb25zdCBOb3AgPSBTeW1ib2woIk5v
cCIpOwotY29uc3QgQWRkMzIgPSBTeW1ib2woIkFkZDMyIik7Ci1jb25zdCBBZGQ4ID0gU3ltYm9s
KCJBZGQ4Iik7Ci1jb25zdCBBZGQxNiA9IFN5bWJvbCgiQWRkMTYiKTsKLWNvbnN0IEFkZDY0ID0g
U3ltYm9sKCJBZGQ2NCIpOwotY29uc3QgQWRkRG91YmxlID0gU3ltYm9sKCJBZGREb3VibGUiKTsK
LWNvbnN0IEFkZEZsb2F0ID0gU3ltYm9sKCJBZGRGbG9hdCIpOwotY29uc3QgU3ViMzIgPSBTeW1i
b2woIlN1YjMyIik7Ci1jb25zdCBTdWI2NCA9IFN5bWJvbCgiU3ViNjQiKTsKLWNvbnN0IFN1YkRv
dWJsZSA9IFN5bWJvbCgiU3ViRG91YmxlIik7Ci1jb25zdCBTdWJGbG9hdCA9IFN5bWJvbCgiU3Vi
RmxvYXQiKTsKLWNvbnN0IE5lZzMyID0gU3ltYm9sKCJOZWczMiIpOwotY29uc3QgTmVnNjQgPSBT
eW1ib2woIk5lZzY0Iik7Ci1jb25zdCBOZWdhdGVEb3VibGUgPSBTeW1ib2woIk5lZ2F0ZURvdWJs
ZSIpOwotY29uc3QgTXVsMzIgPSBTeW1ib2woIk11bDMyIik7Ci1jb25zdCBNdWw2NCA9IFN5bWJv
bCgiTXVsNjQiKTsKLWNvbnN0IE11bHRpcGx5QWRkMzIgPSBTeW1ib2woIk11bHRpcGx5QWRkMzIi
KTsKLWNvbnN0IE11bHRpcGx5QWRkNjQgPSBTeW1ib2woIk11bHRpcGx5QWRkNjQiKTsKLWNvbnN0
IE11bHRpcGx5U3ViMzIgPSBTeW1ib2woIk11bHRpcGx5U3ViMzIiKTsKLWNvbnN0IE11bHRpcGx5
U3ViNjQgPSBTeW1ib2woIk11bHRpcGx5U3ViNjQiKTsKLWNvbnN0IE11bHRpcGx5TmVnMzIgPSBT
eW1ib2woIk11bHRpcGx5TmVnMzIiKTsKLWNvbnN0IE11bHRpcGx5TmVnNjQgPSBTeW1ib2woIk11
bHRpcGx5TmVnNjQiKTsKLWNvbnN0IERpdjMyID0gU3ltYm9sKCJEaXYzMiIpOwotY29uc3QgRGl2
NjQgPSBTeW1ib2woIkRpdjY0Iik7Ci1jb25zdCBNdWxEb3VibGUgPSBTeW1ib2woIk11bERvdWJs
ZSIpOwotY29uc3QgTXVsRmxvYXQgPSBTeW1ib2woIk11bEZsb2F0Iik7Ci1jb25zdCBEaXZEb3Vi
bGUgPSBTeW1ib2woIkRpdkRvdWJsZSIpOwotY29uc3QgRGl2RmxvYXQgPSBTeW1ib2woIkRpdkZs
b2F0Iik7Ci1jb25zdCBYODZDb252ZXJ0VG9Eb3VibGVXb3JkMzIgPSBTeW1ib2woIlg4NkNvbnZl
cnRUb0RvdWJsZVdvcmQzMiIpOwotY29uc3QgWDg2Q29udmVydFRvUXVhZFdvcmQ2NCA9IFN5bWJv
bCgiWDg2Q29udmVydFRvUXVhZFdvcmQ2NCIpOwotY29uc3QgWDg2RGl2MzIgPSBTeW1ib2woIlg4
NkRpdjMyIik7Ci1jb25zdCBYODZEaXY2NCA9IFN5bWJvbCgiWDg2RGl2NjQiKTsKLWNvbnN0IExl
YSA9IFN5bWJvbCgiTGVhIik7Ci1jb25zdCBBbmQzMiA9IFN5bWJvbCgiQW5kMzIiKTsKLWNvbnN0
IEFuZDY0ID0gU3ltYm9sKCJBbmQ2NCIpOwotY29uc3QgQW5kRG91YmxlID0gU3ltYm9sKCJBbmRE
b3VibGUiKTsKLWNvbnN0IEFuZEZsb2F0ID0gU3ltYm9sKCJBbmRGbG9hdCIpOwotY29uc3QgWG9y
RG91YmxlID0gU3ltYm9sKCJYb3JEb3VibGUiKTsKLWNvbnN0IFhvckZsb2F0ID0gU3ltYm9sKCJY
b3JGbG9hdCIpOwotY29uc3QgTHNoaWZ0MzIgPSBTeW1ib2woIkxzaGlmdDMyIik7Ci1jb25zdCBM
c2hpZnQ2NCA9IFN5bWJvbCgiTHNoaWZ0NjQiKTsKLWNvbnN0IFJzaGlmdDMyID0gU3ltYm9sKCJS
c2hpZnQzMiIpOwotY29uc3QgUnNoaWZ0NjQgPSBTeW1ib2woIlJzaGlmdDY0Iik7Ci1jb25zdCBV
cnNoaWZ0MzIgPSBTeW1ib2woIlVyc2hpZnQzMiIpOwotY29uc3QgVXJzaGlmdDY0ID0gU3ltYm9s
KCJVcnNoaWZ0NjQiKTsKLWNvbnN0IE9yMzIgPSBTeW1ib2woIk9yMzIiKTsKLWNvbnN0IE9yNjQg
PSBTeW1ib2woIk9yNjQiKTsKLWNvbnN0IFhvcjMyID0gU3ltYm9sKCJYb3IzMiIpOwotY29uc3Qg
WG9yNjQgPSBTeW1ib2woIlhvcjY0Iik7Ci1jb25zdCBOb3QzMiA9IFN5bWJvbCgiTm90MzIiKTsK
LWNvbnN0IE5vdDY0ID0gU3ltYm9sKCJOb3Q2NCIpOwotY29uc3QgQWJzRG91YmxlID0gU3ltYm9s
KCJBYnNEb3VibGUiKTsKLWNvbnN0IEFic0Zsb2F0ID0gU3ltYm9sKCJBYnNGbG9hdCIpOwotY29u
c3QgQ2VpbERvdWJsZSA9IFN5bWJvbCgiQ2VpbERvdWJsZSIpOwotY29uc3QgQ2VpbEZsb2F0ID0g
U3ltYm9sKCJDZWlsRmxvYXQiKTsKLWNvbnN0IEZsb29yRG91YmxlID0gU3ltYm9sKCJGbG9vckRv
dWJsZSIpOwotY29uc3QgRmxvb3JGbG9hdCA9IFN5bWJvbCgiRmxvb3JGbG9hdCIpOwotY29uc3Qg
U3FydERvdWJsZSA9IFN5bWJvbCgiU3FydERvdWJsZSIpOwotY29uc3QgU3FydEZsb2F0ID0gU3lt
Ym9sKCJTcXJ0RmxvYXQiKTsKLWNvbnN0IENvbnZlcnRJbnQzMlRvRG91YmxlID0gU3ltYm9sKCJD
b252ZXJ0SW50MzJUb0RvdWJsZSIpOwotY29uc3QgQ29udmVydEludDY0VG9Eb3VibGUgPSBTeW1i
b2woIkNvbnZlcnRJbnQ2NFRvRG91YmxlIik7Ci1jb25zdCBDb252ZXJ0SW50MzJUb0Zsb2F0ID0g
U3ltYm9sKCJDb252ZXJ0SW50MzJUb0Zsb2F0Iik7Ci1jb25zdCBDb252ZXJ0SW50NjRUb0Zsb2F0
ID0gU3ltYm9sKCJDb252ZXJ0SW50NjRUb0Zsb2F0Iik7Ci1jb25zdCBDb3VudExlYWRpbmdaZXJv
czMyID0gU3ltYm9sKCJDb3VudExlYWRpbmdaZXJvczMyIik7Ci1jb25zdCBDb3VudExlYWRpbmda
ZXJvczY0ID0gU3ltYm9sKCJDb3VudExlYWRpbmdaZXJvczY0Iik7Ci1jb25zdCBDb252ZXJ0RG91
YmxlVG9GbG9hdCA9IFN5bWJvbCgiQ29udmVydERvdWJsZVRvRmxvYXQiKTsKLWNvbnN0IENvbnZl
cnRGbG9hdFRvRG91YmxlID0gU3ltYm9sKCJDb252ZXJ0RmxvYXRUb0RvdWJsZSIpOwotY29uc3Qg
TW92ZSA9IFN5bWJvbCgiTW92ZSIpOwotY29uc3QgU3dhcDMyID0gU3ltYm9sKCJTd2FwMzIiKTsK
LWNvbnN0IFN3YXA2NCA9IFN5bWJvbCgiU3dhcDY0Iik7Ci1jb25zdCBNb3ZlMzIgPSBTeW1ib2wo
Ik1vdmUzMiIpOwotY29uc3QgU3RvcmVaZXJvMzIgPSBTeW1ib2woIlN0b3JlWmVybzMyIik7Ci1j
b25zdCBTaWduRXh0ZW5kMzJUb1B0ciA9IFN5bWJvbCgiU2lnbkV4dGVuZDMyVG9QdHIiKTsKLWNv
bnN0IFplcm9FeHRlbmQ4VG8zMiA9IFN5bWJvbCgiWmVyb0V4dGVuZDhUbzMyIik7Ci1jb25zdCBT
aWduRXh0ZW5kOFRvMzIgPSBTeW1ib2woIlNpZ25FeHRlbmQ4VG8zMiIpOwotY29uc3QgWmVyb0V4
dGVuZDE2VG8zMiA9IFN5bWJvbCgiWmVyb0V4dGVuZDE2VG8zMiIpOwotY29uc3QgU2lnbkV4dGVu
ZDE2VG8zMiA9IFN5bWJvbCgiU2lnbkV4dGVuZDE2VG8zMiIpOwotY29uc3QgTW92ZUZsb2F0ID0g
U3ltYm9sKCJNb3ZlRmxvYXQiKTsKLWNvbnN0IE1vdmVEb3VibGUgPSBTeW1ib2woIk1vdmVEb3Vi
bGUiKTsKLWNvbnN0IE1vdmVaZXJvVG9Eb3VibGUgPSBTeW1ib2woIk1vdmVaZXJvVG9Eb3VibGUi
KTsKLWNvbnN0IE1vdmU2NFRvRG91YmxlID0gU3ltYm9sKCJNb3ZlNjRUb0RvdWJsZSIpOwotY29u
c3QgTW92ZTMyVG9GbG9hdCA9IFN5bWJvbCgiTW92ZTMyVG9GbG9hdCIpOwotY29uc3QgTW92ZURv
dWJsZVRvNjQgPSBTeW1ib2woIk1vdmVEb3VibGVUbzY0Iik7Ci1jb25zdCBNb3ZlRmxvYXRUbzMy
ID0gU3ltYm9sKCJNb3ZlRmxvYXRUbzMyIik7Ci1jb25zdCBMb2FkOCA9IFN5bWJvbCgiTG9hZDgi
KTsKLWNvbnN0IFN0b3JlOCA9IFN5bWJvbCgiU3RvcmU4Iik7Ci1jb25zdCBMb2FkOFNpZ25lZEV4
dGVuZFRvMzIgPSBTeW1ib2woIkxvYWQ4U2lnbmVkRXh0ZW5kVG8zMiIpOwotY29uc3QgTG9hZDE2
ID0gU3ltYm9sKCJMb2FkMTYiKTsKLWNvbnN0IExvYWQxNlNpZ25lZEV4dGVuZFRvMzIgPSBTeW1i
b2woIkxvYWQxNlNpZ25lZEV4dGVuZFRvMzIiKTsKLWNvbnN0IFN0b3JlMTYgPSBTeW1ib2woIlN0
b3JlMTYiKTsKLWNvbnN0IENvbXBhcmUzMiA9IFN5bWJvbCgiQ29tcGFyZTMyIik7Ci1jb25zdCBD
b21wYXJlNjQgPSBTeW1ib2woIkNvbXBhcmU2NCIpOwotY29uc3QgVGVzdDMyID0gU3ltYm9sKCJU
ZXN0MzIiKTsKLWNvbnN0IFRlc3Q2NCA9IFN5bWJvbCgiVGVzdDY0Iik7Ci1jb25zdCBDb21wYXJl
RG91YmxlID0gU3ltYm9sKCJDb21wYXJlRG91YmxlIik7Ci1jb25zdCBDb21wYXJlRmxvYXQgPSBT
eW1ib2woIkNvbXBhcmVGbG9hdCIpOwotY29uc3QgQnJhbmNoOCA9IFN5bWJvbCgiQnJhbmNoOCIp
OwotY29uc3QgQnJhbmNoMzIgPSBTeW1ib2woIkJyYW5jaDMyIik7Ci1jb25zdCBCcmFuY2g2NCA9
IFN5bWJvbCgiQnJhbmNoNjQiKTsKLWNvbnN0IEJyYW5jaFRlc3Q4ID0gU3ltYm9sKCJCcmFuY2hU
ZXN0OCIpOwotY29uc3QgQnJhbmNoVGVzdDMyID0gU3ltYm9sKCJCcmFuY2hUZXN0MzIiKTsKLWNv
bnN0IEJyYW5jaFRlc3Q2NCA9IFN5bWJvbCgiQnJhbmNoVGVzdDY0Iik7Ci1jb25zdCBCcmFuY2hE
b3VibGUgPSBTeW1ib2woIkJyYW5jaERvdWJsZSIpOwotY29uc3QgQnJhbmNoRmxvYXQgPSBTeW1i
b2woIkJyYW5jaEZsb2F0Iik7Ci1jb25zdCBCcmFuY2hBZGQzMiA9IFN5bWJvbCgiQnJhbmNoQWRk
MzIiKTsKLWNvbnN0IEJyYW5jaEFkZDY0ID0gU3ltYm9sKCJCcmFuY2hBZGQ2NCIpOwotY29uc3Qg
QnJhbmNoTXVsMzIgPSBTeW1ib2woIkJyYW5jaE11bDMyIik7Ci1jb25zdCBCcmFuY2hNdWw2NCA9
IFN5bWJvbCgiQnJhbmNoTXVsNjQiKTsKLWNvbnN0IEJyYW5jaFN1YjMyID0gU3ltYm9sKCJCcmFu
Y2hTdWIzMiIpOwotY29uc3QgQnJhbmNoU3ViNjQgPSBTeW1ib2woIkJyYW5jaFN1YjY0Iik7Ci1j
b25zdCBCcmFuY2hOZWczMiA9IFN5bWJvbCgiQnJhbmNoTmVnMzIiKTsKLWNvbnN0IEJyYW5jaE5l
ZzY0ID0gU3ltYm9sKCJCcmFuY2hOZWc2NCIpOwotY29uc3QgTW92ZUNvbmRpdGlvbmFsbHkzMiA9
IFN5bWJvbCgiTW92ZUNvbmRpdGlvbmFsbHkzMiIpOwotY29uc3QgTW92ZUNvbmRpdGlvbmFsbHk2
NCA9IFN5bWJvbCgiTW92ZUNvbmRpdGlvbmFsbHk2NCIpOwotY29uc3QgTW92ZUNvbmRpdGlvbmFs
bHlUZXN0MzIgPSBTeW1ib2woIk1vdmVDb25kaXRpb25hbGx5VGVzdDMyIik7Ci1jb25zdCBNb3Zl
Q29uZGl0aW9uYWxseVRlc3Q2NCA9IFN5bWJvbCgiTW92ZUNvbmRpdGlvbmFsbHlUZXN0NjQiKTsK
LWNvbnN0IE1vdmVDb25kaXRpb25hbGx5RG91YmxlID0gU3ltYm9sKCJNb3ZlQ29uZGl0aW9uYWxs
eURvdWJsZSIpOwotY29uc3QgTW92ZUNvbmRpdGlvbmFsbHlGbG9hdCA9IFN5bWJvbCgiTW92ZUNv
bmRpdGlvbmFsbHlGbG9hdCIpOwotY29uc3QgTW92ZURvdWJsZUNvbmRpdGlvbmFsbHkzMiA9IFN5
bWJvbCgiTW92ZURvdWJsZUNvbmRpdGlvbmFsbHkzMiIpOwotY29uc3QgTW92ZURvdWJsZUNvbmRp
dGlvbmFsbHk2NCA9IFN5bWJvbCgiTW92ZURvdWJsZUNvbmRpdGlvbmFsbHk2NCIpOwotY29uc3Qg
TW92ZURvdWJsZUNvbmRpdGlvbmFsbHlUZXN0MzIgPSBTeW1ib2woIk1vdmVEb3VibGVDb25kaXRp
b25hbGx5VGVzdDMyIik7Ci1jb25zdCBNb3ZlRG91YmxlQ29uZGl0aW9uYWxseVRlc3Q2NCA9IFN5
bWJvbCgiTW92ZURvdWJsZUNvbmRpdGlvbmFsbHlUZXN0NjQiKTsKLWNvbnN0IE1vdmVEb3VibGVD
b25kaXRpb25hbGx5RG91YmxlID0gU3ltYm9sKCJNb3ZlRG91YmxlQ29uZGl0aW9uYWxseURvdWJs
ZSIpOwotY29uc3QgTW92ZURvdWJsZUNvbmRpdGlvbmFsbHlGbG9hdCA9IFN5bWJvbCgiTW92ZURv
dWJsZUNvbmRpdGlvbmFsbHlGbG9hdCIpOwotY29uc3QgSnVtcCA9IFN5bWJvbCgiSnVtcCIpOwot
Y29uc3QgUmV0MzIgPSBTeW1ib2woIlJldDMyIik7Ci1jb25zdCBSZXQ2NCA9IFN5bWJvbCgiUmV0
NjQiKTsKLWNvbnN0IFJldEZsb2F0ID0gU3ltYm9sKCJSZXRGbG9hdCIpOwotY29uc3QgUmV0RG91
YmxlID0gU3ltYm9sKCJSZXREb3VibGUiKTsKLWNvbnN0IE9vcHMgPSBTeW1ib2woIk9vcHMiKTsK
LWNvbnN0IFNodWZmbGUgPSBTeW1ib2woIlNodWZmbGUiKTsKLWNvbnN0IFBhdGNoID0gU3ltYm9s
KCJQYXRjaCIpOwotY29uc3QgQ0NhbGwgPSBTeW1ib2woIkNDYWxsIik7Ci1jb25zdCBDb2xkQ0Nh
bGwgPSBTeW1ib2woIkNvbGRDQ2FsbCIpOwotZnVuY3Rpb24gSW5zdF9mb3JFYWNoQXJnKGluc3Qs
IGZ1bmMpCi17Ci0gICAgbGV0IHJlcGxhY2VtZW50OwotICAgIHN3aXRjaCAoaW5zdC5vcGNvZGUp
IHsKLSAgICBjYXNlIE5vcDoKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgQWRkMzI6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBj
YXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAz
Mik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7
Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGluc3Qudmlz
aXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRB
cmcoMSwgZnVuYywgQXJnLlVzZVpEZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2Fk
Iik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBj
YXNlIEFkZDg6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDgp
OwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VEZWYsIEdQLCA4KTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQWRkMTY6Ci0gICAgICAgIGlu
c3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDE2KTsKLSAgICAgICAgaW5zdC52aXNp
dEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgMTYpOwotICAgICAgICBicmVhazsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBBZGQ2NDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVu
Z3RoKSB7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVu
YywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywg
QXJnLlVzZURlZiwgR1AsIDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDM6
Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0g
ICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5EZWYsIEdQLCA2NCk7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJv
cigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIEFkZERvdWJsZToKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3Mu
bGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwg
ZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVu
YywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywg
QXJnLkRlZiwgRlAsIDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0g
ICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VEZWYsIEZQLCA2NCk7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBF
cnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIEFkZEZsb2F0OgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJn
cy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygw
LCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBm
dW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5j
LCBBcmcuRGVmLCBGUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoK
LSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAg
ICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgRlAsIDMyKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3ViMzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwg
ZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBB
cmcuVXNlWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgU3ViNjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1As
IDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgNjQp
OwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTdWJEb3VibGU6Ci0g
ICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAg
ICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgICAg
ICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5j
LCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBB
cmcuVXNlRGVmLCBGUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6
Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTdWJGbG9hdDoK
LSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAg
ICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAg
ICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAg
ICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLkRlZiwgRlAsIDMyKTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1
bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMs
IEFyZy5Vc2VEZWYsIEZQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVs
dDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIE5lZzMyOgot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2VaRGVmLCBHUCwgMzIpOwotICAg
ICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBOZWc2NDoKLSAgICAgICAgaW5z
dC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgNjQpOwotICAgICAgICBicmVhazsK
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBOZWdhdGVEb3VibGU6Ci0gICAgICAgIGluc3Qudmlz
aXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygx
LCBmdW5jLCBBcmcuRGVmLCBGUCwgNjQpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBNdWwzMjoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0g
ICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVz
ZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZVpE
ZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAzOgotICAgICAg
ICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQg
b3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgTXVsNjQ6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewot
ICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VE
ZWYsIEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAzOgotICAgICAg
ICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuRGVmLCBHUCwgNjQpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBv
dmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBNdWx0aXBseUFkZDMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMs
IEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVz
ZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwg
MzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwot
ICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNdWx0aXBseUFkZDY0Ogot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52
aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJn
KDMsIGZ1bmMsIEFyZy5EZWYsIEdQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIE11bHRpcGx5U3ViMzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVu
YywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcu
VXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQ
LCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7
Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE11bHRpcGx5U3ViNjQ6
Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAg
ICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0
LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRB
cmcoMywgZnVuYywgQXJnLkRlZiwgR1AsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgTXVsdGlwbHlOZWczMjoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBm
dW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlpEZWYs
IEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE11bHRp
cGx5TmVnNjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0
KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAg
ICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgNjQpOwotICAgICAgICBi
cmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBEaXYzMjoKLSAgICAgICAgaW5zdC52aXNp
dEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEs
IGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywg
QXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBj
YXNlIERpdjY0OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2
NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAg
ICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuRGVmLCBHUCwgNjQpOwotICAgICAgICBi
cmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNdWxEb3VibGU6Ci0gICAgICAgIHN3aXRj
aCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZp
c2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0
QXJnKDIsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBG
UCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBG
UCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNdWxGbG9hdDoKLSAgICAgICAgc3dp
dGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3Qudmlz
aXRBcmcoMiwgZnVuYywgQXJnLkRlZiwgRlAsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VEZWYs
IEZQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIERpdkRvdWJsZToKLSAgICAgICAg
c3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMiwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VE
ZWYsIEZQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIERpdkZsb2F0OgotICAgICAg
ICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygyLCBmdW5jLCBBcmcuRGVmLCBGUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJn
LlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVz
ZURlZiwgRlAsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgWDg2Q29udmVydFRvRG91
YmxlV29yZDMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAz
Mik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0g
ICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFg4NkNvbnZlcnRUb1F1YWRX
b3JkNjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsK
LSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVmLCBHUCwgNjQpOwotICAgICAg
ICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBYODZEaXYzMjoKLSAgICAgICAgaW5z
dC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52
aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNp
dEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBYODZEaXY2NDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5j
LCBBcmcuVXNlWkRlZiwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBB
cmcuVXNlWkRlZiwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcu
VXNlLCBHUCwgNjQpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBM
ZWE6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZUFkZHIsIEdQLCBQdHIp
OwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEdQLCBQdHIpOwotICAg
ICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBBbmQzMjoKLSAgICAgICAgc3dp
dGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3Qudmlz
aXRBcmcoMiwgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNl
LCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlWkRl
ZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAg
ICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQW5kNjQ6Ci0gICAgICAgIHN3
aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBp
bnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZp
c2l0QXJnKDIsIGZ1bmMsIEFyZy5EZWYsIEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgY2FzZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNl
LCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVm
LCBHUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBBbmREb3VibGU6Ci0gICAgICAg
IHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAg
ICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBp
bnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcu
VXNlLCBGUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNl
RGVmLCBGUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAg
ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBBbmRGbG9hdDoKLSAgICAg
ICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAg
ICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLkRlZiwgRlAsIDMyKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFy
Zy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5V
c2VEZWYsIEZQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAg
ICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIFhvckRvdWJsZToKLSAg
ICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgMzoKLSAgICAg
ICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAg
ICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMs
IEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFy
Zy5Vc2VEZWYsIEZQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoK
LSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIFhvckZsb2F0Ogot
ICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAg
ICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAg
ICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuRGVmLCBGUCwgMzIpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVu
YywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywg
QXJnLlVzZURlZiwgRlAsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0
OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTHNoaWZ0MzI6
Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDM6Ci0g
ICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAg
ICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwg
ZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVu
YywgQXJnLlVzZVpEZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIExzaGlm
dDY0OgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAz
OgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwot
ICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAg
ICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDY0KTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEs
IGZ1bmMsIEFyZy5Vc2VEZWYsIEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIFJz
aGlmdDMyOgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2Fz
ZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIp
OwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwot
ICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJn
KDEsIGZ1bmMsIEFyZy5Vc2VaRGVmLCBHUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9hZCIp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBSc2hpZnQ2NDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAg
IGNhc2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1As
IDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0
KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlpEZWYsIEdQLCA2NCk7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgaW5zdC52
aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNp
dEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBvdmVybG9h
ZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBVcnNoaWZ0MzI6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAg
ICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQ
LCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5aRGVmLCBHUCwg
MzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZVpEZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92
ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsK
LSAgICBjYXNlIFVyc2hpZnQ2NDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVuZ3RoKSB7
Ci0gICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJn
LlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVz
ZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlpEZWYs
IEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgNjQpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJh
ZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBPcjMyOgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsK
LSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcu
VXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNl
LCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuWkRlZiwg
R1AsIDMyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAg
ICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBp
bnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2VaRGVmLCBHUCwgMzIpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJh
ZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBPcjY0OgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsK
LSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcu
VXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNl
LCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuRGVmLCBH
UCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgR1AsIDY0KTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQg
b3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgWG9yMzI6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewot
ICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5aRGVmLCBH
UCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZVpEZWYsIEdQLCAzMik7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFk
IG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVh
azsKLSAgICBjYXNlIFhvcjY0OgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsK
LSAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcu
VXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNl
LCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuRGVmLCBH
UCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMjoKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZURlZiwgR1AsIDY0KTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQg
b3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgTm90MzI6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewot
ICAgICAgICBjYXNlIDI6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5aRGVm
LCBHUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMToKLSAgICAgICAg
ICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZVpEZWYsIEdQLCAzMik7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJv
cigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIE5vdDY0OgotICAgICAgICBzd2l0Y2ggKGluc3QuYXJncy5sZW5n
dGgpIHsKLSAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5j
LCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBB
cmcuRGVmLCBHUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgMToKLSAg
ICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZURlZiwgR1AsIDY0KTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgQWJzRG91YmxlOgotICAgICAgICBpbnN0LnZpc2l0QXJn
KDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVu
YywgQXJnLkRlZiwgRlAsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgQWJzRmxvYXQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwg
RlAsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVmLCBGUCwgMzIp
OwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDZWlsRG91YmxlOgot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ2VpbEZsb2F0OgotICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwg
ZnVuYywgQXJnLkRlZiwgRlAsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgRmxvb3JEb3VibGU6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJn
LlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVmLCBG
UCwgNjQpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBGbG9vckZs
b2F0OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0g
ICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgRlAsIDMyKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3FydERvdWJsZToKLSAgICAgICAgaW5z
dC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0
QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEZQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIFNxcnRGbG9hdDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5j
LCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5E
ZWYsIEZQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENv
bnZlcnRJbnQzMlRvRG91YmxlOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgRlAs
IDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29udmVydElu
dDY0VG9Eb3VibGU6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1As
IDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVmLCBGUCwgNjQpOwot
ICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDb252ZXJ0SW50MzJUb0Zs
b2F0OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0g
ICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgRlAsIDMyKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29udmVydEludDY0VG9GbG9hdDoKLSAg
ICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBp
bnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEZQLCAzMik7Ci0gICAgICAgIGJyZWFrOwot
ICAgICAgICBicmVhazsKLSAgICBjYXNlIENvdW50TGVhZGluZ1plcm9zMzI6Ci0gICAgICAgIGlu
c3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNp
dEFyZygxLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgQ291bnRMZWFkaW5nWmVyb3M2NDoKLSAgICAgICAgaW5zdC52aXNp
dEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEs
IGZ1bmMsIEFyZy5EZWYsIEdQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsK
LSAgICBjYXNlIENvbnZlcnREb3VibGVUb0Zsb2F0OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAs
IGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywg
QXJnLkRlZiwgRlAsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgQ29udmVydEZsb2F0VG9Eb3VibGU6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywg
QXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVm
LCBGUCwgNjQpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNb3Zl
OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwotICAg
ICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEdQLCBQdHIpOwotICAgICAgICBi
cmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTd2FwMzI6Ci0gICAgICAgIGluc3Qudmlz
aXRBcmcoMCwgZnVuYywgQXJnLlVzZURlZiwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFy
ZygxLCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBTd2FwNjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywg
QXJnLlVzZURlZiwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcu
VXNlRGVmLCBHUCwgNjQpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBNb3ZlMzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMy
KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3RvcmVaZXJvMzI6Ci0gICAg
ICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgU2lnbkV4dGVuZDMyVG9QdHI6Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52
aXNpdEFyZygxLCBmdW5jLCBBcmcuRGVmLCBHUCwgUHRyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgWmVyb0V4dGVuZDhUbzMyOgotICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA4KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBm
dW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgU2lnbkV4dGVuZDhUbzMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMs
IEFyZy5Vc2UsIEdQLCA4KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuWkRl
ZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgWmVy
b0V4dGVuZDE2VG8zMjoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBH
UCwgMTYpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIp
OwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBTaWduRXh0ZW5kMTZU
bzMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAxNik7Ci0g
ICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAg
IGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVGbG9hdDoKLSAgICAgICAgaW5z
dC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0
QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEZQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIE1vdmVEb3VibGU6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVu
YywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcu
RGVmLCBGUCwgNjQpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBN
b3ZlWmVyb1RvRG91YmxlOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5EZWYs
IEZQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmU2
NFRvRG91YmxlOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2
NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTW92ZTMyVG9GbG9hdDoKLSAg
ICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBp
bnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5EZWYsIEZQLCAzMik7Ci0gICAgICAgIGJyZWFrOwot
ICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVEb3VibGVUbzY0OgotICAgICAgICBpbnN0LnZp
c2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmco
MSwgZnVuYywgQXJnLkRlZiwgR1AsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgTW92ZUZsb2F0VG8zMjoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5j
LCBBcmcuVXNlLCBGUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5E
ZWYsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExv
YWQ4OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA4KTsKLSAg
ICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgU3RvcmU4OgotICAgICAgICBpbnN0LnZp
c2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA4KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygx
LCBmdW5jLCBBcmcuRGVmLCBHUCwgOCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsK
LSAgICBjYXNlIExvYWQ4U2lnbmVkRXh0ZW5kVG8zMjoKLSAgICAgICAgaW5zdC52aXNpdEFyZygw
LCBmdW5jLCBBcmcuVXNlLCBHUCwgOCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywg
QXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBj
YXNlIExvYWQxNjoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwg
MTYpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwot
ICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMb2FkMTZTaWduZWRFeHRl
bmRUbzMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAxNik7
Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAg
ICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFN0b3JlMTY6Ci0gICAgICAgIGlu
c3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDE2KTsKLSAgICAgICAgaW5zdC52aXNp
dEFyZygxLCBmdW5jLCBBcmcuRGVmLCBHUCwgMTYpOwotICAgICAgICBicmVhazsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBDb21wYXJlMzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVu
YywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcu
VXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQ
LCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7
Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENvbXBhcmU2NDoKLSAg
ICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBp
bnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3Qudmlz
aXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygz
LCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgVGVzdDMyOgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1As
IDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAg
ICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBUZXN0NjQ6Ci0gICAgICAgIGluc3Qu
dmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFy
ZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1
bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJn
LlpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IENvbXBhcmVEb3VibGU6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwg
R1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQp
OwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAg
ICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlpEZWYsIEdQLCAzMik7Ci0gICAgICAgIGJy
ZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENvbXBhcmVGbG9hdDoKLSAgICAgICAgaW5z
dC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0
QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwg
ZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5jLCBB
cmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgQnJhbmNoODoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwg
MzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA4KTsKLSAg
ICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgOCk7Ci0gICAgICAgIGJy
ZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJyYW5jaDMyOgotICAgICAgICBpbnN0LnZp
c2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmco
MSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5j
LCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBCcmFuY2g2NDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBH
UCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7
Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQnJhbmNoVGVzdDg6Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52
aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgOCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmco
MiwgZnVuYywgQXJnLlVzZSwgR1AsIDgpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBCcmFuY2hUZXN0MzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywg
QXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNl
LCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAz
Mik7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJyYW5jaFRlc3Q2
NDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAg
ICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAgIGlu
c3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgQnJhbmNoRG91YmxlOgotICAgICAgICBpbnN0LnZpc2l0
QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwg
ZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBB
cmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBCcmFuY2hGbG9hdDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBH
UCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7
Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQnJhbmNoQWRkMzI6Ci0gICAgICAg
IHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkgewotICAgICAgICBjYXNlIDQ6Ci0gICAgICAgICAg
ICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBp
bnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZp
c2l0QXJnKDMsIGZ1bmMsIEFyZy5aRGVmLCBHUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgMzoKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVz
ZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwg
R1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZVpEZWYs
IEdQLCAzMik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJyYW5jaEFkZDY0OgotICAgICAg
ICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSA0OgotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52
aXNpdEFyZygzLCBmdW5jLCBBcmcuWkRlZiwgR1AsIDY0KTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2Us
IEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2VEZWYs
IEdQLCA2NCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICBjYXNlIEJyYW5jaE11bDMyOgotICAgICAg
ICBzd2l0Y2ggKGluc3QuYXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSAzOgotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIDQ6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMs
IEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5V
c2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5aRGVm
LCBHUCwgMzIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgNjoKLSAgICAgICAg
ICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMywgZnVuYywgQXJnLlNjcmF0Y2gsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDQsIGZ1bmMsIEFyZy5TY3JhdGNoLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5z
dC52aXNpdEFyZyg1LCBmdW5jLCBBcmcuWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3Zl
cmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgQnJhbmNoTXVsNjQ6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdzLmxlbmd0aCkg
ewotICAgICAgICBjYXNlIDM6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5V
c2UsIEdQLCA2NCk7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2Va
RGVmLCBHUCwgNjQpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgNjoKLSAgICAg
ICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAg
ICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlNjcmF0Y2gsIEdQLCA2NCk7Ci0gICAgICAgICAgICBp
bnN0LnZpc2l0QXJnKDQsIGZ1bmMsIEFyZy5TY3JhdGNoLCBHUCwgNjQpOwotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZyg1LCBmdW5jLCBBcmcuWkRlZiwgR1AsIDY0KTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQg
b3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgQnJhbmNoU3ViMzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywg
QXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNl
LCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2VaRGVmLCBH
UCwgMzIpOwotICAgICAgICBicmVhazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBCcmFuY2hT
dWI2NDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2NCk7Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZURlZiwgR1AsIDY0KTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQnJhbmNoTmVnMzI6Ci0gICAgICAgIGluc3Qu
dmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFy
ZygxLCBmdW5jLCBBcmcuVXNlWkRlZiwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgQnJhbmNoTmVnNjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwg
ZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBB
cmcuVXNlWkRlZiwgR1AsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgTW92ZUNvbmRpdGlvbmFsbHkzMjoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVu
Z3RoKSB7Ci0gICAgICAgIGNhc2UgNToKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVu
YywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywg
QXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJn
LlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlVz
ZSwgR1AsIFB0cik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDQsIGZ1bmMsIEFyZy5Vc2VE
ZWYsIEdQLCBQdHIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgNjoKLSAgICAg
ICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAg
ICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlVzZSwgR1AsIFB0cik7Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDQsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwotICAgICAgICAgICAgaW5zdC52
aXNpdEFyZyg1LCBmdW5jLCBBcmcuRGVmLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3Zlcmxv
YWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgTW92ZUNvbmRpdGlvbmFsbHk2NDoKLSAgICAgICAgc3dpdGNoIChpbnN0LmFyZ3MubGVu
Z3RoKSB7Ci0gICAgICAgIGNhc2UgNToKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVu
YywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywg
QXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJn
LlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlVz
ZSwgR1AsIFB0cik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDQsIGZ1bmMsIEFyZy5Vc2VE
ZWYsIEdQLCBQdHIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgNjoKLSAgICAg
ICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAg
ICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAg
IGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoMywgZnVuYywgQXJnLlVzZSwgR1AsIFB0cik7Ci0gICAgICAgICAgICBpbnN0
LnZpc2l0QXJnKDQsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwotICAgICAgICAgICAgaW5zdC52
aXNpdEFyZyg1LCBmdW5jLCBBcmcuRGVmLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgb3Zlcmxv
YWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgTW92ZUNvbmRpdGlvbmFsbHlUZXN0MzI6Ci0gICAgICAgIHN3aXRjaCAoaW5zdC5hcmdz
Lmxlbmd0aCkgewotICAgICAgICBjYXNlIDU6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAs
IGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1
bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMs
IEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCBQdHIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcu
VXNlRGVmLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDY6Ci0g
ICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAg
ICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgICAg
ICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwotICAgICAgICAgICAg
aW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGlu
c3QudmlzaXRBcmcoNSwgZnVuYywgQXJnLkRlZiwgR1AsIFB0cik7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIG92
ZXJsb2FkIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBicmVhazsK
LSAgICBjYXNlIE1vdmVDb25kaXRpb25hbGx5VGVzdDY0OgotICAgICAgICBzd2l0Y2ggKGluc3Qu
YXJncy5sZW5ndGgpIHsKLSAgICAgICAgY2FzZSA1OgotICAgICAgICAgICAgaW5zdC52aXNpdEFy
ZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygx
LCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBm
dW5jLCBBcmcuVXNlLCBHUCwgNjQpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5j
LCBBcmcuVXNlLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoNCwgZnVuYywg
QXJnLlVzZURlZiwgR1AsIFB0cik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSA2
OgotICAgICAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwot
ICAgICAgICAgICAgaW5zdC52aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAg
ICAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAg
ICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5jLCBBcmcuVXNlLCBHUCwgUHRyKTsKLSAgICAgICAg
ICAgIGluc3QudmlzaXRBcmcoNCwgZnVuYywgQXJnLlVzZSwgR1AsIFB0cik7Ci0gICAgICAgICAg
ICBpbnN0LnZpc2l0QXJnKDUsIGZ1bmMsIEFyZy5EZWYsIEdQLCBQdHIpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJh
ZCBvdmVybG9hZCIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBNb3ZlQ29uZGl0aW9uYWxseURvdWJsZToKLSAgICAgICAgc3dpdGNoIChp
bnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgNjoKLSAgICAgICAgICAgIGluc3Qudmlz
aXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRB
cmcoMSwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmco
MiwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmcoMywg
ZnVuYywgQXJnLlVzZSwgR1AsIFB0cik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDQsIGZ1
bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg1LCBmdW5j
LCBBcmcuRGVmLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDU6
Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0g
ICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAg
ICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwotICAgICAgICAg
ICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgUHRyKTsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgTW92ZUNvbmRpdGlvbmFsbHlGbG9hdDoKLSAgICAgICAgc3dpdGNo
IChpbnN0LmFyZ3MubGVuZ3RoKSB7Ci0gICAgICAgIGNhc2UgNjoKLSAgICAgICAgICAgIGluc3Qu
dmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgICAgIGluc3Qudmlz
aXRBcmcoMSwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRB
cmcoMiwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAgICAgIGluc3QudmlzaXRBcmco
MywgZnVuYywgQXJnLlVzZSwgR1AsIFB0cik7Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDQs
IGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwotICAgICAgICAgICAgaW5zdC52aXNpdEFyZyg1LCBm
dW5jLCBBcmcuRGVmLCBHUCwgUHRyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IDU6Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7
Ci0gICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0g
ICAgICAgICAgICBpbnN0LnZpc2l0QXJnKDIsIGZ1bmMsIEFyZy5Vc2UsIEZQLCAzMik7Ci0gICAg
ICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5Vc2UsIEdQLCBQdHIpOwotICAgICAg
ICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcuVXNlRGVmLCBHUCwgUHRyKTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJCYWQgb3ZlcmxvYWQiKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgTW92ZURvdWJsZUNvbmRpdGlvbmFsbHkzMjoKLSAgICAgICAg
aW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZp
c2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmco
MiwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5j
LCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDQsIGZ1bmMsIEFyZy5V
c2UsIEZQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoNSwgZnVuYywgQXJnLkRlZiwgRlAs
IDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTW92ZURvdWJs
ZUNvbmRpdGlvbmFsbHk2NDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNl
LCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEdQLCA2
NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgR1AsIDY0KTsKLSAg
ICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBp
bnN0LnZpc2l0QXJnKDQsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgIGluc3Qudmlz
aXRBcmcoNSwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgTW92ZURvdWJsZUNvbmRpdGlvbmFsbHlUZXN0MzI6Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgaW5zdC52
aXNpdEFyZygxLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJn
KDIsIGZ1bmMsIEFyZy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMywgZnVu
YywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZyg0LCBmdW5jLCBBcmcu
VXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDUsIGZ1bmMsIEFyZy5EZWYsIEZQ
LCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1vdmVEb3Vi
bGVDb25kaXRpb25hbGx5VGVzdDY0OgotICAgICAgICBpbnN0LnZpc2l0QXJnKDAsIGZ1bmMsIEFy
Zy5Vc2UsIEdQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMSwgZnVuYywgQXJnLlVzZSwg
R1AsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygyLCBmdW5jLCBBcmcuVXNlLCBHUCwgNjQp
OwotICAgICAgICBpbnN0LnZpc2l0QXJnKDMsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAg
ICAgIGluc3QudmlzaXRBcmcoNCwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5z
dC52aXNpdEFyZyg1LCBmdW5jLCBBcmcuRGVmLCBGUCwgNjQpOwotICAgICAgICBicmVhazsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNb3ZlRG91YmxlQ29uZGl0aW9uYWxseURvdWJsZToKLSAg
ICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5jLCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBp
bnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgIGluc3Qudmlz
aXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgRlAsIDY0KTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygz
LCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDQsIGZ1bmMs
IEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoNSwgZnVuYywgQXJnLkRl
ZiwgRlAsIDY0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTW92
ZURvdWJsZUNvbmRpdGlvbmFsbHlGbG9hdDoKLSAgICAgICAgaW5zdC52aXNpdEFyZygwLCBmdW5j
LCBBcmcuVXNlLCBHUCwgMzIpOwotICAgICAgICBpbnN0LnZpc2l0QXJnKDEsIGZ1bmMsIEFyZy5V
c2UsIEZQLCAzMik7Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMiwgZnVuYywgQXJnLlVzZSwgRlAs
IDMyKTsKLSAgICAgICAgaW5zdC52aXNpdEFyZygzLCBmdW5jLCBBcmcuVXNlLCBGUCwgNjQpOwot
ICAgICAgICBpbnN0LnZpc2l0QXJnKDQsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAg
IGluc3QudmlzaXRBcmcoNSwgZnVuYywgQXJnLkRlZiwgRlAsIDY0KTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgSnVtcDoKLSAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgUmV0MzI6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywg
QXJnLlVzZSwgR1AsIDMyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgUmV0NjQ6Ci0gICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgR1AsIDY0
KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUmV0RmxvYXQ6Ci0g
ICAgICAgIGluc3QudmlzaXRBcmcoMCwgZnVuYywgQXJnLlVzZSwgRlAsIDMyKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgUmV0RG91YmxlOgotICAgICAgICBpbnN0
LnZpc2l0QXJnKDAsIGZ1bmMsIEFyZy5Vc2UsIEZQLCA2NCk7Ci0gICAgICAgIGJyZWFrOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIE9vcHM6Ci0gICAgICAgIGJyZWFrOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIFNodWZmbGU6Ci0gICAgICAgIFNodWZmbGVDdXN0b20uZm9yRWFjaEFyZyhp
bnN0LCBmdW5jKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBQYXRjaDoKLSAgICAgICAgUGF0
Y2hDdXN0b20uZm9yRWFjaEFyZyhpbnN0LCBmdW5jKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBDQ2FsbDoKLSAgICAgICAgQ0NhbGxDdXN0b20uZm9yRWFjaEFyZyhpbnN0LCBmdW5jKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDb2xkQ0NhbGw6Ci0gICAgICAgIENvbGRDQ2FsbEN1c3Rv
bS5mb3JFYWNoQXJnKGluc3QsIGZ1bmMpOwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0Ogot
ICAgICAgICB0aHJvdyAiQmFkIG9wY29kZSI7Ci0gICAgfQotfQotZnVuY3Rpb24gSW5zdF9oYXNO
b25BcmdFZmZlY3RzKGluc3QpCi17Ci0gICAgc3dpdGNoIChpbnN0Lm9wY29kZSkgewotICAgIGNh
c2UgQnJhbmNoODoKLSAgICBjYXNlIEJyYW5jaDMyOgotICAgIGNhc2UgQnJhbmNoNjQ6Ci0gICAg
Y2FzZSBCcmFuY2hUZXN0ODoKLSAgICBjYXNlIEJyYW5jaFRlc3QzMjoKLSAgICBjYXNlIEJyYW5j
aFRlc3Q2NDoKLSAgICBjYXNlIEJyYW5jaERvdWJsZToKLSAgICBjYXNlIEJyYW5jaEZsb2F0Ogot
ICAgIGNhc2UgQnJhbmNoQWRkMzI6Ci0gICAgY2FzZSBCcmFuY2hBZGQ2NDoKLSAgICBjYXNlIEJy
YW5jaE11bDMyOgotICAgIGNhc2UgQnJhbmNoTXVsNjQ6Ci0gICAgY2FzZSBCcmFuY2hTdWIzMjoK
LSAgICBjYXNlIEJyYW5jaFN1YjY0OgotICAgIGNhc2UgQnJhbmNoTmVnMzI6Ci0gICAgY2FzZSBC
cmFuY2hOZWc2NDoKLSAgICBjYXNlIEp1bXA6Ci0gICAgY2FzZSBSZXQzMjoKLSAgICBjYXNlIFJl
dDY0OgotICAgIGNhc2UgUmV0RmxvYXQ6Ci0gICAgY2FzZSBSZXREb3VibGU6Ci0gICAgY2FzZSBP
b3BzOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIFNodWZmbGU6Ci0gICAgICAgIHJl
dHVybiBTaHVmZmxlQ3VzdG9tLmhhc05vbkFyZ05vbkNvbnRyb2xFZmZlY3RzKGluc3QpOwotICAg
IGNhc2UgUGF0Y2g6Ci0gICAgICAgIHJldHVybiBQYXRjaEN1c3RvbS5oYXNOb25BcmdOb25Db250
cm9sRWZmZWN0cyhpbnN0KTsKLSAgICBjYXNlIENDYWxsOgotICAgICAgICByZXR1cm4gQ0NhbGxD
dXN0b20uaGFzTm9uQXJnTm9uQ29udHJvbEVmZmVjdHMoaW5zdCk7Ci0gICAgY2FzZSBDb2xkQ0Nh
bGw6Ci0gICAgICAgIHJldHVybiBDb2xkQ0NhbGxDdXN0b20uaGFzTm9uQXJnTm9uQ29udHJvbEVm
ZmVjdHMoaW5zdCk7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0K
LX0KLWZ1bmN0aW9uIG9wY29kZUNvZGUob3Bjb2RlKQotewotICAgIHN3aXRjaCAob3Bjb2RlKSB7
Ci0gICAgY2FzZSBBYnNEb3VibGU6Ci0gICAgICAgIHJldHVybiAwCi0gICAgY2FzZSBBYnNGbG9h
dDoKLSAgICAgICAgcmV0dXJuIDEKLSAgICBjYXNlIEFkZDE2OgotICAgICAgICByZXR1cm4gMgot
ICAgIGNhc2UgQWRkMzI6Ci0gICAgICAgIHJldHVybiAzCi0gICAgY2FzZSBBZGQ2NDoKLSAgICAg
ICAgcmV0dXJuIDQKLSAgICBjYXNlIEFkZDg6Ci0gICAgICAgIHJldHVybiA1Ci0gICAgY2FzZSBB
ZGREb3VibGU6Ci0gICAgICAgIHJldHVybiA2Ci0gICAgY2FzZSBBZGRGbG9hdDoKLSAgICAgICAg
cmV0dXJuIDcKLSAgICBjYXNlIEFuZDMyOgotICAgICAgICByZXR1cm4gOAotICAgIGNhc2UgQW5k
NjQ6Ci0gICAgICAgIHJldHVybiA5Ci0gICAgY2FzZSBBbmREb3VibGU6Ci0gICAgICAgIHJldHVy
biAxMAotICAgIGNhc2UgQW5kRmxvYXQ6Ci0gICAgICAgIHJldHVybiAxMQotICAgIGNhc2UgQnJh
bmNoMzI6Ci0gICAgICAgIHJldHVybiAxMgotICAgIGNhc2UgQnJhbmNoNjQ6Ci0gICAgICAgIHJl
dHVybiAxMwotICAgIGNhc2UgQnJhbmNoODoKLSAgICAgICAgcmV0dXJuIDE0Ci0gICAgY2FzZSBC
cmFuY2hBZGQzMjoKLSAgICAgICAgcmV0dXJuIDE1Ci0gICAgY2FzZSBCcmFuY2hBZGQ2NDoKLSAg
ICAgICAgcmV0dXJuIDE2Ci0gICAgY2FzZSBCcmFuY2hEb3VibGU6Ci0gICAgICAgIHJldHVybiAx
NwotICAgIGNhc2UgQnJhbmNoRmxvYXQ6Ci0gICAgICAgIHJldHVybiAxOAotICAgIGNhc2UgQnJh
bmNoTXVsMzI6Ci0gICAgICAgIHJldHVybiAxOQotICAgIGNhc2UgQnJhbmNoTXVsNjQ6Ci0gICAg
ICAgIHJldHVybiAyMAotICAgIGNhc2UgQnJhbmNoTmVnMzI6Ci0gICAgICAgIHJldHVybiAyMQot
ICAgIGNhc2UgQnJhbmNoTmVnNjQ6Ci0gICAgICAgIHJldHVybiAyMgotICAgIGNhc2UgQnJhbmNo
U3ViMzI6Ci0gICAgICAgIHJldHVybiAyMwotICAgIGNhc2UgQnJhbmNoU3ViNjQ6Ci0gICAgICAg
IHJldHVybiAyNAotICAgIGNhc2UgQnJhbmNoVGVzdDMyOgotICAgICAgICByZXR1cm4gMjUKLSAg
ICBjYXNlIEJyYW5jaFRlc3Q2NDoKLSAgICAgICAgcmV0dXJuIDI2Ci0gICAgY2FzZSBCcmFuY2hU
ZXN0ODoKLSAgICAgICAgcmV0dXJuIDI3Ci0gICAgY2FzZSBDQ2FsbDoKLSAgICAgICAgcmV0dXJu
IDI4Ci0gICAgY2FzZSBDZWlsRG91YmxlOgotICAgICAgICByZXR1cm4gMjkKLSAgICBjYXNlIENl
aWxGbG9hdDoKLSAgICAgICAgcmV0dXJuIDMwCi0gICAgY2FzZSBDb2xkQ0NhbGw6Ci0gICAgICAg
IHJldHVybiAzMQotICAgIGNhc2UgQ29tcGFyZTMyOgotICAgICAgICByZXR1cm4gMzIKLSAgICBj
YXNlIENvbXBhcmU2NDoKLSAgICAgICAgcmV0dXJuIDMzCi0gICAgY2FzZSBDb21wYXJlRG91Ymxl
OgotICAgICAgICByZXR1cm4gMzQKLSAgICBjYXNlIENvbXBhcmVGbG9hdDoKLSAgICAgICAgcmV0
dXJuIDM1Ci0gICAgY2FzZSBDb252ZXJ0RG91YmxlVG9GbG9hdDoKLSAgICAgICAgcmV0dXJuIDM2
Ci0gICAgY2FzZSBDb252ZXJ0RmxvYXRUb0RvdWJsZToKLSAgICAgICAgcmV0dXJuIDM3Ci0gICAg
Y2FzZSBDb252ZXJ0SW50MzJUb0RvdWJsZToKLSAgICAgICAgcmV0dXJuIDM4Ci0gICAgY2FzZSBD
b252ZXJ0SW50MzJUb0Zsb2F0OgotICAgICAgICByZXR1cm4gMzkKLSAgICBjYXNlIENvbnZlcnRJ
bnQ2NFRvRG91YmxlOgotICAgICAgICByZXR1cm4gNDAKLSAgICBjYXNlIENvbnZlcnRJbnQ2NFRv
RmxvYXQ6Ci0gICAgICAgIHJldHVybiA0MQotICAgIGNhc2UgQ291bnRMZWFkaW5nWmVyb3MzMjoK
LSAgICAgICAgcmV0dXJuIDQyCi0gICAgY2FzZSBDb3VudExlYWRpbmdaZXJvczY0OgotICAgICAg
ICByZXR1cm4gNDMKLSAgICBjYXNlIERpdjMyOgotICAgICAgICByZXR1cm4gNDQKLSAgICBjYXNl
IERpdjY0OgotICAgICAgICByZXR1cm4gNDUKLSAgICBjYXNlIERpdkRvdWJsZToKLSAgICAgICAg
cmV0dXJuIDQ2Ci0gICAgY2FzZSBEaXZGbG9hdDoKLSAgICAgICAgcmV0dXJuIDQ3Ci0gICAgY2Fz
ZSBGbG9vckRvdWJsZToKLSAgICAgICAgcmV0dXJuIDQ4Ci0gICAgY2FzZSBGbG9vckZsb2F0Ogot
ICAgICAgICByZXR1cm4gNDkKLSAgICBjYXNlIEp1bXA6Ci0gICAgICAgIHJldHVybiA1MAotICAg
IGNhc2UgTGVhOgotICAgICAgICByZXR1cm4gNTEKLSAgICBjYXNlIExvYWQxNjoKLSAgICAgICAg
cmV0dXJuIDUyCi0gICAgY2FzZSBMb2FkMTZTaWduZWRFeHRlbmRUbzMyOgotICAgICAgICByZXR1
cm4gNTMKLSAgICBjYXNlIExvYWQ4OgotICAgICAgICByZXR1cm4gNTQKLSAgICBjYXNlIExvYWQ4
U2lnbmVkRXh0ZW5kVG8zMjoKLSAgICAgICAgcmV0dXJuIDU1Ci0gICAgY2FzZSBMc2hpZnQzMjoK
LSAgICAgICAgcmV0dXJuIDU2Ci0gICAgY2FzZSBMc2hpZnQ2NDoKLSAgICAgICAgcmV0dXJuIDU3
Ci0gICAgY2FzZSBNb3ZlOgotICAgICAgICByZXR1cm4gNTgKLSAgICBjYXNlIE1vdmUzMjoKLSAg
ICAgICAgcmV0dXJuIDU5Ci0gICAgY2FzZSBNb3ZlMzJUb0Zsb2F0OgotICAgICAgICByZXR1cm4g
NjAKLSAgICBjYXNlIE1vdmU2NFRvRG91YmxlOgotICAgICAgICByZXR1cm4gNjEKLSAgICBjYXNl
IE1vdmVDb25kaXRpb25hbGx5MzI6Ci0gICAgICAgIHJldHVybiA2MgotICAgIGNhc2UgTW92ZUNv
bmRpdGlvbmFsbHk2NDoKLSAgICAgICAgcmV0dXJuIDYzCi0gICAgY2FzZSBNb3ZlQ29uZGl0aW9u
YWxseURvdWJsZToKLSAgICAgICAgcmV0dXJuIDY0Ci0gICAgY2FzZSBNb3ZlQ29uZGl0aW9uYWxs
eUZsb2F0OgotICAgICAgICByZXR1cm4gNjUKLSAgICBjYXNlIE1vdmVDb25kaXRpb25hbGx5VGVz
dDMyOgotICAgICAgICByZXR1cm4gNjYKLSAgICBjYXNlIE1vdmVDb25kaXRpb25hbGx5VGVzdDY0
OgotICAgICAgICByZXR1cm4gNjcKLSAgICBjYXNlIE1vdmVEb3VibGU6Ci0gICAgICAgIHJldHVy
biA2OAotICAgIGNhc2UgTW92ZURvdWJsZUNvbmRpdGlvbmFsbHkzMjoKLSAgICAgICAgcmV0dXJu
IDY5Ci0gICAgY2FzZSBNb3ZlRG91YmxlQ29uZGl0aW9uYWxseTY0OgotICAgICAgICByZXR1cm4g
NzAKLSAgICBjYXNlIE1vdmVEb3VibGVDb25kaXRpb25hbGx5RG91YmxlOgotICAgICAgICByZXR1
cm4gNzEKLSAgICBjYXNlIE1vdmVEb3VibGVDb25kaXRpb25hbGx5RmxvYXQ6Ci0gICAgICAgIHJl
dHVybiA3MgotICAgIGNhc2UgTW92ZURvdWJsZUNvbmRpdGlvbmFsbHlUZXN0MzI6Ci0gICAgICAg
IHJldHVybiA3MwotICAgIGNhc2UgTW92ZURvdWJsZUNvbmRpdGlvbmFsbHlUZXN0NjQ6Ci0gICAg
ICAgIHJldHVybiA3NAotICAgIGNhc2UgTW92ZURvdWJsZVRvNjQ6Ci0gICAgICAgIHJldHVybiA3
NQotICAgIGNhc2UgTW92ZUZsb2F0OgotICAgICAgICByZXR1cm4gNzYKLSAgICBjYXNlIE1vdmVG
bG9hdFRvMzI6Ci0gICAgICAgIHJldHVybiA3NwotICAgIGNhc2UgTW92ZVplcm9Ub0RvdWJsZToK
LSAgICAgICAgcmV0dXJuIDc4Ci0gICAgY2FzZSBNdWwzMjoKLSAgICAgICAgcmV0dXJuIDc5Ci0g
ICAgY2FzZSBNdWw2NDoKLSAgICAgICAgcmV0dXJuIDgwCi0gICAgY2FzZSBNdWxEb3VibGU6Ci0g
ICAgICAgIHJldHVybiA4MQotICAgIGNhc2UgTXVsRmxvYXQ6Ci0gICAgICAgIHJldHVybiA4Mgot
ICAgIGNhc2UgTXVsdGlwbHlBZGQzMjoKLSAgICAgICAgcmV0dXJuIDgzCi0gICAgY2FzZSBNdWx0
aXBseUFkZDY0OgotICAgICAgICByZXR1cm4gODQKLSAgICBjYXNlIE11bHRpcGx5TmVnMzI6Ci0g
ICAgICAgIHJldHVybiA4NQotICAgIGNhc2UgTXVsdGlwbHlOZWc2NDoKLSAgICAgICAgcmV0dXJu
IDg2Ci0gICAgY2FzZSBNdWx0aXBseVN1YjMyOgotICAgICAgICByZXR1cm4gODcKLSAgICBjYXNl
IE11bHRpcGx5U3ViNjQ6Ci0gICAgICAgIHJldHVybiA4OAotICAgIGNhc2UgTmVnMzI6Ci0gICAg
ICAgIHJldHVybiA4OQotICAgIGNhc2UgTmVnNjQ6Ci0gICAgICAgIHJldHVybiA5MAotICAgIGNh
c2UgTmVnYXRlRG91YmxlOgotICAgICAgICByZXR1cm4gOTEKLSAgICBjYXNlIE5vcDoKLSAgICAg
ICAgcmV0dXJuIDkyCi0gICAgY2FzZSBOb3QzMjoKLSAgICAgICAgcmV0dXJuIDkzCi0gICAgY2Fz
ZSBOb3Q2NDoKLSAgICAgICAgcmV0dXJuIDk0Ci0gICAgY2FzZSBPb3BzOgotICAgICAgICByZXR1
cm4gOTUKLSAgICBjYXNlIE9yMzI6Ci0gICAgICAgIHJldHVybiA5NgotICAgIGNhc2UgT3I2NDoK
LSAgICAgICAgcmV0dXJuIDk3Ci0gICAgY2FzZSBQYXRjaDoKLSAgICAgICAgcmV0dXJuIDk4Ci0g
ICAgY2FzZSBSZXQzMjoKLSAgICAgICAgcmV0dXJuIDk5Ci0gICAgY2FzZSBSZXQ2NDoKLSAgICAg
ICAgcmV0dXJuIDEwMAotICAgIGNhc2UgUmV0RG91YmxlOgotICAgICAgICByZXR1cm4gMTAxCi0g
ICAgY2FzZSBSZXRGbG9hdDoKLSAgICAgICAgcmV0dXJuIDEwMgotICAgIGNhc2UgUnNoaWZ0MzI6
Ci0gICAgICAgIHJldHVybiAxMDMKLSAgICBjYXNlIFJzaGlmdDY0OgotICAgICAgICByZXR1cm4g
MTA0Ci0gICAgY2FzZSBTaHVmZmxlOgotICAgICAgICByZXR1cm4gMTA1Ci0gICAgY2FzZSBTaWdu
RXh0ZW5kMTZUbzMyOgotICAgICAgICByZXR1cm4gMTA2Ci0gICAgY2FzZSBTaWduRXh0ZW5kMzJU
b1B0cjoKLSAgICAgICAgcmV0dXJuIDEwNwotICAgIGNhc2UgU2lnbkV4dGVuZDhUbzMyOgotICAg
ICAgICByZXR1cm4gMTA4Ci0gICAgY2FzZSBTcXJ0RG91YmxlOgotICAgICAgICByZXR1cm4gMTA5
Ci0gICAgY2FzZSBTcXJ0RmxvYXQ6Ci0gICAgICAgIHJldHVybiAxMTAKLSAgICBjYXNlIFN0b3Jl
MTY6Ci0gICAgICAgIHJldHVybiAxMTEKLSAgICBjYXNlIFN0b3JlODoKLSAgICAgICAgcmV0dXJu
IDExMgotICAgIGNhc2UgU3RvcmVaZXJvMzI6Ci0gICAgICAgIHJldHVybiAxMTMKLSAgICBjYXNl
IFN1YjMyOgotICAgICAgICByZXR1cm4gMTE0Ci0gICAgY2FzZSBTdWI2NDoKLSAgICAgICAgcmV0
dXJuIDExNQotICAgIGNhc2UgU3ViRG91YmxlOgotICAgICAgICByZXR1cm4gMTE2Ci0gICAgY2Fz
ZSBTdWJGbG9hdDoKLSAgICAgICAgcmV0dXJuIDExNwotICAgIGNhc2UgU3dhcDMyOgotICAgICAg
ICByZXR1cm4gMTE4Ci0gICAgY2FzZSBTd2FwNjQ6Ci0gICAgICAgIHJldHVybiAxMTkKLSAgICBj
YXNlIFRlc3QzMjoKLSAgICAgICAgcmV0dXJuIDEyMAotICAgIGNhc2UgVGVzdDY0OgotICAgICAg
ICByZXR1cm4gMTIxCi0gICAgY2FzZSBVcnNoaWZ0MzI6Ci0gICAgICAgIHJldHVybiAxMjIKLSAg
ICBjYXNlIFVyc2hpZnQ2NDoKLSAgICAgICAgcmV0dXJuIDEyMwotICAgIGNhc2UgWDg2Q29udmVy
dFRvRG91YmxlV29yZDMyOgotICAgICAgICByZXR1cm4gMTI0Ci0gICAgY2FzZSBYODZDb252ZXJ0
VG9RdWFkV29yZDY0OgotICAgICAgICByZXR1cm4gMTI1Ci0gICAgY2FzZSBYODZEaXYzMjoKLSAg
ICAgICAgcmV0dXJuIDEyNgotICAgIGNhc2UgWDg2RGl2NjQ6Ci0gICAgICAgIHJldHVybiAxMjcK
LSAgICBjYXNlIFhvcjMyOgotICAgICAgICByZXR1cm4gMTI4Ci0gICAgY2FzZSBYb3I2NDoKLSAg
ICAgICAgcmV0dXJuIDEyOQotICAgIGNhc2UgWG9yRG91YmxlOgotICAgICAgICByZXR1cm4gMTMw
Ci0gICAgY2FzZSBYb3JGbG9hdDoKLSAgICAgICAgcmV0dXJuIDEzMQotICAgIGNhc2UgWmVyb0V4
dGVuZDE2VG8zMjoKLSAgICAgICAgcmV0dXJuIDEzMgotICAgIGNhc2UgWmVyb0V4dGVuZDhUbzMy
OgotICAgICAgICByZXR1cm4gMTMzCi0gICAgZGVmYXVsdDoKLSAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJiYWQgb3Bjb2RlIik7Ci0gICAgfQotfQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZT
YW1wbGVCZW5jaC9BaXIvcGF5bG9hZC1haXJqcy1BQ0xqOEMuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVy
Zm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvcGF5bG9hZC1haXJqcy1BQ0xqOEMuanMJ
KHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWly
L3BheWxvYWQtYWlyanMtQUNMajhDLmpzCShub25leGlzdGVudCkKQEAgLTEsMTczMCArMCwwIEBA
Ci0idXNlIHN0cmljdCI7Ci0vLyBHZW5lcmF0ZWQgYnkgQWlyOjpkdW1wQXNKUyBmcm9tICNBQ0xq
OEMgaW4gQWlyLmpzCi1mdW5jdGlvbiBjcmVhdGVQYXlsb2FkQWlySlNBQ0xqOEMoKQotewotICAg
IGxldCBjb2RlID0gbmV3IENvZGUoKTsKLSAgICBsZXQgYmIwID0gY29kZS5hZGRCbG9jaygpOwot
ICAgIGxldCBiYjEgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiMiA9IGNvZGUuYWRkQmxv
Y2soKTsKLSAgICBsZXQgYmIzID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjQgPSBjb2Rl
LmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiNSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI2
ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjcgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAg
bGV0IGJiOCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI5ID0gY29kZS5hZGRCbG9jaygp
OwotICAgIGxldCBiYjEwID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjExID0gY29kZS5h
ZGRCbG9jaygpOwotICAgIGxldCBiYjEyID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjEz
ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjE0ID0gY29kZS5hZGRCbG9jaygpOwotICAg
IGxldCBiYjE1ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBzbG90MCA9IGNvZGUuYWRkU3Rh
Y2tTbG90KDE2MCwgTG9ja2VkKTsKLSAgICBsZXQgc2xvdDEgPSBjb2RlLmFkZFN0YWNrU2xvdCg4
LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3QyID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwot
ICAgIGxldCBzbG90MyA9IGNvZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xv
dDQgPSBjb2RlLmFkZFN0YWNrU2xvdCg0MCwgTG9ja2VkKTsKLSAgICBzbG90NC5zZXRPZmZzZXRG
cm9tRlAoLTQwKTsKLSAgICBsZXQgdG1wNjEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDYwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1OSA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wNTggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU3ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXA1NiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
NTUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU0ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXA1MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTIgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDUxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1
MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDkgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDQ4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0NyA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wNDYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ1
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wNDMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQyID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXA0MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDAg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDM5ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAzOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzcgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDM2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzNSA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDMzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMiA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMzEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDMwID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyOSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wMjggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI3ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAyNiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjUgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAyMyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjIgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDIxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyMCA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDE4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNyA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMTYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE1ID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMTMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXAxMSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTAgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDcgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDUgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDMgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDAgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IGluc3Q7Ci0gICAgbGV0IGFyZzsKLSAgICBiYjAuc3VjY2Vzc29ycy5wdXNoKG5l
dyBGcmVxdWVudGVkQmxvY2soYmIxLCBOb3JtYWwpKTsKLSAgICBiYjAuc3VjY2Vzc29ycy5wdXNo
KG5ldyBGcmVxdWVudGVkQmxvY2soYmIxNSwgTm9ybWFsKSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjc2NDI0ODAwLCAxKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJicCwg
MTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YnApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25B
cmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGlu
c3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlNjcmF0Y2gsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcu
cmJwLCA3Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFk
ZHIoUmVnLnJicCwgNjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVBZGRyKFJlZy5yYnAsIDU2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlQWRkcihSZWcucmJwLCA0OCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDIsIC02NTUzNik7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0
Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9
IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYnAsIDI0KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4LCAxNik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgwLCAtNjU1MzYpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhh
c05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0g
ICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0g
W107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5EZWYs
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkxhdGVVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZVVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAg
aW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBi
YjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQWRkcihSZWcucmN4LCAzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJjeCwgNDApOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNo
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBp
bnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5l
dyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyNzYzMjc2NDgsIDEpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTm90
RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwot
ICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBb
XTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVJlbENvbmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUFkZHIoUmVnLnI4LCA1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVJbW0oMjEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRy
dWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5v
blplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwot
ICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBb
XTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVJlbENvbmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUFkZHIoUmVnLnIxMiwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlSW1tKDM3Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVj
dHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVBZGRyKFJlZy5yMTIsIDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYXgsIC00MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0
Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJi
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVl
OwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEg
PSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0g
dHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI3NjMyMTAyNCwgMSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RF
cXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
c2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNO
b25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNr
KHNsb3QwLCA3Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVN0YWNrKHNsb3QwLCA2NCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVN0YWNrKHNsb3QwLCA1Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QwLCA0OCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDAsIDQwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwot
ICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJl
cmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy5yMTEpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5EZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuTGF0ZVVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMC5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Bl
Y2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNo
SGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVn
cyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChY
b3I2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3Zl
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKC0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MiwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3Zl
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKC0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI5KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjkpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVj
dHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIwLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUlt
bSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFj
ayhzbG90MywgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1t
KDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRlc3Q2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRl
ZEJsb2NrKGJiMywgTm9ybWFsKSk7Ci0gICAgYmIxLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiMiwgTm9ybWFsKSk7Ci0gICAgYmIxLnByZWRlY2Vzc29ycy5wdXNoKGJiMCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lh
bCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENv
bmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUFkZHIoUmVnLnI4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVJbW0oNDY4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFF
YXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgYmIxLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnI4LCAxNik7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyNzY3NDExNjAsIDEpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMS5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yY3gs
IDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMS5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVs
Q29uZChFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlQWRkcihSZWcucmF4LCA4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjEuYXBwZW5kKGluc3QpOwotICAgIGJiMi5wcmVkZWNlc3NvcnMucHVzaChiYjEpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFy
Z0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcg
U2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoT29wcyk7Ci0gICAgYmIyLmFwcGVuZChpbnN0KTsKLSAgICBiYjMuc3VjY2Vzc29ycy5wdXNo
KG5ldyBGcmVxdWVudGVkQmxvY2soYmI0LCBOb3JtYWwpKTsKLSAgICBiYjMuc3VjY2Vzc29ycy5w
dXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI3LCBOb3JtYWwpKTsKLSAgICBiYjMucHJlZGVjZXNz
b3JzLnB1c2goYmIxKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUFkZHIoUmVnLnI4LCAyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCA1KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMjMpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJk
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNO
b25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDh9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDh9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMy5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVCaWdJbW0oMjc1NzM5NjE2LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2g2NCk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMjQpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMy5hcHBlbmQoaW5zdCk7Ci0gICAgYmI0LnN1Y2Nlc3Nv
cnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNSwgTm9ybWFsKSk7Ci0gICAgYmI0LnN1Y2Nl
c3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNiwgTm9ybWFsKSk7Ci0gICAgYmI0LnBy
ZWRlY2Vzc29ycy5wdXNoKGJiMyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDAsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMTYpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYXgsIDMyKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAg
ICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDAsIDMyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDAsIDI0KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDAsIDE2KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDAsIDgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyNzY2NDU4NzIsIDEpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjc2NjQ2
NDk2LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUNhbGxBcmcoOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJ
bW0oMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2Fs
bEFyZygxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNh
bGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVD
YWxsQXJnKDMyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNC5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Bl
Y2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQ2FsbEFyZyg4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVDYWxsQXJnKDI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDMyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0
cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncy5hZGQo
UmVnLnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yY3gpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmR4KTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncy5hZGQoUmVnLnJzaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy5yZGkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjgpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjkpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcucjEwKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0wKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW0zKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTQp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNSk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW02KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTcpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tOCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW05KTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEwKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncy5hZGQoUmVnLnhtbTExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnhtbTEyKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEz
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTE0KTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTE1KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
RGVmLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiNC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlU3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
YmI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChYb3I2NCk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUltbSg2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlSW1tKC0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEsIDApOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3Rz
ID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBiYjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3Zl
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRl
c3Q2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgYmI1LnN1
Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiOCwgTm9ybWFsKSk7Ci0gICAgYmI1
LnByZWRlY2Vzc29ycy5wdXNoKGJiNCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVl
OwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xv
YmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy5yMTEpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5EZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuTGF0ZVVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiNS5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmI1
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9
IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmN4LCAwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNDE5KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhh
c05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjc2MTY4NjA4LCAx
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxB
cmcoOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygx
Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmco
MjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEz
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJn
KDMyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
Q2FsbEFyZyg4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVDYWxsQXJnKDI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVDYWxsQXJnKDMyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJs
eUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnIx
MSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yY3gpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmR4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnJzaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5y
ZGkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcucjEwKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIx
MSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0wKTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcueG1tMik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy54bW0zKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTQpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNSk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy54bW02KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnhtbTcpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tOCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW05KTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEwKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVn
LnhtbTEyKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEzKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTE0KTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTE1KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtd
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lh
bCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5w
YXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0
KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBiYjYuc3VjY2Vz
c29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI4LCBOb3JtYWwpKTsKLSAgICBiYjYucHJl
ZGVjZXNzb3JzLnB1c2goYmI0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUltbSgxMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmI2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmI2LmFw
cGVuZChpbnN0KTsKLSAgICBiYjcuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2so
YmIxMiwgTm9ybWFsKSk7Ci0gICAgYmI3LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJs
b2NrKGJiOSwgTm9ybWFsKSk7Ci0gICAgYmI3LnByZWRlY2Vzc29ycy5wdXNoKGJiMyk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJn
KDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDUpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMTYp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygyNCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjcuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMzIpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDQwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg0OCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjcuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoNTYp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxs
QXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNh
bGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUNhbGxBcmcoMzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUNhbGxBcmcoNDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUNhbGxBcmcoNDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUNhbGxBcmcoNTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRy
YUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzLmFkZChS
ZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJjeCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZHgpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcucnNpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnJkaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOSk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy5yMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTApOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMSk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0yKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnhtbTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW01KTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTYpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcueG1tNyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54
bW04KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTkpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTApOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcueG1tMTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTMp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTQpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTUpOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
ID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5E
ZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgYmI3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
UGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsK
LSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0g
W107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjcuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0NjQpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjcuYXBwZW5kKGluc3QpOwotICAgIGJiOC5zdWNjZXNzb3JzLnB1c2gobmV3IEZy
ZXF1ZW50ZWRCbG9jayhiYjEzLCBOb3JtYWwpKTsKLSAgICBiYjguc3VjY2Vzc29ycy5wdXNoKG5l
dyBGcmVxdWVudGVkQmxvY2soYmIxMCwgTm9ybWFsKSk7Ci0gICAgYmI4LnByZWRlY2Vzc29ycy5w
dXNoKGJiNik7Ci0gICAgYmI4LnByZWRlY2Vzc29ycy5wdXNoKGJiNSk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KEJyYW5jaFRlc3Q2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVy
byk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOC5hcHBlbmQoaW5z
dCk7Ci0gICAgYmI5LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTEsIE5v
cm1hbCkpOwotICAgIGJiOS5wcmVkZWNlc3NvcnMucHVzaChiYjcpOwotICAgIGluc3QgPSBuZXcg
SW5zdChKdW1wKTsKLSAgICBiYjkuYXBwZW5kKGluc3QpOwotICAgIGJiMTAuc3VjY2Vzc29ycy5w
dXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxMSwgTm9ybWFsKSk7Ci0gICAgYmIxMC5wcmVkZWNl
c3NvcnMucHVzaChiYjgpOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjEwLmFw
cGVuZChpbnN0KTsKLSAgICBiYjExLnByZWRlY2Vzc29ycy5wdXNoKGJiOSk7Ci0gICAgYmIxMS5w
cmVkZWNlc3NvcnMucHVzaChiYjEwKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChCZWxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4LCA1KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMjApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0
cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogOH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogOH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwo
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05v
bkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBu
ZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChPb3BzKTsK
LSAgICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBiYjEyLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJl
cXVlbnRlZEJsb2NrKGJiMTQsIE5vcm1hbCkpOwotICAgIGJiMTIucHJlZGVjZXNzb3JzLnB1c2go
YmI3KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxMi5hcHBlbmQoaW5zdCk7
Ci0gICAgYmIxMy5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE0LCBOb3Jt
YWwpKTsKLSAgICBiYjEzLnByZWRlY2Vzc29ycy5wdXNoKGJiOCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KEp1bXApOwotICAgIGJiMTMuYXBwZW5kKGluc3QpOwotICAgIGJiMTQucHJlZGVjZXNzb3Jz
LnB1c2goYmIxMik7Ci0gICAgYmIxNC5wcmVkZWNlc3NvcnMucHVzaChiYjEzKTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE0LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoQW5kNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oLTkpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTQuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVx
dWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
SW1tKDIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5w
YXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0
KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgYmIxNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMTQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChSZXQ2NCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMTQuYXBwZW5kKGluc3QpOwotICAgIGJiMTUucHJlZGVjZXNzb3JzLnB1c2goYmIwKTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxMCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNS5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KFJldDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNS5hcHBlbmQoaW5zdCk7Ci0g
ICAgcmV0dXJuIGNvZGU7Ci19CkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNo
L0Fpci9wYXlsb2FkLWdiZW11LWV4ZWN1dGVJdGVyYXRpb24uanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVy
Zm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvcGF5bG9hZC1nYmVtdS1leGVjdXRlSXRl
cmF0aW9uLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBs
ZUJlbmNoL0Fpci9wYXlsb2FkLWdiZW11LWV4ZWN1dGVJdGVyYXRpb24uanMJKG5vbmV4aXN0ZW50
KQpAQCAtMSwzMjI5ICswLDAgQEAKLSJ1c2Ugc3RyaWN0IjsKLS8vIEdlbmVyYXRlZCBieSBBaXI6
OmR1bXBBc0pTIGZyb20gZXhlY3V0ZUl0ZXJhdGlvbiNFVng4cEogaW4gT2N0YW5lL2diZW11Ci1m
dW5jdGlvbiBjcmVhdGVQYXlsb2FkR2JlbXVFeGVjdXRlSXRlcmF0aW9uKCkKLXsKLSAgICBsZXQg
Y29kZSA9IG5ldyBDb2RlKCk7Ci0gICAgbGV0IGJiMCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBs
ZXQgYmIxID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjIgPSBjb2RlLmFkZEJsb2NrKCk7
Ci0gICAgbGV0IGJiMyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI0ID0gY29kZS5hZGRC
bG9jaygpOwotICAgIGxldCBiYjUgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiNiA9IGNv
ZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI3ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBi
YjggPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiOSA9IGNvZGUuYWRkQmxvY2soKTsKLSAg
ICBsZXQgYmIxMCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMSA9IGNvZGUuYWRkQmxv
Y2soKTsKLSAgICBsZXQgYmIxMiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxMyA9IGNv
ZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQg
YmIxNSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxNiA9IGNvZGUuYWRkQmxvY2soKTsK
LSAgICBsZXQgYmIxNyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIxOCA9IGNvZGUuYWRk
QmxvY2soKTsKLSAgICBsZXQgYmIxOSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyMCA9
IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyMSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBs
ZXQgYmIyMiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyMyA9IGNvZGUuYWRkQmxvY2so
KTsKLSAgICBsZXQgYmIyNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyNSA9IGNvZGUu
YWRkQmxvY2soKTsKLSAgICBsZXQgYmIyNiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIy
NyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIyOCA9IGNvZGUuYWRkQmxvY2soKTsKLSAg
ICBsZXQgYmIyOSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzMCA9IGNvZGUuYWRkQmxv
Y2soKTsKLSAgICBsZXQgYmIzMSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzMiA9IGNv
ZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzMyA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQg
YmIzNCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzNSA9IGNvZGUuYWRkQmxvY2soKTsK
LSAgICBsZXQgYmIzNiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzNyA9IGNvZGUuYWRk
QmxvY2soKTsKLSAgICBsZXQgYmIzOCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzOSA9
IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI0MCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBs
ZXQgYmI0MSA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI0MiA9IGNvZGUuYWRkQmxvY2so
KTsKLSAgICBsZXQgc2xvdDAgPSBjb2RlLmFkZFN0YWNrU2xvdCg2NCwgTG9ja2VkKTsKLSAgICBs
ZXQgc2xvdDEgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3QyID0g
Y29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwotICAgIGxldCBzbG90MyA9IGNvZGUuYWRkU3Rh
Y2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xvdDQgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBT
cGlsbCk7Ci0gICAgbGV0IHNsb3Q1ID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwotICAg
IGxldCBzbG90NiA9IGNvZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xvdDcg
PSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3Q4ID0gY29kZS5hZGRT
dGFja1Nsb3QoOCwgU3BpbGwpOwotICAgIGxldCBzbG90OSA9IGNvZGUuYWRkU3RhY2tTbG90KDgs
IFNwaWxsKTsKLSAgICBsZXQgc2xvdDEwID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwot
ICAgIGxldCBzbG90MTEgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNs
b3QxMiA9IGNvZGUuYWRkU3RhY2tTbG90KDQwLCBMb2NrZWQpOwotICAgIHNsb3QxMi5zZXRPZmZz
ZXRGcm9tRlAoLTQwKTsKLSAgICBsZXQgdG1wMTkwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAxODkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE4OCA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMTg3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxODYg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE4NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wMTg0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxODMgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDE4MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
MTgxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxODAgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDE3OSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTc4ID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNzcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDE3NiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTc1ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAxNzQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE3MyA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTcyID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAxNzEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE3MCA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wMTY5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAx
NjggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE2NyA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wMTY2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNjUgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE2NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMTYzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNjIgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDE2MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTYwID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNTkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDE1OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTU3ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXAxNTYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE1
NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTU0ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXAxNTMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE1MiA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTUxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXAxNTAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE0OSA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMTQ4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNDcgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE0NiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wMTQ1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNDQgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDE0MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTQy
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNDEgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDE0MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTM5ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMzggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDEzNyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTM2ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXAxMzUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzNCA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTMzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAxMzIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzMSA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMTMwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMjkg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wMTI3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMjYgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
MTI0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMjMgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDEyMiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTIxID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMjAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDExOSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTE4ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAxMTcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDExNiA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTE1ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAxMTQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDExMyA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wMTEyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAx
MTEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDExMCA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wMTA5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMDggPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwNyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMTA2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMDUgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDEwNCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTAzID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMDIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDEwMSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTAwID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXA5OSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTgg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDk3ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXA5NiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTUgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDk0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5MyA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDkxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5MCA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wODkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDg4ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wODYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDg1ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXA4NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODMgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDgyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXA4MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODAgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDc5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3OCA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDc2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3NSA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wNzQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDczID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wNzEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDcwID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXA2OSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjggPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDY3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXA2NiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjUgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDY0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2MyA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDYxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2MCA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wNTkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU4ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXA1NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
NTYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU1ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXA1NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTMgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDUyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1
MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTAgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDQ5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0OCA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wNDcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ2
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wNDQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQzID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXA0MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDEg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQwID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAzOSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzggPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDM3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzNiA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDM0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMyA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMzIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDMxID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wMjkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI4ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAyNyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjYgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAyNCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjMgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDIyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyMSA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDE5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxOCA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMTcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE2ID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMTQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXAxMiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTEgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXA5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXA3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXA1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXAwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCBmdG1wNyA9IGNvZGUu
bmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDYgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0
bXA1ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNCA9IGNvZGUubmV3VG1wKEZQKTsK
LSAgICBsZXQgZnRtcDMgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAyID0gY29kZS5u
ZXdUbXAoRlApOwotICAgIGxldCBmdG1wMSA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRt
cDAgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGluc3Q7Ci0gICAgbGV0IGFyZzsKLSAgICBi
YjAuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyLCBOb3JtYWwpKTsKLSAg
ICBiYjAuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxLCBOb3JtYWwpKTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgy
ODY5MDQ5NjAsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQWRkcihSZWcucmJwLCAxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJicCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJs
eUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnIx
MSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuU2NyYXRjaCwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVBZGRyKFJlZy5yYnAsIDQwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDIsIC02NTUzNik7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0
Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3Rz
ID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0
Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCA1KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMjEpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3Rz
ID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDh9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDh9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUz
Mik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyODY1MDY1NDQsIDEpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDEw
LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg2
NDU1MTY4LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVN0YWNrKHNsb3Q0LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVCaWdJbW0oMjg3MTMxMzQ0LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q2LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QzLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg2NDc0NTkyLCAxKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QyLCAwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg3MjA5NzI4LCAxKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJj
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNs
b3QxMSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNs
b3QxLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0o
MCwgLTY1NTM2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
QmlnSW1tKDI4NzExMjcyOCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90OCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQmlnSW1tKDAsIDY1NTM2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q5LCAwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg3MTEyNzIwLCAxKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg2NTA2MTky
LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0
YWNrKHNsb3Q3LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlUmVsQ29uZChFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUltbSg4NjIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIw
LmFwcGVuZChpbnN0KTsKLSAgICBiYjEuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxv
Y2soYmI0MSwgTm9ybWFsKSk7Ci0gICAgYmIxLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRl
ZEJsb2NrKGJiMywgTm9ybWFsKSk7Ci0gICAgYmIxLnByZWRlY2Vzc29ycy5wdXNoKGJiMCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQo
Tm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVJbW0oODgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5z
dC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2Ji
ZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcg
U2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMS5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVBZGRyKFJlZy5yYngsIDIyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIxLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoVGVzdDMyKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxLmFwcGVuZChpbnN0KTsKLSAgICBiYjIuc3VjY2Vzc29y
cy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI0MSwgTm9ybWFsKSk7Ci0gICAgYmIyLnN1Y2Nl
c3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMywgTm9ybWFsKSk7Ci0gICAgYmIyLnBy
ZWRlY2Vzc29ycy5wdXNoKGJiMCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDIyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNo
VGVzdDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyLmFwcGVuZChpbnN0KTsKLSAgICBiYjMu
c3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI1LCBOb3JtYWwpKTsKLSAgICBi
YjMuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI0LCBOb3JtYWwpKTsKLSAg
ICBiYjMucHJlZGVjZXNzb3JzLnB1c2goYmIxKTsKLSAgICBiYjMucHJlZGVjZXNzb3JzLnB1c2go
YmI0MCk7Ci0gICAgYmIzLnByZWRlY2Vzc29ycy5wdXNoKGJiMzkpOwotICAgIGJiMy5wcmVkZWNl
c3NvcnMucHVzaChiYjIpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQWRkcihSZWcucmJ4LCA4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucnNpLCAtMTE0NCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJh
bmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEVxdWFsKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzLmFwcGVuZChpbnN0KTsKLSAgICBiYjQuc3VjY2Vzc29y
cy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI2LCBOb3JtYWwpKTsKLSAgICBiYjQuc3VjY2Vz
c29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI3LCBOb3JtYWwpKTsKLSAgICBiYjQucHJl
ZGVjZXNzb3JzLnB1c2goYmIzKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDIpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmI0LmFwcGVuZChpbnN0KTsKLSAgICBiYjUuc3VjY2Vzc29ycy5wdXNoKG5ldyBG
cmVxdWVudGVkQmxvY2soYmI2LCBOb3JtYWwpKTsKLSAgICBiYjUucHJlZGVjZXNzb3JzLnB1c2go
YmIzKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUlt
bSg3KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRy
KFJlZy5yYngsIDIzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjUuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
QWRkcihSZWcucmJ4LCAyNTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
NS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVBZGRyKFJlZy5yYngsIDI0OCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQW5kMzIpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFuZDMy
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDMxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDI0MCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChKdW1wKTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwotICAgIGJiNi5zdWNjZXNzb3Jz
LnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjcsIE5vcm1hbCkpOwotICAgIGJiNi5wcmVkZWNl
c3NvcnMucHVzaChiYjQpOwotICAgIGJiNi5wcmVkZWNlc3NvcnMucHVzaChiYjUpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChBZGQzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgtMSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KEFkZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFk
ZHIoUmVnLnJzaSwgLTExNDQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI2LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmI2LmFwcGVuZChp
bnN0KTsKLSAgICBiYjcuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI4LCBO
b3JtYWwpKTsKLSAgICBiYjcuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI5
LCBOb3JtYWwpKTsKLSAgICBiYjcucHJlZGVjZXNzb3JzLnB1c2goYmI0KTsKLSAgICBiYjcucHJl
ZGVjZXNzb3JzLnB1c2goYmI2KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMjQwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjcuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2gz
Mik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoR3JlYXRlclRoYW4pOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjcuYXBwZW5kKGluc3QpOwotICAgIGJiOC5zdWNjZXNz
b3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjksIE5vcm1hbCkpOwotICAgIGJiOC5wcmVk
ZWNlc3NvcnMucHVzaChiYjcpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlQmlnSW1tKDI4NjQ1NTE2OCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmI4LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyODY0NTUxNjgsIDEpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygyNCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoOCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygxNik7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygyNCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25B
cmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGlu
c3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcucmN4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnJkeCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yc2kpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmRpKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnI4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnI5KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMCk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW0xKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTIp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMyk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW00KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTUpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tNik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW03KTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTgpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW0xMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMSk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMik7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MuYWRkKFJlZy54bW0xNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy54bW0xNSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkRlZiwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4
dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgYmI4LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoSnVtcCk7Ci0gICAgYmI4LmFwcGVuZChpbnN0KTsKLSAgICBiYjkuc3VjY2Vzc29ycy5wdXNo
KG5ldyBGcmVxdWVudGVkQmxvY2soYmIxMiwgTm9ybWFsKSk7Ci0gICAgYmI5LnN1Y2Nlc3NvcnMu
cHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTAsIE5vcm1hbCkpOwotICAgIGJiOS5wcmVkZWNl
c3NvcnMucHVzaChiYjcpOwotICAgIGJiOS5wcmVkZWNlc3NvcnMucHVzaChiYjgpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAz
MDQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI5LmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVn
LnJieCwgMTI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjkuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVBZGRyKFJlZy5yOCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlSW1tKDgwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGlu
c3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjkuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihS
ZWcucjgsIDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOS5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVJlbENvbmQoQWJvdmVPckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4LCAtOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsK
LSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0g
W107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJiOS5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjkuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVn
LnJheCwgUmVnLnJzaSwgOCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmI5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUltbSgxMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI5
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZUNvbmRpdGlvbmFsbHlUZXN0
NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oLTEpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI5LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25a
ZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5l
eHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBiYjkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yY3gsIDUpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyMyk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
ZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNO
b25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDh9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDh9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjkuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcu
cmN4LCAyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI5LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoNjQpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVSZWxDb25kKEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3RhY2soc2xvdDcsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmI5LmFwcGVuZChpbnN0KTsKLSAgICBiYjEwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiMTEsIE5vcm1hbCkpOwotICAgIGJiMTAuc3VjY2Vzc29ycy5wdXNoKG5ldyBG
cmVxdWVudGVkQmxvY2soYmIxMywgTm9ybWFsKSk7Ci0gICAgYmIxMC5wcmVkZWNlc3NvcnMucHVz
aChiYjkpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2g2NCk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVJlbENvbmQoRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MTAsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxMS5zdWNjZXNzb3JzLnB1c2gobmV3IEZy
ZXF1ZW50ZWRCbG9jayhiYjE0LCBOb3JtYWwpKTsKLSAgICBiYjExLnByZWRlY2Vzc29ycy5wdXNo
KGJiMTApOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVN0YWNrKHNsb3QwLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTEu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQWRkcihSZWcucmJ4LCAzNDQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIDApOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg1MDIpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhh
c05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBi
YjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUFkZHIoUmVnLnJkaSwgMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEFib3ZlT3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkaSwgMjQpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0
LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjExLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTG9hZDgpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVJbmRleChSZWcucnNpLCBSZWcucmF4LCAxLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVt
cCk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxMi5zdWNjZXNzb3JzLnB1c2gobmV3
IEZyZXF1ZW50ZWRCbG9jayhiYjE0LCBOb3JtYWwpKTsKLSAgICBiYjEyLnByZWRlY2Vzc29ycy5w
dXNoKGJiOSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3RhY2soc2xvdDAsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIx
Mi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVBZGRyKFJlZy5yYngsIDMzNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIxMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDQ1Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIxMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBh
dGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJs
eUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJiMTIuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZGksIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg1MDIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdF
ZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBiYjEyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkaSwgMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMTIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRj
aCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEFib3ZlT3JFcXVhbCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkaSwg
MjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFF
YXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBiYjEyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TG9hZDgpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbmRleChSZWcucnNpLCBSZWcucmF4LCAxLCAw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEyLmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxMi5hcHBlbmQoaW5zdCk7Ci0gICAg
YmIxMy5wcmVkZWNlc3NvcnMucHVzaChiYjEwKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0
cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMTMuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChPb3BzKTsKLSAgICBiYjEzLmFwcGVuZChpbnN0KTsKLSAgICBi
YjE0LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTUsIE5vcm1hbCkpOwot
ICAgIGJiMTQuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxNiwgTm9ybWFs
KSk7Ci0gICAgYmIxNC5wcmVkZWNlc3NvcnMucHVzaChiYjExKTsKLSAgICBiYjE0LnByZWRlY2Vz
c29ycy5wdXNoKGJiMTIpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQzMik7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIxNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFplcm9FeHRlbmQxNlRvMzIp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIxNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFk
ZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDEyOCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE0LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoQnJhbmNoVGVzdDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29u
ZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVBZGRyKFJlZy5yYngsIDIxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNC5h
cHBlbmQoaW5zdCk7Ci0gICAgYmIxNS5wcmVkZWNlc3NvcnMucHVzaChiYjE0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJn
RWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBiYjE1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoT29wcyk7Ci0gICAgYmIxNS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxNi5zdWNjZXNzb3JzLnB1
c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE4LCBOb3JtYWwpKTsKLSAgICBiYjE2LnN1Y2Nlc3Nv
cnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTcsIE5vcm1hbCkpOwotICAgIGJiMTYucHJl
ZGVjZXNzb3JzLnB1c2goYmIxNCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4LCAtMTc1Mik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZHgsIDE2KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChBYm92ZU9y
RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVBZGRyKFJlZy5yZHgsIDI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5l
eHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChMb2FkOCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUluZGV4KFJl
Zy5yYXgsIFJlZy5yY3gsIDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAyNzIpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg3MTEyNzIwLCAxKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RFcXVh
bCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihS
ZWcucmF4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVJbW0oODApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUJpZ0ltbSgyODcxMTI3MjAsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVh
cmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyODcxMTI3MjgsIDEpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4LCAwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChB
Ym92ZU9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVBZGRyKFJlZy5yYXgsIC04KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0
cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVnLnJheCwgUmVnLnJjeCwgOCwgMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlQ29uZGl0aW9uYWxseVRlc3Q2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJl
c0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUltbSgtMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQmlnSW1tKDI4NzExMjcyMCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygyNCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDMyKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoOCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygxNik7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygyNCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygz
Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNO
b25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmN4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnJkeCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yc2kp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmRpKTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnI4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnI5KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MuYWRkKFJlZy54bW0xKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnht
bTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMyk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW00KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncy5hZGQoUmVnLnhtbTUpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcueG1tNik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW03KTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTgpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW0xMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0x
MSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMik7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMyk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy54bW0xNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW0xNSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkRlZiwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVl
OwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEg
PSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJi
eCwgOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRy
KFJlZy5yZHgsIC0xMDg4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUFkZHIoUmVnLnJieCwgMjcyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMjgwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUnNo
aWZ0MzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJz
aSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGlu
c3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5aRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjE2LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkNjQpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkeCwgLTEwODgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZHgsIC04OCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZHgsIC0xMTc2KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJv
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yMTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTm90RXF1YWwp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVn
LnJjeCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
SW1tKDgwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBp
bnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5l
dyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmN4LCA4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChBYm92
ZU9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVBZGRyKFJlZy5yYXgsIC04KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4
dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbmRleChSZWcucmF4LCBSZWcu
cmR4LCA4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUltbSgxMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmVDb25kaXRpb25hbGx5VGVzdDY0KTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKC0xKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnIxNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjE2LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVj
aWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVs
Q29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQWRkcihSZWcucmF4LCA1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVJbW0oMjMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAg
aW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA4fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJi
MTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUNhbGxBcmcoOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlSW1tKDIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIx
Ni5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlQ2FsbEFyZygyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDMyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygyNCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygzMik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1
ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFFYXJseUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcucmN4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJkeCk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yc2kpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcucmRpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnI4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnI5KTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcueG1tMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTIpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MuYWRkKFJlZy54bW00KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnht
bTUpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNik7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW03KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncy5hZGQoUmVnLnhtbTgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcueG1tOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMCk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMSk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MuYWRkKFJlZy54bW0xMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54
bW0xNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xNSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkRlZiwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFF
YXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
TW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMjcyKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMjgwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJj
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
ZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChSc2hpZnQzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUFkZHIoUmVnLnJieCwgOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIx
Ni5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVBZGRyKFJlZy5yc2ksIC0xMDQ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRp
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJn
RWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuWkRlZiwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRl
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgYmIxNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDY0
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yc2ksIC0xMDQ4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucnNpLCAt
MTA3Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNi5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
UmVsQ29uZChCZWxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MTYuYXBwZW5kKGluc3QpOwotICAgIGJiMTcuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVk
QmxvY2soYmIxOSwgTm9ybWFsKSk7Ci0gICAgYmIxNy5wcmVkZWNlc3NvcnMucHVzaChiYjE2KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoQ29udmVydEludDMyVG9Eb3VibGUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMTcuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjE3
LmFwcGVuZChpbnN0KTsKLSAgICBiYjE4LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJs
b2NrKGJiMTksIE5vcm1hbCkpOwotICAgIGJiMTgucHJlZGVjZXNzb3JzLnB1c2goYmIxNik7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KEFkZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE4LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTY0VG9Eb3VibGUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMTguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjE4
LmFwcGVuZChpbnN0KTsKLSAgICBiYjE5LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJs
b2NrKGJiMjAsIE5vcm1hbCkpOwotICAgIGJiMTkuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVu
dGVkQmxvY2soYmIzMiwgTm9ybWFsKSk7Ci0gICAgYmIxOS5wcmVkZWNlc3NvcnMucHVzaChiYjE3
KTsKLSAgICBiYjE5LnByZWRlY2Vzc29ycy5wdXNoKGJiMTgpOwotICAgIGluc3QgPSBuZXcgSW5z
dChDb252ZXJ0SW50MzJUb0RvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRp
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxOS5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZERvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIx
OS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmVEb3VibGVUbzY0KTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjE5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgwLCA2NTUzNik7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KEFkZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yc2ksIC0x
MDcyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTkuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcu
cnNpLCAtMTA4MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxOS5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1
ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
ID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5aRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBiYjE5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
QWRkNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJzaSwgLTEw
ODApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxOS5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRlc3QzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJl
c0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQWRkcihSZWcucnNpLCAtMTEwNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIxOS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyMC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50
ZWRCbG9jayhiYjIxLCBOb3JtYWwpKTsKLSAgICBiYjIwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJl
cXVlbnRlZEJsb2NrKGJiMzIsIE5vcm1hbCkpOwotICAgIGJiMjAucHJlZGVjZXNzb3JzLnB1c2go
YmIxOSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVB
ZGRyKFJlZy5yc2ksIC0xMDk2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVj
dHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlpEZWYsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJiMjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcu
cnNpLCAtMTA5Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIwLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFk
ZHIoUmVnLnJzaSwgLTExMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2gzMik7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVJlbENvbmQoR3JlYXRlclRoYW5PckVxdWFsKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyMS5zdWNj
ZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIzLCBOb3JtYWwpKTsKLSAgICBiYjIx
LnByZWRlY2Vzc29ycy5wdXNoKGJiMjApOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAzNDQpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMjEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQ
YXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yMTIsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg1MDIpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEy
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJn
RWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIyMS5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5y
MTIsIDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIxLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
QWRkcihSZWcucjEyLCAyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIx
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlUmVsQ29uZChCZWxvd09yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjkpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg2NTI4Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGlu
c3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBi
YjIxLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMjMyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjIxLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMjU2KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMjEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChK
dW1wKTsKLSAgICBiYjIxLmFwcGVuZChpbnN0KTsKLSAgICBiYjIyLnN1Y2Nlc3NvcnMucHVzaChu
ZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjMsIE5vcm1hbCkpOwotICAgIGJiMjIucHJlZGVjZXNzb3Jz
LnB1c2goYmIzMCk7Ci0gICAgYmIyMi5wcmVkZWNlc3NvcnMucHVzaChiYjMxKTsKLSAgICBiYjIy
LnByZWRlY2Vzc29ycy5wdXNoKGJiMjkpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIyMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXAp
OwotICAgIGJiMjIuYXBwZW5kKGluc3QpOwotICAgIGJiMjMuc3VjY2Vzc29ycy5wdXNoKG5ldyBG
cmVxdWVudGVkQmxvY2soYmIyNSwgTm9ybWFsKSk7Ci0gICAgYmIyMy5zdWNjZXNzb3JzLnB1c2go
bmV3IEZyZXF1ZW50ZWRCbG9jayhiYjI0LCBOb3JtYWwpKTsKLSAgICBiYjIzLnByZWRlY2Vzc29y
cy5wdXNoKGJiMjEpOwotICAgIGJiMjMucHJlZGVjZXNzb3JzLnB1c2goYmIyMik7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZs
b3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJs
eUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
WkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIzLmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoQWRkNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yMTQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUFkZHIoUmVnLnJzaSwgLTEwOTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KExvYWQ4KTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlQWRkcihSZWcucmRpLCA2NTI4NSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUz
Mik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
UGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEzKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdF
ZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZVpEZWYsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBiYjIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoMzIp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEJlbG93T3JFcXVhbCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDY1Mjg1KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAgIGJiMjQuc3Vj
Y2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyNiwgTm9ybWFsKSk7Ci0gICAgYmIy
NC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMwLCBOb3JtYWwpKTsKLSAg
ICBiYjI0LnByZWRlY2Vzc29ycy5wdXNoKGJiMjMpOwotICAgIGluc3QgPSBuZXcgSW5zdChTdG9y
ZTgpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmRpLCA2NTI4NSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEVxdWFsKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIx
Myk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDI1
Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAg
ICBiYjI1LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjYsIE5vcm1hbCkp
OwotICAgIGJiMjUuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzMCwgTm9y
bWFsKSk7Ci0gICAgYmIyNS5wcmVkZWNlc3NvcnMucHVzaChiYjIzKTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEVxdWFsKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDI1Nik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI1LmFwcGVuZChpbnN0KTsKLSAgICBi
YjI2LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjgsIE5vcm1hbCkpOwot
ICAgIGJiMjYuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyNywgTm9ybWFs
KSk7Ci0gICAgYmIyNi5wcmVkZWNlc3NvcnMucHVzaChiYjI0KTsKLSAgICBiYjI2LnByZWRlY2Vz
c29ycy5wdXNoKGJiMjUpOwotICAgIGluc3QgPSBuZXcgSW5zdChMb2FkOCk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUFkZHIoUmVnLnJkaSwgNjUyODYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMjYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2gz
Mik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQmVsb3dPckVxdWFsKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI5KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNjUyODUpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNi5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyNy5z
dWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjI4LCBOb3JtYWwpKTsKLSAgICBi
YjI3LnByZWRlY2Vzc29ycy5wdXNoKGJiMjYpOwotICAgIGluc3QgPSBuZXcgSW5zdChTdG9yZTgp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmRpLCA2NTI4NSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoSnVtcCk7Ci0gICAgYmIyNy5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyOC5zdWNjZXNzb3Jz
LnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjI5LCBOb3JtYWwpKTsKLSAgICBiYjI4LnN1Y2Nl
c3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzEsIE5vcm1hbCkpOwotICAgIGJiMjgu
cHJlZGVjZXNzb3JzLnB1c2goYmIyNik7Ci0gICAgYmIyOC5wcmVkZWNlc3NvcnMucHVzaChiYjI3
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIo
UmVnLnJieCwgMjQ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI4LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoT3IzMik7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUltbSg0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI4LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjgu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIyOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAyNDgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIyOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIyOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRl
c3Q2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEzKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjguYXBwZW5kKGluc3QpOwotICAgIGJiMjku
c3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyMiwgTm9ybWFsKSk7Ci0gICAg
YmIyOS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMyLCBOb3JtYWwpKTsK
LSAgICBiYjI5LnByZWRlY2Vzc29ycy5wdXNoKGJiMjgpOwotICAgIGluc3QgPSBuZXcgSW5zdChB
bmQzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoQW5kMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMzEpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4
LCAyNDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyOS5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVs
Q29uZChHcmVhdGVyVGhhbk9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjI5LmFwcGVuZChpbnN0KTsKLSAgICBiYjMwLnN1Y2Nlc3NvcnMucHVzaChuZXcg
RnJlcXVlbnRlZEJsb2NrKGJiMjIsIE5vcm1hbCkpOwotICAgIGJiMzAuc3VjY2Vzc29ycy5wdXNo
KG5ldyBGcmVxdWVudGVkQmxvY2soYmIzMiwgTm9ybWFsKSk7Ci0gICAgYmIzMC5wcmVkZWNlc3Nv
cnMucHVzaChiYjI0KTsKLSAgICBiYjMwLnByZWRlY2Vzc29ycy5wdXNoKGJiMjUpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChCcmFuY2gzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoR3Jl
YXRlclRoYW5PckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIzMC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzMS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50
ZWRCbG9jayhiYjIyLCBOb3JtYWwpKTsKLSAgICBiYjMxLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJl
cXVlbnRlZEJsb2NrKGJiMzIsIE5vcm1hbCkpOwotICAgIGJiMzEucHJlZGVjZXNzb3JzLnB1c2go
YmIyOCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlUmVsQ29uZChHcmVhdGVyVGhhbk9yRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjMxLmFwcGVuZChpbnN0KTsKLSAgICBiYjMyLnN1Y2Nlc3NvcnMucHVz
aChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzMsIE5vcm1hbCkpOwotICAgIGJiMzIuc3VjY2Vzc29y
cy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzNCwgTm9ybWFsKSk7Ci0gICAgYmIzMi5wcmVk
ZWNlc3NvcnMucHVzaChiYjE5KTsKLSAgICBiYjMyLnByZWRlY2Vzc29ycy5wdXNoKGJiMjApOwot
ICAgIGJiMzIucHJlZGVjZXNzb3JzLnB1c2goYmIzMCk7Ci0gICAgYmIzMi5wcmVkZWNlc3NvcnMu
cHVzaChiYjMxKTsKLSAgICBiYjMyLnByZWRlY2Vzc29ycy5wdXNoKGJiMjkpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucnNpLCAtMTEy
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzMi5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVs
Q29uZChHcmVhdGVyVGhhbik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUltbSgwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzIu
YXBwZW5kKGluc3QpOwotICAgIGJiMzMucHJlZGVjZXNzb3JzLnB1c2goYmIzMik7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJi
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZm
ZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQo
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgYmIzMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE9vcHMpOwotICAgIGJi
MzMuYXBwZW5kKGluc3QpOwotICAgIGJiMzQuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVk
QmxvY2soYmIzNiwgTm9ybWFsKSk7Ci0gICAgYmIzNC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1
ZW50ZWRCbG9jayhiYjM1LCBOb3JtYWwpKTsKLSAgICBiYjM0LnByZWRlY2Vzc29ycy5wdXNoKGJi
MzIpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRk
cihSZWcucmJ4LCAxMzYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzQu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2g2NCk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVJlbENvbmQoQmVsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBiYjM1LnN1Y2Nlc3NvcnMucHVzaChuZXcg
RnJlcXVlbnRlZEJsb2NrKGJiMzcsIE5vcm1hbCkpOwotICAgIGJiMzUuc3VjY2Vzc29ycy5wdXNo
KG5ldyBGcmVxdWVudGVkQmxvY2soYmIzOCwgTm9ybWFsKSk7Ci0gICAgYmIzNS5wcmVkZWNlc3Nv
cnMucHVzaChiYjM0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQ29udmVydEludDMyVG9Eb3VibGUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMzUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChC
cmFuY2hEb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVEb3VibGVDb25kKERvdWJsZUdyZWF0
ZXJUaGFuT3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIzNS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzNi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50
ZWRCbG9jayhiYjM3LCBOb3JtYWwpKTsKLSAgICBiYjM2LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJl
cXVlbnRlZEJsb2NrKGJiMzgsIE5vcm1hbCkpOwotICAgIGJiMzYucHJlZGVjZXNzb3JzLnB1c2go
YmIzNCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM2
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTY0VG9Eb3VibGUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMzYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hE
b3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVEb3VibGVDb25kKERvdWJsZUdyZWF0ZXJUaGFu
T3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnhtbTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNi5h
cHBlbmQoaW5zdCk7Ci0gICAgYmIzNy5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9j
ayhiYjM4LCBOb3JtYWwpKTsKLSAgICBiYjM3LnByZWRlY2Vzc29ycy5wdXNoKGJiMzUpOwotICAg
IGJiMzcucHJlZGVjZXNzb3JzLnB1c2goYmIzNik7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg2NDc0NTkyLCAxKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgyODY0NzQ1OTIsIDEpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzcuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmco
OCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM3LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMTYp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzNy5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygy
NCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM3LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVD
YWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBp
bnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5l
dyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJjeCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZHgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcucnNpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJkaSk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy5yMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTApOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MuYWRkKFJlZy54bW0yKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnht
bTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNCk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW01KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncy5hZGQoUmVnLnhtbTYpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcueG1tNyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW04KTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTkpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
LmFkZChSZWcueG1tMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1t
MTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTMpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTQpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcueG1tMTUpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5EZWYsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjM3LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0
cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjM3LmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIzNy5hcHBlbmQoaW5zdCk7Ci0gICAg
YmIzOC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjM5LCBOb3JtYWwpKTsK
LSAgICBiYjM4LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNDAsIE5vcm1h
bCkpOwotICAgIGJiMzgucHJlZGVjZXNzb3JzLnB1c2goYmIzNSk7Ci0gICAgYmIzOC5wcmVkZWNl
c3NvcnMucHVzaChiYjM3KTsKLSAgICBiYjM4LnByZWRlY2Vzc29ycy5wdXNoKGJiMzYpOwotICAg
IGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5v
dEVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVB
ZGRyKFJlZy5yYngsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUltbSg4ODEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBp
bnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xv
YmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5l
dyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIz
OC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVBZGRyKFJlZy5yYngsIDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMzguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmR4LCAtMTgyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIzOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjM4LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0Vm
ZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0
KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlWkRlZiwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJiMzguYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOC5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDY0KTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjM4LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yZHgsIC0xODI0KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMzguYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3Zl
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmR4LCAtMTgzMik7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChHcmVhdGVyVGhh
bik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzguYXBwZW5kKGlu
c3QpOwotICAgIGJiMzkuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI0Miwg
Tm9ybWFsKSk7Ci0gICAgYmIzOS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhi
YjMsIE5vcm1hbCkpOwotICAgIGJiMzkucHJlZGVjZXNzb3JzLnB1c2goYmIzOCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg2NDc0NTky
LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM5LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0lt
bSgyODY0NzQ1OTIsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzku
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUNhbGxBcmcoOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM5
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlQ2FsbEFyZygyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM5
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAg
aW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRS
ZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJj
eCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZHgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucnNpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnJkaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5y
OCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yOSk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnht
bTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMSk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0yKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncy5hZGQoUmVnLnhtbTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcueG1tNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW01KTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTYpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW04KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTkp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTApOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcueG1tMTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcueG1tMTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTQpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTUpOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5EZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjM5LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVT
cGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhh
c05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBi
YjM5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgMjI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjM5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoT3IzMik7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjM5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMzkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAyMjQpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMjg3MTMxMzQ0LCAx
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM5LmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgy
ODcxMzEzNDQsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzkuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUNhbGxBcmcoOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM5LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlSW1tKDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzOS5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVCaWdJbW0oMjg3MjA5NzI4LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjM5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMzkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygxNik7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygyNCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1
ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFFYXJseUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcucmN4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJkeCk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yc2kpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcucmRpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5h
ZGQoUmVnLnI4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnI5KTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcueG1tMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTIpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MuYWRkKFJlZy54bW00KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnht
bTUpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNik7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW03KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncy5hZGQoUmVnLnhtbTgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcueG1tOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMCk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMSk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MuYWRkKFJlZy54bW0xMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54
bW0xNCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xNSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkRlZiwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMzku
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0
LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGJiMzkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAyMjQpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMzkuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChC
cmFuY2hUZXN0MzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM5LmFwcGVuZChpbnN0KTsKLSAg
ICBiYjQwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNDIsIE5vcm1hbCkp
OwotICAgIGJiNDAuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzLCBOb3Jt
YWwpKTsKLSAgICBiYjQwLnByZWRlY2Vzc29ycy5wdXNoKGJiMzgpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAyMjQpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNDAuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0MzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25k
KE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjQwLmFw
cGVuZChpbnN0KTsKLSAgICBiYjQxLnByZWRlY2Vzc29ycy5wdXNoKGJiMSk7Ci0gICAgYmI0MS5w
cmVkZWNlc3NvcnMucHVzaChiYjIpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlSW1tKDEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjQxLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUmV0NjQpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjQxLmFwcGVuZChpbnN0KTsKLSAgICBiYjQyLnByZWRlY2Vzc29ycy5wdXNoKGJiNDApOwot
ICAgIGJiNDIucHJlZGVjZXNzb3JzLnB1c2goYmIzOSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiNDIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChSZXQ2
NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiNDIuYXBwZW5kKGluc3QpOwotICAgIHJldHVybiBjb2RlOwotfQpJbmRl
eDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvcGF5bG9hZC1pbWFnaW5nLWdh
dXNzaWFuLWJsdXItZ2F1c3NpYW5CbHVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVz
dHMvRVM2U2FtcGxlQmVuY2gvQWlyL3BheWxvYWQtaW1hZ2luZy1nYXVzc2lhbi1ibHVyLWdhdXNz
aWFuQmx1ci5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1w
bGVCZW5jaC9BaXIvcGF5bG9hZC1pbWFnaW5nLWdhdXNzaWFuLWJsdXItZ2F1c3NpYW5CbHVyLmpz
CShub25leGlzdGVudCkKQEAgLTEsMzEwNyArMCwwIEBACi0idXNlIHN0cmljdCI7Ci0vLyBHZW5l
cmF0ZWQgYnkgQWlyOjpkdW1wQXNKUyBmcm9tIGdhdXNzaWFuQmx1ciNBOHZjWWcgaW4gS3Jha2Vu
L2ltYWdpbmctZ2F1c3NpYW4tYmx1cgotZnVuY3Rpb24gY3JlYXRlUGF5bG9hZEltYWdpbmdHYXVz
c2lhbkJsdXJHYXVzc2lhbkJsdXIoKQotewotICAgIGxldCBjb2RlID0gbmV3IENvZGUoKTsKLSAg
ICBsZXQgYmIwID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjEgPSBjb2RlLmFkZEJsb2Nr
KCk7Ci0gICAgbGV0IGJiMiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzID0gY29kZS5h
ZGRCbG9jaygpOwotICAgIGxldCBiYjQgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiNSA9
IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI2ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxl
dCBiYjcgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiOCA9IGNvZGUuYWRkQmxvY2soKTsK
LSAgICBsZXQgYmI5ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjEwID0gY29kZS5hZGRC
bG9jaygpOwotICAgIGxldCBiYjExID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjEyID0g
Y29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjEzID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxl
dCBiYjE0ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjE1ID0gY29kZS5hZGRCbG9jaygp
OwotICAgIGxldCBiYjE2ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjE3ID0gY29kZS5h
ZGRCbG9jaygpOwotICAgIGxldCBiYjE4ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjE5
ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjIwID0gY29kZS5hZGRCbG9jaygpOwotICAg
IGxldCBiYjIxID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjIyID0gY29kZS5hZGRCbG9j
aygpOwotICAgIGxldCBiYjIzID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjI0ID0gY29k
ZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjI1ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBi
YjI2ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjI3ID0gY29kZS5hZGRCbG9jaygpOwot
ICAgIGxldCBiYjI4ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjI5ID0gY29kZS5hZGRC
bG9jaygpOwotICAgIGxldCBiYjMwID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjMxID0g
Y29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjMyID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxl
dCBiYjMzID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjM0ID0gY29kZS5hZGRCbG9jaygp
OwotICAgIGxldCBiYjM1ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjM2ID0gY29kZS5h
ZGRCbG9jaygpOwotICAgIGxldCBzbG90MCA9IGNvZGUuYWRkU3RhY2tTbG90KDQwLCBMb2NrZWQp
OwotICAgIGxldCBzbG90MSA9IGNvZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQg
c2xvdDIgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3QzID0gY29k
ZS5hZGRTdGFja1Nsb3QoNCwgU3BpbGwpOwotICAgIGxldCBzbG90NCA9IGNvZGUuYWRkU3RhY2tT
bG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xvdDUgPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBTcGls
bCk7Ci0gICAgbGV0IHNsb3Q2ID0gY29kZS5hZGRTdGFja1Nsb3QoNDAsIExvY2tlZCk7Ci0gICAg
c2xvdDYuc2V0T2Zmc2V0RnJvbUZQKC00MCk7Ci0gICAgbGV0IHRtcDE0MSA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMTQwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMzkg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wMTM3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMzYgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDEzNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
MTM0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMzMgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDEzMiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTMxID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMzAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDEyOSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTI4ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAxMjcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyNiA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTI1ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAxMjQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyMyA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wMTIyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAx
MjEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyMCA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wMTE5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMTggPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDExNyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMTE2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMTUgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDExNCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTEzID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMTIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDExMSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTEwID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXAxMDkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEw
OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTA3ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXAxMDYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwNSA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTA0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXAxMDMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEwMiA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMTAxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMDAgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDk5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXA5OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTcgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDk2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5NSA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDkzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5MiA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wOTEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDkwID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4OSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wODggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDg3ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXA4NiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODUgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDg0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXA4MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODIgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDgxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4MCA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDc4ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3NyA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wNzYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDc1ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXA3NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
NzMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDcyID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXA3MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzAgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDY5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2
OCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjcgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDY2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2NSA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wNjQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDYz
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wNjEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDYwID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXA1OSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTgg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU3ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXA1NiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTUgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDU0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1MyA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDUxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1MCA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wNDkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ4ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wNDYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ1ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXA0NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDMgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXA0MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDAgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDM5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzOCA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDM2ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzNSA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMzQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDMzID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMzEgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDMwID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXAyOSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjggPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXAyNiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjUgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDI0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyMyA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDIxID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyMCA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wMTkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE4ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
MTYgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE1ID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXAxNCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTMgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDEyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAx
MSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTAgPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDggPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDYgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDMgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDEgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IGZ0bXA3
NCA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDczID0gY29kZS5uZXdUbXAoRlApOwot
ICAgIGxldCBmdG1wNzIgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA3MSA9IGNvZGUu
bmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDcwID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBm
dG1wNjkgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA2OCA9IGNvZGUubmV3VG1wKEZQ
KTsKLSAgICBsZXQgZnRtcDY3ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNjYgPSBj
b2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA2NSA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBs
ZXQgZnRtcDY0ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNjMgPSBjb2RlLm5ld1Rt
cChGUCk7Ci0gICAgbGV0IGZ0bXA2MiA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDYx
ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNjAgPSBjb2RlLm5ld1RtcChGUCk7Ci0g
ICAgbGV0IGZ0bXA1OSA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDU4ID0gY29kZS5u
ZXdUbXAoRlApOwotICAgIGxldCBmdG1wNTcgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0
bXA1NiA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDU1ID0gY29kZS5uZXdUbXAoRlAp
OwotICAgIGxldCBmdG1wNTQgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA1MyA9IGNv
ZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDUyID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxl
dCBmdG1wNTEgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA1MCA9IGNvZGUubmV3VG1w
KEZQKTsKLSAgICBsZXQgZnRtcDQ5ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNDgg
PSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA0NyA9IGNvZGUubmV3VG1wKEZQKTsKLSAg
ICBsZXQgZnRtcDQ2ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNDUgPSBjb2RlLm5l
d1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA0NCA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRt
cDQzID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNDIgPSBjb2RlLm5ld1RtcChGUCk7
Ci0gICAgbGV0IGZ0bXA0MSA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDQwID0gY29k
ZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMzkgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0
IGZ0bXAzOCA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDM3ID0gY29kZS5uZXdUbXAo
RlApOwotICAgIGxldCBmdG1wMzYgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAzNSA9
IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDM0ID0gY29kZS5uZXdUbXAoRlApOwotICAg
IGxldCBmdG1wMzMgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAzMiA9IGNvZGUubmV3
VG1wKEZQKTsKLSAgICBsZXQgZnRtcDMxID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1w
MzAgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAyOSA9IGNvZGUubmV3VG1wKEZQKTsK
LSAgICBsZXQgZnRtcDI4ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMjcgPSBjb2Rl
Lm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAyNiA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQg
ZnRtcDI1ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMjQgPSBjb2RlLm5ld1RtcChG
UCk7Ci0gICAgbGV0IGZ0bXAyMyA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDIyID0g
Y29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMjEgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAg
bGV0IGZ0bXAyMCA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDE5ID0gY29kZS5uZXdU
bXAoRlApOwotICAgIGxldCBmdG1wMTggPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAx
NyA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDE2ID0gY29kZS5uZXdUbXAoRlApOwot
ICAgIGxldCBmdG1wMTUgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAxNCA9IGNvZGUu
bmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDEzID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBm
dG1wMTIgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAxMSA9IGNvZGUubmV3VG1wKEZQ
KTsKLSAgICBsZXQgZnRtcDEwID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wOSA9IGNv
ZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgZnRtcDggPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0
IGZ0bXA3ID0gY29kZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wNiA9IGNvZGUubmV3VG1wKEZQ
KTsKLSAgICBsZXQgZnRtcDUgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXA0ID0gY29k
ZS5uZXdUbXAoRlApOwotICAgIGxldCBmdG1wMyA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQg
ZnRtcDIgPSBjb2RlLm5ld1RtcChGUCk7Ci0gICAgbGV0IGZ0bXAxID0gY29kZS5uZXdUbXAoRlAp
OwotICAgIGxldCBmdG1wMCA9IGNvZGUubmV3VG1wKEZQKTsKLSAgICBsZXQgaW5zdDsKLSAgICBs
ZXQgYXJnOwotICAgIGJiMC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIs
IE5vcm1hbCkpOwotICAgIGJiMC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhi
YjEsIFJhcmUpKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUJpZ0ltbSgxNDQzMDU5MDQsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJwLCAxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJicCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGlu
c3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEp
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuU2NyYXRjaCwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTQyNTQ3MTY4LCAxKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4LCAwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTQyNTQ3
MTg0LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRk
cihSZWcucmF4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlQmlnSW1tKDE0MjU0NzE5MiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxNDI1NDcyMDAsIDEpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYXgsIDApOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTQyNTQ3MjA4LCAxKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4
LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1t
KDE0MjU0NzIxNiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUFkZHIoUmVnLnJheCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUJpZ0ltbSgxNDI1NDcyMjQsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYXgsIDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTQyNTQ3MjMyLCAxKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4LCAwKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE0MjU0NzI0
MCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIo
UmVnLnJkaSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUJpZ0ltbSgwLCAtNjU1MzYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDY0KTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmU2NFRvRG91Ymxl
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJy
YW5jaERvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZURvdWJsZUNvbmQoRG91YmxlRXF1YWwp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
eG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5z
dCk7Ci0gICAgYmIxLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMiwgTm9y
bWFsKSk7Ci0gICAgYmIxLnByZWRlY2Vzc29ycy5wdXNoKGJiMCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQmVsb3cpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
MTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNr
KHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAg
IGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBiYjEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChDb252
ZXJ0SW50MzJUb0RvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxLmFwcGVuZChpbnN0KTsKLSAgICBiYjIuc3Vj
Y2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI0LCBOb3JtYWwpKTsKLSAgICBiYjIu
c3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzLCBSYXJlKSk7Ci0gICAgYmIy
LnByZWRlY2Vzc29ycy5wdXNoKGJiMCk7Ci0gICAgYmIyLnByZWRlY2Vzc29ycy5wdXNoKGJiMSk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lh
bCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENv
bmQoQmVsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0Vm
ZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0
KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjIuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEJlbG93
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0g
dHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChCZWxvdyk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRp
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Rh
Y2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0g
ICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtd
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGJiMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFk
ZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmU2NFRvRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0z
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMi5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KEJyYW5jaERvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZURvdWJs
ZUNvbmQoRG91YmxlRXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMi5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiNCwgTm9ybWFsKSk7Ci0gICAgYmIzLnByZWRlY2Vzc29ycy5wdXNoKGJiMik7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lh
bCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENv
bmQoQmVsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0Vm
ZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0
KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjMuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChDb252ZXJ0SW50MzJUb0RvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIzLmFwcGVuZChp
bnN0KTsKLSAgICBiYjQuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI2LCBO
b3JtYWwpKTsKLSAgICBiYjQuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI1
LCBSYXJlKSk7Ci0gICAgYmI0LnByZWRlY2Vzc29ycy5wdXNoKGJiMik7Ci0gICAgYmI0LnByZWRl
Y2Vzc29ycy5wdXNoKGJiMyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDY0KTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmU2NFRvRG91
YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KEJyYW5jaERvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZURvdWJsZUNvbmQoRG91YmxlRXF1
YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNC5hcHBlbmQo
aW5zdCk7Ci0gICAgYmI1LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNiwg
Tm9ybWFsKSk7Ci0gICAgYmI1LnByZWRlY2Vzc29ycy5wdXNoKGJiNCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQmVsb3cpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJk
aSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0
YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwot
ICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBb
XTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChD
b252ZXJ0SW50MzJUb0RvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnht
bTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBiYjYu
c3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI4LCBOb3JtYWwpKTsKLSAgICBi
YjYuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmI3LCBSYXJlKSk7Ci0gICAg
YmI2LnByZWRlY2Vzc29ycy5wdXNoKGJiNCk7Ci0gICAgYmI2LnByZWRlY2Vzc29ycy5wdXNoKGJi
NSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Bl
Y2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJl
bENvbmQoQmVsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJh
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFy
Z0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcg
U2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjYuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlNjRUb0RvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjYu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hEb3VibGUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVEb3VibGVDb25kKERvdWJsZUVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3QpOwotICAgIGJiNy5zdWNjZXNz
b3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjgsIE5vcm1hbCkpOwotICAgIGJiNy5wcmVk
ZWNlc3NvcnMucHVzaChiYjYpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVSZWxDb25kKEJlbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJk
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGlu
c3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmI3LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQ29udmVydEludDMyVG9Eb3VibGUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXAp
OwotICAgIGJiNy5hcHBlbmQoaW5zdCk7Ci0gICAgYmI4LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJl
cXVlbnRlZEJsb2NrKGJiMTAsIE5vcm1hbCkpOwotICAgIGJiOC5zdWNjZXNzb3JzLnB1c2gobmV3
IEZyZXF1ZW50ZWRCbG9jayhiYjksIFJhcmUpKTsKLSAgICBiYjgucHJlZGVjZXNzb3JzLnB1c2go
YmI2KTsKLSAgICBiYjgucHJlZGVjZXNzb3JzLnB1c2goYmI3KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxMTcwNzY0ODgsIDEpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI4LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnI4LCAwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI5
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiOC5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KEFkZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
ZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI4LmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTY0VG9Eb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnhtbTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI4LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoRG91YmxlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlRG91YmxlQ29uZChEb3VibGVFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW02KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTYpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmI4LmFwcGVuZChpbnN0KTsKLSAgICBiYjkuc3VjY2Vzc29y
cy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxMCwgTm9ybWFsKSk7Ci0gICAgYmI5LnByZWRl
Y2Vzc29ycy5wdXNoKGJiOCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVJlbENvbmQoQmVsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI5KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3Qu
cGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmI5LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQ29udmVydEludDMyVG9Eb3VibGUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI5KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmI5LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0g
ICAgYmI5LmFwcGVuZChpbnN0KTsKLSAgICBiYjEwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiMTgsIE5vcm1hbCkpOwotICAgIGJiMTAucHJlZGVjZXNzb3JzLnB1c2goYmI4
KTsKLSAgICBiYjEwLnByZWRlY2Vzc29ycy5wdXNoKGJiOSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTQ0NTA2NTg0LCAxKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkaSwgMCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
OSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEwLmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcu
cjksIC04KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTAuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmln
SW1tKDE0NDUwNjU0NCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIx
MC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVJlbENvbmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkaSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDgwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTQ0NTA2NTQ0LCAxKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFy
bHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
YmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVCaWdJbW0oMTQ0NTA2NTUyLCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjEwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkaSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDIsIDApOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkaSwgLTgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTAuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Rh
Y2soc2xvdDMsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmVaZXJvVG9Eb3VibGUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTcpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVJbW0oMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVN0YWNrKHNsb3Q0LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMTAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlQmlnSW1tKDIsIC02NTUzNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwot
ICAgIGJiMTAuYXBwZW5kKGluc3QpOwotICAgIGJiMTEuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVx
dWVudGVkQmxvY2soYmIxMywgTm9ybWFsKSk7Ci0gICAgYmIxMS5wcmVkZWNlc3NvcnMucHVzaChi
YjM1KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZUltbSgwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7
Ci0gICAgYmIxMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjEzLCBOb3Jt
YWwpKTsKLSAgICBiYjEyLnByZWRlY2Vzc29ycy5wdXNoKGJiMzQpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMTIuYXBwZW5kKGluc3QpOwotICAgIGJiMTMuc3VjY2Vz
c29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxNSwgTm9ybWFsKSk7Ci0gICAgYmIxMy5w
cmVkZWNlc3NvcnMucHVzaChiYjExKTsKLSAgICBiYjEzLnByZWRlY2Vzc29ycy5wdXNoKGJiMTIp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKC02
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEzLmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZURvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tNyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTMuYXBw
ZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlRG91YmxlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy54bW03KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIxMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmVEb3VibGUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTcpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjEzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZURvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNyk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChKdW1wKTsKLSAgICBiYjEzLmFwcGVuZChpbnN0KTsKLSAgICBiYjE0LnN1Y2Nlc3Nv
cnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTUsIE5vcm1hbCkpOwotICAgIGJiMTQucHJl
ZGVjZXNzb3JzLnB1c2goYmIzMSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjE0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0g
ICAgYmIxNC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxNS5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1
ZW50ZWRCbG9jayhiYjI4LCBOb3JtYWwpKTsKLSAgICBiYjE1LnN1Y2Nlc3NvcnMucHVzaChuZXcg
RnJlcXVlbnRlZEJsb2NrKGJiMTYsIE5vcm1hbCkpOwotICAgIGJiMTUucHJlZGVjZXNzb3JzLnB1
c2goYmIxMyk7Ci0gICAgYmIxNS5wcmVkZWNlc3NvcnMucHVzaChiYjE0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRy
dWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuWkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5M
YXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xk
VXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIxNS5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChM
ZXNzVGhhbik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUltbSgwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTUuYXBwZW5kKGlu
c3QpOwotICAgIGJiMTYuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyOSwg
Tm9ybWFsKSk7Ci0gICAgYmIxNi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhi
YjE3LCBOb3JtYWwpKTsKLSAgICBiYjE2LnByZWRlY2Vzc29ycy5wdXNoKGJiMTUpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChCcmFuY2gzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoR3Jl
YXRlclRoYW5PckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlSW1tKDI2Nyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE2
LmFwcGVuZChpbnN0KTsKLSAgICBiYjE3LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJs
b2NrKGJiMTgsIE5vcm1hbCkpOwotICAgIGJiMTcucHJlZGVjZXNzb3JzLnB1c2goYmIxNik7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJj
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNy5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oLTYp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTcuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjE3LmFwcGVuZChpbnN0KTsKLSAgICBi
YjE4LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjAsIE5vcm1hbCkpOwot
ICAgIGJiMTguc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxOSwgUmFyZSkp
OwotICAgIGJiMTgucHJlZGVjZXNzb3JzLnB1c2goYmIxMCk7Ci0gICAgYmIxOC5wcmVkZWNlc3Nv
cnMucHVzaChiYjE3KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVTdGFjayhzbG90MSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjE4LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xv
dDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0
cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlpEZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5
cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
TGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29s
ZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMTguYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE92
ZXJmbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlSW1tKDQwMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3QxLCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdF
ZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5aRGVmLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVD
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNl
LCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0
fSk7Ci0gICAgYmIxOC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRl
c3QzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjExKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTguYXBwZW5kKGluc3QpOwotICAgIGJiMTku
c3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyMCwgTm9ybWFsKSk7Ci0gICAg
YmIxOS5wcmVkZWNlc3NvcnMucHVzaChiYjE4KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChMZXNzVGhhbik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgwKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90
MSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRy
YUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAs
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBiYjE5LmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxOS5hcHBlbmQoaW5z
dCk7Ci0gICAgYmIyMC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIyLCBO
b3JtYWwpKTsKLSAgICBiYjIwLnByZWRlY2Vzc29ycy5wdXNoKGJiMTgpOwotICAgIGJiMjAucHJl
ZGVjZXNzb3JzLnB1c2goYmIxOSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUnNoaWZ0MzIp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMzEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQzMik7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KFhvcjMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChMZXNzVGhhbik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
ZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhz
bG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVTdGFjayhzbG90MSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7
Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9
IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBG
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsK
LSAgICBiYjIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChBYm92ZU9yRXF1YWwpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MywgMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDAp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
eG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3Rh
Y2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGlu
c3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIy
MC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVTdGFjayhzbG90MiwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVJbmRleChSZWcucnNpLCBSZWcucmRpLCA4LCAwKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmVDb25kaXRpb25hbGx5VGVzdDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29u
ZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlSW1tKC0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Qx
LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJh
RWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAs
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xk
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTm90RXF1YWwpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkaSwgMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDc5KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xv
dDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0
cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBG
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsK
LSAgICBiYjIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJkaSwgOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIyMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUz
Mik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnIxMiwgLTgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEzKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChKdW1wKTsKLSAgICBiYjIwLmFwcGVuZChpbnN0KTsKLSAgICBiYjIxLnN1Y2Nlc3NvcnMu
cHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjIsIE5vcm1hbCkpOwotICAgIGJiMjEucHJlZGVj
ZXNzb3JzLnB1c2goYmIyNyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjIxLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAg
YmIyMS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50
ZWRCbG9jayhiYjI1LCBOb3JtYWwpKTsKLSAgICBiYjIyLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJl
cXVlbnRlZEJsb2NrKGJiMjMsIE5vcm1hbCkpOwotICAgIGJiMjIucHJlZGVjZXNzb3JzLnB1c2go
YmIyMCk7Ci0gICAgYmIyMi5wcmVkZWNlc3NvcnMucHVzaChiYjIxKTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMg
PSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0g
ICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlpEZWYsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAs
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRl
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJi
MjIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2gzMik7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVJlbENvbmQoTGVzc1RoYW4pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjIyLmFwcGVuZChpbnN0KTsKLSAgICBiYjIzLnN1Y2Nlc3NvcnMucHVzaChuZXcg
RnJlcXVlbnRlZEJsb2NrKGJiMjYsIE5vcm1hbCkpOwotICAgIGJiMjMuc3VjY2Vzc29ycy5wdXNo
KG5ldyBGcmVxdWVudGVkQmxvY2soYmIyNCwgTm9ybWFsKSk7Ci0gICAgYmIyMy5wcmVkZWNlc3Nv
cnMucHVzaChiYjIyKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVSZWxDb25kKEdyZWF0ZXJUaGFuT3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg0MDApOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyNC5zdWNjZXNzb3Jz
LnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjI3LCBOb3JtYWwpKTsKLSAgICBiYjI0LnByZWRl
Y2Vzc29ycy5wdXNoKGJiMjMpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVSZXNDb25kKE92ZXJmbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90
MSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBp
bnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
VXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5aRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xk
VXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0
eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IElu
c3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg0KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xv
dDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1
ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGlu
c3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
ID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5aRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxh
dGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVD
b2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFk
ZDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDMpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
UGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChBYm92ZU9yRXF1YWwpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhz
bG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVTdGFjayhzbG90MSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0
cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChBYm92ZU9yRXF1YWwp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVT
dGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVTdGFjayhzbG90MSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVj
dHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZURvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUluZGV4KFJlZy5y
OSwgUmVnLnIxNSwgOCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFJzaGlmdDMyKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlSW1tKDMxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkMzIpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChYb3Iz
Mik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTGVzc1RoYW4pOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUs
IDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3Rz
ID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJi
MjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVSZWxDb25kKEFib3ZlT3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MSwg
MCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAg
IGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsK
LSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIyNC5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmVEb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVJbmRleChSZWcucjEyLCBSZWcucmJ4LCA4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTQpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE11bERv
dWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW00KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTApOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KEFkZERvdWJsZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW0wKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNC5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1t
KDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTXVsRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlSW5kZXgoUmVnLnI5LCBSZWcucnNpLCA4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTQpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
QWRkRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTApOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoQWRkMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMik7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNdWxEb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbmRleChS
ZWcucjksIFJlZy5yMTUsIDgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGREb3VibGUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNdWxEb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbmRleChSZWcucjksIFJlZy5y
MTQsIDgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcueG1tNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy54bW00KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjQu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGREb3VibGUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsK
LSAgICBiYjI0LmFwcGVuZChpbnN0KTsKLSAgICBiYjI1LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJl
cXVlbnRlZEJsb2NrKGJiMjcsIE5vcm1hbCkpOwotICAgIGJiMjUucHJlZGVjZXNzb3JzLnB1c2go
YmIyMik7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMjUuYXBwZW5kKGluc3Qp
OwotICAgIGJiMjYuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyNywgTm9y
bWFsKSk7Ci0gICAgYmIyNi5wcmVkZWNlc3NvcnMucHVzaChiYjIzKTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoSnVtcCk7Ci0gICAgYmIyNi5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyNy5zdWNjZXNzb3Jz
LnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjIxLCBOb3JtYWwpKTsKLSAgICBiYjI3LnN1Y2Nl
c3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzAsIE5vcm1hbCkpOwotICAgIGJiMjcu
cHJlZGVjZXNzb3JzLnB1c2goYmIyNCk7Ci0gICAgYmIyNy5wcmVkZWNlc3NvcnMucHVzaChiYjI2
KTsKLSAgICBiYjI3LnByZWRlY2Vzc29ycy5wdXNoKGJiMjUpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyNy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xv
dDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwot
ICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBb
XTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuVXNlWkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVz
ZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMjcuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2gzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVJlbENvbmQoTGVzc1RoYW4pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVJbW0oNyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI3
LmFwcGVuZChpbnN0KTsKLSAgICBiYjI4LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJs
b2NrKGJiMzEsIE5vcm1hbCkpOwotICAgIGJiMjgucHJlZGVjZXNzb3JzLnB1c2goYmIxNSk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMjguYXBwZW5kKGluc3QpOwotICAgIGJi
Mjkuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzMSwgTm9ybWFsKSk7Ci0g
ICAgYmIyOS5wcmVkZWNlc3NvcnMucHVzaChiYjE2KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVt
cCk7Ci0gICAgYmIyOS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzMC5zdWNjZXNzb3JzLnB1c2gobmV3
IEZyZXF1ZW50ZWRCbG9jayhiYjMxLCBOb3JtYWwpKTsKLSAgICBiYjMwLnByZWRlY2Vzc29ycy5w
dXNoKGJiMjcpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3RhY2soc2xvdDEsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MzAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjMwLmFw
cGVuZChpbnN0KTsKLSAgICBiYjMxLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2Nr
KGJiMTQsIE5vcm1hbCkpOwotICAgIGJiMzEuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVk
QmxvY2soYmIzMiwgTm9ybWFsKSk7Ci0gICAgYmIzMS5wcmVkZWNlc3NvcnMucHVzaChiYjMwKTsK
LSAgICBiYjMxLnByZWRlY2Vzc29ycy5wdXNoKGJiMjkpOwotICAgIGJiMzEucHJlZGVjZXNzb3Jz
LnB1c2goYmIyOCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjMxLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54
bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hI
YXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZVpEZWYsIHR5cGU6IEdQ
LCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0
ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBiYjMxLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoMzIpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVSZWxDb25kKExlc3NUaGFuKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDcpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIzMS5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzMi5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1
ZW50ZWRCbG9jayhiYjM0LCBOb3JtYWwpKTsKLSAgICBiYjMyLnN1Y2Nlc3NvcnMucHVzaChuZXcg
RnJlcXVlbnRlZEJsb2NrKGJiMzMsIFJhcmUpKTsKLSAgICBiYjMyLnByZWRlY2Vzc29ycy5wdXNo
KGJiMzEpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVSZXNDb25kKE92ZXJmbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlSW1tKDQwMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
eG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJn
RWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuWkRlZiwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRl
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVz
ZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMzIuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0MzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25k
KE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjMyLmFw
cGVuZChpbnN0KTsKLSAgICBiYjMzLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2Nr
KGJiMzQsIE5vcm1hbCkpOwotICAgIGJiMzMucHJlZGVjZXNzb3JzLnB1c2goYmIzMik7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoTGVz
c1RoYW4pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVJbW0oMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAg
ICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIzMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMzMuYXBwZW5kKGluc3QpOwotICAgIGJiMzQuc3Vj
Y2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxMiwgTm9ybWFsKSk7Ci0gICAgYmIz
NC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjM1LCBOb3JtYWwpKTsKLSAg
ICBiYjM0LnByZWRlY2Vzc29ycy5wdXNoKGJiMzIpOwotICAgIGJiMzQucHJlZGVjZXNzb3JzLnB1
c2goYmIzMyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0z
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRj
aEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJl
Z3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlpEZWYs
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogRlAs
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRl
Q29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJi
MzQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVSZXNDb25kKE92ZXJmbG93KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
Myk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0
Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgp
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5aRGVm
LCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBl
OiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkxhdGVDb2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KERpdkRvdWJsZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMzQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRj
aCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEFib3ZlT3JFcXVhbCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1
LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3Qu
ZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMzQuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwo
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVEb3VibGVD
b25kKERvdWJsZU5vdEVxdWFsT3JVbm9yZGVyZWQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0xKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJs
eUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAz
Mn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEZQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIzNC5hcHBlbmQoaW5z
dCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmVEb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnhtbTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZUluZGV4KFJlZy5yOSwgUmVnLnJzaSwgOCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMy
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiMzQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQ
YXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE92ZXJmbG93KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnht
bTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZVpE
ZWYsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5
cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjM0LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoRGl2RG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW02KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIz
NC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEFkZDMyKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQWRkMzIpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVJbW0oMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMzQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVSZWxDb25kKEFib3ZlT3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTEpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
eG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3Qu
cGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVy
ZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5D
b2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBG
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7
Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoQWJvdmVPckVxdWFsKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy54bW0zKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
aW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBu
ZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDog
NjR9KTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlRG91YmxlQ29uZChEb3VibGVOb3RFcXVhbE9yVW5vcmRl
cmVkKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcueG1tMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy54bW0yKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMik7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9
IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIz
NC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmVEb3VibGUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUluZGV4KFJlZy5yOSwgUmVnLnJkaSwgOCwgMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoQWRkMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMik7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChEaXZEb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTYpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1t
Myk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlRG91YmxlQ29u
ZChEb3VibGVOb3RFcXVhbE9yVW5vcmRlcmVkKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0zKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnhtbTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRj
aEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJl
Z3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNo
KHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBGUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAg
ICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZURvdWJsZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVnLnI5LCBSZWcucnNpLCA4LCAwKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzQuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChEaXZEb3VibGUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTYp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
eG1tNSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsK
LSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFs
KCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlRG91Ymxl
Q29uZChEb3VibGVOb3RFcXVhbE9yVW5vcmRlcmVkKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnhtbTUpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tNSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hI
YXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogRlAsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwotICAgIGJiMzQuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlRG91YmxlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy54bW01KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVJbmRleChSZWcucjksIFJlZy5yYXgsIDgsIDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIzNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUz
Mik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
UGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25B
cmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3
IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZVpEZWYsIHR5cGU6IEdQLCB3aWR0
aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuTGF0ZUNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNo
MzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKExlc3NUaGFuKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDQwMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBiYjM1LnN1Y2Nl
c3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTEsIE5vcm1hbCkpOwotICAgIGJiMzUu
c3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIzNiwgTm9ybWFsKSk7Ci0gICAg
YmIzNS5wcmVkZWNlc3NvcnMucHVzaChiYjM0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjM1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0
Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVj
dHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlWkRlZiwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFy
Zy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJiMzUuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2gzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVJlbENvbmQoTGVzc1RoYW4pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVJbW0oMjY3KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MzUuYXBwZW5kKGluc3QpOwotICAgIGJiMzYucHJlZGVjZXNzb3JzLnB1c2goYmIzNSk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTQ0NTA2
NTc2LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM2LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUmV0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM2LmFwcGVuZChp
bnN0KTsKLSAgICByZXR1cm4gY29kZTsKLX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2Ft
cGxlQmVuY2gvQWlyL3BheWxvYWQtdHlwZXNjcmlwdC1zY2FuSWRlbnRpZmllci5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9wYXlsb2FkLXR5cGVz
Y3JpcHQtc2NhbklkZW50aWZpZXIuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNl
VGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3BheWxvYWQtdHlwZXNjcmlwdC1zY2FuSWRlbnRpZmll
ci5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDE4NzggKzAsMCBAQAotInVzZSBzdHJpY3QiOwotLy8g
R2VuZXJhdGVkIGJ5IEFpcjo6ZHVtcEFzSlMgZnJvbSBzY2FuSWRlbnRpZmllciNFUGNGUWUgaW4g
T2N0YW5lL3R5cGVzY3JpcHQKLWZ1bmN0aW9uIGNyZWF0ZVBheWxvYWRUeXBlc2NyaXB0U2Nhbklk
ZW50aWZpZXIoKQotewotICAgIGxldCBjb2RlID0gbmV3IENvZGUoKTsKLSAgICBsZXQgYmIwID0g
Y29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjEgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0
IGJiMiA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmIzID0gY29kZS5hZGRCbG9jaygpOwot
ICAgIGxldCBiYjQgPSBjb2RlLmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiNSA9IGNvZGUuYWRkQmxv
Y2soKTsKLSAgICBsZXQgYmI2ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjcgPSBjb2Rl
LmFkZEJsb2NrKCk7Ci0gICAgbGV0IGJiOCA9IGNvZGUuYWRkQmxvY2soKTsKLSAgICBsZXQgYmI5
ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjEwID0gY29kZS5hZGRCbG9jaygpOwotICAg
IGxldCBiYjExID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjEyID0gY29kZS5hZGRCbG9j
aygpOwotICAgIGxldCBiYjEzID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjE0ID0gY29k
ZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjE1ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBi
YjE2ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjE3ID0gY29kZS5hZGRCbG9jaygpOwot
ICAgIGxldCBiYjE4ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjE5ID0gY29kZS5hZGRC
bG9jaygpOwotICAgIGxldCBiYjIwID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjIxID0g
Y29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjIyID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxl
dCBiYjIzID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjI0ID0gY29kZS5hZGRCbG9jaygp
OwotICAgIGxldCBiYjI1ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjI2ID0gY29kZS5h
ZGRCbG9jaygpOwotICAgIGxldCBiYjI3ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjI4
ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjI5ID0gY29kZS5hZGRCbG9jaygpOwotICAg
IGxldCBiYjMwID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjMxID0gY29kZS5hZGRCbG9j
aygpOwotICAgIGxldCBiYjMyID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjMzID0gY29k
ZS5hZGRCbG9jaygpOwotICAgIGxldCBiYjM0ID0gY29kZS5hZGRCbG9jaygpOwotICAgIGxldCBz
bG90MCA9IGNvZGUuYWRkU3RhY2tTbG90KDU2LCBMb2NrZWQpOwotICAgIGxldCBzbG90MSA9IGNv
ZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xvdDIgPSBjb2RlLmFkZFN0YWNr
U2xvdCg4LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3QzID0gY29kZS5hZGRTdGFja1Nsb3QoOCwgU3Bp
bGwpOwotICAgIGxldCBzbG90NCA9IGNvZGUuYWRkU3RhY2tTbG90KDgsIFNwaWxsKTsKLSAgICBs
ZXQgc2xvdDUgPSBjb2RlLmFkZFN0YWNrU2xvdCg0LCBTcGlsbCk7Ci0gICAgbGV0IHNsb3Q2ID0g
Y29kZS5hZGRTdGFja1Nsb3QoOCwgU3BpbGwpOwotICAgIGxldCBzbG90NyA9IGNvZGUuYWRkU3Rh
Y2tTbG90KDgsIFNwaWxsKTsKLSAgICBsZXQgc2xvdDggPSBjb2RlLmFkZFN0YWNrU2xvdCg4LCBT
cGlsbCk7Ci0gICAgbGV0IHNsb3Q5ID0gY29kZS5hZGRTdGFja1Nsb3QoNDAsIExvY2tlZCk7Ci0g
ICAgc2xvdDkuc2V0T2Zmc2V0RnJvbUZQKC00MCk7Ci0gICAgbGV0IHRtcDk4ID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXA5NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTYg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDk1ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXA5NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTMgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDkyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA5MSA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOTAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDg5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4OCA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wODcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDg2ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA4NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wODQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDgzID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXA4MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wODEgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDgwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXA3OSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzggPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDc3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3NiA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNzUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDc0ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3MyA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wNzIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDcxID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA3MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wNjkgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDY4ID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXA2NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjYgPSBjb2Rl
Lm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDY1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0
bXA2NCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjMgPSBjb2RlLm5ld1RtcChHUCk7
Ci0gICAgbGV0IHRtcDYyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA2MSA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNjAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRt
cDU5ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA1OCA9IGNvZGUubmV3VG1wKEdQKTsK
LSAgICBsZXQgdG1wNTcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDU2ID0gY29kZS5u
ZXdUbXAoR1ApOwotICAgIGxldCB0bXA1NSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
NTQgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDUzID0gY29kZS5uZXdUbXAoR1ApOwot
ICAgIGxldCB0bXA1MiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNTEgPSBjb2RlLm5l
d1RtcChHUCk7Ci0gICAgbGV0IHRtcDUwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0
OSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNDggPSBjb2RlLm5ld1RtcChHUCk7Ci0g
ICAgbGV0IHRtcDQ3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0NiA9IGNvZGUubmV3
VG1wKEdQKTsKLSAgICBsZXQgdG1wNDUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQ0
ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXA0MyA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wNDIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDQxID0gY29kZS5uZXdU
bXAoR1ApOwotICAgIGxldCB0bXA0MCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzkg
PSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDM4ID0gY29kZS5uZXdUbXAoR1ApOwotICAg
IGxldCB0bXAzNyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzYgPSBjb2RlLm5ld1Rt
cChHUCk7Ci0gICAgbGV0IHRtcDM1ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzNCA9
IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMzMgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAg
bGV0IHRtcDMyID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAzMSA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMzAgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI5ID0g
Y29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAyOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBs
ZXQgdG1wMjcgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDI2ID0gY29kZS5uZXdUbXAo
R1ApOwotICAgIGxldCB0bXAyNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjQgPSBj
b2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDIzID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxl
dCB0bXAyMiA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMjEgPSBjb2RlLm5ld1RtcChH
UCk7Ci0gICAgbGV0IHRtcDIwID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxOSA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMTggPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0
IHRtcDE3ID0gY29kZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxNiA9IGNvZGUubmV3VG1wKEdQ
KTsKLSAgICBsZXQgdG1wMTUgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDE0ID0gY29k
ZS5uZXdUbXAoR1ApOwotICAgIGxldCB0bXAxMyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMTIgPSBjb2RlLm5ld1RtcChHUCk7Ci0gICAgbGV0IHRtcDExID0gY29kZS5uZXdUbXAoR1Ap
OwotICAgIGxldCB0bXAxMCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOSA9IGNvZGUu
bmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wOCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1w
NyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNiA9IGNvZGUubmV3VG1wKEdQKTsKLSAg
ICBsZXQgdG1wNSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wNCA9IGNvZGUubmV3VG1w
KEdQKTsKLSAgICBsZXQgdG1wMyA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMiA9IGNv
ZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgdG1wMSA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQg
dG1wMCA9IGNvZGUubmV3VG1wKEdQKTsKLSAgICBsZXQgaW5zdDsKLSAgICBsZXQgYXJnOwotICAg
IGJiMC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjUsIE5vcm1hbCkpOwot
ICAgIGJiMC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjQsIE5vcm1hbCkp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1t
KDE3NzMyOTg4OCwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVBZGRyKFJlZy5yYnAsIDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmJwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVh
cmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzLmFkZChSZWcu
cjExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5TY3JhdGNoLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJicCwgNDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMiwgLTY1NTM2KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQ
YXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVj
dHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQ
YXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYngsIDUpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyMSk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVj
dHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogOH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogOH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0
Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChOb3RFcXVhbCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCAwKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMjU0MCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdF
ZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNl
dCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0p
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNv
bGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4
LCA3Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQ29tcGFyZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
UmVsQ29uZChFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUltbSg5Mik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIw
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTU0OTkxOTM2LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRj
aCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKE5vdEVxdWFsKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yY3gsIDApOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg4MCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDE1NDk5MTkz
NiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0
LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJl
cmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBT
ZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0g
ICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6
IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcu
Q29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTog
R1AsIHdpZHRoOiAzMn0pOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTU0OTkxOTQ0LCAxKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmN4LCAw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJl
Zy5yMTIsIC04KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
U3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVJlbENvbmQoQWJvdmVPckVxdWFsKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0g
ICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtd
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1
c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUluZGV4KFJlZy5y
MTIsIFJlZy5yYXgsIDgsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVJbW0oMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5h
cHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmVDb25kaXRpb25hbGx5VGVzdDY0
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKC0xKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoWG9yNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oNik7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgtMik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDIsIDApOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgtMik7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJj
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlD
bG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MSwgMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDEyOTk4NzMxMiwgMSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhz
bG90NCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjAuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1t
KDEwODQxODM1MiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIwLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUJpZ0ltbSgwLCAtNjU1MzYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVJbW0oMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIw
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoVGVzdDY0KTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIwLmFwcGVuZChpbnN0KTsKLSAgICBiYjEucHJlZGVjZXNzb3JzLnB1
c2goYmI2KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFz
Tm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9
IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjEuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChPb3BzKTsKLSAgICBiYjEuYXBwZW5kKGluc3QpOwotICAg
IGJiMi5wcmVkZWNlc3NvcnMucHVzaChiYjIzKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRy
YUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsK
LSAgICBiYjIuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChPb3BzKTsKLSAgICBi
YjIuYXBwZW5kKGluc3QpOwotICAgIGJiMy5wcmVkZWNlc3NvcnMucHVzaChiYjMyKTsKLSAgICBp
bnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9
IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjMuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChPb3BzKTsKLSAgICBiYjMuYXBwZW5kKGluc3QpOwotICAgIGJiNC5wcmVkZWNlc3Nv
cnMucHVzaChiYjApOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJs
eUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mg
PSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwg
dHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE9vcHMpOwotICAgIGJiNC5hcHBlbmQoaW5zdCk7Ci0gICAgYmI1LnN1Y2Nlc3Nv
cnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiOCwgTm9ybWFsKSk7Ci0gICAgYmI1LnN1Y2Nl
c3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiNiwgUmFyZSkpOwotICAgIGJiNS5wcmVk
ZWNlc3NvcnMucHVzaChiYjApOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCA1Nik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92
ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgLTI0KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucjEwLCAxNik7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoQnJhbmNoVGVzdDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChO
b25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI1LmFwcGVu
ZChpbnN0KTsKLSAgICBiYjYuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIx
LCBSYXJlKSk7Ci0gICAgYmI2LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJi
NywgTm9ybWFsKSk7Ci0gICAgYmI2LnByZWRlY2Vzc29ycy5wdXNoKGJiNSk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYnAsIDM2KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5z
dCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDgs
IDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI2LmFwcGVuZChpbnN0KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7
Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnI4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFj
ayhzbG90NywgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVN0YWNrKHNsb3Q2LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNi5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJicCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI2LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGlu
c3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy5yY3gpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucnNpKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJkaSk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy5yOCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy5yOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTApOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjExKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncy5hZGQoUmVnLnhtbTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcueG1tMik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0zKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTQpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MuYWRkKFJlZy54bW02KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnht
bTcpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tOCk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW05KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJl
cmVkUmVncy5hZGQoUmVnLnhtbTEwKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnhtbTExKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEyKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEzKTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTE0KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTE1KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGlu
c3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9
KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkRlZiwg
dHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5EZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBGUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBiYjYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDgsIDApOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NywgMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5z
dChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDYsIDApOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTI5OTg3MzEyLCAxKTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJj
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjYuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZXND
b25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUFkZHIoUmVnLnJjeCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlSW1tKC0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiNi5h
cHBlbmQoaW5zdCk7Ci0gICAgYmI3LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2Nr
KGJiMTEsIE5vcm1hbCkpOwotICAgIGJiNy5wcmVkZWNlc3NvcnMucHVzaChiYjYpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmF4LCA4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjcuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjcuYXBwZW5kKGluc3QpOwotICAgIGJi
OC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjExLCBOb3JtYWwpKTsKLSAg
ICBiYjgucHJlZGVjZXNzb3JzLnB1c2goYmI1KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgOCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmI4LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
SnVtcCk7Ci0gICAgYmI4LmFwcGVuZChpbnN0KTsKLSAgICBiYjkuc3VjY2Vzc29ycy5wdXNoKG5l
dyBGcmVxdWVudGVkQmxvY2soYmIxMSwgTm9ybWFsKSk7Ci0gICAgYmI5LnByZWRlY2Vzc29ycy5w
dXNoKGJiMTUpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlVG1wKFJlZy5yOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmI5LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmI5LmFwcGVuZChp
bnN0KTsKLSAgICBiYjEwLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTEs
IE5vcm1hbCkpOwotICAgIGJiMTAucHJlZGVjZXNzb3JzLnB1c2goYmIxOCk7Ci0gICAgaW5zdCA9
IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI5KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxMC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxMS5zdWNj
ZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjEyLCBOb3JtYWwpKTsKLSAgICBiYjEx
LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTYsIE5vcm1hbCkpOwotICAg
IGJiMTEucHJlZGVjZXNzb3JzLnB1c2goYmI3KTsKLSAgICBiYjExLnByZWRlY2Vzc29ycy5wdXNo
KGJiMTApOwotICAgIGJiMTEucHJlZGVjZXNzb3JzLnB1c2goYmI5KTsKLSAgICBiYjExLnByZWRl
Y2Vzc29ycy5wdXNoKGJiOCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJieCwgNDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlMzIp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBh
dGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoT3ZlcmZsb3cpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgxKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAw
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05v
bkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBu
ZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlWkRlZiwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRo
OiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5MYXRlQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAgIGlu
c3QgPSBuZXcgSW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
ZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KEFkZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
ZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucjE0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnIxMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVBZGRyKFJlZy5yYngsIDQwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTEu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQWRkcihSZWcucmJ4LCAzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChPdmVyZmxvdyk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAg
IGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJj
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZm
ZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQo
KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBh
dGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5V
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0Rh
dGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2VaRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDMy
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0
eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTog
QXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFy
Z0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkxhdGVDb2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgYmIxMS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5l
dyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjExLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoQWRkNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTEuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIo
UmVnLnJieCwgMzIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxMS5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaDMyKTsKLSAgICBhcmcgPSBBcmcuY3Jl
YXRlUmVsQ29uZChMZXNzVGhhbik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMTEuYXBwZW5kKGluc3QpOwotICAgIGJiMTIuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVx
dWVudGVkQmxvY2soYmIxMywgTm9ybWFsKSk7Ci0gICAgYmIxMi5zdWNjZXNzb3JzLnB1c2gobmV3
IEZyZXF1ZW50ZWRCbG9jayhiYjE0LCBOb3JtYWwpKTsKLSAgICBiYjEyLnByZWRlY2Vzc29ycy5w
dXNoKGJiMTEpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVSZWxDb25kKEFib3ZlT3JFcXVhbCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnIxMCwgMTIpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjEwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hI
YXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAg
YmIxMi5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVBZGRyKFJlZy5yMTAsIDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBiYjEyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoVGVz
dDMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYXgsIDE2KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oOCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEyLmFwcGVuZChpbnN0KTsKLSAgICBiYjEzLnN1
Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTUsIE5vcm1hbCkpOwotICAgIGJi
MTMucHJlZGVjZXNzb3JzLnB1c2goYmIxMik7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KExvYWQ4KTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlSW5kZXgoUmVnLnI5LCBSZWcucmR4LCAxLCAwKTsKLSAgICBp
bnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjEzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIxMy5hcHBlbmQoaW5zdCk7Ci0gICAgYmIxNC5zdWNj
ZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE1LCBOb3JtYWwpKTsKLSAgICBiYjE0
LnByZWRlY2Vzc29ycy5wdXNoKGJiMTIpOwotICAgIGluc3QgPSBuZXcgSW5zdChMb2FkMTYpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVJbmRleChSZWcucjksIFJlZy5yZHgsIDIsIDApOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMTQuYXBwZW5kKGluc3QpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChKdW1wKTsKLSAgICBiYjE0LmFwcGVuZChpbnN0KTsKLSAgICBiYjE1LnN1Y2Nl
c3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiOSwgTm9ybWFsKSk7Ci0gICAgYmIxNS5z
dWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjE3LCBOb3JtYWwpKTsKLSAgICBi
YjE1LnByZWRlY2Vzc29ycy5wdXNoKGJiMTQpOwotICAgIGJiMTUucHJlZGVjZXNzb3JzLnB1c2go
YmIxMyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE1LmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MTUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBZGQ2NCk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIxNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCA3Mik7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBiYjE1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0
Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChBYm92ZU9yRXF1YWwpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnI4KTsK
LSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJi
eCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3RhY2so
c2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hI
YXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAg
IGJiMTUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlSW5kZXgoUmVnLnIxMiwgUmVnLnJheCwgOCwgMCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYmIxNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJ
bnN0KE1vdmVDb25kaXRpb25hbGx5VGVzdDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29u
ZChOb25aZXJvKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlSW1tKC0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMTUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMTUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChYb3I2NCk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUltbSg2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjE1LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUltbSgtMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YmIxNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNrKHNsb3Q1LCAwKTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0
cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNo
QXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGJiMTUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlSW1tKDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MTUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0NjQpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjE1LmFwcGVuZChpbnN0KTsKLSAgICBiYjE2LnByZWRlY2Vzc29y
cy5wdXNoKGJiMTEpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGlu
c3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlw
ZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMTYuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBu
ZXcgSW5zdChPb3BzKTsKLSAgICBiYjE2LmFwcGVuZChpbnN0KTsKLSAgICBiYjE3LnN1Y2Nlc3Nv
cnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTgsIE5vcm1hbCkpOwotICAgIGJiMTcuc3Vj
Y2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxOSwgTm9ybWFsKSk7Ci0gICAgYmIx
Ny5wcmVkZWNlc3NvcnMucHVzaChiYjE1KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNoMzIp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEdyZWF0ZXJUaGFuT3JFcXVhbCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg0OCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE3LmFwcGVuZChpbnN0KTsKLSAgICBiYjE4
LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMTAsIE5vcm1hbCkpOwotICAg
IGJiMTguc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIxOSwgTm9ybWFsKSk7
Ci0gICAgYmIxOC5wcmVkZWNlc3NvcnMucHVzaChiYjE3KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
QnJhbmNoMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKExlc3NUaGFuT3JFcXVhbCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
c2kpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSg1
Nyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE4LmFwcGVuZChpbnN0KTsKLSAg
ICBiYjE5LnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjAsIE5vcm1hbCkp
OwotICAgIGJiMTkuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyMSwgTm9y
bWFsKSk7Ci0gICAgYmIxOS5wcmVkZWNlc3NvcnMucHVzaChiYjE3KTsKLSAgICBiYjE5LnByZWRl
Y2Vzc29ycy5wdXNoKGJiMTgpOwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2gzMik7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVJlbENvbmQoR3JlYXRlclRoYW5PckVxdWFsKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDEyOCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjE5LmFwcGVuZChpbnN0KTsKLSAgICBiYjIwLnByZWRl
Y2Vzc29ycy5wdXNoKGJiMTkpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlU3RhY2soc2xvdDUsIDApOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0
LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAg
aW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2
NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMjAu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChPb3BzKTsKLSAgICBiYjIwLmFwcGVu
ZChpbnN0KTsKLSAgICBiYjIxLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVlbnRlZEJsb2NrKGJi
MjIsIE5vcm1hbCkpOwotICAgIGJiMjEuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxv
Y2soYmIyMywgTm9ybWFsKSk7Ci0gICAgYmIyMS5wcmVkZWNlc3NvcnMucHVzaChiYjE5KTsKLSAg
ICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YngpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVN0YWNr
KHNsb3Q1LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNO
b25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0g
bmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRh
LnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDog
MzJ9KTsKLSAgICBiYjIxLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoQnJhbmNo
MzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEVxdWFsKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDkyKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiMjEuYXBwZW5kKGluc3QpOwotICAgIGJiMjIucHJlZGVjZXNz
b3JzLnB1c2goYmIyMSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90NSwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVlOwotICAgIGluc3QuZXh0
cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQ
LCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29s
ZFVzZSwgdHlwZTogR1AsIHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2go
e3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIyMi5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE9vcHMpOwotICAgIGJiMjIuYXBwZW5kKGlu
c3QpOwotICAgIGJiMjMuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyLCBS
YXJlKSk7Ci0gICAgYmIyMy5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjI0
LCBOb3JtYWwpKTsKLSAgICBiYjIzLnByZWRlY2Vzc29ycy5wdXNoKGJiMjEpOwotICAgIGluc3Qg
PSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJ4LCA0OCk7
Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
Y3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTU1
MDIxNTY4LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIzLmFwcGVu
ZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5j
cmVhdGVDYWxsQXJnKDgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUzMik7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUltbSgzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yMTApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZUNhbGxBcmcoMjQpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBl
bmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlQ2FsbEFyZygzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIzLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucjExKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVDYWxsQXJnKDQwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjMu
YXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZUNhbGxBcmcoOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygxNik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZygzMik7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg0MCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE0KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsK
LSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFFYXJseUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcucmN4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJkeCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yc2kpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcucmRpKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnI4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnI5KTsKLSAgICBp
bnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMCk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcueG1tMCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTIpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW00KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTUp
OwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNik7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW03KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnhtbTgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tOSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMSk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3Mu
YWRkKFJlZy54bW0xMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0x
NCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xNSk7Ci0gICAgaW5z
dC5wYXRjaEFyZ0RhdGEgPSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkRlZiwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiAzMn0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xl
OiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEu
cHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0
Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAg
ICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6
IDY0fSk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBh
dGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7Ci0g
ICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4
dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YSA9IFtd
OwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3
aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgYmIyMy5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVC
aWdJbW0oMTU1MDQxMjg4LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUFkZHIoUmVnLnJheCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAg
IGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yYXgsIC0xMzM2KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
UGF0Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVzQ29uZChOb25aZXJvKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxMyk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTUpOwot
ICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEz
KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVn
LnJieCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yMTIpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucjEzKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hI
YXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdz
ID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7
cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdE
YXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogMzJ9KTsKLSAgICBpbnN0
LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJn
RGF0YS5wdXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lk
dGg6IDY0fSk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVBZGRyKFJlZy5yMTMsIDI0KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3
IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTdGFjayhzbG90MCwgMCk7Ci0g
ICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDIpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUFkZHIoUmVnLnJicCwgMzYp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAg
aW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVCaWdJbW0oMTA4MzU2
MzA0LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIzLmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVTdGFjayhzbG90MywgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIzLmFw
cGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJzaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjIz
LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmJwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBiYjIzLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0Y2gpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy54bW0wKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkaSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yc2kpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmR4KTsKLSAg
ICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0g
dHJ1ZTsKLSAgICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcucmN4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQo
UmVnLnJzaSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yZGkpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjgpOwotICAgIGluc3QuZXh0cmFDbG9i
YmVyZWRSZWdzLmFkZChSZWcucjkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChS
ZWcucjEwKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncy5hZGQoUmVnLnhtbTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcueG1tMyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW00KTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTUpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJl
Z3MuYWRkKFJlZy54bW03KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnht
bTgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tOSk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMCk7Ci0gICAgaW5zdC5leHRyYUNsb2Ji
ZXJlZFJlZ3MuYWRkKFJlZy54bW0xMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW0xMik7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xMyk7
Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xNCk7Ci0gICAgaW5zdC5l
eHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0xNSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEg
PSBbXTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5EZWYsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkRlZiwgdHlwZTogRlAsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBl
OiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJn
LlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGJiMjMuYXBwZW5kKGluc3QpOwotICAg
IGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQmlnSW1tKDEyOTk4
NzMxMiwgMSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRl
VG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIyMy5hcHBlbmQo
aW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRlc3Q2NCk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmN4LCAwKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oLTEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYmIyMy5hcHBlbmQoaW5zdCk7Ci0gICAgYmIyNC5zdWNjZXNzb3JzLnB1c2gobmV3IEZy
ZXF1ZW50ZWRCbG9jayhiYjI1LCBOb3JtYWwpKTsKLSAgICBiYjI0LnN1Y2Nlc3NvcnMucHVzaChu
ZXcgRnJlcXVlbnRlZEJsb2NrKGJiMjYsIE5vcm1hbCkpOwotICAgIGJiMjQucHJlZGVjZXNzb3Jz
LnB1c2goYmIyMyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcu
Y3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJn
LmNyZWF0ZVRtcChSZWcucmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9
IEFyZy5jcmVhdGVUbXAoUmVnLnIxMik7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBh
cmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0g
ICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAgICBpbnN0LmV4dHJh
RWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwg
d2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLkNvbGRV
c2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHty
b2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0g
ICAgYmIyNC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRlc3Q2NCk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMjQuYXBwZW5kKGluc3QpOwotICAgIGJiMjUuc3VjY2Vz
c29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyNywgTm9ybWFsKSk7Ci0gICAgYmIyNS5z
dWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjI2LCBOb3JtYWwpKTsKLSAgICBi
YjI1LnByZWRlY2Vzc29ycy5wdXNoKGJiMjQpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGJiMjUuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChBbmQ2
NCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgtOSk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJn
KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNo
KGFyZyk7Ci0gICAgYmIyNS5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5j
aDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlUmVsQ29uZChFcXVhbCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3Qu
YXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUltbSgyKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGJiMjUuYXBwZW5kKGluc3QpOwotICAgIGJiMjYuc3VjY2Vzc29y
cy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2soYmIyOSwgTm9ybWFsKSk7Ci0gICAgYmIyNi5zdWNj
ZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjI4LCBOb3JtYWwpKTsKLSAgICBiYjI2
LnByZWRlY2Vzc29ycy5wdXNoKGJiMjQpOwotICAgIGJiMjYucHJlZGVjZXNzb3JzLnB1c2goYmIy
NSk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEJyYW5jaFRlc3Q2NCk7Ci0gICAgYXJnID0gQXJnLmNy
ZWF0ZVJlc0NvbmQoTm9uWmVybyk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAg
YXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucjE1KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGJiMjYuYXBwZW5kKGluc3QpOwotICAgIGJiMjcuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVx
dWVudGVkQmxvY2soYmIzMCwgTm9ybWFsKSk7Ci0gICAgYmIyNy5wcmVkZWNlc3NvcnMucHVzaChi
YjI1KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUlt
bSgyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjI3LmFwcGVuZChpbnN0
KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoSnVtcCk7Ci0gICAgYmIyNy5hcHBlbmQoaW5zdCk7Ci0g
ICAgYmIyOC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMyLCBOb3JtYWwp
KTsKLSAgICBiYjI4LnByZWRlY2Vzc29ycy5wdXNoKGJiMjYpOwotICAgIGluc3QgPSBuZXcgSW5z
dChKdW1wKTsKLSAgICBiYjI4LmFwcGVuZChpbnN0KTsKLSAgICBiYjI5LnN1Y2Nlc3NvcnMucHVz
aChuZXcgRnJlcXVlbnRlZEJsb2NrKGJiMzAsIE5vcm1hbCkpOwotICAgIGJiMjkucHJlZGVjZXNz
b3JzLnB1c2goYmIyNik7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KEp1bXApOwotICAgIGJiMjkuYXBw
ZW5kKGluc3QpOwotICAgIGJiMzAuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVxdWVudGVkQmxvY2so
YmIzNCwgTm9ybWFsKSk7Ci0gICAgYmIzMC5zdWNjZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRC
bG9jayhiYjMxLCBOb3JtYWwpKTsKLSAgICBiYjMwLnByZWRlY2Vzc29ycy5wdXNoKGJiMjkpOwot
ICAgIGJiMzAucHJlZGVjZXNzb3JzLnB1c2goYmIyNyk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1v
dmUpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1
c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yY3gpOwotICAgIGluc3QuYXJn
cy5wdXNoKGFyZyk7Ci0gICAgYmIzMC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0
KEFuZDY0KTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKC05KTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBiYjMwLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3Qo
QnJhbmNoNjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVSZWxDb25kKEVxdWFsKTsKLSAgICBpbnN0
LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJjeCk7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlSW1tKDIpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIzMC5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzMS5zdWNj
ZXNzb3JzLnB1c2gobmV3IEZyZXF1ZW50ZWRCbG9jayhiYjMyLCBOb3JtYWwpKTsKLSAgICBiYjMx
LnByZWRlY2Vzc29ycy5wdXNoKGJiMzApOwotICAgIGluc3QgPSBuZXcgSW5zdChKdW1wKTsKLSAg
ICBiYjMxLmFwcGVuZChpbnN0KTsKLSAgICBiYjMyLnN1Y2Nlc3NvcnMucHVzaChuZXcgRnJlcXVl
bnRlZEJsb2NrKGJiMywgUmFyZSkpOwotICAgIGJiMzIuc3VjY2Vzc29ycy5wdXNoKG5ldyBGcmVx
dWVudGVkQmxvY2soYmIzMywgTm9ybWFsKSk7Ci0gICAgYmIzMi5wcmVkZWNlc3NvcnMucHVzaChi
YjI4KTsKLSAgICBiYjMyLnByZWRlY2Vzc29ycy5wdXNoKGJiMzEpOwotICAgIGluc3QgPSBuZXcg
SW5zdChNb3ZlMzIpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVJbW0oMyk7Ci0gICAgaW5zdC5hcmdz
LnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlQWRkcihSZWcucmJwLCAzNik7Ci0gICAg
aW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0g
bmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxNTQ5OTE2MzIsIDEp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzIuYXBwZW5kKGluc3QpOwot
ICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5y
YXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmR4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzIuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJl
Zy5yY3gpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRt
cChSZWcucnNpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzIuYXBwZW5kKGlu
c3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1w
KFJlZy5yYnApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVRtcChSZWcucmRpKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzIuYXBwZW5k
KGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChQYXRjaCk7Ci0gICAgYXJnID0gQXJnLmNyZWF0
ZVNwZWNpYWwoKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVCaWdJbW0oMTA4MzU2MzA0LCAxKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZHgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7
Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcueG1tMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yZGkpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucnNpKTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJkeCk7Ci0gICAgaW5z
dC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9uQXJnRWZmZWN0cyA9IHRydWU7
Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnJjeCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5y
c2kpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmRpKTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnI4KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVk
UmVncy5hZGQoUmVnLnI5KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnIx
MCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy5yMTEpOwotICAgIGluc3Qu
ZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJl
ZFJlZ3MuYWRkKFJlZy54bW0yKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVn
LnhtbTMpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tNCk7Ci0gICAg
aW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW01KTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncy5hZGQoUmVnLnhtbTYpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcueG1tNyk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW04KTsK
LSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTkpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTApOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRS
ZWdzLmFkZChSZWcueG1tMTEpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcu
eG1tMTIpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTMpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTQpOwotICAgIGluc3QuZXh0cmFD
bG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMTUpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5
cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBB
cmcuRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVz
aCh7cm9sZTogQXJnLkRlZiwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hB
cmdEYXRhLnB1c2goe3JvbGU6IEFyZy5EZWYsIHR5cGU6IEZQLCB3aWR0aDogNjR9KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1As
IHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2Us
IHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjMyLmFwcGVuZChpbnN0KTsKLSAgICBpbnN0
ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJpZ0ltbSgxMjk5ODczMTIs
IDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChS
ZWcucmN4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJiMzIuYXBwZW5kKGluc3Qp
OwotICAgIGluc3QgPSBuZXcgSW5zdChCcmFuY2hUZXN0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVh
dGVSZXNDb25kKE5vblplcm8pOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUFkZHIoUmVnLnJjeCwgMCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlSW1tKC0xKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMzIuYXBwZW5kKGluc3QpOwotICAgIGJiMzMucHJlZGVjZXNzb3JzLnB1c2goYmIzMik7Ci0g
ICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlU3BlY2lhbCgp
OwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcu
cmJ4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAo
UmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBpbnN0LnBhdGNoSGFzTm9u
QXJnRWZmZWN0cyA9IHRydWU7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xvYmJlcmVkUmVncyA9IG5l
dyBTZXQoKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncyA9IG5ldyBTZXQoKTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuQ29sZFVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3Qu
cGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0
fSk7Ci0gICAgYmIzMy5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFJldDY0KTsK
LSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFy
Zyk7Ci0gICAgYmIzMy5hcHBlbmQoaW5zdCk7Ci0gICAgYmIzNC5wcmVkZWNlc3NvcnMucHVzaChi
YjMwKTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZUJp
Z0ltbSgxNTM4MzUyOTYsIDEpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGJi
MzQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlVG1wKFJlZy5yYXgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJn
ID0gQXJnLmNyZWF0ZUNhbGxBcmcoOCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZTMyKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlSW1tKDMpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUNhbGxBcmcoMTYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIz
NC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KE1vdmUpOwotICAgIGFyZyA9IEFy
Zy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlQ2FsbEFyZygyNCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBi
YjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoTW92ZSk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucjEyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDMyKTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAg
IGJiMzQuYXBwZW5kKGluc3QpOwotICAgIGluc3QgPSBuZXcgSW5zdChNb3ZlKTsKLSAgICBhcmcg
PSBBcmcuY3JlYXRlSW1tKDYpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZUNhbGxBcmcoNDApOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYmIz
NC5hcHBlbmQoaW5zdCk7Ci0gICAgaW5zdCA9IG5ldyBJbnN0KFBhdGNoKTsKLSAgICBhcmcgPSBB
cmcuY3JlYXRlU3BlY2lhbCgpOwotICAgIGluc3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgYXJnID0g
QXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwotICAgIGFy
ZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAg
ICBhcmcgPSBBcmcuY3JlYXRlQ2FsbEFyZyg4KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcpOwot
ICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDE2KTsKLSAgICBpbnN0LmFyZ3MucHVzaChhcmcp
OwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDI0KTsKLSAgICBpbnN0LmFyZ3MucHVzaChh
cmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDMyKTsKLSAgICBpbnN0LmFyZ3MucHVz
aChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVDYWxsQXJnKDQwKTsKLSAgICBpbnN0LmFyZ3Mu
cHVzaChhcmcpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVUbXAoUmVnLnIxNSk7Ci0gICAgaW5zdC5h
cmdzLnB1c2goYXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yMTQpOwotICAgIGlu
c3QuYXJncy5wdXNoKGFyZyk7Ci0gICAgaW5zdC5wYXRjaEhhc05vbkFyZ0VmZmVjdHMgPSB0cnVl
OwotICAgIGluc3QuZXh0cmFFYXJseUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5z
dC5leHRyYUNsb2JiZXJlZFJlZ3MgPSBuZXcgU2V0KCk7Ci0gICAgaW5zdC5leHRyYUVhcmx5Q2xv
YmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy5yY3gpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucmR4KTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnJzaSk7Ci0gICAgaW5zdC5leHRyYUNs
b2JiZXJlZFJlZ3MuYWRkKFJlZy5yZGkpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFk
ZChSZWcucjgpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjkpOwotICAg
IGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcucjEwKTsKLSAgICBpbnN0LmV4dHJhQ2xv
YmJlcmVkUmVncy5hZGQoUmVnLnIxMSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRk
KFJlZy54bW0wKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEpOwot
ICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1tMik7Ci0gICAgaW5zdC5leHRy
YUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW0zKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnhtbTQpOwotICAgIGluc3QuZXh0cmFDbG9iYmVyZWRSZWdzLmFkZChSZWcueG1t
NSk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJlZy54bW02KTsKLSAgICBpbnN0
LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTcpOwotICAgIGluc3QuZXh0cmFDbG9iYmVy
ZWRSZWdzLmFkZChSZWcueG1tOCk7Ci0gICAgaW5zdC5leHRyYUNsb2JiZXJlZFJlZ3MuYWRkKFJl
Zy54bW05KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEwKTsKLSAg
ICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTExKTsKLSAgICBpbnN0LmV4dHJh
Q2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTEyKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVn
cy5hZGQoUmVnLnhtbTEzKTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnht
bTE0KTsKLSAgICBpbnN0LmV4dHJhQ2xvYmJlcmVkUmVncy5hZGQoUmVnLnhtbTE1KTsKLSAgICBp
bnN0LnBhdGNoQXJnRGF0YSA9IFtdOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6
IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5w
dXNoKHtyb2xlOiBBcmcuRGVmLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRj
aEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAg
IGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDog
NjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBH
UCwgd2lkdGg6IDMyfSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVz
ZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3Jv
bGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBpbnN0LnBhdGNoQXJnRGF0
YS5wdXNoKHtyb2xlOiBBcmcuVXNlLCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5w
YXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdpZHRoOiA2NH0pOwot
ICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Vc2UsIHR5cGU6IEdQLCB3aWR0
aDogNjR9KTsKLSAgICBiYjM0LmFwcGVuZChpbnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUGF0
Y2gpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVTcGVjaWFsKCk7Ci0gICAgaW5zdC5hcmdzLnB1c2go
YXJnKTsKLSAgICBhcmcgPSBBcmcuY3JlYXRlVG1wKFJlZy5yYngpOwotICAgIGluc3QuYXJncy5w
dXNoKGFyZyk7Ci0gICAgYXJnID0gQXJnLmNyZWF0ZVRtcChSZWcucmF4KTsKLSAgICBpbnN0LmFy
Z3MucHVzaChhcmcpOwotICAgIGluc3QucGF0Y2hIYXNOb25BcmdFZmZlY3RzID0gdHJ1ZTsKLSAg
ICBpbnN0LmV4dHJhRWFybHlDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QuZXh0
cmFDbG9iYmVyZWRSZWdzID0gbmV3IFNldCgpOwotICAgIGluc3QucGF0Y2hBcmdEYXRhID0gW107
Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9sZTogQXJnLlVzZSwgdHlwZTogR1AsIHdp
ZHRoOiA2NH0pOwotICAgIGluc3QucGF0Y2hBcmdEYXRhLnB1c2goe3JvbGU6IEFyZy5Db2xkVXNl
LCB0eXBlOiBHUCwgd2lkdGg6IDY0fSk7Ci0gICAgaW5zdC5wYXRjaEFyZ0RhdGEucHVzaCh7cm9s
ZTogQXJnLkNvbGRVc2UsIHR5cGU6IEdQLCB3aWR0aDogNjR9KTsKLSAgICBiYjM0LmFwcGVuZChp
bnN0KTsKLSAgICBpbnN0ID0gbmV3IEluc3QoUmV0NjQpOwotICAgIGFyZyA9IEFyZy5jcmVhdGVU
bXAoUmVnLnJheCk7Ci0gICAgaW5zdC5hcmdzLnB1c2goYXJnKTsKLSAgICBiYjM0LmFwcGVuZChp
bnN0KTsKLSAgICByZXR1cm4gY29kZTsKLX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2Ft
cGxlQmVuY2gvQWlyL3JlZy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNh
bXBsZUJlbmNoL0Fpci9yZWcuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVz
dHMvRVM2U2FtcGxlQmVuY2gvQWlyL3JlZy5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDE0MCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0
cmljdCI7Ci0KLWNsYXNzIFJlZyBleHRlbmRzIFRtcEJhc2UgewotICAgIGNvbnN0cnVjdG9yKGlu
ZGV4LCB0eXBlLCBuYW1lLCBpc0NhbGxlZVNhdmUpCi0gICAgewotICAgICAgICBzdXBlcigpOwot
ICAgICAgICB0aGlzLl9pbmRleCA9IGluZGV4OwotICAgICAgICB0aGlzLl90eXBlID0gdHlwZTsK
LSAgICAgICAgdGhpcy5fbmFtZSA9IG5hbWU7Ci0gICAgICAgIHRoaXMuX2lzQ2FsbGVlU2F2ZSA9
ICEhaXNDYWxsZWVTYXZlOwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgZnJvbVJlZyhyZWcpCi0g
ICAgewotICAgICAgICByZXR1cm4gcmVnOwotICAgIH0KLSAgICAKLSAgICBnZXQgaW5kZXgoKSB7
IHJldHVybiB0aGlzLl9pbmRleDsgfQotICAgIGdldCB0eXBlKCkgeyByZXR1cm4gdGhpcy5fdHlw
ZTsgfQotICAgIGdldCBuYW1lKCkgeyByZXR1cm4gdGhpcy5fbmFtZTsgfQotICAgIGdldCBpc0Nh
bGxlZVNhdmUoKSB7IHJldHVybiB0aGlzLl9pc0NhbGxlZVNhdmU7IH0KLSAgICAKLSAgICBnZXQg
aXNSZWcoKSB7IHJldHVybiB0cnVlOyB9Ci0gICAgCi0gICAgaGFzaCgpCi0gICAgewotICAgICAg
ICBpZiAodGhpcy5pc0dQKQotICAgICAgICAgICAgcmV0dXJuIDEgKyB0aGlzLl9pbmRleDsKLSAg
ICAgICAgcmV0dXJuIC0xIC0gdGhpcy5faW5kZXg7Ci0gICAgfQotICAgIAotICAgIHRvU3RyaW5n
KCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBgJSR7dGhpcy5fbmFtZX1gOwotICAgIH0KLSAgICAK
LSAgICBzdGF0aWMgZXh0cmFjdChhcmcpCi0gICAgewotICAgICAgICBpZiAoYXJnLmlzUmVnKQot
ICAgICAgICAgICAgcmV0dXJuIGFyZy5yZWc7Ci0gICAgICAgIHJldHVybiBudWxsOwotICAgIH0K
LSAgICAKLSAgICBzdGF0aWMgZm9yRWFjaEZhc3QoYXJnLCBmdW5jKQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGFyZy5mb3JFYWNoVG1wRmFzdCh0bXAgPT4gewotICAgICAgICAgICAgaWYgKCF0bXAu
aXNSZWcpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgcmV0dXJuIGZ1bmMo
dG1wKTsKLSAgICAgICAgfSk7Ci0gICAgfQotICAgIAotICAgIHN0YXRpYyBmb3JFYWNoKGFyZywg
YXJnUm9sZSwgYXJnVHlwZSwgYXJnV2lkdGgsIGZ1bmMpCi0gICAgewotICAgICAgICByZXR1cm4g
YXJnLmZvckVhY2hUbXAoCi0gICAgICAgICAgICBhcmdSb2xlLCBhcmdUeXBlLCBhcmdXaWR0aCwK
LSAgICAgICAgICAgICh0bXAsIHJvbGUsIHR5cGUsIHdpZHRoKSA9PiB7Ci0gICAgICAgICAgICAg
ICAgaWYgKCF0bXAuaXNSZWcpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgICAgICByZXR1cm4gZnVuYyh0bXAsIHJvbGUsIHR5cGUsIHdpZHRoKTsKLSAgICAgICAgICAg
IH0pOwotICAgIH0KLX0KLQotewotICAgIFJlZy5yZWdzID0gW107Ci0gICAgZnVuY3Rpb24gbmV3
UmVnKC4uLmFyZ3MpCi0gICAgewotICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IFJlZyguLi5hcmdz
KTsKLSAgICAgICAgUmVnLnJlZ3MucHVzaChyZXN1bHQpOwotICAgICAgICByZXR1cm4gcmVzdWx0
OwotICAgIH0KLQotICAgIC8vIERlZmluZSBYODZfNjQgR1BScwotICAgIHsKLSAgICAgICAgbGV0
IGluZGV4ID0gMDsKLSAgICAgICAgZnVuY3Rpb24gbmV3R1BSKG5hbWUsIGlzQ2FsbGVlU2F2ZSkg
eyByZXR1cm4gbmV3UmVnKGluZGV4KyssIEdQLCBuYW1lLCBpc0NhbGxlZVNhdmUpOyB9Ci0gICAg
ICAgIAotICAgICAgICBSZWcucmF4ID0gbmV3R1BSKCJyYXgiKTsKLSAgICAgICAgUmVnLnJjeCA9
IG5ld0dQUigicmN4Iik7Ci0gICAgICAgIFJlZy5yZHggPSBuZXdHUFIoInJkeCIpOwotICAgICAg
ICBSZWcucmJ4ID0gbmV3R1BSKCJyYngiLCB0cnVlKTsKLSAgICAgICAgUmVnLnJzcCA9IG5ld0dQ
UigicnNwIik7Ci0gICAgICAgIFJlZy5yYnAgPSBuZXdHUFIoInJicCIsIHRydWUpOwotICAgICAg
ICBSZWcucnNpID0gbmV3R1BSKCJyc2kiKTsKLSAgICAgICAgUmVnLnJkaSA9IG5ld0dQUigicmRp
Iik7Ci0gICAgICAgIGZvciAobGV0IGkgPSA4OyBpIDw9IDE1OyArK2kpCi0gICAgICAgICAgICBS
ZWdbYHIke2l9YF0gPSBuZXdHUFIoYHIke2l9YCwgaSA+PSAxMik7Ci0gICAgfQotCi0gICAgLy8g
RGVmaW5lIFg4Nl82NCBGUFJzLgotICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IDE1OyArK2kpCi0g
ICAgICAgIFJlZ1tgeG1tJHtpfWBdID0gbmV3UmVnKGksIEZQLCBgeG1tJHtpfWApOwotCi0gICAg
UmVnLmdwcnMgPSBbXQotICAgIFJlZy5mcHJzID0gW10KLSAgICBSZWcuY2FsbGVlU2F2ZUdQUnMg
PSBbXQotICAgIFJlZy5jYWxsZWVTYXZlRlBScyA9IFtdCi0gICAgUmVnLmNhbGxlZVNhdmVzID0g
W10KLSAgICBmb3IgKGxldCByZWcgb2YgUmVnLnJlZ3MpIHsKLSAgICAgICAgaWYgKHJlZy5pc0dQ
KSB7Ci0gICAgICAgICAgICBSZWcuZ3Bycy5wdXNoKHJlZyk7Ci0gICAgICAgICAgICBpZiAocmVn
LmlzQ2FsbGVlU2F2ZSkKLSAgICAgICAgICAgICAgICBSZWcuY2FsbGVlU2F2ZUdQUnMucHVzaChy
ZWcpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgUmVnLmZwcnMucHVzaChyZWcpOwot
ICAgICAgICAgICAgaWYgKHJlZy5pc0NhbGxlZVNhdmUpCi0gICAgICAgICAgICAgICAgUmVnLmNh
bGxlZVNhdmVGUFJTLnB1c2gocmVnKTsKLSAgICAgICAgfQotICAgICAgICBpZiAocmVnLmlzQ2Fs
bGVlU2F2ZSkKLSAgICAgICAgICAgIFJlZy5jYWxsZWVTYXZlcy5wdXNoKHJlZyk7Ci0gICAgfQot
ICAgIAotICAgIFJlZy5jYWxsRnJhbWVSZWdpc3RlciA9IFJlZy5yYnA7Ci0gICAgUmVnLnN0YWNr
UG9pbnRlclJlZ2lzdGVyID0gUmVnLnJzcDsKLX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2
U2FtcGxlQmVuY2gvQWlyL3N0YWNrX3Nsb3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VU
ZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvc3RhY2tfc2xvdC5qcwkocmV2aXNpb24gMjExNjg4KQor
KysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvc3RhY2tfc2xvdC5qcwkobm9u
ZXhpc3RlbnQpCkBAIC0xLDEwMiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWNsYXNzIFN0YWNrU2xvdCB7Ci0gICAg
Y29uc3RydWN0b3IoaW5kZXgsIGJ5dGVTaXplLCBraW5kKQotICAgIHsKLSAgICAgICAgdGhpcy5f
aW5kZXggPSBpbmRleDsKLSAgICAgICAgdGhpcy5fYnl0ZVNpemUgPSBieXRlU2l6ZTsKLSAgICAg
ICAgdGhpcy5fa2luZCA9IGtpbmQ7Ci0gICAgfQotICAgIAotICAgIGdldCBieXRlU2l6ZSgpIHsg
cmV0dXJuIHRoaXMuX2J5dGVTaXplOyB9Ci0gICAgZ2V0IGtpbmQoKSB7IHJldHVybiB0aGlzLl9r
aW5kOyB9Ci0gICAgCi0gICAgZ2V0IGlzTG9ja2VkKCkgeyByZXR1cm4gdGhpcy5fa2luZCA9PSBM
b2NrZWQ7IH0KLSAgICBnZXQgaXNTcGlsbCgpIHsgcmV0dXJuIHRoaXMuX2tpbmQgPT0gU3BpbGw7
IH0KLSAgICAKLSAgICBnZXQgaW5kZXgoKSB7IHJldHVybiB0aGlzLl9pbmRleDsgfQotCi0gICAg
ZW5zdXJlU2l6ZShzaXplKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX29mZnNldEZyb21GUCkK
LSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiU3RhY2sgc2xvdCBhbHJlYWR5IGFsbG9jYXRl
ZCIpOwotICAgICAgICB0aGlzLl9ieXRlU2l6ZSA9IE1hdGgubWF4KHRoaXMuX2J5dGVTaXplLCBz
aXplKTsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IGFsaWdubWVudCgpCi0gICAgewotICAgICAgICBp
ZiAodGhpcy5fYnl0ZVNpemUgPD0gMSkKLSAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICBp
ZiAodGhpcy5fYnl0ZVNpemUgPD0gMikKLSAgICAgICAgICAgIHJldHVybiAyOwotICAgICAgICBp
ZiAodGhpcy5fYnl0ZVNpemUgPD0gNCkKLSAgICAgICAgICAgIHJldHVybiA0OwotICAgICAgICBy
ZXR1cm4gODsKLSAgICB9Ci0gICAgCi0gICAgZ2V0IG9mZnNldEZyb21GUCgpIHsgcmV0dXJuIHRo
aXMuX29mZnNldEZyb21GUDsgfQotICAgIAotICAgIHNldE9mZnNldEZyb21GUCh2YWx1ZSkgeyB0
aGlzLl9vZmZzZXRGcm9tRlAgPSB2YWx1ZTsgfQotICAgIAotICAgIGhhc2goKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuICgodGhpcy5fa2luZCA9PSBTcGlsbCA/IDEgOiAwKSArIHRoaXMuX2J5dGVT
aXplICogMyArICh0aGlzLl9vZmZzZXRGcm9tRlAgPyB0aGlzLl9vZmZzZXRGcm9tRlAgKiA3IDog
MCkpID4+PiAwOwotICAgIH0KLSAgICAKLSAgICB0b1N0cmluZygpCi0gICAgewotICAgICAgICBy
ZXR1cm4gIiIgKyAodGhpcy5pc1NwaWxsID8gInNwaWxsIiA6ICJzdGFjayIpICsgdGhpcy5faW5k
ZXggKyAiPCIgKyB0aGlzLl9ieXRlU2l6ZSArCi0gICAgICAgICAgICAodGhpcy5fb2Zmc2V0RnJv
bUZQID8gIiwgb2Zmc2V0ID0gIiArIHRoaXMuX29mZnNldEZyb21GUCA6ICIiKSArICI+IjsKLSAg
ICB9Ci0gICAgCi0gICAgc3RhdGljIGV4dHJhY3QoYXJnKQotICAgIHsKLSAgICAgICAgaWYgKGFy
Zy5pc1N0YWNrKQotICAgICAgICAgICAgcmV0dXJuIGFyZy5zdGFja1Nsb3Q7Ci0gICAgICAgIHJl
dHVybiBudWxsOwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgZm9yRWFjaEZhc3QoYXJnLCBmdW5j
KQotICAgIHsKLSAgICAgICAgaWYgKCFhcmcuaXNTdGFjaykKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgCi0gICAgICAgIGxldCByZXBsYWNlbWVudDsKLSAgICAgICAgaWYgKHJlcGxhY2Vt
ZW50ID0gZnVuYyhhcmcuc3RhY2tTbG90KSkKLSAgICAgICAgICAgIHJldHVybiBBcmcuY3JlYXRl
U3RhY2socmVwbGFjZW1lbnQsIHRoaXMuX29mZnNldCk7Ci0gICAgfQotICAgIAotICAgIHN0YXRp
YyBmb3JFYWNoKGFyZywgcm9sZSwgdHlwZSwgd2lkdGgsIGZ1bmMpCi0gICAgewotICAgICAgICBp
ZiAoIWFyZy5pc1N0YWNrKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICAgICAg
bGV0IHJlcGxhY2VtZW50OwotICAgICAgICBpZiAocmVwbGFjZW1lbnQgPSBmdW5jKGFyZy5zdGFj
a1Nsb3QsIHJvbGUsIHR5cGUsIHdpZHRoKSkKLSAgICAgICAgICAgIHJldHVybiBBcmcuY3JlYXRl
U3RhY2socmVwbGFjZW1lbnQsIHRoaXMuX29mZnNldCk7Ci0gICAgfQotfQpJbmRleDogUGVyZm9y
bWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvc3RyZXNzLXRlc3QuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvc3RyZXNzLXRlc3QuanMJKHJl
dmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3N0
cmVzcy10ZXN0LmpzCShub25leGlzdGVudCkKQEAgLTEsNTIgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1sb2FkKCJh
bGwuanMiKTsKLWxvYWQoInBheWxvYWQtZ2JlbXUtZXhlY3V0ZUl0ZXJhdGlvbi5qcyIpOwotbG9h
ZCgicGF5bG9hZC1pbWFnaW5nLWdhdXNzaWFuLWJsdXItZ2F1c3NpYW5CbHVyLmpzIik7Ci1sb2Fk
KCJwYXlsb2FkLWFpcmpzLUFDTGo4Qy5qcyIpOwotbG9hZCgicGF5bG9hZC10eXBlc2NyaXB0LXNj
YW5JZGVudGlmaWVyLmpzIik7Ci1sb2FkKCJiZW5jaG1hcmsuanMiKTsKLQotbGV0IGJlbmNobWFy
ayA9IG5ldyBBaXJCZW5jaG1hcmsoKTsKLWxldCBiZWZvcmUgPSBwcmVjaXNlVGltZSgpOwotCi0v
LyBSdW4gZm9yIGF0IGxlYXN0IDEwIGl0ZXJhdGlvbnMuCi1mb3IgKGxldCBpID0gMDsgaSA8IDEw
OyArK2kpIHsKLSAgICBwcmludCgiUnVubmluZyBtYW5kYXRvcnkgaXRlcmF0aW9uICMiICsgKGkg
KyAxKSArICI6Iik7Ci0gICAgYmVuY2htYXJrLnJ1bkl0ZXJhdGlvbigpOwotfQotCi0vLyBSdW4g
dW50aWwgd2UgaGF2ZSBiZWVuIHJ1bm5pbmcgZm9yIHR3byBzZWNvbmRzLgotd2hpbGUgKHByZWNp
c2VUaW1lKCkgPCBiZWZvcmUgKyAyKSB7Ci0gICAgcHJpbnQoIlJ1bm5pbmcgYm9udXMgaXRlcmF0
aW9uOiIpOwotICAgIGJlbmNobWFyay5ydW5JdGVyYXRpb24oKTsKLX0KLQotcHJpbnQoIlN1Y2Nl
c3MhIik7Ci0KLQotCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci9z
dHJpcC1oYXNoLnJiCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVu
Y2gvQWlyL3N0cmlwLWhhc2gucmIJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVz
dHMvRVM2U2FtcGxlQmVuY2gvQWlyL3N0cmlwLWhhc2gucmIJKG5vbmV4aXN0ZW50KQpAQCAtMSwx
MCArMCwwIEBACi0jIFRoaXMgaXMgYSB1c2VmdWwgaGFjayBmb3IgY2xlYW5pbmcgdXAgdGhlIHBh
eWxvYWRzIGdlbmVyYXRlZCBieSBBaXI6OmR1bXBBc0pTKCkuIFRoYXQgd2lsbAotIyBnZW5lcmF0
ZSBjb2RlIHRoYXQgY29tcHV0ZXMgdGhlIGhhc2ggb2YgaW5zdHMgYW5kIHN0YWNrIHNsb3RzIGFu
ZCBjaGVja3MgaXQuIFRoaXMgaXMgdXNlZnVsIGZvcgotIyBkZWJ1Z2dpbmcsIGJ1dCB3ZSBwcm9i
YWJseSBkb24ndCB3YW50IHRoYXQgb3ZlcmhlYWQgaW4gdGhlIHBheWxvYWRzIHdlIGRlcGxveS4g
U28sIHlvdSBjYW4gcnVuCi0jIHRoaXMgc2NyaXB0IHRvIHJlbW92ZSBhbGwgb2YgdGhlIGhhc2hp
bmcgY29kZS4KLQotQVJHVi5lYWNoIHsKLSAgICB8IGZpbGVuYW1lIHwKLSAgICBJTzo6d3JpdGUo
ZmlsZW5hbWUsIElPOjpyZWFkKGZpbGVuYW1lKS5saW5lcy5yZWplY3R7fHZ8IHYgPX4gL2hhc2gv
aX0uam9pbigpKQotfQotCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fp
ci9zeW1ib2xzLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVu
Y2gvQWlyL3N5bWJvbHMuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMv
RVM2U2FtcGxlQmVuY2gvQWlyL3N5bWJvbHMuanMJKG5vbmV4aXN0ZW50KQpAQCAtMSwxNjIgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBz
dHJpY3QiOwotCi0vLyBUaGlzIGZpbGUgaXMgZm9yIG1pc2Mgc3ltYm9scy4KLQotLy8gQjMgdHlw
ZXMKLWNvbnN0IFZvaWQgPSBTeW1ib2woIlZvaWQiKTsKLWNvbnN0IEludDMyID0gU3ltYm9sKCJJ
bnQzMiIpOwotY29uc3QgSW50NjQgPSBTeW1ib2woIkludDY0Iik7Ci1jb25zdCBGbG9hdCA9IFN5
bWJvbCgiRmxvYXQiKTsKLWNvbnN0IERvdWJsZSA9IFN5bWJvbCgiRG91YmxlIik7Ci0KLS8vIEFy
ZyB0eXBlCi1jb25zdCBHUCA9IFN5bWJvbCgiR1AiKTsKLWNvbnN0IEZQID0gU3ltYm9sKCJGUCIp
OwotCi0vLyBTdGFjayBzbG90IGtpbmQKLWNvbnN0IExvY2tlZCA9IFN5bWJvbCgiTG9ja2VkIik7
Ci1jb25zdCBTcGlsbCA9IFN5bWJvbCgiU3BpbGwiKTsKLQotLy8gRnJlcXVlbmN5IGNsYXNzCi1j
b25zdCBOb3JtYWwgPSBTeW1ib2woIk5vcm1hbCIpOwotY29uc3QgUmFyZSA9IFN5bWJvbCgiUmFy
ZSIpOwotCi0vLyBSZWxhdGlvbmFsIGNvbmRpdGlvbnMKLWNvbnN0IEVxdWFsID0gU3ltYm9sKCJF
cXVhbCIpOwotY29uc3QgTm90RXF1YWwgPSBTeW1ib2woIk5vdEVxdWFsIik7Ci1jb25zdCBBYm92
ZSA9IFN5bWJvbCgiQWJvdmUiKTsKLWNvbnN0IEFib3ZlT3JFcXVhbCA9IFN5bWJvbCgiQWJvdmVP
ckVxdWFsIik7Ci1jb25zdCBCZWxvdyA9IFN5bWJvbCgiQmVsb3ciKTsKLWNvbnN0IEJlbG93T3JF
cXVhbCA9IFN5bWJvbCgiQmVsb3dPckVxdWFsIik7Ci1jb25zdCBHcmVhdGVyVGhhbiA9IFN5bWJv
bCgiR3JlYXRlclRoYW4iKTsKLWNvbnN0IEdyZWF0ZXJUaGFuT3JFcXVhbCA9IFN5bWJvbCgiR3Jl
YXRlclRoYW5PckVxdWFsIik7Ci1jb25zdCBMZXNzVGhhbiA9IFN5bWJvbCgiTGVzc1RoYW4iKTsK
LWNvbnN0IExlc3NUaGFuT3JFcXVhbCA9IFN5bWJvbCgiTGVzc1RoYW5PckVxdWFsIik7Ci0KLWZ1
bmN0aW9uIHJlbENvbmRDb2RlKGNvbmQpCi17Ci0gICAgc3dpdGNoIChjb25kKSB7Ci0gICAgY2Fz
ZSBFcXVhbDoKLSAgICAgICAgcmV0dXJuIDQ7Ci0gICAgY2FzZSBOb3RFcXVhbDoKLSAgICAgICAg
cmV0dXJuIDU7Ci0gICAgY2FzZSBBYm92ZToKLSAgICAgICAgcmV0dXJuIDc7Ci0gICAgY2FzZSBB
Ym92ZU9yRXF1YWw6Ci0gICAgICAgIHJldHVybiAzOwotICAgIGNhc2UgQmVsb3c6Ci0gICAgICAg
IHJldHVybiAyOwotICAgIGNhc2UgQmVsb3dPckVxdWFsOgotICAgICAgICByZXR1cm4gNjsKLSAg
ICBjYXNlIEdyZWF0ZXJUaGFuOgotICAgICAgICByZXR1cm4gMTU7Ci0gICAgY2FzZSBHcmVhdGVy
VGhhbk9yRXF1YWw6Ci0gICAgICAgIHJldHVybiAxMzsKLSAgICBjYXNlIExlc3NUaGFuOgotICAg
ICAgICByZXR1cm4gMTI7Ci0gICAgY2FzZSBMZXNzVGhhbk9yRXF1YWw6Ci0gICAgICAgIHJldHVy
biAxNDsKLSAgICBkZWZhdWx0OgotICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCByZWwgY29u
ZCIpOwotICAgIH0KLX0KLQotLy8gUmVzdWx0IGNvbmRpdGlvbnMKLWNvbnN0IE92ZXJmbG93ID0g
U3ltYm9sKCJPdmVyZmxvdyIpOwotY29uc3QgU2lnbmVkID0gU3ltYm9sKCJTaWduZWQiKTsKLWNv
bnN0IFBvc2l0aXZlT3JaZXJvID0gU3ltYm9sKCJQb3NpdGl2ZU9yWmVybyIpOwotY29uc3QgWmVy
byA9IFN5bWJvbCgiWmVybyIpOwotY29uc3QgTm9uWmVybyA9IFN5bWJvbCgiTm9uWmVybyIpOwot
Ci1mdW5jdGlvbiByZXNDb25kQ29kZShjb25kKQotewotICAgIHN3aXRjaCAoY29uZCkgewotICAg
IGNhc2UgT3ZlcmZsb3c6Ci0gICAgICAgIHJldHVybiAwOwotICAgIGNhc2UgU2lnbmVkOgotICAg
ICAgICByZXR1cm4gODsKLSAgICBjYXNlIFBvc2l0aXZlT3JaZXJvOgotICAgICAgICByZXR1cm4g
OTsKLSAgICBjYXNlIFplcm86Ci0gICAgICAgIHJldHVybiA0OwotICAgIGNhc2UgTm9uWmVybzoK
LSAgICAgICAgcmV0dXJuIDU7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCYWQgcmVzIGNvbmQ6ICIgKyBjb25kLnRvU3RyaW5nKCkpOwotICAgIH0KLX0KLQotLy8gRG91
YmxlIGNvbmRpdGlvbnMKLWNvbnN0IERvdWJsZUVxdWFsID0gU3ltYm9sKCJEb3VibGVFcXVhbCIp
OwotY29uc3QgRG91YmxlTm90RXF1YWwgPSBTeW1ib2woIkRvdWJsZU5vdEVxdWFsIik7Ci1jb25z
dCBEb3VibGVHcmVhdGVyVGhhbiA9IFN5bWJvbCgiRG91YmxlR3JlYXRlclRoYW4iKTsKLWNvbnN0
IERvdWJsZUdyZWF0ZXJUaGFuT3JFcXVhbCA9IFN5bWJvbCgiRG91YmxlR3JlYXRlclRoYW5PckVx
dWFsIik7Ci1jb25zdCBEb3VibGVMZXNzVGhhbiA9IFN5bWJvbCgiRG91YmxlTGVzc1RoYW4iKTsK
LWNvbnN0IERvdWJsZUxlc3NUaGFuT3JFcXVhbCA9IFN5bWJvbCgiRG91YmxlTGVzc1RoYW5PckVx
dWFsIik7Ci1jb25zdCBEb3VibGVFcXVhbE9yVW5vcmRlcmVkID0gU3ltYm9sKCJEb3VibGVFcXVh
bE9yVW5vcmRlcmVkIik7Ci1jb25zdCBEb3VibGVOb3RFcXVhbE9yVW5vcmRlcmVkID0gU3ltYm9s
KCJEb3VibGVOb3RFcXVhbE9yVW5vcmRlcmVkIik7Ci1jb25zdCBEb3VibGVHcmVhdGVyVGhhbk9y
VW5vcmRlcmVkID0gU3ltYm9sKCJEb3VibGVHcmVhdGVyVGhhbk9yVW5vcmRlcmVkIik7Ci1jb25z
dCBEb3VibGVHcmVhdGVyVGhhbk9yRXF1YWxPclVub3JkZXJlZCA9IFN5bWJvbCgiRG91YmxlR3Jl
YXRlclRoYW5PckVxdWFsT3JVbm9yZGVyZWQiKTsKLWNvbnN0IERvdWJsZUxlc3NUaGFuT3JVbm9y
ZGVyZWQgPSBTeW1ib2woIkRvdWJsZUxlc3NUaGFuT3JVbm9yZGVyZWQiKTsKLWNvbnN0IERvdWJs
ZUxlc3NUaGFuT3JFcXVhbE9yVW5vcmRlcmVkID0gU3ltYm9sKCJEb3VibGVMZXNzVGhhbk9yRXF1
YWxPclVub3JkZXJlZCIpOwotCi1mdW5jdGlvbiBkb3VibGVDb25kQ29kZShjb25kKQotewotICAg
IGNvbnN0IGJpdEludmVydCA9IDB4MTA7Ci0gICAgY29uc3QgYml0U3BlY2lhbCA9IDB4MjA7Ci0g
ICAgc3dpdGNoIChjb25kKSB7Ci0gICAgY2FzZSBEb3VibGVFcXVhbDoKLSAgICAgICAgcmV0dXJu
IDQgfCBiaXRTcGVjaWFsOwotICAgIGNhc2UgRG91YmxlTm90RXF1YWw6Ci0gICAgICAgIHJldHVy
biA1OwotICAgIGNhc2UgRG91YmxlR3JlYXRlclRoYW46Ci0gICAgICAgIHJldHVybiA3OwotICAg
IGNhc2UgRG91YmxlR3JlYXRlclRoYW5PckVxdWFsOgotICAgICAgICByZXR1cm4gMzsKLSAgICBj
YXNlIERvdWJsZUxlc3NUaGFuOgotICAgICAgICByZXR1cm4gNyB8IGJpdEludmVydDsKLSAgICBj
YXNlIERvdWJsZUxlc3NUaGFuT3JFcXVhbDoKLSAgICAgICAgcmV0dXJuIDMgfCBiaXRJbnZlcnQ7
Ci0gICAgY2FzZSBEb3VibGVFcXVhbE9yVW5vcmRlcmVkOgotICAgICAgICByZXR1cm4gNDsKLSAg
ICBjYXNlIERvdWJsZU5vdEVxdWFsT3JVbm9yZGVyZWQ6Ci0gICAgICAgIHJldHVybiA1IHwgYml0
U3BlY2lhbDsKLSAgICBjYXNlIERvdWJsZUdyZWF0ZXJUaGFuT3JVbm9yZGVyZWQ6Ci0gICAgICAg
IHJldHVybiAyIHwgYml0SW52ZXJ0OwotICAgIGNhc2UgRG91YmxlR3JlYXRlclRoYW5PckVxdWFs
T3JVbm9yZGVyZWQ6Ci0gICAgICAgIHJldHVybiA2IHwgYml0SW52ZXJ0OwotICAgIGNhc2UgRG91
YmxlTGVzc1RoYW5PclVub3JkZXJlZDoKLSAgICAgICAgcmV0dXJuIDI7Ci0gICAgY2FzZSBEb3Vi
bGVMZXNzVGhhbk9yRXF1YWxPclVub3JkZXJlZDoKLSAgICAgICAgcmV0dXJuIDY7Ci0gICAgZGVm
YXVsdDoKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgY29uZCIpOwotICAgIH0KLX0KLQot
Ly8gRGVmaW5lIHBvaW50ZXJUeXBlKCkKLWNvbnN0IFB0ciA9IDY0OwpJbmRleDogUGVyZm9ybWFu
Y2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvdGVzdC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZv
cm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3Rlc3QuaHRtbAkocmV2aXNpb24gMjExNjg4
KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvdGVzdC5odG1sCShub25l
eGlzdGVudCkKQEAgLTEsNDUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5BaXIuanM8
L3RpdGxlPgotPHNjcmlwdCBzcmM9InN5bWJvbHMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
InRtcF9iYXNlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJhcmcuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCBzcmM9ImJhc2ljX2Jsb2NrLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJjb2Rl
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJmcmVxdWVudGVkX2Jsb2NrLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSJpbnN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJvcGNvZGUu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlZy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0ic3RhY2tfc2xvdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0idG1wLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSJ1dGlsLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJjdXN0b20u
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImxpdmVuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSJpbnNlcnRpb25fc2V0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJhbGxvY2F0
ZV9zdGFjay5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icGF5bG9hZC1nYmVtdS1leGVjdXRl
SXRlcmF0aW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJwYXlsb2FkLWltYWdpbmctZ2F1
c3NpYW4tYmx1ci1nYXVzc2lhbkJsdXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InBheWxv
YWQtYWlyanMtQUNMajhDLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJwYXlsb2FkLXR5cGVz
Y3JpcHQtc2NhbklkZW50aWZpZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImJlbmNobWFy
ay5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAg
ICAgIHRyeSB7Ci0gICAgICAgICAgICB2YXIgcmVzdWx0ID0gcnVuQmVuY2htYXJrKCk7Ci0gICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0LXN1bW1hcnkiKS5pbm5lckhU
TUwgPSAiVGhhdCB0b29rICIgKyByZXN1bHQgKyAiIG1zLiI7Ci0gICAgICAgIH0gY2F0Y2ggKGUp
IHsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQtc3VtbWFyeSIp
LmlubmVySFRNTCA9ICJGYWlsZWQ6ICIgKyBlOwotICAgICAgICB9Ci0gICAgfQotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxoMT5BaXIuanM8L2gxPgotPHA+Ci0gIDxkaXYgaWQ9InJlc3Vs
dC1zdW1tYXJ5Ij48L2Rpdj4KLSAgPGRpdj48YSBocmVmPSJqYXZhc2NyaXB0OnJ1blRlc3QoKSI+
U3RhcnQgVGVzdDwvYT48L2Rpdj4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KLQotCkluZGV4OiBQ
ZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Fpci90ZXN0LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3Rlc3QuanMJKHJldmlzaW9uIDIx
MTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3Rlc3QuanMJKG5v
bmV4aXN0ZW50KQpAQCAtMSwzNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWxvYWQoImFsbC5qcyIpOwotbG9hZCgi
cGF5bG9hZC1nYmVtdS1leGVjdXRlSXRlcmF0aW9uLmpzIik7Ci1sb2FkKCJwYXlsb2FkLWltYWdp
bmctZ2F1c3NpYW4tYmx1ci1nYXVzc2lhbkJsdXIuanMiKTsKLWxvYWQoInBheWxvYWQtYWlyanMt
QUNMajhDLmpzIik7Ci1sb2FkKCJwYXlsb2FkLXR5cGVzY3JpcHQtc2NhbklkZW50aWZpZXIuanMi
KTsKLWxvYWQoImJlbmNobWFyay5qcyIpOwotCi1sZXQgcmVzdWx0ID0gcnVuQmVuY2htYXJrKCk7
Ci1wcmludCgiVGhhdCB0b29rICIgKyByZXN1bHQgKyAiIG1zLiIpOwpJbmRleDogUGVyZm9ybWFu
Y2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvdG1wLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1h
bmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3RtcC5qcwkocmV2aXNpb24gMjExNjg4KQorKysg
UGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvdG1wLmpzCShub25leGlzdGVudCkK
QEAgLTEsNjYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAK
LSAqLwotInVzZSBzdHJpY3QiOwotCi1jbGFzcyBUbXAgZXh0ZW5kcyBUbXBCYXNlIHsKLSAgICBj
b25zdHJ1Y3RvcihpbmRleCwgdHlwZSkKLSAgICB7Ci0gICAgICAgIHN1cGVyKCk7Ci0gICAgICAg
IHRoaXMuX2luZGV4ID0gaW5kZXg7Ci0gICAgICAgIHRoaXMuX3R5cGUgPSB0eXBlOwotICAgIH0K
LSAgICAKLSAgICBzdGF0aWMgZnJvbVJlZyhyZWcpCi0gICAgewotICAgICAgICByZXR1cm4gcmVn
OwotICAgIH0KLSAgICAKLSAgICBnZXQgaW5kZXgoKSB7IHJldHVybiB0aGlzLl9pbmRleDsgfQot
ICAgIGdldCB0eXBlKCkgeyByZXR1cm4gdGhpcy5fdHlwZTsgfQotICAgIAotICAgIGdldCBpc1Jl
ZygpIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgCi0gICAgaGFzaCgpCi0gICAgewotICAgICAgICBp
ZiAoaXNHUCkKLSAgICAgICAgICAgIHJldHVybiBSZWcuZ3Byc1tSZWcuZ3Bycy5sZW5ndGggLSAx
XS5oYXNoKCkgKyAxICsgdGhpcy5faW5kZXg7Ci0gICAgICAgIHJldHVybiBSZWcuZnByc1tSZWcu
ZnBycy5sZW5ndGggLSAxXS5oYXNoKCkgLSAxIC0gdGhpcy5faW5kZXg7Ci0gICAgfQotCi0gICAg
dG9TdHJpbmcoKQotICAgIHsKLSAgICAgICAgcmV0dXJuICIlIiArICh0aGlzLmlzR1AgPyAiIiA6
ICJmIikgKyAidG1wIiArIHRoaXMuX2luZGV4OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgZXh0
cmFjdChhcmcpCi0gICAgewotICAgICAgICBpZiAoYXJnLmlzVG1wKQotICAgICAgICAgICAgcmV0
dXJuIGFyZy50bXA7Ci0gICAgICAgIHJldHVybiBudWxsOwotICAgIH0KLQotICAgIHN0YXRpYyBm
b3JFYWNoRmFzdChhcmcsIGZ1bmMpIHsgcmV0dXJuIGFyZy5mb3JFYWNoVG1wRmFzdChmdW5jKTsg
fQotICAgIHN0YXRpYyBmb3JFYWNoKGFyZywgcm9sZSwgdHlwZSwgd2lkdGgsIGZ1bmMpIHsgcmV0
dXJuIGFyZy5mb3JFYWNoVG1wKHJvbGUsIHR5cGUsIHdpZHRoLCBmdW5jKTsgfQotfQpJbmRleDog
UGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvdG1wX2Jhc2UuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvdG1wX2Jhc2UuanMJKHJl
dmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3Rt
cF9iYXNlLmpzCShub25leGlzdGVudCkKQEAgLTEsNTUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1jbGFzcyBUbXBC
YXNlIHsKLSAgICBnZXQgaXNHUCgpIHsgcmV0dXJuIHRoaXMudHlwZSA9PSBHUDsgfQotICAgIGdl
dCBpc0ZQKCkgeyByZXR1cm4gdGhpcy50eXBlID09IEZQOyB9Ci0gICAgCi0gICAgZ2V0IGlzR1BS
KCkgeyByZXR1cm4gdGhpcy5pc1JlZyAmJiB0aGlzLmlzR1A7IH0KLSAgICBnZXQgaXNGUFIoKSB7
IHJldHVybiB0aGlzLmlzUmVnICYmIHRoaXMuaXNGUDsgfQotICAgIAotICAgIGdldCByZWcoKQot
ICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLmlzUmVnKQotICAgICAgICAgICAgdGhyb3cgbmV3IEVy
cm9yKCJDYWxsZWQgLnJlZyBvbiBub24tUmVnIik7Ci0gICAgICAgIHJldHVybiB0aGlzOwotICAg
IH0KLQotICAgIGdldCBncHIoKQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLmlzR1BSKQotICAg
ICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJDYWxsZWQgLmdwciBvbiBub24tR1BSIik7Ci0gICAg
ICAgIHJldHVybiB0aGlzOwotICAgIH0KLSAgICAKLSAgICBnZXQgZnByKCkKLSAgICB7Ci0gICAg
ICAgIGlmICghdGhpcy5pc0ZQUikKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ2FsbGVk
IC5mcHIgb24gbm9uLUZQUiIpOwotICAgICAgICByZXR1cm4gdGhpczsKLSAgICB9Ci19Ci0KSW5k
ZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQWlyL3V0aWwuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvdXRpbC5qcwkocmV2aXNp
b24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9BaXIvdXRpbC5q
cwkobm9uZXhpc3RlbnQpCkBAIC0xLDE3OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAotICovCi0idXNlIHN0cmljdCI7Ci0KLWZ1bmN0aW9uIGlzUmVwcmVz
ZW50YWJsZUFzSW50MzIodmFsdWUpCi17Ci0gICAgcmV0dXJuICh2YWx1ZSB8IDApID09PSB2YWx1
ZTsKLX0KLQotZnVuY3Rpb24gYWRkSW5kZXhlZChsaXN0LCBjb25zLCAuLi5hcmdzKQotewotICAg
IGxldCByZXN1bHQgPSBuZXcgY29ucyhsaXN0Lmxlbmd0aCwgLi4uYXJncyk7Ci0gICAgbGlzdC5w
dXNoKHJlc3VsdCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotY29uc3Qgc3RhY2tBbGlnbm1l
bnRCeXRlcyA9IDE2OwotCi1mdW5jdGlvbiByb3VuZFVwVG9NdWx0aXBsZU9mKGFtb3VudCwgdmFs
dWUpCi17Ci0gICAgcmV0dXJuIE1hdGguY2VpbCh2YWx1ZSAvIGFtb3VudCkgKiBhbW91bnQ7Ci19
Ci0KLWZ1bmN0aW9uIHN5bWJvbE5hbWUoc3ltYm9sKQotewotICAgIGxldCBmdWxsU3RyaW5nID0g
c3ltYm9sLnRvU3RyaW5nKCk7Ci0gICAgcmV0dXJuIGZ1bGxTdHJpbmcuc3Vic3RyaW5nKCJTeW1i
b2woIi5sZW5ndGgsIGZ1bGxTdHJpbmcubGVuZ3RoIC0gIikiLmxlbmd0aCk7Ci19Ci0KLWZ1bmN0
aW9uIGxvd2VyU3ltYm9sTmFtZShzeW1ib2wpCi17Ci0gICAgcmV0dXJuIHN5bWJvbE5hbWUoc3lt
Ym9sKS50b0xvd2VyQ2FzZSgpOwotfQotCi1mdW5jdGlvbiBzZXRUb1N0cmluZyhzZXQpCi17Ci0g
ICAgbGV0IHJlc3VsdCA9ICIiOwotICAgIGZvciAobGV0IHZhbHVlIG9mIHNldCkgewotICAgICAg
ICBpZiAocmVzdWx0KQotICAgICAgICAgICAgcmVzdWx0ICs9ICIsICI7Ci0gICAgICAgIHJlc3Vs
dCArPSB2YWx1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotZnVuY3Rpb24gbWVy
Z2VJbnRvU2V0KHRhcmdldCwgc291cmNlKQotewotICAgIGxldCBkaWRBZGQgPSBmYWxzZTsKLSAg
ICBmb3IgKGxldCB2YWx1ZSBvZiBzb3VyY2UpIHsKLSAgICAgICAgaWYgKHRhcmdldC5oYXModmFs
dWUpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIHRhcmdldC5hZGQodmFsdWUpOwot
ICAgICAgICBkaWRBZGQgPSB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZGlkQWRkOwotfQotCi1m
dW5jdGlvbiBub25FbXB0eVJhbmdlc092ZXJsYXAobGVmdE1pbiwgbGVmdE1heCwgcmlnaHRNaW4s
IHJpZ2h0TWF4KQotewotICAgIGlmIChsZWZ0TWluID49IGxlZnRNYXgpCi0gICAgICAgIHRocm93
IG5ldyBFcnJvcigiQmFkIGxlZnQgcmFuZ2UiKTsKLSAgICBpZiAocmlnaHRNaW4gPj0gcmlnaHRN
YXgpCi0gICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIHJpZ2h0IHJhbmdlIik7Ci0gICAgCi0g
ICAgaWYgKGxlZnRNaW4gPD0gcmlnaHRNaW4gJiYgbGVmdE1heCA+IHJpZ2h0TWluKQotICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICBpZiAocmlnaHRNaW4gPD0gbGVmdE1pbiAmJiByaWdodE1heCA+
IGxlZnRNaW4pCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQot
ZnVuY3Rpb24gcmFuZ2VzT3ZlcmxhcChsZWZ0TWluLCBsZWZ0TWF4LCByaWdodE1pbiwgcmlnaHRN
YXgpCi17Ci0gICAgaWYgKGxlZnRNaW4gPiBsZWZ0TWF4KQotICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIkJhZCBsZWZ0IHJhbmdlIik7Ci0gICAgaWYgKHJpZ2h0TWluID4gcmlnaHRNYXgpCi0gICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQmFkIHJpZ2h0IHJhbmdlIik7Ci0gICAgCi0gICAgaWYgKGxl
ZnRNaW4gPT0gbGVmdE1heCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChyaWdodE1p
biA9PSByaWdodE1heCkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAotICAgIHJldHVybiBu
b25FbXB0eVJhbmdlc092ZXJsYXAobGVmdE1pbiwgbGVmdE1heCwgcmlnaHRNaW4sIHJpZ2h0TWF4
KTsKLX0KLQotZnVuY3Rpb24gcmVtb3ZlQWxsTWF0Y2hpbmcoYXJyYXksIGZ1bmMpCi17Ci0gICAg
bGV0IHNyY0luZGV4ID0gMDsKLSAgICBsZXQgZHN0SW5kZXggPSAwOwotICAgIHdoaWxlIChzcmNJ
bmRleCA8IGFycmF5Lmxlbmd0aCkgewotICAgICAgICBsZXQgdmFsdWUgPSBhcnJheVtzcmNJbmRl
eCsrXTsKLSAgICAgICAgaWYgKCFmdW5jKHZhbHVlKSkKLSAgICAgICAgICAgIGFycmF5W2RzdElu
ZGV4KytdID0gdmFsdWU7Ci0gICAgfQotICAgIGFycmF5Lmxlbmd0aCA9IGRzdEluZGV4OwotfQot
Ci1mdW5jdGlvbiBidWJibGVTb3J0KGFycmF5LCBsZXNzVGhhbikKLXsKLSAgICBmdW5jdGlvbiBz
d2FwKGksIGopCi0gICAgewotICAgICAgICB2YXIgdG1wID0gYXJyYXlbaV07Ci0gICAgICAgIGFy
cmF5W2ldID0gYXJyYXlbal07Ci0gICAgICAgIGFycmF5W2pdID0gdG1wOwotICAgIH0KLSAgICAK
LSAgICBsZXQgYmVnaW4gPSAwOwotICAgIGxldCBlbmQgPSBhcnJheS5sZW5ndGg7Ci0gICAgZm9y
ICg7OykgewotICAgICAgICBsZXQgY2hhbmdlZCA9IGZhbHNlOwotICAgICAgICAKLSAgICAgICAg
ZnVuY3Rpb24gYnViYmxlKGksIGopCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChsZXNzVGhh
bihhcnJheVtpXSwgYXJyYXlbal0pKSB7Ci0gICAgICAgICAgICAgICAgc3dhcChpLCBqKTsKLSAg
ICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgIAotICAgICAgICBpZiAoZW5kIDwgYmVnaW4pCi0gICAgICAgICAgICB0aHJvdyBuZXcgRXJy
b3IoIkJlZ2luIGFuZCBlbmQgYXJlIG1lc3NlZCB1cCIpOwotICAgICAgICAKLSAgICAgICAgbGV0
IGxpbWl0ID0gZW5kIC0gYmVnaW47Ci0gICAgICAgIGZvciAobGV0IGkgPSBsaW1pdDsgaS0tID4g
MTspCi0gICAgICAgICAgICBidWJibGUoYmVnaW4gKyBpLCBiZWdpbiArIGkgLSAxKTsKLSAgICAg
ICAgaWYgKCFjaGFuZ2VkKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICAgICAg
Ly8gQWZ0ZXIgb25lIHJ1biwgdGhlIGZpcnN0IGVsZW1lbnQgaW4gdGhlIGxpc3QgaXMgZ3VhcmFu
dGVlZCB0byBiZSB0aGUgc21hbGxlc3QuCi0gICAgICAgIGJlZ2luKys7Ci0gICAgICAgIAotICAg
ICAgICAvLyBOb3cgZ28gaW4gdGhlIG90aGVyIGRpcmVjdGlvbi4gVGhpcyBlbGltaW5hdGVzIG1v
c3Qgc29ydGluZyBwYXRob2xvZ2llcy4KLSAgICAgICAgY2hhbmdlZCA9IGZhbHNlOwotICAgICAg
ICAKLSAgICAgICAgaWYgKGVuZCA8IGJlZ2luKQotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJCZWdpbiBhbmQgZW5kIGFyZSBtZXNzZWQgdXAiKTsKLSAgICAgICAgCi0gICAgICAgIGxpbWl0
ID0gZW5kIC0gYmVnaW47Ci0gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgbGltaXQ7ICsraSkK
LSAgICAgICAgICAgIGJ1YmJsZShiZWdpbiArIGksIGJlZ2luICsgaSAtIDEpOwotICAgICAgICBp
ZiAoIWNoYW5nZWQpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgICAgICAvLyBO
b3cgdGhlIGxhc3QgZWxlbWVudCBpcyBndWFyYW50ZWVkIHRvIGJlIHRoZSBsYXJnZXN0LgotICAg
ICAgICBlbmQtLTsKLSAgICB9Ci19Ci0KLWxldCBjdXJyZW50VGltZTsKLWlmICh0aGlzLnBlcmZv
cm1hbmNlICYmIHBlcmZvcm1hbmNlLm5vdykKLSAgICBjdXJyZW50VGltZSA9IGZ1bmN0aW9uKCkg
eyByZXR1cm4gcGVyZm9ybWFuY2Uubm93KCkgfTsKLWVsc2UgaWYgKHRoaXMucHJlY2lzZVRpbWUp
Ci0gICAgY3VycmVudFRpbWUgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHByZWNpc2VUaW1lKCkgKiAx
MDAwOyB9OwotZWxzZQotICAgIGN1cnJlbnRUaW1lID0gZnVuY3Rpb24oKSB7IHJldHVybiArbmV3
IERhdGUoKTsgfTsKLQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNp
Yy9hc3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9C
YXNpYy9hc3QuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2Ft
cGxlQmVuY2gvQmFzaWMvYXN0LmpzCShub25leGlzdGVudCkKQEAgLTEsMjczICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsK
LQotY29uc3QgQmFzaWMgPSB7fTsKLQotQmFzaWMuTnVtYmVyQXBwbHkgPSBmdW5jdGlvbihzdGF0
ZSkKLXsKLSAgICAvLyBJJ2QgY2FsbCB0aGlzIGFyZ3VtZW50cyBidXQgd2UncmUgaW4gc3RyaWN0
IG1vZGUuCi0gICAgbGV0IHBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnMubWFwKHZhbHVlID0+
IHZhbHVlLmV2YWx1YXRlKHN0YXRlKSk7Ci0gICAgCi0gICAgcmV0dXJuIHN0YXRlLmdldFZhbHVl
KHRoaXMubmFtZSwgcGFyYW1ldGVycy5sZW5ndGgpLmFwcGx5KHN0YXRlLCBwYXJhbWV0ZXJzKTsK
LX07Ci0KLUJhc2ljLlZhcmlhYmxlID0gZnVuY3Rpb24oc3RhdGUpCi17Ci0gICAgbGV0IHBhcmFt
ZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnMubWFwKHZhbHVlID0+IHZhbHVlLmV2YWx1YXRlKHN0YXRl
KSk7Ci0gICAgCi0gICAgcmV0dXJuIHN0YXRlLmdldFZhbHVlKHRoaXMubmFtZSwgcGFyYW1ldGVy
cy5sZW5ndGgpLmxlZnRBcHBseShzdGF0ZSwgcGFyYW1ldGVycyk7Ci19Ci0KLUJhc2ljLkNvbnN0
ID0gZnVuY3Rpb24oc3RhdGUpCi17Ci0gICAgcmV0dXJuIHRoaXMudmFsdWU7Ci19Ci0KLUJhc2lj
Lk51bWJlclBvdyA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIHJldHVybiBNYXRoLnBvdyh0aGlz
LmxlZnQuZXZhbHVhdGUoc3RhdGUpLCB0aGlzLnJpZ2h0LmV2YWx1YXRlKHN0YXRlKSk7Ci19Ci0K
LUJhc2ljLk51bWJlck11bCA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIHJldHVybiB0aGlzLmxl
ZnQuZXZhbHVhdGUoc3RhdGUpICogdGhpcy5yaWdodC5ldmFsdWF0ZShzdGF0ZSk7Ci19Ci0KLUJh
c2ljLk51bWJlckRpdiA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIHJldHVybiB0aGlzLmxlZnQu
ZXZhbHVhdGUoc3RhdGUpIC8gdGhpcy5yaWdodC5ldmFsdWF0ZShzdGF0ZSk7Ci19Ci0KLUJhc2lj
Lk51bWJlck5lZyA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIHJldHVybiAtdGhpcy50ZXJtLmV2
YWx1YXRlKHN0YXRlKTsKLX0KLQotQmFzaWMuTnVtYmVyQWRkID0gZnVuY3Rpb24oc3RhdGUpCi17
Ci0gICAgcmV0dXJuIHRoaXMubGVmdC5ldmFsdWF0ZShzdGF0ZSkgKyB0aGlzLnJpZ2h0LmV2YWx1
YXRlKHN0YXRlKTsKLX0KLQotQmFzaWMuTnVtYmVyU3ViID0gZnVuY3Rpb24oc3RhdGUpCi17Ci0g
ICAgcmV0dXJuIHRoaXMubGVmdC5ldmFsdWF0ZShzdGF0ZSkgLSB0aGlzLnJpZ2h0LmV2YWx1YXRl
KHN0YXRlKTsKLX0KLQotQmFzaWMuU3RyaW5nVmFyID0gZnVuY3Rpb24oc3RhdGUpCi17Ci0gICAg
bGV0IHZhbHVlID0gc3RhdGUuc3RyaW5nVmFsdWVzLmdldCh0aGlzLm5hbWUpOwotICAgIGlmICh2
YWx1ZSA9PSBudWxsKQotICAgICAgICBzdGF0ZS5hYm9ydCgiQ291bGQgbm90IGZpbmQgc3RyaW5n
IHZhcmlhYmxlICIgKyB0aGlzLm5hbWUpOwotICAgIHJldHVybiB2YWx1ZTsKLX0KLQotQmFzaWMu
RXF1YWxzID0gZnVuY3Rpb24oc3RhdGUpCi17Ci0gICAgcmV0dXJuIHRoaXMubGVmdC5ldmFsdWF0
ZShzdGF0ZSkgPT0gdGhpcy5yaWdodC5ldmFsdWF0ZShzdGF0ZSk7Ci19Ci0KLUJhc2ljLk5vdEVx
dWFscyA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIHJldHVybiB0aGlzLmxlZnQuZXZhbHVhdGUo
c3RhdGUpICE9IHRoaXMucmlnaHQuZXZhbHVhdGUoc3RhdGUpOwotfQotCi1CYXNpYy5MZXNzVGhh
biA9IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIHJldHVybiB0aGlzLmxlZnQuZXZhbHVhdGUoc3Rh
dGUpIDwgdGhpcy5yaWdodC5ldmFsdWF0ZShzdGF0ZSk7Ci19Ci0KLUJhc2ljLkdyZWF0ZXJUaGFu
ID0gZnVuY3Rpb24oc3RhdGUpCi17Ci0gICAgcmV0dXJuIHRoaXMubGVmdC5ldmFsdWF0ZShzdGF0
ZSkgPiB0aGlzLnJpZ2h0LmV2YWx1YXRlKHN0YXRlKTsKLX0KLQotQmFzaWMuTGVzc0VxdWFsID0g
ZnVuY3Rpb24oc3RhdGUpCi17Ci0gICAgcmV0dXJuIHRoaXMubGVmdC5ldmFsdWF0ZShzdGF0ZSkg
PD0gdGhpcy5yaWdodC5ldmFsdWF0ZShzdGF0ZSk7Ci19Ci0KLUJhc2ljLkdyZWF0ZXJFcXVhbCA9
IGZ1bmN0aW9uKHN0YXRlKQotewotICAgIHJldHVybiB0aGlzLmxlZnQuZXZhbHVhdGUoc3RhdGUp
ID49IHRoaXMucmlnaHQuZXZhbHVhdGUoc3RhdGUpOwotfQotCi1CYXNpYy5Hb1RvID0gZnVuY3Rp
b24qKHN0YXRlKQotewotICAgIHN0YXRlLm5leHRMaW5lTnVtYmVyID0gdGhpcy50YXJnZXQ7Ci19
Ci0KLUJhc2ljLkdvU3ViID0gZnVuY3Rpb24qKHN0YXRlKQotewotICAgIHN0YXRlLnN1YlN0YWNr
LnB1c2goc3RhdGUubmV4dExpbmVOdW1iZXIpOwotICAgIHN0YXRlLm5leHRMaW5lTnVtYmVyID0g
dGhpcy50YXJnZXQ7Ci19Ci0KLUJhc2ljLkRlZiA9IGZ1bmN0aW9uKihzdGF0ZSkKLXsKLSAgICBz
dGF0ZS52YWxpZGF0ZSghc3RhdGUudmFsdWVzLmhhcyh0aGlzLm5hbWUpLCAiQ2Fubm90IHJlZGVm
aW5lIGZ1bmN0aW9uIik7Ci0gICAgc3RhdGUudmFsdWVzLnNldCh0aGlzLm5hbWUsIG5ldyBOdW1i
ZXJGdW5jdGlvbih0aGlzLnBhcmFtZXRlcnMsIHRoaXMuZXhwcmVzc2lvbikpOwotfQotCi1CYXNp
Yy5MZXQgPSBmdW5jdGlvbiooc3RhdGUpCi17Ci0gICAgdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShz
dGF0ZSkuYXNzaWduKHRoaXMuZXhwcmVzc2lvbi5ldmFsdWF0ZShzdGF0ZSkpOwotfQotCi1CYXNp
Yy5JZiA9IGZ1bmN0aW9uKihzdGF0ZSkKLXsKLSAgICBpZiAodGhpcy5jb25kaXRpb24uZXZhbHVh
dGUoc3RhdGUpKQotICAgICAgICBzdGF0ZS5uZXh0TGluZU51bWJlciA9IHRoaXMudGFyZ2V0Owot
fQotCi1CYXNpYy5SZXR1cm4gPSBmdW5jdGlvbiooc3RhdGUpCi17Ci0gICAgdGhpcy52YWxpZGF0
ZShzdGF0ZS5zdWJTdGFjay5sZW5ndGgsICJOb3QgaW4gYSBzdWJyb3V0aW5lIik7Ci0gICAgdGhp
cy5uZXh0TGluZU51bWJlciA9IHN0YXRlLnN1YlN0YWNrLnBvcCgpOwotfQotCi1CYXNpYy5TdG9w
ID0gZnVuY3Rpb24qKHN0YXRlKQotewotICAgIHN0YXRlLm5leHRMaW5lTnVtYmVyID0gbnVsbDsK
LX0KLQotQmFzaWMuT24gPSBmdW5jdGlvbiooc3RhdGUpCi17Ci0gICAgbGV0IGluZGV4ID0gdGhp
cy5leHByZXNzaW9uLmV2YWx1YXRlKHN0YXRlKTsKLSAgICBpZiAoIShpbmRleCA+PSAxKSB8fCAh
KGluZGV4IDw9IHRoaXMudGFyZ2V0cy5sZW5ndGgpKQotICAgICAgICBzdGF0ZS5hYm9ydCgiSW5k
ZXggb3V0IG9mIGJvdW5kczogIiArIGluZGV4KTsKLSAgICB0aGlzLm5leHRMaW5lTnVtYmVyID0g
dGhpcy50YXJnZXRzW01hdGguZmxvb3IoaW5kZXgpXTsKLX0KLQotQmFzaWMuRm9yID0gZnVuY3Rp
b24qKHN0YXRlKQotewotICAgIGxldCBzaWRlU3RhdGUgPSBzdGF0ZS5nZXRTaWRlU3RhdGUodGhp
cyk7Ci0gICAgc2lkZVN0YXRlLnZhcmlhYmxlID0gc3RhdGUuZ2V0VmFsdWUodGhpcy52YXJpYWJs
ZSwgMCkubGVmdEFwcGx5KHN0YXRlLCBbXSk7Ci0gICAgc2lkZVN0YXRlLmluaXRpYWxWYWx1ZSA9
IHRoaXMuaW5pdGlhbC5ldmFsdWF0ZShzdGF0ZSk7Ci0gICAgc2lkZVN0YXRlLmxpbWl0VmFsdWUg
PSB0aGlzLmxpbWl0LmV2YWx1YXRlKHN0YXRlKTsKLSAgICBzaWRlU3RhdGUuc3RlcFZhbHVlID0g
dGhpcy5zdGVwLmV2YWx1YXRlKHN0YXRlKTsKLSAgICBzaWRlU3RhdGUudmFyaWFibGUuYXNzaWdu
KHNpZGVTdGF0ZS5pbml0aWFsVmFsdWUpOwotICAgIHNpZGVTdGF0ZS5zaG91bGRTdG9wID0gZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiAoc2lkZVN0YXRlLnZhcmlhYmxlLnZhbHVlIC0gc2lk
ZVN0YXRlLmxpbWl0VmFsdWUpICogTWF0aC5zaWduKHNpZGVTdGF0ZS5zdGVwVmFsdWUpID4gMDsK
LSAgICB9OwotICAgIGlmIChzaWRlU3RhdGUuc2hvdWxkU3RvcCgpKQotICAgICAgICB0aGlzLm5l
eHRMaW5lTnVtYmVyID0gdGhpcy50YXJnZXQubGluZU51bWJlciArIDE7Ci19Ci0KLUJhc2ljLk5l
eHQgPSBmdW5jdGlvbiooc3RhdGUpCi17Ci0gICAgbGV0IHNpZGVTdGF0ZSA9IHN0YXRlLmdldFNp
ZGVTdGF0ZSh0aGlzLnRhcmdldCk7Ci0gICAgc2lkZVN0YXRlLnZhcmlhYmxlLmFzc2lnbihzaWRl
U3RhdGUudmFyaWFibGUudmFsdWUgKyBzaWRlU3RhdGUuc3RlcFZhbHVlKTsKLSAgICBpZiAoc2lk
ZVN0YXRlLnNob3VsZFN0b3AoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIHN0YXRlLm5leHRMaW5l
TnVtYmVyID0gdGhpcy50YXJnZXQubGluZU51bWJlciArIDE7Ci19Ci0KLUJhc2ljLk5leHQuaXNC
bG9ja0VuZCA9IHRydWU7Ci0KLUJhc2ljLlByaW50ID0gZnVuY3Rpb24qKHN0YXRlKQotewotICAg
IGxldCBzdHJpbmcgPSAiIjsKLSAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuaXRlbXMpIHsKLSAg
ICAgICAgc3dpdGNoIChpdGVtLmtpbmQpIHsKLSAgICAgICAgY2FzZSAiY29tbWEiOgotICAgICAg
ICAgICAgd2hpbGUgKHN0cmluZy5sZW5ndGggJSAxNCkKLSAgICAgICAgICAgICAgICBzdHJpbmcg
Kz0gIiAiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgInRhYiI6IHsKLSAgICAg
ICAgICAgIGxldCB2YWx1ZSA9IGl0ZW0udmFsdWUuZXZhbHVhdGUoc3RhdGUpOwotICAgICAgICAg
ICAgdmFsdWUgPSBNYXRoLm1heChNYXRoLnJvdW5kKHZhbHVlKSwgMSk7Ci0gICAgICAgICAgICB3
aGlsZSAoc3RyaW5nLmxlbmd0aCAlIHZhbHVlKQotICAgICAgICAgICAgICAgIHN0cmluZyArPSAi
ICI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlICJzdHJpbmci
OgotICAgICAgICBjYXNlICJudW1iZXIiOgotICAgICAgICAgICAgc3RyaW5nICs9IGl0ZW0udmFs
dWUuZXZhbHVhdGUoc3RhdGUpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6
Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBpdGVtIGtpbmQ6ICIgKyBpdGVtLmtp
bmQpOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIHlpZWxkIHtraW5kOiAib3V0cHV0Iiwg
c3RyaW5nfTsKLX0KLQotQmFzaWMuSW5wdXQgPSBmdW5jdGlvbiooc3RhdGUpCi17Ci0gICAgbGV0
IHJlc3VsdHMgPSB5aWVsZCB7a2luZDogImlucHV0IiwgbnVtSXRlbXM6IHRoaXMuaXRlbXMubGVu
Z3RofTsKLSAgICBzdGF0ZS52YWxpZGF0ZShyZXN1bHRzICE9IG51bGwgJiYgcmVzdWx0cy5sZW5n
dGggPT0gdGhpcy5pdGVtcy5sZW5ndGgsICJJbnB1dCBkaWQgbm90IGdldCB0aGUgcmlnaHQgbnVt
YmVyIG9mIGl0ZW1zIik7Ci0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXN1bHRzLmxlbmd0aDsg
KytpKQotICAgICAgICB0aGlzLml0ZW1zW2ldLmV2YWx1YXRlKHN0YXRlKS5hc3NpZ24ocmVzdWx0
c1tpXSk7Ci19Ci0KLUJhc2ljLlJlYWQgPSBmdW5jdGlvbiooc3RhdGUpCi17Ci0gICAgZm9yIChs
ZXQgaXRlbSBvZiB0aGlzLml0ZW1zKSB7Ci0gICAgICAgIHN0YXRlLnZhbGlkYXRlKHN0YXRlLmRh
dGFJbmRleCA8IHN0YXRlLnByb2dyYW0uZGF0YS5sZW5ndGgsICJBdHRlbXB0aW5nIHRvIHJlYWQg
cGFzdCB0aGUgZW5kIG9mIGRhdGEiKTsKLSAgICAgICAgaXRlbS5hc3NpZ24oc3RhdGUucHJvZ3Jh
bS5kYXRhW3N0YXRlLmRhdGFJbmRleCsrXSk7Ci0gICAgfQotfQotCi1CYXNpYy5SZXN0b3JlID0g
ZnVuY3Rpb24qKHN0YXRlKQotewotICAgIHN0YXRlLmRhdGFJbmRleCA9IDA7Ci19Ci0KLUJhc2lj
LkRpbSA9IGZ1bmN0aW9uKihzdGF0ZSkKLXsKLSAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuaXRl
bXMpIHsKLSAgICAgICAgc3RhdGUudmFsaWRhdGUoIXN0YXRlLnZhbHVlcy5oYXMoaXRlbS5uYW1l
KSwgIlZhcmlhYmxlICIgKyBpdGVtLm5hbWUgKyAiIGFscmVhZHkgZXhpc3RzIik7Ci0gICAgICAg
IHN0YXRlLnZhbGlkYXRlKGl0ZW0uYm91bmRzLmxlbmd0aCwgIkRpbSBzdGF0ZW1lbnQgaXMgZm9y
IGFycmF5cyIpOwotICAgICAgICBzdGF0ZS52YWx1ZXMuc2V0KGl0ZW0ubmFtZSwgbmV3IE51bWJl
ckFycmF5KGl0ZW0uYm91bmRzLm1hcChib3VuZCA9PiBib3VuZCArIDEpKSk7Ci0gICAgfQotfQot
Ci1CYXNpYy5SYW5kb21pemUgPSBmdW5jdGlvbiooc3RhdGUpCi17Ci0gICAgc3RhdGUucm5nID0g
Y3JlYXRlUk5HV2l0aFJhbmRvbVNlZWQoKTsKLX0KLQotQmFzaWMuRW5kID0gZnVuY3Rpb24qKHN0
YXRlKQotewotICAgIHN0YXRlLm5leHRMaW5lTnVtYmVyID0gbnVsbDsKLX0KLQotQmFzaWMuRW5k
LmlzQmxvY2tFbmQgPSB0cnVlOwotCi1CYXNpYy5Qcm9ncmFtID0gZnVuY3Rpb24qIHByb2dyYW1H
ZW5lcmF0b3Ioc3RhdGUpCi17Ci0gICAgc3RhdGUudmFsaWRhdGUoc3RhdGUucHJvZ3JhbSA9PSB0
aGlzLCAiU3RhdGUgbXVzdCBtYXRjaCBwcm9ncmFtIik7Ci0gICAgbGV0IG1heExpbmVOdW1iZXIg
PSBNYXRoLm1heCguLi50aGlzLnN0YXRlbWVudHMua2V5cygpKTsKLSAgICB3aGlsZSAoc3RhdGUu
bmV4dExpbmVOdW1iZXIgIT0gbnVsbCkgewotICAgICAgICBzdGF0ZS52YWxpZGF0ZShzdGF0ZS5u
ZXh0TGluZU51bWJlciA8PSBtYXhMaW5lTnVtYmVyLCAiV2VudCBvdXQgb2YgYm91bmRzIG9mIHRo
ZSBwcm9ncmFtIik7Ci0gICAgICAgIGxldCBzdGF0ZW1lbnQgPSB0aGlzLnN0YXRlbWVudHMuZ2V0
KHN0YXRlLm5leHRMaW5lTnVtYmVyKyspOwotICAgICAgICBpZiAoc3RhdGVtZW50ID09IG51bGwg
fHwgc3RhdGVtZW50LnByb2Nlc3MgPT0gbnVsbCkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAg
ICAgICBzdGF0ZS5zdGF0ZW1lbnQgPSBzdGF0ZW1lbnQ7Ci0gICAgICAgIHlpZWxkKiBzdGF0ZW1l
bnQucHJvY2VzcyhzdGF0ZSk7Ci0gICAgfQotfQotCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VT
NlNhbXBsZUJlbmNoL0Jhc2ljL2Jhc2ljLXRlc3RzLnlhbWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gUGVyZm9y
bWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9iYXNpYy10ZXN0cy55YW1sCShyZXZpc2lv
biAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL2Jhc2lj
LXRlc3RzLnlhbWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwyOCArMCwwIEBACi0jIENvcHlyaWdodCAo
QykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
IyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSMgYXJlIG1ldDoKLSMKLSMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAotIyAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAotIwotIyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWQotIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0jIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSMgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQotIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotIyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
Ci0jIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAotIyBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YKLSMgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLQotLSBwYXRoOiAuCi0gIHRlc3RzOgotICAgIC0gc3RyZXNzLXRl
c3QuanMKLSAgY21kOiBkZWZhdWx0UnVuTm9pc3lUZXN0IHVubGVzcyBwYXJzZVJ1bkNvbW1hbmRz
Ci0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvYmFzaWMuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9iYXNp
Yy5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5j
aC9CYXNpYy9iYXNpYy5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDUzICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotZnVu
Y3Rpb24gcHJlcGFyZShzdHJpbmcpCi17Ci0gICAgbGV0IHByb2dyYW0gPSBwYXJzZShsZXgoc3Ry
aW5nKSkucHJvZ3JhbSgpOwotICAgIHJldHVybiBwcm9ncmFtLnByb2Nlc3MobmV3IFN0YXRlKHBy
b2dyYW0pKTsKLX0KLQotZnVuY3Rpb24gc2ltdWxhdGUocHJvZ3JhbSwgaW5wdXRzID0gW10pCi17
Ci0gICAgbGV0IHJlc3VsdCA9ICIiOwotICAgIGxldCBhcmdzID0gW107Ci0gICAgZm9yICg7Oykg
ewotICAgICAgICBsZXQgbmV4dCA9IHByb2dyYW0ubmV4dCguLi5hcmdzKTsKLSAgICAgICAgYXJn
cyA9IFtdOwotICAgICAgICBpZiAobmV4dC5kb25lKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGlmIChuZXh0LnZhbHVlLmtpbmQgPT0gIm91dHB1dCIpIHsKLSAgICAgICAgICAgIHJlc3Vs
dCArPSBuZXh0LnZhbHVlLnN0cmluZyArICJcbiI7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgfQotICAgICAgICBpZiAobmV4dC52YWx1ZS5raW5kID09ICJpbnB1dCIpIHsKLSAgICAg
ICAgICAgIGFyZ3MgPSBpbnB1dHMuc3BsaWNlKDAsIG5leHQudmFsdWUubnVtSXRlbXMpOwotICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIHJlc3VsdDsK
LX0KLQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9iZW5jaG1h
cmsuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNp
Yy9iZW5jaG1hcmsuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2
U2FtcGxlQmVuY2gvQmFzaWMvYmVuY2htYXJrLmpzCShub25leGlzdGVudCkKQEAgLTEsNjUgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBz
dHJpY3QiOwotCi1jbGFzcyBCYXNpY0JlbmNobWFyayB7Ci0gICAgY29uc3RydWN0b3IodmVyYm9z
ZSA9IDApCi0gICAgewotICAgICAgICB0aGlzLl92ZXJib3NlID0gdmVyYm9zZTsKLSAgICB9Ci0g
ICAgCi0gICAgcnVuSXRlcmF0aW9uKCkKLSAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIGV4cGVjdChw
cm9ncmFtLCBleHBlY3RlZCwgLi4uaW5wdXRzKQotICAgICAgICB7Ci0gICAgICAgICAgICBsZXQg
cmVzdWx0ID0gc2ltdWxhdGUocHJlcGFyZShwcm9ncmFtLCBpbnB1dHMpKTsKLSAgICAgICAgICAg
IGlmIChyZXN1bHQgIT0gZXhwZWN0ZWQpCi0gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJQcm9ncmFtICIgKyBKU09OLnN0cmluZ2lmeShwcm9ncmFtKSArICIgd2l0aCBpbnB1dHMgIiAr
IEpTT04uc3RyaW5naWZ5KGlucHV0cykgKyAiIHByb2R1Y2VkICIgKyBKU09OLnN0cmluZ2lmeShy
ZXN1bHQpICsgIiBidXQgd2UgZXhwZWN0ZWQgIiArIEpTT04uc3RyaW5naWZ5KGV4cGVjdGVkKSk7
Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGV4cGVjdCgiMTAgcHJpbnQgXCJoZWxsbywg
d29ybGQhXCJcbjIwIGVuZCIsICJoZWxsbywgd29ybGQhXG4iKTsKLSAgICAgICAgZXhwZWN0KCIx
MCBsZXQgeCA9IDBcbjIwIGxldCB4ID0geCArIDFcbjMwIHByaW50IHhcbjQwIGlmIHggPCAxMCB0
aGVuIDIwXG41MCBlbmQiLCAiMVxuMlxuM1xuNFxuNVxuNlxuN1xuOFxuOVxuMTBcbiIpOwotICAg
ICAgICBleHBlY3QoIjEwIHByaW50IGludChybmQgKiAxMDApXG4yMCBlbmRcbiIsICI5OFxuIik7
Ci0gICAgICAgIGV4cGVjdCgiMTAgbGV0IHZhbHVlID0gaW50KHJuZCAqIDIwMDApXG4yMCBwcmlu
dCB2YWx1ZVxuMzAgaWYgdmFsdWUgPD4gMTAwIHRoZW4gMTBcbjQwIGVuZCIsICIxOTc0XG42OTdc
bjExMjZcbjE5OThcbjE2NThcbjI2NFxuMTY1MFxuMTY3N1xuMjI2XG4xMTdcbjQ5MlxuODYxXG44
NzdcbjE5NjlcbjM4XG4xMDM5XG4xOTdcbjEyNjFcbjExMDJcbjE1MjJcbjkxNlxuMTY4M1xuMTk0
M1xuMTgzNVxuNDc2XG4xODk4XG45MzlcbjE3NlxuOTY2XG45MDhcbjQ3NFxuNjE0XG4xMzI2XG41
NjRcbjE5MTZcbjcyOFxuNTI0XG4xNjJcbjEzMDNcbjc1OFxuODMyXG4xMjc5XG4xODU2XG4xODc2
XG45ODJcbjZcbjE2MTNcbjE3ODFcbjY4MVxuMTIzOFxuNDk0XG4xNTgzXG4xOTUzXG43ODhcbjEw
MjZcbjM0N1xuMTExNlxuMTQ2NVxuNTE0XG41ODNcbjQ2M1xuMTk3MFxuMTU3M1xuNDEyXG4xMjU2
XG4xNDUzXG44MzhcbjE1MzhcbjE5ODRcbjE1OThcbjIwOVxuNDExXG4xNzAwXG41NDZcbjg2MVxu
OTFcbjEzMlxuODg0XG4zNzhcbjY5M1xuMTFcbjQzM1xuMTcxOVxuODYwXG4xNjRcbjQ3MlxuMjMx
XG4xNzg2XG44MDZcbjgxMVxuMTA2XG4xNjk3XG4xMThcbjk4MFxuODkwXG4xMTk5XG4yMjdcbjE2
NjdcbjE5MzNcbjE5MDNcbjEzOTBcbjE1OTVcbjkyM1xuMTc0NlxuMzlcbjEzNjFcbjExN1xuMTI5
N1xuOTIzXG45MDFcbjExODBcbjgxOFxuMTQ0NFxuMjY5XG45MzNcbjMyN1xuMTc0NFxuMTA4Mlxu
MTUyN1xuMTI2MFxuNjIyXG41MjhcbjMxOFxuODU2XG4yOTZcbjE3OTZcbjE1NzRcbjU4NVxuMTg3
MVxuMTExXG44MjdcbjE3MjVcbjEzMjBcbjE4NjhcbjE2OTVcbjE5MTRcbjIxNlxuNjNcbjE4NDdc
bjE1NlxuNjcxXG44OTNcbjEyN1xuMTg2N1xuODExXG4yNzlcbjkxM1xuMzEwXG44MTRcbjkwN1xu
MTM2M1xuMTYyNFxuMTY3MFxuNDc4XG43MTRcbjQzNlxuMzU1XG4xNDg0XG4xNjI4XG4xMjA4XG44
MDBcbjYxMVxuOTE3XG44MjlcbjgzMFxuMjczXG4xNzkxXG4zNDBcbjIxNFxuOTkyXG4xNDQ0XG40
NDJcbjE1NTVcbjE0NFxuMTE5NFxuMjgyXG4xODBcbjEyMjhcbjEyNTFcbjE4ODNcbjY3OFxuMTU1
NVxuMzQ3XG43MlxuMTY2MVxuMTgyOFxuMTA5MFxuMTE4M1xuOTU3XG4xNjg1XG45MzBcbjQ3NVxu
MTAzXG43NTlcbjE3MjVcbjE5MDJcbjE2NjJcbjE1ODdcbjYxXG42MTRcbjg2M1xuMTQxOFxuMzIx
XG4xMDUwXG41MDVcbjE2MjJcbjE0MjVcbjgwM1xuNTg5XG4xNTExXG4xMDk4XG4xMDUxXG4xNTU0
XG4xODk4XG4yN1xuNzQ3XG44MTNcbjE1NDRcbjMzMlxuNzI4XG4xMzYzXG43NzFcbjc1OVxuMTE0
NVxuMTA5OFxuMTk5MVxuMzg1XG4yMzBcbjUyMFxuMTM2OVxuMTg0MFxuMTI4NVxuMTU2MlxuMTg0
NVxuMTAyXG43NjBcbjE4NzRcbjc0OFxuMzYxXG41NzVcbjI3N1xuMTY2MVxuMTc2NFxuMTExN1xu
MzMyXG43NTdcbjE3NjZcbjE3MjJcbjE0M1xuNDc0XG4xNTA3XG4xMjk0XG4xMTgwXG4xNTc4XG45
MDRcbjg0NVxuMzIxXG40OTZcbjE5MTFcbjE3ODRcbjExMTZcbjkzOFxuMTU5MVxuMTQwM1xuMTM3
NFxuNTMzXG4xMDg1XG40NTJcbjcwOFxuMTA5NlxuMTYzNFxuNTIyXG41NjRcbjEzOTdcbjEzNTdc
bjk4MFxuOTc4XG4xNzYwXG4xMDg4XG4xMzYxXG4xMTg0XG4zMTRcbjEyNDJcbjIxN1xuMTMzXG4x
MTg3XG4xNzIzXG42NDZcbjYwNVxuNTkxXG40NlxuMTM1XG4xNDIwXG4xODIxXG4xMTQ3XG4xMjEx
XG42MVxuMjQ0XG4xMzA3XG4xNTUxXG40NDlcbjExMjJcbjEzMzZcbjE0MFxuODgwXG4yMlxuMTE1
NVxuMTMyNlxuNTkwXG4xNDk5XG4xMzc2XG4xMTJcbjE3NzFcbjE4OTdcbjEwNzFcbjkzOFxuMTY4
NVxuMTk2M1xuMTIwM1xuMTI5NlxuODA0XG4xMjc1XG40NTNcbjEzODdcbjQ4MlxuMTI2MlxuMTg4
M1xuMTM4MVxuNDE4XG4xNDE3XG4xMjIyXG4xMjA4XG4xMjYzXG42MzJcbjQ1MFxuMTQyMlxuMTI4
NVxuMTQwOFxuNjQ0XG42NjVcbjI3NVxuMzYzXG4xMDEyXG4xNjVcbjM1NFxuODBcbjYwOVxuMjkx
XG4xNjYxXG4xNzI0XG4xMTdcbjQwN1xuNTlcbjkwNlxuMTIyNFxuMTM2XG44NTVcbjEyNzVcbjE0
NjhcbjQ4MlxuMTUzN1xuMTI4M1xuMTc4NFxuMTU2OFxuMTgzMlxuNDUyXG44NjdcbjE1NDZcbjE0
NjdcbjgwMFxuNDVcbjEyMjVcbjE4OTBcbjQ2NVxuMTM3MlxuNDdcbjE2MDhcbjE5M1xuMTM0NVxu
MTg0N1xuMTA1OVxuMTc4OFxuNTE4XG41MlxuMTA1MlxuMTAwM1xuMTIxMFxuMTEzNVxuMTQzM1xu
NTE5XG4xNTU4XG4zOVxuMTI0OVxuMTAxN1xuMzlcbjE3MTNcbjE0NDlcbjEyNDVcbjEzNTRcbjgy
XG4xMTQwXG45MTZcbjE1OTVcbjgzOFxuNjA3XG4zODlcbjEyNzBcbjgyMVxuMjQ3XG4xNjkyXG4x
MzA1XG4xMjExXG4xOTYwXG40MjlcbjE3MDNcbjE2MzVcbjU3NVxuMTYxOFxuMTQ5MFxuMTQ5NVxu
NjgyXG4xMjU2XG45NjRcbjQyMFxuMTUyMFxuMTQyOVxuMTk5N1xuMzk2XG4zODJcbjg1NlxuMTE4
MlxuMjk2XG4xMjk1XG4yOThcbjE4OTJcbjk5MFxuNzExXG45MzRcbjE5MzlcbjEzMzlcbjY4Mlxu
MTYzMVxuMTUzM1xuNzQyXG4xNTIwXG4xMjgxXG4xMzMyXG4xMDQyXG42NTZcbjE1NzZcbjEyNTNc
bjE2MDhcbjM3NVxuMTY5XG4xNFxuNDE0XG4xNTg2XG4xNTYyXG4xNTA4XG4xMjQ1XG4zMDNcbjcx
NVxuMTA1M1xuMzQwXG45MTVcbjE2MFxuMTc5NlxuMTExXG45MjVcbjE4NzJcbjczNVxuMzUwXG4x
MDdcbjE5MTNcbjE2NTNcbjk4N1xuODI1XG4xODkzXG4xNjAxXG40NjBcbjEyMjhcbjE1MjZcbjE2
MTNcbjEzNTlcbjE4NTRcbjEzNTJcbjU0MlxuNjY1XG4xMDlcbjE4NzRcbjQ2N1xuNTMzXG4xMTg4
XG4xNjI5XG44NTFcbjYzMFxuMTA2MFxuMTUzMFxuMTg1M1xuNzQzXG43NjVcbjEyNlxuMTU0MFxu
MTQxMVxuODU4XG4xNzQxXG4yODRcbjI5OVxuNTc3XG4xODQ4XG4xNDk1XG4yODNcbjE4ODZcbjI4
NFxuMTI5XG4xMDc3XG4xMjQ1XG4xMzY0XG4xNTA1XG4xNzZcbjEwMTJcbjE2NjNcbjEzMDZcbjE1
ODZcbjQxMFxuMzE1XG42NjBcbjI1NlxuMTEwMlxuMTI4OVxuMTI5MlxuOTM5XG43NjJcbjYwMVxu
MTE0MFxuNTc0XG4xODUxXG40NFxuNTYwXG4xOTQ4XG4xMTQyXG4xNzg3XG45NDdcbjk0OFxuMjgw
XG4xMjEwXG4xMTM5XG4xMDcyXG4xMDMzXG45MlxuMTI0NFxuMTU4OVxuMTA3OVxuMjJcbjE1MTRc
bjE2M1xuMTU3XG4xNzQyXG4xMDU4XG41MTRcbjE5NlxuMTg1OFxuNTY1XG4zNTRcbjE0MTNcbjc5
MlxuMTgzXG41MjZcbjE3MjRcbjEwMDdcbjE1OFxuMTIyOVxuMTgwMlxuOTlcbjE1MTRcbjcwOFxu
MTI3NlxuMTgwMlxuMTU2NFxuMTM4N1xuMTIzNVxuMTEzMlxuNzE1XG4xNTg0XG42MTdcbjE2NjRc
bjE1NTlcbjE2MjVcbjEwMzdcbjYwMVxuMTE3NVxuMTcxM1xuMTA3XG44OFxuMzg0XG4xNjM0XG45
MDRcbjE4MzVcbjE0NzJcbjIxMlxuMTE0NVxuNDQzXG4xNjE3XG44NjZcbjE5NjNcbjkzN1xuMTkx
N1xuODU1XG4xMjE1XG4xODY3XG41MjBcbjg5MlxuMTQ4M1xuMTg5OFxuMTc0N1xuMTQ0MVxuMjg5
XG4xNjA5XG4zMjhcbjU2NlxuMjcxXG40NThcbjE2MTZcbjg0M1xuMTEwN1xuNTA3XG4xMDkwXG44
NTRcbjEwOTRcbjgwNlxuMTY2XG40MDhcbjY2MVxuMzM0XG4yMzBcbjE5MTdcbjEzMjNcbjkyN1xu
MTkxMlxuNjczXG4zMTFcbjk1MlxuMTc4M1xuMTU0OVxuMTcxNFxuMTUwMFxuNDUwXG4xNDk4XG41
MzBcbjQ0MlxuNjA3XG42MDlcbjEyMjZcbjM3MFxuMTc2OVxuMTgxNVxuNzg4XG41MzZcbjI5M1xu
MTE1XG45NDdcbjI5MFxuMTc2NFxuMjQzXG4xMjE5XG4xODUxXG4yODlcbjU5OVxuMTUyOFxuMTUw
XG4xODU5XG4yOTdcbjI3OVxuMTU0MlxuMTcxOVxuMTkxMFxuNTUxXG40MDFcbjk1MlxuMTc2NFxu
OTQ2XG4xODM1XG42NDdcbjEzMDlcbjI3MVxuMjc1XG43MFxuMTI5XG4xNTE4XG45NzJcbjExNjRc
bjgxNlxuMTEyNVxuNTc1XG41ODhcbjE0NTZcbjExNTRcbjI5MFxuMTY4MVxuMTEzM1xuNTYxXG4z
NDNcbjEzNjBcbjEwMzVcbjExNThcbjEzNjVcbjc0NFxuNzgxXG41OFxuNTMxXG4yNzFcbjE2MTJc
bjE3NzRcbjI4XG4xNDgwXG4xMzEyXG4xODU1XG42NjZcbjE1NzRcbjYxM1xuNDJcbjQ1NlxuMzUx
XG43MjdcbjE1MDNcbjExMTVcbjMzM1xuMTk3MlxuODIyXG4xNTc1XG44NDhcbjEwODdcbjEyNjJc
bjE2NzFcbjcxMFxuNDYwXG4xODE2XG4yODdcbjE3MlxuNDkyXG4xMDc5XG41ODJcbjEyMzZcbjE3
NTZcbjE3OTJcbjEwOTVcbjEyMDVcbjE4OTRcbjIyXG4xOTMwXG4xNTI5XG4xNTQ3XG4xMzgzXG4x
NzY4XG4zNjRcbjExMDhcbjE5NzJcbjI4N1xuMjAwXG4yMzBcbjEzMzVcbjE4N1xuNDg2XG4xNzIy
XG4yMFxuOTYzXG43OTJcbjExMTRcbjYzM1xuMTg2MlxuMTQzM1xuODI5XG43MzdcbjIxNVxuMTU3
MFxuMzc4XG4xNjc3XG45NDRcbjEzMDFcbjExNjBcbjUwMFxuMTUwXG44ODZcbjEzMzdcbjY2Mlxu
MTA2MlxuMjkwXG40NjBcbjU5MlxuMTg2N1xuODcyXG4xNTVcbjE2MTNcbjE5MTNcbjE1NDhcbjE4
NDdcbjg1NVxuMTcwMlxuOTUyXG4xODk0XG41ODdcbjE4MTNcbjEwMjFcbjIxXG42NTRcbjI1NFxu
OTEwXG4xNjk2XG4xNjA2XG42NzlcbjEyMjJcbjY5NlxuMTMxOVxuMzY4XG40NDdcbjU0OVxuOTA1
XG4xMTk0XG4xODlcbjE3NjZcbjYxNlxuMjc4XG4xNDE4XG4xOTY1XG44NzJcbjk5OFxuMTI2OFxu
MTY3M1xuMTY0N1xuMTE2M1xuNTMzXG4xNjUwXG4xODQ5XG4xMTI0XG4xMjUyXG4xNDEyXG43MDNc
bjk0NFxuNDY4XG4xNDg1XG4xMzUyXG42ODFcbjg2NFxuMTQzMlxuMTc3MVxuNDk3XG45NTZcbjE3
OTRcbjM2M1xuMTA5OVxuMTgwNFxuNDU3XG4xMjI3XG4xNDg3XG40NDZcbjE5OTNcbjE1NzZcbjI3
MlxuNzA5XG4xODEwXG4zMzBcbjg3NlxuMTEwN1xuMTE4N1xuMTIyXG4xNjI1XG40NzJcbjY3Nlxu
MzE0XG4xMjU3XG4xNTA5XG4zNTBcbjc0MVxuMzY2XG4zM1xuNTM2XG4yOTNcbjE2NjNcbjEwMzlc
bjE1MjdcbjEyNlxuOTIzXG4xOTM3XG4xNzY3XG4xMzAyXG4xNTEwXG4xNTE4XG4xMzQzXG45MVxu
MTU1MVxuMTYxNFxuMTY4N1xuMTc0OFxuMTM3XG43NVxuNzM4XG4xOTc3XG43NTFcbjIzN1xuMzEz
XG41NjZcbjI0XG4yMDJcbjg4OVxuMTcxNlxuMTQ2MFxuMTI5XG4xNzYwXG4xNTk3XG45NlxuMTA1
N1xuMTMyM1xuMTE4OFxuMTM3M1xuNTM3XG45NTVcbjY1XG4xNjc5XG4xNDQxXG4xMzE1XG4zOThc
bjY0N1xuMTQ3MFxuMTMzNVxuNjE3XG4zMzFcbjc5NlxuMTI5XG4xNjM1XG4xNDk3XG44MzZcbjg1
NVxuMTQ3MlxuMTgyOFxuNTY4XG44NjJcbjY5MFxuMTM3MFxuMTY1N1xuODE5XG40NVxuNDIwXG4y
NThcbjE5ODBcbjY3MlxuNjE1XG4zNThcbjg1MlxuMTE0OFxuMTg5N1xuMTMwNlxuMTA5MlxuMTQw
NVxuNzE5XG4xNzUyXG4xNDU2XG4xMzM4XG4zMzJcbjM1MVxuNDc5XG43NDdcbjI0OVxuMTk3N1xu
MTY3MVxuMTA2MVxuMTY4NVxuMzA2XG4yNTRcbjEwNjBcbjc2NFxuNDIwXG4xMTM5XG4xNDUyXG40
MjZcbjgzNVxuOTI5XG4xNDI0XG4xMzM2XG42OTdcbjE5MVxuMTY5N1xuMTg5N1xuNjQ0XG41NDZc
bjk4MlxuMzU5XG4xMjAxXG4xMDk1XG4xNjIzXG4xOTQ3XG4yMTVcbjEwXG44NTVcbjI5N1xuNTUx
XG4xMDM3XG45NDVcbjM5NlxuMjExXG4xMDU5XG40MjNcbjE1MjFcbjE3NzBcbjIwM1xuMTgyOFxu
ODc5XG4xMTc5XG4xOTEyXG4xMDI4XG4xNDE2XG4xODQ1XG42OThcbjcxNVxuMTg1N1xuODE3XG41
MFxuNDczXG4xMTIyXG4xMjZcbjcwXG4xNzczXG40MFxuMTk3MFxuMTMxMVxuODI2XG4zNTVcbjE5
MjFcbjIzXG41MjZcbjE3MTdcbjEzOTdcbjE5MzJcbjEwNzVcbjE2NTJcbjk5N1xuMTAzOVxuMTQ4
MVxuNzc5XG40MTVcbjQ5XG4xMzMwXG4zMTdcbjE3MDFcbjY5MFxuMjQ1XG4xODI0XG42Mzlcbjc5
OVxuMTI0MFxuNDIyXG4zNDRcbjE2MzlcbjIwXG41NDZcbjkxMlxuMTkzMFxuMTM2OFxuMTU0MVxu
MTEwOVxuMzY5XG42NlxuMTU2NFxuNDQ0XG4xOTI4XG4xOTYzXG4xODk5XG43NDRcbjE1OTNcbjE3
MDJcbjEwMFxuIik7Ci0KLSAgICAgICAgZXhwZWN0KCIxMCBkaW0gYSgyMDAwKVxuMjAgZm9yIGkg
PSAyIHRvIDIwMDBcbjMwIGxldCBhKGkpID0gMVxuNDAgbmV4dCBpXG41MCBmb3IgaSA9IDIgdG8g
c3FyKDIwMDApXG42MCBpZiBhKGkpID0gMCB0aGVuIDEwMFxuNzAgZm9yIGogPSBpIF4gMiB0byAy
MDAwIHN0ZXAgaVxuODAgbGV0IGEoaikgPSAwXG45MCBuZXh0IGpcbjEwMCBuZXh0IGlcbjExMCBm
b3IgaSA9IDIgdG8gMjAwMFxuMTIwIGlmIGEoaSkgPSAwIHRoZW4gMTQwXG4xMzAgcHJpbnQgaVxu
MTQwIG5leHQgaVxuMTUwIGVuZFxuIiwgIjJcbjNcbjVcbjdcbjExXG4xM1xuMTdcbjE5XG4yM1xu
MjlcbjMxXG4zN1xuNDFcbjQzXG40N1xuNTNcbjU5XG42MVxuNjdcbjcxXG43M1xuNzlcbjgzXG44
OVxuOTdcbjEwMVxuMTAzXG4xMDdcbjEwOVxuMTEzXG4xMjdcbjEzMVxuMTM3XG4xMzlcbjE0OVxu
MTUxXG4xNTdcbjE2M1xuMTY3XG4xNzNcbjE3OVxuMTgxXG4xOTFcbjE5M1xuMTk3XG4xOTlcbjIx
MVxuMjIzXG4yMjdcbjIyOVxuMjMzXG4yMzlcbjI0MVxuMjUxXG4yNTdcbjI2M1xuMjY5XG4yNzFc
bjI3N1xuMjgxXG4yODNcbjI5M1xuMzA3XG4zMTFcbjMxM1xuMzE3XG4zMzFcbjMzN1xuMzQ3XG4z
NDlcbjM1M1xuMzU5XG4zNjdcbjM3M1xuMzc5XG4zODNcbjM4OVxuMzk3XG40MDFcbjQwOVxuNDE5
XG40MjFcbjQzMVxuNDMzXG40MzlcbjQ0M1xuNDQ5XG40NTdcbjQ2MVxuNDYzXG40NjdcbjQ3OVxu
NDg3XG40OTFcbjQ5OVxuNTAzXG41MDlcbjUyMVxuNTIzXG41NDFcbjU0N1xuNTU3XG41NjNcbjU2
OVxuNTcxXG41NzdcbjU4N1xuNTkzXG41OTlcbjYwMVxuNjA3XG42MTNcbjYxN1xuNjE5XG42MzFc
bjY0MVxuNjQzXG42NDdcbjY1M1xuNjU5XG42NjFcbjY3M1xuNjc3XG42ODNcbjY5MVxuNzAxXG43
MDlcbjcxOVxuNzI3XG43MzNcbjczOVxuNzQzXG43NTFcbjc1N1xuNzYxXG43Njlcbjc3M1xuNzg3
XG43OTdcbjgwOVxuODExXG44MjFcbjgyM1xuODI3XG44MjlcbjgzOVxuODUzXG44NTdcbjg1OVxu
ODYzXG44Nzdcbjg4MVxuODgzXG44ODdcbjkwN1xuOTExXG45MTlcbjkyOVxuOTM3XG45NDFcbjk0
N1xuOTUzXG45Njdcbjk3MVxuOTc3XG45ODNcbjk5MVxuOTk3XG4xMDA5XG4xMDEzXG4xMDE5XG4x
MDIxXG4xMDMxXG4xMDMzXG4xMDM5XG4xMDQ5XG4xMDUxXG4xMDYxXG4xMDYzXG4xMDY5XG4xMDg3
XG4xMDkxXG4xMDkzXG4xMDk3XG4xMTAzXG4xMTA5XG4xMTE3XG4xMTIzXG4xMTI5XG4xMTUxXG4x
MTUzXG4xMTYzXG4xMTcxXG4xMTgxXG4xMTg3XG4xMTkzXG4xMjAxXG4xMjEzXG4xMjE3XG4xMjIz
XG4xMjI5XG4xMjMxXG4xMjM3XG4xMjQ5XG4xMjU5XG4xMjc3XG4xMjc5XG4xMjgzXG4xMjg5XG4x
MjkxXG4xMjk3XG4xMzAxXG4xMzAzXG4xMzA3XG4xMzE5XG4xMzIxXG4xMzI3XG4xMzYxXG4xMzY3
XG4xMzczXG4xMzgxXG4xMzk5XG4xNDA5XG4xNDIzXG4xNDI3XG4xNDI5XG4xNDMzXG4xNDM5XG4x
NDQ3XG4xNDUxXG4xNDUzXG4xNDU5XG4xNDcxXG4xNDgxXG4xNDgzXG4xNDg3XG4xNDg5XG4xNDkz
XG4xNDk5XG4xNTExXG4xNTIzXG4xNTMxXG4xNTQzXG4xNTQ5XG4xNTUzXG4xNTU5XG4xNTY3XG4x
NTcxXG4xNTc5XG4xNTgzXG4xNTk3XG4xNjAxXG4xNjA3XG4xNjA5XG4xNjEzXG4xNjE5XG4xNjIx
XG4xNjI3XG4xNjM3XG4xNjU3XG4xNjYzXG4xNjY3XG4xNjY5XG4xNjkzXG4xNjk3XG4xNjk5XG4x
NzA5XG4xNzIxXG4xNzIzXG4xNzMzXG4xNzQxXG4xNzQ3XG4xNzUzXG4xNzU5XG4xNzc3XG4xNzgz
XG4xNzg3XG4xNzg5XG4xODAxXG4xODExXG4xODIzXG4xODMxXG4xODQ3XG4xODYxXG4xODY3XG4x
ODcxXG4xODczXG4xODc3XG4xODc5XG4xODg5XG4xOTAxXG4xOTA3XG4xOTEzXG4xOTMxXG4xOTMz
XG4xOTQ5XG4xOTUxXG4xOTczXG4xOTc5XG4xOTg3XG4xOTkzXG4xOTk3XG4xOTk5XG4iKTsKLSAg
ICB9Ci19Ci0gICAgCi1mdW5jdGlvbiBydW5CZW5jaG1hcmsoKQotewotICAgIGNvbnN0IHZlcmJv
c2UgPSAwOwotICAgIGNvbnN0IG51bUl0ZXJhdGlvbnMgPSAxNTA7Ci0gICAgCi0gICAgbGV0IGJl
Zm9yZSA9IGN1cnJlbnRUaW1lKCk7Ci0gICAgCi0gICAgbGV0IGJlbmNobWFyayA9IG5ldyBCZW5j
aG1hcmsodmVyYm9zZSk7Ci0gICAgCi0gICAgZm9yIChsZXQgaXRlcmF0aW9uID0gMDsgaXRlcmF0
aW9uIDwgbnVtSXRlcmF0aW9uczsgKytpdGVyYXRpb24pCi0gICAgICAgIGJlbmNobWFyay5ydW5J
dGVyYXRpb24oKTsKLSAgICAKLSAgICBsZXQgYWZ0ZXIgPSBjdXJyZW50VGltZSgpOwotICAgIHJl
dHVybiBhZnRlciAtIGJlZm9yZTsKLX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxl
QmVuY2gvQmFzaWMvY2FzZWxlc3NfbWFwLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVz
dHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvY2FzZWxlc3NfbWFwLmpzCShyZXZpc2lvbiAyMTE2ODgp
CisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL2Nhc2VsZXNzX21hcC5q
cwkobm9uZXhpc3RlbnQpCkBAIC0xLDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotY2xhc3MgQ2FzZWxlc3NNYXAg
ewotICAgIGNvbnN0cnVjdG9yKG90aGVyTWFwKQotICAgIHsKLSAgICAgICAgaWYgKG90aGVyTWFw
ID09IG51bGwpCi0gICAgICAgICAgICB0aGlzLl9tYXAgPSBuZXcgTWFwKCk7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIHRoaXMuX21hcCA9IG5ldyBNYXAob3RoZXJNYXAuX21hcCk7Ci0gICAg
fQotICAgIAotICAgIHNldChrZXksIHZhbHVlKQotICAgIHsKLSAgICAgICAgdGhpcy5fbWFwLnNl
dChrZXkudG9Mb3dlckNhc2UoKSwgdmFsdWUpOwotICAgIH0KLSAgICAKLSAgICBoYXMoa2V5KQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX21hcC5oYXMoa2V5LnRvTG93ZXJDYXNlKCkpOwot
ICAgIH0KLSAgICAKLSAgICBnZXQoa2V5KQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX21h
cC5nZXQoa2V5LnRvTG93ZXJDYXNlKCkpOwotICAgIH0KLQotICAgIFtTeW1ib2wuaXRlcmF0b3Jd
KCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9tYXBbU3ltYm9sLml0ZXJhdG9yXSgpOwot
ICAgIH0KLX0KLQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9s
ZXhlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jh
c2ljL2xleGVyLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNh
bXBsZUJlbmNoL0Jhc2ljL2xleGVyLmpzCShub25leGlzdGVudCkKQEAgLTEsOTcgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3Qi
OwotCi0vLyBMb29zZWx5IGJhc2VkIG9uIEVDTUEgNTUgc2VjdGlvbnMgNC04LCBidXQgbG9vc2Vu
ZWQgdG8gYWxsb3cgZm9yIG1vZGVybiBjb252ZW50aW9ucywgbGlrZQotLy8gbXVsdGktY2hhcmFj
dGVyIHZhcmlhYmxlIG5hbWVzLiBCdXQgdGhpcyBkb2Vzbid0IGdvIHRvbyBmYXIgLSBpbiBwYXJ0
aWN1bGFyLCB0aGlzIGRvZXNuJ3QgZG8KLS8vIHVuaWNvZGUsIGJlY2F1c2UgdGhhdCB3b3VsZCBy
ZXF1aXJlIG1vcmUgdGhvdWdodC4KLWZ1bmN0aW9uKiBsZXgoc3RyaW5nKQotewotICAgIGxldCBz
b3VyY2VMaW5lTnVtYmVyID0gMDsKLSAgICBmb3IgKGxldCBsaW5lIG9mIHN0cmluZy5zcGxpdCgi
XG4iKSkgewotICAgICAgICArK3NvdXJjZUxpbmVOdW1iZXI7Ci0gICAgICAgIAotICAgICAgICBm
dW5jdGlvbiBjb25zdW1lV2hpdGVzcGFjZSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGlmICgv
XlxzKy8udGVzdChsaW5lKSkKLSAgICAgICAgICAgICAgICBsaW5lID0gUmVnRXhwLnJpZ2h0Q29u
dGV4dDsKLSAgICAgICAgfQotICAgCi0gICAgICAgIGZ1bmN0aW9uIGNvbnN1bWUoa2luZCkKLSAg
ICAgICAgewotICAgICAgICAgICAgbGluZSA9IFJlZ0V4cC5yaWdodENvbnRleHQ7Ci0gICAgICAg
ICAgICByZXR1cm4ge2tpbmQsIHN0cmluZzogUmVnRXhwLmxhc3RNYXRjaCwgc291cmNlTGluZU51
bWJlciwgdXNlckxpbmVOdW1iZXJ9OwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBjb25z
dCBpc0lkZW50aWZpZXIgPSAvXlthLXpfXShbYS16MC05X10qKS9pOwotICAgICAgICBjb25zdCBp
c051bWJlciA9IC9eKChbMC05XSsoXC4oWzAtOV0qKSk/KXwoXC5bMC05XSspKGUoWystXT8pKFsw
LTldKykpPykvaTsKLSAgICAgICAgY29uc3QgaXNTdHJpbmcgPSAvXlwiKFteXCJdfChcIlwiKSkq
XCIvOwotICAgICAgICBjb25zdCBpc0tleXdvcmQgPSAvXigoYmFzZSl8KGRhdGEpfChkZWYpfChk
aW0pfChlbmQpfChmb3IpfChnbyl8KGdvc3ViKXwoZ290byl8KGlmKXwoaW5wdXQpfChsZXQpfChu
ZXh0KXwob24pfChvcHRpb24pfChwcmludCl8KHJhbmRvbWl6ZSl8KHJlYWQpfChyZXN0b3JlKXwo
cmV0dXJuKXwoc3RlcCl8KHN0b3ApfChzdWIpfCh0aGVuKXwodG8pKS9pOwotICAgICAgICBjb25z
dCBpc09wZXJhdG9yID0gL14oLXxcK3xcKnxcL3xcXnxcKHxcKXwoPFs+PV0/KXwoPj0/KXw9fCx8
XCR8OykvOwotICAgICAgICBjb25zdCBpc1JlbSA9IC9ecmVtXHMuKi87Ci0gICAgICAgIAotICAg
ICAgICBjb25zdW1lV2hpdGVzcGFjZSgpOwotICAgICAgICAKLSAgICAgICAgaWYgKCEvXlswLTld
Ky8udGVzdChsaW5lKSkKLSAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQXQgbGluZSAiICsg
c291cmNlTGluZU51bWJlciArICI6IEV4cGVjdCBsaW5lIG51bWJlcjogIiArIGxpbmUpOwotICAg
ICAgICBsZXQgdXNlckxpbmVOdW1iZXIgPSArUmVnRXhwLmxhc3RNYXRjaDsKLSAgICAgICAgbGlu
ZSA9IFJlZ0V4cC5yaWdodENvbnRleHQ7Ci0gICAgICAgIHlpZWxkIHtraW5kOiAidXNlckxpbmVO
dW1iZXIiLCBzdHJpbmc6IFJlZ0V4cC5sYXN0TWF0Y2gsIHNvdXJjZUxpbmVOdW1iZXIsIHVzZXJM
aW5lTnVtYmVyfTsKLSAgICAgICAgCi0gICAgICAgIGNvbnN1bWVXaGl0ZXNwYWNlKCk7Ci0gICAg
ICAgIAotICAgICAgICB3aGlsZSAobGluZS5sZW5ndGgpIHsKLSAgICAgICAgICAgIGlmIChpc0tl
eXdvcmQudGVzdChsaW5lKSkKLSAgICAgICAgICAgICAgICB5aWVsZCBjb25zdW1lKCJrZXl3b3Jk
Iik7Ci0gICAgICAgICAgICBlbHNlIGlmIChpc0lkZW50aWZpZXIudGVzdChsaW5lKSkKLSAgICAg
ICAgICAgICAgICB5aWVsZCBjb25zdW1lKCJpZGVudGlmaWVyIik7Ci0gICAgICAgICAgICBlbHNl
IGlmIChpc051bWJlci50ZXN0KGxpbmUpKSB7Ci0gICAgICAgICAgICAgICAgbGV0IHRva2VuID0g
Y29uc3VtZSgibnVtYmVyIik7Ci0gICAgICAgICAgICAgICAgdG9rZW4udmFsdWUgPSArdG9rZW4u
c3RyaW5nOwotICAgICAgICAgICAgICAgIHlpZWxkIHRva2VuOwotICAgICAgICAgICAgfSBlbHNl
IGlmIChpc1N0cmluZy50ZXN0KGxpbmUpKSB7Ci0gICAgICAgICAgICAgICAgbGV0IHRva2VuID0g
Y29uc3VtZSgic3RyaW5nIik7Ci0gICAgICAgICAgICAgICAgdG9rZW4udmFsdWUgPSAiIjsKLSAg
ICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IHRva2VuLnN0cmluZy5sZW5ndGggLSAx
OyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgbGV0IGNoYXIgPSB0b2tlbi5zdHJpbmcuY2hh
ckF0KGkpOwotICAgICAgICAgICAgICAgICAgICBpZiAoY2hhciA9PSAiXCIiKQotICAgICAgICAg
ICAgICAgICAgICAgICAgaSsrOwotICAgICAgICAgICAgICAgICAgICB0b2tlbi52YWx1ZSArPSBj
aGFyOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB5aWVsZCB0b2tlbjsKLSAg
ICAgICAgICAgIH0gZWxzZSBpZiAoaXNPcGVyYXRvci50ZXN0KGxpbmUpKQotICAgICAgICAgICAg
ICAgIHlpZWxkIGNvbnN1bWUoIm9wZXJhdG9yIik7Ci0gICAgICAgICAgICBlbHNlIGlmIChpc1Jl
bS50ZXN0KGxpbmUpKQotICAgICAgICAgICAgICAgIHlpZWxkIGNvbnN1bWUoInJlbWFyayIpOwot
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQXQgbGlu
ZSAiICsgc291cmNlTGluZU51bWJlciArICI6IENhbm5vdCBsZXggdG9rZW46ICIgKyBsaW5lKTsK
LSAgICAgICAgICAgIGNvbnN1bWVXaGl0ZXNwYWNlKCk7Ci0gICAgICAgIH0KLSAgICAgICAgCi0g
ICAgICAgIC8vIE5vdGU6IHRoaXMgaXMgbmVjZXNzYXJ5IGZvciB0aGUgcGFyc2VyLCB3aGljaCBt
YXkgbG9vay1haGVhZCB3aXRob3V0IGNoZWNraW5nIGlmIHdlJ3JlCi0gICAgICAgIC8vIGRvbmUu
IEZvcnR1bmF0ZWx5LCBpdCB3b24ndCBsb29rLWFoZWFkIHBhc3QgYSBuZXdMaW5lLgotICAgICAg
ICB5aWVsZCB7a2luZDogIm5ld0xpbmUiLCBzdHJpbmc6IlxuIiwgc291cmNlTGluZU51bWJlciwg
dXNlckxpbmVOdW1iZXJ9OwotICAgIH0KLX0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2Ft
cGxlQmVuY2gvQmFzaWMvbnVtYmVyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMv
RVM2U2FtcGxlQmVuY2gvQmFzaWMvbnVtYmVyLmpzCShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJm
b3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL251bWJlci5qcwkobm9uZXhpc3RlbnQp
CkBAIC0xLDEzNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAotICovCi0idXNlIHN0cmljdCI7Ci0KLWNsYXNzIE51bWJlclZhbHVlIHsKLSAgICBjb25zdHJ1
Y3Rvcih2YWx1ZSA9IDApCi0gICAgewotICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlOwotICAg
IH0KLSAgICAKLSAgICBnZXQgdmFsdWUoKSB7IHJldHVybiB0aGlzLl92YWx1ZTsgfQotICAgIAot
ICAgIGFwcGx5KHN0YXRlLCBwYXJhbWV0ZXJzKQotICAgIHsKLSAgICAgICAgc3RhdGUudmFsaWRh
dGUocGFyYW1ldGVycy5sZW5ndGggPT0gMCwgIlNob3VsZCBub3QgcGFzcyBhcmd1bWVudHMgdG8g
c2ltcGxlIG51bWVyaWMgdmFyaWFibGVzIik7Ci0gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTsK
LSAgICB9Ci0gICAgCi0gICAgbGVmdEFwcGx5KHN0YXRlLCBwYXJhbWV0ZXJzKQotICAgIHsKLSAg
ICAgICAgc3RhdGUudmFsaWRhdGUocGFyYW1ldGVycy5sZW5ndGggPT0gMCwgIlNob3VsZCBub3Qg
cGFzcyBhcmd1bWVudHMgdG8gc2ltcGxlIG51bWVyaWMgdmFyaWFibGVzIik7Ci0gICAgICAgIHJl
dHVybiB0aGlzOwotICAgIH0KLSAgICAKLSAgICBhc3NpZ24odmFsdWUpCi0gICAgewotICAgICAg
ICB0aGlzLl92YWx1ZSA9IHZhbHVlOwotICAgIH0KLX0KLQotY2xhc3MgTnVtYmVyQXJyYXkgewot
ICAgIGNvbnN0cnVjdG9yKGRpbSA9IFsxMV0pCi0gICAgewotICAgICAgICBmdW5jdGlvbiBhbGxv
Y2F0ZURpbShpbmRleCkKLSAgICAgICAgewotICAgICAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBB
cnJheShkaW1baW5kZXhdKTsKLSAgICAgICAgICAgIGlmIChpbmRleCArIDEgPCBkaW0ubGVuZ3Ro
KSB7Ci0gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaW1baW5kZXhdOyArK2kp
Ci0gICAgICAgICAgICAgICAgICAgIHJlc3VsdFtpXSA9IGFsbG9jYXRlRGltKGluZGV4ICsgMSk7
Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBp
IDwgZGltW2luZGV4XTsgKytpKQotICAgICAgICAgICAgICAgICAgICByZXN1bHRbaV0gPSBuZXcg
TnVtYmVyVmFsdWUoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7
Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIHRoaXMuX2FycmF5ID0gYWxsb2NhdGVEaW0o
MCk7Ci0gICAgICAgIHRoaXMuX2RpbSA9IGRpbTsKLSAgICB9Ci0gICAgCi0gICAgYXBwbHkoc3Rh
dGUsIHBhcmFtZXRlcnMpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5sZWZ0QXBwbHkoc3Rh
dGUsIHBhcmFtZXRlcnMpLmFwcGx5KHN0YXRlLCBbXSk7Ci0gICAgfQotICAgIAotICAgIGxlZnRB
cHBseShzdGF0ZSwgcGFyYW1ldGVycykKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9kaW0ubGVu
Z3RoICE9IHBhcmFtZXRlcnMubGVuZ3RoKQotICAgICAgICAgICAgc3RhdGUuYWJvcnQoIkV4cGVj
dGVkICIgKyB0aGlzLl9kaW0ubGVuZ3RoICsgIiBhcmd1bWVudHMgYnV0ICIgKyBwYXJhbWV0ZXJz
Lmxlbmd0aCArICIgd2VyZSBwYXNzZWQuIik7Ci0gICAgICAgIGxldCByZXN1bHQgPSB0aGlzLl9h
cnJheTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLmxlbmd0aDsgKytp
KSB7Ci0gICAgICAgICAgICBsZXQgaW5kZXggPSBNYXRoLmZsb29yKHBhcmFtZXRlcnNbaV0pOwot
ICAgICAgICAgICAgaWYgKCEoaW5kZXggPj0gc3RhdGUucHJvZ3JhbS5iYXNlKSB8fCAhKGluZGV4
IDwgcmVzdWx0Lmxlbmd0aCkpCi0gICAgICAgICAgICAgICAgc3RhdGUuYWJvcnQoIkluZGV4IG91
dCBvZiBib3VuZHM6ICIgKyBpbmRleCk7Ci0gICAgICAgICAgICByZXN1bHQgPSByZXN1bHRbaW5k
ZXhdOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotfQotCi1jbGFz
cyBOdW1iZXJGdW5jdGlvbiB7Ci0gICAgY29uc3RydWN0b3IocGFyYW1ldGVycywgY29kZSkKLSAg
ICB7Ci0gICAgICAgIHRoaXMuX3BhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzOwotICAgICAgICB0aGlz
Ll9jb2RlID0gY29kZTsKLSAgICB9Ci0gICAgCi0gICAgYXBwbHkoc3RhdGUsIHBhcmFtZXRlcnMp
Ci0gICAgewotICAgICAgICBpZiAodGhpcy5fcGFyYW1ldGVycy5sZW5ndGggIT0gcGFyYW1ldGVy
cy5sZW5ndGgpCi0gICAgICAgICAgICBzdGF0ZS5hYm9ydCgiRXhwZWN0ZWQgIiArIHRoaXMuX3Bh
cmFtZXRlcnMubGVuZ3RoICsgIiBhcmd1bWVudHMgYnV0ICIgKyBwYXJhbWV0ZXJzLmxlbmd0aCAr
ICIgd2VyZSBwYXNzZWQiKTsKLSAgICAgICAgbGV0IG9sZFZhbHVlcyA9IHN0YXRlLnZhbHVlczsK
LSAgICAgICAgc3RhdGUudmFsdWVzID0gbmV3IE1hcChvbGRWYWx1ZXMpOwotICAgICAgICBmb3Ig
KGxldCBpID0gMDsgaSA8IHBhcmFtZXRlcnMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBzdGF0
ZS52YWx1ZXMuc2V0KHRoaXMuX3BhcmFtZXRlcnNbaV0sIHBhcmFtZXRlcnNbaV0pOwotICAgICAg
ICBsZXQgcmVzdWx0ID0gdGhpcy5jb2RlLmV2YWx1YXRlKHN0YXRlKTsKLSAgICAgICAgc3RhdGUu
dmFsdWVzID0gb2xkVmFsdWVzOwotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLSAgICAK
LSAgICBsZWZ0QXBwbHkoc3RhdGUsIHBhcmFtZXRlcnMpCi0gICAgewotICAgICAgICBzdGF0ZS5h
Ym9ydCgiQ2Fubm90IHVzZSBhIGZ1bmN0aW9uIGFzIGFuIGx2YWx1ZSIpOwotICAgIH0KLX0KLQot
Y2xhc3MgTmF0aXZlRnVuY3Rpb24gewotICAgIGNvbnN0cnVjdG9yKGNhbGxiYWNrKQotICAgIHsK
LSAgICAgICAgdGhpcy5fY2FsbGJhY2sgPSBjYWxsYmFjazsKLSAgICB9Ci0gICAgCi0gICAgYXBw
bHkoc3RhdGUsIHBhcmFtZXRlcnMpCi0gICAgewotICAgICAgICBpZiAodGhpcy5fY2FsbGJhY2su
bGVuZ3RoICE9IHBhcmFtZXRlcnMubGVuZ3RoKQotICAgICAgICAgICAgc3RhdGUuYWJvcnQoIkV4
cGVjdGVkICIgKyB0aGlzLl9jYWxsYmFjay5sZW5ndGggKyAiIGFyZ3VtZW50cyBidXQgIiArIHBh
cmFtZXRlcnMubGVuZ3RoICsgIiB3ZXJlIHBhc3NlZCIpOwotICAgICAgICByZXR1cm4gdGhpcy5f
Y2FsbGJhY2soLi4ucGFyYW1ldGVycyk7Ci0gICAgfQotICAgIAotICAgIGxlZnRBcHBseShzdGF0
ZSwgcGFyYW1ldGVycykKLSAgICB7Ci0gICAgICAgIHN0YXRlLmFib3J0KCJDYW5ub3QgdXNlIGEg
bmF0aXZlIGZ1bmN0aW9uIGFzIGFuIGx2YWx1ZSIpOwotICAgIH0KLX0KLQpJbmRleDogUGVyZm9y
bWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9wYXJzZXIuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
UGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9wYXJzZXIuanMJKHJldmlzaW9u
IDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvcGFyc2Vy
LmpzCShub25leGlzdGVudCkKQEAgLTEsNTU4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQot
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3RyaWN0IjsKLQotZnVuY3Rpb24gcGFyc2Uo
dG9rZW5pemVyKQotewotICAgIGxldCBwcm9ncmFtOwotICAgIAotICAgIGxldCBwdXNoQmFja0J1
ZmZlciA9IFtdOwotICAgIAotICAgIGZ1bmN0aW9uIG5leHRUb2tlbigpCi0gICAgewotICAgICAg
ICBpZiAocHVzaEJhY2tCdWZmZXIubGVuZ3RoKQotICAgICAgICAgICAgcmV0dXJuIHB1c2hCYWNr
QnVmZmVyLnBvcCgpOwotICAgICAgICBsZXQgcmVzdWx0ID0gdG9rZW5pemVyLm5leHQoKTsKLSAg
ICAgICAgaWYgKHJlc3VsdC5kb25lKQotICAgICAgICAgICAgcmV0dXJuIHtraW5kOiAiZW5kT2ZG
aWxlIiwgc3RyaW5nOiAiPGVuZCBvZiBmaWxlPiJ9OwotICAgICAgICByZXR1cm4gcmVzdWx0LnZh
bHVlOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBwdXNoVG9rZW4odG9rZW4pCi0gICAgewot
ICAgICAgICBwdXNoQmFja0J1ZmZlci5wdXNoKHRva2VuKTsKLSAgICB9Ci0gICAgCi0gICAgZnVu
Y3Rpb24gcGVla1Rva2VuKCkKLSAgICB7Ci0gICAgICAgIGxldCByZXN1bHQgPSBuZXh0VG9rZW4o
KTsKLSAgICAgICAgcHVzaFRva2VuKHJlc3VsdCk7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0g
ICAgfQotICAgIAotICAgIGZ1bmN0aW9uIGNvbnN1bWVLaW5kKGtpbmQpCi0gICAgewotICAgICAg
ICBsZXQgdG9rZW4gPSBuZXh0VG9rZW4oKTsKLSAgICAgICAgaWYgKHRva2VuLmtpbmQgIT0ga2lu
ZCkgewotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJBdCAiICsgdG9rZW4uc291cmNlTGlu
ZU51bWJlciArICI6IGV4cGVjdGVkICIgKyBraW5kICsgIiBidXQgZ290OiAiICsgdG9rZW4uc3Ry
aW5nKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gdG9rZW47Ci0gICAgfQotICAgIAotICAg
IGZ1bmN0aW9uIGNvbnN1bWVUb2tlbihzdHJpbmcpCi0gICAgewotICAgICAgICBsZXQgdG9rZW4g
PSBuZXh0VG9rZW4oKTsKLSAgICAgICAgaWYgKHRva2VuLnN0cmluZy50b0xvd2VyQ2FzZSgpICE9
IHN0cmluZy50b0xvd2VyQ2FzZSgpKQotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJBdCAi
ICsgdG9rZW4uc291cmNlTGluZU51bWJlciArICI6IGV4cGVjdGVkICIgKyBzdHJpbmcgKyAiIGJ1
dCBnb3Q6ICIgKyB0b2tlbi5zdHJpbmcpOwotICAgICAgICByZXR1cm4gdG9rZW47Ci0gICAgfQot
ICAgIAotICAgIGZ1bmN0aW9uIHBhcnNlVmFyaWFibGUoKQotICAgIHsKLSAgICAgICAgbGV0IG5h
bWUgPSBjb25zdW1lS2luZCgiaWRlbnRpZmllciIpLnN0cmluZzsKLSAgICAgICAgbGV0IHJlc3Vs
dCA9IHtldmFsdWF0ZTogQmFzaWMuVmFyaWFibGUsIG5hbWUsIHBhcmFtZXRlcnM6IFtdfTsKLSAg
ICAgICAgaWYgKHBlZWtUb2tlbigpLnN0cmluZyA9PSAiKCIpIHsKLSAgICAgICAgICAgIGRvIHsK
LSAgICAgICAgICAgICAgICBuZXh0VG9rZW4oKTsKLSAgICAgICAgICAgICAgICByZXN1bHQucGFy
YW1ldGVycy5wdXNoKHBhcnNlTnVtZXJpY0V4cHJlc3Npb24oKSk7Ci0gICAgICAgICAgICB9IHdo
aWxlIChwZWVrVG9rZW4oKS5zdHJpbmcgPT0gIiwiKTsKLSAgICAgICAgICAgIGNvbnN1bWVUb2tl
bigiKSIpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfQotICAgIAot
ICAgIGZ1bmN0aW9uIHBhcnNlTnVtZXJpY0V4cHJlc3Npb24oKQotICAgIHsKLSAgICAgICAgZnVu
Y3Rpb24gcGFyc2VQcmltYXJ5KCkKLSAgICAgICAgewotICAgICAgICAgICAgbGV0IHRva2VuID0g
bmV4dFRva2VuKCk7Ci0gICAgICAgICAgICBzd2l0Y2ggKHRva2VuLmtpbmQpIHsKLSAgICAgICAg
ICAgIGNhc2UgImlkZW50aWZpZXIiOiB7Ci0gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHtl
dmFsdWF0ZTogQmFzaWMuTnVtYmVyQXBwbHksIG5hbWU6IHRva2VuLnN0cmluZywgcGFyYW1ldGVy
czogW119OwotICAgICAgICAgICAgICAgIGlmIChwZWVrVG9rZW4oKS5zdHJpbmcgPT0gIigiKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG5leHRU
b2tlbigpOwotICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnBhcmFtZXRlcnMucHVzaChw
YXJzZU51bWVyaWNFeHByZXNzaW9uKCkpOwotICAgICAgICAgICAgICAgICAgICB9IHdoaWxlIChw
ZWVrVG9rZW4oKS5zdHJpbmcgPT0gIiwiKTsKLSAgICAgICAgICAgICAgICAgICAgY29uc3VtZVRv
a2VuKCIpIik7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHJldHVybiByZXN1
bHQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBjYXNlICJu
dW1iZXIiOgotICAgICAgICAgICAgICAgIHJldHVybiB7ZXZhbHVhdGU6IEJhc2ljLkNvbnN0LCB2
YWx1ZTogdG9rZW4udmFsdWV9OwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgY2FzZSAi
b3BlcmF0b3IiOgotICAgICAgICAgICAgICAgIHN3aXRjaCAodG9rZW4uc3RyaW5nKSB7Ci0gICAg
ICAgICAgICAgICAgY2FzZSAiKCI6IHsKLSAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9
IHBhcnNlTnVtZXJpY0V4cHJlc3Npb24oKTsKLSAgICAgICAgICAgICAgICAgICAgY29uc3VtZVRv
a2VuKCIpIik7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAgICAg
ICAgICAgfSB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0ICIgKyB0b2tlbi5zb3VyY2VMaW5lTnVtYmVyICsgIjog
ZXhwZWN0ZWQgaWRlbnRpZmllciwgbnVtYmVyLCBvciAoLCBidXQgZ290OiAiICsgdG9rZW4uc3Ry
aW5nKTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcGFyc2VGYWN0b3Io
KQotICAgICAgICB7Ci0gICAgICAgICAgICBsZXQgcHJpbWFyeSA9IHBhcnNlUHJpbWFyeSgpOwot
ICAgICAgICAgICAgCi0gICAgICAgICAgICBsZXQgb2sgPSB0cnVlOwotICAgICAgICAgICAgd2hp
bGUgKG9rKSB7Ci0gICAgICAgICAgICAgICAgc3dpdGNoIChwZWVrVG9rZW4oKS5zdHJpbmcpIHsK
LSAgICAgICAgICAgICAgICBjYXNlICJeIjoKLSAgICAgICAgICAgICAgICAgICAgbmV4dFRva2Vu
KCk7Ci0gICAgICAgICAgICAgICAgICAgIHByaW1hcnkgPSB7ZXZhbHVhdGU6IEJhc2ljLk51bWJl
clBvdywgbGVmdDogcHJpbWFyeSwgcmlnaHQ6IHBhcnNlUHJpbWFyeSgpfTsKLSAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAg
ICAgICAgb2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICByZXR1cm4g
cHJpbWFyeTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gcGFyc2VUZXJt
KCkKLSAgICAgICAgewotICAgICAgICAgICAgbGV0IGZhY3RvciA9IHBhcnNlRmFjdG9yKCk7Ci0g
ICAgICAgICAgICAKLSAgICAgICAgICAgIGxldCBvayA9IHRydWU7Ci0gICAgICAgICAgICB3aGls
ZSAob2spIHsKLSAgICAgICAgICAgICAgICBzd2l0Y2ggKHBlZWtUb2tlbigpLnN0cmluZykgewot
ICAgICAgICAgICAgICAgIGNhc2UgIioiOgotICAgICAgICAgICAgICAgICAgICBuZXh0VG9rZW4o
KTsKLSAgICAgICAgICAgICAgICAgICAgZmFjdG9yID0ge2V2YWx1YXRlOiBCYXNpYy5OdW1iZXJN
dWwsIGxlZnQ6IGZhY3RvciwgcmlnaHQ6IHBhcnNlRmFjdG9yKCl9OwotICAgICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlICIvIjoKLSAgICAgICAgICAgICAgICAg
ICAgbmV4dFRva2VuKCk7Ci0gICAgICAgICAgICAgICAgICAgIGZhY3RvciA9IHtldmFsdWF0ZTog
QmFzaWMuTnVtYmVyRGl2LCBsZWZ0OiBmYWN0b3IsIHJpZ2h0OiBwYXJzZUZhY3RvcigpfTsKLSAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgICAgICAgICAgICAgb2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAg
ICByZXR1cm4gZmFjdG9yOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICAvLyBPbmx5IHRo
ZSBsZWFkaW5nIHRlcm0gaW4gQmFzaWMgY2FuIGhhdmUgYSBzaWduLgotICAgICAgICBsZXQgbmVn
YXRlID0gZmFsc2U7Ci0gICAgICAgIHN3aXRjaCAocGVla1Rva2VuKCkuc3RyaW5nKSB7Ci0gICAg
ICAgIGNhc2UgIisiOgotICAgICAgICAgICAgbmV4dFRva2VuKCk7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSAiLSI6Ci0gICAgICAgICAgICBuZWdhdGUgPSB0cnVlOwotICAgICAg
ICAgICAgbmV4dFRva2VuKCkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAg
IAotICAgICAgICBsZXQgdGVybSA9IHBhcnNlVGVybSgpOwotICAgICAgICBpZiAobmVnYXRlKQot
ICAgICAgICAgICAgdGVybSA9IHtldmFsdWF0ZTogQmFzaWMuTnVtYmVyTmVnLCB0ZXJtOiB0ZXJt
fTsKLSAgICAgICAgCi0gICAgICAgIGxldCBvayA9IHRydWU7Ci0gICAgICAgIHdoaWxlIChvaykg
ewotICAgICAgICAgICAgc3dpdGNoIChwZWVrVG9rZW4oKS5zdHJpbmcpIHsKLSAgICAgICAgICAg
IGNhc2UgIisiOgotICAgICAgICAgICAgICAgIG5leHRUb2tlbigpOwotICAgICAgICAgICAgICAg
IHRlcm0gPSB7ZXZhbHVhdGU6IEJhc2ljLk51bWJlckFkZCwgbGVmdDogdGVybSwgcmlnaHQ6IHBh
cnNlVGVybSgpfTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgIi0i
OgotICAgICAgICAgICAgICAgIG5leHRUb2tlbigpOwotICAgICAgICAgICAgICAgIHRlcm0gPSB7
ZXZhbHVhdGU6IEJhc2ljLk51bWJlclN1YiwgbGVmdDogdGVybSwgcmlnaHQ6IHBhcnNlVGVybSgp
fTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAg
ICAgICAgICAgb2sgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgcmV0dXJuIHRlcm07Ci0gICAgfQotICAg
IAotICAgIGZ1bmN0aW9uIHBhcnNlQ29uc3RhbnQoKQotICAgIHsKLSAgICAgICAgc3dpdGNoIChw
ZWVrVG9rZW4oKS5zdHJpbmcpIHsKLSAgICAgICAgY2FzZSAiKyI6Ci0gICAgICAgICAgICBuZXh0
VG9rZW4oKTsKLSAgICAgICAgICAgIHJldHVybiBjb25zdW1lS2luZCgibnVtYmVyIikudmFsdWU7
Ci0gICAgICAgIGNhc2UgIi0iOgotICAgICAgICAgICAgbmV4dFRva2VuKCk7Ci0gICAgICAgICAg
ICByZXR1cm4gLWNvbnN1bWVLaW5kKCJudW1iZXIiKS52YWx1ZTsKLSAgICAgICAgZGVmYXVsdDoK
LSAgICAgICAgICAgIGlmIChpc1N0cmluZ0V4cHJlc3Npb24oKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gY29uc3VtZUtpbmQoInN0cmluZyIpLnZhbHVlOwotICAgICAgICAgICAgcmV0dXJuIGNv
bnN1bWVLaW5kKCJudW1iZXIiKS52YWx1ZTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBm
dW5jdGlvbiBwYXJzZVN0cmluZ0V4cHJlc3Npb24oKQotICAgIHsKLSAgICAgICAgbGV0IHRva2Vu
ID0gbmV4dFRva2VuKCk7Ci0gICAgICAgIHN3aXRjaCAodG9rZW4ua2luZCkgewotICAgICAgICBj
YXNlICJzdHJpbmciOgotICAgICAgICAgICAgcmV0dXJuIHtldmFsdWF0ZTogQmFzaWMuQ29uc3Qs
IHZhbHVlOiB0b2tlbi52YWx1ZX07Ci0gICAgICAgIGNhc2UgImlkZW50aWZpZXIiOgotICAgICAg
ICAgICAgY29uc3VtZVRva2VuKCIkIik7Ci0gICAgICAgICAgICByZXR1cm4ge2V2YWx1YXRlOiBC
YXNpYy5TdHJpbmdWYXIsIG5hbWU6IHRva2VuLnN0cmluZ307Ci0gICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0ICIgKyB0b2tlbi5zb3VyY2VMaW5lTnVtYmVy
ICsgIjogZXhwZWN0ZWQgc3RyaW5nIGV4cHJlc3Npb24gYnV0IGdvdCAiICsgdG9rZW4uc3RyaW5n
KTsKLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBpc1N0cmluZ0V4cHJlc3Np
b24oKQotICAgIHsKLSAgICAgICAgLy8gQSBzdHJpbmcgZXhwcmVzc2lvbiBtdXN0IHN0YXJ0IHdp
dGggYSBzdHJpbmcgdmFyaWFibGUgb3IgYSBzdHJpbmcgY29uc3RhbnQuCi0gICAgICAgIGxldCB0
b2tlbiA9IG5leHRUb2tlbigpOwotICAgICAgICBpZiAodG9rZW4ua2luZCA9PSAic3RyaW5nIikg
ewotICAgICAgICAgICAgcHVzaFRva2VuKHRva2VuKTsKLSAgICAgICAgICAgIHJldHVybiB0cnVl
OwotICAgICAgICB9Ci0gICAgICAgIGlmICh0b2tlbi5raW5kID09ICJpZGVudGlmaWVyIikgewot
ICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHBlZWtUb2tlbigpLnN0cmluZyA9PSAiJCI7Ci0gICAg
ICAgICAgICBwdXNoVG9rZW4odG9rZW4pOwotICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAg
ICAgICAgfQotICAgICAgICBwdXNoVG9rZW4odG9rZW4pOwotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHBhcnNlUmVsYXRpb25hbEV4cHJlc3Npb24oKQot
ICAgIHsKLSAgICAgICAgaWYgKGlzU3RyaW5nRXhwcmVzc2lvbigpKSB7Ci0gICAgICAgICAgICBs
ZXQgbGVmdCA9IHBhcnNlU3RyaW5nRXhwcmVzc2lvbigpOwotICAgICAgICAgICAgbGV0IG9wZXJh
dG9yID0gbmV4dFRva2VuKCk7Ci0gICAgICAgICAgICBsZXQgZXZhbHVhdGU7Ci0gICAgICAgICAg
ICBzd2l0Y2ggKG9wZXJhdG9yLnN0cmluZykgewotICAgICAgICAgICAgY2FzZSAiPSI6Ci0gICAg
ICAgICAgICAgICAgZXZhbHVhdGUgPSBCYXNpYy5FcXVhbHM7Ci0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICBjYXNlICI8PiI6Ci0gICAgICAgICAgICAgICAgZXZhbHVhdGUgPSBC
YXNpYy5Ob3RFcXVhbHM7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBkZWZh
dWx0OgotICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQXQgIiArIG9wZXJhdG9yLnNv
dXJjZUxpbmVOdW1iZXIgKyAiOiBleHBlY3RlZCBhIHN0cmluZyBjb21wYXJpc29uIG9wZXJhdG9y
IGJ1dCBnb3Q6ICIgKyBvcGVyYXRvci5zdHJpbmcpOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgcmV0dXJuIHtldmFsdWF0ZSwgbGVmdCwgcmlnaHQ6IHBhcnNlU3RyaW5nRXhwcmVzc2lvbigp
fTsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgbGV0IGxlZnQgPSBwYXJzZU51bWVyaWNF
eHByZXNzaW9uKCk7Ci0gICAgICAgIGxldCBvcGVyYXRvciA9IG5leHRUb2tlbigpOwotICAgICAg
ICBsZXQgZXZhbHVhdGU7Ci0gICAgICAgIHN3aXRjaCAob3BlcmF0b3Iuc3RyaW5nKSB7Ci0gICAg
ICAgIGNhc2UgIj0iOgotICAgICAgICAgICAgZXZhbHVhdGUgPSBCYXNpYy5FcXVhbHM7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAiPD4iOgotICAgICAgICAgICAgZXZhbHVhdGUg
PSBCYXNpYy5Ob3RFcXVhbHM7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAiPCI6
Ci0gICAgICAgICAgICBldmFsdWF0ZSA9IEJhc2ljLkxlc3NUaGFuOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGNhc2UgIj4iOgotICAgICAgICAgICAgZXZhbHVhdGUgPSBCYXNpYy5HcmVh
dGVyVGhhbjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICI8PSI6Ci0gICAgICAg
ICAgICBldmFsdWF0ZSA9IEJhc2ljLkxlc3NFcXVhbDsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlICI+PSI6Ci0gICAgICAgICAgICBldmFsdWF0ZSA9IEJhc2ljLkdyZWF0ZXJFcXVh
bDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgdGhy
b3cgbmV3IEVycm9yKCJBdCAiICsgb3BlcmF0b3Iuc291cmNlTGluZU51bWJlciArICI6IGV4cGVj
dGVkIGEgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9yIGJ1dCBnb3Q6ICIgKyBvcGVyYXRvci5z
dHJpbmcpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiB7ZXZhbHVhdGUsIGxlZnQsIHJpZ2h0
OiBwYXJzZU51bWVyaWNFeHByZXNzaW9uKCl9OwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBw
YXJzZU5vbk5lZ2F0aXZlSW50ZWdlcigpCi0gICAgewotICAgICAgICBsZXQgdG9rZW4gPSBuZXh0
VG9rZW4oKTsKLSAgICAgICAgaWYgKCEvXlswLTldKyQvLnRlc3QodG9rZW4uc3RyaW5nKSkKLSAg
ICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQXQgIiwgdG9rZW4uc291cmNlTGluZU51bWJlciAr
ICI6IGV4cGVjdGVkIGEgbGluZSBudW1iZXIgYnV0IGdvdDogIiArIHRva2VuLnN0cmluZyk7Ci0g
ICAgICAgIHJldHVybiB0b2tlbi52YWx1ZTsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gcGFy
c2VHb1RvU3RhdGVtZW50KCkKLSAgICB7Ci0gICAgICAgIHN0YXRlbWVudC5raW5kID0gQmFzaWMu
R29UbzsKLSAgICAgICAgc3RhdGVtZW50LnRhcmdldCA9IHBhcnNlTm9uTmVnYXRpdmVJbnRlZ2Vy
KCk7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHBhcnNlR29TdWJTdGF0ZW1lbnQoKQotICAg
IHsKLSAgICAgICAgc3RhdGVtZW50LmtpbmQgPSBCYXNpYy5Hb1N1YjsKLSAgICAgICAgc3RhdGVt
ZW50LnRhcmdldCA9IHBhcnNlTm9uTmVnYXRpdmVJbnRlZ2VyKCk7Ci0gICAgfQotICAgIAotICAg
IGZ1bmN0aW9uIHBhcnNlU3RhdGVtZW50KCkKLSAgICB7Ci0gICAgICAgIGxldCBzdGF0ZW1lbnQg
PSB7fTsKLSAgICAgICAgc3RhdGVtZW50LmxpbmVOdW1iZXIgPSBjb25zdW1lS2luZCgidXNlckxp
bmVOdW1iZXIiKS51c2VyTGluZU51bWJlcjsKLSAgICAgICAgcHJvZ3JhbS5zdGF0ZW1lbnRzLnNl
dChzdGF0ZW1lbnQubGluZU51bWJlciwgc3RhdGVtZW50KTsKLSAgICAgICAgCi0gICAgICAgIGxl
dCBjb21tYW5kID0gbmV4dFRva2VuKCk7Ci0gICAgICAgIHN0YXRlbWVudC5zb3VyY2VMaW5lTnVt
YmVyID0gY29tbWFuZC5zb3VyY2VMaW5lTnVtYmVyOwotICAgICAgICBzd2l0Y2ggKGNvbW1hbmQu
a2luZCkgewotICAgICAgICBjYXNlICJrZXl3b3JkIjoKLSAgICAgICAgICAgIHN3aXRjaCAoY29t
bWFuZC5zdHJpbmcudG9Mb3dlckNhc2UoKSkgewotICAgICAgICAgICAgY2FzZSAiZGVmIjoKLSAg
ICAgICAgICAgICAgICBzdGF0ZW1lbnQucHJvY2VzcyA9IEJhc2ljLkRlZjsKLSAgICAgICAgICAg
ICAgICBzdGF0ZW1lbnQubmFtZSA9IGNvbnN1bWVLaW5kKCJpZGVudGlmaWVyIik7Ci0gICAgICAg
ICAgICAgICAgc3RhdGVtZW50LnBhcmFtZXRlcnMgPSBbXTsKLSAgICAgICAgICAgICAgICBpZiAo
cGVla1Rva2VuKCkuc3RyaW5nID09ICIoIikgewotICAgICAgICAgICAgICAgICAgICBkbyB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBuZXh0VG9rZW4oKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHN0YXRlbWVudC5wYXJhbWV0ZXJzLnB1c2goY29uc3VtZUtpbmQoImlkZW50aWZpZXIiKSk7
Ci0gICAgICAgICAgICAgICAgICAgIH0gd2hpbGUgKHBlZWtUb2tlbigpLnN0cmluZyA9PSAiLCIp
OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQuZXhwcmVzc2lv
biA9IHBhcnNlTnVtZXJpY0V4cHJlc3Npb24oKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgIGNhc2UgImxldCI6Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnByb2Nlc3Mg
PSBCYXNpYy5MZXQ7Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnZhcmlhYmxlID0gcGFyc2VW
YXJpYWJsZSgpOwotICAgICAgICAgICAgICAgIGNvbnN1bWVUb2tlbigiPSIpOwotICAgICAgICAg
ICAgICAgIGlmIChzdGF0ZW1lbnQucHJvY2VzcyA9PSBCYXNpYy5MZXQpCi0gICAgICAgICAgICAg
ICAgICAgIHN0YXRlbWVudC5leHByZXNzaW9uID0gcGFyc2VOdW1lcmljRXhwcmVzc2lvbigpOwot
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50LmV4cHJl
c3Npb24gPSBwYXJzZVN0cmluZ0V4cHJlc3Npb24oKTsKLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIGNhc2UgImdvIjogewotICAgICAgICAgICAgICAgIGxldCBuZXh0ID0gbmV4
dFRva2VuKCk7Ci0gICAgICAgICAgICAgICAgaWYgKG5leHQuc3RyaW5nID09ICJ0byIpCi0gICAg
ICAgICAgICAgICAgICAgIHBhcnNlR29Ub1N0YXRlbWVudCgpOwotICAgICAgICAgICAgICAgIGVs
c2UgaWYgKG5leHQuc3RyaW5nID09ICJzdWIiKQotICAgICAgICAgICAgICAgICAgICBwYXJzZUdv
U3ViU3RhdGVtZW50KCk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIkF0ICIgKyBuZXh0LnNvdXJjZUxpbmVOdW1iZXIgKyAiOiBleHBl
Y3RlZCB0byBvciBzdWIgYnV0IGdvdDogIiArIG5leHQuc3RyaW5nKTsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNhc2UgImdvdG8iOgotICAgICAg
ICAgICAgICAgIHBhcnNlR29Ub1N0YXRlbWVudCgpOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgY2FzZSAiZ29zdWIiOgotICAgICAgICAgICAgICAgIHBhcnNlR29TdWJTdGF0
ZW1lbnQoKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgImlmIjoK
LSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQucHJvY2VzcyA9IEJhc2ljLklmOwotICAgICAgICAg
ICAgICAgIHN0YXRlbWVudC5jb25kaXRpb24gPSBwYXJzZVJlbGF0aW9uYWxFeHByZXNzaW9uKCk7
Ci0gICAgICAgICAgICAgICAgY29uc3VtZVRva2VuKCJ0aGVuIik7Ci0gICAgICAgICAgICAgICAg
c3RhdGVtZW50LnRhcmdldCA9IHBhcnNlTm9uTmVnYXRpdmVJbnRlZ2VyKCk7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICJyZXR1cm4iOgotICAgICAgICAgICAgICAg
IHN0YXRlbWVudC5wcm9jZXNzID0gQmFzaWMuUmV0dXJuOwotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgY2FzZSAic3RvcCI6Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LnBy
b2Nlc3MgPSBCYXNpYy5TdG9wOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
Y2FzZSAib24iOgotICAgICAgICAgICAgICAgIHN0YXRlbWVudC5wcm9jZXNzID0gQmFzaWMuT247
Ci0gICAgICAgICAgICAgICAgc3RhdGVtZW50LmV4cHJlc3Npb24gPSBwYXJzZU51bWVyaWNFeHBy
ZXNzaW9uKCk7Ci0gICAgICAgICAgICAgICAgaWYgKHBlZWtUb2tlbigpLnN0cmluZyA9PSAiZ28i
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN1bWVUb2tlbigiZ28iKTsKLSAgICAgICAgICAg
ICAgICAgICAgY29uc3VtZVRva2VuKCJ0byIpOwotICAgICAgICAgICAgICAgIH0gZWxzZQotICAg
ICAgICAgICAgICAgICAgICBjb25zdW1lVG9rZW4oImdvdG8iKTsKLSAgICAgICAgICAgICAgICBz
dGF0ZW1lbnQudGFyZ2V0cyA9IFtdOwotICAgICAgICAgICAgICAgIGZvciAoOzspIHsKLSAgICAg
ICAgICAgICAgICAgICAgc3RhdGVtZW50LnRhcmdldHMucHVzaChwYXJzZU5vbk5lZ2F0aXZlSW50
ZWdlcigpKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHBlZWtUb2tlbigpLnN0cmluZyAhPSAi
LCIpCi0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAg
bmV4dFRva2VuKCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgY2FzZSAiZm9yIjoKLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQucHJvY2Vz
cyA9IEJhc2ljLkZvcjsKLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQudmFyaWFibGUgPSBjb25z
dW1lS2luZCgiaWRlbnRpZmllciIpLnN0cmluZzsKLSAgICAgICAgICAgICAgICBjb25zdW1lVG9r
ZW4oIj0iKTsKLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQuaW5pdGlhbCA9IHBhcnNlTnVtZXJp
Y0V4cHJlc3Npb24oKTsKLSAgICAgICAgICAgICAgICBjb25zdW1lVG9rZW4oInRvIik7Ci0gICAg
ICAgICAgICAgICAgc3RhdGVtZW50LmxpbWl0ID0gcGFyc2VOdW1lcmljRXhwcmVzc2lvbigpOwot
ICAgICAgICAgICAgICAgIGlmIChwZWVrVG9rZW4oKS5zdHJpbmcgPT0gInN0ZXAiKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIG5leHRUb2tlbigpOwotICAgICAgICAgICAgICAgICAgICBzdGF0ZW1l
bnQuc3RlcCA9IHBhcnNlTnVtZXJpY0V4cHJlc3Npb24oKTsKLSAgICAgICAgICAgICAgICB9IGVs
c2UKLSAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50LnN0ZXAgPSB7ZXZhbHVhdGU6IEJhc2lj
LkNvbnN0LCB2YWx1ZTogMX07Ci0gICAgICAgICAgICAgICAgY29uc3VtZUtpbmQoIm5ld0xpbmUi
KTsKLSAgICAgICAgICAgICAgICBsZXQgbGFzdFN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50cygp
OwotICAgICAgICAgICAgICAgIGlmIChsYXN0U3RhdGVtZW50LnByb2Nlc3MgIT0gQmFzaWMuTmV4
dCkKLSAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJBdCAiICsgbGFzdFN0YXRl
bWVudC5zb3VyY2VMaW5lTnVtYmVyICsgIjogZXhwZWN0ZWQgbmV4dCBzdGF0ZW1lbnQiKTsKLSAg
ICAgICAgICAgICAgICBpZiAobGFzdFN0YXRlbWVudC52YXJpYWJsZSAhPSBzdGF0ZW1lbnQudmFy
aWFibGUpCi0gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQXQgIiArIGxhc3RT
dGF0ZW1lbnQuc291cmNlTGluZU51bWJlciArICI6IGV4cGVjdGVkIG5leHQgZm9yICIgKyBzdGF0
ZW1lbnQudmFyaWFibGUgKyAiIGJ1dCBnb3QgIiArIGxhc3RTdGF0ZW1lbnQudmFyaWFibGUpOwot
ICAgICAgICAgICAgICAgIGxhc3RTdGF0ZW1lbnQudGFyZ2V0ID0gc3RhdGVtZW50OwotICAgICAg
ICAgICAgICAgIHN0YXRlbWVudC50YXJnZXQgPSBsYXN0U3RhdGVtZW50OwotICAgICAgICAgICAg
ICAgIHJldHVybiBzdGF0ZW1lbnQ7Ci0gICAgICAgICAgICBjYXNlICJuZXh0IjoKLSAgICAgICAg
ICAgICAgICBzdGF0ZW1lbnQucHJvY2VzcyA9IEJhc2ljLk5leHQ7Ci0gICAgICAgICAgICAgICAg
c3RhdGVtZW50LnZhcmlhYmxlID0gY29uc3VtZUtpbmQoImlkZW50aWZpZXIiKS5zdHJpbmc7Ci0g
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICJwcmludCI6IHsKLSAgICAg
ICAgICAgICAgICBzdGF0ZW1lbnQucHJvY2VzcyA9IEJhc2ljLlByaW50OwotICAgICAgICAgICAg
ICAgIHN0YXRlbWVudC5pdGVtcyA9IFtdOwotICAgICAgICAgICAgICAgIGxldCBvayA9IHRydWU7
Ci0gICAgICAgICAgICAgICAgd2hpbGUgKG9rKSB7Ci0gICAgICAgICAgICAgICAgICAgIHN3aXRj
aCAocGVla1Rva2VuKCkuc3RyaW5nKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgIiwiOgot
ICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFRva2VuKCk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBzdGF0ZW1lbnQuaXRlbXMucHVzaCh7a2luZDogImNvbW1hIn0pOwotICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgIjsiOgotICAgICAg
ICAgICAgICAgICAgICAgICAgbmV4dFRva2VuKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSAidGFiIjoKLSAgICAgICAgICAgICAgICAg
ICAgICAgIG5leHRUb2tlbigpOwotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3VtZVRva2Vu
KCIoIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQuaXRlbXMucHVzaCh7a2lu
ZDogInRhYiIsIHZhbHVlOiBwYXJzZU51bWVyaWNFeHByZXNzaW9uKCl9KTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBjYXNlICJcbiI6Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBvayA9IGZhbHNlOwotICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoaXNTdHJpbmdFeHByZXNzaW9uKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzdGF0ZW1lbnQuaXRlbXMucHVzaCh7a2luZDogInN0cmluZyIsIHZhbHVlOiBwYXJzZVN0
cmluZ0V4cHJlc3Npb24oKX0pOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVt
ZW50Lml0ZW1zLnB1c2goe2tpbmQ6ICJudW1iZXIiLCB2YWx1ZTogcGFyc2VOdW1lcmljRXhwcmVz
c2lvbigpfSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGNhc2UgImlucHV0IjoKLSAgICAgICAgICAgICAgICBzdGF0
ZW1lbnQucHJvY2VzcyA9IEJhc2ljLklucHV0OwotICAgICAgICAgICAgICAgIHN0YXRlbWVudC5p
dGVtcyA9IFtdOwotICAgICAgICAgICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgICAgICAg
ICAgc3RhbWVudC5pdGVtcy5wdXNoKHBhcnNlVmFyaWFibGUoKSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmIChwZWVrVG9rZW4oKS5zdHJpbmcgIT0gIiwiKQotICAgICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIG5leHRUb2tlbigpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgInJlYWQiOgot
ICAgICAgICAgICAgICAgIHN0YXRlbWVudC5wcm9jZXNzID0gQmFzaWMuUmVhZDsKLSAgICAgICAg
ICAgICAgICBzdGF0ZW1lbnQuaXRlbXMgPSBbXTsKLSAgICAgICAgICAgICAgICBmb3IgKDs7KSB7
Ci0gICAgICAgICAgICAgICAgICAgIHN0YW1lbnQuaXRlbXMucHVzaChwYXJzZVZhcmlhYmxlKCkp
OwotICAgICAgICAgICAgICAgICAgICBpZiAocGVla1Rva2VuKCkuc3RyaW5nICE9ICIsIikKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICBuZXh0VG9r
ZW4oKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICBjYXNlICJyZXN0b3JlIjoKLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQucHJvY2VzcyA9
IEJhc2ljLlJlc3RvcmU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNl
ICJkYXRhIjoKLSAgICAgICAgICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICAgICAgICAg
IHByb2dyYW0uZGF0YS5wdXNoKHBhcnNlQ29uc3RhbnQoKSk7Ci0gICAgICAgICAgICAgICAgICAg
IGlmIChwZWVrVG9rZW4oKS5zdHJpbmcgIT0gIiwiKQotICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIG5leHRUb2tlbigpOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgImRpbSI6Ci0gICAg
ICAgICAgICAgICAgc3RhdGVtZW50LnByb2Nlc3MgPSBCYXNpYy5EaW07Ci0gICAgICAgICAgICAg
ICAgc3RhdGVtZW50Lml0ZW1zID0gW107Ci0gICAgICAgICAgICAgICAgZm9yICg7OykgewotICAg
ICAgICAgICAgICAgICAgICBsZXQgbmFtZSA9IGNvbnN1bWVLaW5kKCJpZGVudGlmaWVyIikuc3Ry
aW5nOwotICAgICAgICAgICAgICAgICAgICBjb25zdW1lVG9rZW4oIigiKTsKLSAgICAgICAgICAg
ICAgICAgICAgbGV0IGJvdW5kcyA9IFtdOwotICAgICAgICAgICAgICAgICAgICBib3VuZHMucHVz
aChwYXJzZU5vbk5lZ2F0aXZlSW50ZWdlcigpKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHBl
ZWtUb2tlbigpLnN0cmluZyA9PSAiLCIpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIG5leHRU
b2tlbigpOwotICAgICAgICAgICAgICAgICAgICAgICAgYm91bmRzLnB1c2gocGFyc2VOb25OZWdh
dGl2ZUludGVnZXIoKSk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgY29uc3VtZVRva2VuKCIpIik7Ci0gICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudC5pdGVt
cy5wdXNoKHtuYW1lLCBib3VuZHN9KTsKLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAg
ICAgICAgICAgIGlmIChwZWVrVG9rZW4oKS5zdHJpbmcgIT0gIiwiKQotICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN1bWVUb2tlbigiLCIpOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNh
c2UgIm9wdGlvbiI6IHsKLSAgICAgICAgICAgICAgICBjb25zdW1lVG9rZW4oImJhc2UiKTsKLSAg
ICAgICAgICAgICAgICBsZXQgYmFzZSA9IHBhcnNlTm9uTmVnYXRpdmVJbnRlZ2VyKCk7Ci0gICAg
ICAgICAgICAgICAgaWYgKGJhc2UgIT0gMCAmJiBiYXNlICE9IDEpCi0gICAgICAgICAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiQXQgIiArIGNvbW1hbmQuc291cmNlTGluZU51bWJlciArICI6
IHVuZXhwZWN0ZWQgYmFzZTogIiArIGJhc2UpOwotICAgICAgICAgICAgICAgIHByb2dyYW0uYmFz
ZSA9IGJhc2U7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBjYXNlICJyYW5kb21pemUiOgotICAgICAgICAgICAgICAgIHN0YXRlbWVudC5wcm9jZXNz
ID0gQmFzaWMuUmFuZG9taXplOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
Y2FzZSAiZW5kIjoKLSAgICAgICAgICAgICAgICBzdGF0ZW1lbnQucHJvY2VzcyA9IEJhc2ljLkVu
ZDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAg
ICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJBdCAiICsgY29tbWFuZC5zb3VyY2VMaW5lTnVtYmVy
ICsgIjogdW5leHBlY3RlZCBjb21tYW5kIGJ1dCBnb3Q6ICIgKyBjb21tYW5kLnN0cmluZyk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAicmVtYXJrIjoK
LSAgICAgICAgICAgIC8vIEp1c3QgaWdub3JlIGl0LgotICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0ICIgKyBjb21tYW5k
LnNvdXJjZUxpbmVOdW1iZXIgKyAiOiBleHBlY3RlZCBjb21tYW5kIGJ1dCBnb3Q6ICIgKyBjb21t
YW5kLnN0cmluZyArICIgKG9mIGtpbmQgIiArIGNvbW1hbmQua2luZCArICIpIik7Ci0gICAgICAg
IH0KLSAgICAgICAgCi0gICAgICAgIGNvbnN1bWVLaW5kKCJuZXdMaW5lIik7Ci0gICAgICAgIHJl
dHVybiBzdGF0ZW1lbnQ7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHBhcnNlU3RhdGVtZW50
cygpCi0gICAgewotICAgICAgICBsZXQgc3RhdGVtZW50OwotICAgICAgICBkbyB7Ci0gICAgICAg
ICAgICBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudCgpOwotICAgICAgICB9IHdoaWxlICghc3Rh
dGVtZW50LnByb2Nlc3MgfHwgIXN0YXRlbWVudC5wcm9jZXNzLmlzQmxvY2tFbmQpOwotICAgICAg
ICByZXR1cm4gc3RhdGVtZW50OwotICAgIH0KLSAgICAKLSAgICByZXR1cm4gewotICAgICAgICBw
cm9ncmFtKCkKLSAgICAgICAgewotICAgICAgICAgICAgcHJvZ3JhbSA9IHsKLSAgICAgICAgICAg
ICAgICBwcm9jZXNzOiBCYXNpYy5Qcm9ncmFtLAotICAgICAgICAgICAgICAgIHN0YXRlbWVudHM6
IG5ldyBNYXAoKSwKLSAgICAgICAgICAgICAgICBkYXRhOiBbXSwKLSAgICAgICAgICAgICAgICBi
YXNlOiAwCi0gICAgICAgICAgICB9OwotICAgICAgICAgICAgbGV0IGxhc3RTdGF0ZW1lbnQgPSBw
YXJzZVN0YXRlbWVudHMocHJvZ3JhbS5zdGF0ZW1lbnRzKTsKLSAgICAgICAgICAgIGlmIChsYXN0
U3RhdGVtZW50LnByb2Nlc3MgIT0gQmFzaWMuRW5kKQotICAgICAgICAgICAgICAgIHRocm93IG5l
dyBFcnJvcigiQXQgIiArIGxhc3RTdGF0ZW1lbnQuc291cmNlTGluZU51bWJlciArICI6IGV4cGVj
dGVkIGVuZCIpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICByZXR1cm4gcHJvZ3JhbTsKLSAg
ICAgICAgfSwKLSAgICAgICAgCi0gICAgICAgIHN0YXRlbWVudChwcm9ncmFtXykKLSAgICAgICAg
ewotICAgICAgICAgICAgcHJvZ3JhbSA9IHByb2dyYW1fOwotICAgICAgICAgICAgcmV0dXJuIHBh
cnNlU3RhdGVtZW50KCk7Ci0gICAgICAgIH0KLSAgICB9OwotfQotCkluZGV4OiBQZXJmb3JtYW5j
ZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL3JhbmRvbS5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJm
b3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL3JhbmRvbS5qcwkocmV2aXNpb24gMjEx
Njg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9yYW5kb20uanMJ
KG5vbmV4aXN0ZW50KQpAQCAtMSw1NCArMCwwIEBACi0vLyBDb3B5cmlnaHQgMjAxMyB0aGUgVjgg
cHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gQ29weXJpZ2h0IChDKSAy
MDE1LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0v
LyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCi0vLyBtZXQ6Ci0vLwotLy8gICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLS8vICAgICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLS8vICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKLS8vICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCi0vLyAgICAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKLS8vICAgICAgIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLS8vICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLS8vICAgICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAotLy8gICAgICAgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgot
Ly8KLS8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKLS8vICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0vLyBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLS8vIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCi0vLyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLS8vIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLS8vIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotLy8g
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCi0vLyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0vLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLS8vIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0idXNlIHN0cmljdCI7Ci0KLS8vIFRoaXMgaXMgYmFzZWQgb24gT2N0YW5lJ3MgUk5HLgot
ZnVuY3Rpb24gY3JlYXRlUk5HKHNlZWQpCi17Ci0gICAgcmV0dXJuIGZ1bmN0aW9uKCkgewotICAg
ICAgICAvLyBSb2JlcnQgSmVua2lucycgMzIgYml0IGludGVnZXIgaGFzaCBmdW5jdGlvbi4KLSAg
ICAgICAgc2VlZCA9ICgoc2VlZCArIDB4N2VkNTVkMTYpICsgKHNlZWQgPDwgMTIpKSAgJiAweGZm
ZmZmZmZmOwotICAgICAgICBzZWVkID0gKChzZWVkIF4gMHhjNzYxYzIzYykgXiAoc2VlZCA+Pj4g
MTkpKSAmIDB4ZmZmZmZmZmY7Ci0gICAgICAgIHNlZWQgPSAoKHNlZWQgKyAweDE2NTY2N2IxKSAr
IChzZWVkIDw8IDUpKSAgICYgMHhmZmZmZmZmZjsKLSAgICAgICAgc2VlZCA9ICgoc2VlZCArIDB4
ZDNhMjY0NmMpIF4gKHNlZWQgPDwgOSkpICAgJiAweGZmZmZmZmZmOwotICAgICAgICBzZWVkID0g
KChzZWVkICsgMHhmZDcwNDZjNSkgKyAoc2VlZCA8PCAzKSkgICAmIDB4ZmZmZmZmZmY7Ci0gICAg
ICAgIHNlZWQgPSAoKHNlZWQgXiAweGI1NWE0ZjA5KSBeIChzZWVkID4+PiAxNikpICYgMHhmZmZm
ZmZmZjsKLSAgICAgICAgcmV0dXJuIChzZWVkICYgMHhmZmZmZmZmKSAvIDB4MTAwMDAwMDA7Ci0g
ICAgfTsKLX0KLQotZnVuY3Rpb24gY3JlYXRlUk5HV2l0aEZpeGVkU2VlZCgpCi17Ci0gICAgLy8g
VGhpcyB1c2VzIE9jdGFuZSdzIGluaXRpYWwgc2VlZC4KLSAgICByZXR1cm4gY3JlYXRlUk5HKDQ5
NzM0MzIxKTsKLX0KLQotZnVuY3Rpb24gY3JlYXRlUk5HV2l0aFJhbmRvbVNlZWQoKQotewotICAg
IHJldHVybiBjcmVhdGVSTkcoKE1hdGgucmFuZG9tKCkgKiA0Mjk0OTY3Mjk2KSB8IDApOwotfQpJ
bmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy9zdGF0ZS5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2ljL3N0YXRlLmpz
CShyZXZpc2lvbiAyMTE2ODgpCisrKyBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jh
c2ljL3N0YXRlLmpzCShub25leGlzdGVudCkKQEAgLTEsOTggKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotInVzZSBzdHJpY3QiOwotCi1jbGFzcyBT
dGF0ZSB7Ci0gICAgY29uc3RydWN0b3IocHJvZ3JhbSkKLSAgICB7Ci0gICAgICAgIHRoaXMudmFs
dWVzID0gbmV3IENhc2VsZXNzTWFwKCk7Ci0gICAgICAgIHRoaXMuc3RyaW5nVmFsdWVzID0gbmV3
IENhc2VsZXNzTWFwKCk7Ci0gICAgICAgIHRoaXMuc2lkZVN0YXRlID0gbmV3IFdlYWtNYXAoKTsK
LSAgICAgICAgdGhpcy5zdGF0ZW1lbnQgPSBudWxsOwotICAgICAgICB0aGlzLm5leHRMaW5lTnVt
YmVyID0gMDsKLSAgICAgICAgdGhpcy5zdWJTdGFjayA9IFtdOwotICAgICAgICB0aGlzLmRhdGFJ
bmRleCA9IDA7Ci0gICAgICAgIHRoaXMucHJvZ3JhbSA9IHByb2dyYW07Ci0gICAgICAgIHRoaXMu
cm5nID0gY3JlYXRlUk5HV2l0aEZpeGVkU2VlZCgpOwotICAgICAgICAKLSAgICAgICAgbGV0IGFk
ZE5hdGl2ZSA9IChuYW1lLCBjYWxsYmFjaykgPT4gewotICAgICAgICAgICAgdGhpcy52YWx1ZXMu
c2V0KG5hbWUsIG5ldyBOYXRpdmVGdW5jdGlvbihjYWxsYmFjaykpOwotICAgICAgICB9OwotICAg
ICAgICAKLSAgICAgICAgYWRkTmF0aXZlKCJhYnMiLCB4ID0+IE1hdGguYWJzKHgpKTsKLSAgICAg
ICAgYWRkTmF0aXZlKCJhdG4iLCB4ID0+IE1hdGguYXRhbih4KSk7Ci0gICAgICAgIGFkZE5hdGl2
ZSgiY29zIiwgeCA9PiBNYXRoLmNvcyh4KSk7Ci0gICAgICAgIGFkZE5hdGl2ZSgiZXhwIiwgeCA9
PiBNYXRoLmV4cCh4KSk7Ci0gICAgICAgIGFkZE5hdGl2ZSgiaW50IiwgeCA9PiBNYXRoLmZsb29y
KHgpKTsKLSAgICAgICAgYWRkTmF0aXZlKCJsb2ciLCB4ID0+IE1hdGgubG9nKHgpKTsKLSAgICAg
ICAgYWRkTmF0aXZlKCJybmQiLCAoKSA9PiB0aGlzLnJuZygpKTsKLSAgICAgICAgYWRkTmF0aXZl
KCJzZ24iLCB4ID0+IE1hdGguc2lnbih4KSk7Ci0gICAgICAgIGFkZE5hdGl2ZSgic2luIiwgeCA9
PiBNYXRoLnNpbih4KSk7Ci0gICAgICAgIGFkZE5hdGl2ZSgic3FyIiwgeCA9PiBNYXRoLnNxcnQo
eCkpOwotICAgICAgICBhZGROYXRpdmUoInRhbiIsIHggPT4gTWF0aC50YW4oeCkpOwotICAgIH0K
LSAgICAKLSAgICBnZXRWYWx1ZShuYW1lLCBudW1QYXJhbWV0ZXJzKQotICAgIHsKLSAgICAgICAg
aWYgKHRoaXMudmFsdWVzLmhhcyhuYW1lKSkKLSAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVl
cy5nZXQobmFtZSk7Ci0KLSAgICAgICAgbGV0IHJlc3VsdDsKLSAgICAgICAgaWYgKG51bVBhcmFt
ZXRlcnMgPT0gMCkKLSAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBOdW1iZXJWYWx1ZSgpOwotICAg
ICAgICBlbHNlIHsKLSAgICAgICAgICAgIGxldCBkaW0gPSBbXTsKLSAgICAgICAgICAgIHdoaWxl
IChudW1QYXJhbWV0ZXJzLS0pCi0gICAgICAgICAgICAgICAgZGltLnB1c2goMTEpOwotICAgICAg
ICAgICAgcmVzdWx0ID0gbmV3IE51bWJlckFycmF5KGRpbSk7Ci0gICAgICAgIH0KLSAgICAgICAg
dGhpcy52YWx1ZXMuc2V0KG5hbWUsIHJlc3VsdCk7Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0g
ICAgfQotICAgIAotICAgIGdldFNpZGVTdGF0ZShrZXkpCi0gICAgewotICAgICAgICBpZiAoIXRo
aXMuc2lkZVN0YXRlLmhhcyhrZXkpKSB7Ci0gICAgICAgICAgICBsZXQgcmVzdWx0ID0ge307Ci0g
ICAgICAgICAgICB0aGlzLnNpZGVTdGF0ZS5zZXQoa2V5LCByZXN1bHQpOwotICAgICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gdGhpcy5zaWRlU3RhdGUu
Z2V0KGtleSk7Ci0gICAgfQotICAgIAotICAgIGFib3J0KHRleHQpCi0gICAgewotICAgICAgICBp
ZiAoIXRoaXMuc3RhdGVtZW50KQotICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJBdCBiZWdp
bm5pbmcgb2YgZXhlY3V0aW9uOiAiICsgdGV4dCk7Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcigi
QXQgIiArIHRoaXMuc3RhdGVtZW50LnNvdXJjZUxpbmVOdW1iZXIgKyAiOiAiICsgdGV4dCk7Ci0g
ICAgfQotICAgIAotICAgIHZhbGlkYXRlKHByZWRpY2F0ZSwgdGV4dCkKLSAgICB7Ci0gICAgICAg
IGlmICghcHJlZGljYXRlKQotICAgICAgICAgICAgdGhpcy5hYm9ydCh0ZXh0KTsKLSAgICB9Ci19
Ci0KSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gvQmFzaWMvc3RyZXNzLXRl
c3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNp
Yy9zdHJlc3MtdGVzdC5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9F
UzZTYW1wbGVCZW5jaC9CYXNpYy9zdHJlc3MtdGVzdC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDU0
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1
c2Ugc3RyaWN0IjsKLQotbG9hZCgiYXN0LmpzIik7Ci1sb2FkKCJiYXNpYy5qcyIpOwotbG9hZCgi
Y2FzZWxlc3NfbWFwLmpzIik7Ci1sb2FkKCJsZXhlci5qcyIpOwotbG9hZCgibnVtYmVyLmpzIik7
Ci1sb2FkKCJwYXJzZXIuanMiKTsKLWxvYWQoInJhbmRvbS5qcyIpOwotbG9hZCgic3RhdGUuanMi
KTsKLWxvYWQoInV0aWwuanMiKTsKLWxvYWQoImJlbmNobWFyay5qcyIpOwotCi1sZXQgYmVuY2ht
YXJrID0gbmV3IEJhc2ljQmVuY2htYXJrKCk7Ci1sZXQgYmVmb3JlID0gcHJlY2lzZVRpbWUoKTsK
LQotLy8gUnVuIGZvciBhdCBsZWFzdCAxMCBpdGVyYXRpb25zLgotZm9yIChsZXQgaSA9IDA7IGkg
PCAxMDsgKytpKSB7Ci0gICAgcHJpbnQoIlJ1bm5pbmcgbWFuZGF0b3J5IGl0ZXJhdGlvbiAjIiAr
IChpICsgMSkgKyAiOiIpOwotICAgIGJlbmNobWFyay5ydW5JdGVyYXRpb24oKTsKLX0KLQotLy8g
UnVuIHVudGlsIHdlIGhhdmUgYmVlbiBydW5uaW5nIGZvciB0d28gc2Vjb25kcy4KLXdoaWxlIChw
cmVjaXNlVGltZSgpIDwgYmVmb3JlICsgMikgewotICAgIHByaW50KCJSdW5uaW5nIGJvbnVzIGl0
ZXJhdGlvbjoiKTsKLSAgICBiZW5jaG1hcmsucnVuSXRlcmF0aW9uKCk7Ci19Ci0KLXByaW50KCJT
dWNjZXNzISIpOwotCkluZGV4OiBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNoL0Jhc2lj
L3Rlc3QuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJlbmNo
L0Jhc2ljL3Rlc3QuaHRtbAkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFuY2VUZXN0cy9F
UzZTYW1wbGVCZW5jaC9CYXNpYy90ZXN0Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzNCArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHRpdGxlPkJhc2ljPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJh
c3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImJhc2ljLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSJjYXNlbGVzc19tYXAuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImxleGVyLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJudW1iZXIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9InBhcnNlci5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmFuZG9tLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSJzdGF0ZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0idXRpbC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iYmVuY2htYXJrLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci0gICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICAg
IHZhciByZXN1bHQgPSBydW5CZW5jaG1hcmsoKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJyZXN1bHQtc3VtbWFyeSIpLmlubmVySFRNTCA9ICJUaGF0IHRvb2sgIiArIHJl
c3VsdCArICIgbXMuIjsKLSAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdC1zdW1tYXJ5IikuaW5uZXJIVE1MID0gIkZhaWxlZDog
IiArIGU7Ci0gICAgICAgIH0KLSAgICB9Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGgx
PkJhc2ljPC9oMT4KLTxwPgotICA8ZGl2IGlkPSJyZXN1bHQtc3VtbWFyeSI+PC9kaXY+Ci0gIDxk
aXY+PGEgaHJlZj0iamF2YXNjcmlwdDpydW5UZXN0KCkiPlN0YXJ0IFRlc3Q8L2E+PC9kaXY+Ci08
L3A+Ci08L2JvZHk+Ci08L2h0bWw+Ci0KLQpJbmRleDogUGVyZm9ybWFuY2VUZXN0cy9FUzZTYW1w
bGVCZW5jaC9CYXNpYy90ZXN0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFBlcmZvcm1hbmNlVGVzdHMvRVM2
U2FtcGxlQmVuY2gvQmFzaWMvdGVzdC5qcwkocmV2aXNpb24gMjExNjg4KQorKysgUGVyZm9ybWFu
Y2VUZXN0cy9FUzZTYW1wbGVCZW5jaC9CYXNpYy90ZXN0LmpzCShub25leGlzdGVudCkKQEAgLTEs
MTYgKzAsMCBAQAotInVzZSBzdHJpY3QiOwotCi1sb2FkKCJhc3QuanMiKTsKLWxvYWQoImJhc2lj
LmpzIik7Ci1sb2FkKCJjYXNlbGVzc19tYXAuanMiKTsKLWxvYWQoImxleGVyLmpzIik7Ci1sb2Fk
KCJudW1iZXIuanMiKTsKLWxvYWQoInBhcnNlci5qcyIpOwotbG9hZCgicmFuZG9tLmpzIik7Ci1s
b2FkKCJzdGF0ZS5qcyIpOwotbG9hZCgidXRpbC5qcyIpOwotCi1sb2FkKCJiZW5jaG1hcmsuanMi
KTsKLQotbGV0IHJlc3VsdCA9IHJ1bkJlbmNobWFyaygpOwotcHJpbnQoIlRoYXQgdG9vayAiICsg
cmVzdWx0ICsgIiBtcy4iKTsKSW5kZXg6IFBlcmZvcm1hbmNlVGVzdHMvRVM2U2FtcGxlQmVuY2gv
QmFzaWMvdXRpbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBQZXJmb3JtYW5jZVRlc3RzL0VTNlNhbXBsZUJl
bmNoL0Jhc2ljL3V0aWwuanMJKHJldmlzaW9uIDIxMTY4OCkKKysrIFBlcmZvcm1hbmNlVGVzdHMv
RVM2U2FtcGxlQmVuY2gvQmFzaWMvdXRpbC5qcwkobm9uZXhpc3RlbnQpCkBAIC0xLDM0ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLSJ1c2Ugc3Ry
aWN0IjsKLQotbGV0IGN1cnJlbnRUaW1lOwotaWYgKHRoaXMucGVyZm9ybWFuY2UgJiYgcGVyZm9y
bWFuY2Uubm93KQotICAgIGN1cnJlbnRUaW1lID0gZnVuY3Rpb24oKSB7IHJldHVybiBwZXJmb3Jt
YW5jZS5ub3coKSB9OwotZWxzZSBpZiAodGhpcy5wcmVjaXNlVGltZSkKLSAgICBjdXJyZW50VGlt
ZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gcHJlY2lzZVRpbWUoKSAqIDEwMDA7IH07Ci1lbHNlCi0g
ICAgY3VycmVudFRpbWUgPSBmdW5jdGlvbigpIHsgcmV0dXJuICtuZXcgRGF0ZSgpOyB9OwotCg==
</data>
<flag name="review"
          id="322537"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>