<?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>64088</bug_id>
          
          <creation_ts>2011-07-07 07:55:23 -0700</creation_ts>
          <short_desc>Remove QtScript code from WebKit</short_desc>
          <delta_ts>2011-10-21 03:25:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P4</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jędrzej Nowacki">jedrzej.nowacki</reporter>
          <assigned_to name="Jędrzej Nowacki">jedrzej.nowacki</assigned_to>
          <cc>abarth</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>hausmann</cc>
    
    <cc>levin</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>433454</commentid>
    <comment_count>0</comment_count>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2011-07-07 07:55:23 -0700</bug_when>
    <thetext>Porting QtScript API over JSC C API will not be continued.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433932</commentid>
    <comment_count>1</comment_count>
      <attachid>100084</attachid>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2011-07-08 00:22:02 -0700</bug_when>
    <thetext>Created attachment 100084
Patch v1

Proposed patch. 

The patch:
- removes QtScript code from JavaScriptCore/qt,
- obviously it touches some build files (I check Qt build, it works for me (TM) :-) )
- it deletes some checks for sanity bot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434040</commentid>
    <comment_count>2</comment_count>
      <attachid>100084</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-07-08 07:10:42 -0700</bug_when>
    <thetext>Comment on attachment 100084
Patch v1

Awww. Good bye, QtScript on top of JSC C API :&apos;(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434062</commentid>
    <comment_count>3</comment_count>
      <attachid>100084</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-08 08:29:33 -0700</bug_when>
    <thetext>Comment on attachment 100084
Patch v1

Rejecting attachment 100084 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=ec2-cq-03&apos;, &apos;--port...&quot; exit_code: 1

Last 500 characters of output:
alidatereviewer.py&quot;, line 56, in run
    changelog_entry = ChangeLog(changelog_path).latest_entry()
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/common/checkout/changelog.py&quot;, line 157, in latest_entry
    changelog_file = codecs.open(self.path, &quot;r&quot;, &quot;utf-8&quot;)
  File &quot;/usr/lib/python2.6/codecs.py&quot;, line 881, in open
    file = __builtin__.open(filename, mode, buffering)
IOError: [Errno 2] No such file or directory: u&apos;/mnt/git/webkit-commit-queue/Source/JavaScriptCore/qt/ChangeLog&apos;

Full output: http://queues.webkit.org/results/8995771</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443519</commentid>
    <comment_count>4</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-07-28 09:40:54 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; IOError: [Errno 2] No such file or directory: u&apos;/mnt/git/webkit-commit-queue/Source/JavaScriptCore/qt/ChangeLog&apos;

Because the patch remove this ChangeLog, maybe it needs a manual landing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488274</commentid>
    <comment_count>5</comment_count>
      <attachid>111925</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-10-21 02:04:25 -0700</bug_when>
    <thetext>Created attachment 111925
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>488289</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-10-21 03:25:43 -0700</bug_when>
    <thetext>Committed r98093: &lt;http://trac.webkit.org/changeset/98093&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100084</attachid>
            <date>2011-07-08 00:22:02 -0700</date>
            <delta_ts>2011-10-21 02:04:15 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>tmp.diff</filename>
            <type>text/plain</type>
            <size>572699</size>
            <attacher name="Jędrzej Nowacki">jedrzej.nowacki</attacher>
            
              <data encoding="base64">Y29tbWl0IDgxZjg0YTMzZjdkOWMwMDRlNzcxNTQwMjFkMGZiNjlhYzRkZDRlOWUKQXV0aG9yOiBK
ZWRyemVqIE5vd2Fja2kgPGplZHJ6ZWoubm93YWNraUBub2tpYS5jb20+CkRhdGU6ICAgVGh1IEp1
bCA3IDEyOjE1OjQ4IDIwMTEgKzAyMDAKCiAgICBSZW1vdmUgUXRTY3JpcHQgc291cmNlIGNvZGUg
ZnJvbSBXZWJLaXQuCiAgICAKICAgIEl0IHdhcyBub3QgcG9zc2libGUgdG8gaW1wbGVtZW50IFF0
U2NyaXB0IG9uIHRvcCBvZiBKU0MgQyBBUEksCiAgICBiZWNhdXNlIG9mIGNvbXBhdGliaWxpdHkg
YW5kIHBlcmZvcm1hbmNlIGlzc3Vlcy4KCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VM
b2cKaW5kZXggOWY0NGQ2NS4uMjZmNjM3MCAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTA3LTA4ICBKZWRyemVqIE5vd2Fja2kgIDxq
ZWRyemVqLm5vd2Fja2lAbm9raWEuY29tPgorCisgICAgICAgIFJlbW92ZSBRdFNjcmlwdCBzb3Vy
Y2UgY29kZSBmcm9tIFdlYktpdC4KKworICAgICAgICBJdCB3YXMgbm90IHBvc3NpYmxlIHRvIGlt
cGxlbWVudCBRdFNjcmlwdCBvbiB0b3Agb2YgSlNDIEMgQVBJLAorICAgICAgICBiZWNhdXNlIG9m
IGNvbXBhdGliaWxpdHkgYW5kIHBlcmZvcm1hbmNlIGlzc3Vlcy4KKworICAgICAgICBSZW1vdmUg
UXRTY3JpcHQgY29kZSBmcm9tIFdlYktpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjQwODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFNvdXJjZS9XZWJLaXQucHJvOgorCiAyMDExLTA3LTA2ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gQWRk
IEZ1bGxzY3JlZW4gQVBJIGZlYXR1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJiYzU4
OWIuLjgyNzdmNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisy
MDExLTA3LTA4ICBKZWRyemVqIE5vd2Fja2kgIDxqZWRyemVqLm5vd2Fja2lAbm9raWEuY29tPgor
CisgICAgICAgIFJlbW92ZSBRdFNjcmlwdCBzb3VyY2UgY29kZSBmcm9tIFdlYktpdC4KKworICAg
ICAgICBJdCB3YXMgbm90IHBvc3NpYmxlIHRvIGltcGxlbWVudCBRdFNjcmlwdCBvbiB0b3Agb2Yg
SlNDIEMgQVBJLAorICAgICAgICBiZWNhdXNlIG9mIGNvbXBhdGliaWxpdHkgYW5kIHBlcmZvcm1h
bmNlIGlzc3Vlcy4KKworICAgICAgICBSZW1vdmUgUXRTY3JpcHQgY29kZSBmcm9tIFdlYktpdAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwODgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLmd5cGk6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUucHJpOgorICAgICAgICAqIHF0
L2FwaS9RdFNjcmlwdC5wcm86IFJlbW92ZWQuCisgICAgICAgICogcXQvYXBpL3FzY3JpcHRjb252
ZXJ0ZXJfcC5oOiBSZW1vdmVkLgorICAgICAgICAqIHF0L2FwaS9xc2NyaXB0ZW5naW5lLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlwdGVuZ2luZS5oOiBSZW1vdmVkLgorICAg
ICAgICAqIHF0L2FwaS9xc2NyaXB0ZW5naW5lX3AuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHF0
L2FwaS9xc2NyaXB0ZW5naW5lX3AuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlw
dGZ1bmN0aW9uLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlwdGZ1bmN0aW9u
X3AuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlwdG9yaWdpbmFsZ2xvYmFsb2Jq
ZWN0X3AuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlwdHByb2dyYW0uY3BwOiBS
ZW1vdmVkLgorICAgICAgICAqIHF0L2FwaS9xc2NyaXB0cHJvZ3JhbS5oOiBSZW1vdmVkLgorICAg
ICAgICAqIHF0L2FwaS9xc2NyaXB0cHJvZ3JhbV9wLmg6IFJlbW92ZWQuCisgICAgICAgICogcXQv
YXBpL3FzY3JpcHRzdHJpbmcuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHF0L2FwaS9xc2NyaXB0
c3RyaW5nLmg6IFJlbW92ZWQuCisgICAgICAgICogcXQvYXBpL3FzY3JpcHRzdHJpbmdfcC5oOiBS
ZW1vdmVkLgorICAgICAgICAqIHF0L2FwaS9xc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHQuY3BwOiBS
ZW1vdmVkLgorICAgICAgICAqIHF0L2FwaS9xc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHQuaDogUmVt
b3ZlZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlwdHN5bnRheGNoZWNrcmVzdWx0X3AuaDogUmVt
b3ZlZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlwdHZhbHVlLmNwcDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBxdC9hcGkvcXNjcmlwdHZhbHVlLmg6IFJlbW92ZWQuCisgICAgICAgICogcXQvYXBpL3Fz
Y3JpcHR2YWx1ZV9wLmg6IFJlbW92ZWQuCisgICAgICAgICogcXQvYXBpL3FzY3JpcHR2YWx1ZWl0
ZXJhdG9yLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlwdHZhbHVlaXRlcmF0
b3IuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlwdHZhbHVlaXRlcmF0b3JfcC5o
OiBSZW1vdmVkLgorICAgICAgICAqIHF0L2FwaS9xdHNjcmlwdGdsb2JhbC5oOiBSZW1vdmVkLgor
ICAgICAgICAqIHF0L2JlbmNobWFya3MvYmVuY2htYXJrcy5wcmk6IFJlbW92ZWQuCisgICAgICAg
ICogcXQvYmVuY2htYXJrcy9iZW5jaG1hcmtzLnBybzogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC9i
ZW5jaG1hcmtzL3FzY3JpcHRlbmdpbmUvcXNjcmlwdGVuZ2luZS5wcm86IFJlbW92ZWQuCisgICAg
ICAgICogcXQvYmVuY2htYXJrcy9xc2NyaXB0ZW5naW5lL3RzdF9xc2NyaXB0ZW5naW5lLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBxdC9iZW5jaG1hcmtzL3FzY3JpcHR2YWx1ZS9xc2NyaXB0dmFs
dWUucHJvOiBSZW1vdmVkLgorICAgICAgICAqIHF0L2JlbmNobWFya3MvcXNjcmlwdHZhbHVlL3Rz
dF9xc2NyaXB0dmFsdWUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHF0L3Rlc3RzL3FzY3JpcHRl
bmdpbmUvcXNjcmlwdGVuZ2luZS5wcm86IFJlbW92ZWQuCisgICAgICAgICogcXQvdGVzdHMvcXNj
cmlwdGVuZ2luZS90c3RfcXNjcmlwdGVuZ2luZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcXQv
dGVzdHMvcXNjcmlwdHN0cmluZy9xc2NyaXB0c3RyaW5nLnBybzogUmVtb3ZlZC4KKyAgICAgICAg
KiBxdC90ZXN0cy9xc2NyaXB0c3RyaW5nL3RzdF9xc2NyaXB0c3RyaW5nLmNwcDogUmVtb3ZlZC4K
KyAgICAgICAgKiBxdC90ZXN0cy9xc2NyaXB0dmFsdWUvcXNjcmlwdHZhbHVlLnBybzogUmVtb3Zl
ZC4KKyAgICAgICAgKiBxdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZS5jcHA6
IFJlbW92ZWQuCisgICAgICAgICogcXQvdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFs
dWUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3Jp
cHR2YWx1ZV9nZW5lcmF0ZWRfY29tcGFyaXNvbi5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcXQv
dGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2luaXQuY3BwOiBS
ZW1vdmVkLgorICAgICAgICAqIHF0L3Rlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVl
X2dlbmVyYXRlZF9pc3R5cGUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHF0L3Rlc3RzL3FzY3Jp
cHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlX2dlbmVyYXRlZF90b3R5cGUuY3BwOiBSZW1vdmVkLgor
ICAgICAgICAqIHF0L3Rlc3RzL3FzY3JpcHR2YWx1ZWl0ZXJhdG9yL3FzY3JpcHR2YWx1ZWl0ZXJh
dG9yLnBybzogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC90ZXN0cy9xc2NyaXB0dmFsdWVpdGVyYXRv
ci90c3RfcXNjcmlwdHZhbHVlaXRlcmF0b3IuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHF0L3Rl
c3RzL3Rlc3RzLnByaTogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC90ZXN0cy90ZXN0cy5wcm86IFJl
bW92ZWQuCisKIDIwMTEtMDctMDYgIEp1YW4gQy4gTW9udGVtYXlvciAgPGptb250QGFwcGxlLmNv
bT4KIAogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQgcnVubmluZyB0ZXN0IDI2MgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBhOGVjODg5Li5hNDM3MTIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQpAQCAtNDI0LDQx
ICs0MjQsNiBAQAogICAgICAgICAgICAgJ3Byb2ZpbGVyL1Byb2ZpbGVyLmNwcCcsCiAgICAgICAg
ICAgICAncHJvZmlsZXIvUHJvZmlsZXJTZXJ2ZXIuaCcsCiAgICAgICAgICAgICAncHJvZmlsZXIv
UHJvZmlsZXJTZXJ2ZXIubW0nLAotICAgICAgICAgICAgJ3F0L2FwaS9xc2NyaXB0Y29udmVydGVy
X3AuaCcsCi0gICAgICAgICAgICAncXQvYXBpL3FzY3JpcHRlbmdpbmUuY3BwJywKLSAgICAgICAg
ICAgICdxdC9hcGkvcXNjcmlwdGVuZ2luZS5oJywKLSAgICAgICAgICAgICdxdC9hcGkvcXNjcmlw
dGVuZ2luZV9wLmNwcCcsCi0gICAgICAgICAgICAncXQvYXBpL3FzY3JpcHRlbmdpbmVfcC5oJywK
LSAgICAgICAgICAgICdxdC9hcGkvcXNjcmlwdGZ1bmN0aW9uLmNwcCcsCi0gICAgICAgICAgICAn
cXQvYXBpL3FzY3JpcHRmdW5jdGlvbl9wLmgnLAotICAgICAgICAgICAgJ3F0L2FwaS9xc2NyaXB0
b3JpZ2luYWxnbG9iYWxvYmplY3RfcC5oJywKLSAgICAgICAgICAgICdxdC9hcGkvcXNjcmlwdHBy
b2dyYW0uY3BwJywKLSAgICAgICAgICAgICdxdC9hcGkvcXNjcmlwdHByb2dyYW0uaCcsCi0gICAg
ICAgICAgICAncXQvYXBpL3FzY3JpcHRwcm9ncmFtX3AuaCcsCi0gICAgICAgICAgICAncXQvYXBp
L3FzY3JpcHRzdHJpbmcuY3BwJywKLSAgICAgICAgICAgICdxdC9hcGkvcXNjcmlwdHN0cmluZy5o
JywKLSAgICAgICAgICAgICdxdC9hcGkvcXNjcmlwdHN0cmluZ19wLmgnLAotICAgICAgICAgICAg
J3F0L2FwaS9xc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHQuY3BwJywKLSAgICAgICAgICAgICdxdC9h
cGkvcXNjcmlwdHN5bnRheGNoZWNrcmVzdWx0LmgnLAotICAgICAgICAgICAgJ3F0L2FwaS9xc2Ny
aXB0c3ludGF4Y2hlY2tyZXN1bHRfcC5oJywKLSAgICAgICAgICAgICdxdC9hcGkvcXNjcmlwdHZh
bHVlLmNwcCcsCi0gICAgICAgICAgICAncXQvYXBpL3FzY3JpcHR2YWx1ZS5oJywKLSAgICAgICAg
ICAgICdxdC9hcGkvcXNjcmlwdHZhbHVlX3AuaCcsCi0gICAgICAgICAgICAncXQvYXBpL3FzY3Jp
cHR2YWx1ZWl0ZXJhdG9yLmNwcCcsCi0gICAgICAgICAgICAncXQvYXBpL3FzY3JpcHR2YWx1ZWl0
ZXJhdG9yLmgnLAotICAgICAgICAgICAgJ3F0L2FwaS9xc2NyaXB0dmFsdWVpdGVyYXRvcl9wLmgn
LAotICAgICAgICAgICAgJ3F0L2FwaS9xdHNjcmlwdGdsb2JhbC5oJywKLSAgICAgICAgICAgICdx
dC9iZW5jaG1hcmtzL3FzY3JpcHRlbmdpbmUvdHN0X3FzY3JpcHRlbmdpbmUuY3BwJywKLSAgICAg
ICAgICAgICdxdC9iZW5jaG1hcmtzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlLmNwcCcs
Ci0gICAgICAgICAgICAncXQvdGVzdHMvcXNjcmlwdGVuZ2luZS90c3RfcXNjcmlwdGVuZ2luZS5j
cHAnLAotICAgICAgICAgICAgJ3F0L3Rlc3RzL3FzY3JpcHRzdHJpbmcvdHN0X3FzY3JpcHRzdHJp
bmcuY3BwJywKLSAgICAgICAgICAgICdxdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2
YWx1ZS5jcHAnLAotICAgICAgICAgICAgJ3F0L3Rlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlw
dHZhbHVlLmgnLAotICAgICAgICAgICAgJ3F0L3Rlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlw
dHZhbHVlX2dlbmVyYXRlZF9jb21wYXJpc29uLmNwcCcsCi0gICAgICAgICAgICAncXQvdGVzdHMv
cXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2luaXQuY3BwJywKLSAgICAg
ICAgICAgICdxdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZV9nZW5lcmF0ZWRf
aXN0eXBlLmNwcCcsCi0gICAgICAgICAgICAncXQvdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2Ny
aXB0dmFsdWVfZ2VuZXJhdGVkX3RvdHlwZS5jcHAnLAotICAgICAgICAgICAgJ3F0L3Rlc3RzL3Fz
Y3JpcHR2YWx1ZWl0ZXJhdG9yL3RzdF9xc2NyaXB0dmFsdWVpdGVyYXRvci5jcHAnLAogICAgICAg
ICAgICAgJ3J1bnRpbWUvQXJnTGlzdC5jcHAnLAogICAgICAgICAgICAgJ3J1bnRpbWUvQXJndW1l
bnRzLmNwcCcsCiAgICAgICAgICAgICAncnVudGltZS9Bcmd1bWVudHMuaCcsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQppbmRleCBjMGExZDFhLi5jOGFiNmU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcmkKQEAgLTk5LDcgKzk5LDcgQEAg
ZGVmaW5lVGVzdChwcmVwZW5kSmF2YVNjcmlwdENvcmVMaWIpIHsKICAgICB9CiAKICAgICAjIFRo
ZSBmb2xsb3dpbmcgbGluZSBpcyB0byBwcmV2ZW50IHFtYWtlIGZyb20gYWRkaW5nIGpzY29yZSB0
byBsaWJRdFdlYktpdCdzIHBybCBkZXBlbmRlbmNpZXMuCi0gICAgIyBUaGUgY29tcHJvbWlzZSB3
ZSBoYXZlIHRvIGFjY2VwdCBieSBkaXNhYmxpbmcgZXhwbGljaXRsaWIgaXMgdG8gZHJvcCBzdXBw
b3J0IHRvIGxpbmsgUXRXZWJLaXQgYW5kIFF0U2NyaXB0CisgICAgIyBUaGUgY29tcHJvbWlzZSB3
ZSBoYXZlIHRvIGFjY2VwdCBieSBkaXNhYmxpbmcgZXhwbGljaXRsaWIgaXMgdG8gZHJvcCBzdXBw
b3J0IHRvIGxpbmsgUXRXZWJLaXQKICAgICAjIHN0YXRpY2FsbHkgaW4gYXBwbGljYXRpb25zICh3
aGljaCBpc24ndCB1c2VkIG9mdGVuIGJlY2F1c2UsIGFtb25nIG90aGVyIHRoaW5ncywgb2YgbGlj
ZW5zaW5nIG9ic3RhY2xlcykuCiAgICAgQ09ORklHIC09IGV4cGxpY2l0bGliCiAgICAgQ09ORklH
IC09IHN0YXRpY2xpYgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9DaGFuZ2VMb2cKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDIyNDg0YjcuLjAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3F0L0NoYW5nZUxvZworKysgL2Rldi9udWxsCkBAIC0xLDQ2NyArMCwwIEBACi0yMDExLTAz
LTAxICBBbmRyYXMgQmVjc2kgIDxhYmVjc2lAd2Via2l0Lm9yZz4KLQotICAgICAgICBSZXZpZXdl
ZCBieSBDc2FiYSBPc3p0cm9nb27DoWMuCi0KLSAgICAgICAgW1F0XSBDbGVhbiB1cCB0aGUgcHJv
amVjdCBmaWxlcyBhbmQgbW92ZSBjb21tb24gb3B0aW9ucyB0byBXZWJLaXQucHJpLgotCi0gICAg
ICAgICogYXBpL1F0U2NyaXB0LnBybzogRGVkdXBsaWNhdGUgb3B0aW9ucy4KLQotMjAxMS0wMi0y
NCAgQW5kcmFzIEJlY3NpICA8YWJlY3NpQHdlYmtpdC5vcmc+Ci0KLSAgICAgICAgUmV2aWV3ZWQg
YnkgTGFzemxvIEdvbWJvcy4KLQotICAgICAgICBbUXRdIE1pbkdXIGJ1aWxkIGZhaWxzIHRvIGxp
bmsKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MDUw
Ci0KLSAgICAgICAgUHJlcGVuZCB0aGUgbGlicmFyaWVzIG9mIHN1YmNvbXBvbmVudHMgaW5zdGVh
ZCBvZiBhcHBlbmRpbmcgdGhlbQotICAgICAgICB0byBmaXggdGhlIGxpYnJhcnkgb3JkZXIgYWNj
b3JkaW5nIHRvIHRoZSBkZXBlbmRlbmN5IG9mIHRoZSBsaWJyYXJpZXMKLQotICAgICAgICAqIGFw
aS9RdFNjcmlwdC5wcm86Ci0KLTIwMTAtMDktMjkgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBG
aWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4KLQotICAgICAgICBSZXZpZXdlZCBi
eSBBbmRyZWFzIEtsaW5nLgotCi0gICAgICAgIFtRdF0gUVNjcmlwdEVuZ2luZSBzaG91bGQgaGF2
ZSBhbiBBUEkgZm9yIGNyZWF0aW5nIERhdGUgb2JqZWN0cwotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE2NjcKLQotICAgICAgICBJbXBsZW1lbnQgbmV3
RGF0ZSgpLCBpc0RhdGUoKSBhbmQgdG9EYXRlVGltZSgpIGZ1bmN0aW9ucy4gVXNlIHRoZQotICAg
ICAgICBRRGF0ZVRpbWU6Ont0byxzZXR9TVNlY3NTaW5jZUVwb2NoKCkgZnVuY3Rpb25zIHRvIGRv
IHRoZQotICAgICAgICBjYWxjdWxhdGlvbnMuCi0KLSAgICAgICAgKiBhcGkvcXNjcmlwdGVuZ2lu
ZS5jcHA6Ci0gICAgICAgIChRU2NyaXB0RW5naW5lOjpuZXdEYXRlKToKLSAgICAgICAgKiBhcGkv
cXNjcmlwdGVuZ2luZS5oOgotICAgICAgICAqIGFwaS9xc2NyaXB0ZW5naW5lX3AuY3BwOgotICAg
ICAgICAoUVNjcmlwdEVuZ2luZVByaXZhdGU6Om5ld0RhdGUpOgotICAgICAgICAqIGFwaS9xc2Ny
aXB0ZW5naW5lX3AuaDoKLSAgICAgICAgKFFTY3JpcHRFbmdpbmVQcml2YXRlOjppc0RhdGUpOgot
Ci0gICAgICAgICogYXBpL3FzY3JpcHRvcmlnaW5hbGdsb2JhbG9iamVjdF9wLmg6Ci0gICAgICAg
IChRU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3Q6OlFTY3JpcHRPcmlnaW5hbEdsb2JhbE9iamVj
dCk6IG5lZWQKLSAgICAgICAgdG8ga2VlcCB0cmFjayBvZiBEYXRlIENvbnN0cnVjdG9yIGFuZCBQ
cm90b3R5cGUuCi0gICAgICAgIChRU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3Q6On5RU2NyaXB0
T3JpZ2luYWxHbG9iYWxPYmplY3QpOiBkaXR0by4KLSAgICAgICAgKFFTY3JpcHRPcmlnaW5hbEds
b2JhbE9iamVjdDo6aXNEYXRlKTogdXNlIHRoZSBEYXRlIENvbnN0cnVjdG9yCi0gICAgICAgIGFu
ZCBQcm90b3R5cGUgdG8gaWRlbnRpZnkgRGF0ZSB2YWx1ZXMuCi0KLSAgICAgICAgKiBhcGkvcXNj
cmlwdHZhbHVlLmNwcDoKLSAgICAgICAgKFFTY3JpcHRWYWx1ZTo6aXNEYXRlKToKLSAgICAgICAg
KFFTY3JpcHRWYWx1ZTo6dG9EYXRlVGltZSk6Ci0gICAgICAgICogYXBpL3FzY3JpcHR2YWx1ZS5o
OgotICAgICAgICAqIGFwaS9xc2NyaXB0dmFsdWVfcC5oOgotICAgICAgICAoUVNjcmlwdFZhbHVl
UHJpdmF0ZTo6aXNEYXRlKToKLSAgICAgICAgKFFTY3JpcHRWYWx1ZVByaXZhdGU6OnRvRGF0ZVRp
bWUpOgotICAgICAgICAqIHRlc3RzL3FzY3JpcHRlbmdpbmUvdHN0X3FzY3JpcHRlbmdpbmUuY3Bw
OgotICAgICAgICAodHN0X1FTY3JpcHRFbmdpbmU6Om5ld0RhdGUpOgotCi0yMDEwLTA3LTI3ICBK
ZWRyemVqIE5vd2Fja2kgIDxqZWRyemVqLm5vd2Fja2lAbm9raWEuY29tPgotCi0gICAgICAgIFJl
dmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgotCi0gICAgICAgIFVwZGF0ZSB0
aGUgUVNjcmlwdFZhbHVlIGF1dG90ZXN0cyBzdWl0ZS4KLQotICAgICAgICBRU2NyaXB0VmFsdWUg
Z2VuZXJhdGVkIGZpbGVzIHdlcmUgdXBkYXRlZCwgY2hhbmdlcyBhcmU6Ci0gICAgICAgICAtIE1v
cmUgdGVzdGVkIHZhbHVlcyAoZm9yIGV4YW1wbGUgUVNFOjpuZXdPYmplY3QoKSBhbmQgUVNFOjpu
ZXdBcnJheSgpKQotICAgICAgICAgLSBUZXN0ZWQgdmFsdWVzIGFyZSByZWNyZWF0ZWQgYmVmb3Jl
IGVhY2ggdGVzdCBhbmQgYXJlIG5vdCByZXVzZWQuCi0gICAgICAgICBUaGUgY2hhbmdlIGltcGxp
ZXMgYmV0dGVyIGNvZGUgY292ZXJhZ2UgYW5kIHNvbWUgZXhwZWN0ZWQgcmVzdWx0IGNoYW5nZXMu
Ci0gICAgICAgICAtIEEgbmV3IHRlc3QgdG8gY2hlY2sgY29weSBhbmQgYXNzaWduIGZ1bmN0aW9u
cy4KLSAgICAgICAgIC0gVGVzdHMgYXJlIHVzaW5nIHN0YW5kYXJkIFFUZXN0TGliIGludGVyZmFj
ZSwgd2l0aG91dCBhbnkgY3VzdG9tIG1hY3Jvcy4KLQotICAgICAgICBbUXRdIEltcHJvdmUgdGVz
dCBjb3ZlcmFnZSBmb3IgdGhlIFFTY3JpcHRWYWx1ZQotICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIzNjYKLQotICAgICAgICAqIHRlc3RzL3FzY3JpcHR2
YWx1ZS90c3RfcXNjcmlwdHZhbHVlLmNwcDoKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnRz
dF9RU2NyaXB0VmFsdWUpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6fnRzdF9RU2NyaXB0
VmFsdWUpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6YXNzaWduQW5kQ29weUNvbnN0cnVj
dF9kYXRhKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmFzc2lnbkFuZENvcHlDb25zdHJ1
Y3QpOgotICAgICAgICAqIHRlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlLmg6Ci0g
ICAgICAgICogdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2Nv
bXBhcmlzb24uY3BwOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6ZXF1YWxzX2RhdGEpOgot
ICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6ZXF1YWxzKToKLSAgICAgICAgKHRzdF9RU2NyaXB0
VmFsdWU6OnN0cmljdGx5RXF1YWxzX2RhdGEpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6
c3RyaWN0bHlFcXVhbHMpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aW5zdGFuY2VPZl9k
YXRhKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6Omluc3RhbmNlT2YpOgotICAgICAgICAq
IHRlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlX2dlbmVyYXRlZF9pbml0LmNwcDoK
LSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmluaXRTY3JpcHRWYWx1ZXMpOgotICAgICAgICAq
IHRlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlX2dlbmVyYXRlZF9pc3R5cGUuY3Bw
OgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aXNWYWxpZF9kYXRhKToKLSAgICAgICAgKHRz
dF9RU2NyaXB0VmFsdWU6OmlzVmFsaWQpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aXNC
b29sX2RhdGEpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aXNCb29sKToKLSAgICAgICAg
KHRzdF9RU2NyaXB0VmFsdWU6OmlzQm9vbGVhbl9kYXRhKToKLSAgICAgICAgKHRzdF9RU2NyaXB0
VmFsdWU6OmlzQm9vbGVhbik6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjppc051bWJlcl9k
YXRhKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmlzTnVtYmVyKToKLSAgICAgICAgKHRz
dF9RU2NyaXB0VmFsdWU6OmlzRnVuY3Rpb25fZGF0YSk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZh
bHVlOjppc0Z1bmN0aW9uKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmlzTnVsbF9kYXRh
KToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmlzTnVsbCk6Ci0gICAgICAgICh0c3RfUVNj
cmlwdFZhbHVlOjppc1N0cmluZ19kYXRhKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6Omlz
U3RyaW5nKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmlzVW5kZWZpbmVkX2RhdGEpOgot
ICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aXNVbmRlZmluZWQpOgotICAgICAgICAodHN0X1FT
Y3JpcHRWYWx1ZTo6aXNPYmplY3RfZGF0YSk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjpp
c09iamVjdCk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjppc0FycmF5X2RhdGEpOgotICAg
ICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aXNBcnJheSk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZh
bHVlOjppc0Vycm9yX2RhdGEpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aXNFcnJvcik6
Ci0gICAgICAgICogdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVk
X3RvdHlwZS5jcHA6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjp0b1N0cmluZ19kYXRhKToK
LSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnRvU3RyaW5nKToKLSAgICAgICAgKHRzdF9RU2Ny
aXB0VmFsdWU6OnRvTnVtYmVyX2RhdGEpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6dG9O
dW1iZXIpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6dG9Cb29sX2RhdGEpOgotICAgICAg
ICAodHN0X1FTY3JpcHRWYWx1ZTo6dG9Cb29sKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6
OnRvQm9vbGVhbl9kYXRhKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnRvQm9vbGVhbik6
Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjp0b0ludGVnZXJfZGF0YSk6Ci0gICAgICAgICh0
c3RfUVNjcmlwdFZhbHVlOjp0b0ludGVnZXIpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6
dG9JbnQzMl9kYXRhKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnRvSW50MzIpOgotICAg
ICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6dG9VSW50MzJfZGF0YSk6Ci0gICAgICAgICh0c3RfUVNj
cmlwdFZhbHVlOjp0b1VJbnQzMik6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjp0b1VJbnQx
Nl9kYXRhKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnRvVUludDE2KToKLQotMjAxMC0w
Ny0yNyAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVu
Ym9zc2Eub3JnPgotCi0gICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFu
c2VuLgotCi0gICAgICAgIFtRdF0gSW1wbGVtZW50IFFTY3JpcHRFbmdpbmU6Om5ld0Z1bmN0aW9u
KCkgcGFydHMgdGhhdCBkb2Vzbid0IGRlcGVuZCBvbiBRU2NyaXB0Q29udGV4dAotICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIxNzQKLQotICAgICAgICBT
aW5jZSBvdXIgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBpbiBKYXZhc2NyaXB0IGJvdGggYXMgYSBm
dW5jdGlvbgotICAgICAgICBhbmQgYXMgYSBjb25zdHJ1Y3Rvciwgd2UgY291bGRuJ3QgdXNlIHRo
ZSBleGlzdGluZwotICAgICAgICBKU09iamVjdE1ha2VGdW5jdGlvbldpdGhDYWxsYmFjaygpIGFu
ZCBKU09iamVjdE1ha2VDb25zdHJ1Y3RvcigpLgotCi0gICAgICAgIEluc3RlYWQsIGEgSlNDbGFz
c1JlZiB3YXMgY3JlYXRlZCwgaW1wbGVtZW50aW5nIHRoZSBuZWVkZWQKLSAgICAgICAgY2FsbGJh
Y2tzICh0aGUgY2FsbEFzQ29uc3RydWN0b3IgaXMgbm90IHRoZXJlIHlldCBiZWNhdXNlIGl0cwot
ICAgICAgICBiZWhhdmlvdXIgZGVwZW5kcyBvbiBRU2NyaXB0Q29udGV4dCkuCi0KLSAgICAgICAg
Rm9yIHRoZSBtb21lbnQsIFFTY3JpcHRDb250ZXh0IGlzIGRlZmluZWQgYXMgYSB2b2lkIHR5cGUs
IHNpbmNlIHdlCi0gICAgICAgIHN0aWxsIGRvbid0IHVzZSBpdC4KLQotICAgICAgICBUaGUgdmFy
aWFudCBvZiBuZXdGdW5jdGlvbigpIHRoYXQgYWxzbyB0YWtlcyBhbiBleHRlcm5hbCBhcmd1bWVu
dAotICAgICAgICB3YXMgYWxzbyBpbXBsZW1lbnRlZC4gVGhlIGRldGFpbHMgb2YgaW1wbGVtZW50
YXRpb24gd2VyZSBhZGRlZCB0bwotICAgICAgICB0aGUgcXNjcmlwdGZ1bmN0aW9uey5jLF9wLmh9
IGZpbGVzLgotCi0gICAgICAgIFRoaXMgY29tbWl0IGFsc28gYWRkcyB0ZXN0cywgc29tZSBvZiB0
aGVtIGZyb20gUXQncyB1cHN0cmVhbS4KLQotICAgICAgICAqIGFwaS9RdFNjcmlwdC5wcm86Ci0g
ICAgICAgICogYXBpL3FzY3JpcHRlbmdpbmUuY3BwOgotICAgICAgICAoUVNjcmlwdEVuZ2luZTo6
bmV3RnVuY3Rpb24pOgotICAgICAgICAqIGFwaS9xc2NyaXB0ZW5naW5lLmg6Ci0gICAgICAgICog
YXBpL3FzY3JpcHRlbmdpbmVfcC5jcHA6Ci0gICAgICAgIChRU2NyaXB0RW5naW5lUHJpdmF0ZTo6
UVNjcmlwdEVuZ2luZVByaXZhdGUpOgotICAgICAgICAoUVNjcmlwdEVuZ2luZVByaXZhdGU6On5R
U2NyaXB0RW5naW5lUHJpdmF0ZSk6Ci0gICAgICAgIChRU2NyaXB0RW5naW5lUHJpdmF0ZTo6bmV3
RnVuY3Rpb24pOgotICAgICAgICAqIGFwaS9xc2NyaXB0ZW5naW5lX3AuaDoKLSAgICAgICAgKiBh
cGkvcXNjcmlwdGZ1bmN0aW9uLmNwcDogQWRkZWQuCi0gICAgICAgIChxdF9OYXRpdmVGdW5jdGlv
bl9maW5hbGl6ZSk6Ci0gICAgICAgIChxdF9OYXRpdmVGdW5jdGlvbl9jYWxsQXNGdW5jdGlvbik6
Ci0gICAgICAgIChxdF9OYXRpdmVGdW5jdGlvbldpdGhBcmdfZmluYWxpemUpOgotICAgICAgICAo
cXRfTmF0aXZlRnVuY3Rpb25XaXRoQXJnX2NhbGxBc0Z1bmN0aW9uKToKLSAgICAgICAgKiBhcGkv
cXNjcmlwdGZ1bmN0aW9uX3AuaDogQWRkZWQuCi0gICAgICAgIChRTmF0aXZlRnVuY3Rpb25EYXRh
OjpRTmF0aXZlRnVuY3Rpb25EYXRhKToKLSAgICAgICAgKFFOYXRpdmVGdW5jdGlvbldpdGhBcmdE
YXRhOjpRTmF0aXZlRnVuY3Rpb25XaXRoQXJnRGF0YSk6Ci0gICAgICAgICogYXBpL3FzY3JpcHRv
cmlnaW5hbGdsb2JhbG9iamVjdF9wLmg6Ci0gICAgICAgIChRU2NyaXB0T3JpZ2luYWxHbG9iYWxP
YmplY3Q6OlFTY3JpcHRPcmlnaW5hbEdsb2JhbE9iamVjdCk6Ci0gICAgICAgIChRU2NyaXB0T3Jp
Z2luYWxHbG9iYWxPYmplY3Q6On5RU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3QpOgotICAgICAg
ICAoUVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0OjpmdW5jdGlvblByb3RvdHlwZSk6Ci0gICAg
ICAgICogdGVzdHMvcXNjcmlwdGVuZ2luZS90c3RfcXNjcmlwdGVuZ2luZS5jcHA6Ci0gICAgICAg
IChteUZ1bmN0aW9uKToKLSAgICAgICAgKG15RnVuY3Rpb25XaXRoQXJnKToKLSAgICAgICAgKG15
RnVuY3Rpb25UaGF0UmV0dXJucyk6Ci0gICAgICAgIChteUZ1bmN0aW9uVGhhdFJldHVybnNXaXRo
b3V0RW5naW5lKToKLSAgICAgICAgKG15RnVuY3Rpb25UaGF0UmV0dXJuc1dyb25nRW5naW5lKToK
LSAgICAgICAgKHRzdF9RU2NyaXB0RW5naW5lOjpuZXdGdW5jdGlvbik6Ci0KLTIwMTAtMDctMjMg
IEplZHJ6ZWogTm93YWNraSAgPGplZHJ6ZWoubm93YWNraUBub2tpYS5jb20+Ci0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCi0KLSAgICAgICAgUVNjcmlw
dFZhbHVlOjplcXVhbHMgYmVuY2htYXJrIGNyYXNoIGZpeC4KLQotICAgICAgICBQYXRjaCBjaGFu
Z2VzIFFTY3JpcHRWYWx1ZTo6ZXF1YWxzIGltcGxlbWVudGF0aW9uIHRvIGNvdmVyCi0gICAgICAg
IG1vcmUgZWRnZSBjYXNlcy4KLQotICAgICAgICBQcm9ibGVtIGV4cG9zZXMgYW4gaXNzdWUgaW4g
b3VyIGF1dG90ZXN0cyAoYWxsIHZhbHVlcyBnb3QKLSAgICAgICAgYm91bmQgdG8gYW4gZW5naW5l
IHRvbyBmYXN0IC0gYnVnIDQyMzY2KS4KLQotICAgICAgICBbUXRdIFFTY3JpcHRWYWx1ZTo6ZXF1
YWxzIGFzc2VydHMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQyMzYzCi0KLSAgICAgICAgKiBhcGkvcXNjcmlwdHZhbHVlX3AuaDoKLSAgICAgICAgKFFT
Y3JpcHRWYWx1ZVByaXZhdGU6OmVxdWFscyk6Ci0KLTIwMTAtMDctMTQgIEplZHJ6ZWogTm93YWNr
aSAgPGplZHJ6ZWoubm93YWNraUBub2tpYS5jb20+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgS2Vu
bmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCi0KLSAgICAgICAgSW50cm9kdWNlIFFTY3JpcHRPcmln
aW5hbEdsb2JhbE9iamVjdC4KLQotICAgICAgICBRdFNjcmlwdCBleHBvc2VzIG1vcmUgZnVuY3Rp
b25hbGl0eSB0aGFuIEpTQyBDIEFQSS4gU29tZXRpbWVzIGl0IGlzCi0gICAgICAgIG5lY2Vzc2Fy
eSB0byB0YWtlIGEgc2hvcnRjdXQgaW4gaW1wbGVtZW50YXRpb24uIFJlYWxseSBvZnRlbiB3ZSBo
YXZlCi0gICAgICAgIHRvIHVzZSBhIHN0YW5kYXJkIEpTIGZ1bmN0aW9uLiBUaGVzZSBmdW5jdGlv
biBjb3VsZCBiZSBjaGFuZ2VkIG9yCi0gICAgICAgIGV2ZW4gZGVsZXRlZCBieSBhIHNjcmlwdCwg
c28gYSBiYWNrdXAgb2YgYSByZWZlcmVuY2UgdG8gYW4gb2JqZWN0IGlzIG5lZWRlZC4KLQotICAg
ICAgICBJbiB0aGVtIHNhbWUgdGltZSB0aGlzIGlzIHJhdGhlciBhIHdvcmthcm91bmQgdGhlbiBy
ZWFsIGZpeCwgc28gdGhlIGNvZGUKLSAgICAgICAgc2hvdWxkIGJlIHNlcGFyYXRlZCBhbmQgY2hh
bmdlZCBlYXNpbHkgaW4gZnV0dXJlLiBJdCBpcyB3aHkgd2UgbmVlZAotICAgICAgICB0aGUgbmV3
IGludGVybmFsIGNsYXNzLgotCi0gICAgICAgIFRoZSBwYXRjaCBmaXhlcyBhIGZldyBjcmFzaGVz
LgotCi0gICAgICAgIFtRdF0gUVNjcmlwdEVuZ2luZSBzaG91bGQgd29yayBjb3JyZWN0bHkgZXZl
biBhZnRlciBnbG9iYWwgb2JqZWN0IGNoYW5nZXMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQxODM5Ci0KLSAgICAgICAgKiBhcGkvUXRTY3JpcHQucHJv
OgotICAgICAgICAqIGFwaS9xc2NyaXB0ZW5naW5lX3AuY3BwOgotICAgICAgICAoUVNjcmlwdEVu
Z2luZVByaXZhdGU6OlFTY3JpcHRFbmdpbmVQcml2YXRlKToKLSAgICAgICAgKFFTY3JpcHRFbmdp
bmVQcml2YXRlOjp+UVNjcmlwdEVuZ2luZVByaXZhdGUpOgotICAgICAgICAqIGFwaS9xc2NyaXB0
ZW5naW5lX3AuaDoKLSAgICAgICAgKFFTY3JpcHRFbmdpbmVQcml2YXRlOjppc0FycmF5KToKLSAg
ICAgICAgKFFTY3JpcHRFbmdpbmVQcml2YXRlOjppc0Vycm9yKToKLSAgICAgICAgKFFTY3JpcHRF
bmdpbmVQcml2YXRlOjpvYmplY3RIYXNPd25Qcm9wZXJ0eSk6Ci0gICAgICAgIChRU2NyaXB0RW5n
aW5lUHJpdmF0ZTo6b2JqZWN0R2V0T3duUHJvcGVydHlOYW1lcyk6Ci0gICAgICAgICogYXBpL3Fz
Y3JpcHRvcmlnaW5hbGdsb2JhbG9iamVjdF9wLmg6IEFkZGVkLgotICAgICAgICAoUVNjcmlwdE9y
aWdpbmFsR2xvYmFsT2JqZWN0OjpRU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3QpOgotICAgICAg
ICAoUVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0Ojppbml0aWFsaXplTWVtYmVyKToKLSAgICAg
ICAgKFFTY3JpcHRPcmlnaW5hbEdsb2JhbE9iamVjdDo6flFTY3JpcHRPcmlnaW5hbEdsb2JhbE9i
amVjdCk6Ci0gICAgICAgIChRU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3Q6Om9iamVjdEhhc093
blByb3BlcnR5KToKLSAgICAgICAgKFFTY3JpcHRPcmlnaW5hbEdsb2JhbE9iamVjdDo6b2JqZWN0
R2V0T3duUHJvcGVydHlOYW1lcyk6Ci0gICAgICAgIChRU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmpl
Y3Q6OmlzQXJyYXkpOgotICAgICAgICAoUVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0Ojppc0Vy
cm9yKToKLSAgICAgICAgKFFTY3JpcHRPcmlnaW5hbEdsb2JhbE9iamVjdDo6aXNUeXBlKToKLSAg
ICAgICAgKiBhcGkvcXNjcmlwdHZhbHVlX3AuaDoKLSAgICAgICAgKFFTY3JpcHRWYWx1ZVByaXZh
dGU6OmlzRXJyb3IpOgotICAgICAgICAoUVNjcmlwdFZhbHVlUHJpdmF0ZTo6aGFzT3duUHJvcGVy
dHkpOgotICAgICAgICAqIGFwaS9xc2NyaXB0dmFsdWVpdGVyYXRvcl9wLmg6Ci0gICAgICAgIChR
U2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6OlFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZSk6
Ci0gICAgICAgICogdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWUuY3BwOgotICAg
ICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6Z2xvYmFsT2JqZWN0Q2hhbmdlcyk6Ci0gICAgICAgICog
dGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWUuaDoKLQotMjAxMC0wNy0xMyAgSmVk
cnplaiBOb3dhY2tpICA8amVkcnplai5ub3dhY2tpQG5va2lhLmNvbT4KLQotICAgICAgICBSZXZp
ZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KLQotICAgICAgICBJbnRyb2R1Y2UgUVNjcmlwdFZhbHVl
SXRlcmF0b3IuCi0KLSAgICAgICAgVGhlIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yIGNsYXNzIHBlcm1p
dHMgdG8gaXRlcmF0ZSBvdmVyIGEgUVNjcmlwdFZhbHVlJ3MgcHJvcGVydGllcy4KLQotICAgICAg
ICBbUXRdIFF0U2NyaXB0IHNob3VsZCBwcm92aWRlIGFuIEFQSSBmb3IgZW51bWVyYXRpbmcgYSBK
UyBvYmplY3QncyBwcm9wZXJ0aWVzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00MTY4MAotCi0gICAgICAgICogYXBpL1F0U2NyaXB0LnBybzoKLSAgICAg
ICAgKiBhcGkvcXNjcmlwdHZhbHVlaXRlcmF0b3IuY3BwOiBBZGRlZC4KLSAgICAgICAgKFFTY3Jp
cHRWYWx1ZUl0ZXJhdG9yOjpRU2NyaXB0VmFsdWVJdGVyYXRvcik6Ci0gICAgICAgIChRU2NyaXB0
VmFsdWVJdGVyYXRvcjo6flFTY3JpcHRWYWx1ZUl0ZXJhdG9yKToKLSAgICAgICAgKFFTY3JpcHRW
YWx1ZUl0ZXJhdG9yOjpoYXNOZXh0KToKLSAgICAgICAgKFFTY3JpcHRWYWx1ZUl0ZXJhdG9yOjpu
ZXh0KToKLSAgICAgICAgKFFTY3JpcHRWYWx1ZUl0ZXJhdG9yOjpoYXNQcmV2aW91cyk6Ci0gICAg
ICAgIChRU2NyaXB0VmFsdWVJdGVyYXRvcjo6cHJldmlvdXMpOgotICAgICAgICAoUVNjcmlwdFZh
bHVlSXRlcmF0b3I6OnRvRnJvbnQpOgotICAgICAgICAoUVNjcmlwdFZhbHVlSXRlcmF0b3I6OnRv
QmFjayk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVJdGVyYXRvcjo6bmFtZSk6Ci0gICAgICAgIChR
U2NyaXB0VmFsdWVJdGVyYXRvcjo6c2NyaXB0TmFtZSk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVJ
dGVyYXRvcjo6dmFsdWUpOgotICAgICAgICAoUVNjcmlwdFZhbHVlSXRlcmF0b3I6OnNldFZhbHVl
KToKLSAgICAgICAgKFFTY3JpcHRWYWx1ZUl0ZXJhdG9yOjpyZW1vdmUpOgotICAgICAgICAoUVNj
cmlwdFZhbHVlSXRlcmF0b3I6OmZsYWdzKToKLSAgICAgICAgKFFTY3JpcHRWYWx1ZUl0ZXJhdG9y
OjpvcGVyYXRvcj0pOgotICAgICAgICAqIGFwaS9xc2NyaXB0dmFsdWVpdGVyYXRvci5oOiBBZGRl
ZC4KLSAgICAgICAgKiBhcGkvcXNjcmlwdHZhbHVlaXRlcmF0b3JfcC5oOiBBZGRlZC4KLSAgICAg
ICAgKFFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6UVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2
YXRlKToKLSAgICAgICAgKFFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6flFTY3JpcHRWYWx1
ZUl0ZXJhdG9yUHJpdmF0ZSk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6
Omhhc05leHQpOgotICAgICAgICAoUVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlOjpuZXh0KToK
LSAgICAgICAgKFFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6aGFzUHJldmlvdXMpOgotICAg
ICAgICAoUVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlOjpwcmV2aW91cyk6Ci0gICAgICAgIChR
U2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6Om5hbWUpOgotICAgICAgICAoUVNjcmlwdFZhbHVl
SXRlcmF0b3JQcml2YXRlOjpzY3JpcHROYW1lKToKLSAgICAgICAgKFFTY3JpcHRWYWx1ZUl0ZXJh
dG9yUHJpdmF0ZTo6dmFsdWUpOgotICAgICAgICAoUVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRl
OjpzZXRWYWx1ZSk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6OnJlbW92
ZSk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6OnRvRnJvbnQpOgotICAg
ICAgICAoUVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlOjp0b0JhY2spOgotICAgICAgICAoUVNj
cmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlOjpmbGFncyk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVJ
dGVyYXRvclByaXZhdGU6OmlzVmFsaWQpOgotICAgICAgICAoUVNjcmlwdFZhbHVlSXRlcmF0b3JQ
cml2YXRlOjplbmdpbmUpOgotICAgICAgICAqIHRlc3RzL3FzY3JpcHR2YWx1ZWl0ZXJhdG9yL3Fz
Y3JpcHR2YWx1ZWl0ZXJhdG9yLnBybzogQWRkZWQuCi0gICAgICAgICogdGVzdHMvcXNjcmlwdHZh
bHVlaXRlcmF0b3IvdHN0X3FzY3JpcHR2YWx1ZWl0ZXJhdG9yLmNwcDogQWRkZWQuCi0gICAgICAg
ICh0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3I6OnRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcik6Ci0g
ICAgICAgICh0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3I6On50c3RfUVNjcmlwdFZhbHVlSXRlcmF0
b3IpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9yOjppdGVyYXRlRm9yd2FyZF9k
YXRhKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6aXRlcmF0ZUZvcndhcmQp
OgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9yOjppdGVyYXRlQmFja3dhcmRfZGF0
YSk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3I6Oml0ZXJhdGVCYWNrd2FyZCk6
Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3I6Oml0ZXJhdGVBcnJheV9kYXRhKToK
LSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6aXRlcmF0ZUFycmF5KToKLSAgICAg
ICAgKHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6aXRlcmF0ZUJhY2tBbmRGb3J0aCk6Ci0gICAg
ICAgICh0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3I6OnNldFZhbHVlKToKLSAgICAgICAgKHRzdF9R
U2NyaXB0VmFsdWVJdGVyYXRvcjo6cmVtb3ZlKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWVJ
dGVyYXRvcjo6cmVtb3ZlTWl4ZWQpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9y
OjpyZW1vdmVVbmRlbGV0YWJsZSk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3I6
Oml0ZXJhdGVTdHJpbmcpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9yOjphc3Np
Z25PYmplY3RUb0l0ZXJhdG9yKToKLSAgICAgICAgKiB0ZXN0cy90ZXN0cy5wcm86Ci0KLTIwMTAt
MDctMDkgIEplZHJ6ZWogTm93YWNraSAgPGplZHJ6ZWoubm93YWNraUBub2tpYS5jb20+Ci0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCi0KLSAgICAgICAgSW1wbGVtZW50YXRp
b24gb2YgdGhlIFFTY3JpcHRWYWx1ZTo6cHJvcGVydHlGbGFncyBmdW5jdGlvbi4KLQotICAgICAg
ICBUaGUgZnVuY3Rpb24gcmV0dXJucyB0aGUgZmxhZ3Mgb2YgYSBwcm9wZXJ0eSB3aXRoIHRoZSBn
aXZlbiBuYW1lLAotICAgICAgICB1c2luZyBhIGdpdmVuIG1vZGUgdG8gcmVzb2x2ZSB0aGUgcHJv
cGVydHkuIFRoaXMgaXMgYSBzaW1wbGUKLSAgICAgICAgaW1wbGVtZW50YXRpb24gdGhhdCBpcyBz
dWZmaWNpZW50IHRvIHRlc3QgdGhlIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yLgotCi0gICAgICAgIFtR
dF0gUVNjcmlwdFZhbHVlIEFQSSBzaG91bGQgaGF2ZSBhIHByb3BlcnR5IGZsYWcgYWNjZXNzb3Iu
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTc2OQot
Ci0gICAgICAgICogYXBpL3FzY3JpcHR2YWx1ZS5jcHA6Ci0gICAgICAgIChRU2NyaXB0VmFsdWU6
OnByb3BlcnR5RmxhZ3MpOgotICAgICAgICAqIGFwaS9xc2NyaXB0dmFsdWUuaDoKLSAgICAgICAg
KiBhcGkvcXNjcmlwdHZhbHVlX3AuaDoKLSAgICAgICAgKFFTY3JpcHRWYWx1ZVByaXZhdGU6OnBy
b3BlcnR5RmxhZ3MpOgotICAgICAgICAqIHRlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZh
bHVlLmNwcDoKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnByb3BlcnR5RmxhZ19kYXRhKToK
LSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnByb3BlcnR5RmxhZyk6Ci0gICAgICAgICogdGVz
dHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWUuaDoKLQotMjAxMC0wNy0wNyAgQ2FpbyBN
YXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgot
Ci0gICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgotCi0gICAg
ICAgIEltcGxlbWVudGF0aW9uIG9mIFFTY3JpcHRWYWx1ZTo6aXNBcnJheSgpCi0gICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTcxMwotCi0gICAgICAgIFNp
bmNlIHdlIGRvbid0IGhhdmUgYWNjZXNzIHRvIHRoZSBbW0NsYXNzXV0gaW50ZXJuYWwgcHJvcGVy
dHkgb2YKLSAgICAgICAgYnVpbHRpbnMgKGluY2x1ZGluZyBBcnJheSksIHRoZSBzb2x1dGlvbiB3
YXMgdG8ga2VlcCB0aGUgb3JpZ2luYWwgJ0FycmF5JwotICAgICAgICAoY29uc3RydWN0b3IpIGFu
ZCAnQXJyYXkucHJvdG90eXBlJyBvYmplY3RzIGFuZCB1c2UgdGhlbSB0byBpZGVudGlmeQotICAg
ICAgICBpZiBhIGdpdmVuIG9iamVjdCBpcyBhbiBBcnJheS4KLQotICAgICAgICBBbHNvIHVuY29t
bWVudCBzb21lIHRlc3RzIGFuZCBhZGQgc29tZSB0ZXN0cyBvZiBuZXdBcnJheSgpIHRoYXQKLSAg
ICAgICAgZGVwZW5kZWQgb24gaXNBcnJheSgpLiAKLQotICAgICAgICAqIGFwaS9xc2NyaXB0ZW5n
aW5lX3AuY3BwOgotICAgICAgICAoUVNjcmlwdEVuZ2luZVByaXZhdGU6OlFTY3JpcHRFbmdpbmVQ
cml2YXRlKToKLSAgICAgICAgKFFTY3JpcHRFbmdpbmVQcml2YXRlOjp+UVNjcmlwdEVuZ2luZVBy
aXZhdGUpOgotICAgICAgICAqIGFwaS9xc2NyaXB0ZW5naW5lX3AuaDoKLSAgICAgICAgKFFTY3Jp
cHRFbmdpbmVQcml2YXRlOjppc0FycmF5KToKLSAgICAgICAgKiBhcGkvcXNjcmlwdHZhbHVlLmNw
cDoKLSAgICAgICAgKFFTY3JpcHRWYWx1ZTo6aXNBcnJheSk6Ci0gICAgICAgICogYXBpL3FzY3Jp
cHR2YWx1ZS5oOgotICAgICAgICAqIGFwaS9xc2NyaXB0dmFsdWVfcC5oOgotICAgICAgICAoUVNj
cmlwdFZhbHVlUHJpdmF0ZTo6aXNBcnJheSk6Ci0gICAgICAgICogdGVzdHMvcXNjcmlwdGVuZ2lu
ZS90c3RfcXNjcmlwdGVuZ2luZS5jcHA6Ci0gICAgICAgICh0c3RfUVNjcmlwdEVuZ2luZTo6bmV3
QXJyYXkpOgotCi0yMDEwLTA3LTA2ICBKZWRyemVqIE5vd2Fja2kgIDxqZWRyemVqLm5vd2Fja2lA
bm9raWEuY29tPgotCi0gICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFu
c2VuLgotCi0gICAgICAgIEltcGxlbWVudGF0aW9uIG9mIFFTY3JpcHRWYWx1ZSBwcm9wZXJ0aWVz
IGFjY2Vzc29ycy4KLQotICAgICAgICBUaGUgcGF0Y2ggY29udGFpbnMgaW1wbGVtZW50YXRpb24g
b2YgdGhlIFFTY3JpcHRWYWx1ZTo6cHJvcGVydHkoKSBhbmQKLSAgICAgICAgdGhlIFFTY3JpcHRW
YWx1ZTo6c2V0UHJvcGVydHkoKS4gSXQgaXMgbm90IGZ1bGwgZnVuY3Rpb25hbGl0eSwgYXMgdGhl
c2UKLSAgICAgICAgbWV0aG9kIGFyZSB0b28gY29tcGxleCBmb3Igb25lIHBhdGNoLCBidXQgaXQg
aXMgZW5vdWdoIHRvIGNvdmVyIGFib3V0Ci0gICAgICAgIDk1JSBvZiB1c2UgY2FzZXMuCi0KLSAg
ICAgICAgTWlzc2luZyBmdW5jdGlvbmFsaXR5OgotICAgICAgICAgLSBGZXcgb2YgdGhlIFByb3Bl
cnR5RmxhZ3MgYXJlIGlnbm9yZWQuCi0gICAgICAgICAtIE9ubHkgYSBwdWJsaWMgcGFydCBvZiB0
aGUgUmVzb2x2ZUZsYWdzIGNhbiBiZSB1c2VkIChSZXNvbHZlTG9jYWwsCi0gICAgICAgICBSZXNv
bHZlUHJvdG90eXBlKS4KLQotICAgICAgICBBIGxvdCBvZiBuZXcgdGVzdCBjYXNlcyB3ZXJlIGFk
ZGVkLgotCi0gICAgICAgIFtRdF0gUVNjcmlwdFZhbHVlIHNob3VsZCBoYXZlIEFQSSBmb3IgYWNj
ZXNzaW5nIG9iamVjdCBwcm9wZXJ0aWVzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00MDkwMwotCi0gICAgICAgICogYXBpL3FzY3JpcHRjb252ZXJ0ZXJf
cC5oOgotICAgICAgICAoUVNjcmlwdENvbnZlcnRlcjo6dG9Qcm9wZXJ0eUZsYWdzKToKLSAgICAg
ICAgKiBhcGkvcXNjcmlwdHN0cmluZ19wLmg6Ci0gICAgICAgIChRU2NyaXB0U3RyaW5nUHJpdmF0
ZTo6b3BlcmF0b3IgSlNTdHJpbmdSZWYpOgotICAgICAgICAqIGFwaS9xc2NyaXB0dmFsdWUuY3Bw
OgotICAgICAgICAoUVNjcmlwdFZhbHVlOjpwcm9wZXJ0eSk6Ci0gICAgICAgIChRU2NyaXB0VmFs
dWU6OnNldFByb3BlcnR5KToKLSAgICAgICAgKiBhcGkvcXNjcmlwdHZhbHVlLmg6Ci0gICAgICAg
IChRU2NyaXB0VmFsdWU6Oik6Ci0gICAgICAgICogYXBpL3FzY3JpcHR2YWx1ZV9wLmg6Ci0gICAg
ICAgIChRU2NyaXB0VmFsdWVQcml2YXRlOjphc3NpZ25FbmdpbmUpOgotICAgICAgICAoUVNjcmlw
dFZhbHVlUHJpdmF0ZTo6cHJvcGVydHkpOgotICAgICAgICAoUVNjcmlwdFZhbHVlUHJpdmF0ZTo6
aGFzT3duUHJvcGVydHkpOgotICAgICAgICAoUVNjcmlwdFZhbHVlUHJpdmF0ZTo6c2V0UHJvcGVy
dHkpOgotICAgICAgICAoUVNjcmlwdFZhbHVlUHJpdmF0ZTo6ZGVsZXRlUHJvcGVydHkpOgotICAg
ICAgICAqIHRlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlLmNwcDoKLSAgICAgICAg
KHRzdF9RU2NyaXB0VmFsdWU6OmdldFByb3BlcnR5U2ltcGxlX2RhdGEpOgotICAgICAgICAodHN0
X1FTY3JpcHRWYWx1ZTo6Z2V0UHJvcGVydHlTaW1wbGUpOgotICAgICAgICAodHN0X1FTY3JpcHRW
YWx1ZTo6c2V0UHJvcGVydHlTaW1wbGUpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6Z2V0
UHJvcGVydHlSZXNvbHZlRmxhZyk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjpnZXRTZXRQ
cm9wZXJ0eSk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjpzZXRQcm9wZXJ0eV9kYXRhKToK
LSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnNldFByb3BlcnR5KToKLSAgICAgICAgKiB0ZXN0
cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZS5oOgotCi0yMDEwLTA3LTAyICBKZWRyemVq
IE5vd2Fja2kgIDxqZWRyemVqLm5vd2Fja2lAbm9raWEuY29tPgotCi0gICAgICAgIFJldmlld2Vk
IGJ5IFNpbW9uIEhhdXNtYW5uLgotCi0gICAgICAgIENvbXBpbGF0aW9uIGZpeC4KLQotICAgICAg
ICBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6bmV3QXJyYXkgY2FuJ3QgYmUgY29uc3QgYmVjYXVzZSBp
dCBjYW4KLSAgICAgICAgdGhyb3cgYW4gZXhjZXB0aW9uLgotCi0gICAgICAgIFtRdF0gUVNjcmlw
dEVuZ2luZVByaXZhdGUgY29tcGlsYXRpb24gZml4Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTUyMAotCi0gICAgICAgICogYXBpL3FzY3JpcHRlbmdp
bmVfcC5jcHA6Ci0gICAgICAgIChRU2NyaXB0RW5naW5lUHJpdmF0ZTo6bmV3QXJyYXkpOgotICAg
ICAgICAqIGFwaS9xc2NyaXB0ZW5naW5lX3AuaDoKLQotMjAxMC0wNi0yOCAgSmVkcnplaiBOb3dh
Y2tpICA8amVkcnplai5ub3dhY2tpQG5va2lhLmNvbT4KLQotICAgICAgICBSZXZpZXdlZCBieSBT
aW1vbiBIYXVzbWFubi4KLQotICAgICAgICBJbXBsZW1lbnQgZXhjZXB0aW9uIHJlcG9ydGluZyBp
biB0aGUgUXRTY3JpcHQgQVBJLgotCi0gICAgICAgIFRoZSBleGNlcHRpb24gc2hvdWxkIGJlIGFj
Y2Vzc2libGUgdGhyb3VnaCB0aGUgQVBJIGJ5IHRoZSB1bmNhdWdodEV4Y2VwdGlvbgotICAgICAg
ICBmdW5jdGlvbi4gRnVuY3Rpb25zOyBoYXNVbmNhdWdodEV4Y2VwdGlvbiwgY2xlYXJFeGNlcHRp
b25zLCB1bmNhdWdodEV4Y2VwdGlvbkxpbmVOdW1iZXIsCi0gICAgICAgIHVuY2F1Z2h0RXhjZXB0
aW9uQmFja3RyYWNlIHdlcmUgYWRkZWQgdG8gZmFjaWxpdGF0ZSBlcnJvciBjaGVja2luZyBhbmQg
ZGVidWdnaW5nLgotCi0gICAgICAgIFtRdF0gUXRTY3JpcHQgQVBJIHNob3VsZCBiZSBleGNlcHRp
b25zIGF3YXJlLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDExOTkKLQotICAgICAgICAqIGFwaS9xc2NyaXB0ZW5naW5lLmNwcDoKLSAgICAgICAgKFFT
Y3JpcHRFbmdpbmU6Omhhc1VuY2F1Z2h0RXhjZXB0aW9uKToKLSAgICAgICAgKFFTY3JpcHRFbmdp
bmU6OnVuY2F1Z2h0RXhjZXB0aW9uKToKLSAgICAgICAgKFFTY3JpcHRFbmdpbmU6OmNsZWFyRXhj
ZXB0aW9ucyk6Ci0gICAgICAgIChRU2NyaXB0RW5naW5lOjp1bmNhdWdodEV4Y2VwdGlvbkxpbmVO
dW1iZXIpOgotICAgICAgICAoUVNjcmlwdEVuZ2luZTo6dW5jYXVnaHRFeGNlcHRpb25CYWNrdHJh
Y2UpOgotICAgICAgICAqIGFwaS9xc2NyaXB0ZW5naW5lLmg6Ci0gICAgICAgICogYXBpL3FzY3Jp
cHRlbmdpbmVfcC5jcHA6Ci0gICAgICAgIChRU2NyaXB0RW5naW5lUHJpdmF0ZTo6UVNjcmlwdEVu
Z2luZVByaXZhdGUpOgotICAgICAgICAoUVNjcmlwdEVuZ2luZVByaXZhdGU6On5RU2NyaXB0RW5n
aW5lUHJpdmF0ZSk6Ci0gICAgICAgIChRU2NyaXB0RW5naW5lUHJpdmF0ZTo6dW5jYXVnaHRFeGNl
cHRpb24pOgotICAgICAgICAqIGFwaS9xc2NyaXB0ZW5naW5lX3AuaDoKLSAgICAgICAgKFFTY3Jp
cHRFbmdpbmVQcml2YXRlOjopOgotICAgICAgICAoUVNjcmlwdEVuZ2luZVByaXZhdGU6OmV2YWx1
YXRlKToKLSAgICAgICAgKFFTY3JpcHRFbmdpbmVQcml2YXRlOjpoYXNVbmNhdWdodEV4Y2VwdGlv
bik6Ci0gICAgICAgIChRU2NyaXB0RW5naW5lUHJpdmF0ZTo6Y2xlYXJFeGNlcHRpb25zKToKLSAg
ICAgICAgKFFTY3JpcHRFbmdpbmVQcml2YXRlOjpzZXRFeGNlcHRpb24pOgotICAgICAgICAoUVNj
cmlwdEVuZ2luZVByaXZhdGU6OnVuY2F1Z2h0RXhjZXB0aW9uTGluZU51bWJlcik6Ci0gICAgICAg
IChRU2NyaXB0RW5naW5lUHJpdmF0ZTo6dW5jYXVnaHRFeGNlcHRpb25CYWNrdHJhY2UpOgotICAg
ICAgICAqIGFwaS9xc2NyaXB0dmFsdWVfcC5oOgotICAgICAgICAoUVNjcmlwdFZhbHVlUHJpdmF0
ZTo6dG9TdHJpbmcpOgotICAgICAgICAoUVNjcmlwdFZhbHVlUHJpdmF0ZTo6dG9OdW1iZXIpOgot
ICAgICAgICAoUVNjcmlwdFZhbHVlUHJpdmF0ZTo6dG9PYmplY3QpOgotICAgICAgICAoUVNjcmlw
dFZhbHVlUHJpdmF0ZTo6ZXF1YWxzKToKLSAgICAgICAgKFFTY3JpcHRWYWx1ZVByaXZhdGU6Omlu
c3RhbmNlT2YpOgotICAgICAgICAoUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Y2FsbCk6Ci0gICAgICAg
IChRU2NyaXB0VmFsdWVQcml2YXRlOjppbmhlcml0cyk6Ci0gICAgICAgICogdGVzdHMvcXNjcmlw
dGVuZ2luZS90c3RfcXNjcmlwdGVuZ2luZS5jcHA6Ci0gICAgICAgICh0c3RfUVNjcmlwdEVuZ2lu
ZTo6dW5jYXVnaHRFeGNlcHRpb24pOgotCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcXQvYXBpL1F0U2NyaXB0LnBybyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvUXRT
Y3JpcHQucHJvCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMmU4YjBjLi4wMDAwMDAw
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvUXRTY3JpcHQucHJvCisrKyAvZGV2
L251bGwKQEAgLTEsNDYgKzAsMCBAQAotVEFSR0VUICAgICA9IFF0U2NyaXB0Ci1URU1QTEFURSAg
ID0gbGliCi1RVCAgICAgICAgID0gY29yZQotCi1JTkNMVURFUEFUSCArPSAkJFBXRAotCi1DT05G
SUcgKz0gYnVpbGRpbmctbGlicwotCi1pc0VtcHR5KEpTQ19HRU5FUkFURURfU09VUkNFU19ESVIp
OkpTQ19HRU5FUkFURURfU09VUkNFU19ESVIgPSAuLi8uLi9nZW5lcmF0ZWQKLQotaXNFbXB0eShP
VVRQVVRfRElSKTogT1VUUFVUX0RJUiA9IC4uLy4uLy4uCi1pbmNsdWRlKCQkUFdELy4uLy4uLy4u
L1dlYktpdC5wcmkpCi0KLWluY2x1ZGUoJCRQV0QvLi4vLi4vSmF2YVNjcmlwdENvcmUucHJpKQot
cHJlcGVuZEphdmFTY3JpcHRDb3JlTGliKC4uLy4uKQotCi1JTkNMVURFUEFUSCArPSAkJFBXRC8u
Li8uLi9BUEkKLQotU09VUkNFUyArPSAgJCRQV0QvcXNjcmlwdGVuZ2luZS5jcHAgXAotICAgICAg
ICAgICAgJCRQV0QvcXNjcmlwdGVuZ2luZV9wLmNwcCBcCi0gICAgICAgICAgICAkJFBXRC9xc2Ny
aXB0dmFsdWUuY3BwIFwKLSAgICAgICAgICAgICQkUFdEL3FzY3JpcHR2YWx1ZWl0ZXJhdG9yLmNw
cCBcCi0gICAgICAgICAgICAkJFBXRC9xc2NyaXB0c3RyaW5nLmNwcCBcCi0gICAgICAgICAgICAk
JFBXRC9xc2NyaXB0cHJvZ3JhbS5jcHAgXAotICAgICAgICAgICAgJCRQV0QvcXNjcmlwdHN5bnRh
eGNoZWNrcmVzdWx0LmNwcCBcCi0gICAgICAgICAgICAkJFBXRC9xc2NyaXB0ZnVuY3Rpb24uY3Bw
Ci0KLUhFQURFUlMgKz0gICQkUFdEL3F0c2NyaXB0Z2xvYmFsLmggXAotICAgICAgICAgICAgJCRQ
V0QvcXNjcmlwdGVuZ2luZS5oIFwKLSAgICAgICAgICAgICQkUFdEL3FzY3JpcHRlbmdpbmVfcC5o
IFwKLSAgICAgICAgICAgICQkUFdEL3FzY3JpcHR2YWx1ZS5oIFwKLSAgICAgICAgICAgICQkUFdE
L3FzY3JpcHR2YWx1ZV9wLmggXAotICAgICAgICAgICAgJCRQV0QvcXNjcmlwdHZhbHVlaXRlcmF0
b3IuaCBcCi0gICAgICAgICAgICAkJFBXRC9xc2NyaXB0dmFsdWVpdGVyYXRvcl9wLmggXAotICAg
ICAgICAgICAgJCRQV0QvcXNjcmlwdGNvbnZlcnRlcl9wLmggXAotICAgICAgICAgICAgJCRQV0Qv
cXNjcmlwdHN0cmluZy5oIFwKLSAgICAgICAgICAgICQkUFdEL3FzY3JpcHRzdHJpbmdfcC5oIFwK
LSAgICAgICAgICAgICQkUFdEL3FzY3JpcHRwcm9ncmFtLmggXAotICAgICAgICAgICAgJCRQV0Qv
cXNjcmlwdHByb2dyYW1fcC5oIFwKLSAgICAgICAgICAgICQkUFdEL3FzY3JpcHRzeW50YXhjaGVj
a3Jlc3VsdC5oIFwKLSAgICAgICAgICAgICQkUFdEL3FzY3JpcHRvcmlnaW5hbGdsb2JhbG9iamVj
dF9wLmggXAotICAgICAgICAgICAgJCRQV0QvcXNjcmlwdGZ1bmN0aW9uX3AuaAotCi0hc3RhdGlj
OiBERUZJTkVTICs9IFFUX01BS0VETEwKLQotREVTVERJUiA9ICQkT1VUUFVUX0RJUi9saWIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGNvbnZlcnRlcl9w
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRjb252ZXJ0ZXJfcC5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYzU3ZDk1Li4wMDAwMDAwCi0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGNvbnZlcnRlcl9wLmgKKysrIC9kZXYvbnVs
bApAQCAtMSwxNDYgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDggTm9raWEgQ29y
cG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
Ci0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2lmbmRlZiBxc2NyaXB0
Y29udmVydGVyX3BfaAotI2RlZmluZSBxc2NyaXB0Y29udmVydGVyX3BfaAotCi0jaW5jbHVkZSAi
cXNjcmlwdHZhbHVlLmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdC5oPgot
I2luY2x1ZGUgPFF0Q29yZS9xZ2xvYmFsLmg+Ci0jaW5jbHVkZSA8UXRDb3JlL3FudW1lcmljLmg+
Ci0jaW5jbHVkZSA8UXRDb3JlL3FzdHJpbmcuaD4KLSNpbmNsdWRlIDxRdENvcmUvcXZhcmxlbmd0
aGFycmF5Lmg+Ci0KLWV4dGVybiBjaGFyICpxZHRvYShkb3VibGUgZCwgaW50IG1vZGUsIGludCBu
ZGlnaXRzLCBpbnQgKmRlY3B0LCBpbnQgKnNpZ24sIGNoYXIgKipydmUsIGNoYXIgKipkaWdpdHNf
c3RyKTsKLQotLyoKLSAgXGludGVybmFsCi0gIFxjbGFzcyBRU2NyaXB0Q29udmVydGVyCi0gIFFT
Y3JpcHRWYWx1ZSBhbmQgUVNjcmlwdEVuZ2luZSBoZWxwZXIgY2xhc3MuIFRoaXMgY2xhc3MncyBy
ZXNwb25zaWJpbGl0eSBpcyB0byBjb252ZXJ0IHZhbHVlcwotICBiZXR3ZWVuIEpTIHZhbHVlcyBh
bmQgUXQvQysrIHZhbHVlcy4KLQotICBUaGlzIGlzIGEgbmljZSB3YXkgdG8gaW5saW5lIHRoZXNl
IGZ1bmN0aW9ucyBpbiBib3RoIFFTY3JpcHRWYWx1ZSBhbmQgUVNjcmlwdEVuZ2luZS4KLSovCi1j
bGFzcyBRU2NyaXB0Q29udmVydGVyIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgcXVpbnQzMiB0b0Fy
cmF5SW5kZXgoY29uc3QgSlNTdHJpbmdSZWYganNzdHJpbmcpCi0gICAgewotICAgICAgICAvLyBG
SVhNRSB0aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBleHBvcnRlZCBieSBKU0MgQyBBUEkuCi0gICAg
ICAgIFFTdHJpbmcgcXN0cmluZyA9IHRvU3RyaW5nKGpzc3RyaW5nKTsKLQotICAgICAgICBib29s
IG9rOwotICAgICAgICBxdWludDMyIGlkeCA9IHFzdHJpbmcudG9VSW50KCZvayk7Ci0gICAgICAg
IGlmICghb2sgfHwgdG9TdHJpbmcoaWR4KSAhPSBxc3RyaW5nKQotICAgICAgICAgICAgaWR4ID0g
MHhmZmZmZmZmZjsKLQotICAgICAgICByZXR1cm4gaWR4OwotICAgIH0KLQotICAgIHN0YXRpYyBR
U3RyaW5nIHRvU3RyaW5nKGNvbnN0IEpTU3RyaW5nUmVmIHN0cikKLSAgICB7Ci0gICAgICAgIHJl
dHVybiBRU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgUUNoYXIqPihKU1N0cmluZ0dldENo
YXJhY3RlcnNQdHIoc3RyKSksIEpTU3RyaW5nR2V0TGVuZ3RoKHN0cikpOwotICAgIH0KLSAgICBz
dGF0aWMgSlNTdHJpbmdSZWYgdG9TdHJpbmcoY29uc3QgUVN0cmluZyYgc3RyKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHN0ci50b1V0ZjgoKS5j
b25zdERhdGEoKSk7Ci0gICAgfQotICAgIHN0YXRpYyBKU1N0cmluZ1JlZiB0b1N0cmluZyhjb25z
dCBjaGFyKiBzdHIpCi0gICAgewotICAgICAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoVVRG
OENTdHJpbmcoc3RyKTsKLSAgICB9Ci0gICAgc3RhdGljIFFTdHJpbmcgdG9TdHJpbmcoZG91Ymxl
IHZhbHVlKQotICAgIHsKLSAgICAgICAgLy8gRklYTUUgdGhpcyBzaG91bGQgYmUgZWFzaWVyLiBU
aGUgaWRlYWwgZml4IGlzIHRvIGNyZWF0ZQotICAgICAgICAvLyBhIG5ldyBmdW5jdGlvbiBpbiBK
U0MgQyBBUEkgd2hpY2ggY291bGQgY292ZXIgdGhlIGZ1bmN0aW9uYWxpdHkuCi0KLSAgICAgICAg
aWYgKHFJc05hTih2YWx1ZSkpCi0gICAgICAgICAgICByZXR1cm4gUVN0cmluZzo6ZnJvbUxhdGlu
MSgiTmFOIik7Ci0gICAgICAgIGlmIChxSXNJbmYodmFsdWUpKQotICAgICAgICAgICAgcmV0dXJu
IFFTdHJpbmc6OmZyb21MYXRpbjEodmFsdWUgPCAwID8gIi1JbmZpbml0eSIgOiAiSW5maW5pdHki
KTsKLSAgICAgICAgaWYgKCF2YWx1ZSkKLSAgICAgICAgICAgIHJldHVybiBRU3RyaW5nOjpmcm9t
TGF0aW4xKCIwIik7Ci0KLSAgICAgICAgUVZhckxlbmd0aEFycmF5PGNoYXIsIDI1PiBidWY7Ci0g
ICAgICAgIGludCBkZWNwdDsKLSAgICAgICAgaW50IHNpZ247Ci0gICAgICAgIGNoYXIqIHJlc3Vs
dCA9IDA7Ci0gICAgICAgIGNoYXIqIGVuZHJlc3VsdDsKLSAgICAgICAgKHZvaWQpcWR0b2EodmFs
dWUsIDAsIDAsICZkZWNwdCwgJnNpZ24sICZlbmRyZXN1bHQsICZyZXN1bHQpOwotCi0gICAgICAg
IGlmICghcmVzdWx0KQotICAgICAgICAgICAgcmV0dXJuIFFTdHJpbmcoKTsKLQotICAgICAgICBp
bnQgcmVzdWx0TGVuID0gZW5kcmVzdWx0IC0gcmVzdWx0OwotICAgICAgICBpZiAoZGVjcHQgPD0g
MCAmJiBkZWNwdCA+IC02KSB7Ci0gICAgICAgICAgICBidWYucmVzaXplKC1kZWNwdCArIDIgKyBz
aWduKTsKLSAgICAgICAgICAgIHFNZW1TZXQoYnVmLmRhdGEoKSwgJzAnLCAtZGVjcHQgKyAyICsg
c2lnbik7Ci0gICAgICAgICAgICBpZiAoc2lnbikgLy8gZml4IHRoZSBzaWduLgotICAgICAgICAg
ICAgICAgIGJ1ZlswXSA9ICctJzsKLSAgICAgICAgICAgIGJ1ZltzaWduICsgMV0gPSAnLic7Ci0g
ICAgICAgICAgICBidWYuYXBwZW5kKHJlc3VsdCwgcmVzdWx0TGVuKTsKLSAgICAgICAgfSBlbHNl
IHsKLSAgICAgICAgICAgIGlmIChzaWduKQotICAgICAgICAgICAgICAgIGJ1Zi5hcHBlbmQoJy0n
KTsKLSAgICAgICAgICAgIGludCBsZW5ndGggPSBidWYuc2l6ZSgpIC0gc2lnbiArIHJlc3VsdExl
bjsKLSAgICAgICAgICAgIGlmIChkZWNwdCA8PSAyMSAmJiBkZWNwdCA+IDApIHsKLSAgICAgICAg
ICAgICAgICBpZiAobGVuZ3RoIDw9IGRlY3B0KSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0
IGNoYXIqIHplcm9zID0gIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiOwotICAgICAgICAgICAg
ICAgICAgICBidWYuYXBwZW5kKHJlc3VsdCwgcmVzdWx0TGVuKTsKLSAgICAgICAgICAgICAgICAg
ICAgYnVmLmFwcGVuZCh6ZXJvcywgZGVjcHQgLSBsZW5ndGgpOwotICAgICAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGJ1Zi5hcHBlbmQocmVzdWx0LCBkZWNwdCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGJ1Zi5hcHBlbmQoJy4nKTsKLSAgICAgICAgICAgICAgICAgICAg
YnVmLmFwcGVuZChyZXN1bHQgKyBkZWNwdCwgcmVzdWx0TGVuIC0gZGVjcHQpOwotICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSBpZiAocmVzdWx0WzBdID49ICcwJyAmJiByZXN1
bHRbMF0gPD0gJzknKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGxlbmd0aCA+IDEpIHsKLSAgICAg
ICAgICAgICAgICAgICAgYnVmLmFwcGVuZChyZXN1bHQsIDEpOwotICAgICAgICAgICAgICAgICAg
ICBidWYuYXBwZW5kKCcuJyk7Ci0gICAgICAgICAgICAgICAgICAgIGJ1Zi5hcHBlbmQocmVzdWx0
ICsgMSwgcmVzdWx0TGVuIC0gMSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICAgICAgICAgIGJ1Zi5hcHBlbmQocmVzdWx0LCByZXN1bHRMZW4pOwotICAgICAgICAgICAgICAg
IGJ1Zi5hcHBlbmQoJ2UnKTsKLSAgICAgICAgICAgICAgICBidWYuYXBwZW5kKGRlY3B0ID49IDAg
PyAnKycgOiAnLScpOwotICAgICAgICAgICAgICAgIGludCBlID0gcUFicyhkZWNwdCAtIDEpOwot
ICAgICAgICAgICAgICAgIGlmIChlID49IDEwMCkKLSAgICAgICAgICAgICAgICAgICAgYnVmLmFw
cGVuZCgnMCcgKyBlIC8gMTAwKTsKLSAgICAgICAgICAgICAgICBpZiAoZSA+PSAxMCkKLSAgICAg
ICAgICAgICAgICAgICAgYnVmLmFwcGVuZCgnMCcgKyAoZSAlIDEwMCkgLyAxMCk7Ci0gICAgICAg
ICAgICAgICAgYnVmLmFwcGVuZCgnMCcgKyBlICUgMTApOwotICAgICAgICAgICAgfQotICAgICAg
ICB9Ci0gICAgICAgIGZyZWUocmVzdWx0KTsKLSAgICAgICAgYnVmLmFwcGVuZCgwKTsKLSAgICAg
ICAgcmV0dXJuIFFTdHJpbmc6OmZyb21MYXRpbjEoYnVmLmNvbnN0RGF0YSgpKTsKLSAgICB9Ci0K
LSAgICBzdGF0aWMgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgdG9Qcm9wZXJ0eUZsYWdzKGNvbnN0IFFG
bGFnczxRU2NyaXB0VmFsdWU6OlByb3BlcnR5RmxhZz4mIGZsYWdzKQotICAgIHsKLSAgICAgICAg
SlNQcm9wZXJ0eUF0dHJpYnV0ZXMgYXR0ciA9IDA7Ci0gICAgICAgIGlmIChmbGFncy50ZXN0Rmxh
ZyhRU2NyaXB0VmFsdWU6OlJlYWRPbmx5KSkKLSAgICAgICAgICAgIGF0dHIgfD0ga0pTUHJvcGVy
dHlBdHRyaWJ1dGVSZWFkT25seTsKLSAgICAgICAgaWYgKGZsYWdzLnRlc3RGbGFnKFFTY3JpcHRW
YWx1ZTo6VW5kZWxldGFibGUpKQotICAgICAgICAgICAgYXR0ciB8PSBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZURvbnREZWxldGU7Ci0gICAgICAgIGlmIChmbGFncy50ZXN0RmxhZyhRU2NyaXB0VmFsdWU6
OlNraXBJbkVudW1lcmF0aW9uKSkKLSAgICAgICAgICAgIGF0dHIgfD0ga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RW51bTsKLSAgICAgICAgcmV0dXJuIGF0dHI7Ci0gICAgfQotfTsKLQotI2VuZGlm
IC8vIHFzY3JpcHRjb252ZXJ0ZXJfcF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcXQvYXBpL3FzY3JpcHRlbmdpbmUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2Fw
aS9xc2NyaXB0ZW5naW5lLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjA3YjBi
OS4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRlbmdp
bmUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDI2ICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0
IChDKSAyMDA5IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQot
Ci0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0g
ICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2luY2x1ZGUgInFzY3JpcHRlbmdpbmUuaCIKLQot
I2luY2x1ZGUgInFzY3JpcHRlbmdpbmVfcC5oIgotI2luY2x1ZGUgInFzY3JpcHRwcm9ncmFtX3Au
aCIKLSNpbmNsdWRlICJxc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHRfcC5oIgotI2luY2x1ZGUgInFz
Y3JpcHR2YWx1ZV9wLmgiCi0jaW5jbHVkZSA8UXRDb3JlL3FkYXRldGltZS5oPgotI2luY2x1ZGUg
PFF0Q29yZS9xbnVtZXJpYy5oPgotCi0vKiEKLSAgICBDb25zdHJ1Y3RzIGEgUVNjcmlwdEVuZ2lu
ZSBvYmplY3QuCi0KLSAgICBUaGUgZ2xvYmFsT2JqZWN0KCkgaXMgaW5pdGlhbGl6ZWQgdG8gaGF2
ZSBwcm9wZXJ0aWVzIGFzIGRlc2NyaWJlZCBpbiBFQ01BLTI2MiwgU2VjdGlvbiAxNS4xLgotKi8K
LVFTY3JpcHRFbmdpbmU6OlFTY3JpcHRFbmdpbmUoKQotICAgIDogZF9wdHIobmV3IFFTY3JpcHRF
bmdpbmVQcml2YXRlKHRoaXMpKQotewotfQotCi0vKiEKLSAgICBEZXN0cm95cyB0aGlzIFFTY3Jp
cHRFbmdpbmUuCi0qLwotUVNjcmlwdEVuZ2luZTo6flFTY3JpcHRFbmdpbmUoKQotewotfQotCi0v
KiEKLSAgQ2hlY2tzIHRoZSBzeW50YXggb2YgdGhlIGdpdmVuIFxhIHByb2dyYW0uIFJldHVybnMg
YQotICBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQgb2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIHJl
c3VsdCBvZiB0aGUgY2hlY2suCi0qLwotUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0IFFTY3JpcHRF
bmdpbmU6OmNoZWNrU3ludGF4KGNvbnN0IFFTdHJpbmcgJnByb2dyYW0pCi17Ci0gICAgLy8gRklY
TUUgVGhpcyBpcyBub3Qgb3B0aW1hbC4KLSAgICAvLyBUaGUgSlNDIEMgQVBJIG5lZWRzIGEgY29u
dGV4dCB0byBwZXJmb3JtIGEgc3ludGF4IGNoZWNrLCBpdCBtZWFucyB0aGF0IGEgUVNjcmlwdEVu
Z2luZVByaXZhdGUKLSAgICAvLyBoYWQgdG8gYmUgY3JlYXRlZC4gVGhpcyBmdW5jdGlvbiBpcyBz
dGF0aWMgc28gd2UgaGF2ZSB0byBjcmVhdGUgUVNjcmlwdEVuZ2luZVByaXZhdGUgZm9yIGVhY2gK
LSAgICAvLyBjYWxsLiBXZSBjYW4ndCByZW1vdmUgdGhlICJzdGF0aWMiIGZvciBjb21wYXRpYmls
aXR5IHJlYXNvbiwgYXQgbGVhc3QgdXAgdG8gUXQ1LgotICAgIC8vIFFTY3JpcHRTeW50YXhDaGVj
a1Jlc3VsdFByaXZhdGUgdGFrZXMgb3duZXJzaGlwIG9mIG5ld2x5IGNyZWF0ZWQgZW5naW5lLiBU
aGUgZW5naW5lIHdpbGwgYmUKLSAgICAvLyBrZXB0IGFzIGxvbmcgYXMgaXQgaXMgbmVlZGVkIGZv
ciBsYXp5IGV2YWx1YXRpb24gb2YgcHJvcGVydGllcyBvZgotICAgIC8vIHRoZSBRU2NyaXB0U3lu
dGF4Q2hlY2tSZXN1bHRQcml2YXRlLgotICAgIFFTY3JpcHRFbmdpbmVQcml2YXRlKiBlbmdpbmUg
PSBuZXcgUVNjcmlwdEVuZ2luZVByaXZhdGUoLyogcV9wdHIgKi8gMCk7Ci0gICAgcmV0dXJuIFFT
Y3JpcHRTeW50YXhDaGVja1Jlc3VsdFByaXZhdGU6OmdldChlbmdpbmUtPmNoZWNrU3ludGF4KHBy
b2dyYW0pKTsKLX0KLQotLyohCi0gICAgRXZhbHVhdGVzIFxhIHByb2dyYW0sIHVzaW5nIFxhIGxp
bmVOdW1iZXIgYXMgdGhlIGJhc2UgbGluZSBudW1iZXIsCi0gICAgYW5kIHJldHVybnMgdGhlIHJl
c3VsdCBvZiB0aGUgZXZhbHVhdGlvbi4KLQotICAgIFRoZSBzY3JpcHQgY29kZSB3aWxsIGJlIGV2
YWx1YXRlZCBpbiB0aGUgY3VycmVudCBjb250ZXh0LgotCi0gICAgVGhlIGV2YWx1YXRpb24gb2Yg
XGEgcHJvZ3JhbSBjYW4gY2F1c2UgYW4gZXhjZXB0aW9uIGluIHRoZQotICAgIGVuZ2luZTsgaW4g
dGhpcyBjYXNlIHRoZSByZXR1cm4gdmFsdWUgd2lsbCBiZSB0aGUgZXhjZXB0aW9uCi0gICAgdGhh
dCB3YXMgdGhyb3duICh0eXBpY2FsbHkgYW4gXGN7RXJyb3J9IG9iamVjdCkuIFlvdSBjYW4gY2Fs
bAotICAgIGhhc1VuY2F1Z2h0RXhjZXB0aW9uKCkgdG8gZGV0ZXJtaW5lIGlmIGFuIGV4Y2VwdGlv
biBvY2N1cnJlZCBpbgotICAgIHRoZSBsYXN0IGNhbGwgdG8gZXZhbHVhdGUoKS4KLQotICAgIFxh
IGxpbmVOdW1iZXIgaXMgdXNlZCB0byBzcGVjaWZ5IGEgc3RhcnRpbmcgbGluZSBudW1iZXIgZm9y
IFxhCi0gICAgcHJvZ3JhbTsgbGluZSBudW1iZXIgaW5mb3JtYXRpb24gcmVwb3J0ZWQgYnkgdGhl
IGVuZ2luZSB0aGF0IHBlcnRhaW4KLSAgICB0byB0aGlzIGV2YWx1YXRpb24gKGUuZy4gdW5jYXVn
aHRFeGNlcHRpb25MaW5lTnVtYmVyKCkpIHdpbGwgYmUKLSAgICBiYXNlZCBvbiB0aGlzIGFyZ3Vt
ZW50LiBGb3IgZXhhbXBsZSwgaWYgXGEgcHJvZ3JhbSBjb25zaXN0cyBvZiB0d28KLSAgICBsaW5l
cyBvZiBjb2RlLCBhbmQgdGhlIHN0YXRlbWVudCBvbiB0aGUgc2Vjb25kIGxpbmUgY2F1c2VzIGEg
c2NyaXB0Ci0gICAgZXhjZXB0aW9uLCB1bmNhdWdodEV4Y2VwdGlvbkxpbmVOdW1iZXIoKSB3b3Vs
ZCByZXR1cm4gdGhlIGdpdmVuIFxhCi0gICAgbGluZU51bWJlciBwbHVzIG9uZS4gV2hlbiBubyBz
dGFydGluZyBsaW5lIG51bWJlciBpcyBzcGVjaWZpZWQsIGxpbmUKLSAgICBudW1iZXJzIHdpbGwg
YmUgMS1iYXNlZC4KLQotICAgIFxhIGZpbGVOYW1lIGlzIHVzZWQgZm9yIGVycm9yIHJlcG9ydGlu
Zy4gRm9yIGV4YW1wbGUgaW4gZXJyb3Igb2JqZWN0cwotICAgIHRoZSBmaWxlIG5hbWUgaXMgYWNj
ZXNzaWJsZSB0aHJvdWdoIHRoZSAiZmlsZU5hbWUiIHByb3BlcnR5IGlmIGl0J3MKLSAgICBwcm92
aWRlZCB3aXRoIHRoaXMgZnVuY3Rpb24uCi0qLwotUVNjcmlwdFZhbHVlIFFTY3JpcHRFbmdpbmU6
OmV2YWx1YXRlKGNvbnN0IFFTdHJpbmcmIHByb2dyYW0sIGNvbnN0IFFTdHJpbmcmIGZpbGVOYW1l
LCBpbnQgbGluZU51bWJlcikKLXsKLSAgICByZXR1cm4gUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0
KGRfcHRyLT5ldmFsdWF0ZShwcm9ncmFtLCBmaWxlTmFtZSwgbGluZU51bWJlcikpOwotfQotCi1R
U2NyaXB0VmFsdWUgUVNjcmlwdEVuZ2luZTo6ZXZhbHVhdGUoY29uc3QgUVNjcmlwdFByb2dyYW0m
IHByb2dyYW0pCi17Ci0gICAgcmV0dXJuIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmdldChkX3B0ci0+
ZXZhbHVhdGUoUVNjcmlwdFByb2dyYW1Qcml2YXRlOjpnZXQocHJvZ3JhbSkpKTsKLX0KLQotLyoh
Ci0gICAgUmV0dXJucyB0cnVlIGlmIHRoZSBsYXN0IHNjcmlwdCBldmFsdWF0aW9uIHJlc3VsdGVk
IGluIGFuIHVuY2F1Z2h0Ci0gICAgZXhjZXB0aW9uOyBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS4K
LQotICAgIFRoZSBleGNlcHRpb24gc3RhdGUgaXMgY2xlYXJlZCB3aGVuIGV2YWx1YXRlKCkgaXMg
Y2FsbGVkLgotCi0gICAgXHNhIHVuY2F1Z2h0RXhjZXB0aW9uKCksIHVuY2F1Z2h0RXhjZXB0aW9u
TGluZU51bWJlcigpLAotICAgICAgdW5jYXVnaHRFeGNlcHRpb25CYWNrdHJhY2UoKQotKi8KLWJv
b2wgUVNjcmlwdEVuZ2luZTo6aGFzVW5jYXVnaHRFeGNlcHRpb24oKSBjb25zdAotewotICAgIHJl
dHVybiBkX3B0ci0+aGFzVW5jYXVnaHRFeGNlcHRpb24oKTsKLX0KLQotLyohCi0gICAgUmV0dXJu
cyB0aGUgY3VycmVudCB1bmNhdWdodCBleGNlcHRpb24sIG9yIGFuIGludmFsaWQgUVNjcmlwdFZh
bHVlCi0gICAgaWYgdGhlcmUgaXMgbm8gdW5jYXVnaHQgZXhjZXB0aW9uLgotCi0gICAgVGhlIGV4
Y2VwdGlvbiB2YWx1ZSBpcyB0eXBpY2FsbHkgYW4gXGN7RXJyb3J9IG9iamVjdDsgaW4gdGhhdCBj
YXNlLAotICAgIHlvdSBjYW4gY2FsbCB0b1N0cmluZygpIG9uIHRoZSByZXR1cm4gdmFsdWUgdG8g
b2J0YWluIGFuIGVycm9yCi0gICAgbWVzc2FnZS4KLQotICAgIFxzYSBoYXNVbmNhdWdodEV4Y2Vw
dGlvbigpLCB1bmNhdWdodEV4Y2VwdGlvbkxpbmVOdW1iZXIoKSwKLSAgICAgIHVuY2F1Z2h0RXhj
ZXB0aW9uQmFja3RyYWNlKCkKLSovCi1RU2NyaXB0VmFsdWUgUVNjcmlwdEVuZ2luZTo6dW5jYXVn
aHRFeGNlcHRpb24oKSBjb25zdAotewotICAgIHJldHVybiBRU2NyaXB0VmFsdWVQcml2YXRlOjpn
ZXQoZF9wdHItPnVuY2F1Z2h0RXhjZXB0aW9uKCkpOwotfQotCi0vKiEKLSAgICBDbGVhcnMgYW55
IHVuY2F1Z2h0IGV4Y2VwdGlvbnMgaW4gdGhpcyBlbmdpbmUuCi0KLSAgICBcc2EgaGFzVW5jYXVn
aHRFeGNlcHRpb24oKQotKi8KLXZvaWQgUVNjcmlwdEVuZ2luZTo6Y2xlYXJFeGNlcHRpb25zKCkK
LXsKLSAgICBkX3B0ci0+Y2xlYXJFeGNlcHRpb25zKCk7Ci19Ci0KLS8qIQotICAgIFJldHVybnMg
dGhlIGxpbmUgbnVtYmVyIHdoZXJlIHRoZSBsYXN0IHVuY2F1Z2h0IGV4Y2VwdGlvbiBvY2N1cnJl
ZC4KLQotICAgIExpbmUgbnVtYmVycyBhcmUgMS1iYXNlZCwgdW5sZXNzIGEgZGlmZmVyZW50IGJh
c2Ugd2FzIHNwZWNpZmllZCBhcwotICAgIHRoZSBzZWNvbmQgYXJndW1lbnQgdG8gZXZhbHVhdGUo
KS4KLQotICAgIFxzYSBoYXNVbmNhdWdodEV4Y2VwdGlvbigpLCB1bmNhdWdodEV4Y2VwdGlvbkJh
Y2t0cmFjZSgpCi0qLwotaW50IFFTY3JpcHRFbmdpbmU6OnVuY2F1Z2h0RXhjZXB0aW9uTGluZU51
bWJlcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT51bmNhdWdodEV4Y2VwdGlvbkxpbmVO
dW1iZXIoKTsKLX0KLQotLyohCi0gICAgUmV0dXJucyBhIGh1bWFuLXJlYWRhYmxlIGJhY2t0cmFj
ZSBvZiB0aGUgbGFzdCB1bmNhdWdodCBleGNlcHRpb24uCi0KLSAgICBFYWNoIGxpbmUgaXMgb2Yg
dGhlIGZvcm0gXGN7PGZ1bmN0aW9uLW5hbWU+KDxhcmd1bWVudHM+KUA8ZmlsZS1uYW1lPjo8bGlu
ZS1udW1iZXI+fS4KLQotICAgIFxzYSB1bmNhdWdodEV4Y2VwdGlvbigpCi0qLwotUVN0cmluZ0xp
c3QgUVNjcmlwdEVuZ2luZTo6dW5jYXVnaHRFeGNlcHRpb25CYWNrdHJhY2UoKSBjb25zdAotewot
ICAgIHJldHVybiBkX3B0ci0+dW5jYXVnaHRFeGNlcHRpb25CYWNrdHJhY2UoKTsKLX0KLQotLyoh
Ci0gICAgUnVucyB0aGUgZ2FyYmFnZSBjb2xsZWN0b3IuCi0KLSAgICBUaGUgZ2FyYmFnZSBjb2xs
ZWN0b3Igd2lsbCBhdHRlbXB0IHRvIHJlY2xhaW0gbWVtb3J5IGJ5IGxvY2F0aW5nIGFuZCBkaXNw
b3Npbmcgb2Ygb2JqZWN0cyB0aGF0IGFyZQotICAgIG5vIGxvbmdlciByZWFjaGFibGUgaW4gdGhl
IHNjcmlwdCBlbnZpcm9ubWVudC4KLQotICAgIE5vcm1hbGx5IHlvdSBkb24ndCBuZWVkIHRvIGNh
bGwgdGhpcyBmdW5jdGlvbjsgdGhlIGdhcmJhZ2UgY29sbGVjdG9yIHdpbGwgYXV0b21hdGljYWxs
eSBiZSBpbnZva2VkCi0gICAgd2hlbiB0aGUgUVNjcmlwdEVuZ2luZSBkZWNpZGVzIHRoYXQgaXQn
cyB3aXNlIHRvIGRvIHNvIChpLmUuIHdoZW4gYSBjZXJ0YWluIG51bWJlciBvZiBuZXcgb2JqZWN0
cwotICAgIGhhdmUgYmVlbiBjcmVhdGVkKS4gSG93ZXZlciwgeW91IGNhbiBjYWxsIHRoaXMgZnVu
Y3Rpb24gdG8gZXhwbGljaXRseSByZXF1ZXN0IHRoYXQgZ2FyYmFnZQotICAgIGNvbGxlY3Rpb24g
c2hvdWxkIGJlIHBlcmZvcm1lZCBhcyBzb29uIGFzIHBvc3NpYmxlLgotCi0gICAgXHNhIHJlcG9y
dEFkZGl0aW9uYWxNZW1vcnlDb3N0KCkKLSovCi12b2lkIFFTY3JpcHRFbmdpbmU6OmNvbGxlY3RH
YXJiYWdlKCkKLXsKLSAgICBkX3B0ci0+Y29sbGVjdEdhcmJhZ2UoKTsKLX0KLQotLyohCi0gIFJl
cG9ydHMgYW4gYWRkaXRpb25hbCBtZW1vcnkgY29zdCBvZiB0aGUgZ2l2ZW4gXGEgc2l6ZSwgbWVh
c3VyZWQgaW4KLSAgYnl0ZXMsIHRvIHRoZSBnYXJiYWdlIGNvbGxlY3Rvci4KLQotICBUaGlzIGZ1
bmN0aW9uIGNhbiBiZSBjYWxsZWQgdG8gaW5kaWNhdGUgdGhhdCBhIEphdmFTY3JpcHQgb2JqZWN0
IGhhcwotICBtZW1vcnkgYXNzb2NpYXRlZCB3aXRoIGl0IHRoYXQgaXNuJ3QgbWFuYWdlZCBieSBR
dCBTY3JpcHQgaXRzZWxmLgotICBSZXBvcnRpbmcgdGhlIGFkZGl0aW9uYWwgY29zdCBtYWtlcyBp
dCBtb3JlIGxpa2VseSB0aGF0IHRoZSBnYXJiYWdlCi0gIGNvbGxlY3RvciB3aWxsIGJlIHRyaWdn
ZXJlZC4KLQotICBOb3RlIHRoYXQgaWYgdGhlIGFkZGl0aW9uYWwgbWVtb3J5IGlzIHNoYXJlZCB3
aXRoIG9iamVjdHMgb3V0c2lkZQotICB0aGUgc2NyaXB0aW5nIGVudmlyb25tZW50LCB0aGUgY29z
dCBzaG91bGQgbm90IGJlIHJlcG9ydGVkLCBzaW5jZQotICBjb2xsZWN0aW5nIHRoZSBKYXZhU2Ny
aXB0IG9iamVjdCB3b3VsZCBub3QgY2F1c2UgdGhlIG1lbW9yeSB0byBiZQotICBmcmVlZCBhbnl3
YXkuCi0KLSAgTmVnYXRpdmUgXGEgc2l6ZSB2YWx1ZXMgYXJlIGlnbm9yZWQsIGkuZS4gdGhpcyBm
dW5jdGlvbiBjYW4ndCBiZQotICB1c2VkIHRvIHJlcG9ydCB0aGF0IHRoZSBhZGRpdGlvbmFsIG1l
bW9yeSBoYXMgYmVlbiBkZWFsbG9jYXRlZC4KLQotICBcc2EgY29sbGVjdEdhcmJhZ2UoKQotKi8K
LXZvaWQgUVNjcmlwdEVuZ2luZTo6cmVwb3J0QWRkaXRpb25hbE1lbW9yeUNvc3QoaW50IGNvc3Qp
Ci17Ci0gICAgZF9wdHItPnJlcG9ydEFkZGl0aW9uYWxNZW1vcnlDb3N0KGNvc3QpOwotfQotCi0v
KiEKLSAgUmV0dXJucyBhIGhhbmRsZSB0aGF0IHJlcHJlc2VudHMgdGhlIGdpdmVuIHN0cmluZywg
XGEgc3RyLgotCi0gIFFTY3JpcHRTdHJpbmcgY2FuIGJlIHVzZWQgdG8gcXVpY2tseSBsb29rIHVw
IHByb3BlcnRpZXMsIGFuZAotICBjb21wYXJlIHByb3BlcnR5IG5hbWVzLCBvZiBzY3JpcHQgb2Jq
ZWN0cy4KLQotICBcc2EgUVNjcmlwdFZhbHVlOjpwcm9wZXJ0eSgpCi0qLwotUVNjcmlwdFN0cmlu
ZyBRU2NyaXB0RW5naW5lOjp0b1N0cmluZ0hhbmRsZShjb25zdCBRU3RyaW5nJiBzdHIpCi17Ci0g
ICAgcmV0dXJuIFFTY3JpcHRTdHJpbmdQcml2YXRlOjpnZXQoZF9wdHItPnRvU3RyaW5nSGFuZGxl
KHN0cikpOwotfQotCi0vKiEKLSAgQ29udmVydHMgdGhlIGdpdmVuIFxhIHZhbHVlIHRvIGFuIG9i
amVjdCwgaWYgc3VjaCBhIGNvbnZlcnNpb24gaXMKLSAgcG9zc2libGU7IG90aGVyd2lzZSByZXR1
cm5zIGFuIGludmFsaWQgUVNjcmlwdFZhbHVlLiBUaGUgY29udmVyc2lvbgotICBpcyBwZXJmb3Jt
ZWQgYWNjb3JkaW5nIHRvIHRoZSBmb2xsb3dpbmcgdGFibGU6Ci0KLSAgICBcdGFibGUKLSAgICBc
aGVhZGVyIFxvIElucHV0IFR5cGUgXG8gUmVzdWx0Ci0gICAgXHJvdyAgICBcbyBVbmRlZmluZWQg
IFxvIEFuIGludmFsaWQgUVNjcmlwdFZhbHVlLgotICAgIFxyb3cgICAgXG8gTnVsbCAgICAgICBc
byBBbiBpbnZhbGlkIFFTY3JpcHRWYWx1ZS4KLSAgICBccm93ICAgIFxvIEJvb2xlYW4gICAgXG8g
QSBuZXcgQm9vbGVhbiBvYmplY3Qgd2hvc2UgaW50ZXJuYWwgdmFsdWUgaXMgc2V0IHRvIHRoZSB2
YWx1ZSBvZiB0aGUgYm9vbGVhbi4KLSAgICBccm93ICAgIFxvIE51bWJlciAgICAgXG8gQSBuZXcg
TnVtYmVyIG9iamVjdCB3aG9zZSBpbnRlcm5hbCB2YWx1ZSBpcyBzZXQgdG8gdGhlIHZhbHVlIG9m
IHRoZSBudW1iZXIuCi0gICAgXHJvdyAgICBcbyBTdHJpbmcgICAgIFxvIEEgbmV3IFN0cmluZyBv
YmplY3Qgd2hvc2UgaW50ZXJuYWwgdmFsdWUgaXMgc2V0IHRvIHRoZSB2YWx1ZSBvZiB0aGUgc3Ry
aW5nLgotICAgIFxyb3cgICAgXG8gT2JqZWN0ICAgICBcbyBUaGUgcmVzdWx0IGlzIHRoZSBvYmpl
Y3QgaXRzZWxmIChubyBjb252ZXJzaW9uKS4KLSAgICBcZW5kdGFibGUKLQotICAgIFxzYSBuZXdP
YmplY3QoKQotKi8KLVFTY3JpcHRWYWx1ZSBRU2NyaXB0RW5naW5lOjp0b09iamVjdChjb25zdCBR
U2NyaXB0VmFsdWUmIHZhbHVlKQotewotICAgIHJldHVybiBRU2NyaXB0VmFsdWVQcml2YXRlOjpn
ZXQoUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KHZhbHVlKS0+dG9PYmplY3QoZF9wdHIuZGF0YSgp
KSk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIGEgUVNjcmlwdFZhbHVlIG9mIHRoZSBwcmltaXRpdmUg
dHlwZSBOdWxsLgotCi0gIFxzYSB1bmRlZmluZWRWYWx1ZSgpCi0qLwotUVNjcmlwdFZhbHVlIFFT
Y3JpcHRFbmdpbmU6Om51bGxWYWx1ZSgpCi17Ci0gICAgcmV0dXJuIFFTY3JpcHRWYWx1ZSh0aGlz
LCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIGEgUVNjcmlw
dFZhbHVlIG9mIHRoZSBwcmltaXRpdmUgdHlwZSBVbmRlZmluZWQuCi0KLSAgXHNhIG51bGxWYWx1
ZSgpCi0qLwotUVNjcmlwdFZhbHVlIFFTY3JpcHRFbmdpbmU6OnVuZGVmaW5lZFZhbHVlKCkKLXsK
LSAgICByZXR1cm4gUVNjcmlwdFZhbHVlKHRoaXMsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFs
dWUpOwotfQotCi0vKiEKLSAgICBDcmVhdGVzIGEgUVNjcmlwdFZhbHVlIHRoYXQgd3JhcHMgYSBu
YXRpdmUgKEMrKykgZnVuY3Rpb24uIFxhIGZ1bgotICAgIG11c3QgYmUgYSBDKysgZnVuY3Rpb24g
d2l0aCBzaWduYXR1cmUgUVNjcmlwdEVuZ2luZTo6RnVuY3Rpb25TaWduYXR1cmUuCi0gICAgXGEg
bGVuZ3RoIGlzIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzIHRoYXQgXGEgZnVuIGV4cGVjdHM7IHRo
aXMgYmVjb21lcwotICAgIHRoZSBcY3tsZW5ndGh9IHByb3BlcnR5IG9mIHRoZSBjcmVhdGVkIFFT
Y3JpcHRWYWx1ZS4KLQotICAgIE5vdGUgdGhhdCBcYSBsZW5ndGggb25seSBnaXZlcyBhbiBpbmRp
Y2F0aW9uIG9mIHRoZSBudW1iZXIgb2YKLSAgICBhcmd1bWVudHMgdGhhdCB0aGUgZnVuY3Rpb24g
ZXhwZWN0czsgYW4gYWN0dWFsIGludm9jYXRpb24gb2YgYQotICAgIGZ1bmN0aW9uIGNhbiBpbmNs
dWRlIGFueSBudW1iZXIgb2YgYXJndW1lbnRzLiBZb3UgY2FuIGNoZWNrIHRoZQotICAgIFxse1FT
Y3JpcHRDb250ZXh0Ojphcmd1bWVudENvdW50KCl9e2FyZ3VtZW50Q291bnQoKX0gb2YgdGhlCi0g
ICAgUVNjcmlwdENvbnRleHQgYXNzb2NpYXRlZCB3aXRoIHRoZSBpbnZvY2F0aW9uIHRvIGRldGVy
bWluZSB0aGUKLSAgICBhY3R1YWwgbnVtYmVyIG9mIGFyZ3VtZW50cyBwYXNzZWQuCi0KLSAgICBB
IFxje3Byb3RvdHlwZX0gcHJvcGVydHkgaXMgYXV0b21hdGljYWxseSBjcmVhdGVkIGZvciB0aGUg
cmVzdWx0aW5nCi0gICAgZnVuY3Rpb24gb2JqZWN0LCB0byBwcm92aWRlIGZvciB0aGUgcG9zc2li
aWxpdHkgdGhhdCB0aGUgZnVuY3Rpb24KLSAgICB3aWxsIGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3Rv
ci4KLQotICAgIEJ5IGNvbWJpbmluZyBuZXdGdW5jdGlvbigpIGFuZCB0aGUgcHJvcGVydHkgZmxh
Z3MKLSAgICBRU2NyaXB0VmFsdWU6OlByb3BlcnR5R2V0dGVyIGFuZCBRU2NyaXB0VmFsdWU6OlBy
b3BlcnR5U2V0dGVyLCB5b3UKLSAgICBjYW4gY3JlYXRlIHNjcmlwdCBvYmplY3QgcHJvcGVydGll
cyB0aGF0IGJlaGF2ZSBsaWtlIG5vcm1hbAotICAgIHByb3BlcnRpZXMgaW4gc2NyaXB0IGNvZGUs
IGJ1dCBhcmUgaW4gZmFjdCBhY2Nlc3NlZCB0aHJvdWdoCi0gICAgZnVuY3Rpb25zIChhbmFsb2dv
dXMgdG8gaG93IHByb3BlcnRpZXMgd29yayBpbiBcbHtRdCdzIFByb3BlcnR5Ci0gICAgU3lzdGVt
fSkuIEV4YW1wbGU6Ci0KLSAgICBcc25pcHBldCBkb2Mvc3JjL3NuaXBwZXRzL2NvZGUvc3JjX3Nj
cmlwdF9xc2NyaXB0ZW5naW5lLmNwcCAxMQotCi0gICAgV2hlbiB0aGUgcHJvcGVydHkgXGN7Zm9v
fSBvZiB0aGUgc2NyaXB0IG9iamVjdCBpcyBzdWJzZXF1ZW50bHkKLSAgICBhY2Nlc3NlZCBpbiBz
Y3JpcHQgY29kZSwgXGN7Z2V0U2V0Rm9vKCl9IHdpbGwgYmUgaW52b2tlZCB0byBoYW5kbGUKLSAg
ICB0aGUgYWNjZXNzLiAgSW4gdGhpcyBwYXJ0aWN1bGFyIGNhc2UsIHdlIGNob3NlIHRvIHN0b3Jl
IHRoZSAicmVhbCIKLSAgICB2YWx1ZSBvZiBcY3tmb299IGFzIGEgcHJvcGVydHkgb2YgdGhlIGFj
Y2Vzc29yIGZ1bmN0aW9uIGl0c2VsZjsgeW91Ci0gICAgYXJlIG9mIGNvdXJzZSBmcmVlIHRvIGRv
IHdoYXRldmVyIHlvdSBsaWtlIGluIHRoaXMgZnVuY3Rpb24uCi0KLSAgICBJbiB0aGUgYWJvdmUg
ZXhhbXBsZSwgYSBzaW5nbGUgbmF0aXZlIGZ1bmN0aW9uIHdhcyB1c2VkIHRvIGhhbmRsZQotICAg
IGJvdGggcmVhZHMgYW5kIHdyaXRlcyB0byB0aGUgcHJvcGVydHk7IHRoZSBhcmd1bWVudCBjb3Vu
dCBpcyB1c2VkIHRvCi0gICAgZGV0ZXJtaW5lIGlmIHdlIGFyZSBoYW5kbGluZyBhIHJlYWQgb3Ig
d3JpdGUuIFlvdSBjYW4gYWxzbyB1c2UgdHdvCi0gICAgc2VwYXJhdGUgZnVuY3Rpb25zOyBqdXN0
IHNwZWNpZnkgdGhlIHJlbGV2YW50IGZsYWcKLSAgICAoUVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUdl
dHRlciBvciBRU2NyaXB0VmFsdWU6OlByb3BlcnR5U2V0dGVyKSB3aGVuCi0gICAgc2V0dGluZyB0
aGUgcHJvcGVydHksIGUuZy46Ci0KLSAgICBcc25pcHBldCBkb2Mvc3JjL3NuaXBwZXRzL2NvZGUv
c3JjX3NjcmlwdF9xc2NyaXB0ZW5naW5lLmNwcCAxMgotCi0gICAgXHNhIFFTY3JpcHRWYWx1ZTo6
Y2FsbCgpCi0qLwotUVNjcmlwdFZhbHVlIFFTY3JpcHRFbmdpbmU6Om5ld0Z1bmN0aW9uKFFTY3Jp
cHRFbmdpbmU6OkZ1bmN0aW9uU2lnbmF0dXJlIGZ1biwgaW50IGxlbmd0aCkKLXsKLSAgICByZXR1
cm4gUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KGRfcHRyLT5uZXdGdW5jdGlvbihmdW4sIDAsIGxl
bmd0aCkpOwotfQotCi0vKiEKLSAgICBDcmVhdGVzIGEgY29uc3RydWN0b3IgZnVuY3Rpb24gZnJv
bSBcYSBmdW4sIHdpdGggdGhlIGdpdmVuIFxhIGxlbmd0aC4KLSAgICBUaGUgXGN7cHJvdG90eXBl
fSBwcm9wZXJ0eSBvZiB0aGUgcmVzdWx0aW5nIGZ1bmN0aW9uIGlzIHNldCB0byBiZSB0aGUKLSAg
ICBnaXZlbiBcYSBwcm90b3R5cGUuIFRoZSBcY3tjb25zdHJ1Y3Rvcn0gcHJvcGVydHkgb2YgXGEg
cHJvdG90eXBlIGlzCi0gICAgc2V0IHRvIGJlIHRoZSByZXN1bHRpbmcgZnVuY3Rpb24uCi0KLSAg
ICBXaGVuIGEgZnVuY3Rpb24gaXMgY2FsbGVkIGFzIGEgY29uc3RydWN0b3IgKGUuZy4gXGN7bmV3
IEZvbygpfSksIHRoZQotICAgIGB0aGlzJyBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBmdW5j
dGlvbiBjYWxsIGlzIHRoZSBuZXcgb2JqZWN0Ci0gICAgdGhhdCB0aGUgZnVuY3Rpb24gaXMgZXhw
ZWN0ZWQgdG8gaW5pdGlhbGl6ZTsgdGhlIHByb3RvdHlwZSBvZiB0aGlzCi0gICAgZGVmYXVsdCBj
b25zdHJ1Y3RlZCBvYmplY3Qgd2lsbCBiZSB0aGUgZnVuY3Rpb24ncyBwdWJsaWMKLSAgICBcY3tw
cm90b3R5cGV9IHByb3BlcnR5LiBJZiB5b3UgYWx3YXlzIHdhbnQgdGhlIGZ1bmN0aW9uIHRvIGJl
aGF2ZSBhcwotICAgIGEgY29uc3RydWN0b3IgKGUuZy4gXGN7Rm9vKCl9IHNob3VsZCBhbHNvIGNy
ZWF0ZSBhIG5ldyBvYmplY3QpLCBvcgotICAgIGlmIHlvdSBuZWVkIHRvIGNyZWF0ZSB5b3VyIG93
biBvYmplY3QgcmF0aGVyIHRoYW4gdXNpbmcgdGhlIGRlZmF1bHQKLSAgICBgdGhpcycgb2JqZWN0
LCB5b3Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0IHRoZSBwcm90b3R5cGUgb2YgeW91cgotICAgIG9i
amVjdCBpcyBzZXQgY29ycmVjdGx5OyBlaXRoZXIgYnkgc2V0dGluZyBpdCBtYW51YWxseSwgb3Is
IHdoZW4KLSAgICB3cmFwcGluZyBhIGN1c3RvbSB0eXBlLCBieSBoYXZpbmcgcmVnaXN0ZXJlZCB0
aGUgZGVmYXVsdFByb3RvdHlwZSgpCi0gICAgb2YgdGhhdCB0eXBlLiBFeGFtcGxlOgotCi0gICAg
XHNuaXBwZXQgZG9jL3NyYy9zbmlwcGV0cy9jb2RlL3NyY19zY3JpcHRfcXNjcmlwdGVuZ2luZS5j
cHAgOQotCi0gICAgVG8gd3JhcCBhIGN1c3RvbSB0eXBlIGFuZCBwcm92aWRlIGEgY29uc3RydWN0
b3IgZm9yIGl0LCB5b3UnZCB0eXBpY2FsbHkKLSAgICBkbyBzb21ldGhpbmcgbGlrZSB0aGlzOgot
Ci0gICAgXHNuaXBwZXQgZG9jL3NyYy9zbmlwcGV0cy9jb2RlL3NyY19zY3JpcHRfcXNjcmlwdGVu
Z2luZS5jcHAgMTAKLSovCi1RU2NyaXB0VmFsdWUgUVNjcmlwdEVuZ2luZTo6bmV3RnVuY3Rpb24o
UVNjcmlwdEVuZ2luZTo6RnVuY3Rpb25TaWduYXR1cmUgZnVuLCBjb25zdCBRU2NyaXB0VmFsdWUm
IHByb3RvdHlwZSwgaW50IGxlbmd0aCkKLXsKLSAgICByZXR1cm4gUVNjcmlwdFZhbHVlUHJpdmF0
ZTo6Z2V0KGRfcHRyLT5uZXdGdW5jdGlvbihmdW4sIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmdldChw
cm90b3R5cGUpLCBsZW5ndGgpKTsKLX0KLQotLyohCi0gICAgXGludGVybmFsCi0gICAgXHNpbmNl
IDQuNAotKi8KLVFTY3JpcHRWYWx1ZSBRU2NyaXB0RW5naW5lOjpuZXdGdW5jdGlvbihRU2NyaXB0
RW5naW5lOjpGdW5jdGlvbldpdGhBcmdTaWduYXR1cmUgZnVuLCB2b2lkKiBhcmcpCi17Ci0gICAg
cmV0dXJuIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmdldChkX3B0ci0+bmV3RnVuY3Rpb24oZnVuLCBh
cmcpKTsKLX0KLQotLyohCi0gIENyZWF0ZXMgYSBRdFNjcmlwdCBvYmplY3Qgb2YgY2xhc3MgT2Jq
ZWN0LgotCi0gIFRoZSBwcm90b3R5cGUgb2YgdGhlIGNyZWF0ZWQgb2JqZWN0IHdpbGwgYmUgdGhl
IE9iamVjdAotICBwcm90b3R5cGUgb2JqZWN0LgotCi0gIFxzYSBuZXdBcnJheSgpLCBRU2NyaXB0
VmFsdWU6OnNldFByb3BlcnR5KCkKLSovCi1RU2NyaXB0VmFsdWUgUVNjcmlwdEVuZ2luZTo6bmV3
T2JqZWN0KCkKLXsKLSAgICByZXR1cm4gUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KGRfcHRyLT5u
ZXdPYmplY3QoKSk7Ci19Ci0KLS8qIQotICBDcmVhdGVzIGEgUXRTY3JpcHQgb2JqZWN0IG9mIGNs
YXNzIEFycmF5IHdpdGggdGhlIGdpdmVuIFxhIGxlbmd0aC4KLQotICBcc2EgbmV3T2JqZWN0KCkK
LSovCi1RU2NyaXB0VmFsdWUgUVNjcmlwdEVuZ2luZTo6bmV3QXJyYXkodWludCBsZW5ndGgpCi17
Ci0gICAgcmV0dXJuIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmdldChkX3B0ci0+bmV3QXJyYXkobGVu
Z3RoKSk7Ci19Ci0KLS8qIQotICAgIENyZWF0ZXMgYSBRdFNjcmlwdCBvYmplY3Qgb2YgY2xhc3Mg
RGF0ZSB3aXRoIHRoZSBnaXZlbiBcYSB2YWx1ZQotICAgICh0aGUgbnVtYmVyIG9mIG1pbGxpc2Vj
b25kcyBzaW5jZSAwMSBKYW51YXJ5IDE5NzAsIFVUQykuCi0qLwotUVNjcmlwdFZhbHVlIFFTY3Jp
cHRFbmdpbmU6Om5ld0RhdGUocXNyZWFsIHZhbHVlKQotewotICAgIHJldHVybiBRU2NyaXB0VmFs
dWVQcml2YXRlOjpnZXQoZF9wdHItPm5ld0RhdGUodmFsdWUpKTsKLX0KLQotLyohCi0gICAgQ3Jl
YXRlcyBhIFF0U2NyaXB0IG9iamVjdCBvZiBjbGFzcyBEYXRlIGZyb20gdGhlIGdpdmVuIFxhIHZh
bHVlLgotCi0gICAgXHNhIFFTY3JpcHRWYWx1ZTo6dG9EYXRlVGltZSgpCi0qLwotUVNjcmlwdFZh
bHVlIFFTY3JpcHRFbmdpbmU6Om5ld0RhdGUoY29uc3QgUURhdGVUaW1lJiB2YWx1ZSkKLXsKLSAg
ICBpZiAodmFsdWUuaXNWYWxpZCgpKQotICAgICAgICByZXR1cm4gUVNjcmlwdFZhbHVlUHJpdmF0
ZTo6Z2V0KGRfcHRyLT5uZXdEYXRlKHFzcmVhbCh2YWx1ZS50b01TZWNzU2luY2VFcG9jaCgpKSkp
OwotICAgIHJldHVybiBRU2NyaXB0VmFsdWVQcml2YXRlOjpnZXQoZF9wdHItPm5ld0RhdGUocVNO
YU4oKSkpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0aGlzIGVuZ2luZSdzIEdsb2JhbCBPYmplY3Qu
Ci0KLSAgQnkgZGVmYXVsdCwgdGhlIEdsb2JhbCBPYmplY3QgY29udGFpbnMgdGhlIGJ1aWx0LWlu
IG9iamVjdHMgdGhhdCBhcmUKLSAgcGFydCBvZiBcbHtFQ01BLTI2Mn0sIHN1Y2ggYXMgTWF0aCwg
RGF0ZSBhbmQgU3RyaW5nLiBBZGRpdGlvbmFsbHksCi0gIHlvdSBjYW4gc2V0IHByb3BlcnRpZXMg
b2YgdGhlIEdsb2JhbCBPYmplY3QgdG8gbWFrZSB5b3VyIG93bgotICBleHRlbnNpb25zIGF2YWls
YWJsZSB0byBhbGwgc2NyaXB0IGNvZGUuIE5vbi1sb2NhbCB2YXJpYWJsZXMgaW4KLSAgc2NyaXB0
IGNvZGUgd2lsbCBiZSBjcmVhdGVkIGFzIHByb3BlcnRpZXMgb2YgdGhlIEdsb2JhbCBPYmplY3Qs
IGFzCi0gIHdlbGwgYXMgbG9jYWwgdmFyaWFibGVzIGluIGdsb2JhbCBjb2RlLgotKi8KLVFTY3Jp
cHRWYWx1ZSBRU2NyaXB0RW5naW5lOjpnbG9iYWxPYmplY3QoKSBjb25zdAotewotICAgIHJldHVy
biBRU2NyaXB0VmFsdWVQcml2YXRlOjpnZXQoZF9wdHItPmdsb2JhbE9iamVjdCgpKTsKLX0KLQot
LyohCi0gICAgXHR5cGVkZWYgUVNjcmlwdEVuZ2luZTo6RnVuY3Rpb25TaWduYXR1cmUKLSAgICBc
cmVsYXRlcyBRU2NyaXB0RW5naW5lCi0KLSAgICBUaGUgZnVuY3Rpb24gc2lnbmF0dXJlIFxje1FT
Y3JpcHRWYWx1ZSBmKFFTY3JpcHRDb250ZXh0ICosIFFTY3JpcHRFbmdpbmUgKil9LgotCi0gICAg
QSBmdW5jdGlvbiB3aXRoIHN1Y2ggYSBzaWduYXR1cmUgY2FuIGJlIHBhc3NlZCB0bwotICAgIFFT
Y3JpcHRFbmdpbmU6Om5ld0Z1bmN0aW9uKCkgdG8gd3JhcCB0aGUgZnVuY3Rpb24uCi0qLwotCi0v
KiEKLSAgICBcdHlwZWRlZiBRU2NyaXB0RW5naW5lOjpGdW5jdGlvbldpdGhBcmdTaWduYXR1cmUK
LSAgICBccmVsYXRlcyBRU2NyaXB0RW5naW5lCi0KLSAgICBUaGUgZnVuY3Rpb24gc2lnbmF0dXJl
IFxje1FTY3JpcHRWYWx1ZSBmKFFTY3JpcHRDb250ZXh0ICosIFFTY3JpcHRFbmdpbmUgKiwgdm9p
ZCAqKX0uCi0KLSAgICBBIGZ1bmN0aW9uIHdpdGggc3VjaCBhIHNpZ25hdHVyZSBjYW4gYmUgcGFz
c2VkIHRvCi0gICAgUVNjcmlwdEVuZ2luZTo6bmV3RnVuY3Rpb24oKSB0byB3cmFwIHRoZSBmdW5j
dGlvbi4KLSovCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3Jp
cHRlbmdpbmUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGVuZ2luZS5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyODE3MDdmLi4wMDAwMDAwCi0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGVuZ2luZS5oCisrKyAvZGV2L251bGwK
QEAgLTEsODIgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9y
YXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAg
ICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
Ci0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0K
LSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAot
ICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2lmbmRlZiBxc2NyaXB0ZW5n
aW5lX2gKLSNkZWZpbmUgcXNjcmlwdGVuZ2luZV9oCi0KLSNpbmNsdWRlICJxc2NyaXB0cHJvZ3Jh
bS5oIgotI2luY2x1ZGUgInFzY3JpcHRzdHJpbmcuaCIKLSNpbmNsdWRlICJxc2NyaXB0c3ludGF4
Y2hlY2tyZXN1bHQuaCIKLSNpbmNsdWRlICJxc2NyaXB0dmFsdWUuaCIKLSNpbmNsdWRlIDxRdENv
cmUvcW9iamVjdC5oPgotI2luY2x1ZGUgPFF0Q29yZS9xc2hhcmVkZGF0YS5oPgotI2luY2x1ZGUg
PFF0Q29yZS9xc3RyaW5nLmg+Ci0KLWNsYXNzIFFEYXRlVGltZTsKLWNsYXNzIFFTY3JpcHRFbmdp
bmVQcml2YXRlOwotCi0vLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSBRU2NyaXB0Q29udGV4dCBp
cyBwcm9wZXJseSBkZWZpbmVkLgotdHlwZWRlZiB2b2lkIFFTY3JpcHRDb250ZXh0OwotCi0vLyBJ
bnRlcm5hbCB0eXBlZGVmCi10eXBlZGVmIFFFeHBsaWNpdGx5U2hhcmVkRGF0YVBvaW50ZXI8UVNj
cmlwdEVuZ2luZVByaXZhdGU+IFFTY3JpcHRFbmdpbmVQdHI7Ci0KLWNsYXNzIFFTY3JpcHRFbmdp
bmUgOiBwdWJsaWMgUU9iamVjdCB7Ci1wdWJsaWM6Ci0gICAgUVNjcmlwdEVuZ2luZSgpOwotICAg
IH5RU2NyaXB0RW5naW5lKCk7Ci0KLSAgICBzdGF0aWMgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0
IGNoZWNrU3ludGF4KGNvbnN0IFFTdHJpbmcmIHByb2dyYW0pOwotICAgIFFTY3JpcHRWYWx1ZSBl
dmFsdWF0ZShjb25zdCBRU3RyaW5nJiBwcm9ncmFtLCBjb25zdCBRU3RyaW5nJiBmaWxlTmFtZSA9
IFFTdHJpbmcoKSwgaW50IGxpbmVOdW1iZXIgPSAxKTsKLSAgICBRU2NyaXB0VmFsdWUgZXZhbHVh
dGUoY29uc3QgUVNjcmlwdFByb2dyYW0mIHByb2dyYW0pOwotCi0gICAgYm9vbCBoYXNVbmNhdWdo
dEV4Y2VwdGlvbigpIGNvbnN0OwotICAgIFFTY3JpcHRWYWx1ZSB1bmNhdWdodEV4Y2VwdGlvbigp
IGNvbnN0OwotICAgIHZvaWQgY2xlYXJFeGNlcHRpb25zKCk7Ci0gICAgaW50IHVuY2F1Z2h0RXhj
ZXB0aW9uTGluZU51bWJlcigpIGNvbnN0OwotICAgIFFTdHJpbmdMaXN0IHVuY2F1Z2h0RXhjZXB0
aW9uQmFja3RyYWNlKCkgY29uc3Q7Ci0KLSAgICB2b2lkIGNvbGxlY3RHYXJiYWdlKCk7Ci0gICAg
dm9pZCByZXBvcnRBZGRpdGlvbmFsTWVtb3J5Q29zdChpbnQgY29zdCk7Ci0KLSAgICBRU2NyaXB0
U3RyaW5nIHRvU3RyaW5nSGFuZGxlKGNvbnN0IFFTdHJpbmcmIHN0cik7Ci0gICAgUVNjcmlwdFZh
bHVlIHRvT2JqZWN0KGNvbnN0IFFTY3JpcHRWYWx1ZSYgdmFsdWUpOwotCi0gICAgUVNjcmlwdFZh
bHVlIG51bGxWYWx1ZSgpOwotICAgIFFTY3JpcHRWYWx1ZSB1bmRlZmluZWRWYWx1ZSgpOwotCi0g
ICAgdHlwZWRlZiBRU2NyaXB0VmFsdWUgKCpGdW5jdGlvblNpZ25hdHVyZSkoUVNjcmlwdENvbnRl
eHQgKiwgUVNjcmlwdEVuZ2luZSAqKTsKLSAgICB0eXBlZGVmIFFTY3JpcHRWYWx1ZSAoKkZ1bmN0
aW9uV2l0aEFyZ1NpZ25hdHVyZSkoUVNjcmlwdENvbnRleHQgKiwgUVNjcmlwdEVuZ2luZSAqLCB2
b2lkICopOwotCi0gICAgUVNjcmlwdFZhbHVlIG5ld0Z1bmN0aW9uKEZ1bmN0aW9uU2lnbmF0dXJl
IGZ1biwgaW50IGxlbmd0aCA9IDApOwotICAgIFFTY3JpcHRWYWx1ZSBuZXdGdW5jdGlvbihGdW5j
dGlvblNpZ25hdHVyZSBmdW4sIGNvbnN0IFFTY3JpcHRWYWx1ZSYgcHJvdG90eXBlLCBpbnQgbGVu
Z3RoID0gMCk7Ci0gICAgUVNjcmlwdFZhbHVlIG5ld0Z1bmN0aW9uKEZ1bmN0aW9uV2l0aEFyZ1Np
Z25hdHVyZSBmdW4sIHZvaWQqIGFyZyk7Ci0KLSAgICBRU2NyaXB0VmFsdWUgbmV3T2JqZWN0KCk7
Ci0gICAgUVNjcmlwdFZhbHVlIG5ld0FycmF5KHVpbnQgbGVuZ3RoID0gMCk7Ci0gICAgUVNjcmlw
dFZhbHVlIG5ld0RhdGUocXNyZWFsIHZhbHVlKTsKLSAgICBRU2NyaXB0VmFsdWUgbmV3RGF0ZShj
b25zdCBRRGF0ZVRpbWUmIHZhbHVlKTsKLSAgICBRU2NyaXB0VmFsdWUgZ2xvYmFsT2JqZWN0KCkg
Y29uc3Q7Ci1wcml2YXRlOgotICAgIGZyaWVuZCBjbGFzcyBRU2NyaXB0RW5naW5lUHJpdmF0ZTsK
LQotICAgIFFTY3JpcHRFbmdpbmVQdHIgZF9wdHI7Ci19OwotCi0jZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGVuZ2luZV9wLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGVuZ2luZV9wLmNwcApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggODkwNTRjMC4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcXQvYXBpL3FzY3JpcHRlbmdpbmVfcC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNjcg
KzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRpb24gYW5k
L29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAg
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaW5j
bHVkZSAicXNjcmlwdGVuZ2luZV9wLmgiCi0KLSNpbmNsdWRlICJxc2NyaXB0ZnVuY3Rpb25fcC5o
IgotI2luY2x1ZGUgInFzY3JpcHRwcm9ncmFtX3AuaCIKLSNpbmNsdWRlICJxc2NyaXB0dmFsdWVf
cC5oIgotCi0vKiEKLSAgICBDb25zdHJ1Y3RzIGEgZGVmYXVsdCBRU2NyaXB0RW5naW5lUHJpdmF0
ZSBvYmplY3QsIGEgbmV3IGdsb2JhbCBjb250ZXh0IHdpbGwgYmUgY3JlYXRlZC4KLSAgICBcaW50
ZXJuYWwKLSovCi1RU2NyaXB0RW5naW5lUHJpdmF0ZTo6UVNjcmlwdEVuZ2luZVByaXZhdGUoY29u
c3QgUVNjcmlwdEVuZ2luZSogZW5naW5lKQotICAgIDogcV9wdHIoY29uc3RfY2FzdDxRU2NyaXB0
RW5naW5lKj4oZW5naW5lKSkKLSAgICAsIG1fY29udGV4dChKU0dsb2JhbENvbnRleHRDcmVhdGUo
MCkpCi0gICAgLCBtX2V4Y2VwdGlvbigwKQotICAgICwgbV9vcmlnaW5hbEdsb2JhbE9iamVjdCht
X2NvbnRleHQpCi0gICAgLCBtX25hdGl2ZUZ1bmN0aW9uQ2xhc3MoSlNDbGFzc0NyZWF0ZSgmcXRf
TmF0aXZlRnVuY3Rpb25DbGFzcykpCi0gICAgLCBtX25hdGl2ZUZ1bmN0aW9uV2l0aEFyZ0NsYXNz
KEpTQ2xhc3NDcmVhdGUoJnF0X05hdGl2ZUZ1bmN0aW9uV2l0aEFyZ0NsYXNzKSkKLXsKLX0KLQot
UVNjcmlwdEVuZ2luZVByaXZhdGU6On5RU2NyaXB0RW5naW5lUHJpdmF0ZSgpCi17Ci0gICAgSlND
bGFzc1JlbGVhc2UobV9uYXRpdmVGdW5jdGlvbkNsYXNzKTsKLSAgICBKU0NsYXNzUmVsZWFzZSht
X25hdGl2ZUZ1bmN0aW9uV2l0aEFyZ0NsYXNzKTsKLSAgICBpZiAobV9leGNlcHRpb24pCi0gICAg
ICAgIEpTVmFsdWVVbnByb3RlY3QobV9jb250ZXh0LCBtX2V4Y2VwdGlvbik7Ci0gICAgSlNHbG9i
YWxDb250ZXh0UmVsZWFzZShtX2NvbnRleHQpOwotfQotCi1RU2NyaXB0U3ludGF4Q2hlY2tSZXN1
bHRQcml2YXRlKiBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6Y2hlY2tTeW50YXgoY29uc3QgUVN0cmlu
ZyYgcHJvZ3JhbSkKLXsKLSAgICBKU1ZhbHVlUmVmIGV4Y2VwdGlvbjsKLSAgICBKU1N0cmluZ1Jl
ZiBzb3VyY2UgPSBRU2NyaXB0Q29udmVydGVyOjp0b1N0cmluZyhwcm9ncmFtKTsKLSAgICBib29s
IHN5bnRheElzQ29ycmVjdCA9IEpTQ2hlY2tTY3JpcHRTeW50YXgobV9jb250ZXh0LCBzb3VyY2Us
IC8qIHVybCAqLyAwLCAvKiBzdGFydGluZyBsaW5lICovIDEsICZleGNlcHRpb24pOwotICAgIEpT
U3RyaW5nUmVsZWFzZShzb3VyY2UpOwotICAgIGlmIChzeW50YXhJc0NvcnJlY3QpIHsKLSAgICAg
ICAgcmV0dXJuIG5ldyBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2YXRlKHRoaXMpOwotICAg
IH0KLSAgICBKU1ZhbHVlUHJvdGVjdChtX2NvbnRleHQsIGV4Y2VwdGlvbik7Ci0gICAgcmV0dXJu
IG5ldyBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2YXRlKHRoaXMsIGNvbnN0X2Nhc3Q8SlNP
YmplY3RSZWY+KGV4Y2VwdGlvbikpOwotfQotCi0vKiEKLSAgICBFdmFsdWF0ZXMgcHJvZ3JhbSBh
bmQgcmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSBldmFsdWF0aW9uLgotICAgIFxpbnRlcm5hbAot
Ki8KLVFTY3JpcHRWYWx1ZVByaXZhdGUqIFFTY3JpcHRFbmdpbmVQcml2YXRlOjpldmFsdWF0ZShj
b25zdCBRU3RyaW5nJiBwcm9ncmFtLCBjb25zdCBRU3RyaW5nJiBmaWxlTmFtZSwgaW50IGxpbmVO
dW1iZXIpCi17Ci0gICAgSlNTdHJpbmdSZWYgc2NyaXB0ID0gUVNjcmlwdENvbnZlcnRlcjo6dG9T
dHJpbmcocHJvZ3JhbSk7Ci0gICAgSlNTdHJpbmdSZWYgZmlsZSA9IFFTY3JpcHRDb252ZXJ0ZXI6
OnRvU3RyaW5nKGZpbGVOYW1lKTsKLSAgICBRU2NyaXB0VmFsdWVQcml2YXRlKiByZXN1bHQgPSBu
ZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZSh0aGlzLCBldmFsdWF0ZShzY3JpcHQsIGZpbGUsIGxpbmVO
dW1iZXIpKTsKLSAgICBKU1N0cmluZ1JlbGVhc2Uoc2NyaXB0KTsKLSAgICBKU1N0cmluZ1JlbGVh
c2UoZmlsZSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyohCi0gICAgRXZhbHVhdGVzIHBy
b2dyYW0gYW5kIHJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgZXZhbHVhdGlvbi4KLSAgICBcaW50
ZXJuYWwKLSovCi1RU2NyaXB0VmFsdWVQcml2YXRlKiBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6ZXZh
bHVhdGUoY29uc3QgUVNjcmlwdFByb2dyYW1Qcml2YXRlKiBwcm9ncmFtKQotewotICAgIGlmIChw
cm9ncmFtLT5pc051bGwoKSkKLSAgICAgICAgcmV0dXJuIG5ldyBRU2NyaXB0VmFsdWVQcml2YXRl
OwotICAgIHJldHVybiBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZSh0aGlzLCBldmFsdWF0ZSgqcHJv
Z3JhbSwgcHJvZ3JhbS0+ZmlsZSgpLCBwcm9ncmFtLT5saW5lKCkpKTsKLX0KLQotUVNjcmlwdFZh
bHVlUHJpdmF0ZSogUVNjcmlwdEVuZ2luZVByaXZhdGU6OnVuY2F1Z2h0RXhjZXB0aW9uKCkgY29u
c3QKLXsKLSAgICByZXR1cm4gbV9leGNlcHRpb24gPyBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZSh0
aGlzLCBtX2V4Y2VwdGlvbikgOiBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZSgpOwotfQotCi1RU2Ny
aXB0VmFsdWVQcml2YXRlKiBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6bmV3RnVuY3Rpb24oUVNjcmlw
dEVuZ2luZTo6RnVuY3Rpb25TaWduYXR1cmUgZnVuLCBRU2NyaXB0VmFsdWVQcml2YXRlKiBwcm90
b3R5cGUsIGludCBsZW5ndGgpCi17Ci0gICAgLy8gTm90ZSB0aGF0IHRoaXMgcHJpdmF0ZSBkYXRh
IHdpbGwgYmUgZGVsZXRlZCBpbiB0aGUgb2JqZWN0IGZpbmFsaXplIGZ1bmN0aW9uLgotICAgIFFO
YXRpdmVGdW5jdGlvbkRhdGEqIGRhdGEgPSBuZXcgUU5hdGl2ZUZ1bmN0aW9uRGF0YSh0aGlzLCBm
dW4pOwotICAgIEpTT2JqZWN0UmVmIGZ1bkpTID0gSlNPYmplY3RNYWtlKG1fY29udGV4dCwgbV9u
YXRpdmVGdW5jdGlvbkNsYXNzLCByZWludGVycHJldF9jYXN0PHZvaWQqPihkYXRhKSk7Ci0gICAg
UVNjcmlwdFZhbHVlUHJpdmF0ZSogcHJvdG8gPSBwcm90b3R5cGUgPyBwcm90b3R5cGUgOiBuZXdP
YmplY3QoKTsKLSAgICByZXR1cm4gbmV3RnVuY3Rpb24oZnVuSlMsIHByb3RvKTsKLX0KLQotUVNj
cmlwdFZhbHVlUHJpdmF0ZSogUVNjcmlwdEVuZ2luZVByaXZhdGU6Om5ld0Z1bmN0aW9uKFFTY3Jp
cHRFbmdpbmU6OkZ1bmN0aW9uV2l0aEFyZ1NpZ25hdHVyZSBmdW4sIHZvaWQqIGFyZykKLXsKLSAg
ICAvLyBOb3RlIHRoYXQgdGhpcyBwcml2YXRlIGRhdGEgd2lsbCBiZSBkZWxldGVkIGluIHRoZSBv
YmplY3QgZmluYWxpemUgZnVuY3Rpb24uCi0gICAgUU5hdGl2ZUZ1bmN0aW9uV2l0aEFyZ0RhdGEq
IGRhdGEgPSBuZXcgUU5hdGl2ZUZ1bmN0aW9uV2l0aEFyZ0RhdGEodGhpcywgZnVuLCBhcmcpOwot
ICAgIEpTT2JqZWN0UmVmIGZ1bkpTID0gSlNPYmplY3RNYWtlKG1fY29udGV4dCwgbV9uYXRpdmVG
dW5jdGlvbldpdGhBcmdDbGFzcywgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZGF0YSkpOwotICAg
IFFTY3JpcHRWYWx1ZVByaXZhdGUqIHByb3RvID0gbmV3T2JqZWN0KCk7Ci0gICAgcmV0dXJuIG5l
d0Z1bmN0aW9uKGZ1bkpTLCBwcm90byk7Ci19Ci0KLVFTY3JpcHRWYWx1ZVByaXZhdGUqIFFTY3Jp
cHRFbmdpbmVQcml2YXRlOjpuZXdGdW5jdGlvbihKU09iamVjdFJlZiBmdW5KUywgUVNjcmlwdFZh
bHVlUHJpdmF0ZSogcHJvdG90eXBlKQotewotICAgIEpTT2JqZWN0U2V0UHJvdG90eXBlKG1fY29u
dGV4dCwgZnVuSlMsIG1fb3JpZ2luYWxHbG9iYWxPYmplY3QuZnVuY3Rpb25Qcm90b3R5cGUoKSk7
Ci0KLSAgICBRU2NyaXB0VmFsdWVQcml2YXRlKiByZXN1bHQgPSBuZXcgUVNjcmlwdFZhbHVlUHJp
dmF0ZSh0aGlzLCBmdW5KUyk7Ci0gICAgc3RhdGljIEpTU3RyaW5nUmVmIHByb3RvTmFtZSA9IFFT
Y3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKCJwcm90b3R5cGUiKTsKLSAgICBzdGF0aWMgSlNTdHJp
bmdSZWYgY29uc3RydWN0b3JOYW1lID0gUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmcoImNvbnN0
cnVjdG9yIik7Ci0gICAgcmVzdWx0LT5zZXRQcm9wZXJ0eShwcm90b05hbWUsIHByb3RvdHlwZSwg
UVNjcmlwdFZhbHVlOjpVbmRlbGV0YWJsZSk7Ci0gICAgcHJvdG90eXBlLT5zZXRQcm9wZXJ0eShj
b25zdHJ1Y3Rvck5hbWUsIHJlc3VsdCwgUVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdzKFFTY3Jp
cHRWYWx1ZTo6VW5kZWxldGFibGUgfCBRU2NyaXB0VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uKSk7
Ci0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi1RU2NyaXB0VmFsdWVQcml2YXRlKiBRU2NyaXB0
RW5naW5lUHJpdmF0ZTo6bmV3T2JqZWN0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbmV3IFFTY3Jp
cHRWYWx1ZVByaXZhdGUodGhpcywgSlNPYmplY3RNYWtlKG1fY29udGV4dCwgLyoganNDbGFzcyAq
LyAwLCAvKiB1c2VyRGF0YSAqLyAwKSk7Ci19Ci0KLVFTY3JpcHRWYWx1ZVByaXZhdGUqIFFTY3Jp
cHRFbmdpbmVQcml2YXRlOjpuZXdBcnJheSh1aW50IGxlbmd0aCkKLXsKLSAgICBKU1ZhbHVlUmVm
IGV4Y2VwdGlvbiA9IDA7Ci0gICAgSlNPYmplY3RSZWYgYXJyYXkgPSBKU09iamVjdE1ha2VBcnJh
eShtX2NvbnRleHQsIC8qIGFyZ3VtZW50Q291bnQgKi8gMCwgLyogYXJndW1lbnRzICovIDAsICZl
eGNlcHRpb24pOwotCi0gICAgaWYgKCFleGNlcHRpb24pIHsKLSAgICAgICAgaWYgKGxlbmd0aCA+
IDApIHsKLSAgICAgICAgICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBsZW5ndGhSZWYoQWRv
cHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJsZW5ndGgiKSk7Ci0gICAgICAgICAg
ICAvLyBhcnJheSBpcyBhbiBBcnJheSBpbnN0YW5jZSwgc28gYW4gZXhjZXB0aW9uIHNob3VsZCBu
b3Qgb2NjdXJlIGhlcmUuCi0gICAgICAgICAgICBKU09iamVjdFNldFByb3BlcnR5KG1fY29udGV4
dCwgYXJyYXksIGxlbmd0aFJlZi5nZXQoKSwgSlNWYWx1ZU1ha2VOdW1iZXIobV9jb250ZXh0LCBs
ZW5ndGgpLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZU5vbmUsIC8qIGV4Y2VwdGlvbiAqLyAwKTsKLSAg
ICAgICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIHNldEV4Y2VwdGlvbihleGNlcHRpb24sIE5v
dE51bGxFeGNlcHRpb24pOwotICAgICAgICByZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUo
KTsKLSAgICB9Ci0KLSAgICByZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUodGhpcywgYXJy
YXkpOwotfQotCi1RU2NyaXB0VmFsdWVQcml2YXRlKiBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6bmV3
RGF0ZShxc3JlYWwgdmFsdWUpCi17Ci0gICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAg
IEpTVmFsdWVSZWYgYXJndW1lbnQgPSBKU1ZhbHVlTWFrZU51bWJlcihtX2NvbnRleHQsIHZhbHVl
KTsKLSAgICBKU09iamVjdFJlZiByZXN1bHQgPSBKU09iamVjdE1ha2VEYXRlKG1fY29udGV4dCwg
LyogYXJndW1lbnRDb3VudCAqLyAxLCAmYXJndW1lbnQsICZleGNlcHRpb24pOwotCi0gICAgaWYg
KGV4Y2VwdGlvbikgewotICAgICAgICBzZXRFeGNlcHRpb24oZXhjZXB0aW9uLCBOb3ROdWxsRXhj
ZXB0aW9uKTsKLSAgICAgICAgcmV0dXJuIG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKCk7Ci0gICAg
fQotCi0gICAgcmV0dXJuIG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKHRoaXMsIHJlc3VsdCk7Ci19
Ci0KLVFTY3JpcHRWYWx1ZVByaXZhdGUqIFFTY3JpcHRFbmdpbmVQcml2YXRlOjpnbG9iYWxPYmpl
Y3QoKSBjb25zdAotewotICAgIEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCA9IEpTQ29udGV4dEdl
dEdsb2JhbE9iamVjdChtX2NvbnRleHQpOwotICAgIHJldHVybiBuZXcgUVNjcmlwdFZhbHVlUHJp
dmF0ZSh0aGlzLCBnbG9iYWxPYmplY3QpOwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3F0L2FwaS9xc2NyaXB0ZW5naW5lX3AuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9x
dC9hcGkvcXNjcmlwdGVuZ2luZV9wLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2
MDNiOTEuLjAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0
ZW5naW5lX3AuaAorKysgL2Rldi9udWxsCkBAIC0xLDI1OSArMCwwIEBACi0vKgotICAgIENvcHly
aWdodCAoQykgMjAwOSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWll
cykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
Ci0qLwotCi0jaWZuZGVmIHFzY3JpcHRlbmdpbmVfcF9oCi0jZGVmaW5lIHFzY3JpcHRlbmdpbmVf
cF9oCi0KLSNpbmNsdWRlICJxc2NyaXB0Y29udmVydGVyX3AuaCIKLSNpbmNsdWRlICJxc2NyaXB0
ZW5naW5lLmgiCi0jaW5jbHVkZSAicXNjcmlwdG9yaWdpbmFsZ2xvYmFsb2JqZWN0X3AuaCIKLSNp
bmNsdWRlICJxc2NyaXB0c3RyaW5nX3AuaCIKLSNpbmNsdWRlICJxc2NyaXB0c3ludGF4Y2hlY2ty
ZXN1bHRfcC5oIgotI2luY2x1ZGUgInFzY3JpcHR2YWx1ZS5oIgotI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHQuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1JldGFpblB0
ci5oPgotI2luY2x1ZGUgPEpTQmFzZVByaXZhdGUuaD4KLSNpbmNsdWRlIDxRdENvcmUvcXNoYXJl
ZGRhdGEuaD4KLSNpbmNsdWRlIDxRdENvcmUvcXN0cmluZy5oPgotI2luY2x1ZGUgPFF0Q29yZS9x
c3RyaW5nbGlzdC5oPgotCi1jbGFzcyBRU2NyaXB0RW5naW5lOwotY2xhc3MgUVNjcmlwdFN5bnRh
eENoZWNrUmVzdWx0UHJpdmF0ZTsKLQotY2xhc3MgUVNjcmlwdEVuZ2luZVByaXZhdGUgOiBwdWJs
aWMgUVNoYXJlZERhdGEgewotcHVibGljOgotICAgIHN0YXRpYyBRU2NyaXB0RW5naW5lUHJpdmF0
ZSogZ2V0KGNvbnN0IFFTY3JpcHRFbmdpbmUqIHEpIHsgUV9BU1NFUlQocSk7IHJldHVybiBxLT5k
X3B0ci5kYXRhKCk7IH0KLSAgICBzdGF0aWMgUVNjcmlwdEVuZ2luZSogZ2V0KGNvbnN0IFFTY3Jp
cHRFbmdpbmVQcml2YXRlKiBkKSB7IFFfQVNTRVJUKGQpOyByZXR1cm4gZC0+cV9wdHI7IH0KLQot
ICAgIFFTY3JpcHRFbmdpbmVQcml2YXRlKGNvbnN0IFFTY3JpcHRFbmdpbmUqKTsKLSAgICB+UVNj
cmlwdEVuZ2luZVByaXZhdGUoKTsKLQotICAgIGVudW0gU2V0RXhjZXB0aW9uRmxhZyB7Ci0gICAg
ICAgIElnbm9yZU51bGxFeGNlcHRpb24gPSAweDAxLAotICAgICAgICBOb3ROdWxsRXhjZXB0aW9u
ID0gMHgwMiwKLSAgICB9OwotCi0gICAgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0UHJpdmF0ZSog
Y2hlY2tTeW50YXgoY29uc3QgUVN0cmluZyYgcHJvZ3JhbSk7Ci0gICAgUVNjcmlwdFZhbHVlUHJp
dmF0ZSogZXZhbHVhdGUoY29uc3QgUVN0cmluZyYgcHJvZ3JhbSwgY29uc3QgUVN0cmluZyYgZmls
ZU5hbWUsIGludCBsaW5lTnVtYmVyKTsKLSAgICBRU2NyaXB0VmFsdWVQcml2YXRlKiBldmFsdWF0
ZShjb25zdCBRU2NyaXB0UHJvZ3JhbVByaXZhdGUqIHByb2dyYW0pOwotICAgIGlubGluZSBKU1Zh
bHVlUmVmIGV2YWx1YXRlKEpTU3RyaW5nUmVmIHByb2dyYW0sIEpTU3RyaW5nUmVmIGZpbGVOYW1l
LCBpbnQgbGluZU51bWJlcik7Ci0KLSAgICBpbmxpbmUgYm9vbCBoYXNVbmNhdWdodEV4Y2VwdGlv
bigpIGNvbnN0OwotICAgIFFTY3JpcHRWYWx1ZVByaXZhdGUqIHVuY2F1Z2h0RXhjZXB0aW9uKCkg
Y29uc3Q7Ci0gICAgaW5saW5lIHZvaWQgY2xlYXJFeGNlcHRpb25zKCk7Ci0gICAgaW5saW5lIHZv
aWQgc2V0RXhjZXB0aW9uKEpTVmFsdWVSZWYgZXhjZXB0aW9uLCBjb25zdCAvKiBTZXRFeGNlcHRp
b25GbGFncyAqLyB1bnNpZ25lZCBmbGFncyA9IElnbm9yZU51bGxFeGNlcHRpb24pOwotICAgIGlu
bGluZSBpbnQgdW5jYXVnaHRFeGNlcHRpb25MaW5lTnVtYmVyKCkgY29uc3Q7Ci0gICAgaW5saW5l
IFFTdHJpbmdMaXN0IHVuY2F1Z2h0RXhjZXB0aW9uQmFja3RyYWNlKCkgY29uc3Q7Ci0KLSAgICBp
bmxpbmUgdm9pZCBjb2xsZWN0R2FyYmFnZSgpOwotICAgIGlubGluZSB2b2lkIHJlcG9ydEFkZGl0
aW9uYWxNZW1vcnlDb3N0KGludCBjb3N0KTsKLQotICAgIGlubGluZSBKU1ZhbHVlUmVmIG1ha2VK
U1ZhbHVlKGRvdWJsZSBudW1iZXIpIGNvbnN0OwotICAgIGlubGluZSBKU1ZhbHVlUmVmIG1ha2VK
U1ZhbHVlKGludCBudW1iZXIpIGNvbnN0OwotICAgIGlubGluZSBKU1ZhbHVlUmVmIG1ha2VKU1Zh
bHVlKHVpbnQgbnVtYmVyKSBjb25zdDsKLSAgICBpbmxpbmUgSlNWYWx1ZVJlZiBtYWtlSlNWYWx1
ZShjb25zdCBRU3RyaW5nJiBzdHJpbmcpIGNvbnN0OwotICAgIGlubGluZSBKU1ZhbHVlUmVmIG1h
a2VKU1ZhbHVlKGJvb2wgbnVtYmVyKSBjb25zdDsKLSAgICBpbmxpbmUgSlNWYWx1ZVJlZiBtYWtl
SlNWYWx1ZShRU2NyaXB0VmFsdWU6OlNwZWNpYWxWYWx1ZSB2YWx1ZSkgY29uc3Q7Ci0KLSAgICBR
U2NyaXB0VmFsdWVQcml2YXRlKiBuZXdGdW5jdGlvbihRU2NyaXB0RW5naW5lOjpGdW5jdGlvblNp
Z25hdHVyZSBmdW4sIFFTY3JpcHRWYWx1ZVByaXZhdGUqIHByb3RvdHlwZSwgaW50IGxlbmd0aCk7
Ci0gICAgUVNjcmlwdFZhbHVlUHJpdmF0ZSogbmV3RnVuY3Rpb24oUVNjcmlwdEVuZ2luZTo6RnVu
Y3Rpb25XaXRoQXJnU2lnbmF0dXJlIGZ1biwgdm9pZCogYXJnKTsKLSAgICBRU2NyaXB0VmFsdWVQ
cml2YXRlKiBuZXdGdW5jdGlvbihKU09iamVjdFJlZiBmdW5PYmplY3QsIFFTY3JpcHRWYWx1ZVBy
aXZhdGUqIHByb3RvdHlwZSk7Ci0KLSAgICBRU2NyaXB0VmFsdWVQcml2YXRlKiBuZXdPYmplY3Qo
KSBjb25zdDsKLSAgICBRU2NyaXB0VmFsdWVQcml2YXRlKiBuZXdBcnJheSh1aW50IGxlbmd0aCk7
Ci0gICAgUVNjcmlwdFZhbHVlUHJpdmF0ZSogbmV3RGF0ZShxc3JlYWwgdmFsdWUpOwotICAgIFFT
Y3JpcHRWYWx1ZVByaXZhdGUqIGdsb2JhbE9iamVjdCgpIGNvbnN0OwotCi0gICAgaW5saW5lIFFT
Y3JpcHRTdHJpbmdQcml2YXRlKiB0b1N0cmluZ0hhbmRsZShjb25zdCBRU3RyaW5nJiBzdHIpIGNv
bnN0OwotCi0gICAgaW5saW5lIG9wZXJhdG9yIEpTR2xvYmFsQ29udGV4dFJlZigpIGNvbnN0Owot
Ci0gICAgaW5saW5lIGJvb2wgaXNEYXRlKEpTVmFsdWVSZWYgdmFsdWUpIGNvbnN0OwotICAgIGlu
bGluZSBib29sIGlzQXJyYXkoSlNWYWx1ZVJlZiB2YWx1ZSkgY29uc3Q7Ci0gICAgaW5saW5lIGJv
b2wgaXNFcnJvcihKU1ZhbHVlUmVmIHZhbHVlKSBjb25zdDsKLSAgICBpbmxpbmUgYm9vbCBvYmpl
Y3RIYXNPd25Qcm9wZXJ0eShKU09iamVjdFJlZiBvYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5
KSBjb25zdDsKLSAgICBpbmxpbmUgUVZlY3RvcjxKU1N0cmluZ1JlZj4gb2JqZWN0R2V0T3duUHJv
cGVydHlOYW1lcyhKU09iamVjdFJlZiBvYmplY3QpIGNvbnN0OwotCi1wcml2YXRlOgotICAgIFFT
Y3JpcHRFbmdpbmUqIHFfcHRyOwotICAgIEpTR2xvYmFsQ29udGV4dFJlZiBtX2NvbnRleHQ7Ci0g
ICAgSlNWYWx1ZVJlZiBtX2V4Y2VwdGlvbjsKLQotICAgIFFTY3JpcHRPcmlnaW5hbEdsb2JhbE9i
amVjdCBtX29yaWdpbmFsR2xvYmFsT2JqZWN0OwotCi0gICAgSlNDbGFzc1JlZiBtX25hdGl2ZUZ1
bmN0aW9uQ2xhc3M7Ci0gICAgSlNDbGFzc1JlZiBtX25hdGl2ZUZ1bmN0aW9uV2l0aEFyZ0NsYXNz
OwotfTsKLQotCi0vKiEKLSAgRXZhbHVhdGVzIGdpdmVuIEphdmFTY3JpcHQgcHJvZ3JhbSBhbmQg
cmV0dXJucyByZXN1bHQgb2YgdGhlIGV2YWx1YXRpb24uCi0gIFxhdHRlbnRpb24gdGhpcyBmdW5j
dGlvbiBkb2Vzbid0IHRha2Ugb3duZXJzaGlwIG9mIHRoZSBwYXJhbWV0ZXJzLgotICBcaW50ZXJu
YWwKLSovCi1KU1ZhbHVlUmVmIFFTY3JpcHRFbmdpbmVQcml2YXRlOjpldmFsdWF0ZShKU1N0cmlu
Z1JlZiBwcm9ncmFtLCBKU1N0cmluZ1JlZiBmaWxlTmFtZSwgaW50IGxpbmVOdW1iZXIpCi17Ci0g
ICAgSlNWYWx1ZVJlZiBleGNlcHRpb247Ci0gICAgSlNWYWx1ZVJlZiByZXN1bHQgPSBKU0V2YWx1
YXRlU2NyaXB0KG1fY29udGV4dCwgcHJvZ3JhbSwgLyogR2xvYmFsIE9iamVjdCAqLyAwLCBmaWxl
TmFtZSwgbGluZU51bWJlciwgJmV4Y2VwdGlvbik7Ci0gICAgaWYgKCFyZXN1bHQpIHsKLSAgICAg
ICAgc2V0RXhjZXB0aW9uKGV4Y2VwdGlvbiwgTm90TnVsbEV4Y2VwdGlvbik7Ci0gICAgICAgIHJl
dHVybiBleGNlcHRpb247IC8vIHJldHVybnMgYW4gZXhjZXB0aW9uCi0gICAgfQotICAgIGNsZWFy
RXhjZXB0aW9ucygpOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLWJvb2wgUVNjcmlwdEVuZ2lu
ZVByaXZhdGU6Omhhc1VuY2F1Z2h0RXhjZXB0aW9uKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9l
eGNlcHRpb247Ci19Ci0KLXZvaWQgUVNjcmlwdEVuZ2luZVByaXZhdGU6OmNsZWFyRXhjZXB0aW9u
cygpCi17Ci0gICAgaWYgKG1fZXhjZXB0aW9uKQotICAgICAgICBKU1ZhbHVlVW5wcm90ZWN0KG1f
Y29udGV4dCwgbV9leGNlcHRpb24pOwotICAgIG1fZXhjZXB0aW9uID0gMDsKLX0KLQotdm9pZCBR
U2NyaXB0RW5naW5lUHJpdmF0ZTo6c2V0RXhjZXB0aW9uKEpTVmFsdWVSZWYgZXhjZXB0aW9uLCBj
b25zdCAvKiBTZXRFeGNlcHRpb25GbGFncyAqLyB1bnNpZ25lZCBmbGFncykKLXsKLSAgICBpZiAo
ISgoZmxhZ3MgJiBOb3ROdWxsRXhjZXB0aW9uKSB8fCBleGNlcHRpb24pKQotICAgICAgICByZXR1
cm47Ci0gICAgUV9BU1NFUlQoZXhjZXB0aW9uKTsKLQotICAgIGlmIChtX2V4Y2VwdGlvbikKLSAg
ICAgICAgSlNWYWx1ZVVucHJvdGVjdChtX2NvbnRleHQsIG1fZXhjZXB0aW9uKTsKLSAgICBKU1Zh
bHVlUHJvdGVjdChtX2NvbnRleHQsIGV4Y2VwdGlvbik7Ci0gICAgbV9leGNlcHRpb24gPSBleGNl
cHRpb247Ci19Ci0KLWludCBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6dW5jYXVnaHRFeGNlcHRpb25M
aW5lTnVtYmVyKCkgY29uc3QKLXsKLSAgICBpZiAoIWhhc1VuY2F1Z2h0RXhjZXB0aW9uKCkgfHwg
IUpTVmFsdWVJc09iamVjdChtX2NvbnRleHQsIG1fZXhjZXB0aW9uKSkKLSAgICAgICAgcmV0dXJu
IC0xOwotCi0gICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAgIEpTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBsaW5lTnVtYmVyUHJvcGVydHlOYW1lKEFkb3B0LCBRU2NyaXB0Q29udmVydGVy
Ojp0b1N0cmluZygibGluZSIpKTsKLSAgICBKU1ZhbHVlUmVmIGxpbmVOdW1iZXIgPSBKU09iamVj
dEdldFByb3BlcnR5KG1fY29udGV4dCwgY29uc3RfY2FzdDxKU09iamVjdFJlZj4obV9leGNlcHRp
b24pLCBsaW5lTnVtYmVyUHJvcGVydHlOYW1lLmdldCgpLCAmZXhjZXB0aW9uKTsKLSAgICBpbnQg
cmVzdWx0ID0gSlNWYWx1ZVRvTnVtYmVyKG1fY29udGV4dCwgbGluZU51bWJlciwgJmV4Y2VwdGlv
bik7Ci0gICAgcmV0dXJuIGV4Y2VwdGlvbiA/IC0xIDogcmVzdWx0OwotfQotCi1RU3RyaW5nTGlz
dCBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6dW5jYXVnaHRFeGNlcHRpb25CYWNrdHJhY2UoKSBjb25z
dAotewotICAgIGlmICghaGFzVW5jYXVnaHRFeGNlcHRpb24oKSB8fCAhSlNWYWx1ZUlzT2JqZWN0
KG1fY29udGV4dCwgbV9leGNlcHRpb24pKQotICAgICAgICByZXR1cm4gUVN0cmluZ0xpc3QoKTsK
LQotICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0gMDsKLSAgICBKU1JldGFpblB0cjxKU1N0cmlu
Z1JlZj4gZmlsZU5hbWVQcm9wZXJ0eU5hbWUoQWRvcHQsIFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3Ry
aW5nKCJzb3VyY2VVUkwiKSk7Ci0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGxpbmVOdW1i
ZXJQcm9wZXJ0eU5hbWUoQWRvcHQsIFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKCJsaW5lIikp
OwotICAgIEpTVmFsdWVSZWYganNGaWxlTmFtZSA9IEpTT2JqZWN0R2V0UHJvcGVydHkobV9jb250
ZXh0LCBjb25zdF9jYXN0PEpTT2JqZWN0UmVmPihtX2V4Y2VwdGlvbiksIGZpbGVOYW1lUHJvcGVy
dHlOYW1lLmdldCgpLCAmZXhjZXB0aW9uKTsKLSAgICBKU1ZhbHVlUmVmIGpzTGluZU51bWJlciA9
IEpTT2JqZWN0R2V0UHJvcGVydHkobV9jb250ZXh0LCBjb25zdF9jYXN0PEpTT2JqZWN0UmVmPiht
X2V4Y2VwdGlvbiksIGxpbmVOdW1iZXJQcm9wZXJ0eU5hbWUuZ2V0KCksICZleGNlcHRpb24pOwot
ICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBmaWxlTmFtZShBZG9wdCwgSlNWYWx1ZVRvU3Ry
aW5nQ29weShtX2NvbnRleHQsIGpzRmlsZU5hbWUsICZleGNlcHRpb24pKTsKLSAgICBpbnQgbGlu
ZU51bWJlciA9IEpTVmFsdWVUb051bWJlcihtX2NvbnRleHQsIGpzTGluZU51bWJlciwgJmV4Y2Vw
dGlvbik7Ci0gICAgcmV0dXJuIFFTdHJpbmdMaXN0KFFTdHJpbmc6OmZyb21MYXRpbjEoIjxhbm9u
eW1vdXM+KClAJTA6JTEiKQotICAgICAgICAgICAgLmFyZyhRU2NyaXB0Q29udmVydGVyOjp0b1N0
cmluZyhmaWxlTmFtZS5nZXQoKSkpCi0gICAgICAgICAgICAuYXJnKFFTY3JpcHRDb252ZXJ0ZXI6
OnRvU3RyaW5nKGV4Y2VwdGlvbiA/IC0xIDogbGluZU51bWJlcikpKTsKLX0KLQotdm9pZCBRU2Ny
aXB0RW5naW5lUHJpdmF0ZTo6Y29sbGVjdEdhcmJhZ2UoKQotewotICAgIEpTR2FyYmFnZUNvbGxl
Y3QobV9jb250ZXh0KTsKLX0KLQotdm9pZCBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6cmVwb3J0QWRk
aXRpb25hbE1lbW9yeUNvc3QoaW50IGNvc3QpCi17Ci0gICAgaWYgKGNvc3QgPiAwKQotICAgICAg
ICBKU1JlcG9ydEV4dHJhTWVtb3J5Q29zdChtX2NvbnRleHQsIGNvc3QpOwotfQotCi1KU1ZhbHVl
UmVmIFFTY3JpcHRFbmdpbmVQcml2YXRlOjptYWtlSlNWYWx1ZShkb3VibGUgbnVtYmVyKSBjb25z
dAotewotICAgIHJldHVybiBKU1ZhbHVlTWFrZU51bWJlcihtX2NvbnRleHQsIG51bWJlcik7Ci19
Ci0KLUpTVmFsdWVSZWYgUVNjcmlwdEVuZ2luZVByaXZhdGU6Om1ha2VKU1ZhbHVlKGludCBudW1i
ZXIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIEpTVmFsdWVNYWtlTnVtYmVyKG1fY29udGV4dCwgbnVt
YmVyKTsKLX0KLQotSlNWYWx1ZVJlZiBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6bWFrZUpTVmFsdWUo
dWludCBudW1iZXIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIEpTVmFsdWVNYWtlTnVtYmVyKG1fY29u
dGV4dCwgbnVtYmVyKTsKLX0KLQotSlNWYWx1ZVJlZiBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6bWFr
ZUpTVmFsdWUoY29uc3QgUVN0cmluZyYgc3RyaW5nKSBjb25zdAotewotICAgIEpTU3RyaW5nUmVm
IHRtcCA9IFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKHN0cmluZyk7Ci0gICAgSlNWYWx1ZVJl
ZiByZXN1bHQgPSBKU1ZhbHVlTWFrZVN0cmluZyhtX2NvbnRleHQsIHRtcCk7Ci0gICAgSlNTdHJp
bmdSZWxlYXNlKHRtcCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotSlNWYWx1ZVJlZiBRU2Ny
aXB0RW5naW5lUHJpdmF0ZTo6bWFrZUpTVmFsdWUoYm9vbCB2YWx1ZSkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gSlNWYWx1ZU1ha2VCb29sZWFuKG1fY29udGV4dCwgdmFsdWUpOwotfQotCi1KU1ZhbHVl
UmVmIFFTY3JpcHRFbmdpbmVQcml2YXRlOjptYWtlSlNWYWx1ZShRU2NyaXB0VmFsdWU6OlNwZWNp
YWxWYWx1ZSB2YWx1ZSkgY29uc3QKLXsKLSAgICBpZiAodmFsdWUgPT0gUVNjcmlwdFZhbHVlOjpO
dWxsVmFsdWUpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZU51bGwobV9jb250ZXh0KTsKLSAg
ICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQobV9jb250ZXh0KTsKLX0KLQotUVNjcmlwdFN0
cmluZ1ByaXZhdGUqIFFTY3JpcHRFbmdpbmVQcml2YXRlOjp0b1N0cmluZ0hhbmRsZShjb25zdCBR
U3RyaW5nJiBzdHIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG5ldyBRU2NyaXB0U3RyaW5nUHJpdmF0
ZShzdHIpOwotfQotCi1RU2NyaXB0RW5naW5lUHJpdmF0ZTo6b3BlcmF0b3IgSlNHbG9iYWxDb250
ZXh0UmVmKCkgY29uc3QKLXsKLSAgICBRX0FTU0VSVCh0aGlzKTsKLSAgICByZXR1cm4gbV9jb250
ZXh0OwotfQotCi1ib29sIFFTY3JpcHRFbmdpbmVQcml2YXRlOjppc0RhdGUoSlNWYWx1ZVJlZiB2
YWx1ZSkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9vcmlnaW5hbEdsb2JhbE9iamVjdC5pc0RhdGUo
dmFsdWUpOwotfQotCi1ib29sIFFTY3JpcHRFbmdpbmVQcml2YXRlOjppc0FycmF5KEpTVmFsdWVS
ZWYgdmFsdWUpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fb3JpZ2luYWxHbG9iYWxPYmplY3QuaXNB
cnJheSh2YWx1ZSk7Ci19Ci0KLWJvb2wgUVNjcmlwdEVuZ2luZVByaXZhdGU6OmlzRXJyb3IoSlNW
YWx1ZVJlZiB2YWx1ZSkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9vcmlnaW5hbEdsb2JhbE9iamVj
dC5pc0Vycm9yKHZhbHVlKTsKLX0KLQotaW5saW5lIGJvb2wgUVNjcmlwdEVuZ2luZVByaXZhdGU6
Om9iamVjdEhhc093blByb3BlcnR5KEpTT2JqZWN0UmVmIG9iamVjdCwgSlNTdHJpbmdSZWYgcHJv
cGVydHkpIGNvbnN0Ci17Ci0gICAgLy8gRklYTUUgV2UgbmVlZCBhIEpTQyBDIEFQSSBmdW5jdGlv
biBmb3IgdGhpcy4KLSAgICByZXR1cm4gbV9vcmlnaW5hbEdsb2JhbE9iamVjdC5vYmplY3RIYXNP
d25Qcm9wZXJ0eShvYmplY3QsIHByb3BlcnR5KTsKLX0KLQotaW5saW5lIFFWZWN0b3I8SlNTdHJp
bmdSZWY+IFFTY3JpcHRFbmdpbmVQcml2YXRlOjpvYmplY3RHZXRPd25Qcm9wZXJ0eU5hbWVzKEpT
T2JqZWN0UmVmIG9iamVjdCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRSBXZSBjYW4ndCB1c2UgQyBB
UEkgZnVuY3Rpb24gSlNPYmplY3RHZXRQcm9wZXJ0eU5hbWVzIGFzIGl0IHJldHVybnMgb25seSBl
bnVtZXJhYmxlIHByb3BlcnRpZXMuCi0gICAgcmV0dXJuIG1fb3JpZ2luYWxHbG9iYWxPYmplY3Qu
b2JqZWN0R2V0T3duUHJvcGVydHlOYW1lcyhvYmplY3QpOwotfQotCi0jZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGZ1bmN0aW9uLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGZ1bmN0aW9uLmNwcApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOWZlMzdlNi4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcXQvYXBpL3FzY3JpcHRmdW5jdGlvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwx
NDUgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24g
YW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
LSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotLy8gQ29udGFpbnMgdGhlIG5lY2Vzc2Fy
eSBoZWxwZXIgc3RydWN0dXJlcyB0byBtYWtlIHBvc3NpYmxlIGV4cG9zZQotLy8gQy9DKysgZnVu
Y3Rpb25zIHRvIEphdmFTY3JpcHQgZW52aXJvbm1lbnQuCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LQotI2luY2x1ZGUgInFzY3JpcHRmdW5jdGlvbl9wLmgiCi0KLXN0YXRpYyB2b2lkIHF0X05hdGl2
ZUZ1bmN0aW9uX2ZpbmFsaXplKEpTT2JqZWN0UmVmIG9iamVjdCkKLXsKLSAgICB2b2lkKiBwcml2
ID0gSlNPYmplY3RHZXRQcml2YXRlKG9iamVjdCk7Ci0gICAgZGVsZXRlIHJlaW50ZXJwcmV0X2Nh
c3Q8UU5hdGl2ZUZ1bmN0aW9uRGF0YSo+KHByaXYpOwotfQotCi1zdGF0aWMgSlNWYWx1ZVJlZiBx
dF9OYXRpdmVGdW5jdGlvbl9jYWxsQXNGdW5jdGlvbihKU0NvbnRleHRSZWYgY29udGV4dCwgSlNP
YmplY3RSZWYgb2JqZWN0LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRD
b3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9u
KQotewotICAgIFFOYXRpdmVGdW5jdGlvbkRhdGEqIGRhdGEgPSByZWludGVycHJldF9jYXN0PFFO
YXRpdmVGdW5jdGlvbkRhdGEqPihKU09iamVjdEdldFByaXZhdGUob2JqZWN0KSk7Ci0KLSAgICAv
LyBUT0RPOiBidWlsZCBhIFFTY3JpcHRDb250ZXh0IGFuZCB1c2UgaXQgaW4gdGhlIG5hdGl2ZSBj
YWxsLgotICAgIFFTY3JpcHRDb250ZXh0KiBzY3JpcHRDb250ZXh0ID0gMDsKLSAgICBRX1VOVVNF
RChjb250ZXh0KTsKLSAgICBRX1VOVVNFRCh0aGlzT2JqZWN0KTsKLSAgICBRX1VOVVNFRChhcmd1
bWVudENvdW50KTsKLSAgICBRX1VOVVNFRChhcmd1bWVudHMpOwotICAgIFFfVU5VU0VEKGV4Y2Vw
dGlvbik7Ci0KLSAgICBRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lID0gZGF0YS0+ZW5naW5l
OwotICAgIFFTY3JpcHRWYWx1ZVByaXZhdGUqIHJlc3VsdCA9IFFTY3JpcHRWYWx1ZVByaXZhdGU6
OmdldChkYXRhLT5mdW4oc2NyaXB0Q29udGV4dCwgUVNjcmlwdEVuZ2luZVByaXZhdGU6OmdldChl
bmdpbmUpKSk7Ci0gICAgaWYgKCFyZXN1bHQtPmlzVmFsaWQoKSkgewotICAgICAgICBxV2Fybmlu
ZygiSW52YWxpZCB2YWx1ZSByZXR1cm5lZCBmcm9tIG5hdGl2ZSBmdW5jdGlvbiwgcmV0dXJuaW5n
IHVuZGVmaW5lZCB2YWx1ZSBpbnN0ZWFkLiIpOwotICAgICAgICByZXR1cm4gZW5naW5lLT5tYWtl
SlNWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKTsKLSAgICB9Ci0KLSAgICAvLyBN
YWtlIHN1cmUgdGhhdCB0aGUgcmVzdWx0IHdpbGwgYmUgYXNzaWduZWQgdG8gdGhlIGNvcnJlY3Qg
ZW5naW5lLgotICAgIGlmICghcmVzdWx0LT5lbmdpbmUoKSkgewotICAgICAgICBRX0FTU0VSVChy
ZXN1bHQtPmlzVmFsaWQoKSk7Ci0gICAgICAgIHJlc3VsdC0+YXNzaWduRW5naW5lKGVuZ2luZSk7
Ci0gICAgfSBlbHNlIGlmIChyZXN1bHQtPmVuZ2luZSgpICE9IGVuZ2luZSkgewotICAgICAgICBx
V2FybmluZygiVmFsdWUgZnJvbSBkaWZmZXJlbnQgZW5naW5lIHJldHVybmVkIGZyb20gbmF0aXZl
IGZ1bmN0aW9uLCByZXR1cm5pbmcgdW5kZWZpbmVkIHZhbHVlIGluc3RlYWQuIik7Ci0gICAgICAg
IHJldHVybiBlbmdpbmUtPm1ha2VKU1ZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUp
OwotICAgIH0KLQotICAgIHJldHVybiAqcmVzdWx0OwotfQotCi1KU0NsYXNzRGVmaW5pdGlvbiBx
dF9OYXRpdmVGdW5jdGlvbkNsYXNzID0gewotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIHZlcnNpb24KLSAgICBrSlNDbGFzc0F0dHJpYnV0ZU5vQXV0b21hdGlj
UHJvdG90eXBlLCAvLyBhdHRyaWJ1dGVzCi0KLSAgICAiIiwgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gY2xhc3NOYW1lCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBhcmVu
dENsYXNzCi0KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3RhdGljVmFsdWVz
Ci0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0YXRpY0Z1bmN0aW9ucwotCi0g
ICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGluaXRpYWxpemUKLSAgICBx
dF9OYXRpdmVGdW5jdGlvbl9maW5hbGl6ZSwgICAgICAgLy8gZmluYWxpemUKLSAgICAwLCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFzUHJvcGVydHkKLSAgICAwLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gZ2V0UHJvcGVydHkKLSAgICAwLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gc2V0UHJvcGVydHkKLSAgICAwLCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gZGVsZXRlUHJvcGVydHkKLSAgICAwLCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gZ2V0UHJvcGVydHlOYW1lcwotICAgIHF0X05hdGl2ZUZ1bmN0
aW9uX2NhbGxBc0Z1bmN0aW9uLCAvLyBjYWxsQXNGdW5jdGlvbgotICAgIDAsICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBjYWxsQXNDb25zdHJ1Y3RvcgotICAgIDAsICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBoYXNJbnN0YW5jZQotICAgIDAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBjb252ZXJ0VG9UeXBlCi19OwotCi1zdGF0aWMgdm9pZCBx
dF9OYXRpdmVGdW5jdGlvbldpdGhBcmdfZmluYWxpemUoSlNPYmplY3RSZWYgb2JqZWN0KQotewot
ICAgIHZvaWQqIHByaXYgPSBKU09iamVjdEdldFByaXZhdGUob2JqZWN0KTsKLSAgICBkZWxldGUg
cmVpbnRlcnByZXRfY2FzdDxRTmF0aXZlRnVuY3Rpb25XaXRoQXJnRGF0YSo+KHByaXYpOwotfQot
Ci1zdGF0aWMgSlNWYWx1ZVJlZiBxdF9OYXRpdmVGdW5jdGlvbldpdGhBcmdfY2FsbEFzRnVuY3Rp
b24oSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIG9iamVjdCwgSlNPYmplY3RSZWYg
dGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1l
bnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKLXsKLSAgICBRTmF0aXZlRnVuY3Rpb25XaXRo
QXJnRGF0YSogZGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UU5hdGl2ZUZ1bmN0aW9uV2l0aEFyZ0Rh
dGEqPihKU09iamVjdEdldFByaXZhdGUob2JqZWN0KSk7Ci0KLSAgICAvLyBUT0RPOiBidWlsZCBh
IFFTY3JpcHRDb250ZXh0IGFuZCB1c2UgaXQgaW4gdGhlIG5hdGl2ZSBjYWxsLgotICAgIFFTY3Jp
cHRDb250ZXh0KiBzY3JpcHRDb250ZXh0ID0gMDsKLSAgICBRX1VOVVNFRChjb250ZXh0KTsKLSAg
ICBRX1VOVVNFRCh0aGlzT2JqZWN0KTsKLSAgICBRX1VOVVNFRChhcmd1bWVudENvdW50KTsKLSAg
ICBRX1VOVVNFRChhcmd1bWVudHMpOwotICAgIFFfVU5VU0VEKGV4Y2VwdGlvbik7Ci0KLSAgICBR
U2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lID0gZGF0YS0+ZW5naW5lOwotICAgIFFTY3JpcHRW
YWx1ZVByaXZhdGUqIHJlc3VsdCA9IFFTY3JpcHRWYWx1ZVByaXZhdGU6OmdldChkYXRhLT5mdW4o
c2NyaXB0Q29udGV4dCwgUVNjcmlwdEVuZ2luZVByaXZhdGU6OmdldChlbmdpbmUpLCBkYXRhLT5h
cmcpKTsKLSAgICBpZiAoIXJlc3VsdC0+aXNWYWxpZCgpKSB7Ci0gICAgICAgIHFXYXJuaW5nKCJJ
bnZhbGlkIHZhbHVlIHJldHVybmVkIGZyb20gbmF0aXZlIGZ1bmN0aW9uLCByZXR1cm5pbmcgdW5k
ZWZpbmVkIHZhbHVlIGluc3RlYWQuIik7Ci0gICAgICAgIHJldHVybiBlbmdpbmUtPm1ha2VKU1Zh
bHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpOwotICAgIH0KLQotICAgIC8vIE1ha2Ug
c3VyZSB0aGF0IHRoZSByZXN1bHQgd2lsbCBiZSBhc3NpZ25lZCB0byB0aGUgY29ycmVjdCBlbmdp
bmUuCi0gICAgaWYgKCFyZXN1bHQtPmVuZ2luZSgpKSB7Ci0gICAgICAgIFFfQVNTRVJUKHJlc3Vs
dC0+aXNWYWxpZCgpKTsKLSAgICAgICAgcmVzdWx0LT5hc3NpZ25FbmdpbmUoZW5naW5lKTsKLSAg
ICB9IGVsc2UgaWYgKHJlc3VsdC0+ZW5naW5lKCkgIT0gZW5naW5lKSB7Ci0gICAgICAgIHFXYXJu
aW5nKCJWYWx1ZSBmcm9tIGRpZmZlcmVudCBlbmdpbmUgcmV0dXJuZWQgZnJvbSBuYXRpdmUgZnVu
Y3Rpb24sIHJldHVybmluZyB1bmRlZmluZWQgdmFsdWUgaW5zdGVhZC4iKTsKLSAgICAgICAgcmV0
dXJuIGVuZ2luZS0+bWFrZUpTVmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSk7Ci0g
ICAgfQotCi0gICAgcmV0dXJuICpyZXN1bHQ7Ci19Ci0KLUpTQ2xhc3NEZWZpbml0aW9uIHF0X05h
dGl2ZUZ1bmN0aW9uV2l0aEFyZ0NsYXNzID0gewotICAgIDAsICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIHZlcnNpb24KLSAgICBrSlNDbGFzc0F0dHJpYnV0ZU5vQXV0b21h
dGljUHJvdG90eXBlLCAvLyBhdHRyaWJ1dGVzCi0KLSAgICAiIiwgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gY2xhc3NOYW1lCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBh
cmVudENsYXNzCi0KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3RhdGljVmFs
dWVzCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0YXRpY0Z1bmN0aW9ucwot
Ci0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpbml0aWFs
aXplCi0gICAgcXRfTmF0aXZlRnVuY3Rpb25XaXRoQXJnX2ZpbmFsaXplLCAgICAgICAvLyBmaW5h
bGl6ZQotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFz
UHJvcGVydHkKLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IGdldFByb3BlcnR5Ci0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBzZXRQcm9wZXJ0eQotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gZGVsZXRlUHJvcGVydHkKLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIGdldFByb3BlcnR5TmFtZXMKLSAgICBxdF9OYXRpdmVGdW5jdGlvbldp
dGhBcmdfY2FsbEFzRnVuY3Rpb24sIC8vIGNhbGxBc0Z1bmN0aW9uCi0gICAgMCwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjYWxsQXNDb25zdHJ1Y3RvcgotICAgIDAs
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaGFzSW5zdGFuY2UKLSAg
ICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnZlcnRUb1R5
cGUKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRm
dW5jdGlvbl9wLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRmdW5jdGlv
bl9wLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1YjYwNDYuLjAwMDAwMDAKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0ZnVuY3Rpb25fcC5oCisrKyAv
ZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9r
aWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0g
ICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAg
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2lmbmRlZiBx
c2NyaXB0ZnVuY3Rpb25fcF9oCi0jZGVmaW5lIHFzY3JpcHRmdW5jdGlvbl9wX2gKLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotCi0jaW5jbHVkZSAicXNjcmlwdGVuZ2luZS5oIgotI2luY2x1ZGUgInFz
Y3JpcHR2YWx1ZV9wLmgiCi0KLWV4dGVybiBKU0NsYXNzRGVmaW5pdGlvbiBxdF9OYXRpdmVGdW5j
dGlvbkNsYXNzOwotZXh0ZXJuIEpTQ2xhc3NEZWZpbml0aW9uIHF0X05hdGl2ZUZ1bmN0aW9uV2l0
aEFyZ0NsYXNzOwotCi1zdHJ1Y3QgUU5hdGl2ZUZ1bmN0aW9uRGF0YQotewotICAgIFFOYXRpdmVG
dW5jdGlvbkRhdGEoUVNjcmlwdEVuZ2luZVByaXZhdGUqIGVuZ2luZSwgUVNjcmlwdEVuZ2luZTo6
RnVuY3Rpb25TaWduYXR1cmUgZnVuKQotICAgICAgICA6IGVuZ2luZShlbmdpbmUpCi0gICAgICAg
ICwgZnVuKGZ1bikKLSAgICB7Ci0gICAgfQotCi0gICAgUVNjcmlwdEVuZ2luZVByaXZhdGUqIGVu
Z2luZTsKLSAgICBRU2NyaXB0RW5naW5lOjpGdW5jdGlvblNpZ25hdHVyZSBmdW47Ci19OwotCi1z
dHJ1Y3QgUU5hdGl2ZUZ1bmN0aW9uV2l0aEFyZ0RhdGEKLXsKLSAgICBRTmF0aXZlRnVuY3Rpb25X
aXRoQXJnRGF0YShRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lLCBRU2NyaXB0RW5naW5lOjpG
dW5jdGlvbldpdGhBcmdTaWduYXR1cmUgZnVuLCB2b2lkKiBhcmcpCi0gICAgICAgIDogZW5naW5l
KGVuZ2luZSkKLSAgICAgICAgLCBmdW4oZnVuKQotICAgICAgICAsIGFyZyhhcmcpCi0gICAgewot
ICAgIH0KLQotICAgIFFTY3JpcHRFbmdpbmVQcml2YXRlKiBlbmdpbmU7Ci0gICAgUVNjcmlwdEVu
Z2luZTo6RnVuY3Rpb25XaXRoQXJnU2lnbmF0dXJlIGZ1bjsKLSAgICB2b2lkKiBhcmc7Ci19Owot
Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlw
dG9yaWdpbmFsZ2xvYmFsb2JqZWN0X3AuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkv
cXNjcmlwdG9yaWdpbmFsZ2xvYmFsb2JqZWN0X3AuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMmJkOTQ1Zi4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBp
L3FzY3JpcHRvcmlnaW5hbGdsb2JhbG9iamVjdF9wLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyMDkg
KzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5k
L29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAg
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2lmbmRlZiBxc2NyaXB0b3JpZ2luYWxnbG9i
YWxvYmplY3RfcF9oCi0jZGVmaW5lIHFzY3JpcHRvcmlnaW5hbGdsb2JhbG9iamVjdF9wX2gKLQot
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHQuaD4KLSNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9KU1JldGFpblB0ci5oPgotI2luY2x1ZGUgPFF0Q29yZS9xdmVjdG9yLmg+Ci0KLS8q
IQotICAgIFxpbnRlcm5hbAotICAgIFRoaXMgY2xhc3MgaXMgYSB3b3JrYXJvdW5kIGZvciBtaXNz
aW5nIEpTQyBDIEFQSSBmdW5jdGlvbmFsaXR5LiBUaGlzIGNsYXNzIGtlZXBzIGFsbCBpbXBvcnRh
bnQKLSAgICBwcm9wZXJ0aWVzIG9mIGFuIG9yaWdpbmFsIChkZWZhdWx0KSBnbG9iYWwgb2JqZWN0
LCBzbyB3ZSBjYW4gdXNlIGl0IGV2ZW4gaWYgdGhlIGdsb2JhbCBvYmplY3Qgd2FzCi0gICAgY2hh
bmdlZC4KLQotICAgIEZJWE1FIHRoaXMgY2xhc3MgaXMgYSBjb250YWluZXIgZm9yIHdvcmthcm91
bmRzIDotKSBpdCBzaG91bGQgYmUgcmVwbGFjZWQgYnkgcHJvcGVyIEpTQyBDIEFQSSBjYWxscy4K
LQotICAgIFRoZSBjbGFzcyBoYXZlIHRvIGJlIGNyZWF0ZWQgb24gdGhlIFFTY3JpcHRFbmdpbmVQ
cml2YXRlIGNyZWF0aW9uIHRpbWUgKGJlZm9yZSBhbnkgY2hhbmdlIGdvdCBhcHBsaWVkIHRvCi0g
ICAgZ2xvYmFsIG9iamVjdCkuCi0qLwotY2xhc3MgUVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0
IHsKLXB1YmxpYzoKLSAgICBpbmxpbmUgUVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0KEpTR2xv
YmFsQ29udGV4dFJlZiBjb250ZXh0KTsKLSAgICBpbmxpbmUgflFTY3JpcHRPcmlnaW5hbEdsb2Jh
bE9iamVjdCgpOwotCi0gICAgaW5saW5lIGJvb2wgb2JqZWN0SGFzT3duUHJvcGVydHkoSlNPYmpl
Y3RSZWYgb2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eSkgY29uc3Q7Ci0gICAgaW5saW5lIFFW
ZWN0b3I8SlNTdHJpbmdSZWY+IG9iamVjdEdldE93blByb3BlcnR5TmFtZXMoSlNPYmplY3RSZWYg
b2JqZWN0KSBjb25zdDsKLQotICAgIGlubGluZSBib29sIGlzRGF0ZShKU1ZhbHVlUmVmIHZhbHVl
KSBjb25zdDsKLSAgICBpbmxpbmUgYm9vbCBpc0FycmF5KEpTVmFsdWVSZWYgdmFsdWUpIGNvbnN0
OwotICAgIGlubGluZSBib29sIGlzRXJyb3IoSlNWYWx1ZVJlZiB2YWx1ZSkgY29uc3Q7Ci0KLSAg
ICBpbmxpbmUgSlNWYWx1ZVJlZiBmdW5jdGlvblByb3RvdHlwZSgpIGNvbnN0OwotcHJpdmF0ZToK
LSAgICBpbmxpbmUgYm9vbCBpc1R5cGUoSlNWYWx1ZVJlZiB2YWx1ZSwgSlNPYmplY3RSZWYgY29u
c3RydWN0b3IsIEpTVmFsdWVSZWYgcHJvdG90eXBlKSBjb25zdDsKLSAgICBpbmxpbmUgdm9pZCBp
bml0aWFsaXplTWVtYmVyKEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCwgSlNTdHJpbmdSZWYgcHJv
dG90eXBlTmFtZSwgY29uc3QgY2hhciogdHlwZSwgSlNPYmplY3RSZWYmIGNvbnN0cnVjdG9yLCBK
U1ZhbHVlUmVmJiBwcm90b3R5cGUpOwotCi0gICAgLy8gQ29weSBvZiB0aGUgZ2xvYmFsIGNvbnRl
eHQgcmVmZXJlbmNlICh0aGUgc2FtZSBhcyBpbiBRU2NyaXB0RW5naW5lUHJpdmF0ZSkuCi0gICAg
SlNHbG9iYWxDb250ZXh0UmVmIG1fY29udGV4dDsKLQotICAgIC8vIENvcHkgb2YgY29uc3RydWN0
b3JzIGFuZCBwcm90b3R5cGVzIHVzZWQgaW4gaXNUeXBlIGZ1bmN0aW9ucy4KLSAgICBKU09iamVj
dFJlZiBtX2FycmF5Q29uc3RydWN0b3I7Ci0gICAgSlNWYWx1ZVJlZiBtX2FycmF5UHJvdG90eXBl
OwotICAgIEpTT2JqZWN0UmVmIG1fZXJyb3JDb25zdHJ1Y3RvcjsKLSAgICBKU1ZhbHVlUmVmIG1f
ZXJyb3JQcm90b3R5cGU7Ci0gICAgSlNPYmplY3RSZWYgbV9mdW5jdGlvbkNvbnN0cnVjdG9yOwot
ICAgIEpTVmFsdWVSZWYgbV9mdW5jdGlvblByb3RvdHlwZTsKLSAgICBKU09iamVjdFJlZiBtX2Rh
dGVDb25zdHJ1Y3RvcjsKLSAgICBKU1ZhbHVlUmVmIG1fZGF0ZVByb3RvdHlwZTsKLQotICAgIC8v
IFJlZmVyZW5jZSB0byBzdGFuZGFyZCBKUyBmdW5jdGlvbnMgdGhhdCBhcmUgbm90IGV4cG9zZWQg
YnkgSlNDIEMgQVBJLgotICAgIEpTT2JqZWN0UmVmIG1faGFzT3duUHJvcGVydHlGdW5jdGlvbjsK
LSAgICBKU09iamVjdFJlZiBtX2dldE93blByb3BlcnR5TmFtZXNGdW5jdGlvbjsKLX07Ci0KLVFT
Y3JpcHRPcmlnaW5hbEdsb2JhbE9iamVjdDo6UVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0KEpT
R2xvYmFsQ29udGV4dFJlZiBjb250ZXh0KQotICAgIDogbV9jb250ZXh0KEpTR2xvYmFsQ29udGV4
dFJldGFpbihjb250ZXh0KSkKLXsKLSAgICBKU09iamVjdFJlZiBnbG9iYWxPYmplY3QgPSBKU0Nv
bnRleHRHZXRHbG9iYWxPYmplY3QobV9jb250ZXh0KTsKLSAgICBKU1ZhbHVlUmVmIGV4Y2VwdGlv
biA9IDA7Ci0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHByb3BlcnR5TmFtZTsKLQotICAg
IHByb3BlcnR5TmFtZS5hZG9wdChKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygicHJvdG90
eXBlIikpOwotICAgIGluaXRpYWxpemVNZW1iZXIoZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUu
Z2V0KCksICJBcnJheSIsIG1fYXJyYXlDb25zdHJ1Y3RvciwgbV9hcnJheVByb3RvdHlwZSk7Ci0g
ICAgaW5pdGlhbGl6ZU1lbWJlcihnbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZS5nZXQoKSwgIkVy
cm9yIiwgbV9lcnJvckNvbnN0cnVjdG9yLCBtX2Vycm9yUHJvdG90eXBlKTsKLSAgICBpbml0aWFs
aXplTWVtYmVyKGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lLmdldCgpLCAiRnVuY3Rpb24iLCBt
X2Z1bmN0aW9uQ29uc3RydWN0b3IsIG1fZnVuY3Rpb25Qcm90b3R5cGUpOwotICAgIGluaXRpYWxp
emVNZW1iZXIoZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUuZ2V0KCksICJEYXRlIiwgbV9kYXRl
Q29uc3RydWN0b3IsIG1fZGF0ZVByb3RvdHlwZSk7Ci0KLSAgICBwcm9wZXJ0eU5hbWUuYWRvcHQo
SlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImhhc093blByb3BlcnR5IikpOwotICAgIG1f
aGFzT3duUHJvcGVydHlGdW5jdGlvbiA9IGNvbnN0X2Nhc3Q8SlNPYmplY3RSZWY+KEpTT2JqZWN0
R2V0UHJvcGVydHkobV9jb250ZXh0LCBnbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZS5nZXQoKSwg
JmV4Y2VwdGlvbikpOwotICAgIEpTVmFsdWVQcm90ZWN0KG1fY29udGV4dCwgbV9oYXNPd25Qcm9w
ZXJ0eUZ1bmN0aW9uKTsKLSAgICBRX0FTU0VSVChKU1ZhbHVlSXNPYmplY3QobV9jb250ZXh0LCBt
X2hhc093blByb3BlcnR5RnVuY3Rpb24pKTsKLSAgICBRX0FTU0VSVChKU09iamVjdElzRnVuY3Rp
b24obV9jb250ZXh0LCBtX2hhc093blByb3BlcnR5RnVuY3Rpb24pKTsKLSAgICBRX0FTU0VSVCgh
ZXhjZXB0aW9uKTsKLQotICAgIHByb3BlcnR5TmFtZS5hZG9wdChKU1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygiT2JqZWN0IikpOwotICAgIEpTT2JqZWN0UmVmIG9iamVjdENvbnN0cnVjdG9y
Ci0gICAgICAgICAgICA9IGNvbnN0X2Nhc3Q8SlNPYmplY3RSZWY+KEpTT2JqZWN0R2V0UHJvcGVy
dHkobV9jb250ZXh0LCBnbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZS5nZXQoKSwgJmV4Y2VwdGlv
bikpOwotICAgIHByb3BlcnR5TmFtZS5hZG9wdChKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZygiZ2V0T3duUHJvcGVydHlOYW1lcyIpKTsKLSAgICBtX2dldE93blByb3BlcnR5TmFtZXNGdW5j
dGlvbgotICAgICAgICAgICAgPSBjb25zdF9jYXN0PEpTT2JqZWN0UmVmPihKU09iamVjdEdldFBy
b3BlcnR5KG1fY29udGV4dCwgb2JqZWN0Q29uc3RydWN0b3IsIHByb3BlcnR5TmFtZS5nZXQoKSwg
JmV4Y2VwdGlvbikpOwotICAgIEpTVmFsdWVQcm90ZWN0KG1fY29udGV4dCwgbV9nZXRPd25Qcm9w
ZXJ0eU5hbWVzRnVuY3Rpb24pOwotICAgIFFfQVNTRVJUKEpTVmFsdWVJc09iamVjdChtX2NvbnRl
eHQsIG1fZ2V0T3duUHJvcGVydHlOYW1lc0Z1bmN0aW9uKSk7Ci0gICAgUV9BU1NFUlQoSlNPYmpl
Y3RJc0Z1bmN0aW9uKG1fY29udGV4dCwgbV9nZXRPd25Qcm9wZXJ0eU5hbWVzRnVuY3Rpb24pKTsK
LSAgICBRX0FTU0VSVCghZXhjZXB0aW9uKTsKLX0KLQotaW5saW5lIHZvaWQgUVNjcmlwdE9yaWdp
bmFsR2xvYmFsT2JqZWN0Ojppbml0aWFsaXplTWVtYmVyKEpTT2JqZWN0UmVmIGdsb2JhbE9iamVj
dCwgSlNTdHJpbmdSZWYgcHJvdG90eXBlTmFtZSwgY29uc3QgY2hhciogdHlwZSwgSlNPYmplY3RS
ZWYmIGNvbnN0cnVjdG9yLCBKU1ZhbHVlUmVmJiBwcm90b3R5cGUpCi17Ci0gICAgSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IHR5cGVOYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0
cmluZyh0eXBlKSk7Ci0gICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotCi0gICAgLy8gU2F2
ZSByZWZlcmVuY2VzIHRvIHRoZSBUeXBlIGNvbnN0cnVjdG9yIGFuZCBwcm90b3R5cGUuCi0gICAg
SlNWYWx1ZVJlZiB0eXBlQ29uc3RydWN0b3IgPSBKU09iamVjdEdldFByb3BlcnR5KG1fY29udGV4
dCwgZ2xvYmFsT2JqZWN0LCB0eXBlTmFtZS5nZXQoKSwgJmV4Y2VwdGlvbik7Ci0gICAgUV9BU1NF
UlQoSlNWYWx1ZUlzT2JqZWN0KG1fY29udGV4dCwgdHlwZUNvbnN0cnVjdG9yKSk7Ci0gICAgY29u
c3RydWN0b3IgPSBKU1ZhbHVlVG9PYmplY3QobV9jb250ZXh0LCB0eXBlQ29uc3RydWN0b3IsICZl
eGNlcHRpb24pOwotICAgIEpTVmFsdWVQcm90ZWN0KG1fY29udGV4dCwgY29uc3RydWN0b3IpOwot
Ci0gICAgLy8gTm90ZSB0aGF0IHRoaXMgaXMgbm90IHRoZSBbW1Byb3RvdHlwZV1dIGludGVybmFs
IHByb3BlcnR5ICh3aGljaCB3ZSBjb3VsZAotICAgIC8vIGdldCB2aWEgSlNPYmplY3RHZXRQcm90
b3R5cGUpLCBidXQgdGhlIFR5cGUucHJvdG90eXBlLCB0aGF0IHdpbGwgYmUgc2V0Ci0gICAgLy8g
YXMgW1tQcm90b3R5cGVdXSBvZiBUeXBlIGluc3RhbmNlcy4KLSAgICBwcm90b3R5cGUgPSBKU09i
amVjdEdldFByb3BlcnR5KG1fY29udGV4dCwgY29uc3RydWN0b3IsIHByb3RvdHlwZU5hbWUsICZl
eGNlcHRpb24pOwotICAgIFFfQVNTRVJUKEpTVmFsdWVJc09iamVjdChtX2NvbnRleHQsIHByb3Rv
dHlwZSkpOwotICAgIEpTVmFsdWVQcm90ZWN0KG1fY29udGV4dCwgcHJvdG90eXBlKTsKLSAgICBR
X0FTU0VSVCghZXhjZXB0aW9uKTsKLX0KLQotUVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0Ojp+
UVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0KCkKLXsKLSAgICBKU1ZhbHVlVW5wcm90ZWN0KG1f
Y29udGV4dCwgbV9hcnJheUNvbnN0cnVjdG9yKTsKLSAgICBKU1ZhbHVlVW5wcm90ZWN0KG1fY29u
dGV4dCwgbV9hcnJheVByb3RvdHlwZSk7Ci0gICAgSlNWYWx1ZVVucHJvdGVjdChtX2NvbnRleHQs
IG1fZXJyb3JDb25zdHJ1Y3Rvcik7Ci0gICAgSlNWYWx1ZVVucHJvdGVjdChtX2NvbnRleHQsIG1f
ZXJyb3JQcm90b3R5cGUpOwotICAgIEpTVmFsdWVVbnByb3RlY3QobV9jb250ZXh0LCBtX2Z1bmN0
aW9uQ29uc3RydWN0b3IpOwotICAgIEpTVmFsdWVVbnByb3RlY3QobV9jb250ZXh0LCBtX2Z1bmN0
aW9uUHJvdG90eXBlKTsKLSAgICBKU1ZhbHVlVW5wcm90ZWN0KG1fY29udGV4dCwgbV9kYXRlQ29u
c3RydWN0b3IpOwotICAgIEpTVmFsdWVVbnByb3RlY3QobV9jb250ZXh0LCBtX2RhdGVQcm90b3R5
cGUpOwotICAgIEpTVmFsdWVVbnByb3RlY3QobV9jb250ZXh0LCBtX2hhc093blByb3BlcnR5RnVu
Y3Rpb24pOwotICAgIEpTVmFsdWVVbnByb3RlY3QobV9jb250ZXh0LCBtX2dldE93blByb3BlcnR5
TmFtZXNGdW5jdGlvbik7Ci0gICAgSlNHbG9iYWxDb250ZXh0UmVsZWFzZShtX2NvbnRleHQpOwot
fQotCi1pbmxpbmUgYm9vbCBRU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3Q6Om9iamVjdEhhc093
blByb3BlcnR5KEpTT2JqZWN0UmVmIG9iamVjdCwgSlNTdHJpbmdSZWYgcHJvcGVydHkpIGNvbnN0
Ci17Ci0gICAgLy8gRklYTUUgVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgcmVwbGFjZWQgYnkgSlND
IEMgQVBJLgotICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0gMDsKLSAgICBKU1ZhbHVlUmVmIHBy
b3BlcnR5TmFtZVtdID0geyBKU1ZhbHVlTWFrZVN0cmluZyhtX2NvbnRleHQsIHByb3BlcnR5KSB9
OwotICAgIEpTVmFsdWVSZWYgcmVzdWx0ID0gSlNPYmplY3RDYWxsQXNGdW5jdGlvbihtX2NvbnRl
eHQsIG1faGFzT3duUHJvcGVydHlGdW5jdGlvbiwgb2JqZWN0LCAxLCBwcm9wZXJ0eU5hbWUsICZl
eGNlcHRpb24pOwotICAgIHJldHVybiBleGNlcHRpb24gPyBmYWxzZSA6IEpTVmFsdWVUb0Jvb2xl
YW4obV9jb250ZXh0LCByZXN1bHQpOwotfQotCi0vKiEKLSAgICBcaW50ZXJuYWwKLSAgICBUaGlz
IG1ldGhvZCBnaXZlcyBvd25lcnNoaXAgb2YgYWxsIEpTU3RyaW5nUmVmcy4KLSovCi1pbmxpbmUg
UVZlY3RvcjxKU1N0cmluZ1JlZj4gUVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0OjpvYmplY3RH
ZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZWN0UmVmIG9iamVjdCkgY29uc3QKLXsKLSAgICBKU1Zh
bHVlUmVmIGV4Y2VwdGlvbiA9IDA7Ci0gICAgSlNPYmplY3RSZWYgcHJvcGVydHlOYW1lcwotICAg
ICAgICAgICAgPSBjb25zdF9jYXN0PEpTT2JqZWN0UmVmPihKU09iamVjdENhbGxBc0Z1bmN0aW9u
KG1fY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG1fZ2V0T3duUHJvcGVydHlOYW1lc0Z1bmN0aW9uLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdGhp
c09iamVjdCAqLyAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLyogYXJndW1lbnRDb3VudCAqLyAxLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9iamVjdCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZleGNlcHRpb24pKTsKLSAgICBRX0FTU0VSVChKU1ZhbHVlSXNPYmplY3QobV9jb250ZXh0LCBw
cm9wZXJ0eU5hbWVzKSk7Ci0gICAgUV9BU1NFUlQoIWV4Y2VwdGlvbik7Ci0gICAgSlNTdHJpbmdS
ZWYgbGVuZ3RoTmFtZSA9IFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKCJsZW5ndGgiKTsKLSAg
ICBpbnQgY291bnQgPSBKU1ZhbHVlVG9OdW1iZXIobV9jb250ZXh0LCBKU09iamVjdEdldFByb3Bl
cnR5KG1fY29udGV4dCwgcHJvcGVydHlOYW1lcywgbGVuZ3RoTmFtZSwgJmV4Y2VwdGlvbiksICZl
eGNlcHRpb24pOwotCi0gICAgUV9BU1NFUlQoIWV4Y2VwdGlvbik7Ci0gICAgUVZlY3RvcjxKU1N0
cmluZ1JlZj4gbmFtZXM7Ci0gICAgbmFtZXMucmVzZXJ2ZShjb3VudCk7Ci0gICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBjb3VudDsgKytpKSB7Ci0gICAgICAgIEpTVmFsdWVSZWYgdG1wID0gSlNPYmpl
Y3RHZXRQcm9wZXJ0eUF0SW5kZXgobV9jb250ZXh0LCBwcm9wZXJ0eU5hbWVzLCBpLCAmZXhjZXB0
aW9uKTsKLSAgICAgICAgbmFtZXMuYXBwZW5kKEpTVmFsdWVUb1N0cmluZ0NvcHkobV9jb250ZXh0
LCB0bXAsICZleGNlcHRpb24pKTsKLSAgICAgICAgUV9BU1NFUlQoIWV4Y2VwdGlvbik7Ci0gICAg
fQotICAgIHJldHVybiBuYW1lczsKLX0KLQotaW5saW5lIGJvb2wgUVNjcmlwdE9yaWdpbmFsR2xv
YmFsT2JqZWN0Ojppc0RhdGUoSlNWYWx1ZVJlZiB2YWx1ZSkgY29uc3QKLXsKLSAgICByZXR1cm4g
aXNUeXBlKHZhbHVlLCBtX2RhdGVDb25zdHJ1Y3RvciwgbV9kYXRlUHJvdG90eXBlKTsKLX0KLQot
aW5saW5lIGJvb2wgUVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0Ojppc0FycmF5KEpTVmFsdWVS
ZWYgdmFsdWUpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGlzVHlwZSh2YWx1ZSwgbV9hcnJheUNvbnN0
cnVjdG9yLCBtX2FycmF5UHJvdG90eXBlKTsKLX0KLQotaW5saW5lIGJvb2wgUVNjcmlwdE9yaWdp
bmFsR2xvYmFsT2JqZWN0Ojppc0Vycm9yKEpTVmFsdWVSZWYgdmFsdWUpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIGlzVHlwZSh2YWx1ZSwgbV9lcnJvckNvbnN0cnVjdG9yLCBtX2Vycm9yUHJvdG90eXBl
KTsKLX0KLQotaW5saW5lIEpTVmFsdWVSZWYgUVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0Ojpm
dW5jdGlvblByb3RvdHlwZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZnVuY3Rpb25Qcm90b3R5
cGU7Ci19Ci0KLWlubGluZSBib29sIFFTY3JpcHRPcmlnaW5hbEdsb2JhbE9iamVjdDo6aXNUeXBl
KEpTVmFsdWVSZWYgdmFsdWUsIEpTT2JqZWN0UmVmIGNvbnN0cnVjdG9yLCBKU1ZhbHVlUmVmIHBy
b3RvdHlwZSkgY29uc3QKLXsKLSAgICAvLyBKU0MgQVBJIGRvZXNuJ3QgZXhwb3J0IHRoZSBbW0Ns
YXNzXV0gaW5mb3JtYXRpb24gZm9yIHRoZSBidWlsdGlucy4gQnV0IHdlIGtub3cgdGhhdCBhIHZh
bHVlCi0gICAgLy8gaXMgYW4gb2JqZWN0IG9mIHRoZSBUeXBlIGlmIGl0IHdhcyBjcmVhdGVkIHdp
dGggdGhlIFR5cGUgY29uc3RydWN0b3Igb3IgaWYgaXQgaXMgdGhlIFR5cGUucHJvdG90eXBlLgot
ICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0gMDsKLSAgICBib29sIHJlc3VsdCA9IEpTVmFsdWVJ
c0luc3RhbmNlT2ZDb25zdHJ1Y3RvcihtX2NvbnRleHQsIHZhbHVlLCBjb25zdHJ1Y3RvciwgJmV4
Y2VwdGlvbikgfHwgSlNWYWx1ZUlzU3RyaWN0RXF1YWwobV9jb250ZXh0LCB2YWx1ZSwgcHJvdG90
eXBlKTsKLSAgICBRX0FTU0VSVCghZXhjZXB0aW9uKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQot
Ci0jZW5kaWYgLy8gcXNjcmlwdG9yaWdpbmFsZ2xvYmFsb2JqZWN0X3BfaApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0cHJvZ3JhbS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRwcm9ncmFtLmNwcApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZDdkNDk0OC4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcXQvYXBpL3FzY3JpcHRwcm9ncmFtLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEzNiArMCww
IEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpbmNsdWRl
ICJxc2NyaXB0cHJvZ3JhbS5oIgotCi0jaW5jbHVkZSAicXNjcmlwdHByb2dyYW1fcC5oIgotCi0v
KiEKLSAgXGludGVybmFsCi0KLSAgXGNsYXNzIFFTY3JpcHRQcm9ncmFtCi0KLSAgXGJyaWVmIFRo
ZSBRU2NyaXB0UHJvZ3JhbSBjbGFzcyBlbmNhcHN1bGF0ZXMgYSBRdCBTY3JpcHQgcHJvZ3JhbS4K
LQotICBcaW5ncm91cCBzY3JpcHQKLQotICBRU2NyaXB0UHJvZ3JhbSByZXRhaW5zIHRoZSBjb21w
aWxlZCByZXByZXNlbnRhdGlvbiBvZiB0aGUgc2NyaXB0IGlmCi0gIHBvc3NpYmxlLiBUaHVzLCBR
U2NyaXB0UHJvZ3JhbSBjYW4gYmUgdXNlZCB0byBldmFsdWF0ZSB0aGUgc2FtZQotICBzY3JpcHQg
bXVsdGlwbGUgdGltZXMgbW9yZSBlZmZpY2llbnRseS4KLQotICBcY29kZQotICBRU2NyaXB0RW5n
aW5lIGVuZ2luZTsKLSAgUVNjcmlwdFByb2dyYW0gcHJvZ3JhbSgiMSArIDIiKTsKLSAgUVNjcmlw
dFZhbHVlIHJlc3VsdCA9IGVuZ2luZS5ldmFsdWF0ZShwcm9ncmFtKTsKLSAgXGVuZGNvZGUKLSov
Ci0KLS8qIQotICBDb25zdHJ1Y3RzIGEgbnVsbCBRU2NyaXB0UHJvZ3JhbS4KLSovCi1RU2NyaXB0
UHJvZ3JhbTo6UVNjcmlwdFByb2dyYW0oKQotICAgIDogZF9wdHIobmV3IFFTY3JpcHRQcm9ncmFt
UHJpdmF0ZSkKLXt9Ci0KLS8qIQotICBDb25zdHJ1Y3RzIGEgbmV3IFFTY3JpcHRQcm9ncmFtIHdp
dGggdGhlIGdpdmVuIFxhIHNvdXJjZUNvZGUsIFxhCi0gIGZpbGVOYW1lIGFuZCBcYSBmaXJzdExp
bmVOdW1iZXIuCi0qLwotUVNjcmlwdFByb2dyYW06OlFTY3JpcHRQcm9ncmFtKGNvbnN0IFFTdHJp
bmcmIHNvdXJjZUNvZGUsCi0gICAgICAgICAgICAgICBjb25zdCBRU3RyaW5nIGZpbGVOYW1lLAot
ICAgICAgICAgICAgICAgaW50IGZpcnN0TGluZU51bWJlcikKLSAgICA6IGRfcHRyKG5ldyBRU2Ny
aXB0UHJvZ3JhbVByaXZhdGUoc291cmNlQ29kZSwgZmlsZU5hbWUsIGZpcnN0TGluZU51bWJlcikp
Ci17fQotCi0vKiEKLSAgRGVzdHJveXMgdGhpcyBRU2NyaXB0UHJvZ3JhbS4KLSovCi1RU2NyaXB0
UHJvZ3JhbTo6flFTY3JpcHRQcm9ncmFtKCkKLXt9Ci0KLS8qIQotICBDb25zdHJ1Y3RzIGEgbmV3
IFFTY3JpcHRQcm9ncmFtIHRoYXQgaXMgYSBjb3B5IG9mIFxhIG90aGVyLgotKi8KLVFTY3JpcHRQ
cm9ncmFtOjpRU2NyaXB0UHJvZ3JhbShjb25zdCBRU2NyaXB0UHJvZ3JhbSYgb3RoZXIpCi17Ci0g
ICAgZF9wdHIgPSBvdGhlci5kX3B0cjsKLX0KLQotLyohCi0gIEFzc2lnbnMgdGhlIFxhIG90aGVy
IHZhbHVlIHRvIHRoaXMgUVNjcmlwdFByb2dyYW0uCi0qLwotUVNjcmlwdFByb2dyYW0mIFFTY3Jp
cHRQcm9ncmFtOjpvcGVyYXRvcj0oY29uc3QgUVNjcmlwdFByb2dyYW0mIG90aGVyKQotewotICAg
IGRfcHRyID0gb3RoZXIuZF9wdHI7Ci0gICAgcmV0dXJuICp0aGlzOwotfQotCi0vKiEKLSAgUmV0
dXJucyB0cnVlIGlmIHRoaXMgUVNjcmlwdFByb2dyYW0gaXMgbnVsbDsgb3RoZXJ3aXNlCi0gIHJl
dHVybnMgZmFsc2UuCi0qLwotYm9vbCBRU2NyaXB0UHJvZ3JhbTo6aXNOdWxsKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gZF9wdHItPmlzTnVsbCgpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0aGUgc291
cmNlIGNvZGUgb2YgdGhpcyBwcm9ncmFtLgotKi8KLVFTdHJpbmcgUVNjcmlwdFByb2dyYW06OnNv
dXJjZUNvZGUoKSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+c291cmNlQ29kZSgpOwotfQot
Ci0vKiEKLSAgUmV0dXJucyB0aGUgZmlsZW5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcHJvZ3Jh
bS4KLSovCi1RU3RyaW5nIFFTY3JpcHRQcm9ncmFtOjpmaWxlTmFtZSgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIGRfcHRyLT5maWxlTmFtZSgpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0aGUgbGluZSBu
dW1iZXIgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcHJvZ3JhbS4KLSovCi1pbnQgUVNjcmlwdFByb2dy
YW06OmZpcnN0TGluZU51bWJlcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5maXJzdExp
bmVOdW1iZXIoKTsKLX0KLQotLyohCi0gIFJldHVybnMgdHJ1ZSBpZiB0aGlzIFFTY3JpcHRQcm9n
cmFtIGlzIGVxdWFsIHRvIFxhIG90aGVyOwotICBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS4KLSov
Ci1ib29sIFFTY3JpcHRQcm9ncmFtOjpvcGVyYXRvcj09KGNvbnN0IFFTY3JpcHRQcm9ncmFtJiBv
dGhlcikgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHIgPT0gb3RoZXIuZF9wdHIgfHwgKmRfcHRy
ID09ICpvdGhlci5kX3B0cjsKLX0KLQotLyohCi0gIFJldHVybnMgdHJ1ZSBpZiB0aGlzIFFTY3Jp
cHRQcm9ncmFtIGlzIG5vdCBlcXVhbCB0byBcYSBvdGhlcjsKLSAgb3RoZXJ3aXNlIHJldHVybnMg
ZmFsc2UuCi0qLwotYm9vbCBRU2NyaXB0UHJvZ3JhbTo6b3BlcmF0b3IhPShjb25zdCBRU2NyaXB0
UHJvZ3JhbSYgb3RoZXIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyICE9IG90aGVyLmRfcHRy
ICYmICpkX3B0ciAhPSAqb3RoZXIuZF9wdHI7Ci19Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHByb2dyYW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9xdC9hcGkvcXNjcmlwdHByb2dyYW0uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
OTNjOGEzYy4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3Jp
cHRwcm9ncmFtLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi0vKgotICAgIENvcHly
aWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWll
cykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
Ci0qLwotCi0jaWZuZGVmIHFzY3JpcHRwcm9ncmFtX2gKLSNkZWZpbmUgcXNjcmlwdHByb2dyYW1f
aAotCi0jaW5jbHVkZSAicXRzY3JpcHRnbG9iYWwuaCIKLSNpbmNsdWRlIDxRdENvcmUvcXNoYXJl
ZGRhdGEuaD4KLSNpbmNsdWRlIDxRdENvcmUvcXN0cmluZy5oPgotCi1jbGFzcyBRU2NyaXB0UHJv
Z3JhbVByaXZhdGU7Ci1jbGFzcyBRX0pBVkFTQ1JJUFRfRVhQT1JUIFFTY3JpcHRQcm9ncmFtIHsK
LXB1YmxpYzoKLSAgICBRU2NyaXB0UHJvZ3JhbSgpOwotICAgIFFTY3JpcHRQcm9ncmFtKGNvbnN0
IFFTdHJpbmcmIHNvdXJjZUNvZGUsCi0gICAgICAgICAgICAgICAgICAgY29uc3QgUVN0cmluZyBm
aWxlTmFtZSA9IFFTdHJpbmcoKSwKLSAgICAgICAgICAgICAgICAgICBpbnQgZmlyc3RMaW5lTnVt
YmVyID0gMSk7Ci0gICAgUVNjcmlwdFByb2dyYW0oY29uc3QgUVNjcmlwdFByb2dyYW0mIG90aGVy
KTsKLSAgICB+UVNjcmlwdFByb2dyYW0oKTsKLQotICAgIFFTY3JpcHRQcm9ncmFtJiBvcGVyYXRv
cj0oY29uc3QgUVNjcmlwdFByb2dyYW0mIG90aGVyKTsKLQotICAgIGJvb2wgaXNOdWxsKCkgY29u
c3Q7Ci0KLSAgICBRU3RyaW5nIHNvdXJjZUNvZGUoKSBjb25zdDsKLSAgICBRU3RyaW5nIGZpbGVO
YW1lKCkgY29uc3Q7Ci0gICAgaW50IGZpcnN0TGluZU51bWJlcigpIGNvbnN0OwotCi0gICAgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IFFTY3JpcHRQcm9ncmFtJiBvdGhlcikgY29uc3Q7Ci0gICAgYm9v
bCBvcGVyYXRvciE9KGNvbnN0IFFTY3JpcHRQcm9ncmFtJiBvdGhlcikgY29uc3Q7Ci0KLXByaXZh
dGU6Ci0gICAgUUV4cGxpY2l0bHlTaGFyZWREYXRhUG9pbnRlcjxRU2NyaXB0UHJvZ3JhbVByaXZh
dGU+IGRfcHRyOwotICAgIFFfREVDTEFSRV9QUklWQVRFKFFTY3JpcHRQcm9ncmFtKQotfTsKLQot
I2VuZGlmIC8vIHFzY3JpcHRwcm9ncmFtX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9xdC9hcGkvcXNjcmlwdHByb2dyYW1fcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0
L2FwaS9xc2NyaXB0cHJvZ3JhbV9wLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2
ODgyYzUuLjAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0
cHJvZ3JhbV9wLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMzMgKzAsMCBAQAotLyoKLSAgICBDb3B5
cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1p
ZXMpCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgotKi8KLQotI2lmbmRlZiBxc2NyaXB0cHJvZ3JhbV9wX2gKLSNkZWZpbmUgcXNjcmlwdHByb2dy
YW1fcF9oCi0KLSNpbmNsdWRlICJxc2NyaXB0Y29udmVydGVyX3AuaCIKLSNpbmNsdWRlICJxc2Ny
aXB0cHJvZ3JhbS5oIgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHQuaD4KLSNp
bmNsdWRlIDxRdENvcmUvcXNoYXJlZGRhdGEuaD4KLSNpbmNsdWRlIDxRdENvcmUvcXN0cmluZy5o
PgotCi0vKgotICAgRklYTUUgVGhlIFFTY3JpcHRQcm9ncmFtUHJpdmF0ZSBwb3RlbnRpYWxseSBj
b3VsZCBiZSBtdWNoIGZhc3Rlci4gSW4gY3VycmVudCBpbXBsZW1lbnRhdGlvbiB3ZQotICAgZ2Fp
biBDUFUgdGltZSBvbmx5IGJ5IGF2b2lkaW5nIFFTdHJpbmcgLT4gSlNTdHJpbmdSZWYgY29udmVy
c2lvbi4gSW4gdGhlIGlkZWFsIHdvcmxkIHdlIHNob3VsZAotICAgaGF2ZSBhIGZ1bmN0aW9uIGlu
c2lkZSB0aGUgSlNDIEMgQVBJIHRoYXQgY291bGQgcHJvdmlkZSB1cyAicGFyc2Ugb25jZSwgZXhl
Y3V0ZSBtdWx0aXBsZSB0aW1lcyIKLSAgIGZ1bmN0aW9uYWxpdHkuCi0qLwotCi1jbGFzcyBRU2Ny
aXB0UHJvZ3JhbVByaXZhdGUgOiBwdWJsaWMgUVNoYXJlZERhdGEgewotcHVibGljOgotICAgIGlu
bGluZSBzdGF0aWMgUVNjcmlwdFByb2dyYW1Qcml2YXRlKiBnZXQoY29uc3QgUVNjcmlwdFByb2dy
YW0mIHByb2dyYW0pOwotICAgIGlubGluZSBRU2NyaXB0UHJvZ3JhbVByaXZhdGUoKTsKLSAgICBp
bmxpbmUgUVNjcmlwdFByb2dyYW1Qcml2YXRlKGNvbnN0IFFTdHJpbmcmIHNvdXJjZUNvZGUsCi0g
ICAgICAgICAgICAgICAgICAgY29uc3QgUVN0cmluZyBmaWxlTmFtZSwKLSAgICAgICAgICAgICAg
ICAgICBpbnQgZmlyc3RMaW5lTnVtYmVyKTsKLQotICAgIGlubGluZSB+UVNjcmlwdFByb2dyYW1Q
cml2YXRlKCk7Ci0KLSAgICBpbmxpbmUgYm9vbCBpc051bGwoKSBjb25zdDsKLQotICAgIGlubGlu
ZSBRU3RyaW5nIHNvdXJjZUNvZGUoKSBjb25zdDsKLSAgICBpbmxpbmUgUVN0cmluZyBmaWxlTmFt
ZSgpIGNvbnN0OwotICAgIGlubGluZSBpbnQgZmlyc3RMaW5lTnVtYmVyKCkgY29uc3Q7Ci0KLSAg
ICBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFFTY3JpcHRQcm9ncmFtUHJpdmF0ZSYgb3Ro
ZXIpIGNvbnN0OwotICAgIGlubGluZSBib29sIG9wZXJhdG9yIT0oY29uc3QgUVNjcmlwdFByb2dy
YW1Qcml2YXRlJiBvdGhlcikgY29uc3Q7Ci0KLSAgICBpbmxpbmUgb3BlcmF0b3IgSlNTdHJpbmdS
ZWYoKSBjb25zdDsKLSAgICBpbmxpbmUgSlNTdHJpbmdSZWYgZmlsZSgpIGNvbnN0OwotICAgIGlu
bGluZSBpbnQgbGluZSgpIGNvbnN0OwotcHJpdmF0ZToKLSAgICBKU1N0cmluZ1JlZiBtX3Byb2dy
YW07Ci0gICAgSlNTdHJpbmdSZWYgbV9maWxlTmFtZTsKLSAgICBpbnQgbV9saW5lOwotfTsKLQot
UVNjcmlwdFByb2dyYW1Qcml2YXRlKiBRU2NyaXB0UHJvZ3JhbVByaXZhdGU6OmdldChjb25zdCBR
U2NyaXB0UHJvZ3JhbSYgcHJvZ3JhbSkKLXsKLSAgICByZXR1cm4gY29uc3RfY2FzdDxRU2NyaXB0
UHJvZ3JhbVByaXZhdGUqPihwcm9ncmFtLmRfcHRyLmNvbnN0RGF0YSgpKTsKLX0KLQotUVNjcmlw
dFByb2dyYW1Qcml2YXRlOjpRU2NyaXB0UHJvZ3JhbVByaXZhdGUoKQotICAgIDogbV9wcm9ncmFt
KDApCi0gICAgLCBtX2ZpbGVOYW1lKDApCi0gICAgLCBtX2xpbmUoLTEpCi17fQotCi1RU2NyaXB0
UHJvZ3JhbVByaXZhdGU6OlFTY3JpcHRQcm9ncmFtUHJpdmF0ZShjb25zdCBRU3RyaW5nJiBzb3Vy
Y2VDb2RlLAotICAgICAgICAgICAgICAgY29uc3QgUVN0cmluZyBmaWxlTmFtZSwKLSAgICAgICAg
ICAgICAgIGludCBmaXJzdExpbmVOdW1iZXIpCi0gICAgICAgICAgICAgICAgICAgOiBtX3Byb2dy
YW0oUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmcoc291cmNlQ29kZSkpCi0gICAgICAgICAgICAg
ICAgICAgLCBtX2ZpbGVOYW1lKFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKGZpbGVOYW1lKSkK
LSAgICAgICAgICAgICAgICAgICAsIG1fbGluZShmaXJzdExpbmVOdW1iZXIpCi17fQotCi1RU2Ny
aXB0UHJvZ3JhbVByaXZhdGU6On5RU2NyaXB0UHJvZ3JhbVByaXZhdGUoKQotewotICAgIGlmICgh
aXNOdWxsKCkpIHsKLSAgICAgICAgSlNTdHJpbmdSZWxlYXNlKG1fcHJvZ3JhbSk7Ci0gICAgICAg
IEpTU3RyaW5nUmVsZWFzZShtX2ZpbGVOYW1lKTsKLSAgICB9Ci19Ci0KLWJvb2wgUVNjcmlwdFBy
b2dyYW1Qcml2YXRlOjppc051bGwoKSBjb25zdAotewotICAgIHJldHVybiAhbV9wcm9ncmFtOwot
fQotCi1RU3RyaW5nIFFTY3JpcHRQcm9ncmFtUHJpdmF0ZTo6c291cmNlQ29kZSgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKG1fcHJvZ3JhbSk7Ci19Ci0K
LVFTdHJpbmcgUVNjcmlwdFByb2dyYW1Qcml2YXRlOjpmaWxlTmFtZSgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKG1fZmlsZU5hbWUpOwotfQotCi1pbnQg
UVNjcmlwdFByb2dyYW1Qcml2YXRlOjpmaXJzdExpbmVOdW1iZXIoKSBjb25zdAotewotICAgIHJl
dHVybiBtX2xpbmU7Ci19Ci0KLWJvb2wgUVNjcmlwdFByb2dyYW1Qcml2YXRlOjpvcGVyYXRvcj09
KGNvbnN0IFFTY3JpcHRQcm9ncmFtUHJpdmF0ZSYgb3RoZXIpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG1fbGluZSA9PSBvdGhlci5tX2xpbmUKLSAgICAgICAgICAgICYmIEpTU3RyaW5nSXNFcXVhbCht
X2ZpbGVOYW1lLCBvdGhlci5tX2ZpbGVOYW1lKQotICAgICAgICAgICAgJiYgSlNTdHJpbmdJc0Vx
dWFsKG1fcHJvZ3JhbSwgb3RoZXIubV9wcm9ncmFtKTsKLX0KLQotYm9vbCBRU2NyaXB0UHJvZ3Jh
bVByaXZhdGU6Om9wZXJhdG9yIT0oY29uc3QgUVNjcmlwdFByb2dyYW1Qcml2YXRlJiBvdGhlcikg
Y29uc3QKLXsKLSAgICByZXR1cm4gbV9saW5lICE9IG90aGVyLm1fbGluZQotICAgICAgICAgICAg
fHwgIUpTU3RyaW5nSXNFcXVhbChtX2ZpbGVOYW1lLCBvdGhlci5tX2ZpbGVOYW1lKQotICAgICAg
ICAgICAgfHwgIUpTU3RyaW5nSXNFcXVhbChtX3Byb2dyYW0sIG90aGVyLm1fcHJvZ3JhbSk7Ci19
Ci0KLVFTY3JpcHRQcm9ncmFtUHJpdmF0ZTo6b3BlcmF0b3IgSlNTdHJpbmdSZWYoKSBjb25zdAot
ewotICAgIHJldHVybiBtX3Byb2dyYW07Ci19Ci0KLUpTU3RyaW5nUmVmIFFTY3JpcHRQcm9ncmFt
UHJpdmF0ZTo6ZmlsZSgpIGNvbnN0IHtyZXR1cm4gbV9maWxlTmFtZTsgfQotaW50IFFTY3JpcHRQ
cm9ncmFtUHJpdmF0ZTo6bGluZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZTsgfQotCi0jZW5kaWYg
Ly8gcXNjcmlwdHByb2dyYW1fcF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cXQvYXBpL3FzY3JpcHRzdHJpbmcuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9x
c2NyaXB0c3RyaW5nLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODNjMDNjNS4u
MDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRzdHJpbmcu
Y3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTMxICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChD
KSAyMDA5IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotCi0g
ICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAg
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
Ci0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLQotI2luY2x1ZGUgInFzY3JpcHRzdHJpbmcuaCIKLQotI2lu
Y2x1ZGUgInFzY3JpcHRzdHJpbmdfcC5oIgotI2luY2x1ZGUgPFF0Q29yZS9xaGFzaC5oPgotCi0v
KiEKLSAgQ29uc3RydWN0cyBhbiBpbnZhbGlkIFFTY3JpcHRTdHJpbmcuCi0qLwotUVNjcmlwdFN0
cmluZzo6UVNjcmlwdFN0cmluZygpCi0gICAgOiBkX3B0cihuZXcgUVNjcmlwdFN0cmluZ1ByaXZh
dGUoKSkKLXsKLX0KLS8qIQotICBDb25zdHJ1Y3RzIGFuIFFTY3JpcHRTdHJpbmcgZnJvbSBpbnRl
cm5hbCByZXByZXNlbnRhdGlvbgotICBcaW50ZXJuYWwKLSovCi1RU2NyaXB0U3RyaW5nOjpRU2Ny
aXB0U3RyaW5nKFFTY3JpcHRTdHJpbmdQcml2YXRlKiBkKQotICAgIDogZF9wdHIoZCkKLXsKLX0K
LQotLyohCi0gIENvbnN0cnVjdHMgYSBuZXcgUVNjcmlwdFN0cmluZyB0aGF0IGlzIGEgY29weSBv
ZiBcYSBvdGhlci4KLSovCi1RU2NyaXB0U3RyaW5nOjpRU2NyaXB0U3RyaW5nKGNvbnN0IFFTY3Jp
cHRTdHJpbmcmIG90aGVyKQotewotICAgIGRfcHRyID0gb3RoZXIuZF9wdHI7Ci19Ci0KLS8qIQot
ICBEZXN0cm95cyB0aGlzIFFTY3JpcHRTdHJpbmcuCi0qLwotUVNjcmlwdFN0cmluZzo6flFTY3Jp
cHRTdHJpbmcoKQotewotfQotCi0vKiEKLSAgQXNzaWducyB0aGUgXGEgb3RoZXIgdmFsdWUgdG8g
dGhpcyBRU2NyaXB0U3RyaW5nLgotKi8KLVFTY3JpcHRTdHJpbmcmIFFTY3JpcHRTdHJpbmc6Om9w
ZXJhdG9yPShjb25zdCBRU2NyaXB0U3RyaW5nJiBvdGhlcikKLXsKLSAgICBkX3B0ciA9IG90aGVy
LmRfcHRyOwotICAgIHJldHVybiAqdGhpczsKLX0KLQotLyohCi0gIFJldHVybnMgdHJ1ZSBpZiB0
aGlzIFFTY3JpcHRTdHJpbmcgaXMgdmFsaWQ7IG90aGVyd2lzZQotICByZXR1cm5zIGZhbHNlLgot
Ki8KLWJvb2wgUVNjcmlwdFN0cmluZzo6aXNWYWxpZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRf
cHRyLT5pc1ZhbGlkKCk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRydWUgaWYgdGhpcyBRU2NyaXB0
U3RyaW5nIGlzIGVxdWFsIHRvIFxhIG90aGVyOwotICBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS4K
LSovCi1ib29sIFFTY3JpcHRTdHJpbmc6Om9wZXJhdG9yPT0oY29uc3QgUVNjcmlwdFN0cmluZyYg
b3RoZXIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyID09IG90aGVyLmRfcHRyIHx8ICpkX3B0
ciA9PSAqKG90aGVyLmRfcHRyKTsKLX0KLQotLyohCi0gIFJldHVybnMgdHJ1ZSBpZiB0aGlzIFFT
Y3JpcHRTdHJpbmcgaXMgbm90IGVxdWFsIHRvIFxhIG90aGVyOwotICBvdGhlcndpc2UgcmV0dXJu
cyBmYWxzZS4KLSovCi1ib29sIFFTY3JpcHRTdHJpbmc6Om9wZXJhdG9yIT0oY29uc3QgUVNjcmlw
dFN0cmluZyYgb3RoZXIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyICE9IG90aGVyLmRfcHRy
IHx8ICpkX3B0ciAhPSAqKG90aGVyLmRfcHRyKTsKLX0KLQotLyohCi0gIEF0dGVtcHRzIHRvIGNv
bnZlcnQgdGhpcyBRU2NyaXB0U3RyaW5nIHRvIGEgUXRTY3JpcHQgYXJyYXkgaW5kZXgsCi0gIGFu
ZCByZXR1cm5zIHRoZSByZXN1bHQuCi0KLSAgSWYgYSBjb252ZXJzaW9uIGVycm9yIG9jY3Vycywg
Klxhe29rfSBpcyBzZXQgdG8gZmFsc2U7IG90aGVyd2lzZQotICAqXGF7b2t9IGlzIHNldCB0byB0
cnVlLgotKi8KLXF1aW50MzIgUVNjcmlwdFN0cmluZzo6dG9BcnJheUluZGV4KGJvb2wqIG9rKSBj
b25zdAotewotICAgIHJldHVybiBkX3B0ci0+dG9BcnJheUluZGV4KG9rKTsKLX0KLQotLyohCi0g
IFJldHVybnMgdGhlIHN0cmluZyB0aGF0IHRoaXMgUVNjcmlwdFN0cmluZyByZXByZXNlbnRzLCBv
ciBhCi0gIG51bGwgc3RyaW5nIGlmIHRoaXMgUVNjcmlwdFN0cmluZyBpcyBub3QgdmFsaWQuCi0K
LSAgXHNhIGlzVmFsaWQoKQotKi8KLVFTdHJpbmcgUVNjcmlwdFN0cmluZzo6dG9TdHJpbmcoKSBj
b25zdAotewotICAgIHJldHVybiBkX3B0ci0+dG9TdHJpbmcoKTsKLX0KLQotLyohCi0gIFJldHVy
bnMgdGhlIHN0cmluZyB0aGF0IHRoaXMgUVNjcmlwdFN0cmluZyByZXByZXNlbnRzLCBvciBhCi0g
IG51bGwgc3RyaW5nIGlmIHRoaXMgUVNjcmlwdFN0cmluZyBpcyBub3QgdmFsaWQuCi0KLSAgXHNh
IHRvU3RyaW5nKCkKLSovCi1RU2NyaXB0U3RyaW5nOjpvcGVyYXRvciBRU3RyaW5nKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gZF9wdHItPnRvU3RyaW5nKCk7Ci19Ci0KLXVpbnQgcUhhc2goY29uc3Qg
UVNjcmlwdFN0cmluZyYga2V5KQotewotICAgIHJldHVybiBxSGFzaChRU2NyaXB0U3RyaW5nUHJp
dmF0ZTo6Z2V0KGtleSktPmlkKCkpOwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3F0L2FwaS9xc2NyaXB0c3RyaW5nLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBp
L3FzY3JpcHRzdHJpbmcuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY1OTNiYy4u
MDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRzdHJpbmcu
aAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAy
MDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotCi0gICAg
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0g
ICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLSNp
Zm5kZWYgcXNjcmlwdHN0cmluZ19oCi0jZGVmaW5lIHFzY3JpcHRzdHJpbmdfaAotCi0jaW5jbHVk
ZSAicXRzY3JpcHRnbG9iYWwuaCIKLSNpbmNsdWRlIDxRdENvcmUvcXNoYXJlZGRhdGEuaD4KLSNp
bmNsdWRlIDxRdENvcmUvcXN0cmluZy5oPgotCi1jbGFzcyBRU2NyaXB0U3RyaW5nUHJpdmF0ZTsK
LXR5cGVkZWYgUUV4cGxpY2l0bHlTaGFyZWREYXRhUG9pbnRlcjxRU2NyaXB0U3RyaW5nUHJpdmF0
ZT4gUVNjcmlwdFN0cmluZ1B0cjsKLQotY2xhc3MgUV9KQVZBU0NSSVBUX0VYUE9SVCBRU2NyaXB0
U3RyaW5nIHsKLXB1YmxpYzoKLSAgICBRU2NyaXB0U3RyaW5nKCk7Ci0gICAgUVNjcmlwdFN0cmlu
Zyhjb25zdCBRU2NyaXB0U3RyaW5nJiBvdGhlcik7Ci0gICAgflFTY3JpcHRTdHJpbmcoKTsKLQot
ICAgIFFTY3JpcHRTdHJpbmcmIG9wZXJhdG9yPShjb25zdCBRU2NyaXB0U3RyaW5nJiBvdGhlcik7
Ci0KLSAgICBib29sIGlzVmFsaWQoKSBjb25zdDsKLQotICAgIGJvb2wgb3BlcmF0b3I9PShjb25z
dCBRU2NyaXB0U3RyaW5nJiBvdGhlcikgY29uc3Q7Ci0gICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0
IFFTY3JpcHRTdHJpbmcmIG90aGVyKSBjb25zdDsKLQotICAgIHF1aW50MzIgdG9BcnJheUluZGV4
KGJvb2wqIG9rID0gMCkgY29uc3Q7Ci0KLSAgICBRU3RyaW5nIHRvU3RyaW5nKCkgY29uc3Q7Ci0g
ICAgb3BlcmF0b3IgUVN0cmluZygpIGNvbnN0OwotCi1wcml2YXRlOgotICAgIFFTY3JpcHRTdHJp
bmcoUVNjcmlwdFN0cmluZ1ByaXZhdGUqIGQpOwotCi0gICAgUVNjcmlwdFN0cmluZ1B0ciBkX3B0
cjsKLQotICAgIGZyaWVuZCBjbGFzcyBRU2NyaXB0U3RyaW5nUHJpdmF0ZTsKLX07Ci0KLXVpbnQg
cUhhc2goY29uc3QgUVNjcmlwdFN0cmluZyYga2V5KTsKLQotI2VuZGlmIC8vIHFzY3JpcHRzdHJp
bmdfaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0c3Ry
aW5nX3AuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHN0cmluZ19wLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlODRmNGQuLjAwMDAwMDAKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0c3RyaW5nX3AuaAorKysgL2Rldi9udWxs
CkBAIC0xLDEyNCArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jw
b3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
LQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
Ci0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaWZuZGVmIHFzY3JpcHRz
dHJpbmdfcF9oCi0jZGVmaW5lIHFzY3JpcHRzdHJpbmdfcF9oCi0KLSNpbmNsdWRlICJxc2NyaXB0
Y29udmVydGVyX3AuaCIKLSNpbmNsdWRlICJxc2NyaXB0c3RyaW5nLmgiCi0jaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdC5oPgotI2luY2x1ZGUgPFF0Q29yZS9xbnVtZXJpYy5oPgot
I2luY2x1ZGUgPFF0Q29yZS9xc2hhcmVkZGF0YS5oPgotCi1jbGFzcyBRU2NyaXB0U3RyaW5nUHJp
dmF0ZSA6IHB1YmxpYyBRU2hhcmVkRGF0YSB7Ci1wdWJsaWM6Ci0gICAgaW5saW5lIFFTY3JpcHRT
dHJpbmdQcml2YXRlKCk7Ci0gICAgaW5saW5lIFFTY3JpcHRTdHJpbmdQcml2YXRlKGNvbnN0IFFT
dHJpbmcmIHF0c3RyaW5nKTsKLSAgICBpbmxpbmUgflFTY3JpcHRTdHJpbmdQcml2YXRlKCk7Ci0K
LSAgICBzdGF0aWMgaW5saW5lIFFTY3JpcHRTdHJpbmcgZ2V0KFFTY3JpcHRTdHJpbmdQcml2YXRl
KiBkKTsKLSAgICBzdGF0aWMgaW5saW5lIFFTY3JpcHRTdHJpbmdQdHIgZ2V0KGNvbnN0IFFTY3Jp
cHRTdHJpbmcmIHApOwotCi0gICAgaW5saW5lIGJvb2wgaXNWYWxpZCgpIGNvbnN0OwotCi0gICAg
aW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBRU2NyaXB0U3RyaW5nUHJpdmF0ZSYgb3RoZXIp
IGNvbnN0OwotICAgIGlubGluZSBib29sIG9wZXJhdG9yIT0oY29uc3QgUVNjcmlwdFN0cmluZ1By
aXZhdGUmIG90aGVyKSBjb25zdDsKLQotICAgIGlubGluZSBxdWludDMyIHRvQXJyYXlJbmRleChi
b29sKiBvayA9IDApIGNvbnN0OwotCi0gICAgaW5saW5lIFFTdHJpbmcgdG9TdHJpbmcoKSBjb25z
dDsKLQotICAgIGlubGluZSBxdWludDY0IGlkKCkgY29uc3Q7Ci0KLSAgICBpbmxpbmUgb3BlcmF0
b3IgSlNTdHJpbmdSZWYoKSBjb25zdDsKLQotcHJpdmF0ZToKLSAgICBKU1N0cmluZ1JlZiBtX3N0
cmluZzsKLX07Ci0KLQotUVNjcmlwdFN0cmluZ1ByaXZhdGU6OlFTY3JpcHRTdHJpbmdQcml2YXRl
KCkKLSAgICA6IG1fc3RyaW5nKDApCi17fQotCi1RU2NyaXB0U3RyaW5nUHJpdmF0ZTo6UVNjcmlw
dFN0cmluZ1ByaXZhdGUoY29uc3QgUVN0cmluZyYgcXRzdHJpbmcpCi0gICAgOiBtX3N0cmluZyhR
U2NyaXB0Q29udmVydGVyOjp0b1N0cmluZyhxdHN0cmluZykpCi17fQotCi1RU2NyaXB0U3RyaW5n
UHJpdmF0ZTo6flFTY3JpcHRTdHJpbmdQcml2YXRlKCkKLXsKLSAgICBpZiAoaXNWYWxpZCgpKQot
ICAgICAgICBKU1N0cmluZ1JlbGVhc2UobV9zdHJpbmcpOwotfQotCi1RU2NyaXB0U3RyaW5nIFFT
Y3JpcHRTdHJpbmdQcml2YXRlOjpnZXQoUVNjcmlwdFN0cmluZ1ByaXZhdGUqIGQpCi17Ci0gICAg
UV9BU1NFUlQoZCk7Ci0gICAgcmV0dXJuIFFTY3JpcHRTdHJpbmcoZCk7Ci19Ci0KLVFTY3JpcHRT
dHJpbmdQdHIgUVNjcmlwdFN0cmluZ1ByaXZhdGU6OmdldChjb25zdCBRU2NyaXB0U3RyaW5nJiBw
KQotewotICAgIHJldHVybiBwLmRfcHRyOwotfQotCi1ib29sIFFTY3JpcHRTdHJpbmdQcml2YXRl
Ojppc1ZhbGlkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9zdHJpbmc7Ci19Ci0KLWJvb2wgUVNj
cmlwdFN0cmluZ1ByaXZhdGU6Om9wZXJhdG9yPT0oY29uc3QgUVNjcmlwdFN0cmluZ1ByaXZhdGUm
IG90aGVyKSBjb25zdAotewotICAgIHJldHVybiBpc1ZhbGlkKCkgJiYgb3RoZXIuaXNWYWxpZCgp
ICYmIEpTU3RyaW5nSXNFcXVhbChtX3N0cmluZywgb3RoZXIubV9zdHJpbmcpOwotfQotCi1ib29s
IFFTY3JpcHRTdHJpbmdQcml2YXRlOjpvcGVyYXRvciE9KGNvbnN0IFFTY3JpcHRTdHJpbmdQcml2
YXRlJiBvdGhlcikgY29uc3QKLXsKLSAgICByZXR1cm4gaXNWYWxpZCgpICYmIG90aGVyLmlzVmFs
aWQoKSAmJiAhSlNTdHJpbmdJc0VxdWFsKG1fc3RyaW5nLCBvdGhlci5tX3N0cmluZyk7Ci19Ci0K
LXF1aW50MzIgUVNjcmlwdFN0cmluZ1ByaXZhdGU6OnRvQXJyYXlJbmRleChib29sKiBvaykgY29u
c3QKLXsKLSAgICBxdWludDMyIGlkeCA9IFFTY3JpcHRDb252ZXJ0ZXI6OnRvQXJyYXlJbmRleCht
X3N0cmluZyk7Ci0gICAgaWYgKG9rKQotICAgICAgICAqb2sgPSAoaWR4ICE9IDB4ZmZmZmZmZmYp
OwotICAgIHJldHVybiBpZHg7Ci19Ci0KLVFTdHJpbmcgUVNjcmlwdFN0cmluZ1ByaXZhdGU6OnRv
U3RyaW5nKCkgY29uc3QKLXsKLSAgICByZXR1cm4gUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmco
bV9zdHJpbmcpOwotfQotCi1xdWludDY0IFFTY3JpcHRTdHJpbmdQcml2YXRlOjppZCgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8cXVpbnQzMj4obV9zdHJpbmcpOwotfQot
Ci0vKiEKLSAgICBcaW50ZXJuYWwKLSAgICBUaGlzIG1ldGhvZCBzaG91bGQgYmUgdXNlZCBmb3Ig
aW52b2tpbmcgSlNDIGZ1bmN0aW9ucy4KLSAgICBcbm90ZSBUaGlzIG1ldGhvZCBrZWVwcyBvd25l
cnNoaXAgb2YgYW4gaW50ZXJuYWwgSlNTdHJpbmdSZWYuCi0qLwotUVNjcmlwdFN0cmluZ1ByaXZh
dGU6Om9wZXJhdG9yIEpTU3RyaW5nUmVmKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9zdHJpbmc7
Ci19Ci0KLSNlbmRpZiAvLyBxc2NyaXB0c3RyaW5nX3BfaApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHQuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHQuY3BwCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOTQ4YzVkLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHN5bnRheGNoZWNrcmVzdWx0LmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDE0OCArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tp
YSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAg
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaW5jbHVkZSAi
Y29uZmlnLmgiCi0KLSNpbmNsdWRlICJxc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHQuaCIKLSNpbmNs
dWRlICJxc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHRfcC5oIgotCi0vKiEKLSAgXGNsYXNzIFFTY3Jp
cHRTeW50YXhDaGVja1Jlc3VsdAotCi0gIFxicmllZiBUaGUgUVNjcmlwdFN5bnRheENoZWNrUmVz
dWx0IGNsYXNzIHByb3ZpZGVzIHRoZSByZXN1bHQgb2YgYSBzY3JpcHQgc3ludGF4IGNoZWNrLgot
Ci0gIFxpbmdyb3VwIHNjcmlwdAotICBcbWFpbmNsYXNzCi0KLSAgUVNjcmlwdFN5bnRheENoZWNr
UmVzdWx0IGlzIHJldHVybmVkIGJ5IFFTY3JpcHRFbmdpbmU6OmNoZWNrU3ludGF4KCkgdG8KLSAg
cHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3ludGFjdGljYWwgKGluKWNvcnJlY3RuZXNz
IG9mIGEgc2NyaXB0LgotKi8KLQotLyohCi0gICAgXGVudW0gUVNjcmlwdFN5bnRheENoZWNrUmVz
dWx0OjpTdGF0ZQotCi0gICAgVGhpcyBlbnVtIHNwZWNpZmllcyB0aGUgc3RhdGUgb2YgYSBzeW50
YXggY2hlY2suCi0KLSAgICBcdmFsdWUgRXJyb3IgVGhlIHByb2dyYW0gY29udGFpbnMgYSBzeW50
YXggZXJyb3IuCi0gICAgXHZhbHVlIEludGVybWVkaWF0ZSBUaGUgcHJvZ3JhbSBpcyBpbmNvbXBs
ZXRlLgotICAgIFx2YWx1ZSBWYWxpZCBUaGUgcHJvZ3JhbSBpcyBhIHN5bnRhY3RpY2FsbHkgY29y
cmVjdCBRdCBTY3JpcHQgcHJvZ3JhbS4KLSovCi0KLS8qIQotICBDb25zdHJ1Y3RzIGEgbmV3IFFT
Y3JpcHRTeW50YXhDaGVja1Jlc3VsdCBmcm9tIHRoZSBcYSBvdGhlciByZXN1bHQuCi0qLwotUVNj
cmlwdFN5bnRheENoZWNrUmVzdWx0OjpRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQoY29uc3QgUVNj
cmlwdFN5bnRheENoZWNrUmVzdWx0JiBvdGhlcikKLSAgICA6IGRfcHRyKG90aGVyLmRfcHRyKQot
e30KLQotLyohCi0gIENvbnN0cnVjdHMgYSBuZXcgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0IGZy
b20gYW4gaW50ZXJuYWwgcmVwcmVzZW50YXRpb24uCi0gIFxpbnRlcm5hbAotKi8KLVFTY3JpcHRT
eW50YXhDaGVja1Jlc3VsdDo6UVNjcmlwdFN5bnRheENoZWNrUmVzdWx0KFFTY3JpcHRTeW50YXhD
aGVja1Jlc3VsdFByaXZhdGUqIGQpCi0gICAgOiBkX3B0cihkKQote30KLQotLyohCi0gIERlc3Ry
b3lzIHRoaXMgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0LgotKi8KLVFTY3JpcHRTeW50YXhDaGVj
a1Jlc3VsdDo6flFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdCgpCi17fQotCi0vKiEKLSAgQXNzaWdu
cyB0aGUgXGEgb3RoZXIgcmVzdWx0IHRvIHRoaXMgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0LCBh
bmQgcmV0dXJucyBhCi0gIHJlZmVyZW5jZSB0byB0aGlzIFFTY3JpcHRTeW50YXhDaGVja1Jlc3Vs
dC4KLSovCi1RU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQmIFFTY3JpcHRTeW50YXhDaGVja1Jlc3Vs
dDo6b3BlcmF0b3I9KGNvbnN0IFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdCYgb3RoZXIpCi17Ci0g
ICAgZF9wdHIgPSBvdGhlci5kX3B0cjsKLSAgICByZXR1cm4gKnRoaXM7Ci19Ci0KLS8qIQotICBS
ZXR1cm5zIHRoZSBzdGF0ZSBvZiB0aGlzIFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdC4KLSovCi1R
U2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQ6OlN0YXRlIFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6
c3RhdGUoKSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+c3RhdGUoKTsKLX0KLQotLyohCi0g
IFJldHVybnMgdGhlIGVycm9yIGxpbmUgbnVtYmVyIG9mIHRoaXMgUVNjcmlwdFN5bnRheENoZWNr
UmVzdWx0LCBvciAtMSBpZgotICB0aGVyZSBpcyBubyBlcnJvci4KLQotICBcc2Egc3RhdGUoKSwg
ZXJyb3JNZXNzYWdlKCkKLSovCi1pbnQgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0OjplcnJvckxp
bmVOdW1iZXIoKSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+ZXJyb3JMaW5lTnVtYmVyKCk7
Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRoZSBlcnJvciBjb2x1bW4gbnVtYmVyIG9mIHRoaXMgUVNj
cmlwdFN5bnRheENoZWNrUmVzdWx0LCBvciAtMSBpZgotICB0aGVyZSBpcyBubyBlcnJvci4KLQot
ICBcc2Egc3RhdGUoKSwgZXJyb3JMaW5lTnVtYmVyKCkKLSovCi1pbnQgUVNjcmlwdFN5bnRheENo
ZWNrUmVzdWx0OjplcnJvckNvbHVtbk51bWJlcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRy
LT5lcnJvckNvbHVtbk51bWJlcigpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0aGUgZXJyb3IgbWVz
c2FnZSBvZiB0aGlzIFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdCwgb3IgYW4gZW1wdHkKLSAgc3Ry
aW5nIGlmIHRoZXJlIGlzIG5vIGVycm9yLgotCi0gIFxzYSBzdGF0ZSgpLCBlcnJvckxpbmVOdW1i
ZXIoKQotKi8KLVFTdHJpbmcgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0OjplcnJvck1lc3NhZ2Uo
KSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+ZXJyb3JNZXNzYWdlKCk7Ci19Ci0KLVFTY3Jp
cHRTeW50YXhDaGVja1Jlc3VsdFByaXZhdGU6On5RU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2
YXRlKCkKLXsKLSAgICBpZiAobV9leGNlcHRpb24pCi0gICAgICAgIEpTVmFsdWVVbnByb3RlY3Qo
Km1fZW5naW5lLCBtX2V4Y2VwdGlvbik7Ci19Ci0KLVFTdHJpbmcgUVNjcmlwdFN5bnRheENoZWNr
UmVzdWx0UHJpdmF0ZTo6ZXJyb3JNZXNzYWdlKCkgY29uc3QKLXsKLSAgICBpZiAoIW1fZXhjZXB0
aW9uKQotICAgICAgICByZXR1cm4gUVN0cmluZygpOwotCi0gICAgSlNTdHJpbmdSZWYgdG1wID0g
SlNWYWx1ZVRvU3RyaW5nQ29weSgqbV9lbmdpbmUsIG1fZXhjZXB0aW9uLCAvKiBleGNlcHRpb24g
Ki8gMCk7Ci0gICAgUVN0cmluZyBtZXNzYWdlID0gUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmco
dG1wKTsKLSAgICBKU1N0cmluZ1JlbGVhc2UodG1wKTsKLSAgICByZXR1cm4gbWVzc2FnZTsKLX0K
LQotaW50IFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdFByaXZhdGU6OmVycm9yTGluZU51bWJlcigp
IGNvbnN0Ci17Ci0gICAgaWYgKCFtX2V4Y2VwdGlvbikKLSAgICAgICAgcmV0dXJuIC0xOwotICAg
IC8vIG1fZXhjZXB0aW9uIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBFeGNlcHRpb24gc28gaXQgaGFz
ICJsaW5lIiBhdHRyaWJ1dGUuCi0gICAgSlNTdHJpbmdSZWYgbGluZUF0dHJOYW1lID0gUVNjcmlw
dENvbnZlcnRlcjo6dG9TdHJpbmcoImxpbmUiKTsKLSAgICBKU1ZhbHVlUmVmIGxpbmUgPSBKU09i
amVjdEdldFByb3BlcnR5KCptX2VuZ2luZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fZXhjZXB0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbGluZUF0dHJOYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLyogZXhjZXB0aW9ucyAqLzApOwotICAgIEpTU3RyaW5nUmVsZWFzZShsaW5l
QXR0ck5hbWUpOwotICAgIHJldHVybiBKU1ZhbHVlVG9OdW1iZXIoKm1fZW5naW5lLCBsaW5lLCAv
KiBleGNlcHRpb25zICovMCk7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cXQvYXBpL3FzY3JpcHRzeW50YXhjaGVja3Jlc3VsdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3F0L2FwaS9xc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYWE1Nzc0NC4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQv
YXBpL3FzY3JpcHRzeW50YXhjaGVja3Jlc3VsdC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAs
MCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29y
IGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2lmbmRlZiBxc2NyaXB0c3ludGF4Y2hlY2tyZXN1
bHRfaAotI2RlZmluZSBxc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHRfaAotCi0jaW5jbHVkZSAicXRz
Y3JpcHRnbG9iYWwuaCIKLSNpbmNsdWRlIDxRdENvcmUvcXNoYXJlZGRhdGEuaD4KLQotY2xhc3Mg
UVNjcmlwdFN5bnRheENoZWNrUmVzdWx0UHJpdmF0ZTsKLWNsYXNzIFFfSkFWQVNDUklQVF9FWFBP
UlQgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0IHsKLXB1YmxpYzoKLSAgICBlbnVtIFN0YXRlIHsK
LSAgICAgICAgRXJyb3IsCi0gICAgICAgIEludGVybWVkaWF0ZSwKLSAgICAgICAgVmFsaWQKLSAg
ICB9OwotCi0gICAgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0KGNvbnN0IFFTY3JpcHRTeW50YXhD
aGVja1Jlc3VsdCYgb3RoZXIpOwotICAgIH5RU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQoKTsKLSAg
ICBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQmIG9wZXJhdG9yPShjb25zdCBRU2NyaXB0U3ludGF4
Q2hlY2tSZXN1bHQmIG90aGVyKTsKLQotICAgIFN0YXRlIHN0YXRlKCkgY29uc3Q7Ci0gICAgaW50
IGVycm9yTGluZU51bWJlcigpIGNvbnN0OwotICAgIGludCBlcnJvckNvbHVtbk51bWJlcigpIGNv
bnN0OwotICAgIFFTdHJpbmcgZXJyb3JNZXNzYWdlKCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAg
UVNjcmlwdFN5bnRheENoZWNrUmVzdWx0KFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdFByaXZhdGUq
IGQpOwotICAgIFFFeHBsaWNpdGx5U2hhcmVkRGF0YVBvaW50ZXI8UVNjcmlwdFN5bnRheENoZWNr
UmVzdWx0UHJpdmF0ZT4gZF9wdHI7Ci0KLSAgICBmcmllbmQgY2xhc3MgUVNjcmlwdFN5bnRheENo
ZWNrUmVzdWx0UHJpdmF0ZTsKLX07Ci0jZW5kaWYgLy8gcXNjcmlwdHN5bnRheGNoZWNrcmVzdWx0
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHN5bnRh
eGNoZWNrcmVzdWx0X3AuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHN5
bnRheGNoZWNrcmVzdWx0X3AuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmUxYTEz
MS4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRzeW50
YXhjaGVja3Jlc3VsdF9wLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi0vKgotICAg
IENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlh
cnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAg
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAg
ICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCi0qLwotCi0jaWZuZGVmIHFzY3JpcHRzeW50YXhjaGVja3Jlc3VsdF9wX2gKLSNkZWZp
bmUgcXNjcmlwdHN5bnRheGNoZWNrcmVzdWx0X3BfaAotCi0jaW5jbHVkZSAicXNjcmlwdGNvbnZl
cnRlcl9wLmgiCi0jaW5jbHVkZSAicXNjcmlwdGVuZ2luZV9wLmgiCi0jaW5jbHVkZSAicXNjcmlw
dHN5bnRheGNoZWNrcmVzdWx0LmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dC5oPgotI2luY2x1ZGUgPFF0Q29yZS9xc2hhcmVkZGF0YS5oPgotCi1jbGFzcyBRU2NyaXB0U3lu
dGF4Q2hlY2tSZXN1bHRQcml2YXRlIDogcHVibGljIFFTaGFyZWREYXRhIHsKLXB1YmxpYzoKLSAg
ICBzdGF0aWMgaW5saW5lIFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdCBnZXQoUVNjcmlwdFN5bnRh
eENoZWNrUmVzdWx0UHJpdmF0ZSogcCk7Ci0gICAgaW5saW5lIFFTY3JpcHRTeW50YXhDaGVja1Jl
c3VsdFByaXZhdGUoY29uc3QgUVNjcmlwdEVuZ2luZVByaXZhdGUqIGVuZ2luZSk7Ci0gICAgaW5s
aW5lIFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdFByaXZhdGUoY29uc3QgUVNjcmlwdEVuZ2luZVBy
aXZhdGUqIGVuZ2luZSwgSlNPYmplY3RSZWYgdmFsdWUpOwotICAgIH5RU2NyaXB0U3ludGF4Q2hl
Y2tSZXN1bHRQcml2YXRlKCk7Ci0KLSAgICBpbmxpbmUgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0
OjpTdGF0ZSBzdGF0ZSgpIGNvbnN0OwotICAgIGludCBlcnJvckxpbmVOdW1iZXIoKSBjb25zdDsK
LSAgICBpbmxpbmUgaW50IGVycm9yQ29sdW1uTnVtYmVyKCkgY29uc3Q7Ci0gICAgUVN0cmluZyBl
cnJvck1lc3NhZ2UoKSBjb25zdDsKLXByaXZhdGU6Ci0gICAgSlNPYmplY3RSZWYgbV9leGNlcHRp
b247Ci0gICAgUVNjcmlwdEVuZ2luZVB0ciBtX2VuZ2luZTsKLX07Ci0KLVFTY3JpcHRTeW50YXhD
aGVja1Jlc3VsdCBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2YXRlOjpnZXQoUVNjcmlwdFN5
bnRheENoZWNrUmVzdWx0UHJpdmF0ZSogcCkKLXsKLSAgICByZXR1cm4gUVNjcmlwdFN5bnRheENo
ZWNrUmVzdWx0KHApOwotfQotCi1RU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2YXRlOjpRU2Ny
aXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2YXRlKGNvbnN0IFFTY3JpcHRFbmdpbmVQcml2YXRlKiBl
bmdpbmUpCi0gICAgOiBtX2V4Y2VwdGlvbigwKQotICAgICwgbV9lbmdpbmUoY29uc3RfY2FzdDxR
U2NyaXB0RW5naW5lUHJpdmF0ZSo+KGVuZ2luZSkpCi17fQotCi1RU2NyaXB0U3ludGF4Q2hlY2tS
ZXN1bHRQcml2YXRlOjpRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2YXRlKGNvbnN0IFFTY3Jp
cHRFbmdpbmVQcml2YXRlKiBlbmdpbmUsIEpTT2JqZWN0UmVmIHZhbHVlKQotICAgIDogbV9leGNl
cHRpb24odmFsdWUpCi0gICAgLCBtX2VuZ2luZShjb25zdF9jYXN0PFFTY3JpcHRFbmdpbmVQcml2
YXRlKj4oZW5naW5lKSkKLXt9Ci0KLVFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6U3RhdGUgUVNj
cmlwdFN5bnRheENoZWNrUmVzdWx0UHJpdmF0ZTo6c3RhdGUoKSBjb25zdAotewotICAgIC8vIEZJ
WE1FIFRoaXMgZnVuY3Rpb24gZG9lc24ndCByZXR1cm4gUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0
OjpJbnRlcm1lZGlhdGUKLSAgICByZXR1cm4gbV9leGNlcHRpb24gPyBRU2NyaXB0U3ludGF4Q2hl
Y2tSZXN1bHQ6OkVycm9yIDogUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0OjpWYWxpZDsKLX0KLQot
aW50IFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdFByaXZhdGU6OmVycm9yQ29sdW1uTnVtYmVyKCkg
Y29uc3QKLXsKLSAgICAvLyBGSVhNRSBKU0MgQyBBUEkgZG9lc24ndCBleHBvc2UgdGhlIGVycm9y
IGNvbHVtbiBudW1iZXIuCi0gICAgcmV0dXJuIG1fZXhjZXB0aW9uID8gMSA6IC0xOwotfQotCi0K
LSNlbmRpZiAvLyBxc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHRfcF9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHR2YWx1ZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcXQvYXBpL3FzY3JpcHR2YWx1ZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDhhN2E2YzQuLjAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2Fw
aS9xc2NyaXB0dmFsdWUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODAyICswLDAgQEAKLS8qCi0g
ICAgQ29weXJpZ2h0IChDKSAyMDA5IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lk
aWFyeSgtaWVzKQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0g
ICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQot
ICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KLSovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2luY2x1ZGUgInFzY3JpcHR2
YWx1ZS5oIgotCi0jaW5jbHVkZSAicXNjcmlwdGVuZ2luZS5oIgotI2luY2x1ZGUgInFzY3JpcHRl
bmdpbmVfcC5oIgotI2luY2x1ZGUgInFzY3JpcHR2YWx1ZV9wLmgiCi0jaW5jbHVkZSA8UXRDb3Jl
L3FkZWJ1Zy5oPgotCi0vKiEKLSAgICBDb25zdHJ1Y3RzIGFuIGludmFsaWQgdmFsdWUuCi0qLwot
UVNjcmlwdFZhbHVlOjpRU2NyaXB0VmFsdWUoKQotICAgIDogZF9wdHIobmV3IFFTY3JpcHRWYWx1
ZVByaXZhdGUoKSkKLXsKLX0KLQotLyohCi0gIENvbnN0cnVjdHMgYSBuZXcgUVNjcmlwdFZhbHVl
IHdpdGggYSBib29sZWFuIFxhIHZhbHVlLgotKi8KLVFTY3JpcHRWYWx1ZTo6UVNjcmlwdFZhbHVl
KGJvb2wgdmFsdWUpCi0gICAgOiBkX3B0cihuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZSh2YWx1ZSkp
Ci17Ci19Ci0KLS8qIQotICBDb25zdHJ1Y3RzIGEgbmV3IFFTY3JpcHRWYWx1ZSB3aXRoIGEgbnVt
YmVyIFxhIHZhbHVlLgotKi8KLVFTY3JpcHRWYWx1ZTo6UVNjcmlwdFZhbHVlKGludCB2YWx1ZSkK
LSAgICA6IGRfcHRyKG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKHZhbHVlKSkKLXsKLX0KLQotLyoh
Ci0gIENvbnN0cnVjdHMgYSBuZXcgUVNjcmlwdFZhbHVlIHdpdGggYSBudW1iZXIgXGEgdmFsdWUu
Ci0qLwotUVNjcmlwdFZhbHVlOjpRU2NyaXB0VmFsdWUodWludCB2YWx1ZSkKLSAgICA6IGRfcHRy
KG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKHZhbHVlKSkKLXsKLX0KLQotLyohCi0gIENvbnN0cnVj
dHMgYSBuZXcgUVNjcmlwdFZhbHVlIHdpdGggYSBudW1iZXIgXGEgdmFsdWUuCi0qLwotUVNjcmlw
dFZhbHVlOjpRU2NyaXB0VmFsdWUocXNyZWFsIHZhbHVlKQotICAgIDogZF9wdHIobmV3IFFTY3Jp
cHRWYWx1ZVByaXZhdGUodmFsdWUpKQotewotfQotCi0vKiEKLSAgQ29uc3RydWN0cyBhIG5ldyBR
U2NyaXB0VmFsdWUgd2l0aCBhIHN0cmluZyBcYSB2YWx1ZS4KLSovCi1RU2NyaXB0VmFsdWU6OlFT
Y3JpcHRWYWx1ZShjb25zdCBRU3RyaW5nJiB2YWx1ZSkKLSAgICA6IGRfcHRyKG5ldyBRU2NyaXB0
VmFsdWVQcml2YXRlKHZhbHVlKSkKLXsKLX0KLQotLyohCi0gIENvbnN0cnVjdHMgYSBuZXcgUVNj
cmlwdFZhbHVlIHdpdGggYSBzcGVjaWFsIFxhIHZhbHVlLgotKi8KLVFTY3JpcHRWYWx1ZTo6UVNj
cmlwdFZhbHVlKFNwZWNpYWxWYWx1ZSB2YWx1ZSkKLSAgICA6IGRfcHRyKG5ldyBRU2NyaXB0VmFs
dWVQcml2YXRlKHZhbHVlKSkKLXsKLX0KLQotLyohCi0gIENvbnN0cnVjdHMgYSBuZXcgUVNjcmlw
dFZhbHVlIHdpdGggYSBzdHJpbmcgXGEgdmFsdWUuCi0qLwotUVNjcmlwdFZhbHVlOjpRU2NyaXB0
VmFsdWUoY29uc3QgY2hhciogdmFsdWUpCi0gICAgOiBkX3B0cihuZXcgUVNjcmlwdFZhbHVlUHJp
dmF0ZShRU3RyaW5nOjpmcm9tVXRmOCh2YWx1ZSkpKQotewotfQotCi0vKiEKLSAgICBCbG9jayBh
dXRvbWF0aWMgY29udmVydGlvbiB0byBib29sCi0gICAgXGludGVybmFsCi0qLwotUVNjcmlwdFZh
bHVlOjpRU2NyaXB0VmFsdWUodm9pZCogZCkKLXsKLSAgICBRX0FTU0VSVChmYWxzZSk7Ci19Ci0K
LS8qIQotICAgIENvbnN0cnVjdHMgYSBuZXcgUVNjcmlwdFZhbHVlIGZyb20gcHJpdmF0ZQotICAg
IFxpbnRlcm5hbAotKi8KLVFTY3JpcHRWYWx1ZTo6UVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZVBy
aXZhdGUqIGQpCi0gICAgOiBkX3B0cihkKQotewotfQotCi0vKiEKLSAgXG9ic29sZXRlCi0KLSAg
Q29uc3RydWN0cyBhIG5ldyBRU2NyaXB0VmFsdWUgd2l0aCB0aGUgYm9vbGVhbiBcYSB2YWx1ZSBh
bmQKLSAgcmVnaXN0ZXJzIGl0IHdpdGggdGhlIHNjcmlwdCBcYSBlbmdpbmUuCi0qLwotUVNjcmlw
dFZhbHVlOjpRU2NyaXB0VmFsdWUoUVNjcmlwdEVuZ2luZSogZW5naW5lLCBib29sIHZhbHVlKQot
ewotICAgIGlmIChlbmdpbmUpCi0gICAgICAgIGRfcHRyID0gbmV3IFFTY3JpcHRWYWx1ZVByaXZh
dGUoUVNjcmlwdEVuZ2luZVByaXZhdGU6OmdldChlbmdpbmUpLCB2YWx1ZSk7Ci0gICAgZWxzZQot
ICAgICAgICBkX3B0ciA9IG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKHZhbHVlKTsKLX0KLQotLyoh
Ci0gIFxvYnNvbGV0ZQotCi0gIENvbnN0cnVjdHMgYSBuZXcgUVNjcmlwdFZhbHVlIHdpdGggdGhl
IGludGVnZXIgXGEgdmFsdWUgYW5kCi0gIHJlZ2lzdGVycyBpdCB3aXRoIHRoZSBzY3JpcHQgXGEg
ZW5naW5lLgotKi8KLVFTY3JpcHRWYWx1ZTo6UVNjcmlwdFZhbHVlKFFTY3JpcHRFbmdpbmUqIGVu
Z2luZSwgaW50IHZhbHVlKQotewotICAgIGlmIChlbmdpbmUpCi0gICAgICAgIGRfcHRyID0gbmV3
IFFTY3JpcHRWYWx1ZVByaXZhdGUoUVNjcmlwdEVuZ2luZVByaXZhdGU6OmdldChlbmdpbmUpLCB2
YWx1ZSk7Ci0gICAgZWxzZQotICAgICAgICBkX3B0ciA9IG5ldyBRU2NyaXB0VmFsdWVQcml2YXRl
KHZhbHVlKTsKLX0KLQotLyohCi0gIFxvYnNvbGV0ZQotCi0gIENvbnN0cnVjdHMgYSBuZXcgUVNj
cmlwdFZhbHVlIHdpdGggdGhlIHVuc2lnbmVkIGludGVnZXIgXGEgdmFsdWUgYW5kCi0gIHJlZ2lz
dGVycyBpdCB3aXRoIHRoZSBzY3JpcHQgXGEgZW5naW5lLgotICovCi1RU2NyaXB0VmFsdWU6OlFT
Y3JpcHRWYWx1ZShRU2NyaXB0RW5naW5lKiBlbmdpbmUsIHVpbnQgdmFsdWUpCi17Ci0gICAgaWYg
KGVuZ2luZSkKLSAgICAgICAgZF9wdHIgPSBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZShRU2NyaXB0
RW5naW5lUHJpdmF0ZTo6Z2V0KGVuZ2luZSksIHZhbHVlKTsKLSAgICBlbHNlCi0gICAgICAgIGRf
cHRyID0gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUodmFsdWUpOwotfQotCi0vKiEKLSAgXG9ic29s
ZXRlCi0KLSAgQ29uc3RydWN0cyBhIG5ldyBRU2NyaXB0VmFsdWUgd2l0aCB0aGUgcXNyZWFsIFxh
IHZhbHVlIGFuZAotICByZWdpc3RlcnMgaXQgd2l0aCB0aGUgc2NyaXB0IFxhIGVuZ2luZS4KLSov
Ci1RU2NyaXB0VmFsdWU6OlFTY3JpcHRWYWx1ZShRU2NyaXB0RW5naW5lKiBlbmdpbmUsIHFzcmVh
bCB2YWx1ZSkKLXsKLSAgICBpZiAoZW5naW5lKQotICAgICAgICBkX3B0ciA9IG5ldyBRU2NyaXB0
VmFsdWVQcml2YXRlKFFTY3JpcHRFbmdpbmVQcml2YXRlOjpnZXQoZW5naW5lKSwgdmFsdWUpOwot
ICAgIGVsc2UKLSAgICAgICAgZF9wdHIgPSBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZSh2YWx1ZSk7
Ci19Ci0KLS8qIQotICBcb2Jzb2xldGUKLQotICBDb25zdHJ1Y3RzIGEgbmV3IFFTY3JpcHRWYWx1
ZSB3aXRoIHRoZSBzdHJpbmcgXGEgdmFsdWUgYW5kCi0gIHJlZ2lzdGVycyBpdCB3aXRoIHRoZSBz
Y3JpcHQgXGEgZW5naW5lLgotKi8KLVFTY3JpcHRWYWx1ZTo6UVNjcmlwdFZhbHVlKFFTY3JpcHRF
bmdpbmUqIGVuZ2luZSwgY29uc3QgUVN0cmluZyYgdmFsdWUpCi17Ci0gICAgaWYgKGVuZ2luZSkK
LSAgICAgICAgZF9wdHIgPSBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZShRU2NyaXB0RW5naW5lUHJp
dmF0ZTo6Z2V0KGVuZ2luZSksIHZhbHVlKTsKLSAgICBlbHNlCi0gICAgICAgIGRfcHRyID0gbmV3
IFFTY3JpcHRWYWx1ZVByaXZhdGUodmFsdWUpOwotfQotCi0vKiEKLSAgXG9ic29sZXRlCi0KLSAg
Q29uc3RydWN0cyBhIG5ldyBRU2NyaXB0VmFsdWUgd2l0aCB0aGUgc3RyaW5nIFxhIHZhbHVlIGFu
ZAotICByZWdpc3RlcnMgaXQgd2l0aCB0aGUgc2NyaXB0IFxhIGVuZ2luZS4KLSovCi1RU2NyaXB0
VmFsdWU6OlFTY3JpcHRWYWx1ZShRU2NyaXB0RW5naW5lKiBlbmdpbmUsIGNvbnN0IGNoYXIqIHZh
bHVlKQotewotICAgIGlmIChlbmdpbmUpCi0gICAgICAgIGRfcHRyID0gbmV3IFFTY3JpcHRWYWx1
ZVByaXZhdGUoUVNjcmlwdEVuZ2luZVByaXZhdGU6OmdldChlbmdpbmUpLCBRU3RyaW5nOjpmcm9t
VXRmOCh2YWx1ZSkpOwotICAgIGVsc2UKLSAgICAgICAgZF9wdHIgPSBuZXcgUVNjcmlwdFZhbHVl
UHJpdmF0ZShRU3RyaW5nOjpmcm9tVXRmOCh2YWx1ZSkpOwotfQotCi0vKiEKLSAgXG9ic29sZXRl
Ci0KLSAgQ29uc3RydWN0cyBhIG5ldyBRU2NyaXB0VmFsdWUgd2l0aCB0aGUgc3BlY2lhbCBcYSB2
YWx1ZSBhbmQKLSAgcmVnaXN0ZXJzIGl0IHdpdGggdGhlIHNjcmlwdCBcYSBlbmdpbmUuCi0qLwot
UVNjcmlwdFZhbHVlOjpRU2NyaXB0VmFsdWUoUVNjcmlwdEVuZ2luZSogZW5naW5lLCBTcGVjaWFs
VmFsdWUgdmFsdWUpCi17Ci0gICAgaWYgKGVuZ2luZSkKLSAgICAgICAgZF9wdHIgPSBuZXcgUVNj
cmlwdFZhbHVlUHJpdmF0ZShRU2NyaXB0RW5naW5lUHJpdmF0ZTo6Z2V0KGVuZ2luZSksIHZhbHVl
KTsKLSAgICBlbHNlCi0gICAgICAgIGRfcHRyID0gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUodmFs
dWUpOwotfQotCi0vKiEKLSAgQ29uc3RydWN0cyBhIG5ldyBRU2NyaXB0VmFsdWUgdGhhdCBpcyBh
IGNvcHkgb2YgXGEgb3RoZXIuCi0KLSAgTm90ZSB0aGF0IGlmIFxhIG90aGVyIGlzIGFuIG9iamVj
dCAoaS5lLiwgaXNPYmplY3QoKSB3b3VsZCByZXR1cm4KLSAgdHJ1ZSksIHRoZW4gb25seSBhIHJl
ZmVyZW5jZSB0byB0aGUgdW5kZXJseWluZyBvYmplY3QgaXMgY29waWVkIGludG8KLSAgdGhlIG5l
dyBzY3JpcHQgdmFsdWUgKGkuZS4sIHRoZSBvYmplY3QgaXRzZWxmIGlzIG5vdCBjb3BpZWQpLgot
Ki8KLVFTY3JpcHRWYWx1ZTo6UVNjcmlwdFZhbHVlKGNvbnN0IFFTY3JpcHRWYWx1ZSYgb3RoZXIp
Ci0gICAgOiBkX3B0cihvdGhlci5kX3B0cikKLXsKLX0KLQotLyohCi0gICAgRGVzdHJveXMgdGhp
cyBRU2NyaXB0VmFsdWUuCi0qLwotUVNjcmlwdFZhbHVlOjp+UVNjcmlwdFZhbHVlKCkKLXsKLX0K
LQotLyohCi0gIFJldHVybnMgdHJ1ZSBpZiB0aGlzIFFTY3JpcHRWYWx1ZSBpcyB2YWxpZDsgb3Ro
ZXJ3aXNlIHJldHVybnMKLSAgZmFsc2UuCi0qLwotYm9vbCBRU2NyaXB0VmFsdWU6OmlzVmFsaWQo
KSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+aXNWYWxpZCgpOwotfQotCi0vKiEKLSAgUmV0
dXJucyB0cnVlIGlmIHRoaXMgUVNjcmlwdFZhbHVlIGlzIG9mIHRoZSBwcmltaXRpdmUgdHlwZSBC
b29sZWFuOwotICBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS4KLQotICBcc2EgdG9Cb29sKCkKLSov
Ci1ib29sIFFTY3JpcHRWYWx1ZTo6aXNCb29sKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHIt
PmlzQm9vbCgpOwotfQotCi0vKiEKLSAgXG9ic29sZXRlCi0KLSAgVXNlIGlzQm9vbCgpIGluc3Rl
YWQuCi0gIFJldHVybnMgdHJ1ZSBpZiB0aGlzIFFTY3JpcHRWYWx1ZSBpcyBvZiB0aGUgcHJpbWl0
aXZlIHR5cGUgQm9vbGVhbjsKLSAgb3RoZXJ3aXNlIHJldHVybnMgZmFsc2UuCi0qLwotYm9vbCBR
U2NyaXB0VmFsdWU6OmlzQm9vbGVhbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5pc0Jv
b2woKTsKLX0KLQotLyohCi0gIFJldHVybnMgdHJ1ZSBpZiB0aGlzIFFTY3JpcHRWYWx1ZSBpcyBv
ZiB0aGUgcHJpbWl0aXZlIHR5cGUgTnVtYmVyOwotICBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS4K
LQotICBcc2EgdG9OdW1iZXIoKQotKi8KLWJvb2wgUVNjcmlwdFZhbHVlOjppc051bWJlcigpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5pc051bWJlcigpOwotfQotCi0vKiEKLSAgUmV0dXJu
cyB0cnVlIGlmIHRoaXMgUVNjcmlwdFZhbHVlIGlzIG9mIHRoZSBwcmltaXRpdmUgdHlwZSBOdWxs
OwotICBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS4KLQotICBcc2EgUVNjcmlwdEVuZ2luZTo6bnVs
bFZhbHVlKCkKLSovCi1ib29sIFFTY3JpcHRWYWx1ZTo6aXNOdWxsKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gZF9wdHItPmlzTnVsbCgpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0cnVlIGlmIHRoaXMg
UVNjcmlwdFZhbHVlIGlzIG9mIHRoZSBwcmltaXRpdmUgdHlwZSBTdHJpbmc7Ci0gIG90aGVyd2lz
ZSByZXR1cm5zIGZhbHNlLgotCi0gIFxzYSB0b1N0cmluZygpCi0qLwotYm9vbCBRU2NyaXB0VmFs
dWU6OmlzU3RyaW5nKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPmlzU3RyaW5nKCk7Ci19
Ci0KLS8qIQotICBSZXR1cm5zIHRydWUgaWYgdGhpcyBRU2NyaXB0VmFsdWUgaXMgb2YgdGhlIHBy
aW1pdGl2ZSB0eXBlIFVuZGVmaW5lZDsKLSAgb3RoZXJ3aXNlIHJldHVybnMgZmFsc2UuCi0KLSAg
XHNhIFFTY3JpcHRFbmdpbmU6OnVuZGVmaW5lZFZhbHVlKCkKLSovCi1ib29sIFFTY3JpcHRWYWx1
ZTo6aXNVbmRlZmluZWQoKSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+aXNVbmRlZmluZWQo
KTsKLX0KLQotLyohCi0gIFJldHVybnMgdHJ1ZSBpZiB0aGlzIFFTY3JpcHRWYWx1ZSBpcyBhbiBv
YmplY3Qgb2YgdGhlIEVycm9yIGNsYXNzOwotICBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS4KLQot
ICBcc2EgUVNjcmlwdENvbnRleHQ6OnRocm93RXJyb3IoKQotKi8KLWJvb2wgUVNjcmlwdFZhbHVl
Ojppc0Vycm9yKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPmlzRXJyb3IoKTsKLX0KLQot
LyohCi0gIFJldHVybnMgdHJ1ZSBpZiB0aGlzIFFTY3JpcHRWYWx1ZSBpcyBhbiBvYmplY3Qgb2Yg
dGhlIEFycmF5IGNsYXNzOwotICBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS4KLQotICBcc2EgUVNj
cmlwdEVuZ2luZTo6bmV3QXJyYXkoKQotKi8KLWJvb2wgUVNjcmlwdFZhbHVlOjppc0FycmF5KCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPmlzQXJyYXkoKTsKLX0KLQotLyohCi0gICAgUmV0
dXJucyB0cnVlIGlmIHRoaXMgUVNjcmlwdFZhbHVlIGlzIGFuIG9iamVjdCBvZiB0aGUgRGF0ZSBj
bGFzczsKLSAgICBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS4KLQotICAgIFxzYSBRU2NyaXB0RW5n
aW5lOjpuZXdEYXRlKCkKLSovCi1ib29sIFFTY3JpcHRWYWx1ZTo6aXNEYXRlKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gZF9wdHItPmlzRGF0ZSgpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0cnVlIGlm
IHRoaXMgUVNjcmlwdFZhbHVlIGlzIG9mIHRoZSBPYmplY3QgdHlwZTsgb3RoZXJ3aXNlCi0gIHJl
dHVybnMgZmFsc2UuCi0KLSAgTm90ZSB0aGF0IGZ1bmN0aW9uIHZhbHVlcywgdmFyaWFudCB2YWx1
ZXMsIGFuZCBRT2JqZWN0IHZhbHVlcyBhcmUKLSAgb2JqZWN0cywgc28gdGhpcyBmdW5jdGlvbiBy
ZXR1cm5zIHRydWUgZm9yIHN1Y2ggdmFsdWVzLgotCi0gIFxzYSB0b09iamVjdCgpLCBRU2NyaXB0
RW5naW5lOjpuZXdPYmplY3QoKQotKi8KLWJvb2wgUVNjcmlwdFZhbHVlOjppc09iamVjdCgpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5pc09iamVjdCgpOwotfQotCi0vKiEKLSAgUmV0dXJu
cyB0cnVlIGlmIHRoaXMgUVNjcmlwdFZhbHVlIGlzIGEgZnVuY3Rpb247IG90aGVyd2lzZSByZXR1
cm5zCi0gIGZhbHNlLgotCi0gIFxzYSBjYWxsKCkKLSovCi1ib29sIFFTY3JpcHRWYWx1ZTo6aXNG
dW5jdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5pc0Z1bmN0aW9uKCk7Ci19Ci0K
LS8qIQotICBSZXR1cm5zIHRoZSBzdHJpbmcgdmFsdWUgb2YgdGhpcyBRU2NyaXB0VmFsdWUsIGFz
IGRlZmluZWQgaW4KLSAgXGx7RUNNQS0yNjJ9IHNlY3Rpb24gOS44LCAiVG9TdHJpbmciLgotCi0g
IE5vdGUgdGhhdCBpZiB0aGlzIFFTY3JpcHRWYWx1ZSBpcyBhbiBvYmplY3QsIGNhbGxpbmcgdGhp
cyBmdW5jdGlvbgotICBoYXMgc2lkZSBlZmZlY3RzIG9uIHRoZSBzY3JpcHQgZW5naW5lLCBzaW5j
ZSB0aGUgZW5naW5lIHdpbGwgY2FsbAotICB0aGUgb2JqZWN0J3MgdG9TdHJpbmcoKSBmdW5jdGlv
biAoYW5kIHBvc3NpYmx5IHZhbHVlT2YoKSkgaW4gYW4KLSAgYXR0ZW1wdCB0byBjb252ZXJ0IHRo
ZSBvYmplY3QgdG8gYSBwcmltaXRpdmUgdmFsdWUgKHBvc3NpYmx5Ci0gIHJlc3VsdGluZyBpbiBh
biB1bmNhdWdodCBzY3JpcHQgZXhjZXB0aW9uKS4KLQotICBcc2EgaXNTdHJpbmcoKQotKi8KLVFT
dHJpbmcgUVNjcmlwdFZhbHVlOjp0b1N0cmluZygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRy
LT50b1N0cmluZygpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0aGUgbnVtYmVyIHZhbHVlIG9mIHRo
aXMgUVNjcmlwdFZhbHVlLCBhcyBkZWZpbmVkIGluCi0gIFxse0VDTUEtMjYyfSBzZWN0aW9uIDku
MywgIlRvTnVtYmVyIi4KLQotICBOb3RlIHRoYXQgaWYgdGhpcyBRU2NyaXB0VmFsdWUgaXMgYW4g
b2JqZWN0LCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24KLSAgaGFzIHNpZGUgZWZmZWN0cyBvbiB0aGUg
c2NyaXB0IGVuZ2luZSwgc2luY2UgdGhlIGVuZ2luZSB3aWxsIGNhbGwKLSAgdGhlIG9iamVjdCdz
IHZhbHVlT2YoKSBmdW5jdGlvbiAoYW5kIHBvc3NpYmx5IHRvU3RyaW5nKCkpIGluIGFuCi0gIGF0
dGVtcHQgdG8gY29udmVydCB0aGUgb2JqZWN0IHRvIGEgcHJpbWl0aXZlIHZhbHVlIChwb3NzaWJs
eQotICByZXN1bHRpbmcgaW4gYW4gdW5jYXVnaHQgc2NyaXB0IGV4Y2VwdGlvbikuCi0KLSAgXHNh
IGlzTnVtYmVyKCksIHRvSW50ZWdlcigpLCB0b0ludDMyKCksIHRvVUludDMyKCksIHRvVUludDE2
KCkKLSovCi1xc3JlYWwgUVNjcmlwdFZhbHVlOjp0b051bWJlcigpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIGRfcHRyLT50b051bWJlcigpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0aGUgYm9vbGVhbiB2
YWx1ZSBvZiB0aGlzIFFTY3JpcHRWYWx1ZSwgdXNpbmcgdGhlIGNvbnZlcnNpb24KLSAgcnVsZXMg
ZGVzY3JpYmVkIGluIFxse0VDTUEtMjYyfSBzZWN0aW9uIDkuMiwgIlRvQm9vbGVhbiIuCi0KLSAg
Tm90ZSB0aGF0IGlmIHRoaXMgUVNjcmlwdFZhbHVlIGlzIGFuIG9iamVjdCwgY2FsbGluZyB0aGlz
IGZ1bmN0aW9uCi0gIGhhcyBzaWRlIGVmZmVjdHMgb24gdGhlIHNjcmlwdCBlbmdpbmUsIHNpbmNl
IHRoZSBlbmdpbmUgd2lsbCBjYWxsCi0gIHRoZSBvYmplY3QncyB2YWx1ZU9mKCkgZnVuY3Rpb24g
KGFuZCBwb3NzaWJseSB0b1N0cmluZygpKSBpbiBhbgotICBhdHRlbXB0IHRvIGNvbnZlcnQgdGhl
IG9iamVjdCB0byBhIHByaW1pdGl2ZSB2YWx1ZSAocG9zc2libHkKLSAgcmVzdWx0aW5nIGluIGFu
IHVuY2F1Z2h0IHNjcmlwdCBleGNlcHRpb24pLgotCi0gIFxzYSBpc0Jvb2woKQotKi8KLWJvb2wg
UVNjcmlwdFZhbHVlOjp0b0Jvb2woKSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+dG9Cb29s
KCk7Ci19Ci0KLS8qIQotICBcb2Jzb2xldGUKLQotICBVc2UgdG9Cb29sKCkgaW5zdGVhZC4KLSov
Ci1ib29sIFFTY3JpcHRWYWx1ZTo6dG9Cb29sZWFuKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9w
dHItPnRvQm9vbCgpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0aGUgaW50ZWdlciB2YWx1ZSBvZiB0
aGlzIFFTY3JpcHRWYWx1ZSwgdXNpbmcgdGhlIGNvbnZlcnNpb24KLSAgcnVsZXMgZGVzY3JpYmVk
IGluIFxse0VDTUEtMjYyfSBzZWN0aW9uIDkuNCwgIlRvSW50ZWdlciIuCi0KLSAgTm90ZSB0aGF0
IGlmIHRoaXMgUVNjcmlwdFZhbHVlIGlzIGFuIG9iamVjdCwgY2FsbGluZyB0aGlzIGZ1bmN0aW9u
Ci0gIGhhcyBzaWRlIGVmZmVjdHMgb24gdGhlIHNjcmlwdCBlbmdpbmUsIHNpbmNlIHRoZSBlbmdp
bmUgd2lsbCBjYWxsCi0gIHRoZSBvYmplY3QncyB2YWx1ZU9mKCkgZnVuY3Rpb24gKGFuZCBwb3Nz
aWJseSB0b1N0cmluZygpKSBpbiBhbgotICBhdHRlbXB0IHRvIGNvbnZlcnQgdGhlIG9iamVjdCB0
byBhIHByaW1pdGl2ZSB2YWx1ZSAocG9zc2libHkKLSAgcmVzdWx0aW5nIGluIGFuIHVuY2F1Z2h0
IHNjcmlwdCBleGNlcHRpb24pLgotCi0gIFxzYSB0b051bWJlcigpCi0qLwotcXNyZWFsIFFTY3Jp
cHRWYWx1ZTo6dG9JbnRlZ2VyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPnRvSW50ZWdl
cigpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0aGUgc2lnbmVkIDMyLWJpdCBpbnRlZ2VyIHZhbHVl
IG9mIHRoaXMgUVNjcmlwdFZhbHVlLCB1c2luZwotICB0aGUgY29udmVyc2lvbiBydWxlcyBkZXNj
cmliZWQgaW4gXGx7RUNNQS0yNjJ9IHNlY3Rpb24gOS41LCAiVG9JbnQzMiIuCi0KLSAgTm90ZSB0
aGF0IGlmIHRoaXMgUVNjcmlwdFZhbHVlIGlzIGFuIG9iamVjdCwgY2FsbGluZyB0aGlzIGZ1bmN0
aW9uCi0gIGhhcyBzaWRlIGVmZmVjdHMgb24gdGhlIHNjcmlwdCBlbmdpbmUsIHNpbmNlIHRoZSBl
bmdpbmUgd2lsbCBjYWxsCi0gIHRoZSBvYmplY3QncyB2YWx1ZU9mKCkgZnVuY3Rpb24gKGFuZCBw
b3NzaWJseSB0b1N0cmluZygpKSBpbiBhbgotICBhdHRlbXB0IHRvIGNvbnZlcnQgdGhlIG9iamVj
dCB0byBhIHByaW1pdGl2ZSB2YWx1ZSAocG9zc2libHkKLSAgcmVzdWx0aW5nIGluIGFuIHVuY2F1
Z2h0IHNjcmlwdCBleGNlcHRpb24pLgotCi0gIFxzYSB0b051bWJlcigpLCB0b1VJbnQzMigpCi0q
LwotcWludDMyIFFTY3JpcHRWYWx1ZTo6dG9JbnQzMigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRf
cHRyLT50b0ludDMyKCk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRoZSB1bnNpZ25lZCAzMi1iaXQg
aW50ZWdlciB2YWx1ZSBvZiB0aGlzIFFTY3JpcHRWYWx1ZSwgdXNpbmcKLSAgdGhlIGNvbnZlcnNp
b24gcnVsZXMgZGVzY3JpYmVkIGluIFxse0VDTUEtMjYyfSBzZWN0aW9uIDkuNiwgIlRvVWludDMy
Ii4KLQotICBOb3RlIHRoYXQgaWYgdGhpcyBRU2NyaXB0VmFsdWUgaXMgYW4gb2JqZWN0LCBjYWxs
aW5nIHRoaXMgZnVuY3Rpb24KLSAgaGFzIHNpZGUgZWZmZWN0cyBvbiB0aGUgc2NyaXB0IGVuZ2lu
ZSwgc2luY2UgdGhlIGVuZ2luZSB3aWxsIGNhbGwKLSAgdGhlIG9iamVjdCdzIHZhbHVlT2YoKSBm
dW5jdGlvbiAoYW5kIHBvc3NpYmx5IHRvU3RyaW5nKCkpIGluIGFuCi0gIGF0dGVtcHQgdG8gY29u
dmVydCB0aGUgb2JqZWN0IHRvIGEgcHJpbWl0aXZlIHZhbHVlIChwb3NzaWJseQotICByZXN1bHRp
bmcgaW4gYW4gdW5jYXVnaHQgc2NyaXB0IGV4Y2VwdGlvbikuCi0KLSAgXHNhIHRvTnVtYmVyKCks
IHRvSW50MzIoKQotKi8KLXF1aW50MzIgUVNjcmlwdFZhbHVlOjp0b1VJbnQzMigpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIGRfcHRyLT50b1VJbnQzMigpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0aGUg
dW5zaWduZWQgMTYtYml0IGludGVnZXIgdmFsdWUgb2YgdGhpcyBRU2NyaXB0VmFsdWUsIHVzaW5n
Ci0gIHRoZSBjb252ZXJzaW9uIHJ1bGVzIGRlc2NyaWJlZCBpbiBcbHtFQ01BLTI2Mn0gc2VjdGlv
biA5LjcsICJUb1VpbnQxNiIuCi0KLSAgTm90ZSB0aGF0IGlmIHRoaXMgUVNjcmlwdFZhbHVlIGlz
IGFuIG9iamVjdCwgY2FsbGluZyB0aGlzIGZ1bmN0aW9uCi0gIGhhcyBzaWRlIGVmZmVjdHMgb24g
dGhlIHNjcmlwdCBlbmdpbmUsIHNpbmNlIHRoZSBlbmdpbmUgd2lsbCBjYWxsCi0gIHRoZSBvYmpl
Y3QncyB2YWx1ZU9mKCkgZnVuY3Rpb24gKGFuZCBwb3NzaWJseSB0b1N0cmluZygpKSBpbiBhbgot
ICBhdHRlbXB0IHRvIGNvbnZlcnQgdGhlIG9iamVjdCB0byBhIHByaW1pdGl2ZSB2YWx1ZSAocG9z
c2libHkKLSAgcmVzdWx0aW5nIGluIGFuIHVuY2F1Z2h0IHNjcmlwdCBleGNlcHRpb24pLgotCi0g
IFxzYSB0b051bWJlcigpCi0qLwotcXVpbnQxNiBRU2NyaXB0VmFsdWU6OnRvVUludDE2KCkgY29u
c3QKLXsKLSAgICByZXR1cm4gZF9wdHItPnRvVUludDE2KCk7Ci19Ci0KLS8qIQotICBcb2Jzb2xl
dGUKLQotICBUaGlzIGZ1bmN0aW9uIGlzIG9ic29sZXRlOyB1c2UgUVNjcmlwdEVuZ2luZTo6dG9P
YmplY3QoKSBpbnN0ZWFkLgotKi8KLVFTY3JpcHRWYWx1ZSBRU2NyaXB0VmFsdWU6OnRvT2JqZWN0
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KGRfcHRyLT50
b09iamVjdCgpKTsKLX0KLQotLyohCi0gICAgUmV0dXJucyBhIFFEYXRlVGltZSByZXByZXNlbnRh
dGlvbiBvZiB0aGlzIHZhbHVlLCBpbiBsb2NhbCB0aW1lLgotICAgIElmIHRoaXMgUVNjcmlwdFZh
bHVlIGlzIG5vdCBhIGRhdGUsIG9yIHRoZSB2YWx1ZSBvZiB0aGUgZGF0ZSBpcwotICAgIE5hTiAo
Tm90LWEtTnVtYmVyKSwgYW4gaW52YWxpZCBRRGF0ZVRpbWUgaXMgcmV0dXJuZWQuCi0KLSAgICBc
c2EgaXNEYXRlKCkKLSovCi1RRGF0ZVRpbWUgUVNjcmlwdFZhbHVlOjp0b0RhdGVUaW1lKCkgY29u
c3QKLXsKLSAgICByZXR1cm4gZF9wdHItPnRvRGF0ZVRpbWUoKTsKLX0KLQotLyohCi0gIENhbGxz
IHRoaXMgUVNjcmlwdFZhbHVlIGFzIGEgZnVuY3Rpb24sIHVzaW5nIFxhIHRoaXNPYmplY3QgYXMK
LSAgdGhlIGB0aGlzJyBvYmplY3QgaW4gdGhlIGZ1bmN0aW9uIGNhbGwsIGFuZCBwYXNzaW5nIFxh
IGFyZ3MKLSAgYXMgYXJndW1lbnRzIHRvIHRoZSBmdW5jdGlvbi4gUmV0dXJucyB0aGUgdmFsdWUg
cmV0dXJuZWQgZnJvbQotICB0aGUgZnVuY3Rpb24uCi0KLSAgSWYgdGhpcyBRU2NyaXB0VmFsdWUg
aXMgbm90IGEgZnVuY3Rpb24sIGNhbGwoKSBkb2VzIG5vdGhpbmcKLSAgYW5kIHJldHVybnMgYW4g
aW52YWxpZCBRU2NyaXB0VmFsdWUuCi0KLSAgTm90ZSB0aGF0IGlmIFxhIHRoaXNPYmplY3QgaXMg
bm90IGFuIG9iamVjdCwgdGhlIGdsb2JhbCBvYmplY3QKLSAgKHNlZSBcbHtRU2NyaXB0RW5naW5l
OjpnbG9iYWxPYmplY3QoKX0pIHdpbGwgYmUgdXNlZCBhcyB0aGUKLSAgYHRoaXMnIG9iamVjdC4K
LQotICBDYWxsaW5nIGNhbGwoKSBjYW4gY2F1c2UgYW4gZXhjZXB0aW9uIHRvIG9jY3VyIGluIHRo
ZSBzY3JpcHQgZW5naW5lOwotICBpbiB0aGF0IGNhc2UsIGNhbGwoKSByZXR1cm5zIHRoZSB2YWx1
ZSB0aGF0IHdhcyB0aHJvd24gKHR5cGljYWxseSBhbgotICBcY3tFcnJvcn0gb2JqZWN0KS4gWW91
IGNhbiBjYWxsCi0gIFFTY3JpcHRFbmdpbmU6Omhhc1VuY2F1Z2h0RXhjZXB0aW9uKCkgdG8gZGV0
ZXJtaW5lIGlmIGFuIGV4Y2VwdGlvbgotICBvY2N1cnJlZC4KLQotICBcc25pcHBldCBkb2Mvc3Jj
L3NuaXBwZXRzL2NvZGUvc3JjX3NjcmlwdF9xc2NyaXB0dmFsdWUuY3BwIDIKLQotICBcc2EgY29u
c3RydWN0KCkKLSovCi1RU2NyaXB0VmFsdWUgUVNjcmlwdFZhbHVlOjpjYWxsKGNvbnN0IFFTY3Jp
cHRWYWx1ZSYgdGhpc09iamVjdCwgY29uc3QgUVNjcmlwdFZhbHVlTGlzdCYgYXJncykKLXsKLSAg
ICByZXR1cm4gZF9wdHItPmNhbGwodGhpc09iamVjdC5kX3B0ci5kYXRhKCksIGFyZ3MpOwotfQot
Ci0vKiEKLSAgUmV0dXJucyB0aGUgUVNjcmlwdEVuZ2luZSB0aGF0IGNyZWF0ZWQgdGhpcyBRU2Ny
aXB0VmFsdWUsCi0gIG9yIDAgaWYgdGhpcyBRU2NyaXB0VmFsdWUgaXMgaW52YWxpZCBvciB0aGUg
dmFsdWUgaXMgbm90Ci0gIGFzc29jaWF0ZWQgd2l0aCBhIHBhcnRpY3VsYXIgZW5naW5lLgotKi8K
LVFTY3JpcHRFbmdpbmUqIFFTY3JpcHRWYWx1ZTo6ZW5naW5lKCkgY29uc3QKLXsKLSAgICBRU2Ny
aXB0RW5naW5lUHJpdmF0ZSogZW5naW5lID0gZF9wdHItPmVuZ2luZSgpOwotICAgIGlmIChlbmdp
bmUpCi0gICAgICAgIHJldHVybiBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6Z2V0KGVuZ2luZSk7Ci0g
ICAgcmV0dXJuIDA7Ci19Ci0KLS8qIQotICBJZiB0aGlzIFFTY3JpcHRWYWx1ZSBpcyBhbiBvYmpl
Y3QsIHJldHVybnMgdGhlIGludGVybmFsIHByb3RvdHlwZQotICAoXGN7X19wcm90b19ffSBwcm9w
ZXJ0eSkgb2YgdGhpcyBvYmplY3Q7IG90aGVyd2lzZSByZXR1cm5zIGFuCi0gIGludmFsaWQgUVNj
cmlwdFZhbHVlLgotCi0gIFxzYSBzZXRQcm90b3R5cGUoKSwgaXNPYmplY3QoKQotKi8KLVFTY3Jp
cHRWYWx1ZSBRU2NyaXB0VmFsdWU6OnByb3RvdHlwZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFFT
Y3JpcHRWYWx1ZVByaXZhdGU6OmdldChkX3B0ci0+cHJvdG90eXBlKCkpOwotfQotCi0vKiEKLSAg
SWYgdGhpcyBRU2NyaXB0VmFsdWUgaXMgYW4gb2JqZWN0LCBzZXRzIHRoZSBpbnRlcm5hbCBwcm90
b3R5cGUKLSAgKFxje19fcHJvdG9fX30gcHJvcGVydHkpIG9mIHRoaXMgb2JqZWN0IHRvIGJlIFxh
IHByb3RvdHlwZTsKLSAgb3RoZXJ3aXNlIGRvZXMgbm90aGluZy4KLQotICBUaGUgaW50ZXJuYWwg
cHJvdG90eXBlIHNob3VsZCBub3QgYmUgY29uZnVzZWQgd2l0aCB0aGUgcHVibGljCi0gIHByb3Bl
cnR5IHdpdGggbmFtZSAicHJvdG90eXBlIjsgdGhlIHB1YmxpYyBwcm90b3R5cGUgaXMgdXN1YWxs
eQotICBvbmx5IHNldCBvbiBmdW5jdGlvbnMgdGhhdCBhY3QgYXMgY29uc3RydWN0b3JzLgotCi0g
IFxzYSBwcm90b3R5cGUoKSwgaXNPYmplY3QoKQotKi8KLXZvaWQgUVNjcmlwdFZhbHVlOjpzZXRQ
cm90b3R5cGUoY29uc3QgUVNjcmlwdFZhbHVlJiBwcm90b3R5cGUpCi17Ci0gICAgZF9wdHItPnNl
dFByb3RvdHlwZShRU2NyaXB0VmFsdWVQcml2YXRlOjpnZXQocHJvdG90eXBlKSk7Ci19Ci0KLS8q
IQotICBBc3NpZ25zIHRoZSBcYSBvdGhlciB2YWx1ZSB0byB0aGlzIFFTY3JpcHRWYWx1ZS4KLQot
ICBOb3RlIHRoYXQgaWYgXGEgb3RoZXIgaXMgYW4gb2JqZWN0IChpc09iamVjdCgpIHJldHVybnMg
dHJ1ZSksCi0gIG9ubHkgYSByZWZlcmVuY2UgdG8gdGhlIHVuZGVybHlpbmcgb2JqZWN0IHdpbGwg
YmUgYXNzaWduZWQ7Ci0gIHRoZSBvYmplY3QgaXRzZWxmIHdpbGwgbm90IGJlIGNvcGllZC4KLSov
Ci1RU2NyaXB0VmFsdWUmIFFTY3JpcHRWYWx1ZTo6b3BlcmF0b3I9KGNvbnN0IFFTY3JpcHRWYWx1
ZSYgb3RoZXIpCi17Ci0gICAgZF9wdHIgPSBvdGhlci5kX3B0cjsKLSAgICByZXR1cm4gKnRoaXM7
Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRydWUgaWYgdGhpcyBRU2NyaXB0VmFsdWUgaXMgZXF1YWwg
dG8gXGEgb3RoZXIsIG90aGVyd2lzZQotICByZXR1cm5zIGZhbHNlLiBUaGUgY29tcGFyaXNvbiBm
b2xsb3dzIHRoZSBiZWhhdmlvciBkZXNjcmliZWQgaW4KLSAgXGx7RUNNQS0yNjJ9IHNlY3Rpb24g
MTEuOS4zLCAiVGhlIEFic3RyYWN0IEVxdWFsaXR5IENvbXBhcmlzb24KLSAgQWxnb3JpdGhtIi4K
LQotICBUaGlzIGZ1bmN0aW9uIGNhbiByZXR1cm4gdHJ1ZSBldmVuIGlmIHRoZSB0eXBlIG9mIHRo
aXMgUVNjcmlwdFZhbHVlCi0gIGlzIGRpZmZlcmVudCBmcm9tIHRoZSB0eXBlIG9mIHRoZSBcYSBv
dGhlciB2YWx1ZTsgaS5lLiB0aGUKLSAgY29tcGFyaXNvbiBpcyBub3Qgc3RyaWN0LiAgRm9yIGV4
YW1wbGUsIGNvbXBhcmluZyB0aGUgbnVtYmVyIDkgdG8KLSAgdGhlIHN0cmluZyAiOSIgcmV0dXJu
cyB0cnVlOyBjb21wYXJpbmcgYW4gdW5kZWZpbmVkIHZhbHVlIHRvIGEgbnVsbAotICB2YWx1ZSBy
ZXR1cm5zIHRydWU7IGNvbXBhcmluZyBhIFxje051bWJlcn0gb2JqZWN0IHdob3NlIHByaW1pdGl2
ZQotICB2YWx1ZSBpcyA2IHRvIGEgXGN7U3RyaW5nfSBvYmplY3Qgd2hvc2UgcHJpbWl0aXZlIHZh
bHVlIGlzICI2IgotICByZXR1cm5zIHRydWU7IGFuZCBjb21wYXJpbmcgdGhlIG51bWJlciAxIHRv
IHRoZSBib29sZWFuIHZhbHVlCi0gIFxje3RydWV9IHJldHVybnMgdHJ1ZS4gSWYgeW91IHdhbnQg
dG8gcGVyZm9ybSBhIGNvbXBhcmlzb24KLSAgd2l0aG91dCBzdWNoIGltcGxpY2l0IHZhbHVlIGNv
bnZlcnNpb24sIHVzZSBzdHJpY3RseUVxdWFscygpLgotCi0gIE5vdGUgdGhhdCBpZiB0aGlzIFFT
Y3JpcHRWYWx1ZSBvciB0aGUgXGEgb3RoZXIgdmFsdWUgYXJlIG9iamVjdHMsCi0gIGNhbGxpbmcg
dGhpcyBmdW5jdGlvbiBoYXMgc2lkZSBlZmZlY3RzIG9uIHRoZSBzY3JpcHQgZW5naW5lLCBzaW5j
ZQotICB0aGUgZW5naW5lIHdpbGwgY2FsbCB0aGUgb2JqZWN0J3MgdmFsdWVPZigpIGZ1bmN0aW9u
IChhbmQgcG9zc2libHkKLSAgdG9TdHJpbmcoKSkgaW4gYW4gYXR0ZW1wdCB0byBjb252ZXJ0IHRo
ZSBvYmplY3QgdG8gYSBwcmltaXRpdmUgdmFsdWUKLSAgKHBvc3NpYmx5IHJlc3VsdGluZyBpbiBh
biB1bmNhdWdodCBzY3JpcHQgZXhjZXB0aW9uKS4KLQotICBcc2Egc3RyaWN0bHlFcXVhbHMoKSwg
bGVzc1RoYW4oKQotKi8KLWJvb2wgUVNjcmlwdFZhbHVlOjplcXVhbHMoY29uc3QgUVNjcmlwdFZh
bHVlJiBvdGhlcikgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPmVxdWFscyhRU2NyaXB0VmFs
dWVQcml2YXRlOjpnZXQob3RoZXIpKTsKLX0KLQotLyohCi0gIFJldHVybnMgdHJ1ZSBpZiB0aGlz
IFFTY3JpcHRWYWx1ZSBpcyBlcXVhbCB0byBcYSBvdGhlciB1c2luZyBzdHJpY3QKLSAgY29tcGFy
aXNvbiAobm8gY29udmVyc2lvbiksIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLiBUaGUgY29tcGFy
aXNvbgotICBmb2xsb3dzIHRoZSBiZWhhdmlvciBkZXNjcmliZWQgaW4gXGx7RUNNQS0yNjJ9IHNl
Y3Rpb24gMTEuOS42LCAiVGhlCi0gIFN0cmljdCBFcXVhbGl0eSBDb21wYXJpc29uIEFsZ29yaXRo
bSIuCi0KLSAgSWYgdGhlIHR5cGUgb2YgdGhpcyBRU2NyaXB0VmFsdWUgaXMgZGlmZmVyZW50IGZy
b20gdGhlIHR5cGUgb2YgdGhlCi0gIFxhIG90aGVyIHZhbHVlLCB0aGlzIGZ1bmN0aW9uIHJldHVy
bnMgZmFsc2UuIElmIHRoZSB0eXBlcyBhcmUgZXF1YWwsCi0gIHRoZSByZXN1bHQgZGVwZW5kcyBv
biB0aGUgdHlwZSwgYXMgc2hvd24gaW4gdGhlIGZvbGxvd2luZyB0YWJsZToKLQotICAgIFx0YWJs
ZQotICAgIFxoZWFkZXIgXG8gVHlwZSBcbyBSZXN1bHQKLSAgICBccm93ICAgIFxvIFVuZGVmaW5l
ZCAgXG8gdHJ1ZQotICAgIFxyb3cgICAgXG8gTnVsbCAgICAgICBcbyB0cnVlCi0gICAgXHJvdyAg
ICBcbyBCb29sZWFuICAgIFxvIHRydWUgaWYgYm90aCB2YWx1ZXMgYXJlIHRydWUsIGZhbHNlIG90
aGVyd2lzZQotICAgIFxyb3cgICAgXG8gTnVtYmVyICAgICBcbyBmYWxzZSBpZiBlaXRoZXIgdmFs
dWUgaXMgTmFOIChOb3QtYS1OdW1iZXIpOyB0cnVlIGlmIHZhbHVlcyBhcmUgZXF1YWwsIGZhbHNl
IG90aGVyd2lzZQotICAgIFxyb3cgICAgXG8gU3RyaW5nICAgICBcbyB0cnVlIGlmIGJvdGggdmFs
dWVzIGFyZSBleGFjdGx5IHRoZSBzYW1lIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMsIGZhbHNlIG90
aGVyd2lzZQotICAgIFxyb3cgICAgXG8gT2JqZWN0ICAgICBcbyB0cnVlIGlmIGJvdGggdmFsdWVz
IHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCwgZmFsc2Ugb3RoZXJ3aXNlCi0gICAgXGVuZHRhYmxl
Ci0KLSAgXHNhIGVxdWFscygpCi0qLwotYm9vbCBRU2NyaXB0VmFsdWU6OnN0cmljdGx5RXF1YWxz
KGNvbnN0IFFTY3JpcHRWYWx1ZSYgb3RoZXIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5z
dHJpY3RseUVxdWFscyhRU2NyaXB0VmFsdWVQcml2YXRlOjpnZXQob3RoZXIpKTsKLX0KLQotLyoh
Ci0gICAgUmV0dXJucyB0cnVlIGlmIHRoaXMgUVNjcmlwdFZhbHVlIGlzIGFuIGluc3RhbmNlIG9m
Ci0gICAgXGEgb3RoZXI7IG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLgotCi0gICAgVGhpcyBRU2Ny
aXB0VmFsdWUgaXMgY29uc2lkZXJlZCB0byBiZSBhbiBpbnN0YW5jZSBvZiBcYSBvdGhlciBpZgot
ICAgIFxhIG90aGVyIGlzIGEgZnVuY3Rpb24gYW5kIHRoZSB2YWx1ZSBvZiB0aGUgXGN7cHJvdG90
eXBlfQotICAgIHByb3BlcnR5IG9mIFxhIG90aGVyIGlzIGluIHRoZSBwcm90b3R5cGUgY2hhaW4g
b2YgdGhpcwotICAgIFFTY3JpcHRWYWx1ZS4KLSovCi1ib29sIFFTY3JpcHRWYWx1ZTo6aW5zdGFu
Y2VPZihjb25zdCBRU2NyaXB0VmFsdWUmIG90aGVyKSBjb25zdAotewotICAgIHJldHVybiBkX3B0
ci0+aW5zdGFuY2VPZihRU2NyaXB0VmFsdWVQcml2YXRlOjpnZXQob3RoZXIpKTsKLX0KLQotLyoh
Ci0gIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoaXMgUVNjcmlwdFZhbHVlJ3MgcHJvcGVydHkgd2l0
aCB0aGUgZ2l2ZW4gXGEgbmFtZSwKLSAgdXNpbmcgdGhlIGdpdmVuIFxhIG1vZGUgdG8gcmVzb2x2
ZSB0aGUgcHJvcGVydHkuCi0KLSAgSWYgbm8gc3VjaCBwcm9wZXJ0eSBleGlzdHMsIGFuIGludmFs
aWQgUVNjcmlwdFZhbHVlIGlzIHJldHVybmVkLgotCi0gIElmIHRoZSBwcm9wZXJ0eSBpcyBpbXBs
ZW1lbnRlZCB1c2luZyBhIGdldHRlciBmdW5jdGlvbiAoaS5lLiBoYXMgdGhlCi0gIFByb3BlcnR5
R2V0dGVyIGZsYWcgc2V0KSwgY2FsbGluZyBwcm9wZXJ0eSgpIGhhcyBzaWRlLWVmZmVjdHMgb24g
dGhlCi0gIHNjcmlwdCBlbmdpbmUsIHNpbmNlIHRoZSBnZXR0ZXIgZnVuY3Rpb24gd2lsbCBiZSBj
YWxsZWQgKHBvc3NpYmx5Ci0gIHJlc3VsdGluZyBpbiBhbiB1bmNhdWdodCBzY3JpcHQgZXhjZXB0
aW9uKS4gSWYgYW4gZXhjZXB0aW9uCi0gIG9jY3VycmVkLCBwcm9wZXJ0eSgpIHJldHVybnMgdGhl
IHZhbHVlIHRoYXQgd2FzIHRocm93biAodHlwaWNhbGx5Ci0gIGFuIFxje0Vycm9yfSBvYmplY3Qp
LgotCi0gIFxzYSBzZXRQcm9wZXJ0eSgpLCBwcm9wZXJ0eUZsYWdzKCksIFFTY3JpcHRWYWx1ZUl0
ZXJhdG9yCi0qLwotUVNjcmlwdFZhbHVlIFFTY3JpcHRWYWx1ZTo6cHJvcGVydHkoY29uc3QgUVN0
cmluZyYgbmFtZSwgY29uc3QgUmVzb2x2ZUZsYWdzJiBtb2RlKSBjb25zdAotewotICAgIHJldHVy
biBRU2NyaXB0VmFsdWVQcml2YXRlOjpnZXQoZF9wdHItPnByb3BlcnR5KG5hbWUsIG1vZGUpKTsK
LX0KLQotLyohCi0gIFxvdmVybG9hZAotCi0gIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoaXMgUVNj
cmlwdFZhbHVlJ3MgcHJvcGVydHkgd2l0aCB0aGUgZ2l2ZW4gXGEgbmFtZSwKLSAgdXNpbmcgdGhl
IGdpdmVuIFxhIG1vZGUgdG8gcmVzb2x2ZSB0aGUgcHJvcGVydHkuCi0KLSAgVGhpcyBvdmVybG9h
ZCBvZiBwcm9wZXJ0eSgpIGlzIHVzZWZ1bCB3aGVuIHlvdSBuZWVkIHRvIGxvb2sgdXAgdGhlCi0g
IHNhbWUgcHJvcGVydHkgcmVwZWF0ZWRseSwgc2luY2UgdGhlIGxvb2t1cCBjYW4gYmUgcGVyZm9y
bWVkIGZhc3RlcgotICB3aGVuIHRoZSBuYW1lIGlzIHJlcHJlc2VudGVkIGFzIGFuIGludGVybmVk
IHN0cmluZy4KLQotICBcc2EgUVNjcmlwdEVuZ2luZTo6dG9TdHJpbmdIYW5kbGUoKSwgc2V0UHJv
cGVydHkoKQotKi8KLVFTY3JpcHRWYWx1ZSBRU2NyaXB0VmFsdWU6OnByb3BlcnR5KGNvbnN0IFFT
Y3JpcHRTdHJpbmcmIG5hbWUsIGNvbnN0IFJlc29sdmVGbGFncyYgbW9kZSkgY29uc3QKLXsKLSAg
ICByZXR1cm4gUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KGRfcHRyLT5wcm9wZXJ0eShRU2NyaXB0
U3RyaW5nUHJpdmF0ZTo6Z2V0KG5hbWUpLmNvbnN0RGF0YSgpLCBtb2RlKSk7Ci19Ci0KLS8qIQot
ICBcb3ZlcmxvYWQKLQotICBSZXR1cm5zIHRoZSBwcm9wZXJ0eSBhdCB0aGUgZ2l2ZW4gXGEgYXJy
YXlJbmRleCwgdXNpbmcgdGhlIGdpdmVuIFxhCi0gIG1vZGUgdG8gcmVzb2x2ZSB0aGUgcHJvcGVy
dHkuCi0KLSAgVGhpcyBmdW5jdGlvbiBpcyBwcm92aWRlZCBmb3IgY29udmVuaWVuY2UgYW5kIHBl
cmZvcm1hbmNlIHdoZW4KLSAgd29ya2luZyB3aXRoIGFycmF5IG9iamVjdHMuCi0KLSAgSWYgdGhp
cyBRU2NyaXB0VmFsdWUgaXMgbm90IGFuIEFycmF5IG9iamVjdCwgdGhpcyBmdW5jdGlvbiBiZWhh
dmVzCi0gIGFzIGlmIHByb3BlcnR5KCkgd2FzIGNhbGxlZCB3aXRoIHRoZSBzdHJpbmcgcmVwcmVz
ZW50YXRpb24gb2YgXGEKLSAgYXJyYXlJbmRleC4KLSovCi1RU2NyaXB0VmFsdWUgUVNjcmlwdFZh
bHVlOjpwcm9wZXJ0eShxdWludDMyIGFycmF5SW5kZXgsIGNvbnN0IFJlc29sdmVGbGFncyYgbW9k
ZSkgY29uc3QKLXsKLSAgICByZXR1cm4gUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KGRfcHRyLT5w
cm9wZXJ0eShhcnJheUluZGV4LCBtb2RlKSk7Ci19Ci0KLS8qIQotICBTZXRzIHRoZSB2YWx1ZSBv
ZiB0aGlzIFFTY3JpcHRWYWx1ZSdzIHByb3BlcnR5IHdpdGggdGhlIGdpdmVuIFxhIG5hbWUgdG8K
LSAgdGhlIGdpdmVuIFxhIHZhbHVlLgotCi0gIElmIHRoaXMgUVNjcmlwdFZhbHVlIGlzIG5vdCBh
biBvYmplY3QsIHRoaXMgZnVuY3Rpb24gZG9lcyBub3RoaW5nLgotCi0gIElmIHRoaXMgUVNjcmlw
dFZhbHVlIGRvZXMgbm90IGFscmVhZHkgaGF2ZSBhIHByb3BlcnR5IHdpdGggbmFtZSBcYSBuYW1l
LAotICBhIG5ldyBwcm9wZXJ0eSBpcyBjcmVhdGVkOyB0aGUgZ2l2ZW4gXGEgZmxhZ3MgdGhlbiBz
cGVjaWZ5IGhvdyB0aGlzCi0gIHByb3BlcnR5IG1heSBiZSBhY2Nlc3NlZCBieSBzY3JpcHQgY29k
ZS4KLQotICBJZiBcYSB2YWx1ZSBpcyBpbnZhbGlkLCB0aGUgcHJvcGVydHkgaXMgcmVtb3ZlZC4K
LQotICBJZiB0aGUgcHJvcGVydHkgaXMgaW1wbGVtZW50ZWQgdXNpbmcgYSBzZXR0ZXIgZnVuY3Rp
b24gKGkuZS4gaGFzIHRoZQotICBQcm9wZXJ0eVNldHRlciBmbGFnIHNldCksIGNhbGxpbmcgc2V0
UHJvcGVydHkoKSBoYXMgc2lkZS1lZmZlY3RzIG9uCi0gIHRoZSBzY3JpcHQgZW5naW5lLCBzaW5j
ZSB0aGUgc2V0dGVyIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlCi0gIGdpdmVuIFxh
IHZhbHVlIGFzIGFyZ3VtZW50IChwb3NzaWJseSByZXN1bHRpbmcgaW4gYW4gdW5jYXVnaHQgc2Ny
aXB0Ci0gIGV4Y2VwdGlvbikuCi0KLSAgTm90ZSB0aGF0IHlvdSBjYW5ub3Qgc3BlY2lmeSBjdXN0
b20gZ2V0dGVyIG9yIHNldHRlciBmdW5jdGlvbnMgZm9yCi0gIGJ1aWx0LWluIHByb3BlcnRpZXMs
IHN1Y2ggYXMgdGhlIFxje2xlbmd0aH0gcHJvcGVydHkgb2YgQXJyYXkgb2JqZWN0cwotICBvciBt
ZXRhIHByb3BlcnRpZXMgb2YgUU9iamVjdCBvYmplY3RzLgotCi0gIFxzYSBwcm9wZXJ0eSgpCi0q
Lwotdm9pZCBRU2NyaXB0VmFsdWU6OnNldFByb3BlcnR5KGNvbnN0IFFTdHJpbmcmIG5hbWUsIGNv
bnN0IFFTY3JpcHRWYWx1ZSYgdmFsdWUsIGNvbnN0IFByb3BlcnR5RmxhZ3MmIGZsYWdzKQotewot
ICAgIGRfcHRyLT5zZXRQcm9wZXJ0eShuYW1lLCBRU2NyaXB0VmFsdWVQcml2YXRlOjpnZXQodmFs
dWUpLCBmbGFncyk7Ci19Ci0KLS8qIQotICBcb3ZlcmxvYWQKLQotICBTZXRzIHRoZSBwcm9wZXJ0
eSBhdCB0aGUgZ2l2ZW4gXGEgYXJyYXlJbmRleCB0byB0aGUgZ2l2ZW4gXGEgdmFsdWUuCi0KLSAg
VGhpcyBmdW5jdGlvbiBpcyBwcm92aWRlZCBmb3IgY29udmVuaWVuY2UgYW5kIHBlcmZvcm1hbmNl
IHdoZW4KLSAgd29ya2luZyB3aXRoIGFycmF5IG9iamVjdHMuCi0KLSAgSWYgdGhpcyBRU2NyaXB0
VmFsdWUgaXMgbm90IGFuIEFycmF5IG9iamVjdCwgdGhpcyBmdW5jdGlvbiBiZWhhdmVzCi0gIGFz
IGlmIHNldFByb3BlcnR5KCkgd2FzIGNhbGxlZCB3aXRoIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRp
b24gb2YgXGEKLSAgYXJyYXlJbmRleC4KLSovCi12b2lkIFFTY3JpcHRWYWx1ZTo6c2V0UHJvcGVy
dHkocXVpbnQzMiBhcnJheUluZGV4LCBjb25zdCBRU2NyaXB0VmFsdWUmIHZhbHVlLCBjb25zdCBQ
cm9wZXJ0eUZsYWdzJiBmbGFncykKLXsKLSAgICBkX3B0ci0+c2V0UHJvcGVydHkoYXJyYXlJbmRl
eCwgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KHZhbHVlKSwgZmxhZ3MpOwotfQotCi0vKiEKLSAg
U2V0cyB0aGUgdmFsdWUgb2YgdGhpcyBRU2NyaXB0VmFsdWUncyBwcm9wZXJ0eSB3aXRoIHRoZSBn
aXZlbiBcYQotICBuYW1lIHRvIHRoZSBnaXZlbiBcYSB2YWx1ZS4gVGhlIGdpdmVuIFxhIGZsYWdz
IHNwZWNpZnkgaG93IHRoaXMKLSAgcHJvcGVydHkgbWF5IGJlIGFjY2Vzc2VkIGJ5IHNjcmlwdCBj
b2RlLgotCi0gIFRoaXMgb3ZlcmxvYWQgb2Ygc2V0UHJvcGVydHkoKSBpcyB1c2VmdWwgd2hlbiB5
b3UgbmVlZCB0byBzZXQgdGhlCi0gIHNhbWUgcHJvcGVydHkgcmVwZWF0ZWRseSwgc2luY2UgdGhl
IG9wZXJhdGlvbiBjYW4gYmUgcGVyZm9ybWVkCi0gIGZhc3RlciB3aGVuIHRoZSBuYW1lIGlzIHJl
cHJlc2VudGVkIGFzIGFuIGludGVybmVkIHN0cmluZy4KLQotICBcc2EgUVNjcmlwdEVuZ2luZTo6
dG9TdHJpbmdIYW5kbGUoKQotKi8KLXZvaWQgUVNjcmlwdFZhbHVlOjpzZXRQcm9wZXJ0eShjb25z
dCBRU2NyaXB0U3RyaW5nJiBuYW1lLCBjb25zdCBRU2NyaXB0VmFsdWUmIHZhbHVlLCBjb25zdCBQ
cm9wZXJ0eUZsYWdzJiBmbGFncykKLXsKLSAgICBkX3B0ci0+c2V0UHJvcGVydHkoUVNjcmlwdFN0
cmluZ1ByaXZhdGU6OmdldChuYW1lKS5jb25zdERhdGEoKSwgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6
Z2V0KHZhbHVlKSwgZmxhZ3MpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0aGUgZmxhZ3Mgb2YgdGhl
IHByb3BlcnR5IHdpdGggdGhlIGdpdmVuIFxhIG5hbWUsIHVzaW5nIHRoZQotICBnaXZlbiBcYSBt
b2RlIHRvIHJlc29sdmUgdGhlIHByb3BlcnR5LgotCi0gIFxzYSBwcm9wZXJ0eSgpCi0qLwotUVNj
cmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdzIFFTY3JpcHRWYWx1ZTo6cHJvcGVydHlGbGFncyhjb25z
dCBRU3RyaW5nJiBuYW1lLCBjb25zdCBSZXNvbHZlRmxhZ3MmIG1vZGUpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIGRfcHRyLT5wcm9wZXJ0eUZsYWdzKG5hbWUsIG1vZGUpOwotfQotCi0vKiEKLSAgUmV0
dXJucyB0aGUgZmxhZ3Mgb2YgdGhlIHByb3BlcnR5IHdpdGggdGhlIGdpdmVuIFxhIG5hbWUsIHVz
aW5nIHRoZQotICBnaXZlbiBcYSBtb2RlIHRvIHJlc29sdmUgdGhlIHByb3BlcnR5LgotCi0gIFxz
YSBwcm9wZXJ0eSgpCi0qLwotUVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdzIFFTY3JpcHRWYWx1
ZTo6cHJvcGVydHlGbGFncyhjb25zdCBRU2NyaXB0U3RyaW5nJiBuYW1lLCBjb25zdCBSZXNvbHZl
RmxhZ3MmIG1vZGUpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5wcm9wZXJ0eUZsYWdzKFFT
Y3JpcHRTdHJpbmdQcml2YXRlOjpnZXQobmFtZSkuY29uc3REYXRhKCksIG1vZGUpOwotfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0dmFsdWUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHZhbHVlLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGJkMzM4NDkuLjAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3F0L2FwaS9xc2NyaXB0dmFsdWUuaAorKysgL2Rldi9udWxsCkBAIC0xLDE0MCArMCwwIEBA
Ci0vKgotICAgIENvcHlyaWdodCAoQykgMjAwOSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRz
IHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaWZuZGVmIHFzY3JpcHR2YWx1ZV9oCi0jZGVmaW5lIHFz
Y3JpcHR2YWx1ZV9oCi0KLSNpbmNsdWRlICJxc2NyaXB0c3RyaW5nLmgiCi0jaW5jbHVkZSA8UXRD
b3JlL3FsaXN0Lmg+Ci0jaW5jbHVkZSA8UXRDb3JlL3FzaGFyZWRkYXRhLmg+Ci0KLWNsYXNzIFFT
Y3JpcHRFbmdpbmU7Ci1jbGFzcyBRU2NyaXB0VmFsdWVQcml2YXRlOwotY2xhc3MgUURhdGVUaW1l
OwotCi1jbGFzcyBRU2NyaXB0VmFsdWU7Ci10eXBlZGVmIFFMaXN0PFFTY3JpcHRWYWx1ZT4gUVNj
cmlwdFZhbHVlTGlzdDsKLQotdHlwZWRlZiBkb3VibGUgcXNyZWFsOwotCi1jbGFzcyBRU2NyaXB0
VmFsdWUgewotcHVibGljOgotICAgIGVudW0gUmVzb2x2ZUZsYWcgewotICAgICAgICBSZXNvbHZl
TG9jYWwgICAgICAgID0gMHgwMCwKLSAgICAgICAgUmVzb2x2ZVByb3RvdHlwZSAgICA9IDB4MDEs
Ci0gICAgICAgIFJlc29sdmVTY29wZSAgICAgICAgPSAweDAyLAotICAgICAgICBSZXNvbHZlRnVs
bCAgICAgICAgID0gUmVzb2x2ZVByb3RvdHlwZSB8IFJlc29sdmVTY29wZQotICAgIH07Ci0gICAg
UV9ERUNMQVJFX0ZMQUdTKFJlc29sdmVGbGFncywgUmVzb2x2ZUZsYWcpCi0KLSAgICBlbnVtIFBy
b3BlcnR5RmxhZyB7Ci0gICAgICAgIFJlYWRPbmx5ICAgICAgICAgICAgPSAweDAwMDAwMDAxLAot
ICAgICAgICBVbmRlbGV0YWJsZSAgICAgICAgID0gMHgwMDAwMDAwMiwKLSAgICAgICAgU2tpcElu
RW51bWVyYXRpb24gICA9IDB4MDAwMDAwMDQsCi0gICAgICAgIFByb3BlcnR5R2V0dGVyICAgICAg
PSAweDAwMDAwMDA4LAotICAgICAgICBQcm9wZXJ0eVNldHRlciAgICAgID0gMHgwMDAwMDAxMCwK
LSAgICAgICAgUU9iamVjdE1lbWJlciAgICAgICA9IDB4MDAwMDAwMjAsCi0gICAgICAgIEtlZXBF
eGlzdGluZ0ZsYWdzICAgPSAweDAwMDAwODAwLAotICAgICAgICBVc2VyUmFuZ2UgICAgICAgICAg
ID0gMHhmZjAwMDAwMCAvLyBVc2VycyBtYXkgdXNlIHRoZXNlIGFzIHRoZXkgc2VlIGZpdC4KLSAg
ICB9OwotICAgIFFfREVDTEFSRV9GTEFHUyhQcm9wZXJ0eUZsYWdzLCBQcm9wZXJ0eUZsYWcpCi0K
LSAgICBlbnVtIFNwZWNpYWxWYWx1ZSB7Ci0gICAgICAgIE51bGxWYWx1ZSwKLSAgICAgICAgVW5k
ZWZpbmVkVmFsdWUKLSAgICB9OwotCi0gICAgUVNjcmlwdFZhbHVlKCk7Ci0gICAgUVNjcmlwdFZh
bHVlKGJvb2wgdmFsdWUpOwotICAgIFFTY3JpcHRWYWx1ZShpbnQgdmFsdWUpOwotICAgIFFTY3Jp
cHRWYWx1ZSh1aW50IHZhbHVlKTsKLSAgICBRU2NyaXB0VmFsdWUocXNyZWFsIHZhbHVlKTsKLSAg
ICBRU2NyaXB0VmFsdWUoY29uc3QgUVN0cmluZyYgdmFsdWUpOwotICAgIFFTY3JpcHRWYWx1ZShj
b25zdCBjaGFyKiB2YWx1ZSk7Ci0gICAgUVNjcmlwdFZhbHVlKFNwZWNpYWxWYWx1ZSB2YWx1ZSk7
Ci0gICAgUVNjcmlwdFZhbHVlKGNvbnN0IFFTY3JpcHRWYWx1ZSYgb3RoZXIpOwotCi0gICAgUVNj
cmlwdFZhbHVlKFFTY3JpcHRFbmdpbmUqIGVuZ2luZSwgYm9vbCB2YWx1ZSk7Ci0gICAgUVNjcmlw
dFZhbHVlKFFTY3JpcHRFbmdpbmUqIGVuZ2luZSwgaW50IHZhbHVlKTsKLSAgICBRU2NyaXB0VmFs
dWUoUVNjcmlwdEVuZ2luZSogZW5naW5lLCB1aW50IHZhbHVlKTsKLSAgICBRU2NyaXB0VmFsdWUo
UVNjcmlwdEVuZ2luZSogZW5naW5lLCBxc3JlYWwgdmFsdWUpOwotICAgIFFTY3JpcHRWYWx1ZShR
U2NyaXB0RW5naW5lKiBlbmdpbmUsIGNvbnN0IFFTdHJpbmcmIHZhbHVlKTsKLSAgICBRU2NyaXB0
VmFsdWUoUVNjcmlwdEVuZ2luZSogZW5naW5lLCBjb25zdCBjaGFyKiB2YWx1ZSk7Ci0gICAgUVNj
cmlwdFZhbHVlKFFTY3JpcHRFbmdpbmUqIGVuZ2luZSwgU3BlY2lhbFZhbHVlIHZhbHVlKTsKLQot
ICAgIH5RU2NyaXB0VmFsdWUoKTsKLQotICAgIFFTY3JpcHRWYWx1ZSYgb3BlcmF0b3I9KGNvbnN0
IFFTY3JpcHRWYWx1ZSYgb3RoZXIpOwotCi0gICAgUVNjcmlwdFZhbHVlIHByb3RvdHlwZSgpIGNv
bnN0OwotICAgIHZvaWQgc2V0UHJvdG90eXBlKGNvbnN0IFFTY3JpcHRWYWx1ZSYgcHJvdG90eXBl
KTsKLQotICAgIGJvb2wgZXF1YWxzKGNvbnN0IFFTY3JpcHRWYWx1ZSYgb3RoZXIpIGNvbnN0Owot
ICAgIGJvb2wgc3RyaWN0bHlFcXVhbHMoY29uc3QgUVNjcmlwdFZhbHVlJiBvdGhlcikgY29uc3Q7
Ci0gICAgYm9vbCBpbnN0YW5jZU9mKGNvbnN0IFFTY3JpcHRWYWx1ZSYgb3RoZXIpIGNvbnN0Owot
Ci0gICAgUVNjcmlwdFZhbHVlIHByb3BlcnR5KGNvbnN0IFFTdHJpbmcmIG5hbWUsIGNvbnN0IFJl
c29sdmVGbGFncyYgbW9kZSA9IFJlc29sdmVQcm90b3R5cGUpIGNvbnN0OwotICAgIFFTY3JpcHRW
YWx1ZSBwcm9wZXJ0eShjb25zdCBRU2NyaXB0U3RyaW5nJiBuYW1lLCBjb25zdCBSZXNvbHZlRmxh
Z3MmIG1vZGUgPSBSZXNvbHZlUHJvdG90eXBlKSBjb25zdDsKLSAgICBRU2NyaXB0VmFsdWUgcHJv
cGVydHkocXVpbnQzMiBhcnJheUluZGV4LCBjb25zdCBSZXNvbHZlRmxhZ3MmIG1vZGUgPSBSZXNv
bHZlUHJvdG90eXBlKSBjb25zdDsKLQotICAgIHZvaWQgc2V0UHJvcGVydHkoY29uc3QgUVN0cmlu
ZyYgbmFtZSwgY29uc3QgUVNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3QgUHJvcGVydHlGbGFncyYg
ZmxhZ3MgPSBLZWVwRXhpc3RpbmdGbGFncyk7Ci0gICAgdm9pZCBzZXRQcm9wZXJ0eShxdWludDMy
IGFycmF5SW5kZXgsIGNvbnN0IFFTY3JpcHRWYWx1ZSYgdmFsdWUsIGNvbnN0IFByb3BlcnR5Rmxh
Z3MmIGZsYWdzID0gS2VlcEV4aXN0aW5nRmxhZ3MpOwotICAgIHZvaWQgc2V0UHJvcGVydHkoY29u
c3QgUVNjcmlwdFN0cmluZyYgbmFtZSwgY29uc3QgUVNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3Qg
UHJvcGVydHlGbGFncyYgZmxhZ3MgPSBLZWVwRXhpc3RpbmdGbGFncyk7Ci0KLSAgICBQcm9wZXJ0
eUZsYWdzIHByb3BlcnR5RmxhZ3MoY29uc3QgUVN0cmluZyYgbmFtZSwgY29uc3QgUmVzb2x2ZUZs
YWdzJiBtb2RlID0gUmVzb2x2ZVByb3RvdHlwZSkgY29uc3Q7Ci0gICAgUHJvcGVydHlGbGFncyBw
cm9wZXJ0eUZsYWdzKGNvbnN0IFFTY3JpcHRTdHJpbmcmIG5hbWUsIGNvbnN0IFJlc29sdmVGbGFn
cyYgbW9kZSA9IFJlc29sdmVQcm90b3R5cGUpIGNvbnN0OwotCi0gICAgUVNjcmlwdEVuZ2luZSog
ZW5naW5lKCkgY29uc3Q7Ci0KLSAgICBib29sIGlzVmFsaWQoKSBjb25zdDsKLSAgICBib29sIGlz
Qm9vbCgpIGNvbnN0OwotICAgIGJvb2wgaXNCb29sZWFuKCkgY29uc3Q7Ci0gICAgYm9vbCBpc051
bWJlcigpIGNvbnN0OwotICAgIGJvb2wgaXNGdW5jdGlvbigpIGNvbnN0OwotICAgIGJvb2wgaXNO
dWxsKCkgY29uc3Q7Ci0gICAgYm9vbCBpc1N0cmluZygpIGNvbnN0OwotICAgIGJvb2wgaXNVbmRl
ZmluZWQoKSBjb25zdDsKLSAgICBib29sIGlzT2JqZWN0KCkgY29uc3Q7Ci0gICAgYm9vbCBpc0Vy
cm9yKCkgY29uc3Q7Ci0gICAgYm9vbCBpc0FycmF5KCkgY29uc3Q7Ci0gICAgYm9vbCBpc0RhdGUo
KSBjb25zdDsKLQotICAgIFFTdHJpbmcgdG9TdHJpbmcoKSBjb25zdDsKLSAgICBxc3JlYWwgdG9O
dW1iZXIoKSBjb25zdDsKLSAgICBib29sIHRvQm9vbCgpIGNvbnN0OwotICAgIGJvb2wgdG9Cb29s
ZWFuKCkgY29uc3Q7Ci0gICAgcXNyZWFsIHRvSW50ZWdlcigpIGNvbnN0OwotICAgIHFpbnQzMiB0
b0ludDMyKCkgY29uc3Q7Ci0gICAgcXVpbnQzMiB0b1VJbnQzMigpIGNvbnN0OwotICAgIHF1aW50
MTYgdG9VSW50MTYoKSBjb25zdDsKLSAgICBRU2NyaXB0VmFsdWUgdG9PYmplY3QoKSBjb25zdDsK
LSAgICBRRGF0ZVRpbWUgdG9EYXRlVGltZSgpIGNvbnN0OwotCi0gICAgUVNjcmlwdFZhbHVlIGNh
bGwoY29uc3QgUVNjcmlwdFZhbHVlJiB0aGlzT2JqZWN0ID0gUVNjcmlwdFZhbHVlKCksCi0gICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgUVNjcmlwdFZhbHVlTGlzdCYgYXJncyA9IFFTY3JpcHRW
YWx1ZUxpc3QoKSk7Ci1wcml2YXRlOgotICAgIFFTY3JpcHRWYWx1ZSh2b2lkKik7Ci0gICAgUVNj
cmlwdFZhbHVlKFFTY3JpcHRWYWx1ZVByaXZhdGUqKTsKLQotICAgIFFFeHBsaWNpdGx5U2hhcmVk
RGF0YVBvaW50ZXI8UVNjcmlwdFZhbHVlUHJpdmF0ZT4gZF9wdHI7Ci0KLSAgICBmcmllbmQgY2xh
c3MgUVNjcmlwdFZhbHVlUHJpdmF0ZTsKLX07Ci0KLSNlbmRpZiAvLyBxc2NyaXB0dmFsdWVfaApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0dmFsdWVfcC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0dmFsdWVfcC5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOThhMDZhLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHZhbHVlX3AuaAorKysgL2Rldi9udWxsCkBAIC0xLDEy
MjAgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDggTm9raWEgQ29ycG9yYXRpb24g
YW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
LSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2lmbmRlZiBxc2NyaXB0dmFsdWVfcF9o
Ci0jZGVmaW5lIHFzY3JpcHR2YWx1ZV9wX2gKLQotI2luY2x1ZGUgInFzY3JpcHRjb252ZXJ0ZXJf
cC5oIgotI2luY2x1ZGUgInFzY3JpcHRlbmdpbmVfcC5oIgotI2luY2x1ZGUgInFzY3JpcHR2YWx1
ZS5oIgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHQuaD4KLSNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9KU1JldGFpblB0ci5oPgotI2luY2x1ZGUgPEpTT2JqZWN0UmVmUHJpdmF0
ZS5oPgotI2luY2x1ZGUgPFF0Q29yZS9xZGF0ZXRpbWUuaD4KLSNpbmNsdWRlIDxRdENvcmUvcW1h
dGguaD4KLSNpbmNsdWRlIDxRdENvcmUvcW51bWVyaWMuaD4KLSNpbmNsdWRlIDxRdENvcmUvcXNo
YXJlZGRhdGEuaD4KLSNpbmNsdWRlIDxRdENvcmUvcXZhcmxlbmd0aGFycmF5Lmg+Ci0KLWNsYXNz
IFFTY3JpcHRFbmdpbmU7Ci1jbGFzcyBRU2NyaXB0VmFsdWU7Ci0KLS8qCi0gIFxpbnRlcm5hbAot
ICBcY2xhc3MgUVNjcmlwdFZhbHVlUHJpdmF0ZQotCi0gIEltcGxlbWVudGF0aW9uIG9mIFFTY3Jp
cHRWYWx1ZS4KLSAgVGhlIGltcGxlbWVudGF0aW9uIGlzIGJhc2VkIG9uIGEgc3RhdGUgbWFjaGlu
ZS4gVGhlIHN0YXRlcyBuYW1lcyBhcmUgaW5jbHVkZWQgaW4KLSAgUVNjcmlwdFZhbHVlUHJpdmF0
ZTo6U3RhdGUuIEVhY2ggbWV0aG9kIHNob3VsZCBjaGVjayBmb3IgdGhlIGN1cnJlbnQgc3RhdGUg
YW5kIHRoZW4gcGVyZm9ybSBhCi0gIGNvcnJlY3QgYWN0aW9uLgotCi0gIFN0YXRlOgotICAgIElu
dmFsaWQgLT4gUVNWUCBpcyBpbnZhbGlkLCBubyBhc3N1bXB0aW9ucyBzaG91bGQgYmUgbWFkZSBh
Ym91dCBjbGFzcyBtZW1iZXJzIChhcGFydCBmcm9tIG1fdmFsdWUpLgotICAgIENTdHJpbmcgLT4g
UVNWUCBpcyBjcmVhdGVkIGZyb20gUVN0cmluZyBvciBjb25zdCBjaGFyKiBhbmQgbm8gSlNDIGVu
Z2luZSBoYXMgYmVlbiBhc3NvY2lhdGVkIHlldC4KLSAgICAgICAgQ3VycmVudCB2YWx1ZSBpcyBr
ZXB0IGluIG1fc3RyaW5nLAotICAgIENOdW1iZXIgLT4gUVNWUCBpcyBjcmVhdGVkIGZyb20gaW50
LCB1aW50LCBkb3VibGUuLi4gYW5kIG5vIEpTQyBlbmdpbmUgaGFzIGJlZW4gYmluZCB5ZXQuIEN1
cnJlbnQKLSAgICAgICAgdmFsdWUgaXMga2VwdCBpbiBtX251bWJlcgotICAgIENCb29sIC0+IFFT
VlAgaXMgY3JlYXRlZCBmcm9tIGJvb2wgYW5kIG5vIEpTQyBlbmdpbmUgaGFzIGJlZW4gYXNzb2Np
YXRlZCB5ZXQuIEN1cnJlbnQgdmFsdWUgaXMga2VwdAotICAgICAgICBpbiBtX2Jvb2wKLSAgICBD
TnVsbCAtPiBRU1ZQIGlzIG51bGwsIGJ1dCBhIEpTQyBlbmdpbmUgaGFzbid0IGJlZW4gYXNzb2Np
YXRlZCB5ZXQuCi0gICAgQ1VuZGVmaW5lZCAtPiBRU1ZQIGlzIHVuZGVmaW5lZCwgYnV0IGEgSlND
IGVuZ2luZSBoYXNuJ3QgYmVlbiBhc3NvY2lhdGVkIHlldC4KLSAgICBKU1ZhbHVlIC0+IFFTVlAg
aXMgYXNzb2NpYXRlZCB3aXRoIGVuZ2luZSwgYnV0IHRoZXJlIGlzIG5vIGluZm9ybWF0aW9uIGFi
b3V0IHJlYWwgdHlwZSwgdGhlIHN0YXRlCi0gICAgICAgIGhhdmUgcmVhbGx5IHNob3J0IGxpdmUg
Y3ljbGUuIE5vcm1hbGx5IGl0IGlzIGNyZWF0ZWQgYXMgYSBmdW5jdGlvbiBjYWxsIHJlc3VsdC4K
LSAgICBKU1ByaW1pdGl2ZSAtPiBRU1ZQIGlzIGFzc29jaWF0ZWQgd2l0aCBlbmdpbmUsIGFuZCBp
dCBpcyBzdXJlIHRoYXQgaXQgaXNuJ3QgYSBKYXZhU2NyaXB0IG9iamVjdC4KLSAgICBKU09iamVj
dCAtPiBRU1ZQIGlzIGFzc29jaWF0ZWQgd2l0aCBlbmdpbmUsIGFuZCBpdCBpcyBzdXJlIHRoYXQg
aXQgaXMgYSBKYXZhU2NyaXB0IG9iamVjdC4KLQotICBFYWNoIHN0YXRlIGtlZXAgYWxsIG5lY2Vz
c2FyeSBpbmZvcm1hdGlvbiB0byBpbnZva2UgYWxsIG1ldGhvZHMsIGlmIG5vdCBpdCBzaG91bGQg
YmUgY2hhbmdlZCB0bwotICBhIHByb3BlciBzdGF0ZS4gQ2hhbmdlZCBzdGF0ZSBzaG91bGRuJ3Qg
YmUgcmV2ZXJ0ZWQuCi0KLSAgVGhlIFFTY3JpcHRWYWx1ZVByaXZhdGUgdXNlIHRoZSBKU0MgQyBB
UEkgZGlyZWN0bHkuIFRoZSBRU1ZQIHR5cGUgaXMgZXF1YWwgdG8gY29tYmluYXRpb24gb2YKLSAg
dGhlIEpTVmFsdWVSZWYgYW5kIHRoZSBKU09iamVjdFJlZiwgYW5kIGl0IGNvdWxkIGJlIGF1dG9t
YXRpY2FsbHkgY2FzdGVkIHRvIHRoZXNlIHR5cGVzIGJ5IGNhc3QKLSAgb3BlcmF0b3JzLgotKi8K
LQotY2xhc3MgUVNjcmlwdFZhbHVlUHJpdmF0ZSA6IHB1YmxpYyBRU2hhcmVkRGF0YSB7Ci1wdWJs
aWM6Ci0gICAgaW5saW5lIHN0YXRpYyBRU2NyaXB0VmFsdWVQcml2YXRlKiBnZXQoY29uc3QgUVNj
cmlwdFZhbHVlJiBxKTsKLSAgICBpbmxpbmUgc3RhdGljIFFTY3JpcHRWYWx1ZSBnZXQoY29uc3Qg
UVNjcmlwdFZhbHVlUHJpdmF0ZSogZCk7Ci0gICAgaW5saW5lIHN0YXRpYyBRU2NyaXB0VmFsdWUg
Z2V0KFFTY3JpcHRWYWx1ZVByaXZhdGUqIGQpOwotCi0gICAgaW5saW5lIH5RU2NyaXB0VmFsdWVQ
cml2YXRlKCk7Ci0KLSAgICBpbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZSgpOwotICAgIGlubGlu
ZSBRU2NyaXB0VmFsdWVQcml2YXRlKGNvbnN0IFFTdHJpbmcmIHN0cmluZyk7Ci0gICAgaW5saW5l
IFFTY3JpcHRWYWx1ZVByaXZhdGUoYm9vbCB2YWx1ZSk7Ci0gICAgaW5saW5lIFFTY3JpcHRWYWx1
ZVByaXZhdGUoaW50IG51bWJlcik7Ci0gICAgaW5saW5lIFFTY3JpcHRWYWx1ZVByaXZhdGUodWlu
dCBudW1iZXIpOwotICAgIGlubGluZSBRU2NyaXB0VmFsdWVQcml2YXRlKHFzcmVhbCBudW1iZXIp
OwotICAgIGlubGluZSBRU2NyaXB0VmFsdWVQcml2YXRlKFFTY3JpcHRWYWx1ZTo6U3BlY2lhbFZh
bHVlIHZhbHVlKTsKLQotICAgIGlubGluZSBRU2NyaXB0VmFsdWVQcml2YXRlKGNvbnN0IFFTY3Jp
cHRFbmdpbmVQcml2YXRlKiBlbmdpbmUsIGJvb2wgdmFsdWUpOwotICAgIGlubGluZSBRU2NyaXB0
VmFsdWVQcml2YXRlKGNvbnN0IFFTY3JpcHRFbmdpbmVQcml2YXRlKiBlbmdpbmUsIGludCB2YWx1
ZSk7Ci0gICAgaW5saW5lIFFTY3JpcHRWYWx1ZVByaXZhdGUoY29uc3QgUVNjcmlwdEVuZ2luZVBy
aXZhdGUqIGVuZ2luZSwgdWludCB2YWx1ZSk7Ci0gICAgaW5saW5lIFFTY3JpcHRWYWx1ZVByaXZh
dGUoY29uc3QgUVNjcmlwdEVuZ2luZVByaXZhdGUqIGVuZ2luZSwgcXNyZWFsIHZhbHVlKTsKLSAg
ICBpbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZShjb25zdCBRU2NyaXB0RW5naW5lUHJpdmF0ZSog
ZW5naW5lLCBjb25zdCBRU3RyaW5nJiB2YWx1ZSk7Ci0gICAgaW5saW5lIFFTY3JpcHRWYWx1ZVBy
aXZhdGUoY29uc3QgUVNjcmlwdEVuZ2luZVByaXZhdGUqIGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpT
cGVjaWFsVmFsdWUgdmFsdWUpOwotCi0gICAgaW5saW5lIFFTY3JpcHRWYWx1ZVByaXZhdGUoY29u
c3QgUVNjcmlwdEVuZ2luZVByaXZhdGUqIGVuZ2luZSwgSlNWYWx1ZVJlZiB2YWx1ZSk7Ci0gICAg
aW5saW5lIFFTY3JpcHRWYWx1ZVByaXZhdGUoY29uc3QgUVNjcmlwdEVuZ2luZVByaXZhdGUqIGVu
Z2luZSwgSlNPYmplY3RSZWYgb2JqZWN0KTsKLQotICAgIGlubGluZSBib29sIGlzVmFsaWQoKSBj
b25zdDsKLSAgICBpbmxpbmUgYm9vbCBpc0Jvb2woKTsKLSAgICBpbmxpbmUgYm9vbCBpc051bWJl
cigpOwotICAgIGlubGluZSBib29sIGlzTnVsbCgpOwotICAgIGlubGluZSBib29sIGlzU3RyaW5n
KCk7Ci0gICAgaW5saW5lIGJvb2wgaXNVbmRlZmluZWQoKTsKLSAgICBpbmxpbmUgYm9vbCBpc0Vy
cm9yKCk7Ci0gICAgaW5saW5lIGJvb2wgaXNPYmplY3QoKTsKLSAgICBpbmxpbmUgYm9vbCBpc0Z1
bmN0aW9uKCk7Ci0gICAgaW5saW5lIGJvb2wgaXNBcnJheSgpOwotICAgIGlubGluZSBib29sIGlz
RGF0ZSgpOwotCi0gICAgaW5saW5lIFFTdHJpbmcgdG9TdHJpbmcoKSBjb25zdDsKLSAgICBpbmxp
bmUgcXNyZWFsIHRvTnVtYmVyKCkgY29uc3Q7Ci0gICAgaW5saW5lIGJvb2wgdG9Cb29sKCkgY29u
c3Q7Ci0gICAgaW5saW5lIHFzcmVhbCB0b0ludGVnZXIoKSBjb25zdDsKLSAgICBpbmxpbmUgcWlu
dDMyIHRvSW50MzIoKSBjb25zdDsKLSAgICBpbmxpbmUgcXVpbnQzMiB0b1VJbnQzMigpIGNvbnN0
OwotICAgIGlubGluZSBxdWludDE2IHRvVUludDE2KCkgY29uc3Q7Ci0KLSAgICBpbmxpbmUgUVNj
cmlwdFZhbHVlUHJpdmF0ZSogdG9PYmplY3QoUVNjcmlwdEVuZ2luZVByaXZhdGUqIGVuZ2luZSk7
Ci0gICAgaW5saW5lIFFTY3JpcHRWYWx1ZVByaXZhdGUqIHRvT2JqZWN0KCk7Ci0gICAgaW5saW5l
IFFEYXRlVGltZSB0b0RhdGVUaW1lKCk7Ci0gICAgaW5saW5lIFFTY3JpcHRWYWx1ZVByaXZhdGUq
IHByb3RvdHlwZSgpOwotICAgIGlubGluZSB2b2lkIHNldFByb3RvdHlwZShRU2NyaXB0VmFsdWVQ
cml2YXRlKiBwcm90b3R5cGUpOwotCi0gICAgaW5saW5lIGJvb2wgZXF1YWxzKFFTY3JpcHRWYWx1
ZVByaXZhdGUqIG90aGVyKTsKLSAgICBpbmxpbmUgYm9vbCBzdHJpY3RseUVxdWFscyhRU2NyaXB0
VmFsdWVQcml2YXRlKiBvdGhlcik7Ci0gICAgaW5saW5lIGJvb2wgaW5zdGFuY2VPZihRU2NyaXB0
VmFsdWVQcml2YXRlKiBvdGhlcik7Ci0gICAgaW5saW5lIGJvb2wgYXNzaWduRW5naW5lKFFTY3Jp
cHRFbmdpbmVQcml2YXRlKiBlbmdpbmUpOwotCi0gICAgaW5saW5lIFFTY3JpcHRWYWx1ZVByaXZh
dGUqIHByb3BlcnR5KGNvbnN0IFFTdHJpbmcmIG5hbWUsIGNvbnN0IFFTY3JpcHRWYWx1ZTo6UmVz
b2x2ZUZsYWdzJiBtb2RlKTsKLSAgICBpbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZSogcHJvcGVy
dHkoY29uc3QgUVNjcmlwdFN0cmluZ1ByaXZhdGUqIG5hbWUsIGNvbnN0IFFTY3JpcHRWYWx1ZTo6
UmVzb2x2ZUZsYWdzJiBtb2RlKTsKLSAgICBpbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZSogcHJv
cGVydHkocXVpbnQzMiBhcnJheUluZGV4LCBjb25zdCBRU2NyaXB0VmFsdWU6OlJlc29sdmVGbGFn
cyYgbW9kZSk7Ci0gICAgaW5saW5lIEpTVmFsdWVSZWYgcHJvcGVydHkocXVpbnQzMiBwcm9wZXJ0
eSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKLSAgICBpbmxpbmUgSlNWYWx1ZVJlZiBwcm9wZXJ0
eShKU1N0cmluZ1JlZiBwcm9wZXJ0eSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKLSAgICBpbmxp
bmUgYm9vbCBoYXNPd25Qcm9wZXJ0eShxdWludDMyIHByb3BlcnR5KTsKLSAgICBpbmxpbmUgYm9v
bCBoYXNPd25Qcm9wZXJ0eShKU1N0cmluZ1JlZiBwcm9wZXJ0eSk7Ci0gICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4KLSAgICBpbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZSogcHJvcGVydHkoVCBuYW1l
LCBjb25zdCBRU2NyaXB0VmFsdWU6OlJlc29sdmVGbGFncyYgbW9kZSk7Ci0KLSAgICBpbmxpbmUg
dm9pZCBzZXRQcm9wZXJ0eShjb25zdCBRU3RyaW5nJiBuYW1lLCBRU2NyaXB0VmFsdWVQcml2YXRl
KiB2YWx1ZSwgY29uc3QgUVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdzJiBmbGFncyk7Ci0gICAg
aW5saW5lIHZvaWQgc2V0UHJvcGVydHkoY29uc3QgUVNjcmlwdFN0cmluZ1ByaXZhdGUqIG5hbWUs
IFFTY3JpcHRWYWx1ZVByaXZhdGUqIHZhbHVlLCBjb25zdCBRU2NyaXB0VmFsdWU6OlByb3BlcnR5
RmxhZ3MmIGZsYWdzKTsKLSAgICBpbmxpbmUgdm9pZCBzZXRQcm9wZXJ0eShjb25zdCBxdWludDMy
IGluZGV4QXJyYXksIFFTY3JpcHRWYWx1ZVByaXZhdGUqIHZhbHVlLCBjb25zdCBRU2NyaXB0VmFs
dWU6OlByb3BlcnR5RmxhZ3MmIGZsYWdzKTsKLSAgICBpbmxpbmUgdm9pZCBzZXRQcm9wZXJ0eShx
dWludDMyIHByb3BlcnR5LCBKU1ZhbHVlUmVmIHZhbHVlLCBKU1Byb3BlcnR5QXR0cmlidXRlcyBm
bGFncywgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKLSAgICBpbmxpbmUgdm9pZCBzZXRQcm9wZXJ0
eShKU1N0cmluZ1JlZiBwcm9wZXJ0eSwgSlNWYWx1ZVJlZiB2YWx1ZSwgSlNQcm9wZXJ0eUF0dHJp
YnV0ZXMgZmxhZ3MsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbik7Ci0gICAgaW5saW5lIHZvaWQgZGVs
ZXRlUHJvcGVydHkocXVpbnQzMiBwcm9wZXJ0eSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKLSAg
ICBpbmxpbmUgdm9pZCBkZWxldGVQcm9wZXJ0eShKU1N0cmluZ1JlZiBwcm9wZXJ0eSwgSlNWYWx1
ZVJlZiogZXhjZXB0aW9uKTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGlubGluZSB2
b2lkIHNldFByb3BlcnR5KFQgbmFtZSwgUVNjcmlwdFZhbHVlUHJpdmF0ZSogdmFsdWUsIGNvbnN0
IFFTY3JpcHRWYWx1ZTo6UHJvcGVydHlGbGFncyYgZmxhZ3MpOwotCi0gICAgUVNjcmlwdFZhbHVl
OjpQcm9wZXJ0eUZsYWdzIHByb3BlcnR5RmxhZ3MoY29uc3QgUVN0cmluZyYgbmFtZSwgY29uc3Qg
UVNjcmlwdFZhbHVlOjpSZXNvbHZlRmxhZ3MmIG1vZGUpOwotICAgIFFTY3JpcHRWYWx1ZTo6UHJv
cGVydHlGbGFncyBwcm9wZXJ0eUZsYWdzKGNvbnN0IFFTY3JpcHRTdHJpbmdQcml2YXRlKiBuYW1l
LCBjb25zdCBRU2NyaXB0VmFsdWU6OlJlc29sdmVGbGFncyYgbW9kZSk7Ci0gICAgUVNjcmlwdFZh
bHVlOjpQcm9wZXJ0eUZsYWdzIHByb3BlcnR5RmxhZ3MoY29uc3QgSlNTdHJpbmdSZWYgbmFtZSwg
Y29uc3QgUVNjcmlwdFZhbHVlOjpSZXNvbHZlRmxhZ3MmIG1vZGUpOwotCi0gICAgaW5saW5lIFFT
Y3JpcHRWYWx1ZVByaXZhdGUqIGNhbGwoY29uc3QgUVNjcmlwdFZhbHVlUHJpdmF0ZSogLCBjb25z
dCBRU2NyaXB0VmFsdWVMaXN0JiBhcmdzKTsKLQotICAgIGlubGluZSBvcGVyYXRvciBKU1ZhbHVl
UmVmKCkgY29uc3Q7Ci0gICAgaW5saW5lIG9wZXJhdG9yIEpTT2JqZWN0UmVmKCkgY29uc3Q7Ci0K
LSAgICBpbmxpbmUgUVNjcmlwdEVuZ2luZVByaXZhdGUqIGVuZ2luZSgpIGNvbnN0OwotCi1wcml2
YXRlOgotICAgIC8vIFBsZWFzZSwgdXBkYXRlIGNsYXNzIGRvY3VtZW50YXRpb24gd2hlbiB5b3Ug
Y2hhbmdlIHRoZSBlbnVtLgotICAgIGVudW0gU3RhdGUgewotICAgICAgICBJbnZhbGlkID0gMCwK
LSAgICAgICAgQ1N0cmluZyA9IDB4MTAwMCwKLSAgICAgICAgQ051bWJlciwKLSAgICAgICAgQ0Jv
b2wsCi0gICAgICAgIENOdWxsLAotICAgICAgICBDVW5kZWZpbmVkLAotICAgICAgICBKU1ZhbHVl
ID0gMHgyMDAwLCAvLyBKUyB2YWx1ZXMgYXJlIGVxdWFsIG9yIGhpZ2hlciB0aGVuIHRoaXMgdmFs
dWUuCi0gICAgICAgIEpTUHJpbWl0aXZlLAotICAgICAgICBKU09iamVjdAotICAgIH0gbV9zdGF0
ZTsKLSAgICBRU2NyaXB0RW5naW5lUHRyIG1fZW5naW5lOwotICAgIHVuaW9uIFZhbHVlCi0gICAg
ewotICAgICAgICBib29sIG1fYm9vbDsKLSAgICAgICAgcXNyZWFsIG1fbnVtYmVyOwotICAgICAg
ICBKU1ZhbHVlUmVmIG1fdmFsdWU7Ci0gICAgICAgIEpTT2JqZWN0UmVmIG1fb2JqZWN0OwotICAg
ICAgICBRU3RyaW5nKiBtX3N0cmluZzsKLQotICAgICAgICBWYWx1ZSgpIDogbV9udW1iZXIoMCkg
e30KLSAgICAgICAgVmFsdWUoYm9vbCB2YWx1ZSkgOiBtX2Jvb2wodmFsdWUpIHt9Ci0gICAgICAg
IFZhbHVlKGludCBudW1iZXIpIDogbV9udW1iZXIobnVtYmVyKSB7fQotICAgICAgICBWYWx1ZSh1
aW50IG51bWJlcikgOiBtX251bWJlcihudW1iZXIpIHt9Ci0gICAgICAgIFZhbHVlKHFzcmVhbCBu
dW1iZXIpIDogbV9udW1iZXIobnVtYmVyKSB7fQotICAgICAgICBWYWx1ZShKU1ZhbHVlUmVmIHZh
bHVlKSA6IG1fdmFsdWUodmFsdWUpIHt9Ci0gICAgICAgIFZhbHVlKEpTT2JqZWN0UmVmIG9iamVj
dCkgOiBtX29iamVjdChvYmplY3QpIHt9Ci0gICAgICAgIFZhbHVlKFFTdHJpbmcqIHN0cmluZykg
OiBtX3N0cmluZyhzdHJpbmcpIHt9Ci0gICAgfSB1OwotCi0gICAgaW5saW5lIFN0YXRlIHJlZmlu
ZWRKU1ZhbHVlKCk7Ci0KLSAgICBpbmxpbmUgYm9vbCBpc0pTQmFzZWQoKSBjb25zdDsKLSAgICBp
bmxpbmUgYm9vbCBpc051bWJlckJhc2VkKCkgY29uc3Q7Ci0gICAgaW5saW5lIGJvb2wgaXNTdHJp
bmdCYXNlZCgpIGNvbnN0OwotfTsKLQotUVNjcmlwdFZhbHVlUHJpdmF0ZSogUVNjcmlwdFZhbHVl
UHJpdmF0ZTo6Z2V0KGNvbnN0IFFTY3JpcHRWYWx1ZSYgcSkgeyByZXR1cm4gcS5kX3B0ci5kYXRh
KCk7IH0KLQotUVNjcmlwdFZhbHVlIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmdldChjb25zdCBRU2Ny
aXB0VmFsdWVQcml2YXRlKiBkKQotewotICAgIHJldHVybiBRU2NyaXB0VmFsdWUoY29uc3RfY2Fz
dDxRU2NyaXB0VmFsdWVQcml2YXRlKj4oZCkpOwotfQotCi1RU2NyaXB0VmFsdWUgUVNjcmlwdFZh
bHVlUHJpdmF0ZTo6Z2V0KFFTY3JpcHRWYWx1ZVByaXZhdGUqIGQpCi17Ci0gICAgcmV0dXJuIFFT
Y3JpcHRWYWx1ZShkKTsKLX0KLQotUVNjcmlwdFZhbHVlUHJpdmF0ZTo6flFTY3JpcHRWYWx1ZVBy
aXZhdGUoKQotewotICAgIGlmIChpc0pTQmFzZWQoKSkKLSAgICAgICAgSlNWYWx1ZVVucHJvdGVj
dCgqbV9lbmdpbmUsIHUubV92YWx1ZSk7Ci0gICAgZWxzZSBpZiAoaXNTdHJpbmdCYXNlZCgpKQot
ICAgICAgICBkZWxldGUgdS5tX3N0cmluZzsKLX0KLQotUVNjcmlwdFZhbHVlUHJpdmF0ZTo6UVNj
cmlwdFZhbHVlUHJpdmF0ZSgpCi0gICAgOiBtX3N0YXRlKEludmFsaWQpCi17Ci19Ci0KLVFTY3Jp
cHRWYWx1ZVByaXZhdGU6OlFTY3JpcHRWYWx1ZVByaXZhdGUoY29uc3QgUVN0cmluZyYgc3RyaW5n
KQotICAgIDogbV9zdGF0ZShDU3RyaW5nKQotICAgICwgdShuZXcgUVN0cmluZyhzdHJpbmcpKQot
ewotfQotCi1RU2NyaXB0VmFsdWVQcml2YXRlOjpRU2NyaXB0VmFsdWVQcml2YXRlKGJvb2wgdmFs
dWUpCi0gICAgOiBtX3N0YXRlKENCb29sKQotICAgICwgdSh2YWx1ZSkKLXsKLX0KLQotUVNjcmlw
dFZhbHVlUHJpdmF0ZTo6UVNjcmlwdFZhbHVlUHJpdmF0ZShpbnQgbnVtYmVyKQotICAgIDogbV9z
dGF0ZShDTnVtYmVyKQotICAgICwgdShudW1iZXIpCi17Ci19Ci0KLVFTY3JpcHRWYWx1ZVByaXZh
dGU6OlFTY3JpcHRWYWx1ZVByaXZhdGUodWludCBudW1iZXIpCi0gICAgOiBtX3N0YXRlKENOdW1i
ZXIpCi0gICAgLCB1KG51bWJlcikKLXsKLX0KLQotUVNjcmlwdFZhbHVlUHJpdmF0ZTo6UVNjcmlw
dFZhbHVlUHJpdmF0ZShxc3JlYWwgbnVtYmVyKQotICAgIDogbV9zdGF0ZShDTnVtYmVyKQotICAg
ICwgdShudW1iZXIpCi17Ci19Ci0KLVFTY3JpcHRWYWx1ZVByaXZhdGU6OlFTY3JpcHRWYWx1ZVBy
aXZhdGUoUVNjcmlwdFZhbHVlOjpTcGVjaWFsVmFsdWUgdmFsdWUpCi0gICAgOiBtX3N0YXRlKHZh
bHVlID09IFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlID8gQ051bGwgOiBDVW5kZWZpbmVkKQotewot
fQotCi1RU2NyaXB0VmFsdWVQcml2YXRlOjpRU2NyaXB0VmFsdWVQcml2YXRlKGNvbnN0IFFTY3Jp
cHRFbmdpbmVQcml2YXRlKiBlbmdpbmUsIGJvb2wgdmFsdWUpCi0gICAgOiBtX3N0YXRlKEpTUHJp
bWl0aXZlKQotICAgICwgbV9lbmdpbmUoY29uc3RfY2FzdDxRU2NyaXB0RW5naW5lUHJpdmF0ZSo+
KGVuZ2luZSkpCi0gICAgLCB1KGVuZ2luZS0+bWFrZUpTVmFsdWUodmFsdWUpKQotewotICAgIFFf
QVNTRVJUKGVuZ2luZSk7Ci0gICAgSlNWYWx1ZVByb3RlY3QoKm1fZW5naW5lLCB1Lm1fdmFsdWUp
OwotfQotCi1RU2NyaXB0VmFsdWVQcml2YXRlOjpRU2NyaXB0VmFsdWVQcml2YXRlKGNvbnN0IFFT
Y3JpcHRFbmdpbmVQcml2YXRlKiBlbmdpbmUsIGludCB2YWx1ZSkKLSAgICA6IG1fc3RhdGUoSlNQ
cmltaXRpdmUpCi0gICAgLCBtX2VuZ2luZShjb25zdF9jYXN0PFFTY3JpcHRFbmdpbmVQcml2YXRl
Kj4oZW5naW5lKSkKLSAgICAsIHUobV9lbmdpbmUtPm1ha2VKU1ZhbHVlKHZhbHVlKSkKLXsKLSAg
ICBRX0FTU0VSVChlbmdpbmUpOwotICAgIEpTVmFsdWVQcm90ZWN0KCptX2VuZ2luZSwgdS5tX3Zh
bHVlKTsKLX0KLQotUVNjcmlwdFZhbHVlUHJpdmF0ZTo6UVNjcmlwdFZhbHVlUHJpdmF0ZShjb25z
dCBRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lLCB1aW50IHZhbHVlKQotICAgIDogbV9zdGF0
ZShKU1ByaW1pdGl2ZSkKLSAgICAsIG1fZW5naW5lKGNvbnN0X2Nhc3Q8UVNjcmlwdEVuZ2luZVBy
aXZhdGUqPihlbmdpbmUpKQotICAgICwgdShtX2VuZ2luZS0+bWFrZUpTVmFsdWUodmFsdWUpKQot
ewotICAgIFFfQVNTRVJUKGVuZ2luZSk7Ci0gICAgSlNWYWx1ZVByb3RlY3QoKm1fZW5naW5lLCB1
Lm1fdmFsdWUpOwotfQotCi1RU2NyaXB0VmFsdWVQcml2YXRlOjpRU2NyaXB0VmFsdWVQcml2YXRl
KGNvbnN0IFFTY3JpcHRFbmdpbmVQcml2YXRlKiBlbmdpbmUsIHFzcmVhbCB2YWx1ZSkKLSAgICA6
IG1fc3RhdGUoSlNQcmltaXRpdmUpCi0gICAgLCBtX2VuZ2luZShjb25zdF9jYXN0PFFTY3JpcHRF
bmdpbmVQcml2YXRlKj4oZW5naW5lKSkKLSAgICAsIHUobV9lbmdpbmUtPm1ha2VKU1ZhbHVlKHZh
bHVlKSkKLXsKLSAgICBRX0FTU0VSVChlbmdpbmUpOwotICAgIEpTVmFsdWVQcm90ZWN0KCptX2Vu
Z2luZSwgdS5tX3ZhbHVlKTsKLX0KLQotUVNjcmlwdFZhbHVlUHJpdmF0ZTo6UVNjcmlwdFZhbHVl
UHJpdmF0ZShjb25zdCBRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lLCBjb25zdCBRU3RyaW5n
JiB2YWx1ZSkKLSAgICA6IG1fc3RhdGUoSlNQcmltaXRpdmUpCi0gICAgLCBtX2VuZ2luZShjb25z
dF9jYXN0PFFTY3JpcHRFbmdpbmVQcml2YXRlKj4oZW5naW5lKSkKLSAgICAsIHUobV9lbmdpbmUt
Pm1ha2VKU1ZhbHVlKHZhbHVlKSkKLXsKLSAgICBRX0FTU0VSVChlbmdpbmUpOwotICAgIEpTVmFs
dWVQcm90ZWN0KCptX2VuZ2luZSwgdS5tX3ZhbHVlKTsKLX0KLQotUVNjcmlwdFZhbHVlUHJpdmF0
ZTo6UVNjcmlwdFZhbHVlUHJpdmF0ZShjb25zdCBRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5l
LCBRU2NyaXB0VmFsdWU6OlNwZWNpYWxWYWx1ZSB2YWx1ZSkKLSAgICA6IG1fc3RhdGUoSlNQcmlt
aXRpdmUpCi0gICAgLCBtX2VuZ2luZShjb25zdF9jYXN0PFFTY3JpcHRFbmdpbmVQcml2YXRlKj4o
ZW5naW5lKSkKLSAgICAsIHUobV9lbmdpbmUtPm1ha2VKU1ZhbHVlKHZhbHVlKSkKLXsKLSAgICBR
X0FTU0VSVChlbmdpbmUpOwotICAgIEpTVmFsdWVQcm90ZWN0KCptX2VuZ2luZSwgdS5tX3ZhbHVl
KTsKLX0KLQotUVNjcmlwdFZhbHVlUHJpdmF0ZTo6UVNjcmlwdFZhbHVlUHJpdmF0ZShjb25zdCBR
U2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lLCBKU1ZhbHVlUmVmIHZhbHVlKQotICAgIDogbV9z
dGF0ZShKU1ZhbHVlKQotICAgICwgbV9lbmdpbmUoY29uc3RfY2FzdDxRU2NyaXB0RW5naW5lUHJp
dmF0ZSo+KGVuZ2luZSkpCi0gICAgLCB1KHZhbHVlKQotewotICAgIFFfQVNTRVJUKGVuZ2luZSk7
Ci0gICAgUV9BU1NFUlQodmFsdWUpOwotICAgIEpTVmFsdWVQcm90ZWN0KCptX2VuZ2luZSwgdS5t
X3ZhbHVlKTsKLX0KLQotUVNjcmlwdFZhbHVlUHJpdmF0ZTo6UVNjcmlwdFZhbHVlUHJpdmF0ZShj
b25zdCBRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lLCBKU09iamVjdFJlZiBvYmplY3QpCi0g
ICAgOiBtX3N0YXRlKEpTT2JqZWN0KQotICAgICwgbV9lbmdpbmUoY29uc3RfY2FzdDxRU2NyaXB0
RW5naW5lUHJpdmF0ZSo+KGVuZ2luZSkpCi0gICAgLCB1KG9iamVjdCkKLXsKLSAgICBRX0FTU0VS
VChlbmdpbmUpOwotICAgIFFfQVNTRVJUKG9iamVjdCk7Ci0gICAgSlNWYWx1ZVByb3RlY3QoKm1f
ZW5naW5lLCBvYmplY3QpOwotfQotCi1ib29sIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmlzVmFsaWQo
KSBjb25zdCB7IHJldHVybiBtX3N0YXRlICE9IEludmFsaWQ7IH0KLQotYm9vbCBRU2NyaXB0VmFs
dWVQcml2YXRlOjppc0Jvb2woKQotewotICAgIHN3aXRjaCAobV9zdGF0ZSkgewotICAgIGNhc2Ug
Q0Jvb2w6Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2UgSlNWYWx1ZToKLSAgICAgICAg
aWYgKHJlZmluZWRKU1ZhbHVlKCkgIT0gSlNQcmltaXRpdmUpCi0gICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgIC8vIEZhbGwtdGhyb3VnaC4KLSAgICBjYXNlIEpTUHJpbWl0aXZlOgot
ICAgICAgICByZXR1cm4gSlNWYWx1ZUlzQm9vbGVhbigqbV9lbmdpbmUsICp0aGlzKTsKLSAgICBk
ZWZhdWx0OgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotfQotCi1ib29sIFFTY3JpcHRW
YWx1ZVByaXZhdGU6OmlzTnVtYmVyKCkKLXsKLSAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKLSAgICBj
YXNlIENOdW1iZXI6Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2UgSlNWYWx1ZToKLSAg
ICAgICAgaWYgKHJlZmluZWRKU1ZhbHVlKCkgIT0gSlNQcmltaXRpdmUpCi0gICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0gICAgICAgIC8vIEZhbGwtdGhyb3VnaC4KLSAgICBjYXNlIEpTUHJpbWl0
aXZlOgotICAgICAgICByZXR1cm4gSlNWYWx1ZUlzTnVtYmVyKCptX2VuZ2luZSwgKnRoaXMpOwot
ICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci19Ci0KLWJvb2wgUVNj
cmlwdFZhbHVlUHJpdmF0ZTo6aXNOdWxsKCkKLXsKLSAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKLSAg
ICBjYXNlIENOdWxsOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIEpTVmFsdWU6Ci0g
ICAgICAgIGlmIChyZWZpbmVkSlNWYWx1ZSgpICE9IEpTUHJpbWl0aXZlKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICAvLyBGYWxsLXRocm91Z2guCi0gICAgY2FzZSBKU1ByaW1p
dGl2ZToKLSAgICAgICAgcmV0dXJuIEpTVmFsdWVJc051bGwoKm1fZW5naW5lLCAqdGhpcyk7Ci0g
ICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLX0KLQotYm9vbCBRU2Ny
aXB0VmFsdWVQcml2YXRlOjppc1N0cmluZygpCi17Ci0gICAgc3dpdGNoIChtX3N0YXRlKSB7Ci0g
ICAgY2FzZSBDU3RyaW5nOgotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBjYXNlIEpTVmFsdWU6
Ci0gICAgICAgIGlmIChyZWZpbmVkSlNWYWx1ZSgpICE9IEpTUHJpbWl0aXZlKQotICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAvLyBGYWxsLXRocm91Z2guCi0gICAgY2FzZSBKU1By
aW1pdGl2ZToKLSAgICAgICAgcmV0dXJuIEpTVmFsdWVJc1N0cmluZygqbV9lbmdpbmUsICp0aGlz
KTsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotfQotCi1ib29s
IFFTY3JpcHRWYWx1ZVByaXZhdGU6OmlzVW5kZWZpbmVkKCkKLXsKLSAgICBzd2l0Y2ggKG1fc3Rh
dGUpIHsKLSAgICBjYXNlIENVbmRlZmluZWQ6Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIGNh
c2UgSlNWYWx1ZToKLSAgICAgICAgaWYgKHJlZmluZWRKU1ZhbHVlKCkgIT0gSlNQcmltaXRpdmUp
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIC8vIEZhbGwtdGhyb3VnaC4KLSAg
ICBjYXNlIEpTUHJpbWl0aXZlOgotICAgICAgICByZXR1cm4gSlNWYWx1ZUlzVW5kZWZpbmVkKCpt
X2VuZ2luZSwgKnRoaXMpOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICB9Ci19Ci0KLWJvb2wgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6aXNFcnJvcigpCi17Ci0gICAgc3dp
dGNoIChtX3N0YXRlKSB7Ci0gICAgY2FzZSBKU1ZhbHVlOgotICAgICAgICBpZiAocmVmaW5lZEpT
VmFsdWUoKSAhPSBKU09iamVjdCkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
Ly8gRmFsbC10aHJvdWdoLgotICAgIGNhc2UgSlNPYmplY3Q6Ci0gICAgICAgIHJldHVybiBtX2Vu
Z2luZS0+aXNFcnJvcigqdGhpcyk7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIH0KLX0KLQotYm9vbCBRU2NyaXB0VmFsdWVQcml2YXRlOjppc09iamVjdCgpCi17Ci0g
ICAgc3dpdGNoIChtX3N0YXRlKSB7Ci0gICAgY2FzZSBKU1ZhbHVlOgotICAgICAgICByZXR1cm4g
cmVmaW5lZEpTVmFsdWUoKSA9PSBKU09iamVjdDsKLSAgICBjYXNlIEpTT2JqZWN0OgotICAgICAg
ICByZXR1cm4gdHJ1ZTsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICB9Ci19Ci0KLWJvb2wgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6aXNGdW5jdGlvbigpCi17Ci0gICAg
c3dpdGNoIChtX3N0YXRlKSB7Ci0gICAgY2FzZSBKU1ZhbHVlOgotICAgICAgICBpZiAocmVmaW5l
ZEpTVmFsdWUoKSAhPSBKU09iamVjdCkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgLy8gRmFsbC10aHJvdWdoLgotICAgIGNhc2UgSlNPYmplY3Q6Ci0gICAgICAgIHJldHVybiBK
U09iamVjdElzRnVuY3Rpb24oKm1fZW5naW5lLCAqdGhpcyk7Ci0gICAgZGVmYXVsdDoKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLX0KLQotYm9vbCBRU2NyaXB0VmFsdWVQcml2YXRlOjpp
c0FycmF5KCkKLXsKLSAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKLSAgICBjYXNlIEpTVmFsdWU6Ci0g
ICAgICAgIGlmIChyZWZpbmVkSlNWYWx1ZSgpICE9IEpTT2JqZWN0KQotICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICAvLyBGYWxsLXRocm91Z2guCi0gICAgY2FzZSBKU09iamVjdDoK
LSAgICAgICAgcmV0dXJuIG1fZW5naW5lLT5pc0FycmF5KCp0aGlzKTsKLSAgICBkZWZhdWx0Ogot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotfQotCi1ib29sIFFTY3JpcHRWYWx1ZVByaXZh
dGU6OmlzRGF0ZSgpCi17Ci0gICAgc3dpdGNoIChtX3N0YXRlKSB7Ci0gICAgY2FzZSBKU1ZhbHVl
OgotICAgICAgICBpZiAocmVmaW5lZEpTVmFsdWUoKSAhPSBKU09iamVjdCkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgLy8gRmFsbC10aHJvdWdoLgotICAgIGNhc2UgSlNPYmpl
Y3Q6Ci0gICAgICAgIHJldHVybiBtX2VuZ2luZS0+aXNEYXRlKCp0aGlzKTsKLSAgICBkZWZhdWx0
OgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotfQotCi1RU3RyaW5nIFFTY3JpcHRWYWx1
ZVByaXZhdGU6OnRvU3RyaW5nKCkgY29uc3QKLXsKLSAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKLSAg
ICBjYXNlIEludmFsaWQ6Ci0gICAgICAgIHJldHVybiBRU3RyaW5nKCk7Ci0gICAgY2FzZSBDQm9v
bDoKLSAgICAgICAgcmV0dXJuIHUubV9ib29sID8gUVN0cmluZzo6ZnJvbUxhdGluMSgidHJ1ZSIp
IDogUVN0cmluZzo6ZnJvbUxhdGluMSgiZmFsc2UiKTsKLSAgICBjYXNlIENTdHJpbmc6Ci0gICAg
ICAgIHJldHVybiAqdS5tX3N0cmluZzsKLSAgICBjYXNlIENOdW1iZXI6Ci0gICAgICAgIHJldHVy
biBRU2NyaXB0Q29udmVydGVyOjp0b1N0cmluZyh1Lm1fbnVtYmVyKTsKLSAgICBjYXNlIENOdWxs
OgotICAgICAgICByZXR1cm4gUVN0cmluZzo6ZnJvbUxhdGluMSgibnVsbCIpOwotICAgIGNhc2Ug
Q1VuZGVmaW5lZDoKLSAgICAgICAgcmV0dXJuIFFTdHJpbmc6OmZyb21MYXRpbjEoInVuZGVmaW5l
ZCIpOwotICAgIGNhc2UgSlNWYWx1ZToKLSAgICBjYXNlIEpTUHJpbWl0aXZlOgotICAgIGNhc2Ug
SlNPYmplY3Q6Ci0gICAgICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0gMDsKLSAgICAgICAgSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHB0cihBZG9wdCwgSlNWYWx1ZVRvU3RyaW5nQ29weSgqbV9l
bmdpbmUsICp0aGlzLCAmZXhjZXB0aW9uKSk7Ci0gICAgICAgIG1fZW5naW5lLT5zZXRFeGNlcHRp
b24oZXhjZXB0aW9uKTsKLSAgICAgICAgcmV0dXJuIFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5n
KHB0ci5nZXQoKSk7Ci0gICAgfQotCi0gICAgUV9BU1NFUlRfWChmYWxzZSwgInRvU3RyaW5nKCki
LCAiTm90IGFsbCBzdGF0ZXMgYXJlIGluY2x1ZGVkIGluIHRoZSBwcmV2aW91cyBzd2l0Y2ggc3Rh
dGVtZW50LiIpOwotICAgIHJldHVybiBRU3RyaW5nKCk7IC8vIEF2b2lkIGNvbXBpbGVyIHdhcm5p
bmcuCi19Ci0KLXFzcmVhbCBRU2NyaXB0VmFsdWVQcml2YXRlOjp0b051bWJlcigpIGNvbnN0Ci17
Ci0gICAgc3dpdGNoIChtX3N0YXRlKSB7Ci0gICAgY2FzZSBKU1ZhbHVlOgotICAgIGNhc2UgSlNQ
cmltaXRpdmU6Ci0gICAgY2FzZSBKU09iamVjdDoKLSAgICAgICAgewotICAgICAgICAgICAgSlNW
YWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAgICAgICAgICAgcXNyZWFsIHJlc3VsdCA9IEpTVmFs
dWVUb051bWJlcigqbV9lbmdpbmUsICp0aGlzLCAmZXhjZXB0aW9uKTsKLSAgICAgICAgICAgIG1f
ZW5naW5lLT5zZXRFeGNlcHRpb24oZXhjZXB0aW9uKTsKLSAgICAgICAgICAgIHJldHVybiByZXN1
bHQ7Ci0gICAgICAgIH0KLSAgICBjYXNlIENOdW1iZXI6Ci0gICAgICAgIHJldHVybiB1Lm1fbnVt
YmVyOwotICAgIGNhc2UgQ0Jvb2w6Ci0gICAgICAgIHJldHVybiB1Lm1fYm9vbCA/IDEgOiAwOwot
ICAgIGNhc2UgQ051bGw6Ci0gICAgY2FzZSBJbnZhbGlkOgotICAgICAgICByZXR1cm4gMDsKLSAg
ICBjYXNlIENVbmRlZmluZWQ6Ci0gICAgICAgIHJldHVybiBxUU5hTigpOwotICAgIGNhc2UgQ1N0
cmluZzoKLSAgICAgICAgYm9vbCBvazsKLSAgICAgICAgcXNyZWFsIHJlc3VsdCA9IHUubV9zdHJp
bmctPnRvRG91YmxlKCZvayk7Ci0gICAgICAgIGlmIChvaykKLSAgICAgICAgICAgIHJldHVybiBy
ZXN1bHQ7Ci0gICAgICAgIHJlc3VsdCA9IHUubV9zdHJpbmctPnRvSW50KCZvaywgMCk7IC8vIFRy
eSBvdGhlciBiYXNlcy4KLSAgICAgICAgaWYgKG9rKQotICAgICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKLSAgICAgICAgaWYgKCp1Lm1fc3RyaW5nID09ICJJbmZpbml0eSIgfHwgKnUubV9zdHJpbmcg
PT0gIi1JbmZpbml0eSIpCi0gICAgICAgICAgICByZXR1cm4gcUluZigpOwotICAgICAgICByZXR1
cm4gdS5tX3N0cmluZy0+bGVuZ3RoKCkgPyBxUU5hTigpIDogMDsKLSAgICB9Ci0KLSAgICBRX0FT
U0VSVF9YKGZhbHNlLCAidG9OdW1iZXIoKSIsICJOb3QgYWxsIHN0YXRlcyBhcmUgaW5jbHVkZWQg
aW4gdGhlIHByZXZpb3VzIHN3aXRjaCBzdGF0ZW1lbnQuIik7Ci0gICAgcmV0dXJuIDA7IC8vIEF2
b2lkIGNvbXBpbGVyIHdhcm5pbmcuCi19Ci0KLWJvb2wgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6dG9C
b29sKCkgY29uc3QKLXsKLSAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKLSAgICBjYXNlIEpTVmFsdWU6
Ci0gICAgY2FzZSBKU1ByaW1pdGl2ZToKLSAgICAgICAgcmV0dXJuIEpTVmFsdWVUb0Jvb2xlYW4o
Km1fZW5naW5lLCAqdGhpcyk7Ci0gICAgY2FzZSBKU09iamVjdDoKLSAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgY2FzZSBDTnVtYmVyOgotICAgICAgICByZXR1cm4gIShxSXNOYU4odS5tX251bWJl
cikgfHwgIXUubV9udW1iZXIpOwotICAgIGNhc2UgQ0Jvb2w6Ci0gICAgICAgIHJldHVybiB1Lm1f
Ym9vbDsKLSAgICBjYXNlIEludmFsaWQ6Ci0gICAgY2FzZSBDTnVsbDoKLSAgICBjYXNlIENVbmRl
ZmluZWQ6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBjYXNlIENTdHJpbmc6Ci0gICAgICAg
IHJldHVybiB1Lm1fc3RyaW5nLT5sZW5ndGgoKTsKLSAgICB9Ci0KLSAgICBRX0FTU0VSVF9YKGZh
bHNlLCAidG9Cb29sKCkiLCAiTm90IGFsbCBzdGF0ZXMgYXJlIGluY2x1ZGVkIGluIHRoZSBwcmV2
aW91cyBzd2l0Y2ggc3RhdGVtZW50LiIpOwotICAgIHJldHVybiBmYWxzZTsgLy8gQXZvaWQgY29t
cGlsZXIgd2FybmluZy4KLX0KLQotcXNyZWFsIFFTY3JpcHRWYWx1ZVByaXZhdGU6OnRvSW50ZWdl
cigpIGNvbnN0Ci17Ci0gICAgcXNyZWFsIHJlc3VsdCA9IHRvTnVtYmVyKCk7Ci0gICAgaWYgKHFJ
c05hTihyZXN1bHQpKQotICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAocUlzSW5mKHJlc3VsdCkp
Ci0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgcmV0dXJuIChyZXN1bHQgPiAwKSA/IHFGbG9v
cihyZXN1bHQpIDogLTEgKiBxRmxvb3IoLXJlc3VsdCk7Ci19Ci0KLXFpbnQzMiBRU2NyaXB0VmFs
dWVQcml2YXRlOjp0b0ludDMyKCkgY29uc3QKLXsKLSAgICBxc3JlYWwgcmVzdWx0ID0gdG9JbnRl
Z2VyKCk7Ci0gICAgLy8gT3JnaW5hbHkgaXQgc2hvdWxkIGxvb2sgbGlrZSB0aGF0IChyZXN1bHQg
PT0gMCB8fCBxSXNJbmYocmVzdWx0KSB8fCBxSXNOYU4ocmVzdWx0KSksIGJ1dAotICAgIC8vIHNv
bWUgb2YgdGhlc2Ugb3BlcmF0aW9uIGFyZSBpbnZva2VkIGluIHRvSW50ZWdlciBzdWJjYWxsLgot
ICAgIGlmIChxSXNJbmYocmVzdWx0KSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotcXVpbnQzMiBRU2NyaXB0VmFsdWVQcml2YXRlOjp0b1VJbnQzMigpIGNvbnN0
Ci17Ci0gICAgcXNyZWFsIHJlc3VsdCA9IHRvSW50ZWdlcigpOwotICAgIC8vIE9yZ2luYWx5IGl0
IHNob3VsZCBsb29rIGxpa2UgdGhhdCAocmVzdWx0ID09IDAgfHwgcUlzSW5mKHJlc3VsdCkgfHwg
cUlzTmFOKHJlc3VsdCkpLCBidXQKLSAgICAvLyBzb21lIG9mIHRoZXNlIG9wZXJhdGlvbiBhcmUg
aW52b2tlZCBpbiB0b0ludGVnZXIgc3ViY2FsbC4KLSAgICBpZiAocUlzSW5mKHJlc3VsdCkpCi0g
ICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLXF1aW50MTYgUVNjcmlw
dFZhbHVlUHJpdmF0ZTo6dG9VSW50MTYoKSBjb25zdAotewotICAgIHJldHVybiB0b0ludDMyKCk7
Ci19Ci0KLS8qIQotICBDcmVhdGVzIGEgY29weSBvZiB0aGlzIHZhbHVlIGFuZCBjb252ZXJ0cyBp
dCB0byBhbiBvYmplY3QuIElmIHRoaXMgdmFsdWUgaXMgYW4gb2JqZWN0Ci0gIHRoZW4gcG9pbnRl
ciB0byB0aGlzIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuCi0gIFxhdHRlbnRpb24gaXQgc2hvdWxk
IG5vdCBoYXBwZW4gYnV0IGlmIHRoaXMgdmFsdWUgaXMgYm91bmRlZCB0byBhIGRpZmZlcmVudCBl
bmdpbmUgdGhhdCB0aGUgZ2l2ZW4sIHRoZSBmaXJzdAotICBvbmUgd2lsbCBiZSB1c2VkLgotICBc
aW50ZXJuYWwKLSAgKi8KLVFTY3JpcHRWYWx1ZVByaXZhdGUqIFFTY3JpcHRWYWx1ZVByaXZhdGU6
OnRvT2JqZWN0KFFTY3JpcHRFbmdpbmVQcml2YXRlKiBlbmdpbmUpCi17Ci0gICAgc3dpdGNoICht
X3N0YXRlKSB7Ci0gICAgY2FzZSBJbnZhbGlkOgotICAgIGNhc2UgQ051bGw6Ci0gICAgY2FzZSBD
VW5kZWZpbmVkOgotICAgICAgICByZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGU7Ci0gICAg
Y2FzZSBDU3RyaW5nOgotICAgICAgICB7Ci0gICAgICAgICAgICAvLyBFeGNlcHRpb24gY2FuJ3Qg
b2NjdXIgaGVyZS4KLSAgICAgICAgICAgIEpTT2JqZWN0UmVmIG9iamVjdCA9IEpTVmFsdWVUb09i
amVjdCgqZW5naW5lLCBlbmdpbmUtPm1ha2VKU1ZhbHVlKCp1Lm1fc3RyaW5nKSwgLyogZXhjZXB0
aW9uICovIDApOwotICAgICAgICAgICAgUV9BU1NFUlQob2JqZWN0KTsKLSAgICAgICAgICAgIHJl
dHVybiBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZShlbmdpbmUsIG9iamVjdCk7Ci0gICAgICAgIH0K
LSAgICBjYXNlIENOdW1iZXI6Ci0gICAgICAgIHsKLSAgICAgICAgICAgIC8vIEV4Y2VwdGlvbiBj
YW4ndCBvY2N1ciBoZXJlLgotICAgICAgICAgICAgSlNPYmplY3RSZWYgb2JqZWN0ID0gSlNWYWx1
ZVRvT2JqZWN0KCplbmdpbmUsIGVuZ2luZS0+bWFrZUpTVmFsdWUodS5tX251bWJlciksIC8qIGV4
Y2VwdGlvbiAqLyAwKTsKLSAgICAgICAgICAgIFFfQVNTRVJUKG9iamVjdCk7Ci0gICAgICAgICAg
ICByZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUoZW5naW5lLCBvYmplY3QpOwotICAgICAg
ICB9Ci0gICAgY2FzZSBDQm9vbDoKLSAgICAgICAgewotICAgICAgICAgICAgLy8gRXhjZXB0aW9u
IGNhbid0IG9jY3VyZSBoZXJlLgotICAgICAgICAgICAgSlNPYmplY3RSZWYgb2JqZWN0ID0gSlNW
YWx1ZVRvT2JqZWN0KCplbmdpbmUsIGVuZ2luZS0+bWFrZUpTVmFsdWUodS5tX2Jvb2wpLCAvKiBl
eGNlcHRpb24gKi8gMCk7Ci0gICAgICAgICAgICBRX0FTU0VSVChvYmplY3QpOwotICAgICAgICAg
ICAgcmV0dXJuIG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKGVuZ2luZSwgb2JqZWN0KTsKLSAgICAg
ICAgfQotICAgIGNhc2UgSlNWYWx1ZToKLSAgICAgICAgaWYgKHJlZmluZWRKU1ZhbHVlKCkgIT0g
SlNQcmltaXRpdmUpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgLy8gRmFsbC10aHJvdWdo
LgotICAgIGNhc2UgSlNQcmltaXRpdmU6Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChlbmdp
bmUgIT0gdGhpcy0+ZW5naW5lKCkpCi0gICAgICAgICAgICAgICAgcVdhcm5pbmcoIlFTY3JpcHRF
bmdpbmU6OnRvT2JqZWN0OiBjYW5ub3QgY29udmVydCB2YWx1ZSBjcmVhdGVkIGluIGEgZGlmZmVy
ZW50IGVuZ2luZSIpOwotICAgICAgICAgICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAg
ICAgICAgICAgSlNPYmplY3RSZWYgb2JqZWN0ID0gSlNWYWx1ZVRvT2JqZWN0KCptX2VuZ2luZSwg
KnRoaXMsICZleGNlcHRpb24pOwotICAgICAgICAgICAgaWYgKG9iamVjdCkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUobV9lbmdpbmUuY29uc3REYXRhKCks
IG9iamVjdCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgbV9lbmdpbmUtPnNl
dEV4Y2VwdGlvbihleGNlcHRpb24sIFFTY3JpcHRFbmdpbmVQcml2YXRlOjpOb3ROdWxsRXhjZXB0
aW9uKTsKLQotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0
ZTsKLSAgICBjYXNlIEpTT2JqZWN0OgotICAgICAgICBicmVhazsKLSAgICB9Ci0KLSAgICBpZiAo
ZW5naW5lICE9IHRoaXMtPmVuZ2luZSgpKQotICAgICAgICBxV2FybmluZygiUVNjcmlwdEVuZ2lu
ZTo6dG9PYmplY3Q6IGNhbm5vdCBjb252ZXJ0IHZhbHVlIGNyZWF0ZWQgaW4gYSBkaWZmZXJlbnQg
ZW5naW5lIik7Ci0gICAgUV9BU1NFUlQobV9zdGF0ZSA9PSBKU09iamVjdCk7Ci0gICAgcmV0dXJu
IHRoaXM7Ci19Ci0KLS8qIQotICBUaGlzIG1ldGhvZCBpcyBjcmVhdGVkIG9ubHkgZm9yIFFTY3Jp
cHRWYWx1ZTo6dG9PYmplY3QoKSBwdXJwb3NlIHdoaWNoIGlzIG9ic29sZXRlLgotICBcaW50ZXJu
YWwKLSAqLwotUVNjcmlwdFZhbHVlUHJpdmF0ZSogUVNjcmlwdFZhbHVlUHJpdmF0ZTo6dG9PYmpl
Y3QoKQotewotICAgIGlmIChpc0pTQmFzZWQoKSkKLSAgICAgICAgcmV0dXJuIHRvT2JqZWN0KG1f
ZW5naW5lLmRhdGEoKSk7Ci0KLSAgICAvLyBXaXRob3V0IGFuIGVuZ2luZSB0aGVyZSBpcyBub3Qg
bXVjaCB3ZSBjYW4gZG8uCi0gICAgcmV0dXJuIG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlOwotfQot
Ci1RRGF0ZVRpbWUgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6dG9EYXRlVGltZSgpCi17Ci0gICAgaWYg
KCFpc0RhdGUoKSkKLSAgICAgICAgcmV0dXJuIFFEYXRlVGltZSgpOwotCi0gICAgSlNWYWx1ZVJl
ZiBleGNlcHRpb24gPSAwOwotICAgIHFzcmVhbCB0ID0gSlNWYWx1ZVRvTnVtYmVyKCptX2VuZ2lu
ZSwgKnRoaXMsICZleGNlcHRpb24pOwotCi0gICAgaWYgKGV4Y2VwdGlvbikgewotICAgICAgICBt
X2VuZ2luZS0+c2V0RXhjZXB0aW9uKGV4Y2VwdGlvbiwgUVNjcmlwdEVuZ2luZVByaXZhdGU6Ok5v
dE51bGxFeGNlcHRpb24pOwotICAgICAgICByZXR1cm4gUURhdGVUaW1lKCk7Ci0gICAgfQotCi0g
ICAgUURhdGVUaW1lIHJlc3VsdDsKLSAgICByZXN1bHQuc2V0TVNlY3NTaW5jZUVwb2NoKHFpbnQ2
NCh0KSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotaW5saW5lIFFTY3JpcHRWYWx1ZVByaXZh
dGUqIFFTY3JpcHRWYWx1ZVByaXZhdGU6OnByb3RvdHlwZSgpCi17Ci0gICAgaWYgKGlzT2JqZWN0
KCkpIHsKLSAgICAgICAgSlNWYWx1ZVJlZiBwcm90b3R5cGUgPSBKU09iamVjdEdldFByb3RvdHlw
ZSgqbV9lbmdpbmUsICp0aGlzKTsKLSAgICAgICAgaWYgKEpTVmFsdWVJc051bGwoKm1fZW5naW5l
LCBwcm90b3R5cGUpKQotICAgICAgICAgICAgcmV0dXJuIG5ldyBRU2NyaXB0VmFsdWVQcml2YXRl
KGVuZ2luZSgpLCBwcm90b3R5cGUpOwotICAgICAgICAvLyBUaGUgcHJvdG90eXBlIGNvdWxkIGJl
IGVpdGhlciBhIG51bGwgb3IgYSBKU09iamVjdCwgc28gaXQgaXMgc2FmZSB0byBjYXN0IHRoZSBw
cm90b3R5cGUKLSAgICAgICAgLy8gdG8gdGhlIEpTT2JqZWN0UmVmIGhlcmUuCi0gICAgICAgIHJl
dHVybiBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZShlbmdpbmUoKSwgY29uc3RfY2FzdDxKU09iamVj
dFJlZj4ocHJvdG90eXBlKSk7Ci0gICAgfQotICAgIHJldHVybiBuZXcgUVNjcmlwdFZhbHVlUHJp
dmF0ZTsKLX0KLQotaW5saW5lIHZvaWQgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6c2V0UHJvdG90eXBl
KFFTY3JpcHRWYWx1ZVByaXZhdGUqIHByb3RvdHlwZSkKLXsKLSAgICBpZiAoaXNPYmplY3QoKSAm
JiBwcm90b3R5cGUtPmlzVmFsaWQoKSAmJiAocHJvdG90eXBlLT5pc09iamVjdCgpIHx8IHByb3Rv
dHlwZS0+aXNOdWxsKCkpKSB7Ci0gICAgICAgIGlmIChlbmdpbmUoKSAhPSBwcm90b3R5cGUtPmVu
Z2luZSgpKSB7Ci0gICAgICAgICAgICBxV2FybmluZygiUVNjcmlwdFZhbHVlOjpzZXRQcm90b3R5
cGUoKSBmYWlsZWQ6IGNhbm5vdCBzZXQgYSBwcm90b3R5cGUgY3JlYXRlZCBpbiBhIGRpZmZlcmVu
dCBlbmdpbmUiKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICAvLyBG
SVhNRTogVGhpcyBjb3VsZCBiZSByZXBsYWNlZCBieSBhIG5ldywgZmFzdGVyIEFQSQotICAgICAg
ICAvLyBsb29rIGF0IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDA2
MAotICAgICAgICBKU09iamVjdFNldFByb3RvdHlwZSgqbV9lbmdpbmUsICp0aGlzLCAqcHJvdG90
eXBlKTsKLSAgICAgICAgSlNWYWx1ZVJlZiBwcm90byA9IEpTT2JqZWN0R2V0UHJvdG90eXBlKCpt
X2VuZ2luZSwgKnRoaXMpOwotICAgICAgICBpZiAoIUpTVmFsdWVJc1N0cmljdEVxdWFsKCptX2Vu
Z2luZSwgcHJvdG8sICpwcm90b3R5cGUpKQotICAgICAgICAgICAgcVdhcm5pbmcoIlFTY3JpcHRW
YWx1ZTo6c2V0UHJvdG90eXBlKCkgZmFpbGVkOiBjeWNsaWMgcHJvdG90eXBlIHZhbHVlIik7Ci0g
ICAgfQotfQotCi1ib29sIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmVxdWFscyhRU2NyaXB0VmFsdWVQ
cml2YXRlKiBvdGhlcikKLXsKLSAgICBpZiAoIWlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuICFv
dGhlci0+aXNWYWxpZCgpOwotCi0gICAgaWYgKCFvdGhlci0+aXNWYWxpZCgpKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAoIWlzSlNCYXNlZCgpICYmICFvdGhlci0+aXNKU0Jhc2Vk
KCkpIHsKLSAgICAgICAgc3dpdGNoIChtX3N0YXRlKSB7Ci0gICAgICAgIGNhc2UgQ051bGw6Ci0g
ICAgICAgIGNhc2UgQ1VuZGVmaW5lZDoKLSAgICAgICAgICAgIHJldHVybiBvdGhlci0+aXNVbmRl
ZmluZWQoKSB8fCBvdGhlci0+aXNOdWxsKCk7Ci0gICAgICAgIGNhc2UgQ051bWJlcjoKLSAgICAg
ICAgICAgIHN3aXRjaCAob3RoZXItPm1fc3RhdGUpIHsKLSAgICAgICAgICAgIGNhc2UgQ0Jvb2w6
Ci0gICAgICAgICAgICBjYXNlIENTdHJpbmc6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHUubV9u
dW1iZXIgPT0gb3RoZXItPnRvTnVtYmVyKCk7Ci0gICAgICAgICAgICBjYXNlIENOdW1iZXI6Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuIHUubV9udW1iZXIgPT0gb3RoZXItPnUubV9udW1iZXI7Ci0g
ICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgY2FzZSBDQm9vbDoKLSAgICAgICAgICAgIHN3aXRjaCAob3RoZXIt
Pm1fc3RhdGUpIHsKLSAgICAgICAgICAgIGNhc2UgQ0Jvb2w6Ci0gICAgICAgICAgICAgICAgcmV0
dXJuIHUubV9ib29sID09IG90aGVyLT51Lm1fYm9vbDsKLSAgICAgICAgICAgIGNhc2UgQ051bWJl
cjoKLSAgICAgICAgICAgICAgICByZXR1cm4gdG9OdW1iZXIoKSA9PSBvdGhlci0+dS5tX251bWJl
cjsKLSAgICAgICAgICAgIGNhc2UgQ1N0cmluZzoKLSAgICAgICAgICAgICAgICByZXR1cm4gdG9O
dW1iZXIoKSA9PSBvdGhlci0+dG9OdW1iZXIoKTsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgfQotICAgICAgICBjYXNlIENT
dHJpbmc6Ci0gICAgICAgICAgICBzd2l0Y2ggKG90aGVyLT5tX3N0YXRlKSB7Ci0gICAgICAgICAg
ICBjYXNlIENCb29sOgotICAgICAgICAgICAgICAgIHJldHVybiB0b051bWJlcigpID09IG90aGVy
LT50b051bWJlcigpOwotICAgICAgICAgICAgY2FzZSBDTnVtYmVyOgotICAgICAgICAgICAgICAg
IHJldHVybiB0b051bWJlcigpID09IG90aGVyLT51Lm1fbnVtYmVyOwotICAgICAgICAgICAgY2Fz
ZSBDU3RyaW5nOgotICAgICAgICAgICAgICAgIHJldHVybiAqdS5tX3N0cmluZyA9PSAqb3RoZXIt
PnUubV9zdHJpbmc7Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIFFf
QVNTRVJUX1goZmFsc2UsICJlcXVhbHMoKSIsICJOb3QgYWxsIHN0YXRlcyBhcmUgaW5jbHVkZWQg
aW4gdGhlIHByZXZpb3VzIHN3aXRjaCBzdGF0ZW1lbnQuIik7Ci0gICAgICAgIH0KLSAgICB9Ci0K
LSAgICBpZiAoaXNKU0Jhc2VkKCkgJiYgIW90aGVyLT5pc0pTQmFzZWQoKSkgewotICAgICAgICBp
ZiAoIW90aGVyLT5hc3NpZ25FbmdpbmUoZW5naW5lKCkpKSB7Ci0gICAgICAgICAgICBxV2Fybmlu
ZygiZXF1YWxzKCk6IENhbm5vdCBjb21wYXJlIHRvIGEgdmFsdWUgY3JlYXRlZCBpbiBhIGRpZmZl
cmVudCBlbmdpbmUiKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAg
IH0gZWxzZSBpZiAoIWlzSlNCYXNlZCgpICYmIG90aGVyLT5pc0pTQmFzZWQoKSkgewotICAgICAg
ICBpZiAoIWFzc2lnbkVuZ2luZShvdGhlci0+ZW5naW5lKCkpKSB7Ci0gICAgICAgICAgICBxV2Fy
bmluZygiZXF1YWxzKCk6IENhbm5vdCBjb21wYXJlIHRvIGEgdmFsdWUgY3JlYXRlZCBpbiBhIGRp
ZmZlcmVudCBlbmdpbmUiKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQot
ICAgIH0KLQotICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0gMDsKLSAgICBib29sIHJlc3VsdCA9
IEpTVmFsdWVJc0VxdWFsKCptX2VuZ2luZSwgKnRoaXMsICpvdGhlciwgJmV4Y2VwdGlvbik7Ci0g
ICAgbV9lbmdpbmUtPnNldEV4Y2VwdGlvbihleGNlcHRpb24pOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KLWJvb2wgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6c3RyaWN0bHlFcXVhbHMoUVNjcmlwdFZh
bHVlUHJpdmF0ZSogb3RoZXIpCi17Ci0gICAgaWYgKGlzSlNCYXNlZCgpKSB7Ci0gICAgICAgIC8v
IFdlIGNhbid0IGNvbXBhcmUgdGhlc2UgdHdvIHZhbHVlcyB3aXRob3V0IGJpbmRpbmcgdG8gdGhl
IHNhbWUgZW5naW5lLgotICAgICAgICBpZiAoIW90aGVyLT5pc0pTQmFzZWQoKSkgewotICAgICAg
ICAgICAgaWYgKG90aGVyLT5hc3NpZ25FbmdpbmUoZW5naW5lKCkpKQotICAgICAgICAgICAgICAg
IHJldHVybiBKU1ZhbHVlSXNTdHJpY3RFcXVhbCgqbV9lbmdpbmUsICp0aGlzLCAqb3RoZXIpOwot
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgICAgIGlmIChvdGhlci0+
ZW5naW5lKCkgIT0gZW5naW5lKCkpIHsKLSAgICAgICAgICAgIHFXYXJuaW5nKCJzdHJpY3RseUVx
dWFscygpOiBDYW5ub3QgY29tcGFyZSB0byBhIHZhbHVlIGNyZWF0ZWQgaW4gYSBkaWZmZXJlbnQg
ZW5naW5lIik7Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAg
cmV0dXJuIEpTVmFsdWVJc1N0cmljdEVxdWFsKCptX2VuZ2luZSwgKnRoaXMsICpvdGhlcik7Ci0g
ICAgfQotICAgIGlmIChpc1N0cmluZ0Jhc2VkKCkpIHsKLSAgICAgICAgaWYgKG90aGVyLT5pc1N0
cmluZ0Jhc2VkKCkpCi0gICAgICAgICAgICByZXR1cm4gKnUubV9zdHJpbmcgPT0gKihvdGhlci0+
dS5tX3N0cmluZyk7Ci0gICAgICAgIGlmIChvdGhlci0+aXNKU0Jhc2VkKCkpIHsKLSAgICAgICAg
ICAgIGFzc2lnbkVuZ2luZShvdGhlci0+ZW5naW5lKCkpOwotICAgICAgICAgICAgcmV0dXJuIEpT
VmFsdWVJc1N0cmljdEVxdWFsKCptX2VuZ2luZSwgKnRoaXMsICpvdGhlcik7Ci0gICAgICAgIH0K
LSAgICB9Ci0gICAgaWYgKGlzTnVtYmVyQmFzZWQoKSkgewotICAgICAgICBpZiAob3RoZXItPmlz
TnVtYmVyQmFzZWQoKSkKLSAgICAgICAgICAgIHJldHVybiB1Lm1fbnVtYmVyID09IG90aGVyLT51
Lm1fbnVtYmVyOwotICAgICAgICBpZiAob3RoZXItPmlzSlNCYXNlZCgpKSB7Ci0gICAgICAgICAg
ICBhc3NpZ25FbmdpbmUob3RoZXItPmVuZ2luZSgpKTsKLSAgICAgICAgICAgIHJldHVybiBKU1Zh
bHVlSXNTdHJpY3RFcXVhbCgqbV9lbmdpbmUsICp0aGlzLCAqb3RoZXIpOwotICAgICAgICB9Ci0g
ICAgfQotICAgIGlmICghaXNWYWxpZCgpICYmICFvdGhlci0+aXNWYWxpZCgpKQotICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLQotICAgIHJldHVybiBmYWxzZTsKLX0KLQotaW5saW5lIGJvb2wgUVNjcmlw
dFZhbHVlUHJpdmF0ZTo6aW5zdGFuY2VPZihRU2NyaXB0VmFsdWVQcml2YXRlKiBvdGhlcikKLXsK
LSAgICBpZiAoIWlzSlNCYXNlZCgpIHx8ICFvdGhlci0+aXNPYmplY3QoKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0gMDsKLSAgICBib29sIHJlc3Vs
dCA9IEpTVmFsdWVJc0luc3RhbmNlT2ZDb25zdHJ1Y3RvcigqbV9lbmdpbmUsICp0aGlzLCAqb3Ro
ZXIsICZleGNlcHRpb24pOwotICAgIG1fZW5naW5lLT5zZXRFeGNlcHRpb24oZXhjZXB0aW9uKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKiEKLSAgVHJpZXMgdG8gYXNzaWduIFxhIGVuZ2lu
ZSB0byB0aGlzIHZhbHVlLiBSZXR1cm5zIHRydWUgb24gc3VjY2Vzczsgb3RoZXJ3aXNlIHJldHVy
bnMgZmFsc2UuCi0qLwotYm9vbCBRU2NyaXB0VmFsdWVQcml2YXRlOjphc3NpZ25FbmdpbmUoUVNj
cmlwdEVuZ2luZVByaXZhdGUqIGVuZ2luZSkKLXsKLSAgICBRX0FTU0VSVChlbmdpbmUpOwotICAg
IEpTVmFsdWVSZWYgdmFsdWU7Ci0gICAgc3dpdGNoIChtX3N0YXRlKSB7Ci0gICAgY2FzZSBDQm9v
bDoKLSAgICAgICAgdmFsdWUgPSBlbmdpbmUtPm1ha2VKU1ZhbHVlKHUubV9ib29sKTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBDU3RyaW5nOgotICAgICAgICB2YWx1ZSA9IGVuZ2luZS0+bWFr
ZUpTVmFsdWUoKnUubV9zdHJpbmcpOwotICAgICAgICBkZWxldGUgdS5tX3N0cmluZzsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBDTnVtYmVyOgotICAgICAgICB2YWx1ZSA9IGVuZ2luZS0+bWFr
ZUpTVmFsdWUodS5tX251bWJlcik7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ051bGw6Ci0g
ICAgICAgIHZhbHVlID0gZW5naW5lLT5tYWtlSlNWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1
ZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ1VuZGVmaW5lZDoKLSAgICAgICAgdmFsdWUg
PSBlbmdpbmUtPm1ha2VKU1ZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpOwotICAg
ICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBpZiAoIWlzSlNCYXNlZCgpKQotICAg
ICAgICAgICAgUV9BU1NFUlRfWCghaXNKU0Jhc2VkKCksICJhc3NpZ25FbmdpbmUoKSIsICJOb3Qg
YWxsIHN0YXRlcyBhcmUgaW5jbHVkZWQgaW4gdGhlIHByZXZpb3VzIHN3aXRjaCBzdGF0ZW1lbnQu
Iik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHFXYXJuaW5nKCJKU1ZhbHVlIGNhbid0IGJl
IHJhc3NpZ25lZCB0byBhbiBhbm90aGVyIGVuZ2luZS4iKTsKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIH0KLSAgICBtX2VuZ2luZSA9IGVuZ2luZTsKLSAgICBtX3N0YXRlID0gSlNQcmltaXRp
dmU7Ci0gICAgdS5tX3ZhbHVlID0gdmFsdWU7Ci0gICAgSlNWYWx1ZVByb3RlY3QoKm1fZW5naW5l
LCB2YWx1ZSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWlubGluZSBRU2NyaXB0VmFsdWVQcml2
YXRlKiBRU2NyaXB0VmFsdWVQcml2YXRlOjpwcm9wZXJ0eShjb25zdCBRU3RyaW5nJiBuYW1lLCBj
b25zdCBRU2NyaXB0VmFsdWU6OlJlc29sdmVGbGFncyYgbW9kZSkKLXsKLSAgICBKU1JldGFpblB0
cjxKU1N0cmluZ1JlZj4gcHJvcGVydHlOYW1lKEFkb3B0LCBRU2NyaXB0Q29udmVydGVyOjp0b1N0
cmluZyhuYW1lKSk7Ci0gICAgcmV0dXJuIHByb3BlcnR5PEpTU3RyaW5nUmVmPihwcm9wZXJ0eU5h
bWUuZ2V0KCksIG1vZGUpOwotfQotCi1pbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZSogUVNjcmlw
dFZhbHVlUHJpdmF0ZTo6cHJvcGVydHkoY29uc3QgUVNjcmlwdFN0cmluZ1ByaXZhdGUqIG5hbWUs
IGNvbnN0IFFTY3JpcHRWYWx1ZTo6UmVzb2x2ZUZsYWdzJiBtb2RlKQotewotICAgIHJldHVybiBw
cm9wZXJ0eTxKU1N0cmluZ1JlZj4oKm5hbWUsIG1vZGUpOwotfQotCi1pbmxpbmUgUVNjcmlwdFZh
bHVlUHJpdmF0ZSogUVNjcmlwdFZhbHVlUHJpdmF0ZTo6cHJvcGVydHkocXVpbnQzMiBhcnJheUlu
ZGV4LCBjb25zdCBRU2NyaXB0VmFsdWU6OlJlc29sdmVGbGFncyYgbW9kZSkKLXsKLSAgICByZXR1
cm4gcHJvcGVydHk8cXVpbnQzMj4oYXJyYXlJbmRleCwgbW9kZSk7Ci19Ci0KLS8qIQotICAgIFxp
bnRlcm5hbAotICAgIFRoaXMgbWV0aG9kIHdhcyBjcmVhdGVkIHRvIHVuaWZ5IGFjY2VzcyB0byB0
aGUgSlNPYmplY3RHZXRQcm9wZXJ0eUF0SW5kZXggYW5kIHRoZSBKU09iamVjdEdldFByb3BlcnR5
LgotKi8KLWlubGluZSBKU1ZhbHVlUmVmIFFTY3JpcHRWYWx1ZVByaXZhdGU6OnByb3BlcnR5KHF1
aW50MzIgcHJvcGVydHksIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKLXsKLSAgICByZXR1cm4gSlNP
YmplY3RHZXRQcm9wZXJ0eUF0SW5kZXgoKm1fZW5naW5lLCAqdGhpcywgcHJvcGVydHksIGV4Y2Vw
dGlvbik7Ci19Ci0KLS8qIQotICAgIFxpbnRlcm5hbAotICAgIFRoaXMgbWV0aG9kIHdhcyBjcmVh
dGVkIHRvIHVuaWZ5IGFjY2VzcyB0byB0aGUgSlNPYmplY3RHZXRQcm9wZXJ0eUF0SW5kZXggYW5k
IHRoZSBKU09iamVjdEdldFByb3BlcnR5LgotKi8KLWlubGluZSBKU1ZhbHVlUmVmIFFTY3JpcHRW
YWx1ZVByaXZhdGU6OnByb3BlcnR5KEpTU3RyaW5nUmVmIHByb3BlcnR5LCBKU1ZhbHVlUmVmKiBl
eGNlcHRpb24pCi17Ci0gICAgcmV0dXJuIEpTT2JqZWN0R2V0UHJvcGVydHkoKm1fZW5naW5lLCAq
dGhpcywgcHJvcGVydHksIGV4Y2VwdGlvbik7Ci19Ci0KLS8qIQotICAgIFxpbnRlcm5hbAotICAg
IFRoaXMgbWV0aG9kIHdhcyBjcmVhdGVkIHRvIHVuaWZ5IGFjY2Nlc3MgdG8gaGFzT3duUHJvcGVy
dHksIHNhbWUgZnVuY3Rpb24gZm9yIGFuIGFycmF5IGluZGV4Ci0gICAgYW5kIGEgcHJvcGVydHkg
bmFtZSBhY2Nlc3MuCi0qLwotaW5saW5lIGJvb2wgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6aGFzT3du
UHJvcGVydHkocXVpbnQzMiBwcm9wZXJ0eSkKLXsKLSAgICBRX0FTU0VSVChpc09iamVjdCgpKTsK
LSAgICAvLyBGSVhNRSBpdCBjb3VsZCBiZSBmYXN0ZXIsIGJ1dCBKU0MgQyBBUEkgZG9lc24ndCBl
eHBvc2UgbmVlZGVkIGZ1bmN0aW9uYWxpdHkuCi0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IHByb3BlcnR5TmFtZShBZG9wdCwgUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmcoUVN0cmluZzo6
bnVtYmVyKHByb3BlcnR5KSkpOwotICAgIHJldHVybiBoYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eU5h
bWUuZ2V0KCkpOwotfQotCi0vKiEKLSAgICBcaW50ZXJuYWwKLSAgICBUaGlzIG1ldGhvZCB3YXMg
Y3JlYXRlZCB0byB1bmlmeSBhY2NjZXNzIHRvIGhhc093blByb3BlcnR5LCBzYW1lIGZ1bmN0aW9u
IGZvciBhbiBhcnJheSBpbmRleAotICAgIGFuZCBhIHByb3BlcnR5IG5hbWUgYWNjZXNzLgotKi8K
LWlubGluZSBib29sIFFTY3JpcHRWYWx1ZVByaXZhdGU6Omhhc093blByb3BlcnR5KEpTU3RyaW5n
UmVmIHByb3BlcnR5KQotewotICAgIFFfQVNTRVJUKGlzT2JqZWN0KCkpOwotICAgIHJldHVybiBt
X2VuZ2luZS0+b2JqZWN0SGFzT3duUHJvcGVydHkoKnRoaXMsIHByb3BlcnR5KTsKLX0KLQotLyoh
Ci0gICAgXGludGVybmFsCi0gICAgVGhpcyBmdW5jdGlvbiBnZXRzIHByb3BlcnR5IG9mIGFuIG9i
amVjdC4KLSAgICBcYXJnIHByb3BlcnR5TmFtZSBjb3VsZCBiZSB0eXBlIG9mIHF1aW50MzIgKGFu
IGFycmF5IGluZGV4KSBvciBKU1N0cmluZ1JlZiAoYSBwcm9wZXJ0eSBuYW1lKS4KLSovCi10ZW1w
bGF0ZTx0eXBlbmFtZSBUPgotaW5saW5lIFFTY3JpcHRWYWx1ZVByaXZhdGUqIFFTY3JpcHRWYWx1
ZVByaXZhdGU6OnByb3BlcnR5KFQgcHJvcGVydHlOYW1lLCBjb25zdCBRU2NyaXB0VmFsdWU6OlJl
c29sdmVGbGFncyYgbW9kZSkKLXsKLSAgICBpZiAoIWlzT2JqZWN0KCkpCi0gICAgICAgIHJldHVy
biBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZSgpOwotCi0gICAgaWYgKChtb2RlID09IFFTY3JpcHRW
YWx1ZTo6UmVzb2x2ZUxvY2FsKSAmJiAoIWhhc093blByb3BlcnR5KHByb3BlcnR5TmFtZSkpKQot
ICAgICAgICByZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUoKTsKLQotICAgIEpTVmFsdWVS
ZWYgZXhjZXB0aW9uID0gMDsKLSAgICBKU1ZhbHVlUmVmIHZhbHVlID0gcHJvcGVydHkocHJvcGVy
dHlOYW1lLCAmZXhjZXB0aW9uKTsKLQotICAgIGlmIChleGNlcHRpb24pIHsKLSAgICAgICAgbV9l
bmdpbmUtPnNldEV4Y2VwdGlvbihleGNlcHRpb24sIFFTY3JpcHRFbmdpbmVQcml2YXRlOjpOb3RO
dWxsRXhjZXB0aW9uKTsKLSAgICAgICAgcmV0dXJuIG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKGVu
Z2luZSgpLCBleGNlcHRpb24pOwotICAgIH0KLSAgICBpZiAoSlNWYWx1ZUlzVW5kZWZpbmVkKCpt
X2VuZ2luZSwgdmFsdWUpKQotICAgICAgICByZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGU7
Ci0gICAgcmV0dXJuIG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKGVuZ2luZSgpLCB2YWx1ZSk7Ci19
Ci0KLWlubGluZSB2b2lkIFFTY3JpcHRWYWx1ZVByaXZhdGU6OnNldFByb3BlcnR5KGNvbnN0IFFT
dHJpbmcmIG5hbWUsIFFTY3JpcHRWYWx1ZVByaXZhdGUqIHZhbHVlLCBjb25zdCBRU2NyaXB0VmFs
dWU6OlByb3BlcnR5RmxhZ3MmIGZsYWdzKQotewotICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBwcm9wZXJ0eU5hbWUoQWRvcHQsIFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKG5hbWUpKTsK
LSAgICBzZXRQcm9wZXJ0eTxKU1N0cmluZ1JlZj4ocHJvcGVydHlOYW1lLmdldCgpLCB2YWx1ZSwg
ZmxhZ3MpOwotfQotCi1pbmxpbmUgdm9pZCBRU2NyaXB0VmFsdWVQcml2YXRlOjpzZXRQcm9wZXJ0
eShxdWludDMyIGFycmF5SW5kZXgsIFFTY3JpcHRWYWx1ZVByaXZhdGUqIHZhbHVlLCBjb25zdCBR
U2NyaXB0VmFsdWU6OlByb3BlcnR5RmxhZ3MmIGZsYWdzKQotewotICAgIHNldFByb3BlcnR5PHF1
aW50MzI+KGFycmF5SW5kZXgsIHZhbHVlLCBmbGFncyk7Ci19Ci0KLWlubGluZSB2b2lkIFFTY3Jp
cHRWYWx1ZVByaXZhdGU6OnNldFByb3BlcnR5KGNvbnN0IFFTY3JpcHRTdHJpbmdQcml2YXRlKiBu
YW1lLCBRU2NyaXB0VmFsdWVQcml2YXRlKiB2YWx1ZSwgY29uc3QgUVNjcmlwdFZhbHVlOjpQcm9w
ZXJ0eUZsYWdzJiBmbGFncykKLXsKLSAgICBzZXRQcm9wZXJ0eTxKU1N0cmluZ1JlZj4oKm5hbWUs
IHZhbHVlLCBmbGFncyk7Ci19Ci0KLS8qIQotICAgIFxpbnRlcm5hbAotICAgIFRoaXMgbWV0aG9k
IHdhcyBjcmVhdGVkIHRvIHVuaWZ5IGFjY2VzcyB0byB0aGUgSlNPYmplY3RTZXRQcm9wZXJ0eUF0
SW5kZXggYW5kIHRoZSBKU09iamVjdFNldFByb3BlcnR5LgotKi8KLWlubGluZSB2b2lkIFFTY3Jp
cHRWYWx1ZVByaXZhdGU6OnNldFByb3BlcnR5KHF1aW50MzIgcHJvcGVydHksIEpTVmFsdWVSZWYg
dmFsdWUsIEpTUHJvcGVydHlBdHRyaWJ1dGVzIGZsYWdzLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24p
Ci17Ci0gICAgUV9BU1NFUlQoaXNPYmplY3QoKSk7Ci0gICAgaWYgKGZsYWdzKSB7Ci0gICAgICAg
IC8vIEZJWE1FIFRoaXMgY291bGQgYmUgYmV0dGVyLCBidXQgSlNDIEMgQVBJIGRvZXNuJ3QgZXhw
b3NlIG5lZWRlZCBmdW5jdGlvbmFsaXR5LiBJdCBpcwotICAgICAgICAvLyBub3QgcG9zc2libGUg
dG8gY3JlYXRlIC8gbW9kaWZ5IGEgcHJvcGVydHkgYXR0cmlidXRlIHZpYSBhbiBhcnJheSBpbmRl
eC4KLSAgICAgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHByb3BlcnR5TmFtZShBZG9wdCwg
UVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmcoUVN0cmluZzo6bnVtYmVyKHByb3BlcnR5KSkpOwot
ICAgICAgICBKU09iamVjdFNldFByb3BlcnR5KCptX2VuZ2luZSwgKnRoaXMsIHByb3BlcnR5TmFt
ZS5nZXQoKSwgdmFsdWUsIGZsYWdzLCBleGNlcHRpb24pOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotICAgIEpTT2JqZWN0U2V0UHJvcGVydHlBdEluZGV4KCptX2VuZ2luZSwgKnRoaXMsIHByb3Bl
cnR5LCB2YWx1ZSwgZXhjZXB0aW9uKTsKLX0KLQotLyohCi0gICAgXGludGVybmFsCi0gICAgVGhp
cyBtZXRob2Qgd2FzIGNyZWF0ZWQgdG8gdW5pZnkgYWNjZXNzIHRvIHRoZSBKU09iamVjdFNldFBy
b3BlcnR5QXRJbmRleCBhbmQgdGhlIEpTT2JqZWN0U2V0UHJvcGVydHkuCi0qLwotaW5saW5lIHZv
aWQgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6c2V0UHJvcGVydHkoSlNTdHJpbmdSZWYgcHJvcGVydHks
IEpTVmFsdWVSZWYgdmFsdWUsIEpTUHJvcGVydHlBdHRyaWJ1dGVzIGZsYWdzLCBKU1ZhbHVlUmVm
KiBleGNlcHRpb24pCi17Ci0gICAgUV9BU1NFUlQoaXNPYmplY3QoKSk7Ci0gICAgSlNPYmplY3RT
ZXRQcm9wZXJ0eSgqbV9lbmdpbmUsICp0aGlzLCBwcm9wZXJ0eSwgdmFsdWUsIGZsYWdzLCBleGNl
cHRpb24pOwotfQotCi0vKiEKLSAgICBcaW50ZXJuYWwKLSAgICBUaGlzIG1ldGhvZCB3YXMgY3Jl
YXRlZCB0byB1bmlmeSBhY2Nlc3MgdG8gdGhlIEpTT2JqZWN0RGVsZXRlUHJvcGVydHkgYW5kIGEg
dGVvcmV0aWNhbCBKU09iamVjdERlbGV0ZVByb3BlcnR5QXRJbmRleAotICAgIHdoaWNoIGRvZXNu
J3QgZXhpc3Qgbm93LgotKi8KLWlubGluZSB2b2lkIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmRlbGV0
ZVByb3BlcnR5KHF1aW50MzIgcHJvcGVydHksIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKLXsKLSAg
ICAvLyBGSVhNRSBJdCBjb3VsZCBiZSBmYXN0ZXIsIHdlIG5lZWQgYSBKU0MgQyBBUEkgZm9yIGRl
bGV0aW5nIGFycmF5IGluZGV4IHByb3BlcnRpZXMuCi0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IHByb3BlcnR5TmFtZShBZG9wdCwgUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmcoUVN0cmlu
Zzo6bnVtYmVyKHByb3BlcnR5KSkpOwotICAgIEpTT2JqZWN0RGVsZXRlUHJvcGVydHkoKm1fZW5n
aW5lLCAqdGhpcywgcHJvcGVydHlOYW1lLmdldCgpLCBleGNlcHRpb24pOwotfQotCi0vKiEKLSAg
ICBcaW50ZXJuYWwKLSAgICBUaGlzIG1ldGhvZCB3YXMgY3JlYXRlZCB0byB1bmlmeSBhY2Nlc3Mg
dG8gdGhlIEpTT2JqZWN0RGVsZXRlUHJvcGVydHkgYW5kIGEgdGVvcmV0aWNhbCBKU09iamVjdERl
bGV0ZVByb3BlcnR5QXRJbmRleC4KLSovCi1pbmxpbmUgdm9pZCBRU2NyaXB0VmFsdWVQcml2YXRl
OjpkZWxldGVQcm9wZXJ0eShKU1N0cmluZ1JlZiBwcm9wZXJ0eSwgSlNWYWx1ZVJlZiogZXhjZXB0
aW9uKQotewotICAgIFFfQVNTRVJUKGlzT2JqZWN0KCkpOwotICAgIEpTT2JqZWN0RGVsZXRlUHJv
cGVydHkoKm1fZW5naW5lLCAqdGhpcywgcHJvcGVydHksIGV4Y2VwdGlvbik7Ci19Ci0KLXRlbXBs
YXRlPHR5cGVuYW1lIFQ+Ci1pbmxpbmUgdm9pZCBRU2NyaXB0VmFsdWVQcml2YXRlOjpzZXRQcm9w
ZXJ0eShUIG5hbWUsIFFTY3JpcHRWYWx1ZVByaXZhdGUqIHZhbHVlLCBjb25zdCBRU2NyaXB0VmFs
dWU6OlByb3BlcnR5RmxhZ3MmIGZsYWdzKQotewotICAgIGlmICghaXNPYmplY3QoKSkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgaWYgKCF2YWx1ZS0+aXNKU0Jhc2VkKCkpCi0gICAgICAgIHZhbHVl
LT5hc3NpZ25FbmdpbmUoZW5naW5lKCkpOwotCi0gICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAw
OwotICAgIGlmICghdmFsdWUtPmlzVmFsaWQoKSkgewotICAgICAgICAvLyBSZW1vdmUgdGhlIHBy
b3BlcnR5LgotICAgICAgICBkZWxldGVQcm9wZXJ0eShuYW1lLCAmZXhjZXB0aW9uKTsKLSAgICAg
ICAgbV9lbmdpbmUtPnNldEV4Y2VwdGlvbihleGNlcHRpb24pOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotICAgIGlmIChtX2VuZ2luZSAhPSB2YWx1ZS0+bV9lbmdpbmUpIHsKLSAgICAgICAgcVdh
cm5pbmcoIlFTY3JpcHRWYWx1ZTo6c2V0UHJvcGVydHkoKSBmYWlsZWQ6IGNhbm5vdCBzZXQgdmFs
dWUgY3JlYXRlZCBpbiBhIGRpZmZlcmVudCBlbmdpbmUiKTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQotICAgIHNldFByb3BlcnR5KG5hbWUsICp2YWx1ZSwgUVNjcmlwdENvbnZlcnRlcjo6dG9Q
cm9wZXJ0eUZsYWdzKGZsYWdzKSwgJmV4Y2VwdGlvbik7Ci0gICAgbV9lbmdpbmUtPnNldEV4Y2Vw
dGlvbihleGNlcHRpb24pOwotfQotCi1pbmxpbmUgUVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdz
IFFTY3JpcHRWYWx1ZVByaXZhdGU6OnByb3BlcnR5RmxhZ3MoY29uc3QgUVN0cmluZyYgbmFtZSwg
Y29uc3QgUVNjcmlwdFZhbHVlOjpSZXNvbHZlRmxhZ3MmIG1vZGUpCi17Ci0gICAgSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IHByb3BlcnR5TmFtZShBZG9wdCwgUVNjcmlwdENvbnZlcnRlcjo6dG9T
dHJpbmcobmFtZSkpOwotICAgIHJldHVybiBwcm9wZXJ0eUZsYWdzKHByb3BlcnR5TmFtZS5nZXQo
KSwgbW9kZSk7Ci19Ci0KLWlubGluZSBRU2NyaXB0VmFsdWU6OlByb3BlcnR5RmxhZ3MgUVNjcmlw
dFZhbHVlUHJpdmF0ZTo6cHJvcGVydHlGbGFncyhjb25zdCBRU2NyaXB0U3RyaW5nUHJpdmF0ZSog
bmFtZSwgY29uc3QgUVNjcmlwdFZhbHVlOjpSZXNvbHZlRmxhZ3MmIG1vZGUpCi17Ci0gICAgcmV0
dXJuIHByb3BlcnR5RmxhZ3MoKm5hbWUsIG1vZGUpOwotfQotCi1pbmxpbmUgUVNjcmlwdFZhbHVl
OjpQcm9wZXJ0eUZsYWdzIFFTY3JpcHRWYWx1ZVByaXZhdGU6OnByb3BlcnR5RmxhZ3MoSlNTdHJp
bmdSZWYgbmFtZSwgY29uc3QgUVNjcmlwdFZhbHVlOjpSZXNvbHZlRmxhZ3MmIG1vZGUpCi17Ci0g
ICAgdW5zaWduZWQgZmxhZ3MgPSAwOwotICAgIGlmICghaXNPYmplY3QoKSkKLSAgICAgICAgcmV0
dXJuIFFTY3JpcHRWYWx1ZTo6UHJvcGVydHlGbGFncyhmbGFncyk7Ci0KLSAgICAvLyBGSVhNRSBJ
dCBjb3VsZCBiZSBmYXN0ZXIgYW5kIG5pY2VyLCBidXQgbmV3IEpTQyBDIEFQSSBzaG91bGQgYmUg
Y3JlYXRlZC4KLSAgICBzdGF0aWMgSlNTdHJpbmdSZWYgb2JqZWN0TmFtZSA9IFFTY3JpcHRDb252
ZXJ0ZXI6OnRvU3RyaW5nKCJPYmplY3QiKTsKLSAgICBzdGF0aWMgSlNTdHJpbmdSZWYgcHJvcGVy
dHlEZXNjcmlwdG9yTmFtZSA9IFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKCJnZXRPd25Qcm9w
ZXJ0eURlc2NyaXB0b3IiKTsKLQotICAgIC8vIEZJWE1FIFRoaXMgaXMgZGFuZ2Vyb3VzIGlmIGds
b2JhbCBvYmplY3Qgd2FzIG1vZGlmaWVkIChidWcgNDE4MzkpLgotICAgIEpTVmFsdWVSZWYgZXhj
ZXB0aW9uID0gMDsKLSAgICBKU09iamVjdFJlZiBnbG9iYWxPYmplY3QgPSBKU0NvbnRleHRHZXRH
bG9iYWxPYmplY3QoKm1fZW5naW5lKTsKLSAgICBKU1ZhbHVlUmVmIG9iamVjdENvbnN0cnVjdG9y
ID0gSlNPYmplY3RHZXRQcm9wZXJ0eSgqbV9lbmdpbmUsIGdsb2JhbE9iamVjdCwgb2JqZWN0TmFt
ZSwgJmV4Y2VwdGlvbik7Ci0gICAgUV9BU1NFUlQoSlNWYWx1ZUlzT2JqZWN0KCptX2VuZ2luZSwg
b2JqZWN0Q29uc3RydWN0b3IpKTsKLSAgICBKU1ZhbHVlUmVmIHByb3BlcnR5RGVzY3JpcHRvckdl
dHRlciA9IEpTT2JqZWN0R2V0UHJvcGVydHkoKm1fZW5naW5lLCBjb25zdF9jYXN0PEpTT2JqZWN0
UmVmPihvYmplY3RDb25zdHJ1Y3RvciksIHByb3BlcnR5RGVzY3JpcHRvck5hbWUsICZleGNlcHRp
b24pOwotICAgIFFfQVNTRVJUKEpTVmFsdWVJc09iamVjdCgqbV9lbmdpbmUsIHByb3BlcnR5RGVz
Y3JpcHRvckdldHRlcikpOwotCi0gICAgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSA9IHsgKnRoaXMs
IEpTVmFsdWVNYWtlU3RyaW5nKCptX2VuZ2luZSwgbmFtZSkgfTsKLSAgICBKU09iamVjdFJlZiBw
cm9wZXJ0eURlc2NyaXB0b3IKLSAgICAgICAgICAgID0gY29uc3RfY2FzdDxKU09iamVjdFJlZj4o
SlNPYmplY3RDYWxsQXNGdW5jdGlvbigqbV9lbmdpbmUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdF9jYXN0PEpTT2JqZWN0
UmVmPihwcm9wZXJ0eURlc2NyaXB0b3JHZXR0ZXIpLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdGhpc09iamVjdCAqLyAwLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLyogYXJndW1lbnRDb3VudCAqLyAyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmV4Y2VwdGlvbikp
OwotICAgIGlmIChleGNlcHRpb24pIHsKLSAgICAgICAgLy8gSW52YWxpZCBwcm9wZXJ0eS4KLSAg
ICAgICAgcmV0dXJuIFFTY3JpcHRWYWx1ZTo6UHJvcGVydHlGbGFncyhmbGFncyk7Ci0gICAgfQot
Ci0gICAgaWYgKCFKU1ZhbHVlSXNPYmplY3QoKm1fZW5naW5lLCBwcm9wZXJ0eURlc2NyaXB0b3Ip
KSB7Ci0gICAgICAgIC8vIFByb3BlcnR5IGlzbid0IG93bmVkIGJ5IHRoaXMgb2JqZWN0LgotICAg
ICAgICBKU09iamVjdFJlZiBwcm90bzsKLSAgICAgICAgaWYgKG1vZGUgPT0gUVNjcmlwdFZhbHVl
OjpSZXNvbHZlTG9jYWwKLSAgICAgICAgICAgICAgICB8fCAoKHByb3RvID0gY29uc3RfY2FzdDxK
U09iamVjdFJlZj4oSlNPYmplY3RHZXRQcm90b3R5cGUoKm1fZW5naW5lLCAqdGhpcykpKSAmJiBK
U1ZhbHVlSXNOdWxsKCptX2VuZ2luZSwgcHJvdG8pKSkgewotICAgICAgICAgICAgcmV0dXJuIFFT
Y3JpcHRWYWx1ZTo6UHJvcGVydHlGbGFncyhmbGFncyk7Ci0gICAgICAgIH0KLSAgICAgICAgUVNj
cmlwdFZhbHVlUHJpdmF0ZSBwKGVuZ2luZSgpLCBwcm90byk7Ci0gICAgICAgIHJldHVybiBwLnBy
b3BlcnR5RmxhZ3MobmFtZSwgUVNjcmlwdFZhbHVlOjpSZXNvbHZlUHJvdG90eXBlKTsKLSAgICB9
Ci0KLSAgICBzdGF0aWMgSlNTdHJpbmdSZWYgd3JpdGFibGVOYW1lID0gUVNjcmlwdENvbnZlcnRl
cjo6dG9TdHJpbmcoIndyaXRhYmxlIik7Ci0gICAgc3RhdGljIEpTU3RyaW5nUmVmIGNvbmZpZ3Vy
YWJsZU5hbWUgPSBRU2NyaXB0Q29udmVydGVyOjp0b1N0cmluZygiY29uZmlndXJhYmxlIik7Ci0g
ICAgc3RhdGljIEpTU3RyaW5nUmVmIGVudW1lcmFibGVOYW1lID0gUVNjcmlwdENvbnZlcnRlcjo6
dG9TdHJpbmcoImVudW1lcmFibGUiKTsKLQotICAgIGJvb2wgcmVhZE9ubHkgPSAhSlNWYWx1ZVRv
Qm9vbGVhbigqbV9lbmdpbmUsIEpTT2JqZWN0R2V0UHJvcGVydHkoKm1fZW5naW5lLCBwcm9wZXJ0
eURlc2NyaXB0b3IsIHdyaXRhYmxlTmFtZSwgJmV4Y2VwdGlvbikpOwotICAgIGlmICghZXhjZXB0
aW9uICYmIHJlYWRPbmx5KQotICAgICAgICBmbGFncyB8PSBRU2NyaXB0VmFsdWU6OlJlYWRPbmx5
OwotICAgIGJvb2wgdW5kZWxldGFibGUgPSAhSlNWYWx1ZVRvQm9vbGVhbigqbV9lbmdpbmUsIEpT
T2JqZWN0R2V0UHJvcGVydHkoKm1fZW5naW5lLCBwcm9wZXJ0eURlc2NyaXB0b3IsIGNvbmZpZ3Vy
YWJsZU5hbWUsICZleGNlcHRpb24pKTsKLSAgICBpZiAoIWV4Y2VwdGlvbiAmJiB1bmRlbGV0YWJs
ZSkKLSAgICAgICAgZmxhZ3MgfD0gUVNjcmlwdFZhbHVlOjpVbmRlbGV0YWJsZTsKLSAgICBib29s
IHNraXBJbkVudW0gPSAhSlNWYWx1ZVRvQm9vbGVhbigqbV9lbmdpbmUsIEpTT2JqZWN0R2V0UHJv
cGVydHkoKm1fZW5naW5lLCBwcm9wZXJ0eURlc2NyaXB0b3IsIGVudW1lcmFibGVOYW1lLCAmZXhj
ZXB0aW9uKSk7Ci0gICAgaWYgKCFleGNlcHRpb24gJiYgc2tpcEluRW51bSkKLSAgICAgICAgZmxh
Z3MgfD0gUVNjcmlwdFZhbHVlOjpTa2lwSW5FbnVtZXJhdGlvbjsKLQotICAgIHJldHVybiBRU2Ny
aXB0VmFsdWU6OlByb3BlcnR5RmxhZ3MoZmxhZ3MpOwotfQotCi1RU2NyaXB0VmFsdWVQcml2YXRl
KiBRU2NyaXB0VmFsdWVQcml2YXRlOjpjYWxsKGNvbnN0IFFTY3JpcHRWYWx1ZVByaXZhdGUqLCBj
b25zdCBRU2NyaXB0VmFsdWVMaXN0JiBhcmdzKQotewotICAgIHN3aXRjaCAobV9zdGF0ZSkgewot
ICAgIGNhc2UgSlNWYWx1ZToKLSAgICAgICAgaWYgKHJlZmluZWRKU1ZhbHVlKCkgIT0gSlNPYmpl
Y3QpCi0gICAgICAgICAgICByZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGU7Ci0gICAgICAg
IC8vIEZhbGwtdGhyb3VnaC4KLSAgICBjYXNlIEpTT2JqZWN0OgotICAgICAgICB7Ci0gICAgICAg
ICAgICAvLyBDb252ZXJ0IGFsbCBhcmd1bWVudHMgYW5kIGJpbmQgdG8gdGhlIGVuZ2luZS4KLSAg
ICAgICAgICAgIGludCBhcmdjID0gYXJncy5zaXplKCk7Ci0gICAgICAgICAgICBRVmFyTGVuZ3Ro
QXJyYXk8SlNWYWx1ZVJlZiwgOD4gYXJndihhcmdjKTsKLSAgICAgICAgICAgIFFTY3JpcHRWYWx1
ZUxpc3Q6OmNvbnN0X2l0ZXJhdG9yIGkgPSBhcmdzLmNvbnN0QmVnaW4oKTsKLSAgICAgICAgICAg
IGZvciAoaW50IGogPSAwOyBpICE9IGFyZ3MuY29uc3RFbmQoKTsgaisrLCBpKyspIHsKLSAgICAg
ICAgICAgICAgICBRU2NyaXB0VmFsdWVQcml2YXRlKiB2YWx1ZSA9IFFTY3JpcHRWYWx1ZVByaXZh
dGU6OmdldCgqaSk7Ci0gICAgICAgICAgICAgICAgaWYgKCF2YWx1ZS0+YXNzaWduRW5naW5lKGVu
Z2luZSgpKSkgewotICAgICAgICAgICAgICAgICAgICBxV2FybmluZygiUVNjcmlwdFZhbHVlOjpj
YWxsKCkgZmFpbGVkOiBjYW5ub3QgY2FsbCBmdW5jdGlvbiB3aXRoIHZhbHVlcyBjcmVhdGVkIGlu
IGEgZGlmZmVyZW50IGVuZ2luZSIpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFFT
Y3JpcHRWYWx1ZVByaXZhdGU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGFy
Z3Zbal0gPSAqdmFsdWU7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIC8vIE1ha2UgdGhl
IGNhbGwKLSAgICAgICAgICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0gMDsKLSAgICAgICAgICAg
IEpTVmFsdWVSZWYgcmVzdWx0ID0gSlNPYmplY3RDYWxsQXNGdW5jdGlvbigqbV9lbmdpbmUsICp0
aGlzLCAvKiB0aGlzT2JqZWN0ICovIDAsIGFyZ2MsIGFyZ3YuY29uc3REYXRhKCksICZleGNlcHRp
b24pOwotICAgICAgICAgICAgaWYgKCFyZXN1bHQgJiYgZXhjZXB0aW9uKSB7Ci0gICAgICAgICAg
ICAgICAgbV9lbmdpbmUtPnNldEV4Y2VwdGlvbihleGNlcHRpb24pOwotICAgICAgICAgICAgICAg
IHJldHVybiBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZShlbmdpbmUoKSwgZXhjZXB0aW9uKTsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgIWV4Y2VwdGlvbikKLSAgICAg
ICAgICAgICAgICByZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUoZW5naW5lKCksIHJlc3Vs
dCk7Ci0gICAgICAgIH0KLSAgICAgICAgLy8gdGhpcyBRU1YgaXMgbm90IGEgZnVuY3Rpb24gPC0t
ICFyZXN1bHQgJiYgIWV4Y2VwdGlvbi4gRmFsbC10aHJvdWdoLgotICAgIGRlZmF1bHQ6Ci0gICAg
ICAgIHJldHVybiBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZTsKLSAgICB9Ci19Ci0KLVFTY3JpcHRF
bmdpbmVQcml2YXRlKiBRU2NyaXB0VmFsdWVQcml2YXRlOjplbmdpbmUoKSBjb25zdAotewotICAg
IC8vIEFzIGxvbmcgYXMgbV9lbmdpbmUgaXMgYW4gYXV0b2luaXRpYWxpemF0ZWQgcG9pbnRlciB3
ZSBjYW4gc2FmZWx5IHJldHVybiBpdCB3aXRob3V0Ci0gICAgLy8gY2hlY2tpbmcgY3VycmVudCBz
dGF0ZS4KLSAgICByZXR1cm4gbV9lbmdpbmUuZGF0YSgpOwotfQotCi1RU2NyaXB0VmFsdWVQcml2
YXRlOjpvcGVyYXRvciBKU1ZhbHVlUmVmKCkgY29uc3QKLXsKLSAgICBRX0FTU0VSVChpc0pTQmFz
ZWQoKSk7Ci0gICAgUV9BU1NFUlQodS5tX3ZhbHVlKTsKLSAgICByZXR1cm4gdS5tX3ZhbHVlOwot
fQotCi1RU2NyaXB0VmFsdWVQcml2YXRlOjpvcGVyYXRvciBKU09iamVjdFJlZigpIGNvbnN0Ci17
Ci0gICAgUV9BU1NFUlQobV9zdGF0ZSA9PSBKU09iamVjdCk7Ci0gICAgUV9BU1NFUlQodS5tX29i
amVjdCk7Ci0gICAgcmV0dXJuIHUubV9vYmplY3Q7Ci19Ci0KLS8qIQotICBcaW50ZXJuYWwKLSAg
UmVmaW5lcyB0aGUgc3RhdGUgb2YgdGhpcyBRU2NyaXB0VmFsdWVQcml2YXRlLiBSZXR1cm5zIHRo
ZSBuZXcgc3RhdGUuCi0qLwotUVNjcmlwdFZhbHVlUHJpdmF0ZTo6U3RhdGUgUVNjcmlwdFZhbHVl
UHJpdmF0ZTo6cmVmaW5lZEpTVmFsdWUoKQotewotICAgIFFfQVNTRVJUKG1fc3RhdGUgPT0gSlNW
YWx1ZSk7Ci0gICAgaWYgKCFKU1ZhbHVlSXNPYmplY3QoKm1fZW5naW5lLCAqdGhpcykpIHsKLSAg
ICAgICAgbV9zdGF0ZSA9IEpTUHJpbWl0aXZlOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIC8vIERp
ZmZlcmVuY2UgYmV0d2VlbiBKU1ZhbHVlUmVmIGFuZCBKU09iamVjdFJlZiBpcyBvbmx5IGluIHRo
ZWlyIHR5cGUsIGJpbmFyeXdpc2UgaXQgaXMgdGhlIHNhbWUuCi0gICAgICAgIC8vIEFzIG1fdmFs
dWUgYW5kIG1fb2JqZWN0IGFyZSBzdG9yZWQgaW4gdGhlIHUgdW5pb24sIGl0IGlzIGVub3VnaCB0
byBjaGFuZ2UgdGhlIG1fc3RhdGUgb25seS4KLSAgICAgICAgbV9zdGF0ZSA9IEpTT2JqZWN0Owot
ICAgIH0KLSAgICByZXR1cm4gbV9zdGF0ZTsKLX0KLQotLyohCi0gIFxpbnRlcm5hbAotICBSZXR1
cm5zIHRydWUgaWYgUVNWIGhhdmUgYW4gZW5naW5lIGFzc29jaWF0ZWQuCi0qLwotYm9vbCBRU2Ny
aXB0VmFsdWVQcml2YXRlOjppc0pTQmFzZWQoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlID49IEpT
VmFsdWU7IH0KLQotLyohCi0gIFxpbnRlcm5hbAotICBSZXR1cm5zIHRydWUgaWYgY3VycmVudCB2
YWx1ZSBvZiBRU1YgaXMgcGxhY2VkIGluIG1fbnVtYmVyLgotKi8KLWJvb2wgUVNjcmlwdFZhbHVl
UHJpdmF0ZTo6aXNOdW1iZXJCYXNlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGUgPT0gQ051bWJl
ciB8fCBtX3N0YXRlID09IENCb29sOyB9Ci0KLS8qIQotICBcaW50ZXJuYWwKLSAgUmV0dXJucyB0
cnVlIGlmIGN1cnJlbnQgdmFsdWUgb2YgUVNWIGlzIHBsYWNlZCBpbiBtX3N0cmluZy4KLSovCi1i
b29sIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmlzU3RyaW5nQmFzZWQoKSBjb25zdCB7IHJldHVybiBt
X3N0YXRlID09IENTdHJpbmc7IH0KLQotI2VuZGlmIC8vIHFzY3JpcHR2YWx1ZV9wX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHZhbHVlaXRlcmF0b3Iu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0dmFsdWVpdGVyYXRvci5j
cHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYxY2FhNjEuLjAwMDAwMDAKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0dmFsdWVpdGVyYXRvci5jcHAKKysr
IC9kZXYvbnVsbApAQCAtMSwyMjYgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMTAg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
Ci0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot
ICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotCi0jaW5jbHVkZSAicXNjcmlwdHZhbHVlaXRlcmF0b3IuaCIKLQotI2lu
Y2x1ZGUgInFzY3JpcHR2YWx1ZV9wLmgiCi0jaW5jbHVkZSAicXNjcmlwdHZhbHVlaXRlcmF0b3Jf
cC5oIgotCi0vKiEKLSAgICBcY2xhc3MgUVNjcmlwdFZhbHVlSXRlcmF0b3IKLQotICAgIFxicmll
ZiBUaGUgUVNjcmlwdFZhbHVlSXRlcmF0b3IgY2xhc3MgcHJvdmlkZXMgYSBKYXZhLXN0eWxlIGl0
ZXJhdG9yIGZvciBRU2NyaXB0VmFsdWUuCi0KLSAgICBcaW5ncm91cCBzY3JpcHQKLQotCi0gICAg
VGhlIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yIGNvbnN0cnVjdG9yIHRha2VzIGEgUVNjcmlwdFZhbHVl
IGFzCi0gICAgYXJndW1lbnQuICBBZnRlciBjb25zdHJ1Y3Rpb24sIHRoZSBpdGVyYXRvciBpcyBs
b2NhdGVkIGF0IHRoZSB2ZXJ5Ci0gICAgYmVnaW5uaW5nIG9mIHRoZSBzZXF1ZW5jZSBvZiBwcm9w
ZXJ0aWVzLiBIZXJlJ3MgaG93IHRvIGl0ZXJhdGUgb3ZlcgotICAgIGFsbCB0aGUgcHJvcGVydGll
cyBvZiBhIFFTY3JpcHRWYWx1ZToKLQotICAgIFxzbmlwcGV0IGRvYy9zcmMvc25pcHBldHMvY29k
ZS9zcmNfc2NyaXB0X3FzY3JpcHR2YWx1ZWl0ZXJhdG9yLmNwcCAwCi0KLSAgICBUaGUgbmV4dCgp
IGFkdmFuY2VzIHRoZSBpdGVyYXRvci4gVGhlIG5hbWUoKSwgdmFsdWUoKSBhbmQgZmxhZ3MoKQot
ICAgIGZ1bmN0aW9ucyByZXR1cm4gdGhlIG5hbWUsIHZhbHVlIGFuZCBmbGFncyBvZiB0aGUgbGFz
dCBpdGVtIHRoYXQgd2FzCi0gICAganVtcGVkIG92ZXIuCi0KLSAgICBJZiB5b3Ugd2FudCB0byBy
ZW1vdmUgcHJvcGVydGllcyBhcyB5b3UgaXRlcmF0ZSBvdmVyIHRoZQotICAgIFFTY3JpcHRWYWx1
ZSwgdXNlIHJlbW92ZSgpLiBJZiB5b3Ugd2FudCB0byBtb2RpZnkgdGhlIHZhbHVlIG9mIGEKLSAg
ICBwcm9wZXJ0eSwgdXNlIHNldFZhbHVlKCkuCi0KLSAgICBOb3RlIHRoYXQgUVNjcmlwdFZhbHVl
SXRlcmF0b3Igb25seSBpdGVyYXRlcyBvdmVyIHRoZSBRU2NyaXB0VmFsdWUncwotICAgIG93biBw
cm9wZXJ0aWVzOyBpLmUuIGl0IGRvZXMgbm90IGZvbGxvdyB0aGUgcHJvdG90eXBlIGNoYWluLiBZ
b3UgY2FuCi0gICAgdXNlIGEgbG9vcCBsaWtlIHRoaXMgdG8gZm9sbG93IHRoZSBwcm90b3R5cGUg
Y2hhaW46Ci0KLSAgICBcc25pcHBldCBkb2Mvc3JjL3NuaXBwZXRzL2NvZGUvc3JjX3NjcmlwdF9x
c2NyaXB0dmFsdWVpdGVyYXRvci5jcHAgMQotCi0gICAgTm90ZSB0aGF0IFFTY3JpcHRWYWx1ZUl0
ZXJhdG9yIHdpbGwgbm90IGF1dG9tYXRpY2FsbHkgc2tpcCBvdmVyCi0gICAgcHJvcGVydGllcyB0
aGF0IGhhdmUgdGhlIFFTY3JpcHRWYWx1ZTo6U2tpcEluRW51bWVyYXRpb24gZmxhZyBzZXQ7Ci0g
ICAgdGhhdCBmbGFnIG9ubHkgYWZmZWN0cyBpdGVyYXRpb24gaW4gc2NyaXB0IGNvZGUuICBJZiB5
b3Ugd2FudCwgeW91Ci0gICAgY2FuIHNraXAgb3ZlciBzdWNoIHByb3BlcnRpZXMgd2l0aCBjb2Rl
IGxpa2UgdGhlIGZvbGxvd2luZzoKLQotICAgIFxzbmlwcGV0IGRvYy9zcmMvc25pcHBldHMvY29k
ZS9zcmNfc2NyaXB0X3FzY3JpcHR2YWx1ZWl0ZXJhdG9yLmNwcCAyCi0KLSAgICBcc2EgUVNjcmlw
dFZhbHVlOjpwcm9wZXJ0eSgpCi0qLwotCi0vKiEKLSAgICBDb25zdHJ1Y3RzIGFuIGl0ZXJhdG9y
IGZvciB0cmF2ZXJzaW5nIFxhIG9iamVjdC4gVGhlIGl0ZXJhdG9yIGlzCi0gICAgc2V0IHRvIGJl
IGF0IHRoZSBmcm9udCBvZiB0aGUgc2VxdWVuY2Ugb2YgcHJvcGVydGllcyAoYmVmb3JlIHRoZQot
ICAgIGZpcnN0IHByb3BlcnR5KS4KLSovCi1RU2NyaXB0VmFsdWVJdGVyYXRvcjo6UVNjcmlwdFZh
bHVlSXRlcmF0b3IoY29uc3QgUVNjcmlwdFZhbHVlJiBvYmplY3QpCi0gICAgOiBkX3B0cihuZXcg
UVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlKFFTY3JpcHRWYWx1ZVByaXZhdGU6OmdldChvYmpl
Y3QpKSkKLXt9Ci0KLS8qIQotICAgIERlc3Ryb3lzIHRoZSBpdGVyYXRvci4KLSovCi1RU2NyaXB0
VmFsdWVJdGVyYXRvcjo6flFTY3JpcHRWYWx1ZUl0ZXJhdG9yKCkKLXt9Ci0KLS8qIQotICAgIFJl
dHVybnMgdHJ1ZSBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgaXRlbSBhaGVhZCBvZiB0aGUgaXRl
cmF0b3IKLSAgICAoaS5lLiB0aGUgaXRlcmF0b3IgaXMgXGUgbm90IGF0IHRoZSBiYWNrIG9mIHRo
ZSBwcm9wZXJ0eSBzZXF1ZW5jZSk7Ci0gICAgb3RoZXJ3aXNlIHJldHVybnMgZmFsc2UuCi0KLSAg
ICBcc2EgbmV4dCgpLCBoYXNQcmV2aW91cygpCi0qLwotYm9vbCBRU2NyaXB0VmFsdWVJdGVyYXRv
cjo6aGFzTmV4dCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5oYXNOZXh0KCk7Ci19Ci0K
LS8qIQotICAgIEFkdmFuY2VzIHRoZSBpdGVyYXRvciBieSBvbmUgcG9zaXRpb24uCi0KLSAgICBD
YWxsaW5nIHRoaXMgZnVuY3Rpb24gb24gYW4gaXRlcmF0b3IgbG9jYXRlZCBhdCB0aGUgYmFjayBv
ZiB0aGUKLSAgICBjb250YWluZXIgbGVhZHMgdG8gdW5kZWZpbmVkIHJlc3VsdHMuCi0KLSAgICBc
c2EgaGFzTmV4dCgpLCBwcmV2aW91cygpLCBuYW1lKCkKLSovCi12b2lkIFFTY3JpcHRWYWx1ZUl0
ZXJhdG9yOjpuZXh0KCkKLXsKLSAgICBkX3B0ci0+bmV4dCgpOwotfQotCi0vKiEKLSAgICBSZXR1
cm5zIHRydWUgaWYgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGl0ZW0gYmVoaW5kIHRoZSBpdGVyYXRv
cgotICAgIChpLmUuIHRoZSBpdGVyYXRvciBpcyBcZSBub3QgYXQgdGhlIGZyb250IG9mIHRoZSBw
cm9wZXJ0eSBzZXF1ZW5jZSk7Ci0gICAgb3RoZXJ3aXNlIHJldHVybnMgZmFsc2UuCi0KLSAgICBc
c2EgcHJldmlvdXMoKSwgaGFzTmV4dCgpCi0qLwotYm9vbCBRU2NyaXB0VmFsdWVJdGVyYXRvcjo6
aGFzUHJldmlvdXMoKSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+aGFzUHJldmlvdXMoKTsK
LX0KLQotLyohCi0gICAgTW92ZXMgdGhlIGl0ZXJhdG9yIGJhY2sgYnkgb25lIHBvc2l0aW9uLgot
Ci0gICAgQ2FsbGluZyB0aGlzIGZ1bmN0aW9uIG9uIGFuIGl0ZXJhdG9yIGxvY2F0ZWQgYXQgdGhl
IGZyb250IG9mIHRoZQotICAgIGNvbnRhaW5lciBsZWFkcyB0byB1bmRlZmluZWQgcmVzdWx0cy4K
LQotICAgIFxzYSBoYXNQcmV2aW91cygpLCBuZXh0KCksIG5hbWUoKQotKi8KLXZvaWQgUVNjcmlw
dFZhbHVlSXRlcmF0b3I6OnByZXZpb3VzKCkKLXsKLSAgICBkX3B0ci0+cHJldmlvdXMoKTsKLX0K
LQotLyohCi0gICAgTW92ZXMgdGhlIGl0ZXJhdG9yIHRvIHRoZSBmcm9udCBvZiB0aGUgUVNjcmlw
dFZhbHVlIChiZWZvcmUgdGhlCi0gICAgZmlyc3QgcHJvcGVydHkpLgotCi0gICAgXHNhIHRvQmFj
aygpLCBuZXh0KCkKLSovCi12b2lkIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yOjp0b0Zyb250KCkKLXsK
LSAgICBkX3B0ci0+dG9Gcm9udCgpOwotfQotCi0vKiEKLSAgICBNb3ZlcyB0aGUgaXRlcmF0b3Ig
dG8gdGhlIGJhY2sgb2YgdGhlIFFTY3JpcHRWYWx1ZSAoYWZ0ZXIgdGhlCi0gICAgbGFzdCBwcm9w
ZXJ0eSkuCi0KLSAgICBcc2EgdG9Gcm9udCgpLCBwcmV2aW91cygpCi0qLwotdm9pZCBRU2NyaXB0
VmFsdWVJdGVyYXRvcjo6dG9CYWNrKCkKLXsKLSAgICBkX3B0ci0+dG9CYWNrKCk7Ci19Ci0KLS8q
IQotICAgIFJldHVybnMgdGhlIG5hbWUgb2YgdGhlIGxhc3QgcHJvcGVydHkgdGhhdCB3YXMganVt
cGVkIG92ZXIgdXNpbmcKLSAgICBuZXh0KCkgb3IgcHJldmlvdXMoKS4KLQotICAgIFxzYSB2YWx1
ZSgpLCBmbGFncygpCi0qLwotUVN0cmluZyBRU2NyaXB0VmFsdWVJdGVyYXRvcjo6bmFtZSgpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5uYW1lKCk7Ci19Ci0KLS8qIQotICAgIFJldHVybnMg
dGhlIG5hbWUgb2YgdGhlIGxhc3QgcHJvcGVydHkgdGhhdCB3YXMganVtcGVkIG92ZXIgdXNpbmcK
LSAgICBuZXh0KCkgb3IgcHJldmlvdXMoKS4KLSovCi1RU2NyaXB0U3RyaW5nIFFTY3JpcHRWYWx1
ZUl0ZXJhdG9yOjpzY3JpcHROYW1lKCkgY29uc3QKLXsKLSAgICByZXR1cm4gUVNjcmlwdFN0cmlu
Z1ByaXZhdGU6OmdldChkX3B0ci0+c2NyaXB0TmFtZSgpKTsKLX0KLQotLyohCi0gICAgUmV0dXJu
cyB0aGUgdmFsdWUgb2YgdGhlIGxhc3QgcHJvcGVydHkgdGhhdCB3YXMganVtcGVkIG92ZXIgdXNp
bmcKLSAgICBuZXh0KCkgb3IgcHJldmlvdXMoKS4KLQotICAgIFxzYSBzZXRWYWx1ZSgpLCBuYW1l
KCkKLSovCi1RU2NyaXB0VmFsdWUgUVNjcmlwdFZhbHVlSXRlcmF0b3I6OnZhbHVlKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KGRfcHRyLT52YWx1ZSgpKTsK
LX0KLQotLyohCi0gICAgU2V0cyB0aGUgXGEgdmFsdWUgb2YgdGhlIGxhc3QgcHJvcGVydHkgdGhh
dCB3YXMganVtcGVkIG92ZXIgdXNpbmcKLSAgICBuZXh0KCkgb3IgcHJldmlvdXMoKS4KLQotICAg
IFxzYSB2YWx1ZSgpLCBuYW1lKCkKLSovCi12b2lkIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yOjpzZXRW
YWx1ZShjb25zdCBRU2NyaXB0VmFsdWUmIHZhbHVlKQotewotICAgIGRfcHRyLT5zZXRWYWx1ZShR
U2NyaXB0VmFsdWVQcml2YXRlOjpnZXQodmFsdWUpKTsKLX0KLQotLyohCi0gICAgUmVtb3ZlcyB0
aGUgbGFzdCBwcm9wZXJ0eSB0aGF0IHdhcyBqdW1wZWQgb3ZlciB1c2luZyBuZXh0KCkKLSAgICBv
ciBwcmV2aW91cygpLgotCi0gICAgXHNhIHNldFZhbHVlKCkKLSovCi12b2lkIFFTY3JpcHRWYWx1
ZUl0ZXJhdG9yOjpyZW1vdmUoKQotewotICAgIGRfcHRyLT5yZW1vdmUoKTsKLX0KLQotLyohCi0g
ICAgUmV0dXJucyB0aGUgZmxhZ3Mgb2YgdGhlIGxhc3QgcHJvcGVydHkgdGhhdCB3YXMganVtcGVk
IG92ZXIgdXNpbmcKLSAgICBuZXh0KCkgb3IgcHJldmlvdXMoKS4KLQotICAgIFxzYSB2YWx1ZSgp
Ci0qLwotUVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdzIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yOjpm
bGFncygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5mbGFncygpOwotfQotCi0vKiEKLSAg
ICBNYWtlcyB0aGUgaXRlcmF0b3Igb3BlcmF0ZSBvbiBcYSBvYmplY3QuIFRoZSBpdGVyYXRvciBp
cyBzZXQgdG8gYmUKLSAgICBhdCB0aGUgZnJvbnQgb2YgdGhlIHNlcXVlbmNlIG9mIHByb3BlcnRp
ZXMgKGJlZm9yZSB0aGUgZmlyc3QKLSAgICBwcm9wZXJ0eSkuCi0qLwotUVNjcmlwdFZhbHVlSXRl
cmF0b3ImIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yOjpvcGVyYXRvcj0oUVNjcmlwdFZhbHVlJiBvYmpl
Y3QpCi17Ci0gICAgZF9wdHIgPSBuZXcgUVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlKFFTY3Jp
cHRWYWx1ZVByaXZhdGU6OmdldChvYmplY3QpKTsKLSAgICByZXR1cm4gKnRoaXM7Ci19CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHR2YWx1ZWl0ZXJhdG9y
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHR2YWx1ZWl0ZXJhdG9yLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjOTA2NjEuLjAwMDAwMDAKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0dmFsdWVpdGVyYXRvci5oCisrKyAvZGV2
L251bGwKQEAgLTEsNjMgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEg
Q29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2lmbmRlZiBxc2Ny
aXB0dmFsdWVpdGVyYXRvcl9oCi0jZGVmaW5lIHFzY3JpcHR2YWx1ZWl0ZXJhdG9yX2gKLQotI2lu
Y2x1ZGUgInF0c2NyaXB0Z2xvYmFsLmgiCi0jaW5jbHVkZSAicXNjcmlwdHN0cmluZy5oIgotI2lu
Y2x1ZGUgPFF0Q29yZS9xc2hhcmVkZGF0YS5oPgotI2luY2x1ZGUgInFzY3JpcHR2YWx1ZS5oIgot
Ci1jbGFzcyBRU2NyaXB0VmFsdWU7Ci1jbGFzcyBRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU7
Ci0KLQotY2xhc3MgUV9KQVZBU0NSSVBUX0VYUE9SVCBRU2NyaXB0VmFsdWVJdGVyYXRvciB7Ci1w
dWJsaWM6Ci0gICAgUVNjcmlwdFZhbHVlSXRlcmF0b3IoY29uc3QgUVNjcmlwdFZhbHVlJiB2YWx1
ZSk7Ci0gICAgflFTY3JpcHRWYWx1ZUl0ZXJhdG9yKCk7Ci0KLSAgICBib29sIGhhc05leHQoKSBj
b25zdDsKLSAgICB2b2lkIG5leHQoKTsKLQotICAgIGJvb2wgaGFzUHJldmlvdXMoKSBjb25zdDsK
LSAgICB2b2lkIHByZXZpb3VzKCk7Ci0KLSAgICBRU3RyaW5nIG5hbWUoKSBjb25zdDsKLSAgICBR
U2NyaXB0U3RyaW5nIHNjcmlwdE5hbWUoKSBjb25zdDsKLQotICAgIFFTY3JpcHRWYWx1ZSB2YWx1
ZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgUVNjcmlwdFZhbHVlJiB2YWx1ZSk7
Ci0KLSAgICB2b2lkIHJlbW92ZSgpOwotICAgIFFTY3JpcHRWYWx1ZTo6UHJvcGVydHlGbGFncyBm
bGFncygpIGNvbnN0OwotCi0gICAgdm9pZCB0b0Zyb250KCk7Ci0gICAgdm9pZCB0b0JhY2soKTsK
LQotICAgIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yJiBvcGVyYXRvcj0oUVNjcmlwdFZhbHVlJiB2YWx1
ZSk7Ci1wcml2YXRlOgotICAgIFFFeHBsaWNpdGx5U2hhcmVkRGF0YVBvaW50ZXI8UVNjcmlwdFZh
bHVlSXRlcmF0b3JQcml2YXRlPiBkX3B0cjsKLQotICAgIFFfREVDTEFSRV9QUklWQVRFKFFTY3Jp
cHRWYWx1ZUl0ZXJhdG9yKQotICAgIFFfRElTQUJMRV9DT1BZKFFTY3JpcHRWYWx1ZUl0ZXJhdG9y
KQotfTsKLQotI2VuZGlmIC8vIHFzY3JpcHR2YWx1ZWl0ZXJhdG9yX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHZhbHVlaXRlcmF0b3JfcC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0dmFsdWVpdGVyYXRvcl9wLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5M2I1MTguLjAwMDAwMDAKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0dmFsdWVpdGVyYXRvcl9wLmgKKysrIC9kZXYvbnVs
bApAQCAtMSwxNzIgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29y
cG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
Ci0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2lmbmRlZiBxc2NyaXB0
dmFsdWVpdGVyYXRvcl9wX2gKLSNkZWZpbmUgcXNjcmlwdHZhbHVlaXRlcmF0b3JfcF9oCi0KLSNp
bmNsdWRlICJxc2NyaXB0dmFsdWVfcC5oIgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHQuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1JldGFpblB0ci5oPgotI2luY2x1
ZGUgPFF0Q29yZS9xc2hhcmVkZGF0YS5oPgotI2luY2x1ZGUgPFF0Q29yZS9xdmVjdG9yLmg+Ci0K
LWNsYXNzIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTogcHVibGljIFFTaGFyZWREYXRhIHsK
LXB1YmxpYzoKLSAgICBpbmxpbmUgUVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlKGNvbnN0IFFT
Y3JpcHRWYWx1ZVByaXZhdGUqIHZhbHVlKTsKLSAgICBpbmxpbmUgflFTY3JpcHRWYWx1ZUl0ZXJh
dG9yUHJpdmF0ZSgpOwotCi0gICAgaW5saW5lIGJvb2wgaGFzTmV4dCgpOwotICAgIGlubGluZSB2
b2lkIG5leHQoKTsKLQotICAgIGlubGluZSBib29sIGhhc1ByZXZpb3VzKCk7Ci0gICAgaW5saW5l
IHZvaWQgcHJldmlvdXMoKTsKLQotICAgIGlubGluZSBRU3RyaW5nIG5hbWUoKSBjb25zdDsKLSAg
ICBpbmxpbmUgUVNjcmlwdFN0cmluZ1ByaXZhdGUqIHNjcmlwdE5hbWUoKSBjb25zdDsKLQotICAg
IGlubGluZSBRU2NyaXB0VmFsdWVQcml2YXRlKiB2YWx1ZSgpIGNvbnN0OwotICAgIGlubGluZSB2
b2lkIHNldFZhbHVlKGNvbnN0IFFTY3JpcHRWYWx1ZVByaXZhdGUqIHZhbHVlKTsKLQotICAgIGlu
bGluZSB2b2lkIHJlbW92ZSgpOwotCi0gICAgaW5saW5lIHZvaWQgdG9Gcm9udCgpOwotICAgIGlu
bGluZSB2b2lkIHRvQmFjaygpOwotCi0gICAgUVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdzIGZs
YWdzKCkgY29uc3Q7Ci0KLSAgICBpbmxpbmUgYm9vbCBpc1ZhbGlkKCkgY29uc3Q7Ci1wcml2YXRl
OgotICAgIGlubGluZSBRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lKCkgY29uc3Q7Ci0KLSAg
ICBRRXhwbGljaXRseVNoYXJlZERhdGFQb2ludGVyPFFTY3JpcHRWYWx1ZVByaXZhdGU+IG1fb2Jq
ZWN0OwotICAgIFFWZWN0b3I8SlNTdHJpbmdSZWY+IG1fbmFtZXM7Ci0gICAgUU11dGFibGVWZWN0
b3JJdGVyYXRvcjxKU1N0cmluZ1JlZj4gbV9pZHg7Ci19OwotCi1pbmxpbmUgUVNjcmlwdFZhbHVl
SXRlcmF0b3JQcml2YXRlOjpRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGUoY29uc3QgUVNjcmlw
dFZhbHVlUHJpdmF0ZSogdmFsdWUpCi0gICAgOiBtX29iamVjdChjb25zdF9jYXN0PFFTY3JpcHRW
YWx1ZVByaXZhdGUqPih2YWx1ZSkpCi0gICAgLCBtX2lkeChtX25hbWVzKQotewotICAgIGlmICht
X29iamVjdC0+aXNPYmplY3QoKSkgewotICAgICAgICBtX25hbWVzID0gZW5naW5lKCktPm9iamVj
dEdldE93blByb3BlcnR5TmFtZXMoKm1fb2JqZWN0KTsKLSAgICAgICAgbV9pZHggPSBtX25hbWVz
OwotICAgIH0gZWxzZQotICAgICAgICBtX29iamVjdCA9IDA7Ci19Ci0KLWlubGluZSBRU2NyaXB0
VmFsdWVJdGVyYXRvclByaXZhdGU6On5RU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGUoKQotewot
ICAgIFFWZWN0b3I8SlNTdHJpbmdSZWY+Ojpjb25zdF9pdGVyYXRvciBpID0gbV9uYW1lcy5jb25z
dEJlZ2luKCk7Ci0gICAgZm9yICg7IGkgIT0gbV9uYW1lcy5jb25zdEVuZCgpOyArK2kpCi0gICAg
ICAgIEpTU3RyaW5nUmVsZWFzZSgqaSk7Ci19Ci0KLWlubGluZSBib29sIFFTY3JpcHRWYWx1ZUl0
ZXJhdG9yUHJpdmF0ZTo6aGFzTmV4dCgpCi17Ci0gICAgcmV0dXJuIG1faWR4Lmhhc05leHQoKTsK
LX0KLQotaW5saW5lIHZvaWQgUVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlOjpuZXh0KCkKLXsK
LSAgICAvLyBGSVhNRSAoUXQ1KSBUaGlzIG1ldGhvZCBzaG91bGQgcmV0dXJuIGEgdmFsdWUgKFFU
QlVHLTExMjI2KS4KLSAgICBtX2lkeC5uZXh0KCk7Ci19Ci0KLWlubGluZSBib29sIFFTY3JpcHRW
YWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6aGFzUHJldmlvdXMoKQotewotICAgIHJldHVybiBtX2lkeC5o
YXNQcmV2aW91cygpOwotfQotCi1pbmxpbmUgdm9pZCBRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZh
dGU6OnByZXZpb3VzKCkKLXsKLSAgICBtX2lkeC5wcmV2aW91cygpOwotfQotCi1pbmxpbmUgUVN0
cmluZyBRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6Om5hbWUoKSBjb25zdAotewotICAgIGlm
ICghaXNWYWxpZCgpKQotICAgICAgICByZXR1cm4gUVN0cmluZygpOwotICAgIHJldHVybiBRU2Ny
aXB0Q29udmVydGVyOjp0b1N0cmluZyhtX2lkeC52YWx1ZSgpKTsKLX0KLQotaW5saW5lIFFTY3Jp
cHRTdHJpbmdQcml2YXRlKiBRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6OnNjcmlwdE5hbWUo
KSBjb25zdAotewotICAgIGlmICghaXNWYWxpZCgpKQotICAgICAgICByZXR1cm4gbmV3IFFTY3Jp
cHRTdHJpbmdQcml2YXRlKCk7Ci0gICAgcmV0dXJuIG5ldyBRU2NyaXB0U3RyaW5nUHJpdmF0ZShR
U2NyaXB0Q29udmVydGVyOjp0b1N0cmluZyhtX2lkeC52YWx1ZSgpKSk7Ci19Ci0KLWlubGluZSBR
U2NyaXB0VmFsdWVQcml2YXRlKiBRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6OnZhbHVlKCkg
Y29uc3QKLXsKLSAgICBpZiAoIWlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuIG5ldyBRU2NyaXB0
VmFsdWVQcml2YXRlKCk7Ci0gICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAgIEpTVmFs
dWVSZWYgdmFsdWUgPSBtX29iamVjdC0+cHJvcGVydHkobV9pZHgudmFsdWUoKSwgJmV4Y2VwdGlv
bik7Ci0gICAgZW5naW5lKCktPnNldEV4Y2VwdGlvbihleGNlcHRpb24pOwotICAgIHJldHVybiBu
ZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZShlbmdpbmUoKSwgdmFsdWUpOwotfQotCi1pbmxpbmUgdm9p
ZCBRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6OnNldFZhbHVlKGNvbnN0IFFTY3JpcHRWYWx1
ZVByaXZhdGUqIHZhbHVlKQotewotICAgIGlmICghaXNWYWxpZCgpKQotICAgICAgICByZXR1cm47
Ci0gICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAgIG1fb2JqZWN0LT5zZXRQcm9wZXJ0
eShtX2lkeC52YWx1ZSgpLCAqdmFsdWUsIC8qIGZsYWdzICovIDAsICZleGNlcHRpb24pOwotICAg
IGVuZ2luZSgpLT5zZXRFeGNlcHRpb24oZXhjZXB0aW9uKTsKLX0KLQotaW5saW5lIHZvaWQgUVNj
cmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlOjpyZW1vdmUoKQotewotICAgIGlmICghaXNWYWxpZCgp
KQotICAgICAgICByZXR1cm47Ci0gICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAgIG1f
b2JqZWN0LT5kZWxldGVQcm9wZXJ0eShtX2lkeC52YWx1ZSgpLCAmZXhjZXB0aW9uKTsKLSAgICBl
bmdpbmUoKS0+c2V0RXhjZXB0aW9uKGV4Y2VwdGlvbik7Ci0gICAgbV9pZHgucmVtb3ZlKCk7Ci19
Ci0KLWlubGluZSB2b2lkIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6dG9Gcm9udCgpCi17
Ci0gICAgbV9pZHgudG9Gcm9udCgpOwotfQotCi1pbmxpbmUgdm9pZCBRU2NyaXB0VmFsdWVJdGVy
YXRvclByaXZhdGU6OnRvQmFjaygpCi17Ci0gICAgbV9pZHgudG9CYWNrKCk7Ci19Ci0KLVFTY3Jp
cHRWYWx1ZTo6UHJvcGVydHlGbGFncyBRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6OmZsYWdz
KCkgY29uc3QKLXsKLSAgICBpZiAoIWlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuIFFTY3JpcHRW
YWx1ZTo6UHJvcGVydHlGbGFncygwKTsKLSAgICByZXR1cm4gbV9vYmplY3QtPnByb3BlcnR5Rmxh
Z3MobV9pZHgudmFsdWUoKSwgUVNjcmlwdFZhbHVlOjpSZXNvbHZlTG9jYWwpOwotfQotCi1pbmxp
bmUgYm9vbCBRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6OmlzVmFsaWQoKSBjb25zdAotewot
ICAgIHJldHVybiBtX29iamVjdDsKLX0KLQotaW5saW5lIFFTY3JpcHRFbmdpbmVQcml2YXRlKiBR
U2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6OmVuZ2luZSgpIGNvbnN0Ci17Ci0gICAgUV9BU1NF
UlQoaXNWYWxpZCgpKTsKLSAgICByZXR1cm4gbV9vYmplY3QtPmVuZ2luZSgpOwotfQotCi0jZW5k
aWYgLy8gcXNjcmlwdHZhbHVlaXRlcmF0b3JfcF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcXQvYXBpL3F0c2NyaXB0Z2xvYmFsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cXQvYXBpL3F0c2NyaXB0Z2xvYmFsLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVm
ZGZjNTAuLjAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xdHNjcmlw
dGdsb2JhbC5oCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAgICBDb3B5cmln
aHQgKEMpIDIwMDggTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMp
Ci0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
LSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgot
Ki8KLQotI2lmbmRlZiBxdHNjcmlwdGdsb2JhbF9oCi0jZGVmaW5lIHF0c2NyaXB0Z2xvYmFsX2gK
LQotI2luY2x1ZGUgPFF0Q29yZS9xZ2xvYmFsLmg+Ci0KLSNpZiBkZWZpbmVkKFFUX01BS0VETEwp
ICAgICAgICAvKiBjcmVhdGUgYSBRdCBETEwgbGlicmFyeSAqLwotIyAgaWYgZGVmaW5lZChRVF9C
VUlMRF9KQVZBU0NSSVBUX0xJQikKLSMgICAgZGVmaW5lIFFfSkFWQVNDUklQVF9FWFBPUlQgUV9E
RUNMX0VYUE9SVAotIyAgZWxzZQotIyAgICBkZWZpbmUgUV9KQVZBU0NSSVBUX0VYUE9SVCBRX0RF
Q0xfSU1QT1JUCi0jICBlbmRpZgotI2VsaWYgZGVmaW5lZChRVF9ETEwpIC8qIHVzZSBhIFF0IERM
TCBsaWJyYXJ5ICovCi0jICBkZWZpbmUgUV9KQVZBU0NSSVBUX0VYUE9SVAotI2VuZGlmCi0KLSNp
ZiAhZGVmaW5lZChRX0pBVkFTQ1JJUFRfRVhQT1JUKQotIyAgaWYgZGVmaW5lZChRVF9TSEFSRUQp
Ci0jICAgIGRlZmluZSBRX0pBVkFTQ1JJUFRfRVhQT1JUIFFfREVDTF9FWFBPUlQKLSMgIGVsc2UK
LSMgICAgZGVmaW5lIFFfSkFWQVNDUklQVF9FWFBPUlQKLSMgIGVuZGlmCi0jZW5kaWYKLQotI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYmVuY2htYXJrcy9iZW5j
aG1hcmtzLnByaSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9iZW5jaG1hcmtzL2JlbmNobWFy
a3MucHJpCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWYzMzgzLi4wMDAwMDAwCi0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9iZW5jaG1hcmtzL2JlbmNobWFya3MucHJpCisr
KyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotUU1BS0VfUlBBVEhESVIgPSAkJE9VVFBVVF9E
SVIvbGliICQkUU1BS0VfUlBBVEhESVIKLVFNQUtFX0xJQkRJUiA9ICQkT1VUUFVUX0RJUi9saWIg
JCRRTUFLRV9MSUJESVIKLW1hYzohc3RhdGljOmNvbnRhaW5zKFFUX0NPTkZJRywgcXRfZnJhbWV3
b3JrKTohQ09ORklHKHdlYmtpdF9ub19mcmFtZXdvcmspIHsKLSAgICBMSUJTICs9IC1mcmFtZXdv
cmsgUXRTY3JpcHQKLSAgICBRTUFLRV9GUkFNRVdPUktQQVRIID0gJCRPVVRQVVRfRElSL2xpYiAk
JFFNQUtFX0ZSQU1FV09SS1BBVEgKLX0gZWxzZSB7Ci0gICAgd2luMzItKnx3aW5jZSogewotICAg
ICAgICBMSUJTICs9IC1sUXRTY3JpcHQkJHtRVF9NQUpPUl9WRVJTSU9OfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIExJQlMgKz0gLWxRdFNjcmlwdAotICAgIH0KLX0KLQotQ09ORklHKHJlbGVhc2Us
IGRlYnVnfHJlbGVhc2UpIHsKLSAgICBERUZJTkVTICs9IE5ERUJVRwotfQotCi1JTkNMVURFUEFU
SCArPSAkJFBXRC8uLi9hcGkKLQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0
L2JlbmNobWFya3MvYmVuY2htYXJrcy5wcm8gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYmVu
Y2htYXJrcy9iZW5jaG1hcmtzLnBybwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODVm
YTgyYy4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYmVuY2htYXJrcy9i
ZW5jaG1hcmtzLnBybworKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotVEVNUExBVEUgPSBz
dWJkaXJzCi1TVUJESVJTID0gICBxc2NyaXB0ZW5naW5lIFwKLSAgICAgICAgICAgIHFzY3JpcHR2
YWx1ZSBcCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9iZW5jaG1hcmtz
L3FzY3JpcHRlbmdpbmUvcXNjcmlwdGVuZ2luZS5wcm8gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cXQvYmVuY2htYXJrcy9xc2NyaXB0ZW5naW5lL3FzY3JpcHRlbmdpbmUucHJvCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBlOTQxMzdkLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9xdC9iZW5jaG1hcmtzL3FzY3JpcHRlbmdpbmUvcXNjcmlwdGVuZ2luZS5wcm8KKysr
IC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1URU1QTEFURSA9IGFwcAotVEFSR0VUID0gdHN0
X2JlbmNoX3FzY3JpcHRlbmdpbmUKLQotU09VUkNFUyArPSB0c3RfcXNjcmlwdGVuZ2luZS5jcHAK
LQotUVQgKz0gdGVzdGxpYgotCi1pbmNsdWRlKC4uL2JlbmNobWFya3MucHJpKQotCi1zeW1iaWFu
KiB7Ci0gICAgVEFSR0VULkVQT0NIRUFQU0laRSAgPSAweDIwMDAwIDB4MjAwMDAwMCAvLyBNaW4g
MTI4a0IsIE1heCAzMk1CCi0gICAgVEFSR0VULkVQT0NTVEFDS1NJWkUgPSAweDE0MDAwCi19CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYmVuY2htYXJrcy9xc2NyaXB0ZW5n
aW5lL3RzdF9xc2NyaXB0ZW5naW5lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9iZW5j
aG1hcmtzL3FzY3JpcHRlbmdpbmUvdHN0X3FzY3JpcHRlbmdpbmUuY3BwCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwYzQ0N2M2Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9xdC9iZW5jaG1hcmtzL3FzY3JpcHRlbmdpbmUvdHN0X3FzY3JpcHRlbmdpbmUuY3BwCisr
KyAvZGV2L251bGwKQEAgLTEsMTQyICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDEw
IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotCi0gICAgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
LSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLSNpbmNs
dWRlICJxc2NyaXB0ZW5naW5lLmgiCi0jaW5jbHVkZSAicXNjcmlwdHZhbHVlLmgiCi0jaW5jbHVk
ZSA8cXRlc3QuaD4KLQotY2xhc3MgdHN0X1FTY3JpcHRFbmdpbmUgOiBwdWJsaWMgUU9iamVjdCB7
Ci0gICAgUV9PQkpFQ1QKLQotcHJpdmF0ZSBzbG90czoKLSAgICB2b2lkIGNoZWNrU3ludGF4X2Rh
dGEoKTsKLSAgICB2b2lkIGNoZWNrU3ludGF4KCk7Ci0gICAgdm9pZCBjb25zdHJ1Y3RvcigpOwot
ICAgIHZvaWQgZXZhbHVhdGVTdHJpbmdfZGF0YSgpOwotICAgIHZvaWQgZXZhbHVhdGVTdHJpbmco
KTsKLSAgICB2b2lkIGV2YWx1YXRlUHJvZ3JhbV9kYXRhKCk7Ci0gICAgdm9pZCBldmFsdWF0ZVBy
b2dyYW0oKTsKLSAgICB2b2lkIG5ld09iamVjdCgpOwotICAgIHZvaWQgbnVsbFZhbHVlKCk7Ci0g
ICAgdm9pZCB1bmRlZmluZWRWYWx1ZSgpOwotICAgIHZvaWQgZ2xvYmFsT2JqZWN0KCk7Ci0gICAg
dm9pZCB0b1N0cmluZ0hhbmRsZSgpOwotfTsKLQotdm9pZCB0c3RfUVNjcmlwdEVuZ2luZTo6Y2hl
Y2tTeW50YXhfZGF0YSgpCi17Ci0gICAgZXZhbHVhdGVTdHJpbmdfZGF0YSgpOwotfQotCi12b2lk
IHRzdF9RU2NyaXB0RW5naW5lOjpjaGVja1N5bnRheCgpCi17Ci0gICAgUUZFVENIKFFTdHJpbmcs
IGNvZGUpOwotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwotICAgIFFCRU5DSE1BUksgewotICAg
ICAgICBlbmdpbmUuY2hlY2tTeW50YXgoY29kZSk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2Ny
aXB0RW5naW5lOjpjb25zdHJ1Y3RvcigpCi17Ci0gICAgUUJFTkNITUFSSyB7Ci0gICAgICAgIFFT
Y3JpcHRFbmdpbmUgZW5naW5lOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdEVuZ2luZTo6
ZXZhbHVhdGVTdHJpbmdfZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU3RyaW5nPigi
Y29kZSIpOwotICAgIFFUZXN0OjpuZXdSb3coImVtcHR5IHNjcmlwdCIpIDw8IFFTdHJpbmc6OmZy
b21MYXRpbjEoIiIpOwotICAgIFFUZXN0OjpuZXdSb3coIm51bWJlciBsaXRlcmFsIikgPDwgUVN0
cmluZzo6ZnJvbUxhdGluMSgiMTIzIik7Ci0gICAgUVRlc3Q6Om5ld1Jvdygic3RyaW5nIGxpdGVy
YWwiKSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCInY2lhbyciKTsKLSAgICBRVGVzdDo6bmV3Um93
KCJyZWdleHAgbGl0ZXJhbCIpIDw8IFFTdHJpbmc6OmZyb21MYXRpbjEoIi9mb28vZ2ltIik7Ci0g
ICAgUVRlc3Q6Om5ld1JvdygibnVsbCBsaXRlcmFsIikgPDwgUVN0cmluZzo6ZnJvbUxhdGluMSgi
bnVsbCIpOwotICAgIFFUZXN0OjpuZXdSb3coInVuZGVmaW5lZCBsaXRlcmFsIikgPDwgUVN0cmlu
Zzo6ZnJvbUxhdGluMSgidW5kZWZpbmVkIik7Ci0gICAgUVRlc3Q6Om5ld1JvdygiZW1wdHkgb2Jq
ZWN0IGxpdGVyYWwiKSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCJ7fSIpOwotICAgIFFUZXN0Ojpu
ZXdSb3coInRoaXMiKSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCJ0aGlzIik7Ci19Ci0KLXZvaWQg
dHN0X1FTY3JpcHRFbmdpbmU6OmV2YWx1YXRlU3RyaW5nKCkKLXsKLSAgICBRRkVUQ0goUVN0cmlu
ZywgY29kZSk7Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAgUUJFTkNITUFSSyB7Ci0g
ICAgICAgIGVuZ2luZS5ldmFsdWF0ZShjb2RlKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3Jp
cHRFbmdpbmU6OmV2YWx1YXRlUHJvZ3JhbV9kYXRhKCkKLXsKLSAgICBldmFsdWF0ZVN0cmluZ19k
YXRhKCk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6OmV2YWx1YXRlUHJvZ3JhbSgpCi17
Ci0gICAgUUZFVENIKFFTdHJpbmcsIGNvZGUpOwotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwot
ICAgIFFTY3JpcHRQcm9ncmFtIHByb2dyYW0oY29kZSk7Ci0gICAgUUJFTkNITUFSSyB7Ci0gICAg
ICAgIGVuZ2luZS5ldmFsdWF0ZShwcm9ncmFtKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3Jp
cHRFbmdpbmU6Om5ld09iamVjdCgpCi17Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAg
UUJFTkNITUFSSyB7Ci0gICAgICAgIGVuZ2luZS5uZXdPYmplY3QoKTsKLSAgICB9Ci19Ci0KLXZv
aWQgdHN0X1FTY3JpcHRFbmdpbmU6Om51bGxWYWx1ZSgpCi17Ci0gICAgUVNjcmlwdEVuZ2luZSBl
bmdpbmU7Ci0gICAgUUJFTkNITUFSSyB7Ci0gICAgICAgIGVuZ2luZS5udWxsVmFsdWUoKTsKLSAg
ICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6OnVuZGVmaW5lZFZhbHVlKCkKLXsKLSAg
ICBRU2NyaXB0RW5naW5lIGVuZ2luZTsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAgICAgZW5naW5l
LnVuZGVmaW5lZFZhbHVlKCk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0RW5naW5lOjpn
bG9iYWxPYmplY3QoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwotICAgIFFCRU5DSE1B
UksgewotICAgICAgICBlbmdpbmUuZ2xvYmFsT2JqZWN0KCk7Ci0gICAgfQotfQotCi12b2lkIHRz
dF9RU2NyaXB0RW5naW5lOjp0b1N0cmluZ0hhbmRsZSgpCi17Ci0gICAgUVNjcmlwdEVuZ2luZSBl
bmdpbmU7Ci0gICAgUVN0cmluZyBzdHIgPSBRU3RyaW5nOjpmcm9tTGF0aW4xKCJmb29iYXJiYXoi
KTsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAgICAgZW5naW5lLnRvU3RyaW5nSGFuZGxlKHN0cik7
Ci0gICAgfQotfQotCi1RVEVTVF9NQUlOKHRzdF9RU2NyaXB0RW5naW5lKQotI2luY2x1ZGUgInRz
dF9xc2NyaXB0ZW5naW5lLm1vYyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9x
dC9iZW5jaG1hcmtzL3FzY3JpcHR2YWx1ZS9xc2NyaXB0dmFsdWUucHJvIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3F0L2JlbmNobWFya3MvcXNjcmlwdHZhbHVlL3FzY3JpcHR2YWx1ZS5wcm8KZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3M2ZlNjUuLjAwMDAwMDAKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3F0L2JlbmNobWFya3MvcXNjcmlwdHZhbHVlL3FzY3JpcHR2YWx1ZS5w
cm8KKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLVRFTVBMQVRFID0gYXBwCi1UQVJHRVQg
PSB0c3RfYmVuY2hfcXNjcmlwdHZhbHVlCi1RVCArPSB0ZXN0bGliCi0KLWlzRW1wdHkoT1VUUFVU
X0RJUik6IE9VVFBVVF9ESVIgPSAuLi8uLi8uLi8uLgotaW5jbHVkZSguLi9iZW5jaG1hcmtzLnBy
aSkKLQotU09VUkNFUyArPSB0c3RfcXNjcmlwdHZhbHVlLmNwcAotCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcXQvYmVuY2htYXJrcy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2
YWx1ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYmVuY2htYXJrcy9xc2NyaXB0dmFs
dWUvdHN0X3FzY3JpcHR2YWx1ZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdj
MzliOGUuLjAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2JlbmNobWFya3Mv
cXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDQy
ICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFu
ZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0g
ICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLSNpbmNsdWRlICJxc2NyaXB0ZW5naW5lLmgi
Ci0jaW5jbHVkZSAicXNjcmlwdHN0cmluZy5oIgotI2luY2x1ZGUgInFzY3JpcHR2YWx1ZS5oIgot
I2luY2x1ZGUgPHF0ZXN0Lmg+Ci0KLVFfREVDTEFSRV9NRVRBVFlQRShRU2NyaXB0VmFsdWUpOwot
Ci1jbGFzcyB0c3RfUVNjcmlwdFZhbHVlIDogcHVibGljIFFPYmplY3QgewotICAgIFFfT0JKRUNU
Ci0KLXB1YmxpYzoKLSAgICB0c3RfUVNjcmlwdFZhbHVlKCkKLSAgICAgICAgOiBtX2VuZ2luZSgw
KQotICAgIHt9Ci0KLSAgICB+dHN0X1FTY3JpcHRWYWx1ZSgpCi0gICAgewotICAgICAgICBpZiAo
bV9lbmdpbmUpCi0gICAgICAgICAgICBkZWxldGUgbV9lbmdpbmU7Ci0gICAgfQotCi1wcml2YXRl
IHNsb3RzOgotICAgIHZvaWQgdmFsdWVzX2RhdGEoKTsKLQotICAgIHZvaWQgY3RvckJvb2woKTsK
LSAgICB2b2lkIGN0b3JSZWFsKCk7Ci0gICAgdm9pZCBjdG9yTnVtYmVyKCk7Ci0gICAgdm9pZCBj
dG9yUVN0cmluZygpOwotICAgIHZvaWQgY3RvckNTdHJpbmcoKTsKLSAgICB2b2lkIGN0b3JTcGVj
aWFsKCk7Ci0gICAgdm9pZCBjdG9yUVNjcmlwdFZhbHVlKCk7Ci0KLSAgICB2b2lkIGlzVmFsaWRf
ZGF0YSgpOwotICAgIHZvaWQgaXNWYWxpZCgpOwotICAgIHZvaWQgaXNCb29sX2RhdGEoKTsKLSAg
ICB2b2lkIGlzQm9vbCgpOwotICAgIHZvaWQgaXNOdW1iZXJfZGF0YSgpOwotICAgIHZvaWQgaXNO
dW1iZXIoKTsKLSAgICB2b2lkIGlzRnVuY3Rpb25fZGF0YSgpOwotICAgIHZvaWQgaXNGdW5jdGlv
bigpOwotICAgIHZvaWQgaXNOdWxsX2RhdGEoKTsKLSAgICB2b2lkIGlzTnVsbCgpOwotICAgIHZv
aWQgaXNTdHJpbmdfZGF0YSgpOwotICAgIHZvaWQgaXNTdHJpbmcoKTsKLSAgICB2b2lkIGlzVW5k
ZWZpbmVkX2RhdGEoKTsKLSAgICB2b2lkIGlzVW5kZWZpbmVkKCk7Ci0gICAgdm9pZCBpc09iamVj
dF9kYXRhKCk7Ci0gICAgdm9pZCBpc09iamVjdCgpOwotICAgIHZvaWQgaXNFcnJvcl9kYXRhKCk7
Ci0gICAgdm9pZCBpc0Vycm9yKCk7Ci0KLSAgICB2b2lkIHRvU3RyaW5nX2RhdGEoKTsKLSAgICB2
b2lkIHRvU3RyaW5nKCk7Ci0gICAgdm9pZCB0b051bWJlcl9kYXRhKCk7Ci0gICAgdm9pZCB0b051
bWJlcigpOwotICAgIHZvaWQgdG9Cb29sX2RhdGEoKTsKLSAgICB2b2lkIHRvQm9vbCgpOwotICAg
IHZvaWQgdG9JbnRlZ2VyX2RhdGEoKTsKLSAgICB2b2lkIHRvSW50ZWdlcigpOwotICAgIHZvaWQg
dG9JbnQzMl9kYXRhKCk7Ci0gICAgdm9pZCB0b0ludDMyKCk7Ci0gICAgdm9pZCB0b1VJbnQzMl9k
YXRhKCk7Ci0gICAgdm9pZCB0b1VJbnQzMigpOwotICAgIHZvaWQgdG9VSW50MTZfZGF0YSgpOwot
ICAgIHZvaWQgdG9VSW50MTYoKTsKLSAgICB2b2lkIHRvT2JqZWN0X2RhdGEoKTsKLSAgICB2b2lk
IHRvT2JqZWN0KCk7Ci0KLSAgICB2b2lkIGVxdWFsc19kYXRhKCk7Ci0gICAgdm9pZCBlcXVhbHMo
KTsKLSAgICB2b2lkIHN0cmljdGx5RXF1YWxzX2RhdGEoKTsKLSAgICB2b2lkIHN0cmljdGx5RXF1
YWxzKCk7Ci0gICAgdm9pZCBpbnN0YW5jZU9mX2RhdGEoKTsKLSAgICB2b2lkIGluc3RhbmNlT2Yo
KTsKLQotcHJpdmF0ZToKLSAgICBRU2NyaXB0RW5naW5lKiBtX2VuZ2luZTsKLX07Ci0KLXZvaWQg
dHN0X1FTY3JpcHRWYWx1ZTo6dmFsdWVzX2RhdGEoKQotewotICAgIGlmIChtX2VuZ2luZSkKLSAg
ICAgICAgZGVsZXRlIG1fZW5naW5lOwotICAgIG1fZW5naW5lID0gbmV3IFFTY3JpcHRFbmdpbmU7
Ci0KLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTY3JpcHRWYWx1ZT4oInZhbHVlIik7Ci0KLSAgICBR
VGVzdDo6bmV3Um93KCJpbnZhbGlkIikgPDwgUVNjcmlwdFZhbHVlKCk7Ci0KLSAgICBRVGVzdDo6
bmV3Um93KCJjYm9vbCIpIDw8IFFTY3JpcHRWYWx1ZSh0cnVlKTsKLSAgICBRVGVzdDo6bmV3Um93
KCJjbnVtYmVyIikgPDwgUVNjcmlwdFZhbHVlKDEyMzQpOwotICAgIFFUZXN0OjpuZXdSb3coImNz
dHJpbmciKSA8PCBRU2NyaXB0VmFsdWUoImFiYyIpOwotICAgIFFUZXN0OjpuZXdSb3coImNudWxs
IikgPDwgUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKTsKLSAgICBRVGVzdDo6
bmV3Um93KCJjdW5kZWZpbmVkIikgPDwgUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZp
bmVkVmFsdWUpOwotCi0gICAgUVRlc3Q6Om5ld1JvdygianNib29sIikgPDwgbV9lbmdpbmUtPmV2
YWx1YXRlKCJ0cnVlIik7Ci0gICAgUVRlc3Q6Om5ld1JvdygianNudW1iZXIiKSA8PCBtX2VuZ2lu
ZS0+ZXZhbHVhdGUoIjEyMzQ1Iik7Ci0gICAgUVRlc3Q6Om5ld1JvdygianNzdHJpbmciKSA8PCBt
X2VuZ2luZS0+ZXZhbHVhdGUoIidnbyciKTsKLSAgICBRVGVzdDo6bmV3Um93KCJqc2Z1bmN0aW9u
IikgPDwgbV9lbmdpbmUtPmV2YWx1YXRlKCIoZnVuY3Rpb24ge30pIik7Ci0gICAgUVRlc3Q6Om5l
d1JvdygianNudWxsIikgPDwgbV9lbmdpbmUtPm51bGxWYWx1ZSgpOwotICAgIFFUZXN0OjpuZXdS
b3coImpzdW5kZWZpbmVkIikgPDwgbV9lbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCk7Ci0gICAgUVRl
c3Q6Om5ld1JvdygianNvYmplY3QiKSA8PCBtX2VuZ2luZS0+bmV3T2JqZWN0KCk7Ci0gICAgUVRl
c3Q6Om5ld1JvdygianNlcnJvciIpIDw8IG1fZW5naW5lLT5ldmFsdWF0ZSgibmV3IEVycm9yKCki
KTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjpjdG9yQm9vbCgpCi17Ci0gICAgUUJFTkNI
TUFSSyB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSh0cnVlKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0
X1FTY3JpcHRWYWx1ZTo6Y3RvclJlYWwoKQotewotICAgIFFCRU5DSE1BUksgewotICAgICAgICBR
U2NyaXB0VmFsdWUoMTIuMyk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmN0
b3JOdW1iZXIoKQotewotICAgIFFCRU5DSE1BUksgewotICAgICAgICBRU2NyaXB0VmFsdWUoMTIz
KTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6Y3RvclFTdHJpbmcoKQotewot
ICAgIFFTdHJpbmcgc3RyID0gUVN0cmluZzo6ZnJvbUxhdGluMSgiY2lhbyIpOwotICAgIFFCRU5D
SE1BUksgewotICAgICAgICBRU2NyaXB0VmFsdWUoc3RyKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0
X1FTY3JpcHRWYWx1ZTo6Y3RvckNTdHJpbmcoKQotewotICAgIFFCRU5DSE1BUksgewotICAgICAg
ICBRU2NyaXB0VmFsdWUoIlBvbmchIik7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFs
dWU6OmN0b3JTcGVjaWFsKCkKLXsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAgICAgKHZvaWQpUVNj
cmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0
X1FTY3JpcHRWYWx1ZTo6Y3RvclFTY3JpcHRWYWx1ZSgpCi17Ci0gICAgUVNjcmlwdFZhbHVlIHRt
cCgxMjM0KTsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlKHRtcCk7Ci0g
ICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzVmFsaWRfZGF0YSgpCi17Ci0gICAg
dmFsdWVzX2RhdGEoKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc1ZhbGlkKCkKLXsK
LSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUJFTkNITUFSSyB7Ci0gICAg
ICAgIHZhbHVlLmlzVmFsaWQoKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6
aXNCb29sX2RhdGEoKQotewotICAgIHZhbHVlc19kYXRhKCk7Ci19Ci0KLXZvaWQgdHN0X1FTY3Jp
cHRWYWx1ZTo6aXNCb29sKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0g
ICAgUUJFTkNITUFSSyB7Ci0gICAgICAgIHZhbHVlLmlzQm9vbCgpOwotICAgIH0KLX0KLQotdm9p
ZCB0c3RfUVNjcmlwdFZhbHVlOjppc051bWJlcl9kYXRhKCkKLXsKLSAgICB2YWx1ZXNfZGF0YSgp
OwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzTnVtYmVyKCkKLXsKLSAgICBRRkVUQ0go
UVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUJFTkNITUFSSyB7Ci0gICAgICAgIHZhbHVlLmlz
TnVtYmVyKCk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzRnVuY3Rpb25f
ZGF0YSgpCi17Ci0gICAgdmFsdWVzX2RhdGEoKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVl
Ojppc0Z1bmN0aW9uKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAg
UUJFTkNITUFSSyB7Ci0gICAgICAgIHZhbHVlLmlzRnVuY3Rpb24oKTsKLSAgICB9Ci19Ci0KLXZv
aWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNOdWxsX2RhdGEoKQotewotICAgIHZhbHVlc19kYXRhKCk7
Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNOdWxsKCkKLXsKLSAgICBRRkVUQ0goUVNj
cmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUJFTkNITUFSSyB7Ci0gICAgICAgIHZhbHVlLmlzTnVs
bCgpOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc1N0cmluZ19kYXRhKCkK
LXsKLSAgICB2YWx1ZXNfZGF0YSgpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzU3Ry
aW5nKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUJFTkNITUFS
SyB7Ci0gICAgICAgIHZhbHVlLmlzU3RyaW5nKCk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2Ny
aXB0VmFsdWU6OmlzVW5kZWZpbmVkX2RhdGEoKQotewotICAgIHZhbHVlc19kYXRhKCk7Ci19Ci0K
LXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNVbmRlZmluZWQoKQotewotICAgIFFGRVRDSChRU2Ny
aXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAgICAgdmFsdWUuaXNVbmRl
ZmluZWQoKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNPYmplY3RfZGF0
YSgpCi17Ci0gICAgdmFsdWVzX2RhdGEoKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjpp
c09iamVjdCgpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAgIFFCRU5D
SE1BUksgewotICAgICAgICB2YWx1ZS5pc09iamVjdCgpOwotICAgIH0KLX0KLQotdm9pZCB0c3Rf
UVNjcmlwdFZhbHVlOjppc0Vycm9yX2RhdGEoKQotewotICAgIHZhbHVlc19kYXRhKCk7Ci19Ci0K
LXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNFcnJvcigpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRW
YWx1ZSwgdmFsdWUpOwotICAgIFFCRU5DSE1BUksgewotICAgICAgICB2YWx1ZS5pc0Vycm9yKCk7
Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvU3RyaW5nX2RhdGEoKQotewot
ICAgIHZhbHVlc19kYXRhKCk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9TdHJpbmco
KQotewotICAgIFFGRVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRQkVOQ0hNQVJLIHsK
LSAgICAgICAgdmFsdWUudG9TdHJpbmcoKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRW
YWx1ZTo6dG9OdW1iZXJfZGF0YSgpCi17Ci0gICAgdmFsdWVzX2RhdGEoKTsKLX0KLQotdm9pZCB0
c3RfUVNjcmlwdFZhbHVlOjp0b051bWJlcigpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwg
dmFsdWUpOwotICAgIFFCRU5DSE1BUksgewotICAgICAgICB2YWx1ZS50b051bWJlcigpOwotICAg
IH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b0Jvb2xfZGF0YSgpCi17Ci0gICAgdmFs
dWVzX2RhdGEoKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b0Jvb2woKQotewotICAg
IFFGRVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAgICAg
dmFsdWUudG9Cb29sKCk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvSW50
ZWdlcl9kYXRhKCkKLXsKLSAgICB2YWx1ZXNfZGF0YSgpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0
VmFsdWU6OnRvSW50ZWdlcigpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwot
ICAgIFFCRU5DSE1BUksgewotICAgICAgICB2YWx1ZS50b0ludGVnZXIoKTsKLSAgICB9Ci19Ci0K
LXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9JbnQzMl9kYXRhKCkKLXsKLSAgICB2YWx1ZXNfZGF0
YSgpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvSW50MzIoKQotewotICAgIFFGRVRD
SChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAgICAgdmFsdWUu
dG9JbnQzMigpOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b1VJbnQzMl9k
YXRhKCkKLXsKLSAgICB2YWx1ZXNfZGF0YSgpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6
OnRvVUludDMyKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUJF
TkNITUFSSyB7Ci0gICAgICAgIHZhbHVlLnRvVUludDMyKCk7Ci0gICAgfQotfQotCi12b2lkIHRz
dF9RU2NyaXB0VmFsdWU6OnRvVUludDE2X2RhdGEoKQotewotICAgIHZhbHVlc19kYXRhKCk7Ci19
Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9VSW50MTYoKQotewotICAgIFFGRVRDSChRU2Ny
aXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAgICAgdmFsdWUudG9VSW50
MTYoKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9PYmplY3RfZGF0YSgp
Ci17Ci0gICAgdmFsdWVzX2RhdGEoKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b09i
amVjdCgpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAgIFFCRU5DSE1B
UksgewotICAgICAgICB2YWx1ZS50b09iamVjdCgpOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNj
cmlwdFZhbHVlOjplcXVhbHNfZGF0YSgpCi17Ci0gICAgdmFsdWVzX2RhdGEoKTsKLX0KLQotdm9p
ZCB0c3RfUVNjcmlwdFZhbHVlOjplcXVhbHMoKQotewotICAgIFFGRVRDSChRU2NyaXB0VmFsdWUs
IHZhbHVlKTsKLSAgICBzdGF0aWMgUVNjcmlwdFZhbHVlIHByZXZpb3VzOwotICAgIFFCRU5DSE1B
UksgewotICAgICAgICB2YWx1ZS5lcXVhbHMocHJldmlvdXMpOwotICAgIH0KLSAgICBwcmV2aW91
cyA9IHZhbHVlOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnN0cmljdGx5RXF1YWxzX2Rh
dGEoKQotewotICAgIHZhbHVlc19kYXRhKCk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6
c3RyaWN0bHlFcXVhbHMoKQotewotICAgIFFGRVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAg
ICBzdGF0aWMgUVNjcmlwdFZhbHVlIHByZXZpb3VzOwotICAgIFFCRU5DSE1BUksgewotICAgICAg
ICB2YWx1ZS5zdHJpY3RseUVxdWFscyhwcmV2aW91cyk7Ci0gICAgfQotICAgIHByZXZpb3VzID0g
dmFsdWU7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aW5zdGFuY2VPZl9kYXRhKCkKLXsK
LSAgICB2YWx1ZXNfZGF0YSgpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6Omluc3RhbmNl
T2YoKQotewotICAgIFFGRVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBzdGF0aWMgUVNj
cmlwdFZhbHVlIG9iamVjdCA9IG1fZW5naW5lLT5uZXdPYmplY3QoKTsKLSAgICBRQkVOQ0hNQVJL
IHsKLSAgICAgICAgdmFsdWUuaW5zdGFuY2VPZihvYmplY3QpOwotICAgIH0KLX0KLQotUVRFU1Rf
TUFJTih0c3RfUVNjcmlwdFZhbHVlKQotI2luY2x1ZGUgInRzdF9xc2NyaXB0dmFsdWUubW9jIgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHRlbmdpbmUv
cXNjcmlwdGVuZ2luZS5wcm8gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlw
dGVuZ2luZS9xc2NyaXB0ZW5naW5lLnBybwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZDUyMWRkOC4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNj
cmlwdGVuZ2luZS9xc2NyaXB0ZW5naW5lLnBybworKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBA
QAotVEVNUExBVEUgPSBhcHAKLVRBUkdFVCA9IHRzdF9xc2NyaXB0ZW5naW5lCi1RVCArPSB0ZXN0
bGliCi1pc0VtcHR5KE9VVFBVVF9ESVIpOiBPVVRQVVRfRElSID0gLi4vLi4vLi4vLi4KLWluY2x1
ZGUoLi4vdGVzdHMucHJpKQotCi1TT1VSQ0VTICs9IHRzdF9xc2NyaXB0ZW5naW5lLmNwcAotCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlwdGVuZ2luZS90
c3RfcXNjcmlwdGVuZ2luZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNj
cmlwdGVuZ2luZS90c3RfcXNjcmlwdGVuZ2luZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGRhYmNmYjIuLjAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rl
c3RzL3FzY3JpcHRlbmdpbmUvdHN0X3FzY3JpcHRlbmdpbmUuY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsNzM0ICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA5IE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot
ICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0g
ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAg
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLSNpbmNsdWRlICJxc2NyaXB0ZW5n
aW5lLmgiCi0jaW5jbHVkZSAicXNjcmlwdHByb2dyYW0uaCIKLSNpbmNsdWRlICJxc2NyaXB0c3lu
dGF4Y2hlY2tyZXN1bHQuaCIKLSNpbmNsdWRlICJxc2NyaXB0dmFsdWUuaCIKLSNpbmNsdWRlIDxR
dENvcmUvcW51bWVyaWMuaD4KLSNpbmNsdWRlIDxRdFRlc3QvcXRlc3QuaD4KLQotY2xhc3MgdHN0
X1FTY3JpcHRFbmdpbmUgOiBwdWJsaWMgUU9iamVjdCB7Ci0gICAgUV9PQkpFQ1QKLQotcHVibGlj
OgotICAgIHRzdF9RU2NyaXB0RW5naW5lKCkge30KLSAgICB2aXJ0dWFsIH50c3RfUVNjcmlwdEVu
Z2luZSgpIHt9Ci0KLXB1YmxpYyBzbG90czoKLSAgICB2b2lkIGluaXQoKSB7fQotICAgIHZvaWQg
Y2xlYW51cCgpIHt9Ci0KLXByaXZhdGUgc2xvdHM6Ci0gICAgdm9pZCBuZXdGdW5jdGlvbigpOwot
ICAgIHZvaWQgbmV3T2JqZWN0KCk7Ci0gICAgdm9pZCBnbG9iYWxPYmplY3QoKTsKLSAgICB2b2lk
IGV2YWx1YXRlKCk7Ci0gICAgdm9pZCBjb2xsZWN0R2FyYmFnZSgpOwotICAgIHZvaWQgcmVwb3J0
QWRkaXRpb25hbE1lbW9yeUNvc3QoKTsKLSAgICB2b2lkIG51bGxWYWx1ZSgpOwotICAgIHZvaWQg
dW5kZWZpbmVkVmFsdWUoKTsKLSAgICB2b2lkIGV2YWx1YXRlUHJvZ3JhbSgpOwotICAgIHZvaWQg
Y2hlY2tTeW50YXhfZGF0YSgpOwotICAgIHZvaWQgY2hlY2tTeW50YXgoKTsKLSAgICB2b2lkIHRv
T2JqZWN0KCk7Ci0gICAgdm9pZCB0b09iamVjdFR3b0VuZ2luZXMoKTsKLSAgICB2b2lkIG5ld0Fy
cmF5KCk7Ci0gICAgdm9pZCB1bmNhdWdodEV4Y2VwdGlvbigpOwotICAgIHZvaWQgbmV3RGF0ZSgp
OwotfTsKLQotLyogRXZhbHVhdGluZyBhIHNjcmlwdCB0aGF0IHRocm93IGFuIHVuaGFuZGxlZCBl
eGNlcHRpb24gc2hvdWxkIHJldHVybiBhbiBpbnZhbGlkIHZhbHVlLiAqLwotdm9pZCB0c3RfUVNj
cmlwdEVuZ2luZTo6ZXZhbHVhdGUoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwotICAg
IFFWRVJJRlkyKGVuZ2luZS5ldmFsdWF0ZSgiMSsxIikuaXNWYWxpZCgpLCAidGhlIGV4cHJlc3Np
b24gc2hvdWxkIGJlIGV2YWx1YXRlZCBhbmQgYW4gdmFsaWQgcmVzdWx0IHNob3VsZCBiZSByZXR1
cm5lZCIpOwotICAgIFFWRVJJRlkyKGVuZ2luZS5ldmFsdWF0ZSgicGluZyIpLmlzVmFsaWQoKSwg
IlNjcmlwdCB0aHJvd2luZyBhbiB1bmhhbmRsZWQgZXhjZXB0aW9uIHNob3VsZCByZXR1cm4gYW4g
ZXhjZXB0aW9uIHZhbHVlIik7Ci19Ci0KLXN0YXRpYyBRU2NyaXB0VmFsdWUgbXlGdW5jdGlvbihR
U2NyaXB0Q29udGV4dCosIFFTY3JpcHRFbmdpbmUqIGVuZykKLXsKLSAgICByZXR1cm4gZW5nLT5u
dWxsVmFsdWUoKTsKLX0KLQotc3RhdGljIFFTY3JpcHRWYWx1ZSBteUZ1bmN0aW9uV2l0aEFyZyhR
U2NyaXB0Q29udGV4dCosIFFTY3JpcHRFbmdpbmUqIGVuZywgdm9pZCogYXJnKQotewotICAgIGlu
dCogcmVzdWx0ID0gcmVpbnRlcnByZXRfY2FzdDxpbnQqPihhcmcpOwotICAgIHJldHVybiBRU2Ny
aXB0VmFsdWUoZW5nLCAqcmVzdWx0KTsKLX0KLQotc3RhdGljIFFTY3JpcHRWYWx1ZSBteUZ1bmN0
aW9uVGhhdFJldHVybnMoUVNjcmlwdENvbnRleHQqLCBRU2NyaXB0RW5naW5lKiBlbmcpCi17Ci0g
ICAgcmV0dXJuIFFTY3JpcHRWYWx1ZShlbmcsIDQyKTsKLX0KLQotc3RhdGljIFFTY3JpcHRWYWx1
ZSBteUZ1bmN0aW9uVGhhdFJldHVybnNXaXRob3V0RW5naW5lKFFTY3JpcHRDb250ZXh0KiwgUVNj
cmlwdEVuZ2luZSopCi17Ci0gICAgcmV0dXJuIFFTY3JpcHRWYWx1ZSgxMDI0KTsKLX0KLQotc3Rh
dGljIFFTY3JpcHRWYWx1ZSBteUZ1bmN0aW9uVGhhdFJldHVybnNXcm9uZ0VuZ2luZShRU2NyaXB0
Q29udGV4dCosIFFTY3JpcHRFbmdpbmUqLCB2b2lkKiBhcmcpCi17Ci0gICAgUVNjcmlwdEVuZ2lu
ZSogd3JvbmdFbmdpbmUgPSByZWludGVycHJldF9jYXN0PFFTY3JpcHRFbmdpbmUqPihhcmcpOwot
ICAgIHJldHVybiBRU2NyaXB0VmFsdWUod3JvbmdFbmdpbmUsIDQyKTsKLX0KLQotdm9pZCB0c3Rf
UVNjcmlwdEVuZ2luZTo6bmV3RnVuY3Rpb24oKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5nOwot
ICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIGZ1biA9IGVuZy5uZXdGdW5jdGlvbihteUZ1bmN0
aW9uKTsKLSAgICAgICAgUUNPTVBBUkUoZnVuLmlzVmFsaWQoKSwgdHJ1ZSk7Ci0gICAgICAgIFFD
T01QQVJFKGZ1bi5pc0Z1bmN0aW9uKCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRShmdW4uaXNP
YmplY3QoKSwgdHJ1ZSk7Ci0gICAgICAgIC8vIFFDT01QQVJFKGZ1bi5zY3JpcHRDbGFzcygpLCAo
UVNjcmlwdENsYXNzKikwKTsKLSAgICAgICAgLy8gYSBwcm90b3R5cGUgcHJvcGVydHkgaXMgYXV0
b21hdGljYWxseSBjb25zdHJ1Y3RlZAotICAgICAgICB7Ci0gICAgICAgICAgICBRU2NyaXB0VmFs
dWUgcHJvdCA9IGZ1bi5wcm9wZXJ0eSgicHJvdG90eXBlIiwgUVNjcmlwdFZhbHVlOjpSZXNvbHZl
TG9jYWwpOwotICAgICAgICAgICAgUVZFUklGWShwcm90LmlzT2JqZWN0KCkpOwotICAgICAgICAg
ICAgUVZFUklGWShwcm90LnByb3BlcnR5KCJjb25zdHJ1Y3RvciIpLnN0cmljdGx5RXF1YWxzKGZ1
bikpOwotICAgICAgICAgICAgUUVYUEVDVF9GQUlMKCIiLCAiSlNDYWxsYmFja09iamVjdDo6Z2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKCkgZG9lc24ndCByZXR1cm4gY29ycmVjdCBpbmZvcm1hdGlv
biB5ZXQiLCBDb250aW51ZSk7Ci0gICAgICAgICAgICBRQ09NUEFSRShmdW4ucHJvcGVydHlGbGFn
cygicHJvdG90eXBlIiksIFFTY3JpcHRWYWx1ZTo6VW5kZWxldGFibGUpOwotICAgICAgICAgICAg
UUVYUEVDVF9GQUlMKCIiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3Bl
cnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICAg
ICAgICAgIFFDT01QQVJFKHByb3QucHJvcGVydHlGbGFncygiY29uc3RydWN0b3IiKSwgUVNjcmlw
dFZhbHVlOjpQcm9wZXJ0eUZsYWdzKFFTY3JpcHRWYWx1ZTo6VW5kZWxldGFibGUgfCBRU2NyaXB0
VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uKSk7Ci0gICAgICAgIH0KLSAgICAgICAgLy8gcHJvdG90
eXBlIHNob3VsZCBiZSBGdW5jdGlvbi5wcm90b3R5cGUKLSAgICAgICAgUUNPTVBBUkUoZnVuLnBy
b3RvdHlwZSgpLmlzVmFsaWQoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGZ1bi5wcm90b3R5
cGUoKS5pc0Z1bmN0aW9uKCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRShmdW4ucHJvdG90eXBl
KCkuc3RyaWN0bHlFcXVhbHMoZW5nLmV2YWx1YXRlKCJGdW5jdGlvbi5wcm90b3R5cGUiKSksIHRy
dWUpOwotCi0gICAgICAgIFFDT01QQVJFKGZ1bi5jYWxsKCkuaXNOdWxsKCksIHRydWUpOwotICAg
ICAgICAvLyBRQ09NUEFSRShmdW4uY29uc3RydWN0KCkuaXNPYmplY3QoKSwgdHJ1ZSk7Ci0gICAg
fQotICAgIC8vIHRoZSBvdmVybG9hZCB0aGF0IHRha2VzIGFuIGV4dHJhIGFyZ3VtZW50Ci0gICAg
ewotICAgICAgICBpbnQgZXhwZWN0ZWRSZXN1bHQgPSA0MjsKLSAgICAgICAgUVNjcmlwdFZhbHVl
IGZ1biA9IGVuZy5uZXdGdW5jdGlvbihteUZ1bmN0aW9uV2l0aEFyZywgcmVpbnRlcnByZXRfY2Fz
dDx2b2lkKj4oJmV4cGVjdGVkUmVzdWx0KSk7Ci0gICAgICAgIFFWRVJJRlkoZnVuLmlzRnVuY3Rp
b24oKSk7Ci0gICAgICAgIC8vIFFDT01QQVJFKGZ1bi5zY3JpcHRDbGFzcygpLCAoUVNjcmlwdENs
YXNzKikwKTsKLSAgICAgICAgLy8gYSBwcm90b3R5cGUgcHJvcGVydHkgaXMgYXV0b21hdGljYWxs
eSBjb25zdHJ1Y3RlZAotICAgICAgICB7Ci0gICAgICAgICAgICBRU2NyaXB0VmFsdWUgcHJvdCA9
IGZ1bi5wcm9wZXJ0eSgicHJvdG90eXBlIiwgUVNjcmlwdFZhbHVlOjpSZXNvbHZlTG9jYWwpOwot
ICAgICAgICAgICAgUVZFUklGWShwcm90LmlzT2JqZWN0KCkpOwotICAgICAgICAgICAgUVZFUklG
WShwcm90LnByb3BlcnR5KCJjb25zdHJ1Y3RvciIpLnN0cmljdGx5RXF1YWxzKGZ1bikpOwotICAg
ICAgICAgICAgUUVYUEVDVF9GQUlMKCIiLCAiSlNDYWxsYmFja09iamVjdDo6Z2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKCkgZG9lc24ndCByZXR1cm4gY29ycmVjdCBpbmZvcm1hdGlvbiB5ZXQiLCBD
b250aW51ZSk7Ci0gICAgICAgICAgICBRQ09NUEFSRShmdW4ucHJvcGVydHlGbGFncygicHJvdG90
eXBlIiksIFFTY3JpcHRWYWx1ZTo6VW5kZWxldGFibGUpOwotICAgICAgICAgICAgUUVYUEVDVF9G
QUlMKCIiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNu
J3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICAgICAgICAgIFFD
T01QQVJFKHByb3QucHJvcGVydHlGbGFncygiY29uc3RydWN0b3IiKSwgUVNjcmlwdFZhbHVlOjpQ
cm9wZXJ0eUZsYWdzKFFTY3JpcHRWYWx1ZTo6VW5kZWxldGFibGUgfCBRU2NyaXB0VmFsdWU6OlNr
aXBJbkVudW1lcmF0aW9uKSk7Ci0gICAgICAgIH0KLSAgICAgICAgLy8gcHJvdG90eXBlIHNob3Vs
ZCBiZSBGdW5jdGlvbi5wcm90b3R5cGUKLSAgICAgICAgUUNPTVBBUkUoZnVuLnByb3RvdHlwZSgp
LmlzVmFsaWQoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGZ1bi5wcm90b3R5cGUoKS5pc0Z1
bmN0aW9uKCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRShmdW4ucHJvdG90eXBlKCkuc3RyaWN0
bHlFcXVhbHMoZW5nLmV2YWx1YXRlKCJGdW5jdGlvbi5wcm90b3R5cGUiKSksIHRydWUpOwotCi0g
ICAgICAgIFFTY3JpcHRWYWx1ZSByZXN1bHQgPSBmdW4uY2FsbCgpOwotICAgICAgICBRQ09NUEFS
RShyZXN1bHQuaXNOdW1iZXIoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHJlc3VsdC50b0lu
dDMyKCksIGV4cGVjdGVkUmVzdWx0KTsKLSAgICB9Ci0gICAgLy8gdGhlIG92ZXJsb2FkIHRoYXQg
dGFrZXMgYSBwcm90b3R5cGUKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBwcm90byA9IGVu
Zy5uZXdPYmplY3QoKTsKLSAgICAgICAgUVNjcmlwdFZhbHVlIGZ1biA9IGVuZy5uZXdGdW5jdGlv
bihteUZ1bmN0aW9uLCBwcm90byk7Ci0gICAgICAgIFFDT01QQVJFKGZ1bi5pc1ZhbGlkKCksIHRy
dWUpOwotICAgICAgICBRQ09NUEFSRShmdW4uaXNGdW5jdGlvbigpLCB0cnVlKTsKLSAgICAgICAg
UUNPTVBBUkUoZnVuLmlzT2JqZWN0KCksIHRydWUpOwotICAgICAgICAvLyBpbnRlcm5hbCBwcm90
b3R5cGUgc2hvdWxkIGJlIEZ1bmN0aW9uLnByb3RvdHlwZQotICAgICAgICBRQ09NUEFSRShmdW4u
cHJvdG90eXBlKCkuaXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoZnVuLnByb3Rv
dHlwZSgpLmlzRnVuY3Rpb24oKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGZ1bi5wcm90b3R5
cGUoKS5zdHJpY3RseUVxdWFscyhlbmcuZXZhbHVhdGUoIkZ1bmN0aW9uLnByb3RvdHlwZSIpKSwg
dHJ1ZSk7Ci0gICAgICAgIC8vIHB1YmxpYyBwcm90b3R5cGUgc2hvdWxkIGJlIHRoZSBvbmUgd2Ug
cGFzc2VkCi0gICAgICAgIFFDT01QQVJFKGZ1bi5wcm9wZXJ0eSgicHJvdG90eXBlIikuc3RyaWN0
bHlFcXVhbHMocHJvdG8pLCB0cnVlKTsKLSAgICAgICAgUUVYUEVDVF9GQUlMKCIiLCAiSlNDYWxs
YmFja09iamVjdDo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKCkgZG9lc24ndCByZXR1cm4gY29y
cmVjdCBpbmZvcm1hdGlvbiB5ZXQiLCBDb250aW51ZSk7Ci0gICAgICAgIFFDT01QQVJFKGZ1bi5w
cm9wZXJ0eUZsYWdzKCJwcm90b3R5cGUiKSwgUVNjcmlwdFZhbHVlOjpVbmRlbGV0YWJsZSk7Ci0g
ICAgICAgIFFDT01QQVJFKHByb3RvLnByb3BlcnR5KCJjb25zdHJ1Y3RvciIpLnN0cmljdGx5RXF1
YWxzKGZ1biksIHRydWUpOwotICAgICAgICBRRVhQRUNUX0ZBSUwoIiIsICJXZWJLaXQgYnVnOiA0
MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkg
ZmxhZ3MpIiwgQ29udGludWUpOwotICAgICAgICBRQ09NUEFSRShwcm90by5wcm9wZXJ0eUZsYWdz
KCJjb25zdHJ1Y3RvciIpLCBRU2NyaXB0VmFsdWU6OlByb3BlcnR5RmxhZ3MoUVNjcmlwdFZhbHVl
OjpVbmRlbGV0YWJsZSB8IFFTY3JpcHRWYWx1ZTo6U2tpcEluRW51bWVyYXRpb24pKTsKLQotICAg
ICAgICBRQ09NUEFSRShmdW4uY2FsbCgpLmlzTnVsbCgpLCB0cnVlKTsKLSAgICAgICAgLy8gUUNP
TVBBUkUoZnVuLmNvbnN0cnVjdCgpLmlzT2JqZWN0KCksIHRydWUpOwotICAgIH0KLSAgICAvLyB3
aGV0aGVyIHRoZSByZXR1cm4gdmFsdWUgaXMgY29ycmVjdAotICAgIHsKLSAgICAgICAgUVNjcmlw
dFZhbHVlIGZ1biA9IGVuZy5uZXdGdW5jdGlvbihteUZ1bmN0aW9uVGhhdFJldHVybnMpOwotICAg
ICAgICBRQ09NUEFSRShmdW4uaXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoZnVu
LmlzRnVuY3Rpb24oKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGZ1bi5pc09iamVjdCgpLCB0
cnVlKTsKLQotICAgICAgICBRU2NyaXB0VmFsdWUgcmVzdWx0ID0gZnVuLmNhbGwoKTsKLSAgICAg
ICAgUUNPTVBBUkUocmVzdWx0LmlzTnVtYmVyKCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRShy
ZXN1bHQudG9JbnQzMigpLCA0Mik7Ci0gICAgfQotICAgIC8vIHdoZXRoZXIgdGhlIHJldHVybiB2
YWx1ZSBpcyBhc3NpZ25lZCB0byB0aGUgY29ycmVjdCBlbmdpbmUKLSAgICB7Ci0gICAgICAgIFFT
Y3JpcHRWYWx1ZSBmdW4gPSBlbmcubmV3RnVuY3Rpb24obXlGdW5jdGlvblRoYXRSZXR1cm5zV2l0
aG91dEVuZ2luZSk7Ci0gICAgICAgIFFDT01QQVJFKGZ1bi5pc1ZhbGlkKCksIHRydWUpOwotICAg
ICAgICBRQ09NUEFSRShmdW4uaXNGdW5jdGlvbigpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUo
ZnVuLmlzT2JqZWN0KCksIHRydWUpOwotCi0gICAgICAgIFFTY3JpcHRWYWx1ZSByZXN1bHQgPSBm
dW4uY2FsbCgpOwotICAgICAgICBRQ09NUEFSRShyZXN1bHQuZW5naW5lKCksICZlbmcpOwotICAg
ICAgICBRQ09NUEFSRShyZXN1bHQuaXNOdW1iZXIoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJF
KHJlc3VsdC50b0ludDMyKCksIDEwMjQpOwotICAgIH0KLSAgICAvLyB3aGV0aGVyIHRoZSByZXR1
cm4gdmFsdWUgaXMgdW5kZWZpbmVkIHdoZW4gcmV0dXJuaW5nIGEgdmFsdWUgd2l0aCB3cm9uZyBl
bmdpbmUKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRFbmdpbmUgd3JvbmdFbmdpbmU7Ci0KLSAgICAg
ICAgUVNjcmlwdFZhbHVlIGZ1biA9IGVuZy5uZXdGdW5jdGlvbihteUZ1bmN0aW9uVGhhdFJldHVy
bnNXcm9uZ0VuZ2luZSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oJndyb25nRW5naW5lKSk7Ci0g
ICAgICAgIFFDT01QQVJFKGZ1bi5pc1ZhbGlkKCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRShm
dW4uaXNGdW5jdGlvbigpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoZnVuLmlzT2JqZWN0KCks
IHRydWUpOwotCi0gICAgICAgIFFUZXN0OjppZ25vcmVNZXNzYWdlKFF0V2FybmluZ01zZywgIlZh
bHVlIGZyb20gZGlmZmVyZW50IGVuZ2luZSByZXR1cm5lZCBmcm9tIG5hdGl2ZSBmdW5jdGlvbiwg
cmV0dXJuaW5nIHVuZGVmaW5lZCB2YWx1ZSBpbnN0ZWFkLiIpOwotICAgICAgICBRU2NyaXB0VmFs
dWUgcmVzdWx0ID0gZnVuLmNhbGwoKTsKLSAgICAgICAgUUNPTVBBUkUocmVzdWx0LmlzVmFsaWQo
KSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHJlc3VsdC5pc1VuZGVmaW5lZCgpLCB0cnVlKTsK
LSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6Om5ld09iamVjdCgpCi17Ci0gICAg
UVNjcmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAgUVNjcmlwdFZhbHVlIG9iamVjdCA9IGVuZ2luZS5u
ZXdPYmplY3QoKTsKLSAgICBRVkVSSUZZKG9iamVjdC5pc09iamVjdCgpKTsKLSAgICBRVkVSSUZZ
KG9iamVjdC5lbmdpbmUoKSA9PSAmZW5naW5lKTsKLSAgICBRVkVSSUZZKCFvYmplY3QuaXNFcnJv
cigpKTsKLSAgICBRVkVSSUZZKCFvYmplY3QuZXF1YWxzKGVuZ2luZS5uZXdPYmplY3QoKSkpOwot
ICAgIFFWRVJJRlkoIW9iamVjdC5zdHJpY3RseUVxdWFscyhlbmdpbmUubmV3T2JqZWN0KCkpKTsK
LSAgICBRQ09NUEFSRShvYmplY3QudG9TdHJpbmcoKSwgUVN0cmluZzo6ZnJvbUFzY2lpKCJbb2Jq
ZWN0IE9iamVjdF0iKSk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6Omdsb2JhbE9iamVj
dCgpCi17Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAgUVNjcmlwdFZhbHVlIGdsb2Jh
bCA9IGVuZ2luZS5nbG9iYWxPYmplY3QoKTsKLSAgICBRU2NyaXB0VmFsdWUgc2VsZiA9IGVuZ2lu
ZS5ldmFsdWF0ZSgidGhpcyIpOwotICAgIFFWRVJJRlkoZ2xvYmFsLmlzT2JqZWN0KCkpOwotICAg
IFFWRVJJRlkoZW5naW5lLmdsb2JhbE9iamVjdCgpLmVxdWFscyhlbmdpbmUuZXZhbHVhdGUoInRo
aXMiKSkpOwotICAgIFFWRVJJRlkoZW5naW5lLmdsb2JhbE9iamVjdCgpLnN0cmljdGx5RXF1YWxz
KHNlbGYpKTsKLX0KLQotLyogVGVzdCBnYXJiYWdlIGNvbGxlY3Rpb24sIGF0IGxlYXN0IHRyeSB0
byBub3QgY3Jhc2guICovCi12b2lkIHRzdF9RU2NyaXB0RW5naW5lOjpjb2xsZWN0R2FyYmFnZSgp
Ci17Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAgUVNjcmlwdFZhbHVlIGZvbyA9IGVu
Z2luZS5ldmFsdWF0ZSgiKCBmdW5jdGlvbiBmb28oKSB7cmV0dXJuICdwb25nJzt9ICkiKTsKLSAg
ICBRVkVSSUZZKGZvby5pc0Z1bmN0aW9uKCkpOwotICAgIGVuZ2luZS5jb2xsZWN0R2FyYmFnZSgp
OwotICAgIFFDT01QQVJFKGZvby5jYWxsKCkudG9TdHJpbmcoKSwgUVN0cmluZzo6ZnJvbUFzY2lp
KCJwb25nIikpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0RW5naW5lOjpyZXBvcnRBZGRpdGlvbmFs
TWVtb3J5Q29zdCgpCi17Ci0gICAgLy8gVGhlcmUgaXNuJ3QgYW55IGVhc3kgd2F5IHRvIHRlc3Qg
dGhlIHJlc3BvbnNpdmVuZXNzIG9mIHRoZSBHQzsKLSAgICAvLyBqdXN0IHRyeSB0byBjYWxsIHRo
ZSBmdW5jdGlvbiBhIGZldyB0aW1lcyB3aXRoIHZhcmlvdXMgc2l6ZXMuCi0gICAgUVNjcmlwdEVu
Z2luZSBlbmc7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDA7ICsraSkgewotICAgICAgICBl
bmcucmVwb3J0QWRkaXRpb25hbE1lbW9yeUNvc3QoMCk7Ci0gICAgICAgIGVuZy5yZXBvcnRBZGRp
dGlvbmFsTWVtb3J5Q29zdCgxMCk7Ci0gICAgICAgIGVuZy5yZXBvcnRBZGRpdGlvbmFsTWVtb3J5
Q29zdCgxMDAwKTsKLSAgICAgICAgZW5nLnJlcG9ydEFkZGl0aW9uYWxNZW1vcnlDb3N0KDEwMDAw
KTsKLSAgICAgICAgZW5nLnJlcG9ydEFkZGl0aW9uYWxNZW1vcnlDb3N0KDEwMDAwMCk7Ci0gICAg
ICAgIGVuZy5yZXBvcnRBZGRpdGlvbmFsTWVtb3J5Q29zdCgxMDAwMDAwKTsKLSAgICAgICAgZW5n
LnJlcG9ydEFkZGl0aW9uYWxNZW1vcnlDb3N0KDEwMDAwMDAwKTsKLSAgICAgICAgZW5nLnJlcG9y
dEFkZGl0aW9uYWxNZW1vcnlDb3N0KC0xKTsKLSAgICAgICAgZW5nLnJlcG9ydEFkZGl0aW9uYWxN
ZW1vcnlDb3N0KC0xMDAwKTsKLSAgICAgICAgUVNjcmlwdFZhbHVlIG9iaiA9IGVuZy5ldmFsdWF0
ZSgibmV3IE9iamVjdCIpOwotICAgICAgICBlbmcuY29sbGVjdEdhcmJhZ2UoKTsKLSAgICB9Ci19
Ci0KLXZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6Om51bGxWYWx1ZSgpCi17Ci0gICAgUVNjcmlwdEVu
Z2luZSBlbmdpbmU7Ci0gICAgUVNjcmlwdFZhbHVlIHZhbHVlID0gZW5naW5lLm51bGxWYWx1ZSgp
OwotICAgIFFWRVJJRlkodmFsdWUuaXNWYWxpZCgpKTsKLSAgICBRVkVSSUZZKHZhbHVlLmlzTnVs
bCgpKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdEVuZ2luZTo6dW5kZWZpbmVkVmFsdWUoKQotewot
ICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwotICAgIFFTY3JpcHRWYWx1ZSB2YWx1ZSA9IGVuZ2lu
ZS51bmRlZmluZWRWYWx1ZSgpOwotICAgIFFWRVJJRlkodmFsdWUuaXNWYWxpZCgpKTsKLSAgICBR
VkVSSUZZKHZhbHVlLmlzVW5kZWZpbmVkKCkpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0RW5naW5l
OjpldmFsdWF0ZVByb2dyYW0oKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5nOwotICAgIHsKLSAg
ICAgICAgUVN0cmluZyBjb2RlKCIxICsgMiIpOwotICAgICAgICBRU3RyaW5nIGZpbGVOYW1lKCJo
ZWxsby5qcyIpOwotICAgICAgICBpbnQgbGluZU51bWJlciA9IDEyMzsKLSAgICAgICAgUVNjcmlw
dFByb2dyYW0gcHJvZ3JhbShjb2RlLCBmaWxlTmFtZSwgbGluZU51bWJlcik7Ci0gICAgICAgIFFW
RVJJRlkoIXByb2dyYW0uaXNOdWxsKCkpOwotICAgICAgICBRQ09NUEFSRShwcm9ncmFtLnNvdXJj
ZUNvZGUoKSwgY29kZSk7Ci0gICAgICAgIFFDT01QQVJFKHByb2dyYW0uZmlsZU5hbWUoKSwgZmls
ZU5hbWUpOwotICAgICAgICBRQ09NUEFSRShwcm9ncmFtLmZpcnN0TGluZU51bWJlcigpLCBsaW5l
TnVtYmVyKTsKLQotICAgICAgICBRU2NyaXB0VmFsdWUgZXhwZWN0ZWQgPSBlbmcuZXZhbHVhdGUo
Y29kZSk7Ci0gICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgMTA7ICsreCkgewotICAgICAgICAg
ICAgUVNjcmlwdFZhbHVlIHJldCA9IGVuZy5ldmFsdWF0ZShwcm9ncmFtKTsKLSAgICAgICAgICAg
IFFWRVJJRlkocmV0LmVxdWFscyhleHBlY3RlZCkpOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8g
b3BlcmF0b3I9Ci0gICAgICAgIFFTY3JpcHRQcm9ncmFtIHNhbWVQcm9ncmFtID0gcHJvZ3JhbTsK
LSAgICAgICAgUVZFUklGWShzYW1lUHJvZ3JhbSA9PSBwcm9ncmFtKTsKLSAgICAgICAgUVZFUklG
WShlbmcuZXZhbHVhdGUoc2FtZVByb2dyYW0pLmVxdWFscyhleHBlY3RlZCkpOwotCi0gICAgICAg
IC8vIGNvcHkgY29uc3RydWN0b3IKLSAgICAgICAgUVNjcmlwdFByb2dyYW0gc2FtZVByb2dyYW0y
KHByb2dyYW0pOwotICAgICAgICBRVkVSSUZZKHNhbWVQcm9ncmFtMiA9PSBwcm9ncmFtKTsKLSAg
ICAgICAgUVZFUklGWShlbmcuZXZhbHVhdGUoc2FtZVByb2dyYW0yKS5lcXVhbHMoZXhwZWN0ZWQp
KTsKLQotICAgICAgICBRU2NyaXB0UHJvZ3JhbSBkaWZmZXJlbnRQcm9ncmFtKCIyICsgMyIpOwot
ICAgICAgICBRVkVSSUZZKGRpZmZlcmVudFByb2dyYW0gIT0gcHJvZ3JhbSk7Ci0gICAgICAgIFFW
RVJJRlkoIWVuZy5ldmFsdWF0ZShkaWZmZXJlbnRQcm9ncmFtKS5lcXVhbHMoZXhwZWN0ZWQpKTsK
LSAgICB9Ci0KLSAgICAvLyBQcm9ncmFtIHRoYXQgYWNjZXNzZXMgdmFyaWFibGUgaW4gdGhlIHNj
b3BlCi0gICAgewotICAgICAgICBRU2NyaXB0UHJvZ3JhbSBwcm9ncmFtKCJhIik7Ci0gICAgICAg
IFFWRVJJRlkoIXByb2dyYW0uaXNOdWxsKCkpOwotICAgICAgICB7Ci0gICAgICAgICAgICBRU2Ny
aXB0VmFsdWUgcmV0ID0gZW5nLmV2YWx1YXRlKHByb2dyYW0pOwotICAgICAgICAgICAgUVZFUklG
WShyZXQuaXNFcnJvcigpKTsKLSAgICAgICAgICAgIFFDT01QQVJFKHJldC50b1N0cmluZygpLCBR
U3RyaW5nOjpmcm9tTGF0aW4xKCJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
YSIpKTsKLSAgICAgICAgfQotICAgICAgICB7Ci0gICAgICAgICAgICBRU2NyaXB0VmFsdWUgcmV0
ID0gZW5nLmV2YWx1YXRlKHByb2dyYW0pOwotICAgICAgICAgICAgUVZFUklGWShyZXQuaXNFcnJv
cigpKTsKLSAgICAgICAgfQotICAgICAgICBlbmcuZXZhbHVhdGUoImEgPSA0NTYiKTsKLSAgICAg
ICAgewotICAgICAgICAgICAgUVNjcmlwdFZhbHVlIHJldCA9IGVuZy5ldmFsdWF0ZShwcm9ncmFt
KTsKLSAgICAgICAgICAgIFFWRVJJRlkoIXJldC5pc0Vycm9yKCkpOwotICAgICAgICAgICAgUUNP
TVBBUkUocmV0LnRvTnVtYmVyKCksIDQ1Ni4wKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIC8v
IFByb2dyYW0gdGhhdCBjcmVhdGVzIGNsb3N1cmUKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRQcm9n
cmFtIHByb2dyYW0oIihmdW5jdGlvbigpIHsgdmFyIGNvdW50ID0gMDsgcmV0dXJuIGZ1bmN0aW9u
KCkgeyByZXR1cm4gY291bnQrKzsgfTsgfSkiKTsKLSAgICAgICAgUVZFUklGWSghcHJvZ3JhbS5p
c051bGwoKSk7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBjcmVhdGVDb3VudGVyID0gZW5nLmV2YWx1
YXRlKHByb2dyYW0pOwotICAgICAgICBRVkVSSUZZKGNyZWF0ZUNvdW50ZXIuaXNGdW5jdGlvbigp
KTsKLSAgICAgICAgUVNjcmlwdFZhbHVlIGNvdW50ZXIgPSBjcmVhdGVDb3VudGVyLmNhbGwoKTsK
LSAgICAgICAgUVZFUklGWShjb3VudGVyLmlzRnVuY3Rpb24oKSk7Ci0gICAgICAgIHsKLSAgICAg
ICAgICAgIFFTY3JpcHRWYWx1ZSByZXQgPSBjb3VudGVyLmNhbGwoKTsKLSAgICAgICAgICAgIFFW
RVJJRlkocmV0LmlzTnVtYmVyKCkpOwotICAgICAgICB9Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBj
b3VudGVyMiA9IGNyZWF0ZUNvdW50ZXIuY2FsbCgpOwotICAgICAgICBRVkVSSUZZKGNvdW50ZXIy
LmlzRnVuY3Rpb24oKSk7Ci0gICAgICAgIFFWRVJJRlkoIWNvdW50ZXIyLmVxdWFscyhjb3VudGVy
KSk7Ci0gICAgICAgIHsKLSAgICAgICAgICAgIFFTY3JpcHRWYWx1ZSByZXQgPSBjb3VudGVyMi5j
YWxsKCk7Ci0gICAgICAgICAgICBRVkVSSUZZKHJldC5pc051bWJlcigpKTsKLSAgICAgICAgfQot
ICAgIH0KLQotICAgIC8vIFNhbWUgcHJvZ3JhbSBydW4gaW4gZGlmZmVyZW50IGVuZ2luZXMKLSAg
ICB7Ci0gICAgICAgIFFTdHJpbmcgY29kZSgiMSArIDIiKTsKLSAgICAgICAgUVNjcmlwdFByb2dy
YW0gcHJvZ3JhbShjb2RlKTsKLSAgICAgICAgUVZFUklGWSghcHJvZ3JhbS5pc051bGwoKSk7Ci0g
ICAgICAgIGRvdWJsZSBleHBlY3RlZCA9IGVuZy5ldmFsdWF0ZShwcm9ncmFtKS50b051bWJlcigp
OwotICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IDI7ICsreCkgewotICAgICAgICAgICAgUVNj
cmlwdEVuZ2luZSBlbmcyOwotICAgICAgICAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCAyOyArK3kp
IHsKLSAgICAgICAgICAgICAgICBkb3VibGUgcmV0ID0gZW5nMi5ldmFsdWF0ZShwcm9ncmFtKS50
b051bWJlcigpOwotICAgICAgICAgICAgICAgIFFDT01QQVJFKHJldCwgZXhwZWN0ZWQpOwotICAg
ICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgLy8gTm8gcHJvZ3JhbQotICAgIHsK
LSAgICAgICAgUVNjcmlwdFByb2dyYW0gcHJvZ3JhbTsKLSAgICAgICAgUVZFUklGWShwcm9ncmFt
LmlzTnVsbCgpKTsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHJldCA9IGVuZy5ldmFsdWF0ZShwcm9n
cmFtKTsKLSAgICAgICAgUVZFUklGWSghcmV0LmlzVmFsaWQoKSk7Ci0gICAgfQotfQotCi12b2lk
IHRzdF9RU2NyaXB0RW5naW5lOjpjaGVja1N5bnRheF9kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRk
Q29sdW1uPFFTdHJpbmc+KCJjb2RlIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxpbnQ+KCJleHBl
Y3RlZFN0YXRlIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxpbnQ+KCJlcnJvckxpbmVOdW1iZXIi
KTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGludD4oImVycm9yQ29sdW1uTnVtYmVyIik7Ci0gICAg
UVRlc3Q6OmFkZENvbHVtbjxRU3RyaW5nPigiZXJyb3JNZXNzYWdlIik7Ci0KLSAgICBRVGVzdDo6
bmV3Um93KCIwIikKLSAgICAgICAgPDwgUVN0cmluZygiMCIpIDw8IGludChRU2NyaXB0U3ludGF4
Q2hlY2tSZXN1bHQ6OlZhbGlkKQotICAgICAgICA8PCAtMSA8PCAtMSA8PCAiIjsKLSAgICBRVGVz
dDo6bmV3Um93KCJpZiAoIikKLSAgICAgICAgPDwgUVN0cmluZygiaWYgKFxuIikgPDwgaW50KFFT
Y3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6SW50ZXJtZWRpYXRlKQotICAgICAgICA8PCAxIDw8IDQg
PDwgIiI7Ci0gICAgUVRlc3Q6Om5ld1JvdygiaWYgZWxzZSIpCi0gICAgICAgIDw8IFFTdHJpbmco
IlxuaWYgZWxzZSIpIDw8IGludChRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQ6OkVycm9yKQotICAg
ICAgICA8PCAyIDw8IDQgPDwgIlN5bnRheEVycm9yOiBQYXJzZSBlcnJvciI7Ci0gICAgUVRlc3Q6
Om5ld1Jvdygie2lmfSIpCi0gICAgICAgICAgICA8PCBRU3RyaW5nKCJ7XG57XG5pZlxufVxuIikg
PDwgaW50KFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6RXJyb3IpCi0gICAgICAgIDw8IDQgPDwg
MSA8PCAiU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yIjsKLSAgICBRVGVzdDo6bmV3Um93KCJmb29b
IikKLSAgICAgICAgPDwgUVN0cmluZygiZm9vWyIpIDw8IGludChRU2NyaXB0U3ludGF4Q2hlY2tS
ZXN1bHQ6OkVycm9yKQotICAgICAgICA8PCAxIDw8IDQgPDwgIlN5bnRheEVycm9yOiBQYXJzZSBl
cnJvciI7Ci0gICAgUVRlc3Q6Om5ld1JvdygiZm9vWydiYXInXSIpCi0gICAgICAgIDw8IFFTdHJp
bmcoImZvb1snYmFyJ10iKSA8PCBpbnQoUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0OjpWYWxpZCkK
LSAgICAgICAgPDwgLTEgPDwgLTEgPDwgIiI7Ci0KLSAgICBRVGVzdDo6bmV3Um93KCIvKiIpCi0g
ICAgICAgIDw8IFFTdHJpbmcoIi8qIikgPDwgaW50KFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6
SW50ZXJtZWRpYXRlKQotICAgICAgICA8PCAxIDw8IDEgPDwgIlVuY2xvc2VkIGNvbW1lbnQgYXQg
ZW5kIG9mIGZpbGUiOwotICAgIFFUZXN0OjpuZXdSb3coIi8qXG5NeSBjb21tZW50IikKLSAgICAg
ICAgPDwgUVN0cmluZygiLypcbk15IGNvbW1lbnQiKSA8PCBpbnQoUVNjcmlwdFN5bnRheENoZWNr
UmVzdWx0OjpJbnRlcm1lZGlhdGUpCi0gICAgICAgIDw8IDEgPDwgMSA8PCAiVW5jbG9zZWQgY29t
bWVudCBhdCBlbmQgb2YgZmlsZSI7Ci0gICAgUVRlc3Q6Om5ld1JvdygiLypcbk15IGNvbW1lbnQg
Ki9cbmZvbyA9IDEwIikKLSAgICAgICAgPDwgUVN0cmluZygiLypcbk15IGNvbW1lbnQgKi9cbmZv
byA9IDEwIikgPDwgaW50KFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6VmFsaWQpCi0gICAgICAg
IDw8IC0xIDw8IC0xIDw8ICIiOwotICAgIFFUZXN0OjpuZXdSb3coImZvbyA9IDEwIC8qIikKLSAg
ICAgICAgPDwgUVN0cmluZygiZm9vID0gMTAgLyoiKSA8PCBpbnQoUVNjcmlwdFN5bnRheENoZWNr
UmVzdWx0OjpJbnRlcm1lZGlhdGUpCi0gICAgICAgIDw8IC0xIDw8IC0xIDw8ICIiOwotICAgIFFU
ZXN0OjpuZXdSb3coImZvbyA9IDEwOyAvKiIpCi0gICAgICAgIDw8IFFTdHJpbmcoImZvbyA9IDEw
OyAvKiIpIDw8IGludChRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQ6OkludGVybWVkaWF0ZSkKLSAg
ICAgICAgPDwgMSA8PCAxMSA8PCAiRXhwZWN0ZWQgYGVuZCBvZiBmaWxlJyI7Ci0gICAgUVRlc3Q6
Om5ld1JvdygiZm9vID0gMTAgLyogTXkgY29tbWVudCAqLyIpCi0gICAgICAgIDw8IFFTdHJpbmco
ImZvbyA9IDEwIC8qIE15IGNvbW1lbnQgKi8iKSA8PCBpbnQoUVNjcmlwdFN5bnRheENoZWNrUmVz
dWx0OjpWYWxpZCkKLSAgICAgICAgPDwgLTEgPDwgLTEgPDwgIiI7Ci0KLSAgICBRVGVzdDo6bmV3
Um93KCIvPS8iKQotICAgICAgICA8PCBRU3RyaW5nKCIvPS8iKSA8PCBpbnQoUVNjcmlwdFN5bnRh
eENoZWNrUmVzdWx0OjpWYWxpZCkgPDwgLTEgPDwgLTEgPDwgIiI7Ci0gICAgUVRlc3Q6Om5ld1Jv
dygiLz0vZyIpCi0gICAgICAgIDw8IFFTdHJpbmcoIi89L2ciKSA8PCBpbnQoUVNjcmlwdFN5bnRh
eENoZWNrUmVzdWx0OjpWYWxpZCkgPDwgLTEgPDwgLTEgPDwgIiI7Ci0gICAgUVRlc3Q6Om5ld1Jv
dygiL2EvIikKLSAgICAgICAgPDwgUVN0cmluZygiL2EvIikgPDwgaW50KFFTY3JpcHRTeW50YXhD
aGVja1Jlc3VsdDo6VmFsaWQpIDw8IC0xIDw8IC0xIDw8ICIiOwotICAgIFFUZXN0OjpuZXdSb3co
Ii9hL2ciKQotICAgICAgICA8PCBRU3RyaW5nKCIvYS9nIikgPDwgaW50KFFTY3JpcHRTeW50YXhD
aGVja1Jlc3VsdDo6VmFsaWQpIDw8IC0xIDw8IC0xIDw8ICIiOwotfQotCi12b2lkIHRzdF9RU2Ny
aXB0RW5naW5lOjpjaGVja1N5bnRheCgpCi17Ci0gICAgUUZFVENIKFFTdHJpbmcsIGNvZGUpOwot
ICAgIFFGRVRDSChpbnQsIGV4cGVjdGVkU3RhdGUpOwotICAgIFFGRVRDSChpbnQsIGVycm9yTGlu
ZU51bWJlcik7Ci0gICAgUUZFVENIKGludCwgZXJyb3JDb2x1bW5OdW1iZXIpOwotICAgIFFGRVRD
SChRU3RyaW5nLCBlcnJvck1lc3NhZ2UpOwotCi0gICAgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0
IHJlc3VsdCA9IFFTY3JpcHRFbmdpbmU6OmNoZWNrU3ludGF4KGNvZGUpOwotCi0gICAgLy8gYXNz
aWdubWVudAotICAgIHsKLSAgICAgICAgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0IGNvcHkgPSBy
ZXN1bHQ7Ci0gICAgICAgIFFDT01QQVJFKGNvcHkuc3RhdGUoKSwgcmVzdWx0LnN0YXRlKCkpOwot
ICAgICAgICBRQ09NUEFSRShjb3B5LmVycm9yTGluZU51bWJlcigpLCByZXN1bHQuZXJyb3JMaW5l
TnVtYmVyKCkpOwotICAgICAgICBRQ09NUEFSRShjb3B5LmVycm9yQ29sdW1uTnVtYmVyKCksIHJl
c3VsdC5lcnJvckNvbHVtbk51bWJlcigpKTsKLSAgICAgICAgUUNPTVBBUkUoY29weS5lcnJvck1l
c3NhZ2UoKSwgcmVzdWx0LmVycm9yTWVzc2FnZSgpKTsKLSAgICB9Ci0gICAgewotICAgICAgICBR
U2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQgY29weShyZXN1bHQpOwotICAgICAgICBRQ09NUEFSRShj
b3B5LnN0YXRlKCksIHJlc3VsdC5zdGF0ZSgpKTsKLSAgICAgICAgUUNPTVBBUkUoY29weS5lcnJv
ckxpbmVOdW1iZXIoKSwgcmVzdWx0LmVycm9yTGluZU51bWJlcigpKTsKLSAgICAgICAgUUNPTVBB
UkUoY29weS5lcnJvckNvbHVtbk51bWJlcigpLCByZXN1bHQuZXJyb3JDb2x1bW5OdW1iZXIoKSk7
Ci0gICAgICAgIFFDT01QQVJFKGNvcHkuZXJyb3JNZXNzYWdlKCksIHJlc3VsdC5lcnJvck1lc3Nh
Z2UoKSk7Ci0gICAgfQotCi0gICAgaWYgKGV4cGVjdGVkU3RhdGUgPT0gUVNjcmlwdFN5bnRheENo
ZWNrUmVzdWx0OjpJbnRlcm1lZGlhdGUpCi0gICAgICAgIFFFWFBFQ1RfRkFJTCgiIiwgIlFTY3Jp
cHRTeW50YXhDaGVja1Jlc3VsdDo6c3RhdGUoKSBkb2Vzbid0IHJldHVybiB0aGUgSW50ZXJtZWRp
YXRlIHN0YXRlIiwgQWJvcnQpOwotICAgIFFDT01QQVJFKHJlc3VsdC5zdGF0ZSgpLCBRU2NyaXB0
U3ludGF4Q2hlY2tSZXN1bHQ6OlN0YXRlKGV4cGVjdGVkU3RhdGUpKTsKLSAgICBRQ09NUEFSRShy
ZXN1bHQuZXJyb3JMaW5lTnVtYmVyKCksIGVycm9yTGluZU51bWJlcik7Ci0gICAgaWYgKGV4cGVj
dGVkU3RhdGUgIT0gUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0OjpWYWxpZCAmJiBlcnJvckNvbHVt
bk51bWJlciAhPSAxKQotICAgICAgICAgICAgUUVYUEVDVF9GQUlMKCIiLCAiUVNjcmlwdFN5bnRh
eENoZWNrUmVzdWx0OjplcnJvckNvbHVtbk51bWJlcigpIGRvZXNuJ3QgcmV0dXJuIGNvcnJlY3Qg
dmFsdWUiLCBDb250aW51ZSk7Ci0gICAgUUNPTVBBUkUocmVzdWx0LmVycm9yQ29sdW1uTnVtYmVy
KCksIGVycm9yQ29sdW1uTnVtYmVyKTsKLSAgICBRQ09NUEFSRShyZXN1bHQuZXJyb3JNZXNzYWdl
KCksIGVycm9yTWVzc2FnZSk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6OnRvT2JqZWN0
KCkKLXsKLSAgICBRU2NyaXB0RW5naW5lIGVuZzsKLSAgICBRVkVSSUZZKCFlbmcudG9PYmplY3Qo
ZW5nLnVuZGVmaW5lZFZhbHVlKCkpLmlzVmFsaWQoKSk7Ci0gICAgUVZFUklGWSghZW5nLnRvT2Jq
ZWN0KGVuZy5udWxsVmFsdWUoKSkuaXNWYWxpZCgpKTsKLSAgICBRVkVSSUZZKCFlbmcudG9PYmpl
Y3QoUVNjcmlwdFZhbHVlKCkpLmlzVmFsaWQoKSk7Ci0KLSAgICBRU2NyaXB0VmFsdWUgZmFsc2t0
KGZhbHNlKTsKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB0bXAgPSBlbmcudG9PYmplY3Qo
ZmFsc2t0KTsKLSAgICAgICAgUVZFUklGWSh0bXAuaXNPYmplY3QoKSk7Ci0gICAgICAgIFFWRVJJ
RlkoIWZhbHNrdC5pc09iamVjdCgpKTsKLSAgICAgICAgUVZFUklGWSghZmFsc2t0LmVuZ2luZSgp
KTsKLSAgICAgICAgUUNPTVBBUkUodG1wLnRvTnVtYmVyKCksIGZhbHNrdC50b051bWJlcigpKTsK
LSAgICB9Ci0KLSAgICBRU2NyaXB0VmFsdWUgc2FudCh0cnVlKTsKLSAgICB7Ci0gICAgICAgIFFT
Y3JpcHRWYWx1ZSB0bXAgPSBlbmcudG9PYmplY3Qoc2FudCk7Ci0gICAgICAgIFFWRVJJRlkodG1w
LmlzT2JqZWN0KCkpOwotICAgICAgICBRVkVSSUZZKCFzYW50LmlzT2JqZWN0KCkpOwotICAgICAg
ICBRVkVSSUZZKCFzYW50LmVuZ2luZSgpKTsKLSAgICAgICAgUUNPTVBBUkUodG1wLnRvTnVtYmVy
KCksIHNhbnQudG9OdW1iZXIoKSk7Ci0gICAgfQotCi0gICAgUVNjcmlwdFZhbHVlIG51bWJlcigx
MjMuMCk7Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgdG1wID0gZW5nLnRvT2JqZWN0KG51
bWJlcik7Ci0gICAgICAgIFFWRVJJRlkodG1wLmlzT2JqZWN0KCkpOwotICAgICAgICBRVkVSSUZZ
KCFudW1iZXIuaXNPYmplY3QoKSk7Ci0gICAgICAgIFFWRVJJRlkoIW51bWJlci5lbmdpbmUoKSk7
Ci0gICAgICAgIFFDT01QQVJFKHRtcC50b051bWJlcigpLCBudW1iZXIudG9OdW1iZXIoKSk7Ci0g
ICAgfQotCi0gICAgUVNjcmlwdFZhbHVlIHN0ciA9IFFTY3JpcHRWYWx1ZSgmZW5nLCBRU3RyaW5n
KCJjaWFvIikpOwotICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHRtcCA9IGVuZy50b09iamVj
dChzdHIpOwotICAgICAgICBRVkVSSUZZKHRtcC5pc09iamVjdCgpKTsKLSAgICAgICAgUVZFUklG
WSghc3RyLmlzT2JqZWN0KCkpOwotICAgICAgICBRQ09NUEFSRSh0bXAudG9TdHJpbmcoKSwgc3Ry
LnRvU3RyaW5nKCkpOwotICAgIH0KLQotICAgIFFTY3JpcHRWYWx1ZSBvYmplY3QgPSBlbmcuZXZh
bHVhdGUoIm5ldyBPYmplY3QiKTsKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB0bXAgPSBl
bmcudG9PYmplY3Qob2JqZWN0KTsKLSAgICAgICAgUVZFUklGWSh0bXAuaXNPYmplY3QoKSk7Ci0g
ICAgICAgIFFWRVJJRlkob2JqZWN0LmlzT2JqZWN0KCkpOwotICAgICAgICBRVkVSSUZZKHRtcC5z
dHJpY3RseUVxdWFscyhvYmplY3QpKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRFbmdp
bmU6OnRvT2JqZWN0VHdvRW5naW5lcygpCi17Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmdpbmUxOwot
ICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lMjsKLQotICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVl
IG51bGwgPSBlbmdpbmUxLm51bGxWYWx1ZSgpOwotICAgICAgICBRVGVzdDo6aWdub3JlTWVzc2Fn
ZShRdFdhcm5pbmdNc2csICJRU2NyaXB0RW5naW5lOjp0b09iamVjdDogY2Fubm90IGNvbnZlcnQg
dmFsdWUgY3JlYXRlZCBpbiBhIGRpZmZlcmVudCBlbmdpbmUiKTsKLSAgICAgICAgUVZFUklGWSgh
ZW5naW5lMi50b09iamVjdChudWxsKS5pc1ZhbGlkKCkpOwotICAgICAgICBRVkVSSUZZKG51bGwu
aXNWYWxpZCgpKTsKLSAgICAgICAgUVRlc3Q6Omlnbm9yZU1lc3NhZ2UoUXRXYXJuaW5nTXNnLCAi
UVNjcmlwdEVuZ2luZTo6dG9PYmplY3Q6IGNhbm5vdCBjb252ZXJ0IHZhbHVlIGNyZWF0ZWQgaW4g
YSBkaWZmZXJlbnQgZW5naW5lIik7Ci0gICAgICAgIFFWRVJJRlkoZW5naW5lMi50b09iamVjdChu
dWxsKS5lbmdpbmUoKSAhPSAmZW5naW5lMik7Ci0gICAgfQotICAgIHsKLSAgICAgICAgUVNjcmlw
dFZhbHVlIHVuZGVmaW5lZCA9IGVuZ2luZTEudW5kZWZpbmVkVmFsdWUoKTsKLSAgICAgICAgUVRl
c3Q6Omlnbm9yZU1lc3NhZ2UoUXRXYXJuaW5nTXNnLCAiUVNjcmlwdEVuZ2luZTo6dG9PYmplY3Q6
IGNhbm5vdCBjb252ZXJ0IHZhbHVlIGNyZWF0ZWQgaW4gYSBkaWZmZXJlbnQgZW5naW5lIik7Ci0g
ICAgICAgIFFWRVJJRlkoIWVuZ2luZTIudG9PYmplY3QodW5kZWZpbmVkKS5pc1ZhbGlkKCkpOwot
ICAgICAgICBRVkVSSUZZKHVuZGVmaW5lZC5pc1ZhbGlkKCkpOwotICAgICAgICBRVGVzdDo6aWdu
b3JlTWVzc2FnZShRdFdhcm5pbmdNc2csICJRU2NyaXB0RW5naW5lOjp0b09iamVjdDogY2Fubm90
IGNvbnZlcnQgdmFsdWUgY3JlYXRlZCBpbiBhIGRpZmZlcmVudCBlbmdpbmUiKTsKLSAgICAgICAg
UVZFUklGWShlbmdpbmUyLnRvT2JqZWN0KHVuZGVmaW5lZCkuZW5naW5lKCkgIT0gJmVuZ2luZTIp
OwotICAgIH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB2YWx1ZSA9IGVuZ2luZTEuZXZh
bHVhdGUoIjEiKTsKLSAgICAgICAgUVRlc3Q6Omlnbm9yZU1lc3NhZ2UoUXRXYXJuaW5nTXNnLCAi
UVNjcmlwdEVuZ2luZTo6dG9PYmplY3Q6IGNhbm5vdCBjb252ZXJ0IHZhbHVlIGNyZWF0ZWQgaW4g
YSBkaWZmZXJlbnQgZW5naW5lIik7Ci0gICAgICAgIFFWRVJJRlkoZW5naW5lMi50b09iamVjdCh2
YWx1ZSkuZW5naW5lKCkgIT0gJmVuZ2luZTIpOwotICAgICAgICBRVkVSSUZZKCF2YWx1ZS5pc09i
amVjdCgpKTsKLSAgICB9Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgc3RyaW5nID0gZW5n
aW5lMS5ldmFsdWF0ZSgiJ1F0JyIpOwotICAgICAgICBRVGVzdDo6aWdub3JlTWVzc2FnZShRdFdh
cm5pbmdNc2csICJRU2NyaXB0RW5naW5lOjp0b09iamVjdDogY2Fubm90IGNvbnZlcnQgdmFsdWUg
Y3JlYXRlZCBpbiBhIGRpZmZlcmVudCBlbmdpbmUiKTsKLSAgICAgICAgUVZFUklGWShlbmdpbmUy
LnRvT2JqZWN0KHN0cmluZykuZW5naW5lKCkgIT0gJmVuZ2luZTIpOwotICAgICAgICBRVkVSSUZZ
KCFzdHJpbmcuaXNPYmplY3QoKSk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVl
IG9iamVjdCA9IGVuZ2luZTEuZXZhbHVhdGUoIm5ldyBPYmplY3QiKTsKLSAgICAgICAgUVRlc3Q6
Omlnbm9yZU1lc3NhZ2UoUXRXYXJuaW5nTXNnLCAiUVNjcmlwdEVuZ2luZTo6dG9PYmplY3Q6IGNh
bm5vdCBjb252ZXJ0IHZhbHVlIGNyZWF0ZWQgaW4gYSBkaWZmZXJlbnQgZW5naW5lIik7Ci0gICAg
ICAgIFFWRVJJRlkoZW5naW5lMi50b09iamVjdChvYmplY3QpLmVuZ2luZSgpICE9ICZlbmdpbmUy
KTsKLSAgICAgICAgUVZFUklGWShvYmplY3QuaXNPYmplY3QoKSk7Ci0gICAgfQotfQotCi12b2lk
IHRzdF9RU2NyaXB0RW5naW5lOjpuZXdBcnJheSgpCi17Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmc7
Ci0gICAgUVNjcmlwdFZhbHVlIGFycmF5ID0gZW5nLm5ld0FycmF5KCk7Ci0gICAgUUNPTVBBUkUo
YXJyYXkuaXNWYWxpZCgpLCB0cnVlKTsKLSAgICBRQ09NUEFSRShhcnJheS5pc0FycmF5KCksIHRy
dWUpOwotICAgIFFDT01QQVJFKGFycmF5LmlzT2JqZWN0KCksIHRydWUpOwotICAgIFFWRVJJRlko
IWFycmF5LmlzRnVuY3Rpb24oKSk7Ci0gICAgLy8gUUNPTVBBUkUoYXJyYXkuc2NyaXB0Q2xhc3Mo
KSwgKFFTY3JpcHRDbGFzcyopMCk7Ci0KLSAgICAvLyBQcm90b3R5cGUgc2hvdWxkIGJlIEFycmF5
LnByb3RvdHlwZS4KLSAgICBRQ09NUEFSRShhcnJheS5wcm90b3R5cGUoKS5pc1ZhbGlkKCksIHRy
dWUpOwotICAgIFFDT01QQVJFKGFycmF5LnByb3RvdHlwZSgpLmlzQXJyYXkoKSwgdHJ1ZSk7Ci0g
ICAgUUNPTVBBUkUoYXJyYXkucHJvdG90eXBlKCkuc3RyaWN0bHlFcXVhbHMoZW5nLmV2YWx1YXRl
KCJBcnJheS5wcm90b3R5cGUiKSksIHRydWUpOwotCi0gICAgUVNjcmlwdFZhbHVlIGFycmF5V2l0
aFNpemUgPSBlbmcubmV3QXJyYXkoNDIpOwotICAgIFFDT01QQVJFKGFycmF5V2l0aFNpemUuaXNW
YWxpZCgpLCB0cnVlKTsKLSAgICBRQ09NUEFSRShhcnJheVdpdGhTaXplLmlzQXJyYXkoKSwgdHJ1
ZSk7Ci0gICAgUUNPTVBBUkUoYXJyYXlXaXRoU2l6ZS5pc09iamVjdCgpLCB0cnVlKTsKLSAgICBR
Q09NUEFSRShhcnJheVdpdGhTaXplLnByb3BlcnR5KCJsZW5ndGgiKS50b0ludDMyKCksIDQyKTsK
LQotICAgIC8vIHRhc2sgMjE4MDkyCi0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgcmV0ID0g
ZW5nLmV2YWx1YXRlKCJbXS5zcGxpY2UoMCwgMCwgJ2EnKSIpOwotICAgICAgICBRVkVSSUZZKHJl
dC5pc0FycmF5KCkpOwotICAgICAgICBRQ09NUEFSRShyZXQucHJvcGVydHkoImxlbmd0aCIpLnRv
SW50MzIoKSwgMCk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHJldCA9IGVu
Zy5ldmFsdWF0ZSgiWydhJ10uc3BsaWNlKDAsIDEsICdiJykiKTsKLSAgICAgICAgUVZFUklGWShy
ZXQuaXNBcnJheSgpKTsKLSAgICAgICAgUUNPTVBBUkUocmV0LnByb3BlcnR5KCJsZW5ndGgiKS50
b0ludDMyKCksIDEpOwotICAgIH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSByZXQgPSBl
bmcuZXZhbHVhdGUoIlsnYScsICdiJ10uc3BsaWNlKDAsIDEsICdjJykiKTsKLSAgICAgICAgUVZF
UklGWShyZXQuaXNBcnJheSgpKTsKLSAgICAgICAgUUNPTVBBUkUocmV0LnByb3BlcnR5KCJsZW5n
dGgiKS50b0ludDMyKCksIDEpOwotICAgIH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBy
ZXQgPSBlbmcuZXZhbHVhdGUoIlsnYScsICdiJywgJ2MnXS5zcGxpY2UoMCwgMiwgJ2QnKSIpOwot
ICAgICAgICBRVkVSSUZZKHJldC5pc0FycmF5KCkpOwotICAgICAgICBRQ09NUEFSRShyZXQucHJv
cGVydHkoImxlbmd0aCIpLnRvSW50MzIoKSwgMik7Ci0gICAgfQotICAgIHsKLSAgICAgICAgUVNj
cmlwdFZhbHVlIHJldCA9IGVuZy5ldmFsdWF0ZSgiWydhJywgJ2InLCAnYyddLnNwbGljZSgxLCAy
LCAnZCcsICdlJywgJ2YnKSIpOwotICAgICAgICBRVkVSSUZZKHJldC5pc0FycmF5KCkpOwotICAg
ICAgICBRQ09NUEFSRShyZXQucHJvcGVydHkoImxlbmd0aCIpLnRvSW50MzIoKSwgMik7Ci0gICAg
fQotfQotCi12b2lkIHRzdF9RU2NyaXB0RW5naW5lOjp1bmNhdWdodEV4Y2VwdGlvbigpCi17Ci0g
ICAgUVNjcmlwdEVuZ2luZSBlbmc7Ci0gICAgUVNjcmlwdFZhbHVlIGZ1biA9IGVuZy5ldmFsdWF0
ZSgiKGZ1bmN0aW9uIGZvbyAoKSB7IHJldHVybiBudWxsOyB9KTsiKTsKLSAgICBRVkVSSUZZKCFl
bmcudW5jYXVnaHRFeGNlcHRpb24oKS5pc1ZhbGlkKCkpOwotICAgIFFWRVJJRlkoZnVuLmlzRnVu
Y3Rpb24oKSk7Ci0gICAgUVNjcmlwdFZhbHVlIHRocm93RnVuID0gZW5nLmV2YWx1YXRlKCIoIGZ1
bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoJ1BvbmcnKTsgfSk7Iik7Ci0gICAgUVZFUklGWSh0
aHJvd0Z1bi5pc0Z1bmN0aW9uKCkpOwotICAgIHsKLSAgICAgICAgZW5nLmV2YWx1YXRlKCJhID0g
MTAiKTsKLSAgICAgICAgUVZFUklGWSghZW5nLmhhc1VuY2F1Z2h0RXhjZXB0aW9uKCkpOwotICAg
ICAgICBRVkVSSUZZKCFlbmcudW5jYXVnaHRFeGNlcHRpb24oKS5pc1ZhbGlkKCkpOwotICAgIH0K
LSAgICB7Ci0gICAgICAgIGVuZy5ldmFsdWF0ZSgiMSA9IDIiKTsKLSAgICAgICAgUVZFUklGWShl
bmcuaGFzVW5jYXVnaHRFeGNlcHRpb24oKSk7Ci0gICAgICAgIGVuZy5jbGVhckV4Y2VwdGlvbnMo
KTsKLSAgICAgICAgUVZFUklGWSghZW5nLmhhc1VuY2F1Z2h0RXhjZXB0aW9uKCkpOwotICAgIH0K
LSAgICB7Ci0gICAgICAgIC8vIENoZWNrIGlmIHRoZSBjYWxsIG9yIHRvU3RyaW5nIGZ1bmN0aW9u
cyBjYW4gcmVtb3ZlIHRoZSBsYXN0IGV4Y2VwdGlvbi4KLSAgICAgICAgUVZFUklGWSh0aHJvd0Z1
bi5jYWxsKCkuaXNFcnJvcigpKTsKLSAgICAgICAgUVZFUklGWShlbmcuaGFzVW5jYXVnaHRFeGNl
cHRpb24oKSk7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBleGNlcHRpb24gPSBlbmcudW5jYXVnaHRF
eGNlcHRpb24oKTsKLSAgICAgICAgZnVuLmNhbGwoKTsKLSAgICAgICAgZXhjZXB0aW9uLnRvU3Ry
aW5nKCk7Ci0gICAgICAgIFFWRVJJRlkoZW5nLmhhc1VuY2F1Z2h0RXhjZXB0aW9uKCkpOwotICAg
ICAgICBRVkVSSUZZKGVuZy51bmNhdWdodEV4Y2VwdGlvbigpLnN0cmljdGx5RXF1YWxzKGV4Y2Vw
dGlvbikpOwotICAgIH0KLSAgICBlbmcuY2xlYXJFeGNlcHRpb25zKCk7Ci0gICAgewotICAgICAg
ICAvLyBDaGVjayBpZiBpbiB0aGUgY2FsbCBmdW5jdGlvbiBhIG5ldyBleGNlcHRpb24gY2FuIG92
ZXJyaWRlIGFuIGV4aXN0aW5nIG9uZS4KLSAgICAgICAgdGhyb3dGdW4uY2FsbCgpOwotICAgICAg
ICBRVkVSSUZZKGVuZy5oYXNVbmNhdWdodEV4Y2VwdGlvbigpKTsKLSAgICAgICAgUVNjcmlwdFZh
bHVlIGV4Y2VwdGlvbiA9IGVuZy51bmNhdWdodEV4Y2VwdGlvbigpOwotICAgICAgICB0aHJvd0Z1
bi5jYWxsKCk7Ci0gICAgICAgIFFWRVJJRlkoZW5nLmhhc1VuY2F1Z2h0RXhjZXB0aW9uKCkpOwot
ICAgICAgICBRVkVSSUZZKCFleGNlcHRpb24uc3RyaWN0bHlFcXVhbHMoZW5nLnVuY2F1Z2h0RXhj
ZXB0aW9uKCkpKTsKLSAgICB9Ci0gICAgewotICAgICAgICBlbmcuZXZhbHVhdGUoInRocm93RnVu
ID0gKGZ1bmN0aW9uIGZvbyAoKSB7IHRocm93IG5ldyBFcnJvcignYmxhJykgfSk7Iik7Ci0gICAg
ICAgIGVuZy5ldmFsdWF0ZSgiMTtcbnRocm93RnVuKCk7Iik7Ci0gICAgICAgIFFWRVJJRlkoZW5n
Lmhhc1VuY2F1Z2h0RXhjZXB0aW9uKCkpOwotICAgICAgICBRQ09NUEFSRShlbmcudW5jYXVnaHRF
eGNlcHRpb25MaW5lTnVtYmVyKCksIDEpOwotICAgICAgICBlbmcuY2xlYXJFeGNlcHRpb25zKCk7
Ci0gICAgICAgIFFWRVJJRlkoIWVuZy5oYXNVbmNhdWdodEV4Y2VwdGlvbigpKTsKLSAgICB9Ci0g
ICAgZm9yIChpbnQgeCA9IDE7IHggPCA0OyArK3gpIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHJl
dCA9IGVuZy5ldmFsdWF0ZSgiYSA9IDEwO1xuYiA9IDIwO1xuMCA9IDA7XG4iLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFTdHJpbmc6OmZyb21MYXRpbjEoIkZvb1Nj
cmlwdCIpICsgUVN0cmluZzo6bnVtYmVyKHgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8qIGxpbmVOdW1iZXIgKi8geCk7Ci0gICAgICAgIFFWRVJJRlkoZW5nLmhh
c1VuY2F1Z2h0RXhjZXB0aW9uKCkpOwotICAgICAgICBRQ09NUEFSRShlbmcudW5jYXVnaHRFeGNl
cHRpb25MaW5lTnVtYmVyKCksIHggKyAyKTsKLSAgICAgICAgUVZFUklGWShlbmcudW5jYXVnaHRF
eGNlcHRpb24oKS5zdHJpY3RseUVxdWFscyhyZXQpKTsKLSAgICAgICAgUVZFUklGWShlbmcuaGFz
VW5jYXVnaHRFeGNlcHRpb24oKSk7Ci0gICAgICAgIFFWRVJJRlkoZW5nLnVuY2F1Z2h0RXhjZXB0
aW9uKCkuc3RyaWN0bHlFcXVhbHMocmV0KSk7Ci0gICAgICAgIFFTdHJpbmcgYmFja3RyYWNlID0g
UVN0cmluZzo6ZnJvbUxhdGluMSgiPGFub255bW91cz4oKUBGb29TY3JpcHQiKSArIFFTdHJpbmc6
Om51bWJlcih4KSArICI6IiArIFFTdHJpbmc6Om51bWJlcih4ICsgMik7Ci0gICAgICAgIFFDT01Q
QVJFKGVuZy51bmNhdWdodEV4Y2VwdGlvbkJhY2t0cmFjZSgpLmpvaW4oIiIpLCBiYWNrdHJhY2Up
OwotICAgICAgICBRVkVSSUZZKGZ1bi5jYWxsKCkuaXNOdWxsKCkpOwotICAgICAgICBRVkVSSUZZ
KGVuZy5oYXNVbmNhdWdodEV4Y2VwdGlvbigpKTsKLSAgICAgICAgUUNPTVBBUkUoZW5nLnVuY2F1
Z2h0RXhjZXB0aW9uTGluZU51bWJlcigpLCB4ICsgMik7Ci0gICAgICAgIFFWRVJJRlkoZW5nLnVu
Y2F1Z2h0RXhjZXB0aW9uKCkuc3RyaWN0bHlFcXVhbHMocmV0KSk7Ci0gICAgICAgIGVuZy5jbGVh
ckV4Y2VwdGlvbnMoKTsKLSAgICAgICAgUVZFUklGWSghZW5nLmhhc1VuY2F1Z2h0RXhjZXB0aW9u
KCkpOwotICAgICAgICBRQ09NUEFSRShlbmcudW5jYXVnaHRFeGNlcHRpb25MaW5lTnVtYmVyKCks
IC0xKTsKLSAgICAgICAgUVZFUklGWSghZW5nLnVuY2F1Z2h0RXhjZXB0aW9uKCkuaXNWYWxpZCgp
KTsKLSAgICAgICAgZW5nLmV2YWx1YXRlKCIyID0gMyIpOwotICAgICAgICBRVkVSSUZZKGVuZy5o
YXNVbmNhdWdodEV4Y2VwdGlvbigpKTsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHJldDIgPSB0aHJv
d0Z1bi5jYWxsKCk7Ci0gICAgICAgIFFWRVJJRlkocmV0Mi5pc0Vycm9yKCkpOwotICAgICAgICBR
VkVSSUZZKGVuZy5oYXNVbmNhdWdodEV4Y2VwdGlvbigpKTsKLSAgICAgICAgUVZFUklGWShlbmcu
dW5jYXVnaHRFeGNlcHRpb24oKS5zdHJpY3RseUVxdWFscyhyZXQyKSk7Ci0gICAgICAgIFFDT01Q
QVJFKGVuZy51bmNhdWdodEV4Y2VwdGlvbkxpbmVOdW1iZXIoKSwgMSk7Ci0gICAgICAgIGVuZy5j
bGVhckV4Y2VwdGlvbnMoKTsKLSAgICAgICAgUVZFUklGWSghZW5nLmhhc1VuY2F1Z2h0RXhjZXB0
aW9uKCkpOwotICAgICAgICBlbmcuZXZhbHVhdGUoIjEgKyAyIik7Ci0gICAgICAgIFFWRVJJRlko
IWVuZy5oYXNVbmNhdWdodEV4Y2VwdGlvbigpKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3Jp
cHRFbmdpbmU6Om5ld0RhdGUoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5nOwotICAgIHsKLSAg
ICAgICAgUVNjcmlwdFZhbHVlIGRhdGUgPSBlbmcubmV3RGF0ZSgwKTsKLSAgICAgICAgUUNPTVBB
UkUoZGF0ZS5pc1ZhbGlkKCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRShkYXRlLmlzRGF0ZSgp
LCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoZGF0ZS5pc09iamVjdCgpLCB0cnVlKTsKLSAgICAg
ICAgUVZFUklGWSghZGF0ZS5pc0Z1bmN0aW9uKCkpOwotICAgICAgICAvLyBwcm90b3R5cGUgc2hv
dWxkIGJlIERhdGUucHJvdG90eXBlCi0gICAgICAgIFFDT01QQVJFKGRhdGUucHJvdG90eXBlKCku
aXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoZGF0ZS5wcm90b3R5cGUoKS5pc0Rh
dGUoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGRhdGUucHJvdG90eXBlKCkuc3RyaWN0bHlF
cXVhbHMoZW5nLmV2YWx1YXRlKCJEYXRlLnByb3RvdHlwZSIpKSwgdHJ1ZSk7Ci0gICAgfQotICAg
IHsKLSAgICAgICAgUURhdGVUaW1lIGR0ID0gUURhdGVUaW1lKFFEYXRlKDEsIDIsIDMpLCBRVGlt
ZSg0LCA1LCA2LCA3KSwgUXQ6OkxvY2FsVGltZSk7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBkYXRl
ID0gZW5nLm5ld0RhdGUoZHQpOwotICAgICAgICBRQ09NUEFSRShkYXRlLmlzVmFsaWQoKSwgdHJ1
ZSk7Ci0gICAgICAgIFFDT01QQVJFKGRhdGUuaXNEYXRlKCksIHRydWUpOwotICAgICAgICBRQ09N
UEFSRShkYXRlLmlzT2JqZWN0KCksIHRydWUpOwotICAgICAgICAvLyBwcm90b3R5cGUgc2hvdWxk
IGJlIERhdGUucHJvdG90eXBlCi0gICAgICAgIFFDT01QQVJFKGRhdGUucHJvdG90eXBlKCkuaXNW
YWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoZGF0ZS5wcm90b3R5cGUoKS5pc0RhdGUo
KSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGRhdGUucHJvdG90eXBlKCkuc3RyaWN0bHlFcXVh
bHMoZW5nLmV2YWx1YXRlKCJEYXRlLnByb3RvdHlwZSIpKSwgdHJ1ZSk7Ci0KLSAgICAgICAgUUNP
TVBBUkUoZGF0ZS50b0RhdGVUaW1lKCksIGR0KTsKLSAgICB9Ci0gICAgewotICAgICAgICBRRGF0
ZVRpbWUgZHQgPSBRRGF0ZVRpbWUoUURhdGUoMSwgMiwgMyksIFFUaW1lKDQsIDUsIDYsIDcpLCBR
dDo6VVRDKTsKLSAgICAgICAgUVNjcmlwdFZhbHVlIGRhdGUgPSBlbmcubmV3RGF0ZShkdCk7Ci0g
ICAgICAgIC8vIHRvRGF0ZVRpbWUoKSByZXN1bHQgc2hvdWxkIGJlIGluIGxvY2FsIHRpbWUKLSAg
ICAgICAgUUNPTVBBUkUoZGF0ZS50b0RhdGVUaW1lKCksIGR0LnRvTG9jYWxUaW1lKCkpOwotICAg
IH0KLSAgICAvLyBEYXRlLnBhcnNlKCkgc2hvdWxkIHJldHVybiBOYU4gd2hlbiBpdCBmYWlscwot
ICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHJldCA9IGVuZy5ldmFsdWF0ZSgiRGF0ZS5wYXJz
ZSgpIik7Ci0gICAgICAgIFFWRVJJRlkocmV0LmlzTnVtYmVyKCkpOwotICAgICAgICBRVkVSSUZZ
KHFJc05hTihyZXQudG9OdW1iZXIoKSkpOwotICAgIH0KLSAgICAvLyBEYXRlLnBhcnNlKCkgc2hv
dWxkIGJlIGFibGUgdG8gcGFyc2UgdGhlIG91dHB1dCBvZiBEYXRlKCkudG9TdHJpbmcoKQotICAg
IHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHJldCA9IGVuZy5ldmFsdWF0ZSgidmFyIHggPSBuZXcg
RGF0ZSgpOyB2YXIgcyA9IHgudG9TdHJpbmcoKTsgcyA9PSBuZXcgRGF0ZShEYXRlLnBhcnNlKHMp
KS50b1N0cmluZygpIik7Ci0gICAgICAgIFFWRVJJRlkocmV0LmlzQm9vbGVhbigpKTsKLSAgICAg
ICAgUUNPTVBBUkUocmV0LnRvQm9vbGVhbigpLCB0cnVlKTsKLSAgICB9Ci19Ci0KLVFURVNUX01B
SU4odHN0X1FTY3JpcHRFbmdpbmUpCi0jaW5jbHVkZSAidHN0X3FzY3JpcHRlbmdpbmUubW9jIgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHRzdHJpbmcv
cXNjcmlwdHN0cmluZy5wcm8gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlw
dHN0cmluZy9xc2NyaXB0c3RyaW5nLnBybwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NWFkOWI3Yy4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNj
cmlwdHN0cmluZy9xc2NyaXB0c3RyaW5nLnBybworKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBA
QAotVEVNUExBVEUgPSBhcHAKLVRBUkdFVCA9IHRzdF9xc2NyaXB0c3RyaW5nCi1RVCArPSB0ZXN0
bGliCi1pbmNsdWRlKC4uL3Rlc3RzLnByaSkKLQotU09VUkNFUyArPSB0c3RfcXNjcmlwdHN0cmlu
Zy5jcHAKLQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3Jp
cHRzdHJpbmcvdHN0X3FzY3JpcHRzdHJpbmcuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0
L3Rlc3RzL3FzY3JpcHRzdHJpbmcvdHN0X3FzY3JpcHRzdHJpbmcuY3BwCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmZjMxODM1Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9xdC90ZXN0cy9xc2NyaXB0c3RyaW5nL3RzdF9xc2NyaXB0c3RyaW5nLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDE3NSArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tp
YSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAg
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaWZuZGVmIHRz
dF9xc2NyaXB0c3RyaW5nX2gKLSNkZWZpbmUgdHN0X3FzY3JpcHRzdHJpbmdfaAotCi0jaW5jbHVk
ZSAicXNjcmlwdGVuZ2luZS5oIgotI2luY2x1ZGUgInFzY3JpcHRzdHJpbmcuaCIKLSNpbmNsdWRl
IDxRdENvcmUvcWhhc2guaD4KLSNpbmNsdWRlIDxRdFRlc3QvUXRUZXN0PgotCi1jbGFzcyB0c3Rf
UVNjcmlwdFN0cmluZyA6IHB1YmxpYyBRT2JqZWN0IHsKLSAgICBRX09CSkVDVAotCi1wdWJsaWM6
Ci0gICAgdHN0X1FTY3JpcHRTdHJpbmcoKTsKLSAgICB2aXJ0dWFsIH50c3RfUVNjcmlwdFN0cmlu
ZygpOwotCi1wcml2YXRlIHNsb3RzOgotICAgIHZvaWQgdGVzdCgpOwotICAgIHZvaWQgaGFzaCgp
OwotICAgIHZvaWQgdG9BcnJheUluZGV4X2RhdGEoKTsKLSAgICB2b2lkIHRvQXJyYXlJbmRleCgp
OwotfTsKLQotdHN0X1FTY3JpcHRTdHJpbmc6OnRzdF9RU2NyaXB0U3RyaW5nKCkKLXsKLX0KLQot
dHN0X1FTY3JpcHRTdHJpbmc6On50c3RfUVNjcmlwdFN0cmluZygpCi17Ci19Ci0KLXZvaWQgdHN0
X1FTY3JpcHRTdHJpbmc6OnRlc3QoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5nOwotICAgIHsK
LSAgICAgICAgUVNjcmlwdFN0cmluZyBzdHI7Ci0gICAgICAgIFFWRVJJRlkoIXN0ci5pc1ZhbGlk
KCkpOwotICAgICAgICBRVkVSSUZZKHN0ciA9PSBzdHIpOwotICAgICAgICBRVkVSSUZZKCEoc3Ry
ICE9IHN0cikpOwotICAgICAgICBRVkVSSUZZKHN0ci50b1N0cmluZygpLmlzTnVsbCgpKTsKLQot
ICAgICAgICBRU2NyaXB0U3RyaW5nIHN0cjEoc3RyKTsKLSAgICAgICAgUVZFUklGWSghc3RyMS5p
c1ZhbGlkKCkpOwotCi0gICAgICAgIFFTY3JpcHRTdHJpbmcgc3RyMiA9IHN0cjsKLSAgICAgICAg
UVZFUklGWSghc3RyMi5pc1ZhbGlkKCkpOwotCi0gICAgICAgIFFDT01QQVJFKHN0ci50b0FycmF5
SW5kZXgoKSwgcXVpbnQzMigweGZmZmZmZmZmKSk7Ci0gICAgfQotICAgIGZvciAoaW50IHggPSAw
OyB4IDwgMjsgKyt4KSB7Ci0gICAgICAgIFFTdHJpbmcgY2lhbyA9IFFTdHJpbmc6OmZyb21MYXRp
bjEoImNpYW8iKTsKLSAgICAgICAgUVNjcmlwdFN0cmluZyBzdHIgPSBlbmcudG9TdHJpbmdIYW5k
bGUoY2lhbyk7Ci0gICAgICAgIFFWRVJJRlkoc3RyLmlzVmFsaWQoKSk7Ci0gICAgICAgIFFWRVJJ
Rlkoc3RyID09IHN0cik7Ci0gICAgICAgIFFWRVJJRlkoIShzdHIgIT0gc3RyKSk7Ci0gICAgICAg
IFFDT01QQVJFKHN0ci50b1N0cmluZygpLCBjaWFvKTsKLQotICAgICAgICBRU2NyaXB0U3RyaW5n
IHN0cjEoc3RyKTsKLSAgICAgICAgUUNPTVBBUkUoc3RyLCBzdHIxKTsKLQotICAgICAgICBRU2Ny
aXB0U3RyaW5nIHN0cjIgPSBzdHI7Ci0gICAgICAgIFFDT01QQVJFKHN0ciwgc3RyMik7Ci0KLSAg
ICAgICAgUVNjcmlwdFN0cmluZyBzdHIzID0gZW5nLnRvU3RyaW5nSGFuZGxlKGNpYW8pOwotICAg
ICAgICBRVkVSSUZZKHN0cjMuaXNWYWxpZCgpKTsKLSAgICAgICAgUUNPTVBBUkUoc3RyLCBzdHIz
KTsKLQotICAgICAgICBlbmcuY29sbGVjdEdhcmJhZ2UoKTsKLQotICAgICAgICBRVkVSSUZZKHN0
ci5pc1ZhbGlkKCkpOwotICAgICAgICBRQ09NUEFSRShzdHIudG9TdHJpbmcoKSwgY2lhbyk7Ci0g
ICAgICAgIFFWRVJJRlkoc3RyMS5pc1ZhbGlkKCkpOwotICAgICAgICBRQ09NUEFSRShzdHIxLnRv
U3RyaW5nKCksIGNpYW8pOwotICAgICAgICBRVkVSSUZZKHN0cjIuaXNWYWxpZCgpKTsKLSAgICAg
ICAgUUNPTVBBUkUoc3RyMi50b1N0cmluZygpLCBjaWFvKTsKLSAgICAgICAgUVZFUklGWShzdHIz
LmlzVmFsaWQoKSk7Ci0gICAgICAgIFFDT01QQVJFKHN0cjMudG9TdHJpbmcoKSwgY2lhbyk7Ci0g
ICAgfQotICAgIHsKLSAgICAgICAgUVNjcmlwdEVuZ2luZSogZW5nMiA9IG5ldyBRU2NyaXB0RW5n
aW5lOwotICAgICAgICBRU3RyaW5nIG9uZSA9IFFTdHJpbmc6OmZyb21MYXRpbjEoIm9uZSIpOwot
ICAgICAgICBRU3RyaW5nIHR3byA9IFFTdHJpbmc6OmZyb21MYXRpbjEoInR3byIpOwotICAgICAg
ICBRU2NyaXB0U3RyaW5nIG9uZUludGVybmVkID0gZW5nMi0+dG9TdHJpbmdIYW5kbGUob25lKTsK
LSAgICAgICAgUUNPTVBBUkUob25lSW50ZXJuZWQudG9TdHJpbmcoKSwgb25lKTsKLSAgICAgICAg
UVNjcmlwdFN0cmluZyB0d29JbnRlcm5lZCA9IGVuZzItPnRvU3RyaW5nSGFuZGxlKHR3byk7Ci0g
ICAgICAgIFFDT01QQVJFKHR3b0ludGVybmVkLnRvU3RyaW5nKCksIHR3byk7Ci0gICAgICAgIFFW
RVJJRlkob25lSW50ZXJuZWQgIT0gdHdvSW50ZXJuZWQpOwotICAgICAgICBRVkVSSUZZKCEob25l
SW50ZXJuZWQgPT0gdHdvSW50ZXJuZWQpKTsKLQotICAgICAgICBkZWxldGUgZW5nMjsKLSAgICB9
Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRTdHJpbmc6Omhhc2goKQotewotICAgIFFTY3JpcHRFbmdp
bmUgZW5naW5lOwotICAgIFFIYXNoPFFTY3JpcHRTdHJpbmcsIGludD4gc3RyaW5nVG9JbnQ7Ci0g
ICAgUVNjcmlwdFN0cmluZyBmb28gPSBlbmdpbmUudG9TdHJpbmdIYW5kbGUoImZvbyIpOwotCi0g
ICAgUVNjcmlwdFN0cmluZyBiYXIgPSBlbmdpbmUudG9TdHJpbmdIYW5kbGUoImJhciIpOwotICAg
IFFWRVJJRlkoIXN0cmluZ1RvSW50LmNvbnRhaW5zKGZvbykpOwotICAgIGZvciAoaW50IGkgPSAw
OyBpIDwgMTAwMDAwMDsgKytpKQotICAgICAgICBzdHJpbmdUb0ludC5pbnNlcnQoZm9vLCAxMjMp
OwotICAgIFFDT01QQVJFKHN0cmluZ1RvSW50LnZhbHVlKGZvbyksIDEyMyk7Ci0gICAgUVZFUklG
WSghc3RyaW5nVG9JbnQuY29udGFpbnMoYmFyKSk7Ci0gICAgc3RyaW5nVG9JbnQuaW5zZXJ0KGJh
ciwgNDU2KTsKLSAgICBRQ09NUEFSRShzdHJpbmdUb0ludC52YWx1ZShiYXIpLCA0NTYpOwotICAg
IFFDT01QQVJFKHN0cmluZ1RvSW50LnZhbHVlKGZvbyksIDEyMyk7Ci19Ci0KLXZvaWQgdHN0X1FT
Y3JpcHRTdHJpbmc6OnRvQXJyYXlJbmRleF9kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRkQ29sdW1u
PFFTdHJpbmc+KCJpbnB1dCIpOwotICAgIFFUZXN0OjphZGRDb2x1bW48Ym9vbD4oImV4cGVjdFN1
Y2Nlc3MiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPHF1aW50MzI+KCJleHBlY3RlZEluZGV4Iik7
Ci0gICAgUVRlc3Q6Om5ld1JvdygiZm9vIikgPDwgUVN0cmluZzo6ZnJvbUxhdGluMSgiZm9vIikg
PDwgZmFsc2UgPDwgcXVpbnQzMigweGZmZmZmZmZmKTsKLSAgICBRVGVzdDo6bmV3Um93KCJlbXB0
eSIpIDw8IFFTdHJpbmc6OmZyb21MYXRpbjEoIiIpIDw8IGZhbHNlIDw8IHF1aW50MzIoMHhmZmZm
ZmZmZik7Ci0gICAgUVRlc3Q6Om5ld1JvdygiMCIpIDw8IFFTdHJpbmc6OmZyb21MYXRpbjEoIjAi
KSA8PCB0cnVlIDw8IHF1aW50MzIoMCk7Ci0gICAgUVRlc3Q6Om5ld1JvdygiMDAiKSA8PCBRU3Ry
aW5nOjpmcm9tTGF0aW4xKCIwMCIpIDw8IGZhbHNlIDw8IHF1aW50MzIoMHhmZmZmZmZmZik7Ci0g
ICAgUVRlc3Q6Om5ld1JvdygiMSIpIDw8IFFTdHJpbmc6OmZyb21MYXRpbjEoIjEiKSA8PCB0cnVl
IDw8IHF1aW50MzIoMSk7Ci0gICAgUVRlc3Q6Om5ld1JvdygiMTIzIikgPDwgUVN0cmluZzo6ZnJv
bUxhdGluMSgiMTIzIikgPDwgdHJ1ZSA8PCBxdWludDMyKDEyMyk7Ci0gICAgUVRlc3Q6Om5ld1Jv
dygiLTEiKSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCItMSIpIDw8IGZhbHNlIDw8IHF1aW50MzIo
MHhmZmZmZmZmZik7Ci0gICAgUVRlc3Q6Om5ld1JvdygiMGEiKSA8PCBRU3RyaW5nOjpmcm9tTGF0
aW4xKCIwYSIpIDw8IGZhbHNlIDw8IHF1aW50MzIoMHhmZmZmZmZmZik7Ci0gICAgUVRlc3Q6Om5l
d1JvdygiMHgxIikgPDwgUVN0cmluZzo6ZnJvbUxhdGluMSgiMHgxIikgPDwgZmFsc2UgPDwgcXVp
bnQzMigweGZmZmZmZmZmKTsKLSAgICBRVGVzdDo6bmV3Um93KCIwMSIpIDw8IFFTdHJpbmc6OmZy
b21MYXRpbjEoIjAxIikgPDwgZmFsc2UgPDwgcXVpbnQzMigweGZmZmZmZmZmKTsKLSAgICBRVGVz
dDo6bmV3Um93KCIxMDFhIikgPDwgUVN0cmluZzo6ZnJvbUxhdGluMSgiMTAxYSIpIDw8IGZhbHNl
IDw8IHF1aW50MzIoMHhmZmZmZmZmZik7Ci0gICAgUVRlc3Q6Om5ld1JvdygiNDI5NDk2NzI5NCIp
IDw8IFFTdHJpbmc6OmZyb21MYXRpbjEoIjQyOTQ5NjcyOTQiKSA8PCB0cnVlIDw8IHF1aW50MzIo
MHhmZmZmZmZmZSk7Ci0gICAgUVRlc3Q6Om5ld1JvdygiNDI5NDk2NzI5NSIpIDw8IFFTdHJpbmc6
OmZyb21MYXRpbjEoIjQyOTQ5NjcyOTUiKSA8PCBmYWxzZSA8PCBxdWludDMyKDB4ZmZmZmZmZmYp
OwotICAgIFFUZXN0OjpuZXdSb3coIjExMTExMTExMTExIikgPDwgUVN0cmluZzo6ZnJvbUxhdGlu
MSgiMTExMTExMTExMTEiKSA8PCBmYWxzZSA8PCBxdWludDMyKDB4ZmZmZmZmZmYpOwotICAgIFFU
ZXN0OjpuZXdSb3coIjAuMCIpIDw8IFFTdHJpbmc6OmZyb21MYXRpbjEoIjAuMCIpIDw8IGZhbHNl
IDw8IHF1aW50MzIoMHhmZmZmZmZmZik7Ci0gICAgUVRlc3Q6Om5ld1JvdygiMS4wIikgPDwgUVN0
cmluZzo6ZnJvbUxhdGluMSgiMS4wIikgPDwgZmFsc2UgPDwgcXVpbnQzMigweGZmZmZmZmZmKTsK
LSAgICBRVGVzdDo6bmV3Um93KCIxLjUiKSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCIxLjUiKSA8
PCBmYWxzZSA8PCBxdWludDMyKDB4ZmZmZmZmZmYpOwotICAgIFFUZXN0OjpuZXdSb3coIjEuIikg
PDwgUVN0cmluZzo6ZnJvbUxhdGluMSgiMS4iKSA8PCBmYWxzZSA8PCBxdWludDMyKDB4ZmZmZmZm
ZmYpOwotICAgIFFUZXN0OjpuZXdSb3coIi4xIikgPDwgUVN0cmluZzo6ZnJvbUxhdGluMSgiLjEi
KSA8PCBmYWxzZSA8PCBxdWludDMyKDB4ZmZmZmZmZmYpOwotICAgIFFUZXN0OjpuZXdSb3coIjFl
MCIpIDw8IFFTdHJpbmc6OmZyb21MYXRpbjEoIjFlMCIpIDw8IGZhbHNlIDw8IHF1aW50MzIoMHhm
ZmZmZmZmZik7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRTdHJpbmc6OnRvQXJyYXlJbmRleCgpCi17
Ci0gICAgUUZFVENIKFFTdHJpbmcsIGlucHV0KTsKLSAgICBRRkVUQ0goYm9vbCwgZXhwZWN0U3Vj
Y2Vzcyk7Ci0gICAgUUZFVENIKHF1aW50MzIsIGV4cGVjdGVkSW5kZXgpOwotICAgIFFTY3JpcHRF
bmdpbmUgZW5naW5lOwotICAgIGZvciAoaW50IHggPSAwOyB4IDwgMjsgKyt4KSB7Ci0gICAgICAg
IGJvb2wgaXNBcnJheUluZGV4OwotICAgICAgICBib29sKiBwdHIgPSAoIXgpID8gJmlzQXJyYXlJ
bmRleCA6IChib29sKikwOwotICAgICAgICBxdWludDMyIHJlc3VsdCA9IGVuZ2luZS50b1N0cmlu
Z0hhbmRsZShpbnB1dCkudG9BcnJheUluZGV4KHB0cik7Ci0gICAgICAgIGlmICgheCkKLSAgICAg
ICAgICAgIFFDT01QQVJFKGlzQXJyYXlJbmRleCwgZXhwZWN0U3VjY2Vzcyk7Ci0gICAgICAgIFFD
T01QQVJFKHJlc3VsdCwgZXhwZWN0ZWRJbmRleCk7Ci0gICAgfQotfQotCi1RVEVTVF9NQUlOKHRz
dF9RU2NyaXB0U3RyaW5nKQotI2luY2x1ZGUgInRzdF9xc2NyaXB0c3RyaW5nLm1vYyIKLQotI2Vu
ZGlmIC8vIHRzdF9xc2NyaXB0c3RyaW5nX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9xdC90ZXN0cy9xc2NyaXB0dmFsdWUvcXNjcmlwdHZhbHVlLnBybyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0dmFsdWUvcXNjcmlwdHZhbHVlLnBybwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDJlOTRlYy4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlwdHZhbHVlL3FzY3JpcHR2YWx1ZS5wcm8KKysrIC9k
ZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1URU1QTEFURSA9IGFwcAotVEFSR0VUID0gdHN0X3Fz
Y3JpcHR2YWx1ZQotUVQgKz0gdGVzdGxpYgotaXNFbXB0eShPVVRQVVRfRElSKTogT1VUUFVUX0RJ
UiA9IC4uLy4uLy4uLy4uCi1pbmNsdWRlKC4uL3Rlc3RzLnByaSkKLQotU09VUkNFUyArPSBcCi0g
ICAgdHN0X3FzY3JpcHR2YWx1ZS5jcHAgXAotICAgIHRzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVk
X2luaXQuY3BwIFwKLSAgICB0c3RfcXNjcmlwdHZhbHVlX2dlbmVyYXRlZF9jb21wYXJpc29uLmNw
cCBcCi0gICAgdHN0X3FzY3JpcHR2YWx1ZV9nZW5lcmF0ZWRfaXN0eXBlLmNwcCBcCi0gICAgdHN0
X3FzY3JpcHR2YWx1ZV9nZW5lcmF0ZWRfdG90eXBlLmNwcCBcCi0KLUhFQURFUlMgKz0gXAotICAg
IHRzdF9xc2NyaXB0dmFsdWUuaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0
L3Rlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZS5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwNGQzZTkuLjAwMDAwMDAKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlLmNwcAor
KysgL2Rldi9udWxsCkBAIC0xLDEyOTYgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIw
MDkgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAg
ICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2lu
Y2x1ZGUgInRzdF9xc2NyaXB0dmFsdWUuaCIKLSNpbmNsdWRlIDxRdENvcmUvcW51bWVyaWMuaD4K
LQotdHN0X1FTY3JpcHRWYWx1ZTo6dHN0X1FTY3JpcHRWYWx1ZSgpCi0gICAgOiBtX2VuZ2luZSgw
KQotewotfQotCi10c3RfUVNjcmlwdFZhbHVlOjp+dHN0X1FTY3JpcHRWYWx1ZSgpCi17Ci0gICAg
ZGVsZXRlIG1fZW5naW5lOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmN0b3IoKQotewot
ICAgIFFTY3JpcHRFbmdpbmUgZW5nOwotICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHY7Ci0g
ICAgICAgIFFDT01QQVJFKHYuaXNWYWxpZCgpLCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYu
ZW5naW5lKCksIChRU2NyaXB0RW5naW5lKikwKTsKLSAgICB9Ci0gICAgewotICAgICAgICBRU2Ny
aXB0VmFsdWUgdigmZW5nLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKTsKLSAgICAgICAg
UUNPTVBBUkUodi5pc1ZhbGlkKCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRSh2LmlzVW5kZWZp
bmVkKCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRSh2LmlzT2JqZWN0KCksIGZhbHNlKTsKLSAg
ICAgICAgUUNPTVBBUkUodi5lbmdpbmUoKSwgJmVuZyk7Ci0gICAgfQotICAgIHsKLSAgICAgICAg
UVNjcmlwdFZhbHVlIHYoJmVuZywgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpOwotICAgICAgICBR
Q09NUEFSRSh2LmlzVmFsaWQoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNOdWxsKCks
IHRydWUpOwotICAgICAgICBRQ09NUEFSRSh2LmlzT2JqZWN0KCksIGZhbHNlKTsKLSAgICAgICAg
UUNPTVBBUkUodi5lbmdpbmUoKSwgJmVuZyk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgUVNjcmlw
dFZhbHVlIHYoJmVuZywgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRSh2LmlzVmFsaWQoKSwgdHJ1
ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNCb29sZWFuKCksIHRydWUpOwotICAgICAgICBRQ09N
UEFSRSh2LmlzQm9vbCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc09iamVjdCgpLCBm
YWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYudG9Cb29sZWFuKCksIGZhbHNlKTsKLSAgICAgICAg
UUNPTVBBUkUodi5lbmdpbmUoKSwgJmVuZyk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgUVNjcmlw
dFZhbHVlIHYoJmVuZywgaW50KDEpKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc1ZhbGlkKCksIHRy
dWUpOwotICAgICAgICBRQ09NUEFSRSh2LmlzTnVtYmVyKCksIHRydWUpOwotICAgICAgICBRQ09N
UEFSRSh2LmlzT2JqZWN0KCksIGZhbHNlKTsKLSAgICAgICAgUUNPTVBBUkUodi50b051bWJlcigp
LCAxLjApOwotICAgICAgICBRQ09NUEFSRSh2LmVuZ2luZSgpLCAmZW5nKTsKLSAgICB9Ci0gICAg
ewotICAgICAgICBRU2NyaXB0VmFsdWUgdihpbnQoMHg0MzIxMTIzNCkpOwotICAgICAgICBRVkVS
SUZZKHYuaXNOdW1iZXIoKSk7Ci0gICAgICAgIFFDT01QQVJFKHYudG9JbnQzMigpLCAweDQzMjEx
MjM0KTsKLSAgICB9Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgdigmZW5nLCB1aW50KDEp
KTsKLSAgICAgICAgUUNPTVBBUkUodi5pc1ZhbGlkKCksIHRydWUpOwotICAgICAgICBRQ09NUEFS
RSh2LmlzTnVtYmVyKCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRSh2LmlzT2JqZWN0KCksIGZh
bHNlKTsKLSAgICAgICAgUUNPTVBBUkUodi50b051bWJlcigpLCAxLjApOwotICAgICAgICBRQ09N
UEFSRSh2LmVuZ2luZSgpLCAmZW5nKTsKLSAgICB9Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFs
dWUgdih1aW50KDB4NDMyMTEyMzQpKTsKLSAgICAgICAgUVZFUklGWSh2LmlzTnVtYmVyKCkpOwot
ICAgICAgICBRQ09NUEFSRSh2LnRvVUludDMyKCksIHVpbnQoMHg0MzIxMTIzNCkpOwotICAgIH0K
LSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB2KCZlbmcsIDEuMCk7Ci0gICAgICAgIFFDT01Q
QVJFKHYuaXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc051bWJlcigpLCB0
cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc09iamVjdCgpLCBmYWxzZSk7Ci0gICAgICAgIFFD
T01QQVJFKHYudG9OdW1iZXIoKSwgMS4wKTsKLSAgICAgICAgUUNPTVBBUkUodi5lbmdpbmUoKSwg
JmVuZyk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHYoMTIzNDU2Nzg5MTAu
NSk7Ci0gICAgICAgIFFWRVJJRlkodi5pc051bWJlcigpKTsKLSAgICAgICAgUUNPTVBBUkUodi50
b051bWJlcigpLCAxMjM0NTY3ODkxMC41KTsKLSAgICB9Ci0gICAgewotICAgICAgICBRU2NyaXB0
VmFsdWUgdigmZW5nLCAiY2lhbyIpOwotICAgICAgICBRQ09NUEFSRSh2LmlzVmFsaWQoKSwgdHJ1
ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNTdHJpbmcoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01Q
QVJFKHYuaXNPYmplY3QoKSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRSh2LnRvU3RyaW5nKCks
IFFMYXRpbjFTdHJpbmcoImNpYW8iKSk7Ci0gICAgICAgIFFDT01QQVJFKHYuZW5naW5lKCksICZl
bmcpOwotICAgIH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB2KCZlbmcsIFFTdHJpbmco
ImNpYW8iKSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAg
UUNPTVBBUkUodi5pc1N0cmluZygpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc09iamVj
dCgpLCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYudG9TdHJpbmcoKSwgUUxhdGluMVN0cmlu
ZygiY2lhbyIpKTsKLSAgICAgICAgUUNPTVBBUkUodi5lbmdpbmUoKSwgJmVuZyk7Ci0gICAgfQot
ICAgIC8vIGNvcHkgY29uc3RydWN0b3IsIG9wZXJhdG9yPQotICAgIHsKLSAgICAgICAgUVNjcmlw
dFZhbHVlIHYoJmVuZywgMS4wKTsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHYyKHYpOwotICAgICAg
ICBRQ09NUEFSRSh2Mi5zdHJpY3RseUVxdWFscyh2KSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJF
KHYyLmVuZ2luZSgpLCAmZW5nKTsKLQotICAgICAgICBRU2NyaXB0VmFsdWUgdjModik7Ci0gICAg
ICAgIFFDT01QQVJFKHYzLnN0cmljdGx5RXF1YWxzKHYpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBB
UkUodjMuc3RyaWN0bHlFcXVhbHModjIpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodjMuZW5n
aW5lKCksICZlbmcpOwotCi0gICAgICAgIFFTY3JpcHRWYWx1ZSB2NCgmZW5nLCAyLjApOwotICAg
ICAgICBRQ09NUEFSRSh2NC5zdHJpY3RseUVxdWFscyh2KSwgZmFsc2UpOwotICAgICAgICB2MyA9
IHY0OwotICAgICAgICBRQ09NUEFSRSh2My5zdHJpY3RseUVxdWFscyh2KSwgZmFsc2UpOwotICAg
ICAgICBRQ09NUEFSRSh2My5zdHJpY3RseUVxdWFscyh2NCksIHRydWUpOwotCi0gICAgICAgIHYy
ID0gUVNjcmlwdFZhbHVlKCk7Ci0gICAgICAgIFFDT01QQVJFKHYyLnN0cmljdGx5RXF1YWxzKHYp
LCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYudG9OdW1iZXIoKSwgMS4wKTsKLQotICAgICAg
ICBRU2NyaXB0VmFsdWUgdjUodik7Ci0gICAgICAgIFFDT01QQVJFKHY1LnN0cmljdGx5RXF1YWxz
KHYpLCB0cnVlKTsKLSAgICAgICAgdiA9IFFTY3JpcHRWYWx1ZSgpOwotICAgICAgICBRQ09NUEFS
RSh2NS5zdHJpY3RseUVxdWFscyh2KSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRSh2NS50b051
bWJlcigpLCAxLjApOwotICAgIH0KLQotICAgIC8vIGNvbnN0cnVjdG9ycyB0aGF0IHRha2Ugbm8g
ZW5naW5lIGFyZ3VtZW50Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgdihRU2NyaXB0VmFs
dWU6OlVuZGVmaW5lZFZhbHVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc1ZhbGlkKCksIHRydWUp
OwotICAgICAgICBRQ09NUEFSRSh2LmlzVW5kZWZpbmVkKCksIHRydWUpOwotICAgICAgICBRQ09N
UEFSRSh2LmlzT2JqZWN0KCksIGZhbHNlKTsKLSAgICAgICAgUUNPTVBBUkUodi5lbmdpbmUoKSwg
KFFTY3JpcHRFbmdpbmUqKTApOwotICAgIH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB2
KFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc1ZhbGlkKCks
IHRydWUpOwotICAgICAgICBRQ09NUEFSRSh2LmlzTnVsbCgpLCB0cnVlKTsKLSAgICAgICAgUUNP
TVBBUkUodi5pc09iamVjdCgpLCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuZW5naW5lKCks
IChRU2NyaXB0RW5naW5lKikwKTsKLSAgICB9Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUg
dihmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAg
UUNPTVBBUkUodi5pc0Jvb2xlYW4oKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNCb29s
KCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRSh2LmlzT2JqZWN0KCksIGZhbHNlKTsKLSAgICAg
ICAgUUNPTVBBUkUodi50b0Jvb2xlYW4oKSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRSh2LmVu
Z2luZSgpLCAoUVNjcmlwdEVuZ2luZSopMCk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgUVNjcmlw
dFZhbHVlIHYoaW50KDEpKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc1ZhbGlkKCksIHRydWUpOwot
ICAgICAgICBRQ09NUEFSRSh2LmlzTnVtYmVyKCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRSh2
LmlzT2JqZWN0KCksIGZhbHNlKTsKLSAgICAgICAgUUNPTVBBUkUodi50b051bWJlcigpLCAxLjAp
OwotICAgICAgICBRQ09NUEFSRSh2LmVuZ2luZSgpLCAoUVNjcmlwdEVuZ2luZSopMCk7Ci0gICAg
fQotICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHYodWludCgxKSk7Ci0gICAgICAgIFFDT01Q
QVJFKHYuaXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc051bWJlcigpLCB0
cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc09iamVjdCgpLCBmYWxzZSk7Ci0gICAgICAgIFFD
T01QQVJFKHYudG9OdW1iZXIoKSwgMS4wKTsKLSAgICAgICAgUUNPTVBBUkUodi5lbmdpbmUoKSwg
KFFTY3JpcHRFbmdpbmUqKTApOwotICAgIH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB2
KDEuMCk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNP
TVBBUkUodi5pc051bWJlcigpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc09iamVjdCgp
LCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYudG9OdW1iZXIoKSwgMS4wKTsKLSAgICAgICAg
UUNPTVBBUkUodi5lbmdpbmUoKSwgKFFTY3JpcHRFbmdpbmUqKTApOwotICAgIH0KLSAgICB7Ci0g
ICAgICAgIFFTY3JpcHRWYWx1ZSB2KCJjaWFvIik7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNWYWxp
ZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc1N0cmluZygpLCB0cnVlKTsKLSAgICAg
ICAgUUNPTVBBUkUodi5pc09iamVjdCgpLCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYudG9T
dHJpbmcoKSwgUUxhdGluMVN0cmluZygiY2lhbyIpKTsKLSAgICAgICAgUUNPTVBBUkUodi5lbmdp
bmUoKSwgKFFTY3JpcHRFbmdpbmUqKTApOwotICAgIH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRW
YWx1ZSB2KFFTdHJpbmcoImNpYW8iKSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNWYWxpZCgpLCB0
cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc1N0cmluZygpLCB0cnVlKTsKLSAgICAgICAgUUNP
TVBBUkUodi5pc09iamVjdCgpLCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYudG9TdHJpbmco
KSwgUUxhdGluMVN0cmluZygiY2lhbyIpKTsKLSAgICAgICAgUUNPTVBBUkUodi5lbmdpbmUoKSwg
KFFTY3JpcHRFbmdpbmUqKTApOwotICAgIH0KLSAgICAvLyBjb3B5IGNvbnN0cnVjdG9yLCBvcGVy
YXRvcj0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB2KDEuMCk7Ci0gICAgICAgIFFTY3Jp
cHRWYWx1ZSB2Mih2KTsKLSAgICAgICAgUUNPTVBBUkUodjIuc3RyaWN0bHlFcXVhbHModiksIHRy
dWUpOwotICAgICAgICBRQ09NUEFSRSh2Mi5lbmdpbmUoKSwgKFFTY3JpcHRFbmdpbmUqKTApOwot
Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB2Myh2KTsKLSAgICAgICAgUUNPTVBBUkUodjMuc3RyaWN0
bHlFcXVhbHModiksIHRydWUpOwotICAgICAgICBRQ09NUEFSRSh2My5zdHJpY3RseUVxdWFscyh2
MiksIHRydWUpOwotICAgICAgICBRQ09NUEFSRSh2My5lbmdpbmUoKSwgKFFTY3JpcHRFbmdpbmUq
KTApOwotCi0gICAgICAgIFFTY3JpcHRWYWx1ZSB2NCgyLjApOwotICAgICAgICBRQ09NUEFSRSh2
NC5zdHJpY3RseUVxdWFscyh2KSwgZmFsc2UpOwotICAgICAgICB2MyA9IHY0OwotICAgICAgICBR
Q09NUEFSRSh2My5zdHJpY3RseUVxdWFscyh2KSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRSh2
My5zdHJpY3RseUVxdWFscyh2NCksIHRydWUpOwotCi0gICAgICAgIHYyID0gUVNjcmlwdFZhbHVl
KCk7Ci0gICAgICAgIFFDT01QQVJFKHYyLnN0cmljdGx5RXF1YWxzKHYpLCBmYWxzZSk7Ci0gICAg
ICAgIFFDT01QQVJFKHYudG9OdW1iZXIoKSwgMS4wKTsKLQotICAgICAgICBRU2NyaXB0VmFsdWUg
djUodik7Ci0gICAgICAgIFFDT01QQVJFKHY1LnN0cmljdGx5RXF1YWxzKHYpLCB0cnVlKTsKLSAg
ICAgICAgdiA9IFFTY3JpcHRWYWx1ZSgpOwotICAgICAgICBRQ09NUEFSRSh2NS5zdHJpY3RseUVx
dWFscyh2KSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRSh2NS50b051bWJlcigpLCAxLjApOwot
ICAgIH0KLQotICAgIC8vIDAgZW5naW5lCi0gICAgUVZFUklGWShRU2NyaXB0VmFsdWUoMCwgUVNj
cmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkuaXNVbmRlZmluZWQoKSk7Ci0gICAgUVZFUklGWShR
U2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpLmlzTnVsbCgpKTsKLSAgICBR
VkVSSUZZKFFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkuaXNCb29sKCkpOwotICAgIFFWRVJJRlkoUVNj
cmlwdFZhbHVlKDAsIGludCgxKSkuaXNOdW1iZXIoKSk7Ci0gICAgUVZFUklGWShRU2NyaXB0VmFs
dWUoMCwgdWludCgxKSkuaXNOdW1iZXIoKSk7Ci0gICAgUVZFUklGWShRU2NyaXB0VmFsdWUoMCwg
MS4wKS5pc051bWJlcigpKTsKLSAgICBRVkVSSUZZKFFTY3JpcHRWYWx1ZSgwLCAiY2lhbyIpLmlz
U3RyaW5nKCkpOwotICAgIFFWRVJJRlkoUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoImNpYW8iKSku
aXNTdHJpbmcoKSk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6Z2V0UHJvcGVydHlTaW1w
bGVfZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU3RyaW5nPigiY29kZSIpOwotICAg
IFFUZXN0OjphZGRDb2x1bW48UVN0cmluZz4oInByb3BlcnR5TmFtZSIpOwotICAgIFFUZXN0Ojph
ZGRDb2x1bW48UVN0cmluZz4oImRlc2MiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGJvb2w+KCJp
c0FycmF5SW5kZXgiKTsKLQotICAgIFFUZXN0OjpuZXdSb3coIm5ldyBBcnJheSgpIikKLSAgICAg
ICAgICAgIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgibmV3IEFycmF5KCkiKQotICAgICAgICAgICAg
PDwgUVN0cmluZzo6ZnJvbUFzY2lpKCJsZW5ndGgiKQotICAgICAgICAgICAgPDwgUVN0cmluZzo6
ZnJvbUFzY2lpKCIwIikKLSAgICAgICAgICAgIDw8IGZhbHNlOwotICAgIFFUZXN0OjpuZXdSb3co
Im5ldyBPYmplY3QoKS5sZW5ndGgiKQotICAgICAgICAgICAgPDwgUVN0cmluZzo6ZnJvbUFzY2lp
KCJuZXcgT2JqZWN0KCkiKQotICAgICAgICAgICAgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCJsZW5n
dGgiKQotICAgICAgICAgICAgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCIiKSAvLyBVbmRlZmluZWQg
aXMgYW4gaW52YWxpZCBwcm9wZXJ0eS4KLSAgICAgICAgICAgIDw8IGZhbHNlOwotICAgIFFUZXN0
OjpuZXdSb3coIm5ldyBPYmplY3QoKS50b1N0cmluZyIpCi0gICAgICAgICAgICA8PCBRU3RyaW5n
Ojpmcm9tQXNjaWkoIm5ldyBPYmplY3QoKSIpCi0gICAgICAgICAgICA8PCBRU3RyaW5nOjpmcm9t
QXNjaWkoInRvU3RyaW5nIikKLSAgICAgICAgICAgIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgiZnVu
Y3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIpCi0gICAgICAgICAgICA8
PCBmYWxzZTsKLSAgICBRVGVzdDo6bmV3Um93KCJbMSwyLDMsNF0iKQotICAgICAgICAgICAgPDwg
UVN0cmluZzo6ZnJvbUFzY2lpKCJbMSwyLDMsJ3MnLDRdIikKLSAgICAgICAgICAgIDw8IFFTdHJp
bmc6OmZyb21Bc2NpaSgiMiIpCi0gICAgICAgICAgICA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoIjMi
KQotICAgICAgICAgICAgPDwgdHJ1ZTsKLSAgICBRVGVzdDo6bmV3Um93KCJbMSwzLCdhJywnYidd
IikKLSAgICAgICAgICAgIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgiWzEsMywnYScsJ2InXSIpCi0g
ICAgICAgICAgICA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoIjMiKQotICAgICAgICAgICAgPDwgUVN0
cmluZzo6ZnJvbUFzY2lpKCJiIikKLSAgICAgICAgICAgIDw8IHRydWU7Ci0gICAgUVRlc3Q6Om5l
d1JvdygiWzQsNV0iKQotICAgICAgICAgICAgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCJbNCw1XSIp
Ci0gICAgICAgICAgICA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoIjEyMyIpCi0gICAgICAgICAgICA8
PCBRU3RyaW5nOjpmcm9tQXNjaWkoIiIpIC8vIFVuZGVmaW5lZCBpcyBhbiBpbnZhbGlkIHByb3Bl
cnR5LgotICAgICAgICAgICAgPDwgdHJ1ZTsKLSAgICBRVGVzdDo6bmV3Um93KCJbMSwzLDRdIikK
LSAgICAgICAgICAgIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgiWzEsMyw0XSIpCi0gICAgICAgICAg
ICA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoImFiYyIpCi0gICAgICAgICAgICA8PCBRU3RyaW5nOjpm
cm9tQXNjaWkoIiIpIC8vIFVuZGVmaW5lZCBpcyBhbiBpbnZhbGlkIHByb3BlcnR5LgotICAgICAg
ICAgICAgPDwgdHJ1ZTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjpnZXRQcm9wZXJ0eVNp
bXBsZSgpCi17Ci0gICAgUUZFVENIKFFTdHJpbmcsIGNvZGUpOwotICAgIFFGRVRDSChRU3RyaW5n
LCBwcm9wZXJ0eU5hbWUpOwotICAgIFFGRVRDSChRU3RyaW5nLCBkZXNjKTsKLQotICAgIFFTY3Jp
cHRFbmdpbmUgZW5naW5lOwotICAgIFFTY3JpcHRWYWx1ZSBvYmplY3QgPSBlbmdpbmUuZXZhbHVh
dGUoY29kZSk7Ci0gICAgUVZFUklGWShvYmplY3QuaXNWYWxpZCgpKTsKLSAgICB7Ci0gICAgICAg
IFFTY3JpcHRWYWx1ZSBwcm9wZXJ0eSA9IG9iamVjdC5wcm9wZXJ0eShwcm9wZXJ0eU5hbWUpOwot
ICAgICAgICBRQ09NUEFSRShwcm9wZXJ0eS50b1N0cmluZygpLCBkZXNjKTsKLSAgICB9Ci0gICAg
ewotICAgICAgICBRU2NyaXB0U3RyaW5nIG5hbWUgPSBlbmdpbmUudG9TdHJpbmdIYW5kbGUocHJv
cGVydHlOYW1lKTsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHByb3BlcnR5ID0gb2JqZWN0LnByb3Bl
cnR5KG5hbWUpOwotICAgICAgICBRQ09NUEFSRShwcm9wZXJ0eS50b1N0cmluZygpLCBkZXNjKTsK
LSAgICB9Ci0gICAgewotICAgICAgICBib29sIG9rOwotICAgICAgICBxdWludDMyIGlkeCA9IGVu
Z2luZS50b1N0cmluZ0hhbmRsZShwcm9wZXJ0eU5hbWUpLnRvQXJyYXlJbmRleCgmb2spOwotICAg
ICAgICBpZiAob2spIHsKLSAgICAgICAgICAgIFFTY3JpcHRWYWx1ZSBwcm9wZXJ0eSA9IG9iamVj
dC5wcm9wZXJ0eShpZHgpOwotICAgICAgICAgICAgUUNPTVBBUkUocHJvcGVydHkudG9TdHJpbmco
KSwgZGVzYyk7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6
c2V0UHJvcGVydHlTaW1wbGUoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwotICAgIHsK
LSAgICAgICAgUVNjcmlwdFZhbHVlIGludmFsaWQ7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBwcm9w
ZXJ0eSgxMjM0KTsKLQotICAgICAgICBpbnZhbGlkLnNldFByb3BlcnR5KCJhYWEiLCBwcm9wZXJ0
eSk7Ci0gICAgICAgIGludmFsaWQuc2V0UHJvcGVydHkoMTMsIHByb3BlcnR5KTsKLSAgICAgICAg
aW52YWxpZC5zZXRQcm9wZXJ0eShlbmdpbmUudG9TdHJpbmdIYW5kbGUoImFhYSIpLCBwcm9wZXJ0
eSk7Ci0KLSAgICAgICAgUVZFUklGWSghaW52YWxpZC5wcm9wZXJ0eSgiYWFhIikuaXNWYWxpZCgp
KTsKLSAgICAgICAgUVZFUklGWSghaW52YWxpZC5wcm9wZXJ0eSgxMykuaXNWYWxpZCgpKTsKLSAg
ICAgICAgUVZFUklGWSghaW52YWxpZC5wcm9wZXJ0eShlbmdpbmUudG9TdHJpbmdIYW5kbGUoImFh
YSIpKS5pc1ZhbGlkKCkpOwotICAgIH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBvYmpl
Y3QgPSBlbmdpbmUubmV3T2JqZWN0KCk7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBwcm9wZXJ0eTsK
LQotICAgICAgICBvYmplY3Quc2V0UHJvcGVydHkoMTMsIHByb3BlcnR5KTsKLSAgICAgICAgb2Jq
ZWN0LnNldFByb3BlcnR5KCJhYWEiLCBwcm9wZXJ0eSk7Ci0gICAgICAgIG9iamVjdC5zZXRQcm9w
ZXJ0eShlbmdpbmUudG9TdHJpbmdIYW5kbGUoImFhYSIpLCBwcm9wZXJ0eSk7Ci0KLSAgICAgICAg
UVZFUklGWSghb2JqZWN0LnByb3BlcnR5KDEzKS5pc1ZhbGlkKCkpOwotICAgICAgICBRVkVSSUZZ
KCFvYmplY3QucHJvcGVydHkoImFhYSIpLmlzVmFsaWQoKSk7Ci0gICAgICAgIFFWRVJJRlkoIW9i
amVjdC5wcm9wZXJ0eShlbmdpbmUudG9TdHJpbmdIYW5kbGUoImFhYSIpKS5pc1ZhbGlkKCkpOwot
ICAgIH0KLSAgICB7Ci0gICAgICAgIC8vIENoZWNrIGlmIHNldHRpbmcgYW4gaW52YWxpZCBwcm9w
ZXJ0eSB3b3JrcyBhcyBkZWxldGVQcm9wZXJ0eS4KLSAgICAgICAgUVNjcmlwdFZhbHVlIG9iamVj
dCA9IGVuZ2luZS5ldmFsdWF0ZSgibyA9IHsxMzogMCwgJ2FhYSc6IDMsICdiYmInOiAxfSIpOwot
ICAgICAgICBRU2NyaXB0VmFsdWUgcHJvcGVydHk7Ci0KLSAgICAgICAgUVZFUklGWShvYmplY3Qu
cHJvcGVydHkoMTMpLmlzVmFsaWQoKSk7Ci0gICAgICAgIFFWRVJJRlkob2JqZWN0LnByb3BlcnR5
KCJhYWEiKS5pc1ZhbGlkKCkpOwotICAgICAgICBRVkVSSUZZKG9iamVjdC5wcm9wZXJ0eShlbmdp
bmUudG9TdHJpbmdIYW5kbGUoImFhYSIpKS5pc1ZhbGlkKCkpOwotCi0gICAgICAgIG9iamVjdC5z
ZXRQcm9wZXJ0eSgxMywgcHJvcGVydHkpOwotICAgICAgICBvYmplY3Quc2V0UHJvcGVydHkoImFh
YSIsIHByb3BlcnR5KTsKLSAgICAgICAgb2JqZWN0LnNldFByb3BlcnR5KGVuZ2luZS50b1N0cmlu
Z0hhbmRsZSgiYmJiIiksIHByb3BlcnR5KTsKLQotICAgICAgICBRVkVSSUZZKCFvYmplY3QucHJv
cGVydHkoMTMpLmlzVmFsaWQoKSk7Ci0gICAgICAgIFFWRVJJRlkoIW9iamVjdC5wcm9wZXJ0eSgi
YWFhIikuaXNWYWxpZCgpKTsKLSAgICAgICAgUVZFUklGWSghb2JqZWN0LnByb3BlcnR5KGVuZ2lu
ZS50b1N0cmluZ0hhbmRsZSgiYWFhIikpLmlzVmFsaWQoKSk7Ci0gICAgfQotICAgIHsKLSAgICAg
ICAgUVNjcmlwdFZhbHVlIG9iamVjdCA9IGVuZ2luZS5ldmFsdWF0ZSgibmV3IE9iamVjdCIpOwot
ICAgICAgICBRVkVSSUZZKG9iamVjdC5pc09iamVjdCgpKTsKLSAgICAgICAgUVNjcmlwdFZhbHVl
IHByb3BlcnR5ID0gb2JqZWN0LnByb3BlcnR5KCJmb28iKTsKLSAgICAgICAgUVZFUklGWSghcHJv
cGVydHkuaXNWYWxpZCgpKTsKLSAgICAgICAgcHJvcGVydHkgPSBRU2NyaXB0VmFsdWUoMik7Ci0g
ICAgICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgiZm9vIiwgcHJvcGVydHkpOwotICAgICAgICBRVkVS
SUZZKG9iamVjdC5wcm9wZXJ0eSgiZm9vIikuaXNOdW1iZXIoKSk7Ci0gICAgICAgIFFWRVJJRlko
b2JqZWN0LnByb3BlcnR5KCJmb28iKS50b051bWJlcigpID09IDIpOwotICAgIH0KLSAgICB7Ci0g
ICAgICAgIFFTY3JpcHRWYWx1ZSBvMSA9IGVuZ2luZS5ldmFsdWF0ZSgibzEgPSBuZXcgT2JqZWN0
OyBvMSIpOwotICAgICAgICBRU2NyaXB0VmFsdWUgbzIgPSBlbmdpbmUuZXZhbHVhdGUoIm8yID0g
bmV3IE9iamVjdDsgbzIiKTsKLSAgICAgICAgUVZFUklGWShlbmdpbmUuZXZhbHVhdGUoIm8xLl9f
cHJvdG9fXyA9IG8yOyBvMS5fX3Byb3RvX18gPT09IG8yIikudG9Cb29sKCkpOwotICAgICAgICBR
VkVSSUZZKGVuZ2luZS5ldmFsdWF0ZSgibzIuZm9vID0gMjI7IG8xLmZvbyA9PSAyMiIpLnRvQm9v
bCgpKTsKLSAgICAgICAgUVZFUklGWShvMS5wcm9wZXJ0eSgiZm9vIikudG9TdHJpbmcoKSA9PSAi
MjIiKTsKLSAgICAgICAgbzIuc2V0UHJvcGVydHkoImZvbyIsIFFTY3JpcHRWYWx1ZSgmZW5naW5l
LCA0NTYuMCkpOwotICAgICAgICBRVkVSSUZZKGVuZ2luZS5ldmFsdWF0ZSgibzEuZm9vID09IDQ1
NiIpLnRvQm9vbCgpKTsKLSAgICAgICAgUVZFUklGWShvMS5wcm9wZXJ0eSgiZm9vIikuaXNOdW1i
ZXIoKSk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmdldFByb3BlcnR5UmVz
b2x2ZUZsYWcoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwotICAgIFFTY3JpcHRWYWx1
ZSBvYmplY3QxID0gZW5naW5lLmV2YWx1YXRlKCJvMSA9IG5ldyBPYmplY3QoKTsiKTsKLSAgICBR
U2NyaXB0VmFsdWUgb2JqZWN0MiA9IGVuZ2luZS5ldmFsdWF0ZSgibzIgPSBuZXcgT2JqZWN0KCk7
IG8xLl9fcHJvdG9fXyA9IG8yOyBvMiIpOwotICAgIFFTY3JpcHRWYWx1ZSBudW1iZXIoJmVuZ2lu
ZSwgNDU2LjApOwotICAgIFFWRVJJRlkob2JqZWN0MS5pc09iamVjdCgpKTsKLSAgICBRVkVSSUZZ
KG9iamVjdDIuaXNPYmplY3QoKSk7Ci0gICAgUVZFUklGWShudW1iZXIuaXNOdW1iZXIoKSk7Ci0K
LSAgICBvYmplY3QyLnNldFByb3BlcnR5KCJwcm9wZXJ0eUluUHJvdG90eXBlIiwgbnVtYmVyKTsK
LSAgICBRVkVSSUZZKG9iamVjdDIucHJvcGVydHkoInByb3BlcnR5SW5Qcm90b3R5cGUiKS5pc051
bWJlcigpKTsKLSAgICAvLyBkZWZhdWx0IGlzIFJlc29sdmVQcm90b3R5cGUKLSAgICBRQ09NUEFS
RShvYmplY3QxLnByb3BlcnR5KCJwcm9wZXJ0eUluUHJvdG90eXBlIikuc3RyaWN0bHlFcXVhbHMo
bnVtYmVyKSwgdHJ1ZSk7Ci0gICAgUUNPTVBBUkUob2JqZWN0MS5wcm9wZXJ0eSgicHJvcGVydHlJ
blByb3RvdHlwZSIsIFFTY3JpcHRWYWx1ZTo6UmVzb2x2ZVByb3RvdHlwZSkKLSAgICAgICAgICAg
ICAuc3RyaWN0bHlFcXVhbHMobnVtYmVyKSwgdHJ1ZSk7Ci0gICAgUUNPTVBBUkUob2JqZWN0MS5w
cm9wZXJ0eSgicHJvcGVydHlJblByb3RvdHlwZSIsIFFTY3JpcHRWYWx1ZTo6UmVzb2x2ZUxvY2Fs
KS5pc1ZhbGlkKCksIGZhbHNlKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjpnZXRTZXRQ
cm9wZXJ0eSgpCi17Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmc7Ci0KLSAgICBRU2NyaXB0VmFsdWUg
b2JqZWN0ID0gZW5nLm5ld09iamVjdCgpOwotCi0gICAgUVNjcmlwdFZhbHVlIHN0ciA9IFFTY3Jp
cHRWYWx1ZSgmZW5nLCAiYmFyIik7Ci0gICAgb2JqZWN0LnNldFByb3BlcnR5KCJmb28iLCBzdHIp
OwotICAgIFFDT01QQVJFKG9iamVjdC5wcm9wZXJ0eSgiZm9vIikudG9TdHJpbmcoKSwgc3RyLnRv
U3RyaW5nKCkpOwotCi0gICAgUVNjcmlwdFZhbHVlIG51bSA9IFFTY3JpcHRWYWx1ZSgmZW5nLCAx
MjMuMCk7Ci0gICAgb2JqZWN0LnNldFByb3BlcnR5KCJiYXoiLCBudW0pOwotICAgIFFDT01QQVJF
KG9iamVjdC5wcm9wZXJ0eSgiYmF6IikudG9OdW1iZXIoKSwgbnVtLnRvTnVtYmVyKCkpOwotCi0g
ICAgUVNjcmlwdFZhbHVlIHN0cnN0ciA9IFFTY3JpcHRWYWx1ZSgiYmFyIik7Ci0gICAgUUNPTVBB
UkUoc3Ryc3RyLmVuZ2luZSgpLCAoUVNjcmlwdEVuZ2luZSAqKTApOwotICAgIG9iamVjdC5zZXRQ
cm9wZXJ0eSgiZm9vIiwgc3Ryc3RyKTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVydHkoImZv
byIpLnRvU3RyaW5nKCksIHN0cnN0ci50b1N0cmluZygpKTsKLSAgICBRQ09NUEFSRShzdHJzdHIu
ZW5naW5lKCksICZlbmcpOyAvLyB0aGUgdmFsdWUgaGFzIGJlZW4gYm91bmQgdG8gdGhlIGVuZ2lu
ZQotCi0gICAgUVNjcmlwdFZhbHVlIG51bW51bSA9IFFTY3JpcHRWYWx1ZSgxMjMuMCk7Ci0gICAg
b2JqZWN0LnNldFByb3BlcnR5KCJiYXoiLCBudW1udW0pOwotICAgIFFDT01QQVJFKG9iamVjdC5w
cm9wZXJ0eSgiYmF6IikudG9OdW1iZXIoKSwgbnVtbnVtLnRvTnVtYmVyKCkpOwotCi0gICAgUVNj
cmlwdFZhbHVlIGludjsKLSAgICBpbnYuc2V0UHJvcGVydHkoImZvbyIsIG51bSk7Ci0gICAgUUNP
TVBBUkUoaW52LnByb3BlcnR5KCJmb28iKS5pc1ZhbGlkKCksIGZhbHNlKTsKLQotICAgIFFTY3Jp
cHRWYWx1ZSBhcnJheSA9IGVuZy5uZXdBcnJheSgpOwotICAgIGFycmF5LnNldFByb3BlcnR5KDAs
IG51bSk7Ci0gICAgUUNPTVBBUkUoYXJyYXkucHJvcGVydHkoMCkudG9OdW1iZXIoKSwgbnVtLnRv
TnVtYmVyKCkpOwotICAgIFFDT01QQVJFKGFycmF5LnByb3BlcnR5KCIwIikudG9OdW1iZXIoKSwg
bnVtLnRvTnVtYmVyKCkpOwotICAgIFFDT01QQVJFKGFycmF5LnByb3BlcnR5KCJsZW5ndGgiKS50
b1VJbnQzMigpLCBxdWludDMyKDEpKTsKLSAgICBhcnJheS5zZXRQcm9wZXJ0eSgxLCBzdHIpOwot
ICAgIFFDT01QQVJFKGFycmF5LnByb3BlcnR5KDEpLnRvU3RyaW5nKCksIHN0ci50b1N0cmluZygp
KTsKLSAgICBRQ09NUEFSRShhcnJheS5wcm9wZXJ0eSgiMSIpLnRvU3RyaW5nKCksIHN0ci50b1N0
cmluZygpKTsKLSAgICBRQ09NUEFSRShhcnJheS5wcm9wZXJ0eSgibGVuZ3RoIikudG9VSW50MzIo
KSwgcXVpbnQzMigyKSk7Ci0gICAgYXJyYXkuc2V0UHJvcGVydHkoImxlbmd0aCIsIFFTY3JpcHRW
YWx1ZSgmZW5nLCAxKSk7Ci0gICAgUUNPTVBBUkUoYXJyYXkucHJvcGVydHkoImxlbmd0aCIpLnRv
VUludDMyKCksIHF1aW50MzIoMSkpOwotICAgIFFDT01QQVJFKGFycmF5LnByb3BlcnR5KDEpLmlz
VmFsaWQoKSwgZmFsc2UpOwotCi0gICAgLy8gdGFzayAxNjIwNTEgLS0gZGV0ZWN0aW5nIHdoZXRo
ZXIgdGhlIHByb3BlcnR5IGlzIGFuIGFycmF5IGluZGV4IG9yIG5vdAotICAgIFFWRVJJRlkoZW5n
LmV2YWx1YXRlKCJhID0gW107IGFbJzAwJ10gPSAxMjM7IGFbJzAwJ10iKS5zdHJpY3RseUVxdWFs
cyhRU2NyaXB0VmFsdWUoJmVuZywgMTIzKSkpOwotICAgIFFWRVJJRlkoZW5nLmV2YWx1YXRlKCJh
Lmxlbmd0aCIpLnN0cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1ZSgmZW5nLCAwKSkpOwotICAgIFFW
RVJJRlkoZW5nLmV2YWx1YXRlKCJhLmhhc093blByb3BlcnR5KCcwMCcpIikuc3RyaWN0bHlFcXVh
bHMoUVNjcmlwdFZhbHVlKCZlbmcsIHRydWUpKSk7Ci0gICAgUVZFUklGWShlbmcuZXZhbHVhdGUo
ImEuaGFzT3duUHJvcGVydHkoJzAnKSIpLnN0cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1ZSgmZW5n
LCBmYWxzZSkpKTsKLSAgICBRVkVSSUZZKGVuZy5ldmFsdWF0ZSgiYVswXSIpLmlzVW5kZWZpbmVk
KCkpOwotICAgIFFWRVJJRlkoZW5nLmV2YWx1YXRlKCJhWzAuNV0gPSA0NTY7IGFbMC41XSIpLnN0
cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1ZSgmZW5nLCA0NTYpKSk7Ci0gICAgUVZFUklGWShlbmcu
ZXZhbHVhdGUoImEubGVuZ3RoIikuc3RyaWN0bHlFcXVhbHMoUVNjcmlwdFZhbHVlKCZlbmcsIDAp
KSk7Ci0gICAgUVZFUklGWShlbmcuZXZhbHVhdGUoImEuaGFzT3duUHJvcGVydHkoJzAuNScpIiku
c3RyaWN0bHlFcXVhbHMoUVNjcmlwdFZhbHVlKCZlbmcsIHRydWUpKSk7Ci0gICAgUVZFUklGWShl
bmcuZXZhbHVhdGUoImFbMF0iKS5pc1VuZGVmaW5lZCgpKTsKLSAgICBRVkVSSUZZKGVuZy5ldmFs
dWF0ZSgiYVswXSA9IDc4OTsgYVswXSIpLnN0cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1ZSgmZW5n
LCA3ODkpKSk7Ci0gICAgUVZFUklGWShlbmcuZXZhbHVhdGUoImEubGVuZ3RoIikuc3RyaWN0bHlF
cXVhbHMoUVNjcmlwdFZhbHVlKCZlbmcsIDEpKSk7Ci0KLSAgICAvLyB0YXNrIDE4MzA3MiAtLSAw
eDgwMDAwMDAwMCBpcyBub3QgYW4gYXJyYXkgaW5kZXgKLSAgICBlbmcuZXZhbHVhdGUoImEgPSBb
XTsgYVsweDgwMDAwMDAwMF0gPSAxMjMiKTsKLSAgICBRVkVSSUZZKGVuZy5ldmFsdWF0ZSgiYS5s
ZW5ndGgiKS5zdHJpY3RseUVxdWFscyhRU2NyaXB0VmFsdWUoJmVuZywgMCkpKTsKLSAgICBRVkVS
SUZZKGVuZy5ldmFsdWF0ZSgiYVswXSIpLmlzVW5kZWZpbmVkKCkpOwotICAgIFFWRVJJRlkoZW5n
LmV2YWx1YXRlKCJhWzB4ODAwMDAwMDAwXSIpLnN0cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1ZSgm
ZW5nLCAxMjMpKSk7Ci0KLSAgICBRU2NyaXB0RW5naW5lIG90aGVyRW5naW5lOwotICAgIFFTY3Jp
cHRWYWx1ZSBvdGhlck51bSA9IFFTY3JpcHRWYWx1ZSgmb3RoZXJFbmdpbmUsIDEyMyk7Ci0gICAg
UVRlc3Q6Omlnbm9yZU1lc3NhZ2UoUXRXYXJuaW5nTXNnLCAiUVNjcmlwdFZhbHVlOjpzZXRQcm9w
ZXJ0eSgpIGZhaWxlZDogY2Fubm90IHNldCB2YWx1ZSBjcmVhdGVkIGluIGEgZGlmZmVyZW50IGVu
Z2luZSIpOwotICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgib29mIiwgb3RoZXJOdW0pOwotICAgIFFD
T01QQVJFKG9iamVjdC5wcm9wZXJ0eSgib29mIikuaXNWYWxpZCgpLCBmYWxzZSk7Ci0KLSAgICAv
LyB0ZXN0IFJlc29sdmVNb2RlCi0gICAgUVNjcmlwdFZhbHVlIG9iamVjdDIgPSBlbmcubmV3T2Jq
ZWN0KCk7Ci0gICAgb2JqZWN0LnNldFByb3RvdHlwZShvYmplY3QyKTsKLSAgICBRU2NyaXB0VmFs
dWUgbnVtMiA9IFFTY3JpcHRWYWx1ZSgmZW5nLCA0NTYuMCk7Ci0gICAgb2JqZWN0Mi5zZXRQcm9w
ZXJ0eSgicHJvcGVydHlJblByb3RvdHlwZSIsIG51bTIpOwotICAgIC8vIGRlZmF1bHQgaXMgUmVz
b2x2ZVByb3RvdHlwZQotICAgIFFDT01QQVJFKG9iamVjdC5wcm9wZXJ0eSgicHJvcGVydHlJblBy
b3RvdHlwZSIpCi0gICAgICAgICAgICAgLnN0cmljdGx5RXF1YWxzKG51bTIpLCB0cnVlKTsKLSAg
ICBRQ09NUEFSRShvYmplY3QucHJvcGVydHkoInByb3BlcnR5SW5Qcm90b3R5cGUiLCBRU2NyaXB0
VmFsdWU6OlJlc29sdmVQcm90b3R5cGUpCi0gICAgICAgICAgICAgLnN0cmljdGx5RXF1YWxzKG51
bTIpLCB0cnVlKTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVydHkoInByb3BlcnR5SW5Qcm90
b3R5cGUiLCBRU2NyaXB0VmFsdWU6OlJlc29sdmVMb2NhbCkKLSAgICAgICAgICAgICAuaXNWYWxp
ZCgpLCBmYWxzZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCIiLCAiUVNjcmlwdFZhbHVlOjpSZXNvbHZl
U2NvcGUgaXMgbm90IGltcGxlbWVudGVkIiwgQ29udGludWUpOwotICAgIFFDT01QQVJFKG9iamVj
dC5wcm9wZXJ0eSgicHJvcGVydHlJblByb3RvdHlwZSIsIFFTY3JpcHRWYWx1ZTo6UmVzb2x2ZVNj
b3BlKQotICAgICAgICAgICAgIC5zdHJpY3RseUVxdWFscyhudW0yKSwgZmFsc2UpOwotICAgIFFD
T01QQVJFKG9iamVjdC5wcm9wZXJ0eSgicHJvcGVydHlJblByb3RvdHlwZSIsIFFTY3JpcHRWYWx1
ZTo6UmVzb2x2ZUZ1bGwpCi0gICAgICAgICAgICAgLnN0cmljdGx5RXF1YWxzKG51bTIpLCB0cnVl
KTsKLQotICAgIC8vIHRlc3QgcHJvcGVydHkgcmVtb3ZhbCAoc2V0UHJvcGVydHkoUVNjcmlwdFZh
bHVlKCkpKQotICAgIFFTY3JpcHRWYWx1ZSBvYmplY3QzID0gZW5nLm5ld09iamVjdCgpOwotICAg
IG9iamVjdDMuc2V0UHJvcGVydHkoImZvbyIsIG51bSk7Ci0gICAgUUNPTVBBUkUob2JqZWN0My5w
cm9wZXJ0eSgiZm9vIikuc3RyaWN0bHlFcXVhbHMobnVtKSwgdHJ1ZSk7Ci0gICAgb2JqZWN0My5z
ZXRQcm9wZXJ0eSgiYmFyIiwgc3RyKTsKLSAgICBRQ09NUEFSRShvYmplY3QzLnByb3BlcnR5KCJi
YXIiKS5zdHJpY3RseUVxdWFscyhzdHIpLCB0cnVlKTsKLSAgICBvYmplY3QzLnNldFByb3BlcnR5
KCJmb28iLCBRU2NyaXB0VmFsdWUoKSk7Ci0gICAgUUNPTVBBUkUob2JqZWN0My5wcm9wZXJ0eSgi
Zm9vIikuaXNWYWxpZCgpLCBmYWxzZSk7Ci0gICAgUUNPTVBBUkUob2JqZWN0My5wcm9wZXJ0eSgi
YmFyIikuc3RyaWN0bHlFcXVhbHMoc3RyKSwgdHJ1ZSk7Ci0gICAgb2JqZWN0My5zZXRQcm9wZXJ0
eSgiZm9vIiwgbnVtKTsKLSAgICBRQ09NUEFSRShvYmplY3QzLnByb3BlcnR5KCJmb28iKS5zdHJp
Y3RseUVxdWFscyhudW0pLCB0cnVlKTsKLSAgICBRQ09NUEFSRShvYmplY3QzLnByb3BlcnR5KCJi
YXIiKS5zdHJpY3RseUVxdWFscyhzdHIpLCB0cnVlKTsKLSAgICBvYmplY3QzLnNldFByb3BlcnR5
KCJiYXIiLCBRU2NyaXB0VmFsdWUoKSk7Ci0gICAgUUNPTVBBUkUob2JqZWN0My5wcm9wZXJ0eSgi
YmFyIikuaXNWYWxpZCgpLCBmYWxzZSk7Ci0gICAgUUNPTVBBUkUob2JqZWN0My5wcm9wZXJ0eSgi
Zm9vIikuc3RyaWN0bHlFcXVhbHMobnVtKSwgdHJ1ZSk7Ci0gICAgb2JqZWN0My5zZXRQcm9wZXJ0
eSgiZm9vIiwgUVNjcmlwdFZhbHVlKCkpOwotICAgIG9iamVjdDMuc2V0UHJvcGVydHkoImZvbyIs
IFFTY3JpcHRWYWx1ZSgpKTsKLQotICAgIGVuZy5nbG9iYWxPYmplY3QoKS5zZXRQcm9wZXJ0eSgi
b2JqZWN0MyIsIG9iamVjdDMpOwotICAgIFFDT01QQVJFKGVuZy5ldmFsdWF0ZSgib2JqZWN0My5o
YXNPd25Qcm9wZXJ0eSgnZm9vJykiKQotICAgICAgICAgICAgIC5zdHJpY3RseUVxdWFscyhRU2Ny
aXB0VmFsdWUoJmVuZywgZmFsc2UpKSwgdHJ1ZSk7Ci0gICAgb2JqZWN0My5zZXRQcm9wZXJ0eSgi
Zm9vIiwgbnVtKTsKLSAgICBRQ09NUEFSRShlbmcuZXZhbHVhdGUoIm9iamVjdDMuaGFzT3duUHJv
cGVydHkoJ2ZvbycpIikKLSAgICAgICAgICAgICAuc3RyaWN0bHlFcXVhbHMoUVNjcmlwdFZhbHVl
KCZlbmcsIHRydWUpKSwgdHJ1ZSk7Ci0gICAgZW5nLmdsb2JhbE9iamVjdCgpLnNldFByb3BlcnR5
KCJvYmplY3QzIiwgUVNjcmlwdFZhbHVlKCkpOwotICAgIFFDT01QQVJFKGVuZy5ldmFsdWF0ZSgi
dGhpcy5oYXNPd25Qcm9wZXJ0eSgnb2JqZWN0MycpIikKLSAgICAgICAgICAgICAuc3RyaWN0bHlF
cXVhbHMoUVNjcmlwdFZhbHVlKCZlbmcsIGZhbHNlKSksIHRydWUpOwotCi0gICAgZW5nLmdsb2Jh
bE9iamVjdCgpLnNldFByb3BlcnR5KCJvYmplY3QiLCBvYmplY3QpOwotCi0gICAgLy8gUmVhZE9u
bHkKLSAgICBvYmplY3Quc2V0UHJvcGVydHkoInJlYWRPbmx5UHJvcGVydHkiLCBudW0sIFFTY3Jp
cHRWYWx1ZTo6UmVhZE9ubHkpOwotICAgIC8vIFFDT01QQVJFKG9iamVjdC5wcm9wZXJ0eUZsYWdz
KCJyZWFkT25seVByb3BlcnR5IiksIFFTY3JpcHRWYWx1ZTo6UmVhZE9ubHkpOwotICAgIFFDT01Q
QVJFKG9iamVjdC5wcm9wZXJ0eSgicmVhZE9ubHlQcm9wZXJ0eSIpLnN0cmljdGx5RXF1YWxzKG51
bSksIHRydWUpOwotICAgIGVuZy5ldmFsdWF0ZSgib2JqZWN0LnJlYWRPbmx5UHJvcGVydHkgPSAh
b2JqZWN0LnJlYWRPbmx5UHJvcGVydHkiKTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVydHko
InJlYWRPbmx5UHJvcGVydHkiKS5zdHJpY3RseUVxdWFscyhudW0pLCB0cnVlKTsKLSAgICAvLyBT
aG91bGQgc3RpbGwgYmUgcGFydCBvZiBlbnVtZXJhdGlvbi4KLSAgICB7Ci0gICAgICAgIFFTY3Jp
cHRWYWx1ZSByZXQgPSBlbmcuZXZhbHVhdGUoCi0gICAgICAgICAgICAiZm91bmQgPSBmYWxzZTsi
Ci0gICAgICAgICAgICAiZm9yICh2YXIgcCBpbiBvYmplY3QpIHsiCi0gICAgICAgICAgICAiICBp
ZiAocCA9PSAncmVhZE9ubHlQcm9wZXJ0eScpIHsiCi0gICAgICAgICAgICAiICAgIGZvdW5kID0g
dHJ1ZTsgYnJlYWs7IgotICAgICAgICAgICAgIiAgfSIKLSAgICAgICAgICAgICJ9IGZvdW5kIik7
Ci0gICAgICAgIFFDT01QQVJFKHJldC5zdHJpY3RseUVxdWFscyhRU2NyaXB0VmFsdWUoJmVuZywg
dHJ1ZSkpLCB0cnVlKTsKLSAgICB9Ci0gICAgLy8gc2hvdWxkIHN0aWxsIGJlIGRlbGV0YWJsZQot
ICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHJldCA9IGVuZy5ldmFsdWF0ZSgiZGVsZXRlIG9i
amVjdC5yZWFkT25seVByb3BlcnR5Iik7Ci0gICAgICAgIFFDT01QQVJFKHJldC5zdHJpY3RseUVx
dWFscyhRU2NyaXB0VmFsdWUoJmVuZywgdHJ1ZSkpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUo
b2JqZWN0LnByb3BlcnR5KCJyZWFkT25seVByb3BlcnR5IikuaXNWYWxpZCgpLCBmYWxzZSk7Ci0g
ICAgfQotCi0gICAgLy8gVW5kZWxldGFibGUKLSAgICBvYmplY3Quc2V0UHJvcGVydHkoInVuZGVs
ZXRhYmxlUHJvcGVydHkiLCBudW0sIFFTY3JpcHRWYWx1ZTo6VW5kZWxldGFibGUpOwotICAgIC8v
IFFDT01QQVJFKG9iamVjdC5wcm9wZXJ0eUZsYWdzKCJ1bmRlbGV0YWJsZVByb3BlcnR5IiksIFFT
Y3JpcHRWYWx1ZTo6VW5kZWxldGFibGUpOwotICAgIFFDT01QQVJFKG9iamVjdC5wcm9wZXJ0eSgi
dW5kZWxldGFibGVQcm9wZXJ0eSIpLnN0cmljdGx5RXF1YWxzKG51bSksIHRydWUpOwotICAgIHsK
LSAgICAgICAgUVNjcmlwdFZhbHVlIHJldCA9IGVuZy5ldmFsdWF0ZSgiZGVsZXRlIG9iamVjdC51
bmRlbGV0YWJsZVByb3BlcnR5Iik7Ci0gICAgICAgIFFDT01QQVJFKHJldC5zdHJpY3RseUVxdWFs
cyhRU2NyaXB0VmFsdWUoJmVuZywgdHJ1ZSkpLCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKG9i
amVjdC5wcm9wZXJ0eSgidW5kZWxldGFibGVQcm9wZXJ0eSIpLnN0cmljdGx5RXF1YWxzKG51bSks
IHRydWUpOwotICAgIH0KLSAgICAvLyBzaG91bGQgc3RpbGwgYmUgd3JpdGFibGUKLSAgICBlbmcu
ZXZhbHVhdGUoIm9iamVjdC51bmRlbGV0YWJsZVByb3BlcnR5ID0gb2JqZWN0LnVuZGVsZXRhYmxl
UHJvcGVydHkgKyAxIik7Ci0gICAgUUNPTVBBUkUob2JqZWN0LnByb3BlcnR5KCJ1bmRlbGV0YWJs
ZVByb3BlcnR5IikudG9OdW1iZXIoKSwgbnVtLnRvTnVtYmVyKCkgKyAxKTsKLSAgICAvLyBzaG91
bGQgc3RpbGwgYmUgcGFydCBvZiBlbnVtZXJhdGlvbgotICAgIHsKLSAgICAgICAgUVNjcmlwdFZh
bHVlIHJldCA9IGVuZy5ldmFsdWF0ZSgKLSAgICAgICAgICAgICJmb3VuZCA9IGZhbHNlOyIKLSAg
ICAgICAgICAgICJmb3IgKHZhciBwIGluIG9iamVjdCkgeyIKLSAgICAgICAgICAgICIgIGlmIChw
ID09ICd1bmRlbGV0YWJsZVByb3BlcnR5JykgeyIKLSAgICAgICAgICAgICIgICAgZm91bmQgPSB0
cnVlOyBicmVhazsiCi0gICAgICAgICAgICAiICB9IgotICAgICAgICAgICAgIn0gZm91bmQiKTsK
LSAgICAgICAgUUNPTVBBUkUocmV0LnN0cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1ZSgmZW5nLCB0
cnVlKSksIHRydWUpOwotICAgIH0KLSAgICAvLyBzaG91bGQgc3RpbGwgYmUgZGVsZXRhYmxlIGZy
b20gQysrCi0gICAgb2JqZWN0LnNldFByb3BlcnR5KCJ1bmRlbGV0YWJsZVByb3BlcnR5IiwgUVNj
cmlwdFZhbHVlKCkpOwotICAgIFFFWFBFQ1RfRkFJTCgiIiwgIldpdGggSlNDLWJhc2VkIGJhY2st
ZW5kLCB1bmRlbGV0YWJsZSBwcm9wZXJ0aWVzIGNhbid0IGJlIGRlbGV0ZWQgZnJvbSBDKysiLCBD
b250aW51ZSk7Ci0gICAgUVZFUklGWSghb2JqZWN0LnByb3BlcnR5KCJ1bmRlbGV0YWJsZVByb3Bl
cnR5IikuaXNWYWxpZCgpKTsKLSAgICAvLyBRRVhQRUNUX0ZBSUwoIiIsICJXaXRoIEpTQy1iYXNl
ZCBiYWNrLWVuZCwgdW5kZWxldGFibGUgcHJvcGVydGllcyBjYW4ndCBiZSBkZWxldGVkIGZyb20g
QysrIiwgQ29udGludWUpOwotICAgIC8vIFFDT01QQVJFKG9iamVjdC5wcm9wZXJ0eUZsYWdzKCJ1
bmRlbGV0YWJsZVByb3BlcnR5IiksIDApOwotCi0gICAgLy8gU2tpcEluRW51bWVyYXRpb24KLSAg
ICBvYmplY3Quc2V0UHJvcGVydHkoImRvbnRFbnVtUHJvcGVydHkiLCBudW0sIFFTY3JpcHRWYWx1
ZTo6U2tpcEluRW51bWVyYXRpb24pOwotICAgIC8vIFFDT01QQVJFKG9iamVjdC5wcm9wZXJ0eUZs
YWdzKCJkb250RW51bVByb3BlcnR5IiksIFFTY3JpcHRWYWx1ZTo6U2tpcEluRW51bWVyYXRpb24p
OwotICAgIFFDT01QQVJFKG9iamVjdC5wcm9wZXJ0eSgiZG9udEVudW1Qcm9wZXJ0eSIpLnN0cmlj
dGx5RXF1YWxzKG51bSksIHRydWUpOwotICAgIC8vIHNob3VsZCBub3QgYmUgcGFydCBvZiBlbnVt
ZXJhdGlvbgotICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHJldCA9IGVuZy5ldmFsdWF0ZSgK
LSAgICAgICAgICAgICJmb3VuZCA9IGZhbHNlOyIKLSAgICAgICAgICAgICJmb3IgKHZhciBwIGlu
IG9iamVjdCkgeyIKLSAgICAgICAgICAgICIgIGlmIChwID09ICdkb250RW51bVByb3BlcnR5Jykg
eyIKLSAgICAgICAgICAgICIgICAgZm91bmQgPSB0cnVlOyBicmVhazsiCi0gICAgICAgICAgICAi
ICB9IgotICAgICAgICAgICAgIn0gZm91bmQiKTsKLSAgICAgICAgUUNPTVBBUkUocmV0LnN0cmlj
dGx5RXF1YWxzKFFTY3JpcHRWYWx1ZSgmZW5nLCBmYWxzZSkpLCB0cnVlKTsKLSAgICB9Ci0gICAg
Ly8gc2hvdWxkIHN0aWxsIGJlIHdyaXRhYmxlCi0gICAgZW5nLmV2YWx1YXRlKCJvYmplY3QuZG9u
dEVudW1Qcm9wZXJ0eSA9IG9iamVjdC5kb250RW51bVByb3BlcnR5ICsgMSIpOwotICAgIFFDT01Q
QVJFKG9iamVjdC5wcm9wZXJ0eSgiZG9udEVudW1Qcm9wZXJ0eSIpLnRvTnVtYmVyKCksIG51bS50
b051bWJlcigpICsgMSk7Ci0gICAgLy8gc2hvdWxkIHN0aWxsIGJlIGRlbGV0YWJsZQotICAgIHsK
LSAgICAgICAgUVNjcmlwdFZhbHVlIHJldCA9IGVuZy5ldmFsdWF0ZSgiZGVsZXRlIG9iamVjdC5k
b250RW51bVByb3BlcnR5Iik7Ci0gICAgICAgIFFDT01QQVJFKHJldC5zdHJpY3RseUVxdWFscyhR
U2NyaXB0VmFsdWUoJmVuZywgdHJ1ZSkpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUob2JqZWN0
LnByb3BlcnR5KCJkb250RW51bVByb3BlcnR5IikuaXNWYWxpZCgpLCBmYWxzZSk7Ci0gICAgfQot
Ci0gICAgLy8gY2hhbmdlIGZsYWdzCi0gICAgb2JqZWN0LnNldFByb3BlcnR5KCJmbGFnUHJvcGVy
dHkiLCBzdHIpOwotICAgIC8vIFFDT01QQVJFKG9iamVjdC5wcm9wZXJ0eUZsYWdzKCJmbGFnUHJv
cGVydHkiKSwgc3RhdGljX2Nhc3Q8UVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdzPigwKSk7Ci0K
LSAgICBvYmplY3Quc2V0UHJvcGVydHkoImZsYWdQcm9wZXJ0eSIsIHN0ciwgUVNjcmlwdFZhbHVl
OjpSZWFkT25seSk7Ci0gICAgLy8gUUNPTVBBUkUob2JqZWN0LnByb3BlcnR5RmxhZ3MoImZsYWdQ
cm9wZXJ0eSIpLCBRU2NyaXB0VmFsdWU6OlJlYWRPbmx5KTsKLQotICAgIC8vIG9iamVjdC5zZXRQ
cm9wZXJ0eSgiZmxhZ1Byb3BlcnR5Iiwgc3RyLCBvYmplY3QucHJvcGVydHlGbGFncygiZmxhZ1By
b3BlcnR5IikgfCBRU2NyaXB0VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uKTsKLSAgICAvLyBRQ09N
UEFSRShvYmplY3QucHJvcGVydHlGbGFncygiZmxhZ1Byb3BlcnR5IiksIFFTY3JpcHRWYWx1ZTo6
UmVhZE9ubHkgfCBRU2NyaXB0VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uKTsKLQotICAgIG9iamVj
dC5zZXRQcm9wZXJ0eSgiZmxhZ1Byb3BlcnR5Iiwgc3RyLCBRU2NyaXB0VmFsdWU6OktlZXBFeGlz
dGluZ0ZsYWdzKTsKLSAgICAvLyBRQ09NUEFSRShvYmplY3QucHJvcGVydHlGbGFncygiZmxhZ1By
b3BlcnR5IiksIFFTY3JpcHRWYWx1ZTo6UmVhZE9ubHkgfCBRU2NyaXB0VmFsdWU6OlNraXBJbkVu
dW1lcmF0aW9uKTsKLQotICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgiZmxhZ1Byb3BlcnR5Iiwgc3Ry
LCBRU2NyaXB0VmFsdWU6OlVzZXJSYW5nZSk7Ci0gICAgLy8gUUNPTVBBUkUob2JqZWN0LnByb3Bl
cnR5RmxhZ3MoImZsYWdQcm9wZXJ0eSIpLCBRU2NyaXB0VmFsdWU6OlVzZXJSYW5nZSk7Ci0KLSAg
ICAvLyBmbGFncyBvZiBwcm9wZXJ0eSBpbiB0aGUgcHJvdG90eXBlCi0gICAgewotICAgICAgICBR
U2NyaXB0VmFsdWUgb2JqZWN0MiA9IGVuZy5uZXdPYmplY3QoKTsKLSAgICAgICAgb2JqZWN0Mi5z
ZXRQcm90b3R5cGUob2JqZWN0KTsKLSAgICAgICAgLy8gUUNPTVBBUkUob2JqZWN0Mi5wcm9wZXJ0
eUZsYWdzKCJmbGFnUHJvcGVydHkiLCBRU2NyaXB0VmFsdWU6OlJlc29sdmVMb2NhbCksIDApOwot
ICAgICAgICAvLyBRQ09NUEFSRShvYmplY3QyLnByb3BlcnR5RmxhZ3MoImZsYWdQcm9wZXJ0eSIp
LCBRU2NyaXB0VmFsdWU6OlVzZXJSYW5nZSk7Ci0gICAgfQotCi0gICAgLy8gdXNpbmcgaW50ZXJu
ZWQgc3RyaW5ncwotICAgIFFTY3JpcHRTdHJpbmcgZm9vID0gZW5nLnRvU3RyaW5nSGFuZGxlKCJm
b28iKTsKLQotICAgIG9iamVjdC5zZXRQcm9wZXJ0eShmb28sIFFTY3JpcHRWYWx1ZSgpKTsKLSAg
ICBRVkVSSUZZKCFvYmplY3QucHJvcGVydHkoZm9vKS5pc1ZhbGlkKCkpOwotCi0gICAgb2JqZWN0
LnNldFByb3BlcnR5KGZvbywgbnVtKTsKLSAgICBRVkVSSUZZKG9iamVjdC5wcm9wZXJ0eShmb28p
LnN0cmljdGx5RXF1YWxzKG51bSkpOwotICAgIFFWRVJJRlkob2JqZWN0LnByb3BlcnR5KCJmb28i
KS5zdHJpY3RseUVxdWFscyhudW0pKTsKLSAgICAvLyBRVkVSSUZZKG9iamVjdC5wcm9wZXJ0eUZs
YWdzKGZvbykgPT0gMCk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9TdHJpbmdTaW1w
bGVfZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU3RyaW5nPigiY29kZSIpOwotICAg
IFFUZXN0OjphZGRDb2x1bW48UVN0cmluZz4oInJlc3VsdCIpOwotCi0gICAgUVRlc3Q6Om5ld1Jv
dygic3RyaW5nIikgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCInaGVsbG8nIikgPDwgUVN0cmluZzo6
ZnJvbUFzY2lpKCJoZWxsbyIpOwotICAgIFFUZXN0OjpuZXdSb3coInN0cmluZyB1dGYiKSA8PCBR
U3RyaW5nOjpmcm9tVXRmOCgiJ8SFxZvEh8W8xbrDs8WCxYTEmSciKSA8PCBRU3RyaW5nOjpmcm9t
VXRmOCgixIXFm8SHxbzFusOzxYLFhMSZIik7Ci0gICAgUVRlc3Q6Om5ld1JvdygiZXhwcmVzc2lv
biIpIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgiMSArIDQiKSA8PCBRU3RyaW5nOjpmcm9tQXNjaWko
IjUiKTsKLSAgICBRVGVzdDo6bmV3Um93KCJudWxsIikgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCJu
dWxsIikgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCJudWxsIik7Ci0gICAgUVRlc3Q6Om5ld1Jvdygi
Ym9vbGVhbiIpIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgiZmFsc2UiKSA8PCBRU3RyaW5nOjpmcm9t
QXNjaWkoImZhbHNlIik7Ci0gICAgUVRlc3Q6Om5ld1JvdygidW5kZWZpbmVkIikgPDwgUVN0cmlu
Zzo6ZnJvbUFzY2lpKCJ1bmRlZmluZWQiKSA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoInVuZGVmaW5l
ZCIpOwotICAgIFFUZXN0OjpuZXdSb3coIm9iamVjdCIpIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgi
bmV3IE9iamVjdCIpIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgiW29iamVjdCBPYmplY3RdIik7Ci19
Ci0KLS8qIFRlc3QgY29udmVyc2lvbiB0byBzdHJpbmcgZnJvbSBkaWZmZXJlbnQgSlNDIHR5cGVz
ICovCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvU3RyaW5nU2ltcGxlKCkKLXsKLSAgICBRRkVU
Q0goUVN0cmluZywgY29kZSk7Ci0gICAgUUZFVENIKFFTdHJpbmcsIHJlc3VsdCk7Ci0KLSAgICBR
U2NyaXB0RW5naW5lIGVuZ2luZTsKLSAgICBRQ09NUEFSRShlbmdpbmUuZXZhbHVhdGUoY29kZSku
dG9TdHJpbmcoKSwgcmVzdWx0KTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjpjb3B5Q29u
c3RydWN0b3JfZGF0YSgpCi17Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAgUVNjcmlw
dFZhbHVlIG5udW1iZXIoMTIzKTsKLSAgICBRU2NyaXB0VmFsdWUgbnN0cmluZygicGluZyIpOwot
ICAgIFFTY3JpcHRWYWx1ZSBudW1iZXIoZW5naW5lLmV2YWx1YXRlKCIxIikpOwotICAgIFFTY3Jp
cHRWYWx1ZSBzdHJpbmcoZW5naW5lLmV2YWx1YXRlKCInZm9vJyIpKTsKLSAgICBRU2NyaXB0VmFs
dWUgb2JqZWN0KGVuZ2luZS5ldmFsdWF0ZSgibmV3IE9iamVjdCIpKTsKLSAgICBRU2NyaXB0VmFs
dWUgdW5kZWZpbmVkKGVuZ2luZS5ldmFsdWF0ZSgidW5kZWZpbmVkIikpOwotICAgIFFTY3JpcHRW
YWx1ZSBudWxsKGVuZ2luZS5ldmFsdWF0ZSgibnVsbCIpKTsKLQotICAgIFFUZXN0OjphZGRDb2x1
bW48UVNjcmlwdFZhbHVlPigidmFsdWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTdHJpbmc+
KCJyZXN1bHQiKTsKLQotICAgIFFUZXN0OjpuZXdSb3coIm5hdGl2ZSBudW1iZXIiKSA8PCBubnVt
YmVyIDw8IFFTdHJpbmc6Om51bWJlcigxMjMpOwotICAgIFFUZXN0OjpuZXdSb3coIm5hdGl2ZSBz
dHJpbmciKSA8PCBuc3RyaW5nIDw8IFFTdHJpbmcoInBpbmciKTsKLSAgICBRVGVzdDo6bmV3Um93
KCJudW1iZXIiKSA8PCBudW1iZXIgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCIxIik7Ci0gICAgUVRl
c3Q6Om5ld1Jvdygic3RyaW5nIikgPDwgc3RyaW5nIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgiZm9v
Iik7Ci0gICAgUVRlc3Q6Om5ld1Jvdygib2JqZWN0IikgPDwgb2JqZWN0IDw8IFFTdHJpbmc6OmZy
b21Bc2NpaSgiW29iamVjdCBPYmplY3RdIik7Ci0gICAgUVRlc3Q6Om5ld1JvdygidW5kZWZpbmVk
IikgPDwgdW5kZWZpbmVkIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgidW5kZWZpbmVkIik7Ci0gICAg
UVRlc3Q6Om5ld1JvdygibnVsbCIpIDw8IG51bGwgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCJudWxs
Iik7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6Y29weUNvbnN0cnVjdG9yKCkKLXsKLSAg
ICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKFFTdHJpbmcsIHJlc3Vs
dCk7Ci0KLSAgICBRVkVSSUZZKHZhbHVlLmlzVmFsaWQoKSk7Ci0gICAgUVNjcmlwdFZhbHVlIHRt
cCh2YWx1ZSk7Ci0gICAgUVZFUklGWSh0bXAuaXNWYWxpZCgpKTsKLSAgICBRQ09NUEFSRSh0bXAu
dG9TdHJpbmcoKSwgcmVzdWx0KTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjphc3NpZ25P
cGVyYXRvcl9kYXRhKCkKLXsKLSAgICBjb3B5Q29uc3RydWN0b3JfZGF0YSgpOwotfQotCi12b2lk
IHRzdF9RU2NyaXB0VmFsdWU6OmFzc2lnbk9wZXJhdG9yKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlw
dFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKFFTdHJpbmcsIHJlc3VsdCk7Ci0KLSAgICBRU2Ny
aXB0VmFsdWUgdG1wOwotICAgIHRtcCA9IHZhbHVlOwotICAgIFFWRVJJRlkodG1wLmlzVmFsaWQo
KSk7Ci0gICAgUUNPTVBBUkUodG1wLnRvU3RyaW5nKCksIHJlc3VsdCk7Ci19Ci0KLS8qIFRlc3Qg
aW50ZXJuYWwgZGF0YSBzaGFyaW5nIGJldHdlZW4gYSBkaWZmcmVuZXQgUVNjcmlwdFZhbHVlLiAq
Lwotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjpkYXRhU2hhcmluZygpCi17Ci0gICAgUVNjcmlwdEVu
Z2luZSBlbmdpbmU7Ci0gICAgUVNjcmlwdFZhbHVlIHYxOwotICAgIFFTY3JpcHRWYWx1ZSB2Mih2
MSk7Ci0KLSAgICB2MSA9IGVuZ2luZS5ldmFsdWF0ZSgiMSIpOyAvLyB2MSA9PSAxIDsgdjIgaW52
YWxpZC4KLSAgICBRVkVSSUZZKHYxLmlzVmFsaWQoKSk7Ci0gICAgUVZFUklGWSghdjIuaXNWYWxp
ZCgpKTsKLQotICAgIHYyID0gdjE7IC8vIHYxID09IDE7IHYyID09IDEuCi0gICAgUVZFUklGWSh2
MS5pc1ZhbGlkKCkpOwotICAgIFFWRVJJRlkodjIuaXNWYWxpZCgpKTsKLQotICAgIHYxID0gZW5n
aW5lLmV2YWx1YXRlKCJvYmogPSBuZXcgRGF0ZSIpOyAvLyB2MSA9PSBbb2JqZWN0IERhdGVdIDsg
djIgPT0gMS4KLSAgICBRVkVSSUZZKHYxLmlzVmFsaWQoKSk7Ci0gICAgUVZFUklGWSh2Mi5pc1Zh
bGlkKCkpOwotICAgIFFWRVJJRlkodjIudG9TdHJpbmcoKSAhPSB2MS50b1N0cmluZygpKTsKLQot
ICAgIC8vIFRPRE8gYWRkIG9iamVjdCBtYW5pcHVsYXRpb24gKHYxIGFuZCB2MiBwb2ludCB0byB0
aGUgc2FtZSBvYmplY3QpLgotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmNvbnN0cnVjdG9y
c19kYXRhKCkKLXsKLSAgICBRU2NyaXB0RW5naW5lIGVuZ2luZTsKLQotICAgIFFUZXN0OjphZGRD
b2x1bW48UVNjcmlwdFZhbHVlPigidmFsdWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTdHJp
bmc+KCJzdHJpbmciKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGJvb2w+KCJ2YWxpZCIpOwotICAg
IFFUZXN0OjphZGRDb2x1bW48Ym9vbD4oIm9iamVjdCIpOwotCi0gICAgUVRlc3Q6Om5ld1Jvdygi
aW52YWxpZCIpIDw8IFFTY3JpcHRWYWx1ZSgpIDw8IFFTdHJpbmcoKSA8PCBmYWxzZSA8PCBmYWxz
ZTsKLSAgICBRVGVzdDo6bmV3Um93KCJudW1iZXIiKSA8PCBRU2NyaXB0VmFsdWUoLTIxKSA8PCBR
U3RyaW5nOjpudW1iZXIoLTIxKSA8PCB0cnVlIDw8IGZhbHNlOwotICAgIFFUZXN0OjpuZXdSb3co
ImJvb2wiKSA8PCBRU2NyaXB0VmFsdWUodHJ1ZSkgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCJ0cnVl
IikgPDwgdHJ1ZSA8PCBmYWxzZTsKLSAgICBRVGVzdDo6bmV3Um93KCJkb3VibGUiKSA8PCBRU2Ny
aXB0VmFsdWUoMjEuMTIpIDw8IFFTdHJpbmc6Om51bWJlcigyMS4xMikgPDwgdHJ1ZSA8PCBmYWxz
ZTsKLSAgICBRVGVzdDo6bmV3Um93KCJzdHJpbmciKSA8PCBRU2NyaXB0VmFsdWUoIkFsYU1hS290
YSIpIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgiQWxhTWFLb3RhIikgPDwgdHJ1ZSA8PCBmYWxzZTsK
LSAgICBRVGVzdDo6bmV3Um93KCJvYmplY3QiKSA8PCBlbmdpbmUuZXZhbHVhdGUoIm5ldyBPYmpl
Y3QiKSA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoIltvYmplY3QgT2JqZWN0XSIpIDw8IHRydWUgPDwg
dHJ1ZTsKLSAgICBRVGVzdDo6bmV3Um93KCJudWxsIikgPDwgUVNjcmlwdFZhbHVlKFFTY3JpcHRW
YWx1ZTo6TnVsbFZhbHVlKTw8IFFTdHJpbmc6OmZyb21Bc2NpaSgibnVsbCIpIDw8IHRydWUgPDwg
ZmFsc2U7Ci0gICAgUVRlc3Q6Om5ld1JvdygidW5kZWYiKSA8PCBRU2NyaXB0VmFsdWUoUVNjcmlw
dFZhbHVlOjpVbmRlZmluZWRWYWx1ZSk8PCBRU3RyaW5nOjpmcm9tQXNjaWkoInVuZGVmaW5lZCIp
IDw8IHRydWUgPDwgZmFsc2U7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6Y29uc3RydWN0
b3JzKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKFFT
dHJpbmcsIHN0cmluZyk7Ci0gICAgUUZFVENIKGJvb2wsIHZhbGlkKTsKLSAgICBRRkVUQ0goYm9v
bCwgb2JqZWN0KTsKLQotICAgIFFDT01QQVJFKHZhbHVlLmlzVmFsaWQoKSwgdmFsaWQpOwotICAg
IFFDT01QQVJFKHZhbHVlLnRvU3RyaW5nKCksIHN0cmluZyk7Ci0gICAgUUNPTVBBUkUodmFsdWUu
aXNPYmplY3QoKSwgb2JqZWN0KTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjpjYWxsKCkK
LXsKLSAgICBRU2NyaXB0RW5naW5lIGVuZ2luZTsKLSAgICBRU2NyaXB0VmFsdWUgcGluZyA9IGVu
Z2luZS5ldmFsdWF0ZSgiKCBmdW5jdGlvbigpIHtyZXR1cm4gJ3BpbmcnO30gKSIpOwotICAgIFFT
Y3JpcHRWYWx1ZSBpbmNyID0gZW5naW5lLmV2YWx1YXRlKCIoIGZ1bmN0aW9uKGkpIHtyZXR1cm4g
aSArIDE7fSApIik7Ci0gICAgUVNjcmlwdFZhbHVlIG9uZSgxKTsKLSAgICBRU2NyaXB0VmFsdWUg
Zml2ZSg1KTsKLSAgICBRU2NyaXB0VmFsdWUgcmVzdWx0OwotCi0gICAgUVZFUklGWShvbmUuaXNW
YWxpZCgpKTsKLSAgICBRVkVSSUZZKGZpdmUuaXNWYWxpZCgpKTsKLQotICAgIFFWRVJJRlkocGlu
Zy5pc1ZhbGlkKCkpOwotICAgIFFWRVJJRlkocGluZy5pc0Z1bmN0aW9uKCkpOwotICAgIHJlc3Vs
dCA9IHBpbmcuY2FsbCgpOwotICAgIFFWRVJJRlkocmVzdWx0LmlzVmFsaWQoKSk7Ci0gICAgUUNP
TVBBUkUocmVzdWx0LnRvU3RyaW5nKCksIFFTdHJpbmc6OmZyb21VdGY4KCJwaW5nIikpOwotCi0g
ICAgUVZFUklGWShpbmNyLmlzVmFsaWQoKSk7Ci0gICAgUVZFUklGWShpbmNyLmlzRnVuY3Rpb24o
KSk7Ci0gICAgcmVzdWx0ID0gaW5jci5jYWxsKFFTY3JpcHRWYWx1ZSgpLCBRU2NyaXB0VmFsdWVM
aXN0KCkgPDwgb25lKTsKLSAgICBRVkVSSUZZKHJlc3VsdC5pc1ZhbGlkKCkpOwotICAgIFFDT01Q
QVJFKHJlc3VsdC50b1N0cmluZygpLCBRU3RyaW5nKCIyIikpOwotCi0gICAgUUNPTVBBUkUoaW5j
ci5jYWxsKFFTY3JpcHRWYWx1ZSgpLCBRU2NyaXB0VmFsdWVMaXN0KCkgPDwgZml2ZSkudG9TdHJp
bmcoKSwgUVN0cmluZzo6ZnJvbUFzY2lpKCI2IikpOwotCi0gICAgUVZFUklGWShpbmNyLmNhbGwo
KS5pc1ZhbGlkKCkpOyAvLyBFeGNlcHRpb24uCi19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6
Z2V0U2V0UHJvdG90eXBlKCkKLXsKLSAgICBRU2NyaXB0RW5naW5lIGVuZ2luZTsKLSAgICBRU2Ny
aXB0VmFsdWUgb2JqZWN0ID0gZW5naW5lLmV2YWx1YXRlKCJuZXcgT2JqZWN0KCkiKTsKLSAgICBR
U2NyaXB0VmFsdWUgb2JqZWN0MiA9IGVuZ2luZS5ldmFsdWF0ZSgibmV3IE9iamVjdCgpIik7Ci0g
ICAgb2JqZWN0Mi5zZXRQcm90b3R5cGUob2JqZWN0KTsKLSAgICBRQ09NUEFSRShvYmplY3QyLnBy
b3RvdHlwZSgpLnN0cmljdGx5RXF1YWxzKG9iamVjdCksIHRydWUpOwotCi0gICAgUVNjcmlwdFZh
bHVlIGludjsKLSAgICBpbnYuc2V0UHJvdG90eXBlKG9iamVjdCk7Ci0gICAgUUNPTVBBUkUoaW52
LnByb3RvdHlwZSgpLmlzVmFsaWQoKSwgZmFsc2UpOwotCi0gICAgUVNjcmlwdEVuZ2luZSBvdGhl
ckVuZ2luZTsKLSAgICBRU2NyaXB0VmFsdWUgb2JqZWN0MyA9IG90aGVyRW5naW5lLmV2YWx1YXRl
KCJuZXcgT2JqZWN0KCkiKTsKLSAgICBRVGVzdDo6aWdub3JlTWVzc2FnZShRdFdhcm5pbmdNc2cs
ICJRU2NyaXB0VmFsdWU6OnNldFByb3RvdHlwZSgpIGZhaWxlZDogY2Fubm90IHNldCBhIHByb3Rv
dHlwZSBjcmVhdGVkIGluIGEgZGlmZmVyZW50IGVuZ2luZSIpOwotICAgIG9iamVjdDIuc2V0UHJv
dG90eXBlKG9iamVjdDMpOwotICAgIFFDT01QQVJFKG9iamVjdDIucHJvdG90eXBlKCkuc3RyaWN0
bHlFcXVhbHMob2JqZWN0KSwgdHJ1ZSk7Ci0KLSAgICAvLyBjeWNsaWMgcHJvdG90eXBlcwotICAg
IHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHJldCA9IGVuZ2luZS5ldmFsdWF0ZSgibyA9IHsgfTsg
cCA9IHsgfTsgby5fX3Byb3RvX18gPSBwOyBwLl9fcHJvdG9fXyA9IG8iKTsKLSAgICAgICAgUUNP
TVBBUkUocmV0LmlzRXJyb3IoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHJldC50b1N0cmlu
ZygpLCBRTGF0aW4xU3RyaW5nKCJFcnJvcjogY3ljbGljIF9fcHJvdG9fXyB2YWx1ZSIpKTsKLSAg
ICB9Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgcmV0ID0gZW5naW5lLmV2YWx1YXRlKCJw
Ll9fcHJvdG9fXyA9IHsgfSIpOwotICAgICAgICBRQ09NUEFSRShyZXQuaXNFcnJvcigpLCBmYWxz
ZSk7Ci0gICAgfQotCi0gICAgUVNjcmlwdFZhbHVlIG9sZCA9IG9iamVjdC5wcm90b3R5cGUoKTsK
LSAgICBRVGVzdDo6aWdub3JlTWVzc2FnZShRdFdhcm5pbmdNc2csICJRU2NyaXB0VmFsdWU6OnNl
dFByb3RvdHlwZSgpIGZhaWxlZDogY3ljbGljIHByb3RvdHlwZSB2YWx1ZSIpOwotICAgIG9iamVj
dC5zZXRQcm90b3R5cGUob2JqZWN0KTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJvdG90eXBlKCku
c3RyaWN0bHlFcXVhbHMob2xkKSwgdHJ1ZSk7Ci0KLSAgICBvYmplY3QyLnNldFByb3RvdHlwZShv
YmplY3QpOwotICAgIFFUZXN0OjppZ25vcmVNZXNzYWdlKFF0V2FybmluZ01zZywgIlFTY3JpcHRW
YWx1ZTo6c2V0UHJvdG90eXBlKCkgZmFpbGVkOiBjeWNsaWMgcHJvdG90eXBlIHZhbHVlIik7Ci0g
ICAgb2JqZWN0LnNldFByb3RvdHlwZShvYmplY3QyKTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJv
dG90eXBlKCkuc3RyaWN0bHlFcXVhbHMob2xkKSwgdHJ1ZSk7Ci19Ci0KLXZvaWQgdHN0X1FTY3Jp
cHRWYWx1ZTo6dG9PYmplY3RTaW1wbGUoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5nOwotCi0g
ICAgUVNjcmlwdFZhbHVlIHVuZGVmaW5lZCA9IGVuZy51bmRlZmluZWRWYWx1ZSgpOwotICAgIFFD
T01QQVJFKHVuZGVmaW5lZC50b09iamVjdCgpLmlzVmFsaWQoKSwgZmFsc2UpOwotICAgIFFTY3Jp
cHRWYWx1ZSBudWxsID0gZW5nLm51bGxWYWx1ZSgpOwotICAgIFFDT01QQVJFKG51bGwudG9PYmpl
Y3QoKS5pc1ZhbGlkKCksIGZhbHNlKTsKLSAgICBRQ09NUEFSRShRU2NyaXB0VmFsdWUoKS50b09i
amVjdCgpLmlzVmFsaWQoKSwgZmFsc2UpOwotCi0gICAgUVNjcmlwdFZhbHVlIGZhbHNrdCA9IFFT
Y3JpcHRWYWx1ZSgmZW5nLCBmYWxzZSk7Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgdG1w
ID0gZmFsc2t0LnRvT2JqZWN0KCk7Ci0gICAgICAgIFFDT01QQVJFKHRtcC5pc09iamVjdCgpLCB0
cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoZmFsc2t0LmlzT2JqZWN0KCksIGZhbHNlKTsKLSAgICAg
ICAgUUNPTVBBUkUodG1wLnRvTnVtYmVyKCksIGZhbHNrdC50b051bWJlcigpKTsKLSAgICB9Ci0K
LSAgICBRU2NyaXB0VmFsdWUgc2FudCA9IFFTY3JpcHRWYWx1ZSgmZW5nLCB0cnVlKTsKLSAgICB7
Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB0bXAgPSBzYW50LnRvT2JqZWN0KCk7Ci0gICAgICAgIFFD
T01QQVJFKHRtcC5pc09iamVjdCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoc2FudC5pc09i
amVjdCgpLCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHRtcC50b051bWJlcigpLCBzYW50LnRv
TnVtYmVyKCkpOwotICAgIH0KLQotICAgIFFTY3JpcHRWYWx1ZSBudW1iZXIgPSBRU2NyaXB0VmFs
dWUoJmVuZywgMTIzLjApOwotICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHRtcCA9IG51bWJl
ci50b09iamVjdCgpOwotICAgICAgICBRQ09NUEFSRSh0bXAuaXNPYmplY3QoKSwgdHJ1ZSk7Ci0g
ICAgICAgIFFDT01QQVJFKG51bWJlci5pc09iamVjdCgpLCBmYWxzZSk7Ci0gICAgICAgIFFDT01Q
QVJFKHRtcC50b051bWJlcigpLCBudW1iZXIudG9OdW1iZXIoKSk7Ci0gICAgfQotCi0gICAgUVNj
cmlwdFZhbHVlIHN0ciA9IFFTY3JpcHRWYWx1ZSgmZW5nLCBRU3RyaW5nKCJjaWFvIikpOwotICAg
IHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHRtcCA9IHN0ci50b09iamVjdCgpOwotICAgICAgICBR
Q09NUEFSRSh0bXAuaXNPYmplY3QoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHN0ci5pc09i
amVjdCgpLCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHRtcC50b1N0cmluZygpLCBzdHIudG9T
dHJpbmcoKSk7Ci0gICAgfQotCi0KLSAgICBRU2NyaXB0VmFsdWUgb2JqZWN0ID0gZW5nLmV2YWx1
YXRlKCJuZXcgT2JqZWN0Iik7Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgdG1wID0gb2Jq
ZWN0LnRvT2JqZWN0KCk7Ci0gICAgICAgIFFWRVJJRlkodG1wLnN0cmljdGx5RXF1YWxzKG9iamVj
dCkpOwotICAgICAgICBRQ09NUEFSRSh0bXAuaXNPYmplY3QoKSwgdHJ1ZSk7Ci0gICAgfQotCi0K
LSAgICAvLyBWMiBjb25zdHJ1Y3RvcnM6IGluIHRoaXMgY2FzZSwgeW91IGhhdmUgdG8gdXNlIFFT
Y3JpcHRFbmdpbmU6OnRvT2JqZWN0KCkKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB1bmRl
ZmluZWQgPSBRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSk7Ci0gICAg
ICAgIFFWRVJJRlkoIXVuZGVmaW5lZC50b09iamVjdCgpLmlzVmFsaWQoKSk7Ci0gICAgICAgIFFW
RVJJRlkoIWVuZy50b09iamVjdCh1bmRlZmluZWQpLmlzVmFsaWQoKSk7Ci0gICAgICAgIFFWRVJJ
RlkoIXVuZGVmaW5lZC5lbmdpbmUoKSk7Ci0KLSAgICAgICAgUVNjcmlwdFZhbHVlIG51bGwgPSBR
U2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpOwotICAgICAgICBRVkVSSUZZKCFu
dWxsLnRvT2JqZWN0KCkuaXNWYWxpZCgpKTsKLSAgICAgICAgUVZFUklGWSghZW5nLnRvT2JqZWN0
KG51bGwpLmlzVmFsaWQoKSk7Ci0gICAgICAgIFFWRVJJRlkoIW51bGwuZW5naW5lKCkpOwotCi0g
ICAgICAgIFFTY3JpcHRWYWx1ZSBmYWxza3QgPSBRU2NyaXB0VmFsdWUoZmFsc2UpOwotICAgICAg
ICBRVkVSSUZZKCFmYWxza3QudG9PYmplY3QoKS5pc1ZhbGlkKCkpOwotICAgICAgICBRQ09NUEFS
RShmYWxza3QuaXNPYmplY3QoKSwgZmFsc2UpOwotICAgICAgICBRVkVSSUZZKCFmYWxza3QuZW5n
aW5lKCkpOwotICAgICAgICB7Ci0gICAgICAgICAgICBRU2NyaXB0VmFsdWUgdG1wID0gZW5nLnRv
T2JqZWN0KGZhbHNrdCk7Ci0gICAgICAgICAgICBRVkVSSUZZKHRtcC5pc09iamVjdCgpKTsKLSAg
ICAgICAgICAgIFFWRVJJRlkodG1wLnRvQm9vbCgpKTsKLSAgICAgICAgICAgIFFWRVJJRlkoIWZh
bHNrdC5pc09iamVjdCgpKTsKLSAgICAgICAgfQotCi0gICAgICAgIFFTY3JpcHRWYWx1ZSBzYW50
ID0gUVNjcmlwdFZhbHVlKHRydWUpOwotICAgICAgICBRVkVSSUZZKCFzYW50LnRvT2JqZWN0KCku
aXNWYWxpZCgpKTsKLSAgICAgICAgUUNPTVBBUkUoc2FudC5pc09iamVjdCgpLCBmYWxzZSk7Ci0g
ICAgICAgIFFWRVJJRlkoIXNhbnQuZW5naW5lKCkpOwotICAgICAgICB7Ci0gICAgICAgICAgICBR
U2NyaXB0VmFsdWUgdG1wID0gZW5nLnRvT2JqZWN0KHNhbnQpOwotICAgICAgICAgICAgUVZFUklG
WSh0bXAuaXNPYmplY3QoKSk7Ci0gICAgICAgICAgICBRVkVSSUZZKHRtcC50b0Jvb2woKSk7Ci0g
ICAgICAgICAgICBRVkVSSUZZKCFzYW50LmlzT2JqZWN0KCkpOwotICAgICAgICB9Ci0KLSAgICAg
ICAgUVNjcmlwdFZhbHVlIG51bWJlciA9IFFTY3JpcHRWYWx1ZSgxMjMuMCk7Ci0gICAgICAgIFFW
RVJJRlkoIW51bWJlci50b09iamVjdCgpLmlzVmFsaWQoKSk7Ci0gICAgICAgIFFWRVJJRlkoIW51
bWJlci5lbmdpbmUoKSk7Ci0gICAgICAgIFFDT01QQVJFKG51bWJlci5pc09iamVjdCgpLCBmYWxz
ZSk7Ci0gICAgICAgIHsKLSAgICAgICAgICAgIFFTY3JpcHRWYWx1ZSB0bXAgPSBlbmcudG9PYmpl
Y3QobnVtYmVyKTsKLSAgICAgICAgICAgIFFWRVJJRlkodG1wLmlzT2JqZWN0KCkpOwotICAgICAg
ICAgICAgUUNPTVBBUkUodG1wLnRvSW50MzIoKSwgbnVtYmVyLnRvSW50MzIoKSk7Ci0gICAgICAg
ICAgICBRVkVSSUZZKCFudW1iZXIuaXNPYmplY3QoKSk7Ci0gICAgICAgIH0KLQotICAgICAgICBR
U2NyaXB0VmFsdWUgc3RyID0gUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoImNpYW8i
KSk7Ci0gICAgICAgIFFWRVJJRlkoIXN0ci50b09iamVjdCgpLmlzVmFsaWQoKSk7Ci0gICAgICAg
IFFWRVJJRlkoIXN0ci5lbmdpbmUoKSk7Ci0gICAgICAgIFFDT01QQVJFKHN0ci5pc09iamVjdCgp
LCBmYWxzZSk7Ci0gICAgICAgIHsKLSAgICAgICAgICAgIFFTY3JpcHRWYWx1ZSB0bXAgPSBlbmcu
dG9PYmplY3Qoc3RyKTsKLSAgICAgICAgICAgIFFWRVJJRlkodG1wLmlzT2JqZWN0KCkpOwotICAg
ICAgICAgICAgUUNPTVBBUkUodG1wLnRvU3RyaW5nKCksIFFTdHJpbmc6OmZyb21MYXRpbjEoImNp
YW8iKSk7Ci0gICAgICAgICAgICBRVkVSSUZZKCFzdHIuaXNPYmplY3QoKSk7Ci0gICAgICAgIH0K
LSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6c2V0UHJvcGVydHlfZGF0YSgpCi17
Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJwcm9wZXJ0eSIpOwotICAgIFFU
ZXN0OjphZGRDb2x1bW48aW50PigiZmxhZyIpOwotCi0gICAgUVRlc3Q6Om5ld1JvdygiaW50ICsg
a2VlcEV4aXN0aW5nRmxhZ3MiKSA8PCBRU2NyaXB0VmFsdWUoMTIzNDU2KSA8PCBzdGF0aWNfY2Fz
dDxpbnQ+KFFTY3JpcHRWYWx1ZTo6S2VlcEV4aXN0aW5nRmxhZ3MpOwotICAgIFFUZXN0OjpuZXdS
b3coImludCArIHVuZGVsZXRhYmxlIikgPDwgUVNjcmlwdFZhbHVlKDEyMzQ1NikgPDwgc3RhdGlj
X2Nhc3Q8aW50PihRU2NyaXB0VmFsdWU6OlVuZGVsZXRhYmxlKTsKLSAgICBRVGVzdDo6bmV3Um93
KCJpbnQgKyByZWFkT25seSIpIDw8IFFTY3JpcHRWYWx1ZSgxMjM0NTYpIDw8IHN0YXRpY19jYXN0
PGludD4oUVNjcmlwdFZhbHVlOjpSZWFkT25seSk7Ci0gICAgUVRlc3Q6Om5ld1JvdygiaW50ICsg
cmVhZE9ubHl8dW5kZWxldGFibGUiKSA8PCBRU2NyaXB0VmFsdWUoMTIzNDU2KSA8PCBzdGF0aWNf
Y2FzdDxpbnQ+KFFTY3JpcHRWYWx1ZTo6UmVhZE9ubHkgfCBRU2NyaXB0VmFsdWU6OlVuZGVsZXRh
YmxlKTsKLSAgICBRVGVzdDo6bmV3Um93KCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbiIpIDw8IFFT
Y3JpcHRWYWx1ZSgxMjM0NTYpIDw8IHN0YXRpY19jYXN0PGludD4oUVNjcmlwdFZhbHVlOjpTa2lw
SW5FbnVtZXJhdGlvbik7Ci0gICAgUVRlc3Q6Om5ld1JvdygiaW50ICsgc2tpcEluRW51bWVyYXRp
b258cmVhZE9ubHkiKSA8PCBRU2NyaXB0VmFsdWUoMTIzNDU2KSA8PCBzdGF0aWNfY2FzdDxpbnQ+
KFFTY3JpcHRWYWx1ZTo6U2tpcEluRW51bWVyYXRpb24gfCBRU2NyaXB0VmFsdWU6OlJlYWRPbmx5
KTsKLSAgICBRVGVzdDo6bmV3Um93KCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnx1bmRlbGV0YWJs
ZSIpIDw8IFFTY3JpcHRWYWx1ZSgxMjM0NTYpIDw8IHN0YXRpY19jYXN0PGludD4oUVNjcmlwdFZh
bHVlOjpTa2lwSW5FbnVtZXJhdGlvbiB8IFFTY3JpcHRWYWx1ZTo6VW5kZWxldGFibGUpOwotICAg
IFFUZXN0OjpuZXdSb3coImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5fHVuZGVsZXRh
YmxlIikgPDwgUVNjcmlwdFZhbHVlKDEyMzQ1NikgPDwgc3RhdGljX2Nhc3Q8aW50PihRU2NyaXB0
VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uIHwgUVNjcmlwdFZhbHVlOjpSZWFkT25seSB8IFFTY3Jp
cHRWYWx1ZTo6VW5kZWxldGFibGUpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnNldFBy
b3BlcnR5KCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCBwcm9wZXJ0eSk7Ci0gICAgUUZF
VENIKGludCwgZmxhZyk7Ci0gICAgUVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdzIGZsYWdzID0g
c3RhdGljX2Nhc3Q8UVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWc+KGZsYWcpOwotCi0gICAgUVNj
cmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAgUVNjcmlwdFZhbHVlIG9iamVjdCA9IGVuZ2luZS5ldmFs
dWF0ZSgibyA9IG5ldyBPYmplY3Q7IG8iKTsKLSAgICBRU2NyaXB0VmFsdWUgcHJvdG8gPSBlbmdp
bmUuZXZhbHVhdGUoInAgPSBuZXcgT2JqZWN0OyBvLl9fcHJvdG9fXyA9IHA7IHAiKTsKLSAgICBl
bmdpbmUuZXZhbHVhdGUoIm8uZGVmaW5lZDEgPSAxIik7Ci0gICAgZW5naW5lLmV2YWx1YXRlKCJv
LmRlZmluZWQyID0gMSIpOwotICAgIGVuZ2luZS5ldmFsdWF0ZSgib1s1XSA9IDEiKTsKLSAgICBl
bmdpbmUuZXZhbHVhdGUoInAub3ZlcmxvYWRlZDEgPSAxIik7Ci0gICAgZW5naW5lLmV2YWx1YXRl
KCJvLm92ZXJsb2FkZWQxID0gMiIpOwotICAgIGVuZ2luZS5ldmFsdWF0ZSgicFs2XSA9IDEiKTsK
LSAgICBlbmdpbmUuZXZhbHVhdGUoIm9bNl0gPSAyIik7Ci0gICAgZW5naW5lLmV2YWx1YXRlKCJw
Lm92ZXJsb2FkZWQyID0gMSIpOwotICAgIGVuZ2luZS5ldmFsdWF0ZSgiby5vdmVybG9hZGVkMiA9
IDIiKTsKLSAgICBlbmdpbmUuZXZhbHVhdGUoInAub3ZlcmxvYWRlZDMgPSAxIik7Ci0gICAgZW5n
aW5lLmV2YWx1YXRlKCJvLm92ZXJsb2FkZWQzID0gMiIpOwotICAgIGVuZ2luZS5ldmFsdWF0ZSgi
cFs3XSA9IDEiKTsKLSAgICBlbmdpbmUuZXZhbHVhdGUoIm9bN10gPSAyIik7Ci0gICAgZW5naW5l
LmV2YWx1YXRlKCJwLm92ZXJsb2FkZWQ0ID0gMSIpOwotICAgIGVuZ2luZS5ldmFsdWF0ZSgiby5v
dmVybG9hZGVkNCA9IDIiKTsKLQotICAgIC8vIHRyaWVzIHRvIHNldCB1bmRlZmluZWQgcHJvcGVy
dHkgZGlyZWN0bHkgb24gb2JqZWN0LgotICAgIG9iamVjdC5zZXRQcm9wZXJ0eShRU3RyaW5nOjpm
cm9tQXNjaWkoInVuZGVmaW5lZDEiKSwgcHJvcGVydHksIGZsYWdzKTsKLSAgICBRVkVSSUZZKGVu
Z2luZS5ldmFsdWF0ZSgiby51bmRlZmluZWQxIikuc3RyaWN0bHlFcXVhbHMocHJvcGVydHkpKTsK
LSAgICBvYmplY3Quc2V0UHJvcGVydHkoZW5naW5lLnRvU3RyaW5nSGFuZGxlKCJ1bmRlZmluZWQy
IiksIHByb3BlcnR5LCBmbGFncyk7Ci0gICAgUVZFUklGWShvYmplY3QucHJvcGVydHkoInVuZGVm
aW5lZDIiKS5zdHJpY3RseUVxdWFscyhwcm9wZXJ0eSkpOwotICAgIG9iamVjdC5zZXRQcm9wZXJ0
eSg0LCBwcm9wZXJ0eSwgZmxhZ3MpOwotICAgIFFWRVJJRlkob2JqZWN0LnByb3BlcnR5KDQpLnN0
cmljdGx5RXF1YWxzKHByb3BlcnR5KSk7Ci0KLSAgICAvLyB0cmllcyB0byBzZXQgZGVmaW5lZCBw
cm9wZXJ0eSBkaXJlY3RseSBvbiBvYmplY3QKLSAgICBvYmplY3Quc2V0UHJvcGVydHkoImRlZmlu
ZWQxIiwgcHJvcGVydHksIGZsYWdzKTsKLSAgICBRVkVSSUZZKGVuZ2luZS5ldmFsdWF0ZSgiby5k
ZWZpbmVkMSIpLnN0cmljdGx5RXF1YWxzKHByb3BlcnR5KSk7Ci0gICAgb2JqZWN0LnNldFByb3Bl
cnR5KGVuZ2luZS50b1N0cmluZ0hhbmRsZSgiZGVmaW5lZDIiKSwgcHJvcGVydHksIGZsYWdzKTsK
LSAgICBRVkVSSUZZKG9iamVjdC5wcm9wZXJ0eSgiZGVmaW5lZDIiKS5zdHJpY3RseUVxdWFscyhw
cm9wZXJ0eSkpOwotICAgIG9iamVjdC5zZXRQcm9wZXJ0eSg1LCBwcm9wZXJ0eSwgZmxhZ3MpOwot
ICAgIFFWRVJJRlkob2JqZWN0LnByb3BlcnR5KDUpLnN0cmljdGx5RXF1YWxzKHByb3BlcnR5KSk7
Ci0KLSAgICAvLyB0cmllcyB0byBzZXQgb3ZlcmxvYWRlZCBwcm9wZXJ0eSBkaXJlY3RseSBvbiBv
YmplY3QKLSAgICBvYmplY3Quc2V0UHJvcGVydHkoIm92ZXJsb2FkZWQxIiwgcHJvcGVydHksIGZs
YWdzKTsKLSAgICBRVkVSSUZZKGVuZ2luZS5ldmFsdWF0ZSgiby5vdmVybG9hZGVkMSIpLnN0cmlj
dGx5RXF1YWxzKHByb3BlcnR5KSk7Ci0gICAgb2JqZWN0LnNldFByb3BlcnR5KGVuZ2luZS50b1N0
cmluZ0hhbmRsZSgib3ZlcmxvYWRlZDIiKSwgcHJvcGVydHksIGZsYWdzKTsKLSAgICBRVkVSSUZZ
KG9iamVjdC5wcm9wZXJ0eSgib3ZlcmxvYWRlZDIiKS5zdHJpY3RseUVxdWFscyhwcm9wZXJ0eSkp
OwotICAgIG9iamVjdC5zZXRQcm9wZXJ0eSg2LCBwcm9wZXJ0eSwgZmxhZ3MpOwotICAgIFFWRVJJ
Rlkob2JqZWN0LnByb3BlcnR5KDYpLnN0cmljdGx5RXF1YWxzKHByb3BlcnR5KSk7Ci0KLSAgICAv
LyB0cmllcyB0byBzZXQgb3ZlcmxvYWRlZCBwcm9wZXJ0eSBkaXJlY3RseSBvbiBwcm90b3R5cGUK
LSAgICBwcm90by5zZXRQcm9wZXJ0eSgib3ZlcmxvYWRlZDMiLCBwcm9wZXJ0eSwgZmxhZ3MpOwot
ICAgIFFWRVJJRlkoIWVuZ2luZS5ldmFsdWF0ZSgiby5vdmVybG9hZGVkMyIpLnN0cmljdGx5RXF1
YWxzKHByb3BlcnR5KSk7Ci0gICAgcHJvdG8uc2V0UHJvcGVydHkoZW5naW5lLnRvU3RyaW5nSGFu
ZGxlKCJvdmVybG9hZGVkNCIpLCBwcm9wZXJ0eSwgZmxhZ3MpOwotICAgIFFWRVJJRlkoIW9iamVj
dC5wcm9wZXJ0eSgib3ZlcmxvYWRlZDQiKS5zdHJpY3RseUVxdWFscyhwcm9wZXJ0eSkpOwotICAg
IHByb3RvLnNldFByb3BlcnR5KDcsIHByb3BlcnR5LCBmbGFncyk7Ci0gICAgUVZFUklGWSghb2Jq
ZWN0LnByb3BlcnR5KDcpLnN0cmljdGx5RXF1YWxzKHByb3BlcnR5KSk7Ci0KLSAgICAvLyB0cmll
cyB0byBzZXQgdW5kZWZpbmVkIHByb3BlcnR5IGRpcmVjdGx5IG9uIHByb3RvdHlwZQotICAgIHBy
b3RvLnNldFByb3BlcnR5KCJ1bmRlZmluZWQzIiwgcHJvcGVydHksIGZsYWdzKTsKLSAgICBRVkVS
SUZZKGVuZ2luZS5ldmFsdWF0ZSgiby51bmRlZmluZWQzIikuc3RyaWN0bHlFcXVhbHMocHJvcGVy
dHkpKTsKLSAgICBwcm90by5zZXRQcm9wZXJ0eShlbmdpbmUudG9TdHJpbmdIYW5kbGUoInVuZGVm
aW5lZDQiKSwgcHJvcGVydHksIGZsYWdzKTsKLSAgICBRVkVSSUZZKG9iamVjdC5wcm9wZXJ0eSgi
dW5kZWZpbmVkNCIpLnN0cmljdGx5RXF1YWxzKHByb3BlcnR5KSk7Ci0gICAgcHJvdG8uc2V0UHJv
cGVydHkoOCwgcHJvcGVydHksIGZsYWdzKTsKLSAgICBRVkVSSUZZKG9iamVjdC5wcm9wZXJ0eSg4
KS5zdHJpY3RseUVxdWFscyhwcm9wZXJ0eSkpOwotCi0gICAgYm9vbCByZWFkT25seSA9IGZsYWdz
ICYgUVNjcmlwdFZhbHVlOjpSZWFkT25seTsKLSAgICBib29sIHNraXBJbkVudW1lcmF0aW9uID0g
ZmxhZ3MgJiBRU2NyaXB0VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uOwotICAgIGJvb2wgdW5kZWxl
dGFibGUgPSBmbGFncyAmIFFTY3JpcHRWYWx1ZTo6VW5kZWxldGFibGU7Ci0KLSAgICBRVkVSSUZZ
KHJlYWRPbmx5ID09IGVuZ2luZS5ldmFsdWF0ZSgiIU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IobywgJzQnKS53cml0YWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRRVhQRUNUX0ZBSUwoImlu
dCArIHJlYWRPbmx5IiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0
eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVY
UEVDVF9GQUlMKCJpbnQgKyByZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYx
MyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxh
Z3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRp
b258cmVhZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5
IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQ
RUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwg
IldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3
cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUVZFUklGWShyZWFkT25seSA9
PSBlbmdpbmUuZXZhbHVhdGUoIiFPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICc1
Jykud3JpdGFibGUiKS50b0Jvb2woKSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyByZWFkT25s
eSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBv
dmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgi
aW50ICsgcmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09i
amVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRp
bnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5
IiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92
ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJp
bnQgKyBza2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVn
OiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVy
dHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFWRVJJRlkocmVhZE9ubHkgPT0gZW5naW5lLmV2
YWx1YXRlKCIhT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAnNicpLndyaXRhYmxl
IikudG9Cb29sKCkpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgcmVhZE9ubHkiLCAiV2ViS2l0
IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHBy
b3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHJlYWRP
bmx5fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9w
ZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAg
UUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seSIsICJXZWJLaXQg
YnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJv
cGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcElu
RW51bWVyYXRpb258cmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRo
ZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIs
IENvbnRpbnVlKTsKLSAgICBRVkVSSUZZKHJlYWRPbmx5ID09IGVuZ2luZS5ldmFsdWF0ZSgiIU9i
amVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocCwgJzcnKS53cml0YWJsZSIpLnRvQm9vbCgp
KTsKLSAgICBRVkVSSUZZKHJlYWRPbmx5ID09IGVuZ2luZS5ldmFsdWF0ZSgiIU9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IocCwgJzgnKS53cml0YWJsZSIpLnRvQm9vbCgpKTsKLSAgICBR
VkVSSUZZKHJlYWRPbmx5ID09IGVuZ2luZS5ldmFsdWF0ZSgiIU9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IobywgJ3VuZGVmaW5lZDEnKS53cml0YWJsZSIpLnRvQm9vbCgpKTsKLSAgICBR
VkVSSUZZKHJlYWRPbmx5ID09IGVuZ2luZS5ldmFsdWF0ZSgiIU9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IobywgJ3VuZGVmaW5lZDInKS53cml0YWJsZSIpLnRvQm9vbCgpKTsKLSAgICBR
VkVSSUZZKHJlYWRPbmx5ID09IGVuZ2luZS5ldmFsdWF0ZSgiIU9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IocCwgJ3VuZGVmaW5lZDMnKS53cml0YWJsZSIpLnRvQm9vbCgpKTsKLSAgICBR
VkVSSUZZKHJlYWRPbmx5ID09IGVuZ2luZS5ldmFsdWF0ZSgiIU9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IocCwgJ3VuZGVmaW5lZDQnKS53cml0YWJsZSIpLnRvQm9vbCgpKTsKLSAgICBR
RVhQRUNUX0ZBSUwoImludCArIHJlYWRPbmx5IiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNP
YmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250
aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyByZWFkT25seXx1bmRlbGV0YWJsZSIsICJX
ZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3Jp
dGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsg
c2tpcEluRW51bWVyYXRpb258cmVhZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09i
amVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRp
bnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5
fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0
eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUVZF
UklGWShyZWFkT25seSA9PSBlbmdpbmUuZXZhbHVhdGUoIiFPYmplY3QuZ2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKG8sICdkZWZpbmVkMScpLndyaXRhYmxlIikudG9Cb29sKCkpOwotICAgIFFFWFBF
Q1RfRkFJTCgiaW50ICsgcmVhZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVj
dFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVl
KTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktp
dCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBw
cm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lw
SW5FbnVtZXJhdGlvbnxyZWFkT25seSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0
U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUp
OwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258cmVhZE9ubHl8dW5k
ZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRv
ZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRVkVSSUZZ
KHJlYWRPbmx5ID09IGVuZ2luZS5ldmFsdWF0ZSgiIU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3IobywgJ2RlZmluZWQyJykud3JpdGFibGUiKS50b0Jvb2woKSk7Ci0gICAgUVZFUklGWShl
bmdpbmUuZXZhbHVhdGUoIiFPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHAsICd1bmRl
ZmluZWQxJykud3JpdGFibGUiKS50b0Jvb2woKSk7Ci0gICAgUVZFUklGWShlbmdpbmUuZXZhbHVh
dGUoIiFPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHAsICd1bmRlZmluZWQxJykud3Jp
dGFibGUiKS50b0Jvb2woKSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyByZWFkT25seSIsICJX
ZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3Jp
dGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsg
cmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNl
dFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsK
LSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5IiwgIldl
YktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0
ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBz
a2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYx
MyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxh
Z3MpIiwgQ29udGludWUpOwotICAgIFFWRVJJRlkocmVhZE9ubHkgPT0gZW5naW5lLmV2YWx1YXRl
KCIhT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwLCAnb3ZlcmxvYWRlZDMnKS53cml0
YWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHJlYWRPbmx5IiwgIldl
YktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0
ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBy
ZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0
UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwot
ICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258cmVhZE9ubHkiLCAiV2Vi
S2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRl
IHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNr
aXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEz
IChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFn
cykiLCBDb250aW51ZSk7Ci0gICAgUVZFUklGWShyZWFkT25seSA9PSBlbmdpbmUuZXZhbHVhdGUo
IiFPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHAsICdvdmVybG9hZGVkNCcpLndyaXRh
YmxlIikudG9Cb29sKCkpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgcmVhZE9ubHkiLCAiV2Vi
S2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRl
IHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHJl
YWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQ
cm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0g
ICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seSIsICJXZWJL
aXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUg
cHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tp
cEluRW51bWVyYXRpb258cmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMg
KFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdz
KSIsIENvbnRpbnVlKTsKLSAgICBRVkVSSUZZKHJlYWRPbmx5ID09IGVuZ2luZS5ldmFsdWF0ZSgi
IU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgJ292ZXJsb2FkZWQxJykud3JpdGFi
bGUiKS50b0Jvb2woKSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyByZWFkT25seSIsICJXZWJL
aXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUg
cHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgcmVh
ZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFBy
b3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAg
ICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5IiwgIldlYktp
dCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBw
cm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lw
SW5FbnVtZXJhdGlvbnxyZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAo
VGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3Mp
IiwgQ29udGludWUpOwotICAgIFFWRVJJRlkocmVhZE9ubHkgPT0gZW5naW5lLmV2YWx1YXRlKCIh
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAnb3ZlcmxvYWRlZDInKS53cml0YWJs
ZSIpLnRvQm9vbCgpKTsKLSAgICBRVkVSSUZZKCFlbmdpbmUuZXZhbHVhdGUoIiFPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICdvdmVybG9hZGVkMycpLndyaXRhYmxlIikudG9Cb29s
KCkpOwotICAgIFFWRVJJRlkoIWVuZ2luZS5ldmFsdWF0ZSgiIU9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IobywgJ292ZXJsb2FkZWQ0Jykud3JpdGFibGUiKS50b0Jvb2woKSk7Ci0KLSAg
ICBRVkVSSUZZKHVuZGVsZXRhYmxlID09IGVuZ2luZS5ldmFsdWF0ZSgiIU9iamVjdC5nZXRPd25Q
cm9wZXJ0eURlc2NyaXB0b3IobywgJzQnKS5jb25maWd1cmFibGUiKS50b0Jvb2woKSk7Ci0gICAg
UUVYUEVDVF9GQUlMKCJpbnQgKyB1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhl
IEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwg
Q29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgcmVhZE9ubHl8dW5kZWxldGFibGUi
LCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3Zl
cndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImlu
dCArIHNraXBJbkVudW1lcmF0aW9ufHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChU
aGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncyki
LCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxy
ZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0
UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwot
ICAgIFFWRVJJRlkodW5kZWxldGFibGUgPT0gZW5naW5lLmV2YWx1YXRlKCIhT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihvLCAnNScpLmNvbmZpZ3VyYWJsZSIpLnRvQm9vbCgpKTsKLSAg
ICBRRVhQRUNUX0ZBSUwoImludCArIHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChU
aGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncyki
LCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyByZWFkT25seXx1bmRlbGV0YWJs
ZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBv
dmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgi
aW50ICsgc2tpcEluRW51bWVyYXRpb258dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMg
KFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdz
KSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9u
fHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RT
ZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7
Ci0gICAgUVZFUklGWSh1bmRlbGV0YWJsZSA9PSBlbmdpbmUuZXZhbHVhdGUoIiFPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICc2JykuY29uZmlndXJhYmxlIikudG9Cb29sKCkpOwot
ICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgdW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMg
KFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdz
KSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHJlYWRPbmx5fHVuZGVsZXRh
YmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0
IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlM
KCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYx
MyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxh
Z3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRp
b258cmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVj
dFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVl
KTsKLSAgICBRVkVSSUZZKHVuZGVsZXRhYmxlID09IGVuZ2luZS5ldmFsdWF0ZSgiIU9iamVjdC5n
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocCwgJzcnKS5jb25maWd1cmFibGUiKS50b0Jvb2woKSk7
Ci0gICAgUVZFUklGWSh1bmRlbGV0YWJsZSA9PSBlbmdpbmUuZXZhbHVhdGUoIiFPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHAsICc4JykuY29uZmlndXJhYmxlIikudG9Cb29sKCkpOwot
ICAgIFFWRVJJRlkodW5kZWxldGFibGUgPT0gZW5naW5lLmV2YWx1YXRlKCIhT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihvLCAndW5kZWZpbmVkMScpLmNvbmZpZ3VyYWJsZSIpLnRvQm9v
bCgpKTsKLSAgICBRVkVSSUZZKHVuZGVsZXRhYmxlID09IGVuZ2luZS5ldmFsdWF0ZSgiIU9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgJ3VuZGVmaW5lZDInKS5jb25maWd1cmFibGUi
KS50b0Jvb2woKSk7Ci0gICAgUVZFUklGWSh1bmRlbGV0YWJsZSA9PSBlbmdpbmUuZXZhbHVhdGUo
IiFPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHAsICd1bmRlZmluZWQzJykuY29uZmln
dXJhYmxlIikudG9Cb29sKCkpOwotICAgIFFWRVJJRlkodW5kZWxldGFibGUgPT0gZW5naW5lLmV2
YWx1YXRlKCIhT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwLCAndW5kZWZpbmVkNCcp
LmNvbmZpZ3VyYWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHVuZGVs
ZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vz
bid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9G
QUlMKCJpbnQgKyByZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhl
IEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwg
Q29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258dW5k
ZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRv
ZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNU
X0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldl
YktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0
ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUVZFUklGWSh1bmRlbGV0YWJsZSA9
PSBlbmdpbmUuZXZhbHVhdGUoIiFPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICdk
ZWZpbmVkMScpLmNvbmZpZ3VyYWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRRVhQRUNUX0ZBSUwoImlu
dCArIHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9w
ZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAg
UUVYUEVDVF9GQUlMKCJpbnQgKyByZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0
MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkg
ZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVy
YXRpb258dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFBy
b3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAg
ICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5fHVuZGVsZXRh
YmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0
IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUVZFUklGWSh1bmRl
bGV0YWJsZSA9PSBlbmdpbmUuZXZhbHVhdGUoIiFPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlw
dG9yKG8sICdkZWZpbmVkMicpLmNvbmZpZ3VyYWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRRVhQRUNU
X0ZBSUwoImludCArIHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmpl
Y3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51
ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyByZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJL
aXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUg
cHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tp
cEluRW51bWVyYXRpb258dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09i
amVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRp
bnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5
fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0
eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUVZF
UklGWSh1bmRlbGV0YWJsZSA9PSBlbmdpbmUuZXZhbHVhdGUoIiFPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKG8sICdvdmVybG9hZGVkMScpLmNvbmZpZ3VyYWJsZSIpLnRvQm9vbCgpKTsK
LSAgICBRRVhQRUNUX0ZBSUwoImludCArIHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEz
IChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFn
cykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyByZWFkT25seXx1bmRlbGV0
YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24n
dCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJ
TCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2
MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZs
YWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0
aW9ufHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmpl
Y3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51
ZSk7Ci0gICAgUVZFUklGWSh1bmRlbGV0YWJsZSA9PSBlbmdpbmUuZXZhbHVhdGUoIiFPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICdvdmVybG9hZGVkMicpLmNvbmZpZ3VyYWJsZSIp
LnRvQm9vbCgpKTsKLSAgICBRVkVSSUZZKGVuZ2luZS5ldmFsdWF0ZSgiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihwLCAnb3ZlcmxvYWRlZDEnKS5jb25maWd1cmFibGUiKS50b0Jvb2wo
KSk7Ci0gICAgUVZFUklGWShlbmdpbmUuZXZhbHVhdGUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IocCwgJ292ZXJsb2FkZWQyJykuY29uZmlndXJhYmxlIikudG9Cb29sKCkpOwotICAg
IFFWRVJJRlkoZW5naW5lLmV2YWx1YXRlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KG8sICdvdmVybG9hZGVkMycpLmNvbmZpZ3VyYWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRVkVSSUZZ
KGVuZ2luZS5ldmFsdWF0ZSgiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAnb3Zl
cmxvYWRlZDQnKS5jb25maWd1cmFibGUiKS50b0Jvb2woKSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJp
bnQgKyB1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJv
cGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAg
IFFFWFBFQ1RfRkFJTCgiaW50ICsgcmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1Zzog
NDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5
IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1l
cmF0aW9ufHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQ
cm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0g
ICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seXx1bmRlbGV0
YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24n
dCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFWRVJJRlkodW5k
ZWxldGFibGUgPT0gZW5naW5lLmV2YWx1YXRlKCIhT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3Jp
cHRvcihwLCAnb3ZlcmxvYWRlZDMnKS5jb25maWd1cmFibGUiKS50b0Jvb2woKSk7Ci0gICAgUUVY
UEVDVF9GQUlMKCJpbnQgKyB1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpT
T2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29u
dGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgcmVhZE9ubHl8dW5kZWxldGFibGUiLCAi
V2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3Zlcndy
aXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCAr
IHNraXBJbkVudW1lcmF0aW9ufHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUg
SlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBD
b250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxyZWFk
T25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJv
cGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAg
IFFWRVJJRlkodW5kZWxldGFibGUgPT0gZW5naW5lLmV2YWx1YXRlKCIhT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihwLCAnb3ZlcmxvYWRlZDQnKS5jb25maWd1cmFibGUiKS50b0Jvb2wo
KSk7Ci0KLSAgICBRVkVSSUZZKHNraXBJbkVudW1lcmF0aW9uICE9IGVuZ2luZS5ldmFsdWF0ZSgi
T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAnNCcpLmVudW1lcmFibGUiKS50b0Jv
b2woKSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbiIsICJXZWJL
aXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUg
cHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tp
cEluRW51bWVyYXRpb258dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09i
amVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRp
bnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5
IiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92
ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJp
bnQgKyBza2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVn
OiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVy
dHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFWRVJJRlkoc2tpcEluRW51bWVyYXRpb24gIT0g
ZW5naW5lLmV2YWx1YXRlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICc1Jyku
ZW51bWVyYWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVu
dW1lcmF0aW9uIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBk
b2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVD
VF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVn
OiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVy
dHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51
bWVyYXRpb258cmVhZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFBy
b3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAg
ICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5fHVuZGVsZXRh
YmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0
IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUVZFUklGWShza2lw
SW5FbnVtZXJhdGlvbiAhPSBlbmdpbmUuZXZhbHVhdGUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IobywgJzYnKS5lbnVtZXJhYmxlIikudG9Cb29sKCkpOwotICAgIFFFWFBFQ1RfRkFJ
TCgiaW50ICsgc2tpcEluRW51bWVyYXRpb24iLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09i
amVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRp
bnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHVuZGVsZXRh
YmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0
IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlM
KCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seSIsICJXZWJLaXQgYnVnOiA0MDYxMyAo
VGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3Mp
IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258
cmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNl
dFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsK
LSAgICBRVkVSSUZZKHNraXBJbkVudW1lcmF0aW9uICE9IGVuZ2luZS5ldmFsdWF0ZSgiT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwLCAnNycpLmVudW1lcmFibGUiKS50b0Jvb2woKSk7
Ci0gICAgUVZFUklGWShza2lwSW5FbnVtZXJhdGlvbiAhPSBlbmdpbmUuZXZhbHVhdGUoIk9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocCwgJzgnKS5lbnVtZXJhYmxlIikudG9Cb29sKCkp
OwotICAgIFFWRVJJRlkoc2tpcEluRW51bWVyYXRpb24gIT0gZW5naW5lLmV2YWx1YXRlKCJPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICd1bmRlZmluZWQxJykuZW51bWVyYWJsZSIp
LnRvQm9vbCgpKTsKLSAgICBRVkVSSUZZKHNraXBJbkVudW1lcmF0aW9uICE9IGVuZ2luZS5ldmFs
dWF0ZSgiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAndW5kZWZpbmVkMicpLmVu
dW1lcmFibGUiKS50b0Jvb2woKSk7Ci0gICAgUVZFUklGWShza2lwSW5FbnVtZXJhdGlvbiAhPSBl
bmdpbmUuZXZhbHVhdGUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocCwgJ3VuZGVm
aW5lZDMnKS5lbnVtZXJhYmxlIikudG9Cb29sKCkpOwotICAgIFFWRVJJRlkoc2tpcEluRW51bWVy
YXRpb24gIT0gZW5naW5lLmV2YWx1YXRlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9y
KHAsICd1bmRlZmluZWQ0JykuZW51bWVyYWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRRVhQRUNUX0ZB
SUwoImludCArIHNraXBJbkVudW1lcmF0aW9uIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNP
YmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250
aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnx1bmRlbGV0
YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24n
dCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJ
TCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258cmVhZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2MTMg
KFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdz
KSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9u
fHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RT
ZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7
Ci0gICAgUVZFUklGWShza2lwSW5FbnVtZXJhdGlvbiAhPSBlbmdpbmUuZXZhbHVhdGUoIk9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgJ292ZXJsb2FkZWQxJykuZW51bWVyYWJsZSIp
LnRvQm9vbCgpKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9uIiwg
IldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3
cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQg
KyBza2lwSW5FbnVtZXJhdGlvbnx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhl
IEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwg
Q29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258cmVh
ZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNu
J3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZB
SUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktp
dCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBw
cm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUVZFUklGWShza2lwSW5FbnVtZXJhdGlv
biAhPSBlbmdpbmUuZXZhbHVhdGUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iobywg
J292ZXJsb2FkZWQyJykuZW51bWVyYWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRVkVSSUZZKGVuZ2lu
ZS5ldmFsdWF0ZSgicC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnb3ZlcmxvYWRlZDEnKSIpLnRvQm9v
bCgpKTsKLSAgICBRVkVSSUZZKGVuZ2luZS5ldmFsdWF0ZSgicC5wcm9wZXJ0eUlzRW51bWVyYWJs
ZSgnb3ZlcmxvYWRlZDInKSIpLnRvQm9vbCgpKTsKLSAgICBRVkVSSUZZKGVuZ2luZS5ldmFsdWF0
ZSgiby5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnb3ZlcmxvYWRlZDMnKSIpLnRvQm9vbCgpKTsKLSAg
ICBRVkVSSUZZKGVuZ2luZS5ldmFsdWF0ZSgiby5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnb3Zlcmxv
YWRlZDQnKSIpLnRvQm9vbCgpKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1l
cmF0aW9uIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vz
bid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9G
QUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0
MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkg
ZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVy
YXRpb258cmVhZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3Bl
cnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBR
RVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5fHVuZGVsZXRhYmxl
IiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92
ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUVZFUklGWShza2lwSW5F
bnVtZXJhdGlvbiAhPSBlbmdpbmUuZXZhbHVhdGUoInAucHJvcGVydHlJc0VudW1lcmFibGUoJ292
ZXJsb2FkZWQzJykiKS50b0Jvb2woKSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5F
bnVtZXJhdGlvbiIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkg
ZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBF
Q1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1
ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3Bl
cnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVu
dW1lcmF0aW9ufHJlYWRPbmx5IiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQ
cm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0g
ICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seXx1bmRlbGV0
YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24n
dCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFWRVJJRlkoc2tp
cEluRW51bWVyYXRpb24gIT0gZW5naW5lLmV2YWx1YXRlKCJwLnByb3BlcnR5SXNFbnVtZXJhYmxl
KCdvdmVybG9hZGVkNCcpIikudG9Cb29sKCkpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tp
cEluRW51bWVyYXRpb24iLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3Bl
cnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBR
RVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHVuZGVsZXRhYmxlIiwgIldlYktp
dCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBw
cm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lw
SW5FbnVtZXJhdGlvbnxyZWFkT25seSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0
U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUp
OwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258cmVhZE9ubHl8dW5k
ZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRv
ZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRVkVSSUZZ
KHNraXBJbkVudW1lcmF0aW9uICE9IGVuZ2luZS5ldmFsdWF0ZSgiby5wcm9wZXJ0eUlzRW51bWVy
YWJsZSgnZGVmaW5lZDEnKSIpLnRvQm9vbCgpKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNr
aXBJbkVudW1lcmF0aW9uIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9w
ZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAg
UUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnx1bmRlbGV0YWJsZSIsICJXZWJL
aXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUg
cHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tp
cEluRW51bWVyYXRpb258cmVhZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVj
dFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVl
KTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5fHVu
ZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBk
b2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUVZFUklG
WShza2lwSW5FbnVtZXJhdGlvbiAhPSBlbmdpbmUuZXZhbHVhdGUoIm8ucHJvcGVydHlJc0VudW1l
cmFibGUoJ2RlZmluZWQyJykiKS50b0Jvb2woKSk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1
ZTo6cHJvcGVydHlGbGFnX2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVN0cmluZz4o
Im5hbWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGludD4oImZsYWciKTsKLQotICAgIFFUZXN0
OjpuZXdSb3coIj9DckBqemkhJSQiKSA8PCAiP0NyQGp6aSElJCIgPDwgc3RhdGljX2Nhc3Q8aW50
PigwKTsKLSAgICBRVGVzdDo6bmV3Um93KCJSZWFkT25seSIpIDw8ICJSZWFkT25seSIgPDwgc3Rh
dGljX2Nhc3Q8aW50PihRU2NyaXB0VmFsdWU6OlJlYWRPbmx5KTsKLSAgICBRVGVzdDo6bmV3Um93
KCJVbmRlbGV0YWJsZSIpIDw8ICJVbmRlbGV0YWJsZSIgPDwgc3RhdGljX2Nhc3Q8aW50PihRU2Ny
aXB0VmFsdWU6OlVuZGVsZXRhYmxlKTsKLSAgICBRVGVzdDo6bmV3Um93KCJTa2lwSW5FbnVtZXJh
dGlvbiIpIDw8ICJTa2lwSW5FbnVtZXJhdGlvbiIgPDwgc3RhdGljX2Nhc3Q8aW50PihRU2NyaXB0
VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uKTsKLSAgICBRVGVzdDo6bmV3Um93KCJSZWFkT25seSB8
IFVuZGVsZXRhYmxlIikgPDwgIlJlYWRPbmx5X1VuZGVsZXRhYmxlIiA8PCBzdGF0aWNfY2FzdDxp
bnQ+KFFTY3JpcHRWYWx1ZTo6UmVhZE9ubHkgfCBRU2NyaXB0VmFsdWU6OlVuZGVsZXRhYmxlKTsK
LSAgICBRVGVzdDo6bmV3Um93KCJSZWFkT25seSB8IFNraXBJbkVudW1lcmF0aW9uIikgPDwgIlJl
YWRPbmx5X1NraXBJbkVudW1lcmF0aW9uIiA8PCBzdGF0aWNfY2FzdDxpbnQ+KFFTY3JpcHRWYWx1
ZTo6UmVhZE9ubHkgfCBRU2NyaXB0VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uKTsKLSAgICBRVGVz
dDo6bmV3Um93KCJVbmRlbGV0YWJsZSB8IFNraXBJbkVudW1lcmF0aW9uIikgPDwgIlVuZGVsZXRh
YmxlX1NraXBJbkVudW1lcmF0aW9uIiA8PCBzdGF0aWNfY2FzdDxpbnQ+KFFTY3JpcHRWYWx1ZTo6
VW5kZWxldGFibGUgfCBRU2NyaXB0VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uKTsKLSAgICBRVGVz
dDo6bmV3Um93KCJSZWFkT25seSB8IFVuZGVsZXRhYmxlIHwgU2tpcEluRW51bWVyYXRpb24iKSA8
PCAiUmVhZE9ubHlfVW5kZWxldGFibGVfU2tpcEluRW51bWVyYXRpb24iIDw8IHN0YXRpY19jYXN0
PGludD4oUVNjcmlwdFZhbHVlOjpSZWFkT25seSB8IFFTY3JpcHRWYWx1ZTo6VW5kZWxldGFibGUg
fCBRU2NyaXB0VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlw
dFZhbHVlOjpwcm9wZXJ0eUZsYWcoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwotICAg
IFFGRVRDSChRU3RyaW5nLCBuYW1lKTsKLSAgICBRRkVUQ0goaW50LCBmbGFnKTsKLSAgICBjb25z
dCBRU2NyaXB0U3RyaW5nIG5hbWVIYW5kbGUgPSBlbmdpbmUudG9TdHJpbmdIYW5kbGUobmFtZSk7
Ci0gICAgY29uc3QgUVN0cmluZyBwcm90b05hbWUgPSAicHJvdG8iICsgbmFtZTsKLSAgICBjb25z
dCBRU2NyaXB0U3RyaW5nIHByb3RvTmFtZUhhbmRsZSA9IGVuZ2luZS50b1N0cmluZ0hhbmRsZShw
cm90b05hbWUpOwotCi0gICAgUVNjcmlwdFZhbHVlIHByb3RvID0gZW5naW5lLm5ld09iamVjdCgp
OwotICAgIFFTY3JpcHRWYWx1ZSBvYmplY3QgPSBlbmdpbmUubmV3T2JqZWN0KCk7Ci0gICAgb2Jq
ZWN0LnNldFByb3RvdHlwZShwcm90byk7Ci0KLSAgICBwcm90by5zZXRQcm9wZXJ0eShwcm90b05h
bWUsIFFTY3JpcHRWYWx1ZSgxMjQ4MTYpLCBRU2NyaXB0VmFsdWU6OlByb3BlcnR5RmxhZyhmbGFn
KSk7Ci0gICAgb2JqZWN0LnNldFByb3BlcnR5KG5hbWUsIFFTY3JpcHRWYWx1ZSgxMjQ4MTYpLCBR
U2NyaXB0VmFsdWU6OlByb3BlcnR5RmxhZyhmbGFnKSk7Ci0KLSAgICAvLyBDaGVjayB1c2luZyBR
U3RyaW5nIG5hbWUKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVydHlGbGFncyhuYW1lKSwgUVNj
cmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWcoZmxhZykpOwotICAgIFFDT01QQVJFKG9iamVjdC5wcm9w
ZXJ0eUZsYWdzKHByb3RvTmFtZSwgUVNjcmlwdFZhbHVlOjpSZXNvbHZlUHJvdG90eXBlKSwgUVNj
cmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWcoZmxhZykpOwotICAgIFFWRVJJRlkoIW9iamVjdC5wcm9w
ZXJ0eUZsYWdzKHByb3RvTmFtZSwgUVNjcmlwdFZhbHVlOjpSZXNvbHZlTG9jYWwpKTsKLQotICAg
IC8vIENoZWNrIHVzaW5nIFFTY3JpcHRTdHJpbmcgbmFtZQotICAgIFFDT01QQVJFKG9iamVjdC5w
cm9wZXJ0eUZsYWdzKG5hbWVIYW5kbGUpLCBRU2NyaXB0VmFsdWU6OlByb3BlcnR5RmxhZyhmbGFn
KSk7Ci0gICAgUUNPTVBBUkUob2JqZWN0LnByb3BlcnR5RmxhZ3MocHJvdG9OYW1lSGFuZGxlLCBR
U2NyaXB0VmFsdWU6OlJlc29sdmVQcm90b3R5cGUpLCBRU2NyaXB0VmFsdWU6OlByb3BlcnR5Rmxh
ZyhmbGFnKSk7Ci0gICAgUVZFUklGWSghb2JqZWN0LnByb3BlcnR5RmxhZ3MocHJvdG9OYW1lSGFu
ZGxlLCBRU2NyaXB0VmFsdWU6OlJlc29sdmVMb2NhbCkpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0
VmFsdWU6Omdsb2JhbE9iamVjdENoYW5nZXMoKQotewotICAgIC8vIEFQSSBmdW5jdGlvbmFsaXR5
IHNob3VsZG4ndCBkZXBlbmQgb24gR2xvYmFsIE9iamVjdC4KLSAgICBRU2NyaXB0RW5naW5lIGVu
Z2luZTsKLSAgICBRU2NyaXB0VmFsdWUgYXJyYXkgPSBlbmdpbmUubmV3QXJyYXkoKTsKLSAgICBR
U2NyaXB0VmFsdWUgZXJyb3IgPSBlbmdpbmUuZXZhbHVhdGUoIm5ldyBFcnJvciIpOwotICAgIFFT
Y3JpcHRWYWx1ZSBvYmplY3QgPSBlbmdpbmUubmV3T2JqZWN0KCk7Ci0KLSAgICBvYmplY3Quc2V0
UHJvcGVydHkoImZvbyIsIDUxMik7Ci0KLSAgICAvLyBSZW1vdmUgcHJvcGVydGllcyBmb3JtIGds
b2JhbCBvYmplY3QuCi0gICAgZW5naW5lLmV2YWx1YXRlKCJkZWxldGUgT2JqZWN0OyBkZWxldGUg
RXJyb3I7IGRlbGV0ZSBBcnJheTsiKTsKLQotICAgIFFWRVJJRlkoYXJyYXkuaXNBcnJheSgpKTsK
LSAgICBRVkVSSUZZKGVycm9yLmlzRXJyb3IoKSk7Ci0gICAgUVZFUklGWShvYmplY3QuaXNPYmpl
Y3QoKSk7Ci0KLSAgICBRVkVSSUZZKG9iamVjdC5wcm9wZXJ0eSgiZm9vIikuaXNWYWxpZCgpKTsK
LSAgICBRVkVSSUZZKG9iamVjdC5wcm9wZXJ0eSgiZm9vIiwgUVNjcmlwdFZhbHVlOjpSZXNvbHZl
TG9jYWwpLmlzVmFsaWQoKSk7Ci0gICAgb2JqZWN0LnNldFByb3BlcnR5KCJmb28iLCBRU2NyaXB0
VmFsdWUoKSk7Ci0gICAgUVZFUklGWSghb2JqZWN0LnByb3BlcnR5KCJmb28iKS5pc1ZhbGlkKCkp
OwotICAgIFFWRVJJRlkoIW9iamVjdC5wcm9wZXJ0eSgiZm9vIiwgUVNjcmlwdFZhbHVlOjpSZXNv
bHZlTG9jYWwpLmlzVmFsaWQoKSk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6YXNzaWdu
QW5kQ29weUNvbnN0cnVjdF9kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTY3JpcHRW
YWx1ZT4oInZhbHVlIik7Ci0gICAgaWYgKG1fZW5naW5lKQotICAgICAgICBkZWxldGUgbV9lbmdp
bmU7Ci0gICAgbV9lbmdpbmUgPSBuZXcgUVNjcmlwdEVuZ2luZTsKLSAgICAvLyBDb3B5ICYgYXNz
aWduIGNvZGUgaXMgdGhlIHNhbWUgZm9yIGFsbCB0eXBlcywgc28gaXQgaXMgZW5vdWdoIHRvIGNo
ZWNrIG9ubHkgYSBmZXcgdmFsdWUuCi0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IDEwOyAr
K2kpIHsKLSAgICAgICAgUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPiB0ZXN0Y2FzZSA9IGlu
aXRTY3JpcHRWYWx1ZXMoaSk7Ci0gICAgICAgIFFUZXN0OjpuZXdSb3codGVzdGNhc2UuZmlyc3Qu
dG9Bc2NpaSgpLmNvbnN0RGF0YSgpKSA8PCB0ZXN0Y2FzZS5zZWNvbmQ7Ci0gICAgfQotfQotCi12
b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmFzc2lnbkFuZENvcHlDb25zdHJ1Y3QoKQotewotICAgIFFG
RVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRU2NyaXB0VmFsdWUgY29weSh2YWx1ZSk7
Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUp
IiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQWJvcnQpOwotICAgIFFFWFBFQ1RfRkFJTCgi
UVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwgIkZJWE1FOiBXZWJL
aXQgYnVnIDQzMDM4IiwgQWJvcnQpOwotICAgIFFDT01QQVJFKGNvcHkuc3RyaWN0bHlFcXVhbHMo
dmFsdWUpLCAhdmFsdWUuaXNOdW1iZXIoKSB8fCAhcUlzTmFOKHZhbHVlLnRvTnVtYmVyKCkpKTsK
LSAgICBRQ09NUEFSRShjb3B5LmVuZ2luZSgpLCB2YWx1ZS5lbmdpbmUoKSk7Ci0KLSAgICBRU2Ny
aXB0VmFsdWUgYXNzaWduZWQgPSBjb3B5OwotICAgIFFDT01QQVJFKGFzc2lnbmVkLnN0cmljdGx5
RXF1YWxzKHZhbHVlKSwgIWNvcHkuaXNOdW1iZXIoKSB8fCAhcUlzTmFOKGNvcHkudG9OdW1iZXIo
KSkpOwotICAgIFFDT01QQVJFKGFzc2lnbmVkLmVuZ2luZSgpLCBhc3NpZ25lZC5lbmdpbmUoKSk7
Ci0KLSAgICBRU2NyaXB0VmFsdWUgb3RoZXIoIXZhbHVlLnRvQm9vbCgpKTsKLSAgICBhc3NpZ25l
ZCA9IG90aGVyOwotICAgIFFWRVJJRlkoIWFzc2lnbmVkLnN0cmljdGx5RXF1YWxzKGNvcHkpKTsK
LSAgICBRVkVSSUZZKGFzc2lnbmVkLnN0cmljdGx5RXF1YWxzKG90aGVyKSk7Ci0gICAgUUNPTVBB
UkUoYXNzaWduZWQuZW5naW5lKCksIG90aGVyLmVuZ2luZSgpKTsKLX0KLQotUVRFU1RfTUFJTih0
c3RfUVNjcmlwdFZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rl
c3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcXQvdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWUuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggN2I3ZDliYy4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcXQvdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWUuaAorKysgL2Rldi9u
dWxsCkBAIC0xLDE0MyArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBD
b3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaWZuZGVmIHRzdF9x
c2NyaXB0dmFsdWVfaAotI2RlZmluZSB0c3RfcXNjcmlwdHZhbHVlX2gKLQotI2luY2x1ZGUgInFz
Y3JpcHRlbmdpbmUuaCIKLSNpbmNsdWRlICJxc2NyaXB0dmFsdWUuaCIKLSNpbmNsdWRlIDxRdENv
cmUvcW51bWVyaWMuaD4KLSNpbmNsdWRlIDxRdFRlc3QvcXRlc3QuaD4KLQotI2RlZmluZSBERUZJ
TkVfVEVTVF9WQUxVRShleHByKSBtX3ZhbHVlcy5pbnNlcnQoUVN0cmluZzo6ZnJvbUxhdGluMSgj
ZXhwciksIGV4cHIpCi0KLVFfREVDTEFSRV9NRVRBVFlQRShRU2NyaXB0VmFsdWUqKTsKLVFfREVD
TEFSRV9NRVRBVFlQRShRU2NyaXB0VmFsdWUpOwotdHlwZWRlZiBRUGFpcjxRU3RyaW5nLCBRU2Ny
aXB0VmFsdWU+IFFQYWlyUVN0cmluZ0FuZFFTY3JpcHRWYWx1ZTsKLVFfREVDTEFSRV9NRVRBVFlQ
RShRUGFpclFTdHJpbmdBbmRRU2NyaXB0VmFsdWUpOwotCi1jbGFzcyB0c3RfUVNjcmlwdFZhbHVl
IDogcHVibGljIFFPYmplY3QgewotICAgIFFfT0JKRUNUCi0KLXB1YmxpYzoKLSAgICB0c3RfUVNj
cmlwdFZhbHVlKCk7Ci0gICAgdmlydHVhbCB+dHN0X1FTY3JpcHRWYWx1ZSgpOwotCi1wcml2YXRl
IHNsb3RzOgotICAgIHZvaWQgdG9TdHJpbmdTaW1wbGVfZGF0YSgpOwotICAgIHZvaWQgdG9TdHJp
bmdTaW1wbGUoKTsKLSAgICB2b2lkIGNvcHlDb25zdHJ1Y3Rvcl9kYXRhKCk7Ci0gICAgdm9pZCBj
b3B5Q29uc3RydWN0b3IoKTsKLSAgICB2b2lkIGFzc2lnbk9wZXJhdG9yX2RhdGEoKTsKLSAgICB2
b2lkIGFzc2lnbk9wZXJhdG9yKCk7Ci0gICAgdm9pZCBkYXRhU2hhcmluZygpOwotICAgIHZvaWQg
Y29uc3RydWN0b3JzX2RhdGEoKTsKLSAgICB2b2lkIGNvbnN0cnVjdG9ycygpOwotICAgIHZvaWQg
Z2V0U2V0UHJvdG90eXBlKCk7Ci0gICAgdm9pZCBjYWxsKCk7Ci0gICAgdm9pZCBjdG9yKCk7Ci0g
ICAgdm9pZCB0b09iamVjdFNpbXBsZSgpOwotICAgIHZvaWQgZ2V0UHJvcGVydHlTaW1wbGVfZGF0
YSgpOwotICAgIHZvaWQgZ2V0UHJvcGVydHlTaW1wbGUoKTsKLSAgICB2b2lkIHNldFByb3BlcnR5
U2ltcGxlKCk7Ci0gICAgdm9pZCBzZXRQcm9wZXJ0eV9kYXRhKCk7Ci0gICAgdm9pZCBzZXRQcm9w
ZXJ0eSgpOwotICAgIHZvaWQgZ2V0U2V0UHJvcGVydHkoKTsKLSAgICB2b2lkIGdldFByb3BlcnR5
UmVzb2x2ZUZsYWcoKTsKLSAgICB2b2lkIHByb3BlcnR5RmxhZ19kYXRhKCk7Ci0gICAgdm9pZCBw
cm9wZXJ0eUZsYWcoKTsKLSAgICB2b2lkIGdsb2JhbE9iamVjdENoYW5nZXMoKTsKLSAgICB2b2lk
IGFzc2lnbkFuZENvcHlDb25zdHJ1Y3RfZGF0YSgpOwotICAgIHZvaWQgYXNzaWduQW5kQ29weUNv
bnN0cnVjdCgpOwotCi0gICAgLy8gR2VuZXJhdGVkIHRlc3QgZnVuY3Rpb25zLgotICAgIHZvaWQg
aXNBcnJheV9kYXRhKCk7Ci0gICAgdm9pZCBpc0FycmF5KCk7Ci0KLSAgICB2b2lkIGlzQm9vbF9k
YXRhKCk7Ci0gICAgdm9pZCBpc0Jvb2woKTsKLQotICAgIHZvaWQgaXNCb29sZWFuX2RhdGEoKTsK
LSAgICB2b2lkIGlzQm9vbGVhbigpOwotCi0gICAgdm9pZCBpc0Vycm9yX2RhdGEoKTsKLSAgICB2
b2lkIGlzRXJyb3IoKTsKLQotICAgIHZvaWQgaXNOdW1iZXJfZGF0YSgpOwotICAgIHZvaWQgaXNO
dW1iZXIoKTsKLQotICAgIHZvaWQgaXNGdW5jdGlvbl9kYXRhKCk7Ci0gICAgdm9pZCBpc0Z1bmN0
aW9uKCk7Ci0KLSAgICB2b2lkIGlzTnVsbF9kYXRhKCk7Ci0gICAgdm9pZCBpc051bGwoKTsKLQot
ICAgIHZvaWQgaXNPYmplY3RfZGF0YSgpOwotICAgIHZvaWQgaXNPYmplY3QoKTsKLQotICAgIHZv
aWQgaXNTdHJpbmdfZGF0YSgpOwotICAgIHZvaWQgaXNTdHJpbmcoKTsKLQotICAgIHZvaWQgaXNV
bmRlZmluZWRfZGF0YSgpOwotICAgIHZvaWQgaXNVbmRlZmluZWQoKTsKLQotICAgIHZvaWQgaXNW
YWxpZF9kYXRhKCk7Ci0gICAgdm9pZCBpc1ZhbGlkKCk7Ci0KLSAgICB2b2lkIHRvU3RyaW5nX2Rh
dGEoKTsKLSAgICB2b2lkIHRvU3RyaW5nKCk7Ci0KLSAgICB2b2lkIHRvTnVtYmVyX2RhdGEoKTsK
LSAgICB2b2lkIHRvTnVtYmVyKCk7Ci0KLSAgICB2b2lkIHRvQm9vbF9kYXRhKCk7Ci0gICAgdm9p
ZCB0b0Jvb2woKTsKLQotICAgIHZvaWQgdG9Cb29sZWFuX2RhdGEoKTsKLSAgICB2b2lkIHRvQm9v
bGVhbigpOwotCi0gICAgdm9pZCB0b0ludGVnZXJfZGF0YSgpOwotICAgIHZvaWQgdG9JbnRlZ2Vy
KCk7Ci0KLSAgICB2b2lkIHRvSW50MzJfZGF0YSgpOwotICAgIHZvaWQgdG9JbnQzMigpOwotCi0g
ICAgdm9pZCB0b1VJbnQzMl9kYXRhKCk7Ci0gICAgdm9pZCB0b1VJbnQzMigpOwotCi0gICAgdm9p
ZCB0b1VJbnQxNl9kYXRhKCk7Ci0gICAgdm9pZCB0b1VJbnQxNigpOwotCi0gICAgdm9pZCBlcXVh
bHNfZGF0YSgpOwotICAgIHZvaWQgZXF1YWxzKCk7Ci0KLSAgICB2b2lkIHN0cmljdGx5RXF1YWxz
X2RhdGEoKTsKLSAgICB2b2lkIHN0cmljdGx5RXF1YWxzKCk7Ci0KLSAgICB2b2lkIGluc3RhbmNl
T2ZfZGF0YSgpOwotICAgIHZvaWQgaW5zdGFuY2VPZigpOwotCi1wcml2YXRlOgotICAgIC8vIEdl
bmVyYXRlZCBmdW5jdGlvbgotICAgIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4gaW5pdFNj
cmlwdFZhbHVlcyh1aW50IGlkeCk7Ci0KLSAgICBRU2NyaXB0RW5naW5lKiBtX2VuZ2luZTsKLX07
Ci0KLSNlbmRpZiAvLyB0c3RfcXNjcmlwdHZhbHVlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZV9nZW5lcmF0
ZWRfY29tcGFyaXNvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlw
dHZhbHVlL3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2NvbXBhcmlzb24uY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMjA5NTMwLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZV9nZW5lcmF0
ZWRfY29tcGFyaXNvbi5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNzk5ICswLDAgQEAKLS8qCi0g
ICAgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lk
aWFyeSgtaWVzKQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0g
ICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQot
ICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KLSovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qKioqKioqKioqKioqKiogVGhp
cyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZC4gRE8gTk9UIE1PRElGWSEgKioqKioqKioqKioqKioq
KgotKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKi8KLQotI2luY2x1ZGUgInRzdF9xc2NyaXB0dmFsdWUuaCIK
LQotc3RhdGljIGNvbnN0IFFTdHJpbmcgZXF1YWxzX2FycmF5W10gPSB7Ci0gICAgIlFTY3JpcHRW
YWx1ZSgpIDw9PiBRU2NyaXB0VmFsdWUoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFs
dWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZp
bmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFs
dWUpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUo
MCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVNj
cmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFs
dWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmlu
ZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVk
VmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUp
IDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IGVuZ2luZS0+
ZXZhbHVhdGUoXCJ7fVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVm
aW5lZFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcIm51bGxcIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmlu
ZWRWYWx1ZSkgPD0+IGVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVNj
cmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IGVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3JpcHRW
YWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShR
U2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51
bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9
PiBRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJR
U2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoMCwg
UVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1
ZTo6TnVsbFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRl
ZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUp
IDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwie31cIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUp
IDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIiki
LAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBlbmdpbmUt
Pm51bGxWYWx1ZSgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVl
KSA8PT4gZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHRydWUp
IDw9PiBRU2NyaXB0VmFsdWUodHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUodHJ1ZSkgPD0+IFFT
Y3JpcHRWYWx1ZSgwLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh0cnVlKSA8PT4gUVNjcmlw
dFZhbHVlKGVuZ2luZSwgdHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUodHJ1ZSkgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNlKSA8PT4gUVNj
cmlwdFZhbHVlKGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkgPD0+IFFTY3JpcHRW
YWx1ZSgwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLjAp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJc
IikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmco
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhc
IjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZh
bHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmco
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmlu
ZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKGVu
Z2luZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZmFsc2UpIDw9PiBR
U2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNl
KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGZhbHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGZhbHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJy
YXkoKVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCJmYWxzZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCIwXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0
ZShcIjAuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCInJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCInMCdcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZmFsc2UpIDw9PiBlbmdpbmUtPm5ld0Fy
cmF5KCkiLAotICAgICJRU2NyaXB0VmFsdWUoaW50KDEyMikpIDw9PiBRU2NyaXB0VmFsdWUoaW50
KDEyMikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGludCgxMjIpKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShpbnQoMTIyKSkgPD0+IFFTY3JpcHRWYWx1
ZShlbmdpbmUsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShpbnQoMTIyKSkgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCIxMjJcIikiLAotICAgICJRU2NyaXB0VmFsdWUodWludCgxMjQpKSA8
PT4gUVNjcmlwdFZhbHVlKHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUodWludCgxMjQp
KSA8PT4gUVNjcmlwdFZhbHVlKDAsIHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUodWlu
dCgxMjQpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSh1aW50KDEyNCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDApIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDApIDw9PiBRU2NyaXB0VmFsdWUoMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCkgPD0+IFFT
Y3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIDw9PiBRU2NyaXB0VmFsdWUo
UVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCkgPD0+IFFTY3JpcHRWYWx1ZShR
U3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmlu
ZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIDw9PiBRU2NyaXB0VmFsdWUoMCwgZmFs
c2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIDw9PiBRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDApIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDApIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVc
IikiLAotICAgICJRU2NyaXB0VmFsdWUoMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJy
YXkoKVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcImZh
bHNlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMFwi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDApIDw9PiBlbmdpbmUtPm5ld0FycmF5KCkiLAotICAgICJRU2NyaXB0VmFs
dWUoMC4wKSA8PT4gUVNjcmlwdFZhbHVlKGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjAp
IDw9PiBRU2NyaXB0VmFsdWUoMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gUVNjcmlw
dFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gUVNjcmlwdFZhbHVlKFFT
dHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShR
U3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShRU3Ry
aW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjApIDw9PiBRU2NyaXB0VmFsdWUoMCwgMCki
LAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwi
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFs
c2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCki
LAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmlu
ZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjApIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMC4w
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAuMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAuMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAu
MCkgPD0+IGVuZ2luZS0+bmV3QXJyYXkoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgxMjMuMCkgPD0+
IFFTY3JpcHRWYWx1ZSgxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMTIzLjApIDw9PiBRU2Ny
aXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMTIzLjApIDw9
PiBRU2NyaXB0VmFsdWUoMCwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDEyMy4wKSA8PT4g
UVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDEy
My4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDEyMy4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMTIzLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoMTIzLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIiki
LAotICAgICJRU2NyaXB0VmFsdWUoNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZSg2LjM3ZS04KSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSg2LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKDAsIDYuMzdlLTgp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDYuMzdlLTgpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCA2
LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSg2LjM3ZS04KSA8PT4gZW5naW5lLT5ldmFsdWF0
ZShcIjYuMzdlLThcIikiLAotICAgICJRU2NyaXB0VmFsdWUoLTYuMzdlLTgpIDw9PiBRU2NyaXB0
VmFsdWUoLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC02LjM3ZS04KSA8PT4gUVNjcmlw
dFZhbHVlKDAsIC02LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgtNi4zN2UtOCkgPD0+IFFT
Y3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgtNi4zN2Ut
OCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCItNi4zN2UtOFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgweDQzMjExMjM0KSA8PT4gUVNjcmlwdFZhbHVlKDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDB4NDMyMTEyMzQpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMHg0MzIxMTIzNCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4NDMy
MTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4NDMyMTEyMzQpIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwiMHg0MzIxMTIzNFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAwKSA8PT4gUVNj
cmlwdFZhbHVlKDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDApIDw9PiBRU2Ny
aXB0VmFsdWUoMCwgMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMHgxMDAwMCkgPD0+IFFT
Y3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDAp
IDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
eDEwMDAxKSA8PT4gUVNjcmlwdFZhbHVlKDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4
MTAwMDEpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MHgxMDAwMSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDB4MTAwMDEpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMVwiKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUocUluZigpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoXCJJbmZpbml0eVwiKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoMCwgcUluZigpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoMCwgXCJJbmZpbml0eVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5m
KCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUs
IFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUocUluZigpKSA8PT4gZW5naW5lLT5l
dmFsdWF0ZShcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC1xSW5mKCkpIDw9PiBR
U2NyaXB0VmFsdWUoLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoLXFJbmYoKSkgPD0+IFFT
Y3JpcHRWYWx1ZShcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgtcUluZigpKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC1xSW5mKCkp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
LXFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKC1xSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0eVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgtcUluZigpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZp
bml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIk5hTlwiKSA8PT4gUVNjcmlwdFZhbHVlKFwi
TmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiTmFOXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwg
XCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCJOYU5cIikgPD0+IFFTY3JpcHRWYWx1ZShl
bmdpbmUsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiSW5maW5pdHlcIikgPD0+IFFT
Y3JpcHRWYWx1ZShxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiSW5maW5pdHlcIikgPD0+
IFFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiSW5maW5p
dHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwi
SW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIkluZmluaXR5XCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFwiSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSki
LAotICAgICJRU2NyaXB0VmFsdWUoXCJJbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIpIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCItSW5m
aW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShc
Ii1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgLXFJbmYoKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIi1J
bmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlw
dFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlc
IikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKFwiLUluZmluaXR5XCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5XCIp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKFwiY2lhb1wi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5n
Ojpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoXCJjaWFvXCIpIDw9
PiBRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiY2lhb1wi
KSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiY2lh
b1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShc
ImNpYW9cIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2NyaXB0VmFsdWUoXCJj
aWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIp
KSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkgPD0+IFFTY3JpcHRW
YWx1ZSgwLCBcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGlu
MShcImNpYW9cIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNp
YW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIp
KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwg
UVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJp
bmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGZh
bHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVl
KDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUo
MC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVl
KFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIDw9PiBR
U2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIp
KSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5n
KFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJp
bmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShR
U3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVu
Z2luZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIDw9PiBRU2Ny
aXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSA8
PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5n
KFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCJbXVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShR
U3RyaW5nKFwiXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiZmFs
c2VcIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCIwXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikp
IDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmlu
ZyhcIlwiKSkgPD0+IGVuZ2luZS0+bmV3QXJyYXkoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3Ry
aW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJp
bmcoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkp
IDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIDw9
PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmlu
ZygpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0
cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShR
U3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0
cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0
cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAw
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShl
bmdpbmUsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkgPD0+
IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0
cmluZygpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KFFTdHJpbmcoKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBB
cnJheSgpXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5n
KCkpIDw9PiBlbmdpbmUtPm5ld0FycmF5KCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhc
IjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJp
bmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJp
bmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0
cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAw
LjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVl
KDAsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3Ry
aW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiUVNjcmlwdFZh
bHVlKFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwi
MFwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFT
dHJpbmcoXCIwXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkgPD0+IFFTY3JpcHRWYWx1ZSgxMjMu
MCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkgPD0+IFFTY3JpcHRWYWx1
ZShRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIp
KSA8PT4gUVNjcmlwdFZhbHVlKDAsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5n
KFwiMTIzXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMjNcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAx
MjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkgPD0+IFFTY3JpcHRW
YWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJp
bmcoXCIxMjNcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIuNFwiKSkgPD0+IFFTY3JpcHRWYWx1
ZShRU3RyaW5nKFwiMTIuNFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyLjRc
IikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJzEyLjQnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlw
dFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZh
bHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxW
YWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1
ZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gUVNj
cmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
UVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
Y3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFs
dWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBlbmdpbmUt
PmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRW
YWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gZW5n
aW5lLT5udWxsVmFsdWUoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVu
ZGVmaW5lZFZhbHVlKSA8PT4gZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3Jp
cHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRW
YWx1ZTo6TnVsbFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVl
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFT
Y3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBR
U2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZh
bHVlOjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVu
ZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxW
YWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCJ7fVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6
Ok51bGxWYWx1ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwibnVsbFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxW
YWx1ZSkgPD0+IGVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNj
cmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgdHJ1ZSkgPD0+IFFTY3JpcHRWYWx1ZSh0cnVlKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCB0cnVlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIHRydWUpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIHRydWUpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVlKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCB0cnVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInRydWVcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoMCwgZmFsc2Up
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhc
IlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoMCwg
UVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkgPD0+IFFTY3JpcHRWYWx1
ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBR
U2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2Up
IDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBmYWxz
ZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
ZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCBmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBR
U3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBlbmdpbmUt
PmV2YWx1YXRlKFwiW11cIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IGZhbHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicn
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
IicwJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkgPD0+IGVuZ2luZS0+bmV3QXJy
YXkoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBpbnQoMTIyKSkgPD0+IFFTY3JpcHRWYWx1ZShp
bnQoMTIyKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgaW50KDEyMikpIDw9PiBRU2NyaXB0VmFs
dWUoMCwgaW50KDEyMikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGludCgxMjIpKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGludCgx
MjIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjEyMlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCB1aW50KDEyNCkpIDw9PiBRU2NyaXB0VmFsdWUodWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCB1aW50KDEyNCkpIDw9PiBRU2NyaXB0VmFsdWUoMCwgdWludCgxMjQpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCB1aW50KDEyNCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCB1aW50
KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHVpbnQoMTI0KSkgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCIxMjRcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRWYWx1
ZShmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRWYWx1ZSgwKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwKSA8PT4gUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCAwKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCAwKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCAwKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCAwKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3Ry
aW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMCkgPD0+IGVuZ2luZS0+
ZXZhbHVhdGUoXCJbXVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwKSA8PT4gZW5naW5lLT5l
dmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgMCkgPD0+IGVuZ2luZS0+bmV3QXJyYXkoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjAp
IDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+
IFFTY3JpcHRWYWx1ZSgwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBRU2NyaXB0
VmFsdWUoMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUo
UVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNjcmlwdFZh
bHVlKFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNjcmlwdFZh
bHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBRU2Ny
aXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBRU2NyaXB0VmFs
dWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNjcmlw
dFZhbHVlKDAsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNj
cmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjAp
IDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
MC4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
MC4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwiW11cIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMC4wKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9
PiBlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgMC4wKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIDAuMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIDAuMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgMC4wKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIDAuMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgMC4wKSA8PT4gZW5naW5lLT5uZXdBcnJheSgpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIDEyMy4wKSA8PT4gUVNjcmlwdFZhbHVlKDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCAxMjMuMCkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCAxMjMuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAxMjMuMCkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgMTIzLjApIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wi
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCAxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCBRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAxMjMuMCkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAx
MjMuMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCA2LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIDYuMzdlLTgpIDw9PiBRU2NyaXB0VmFsdWUoMCwgNi4zN2UtOCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIDYuMzdlLTgpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiNi4z
N2UtOFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1
ZSgtNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgLTYuMzdlLTgpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC02LjM3ZS04KSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC02
LjM3ZS04KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIi02LjM3ZS04XCIpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIDB4NDMyMTEyMzQpIDw9PiBRU2NyaXB0VmFsdWUoMHg0MzIxMTIzNCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAweDQzMjEx
MjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDQzMjExMjM0KSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIweDQzMjExMjM0XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIDB4MTAwMDApIDw9PiBRU2NyaXB0VmFsdWUoMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgMHgxMDAwMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAweDEwMDAwKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCAweDEwMDAwKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIweDEw
MDAwXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDEpIDw9PiBRU2NyaXB0VmFsdWUo
MHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkgPD0+IFFTY3JpcHRWYWx1
ZSgwLCAweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAxKSA8PT4gUVNjcmlw
dFZhbHVlKGVuZ2luZSwgMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAxXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIkluZmluaXR5XCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYo
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgLXFJbmYo
KSkgPD0+IFFTY3JpcHRWYWx1ZSgtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtcUlu
ZigpKSA8PT4gUVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIC1xSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoMCwgLXFJbmYoKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgLXFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCAtcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJ
bmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgLXFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShl
bmdpbmUsIFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIDw9
PiBlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IFwiTmFOXCIpIDw9PiBRU2NyaXB0VmFsdWUoXCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgXCJOYU5cIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBcIk5hTlwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJOYU5cIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgXCJJbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKHFJbmYoKSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJJbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKFwi
SW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJJbmZpbml0eVwiKSA8PT4gUVNj
cmlwdFZhbHVlKDAsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJJbmZpbml0eVwi
KSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgXCJJbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgcUluZigpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCBcIkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBc
IkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiSW5maW5pdHlcIikgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIi1J
bmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIFwiLUluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAtcUlu
ZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiLUluZmluaXR5
XCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCItSW5maW5pdHlc
IikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIDw9
PiBRU2NyaXB0VmFsdWUoXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wi
KSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIiki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0
cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiY2lh
b1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxh
dGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wiKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5n
Ojpmcm9tTGF0aW4xKFwiY2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShcImNpYW9cIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2Ny
aXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwi
Y2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wi
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikp
IDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
UVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJ2Np
YW8nXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0
VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBR
U2NyaXB0VmFsdWUoMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkgPD0+
IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikp
IDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
UVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMCki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgw
LCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhc
IlwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUs
IDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9
PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0
ZShcIltdXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IFFTdHJpbmcoXCJcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCJmYWxzZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwi
KSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
UVN0cmluZyhcIlwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gZW5naW5lLT5uZXdBcnJheSgpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShmYWxzZSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoUVN0
cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFs
dWUoMCwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIDw9PiBRU2Ny
aXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIDw9PiBR
U2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0
cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUs
IDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygp
KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBRU3RyaW5nKCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgUVN0cmluZygpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3Rv
dHlwZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwibmV3IEFycmF5KClcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygp
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IFFTdHJpbmcoKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIFFTdHJpbmcoKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkgPD0+IGVuZ2luZS0+bmV3QXJyYXkoKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1ZShm
YWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0
VmFsdWUoMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIDw9PiBRU2Ny
aXB0VmFsdWUoMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkgPD0+
IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0
cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwg
UVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSA8
PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFT
dHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIw
XCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIFFTdHJpbmcoXCIwXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMC4w
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSA8PT4gZW5naW5lLT5l
dmFsdWF0ZShcIicwJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIzXCIp
KSA8PT4gUVNjcmlwdFZhbHVlKDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5n
KFwiMTIzXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMTIzLjAp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIDw9PiBRU2NyaXB0VmFs
dWUoMCwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhc
IjEyM1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBRU3RyaW5nKFwiMTIzXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmlu
ZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wiKSkgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3Ry
aW5nKFwiMTIzXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMi4zXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJp
bmcoXCIxMi4zXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6
VW5kZWZpbmVkVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRW
YWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5l
ZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBR
U2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gUVNjcmlw
dFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoZW5n
aW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoZW5n
aW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInt9
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRW
YWx1ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gZW5naW5lLT5l
dmFsdWF0ZShcIm51bGxcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFs
dWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gZW5naW5lLT5udWxsVmFsdWUoKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBlbmdpbmUt
PnVuZGVmaW5lZFZhbHVlKCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFs
dWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZh
bHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVl
KSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVl
KDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVNjcmlw
dFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZh
bHVlOjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVu
ZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6
TnVsbFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFs
dWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUp
IDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwie31cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmlu
ZWRcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1
ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBlbmdpbmUtPm51bGxWYWx1ZSgpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBl
bmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVl
KSA8PT4gUVNjcmlwdFZhbHVlKHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdHJ1
ZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IHRydWUpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIHRydWUpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwidHJ1ZVwiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKGZhbHNlKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJc
IikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUo
UVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4gUVNjcmlw
dFZhbHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNl
KSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
ZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhc
IlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkgPD0+IFFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXku
cHJvdG90eXBlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBmYWxzZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIiki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCInJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4gZW5naW5lLT5l
dmFsdWF0ZShcIicwJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4g
ZW5naW5lLT5uZXdBcnJheSgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikp
IDw9PiBRU2NyaXB0VmFsdWUoaW50KDEyMikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
aW50KDEyMikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgaW50KDEyMikpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgaW50KDEyMikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBpbnQoMTIyKSki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBpbnQoMTIyKSkgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCIxMjJcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB1aW50KDEyNCkpIDw9PiBR
U2NyaXB0VmFsdWUodWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQo
MTI0KSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCB1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgdWludCgxMjQpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQoMTI0KSkgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCIxMjRcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gUVNjcmlwdFZh
bHVlKGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIDw9PiBRU2NyaXB0VmFs
dWUoMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gUVNjcmlwdFZhbHVlKDAu
MCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJp
bmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+IFFTY3JpcHRWYWx1
ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+IFFTY3JpcHRW
YWx1ZShRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4g
UVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIDw9
PiBRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4g
UVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4g
UVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUs
IDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIDApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5w
cm90b3R5cGVcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gZW5naW5lLT5l
dmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+IGVuZ2luZS0+bmV3QXJyYXkoKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShmYWxzZSkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoMCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKCkp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJp
bmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IFFTY3JpcHRW
YWx1ZSgwLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBRU2Ny
aXB0VmFsdWUoMCwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBRU2Ny
aXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IFFT
Y3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IDAuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNl
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIw
XCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCJbXVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IGVuZ2luZS0+
ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCAwLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMFwi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCIwLjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiJydcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiJzAnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSA8
PT4gZW5naW5lLT5uZXdBcnJheSgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMTIzLjAp
IDw9PiBRU2NyaXB0VmFsdWUoMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMTIz
LjApIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCAxMjMuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAxMjMuMCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCAxMjMuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIz
XCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4wKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMTIzLjApIDw9PiBR
U2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIDEyMy4wKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjEyMy4wXCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgMTIzLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydc
IikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVl
KDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgNi4zN2UtOCkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgp
IDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIDYuMzdlLTgpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiNi4zN2UtOFwiKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKC02LjM3ZS04
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVl
KDAsIC02LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgLTYuMzdlLTgpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiLTYuMzdlLThcIikiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCAweDQzMjExMjM0KSA8PT4gUVNjcmlwdFZhbHVlKDB4NDMyMTEy
MzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHg0MzIxMTIzNCkgPD0+IFFTY3JpcHRW
YWx1ZSgwLCAweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4NDMyMTEy
MzQpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIDB4NDMyMTEyMzQpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMHg0MzIxMTIz
NFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDApIDw9PiBRU2NyaXB0VmFs
dWUoMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAwKSA8PT4gUVNj
cmlwdFZhbHVlKDAsIDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAw
MCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMHgxMDAwMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAwXCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMSkgPD0+IFFTY3JpcHRWYWx1ZSgweDEwMDAx
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEpIDw9PiBRU2NyaXB0VmFsdWUo
MCwgMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAxKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAw
eDEwMDAxKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDFcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCBxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUocUluZigpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5mKCkpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYo
KSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCBxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcIkluZmluaXR5XCIpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcUluZigpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
IkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkgPD0+IFFT
Y3JpcHRWYWx1ZSgtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkp
IDw9PiBRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCAtcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkpIDw9
PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIC1xSW5mKCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5XCIpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJOYU5cIikgPD0+IFFTY3JpcHRWYWx1ZShcIk5h
TlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiTmFOXCIpIDw9PiBRU2NyaXB0VmFs
dWUoMCwgXCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIk5hTlwiKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBcIkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUocUluZigpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIkluZmluaXR5XCIp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIFwiSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCBcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZp
bml0eVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgtcUluZigpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFs
dWUoXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0
eVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmlu
aXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
LUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIDw9PiBR
U2NyaXB0VmFsdWUoXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFv
XCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgXCJj
aWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgXCJjaWFvXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIiki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZShl
bmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIFwiY2lhb1wiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8
PT4gUVNjcmlwdFZhbHVlKFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZy
b21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6
OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wiKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCInY2lhbydcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8
PT4gUVNjcmlwdFZhbHVlKGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRW
YWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwi
KSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgw
LCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJc
IikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8
PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmlu
ZyhcIlwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJv
dG90eXBlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIFFTdHJpbmcoXCJcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcIjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFFTdHJpbmcoXCJcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8PT4gZW5naW5lLT5uZXdBcnJheSgpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKGZh
bHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRW
YWx1ZSgwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSA8PT4g
UVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
UVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3Ry
aW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSA8PT4gUVNjcmlw
dFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmco
KSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmlu
ZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkgPD0+IGVuZ2luZS0+
ZXZhbHVhdGUoXCJbXVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5
KClcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBlbmdpbmUt
PmV2YWx1YXRlKFwiZmFsc2VcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5n
KCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTdHJpbmcoKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJydcIiki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBlbmdpbmUtPm5ld0Fy
cmF5KCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFT
Y3JpcHRWYWx1ZShmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwi
MFwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRW
YWx1ZSgwLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwi
KSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwi
MFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFT
Y3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAu
MCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTdHJpbmcoXCIwXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwiMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIwXCIpKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFFTdHJpbmcoXCIwXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIDw9PiBRU2NyaXB0VmFsdWUoMTIz
LjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSkgPD0+IFFT
Y3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFFTdHJpbmcoXCIxMjNcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMTIzLjApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBR
U3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIx
MjNcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU3RyaW5nKFwiMTIzXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0
cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMTIz
XCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjEyMy4wXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxLjIzXCIpKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEuMjNcIikpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIltdXCIpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIltdXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiW11cIikgPD0+IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IltdXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiW11cIikgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIltdXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIltdXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiW11cIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIltdXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3Ry
aW5nKCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCBmYWxzZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIDw9PiBR
U2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIltdXCIp
IDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJbXVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcImZhbHNl
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRl
KFwiMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcIjAuMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSA8PT4gZW5naW5l
LT5ldmFsdWF0ZShcIicnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIDw9PiBR
U2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwie31cIikgPD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1
ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwie31cIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBR
U2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ7
fVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlw
dFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwie31cIikg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwidW5k
ZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwibnVsbFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSA8PT4gZW5n
aW5lLT5udWxsVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSA8PT4gZW5n
aW5lLT51bmRlZmluZWRWYWx1ZSgpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdC5w
cm90b3R5cGVcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3QucHJvdG90eXBlXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkRhdGUucHJvdG90eXBlXCIpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiRGF0ZS5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJy
YXkucHJvdG90eXBlXCIpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAu
MCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIDw9PiBRU2Ny
aXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXku
cHJvdG90eXBlXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBmYWxzZSki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJh
eS5wcm90b3R5cGVcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikgPD0+IFFTY3JpcHRWYWx1ZSgw
LCBRU3RyaW5nKCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwi
KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIkFycmF5LnByb3RvdHlwZVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCAwLjApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwi
KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBR
U3RyaW5nKCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxz
ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnBy
b3RvdHlwZVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvbi5wcm90b3R5cGVcIikgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvbi5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiRXJyb3IucHJvdG90eXBlXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiRXJyb3Iu
cHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJh
eVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIk51bWJlclwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIk51bWJlclwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvblwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkZ1
bmN0aW9uXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIDw9PiBR
U2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgp
XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFy
cmF5KClcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
Im5ldyBBcnJheSgpXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5n
KCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFy
cmF5KClcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIm5ldyBBcnJheSgpXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikgPD0+IFFTY3JpcHRWYWx1ZSgw
LCBRU3RyaW5nKCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIDw9
PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
bmV3IEFycmF5KClcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjAp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcg
QXJyYXkoKVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcImZh
bHNlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXko
KVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJuZXcgQXJyYXkoKVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcImEgPSBuZXcgT2JqZWN0KCk7IGEuZm9vID0gMjI7IGEuZm9vXCIp
IDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiYSA9IG5ldyBPYmplY3QoKTsgYS5mb28gPSAyMjsgYS5m
b29cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIDw9PiBRU2NyaXB0
VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwidW5kZWZpbmVkXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFs
dWUpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcInVuZGVmaW5lZFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVs
bFZhbHVlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNj
cmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5l
ZFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcInVuZGVmaW5lZFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCJudWxsXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSA8PT4gZW5n
aW5lLT5udWxsVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikg
PD0+IGVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJu
dWxsXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRW
YWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIDw9PiBR
U2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwibnVsbFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6
TnVsbFZhbHVlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIDw9PiBRU2NyaXB0
VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCJudWxsXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFs
dWU6Ok51bGxWYWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcInt9XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwibnVsbFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwibnVsbFwiKSA8PT4gZW5naW5lLT5udWxsVmFsdWUoKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIDw9PiBlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidHJ1ZVwiKSA8PT4gUVNjcmlwdFZhbHVlKHRydWUpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInRydWVcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCB0cnVl
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5n
aW5lLCB0cnVlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIDw9PiBlbmdpbmUt
PmV2YWx1YXRlKFwidHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8
PT4gUVNjcmlwdFZhbHVlKGZhbHNlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwi
KSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIp
IDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwi
KSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcImZhbHNlXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJmYWxzZVwiKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNl
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIDw9PiBRU2NyaXB0VmFsdWUo
MCwgMC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCJmYWxzZVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2Up
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5n
aW5lLCAwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8PT4gUVNjcmlwdFZh
bHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiZmFsc2VcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmcoXCIwXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIp
IDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcImZhbHNlXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCJmYWxzZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
ZmFsc2VcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJmYWxzZVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8PT4gZW5naW5lLT5uZXdBcnJheSgpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIjEyMlwiKSA8PT4gUVNjcmlwdFZhbHVlKGludCgxMjIpKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjJcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBpbnQoMTIy
KSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIyXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5n
aW5lLCBpbnQoMTIyKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIyXCIpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiMTIyXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyNFwiKSA8
PT4gUVNjcmlwdFZhbHVlKHVpbnQoMTI0KSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTI0
XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgdWludCgxMjQpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCIxMjRcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQoMTI0KSkiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IFFTY3JpcHRWYWx1ZShmYWxzZSkiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhc
IjBcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgw
LCBmYWxzZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4gUVNjcmlwdFZhbHVl
KDAsIDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgw
LCAwLjApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgw
LCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIDw9PiBRU2Ny
aXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIDw9
PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIjBcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCIwXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCIwXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmco
XCJcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IFFTY3JpcHRWYWx1ZShl
bmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIjBcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCIwXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcg
QXJyYXkoKVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiZmFsc2VcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIp
IDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
MFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCIwXCIpIDw9PiBlbmdpbmUtPm5ld0FycmF5KCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiMC4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIjAuMFwiKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IjAuMFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
MC4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiMC4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCIwLjBcIikgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgZmFsc2Up
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAu
MCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwg
UVN0cmluZyhcIlwiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBRU2Ny
aXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikg
PD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiMC4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikgPD0+IFFT
Y3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
MC4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiQXJy
YXkucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IjAuMFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIjAuMFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicnXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
IicwJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikgPD0+IGVuZ2luZS0+bmV3
QXJyYXkoKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMuMFwiKSA8PT4gUVNjcmlwdFZh
bHVlKDEyMy4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMuMFwiKSA8PT4gUVNjcmlw
dFZhbHVlKFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyMy4w
XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMTIzLjApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IjEyMy4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4w
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMuMFwiKSA8PT4gUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBc
IikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMuMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCIxMjMuMFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIjYuMzdlLThcIikgPD0+IFFTY3JpcHRWYWx1ZSg2LjM3ZS04KSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCI2LjM3ZS04XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgNi4z
N2UtOCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiNi4zN2UtOFwiKSA8PT4gUVNjcmlwdFZh
bHVlKGVuZ2luZSwgNi4zN2UtOCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiNi4zN2UtOFwi
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjYuMzdlLThcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiLTYuMzdlLThcIikgPD0+IFFTY3JpcHRWYWx1ZSgtNi4zN2UtOCkiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiLTYuMzdlLThcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLTYuMzdlLThcIikgPD0+IFFTY3JpcHRWYWx1ZShl
bmdpbmUsIC02LjM3ZS04KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItNi4zN2UtOFwiKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIi02LjM3ZS04XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIjB4NDMyMTEyMzRcIikgPD0+IFFTY3JpcHRWYWx1ZSgweDQzMjExMjM0KSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCIweDQzMjExMjM0XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMHg0MzIx
MTIzNCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHg0MzIxMTIzNFwiKSA8PT4gUVNjcmlw
dFZhbHVlKGVuZ2luZSwgMHg0MzIxMTIzNCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHg0
MzIxMTIzNFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjB4NDMyMTEyMzRcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMFwiKSA8PT4gUVNjcmlwdFZhbHVlKDB4MTAwMDApIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDBcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAw
eDEwMDAwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAwXCIpIDw9PiBRU2NyaXB0
VmFsdWUoZW5naW5lLCAweDEwMDAwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAw
XCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCIweDEwMDAxXCIpIDw9PiBRU2NyaXB0VmFsdWUoMHgxMDAwMSkiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiMHgxMDAwMVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDEpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDFcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIDB4MTAwMDEpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDFcIikgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCIweDEwMDAxXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIklu
ZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUocUluZigpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJJbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKFwiSW5maW5pdHlcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUo
MCwgXCJJbmZpbml0eVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJJbmZpbml0eVwiKSA8
PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgcUluZigpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCJJbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJJbmZpbml0eVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
IkluZmluaXR5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0eVwiKSA8PT4g
UVNjcmlwdFZhbHVlKC1xSW5mKCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0
eVwiKSA8PT4gUVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiLUlu
ZmluaXR5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0eVwiKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLUlu
ZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0eVwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCItSW5maW5pdHlcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIt
SW5maW5pdHlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJ2NpYW8nXCIpIDw9PiBRU2Ny
aXB0VmFsdWUoXCJjaWFvXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSA8
PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJ2NpYW8nXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwg
UVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IidjaWFvJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmlu
Zzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIidjaWFv
J1wiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCInJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKGZhbHNlKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCInJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIicnXCIpIDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCInJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIicnXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCInJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIicnXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0
cmluZygpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIDw9PiBRU2Ny
aXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wi
KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiJydcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
IkFycmF5LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIicnXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiJydcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIicnXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJydcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikgPD0+IGVuZ2luZS0+bmV3QXJyYXkoKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikgPD0+IFFTY3JpcHRWYWx1ZShmYWxzZSki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCkiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwi
MFwiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIDw9PiBRU2NyaXB0VmFsdWUo
MCwgZmFsc2UpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIDAuMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wi
KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIicwJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiJzAnXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIicwJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhc
IjBcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcImZhbHNlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIDw9
PiBlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicw
J1wiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCInMTIzJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKDEyMy4wKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCInMTIzJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMjNcIikpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMTIzLjAp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwg
UVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIikgPD0+
IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIn
MTIzJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMu
MFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcIicxMjMnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMi40J1wiKSA8PT4g
UVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMi40XCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCInMTIuNCdcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMTIuNCdcIikiLAotICAgICJlbmdp
bmUtPm51bGxWYWx1ZSgpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRW
YWx1ZSkiLAotICAgICJlbmdpbmUtPm51bGxWYWx1ZSgpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlw
dFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiZW5naW5lLT5udWxsVmFsdWUoKSA8PT4gUVNjcmlw
dFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5naW5lLT5u
dWxsVmFsdWUoKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIs
Ci0gICAgImVuZ2luZS0+bnVsbFZhbHVlKCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3Jp
cHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5naW5lLT5udWxsVmFsdWUoKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiZW5n
aW5lLT5udWxsVmFsdWUoKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIiwKLSAgICAiZW5n
aW5lLT5udWxsVmFsdWUoKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSIsCi0g
ICAgImVuZ2luZS0+bnVsbFZhbHVlKCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIiwK
LSAgICAiZW5naW5lLT5udWxsVmFsdWUoKSA8PT4gZW5naW5lLT5udWxsVmFsdWUoKSIsCi0gICAg
ImVuZ2luZS0+bnVsbFZhbHVlKCkgPD0+IGVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSIsCi0gICAg
ImVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6
VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpIDw9PiBRU2Ny
aXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiZW5naW5lLT51bmRlZmlu
ZWRWYWx1ZSgpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1
ZSkiLAotICAgICJlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBR
U2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwK
LSAgICAiZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBR
U2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSIsCi0gICAgImVuZ2luZS0+dW5kZWZpbmVkVmFs
dWUoKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSIsCi0gICAgImVuZ2luZS0+
dW5kZWZpbmVkVmFsdWUoKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikiLAotICAgICJl
bmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkgPD0+IGVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAgICJl
bmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkgPD0+IGVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSIsCi0g
ICAgImVuZ2luZS0+bmV3QXJyYXkoKSA8PT4gUVNjcmlwdFZhbHVlKGZhbHNlKSIsCi0gICAgImVu
Z2luZS0+bmV3QXJyYXkoKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAiZW5naW5lLT5uZXdB
cnJheSgpIDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgImVuZ2luZS0+bmV3QXJyYXkoKSA8
PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgp
IDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgImVuZ2luZS0+bmV3QXJyYXkoKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgImVuZ2luZS0+bmV3QXJyYXkoKSA8PT4g
UVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgMC4wKSIsCi0gICAgImVuZ2luZS0+bmV3QXJyYXkoKSA8PT4gUVNjcmlwdFZhbHVl
KDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgImVuZ2luZS0+bmV3QXJyYXkoKSA8PT4gUVNjcmlw
dFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgpIDw9PiBRU2Ny
aXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgImVuZ2luZS0+bmV3QXJyYXkoKSA8PT4gUVNjcmlw
dFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgImVuZ2luZS0+bmV3QXJyYXkoKSA8PT4gUVNjcmlw
dFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KCkg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJlbmdpbmUtPm5ld0Fy
cmF5KCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgImVuZ2luZS0+bmV3
QXJyYXkoKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJlbmdpbmUtPm5ld0Fy
cmF5KCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJlbmdpbmUtPm5ld0Fy
cmF5KCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSJ9OwotCi12b2lkIHRzdF9RU2NyaXB0
VmFsdWU6OmVxdWFsc19kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTY3JpcHRWYWx1
ZT4oInZhbHVlIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJvdGhlciIp
OwotICAgIFFUZXN0OjphZGRDb2x1bW48Ym9vbD4oImV4cGVjdGVkIik7Ci0gICAgaWYgKG1fZW5n
aW5lKQotICAgICAgICBkZWxldGUgbV9lbmdpbmU7Ci0gICAgbV9lbmdpbmUgPSBuZXcgUVNjcmlw
dEVuZ2luZSgpOwotICAgIFFTZXQ8UVN0cmluZz4gZXF1YWxzOwotICAgIGVxdWFscy5yZXNlcnZl
KDExMTEpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCAxMTExOyArK2kpCi0gICAgICAg
IGVxdWFscy5pbnNlcnQoZXF1YWxzX2FycmF5W2ldKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgMTM1OyArK2kpIHsKLSAgICAgICAgUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPiB2
YWx1ZTEgPSBpbml0U2NyaXB0VmFsdWVzKGkpOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGogPSAw
OyBqIDwgMTM1OyArK2opIHsKLSAgICAgICAgICAgIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1
ZT4gdmFsdWUyID0gaW5pdFNjcmlwdFZhbHVlcyhqKTsKLSAgICAgICAgICAgIFFTdHJpbmcgdGFn
ID0gUVN0cmluZzo6ZnJvbUxhdGluMSgiJTIwIDw9PiAlMjEiKS5hcmcodmFsdWUxLmZpcnN0LCB2
YWx1ZTIuZmlyc3QpOwotICAgICAgICAgICAgUVRlc3Q6Om5ld1Jvdyh0YWcudG9Bc2NpaSgpLmNv
bnN0RGF0YSgpKSA8PCB2YWx1ZTEuc2Vjb25kIDw8IHZhbHVlMi5zZWNvbmQgPDwgZXF1YWxzLmNv
bnRhaW5zKHRhZyk7ICAgICAgICB9Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6
OmVxdWFscygpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAgIFFGRVRD
SChRU2NyaXB0VmFsdWUsIG90aGVyKTsKLSAgICBRRkVUQ0goYm9vbCwgZXhwZWN0ZWQpOwotICAg
IFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShcIi1J
bmZpbml0eVwiKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBR
RVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZShxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoMCwgXCIt
SW5maW5pdHlcIikiLCAiRklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAg
UUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUoLXFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShcIi1J
bmZpbml0eVwiKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBR
RVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZSgtcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwi
LUluZmluaXR5XCIpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAg
IFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFs
dWUocUluZigpKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBR
RVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZShcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVl
KC1xSW5mKCkpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFF
WFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUo
MCwgcUluZigpKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBR
RVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZShcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVl
KDAsIC1xSW5mKCkpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAg
IFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKDAsIHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShc
Ii1JbmZpbml0eVwiKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAg
ICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUo
MCwgXCItSW5maW5pdHlcIikiLCAiRklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7
Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUoMCwgLXFJbmYoKSkgPD0+IFFTY3JpcHRW
YWx1ZShcIi1JbmZpbml0eVwiKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVl
KTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZSgwLCAtcUluZigpKSA8PT4gUVNjcmlw
dFZhbHVlKDAsIFwiLUluZmluaXR5XCIpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29u
dGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKDAsIFwiLUluZmluaXR5XCIp
IDw9PiBRU2NyaXB0VmFsdWUocUluZigpKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENv
bnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwi
KSA8PT4gUVNjcmlwdFZhbHVlKC1xSW5mKCkpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4Iiwg
Q29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKDAsIFwiLUluZmluaXR5
XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgcUluZigpKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAz
OCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZp
bml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIiwgIkZJWE1FOiBXZWJLaXQgYnVn
IDQzMDM4IiwgQ29udGludWUpOwotICAgIFFDT01QQVJFKHZhbHVlLmVxdWFscyhvdGhlciksIGV4
cGVjdGVkKTsKLX0KLQotc3RhdGljIGNvbnN0IFFTdHJpbmcgc3RyaWN0bHlFcXVhbHNfYXJyYXlb
XSA9IHsKLSAgICAiUVNjcmlwdFZhbHVlKCkgPD0+IFFTY3JpcHRWYWx1ZSgpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUo
UVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlw
dFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6
OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVm
aW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmlu
ZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1
ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2Ny
aXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5l
ZFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8
PT4gZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRW
YWx1ZTo6TnVsbFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVl
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUo
UVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0
VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxs
VmFsdWUpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IGVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAg
ICJRU2NyaXB0VmFsdWUodHJ1ZSkgPD0+IFFTY3JpcHRWYWx1ZSh0cnVlKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSh0cnVlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKHRydWUpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSh0cnVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInRydWVcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShm
YWxzZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShmYWxzZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShpbnQoMTIyKSkgPD0+IFFTY3JpcHRWYWx1ZShpbnQoMTIyKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoaW50KDEyMikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgaW50KDEyMikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGludCgxMjIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGludCgxMjIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjEyMlwi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh1aW50KDEyNCkpIDw9PiBRU2NyaXB0VmFsdWUodWludCgx
MjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh1aW50KDEyNCkpIDw9PiBRU2NyaXB0VmFsdWUoMCwg
dWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh1aW50KDEyNCkpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCB1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHVpbnQoMTI0KSkgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCIxMjRcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCkgPD0+IFFT
Y3JpcHRWYWx1ZSgwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4gUVNjcmlwdFZhbHVlKDAu
MCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAp
IDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjApIDw9PiBR
U2NyaXB0VmFsdWUoMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gUVNjcmlwdFZhbHVl
KDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMC4wKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoMC4wKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgxMjMuMCkgPD0+IFFTY3JpcHRWYWx1ZSgxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUo
MTIzLjApIDw9PiBRU2NyaXB0VmFsdWUoMCwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDEy
My4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDEyMy4wKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjEyMy4wXCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDYuMzdlLTgpIDw9PiBRU2NyaXB0VmFsdWUoNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFs
dWUoNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSg2LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgNi4zN2UtOCkiLAotICAgICJR
U2NyaXB0VmFsdWUoNi4zN2UtOCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCI2LjM3ZS04XCIpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKC02LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKC02LjM3ZS04KSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgtNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAtNi4zN2Ut
OCkiLAotICAgICJRU2NyaXB0VmFsdWUoLTYuMzdlLTgpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCAtNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoLTYuMzdlLTgpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiLTYuMzdlLThcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMHg0MzIxMTIzNCkgPD0+
IFFTY3JpcHRWYWx1ZSgweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDQzMjExMjM0
KSA8PT4gUVNjcmlwdFZhbHVlKDAsIDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4
NDMyMTEyMzQpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAweDQzMjExMjM0KSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgweDQzMjExMjM0KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjB4NDMyMTEyMzRc
IikiLAotICAgICJRU2NyaXB0VmFsdWUoMHgxMDAwMCkgPD0+IFFTY3JpcHRWYWx1ZSgweDEwMDAw
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAwKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDB4MTAw
MDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAwKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcIjB4MTAwMDBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMHgxMDAwMSkgPD0+IFFTY3Jp
cHRWYWx1ZSgweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAxKSA8PT4gUVNjcmlw
dFZhbHVlKDAsIDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDEpIDw9PiBRU2Ny
aXB0VmFsdWUoZW5naW5lLCAweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAxKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDFcIikiLAotICAgICJRU2NyaXB0VmFsdWUocUlu
ZigpKSA8PT4gUVNjcmlwdFZhbHVlKHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUocUluZigp
KSA8PT4gUVNjcmlwdFZhbHVlKDAsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUocUluZigp
KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShx
SW5mKCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoLXFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZSgtcUluZigpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgtcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKC1xSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAtcUluZigpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgtcUluZigpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0eVwi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIk5hTlwiKSA8PT4gUVNjcmlwdFZhbHVlKFwiTmFOXCIp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiTmFOXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgXCJOYU5c
IikiLAotICAgICJRU2NyaXB0VmFsdWUoXCJOYU5cIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUs
IFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiSW5maW5pdHlcIikgPD0+IFFTY3JpcHRW
YWx1ZShcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiSW5maW5pdHlcIikgPD0+
IFFTY3JpcHRWYWx1ZSgwLCBcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiSW5m
aW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIikiLAotICAgICJR
U2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShcIi1JbmZpbml0eVwi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIDw9PiBR
U2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShc
ImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZShcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUo
XCJjaWFvXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiY2lh
b1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBR
U3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoXCJjaWFv
XCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFs
dWUoXCJjaWFvXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nOjpmcm9tTGF0aW4x
KFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoXCJjaWFvXCIpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiJ2NpYW8nXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRp
bjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShRU3Ry
aW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZzo6
ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlw
dFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nOjpmcm9tTGF0aW4xKFwi
Y2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJj
aWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wi
KSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
UVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3Ry
aW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlw
dFZhbHVlKDAsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
JydcIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKFFT
dHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRW
YWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3Ry
aW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIn
J1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1
ZShRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIDw9
PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFT
dHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
IicwJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSA8PT4gUVNjcmlw
dFZhbHVlKFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIx
MjNcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMjNcIikpIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhc
IjEyLjRcIikpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyLjRcIikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFFTdHJpbmcoXCIxMi40XCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicxMi40
J1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVl
KSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwie31c
IikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IGVuZ2luZS0+dW5kZWZpbmVkVmFs
dWUoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+
IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVNjcmlw
dFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6
TnVsbFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFs
dWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlw
dFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBlbmdpbmUtPm51bGxWYWx1ZSgpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIHRydWUpIDw9PiBRU2NyaXB0VmFsdWUodHJ1ZSkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgdHJ1ZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCB0cnVlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgdHJ1ZSkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgdHJ1ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKGZhbHNlKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCBmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIiki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgaW50KDEyMikpIDw9PiBRU2NyaXB0VmFsdWUoaW50KDEy
MikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGludCgxMjIpKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBpbnQoMTIyKSkgPD0+IFFTY3JpcHRW
YWx1ZShlbmdpbmUsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBpbnQoMTIyKSkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIxMjJcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgdWlu
dCgxMjQpKSA8PT4gUVNjcmlwdFZhbHVlKHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgdWludCgxMjQpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIHVpbnQoMTI0KSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgdWludCgxMjQpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCB1aW50KDEyNCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRl
KFwiMTI0XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBRU2NyaXB0VmFsdWUoMCki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIDApIDw9PiBRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIDApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCAwKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCAwKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
MCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
MC4wKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+
IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBRU2NyaXB0VmFs
dWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCIwXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCIwLjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIDw9PiBRU2NyaXB0
VmFsdWUoMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDEyMy4wKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAxMjMuMCkgPD0+IFFTY3JpcHRW
YWx1ZShlbmdpbmUsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAxMjMuMCkgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCIxMjMuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCA2LjM3ZS04
KSA8PT4gUVNjcmlwdFZhbHVlKDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDYuMzdl
LTgpIDw9PiBRU2NyaXB0VmFsdWUoMCwgNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
Ni4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIDYuMzdlLTgpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiNi4zN2UtOFwiKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZSgtNi4zN2UtOCki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgLTYuMzdlLTgpIDw9PiBRU2NyaXB0VmFsdWUoMCwgLTYu
MzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC02LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC02LjM3ZS04KSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIi02LjM3ZS04XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4
NDMyMTEyMzQpIDw9PiBRU2NyaXB0VmFsdWUoMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgMHg0MzIxMTIzNCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAweDQzMjExMjM0KSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCAweDQzMjExMjM0KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHg0
MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkgPD0+IGVuZ2luZS0+
ZXZhbHVhdGUoXCIweDQzMjExMjM0XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDAp
IDw9PiBRU2NyaXB0VmFsdWUoMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAw
MCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAw
eDEwMDAwKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMCkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgMHgxMDAwMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAwXCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDEpIDw9PiBRU2NyaXB0VmFsdWUoMHgxMDAwMSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAweDEwMDAx
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAxKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkgPD0+IGVuZ2luZS0+
ZXZhbHVhdGUoXCIweDEwMDAxXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHFJbmYoKSkgPD0+
IFFTY3JpcHRWYWx1ZShxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHFJbmYoKSkgPD0+
IFFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHFJbmYoKSkg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
cUluZigpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIC1xSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoLXFJbmYoKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgLXFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAtcUluZigpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCAtcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYo
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgLXFJbmYoKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJOYU5cIikgPD0+IFFTY3Jp
cHRWYWx1ZShcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIk5hTlwiKSA8PT4gUVNj
cmlwdFZhbHVlKDAsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiTmFOXCIpIDw9
PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBc
IkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCBcIkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgXCJJbmZpbml0eVwi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCBcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiLUluZmluaXR5
XCIpIDw9PiBRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIDw9PiBR
U2NyaXB0VmFsdWUoXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wiKSA8
PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCBcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmlu
Zzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wi
KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGlu
MShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wiKSA8PT4gZW5naW5l
LT5ldmFsdWF0ZShcIidjaWFvJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nOjpm
cm9tTGF0aW4xKFwiY2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShcImNpYW9cIikiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2NyaXB0
VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwi
Y2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lh
b1wiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9
PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
UVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBR
U3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0
cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJ2NpYW8n
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFs
dWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkg
PD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJp
bmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwi
XCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwi
XCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUo
UVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygp
KSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
UVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0
cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiJydcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIDw9
PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFT
dHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUs
IFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0
cmluZyhcIjEyM1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIzXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFT
dHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikp
IDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIzXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicxMjMn
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMi4zXCIpKSA8PT4gUVNjcmlw
dFZhbHVlKDAsIFFTdHJpbmcoXCIxMi4zXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlwdFZh
bHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0
VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6
VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVl
OjpVbmRlZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6
VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVl
OjpVbmRlZmluZWRWYWx1ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
UVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IGVuZ2luZS0+dW5kZWZpbmVkVmFsdWUo
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8
PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
Y3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZh
bHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVl
OjpOdWxsVmFsdWUpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gZW5naW5lLT5udWxs
VmFsdWUoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHRydWUpIDw9PiBRU2NyaXB0VmFs
dWUodHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVlKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdHJ1ZSkgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdHJ1ZSkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxz
ZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGludCgxMjIpKSA8PT4gUVNjcmlwdFZh
bHVlKGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGludCgxMjIpKSA8PT4g
UVNjcmlwdFZhbHVlKDAsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGlu
dCgxMjIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTIyXCIpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQpKSA8PT4gUVNjcmlwdFZhbHVlKHVp
bnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB1aW50KDEyNCkpIDw9PiBRU2Ny
aXB0VmFsdWUoMCwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQo
MTI0KSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCB1aW50KDEyNCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+IFFTY3JpcHRWYWx1ZSgwKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIDApIDw9PiBRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMC4w
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAuMCki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoMCwgMCki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoMCwgMC4w
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDEy
My4wKSA8PT4gUVNjcmlwdFZhbHVlKDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IDEyMy4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIDEyMy4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMTIzLjApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgMTIzLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIiki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKDYu
MzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgNi4zN2UtOCkgPD0+IFFTY3JpcHRW
YWx1ZSgwLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgpIDw9
PiBRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIDYuMzdlLTgpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiNi4zN2UtOFwiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKC02LjM3ZS04KSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKDAs
IC02LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
LTYuMzdlLTgpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiLTYuMzdlLThcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCAweDQzMjExMjM0KSA8PT4gUVNjcmlwdFZhbHVlKDB4NDMyMTEyMzQp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHg0MzIxMTIzNCkgPD0+IFFTY3JpcHRWYWx1
ZSgwLCAweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4NDMyMTEyMzQp
IDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIDB4NDMyMTEyMzQpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMHg0MzIxMTIzNFwi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDApIDw9PiBRU2NyaXB0VmFsdWUo
MHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAwKSA8PT4gUVNjcmlw
dFZhbHVlKDAsIDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMCkg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgMHgxMDAwMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAwXCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMSkgPD0+IFFTY3JpcHRWYWx1ZSgweDEwMDAxKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEpIDw9PiBRU2NyaXB0VmFsdWUoMCwg
MHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAxKSA8PT4gUVNjcmlw
dFZhbHVlKGVuZ2luZSwgMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEw
MDAxKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDFcIikiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUocUluZigpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwg
cUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkgPD0+IGVuZ2luZS0+
ZXZhbHVhdGUoXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5m
KCkpIDw9PiBRU2NyaXB0VmFsdWUoLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCAtcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgLXFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIk5hTlwiKSA8PT4g
UVNjcmlwdFZhbHVlKFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJOYU5c
IikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFwiTmFOXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcIk5hTlwiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShcIkluZmlu
aXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSA8PT4gUVNj
cmlwdFZhbHVlKDAsIFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBc
IkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcIkluZmluaXR5XCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShc
Ii1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCBcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCItSW5maW5p
dHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikgPD0+IFFTY3JpcHRW
YWx1ZShcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikgPD0+
IFFTY3JpcHRWYWx1ZShRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIiki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZSgw
LCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiY2lhb1wiKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwg
UVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgXCJjaWFvXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJ2NpYW8nXCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2Ny
aXB0VmFsdWUoXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6
ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGlu
MShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxh
dGluMShcImNpYW9cIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2Ny
aXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2NyaXB0
VmFsdWUoZW5naW5lLCBcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3Ry
aW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIidjaWFv
J1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2Ny
aXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3Ry
aW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJc
IikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmlu
ZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIp
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIw
XCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
JzAnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSkgPD0+
IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTdHJpbmcoXCIxMjNcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wi
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMTIzXCIpKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCBRU3RyaW5nKFwiMTIzXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEuMjNcIikpIDw9PiBRU2Ny
aXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMS4yM1wiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwie31cIikgPD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVl
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFT
Y3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9
XCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVl
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
Int9XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIDw9PiBl
bmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0
LnByb3RvdHlwZVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdC5wcm90b3R5cGVcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRGF0ZS5wcm90b3R5cGVcIikgPD0+IGVuZ2luZS0+
ZXZhbHVhdGUoXCJEYXRlLnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJB
cnJheS5wcm90b3R5cGVcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb24ucHJvdG90eXBlXCIpIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb24ucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIkVycm9yLnByb3RvdHlwZVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkVycm9y
LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJy
YXlcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheVwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJOdW1iZXJcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJOdW1iZXJcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb25cIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJG
dW5jdGlvblwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJhID0gbmV3IE9iamVjdCgpOyBh
LmZvbyA9IDIyOyBhLmZvb1wiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcImEgPSBuZXcgT2JqZWN0
KCk7IGEuZm9vID0gMjI7IGEuZm9vXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInVuZGVm
aW5lZFwiKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
InVuZGVmaW5lZFwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRl
ZmluZWRWYWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwie31cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidW5kZWZp
bmVkXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSA8PT4gZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikgPD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0
VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSA8PT4g
UVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJudWxsXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6
Ok51bGxWYWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSA8PT4gZW5naW5l
LT5ldmFsdWF0ZShcIm51bGxcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSA8
PT4gZW5naW5lLT5udWxsVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIp
IDw9PiBRU2NyaXB0VmFsdWUodHJ1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidHJ1ZVwi
KSA8PT4gUVNjcmlwdFZhbHVlKDAsIHRydWUpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInRy
dWVcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIHRydWUpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcInRydWVcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCBmYWxzZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikgPD0+IGVuZ2luZS0+
ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjJcIikgPD0+
IFFTY3JpcHRWYWx1ZShpbnQoMTIyKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIyXCIp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgaW50KDEyMikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IjEyMlwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIjEyMlwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjEyMlwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjRcIikgPD0+IFFTY3JpcHRWYWx1ZSh1aW50KDEyNCkpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyNFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIHVpbnQo
MTI0KSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCB1aW50KDEyNCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyNFwiKSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIjEyNFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIp
IDw9PiBRU2NyaXB0VmFsdWUoMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4g
UVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4gUVNj
cmlwdFZhbHVlKDAsIDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IFFT
Y3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwi
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCIwLjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIw
LjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAu
MFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAu
MFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
MC4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCIwLjBcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCIwLjBcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgxMjMuMCki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAx
MjMuMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIikgPD0+IFFTY3JpcHRWYWx1
ZShlbmdpbmUsIDEyMy4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMuMFwiKSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIjEyMy4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjYu
MzdlLThcIikgPD0+IFFTY3JpcHRWYWx1ZSg2LjM3ZS04KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCI2LjM3ZS04XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgNi4zN2UtOCkiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiNi4zN2UtOFwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgNi4zN2Ut
OCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiNi4zN2UtOFwiKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcIjYuMzdlLThcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLTYuMzdlLThcIikg
PD0+IFFTY3JpcHRWYWx1ZSgtNi4zN2UtOCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLTYu
MzdlLThcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiLTYuMzdlLThcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItNi4zN2UtOFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0
ZShcIi02LjM3ZS04XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4NDMyMTEyMzRcIikg
PD0+IFFTY3JpcHRWYWx1ZSgweDQzMjExMjM0KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIw
eDQzMjExMjM0XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiMHg0MzIxMTIzNFwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHg0
MzIxMTIzNCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHg0MzIxMTIzNFwiKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIjB4NDMyMTEyMzRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
MHgxMDAwMFwiKSA8PT4gUVNjcmlwdFZhbHVlKDB4MTAwMDApIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIjB4MTAwMDBcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAweDEwMDAwKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCIweDEwMDAwXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEw
MDAwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAwXCIpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiMHgxMDAwMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAxXCIp
IDw9PiBRU2NyaXB0VmFsdWUoMHgxMDAwMSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgx
MDAwMVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDEpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIjB4MTAwMDFcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDFcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIw
eDEwMDAxXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkluZmluaXR5XCIpIDw9PiBRU2Ny
aXB0VmFsdWUocUluZigpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJJbmZpbml0eVwiKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIHFJbmYoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiSW5m
aW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiSW5maW5pdHlcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJJbmZpbml0eVwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1
ZSgtcUluZigpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItSW5maW5pdHlcIikgPD0+IFFT
Y3JpcHRWYWx1ZSgwLCAtcUluZigpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItSW5maW5p
dHlcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIi1JbmZpbml0eVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0eVwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikgPD0+IFFTY3JpcHRWYWx1ZShc
ImNpYW9cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJ2NpYW8nXCIpIDw9PiBRU2NyaXB0
VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIidjaWFvJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nOjpm
cm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJ2NpYW8nXCIp
IDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiJ2NpYW8nXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nOjpmcm9tTGF0
aW4xKFwiY2lhb1wiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJ2NpYW8nXCIpIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwiJ2NpYW8nXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicn
XCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiJydcIikgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIicnXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIn
J1wiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIicwJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCInMCdcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMjMn
XCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiJzEyMydcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIzXCIpKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIikg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCInMTIuNCdcIikgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIuNFwiKSkiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiJzEyLjQnXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJzEyLjQn
XCIpIiwKLSAgICAiZW5naW5lLT5udWxsVmFsdWUoKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRW
YWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgImVuZ2luZS0+bnVsbFZhbHVlKCkgPD0+IFFTY3JpcHRW
YWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJlbmdpbmUtPm51bGxWYWx1
ZSgpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAot
ICAgICJlbmdpbmUtPm51bGxWYWx1ZSgpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSIs
Ci0gICAgImVuZ2luZS0+bnVsbFZhbHVlKCkgPD0+IGVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAg
ICJlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkgPD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6
OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgImVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSA8PT4gUVNj
cmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5naW5l
LT51bmRlZmluZWRWYWx1ZSgpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6
OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgImVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcInt9XCIpIiwKLSAgICAiZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpIDw9
PiBlbmdpbmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT51bmRlZmlu
ZWRWYWx1ZSgpIDw9PiBlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkifTsKLQotdm9pZCB0c3RfUVNj
cmlwdFZhbHVlOjpzdHJpY3RseUVxdWFsc19kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRkQ29sdW1u
PFFTY3JpcHRWYWx1ZT4oInZhbHVlIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFs
dWU+KCJvdGhlciIpOwotICAgIFFUZXN0OjphZGRDb2x1bW48Ym9vbD4oImV4cGVjdGVkIik7Ci0g
ICAgaWYgKG1fZW5naW5lKQotICAgICAgICBkZWxldGUgbV9lbmdpbmU7Ci0gICAgbV9lbmdpbmUg
PSBuZXcgUVNjcmlwdEVuZ2luZSgpOwotICAgIFFTZXQ8UVN0cmluZz4gZXF1YWxzOwotICAgIGVx
dWFscy5yZXNlcnZlKDQ5MSk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IDQ5MTsgKytp
KQotICAgICAgICBlcXVhbHMuaW5zZXJ0KHN0cmljdGx5RXF1YWxzX2FycmF5W2ldKTsKLSAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgMTM1OyArK2kpIHsKLSAgICAgICAgUVBhaXI8UVN0cmlu
ZywgUVNjcmlwdFZhbHVlPiB2YWx1ZTEgPSBpbml0U2NyaXB0VmFsdWVzKGkpOwotICAgICAgICBm
b3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgMTM1OyArK2opIHsKLSAgICAgICAgICAgIFFQYWlyPFFT
dHJpbmcsIFFTY3JpcHRWYWx1ZT4gdmFsdWUyID0gaW5pdFNjcmlwdFZhbHVlcyhqKTsKLSAgICAg
ICAgICAgIFFTdHJpbmcgdGFnID0gUVN0cmluZzo6ZnJvbUxhdGluMSgiJTIwIDw9PiAlMjEiKS5h
cmcodmFsdWUxLmZpcnN0LCB2YWx1ZTIuZmlyc3QpOwotICAgICAgICAgICAgUVRlc3Q6Om5ld1Jv
dyh0YWcudG9Bc2NpaSgpLmNvbnN0RGF0YSgpKSA8PCB2YWx1ZTEuc2Vjb25kIDw8IHZhbHVlMi5z
ZWNvbmQgPDwgZXF1YWxzLmNvbnRhaW5zKHRhZyk7ICAgICAgICB9Ci0gICAgfQotfQotCi12b2lk
IHRzdF9RU2NyaXB0VmFsdWU6OnN0cmljdGx5RXF1YWxzKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlw
dFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgb3RoZXIpOwotICAgIFFG
RVRDSChib29sLCBleHBlY3RlZCk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUoUVNj
cmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6
OlVuZGVmaW5lZFZhbHVlKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsK
LSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZh
bHVlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwg
IkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgi
UVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsICJGSVhNRTogV2ViS2l0
IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZShR
U2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInt9XCIp
IiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJ
TCgiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBlbmdpbmUt
PmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29u
dGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5k
ZWZpbmVkVmFsdWUpIDw9PiBlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkiLCAiRklYTUU6IFdlYktp
dCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUo
UVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpO
dWxsVmFsdWUpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFF
WFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gUVNj
cmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsICJGSVhNRTogV2ViS2l0IGJ1
ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZShRU2Ny
aXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1
ZTo6TnVsbFZhbHVlKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAg
ICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4Iiwg
Q29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6
TnVsbFZhbHVlKSA8PT4gZW5naW5lLT5udWxsVmFsdWUoKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0
MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZSh0cnVlKSA8
PT4gUVNjcmlwdFZhbHVlKHRydWUpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGlu
dWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKHRydWUpIDw9PiBRU2NyaXB0VmFs
dWUoMCwgdHJ1ZSkiLCAiRklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAg
UUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUoZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2Up
IiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJ
TCgiUVNjcmlwdFZhbHVlKGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsICJGSVhN
RTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3Jp
cHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVl
KFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4
IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRW
YWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpV
bmRlZmluZWRWYWx1ZSkiLCAiRklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0g
ICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRW
YWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFs
dWUpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1Rf
RkFJTCgiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwie31cIikiLCAiRklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250
aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpV
bmRlZmluZWRWYWx1ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLCAiRklY
TUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2Ny
aXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IGVuZ2luZS0+dW5k
ZWZpbmVkVmFsdWUoKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAg
ICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkg
PD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLCAiRklYTUU6IFdlYktp
dCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUo
MCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZh
bHVlOjpOdWxsVmFsdWUpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwot
ICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVl
KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwgIkZJ
WE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNj
cmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0
ZShcIm51bGxcIikiLCAiRklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAg
UUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9
PiBlbmdpbmUtPm51bGxWYWx1ZSgpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGlu
dWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKDAsIHRydWUpIDw9PiBRU2NyaXB0
VmFsdWUodHJ1ZSkiLCAiRklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAg
UUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUoMCwgdHJ1ZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCB0
cnVlKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNU
X0ZBSUwoIlFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZShmYWxzZSkiLCAi
RklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJR
U2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwgIkZJWE1F
OiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFDT01QQVJFKHZhbHVlLnN0cmlj
dGx5RXF1YWxzKG90aGVyKSwgZXhwZWN0ZWQpOwotfQotCi1zdGF0aWMgY29uc3QgUVN0cmluZyBp
bnN0YW5jZU9mX2FycmF5W10gPSB7Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJb
XVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIkRhdGUucHJvdG90eXBlXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSA8PT4gZW5naW5l
LT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlv
bi5wcm90b3R5cGVcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiRXJyb3IucHJvdG90eXBlXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRl
KFwiT2JqZWN0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJPYmpl
Y3RcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvblwiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJBcnJheVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkZ1
bmN0aW9uXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bWJlclwiKSA8PT4gZW5naW5l
LT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOdW1iZXJc
IikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvblwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJGdW5jdGlvblwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvblwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
IkZ1bmN0aW9uXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0
dXJuIDE7IH0pXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0dXJuIDE7IH0pXCIpIDw9PiBlbmdpbmUt
PmV2YWx1YXRlKFwiRnVuY3Rpb25cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0
aW9uKCkgeyByZXR1cm4gJ2NpYW8nOyB9KVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIk9iamVj
dFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7IHJldHVybiAnY2lh
byc7IH0pXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb25cIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoJ2ZvbycpOyB9KVwi
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCIoZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcignZm9vJyk7IH0pXCIpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiRnVuY3Rpb25cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiL2Zv
by9cIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwibmV3IE9iamVjdCgpXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiT2JqZWN0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgp
XCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwibmV3IEVycm9yKClcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiVW5kZWZpbmVkXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRl
KFwiT2JqZWN0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bGxcIikgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiVHJ1ZVwi
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJGYWxzZVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVu
Z2luZS0+bmV3T2JqZWN0KCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAotICAg
ICJlbmdpbmUtPm5ld0FycmF5KCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAot
ICAgICJlbmdpbmUtPm5ld0FycmF5KCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheVwiKSIs
Ci0gICAgImVuZ2luZS0+bmV3QXJyYXkoMTApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0
XCIpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgxMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJB
cnJheVwiKSJ9OwotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6Omluc3RhbmNlT2ZfZGF0YSgpCi17
Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJ2YWx1ZSIpOwotICAgIFFUZXN0
OjphZGRDb2x1bW48UVNjcmlwdFZhbHVlPigib3RoZXIiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1u
PGJvb2w+KCJleHBlY3RlZCIpOwotICAgIGlmIChtX2VuZ2luZSkKLSAgICAgICAgZGVsZXRlIG1f
ZW5naW5lOwotICAgIG1fZW5naW5lID0gbmV3IFFTY3JpcHRFbmdpbmUoKTsKLSAgICBRU2V0PFFT
dHJpbmc+IGVxdWFsczsKLSAgICBlcXVhbHMucmVzZXJ2ZSgzNCk7Ci0gICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IDM0OyArK2kpCi0gICAgICAgIGVxdWFscy5pbnNlcnQoaW5zdGFuY2VPZl9h
cnJheVtpXSk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IDEzNTsgKytpKSB7Ci0gICAg
ICAgIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4gdmFsdWUxID0gaW5pdFNjcmlwdFZhbHVl
cyhpKTsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8IDEzNTsgKytqKSB7Ci0gICAg
ICAgICAgICBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+IHZhbHVlMiA9IGluaXRTY3JpcHRW
YWx1ZXMoaik7Ci0gICAgICAgICAgICBRU3RyaW5nIHRhZyA9IFFTdHJpbmc6OmZyb21MYXRpbjEo
IiUyMCA8PT4gJTIxIikuYXJnKHZhbHVlMS5maXJzdCwgdmFsdWUyLmZpcnN0KTsKLSAgICAgICAg
ICAgIFFUZXN0OjpuZXdSb3codGFnLnRvQXNjaWkoKS5jb25zdERhdGEoKSkgPDwgdmFsdWUxLnNl
Y29uZCA8PCB2YWx1ZTIuc2Vjb25kIDw8IGVxdWFscy5jb250YWlucyh0YWcpOyAgICAgICAgfQot
ICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppbnN0YW5jZU9mKCkKLXsKLSAgICBR
RkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgb3Ro
ZXIpOwotICAgIFFGRVRDSChib29sLCBleHBlY3RlZCk7Ci0gICAgUUNPTVBBUkUodmFsdWUuaW5z
dGFuY2VPZihvdGhlciksIGV4cGVjdGVkKTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZV9nZW5lcmF0ZWRf
aW5pdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlwdHZhbHVlL3Rz
dF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2luaXQuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA0Yzk3ZGQ0Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC90
ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZV9nZW5lcmF0ZWRfaW5pdC5jcHAKKysr
IC9kZXYvbnVsbApAQCAtMSwxNjkgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMTAg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
Ci0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot
ICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotLyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKLSoqKioqKioqKioqKioqKiBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJh
dGVkLiBETyBOT1QgTU9ESUZZISAqKioqKioqKioqKioqKioqCi0qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
LwotCi0jaW5jbHVkZSAidHN0X3FzY3JpcHR2YWx1ZS5oIgotCi0KLVFQYWlyPFFTdHJpbmcsIFFT
Y3JpcHRWYWx1ZT4gdHN0X1FTY3JpcHRWYWx1ZTo6aW5pdFNjcmlwdFZhbHVlcyh1aW50IGlkeCkK
LXsKLSAgICBRU2NyaXB0RW5naW5lKiBlbmdpbmUgPSBtX2VuZ2luZTsKLSAgICBzd2l0Y2ggKGlk
eCkgewotICAgIGNhc2UgMDogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFT
Y3JpcHRWYWx1ZSgpIiwgUVNjcmlwdFZhbHVlKCkpOwotICAgIGNhc2UgMTogcmV0dXJuIFFQYWly
PFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVm
aW5lZFZhbHVlKSIsIFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSk7
Ci0gICAgY2FzZSAyOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlw
dFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsIFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFs
dWU6Ok51bGxWYWx1ZSkpOwotICAgIGNhc2UgMzogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3Jp
cHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSh0cnVlKSIsIFFTY3JpcHRWYWx1ZSh0cnVlKSk7Ci0gICAg
Y2FzZSA0OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVl
KGZhbHNlKSIsIFFTY3JpcHRWYWx1ZShmYWxzZSkpOwotICAgIGNhc2UgNTogcmV0dXJuIFFQYWly
PFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShpbnQoMTIyKSkiLCBRU2NyaXB0
VmFsdWUoaW50KDEyMikpKTsKLSAgICBjYXNlIDY6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2Ny
aXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUodWludCgxMjQpKSIsIFFTY3JpcHRWYWx1ZSh1aW50KDEy
NCkpKTsKLSAgICBjYXNlIDc6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJR
U2NyaXB0VmFsdWUoMCkiLCBRU2NyaXB0VmFsdWUoMCkpOwotICAgIGNhc2UgODogcmV0dXJuIFFQ
YWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgwLjApIiwgUVNjcmlwdFZh
bHVlKDAuMCkpOwotICAgIGNhc2UgOTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1
ZT4oIlFTY3JpcHRWYWx1ZSgxMjMuMCkiLCBRU2NyaXB0VmFsdWUoMTIzLjApKTsKLSAgICBjYXNl
IDEwOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKDYu
MzdlLTgpIiwgUVNjcmlwdFZhbHVlKDYuMzdlLTgpKTsKLSAgICBjYXNlIDExOiByZXR1cm4gUVBh
aXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKC02LjM3ZS04KSIsIFFTY3Jp
cHRWYWx1ZSgtNi4zN2UtOCkpOwotICAgIGNhc2UgMTI6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBR
U2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoMHg0MzIxMTIzNCkiLCBRU2NyaXB0VmFsdWUoMHg0
MzIxMTIzNCkpOwotICAgIGNhc2UgMTM6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFs
dWU+KCJRU2NyaXB0VmFsdWUoMHgxMDAwMCkiLCBRU2NyaXB0VmFsdWUoMHgxMDAwMCkpOwotICAg
IGNhc2UgMTQ6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFs
dWUoMHgxMDAwMSkiLCBRU2NyaXB0VmFsdWUoMHgxMDAwMSkpOwotICAgIGNhc2UgMTU6IHJldHVy
biBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUocVNOYU4oKSkiLCBR
U2NyaXB0VmFsdWUocVNOYU4oKSkpOwotICAgIGNhc2UgMTY6IHJldHVybiBRUGFpcjxRU3RyaW5n
LCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUocVFOYU4oKSkiLCBRU2NyaXB0VmFsdWUocVFO
YU4oKSkpOwotICAgIGNhc2UgMTc6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+
KCJRU2NyaXB0VmFsdWUocUluZigpKSIsIFFTY3JpcHRWYWx1ZShxSW5mKCkpKTsKLSAgICBjYXNl
IDE4OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKC1x
SW5mKCkpIiwgUVNjcmlwdFZhbHVlKC1xSW5mKCkpKTsKLSAgICBjYXNlIDE5OiByZXR1cm4gUVBh
aXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKFwiTmFOXCIpIiwgUVNjcmlw
dFZhbHVlKCJOYU4iKSk7Ci0gICAgY2FzZSAyMDogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3Jp
cHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIpIiwgUVNjcmlwdFZhbHVlKCJJbmZp
bml0eSIpKTsKLSAgICBjYXNlIDIxOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVl
PigiUVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIiwgUVNjcmlwdFZhbHVlKCItSW5maW5pdHki
KSk7Ci0gICAgY2FzZSAyMjogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFT
Y3JpcHRWYWx1ZShcImNpYW9cIikiLCBRU2NyaXB0VmFsdWUoImNpYW8iKSk7Ci0gICAgY2FzZSAy
MzogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShRU3Ry
aW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLCBRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxh
dGluMSgiY2lhbyIpKSk7Ci0gICAgY2FzZSAyNDogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3Jp
cHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsIFFTY3JpcHRWYWx1ZShRU3Ry
aW5nKCIiKSkpOwotICAgIGNhc2UgMjU6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFs
dWU+KCJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsIFFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpKTsK
LSAgICBjYXNlIDI2OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlw
dFZhbHVlKFFTdHJpbmcoXCIwXCIpKSIsIFFTY3JpcHRWYWx1ZShRU3RyaW5nKCIwIikpKTsKLSAg
ICBjYXNlIDI3OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZh
bHVlKFFTdHJpbmcoXCIxMjNcIikpIiwgUVNjcmlwdFZhbHVlKFFTdHJpbmcoIjEyMyIpKSk7Ci0g
ICAgY2FzZSAyODogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRW
YWx1ZShRU3RyaW5nKFwiMTIuNFwiKSkiLCBRU2NyaXB0VmFsdWUoUVN0cmluZygiMTIuNCIpKSk7
Ci0gICAgY2FzZSAyOTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3Jp
cHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsIFFTY3JpcHRWYWx1ZSgw
LCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSk7Ci0gICAgY2FzZSAzMDogcmV0dXJuIFFQ
YWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6
Ok51bGxWYWx1ZSkiLCBRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpKTsK
LSAgICBjYXNlIDMxOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlw
dFZhbHVlKDAsIHRydWUpIiwgUVNjcmlwdFZhbHVlKDAsIHRydWUpKTsKLSAgICBjYXNlIDMyOiBy
ZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKDAsIGZhbHNl
KSIsIFFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkpOwotICAgIGNhc2UgMzM6IHJldHVybiBRUGFpcjxR
U3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoMCwgaW50KDEyMikpIiwgUVNjcmlw
dFZhbHVlKDAsIGludCgxMjIpKSk7Ci0gICAgY2FzZSAzNDogcmV0dXJuIFFQYWlyPFFTdHJpbmcs
IFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgwLCB1aW50KDEyNCkpIiwgUVNjcmlwdFZhbHVl
KDAsIHVpbnQoMTI0KSkpOwotICAgIGNhc2UgMzU6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2Ny
aXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoMCwgMCkiLCBRU2NyaXB0VmFsdWUoMCwgMCkpOwotICAg
IGNhc2UgMzY6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFs
dWUoMCwgMC4wKSIsIFFTY3JpcHRWYWx1ZSgwLCAwLjApKTsKLSAgICBjYXNlIDM3OiByZXR1cm4g
UVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKDAsIDEyMy4wKSIsIFFT
Y3JpcHRWYWx1ZSgwLCAxMjMuMCkpOwotICAgIGNhc2UgMzg6IHJldHVybiBRUGFpcjxRU3RyaW5n
LCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoMCwgNi4zN2UtOCkiLCBRU2NyaXB0VmFsdWUo
MCwgNi4zN2UtOCkpOwotICAgIGNhc2UgMzk6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0
VmFsdWU+KCJRU2NyaXB0VmFsdWUoMCwgLTYuMzdlLTgpIiwgUVNjcmlwdFZhbHVlKDAsIC02LjM3
ZS04KSk7Ci0gICAgY2FzZSA0MDogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4o
IlFTY3JpcHRWYWx1ZSgwLCAweDQzMjExMjM0KSIsIFFTY3JpcHRWYWx1ZSgwLCAweDQzMjExMjM0
KSk7Ci0gICAgY2FzZSA0MTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFT
Y3JpcHRWYWx1ZSgwLCAweDEwMDAwKSIsIFFTY3JpcHRWYWx1ZSgwLCAweDEwMDAwKSk7Ci0gICAg
Y2FzZSA0MjogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1
ZSgwLCAweDEwMDAxKSIsIFFTY3JpcHRWYWx1ZSgwLCAweDEwMDAxKSk7Ci0gICAgY2FzZSA0Mzog
cmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgwLCBxU05h
TigpKSIsIFFTY3JpcHRWYWx1ZSgwLCBxU05hTigpKSk7Ci0gICAgY2FzZSA0NDogcmV0dXJuIFFQ
YWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgwLCBxUU5hTigpKSIsIFFT
Y3JpcHRWYWx1ZSgwLCBxUU5hTigpKSk7Ci0gICAgY2FzZSA0NTogcmV0dXJuIFFQYWlyPFFTdHJp
bmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIiwgUVNjcmlwdFZhbHVl
KDAsIHFJbmYoKSkpOwotICAgIGNhc2UgNDY6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0
VmFsdWU+KCJRU2NyaXB0VmFsdWUoMCwgLXFJbmYoKSkiLCBRU2NyaXB0VmFsdWUoMCwgLXFJbmYo
KSkpOwotICAgIGNhc2UgNDc6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJR
U2NyaXB0VmFsdWUoMCwgXCJOYU5cIikiLCBRU2NyaXB0VmFsdWUoMCwgIk5hTiIpKTsKLSAgICBj
YXNlIDQ4OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVl
KDAsIFwiSW5maW5pdHlcIikiLCBRU2NyaXB0VmFsdWUoMCwgIkluZmluaXR5IikpOwotICAgIGNh
c2UgNDk6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUo
MCwgXCItSW5maW5pdHlcIikiLCBRU2NyaXB0VmFsdWUoMCwgIi1JbmZpbml0eSIpKTsKLSAgICBj
YXNlIDUwOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVl
KDAsIFwiY2lhb1wiKSIsIFFTY3JpcHRWYWx1ZSgwLCAiY2lhbyIpKTsKLSAgICBjYXNlIDUxOiBy
ZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKDAsIFFTdHJp
bmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsIFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nOjpmcm9t
TGF0aW4xKCJjaWFvIikpKTsKLSAgICBjYXNlIDUyOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNj
cmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwgUVNjcmlwdFZhbHVl
KDAsIFFTdHJpbmcoIiIpKSk7Ci0gICAgY2FzZSA1MzogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFT
Y3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwgUVNjcmlwdFZhbHVlKDAs
IFFTdHJpbmcoKSkpOwotICAgIGNhc2UgNTQ6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0
VmFsdWU+KCJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIiwgUVNjcmlwdFZhbHVlKDAs
IFFTdHJpbmcoIjAiKSkpOwotICAgIGNhc2UgNTU6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2Ny
aXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wiKSkiLCBRU2NyaXB0VmFs
dWUoMCwgUVN0cmluZygiMTIzIikpKTsKLSAgICBjYXNlIDU2OiByZXR1cm4gUVBhaXI8UVN0cmlu
ZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMi4zXCIpKSIsIFFT
Y3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCIxMi4zIikpKTsKLSAgICBjYXNlIDU3OiByZXR1cm4gUVBh
aXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZh
bHVlOjpVbmRlZmluZWRWYWx1ZSkiLCBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6
OlVuZGVmaW5lZFZhbHVlKSk7Ci0gICAgY2FzZSA1ODogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFT
Y3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVl
KSIsIFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSk7Ci0gICAg
Y2FzZSA1OTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIHRydWUpIiwgUVNjcmlwdFZhbHVlKGVuZ2luZSwgdHJ1ZSkpOwotICAgIGNhc2Ug
NjA6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBmYWxzZSkiLCBRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkpOwotICAgIGNhc2UgNjE6
IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5naW5l
LCBpbnQoMTIyKSkiLCBRU2NyaXB0VmFsdWUoZW5naW5lLCBpbnQoMTIyKSkpOwotICAgIGNhc2Ug
NjI6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5n
aW5lLCB1aW50KDEyNCkpIiwgUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQpKSk7Ci0gICAg
Y2FzZSA2MzogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIDApIiwgUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkpOwotICAgIGNhc2UgNjQ6IHJl
dHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5naW5lLCAw
LjApIiwgUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSk7Ci0gICAgY2FzZSA2NTogcmV0dXJuIFFQ
YWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4wKSIs
IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4wKSk7Ci0gICAgY2FzZSA2NjogcmV0dXJuIFFQYWly
PFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgpIiwg
UVNjcmlwdFZhbHVlKGVuZ2luZSwgNi4zN2UtOCkpOwotICAgIGNhc2UgNjc6IHJldHVybiBRUGFp
cjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5naW5lLCAtNi4zN2UtOCki
LCBRU2NyaXB0VmFsdWUoZW5naW5lLCAtNi4zN2UtOCkpOwotICAgIGNhc2UgNjg6IHJldHVybiBR
UGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDQzMjEx
MjM0KSIsIFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4NDMyMTEyMzQpKTsKLSAgICBjYXNlIDY5OiBy
ZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
MHgxMDAwMCkiLCBRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAwKSk7Ci0gICAgY2FzZSA3MDog
cmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IDB4MTAwMDEpIiwgUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMSkpOwotICAgIGNhc2UgNzE6
IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5naW5l
LCBxU05hTigpKSIsIFFTY3JpcHRWYWx1ZShlbmdpbmUsIHFTTmFOKCkpKTsKLSAgICBjYXNlIDcy
OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgcVFOYU4oKSkiLCBRU2NyaXB0VmFsdWUoZW5naW5lLCBxUU5hTigpKSk7Ci0gICAgY2FzZSA3
MzogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIHFJbmYoKSkiLCBRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5mKCkpKTsKLSAgICBjYXNlIDc0
OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgLXFJbmYoKSkiLCBRU2NyaXB0VmFsdWUoZW5naW5lLCAtcUluZigpKSk7Ci0gICAgY2FzZSA3
NTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFwiTmFOXCIpIiwgUVNjcmlwdFZhbHVlKGVuZ2luZSwgIk5hTiIpKTsKLSAgICBjYXNlIDc2
OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgXCJJbmZpbml0eVwiKSIsIFFTY3JpcHRWYWx1ZShlbmdpbmUsICJJbmZpbml0eSIpKTsKLSAg
ICBjYXNlIDc3OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgXCItSW5maW5pdHlcIikiLCBRU2NyaXB0VmFsdWUoZW5naW5lLCAiLUluZmlu
aXR5IikpOwotICAgIGNhc2UgNzg6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+
KCJRU2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikiLCBRU2NyaXB0VmFsdWUoZW5naW5lLCAi
Y2lhbyIpKTsKLSAgICBjYXNlIDc5OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVl
PigiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwg
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGluMSgiY2lhbyIpKSk7Ci0gICAg
Y2FzZSA4MDogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIiwgUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygi
IikpKTsKLSAgICBjYXNlIDgxOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsIFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmcoKSkpOwotICAgIGNhc2UgODI6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFs
dWU+KCJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkiLCBRU2NyaXB0VmFsdWUo
ZW5naW5lLCBRU3RyaW5nKCIwIikpKTsKLSAgICBjYXNlIDgzOiByZXR1cm4gUVBhaXI8UVN0cmlu
ZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSki
LCBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCIxMjMiKSkpOwotICAgIGNhc2UgODQ6IHJl
dHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5naW5lLCBR
U3RyaW5nKFwiMS4yM1wiKSkiLCBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCIxLjIzIikp
KTsKLSAgICBjYXNlIDg1OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5n
aW5lLT5ldmFsdWF0ZShcIltdXCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiW10iKSk7Ci0gICAgY2Fz
ZSA4NjogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVh
dGUoXCJ7fVwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoInt9IikpOwotICAgIGNhc2UgODc6IHJldHVy
biBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0
LnByb3RvdHlwZVwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIk9iamVjdC5wcm90b3R5cGUiKSk7Ci0g
ICAgY2FzZSA4ODogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+
ZXZhbHVhdGUoXCJEYXRlLnByb3RvdHlwZVwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIkRhdGUucHJv
dG90eXBlIikpOwotICAgIGNhc2UgODk6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFs
dWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIiwgZW5naW5lLT5ldmFs
dWF0ZSgiQXJyYXkucHJvdG90eXBlIikpOwotICAgIGNhc2UgOTA6IHJldHVybiBRUGFpcjxRU3Ry
aW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb24ucHJvdG90eXBl
XCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiRnVuY3Rpb24ucHJvdG90eXBlIikpOwotICAgIGNhc2Ug
OTE6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRl
KFwiRXJyb3IucHJvdG90eXBlXCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiRXJyb3IucHJvdG90eXBl
IikpOwotICAgIGNhc2UgOTI6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJl
bmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiT2JqZWN0Iikp
OwotICAgIGNhc2UgOTM6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdp
bmUtPmV2YWx1YXRlKFwiQXJyYXlcIikiLCBlbmdpbmUtPmV2YWx1YXRlKCJBcnJheSIpKTsKLSAg
ICBjYXNlIDk0OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5l
dmFsdWF0ZShcIk51bWJlclwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIk51bWJlciIpKTsKLSAgICBj
YXNlIDk1OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFs
dWF0ZShcIkZ1bmN0aW9uXCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiRnVuY3Rpb24iKSk7Ci0gICAg
Y2FzZSA5NjogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZh
bHVhdGUoXCIoZnVuY3Rpb24oKSB7IHJldHVybiAxOyB9KVwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUo
IihmdW5jdGlvbigpIHsgcmV0dXJuIDE7IH0pIikpOwotICAgIGNhc2UgOTc6IHJldHVybiBRUGFp
cjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9uKCkg
eyByZXR1cm4gJ2NpYW8nOyB9KVwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIihmdW5jdGlvbigpIHsg
cmV0dXJuICdjaWFvJzsgfSkiKSk7Ci0gICAgY2FzZSA5ODogcmV0dXJuIFFQYWlyPFFTdHJpbmcs
IFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7IHRocm93IG5l
dyBFcnJvcignZm9vJyk7IH0pXCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiKGZ1bmN0aW9uKCkgeyB0
aHJvdyBuZXcgRXJyb3IoJ2ZvbycpOyB9KSIpKTsKLSAgICBjYXNlIDk5OiByZXR1cm4gUVBhaXI8
UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIi9mb28vXCIpIiwgZW5n
aW5lLT5ldmFsdWF0ZSgiL2Zvby8iKSk7Ci0gICAgY2FzZSAxMDA6IHJldHVybiBRUGFpcjxRU3Ry
aW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IE9iamVjdCgpXCIpIiwg
ZW5naW5lLT5ldmFsdWF0ZSgibmV3IE9iamVjdCgpIikpOwotICAgIGNhc2UgMTAxOiByZXR1cm4g
UVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJh
eSgpXCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgibmV3IEFycmF5KCkiKSk7Ci0gICAgY2FzZSAxMDI6
IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwi
bmV3IEVycm9yKClcIikiLCBlbmdpbmUtPmV2YWx1YXRlKCJuZXcgRXJyb3IoKSIpKTsKLSAgICBj
YXNlIDEwMzogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZh
bHVhdGUoXCJhID0gbmV3IE9iamVjdCgpOyBhLmZvbyA9IDIyOyBhLmZvb1wiKSIsIGVuZ2luZS0+
ZXZhbHVhdGUoImEgPSBuZXcgT2JqZWN0KCk7IGEuZm9vID0gMjI7IGEuZm9vIikpOwotICAgIGNh
c2UgMTA0OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFs
dWF0ZShcIlVuZGVmaW5lZFwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIlVuZGVmaW5lZCIpKTsKLSAg
ICBjYXNlIDEwNTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+
ZXZhbHVhdGUoXCJOdWxsXCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiTnVsbCIpKTsKLSAgICBjYXNl
IDEwNjogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVh
dGUoXCJUcnVlXCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiVHJ1ZSIpKTsKLSAgICBjYXNlIDEwNzog
cmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCJG
YWxzZVwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIkZhbHNlIikpOwotICAgIGNhc2UgMTA4OiByZXR1
cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcInVuZGVm
aW5lZFwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoInVuZGVmaW5lZCIpKTsKLSAgICBjYXNlIDEwOTog
cmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCJu
dWxsXCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgibnVsbCIpKTsKLSAgICBjYXNlIDExMDogcmV0dXJu
IFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIp
IiwgZW5naW5lLT5ldmFsdWF0ZSgidHJ1ZSIpKTsKLSAgICBjYXNlIDExMTogcmV0dXJuIFFQYWly
PFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsIGVu
Z2luZS0+ZXZhbHVhdGUoImZhbHNlIikpOwotICAgIGNhc2UgMTEyOiByZXR1cm4gUVBhaXI8UVN0
cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIjEyMlwiKSIsIGVuZ2luZS0+
ZXZhbHVhdGUoIjEyMiIpKTsKLSAgICBjYXNlIDExMzogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFT
Y3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjRcIikiLCBlbmdpbmUtPmV2YWx1YXRl
KCIxMjQiKSk7Ci0gICAgY2FzZSAxMTQ6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFs
dWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIjAiKSk7Ci0g
ICAgY2FzZSAxMTU6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUt
PmV2YWx1YXRlKFwiMC4wXCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiMC4wIikpOwotICAgIGNhc2Ug
MTE2OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0
ZShcIjEyMy4wXCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiMTIzLjAiKSk7Ci0gICAgY2FzZSAxMTc6
IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwi
Ni4zN2UtOFwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIjYuMzdlLTgiKSk7Ci0gICAgY2FzZSAxMTg6
IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwi
LTYuMzdlLThcIikiLCBlbmdpbmUtPmV2YWx1YXRlKCItNi4zN2UtOCIpKTsKLSAgICBjYXNlIDEx
OTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUo
XCIweDQzMjExMjM0XCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiMHg0MzIxMTIzNCIpKTsKLSAgICBj
YXNlIDEyMDogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZh
bHVhdGUoXCIweDEwMDAwXCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiMHgxMDAwMCIpKTsKLSAgICBj
YXNlIDEyMTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZh
bHVhdGUoXCIweDEwMDAxXCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiMHgxMDAwMSIpKTsKLSAgICBj
YXNlIDEyMjogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZh
bHVhdGUoXCJOYU5cIikiLCBlbmdpbmUtPmV2YWx1YXRlKCJOYU4iKSk7Ci0gICAgY2FzZSAxMjM6
IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwi
SW5maW5pdHlcIikiLCBlbmdpbmUtPmV2YWx1YXRlKCJJbmZpbml0eSIpKTsKLSAgICBjYXNlIDEy
NDogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUo
XCItSW5maW5pdHlcIikiLCBlbmdpbmUtPmV2YWx1YXRlKCItSW5maW5pdHkiKSk7Ci0gICAgY2Fz
ZSAxMjU6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1
YXRlKFwiJ2NpYW8nXCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiJ2NpYW8nIikpOwotICAgIGNhc2Ug
MTI2OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0
ZShcIicnXCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiJyciKSk7Ci0gICAgY2FzZSAxMjc6IHJldHVy
biBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIp
IiwgZW5naW5lLT5ldmFsdWF0ZSgiJzAnIikpOwotICAgIGNhc2UgMTI4OiByZXR1cm4gUVBhaXI8
UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIiwgZW5n
aW5lLT5ldmFsdWF0ZSgiJzEyMyciKSk7Ci0gICAgY2FzZSAxMjk6IHJldHVybiBRUGFpcjxRU3Ry
aW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyLjQnXCIpIiwgZW5naW5l
LT5ldmFsdWF0ZSgiJzEyLjQnIikpOwotICAgIGNhc2UgMTMwOiByZXR1cm4gUVBhaXI8UVN0cmlu
ZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5udWxsVmFsdWUoKSIsIGVuZ2luZS0+bnVsbFZhbHVl
KCkpOwotICAgIGNhc2UgMTMxOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigi
ZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpIiwgZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpKTsKLSAg
ICBjYXNlIDEzMjogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+
bmV3T2JqZWN0KCkiLCBlbmdpbmUtPm5ld09iamVjdCgpKTsKLSAgICBjYXNlIDEzMzogcmV0dXJu
IFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+bmV3QXJyYXkoKSIsIGVuZ2lu
ZS0+bmV3QXJyYXkoKSk7Ci0gICAgY2FzZSAxMzQ6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2Ny
aXB0VmFsdWU+KCJlbmdpbmUtPm5ld0FycmF5KDEwKSIsIGVuZ2luZS0+bmV3QXJyYXkoMTApKTsK
LSAgICB9Ci0gICAgUV9BU1NFUlQoZmFsc2UpOwotICAgIHJldHVybiBxTWFrZVBhaXIoUVN0cmlu
ZygpLCBRU2NyaXB0VmFsdWUoKSk7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcXQvdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2lzdHlw
ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9x
c2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2lzdHlwZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDQzMzU5N2YuLjAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rl
c3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlX2dlbmVyYXRlZF9pc3R5cGUuY3BwCisr
KyAvZGV2L251bGwKQEAgLTEsNjIyICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDEw
IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotCi0gICAgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
LSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLQotLyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKLSoqKioqKioqKioqKioqKiBUaGlzIGZpbGUgaGFzIGJlZW4gZ2Vu
ZXJhdGVkLiBETyBOT1QgTU9ESUZZISAqKioqKioqKioqKioqKioqCi0qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqLwotCi0jaW5jbHVkZSAidHN0X3FzY3JpcHR2YWx1ZS5oIgotCi0KLXN0YXRpYyBjb25zdCBR
U3RyaW5nIGlzVmFsaWRfYXJyYXlbXSA9IHsKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1
ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVs
bFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShm
YWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoaW50KDEyMikpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCkiLAotICAgICJRU2NyaXB0VmFsdWUo
MC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoNi4z
N2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDApIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFTTmFOKCkpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKHFRTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFJbmYoKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoXCJOYU5cIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIi1JbmZp
bml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFs
dWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFT
dHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIx
MjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMi40XCIpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgdHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCB1aW50KDEyNCkpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDYuMzdlLTgp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC02LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCAweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAwKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCAweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxU05hTigpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxUU5hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBx
SW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiSW5maW5pdHlcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEo
XCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJp
bmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIzXCIpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIuM1wiKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDEy
My4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHg0
MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAwKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
cVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxUU5hTigpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAt
cUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiTmFOXCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9c
IikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhc
IjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMS4yM1wiKSki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwie31cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0LnByb3RvdHlwZVwiKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJEYXRlLnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiRnVuY3Rpb24ucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkVycm9y
LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
TnVtYmVyXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9uXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0dXJuIDE7IH0pXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0dXJuICdjaWFvJzsgfSlcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoJ2Zv
bycpOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIvZm9vL1wiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJuZXcgT2JqZWN0KClcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwibmV3IEFycmF5KClcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEVycm9yKClc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiYSA9IG5ldyBPYmplY3QoKTsgYS5mb28gPSAy
MjsgYS5mb29cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiVW5kZWZpbmVkXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bGxcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
VHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGYWxzZVwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibnVs
bFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyMlwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
MFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiMTIzLjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiNi4zN2UtOFwiKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItNi4zN2UtOFwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCIweDQzMjExMjM0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDBc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMVwiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJOYU5cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiSW5maW5pdHlcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5XCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIidjaWFvJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
JzEyMydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyLjQnXCIpIiwKLSAgICAiZW5n
aW5lLT5udWxsVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSIsCi0gICAg
ImVuZ2luZS0+bmV3T2JqZWN0KCkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KCkiLAotICAgICJl
bmdpbmUtPm5ld0FycmF5KDEwKSJ9OwotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzVmFsaWRf
ZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJ2YWx1ZSIpOwot
ICAgIFFUZXN0OjphZGRDb2x1bW48Ym9vbD4oImV4cGVjdGVkIik7Ci0gICAgaWYgKG1fZW5naW5l
KQotICAgICAgICBkZWxldGUgbV9lbmdpbmU7Ci0gICAgbV9lbmdpbmUgPSBuZXcgUVNjcmlwdEVu
Z2luZSgpOwotICAgIFFTZXQ8UVN0cmluZz4gZXhwZWN0ZWRWYWx1ZTsKLSAgICBleHBlY3RlZFZh
bHVlLnJlc2VydmUoMTM0KTsKLSAgICBmb3IgKHVpbnQgaSA9IDA7IGkgPCAxMzQ7ICsraSkKLSAg
ICAgICAgZXhwZWN0ZWRWYWx1ZS5pbnNlcnQoaXNWYWxpZF9hcnJheVtpXSk7Ci0gICAgZm9yICh1
aW50IGkgPSAwOyBpIDwgMTM1OyArK2kpIHsKLSAgICAgICAgUVBhaXI8UVN0cmluZywgUVNjcmlw
dFZhbHVlPiB0ZXN0Y2FzZSA9IGluaXRTY3JpcHRWYWx1ZXMoaSk7Ci0gICAgICAgIFFUZXN0Ojpu
ZXdSb3codGVzdGNhc2UuZmlyc3QudG9Bc2NpaSgpLmNvbnN0RGF0YSgpKSA8PCB0ZXN0Y2FzZS5z
ZWNvbmQgPDwgZXhwZWN0ZWRWYWx1ZS5jb250YWlucyh0ZXN0Y2FzZS5maXJzdCk7Ci0gICAgfQot
fQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzVmFsaWQoKQotewotICAgIFFGRVRDSChRU2Ny
aXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRRkVUQ0goYm9vbCwgZXhwZWN0ZWQpOwotICAgIFFDT01Q
QVJFKHZhbHVlLmlzVmFsaWQoKSwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJFKHZhbHVlLmlzVmFs
aWQoKSwgZXhwZWN0ZWQpOwotfQotCi1zdGF0aWMgY29uc3QgUVN0cmluZyBpc0Jvb2xfYXJyYXlb
XSA9IHsKLSAgICAiUVNjcmlwdFZhbHVlKHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNl
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBm
YWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIn07Ci0KLXZvaWQgdHN0X1FTY3JpcHRW
YWx1ZTo6aXNCb29sX2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVNjcmlwdFZhbHVl
PigidmFsdWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGJvb2w+KCJleHBlY3RlZCIpOwotICAg
IGlmIChtX2VuZ2luZSkKLSAgICAgICAgZGVsZXRlIG1fZW5naW5lOwotICAgIG1fZW5naW5lID0g
bmV3IFFTY3JpcHRFbmdpbmUoKTsKLSAgICBRU2V0PFFTdHJpbmc+IGV4cGVjdGVkVmFsdWU7Ci0g
ICAgZXhwZWN0ZWRWYWx1ZS5yZXNlcnZlKDgpOwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDg7
ICsraSkKLSAgICAgICAgZXhwZWN0ZWRWYWx1ZS5pbnNlcnQoaXNCb29sX2FycmF5W2ldKTsKLSAg
ICBmb3IgKHVpbnQgaSA9IDA7IGkgPCAxMzU7ICsraSkgewotICAgICAgICBRUGFpcjxRU3RyaW5n
LCBRU2NyaXB0VmFsdWU+IHRlc3RjYXNlID0gaW5pdFNjcmlwdFZhbHVlcyhpKTsKLSAgICAgICAg
UVRlc3Q6Om5ld1Jvdyh0ZXN0Y2FzZS5maXJzdC50b0FzY2lpKCkuY29uc3REYXRhKCkpIDw8IHRl
c3RjYXNlLnNlY29uZCA8PCBleHBlY3RlZFZhbHVlLmNvbnRhaW5zKHRlc3RjYXNlLmZpcnN0KTsK
LSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNCb29sKCkKLXsKLSAgICBRRkVU
Q0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKGJvb2wsIGV4cGVjdGVkKTsKLSAg
ICBRQ09NUEFSRSh2YWx1ZS5pc0Jvb2woKSwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJFKHZhbHVl
LmlzQm9vbCgpLCBleHBlY3RlZCk7Ci19Ci0KLXN0YXRpYyBjb25zdCBRU3RyaW5nIGlzQm9vbGVh
bl9hcnJheVtdID0gewotICAgICJRU2NyaXB0VmFsdWUodHJ1ZSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHRydWUpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInRy
dWVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikifTsKLQotdm9pZCB0c3Rf
UVNjcmlwdFZhbHVlOjppc0Jvb2xlYW5fZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxR
U2NyaXB0VmFsdWU+KCJ2YWx1ZSIpOwotICAgIFFUZXN0OjphZGRDb2x1bW48Ym9vbD4oImV4cGVj
dGVkIik7Ci0gICAgaWYgKG1fZW5naW5lKQotICAgICAgICBkZWxldGUgbV9lbmdpbmU7Ci0gICAg
bV9lbmdpbmUgPSBuZXcgUVNjcmlwdEVuZ2luZSgpOwotICAgIFFTZXQ8UVN0cmluZz4gZXhwZWN0
ZWRWYWx1ZTsKLSAgICBleHBlY3RlZFZhbHVlLnJlc2VydmUoOCk7Ci0gICAgZm9yICh1aW50IGkg
PSAwOyBpIDwgODsgKytpKQotICAgICAgICBleHBlY3RlZFZhbHVlLmluc2VydChpc0Jvb2xlYW5f
YXJyYXlbaV0pOwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDEzNTsgKytpKSB7Ci0gICAgICAg
IFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4gdGVzdGNhc2UgPSBpbml0U2NyaXB0VmFsdWVz
KGkpOwotICAgICAgICBRVGVzdDo6bmV3Um93KHRlc3RjYXNlLmZpcnN0LnRvQXNjaWkoKS5jb25z
dERhdGEoKSkgPDwgdGVzdGNhc2Uuc2Vjb25kIDw8IGV4cGVjdGVkVmFsdWUuY29udGFpbnModGVz
dGNhc2UuZmlyc3QpOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc0Jvb2xl
YW4oKQotewotICAgIFFGRVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRRkVUQ0goYm9v
bCwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJFKHZhbHVlLmlzQm9vbGVhbigpLCBleHBlY3RlZCk7
Ci0gICAgUUNPTVBBUkUodmFsdWUuaXNCb29sZWFuKCksIGV4cGVjdGVkKTsKLX0KLQotc3RhdGlj
IGNvbnN0IFFTdHJpbmcgaXNOdW1iZXJfYXJyYXlbXSA9IHsKLSAgICAiUVNjcmlwdFZhbHVlKGlu
dCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMTIz
LjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC02
LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAxKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShxU05hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShxUU5hTigpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC1xSW5mKCkpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCB1aW50KDEy
NCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAu
MCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC02LjM3ZS04KSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCAweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAwKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBx
U05hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxUU5hTigpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4w
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHg0MzIx
MTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAwKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcVNO
YU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxUU5hTigpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAtcUlu
ZigpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJhID0gbmV3IE9iamVjdCgpOyBhLmZvbyA9
IDIyOyBhLmZvb1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjJcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIjEyMy4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjYuMzdlLThcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiLTYuMzdlLThcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiMHg0MzIxMTIzNFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAwXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDFcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiTmFOXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkluZmluaXR5XCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0eVwiKSJ9OwotCi12b2lkIHRzdF9RU2NyaXB0
VmFsdWU6OmlzTnVtYmVyX2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVNjcmlwdFZh
bHVlPigidmFsdWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGJvb2w+KCJleHBlY3RlZCIpOwot
ICAgIGlmIChtX2VuZ2luZSkKLSAgICAgICAgZGVsZXRlIG1fZW5naW5lOwotICAgIG1fZW5naW5l
ID0gbmV3IFFTY3JpcHRFbmdpbmUoKTsKLSAgICBRU2V0PFFTdHJpbmc+IGV4cGVjdGVkVmFsdWU7
Ci0gICAgZXhwZWN0ZWRWYWx1ZS5yZXNlcnZlKDU2KTsKLSAgICBmb3IgKHVpbnQgaSA9IDA7IGkg
PCA1NjsgKytpKQotICAgICAgICBleHBlY3RlZFZhbHVlLmluc2VydChpc051bWJlcl9hcnJheVtp
XSk7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBpIDwgMTM1OyArK2kpIHsKLSAgICAgICAgUVBhaXI8
UVN0cmluZywgUVNjcmlwdFZhbHVlPiB0ZXN0Y2FzZSA9IGluaXRTY3JpcHRWYWx1ZXMoaSk7Ci0g
ICAgICAgIFFUZXN0OjpuZXdSb3codGVzdGNhc2UuZmlyc3QudG9Bc2NpaSgpLmNvbnN0RGF0YSgp
KSA8PCB0ZXN0Y2FzZS5zZWNvbmQgPDwgZXhwZWN0ZWRWYWx1ZS5jb250YWlucyh0ZXN0Y2FzZS5m
aXJzdCk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzTnVtYmVyKCkKLXsK
LSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKGJvb2wsIGV4cGVj
dGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS5pc051bWJlcigpLCBleHBlY3RlZCk7Ci0gICAgUUNP
TVBBUkUodmFsdWUuaXNOdW1iZXIoKSwgZXhwZWN0ZWQpOwotfQotCi1zdGF0aWMgY29uc3QgUVN0
cmluZyBpc0Z1bmN0aW9uX2FycmF5W10gPSB7Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5j
dGlvbi5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIk51bWJlclwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvblwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7IHJldHVybiAxOyB9KVwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7IHJldHVybiAnY2lhbyc7IH0pXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9y
KCdmb28nKTsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiL2Zvby9cIikifTsKLQot
dm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc0Z1bmN0aW9uX2RhdGEoKQotewotICAgIFFUZXN0Ojph
ZGRDb2x1bW48UVNjcmlwdFZhbHVlPigidmFsdWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGJv
b2w+KCJleHBlY3RlZCIpOwotICAgIGlmIChtX2VuZ2luZSkKLSAgICAgICAgZGVsZXRlIG1fZW5n
aW5lOwotICAgIG1fZW5naW5lID0gbmV3IFFTY3JpcHRFbmdpbmUoKTsKLSAgICBRU2V0PFFTdHJp
bmc+IGV4cGVjdGVkVmFsdWU7Ci0gICAgZXhwZWN0ZWRWYWx1ZS5yZXNlcnZlKDkpOwotICAgIGZv
ciAodWludCBpID0gMDsgaSA8IDk7ICsraSkKLSAgICAgICAgZXhwZWN0ZWRWYWx1ZS5pbnNlcnQo
aXNGdW5jdGlvbl9hcnJheVtpXSk7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBpIDwgMTM1OyArK2kp
IHsKLSAgICAgICAgUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPiB0ZXN0Y2FzZSA9IGluaXRT
Y3JpcHRWYWx1ZXMoaSk7Ci0gICAgICAgIFFUZXN0OjpuZXdSb3codGVzdGNhc2UuZmlyc3QudG9B
c2NpaSgpLmNvbnN0RGF0YSgpKSA8PCB0ZXN0Y2FzZS5zZWNvbmQgPDwgZXhwZWN0ZWRWYWx1ZS5j
b250YWlucyh0ZXN0Y2FzZS5maXJzdCk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFs
dWU6OmlzRnVuY3Rpb24oKQotewotICAgIFFGRVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAg
ICBRRkVUQ0goYm9vbCwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJFKHZhbHVlLmlzRnVuY3Rpb24o
KSwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJFKHZhbHVlLmlzRnVuY3Rpb24oKSwgZXhwZWN0ZWQp
OwotfQotCi1zdGF0aWMgY29uc3QgUVN0cmluZyBpc051bGxfYXJyYXlbXSA9IHsKLSAgICAiUVNj
cmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBR
U2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwi
KSIsCi0gICAgImVuZ2luZS0+bnVsbFZhbHVlKCkifTsKLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVl
Ojppc051bGxfZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJ2
YWx1ZSIpOwotICAgIFFUZXN0OjphZGRDb2x1bW48Ym9vbD4oImV4cGVjdGVkIik7Ci0gICAgaWYg
KG1fZW5naW5lKQotICAgICAgICBkZWxldGUgbV9lbmdpbmU7Ci0gICAgbV9lbmdpbmUgPSBuZXcg
UVNjcmlwdEVuZ2luZSgpOwotICAgIFFTZXQ8UVN0cmluZz4gZXhwZWN0ZWRWYWx1ZTsKLSAgICBl
eHBlY3RlZFZhbHVlLnJlc2VydmUoNSk7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBpIDwgNTsgKytp
KQotICAgICAgICBleHBlY3RlZFZhbHVlLmluc2VydChpc051bGxfYXJyYXlbaV0pOwotICAgIGZv
ciAodWludCBpID0gMDsgaSA8IDEzNTsgKytpKSB7Ci0gICAgICAgIFFQYWlyPFFTdHJpbmcsIFFT
Y3JpcHRWYWx1ZT4gdGVzdGNhc2UgPSBpbml0U2NyaXB0VmFsdWVzKGkpOwotICAgICAgICBRVGVz
dDo6bmV3Um93KHRlc3RjYXNlLmZpcnN0LnRvQXNjaWkoKS5jb25zdERhdGEoKSkgPDwgdGVzdGNh
c2Uuc2Vjb25kIDw8IGV4cGVjdGVkVmFsdWUuY29udGFpbnModGVzdGNhc2UuZmlyc3QpOwotICAg
IH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc051bGwoKQotewotICAgIFFGRVRDSChR
U2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRRkVUQ0goYm9vbCwgZXhwZWN0ZWQpOwotICAgIFFD
T01QQVJFKHZhbHVlLmlzTnVsbCgpLCBleHBlY3RlZCk7Ci0gICAgUUNPTVBBUkUodmFsdWUuaXNO
dWxsKCksIGV4cGVjdGVkKTsKLX0KLQotc3RhdGljIGNvbnN0IFFTdHJpbmcgaXNTdHJpbmdfYXJy
YXlbXSA9IHsKLSAgICAiUVNjcmlwdFZhbHVlKFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZy
b21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJp
bmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIuNFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
XCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcImNp
YW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9c
IikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBc
IikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMi4zXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0
cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
UVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBRU3RyaW5nKFwiMS4yM1wiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJ2NpYW8n
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIicwJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCInMTIuNCdcIikifTsKLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVl
Ojppc1N0cmluZ19kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTY3JpcHRWYWx1ZT4o
InZhbHVlIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxib29sPigiZXhwZWN0ZWQiKTsKLSAgICBp
ZiAobV9lbmdpbmUpCi0gICAgICAgIGRlbGV0ZSBtX2VuZ2luZTsKLSAgICBtX2VuZ2luZSA9IG5l
dyBRU2NyaXB0RW5naW5lKCk7Ci0gICAgUVNldDxRU3RyaW5nPiBleHBlY3RlZFZhbHVlOwotICAg
IGV4cGVjdGVkVmFsdWUucmVzZXJ2ZSgzNSk7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBpIDwgMzU7
ICsraSkKLSAgICAgICAgZXhwZWN0ZWRWYWx1ZS5pbnNlcnQoaXNTdHJpbmdfYXJyYXlbaV0pOwot
ICAgIGZvciAodWludCBpID0gMDsgaSA8IDEzNTsgKytpKSB7Ci0gICAgICAgIFFQYWlyPFFTdHJp
bmcsIFFTY3JpcHRWYWx1ZT4gdGVzdGNhc2UgPSBpbml0U2NyaXB0VmFsdWVzKGkpOwotICAgICAg
ICBRVGVzdDo6bmV3Um93KHRlc3RjYXNlLmZpcnN0LnRvQXNjaWkoKS5jb25zdERhdGEoKSkgPDwg
dGVzdGNhc2Uuc2Vjb25kIDw8IGV4cGVjdGVkVmFsdWUuY29udGFpbnModGVzdGNhc2UuZmlyc3Qp
OwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc1N0cmluZygpCi17Ci0gICAg
UUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAgIFFGRVRDSChib29sLCBleHBlY3RlZCk7
Ci0gICAgUUNPTVBBUkUodmFsdWUuaXNTdHJpbmcoKSwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJF
KHZhbHVlLmlzU3RyaW5nKCksIGV4cGVjdGVkKTsKLX0KLQotc3RhdGljIGNvbnN0IFFTdHJpbmcg
aXNVbmRlZmluZWRfYXJyYXlbXSA9IHsKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6
VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5k
ZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpV
bmRlZmluZWRWYWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwie31cIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT51bmRlZmluZWRW
YWx1ZSgpIn07Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNVbmRlZmluZWRfZGF0YSgpCi17
Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJ2YWx1ZSIpOwotICAgIFFUZXN0
OjphZGRDb2x1bW48Ym9vbD4oImV4cGVjdGVkIik7Ci0gICAgaWYgKG1fZW5naW5lKQotICAgICAg
ICBkZWxldGUgbV9lbmdpbmU7Ci0gICAgbV9lbmdpbmUgPSBuZXcgUVNjcmlwdEVuZ2luZSgpOwot
ICAgIFFTZXQ8UVN0cmluZz4gZXhwZWN0ZWRWYWx1ZTsKLSAgICBleHBlY3RlZFZhbHVlLnJlc2Vy
dmUoNik7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBpIDwgNjsgKytpKQotICAgICAgICBleHBlY3Rl
ZFZhbHVlLmluc2VydChpc1VuZGVmaW5lZF9hcnJheVtpXSk7Ci0gICAgZm9yICh1aW50IGkgPSAw
OyBpIDwgMTM1OyArK2kpIHsKLSAgICAgICAgUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPiB0
ZXN0Y2FzZSA9IGluaXRTY3JpcHRWYWx1ZXMoaSk7Ci0gICAgICAgIFFUZXN0OjpuZXdSb3codGVz
dGNhc2UuZmlyc3QudG9Bc2NpaSgpLmNvbnN0RGF0YSgpKSA8PCB0ZXN0Y2FzZS5zZWNvbmQgPDwg
ZXhwZWN0ZWRWYWx1ZS5jb250YWlucyh0ZXN0Y2FzZS5maXJzdCk7Ci0gICAgfQotfQotCi12b2lk
IHRzdF9RU2NyaXB0VmFsdWU6OmlzVW5kZWZpbmVkKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZh
bHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKGJvb2wsIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2
YWx1ZS5pc1VuZGVmaW5lZCgpLCBleHBlY3RlZCk7Ci0gICAgUUNPTVBBUkUodmFsdWUuaXNVbmRl
ZmluZWQoKSwgZXhwZWN0ZWQpOwotfQotCi0KLQotCi1zdGF0aWMgY29uc3QgUVN0cmluZyBpc09i
amVjdF9hcnJheVtdID0gewotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJEYXRlLnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJh
eS5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb24ucHJvdG90
eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkVycm9yLnByb3RvdHlwZVwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiQXJyYXlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiTnVtYmVyXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9uXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IihmdW5jdGlvbigpIHsgcmV0dXJuIDE7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IihmdW5jdGlvbigpIHsgcmV0dXJuICdjaWFvJzsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiKGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoJ2ZvbycpOyB9KVwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCIvZm9vL1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJu
ZXcgT2JqZWN0KClcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEVycm9yKClcIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiVW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bGxc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiVHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJGYWxzZVwiKSIsCi0gICAgImVuZ2luZS0+bmV3T2JqZWN0KCkiLAotICAgICJlbmdp
bmUtPm5ld0FycmF5KCkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KDEwKSJ9OwotCi12b2lkIHRz
dF9RU2NyaXB0VmFsdWU6OmlzT2JqZWN0X2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48
UVNjcmlwdFZhbHVlPigidmFsdWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGJvb2w+KCJleHBl
Y3RlZCIpOwotICAgIGlmIChtX2VuZ2luZSkKLSAgICAgICAgZGVsZXRlIG1fZW5naW5lOwotICAg
IG1fZW5naW5lID0gbmV3IFFTY3JpcHRFbmdpbmUoKTsKLSAgICBRU2V0PFFTdHJpbmc+IGV4cGVj
dGVkVmFsdWU7Ci0gICAgZXhwZWN0ZWRWYWx1ZS5yZXNlcnZlKDI0KTsKLSAgICBmb3IgKHVpbnQg
aSA9IDA7IGkgPCAyNDsgKytpKQotICAgICAgICBleHBlY3RlZFZhbHVlLmluc2VydChpc09iamVj
dF9hcnJheVtpXSk7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBpIDwgMTM1OyArK2kpIHsKLSAgICAg
ICAgUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPiB0ZXN0Y2FzZSA9IGluaXRTY3JpcHRWYWx1
ZXMoaSk7Ci0gICAgICAgIFFUZXN0OjpuZXdSb3codGVzdGNhc2UuZmlyc3QudG9Bc2NpaSgpLmNv
bnN0RGF0YSgpKSA8PCB0ZXN0Y2FzZS5zZWNvbmQgPDwgZXhwZWN0ZWRWYWx1ZS5jb250YWlucyh0
ZXN0Y2FzZS5maXJzdCk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzT2Jq
ZWN0KCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKGJv
b2wsIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS5pc09iamVjdCgpLCBleHBlY3RlZCk7
Ci0gICAgUUNPTVBBUkUodmFsdWUuaXNPYmplY3QoKSwgZXhwZWN0ZWQpOwotfQotCi1zdGF0aWMg
Y29uc3QgUVN0cmluZyBpc0FycmF5X2FycmF5W10gPSB7Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCJbXVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikiLAotICAgICJlbmdpbmUtPm5l
d0FycmF5KCkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KDEwKSJ9OwotCi12b2lkIHRzdF9RU2Ny
aXB0VmFsdWU6OmlzQXJyYXlfZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0
VmFsdWU+KCJ2YWx1ZSIpOwotICAgIFFUZXN0OjphZGRDb2x1bW48Ym9vbD4oImV4cGVjdGVkIik7
Ci0gICAgaWYgKG1fZW5naW5lKQotICAgICAgICBkZWxldGUgbV9lbmdpbmU7Ci0gICAgbV9lbmdp
bmUgPSBuZXcgUVNjcmlwdEVuZ2luZSgpOwotICAgIFFTZXQ8UVN0cmluZz4gZXhwZWN0ZWRWYWx1
ZTsKLSAgICBleHBlY3RlZFZhbHVlLnJlc2VydmUoNSk7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBp
IDwgNTsgKytpKQotICAgICAgICBleHBlY3RlZFZhbHVlLmluc2VydChpc0FycmF5X2FycmF5W2ld
KTsKLSAgICBmb3IgKHVpbnQgaSA9IDA7IGkgPCAxMzU7ICsraSkgewotICAgICAgICBRUGFpcjxR
U3RyaW5nLCBRU2NyaXB0VmFsdWU+IHRlc3RjYXNlID0gaW5pdFNjcmlwdFZhbHVlcyhpKTsKLSAg
ICAgICAgUVRlc3Q6Om5ld1Jvdyh0ZXN0Y2FzZS5maXJzdC50b0FzY2lpKCkuY29uc3REYXRhKCkp
IDw8IHRlc3RjYXNlLnNlY29uZCA8PCBleHBlY3RlZFZhbHVlLmNvbnRhaW5zKHRlc3RjYXNlLmZp
cnN0KTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNBcnJheSgpCi17Ci0g
ICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAgIFFGRVRDSChib29sLCBleHBlY3Rl
ZCk7Ci0gICAgUUNPTVBBUkUodmFsdWUuaXNBcnJheSgpLCBleHBlY3RlZCk7Ci0gICAgUUNPTVBB
UkUodmFsdWUuaXNBcnJheSgpLCBleHBlY3RlZCk7Ci19Ci0KLXN0YXRpYyBjb25zdCBRU3RyaW5n
IGlzRXJyb3JfYXJyYXlbXSA9IHsKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkVycm9yLnByb3Rv
dHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgRXJyb3IoKVwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJVbmRlZmluZWRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiTnVsbFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJUcnVlXCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIkZhbHNlXCIpIn07Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNF
cnJvcl9kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTY3JpcHRWYWx1ZT4oInZhbHVl
Iik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxib29sPigiZXhwZWN0ZWQiKTsKLSAgICBpZiAobV9l
bmdpbmUpCi0gICAgICAgIGRlbGV0ZSBtX2VuZ2luZTsKLSAgICBtX2VuZ2luZSA9IG5ldyBRU2Ny
aXB0RW5naW5lKCk7Ci0gICAgUVNldDxRU3RyaW5nPiBleHBlY3RlZFZhbHVlOwotICAgIGV4cGVj
dGVkVmFsdWUucmVzZXJ2ZSg2KTsKLSAgICBmb3IgKHVpbnQgaSA9IDA7IGkgPCA2OyArK2kpCi0g
ICAgICAgIGV4cGVjdGVkVmFsdWUuaW5zZXJ0KGlzRXJyb3JfYXJyYXlbaV0pOwotICAgIGZvciAo
dWludCBpID0gMDsgaSA8IDEzNTsgKytpKSB7Ci0gICAgICAgIFFQYWlyPFFTdHJpbmcsIFFTY3Jp
cHRWYWx1ZT4gdGVzdGNhc2UgPSBpbml0U2NyaXB0VmFsdWVzKGkpOwotICAgICAgICBRVGVzdDo6
bmV3Um93KHRlc3RjYXNlLmZpcnN0LnRvQXNjaWkoKS5jb25zdERhdGEoKSkgPDwgdGVzdGNhc2Uu
c2Vjb25kIDw8IGV4cGVjdGVkVmFsdWUuY29udGFpbnModGVzdGNhc2UuZmlyc3QpOwotICAgIH0K
LX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc0Vycm9yKCkKLXsKLSAgICBRRkVUQ0goUVNj
cmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKGJvb2wsIGV4cGVjdGVkKTsKLSAgICBRQ09N
UEFSRSh2YWx1ZS5pc0Vycm9yKCksIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS5pc0Vy
cm9yKCksIGV4cGVjdGVkKTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9x
dC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZV9nZW5lcmF0ZWRfdG90eXBlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3Jp
cHR2YWx1ZV9nZW5lcmF0ZWRfdG90eXBlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZWFhNWQxNC4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMv
cXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX3RvdHlwZS5jcHAKKysrIC9k
ZXYvbnVsbApAQCAtMSwxNzg2ICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDEwIE5v
a2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotCi0gICAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot
ICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAg
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0qKioqKioqKioqKioqKiogVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRl
ZC4gRE8gTk9UIE1PRElGWSEgKioqKioqKioqKioqKioqKgotKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K
LQotI2luY2x1ZGUgInRzdF9xc2NyaXB0dmFsdWUuaCIKLQotc3RhdGljIGNvbnN0IFFTdHJpbmcg
dG9TdHJpbmdfdGFnQXJyYXlbXSA9IHsKLSAgICAiUVNjcmlwdFZhbHVlKCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFs
dWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHRydWUpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShpbnQoMTIyKSki
LAotICAgICJRU2NyaXB0VmFsdWUodWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDEyMy4wKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSg2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgtNi4zN2UtOCki
LAotICAgICJRU2NyaXB0VmFsdWUoMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoMHgx
MDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUo
cVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUocVFOYU4oKSkiLAotICAgICJRU2NyaXB0VmFs
dWUocUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgtcUluZigpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiY2lhb1wi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0
cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhc
IjEyLjRcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVk
VmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBmYWxz
ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgaW50KDEyMikpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAxMjMuMCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgLTYuMzdlLTgpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDEpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIHFTTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHFRTmFOKCkpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgLXFJbmYo
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
UVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFT
dHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFT
dHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMi4zXCIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFs
dWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBpbnQoMTIyKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgNi4z
N2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAtNi4zN2UtOCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCAweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMSkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCBxU05hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IHFRTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcUluZigpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
XCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIkluZmluaXR5XCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5n
Ojpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3Ry
aW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFFTdHJpbmcoXCIxLjIzXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJP
YmplY3QucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkRhdGUucHJvdG90
eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvbi5wcm90b3R5cGVcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiRXJyb3IucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIk9iamVjdFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheVwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJOdW1iZXJcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
RnVuY3Rpb25cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9uKCkgeyByZXR1
cm4gMTsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9uKCkgeyByZXR1
cm4gJ2NpYW8nOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7
IHRocm93IG5ldyBFcnJvcignZm9vJyk7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
Ii9mb28vXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBPYmplY3QoKVwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJuZXcgRXJyb3IoKVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJhID0gbmV3
IE9iamVjdCgpOyBhLmZvbyA9IDIyOyBhLmZvb1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCJVbmRlZmluZWRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiTnVsbFwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJUcnVlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkZh
bHNlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInRydWVc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiMTIyXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyNFwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMuMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCI2LjM3ZS04XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi02LjM3ZS04XCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4NDMyMTEyMzRcIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiMHgxMDAwMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAx
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk5hTlwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJJbmZpbml0eVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItSW5maW5pdHlc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJ2NpYW8nXCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIicnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIn
MTIuNCdcIikiLAotICAgICJlbmdpbmUtPm51bGxWYWx1ZSgpIiwKLSAgICAiZW5naW5lLT51bmRl
ZmluZWRWYWx1ZSgpIiwKLSAgICAiZW5naW5lLT5uZXdPYmplY3QoKSIsCi0gICAgImVuZ2luZS0+
bmV3QXJyYXkoKSIsCi0gICAgImVuZ2luZS0+bmV3QXJyYXkoMTApIn07Ci0KLXN0YXRpYyBjb25z
dCBRU3RyaW5nIHRvU3RyaW5nX3ZhbHVlQXJyYXlbXSA9IHsKLSAgICAiIiwgInVuZGVmaW5lZCIs
Ci0gICAgIm51bGwiLCAidHJ1ZSIsCi0gICAgImZhbHNlIiwgIjEyMiIsCi0gICAgIjEyNCIsICIw
IiwKLSAgICAiMCIsICIxMjMiLAotICAgICI2LjM3ZS04IiwgIi02LjM3ZS04IiwKLSAgICAiMTEy
NjI0MDgyMCIsICI2NTUzNiIsCi0gICAgIjY1NTM3IiwgIk5hTiIsCi0gICAgIk5hTiIsICJJbmZp
bml0eSIsCi0gICAgIi1JbmZpbml0eSIsICJOYU4iLAotICAgICJJbmZpbml0eSIsICItSW5maW5p
dHkiLAotICAgICJjaWFvIiwgImNpYW8iLAotICAgICIiLCAiIiwKLSAgICAiMCIsICIxMjMiLAot
ICAgICIxMi40IiwgInVuZGVmaW5lZCIsCi0gICAgIm51bGwiLCAidHJ1ZSIsCi0gICAgImZhbHNl
IiwgIjEyMiIsCi0gICAgIjEyNCIsICIwIiwKLSAgICAiMCIsICIxMjMiLAotICAgICI2LjM3ZS04
IiwgIi02LjM3ZS04IiwKLSAgICAiMTEyNjI0MDgyMCIsICI2NTUzNiIsCi0gICAgIjY1NTM3Iiwg
Ik5hTiIsCi0gICAgIk5hTiIsICJJbmZpbml0eSIsCi0gICAgIi1JbmZpbml0eSIsICJOYU4iLAot
ICAgICJJbmZpbml0eSIsICItSW5maW5pdHkiLAotICAgICJjaWFvIiwgImNpYW8iLAotICAgICIi
LCAiIiwKLSAgICAiMCIsICIxMjMiLAotICAgICIxMi4zIiwgInVuZGVmaW5lZCIsCi0gICAgIm51
bGwiLCAidHJ1ZSIsCi0gICAgImZhbHNlIiwgIjEyMiIsCi0gICAgIjEyNCIsICIwIiwKLSAgICAi
MCIsICIxMjMiLAotICAgICI2LjM3ZS04IiwgIi02LjM3ZS04IiwKLSAgICAiMTEyNjI0MDgyMCIs
ICI2NTUzNiIsCi0gICAgIjY1NTM3IiwgIk5hTiIsCi0gICAgIk5hTiIsICJJbmZpbml0eSIsCi0g
ICAgIi1JbmZpbml0eSIsICJOYU4iLAotICAgICJJbmZpbml0eSIsICItSW5maW5pdHkiLAotICAg
ICJjaWFvIiwgImNpYW8iLAotICAgICIiLCAiIiwKLSAgICAiMCIsICIxMjMiLAotICAgICIxLjIz
IiwgIiIsCi0gICAgInVuZGVmaW5lZCIsICJbb2JqZWN0IE9iamVjdF0iLAotICAgICJJbnZhbGlk
IERhdGUiLCAiIiwKLSAgICAiZnVuY3Rpb24gKCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0iLCAi
RXJyb3I6IFVua25vd24gZXJyb3IiLAotICAgICJmdW5jdGlvbiBPYmplY3QoKSB7XG4gICAgW25h
dGl2ZSBjb2RlXVxufSIsICJmdW5jdGlvbiBBcnJheSgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59
IiwKLSAgICAiZnVuY3Rpb24gTnVtYmVyKCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0iLCAiZnVu
Y3Rpb24gRnVuY3Rpb24oKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIsCi0gICAgImZ1bmN0aW9u
ICgpIHsgcmV0dXJuIDE7IH0iLCAiZnVuY3Rpb24gKCkgeyByZXR1cm4gJ2NpYW8nOyB9IiwKLSAg
ICAiZnVuY3Rpb24gKCkgeyB0aHJvdyBuZXcgRXJyb3IoJ2ZvbycpOyB9IiwgIi9mb28vIiwKLSAg
ICAiW29iamVjdCBPYmplY3RdIiwgIiIsCi0gICAgIkVycm9yOiBVbmtub3duIGVycm9yIiwgIjIy
IiwKLSAgICAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFVuZGVmaW5lZCIs
ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogTnVsbCIsCi0gICAgIlJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBUcnVlIiwgIlJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBGYWxzZSIsCi0gICAgInVuZGVmaW5lZCIsICJudWxsIiwKLSAg
ICAidHJ1ZSIsICJmYWxzZSIsCi0gICAgIjEyMiIsICIxMjQiLAotICAgICIwIiwgIjAiLAotICAg
ICIxMjMiLCAiNi4zN2UtOCIsCi0gICAgIi02LjM3ZS04IiwgIjExMjYyNDA4MjAiLAotICAgICI2
NTUzNiIsICI2NTUzNyIsCi0gICAgIk5hTiIsICJJbmZpbml0eSIsCi0gICAgIi1JbmZpbml0eSIs
ICJjaWFvIiwKLSAgICAiIiwgIjAiLAotICAgICIxMjMiLCAiMTIuNCIsCi0gICAgIm51bGwiLCAi
dW5kZWZpbmVkIiwKLSAgICAiW29iamVjdCBPYmplY3RdIiwgIiIsCi0gICAgIiwsLCwsLCwsLCJ9
OwotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvU3RyaW5nX2RhdGEoKQotewotICAgIFFUZXN0
OjphZGRDb2x1bW48UVNjcmlwdFZhbHVlPigidmFsdWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1u
PFFTdHJpbmc+KCJleHBlY3RlZCIpOwotICAgIGlmIChtX2VuZ2luZSkKLSAgICAgICAgZGVsZXRl
IG1fZW5naW5lOwotICAgIG1fZW5naW5lID0gbmV3IFFTY3JpcHRFbmdpbmUoKTsKLSAgICBRSGFz
aDxRU3RyaW5nLCBRU3RyaW5nPiBleHBlY3RlZFZhbHVlOwotICAgIGV4cGVjdGVkVmFsdWUucmVz
ZXJ2ZSgxMzUpOwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDEzNTsgKytpKQotICAgICAgICBl
eHBlY3RlZFZhbHVlLmluc2VydCh0b1N0cmluZ190YWdBcnJheVtpXSwgdG9TdHJpbmdfdmFsdWVB
cnJheVtpXSk7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBpIDwgMTM1OyArK2kpIHsKLSAgICAgICAg
UVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPiB0ZXN0Y2FzZSA9IGluaXRTY3JpcHRWYWx1ZXMo
aSk7Ci0gICAgICAgIFFUZXN0OjpuZXdSb3codGVzdGNhc2UuZmlyc3QudG9Bc2NpaSgpLmNvbnN0
RGF0YSgpKSA8PCB0ZXN0Y2FzZS5zZWNvbmQgPDwgZXhwZWN0ZWRWYWx1ZVt0ZXN0Y2FzZS5maXJz
dF07Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvU3RyaW5nKCkKLXsKLSAg
ICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKFFTdHJpbmcsIGV4cGVj
dGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS50b1N0cmluZygpLCBleHBlY3RlZCk7Ci0gICAgUUNP
TVBBUkUodmFsdWUudG9TdHJpbmcoKSwgZXhwZWN0ZWQpOwotfQotCi1zdGF0aWMgY29uc3QgUVN0
cmluZyB0b051bWJlcl90YWdBcnJheVtdID0gewotICAgICJRU2NyaXB0VmFsdWUoKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUodHJ1
ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGludCgx
MjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMTIzLjAp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC02LjM3
ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShxU05hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShxUU5hTigpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC1xSW5mKCkpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiSW5maW5pdHlcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCJj
aWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3Ry
aW5nKFwiMTIuNFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRl
ZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFs
dWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBpbnQoMTIyKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDEyMy4wKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtNi4zN2Ut
OCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgcVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgcVFOYU4oKSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAt
cUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiLUluZmluaXR5
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEy
LjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmlu
ZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxW
YWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGludCgxMjIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAxKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFTTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgcVFOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5mKCkpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIiki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVN0cmluZyhcIjEuMjNcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIltdXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIk9iamVjdC5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRGF0ZS5w
cm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9uLnByb3RvdHlwZVwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJFcnJvci5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiT2JqZWN0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5XCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bWJlclwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJGdW5jdGlvblwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7
IHJldHVybiAxOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7
IHJldHVybiAnY2lhbyc7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlv
bigpIHsgdGhyb3cgbmV3IEVycm9yKCdmb28nKTsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiL2Zvby9cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IE9iamVjdCgpXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIm5ldyBFcnJvcigpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImEg
PSBuZXcgT2JqZWN0KCk7IGEuZm9vID0gMjI7IGEuZm9vXCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIlVuZGVmaW5lZFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOdWxsXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIlRydWVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiRmFsc2VcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
dHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCIxMjJcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
MC4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyMy4wXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIjYuMzdlLThcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLTYuMzdl
LThcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHg0MzIxMTIzNFwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCIweDEwMDAwXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4
MTAwMDFcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiTmFOXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIkluZmluaXR5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZp
bml0eVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIicxMi40J1wiKSIsCi0gICAgImVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAgICJlbmdpbmUt
PnVuZGVmaW5lZFZhbHVlKCkiLAotICAgICJlbmdpbmUtPm5ld09iamVjdCgpIiwKLSAgICAiZW5n
aW5lLT5uZXdBcnJheSgpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgxMCkifTsKLQotc3RhdGlj
IGNvbnN0IHFzcmVhbCB0b051bWJlcl92YWx1ZUFycmF5W10gPSB7Ci0gICAgMCwgcVFOYU4oKSwg
MCwgMSwgMCwgMTIyLCAxMjQsIDAsIDAsIDEyMywKLSAgICA2LjM2OTk5OTk5OTk5OTk5OWUtMDgs
IC02LjM2OTk5OTk5OTk5OTk5OWUtMDgsIDExMjYyNDA4MjAsIDY1NTM2LCA2NTUzNywgcVFOYU4o
KSwgcVFOYU4oKSwgcUluZigpLCBxSW5mKCksIHFRTmFOKCksCi0gICAgcUluZigpLCBxSW5mKCks
IHFRTmFOKCksIHFRTmFOKCksIDAsIDAsIDAsIDEyMywgMTIuNCwgcVFOYU4oKSwKLSAgICAwLCAx
LCAwLCAxMjIsIDEyNCwgMCwgMCwgMTIzLCA2LjM2OTk5OTk5OTk5OTk5OWUtMDgsIC02LjM2OTk5
OTk5OTk5OTk5OWUtMDgsCi0gICAgMTEyNjI0MDgyMCwgNjU1MzYsIDY1NTM3LCBxUU5hTigpLCBx
UU5hTigpLCBxSW5mKCksIHFJbmYoKSwgcVFOYU4oKSwgcUluZigpLCBxSW5mKCksCi0gICAgcVFO
YU4oKSwgcVFOYU4oKSwgMCwgMCwgMCwgMTIzLCAxMi4zLCBxUU5hTigpLCAwLCAxLAotICAgIDAs
IDEyMiwgMTI0LCAwLCAwLCAxMjMsIDYuMzY5OTk5OTk5OTk5OTk5ZS0wOCwgLTYuMzY5OTk5OTk5
OTk5OTk5ZS0wOCwgMTEyNjI0MDgyMCwgNjU1MzYsCi0gICAgNjU1MzcsIHFRTmFOKCksIHFRTmFO
KCksIHFJbmYoKSwgcUluZigpLCBxUU5hTigpLCBxSW5mKCksIHFJbmYoKSwgcVFOYU4oKSwgcVFO
YU4oKSwKLSAgICAwLCAwLCAwLCAxMjMsIDEuMjMsIDAsIHFRTmFOKCksIHFRTmFOKCksIHFRTmFO
KCksIDAsCi0gICAgcVFOYU4oKSwgcVFOYU4oKSwgcVFOYU4oKSwgcVFOYU4oKSwgcVFOYU4oKSwg
cVFOYU4oKSwgcVFOYU4oKSwgcVFOYU4oKSwgcVFOYU4oKSwgcVFOYU4oKSwKLSAgICBxUU5hTigp
LCAwLCBxUU5hTigpLCAyMiwgcVFOYU4oKSwgcVFOYU4oKSwgcVFOYU4oKSwgcVFOYU4oKSwgcVFO
YU4oKSwgMCwKLSAgICAxLCAwLCAxMjIsIDEyNCwgMCwgMCwgMTIzLCA2LjM2OTk5OTk5OTk5OTk5
OWUtMDgsIC02LjM2OTk5OTk5OTk5OTk5OWUtMDgsIDExMjYyNDA4MjAsCi0gICAgNjU1MzYsIDY1
NTM3LCBxUU5hTigpLCBxSW5mKCksIHFJbmYoKSwgcVFOYU4oKSwgMCwgMCwgMTIzLCAxMi40LAot
ICAgIDAsIHFRTmFOKCksIHFRTmFOKCksIDAsIHFRTmFOKCl9OwotCi12b2lkIHRzdF9RU2NyaXB0
VmFsdWU6OnRvTnVtYmVyX2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVNjcmlwdFZh
bHVlPigidmFsdWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPHFzcmVhbD4oImV4cGVjdGVkIik7
Ci0gICAgaWYgKG1fZW5naW5lKQotICAgICAgICBkZWxldGUgbV9lbmdpbmU7Ci0gICAgbV9lbmdp
bmUgPSBuZXcgUVNjcmlwdEVuZ2luZSgpOwotICAgIFFIYXNoPFFTdHJpbmcsIHFzcmVhbD4gZXhw
ZWN0ZWRWYWx1ZTsKLSAgICBleHBlY3RlZFZhbHVlLnJlc2VydmUoMTM1KTsKLSAgICBmb3IgKHVp
bnQgaSA9IDA7IGkgPCAxMzU7ICsraSkKLSAgICAgICAgZXhwZWN0ZWRWYWx1ZS5pbnNlcnQodG9O
dW1iZXJfdGFnQXJyYXlbaV0sIHRvTnVtYmVyX3ZhbHVlQXJyYXlbaV0pOwotICAgIGZvciAodWlu
dCBpID0gMDsgaSA8IDEzNTsgKytpKSB7Ci0gICAgICAgIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRW
YWx1ZT4gdGVzdGNhc2UgPSBpbml0U2NyaXB0VmFsdWVzKGkpOwotICAgICAgICBRVGVzdDo6bmV3
Um93KHRlc3RjYXNlLmZpcnN0LnRvQXNjaWkoKS5jb25zdERhdGEoKSkgPDwgdGVzdGNhc2Uuc2Vj
b25kIDw8IGV4cGVjdGVkVmFsdWVbdGVzdGNhc2UuZmlyc3RdOwotICAgIH0KLX0KLQotdm9pZCB0
c3RfUVNjcmlwdFZhbHVlOjp0b051bWJlcigpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwg
dmFsdWUpOwotICAgIFFGRVRDSChxc3JlYWwsIGV4cGVjdGVkKTsKLSAgICBpZiAocUlzTmFOKGV4
cGVjdGVkKSkgewotICAgICAgICBRVkVSSUZZKHFJc05hTih2YWx1ZS50b051bWJlcigpKSk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKHFJc0luZihleHBlY3RlZCkpIHsKLSAgICAg
ICAgUVZFUklGWShxSXNJbmYodmFsdWUudG9OdW1iZXIoKSkpOwotICAgICAgICBRVkVSSUZZKHFJ
c0luZih2YWx1ZS50b051bWJlcigpKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgUUNP
TVBBUkUodmFsdWUudG9OdW1iZXIoKSwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJFKHZhbHVlLnRv
TnVtYmVyKCksIGV4cGVjdGVkKTsKLX0KLQotc3RhdGljIGNvbnN0IFFTdHJpbmcgdG9Cb29sX3Rh
Z0FycmF5W10gPSB7Ci0gICAgIlFTY3JpcHRWYWx1ZSgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFT
Y3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRW
YWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh0cnVlKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoaW50KDEyMikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgxMjMuMCkiLAotICAgICJRU2NyaXB0
VmFsdWUoNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoLTYuMzdlLTgpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDApIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFTTmFOKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKHFRTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFJbmYoKSki
LAotICAgICJRU2NyaXB0VmFsdWUoLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoXCJOYU5c
IikiLAotICAgICJRU2NyaXB0VmFsdWUoXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcImNpYW9cIikiLAotICAgICJR
U2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFT
dHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMi40XCIpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgdHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCB1aW50KDEy
NCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAu
MCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC02LjM3ZS04KSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCAweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAwKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBx
U05hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxUU5hTigpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiSW5maW5p
dHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZy
b21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIz
XCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIuM1wiKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFs
c2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAwKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgcVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxUU5hTigpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiTmFOXCIpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
XCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGlu
MShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
UVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwi
MS4yM1wiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwie31cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0LnByb3Rv
dHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJEYXRlLnByb3RvdHlwZVwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiRnVuY3Rpb24ucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIkVycm9yLnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3Rc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXlcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiTnVtYmVyXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9uXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0dXJuIDE7IH0pXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0dXJuICdjaWFvJzsg
fSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcg
RXJyb3IoJ2ZvbycpOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIvZm9vL1wiKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgT2JqZWN0KClcIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3
IEVycm9yKClcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiYSA9IG5ldyBPYmplY3QoKTsg
YS5mb28gPSAyMjsgYS5mb29cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiVW5kZWZpbmVk
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bGxcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiVHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGYWxzZVwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwibnVsbFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEy
MlwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjRcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiNi4z
N2UtOFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItNi4zN2UtOFwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCIweDQzMjExMjM0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IjB4MTAwMDBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMVwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJOYU5cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiSW5m
aW5pdHlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5XCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIn
J1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiJzEyMydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyLjQnXCIpIiwK
LSAgICAiZW5naW5lLT5udWxsVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+dW5kZWZpbmVkVmFsdWUo
KSIsCi0gICAgImVuZ2luZS0+bmV3T2JqZWN0KCkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KCki
LAotICAgICJlbmdpbmUtPm5ld0FycmF5KDEwKSJ9OwotCi1zdGF0aWMgY29uc3QgYm9vbCB0b0Jv
b2xfdmFsdWVBcnJheVtdID0gewotICAgIGZhbHNlLCBmYWxzZSwKLSAgICBmYWxzZSwgdHJ1ZSwK
LSAgICBmYWxzZSwgdHJ1ZSwKLSAgICB0cnVlLCBmYWxzZSwKLSAgICBmYWxzZSwgdHJ1ZSwKLSAg
ICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgZmFsc2UsCi0gICAgZmFs
c2UsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRy
dWUsCi0gICAgZmFsc2UsIGZhbHNlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgZmFsc2Us
Ci0gICAgZmFsc2UsIHRydWUsCi0gICAgZmFsc2UsIHRydWUsCi0gICAgdHJ1ZSwgZmFsc2UsCi0g
ICAgZmFsc2UsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRy
dWUsIGZhbHNlLAotICAgIGZhbHNlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwg
dHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIGZhbHNlLCBmYWxzZSwKLSAgICB0cnVlLCB0cnVl
LAotICAgIHRydWUsIGZhbHNlLAotICAgIGZhbHNlLCB0cnVlLAotICAgIGZhbHNlLCB0cnVlLAot
ICAgIHRydWUsIGZhbHNlLAotICAgIGZhbHNlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAg
dHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCBmYWxzZSwKLSAgICBmYWxzZSwgdHJ1ZSwKLSAgICB0cnVl
LCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICBmYWxzZSwgZmFs
c2UsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIGZhbHNlLCB0cnVlLAot
ICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRy
dWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRy
dWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0g
ICAgZmFsc2UsIGZhbHNlLAotICAgIHRydWUsIGZhbHNlLAotICAgIHRydWUsIHRydWUsCi0gICAg
ZmFsc2UsIGZhbHNlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVl
LCB0cnVlLAotICAgIGZhbHNlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgZmFsc2UsIHRy
dWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICBmYWxzZSwgZmFsc2UsCi0gICAgdHJ1ZSwgdHJ1ZSwK
LSAgICB0cnVlfTsKLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b0Jvb2xfZGF0YSgpCi17Ci0g
ICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJ2YWx1ZSIpOwotICAgIFFUZXN0Ojph
ZGRDb2x1bW48Ym9vbD4oImV4cGVjdGVkIik7Ci0gICAgaWYgKG1fZW5naW5lKQotICAgICAgICBk
ZWxldGUgbV9lbmdpbmU7Ci0gICAgbV9lbmdpbmUgPSBuZXcgUVNjcmlwdEVuZ2luZSgpOwotICAg
IFFIYXNoPFFTdHJpbmcsIGJvb2w+IGV4cGVjdGVkVmFsdWU7Ci0gICAgZXhwZWN0ZWRWYWx1ZS5y
ZXNlcnZlKDEzNSk7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBpIDwgMTM1OyArK2kpCi0gICAgICAg
IGV4cGVjdGVkVmFsdWUuaW5zZXJ0KHRvQm9vbF90YWdBcnJheVtpXSwgdG9Cb29sX3ZhbHVlQXJy
YXlbaV0pOwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDEzNTsgKytpKSB7Ci0gICAgICAgIFFQ
YWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4gdGVzdGNhc2UgPSBpbml0U2NyaXB0VmFsdWVzKGkp
OwotICAgICAgICBRVGVzdDo6bmV3Um93KHRlc3RjYXNlLmZpcnN0LnRvQXNjaWkoKS5jb25zdERh
dGEoKSkgPDwgdGVzdGNhc2Uuc2Vjb25kIDw8IGV4cGVjdGVkVmFsdWVbdGVzdGNhc2UuZmlyc3Rd
OwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b0Jvb2woKQotewotICAgIFFG
RVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRRkVUQ0goYm9vbCwgZXhwZWN0ZWQpOwot
ICAgIFFDT01QQVJFKHZhbHVlLnRvQm9vbCgpLCBleHBlY3RlZCk7Ci0gICAgUUNPTVBBUkUodmFs
dWUudG9Cb29sKCksIGV4cGVjdGVkKTsKLX0KLQotc3RhdGljIGNvbnN0IFFTdHJpbmcgdG9Cb29s
ZWFuX3RhZ0FycmF5W10gPSB7Ci0gICAgIlFTY3JpcHRWYWx1ZSgpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFT
Y3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh0cnVlKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoaW50KDEyMikpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgxMjMuMCkiLAotICAgICJR
U2NyaXB0VmFsdWUoNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoLTYuMzdlLTgpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDAp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFTTmFO
KCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFRTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFJ
bmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
XCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcImNpYW9cIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmco
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMi40
XCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVl
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgdHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCB1
aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC02LjM3ZS04KSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCAweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEw
MDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBxU05hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxUU5hTigpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwi
SW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJp
bmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5n
KFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5n
KFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIuM1wiKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEw
MDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgcVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxUU5h
TigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiTmFO
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJv
bUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhc
IlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3Ry
aW5nKFwiMS4yM1wiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwie31cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0
LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJEYXRlLnByb3RvdHlwZVwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb24ucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIkVycm9yLnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJP
YmplY3RcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXlcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiTnVtYmVyXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0
aW9uXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0dXJuIDE7
IH0pXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0dXJuICdj
aWFvJzsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9uKCkgeyB0aHJv
dyBuZXcgRXJyb3IoJ2ZvbycpOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIvZm9v
L1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgT2JqZWN0KClcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwibmV3IEVycm9yKClcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiYSA9IG5ldyBPYmpl
Y3QoKTsgYS5mb28gPSAyMjsgYS5mb29cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiVW5k
ZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bGxcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiVHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGYWxzZVwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwibnVsbFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIjEyMlwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjRcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiNi4zN2UtOFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItNi4zN2UtOFwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDQzMjExMjM0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIjB4MTAwMDBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMVwiKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOYU5cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiSW5maW5pdHlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5XCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCInJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiJzEyMydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyLjQn
XCIpIiwKLSAgICAiZW5naW5lLT5udWxsVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+dW5kZWZpbmVk
VmFsdWUoKSIsCi0gICAgImVuZ2luZS0+bmV3T2JqZWN0KCkiLAotICAgICJlbmdpbmUtPm5ld0Fy
cmF5KCkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KDEwKSJ9OwotCi1zdGF0aWMgY29uc3QgYm9v
bCB0b0Jvb2xlYW5fdmFsdWVBcnJheVtdID0gewotICAgIGZhbHNlLCBmYWxzZSwKLSAgICBmYWxz
ZSwgdHJ1ZSwKLSAgICBmYWxzZSwgdHJ1ZSwKLSAgICB0cnVlLCBmYWxzZSwKLSAgICBmYWxzZSwg
dHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgZmFsc2Us
Ci0gICAgZmFsc2UsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAg
IHRydWUsIHRydWUsCi0gICAgZmFsc2UsIGZhbHNlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1
ZSwgZmFsc2UsCi0gICAgZmFsc2UsIHRydWUsCi0gICAgZmFsc2UsIHRydWUsCi0gICAgdHJ1ZSwg
ZmFsc2UsCi0gICAgZmFsc2UsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVl
LAotICAgIHRydWUsIGZhbHNlLAotICAgIGZhbHNlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0g
ICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIGZhbHNlLCBmYWxzZSwKLSAgICB0
cnVlLCB0cnVlLAotICAgIHRydWUsIGZhbHNlLAotICAgIGZhbHNlLCB0cnVlLAotICAgIGZhbHNl
LCB0cnVlLAotICAgIHRydWUsIGZhbHNlLAotICAgIGZhbHNlLCB0cnVlLAotICAgIHRydWUsIHRy
dWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCBmYWxzZSwKLSAgICBmYWxzZSwgdHJ1ZSwK
LSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICBm
YWxzZSwgZmFsc2UsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIGZhbHNl
LCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVl
LAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAg
IHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUs
IHRydWUsCi0gICAgZmFsc2UsIGZhbHNlLAotICAgIHRydWUsIGZhbHNlLAotICAgIHRydWUsIHRy
dWUsCi0gICAgZmFsc2UsIGZhbHNlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwK
LSAgICB0cnVlLCB0cnVlLAotICAgIGZhbHNlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAg
ZmFsc2UsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICBmYWxzZSwgZmFsc2UsCi0gICAgdHJ1
ZSwgdHJ1ZSwKLSAgICB0cnVlfTsKLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b0Jvb2xlYW5f
ZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJ2YWx1ZSIpOwot
ICAgIFFUZXN0OjphZGRDb2x1bW48Ym9vbD4oImV4cGVjdGVkIik7Ci0gICAgaWYgKG1fZW5naW5l
KQotICAgICAgICBkZWxldGUgbV9lbmdpbmU7Ci0gICAgbV9lbmdpbmUgPSBuZXcgUVNjcmlwdEVu
Z2luZSgpOwotICAgIFFIYXNoPFFTdHJpbmcsIGJvb2w+IGV4cGVjdGVkVmFsdWU7Ci0gICAgZXhw
ZWN0ZWRWYWx1ZS5yZXNlcnZlKDEzNSk7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBpIDwgMTM1OyAr
K2kpCi0gICAgICAgIGV4cGVjdGVkVmFsdWUuaW5zZXJ0KHRvQm9vbGVhbl90YWdBcnJheVtpXSwg
dG9Cb29sZWFuX3ZhbHVlQXJyYXlbaV0pOwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDEzNTsg
KytpKSB7Ci0gICAgICAgIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4gdGVzdGNhc2UgPSBp
bml0U2NyaXB0VmFsdWVzKGkpOwotICAgICAgICBRVGVzdDo6bmV3Um93KHRlc3RjYXNlLmZpcnN0
LnRvQXNjaWkoKS5jb25zdERhdGEoKSkgPDwgdGVzdGNhc2Uuc2Vjb25kIDw8IGV4cGVjdGVkVmFs
dWVbdGVzdGNhc2UuZmlyc3RdOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0
b0Jvb2xlYW4oKQotewotICAgIFFGRVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRRkVU
Q0goYm9vbCwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJFKHZhbHVlLnRvQm9vbGVhbigpLCBleHBl
Y3RlZCk7Ci0gICAgUUNPTVBBUkUodmFsdWUudG9Cb29sZWFuKCksIGV4cGVjdGVkKTsKLX0KLQot
c3RhdGljIGNvbnN0IFFTdHJpbmcgdG9JbnRlZ2VyX3RhZ0FycmF5W10gPSB7Ci0gICAgIlFTY3Jp
cHRWYWx1ZSgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFs
dWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSh0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkiLAotICAgICJR
U2NyaXB0VmFsdWUoaW50KDEyMikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHVpbnQoMTI0KSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoNi4zN2UtOCkiLAotICAgICJR
U2NyaXB0VmFsdWUoLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4NDMyMTEyMzQpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDEp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKHFTTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFRTmFO
KCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoLXFJ
bmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoXCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUo
XCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIi1JbmZpbml0eVwiKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJv
bUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmlu
ZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMi40XCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBR
U2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2Ny
aXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgdHJ1ZSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGludCgxMjIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCB1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDYuMzdlLTgpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIC02LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDQzMjExMjM0KSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAw
eDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxU05hTigpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBxUU5hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiTmFOXCIp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBRU3RyaW5nKFwiMTIuM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2Ny
aXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
Y3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHRydWUp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgaW50KDEyMikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4wKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
LTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHg0MzIxMTIzNCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcVNOYU4oKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxUU5hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAtcUluZigpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBc
IikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMS4yM1wiKSkiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiW11cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwie31cIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJEYXRlLnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJB
cnJheS5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb24ucHJv
dG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkVycm9yLnByb3RvdHlwZVwiKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiQXJyYXlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiTnVtYmVyXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9uXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIihmdW5jdGlvbigpIHsgcmV0dXJuIDE7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIihmdW5jdGlvbigpIHsgcmV0dXJuICdjaWFvJzsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiKGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoJ2ZvbycpOyB9KVwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIvZm9vL1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCJuZXcgT2JqZWN0KClcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEVycm9yKClcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiYSA9IG5ldyBPYmplY3QoKTsgYS5mb28gPSAyMjsgYS5mb29cIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiVW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIk51bGxcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiVHJ1ZVwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJGYWxzZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1
bmRlZmluZWRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNl
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyMlwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCIxMjRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiNi4zN2UtOFwiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCItNi4zN2UtOFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDQzMjEx
MjM0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDBcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiMHgxMDAwMVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOYU5c
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiSW5maW5pdHlcIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiLUluZmluaXR5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIidjaWFv
J1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCInMCdcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyLjQnXCIpIiwKLSAgICAiZW5naW5lLT5udWxsVmFsdWUo
KSIsCi0gICAgImVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+bmV3T2Jq
ZWN0KCkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KCkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5
KDEwKSJ9OwotCi1zdGF0aWMgY29uc3QgcXNyZWFsIHRvSW50ZWdlcl92YWx1ZUFycmF5W10gPSB7
Ci0gICAgMCwgMCwgMCwgMSwgMCwgMTIyLCAxMjQsIDAsIDAsIDEyMywKLSAgICAwLCAwLCAxMTI2
MjQwODIwLCA2NTUzNiwgNjU1MzcsIDAsIDAsIHFJbmYoKSwgcUluZigpLCAwLAotICAgIHFJbmYo
KSwgcUluZigpLCAwLCAwLCAwLCAwLCAwLCAxMjMsIDEyLCAwLAotICAgIDAsIDEsIDAsIDEyMiwg
MTI0LCAwLCAwLCAxMjMsIDAsIDAsCi0gICAgMTEyNjI0MDgyMCwgNjU1MzYsIDY1NTM3LCAwLCAw
LCBxSW5mKCksIHFJbmYoKSwgMCwgcUluZigpLCBxSW5mKCksCi0gICAgMCwgMCwgMCwgMCwgMCwg
MTIzLCAxMiwgMCwgMCwgMSwKLSAgICAwLCAxMjIsIDEyNCwgMCwgMCwgMTIzLCAwLCAwLCAxMTI2
MjQwODIwLCA2NTUzNiwKLSAgICA2NTUzNywgMCwgMCwgcUluZigpLCBxSW5mKCksIDAsIHFJbmYo
KSwgcUluZigpLCAwLCAwLAotICAgIDAsIDAsIDAsIDEyMywgMSwgMCwgMCwgMCwgMCwgMCwKLSAg
ICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDIyLCAwLCAwLCAw
LCAwLCAwLCAwLAotICAgIDEsIDAsIDEyMiwgMTI0LCAwLCAwLCAxMjMsIDAsIDAsIDExMjYyNDA4
MjAsCi0gICAgNjU1MzYsIDY1NTM3LCAwLCBxSW5mKCksIHFJbmYoKSwgMCwgMCwgMCwgMTIzLCAx
MiwKLSAgICAwLCAwLCAwLCAwLCAwfTsKLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b0ludGVn
ZXJfZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJ2YWx1ZSIp
OwotICAgIFFUZXN0OjphZGRDb2x1bW48cXNyZWFsPigiZXhwZWN0ZWQiKTsKLSAgICBpZiAobV9l
bmdpbmUpCi0gICAgICAgIGRlbGV0ZSBtX2VuZ2luZTsKLSAgICBtX2VuZ2luZSA9IG5ldyBRU2Ny
aXB0RW5naW5lKCk7Ci0gICAgUUhhc2g8UVN0cmluZywgcXNyZWFsPiBleHBlY3RlZFZhbHVlOwot
ICAgIGV4cGVjdGVkVmFsdWUucmVzZXJ2ZSgxMzUpOwotICAgIGZvciAodWludCBpID0gMDsgaSA8
IDEzNTsgKytpKQotICAgICAgICBleHBlY3RlZFZhbHVlLmluc2VydCh0b0ludGVnZXJfdGFnQXJy
YXlbaV0sIHRvSW50ZWdlcl92YWx1ZUFycmF5W2ldKTsKLSAgICBmb3IgKHVpbnQgaSA9IDA7IGkg
PCAxMzU7ICsraSkgewotICAgICAgICBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+IHRlc3Rj
YXNlID0gaW5pdFNjcmlwdFZhbHVlcyhpKTsKLSAgICAgICAgUVRlc3Q6Om5ld1Jvdyh0ZXN0Y2Fz
ZS5maXJzdC50b0FzY2lpKCkuY29uc3REYXRhKCkpIDw8IHRlc3RjYXNlLnNlY29uZCA8PCBleHBl
Y3RlZFZhbHVlW3Rlc3RjYXNlLmZpcnN0XTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRW
YWx1ZTo6dG9JbnRlZ2VyKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0g
ICAgUUZFVENIKHFzcmVhbCwgZXhwZWN0ZWQpOwotICAgIGlmIChxSXNJbmYoZXhwZWN0ZWQpKSB7
Ci0gICAgICAgIFFWRVJJRlkocUlzSW5mKHZhbHVlLnRvSW50ZWdlcigpKSk7Ci0gICAgICAgIFFW
RVJJRlkocUlzSW5mKHZhbHVlLnRvSW50ZWdlcigpKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0gICAgUUNPTVBBUkUodmFsdWUudG9JbnRlZ2VyKCksIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFS
RSh2YWx1ZS50b0ludGVnZXIoKSwgZXhwZWN0ZWQpOwotfQotCi1zdGF0aWMgY29uc3QgUVN0cmlu
ZyB0b0ludDMyX3RhZ0FycmF5W10gPSB7Ci0gICAgIlFTY3JpcHRWYWx1ZSgpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh0cnVlKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoaW50KDEyMikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCki
LAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgxMjMuMCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoLTYuMzdlLTgp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4
MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KHFTTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFRTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoLXFJbmYoKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoXCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCJJbmZpbml0eVwiKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcImNpYW9c
IikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFT
dHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmco
XCIxMi40XCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5l
ZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgdHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFs
c2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCB1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC02LjM3ZS04KSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAxKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCBxU05hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxUU5hTigpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC1xSW5m
KCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIiki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBR
U3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBR
U3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIuM1wi
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZh
bHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVl
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDYu
MzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLTYuMzdlLTgpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgcVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBxUU5hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmlu
Zzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0
cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nKFwiMS4yM1wiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwie31cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
T2JqZWN0LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJEYXRlLnByb3Rv
dHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb24ucHJvdG90eXBlXCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIkVycm9yLnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJPYmplY3RcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXlcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiTnVtYmVyXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IkZ1bmN0aW9uXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0
dXJuIDE7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0
dXJuICdjaWFvJzsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9uKCkg
eyB0aHJvdyBuZXcgRXJyb3IoJ2ZvbycpOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCIvZm9vL1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgT2JqZWN0KClcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwibmV3IEVycm9yKClcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiYSA9IG5l
dyBPYmplY3QoKTsgYS5mb28gPSAyMjsgYS5mb29cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiVW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bGxcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiVHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJG
YWxzZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVl
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIjEyMlwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjRcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiNi4zN2UtOFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItNi4zN2UtOFwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDQzMjExMjM0XCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIjB4MTAwMDBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAw
MVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOYU5cIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiSW5maW5pdHlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
JzEyLjQnXCIpIiwKLSAgICAiZW5naW5lLT5udWxsVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+dW5k
ZWZpbmVkVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+bmV3T2JqZWN0KCkiLAotICAgICJlbmdpbmUt
Pm5ld0FycmF5KCkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KDEwKSJ9OwotCi1zdGF0aWMgY29u
c3QgcWludDMyIHRvSW50MzJfdmFsdWVBcnJheVtdID0gewotICAgIDAsIDAsCi0gICAgMCwgMSwK
LSAgICAwLCAxMjIsCi0gICAgMTI0LCAwLAotICAgIDAsIDEyMywKLSAgICAwLCAwLAotICAgIDEx
MjYyNDA4MjAsIDY1NTM2LAotICAgIDY1NTM3LCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAg
ICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAxMjMsCi0gICAgMTIsIDAsCi0g
ICAgMCwgMSwKLSAgICAwLCAxMjIsCi0gICAgMTI0LCAwLAotICAgIDAsIDEyMywKLSAgICAwLCAw
LAotICAgIDExMjYyNDA4MjAsIDY1NTM2LAotICAgIDY1NTM3LCAwLAotICAgIDAsIDAsCi0gICAg
MCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAxMjMsCi0gICAg
MTIsIDAsCi0gICAgMCwgMSwKLSAgICAwLCAxMjIsCi0gICAgMTI0LCAwLAotICAgIDAsIDEyMywK
LSAgICAwLCAwLAotICAgIDExMjYyNDA4MjAsIDY1NTM2LAotICAgIDY1NTM3LCAwLAotICAgIDAs
IDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAx
MjMsCi0gICAgMSwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAw
LAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMjIs
Ci0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMSwgMCwKLSAgICAxMjIsIDEy
NCwKLSAgICAwLCAwLAotICAgIDEyMywgMCwKLSAgICAwLCAxMTI2MjQwODIwLAotICAgIDY1NTM2
LCA2NTUzNywKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAxMjMsIDEyLAot
ICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwfTsKLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0
b0ludDMyX2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVNjcmlwdFZhbHVlPigidmFs
dWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPHFpbnQzMj4oImV4cGVjdGVkIik7Ci0gICAgaWYg
KG1fZW5naW5lKQotICAgICAgICBkZWxldGUgbV9lbmdpbmU7Ci0gICAgbV9lbmdpbmUgPSBuZXcg
UVNjcmlwdEVuZ2luZSgpOwotICAgIFFIYXNoPFFTdHJpbmcsIHFpbnQzMj4gZXhwZWN0ZWRWYWx1
ZTsKLSAgICBleHBlY3RlZFZhbHVlLnJlc2VydmUoMTM1KTsKLSAgICBmb3IgKHVpbnQgaSA9IDA7
IGkgPCAxMzU7ICsraSkKLSAgICAgICAgZXhwZWN0ZWRWYWx1ZS5pbnNlcnQodG9JbnQzMl90YWdB
cnJheVtpXSwgdG9JbnQzMl92YWx1ZUFycmF5W2ldKTsKLSAgICBmb3IgKHVpbnQgaSA9IDA7IGkg
PCAxMzU7ICsraSkgewotICAgICAgICBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+IHRlc3Rj
YXNlID0gaW5pdFNjcmlwdFZhbHVlcyhpKTsKLSAgICAgICAgUVRlc3Q6Om5ld1Jvdyh0ZXN0Y2Fz
ZS5maXJzdC50b0FzY2lpKCkuY29uc3REYXRhKCkpIDw8IHRlc3RjYXNlLnNlY29uZCA8PCBleHBl
Y3RlZFZhbHVlW3Rlc3RjYXNlLmZpcnN0XTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRW
YWx1ZTo6dG9JbnQzMigpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAg
IFFGRVRDSChxaW50MzIsIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS50b0ludDMyKCks
IGV4cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS50b0ludDMyKCksIGV4cGVjdGVkKTsKLX0K
LQotc3RhdGljIGNvbnN0IFFTdHJpbmcgdG9VSW50MzJfdGFnQXJyYXlbXSA9IHsKLSAgICAiUVNj
cmlwdFZhbHVlKCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRW
YWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNlKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShpbnQoMTIyKSkiLAotICAgICJRU2NyaXB0VmFsdWUodWludCgxMjQpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSg2LjM3ZS04KSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgtNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoMHg0MzIxMTIzNCki
LAotICAgICJRU2NyaXB0VmFsdWUoMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMHgxMDAw
MSkiLAotICAgICJRU2NyaXB0VmFsdWUocVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUocVFO
YU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUocUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgt
cUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nOjpm
cm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSki
LAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3Ry
aW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyLjRcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFT
Y3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCB0cnVlKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgaW50KDEy
MikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCAxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgNi4zN2UtOCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4NDMyMTEyMzQp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHFTTmFOKCkpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIHFRTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHFJbmYoKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJOYU5c
IikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIiki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIFFTdHJpbmcoXCIxMi4zXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
Y3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
UVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdHJ1
ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBpbnQoMTIyKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB1aW50KDEy
NCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMTIzLjApIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCAtNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDQzMjExMjM0KSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxU05hTigpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFRTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCItSW5maW5p
dHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwi
MFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMTIzXCIpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxLjIzXCIpKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCJbXVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3QucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIkRhdGUucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IkFycmF5LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvbi5w
cm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRXJyb3IucHJvdG90eXBlXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJBcnJheVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOdW1iZXJcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb25cIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiKGZ1bmN0aW9uKCkgeyByZXR1cm4gMTsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiKGZ1bmN0aW9uKCkgeyByZXR1cm4gJ2NpYW8nOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcignZm9vJyk7IH0pXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi9mb28vXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIm5ldyBPYmplY3QoKVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXko
KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgRXJyb3IoKVwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJhID0gbmV3IE9iamVjdCgpOyBhLmZvbyA9IDIyOyBhLmZvb1wiKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJVbmRlZmluZWRcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiTnVsbFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJUcnVlXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIkZhbHNlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
InVuZGVmaW5lZFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcInRydWVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFs
c2VcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIyXCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIjEyNFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMu
MFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCI2LjM3ZS04XCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIi02LjM3ZS04XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4NDMy
MTEyMzRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMFwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCIweDEwMDAxXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk5h
TlwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJJbmZpbml0eVwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCItSW5maW5pdHlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJ2Np
YW8nXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIicwJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMTIuNCdcIikiLAotICAgICJlbmdpbmUtPm51bGxWYWx1
ZSgpIiwKLSAgICAiZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpIiwKLSAgICAiZW5naW5lLT5uZXdP
YmplY3QoKSIsCi0gICAgImVuZ2luZS0+bmV3QXJyYXkoKSIsCi0gICAgImVuZ2luZS0+bmV3QXJy
YXkoMTApIn07Ci0KLXN0YXRpYyBjb25zdCBxdWludDMyIHRvVUludDMyX3ZhbHVlQXJyYXlbXSA9
IHsKLSAgICAwLCAwLAotICAgIDAsIDEsCi0gICAgMCwgMTIyLAotICAgIDEyNCwgMCwKLSAgICAw
LCAxMjMsCi0gICAgMCwgMCwKLSAgICAxMTI2MjQwODIwLCA2NTUzNiwKLSAgICA2NTUzNywgMCwK
LSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0g
ICAgMCwgMTIzLAotICAgIDEyLCAwLAotICAgIDAsIDEsCi0gICAgMCwgMTIyLAotICAgIDEyNCwg
MCwKLSAgICAwLCAxMjMsCi0gICAgMCwgMCwKLSAgICAxMTI2MjQwODIwLCA2NTUzNiwKLSAgICA2
NTUzNywgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAg
IDAsIDAsCi0gICAgMCwgMTIzLAotICAgIDEyLCAwLAotICAgIDAsIDEsCi0gICAgMCwgMTIyLAot
ICAgIDEyNCwgMCwKLSAgICAwLCAxMjMsCi0gICAgMCwgMCwKLSAgICAxMTI2MjQwODIwLCA2NTUz
NiwKLSAgICA2NTUzNywgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAw
LCAwLAotICAgIDAsIDAsCi0gICAgMCwgMTIzLAotICAgIDEsIDAsCi0gICAgMCwgMCwKLSAgICAw
LCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwg
MCwKLSAgICAwLCAwLAotICAgIDAsIDIyLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAw
LAotICAgIDEsIDAsCi0gICAgMTIyLCAxMjQsCi0gICAgMCwgMCwKLSAgICAxMjMsIDAsCi0gICAg
MCwgMTEyNjI0MDgyMCwKLSAgICA2NTUzNiwgNjU1MzcsCi0gICAgMCwgMCwKLSAgICAwLCAwLAot
ICAgIDAsIDAsCi0gICAgMTIzLCAxMiwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMH07Ci0K
LXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9VSW50MzJfZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFk
ZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJ2YWx1ZSIpOwotICAgIFFUZXN0OjphZGRDb2x1bW48cXVp
bnQzMj4oImV4cGVjdGVkIik7Ci0gICAgaWYgKG1fZW5naW5lKQotICAgICAgICBkZWxldGUgbV9l
bmdpbmU7Ci0gICAgbV9lbmdpbmUgPSBuZXcgUVNjcmlwdEVuZ2luZSgpOwotICAgIFFIYXNoPFFT
dHJpbmcsIHF1aW50MzI+IGV4cGVjdGVkVmFsdWU7Ci0gICAgZXhwZWN0ZWRWYWx1ZS5yZXNlcnZl
KDEzNSk7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBpIDwgMTM1OyArK2kpCi0gICAgICAgIGV4cGVj
dGVkVmFsdWUuaW5zZXJ0KHRvVUludDMyX3RhZ0FycmF5W2ldLCB0b1VJbnQzMl92YWx1ZUFycmF5
W2ldKTsKLSAgICBmb3IgKHVpbnQgaSA9IDA7IGkgPCAxMzU7ICsraSkgewotICAgICAgICBRUGFp
cjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+IHRlc3RjYXNlID0gaW5pdFNjcmlwdFZhbHVlcyhpKTsK
LSAgICAgICAgUVRlc3Q6Om5ld1Jvdyh0ZXN0Y2FzZS5maXJzdC50b0FzY2lpKCkuY29uc3REYXRh
KCkpIDw8IHRlc3RjYXNlLnNlY29uZCA8PCBleHBlY3RlZFZhbHVlW3Rlc3RjYXNlLmZpcnN0XTsK
LSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9VSW50MzIoKQotewotICAgIFFG
RVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRRkVUQ0gocXVpbnQzMiwgZXhwZWN0ZWQp
OwotICAgIFFDT01QQVJFKHZhbHVlLnRvVUludDMyKCksIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFS
RSh2YWx1ZS50b1VJbnQzMigpLCBleHBlY3RlZCk7Ci19Ci0KLXN0YXRpYyBjb25zdCBRU3RyaW5n
IHRvVUludDE2X3RhZ0FycmF5W10gPSB7Ci0gICAgIlFTY3JpcHRWYWx1ZSgpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh0cnVlKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoaW50KDEyMikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCki
LAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgxMjMuMCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoLTYuMzdlLTgp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4
MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KHFTTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFRTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoLXFJbmYoKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoXCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCJJbmZpbml0eVwiKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcImNpYW9c
IikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFT
dHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmco
XCIxMi40XCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5l
ZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgdHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFs
c2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCB1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC02LjM3ZS04KSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAxKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCBxU05hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxUU5hTigpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC1xSW5m
KCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIiki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBR
U3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBR
U3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIuM1wi
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZh
bHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVl
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDYu
MzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLTYuMzdlLTgpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgcVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBxUU5hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmlu
Zzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0
cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nKFwiMS4yM1wiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwie31cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
T2JqZWN0LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJEYXRlLnByb3Rv
dHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb24ucHJvdG90eXBlXCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIkVycm9yLnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJPYmplY3RcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXlcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiTnVtYmVyXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IkZ1bmN0aW9uXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0
dXJuIDE7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0
dXJuICdjaWFvJzsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9uKCkg
eyB0aHJvdyBuZXcgRXJyb3IoJ2ZvbycpOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCIvZm9vL1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgT2JqZWN0KClcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwibmV3IEVycm9yKClcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiYSA9IG5l
dyBPYmplY3QoKTsgYS5mb28gPSAyMjsgYS5mb29cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiVW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bGxcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiVHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJG
YWxzZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVl
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIjEyMlwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjRcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiNi4zN2UtOFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItNi4zN2UtOFwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDQzMjExMjM0XCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIjB4MTAwMDBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAw
MVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOYU5cIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiSW5maW5pdHlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
JzEyLjQnXCIpIiwKLSAgICAiZW5naW5lLT5udWxsVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+dW5k
ZWZpbmVkVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+bmV3T2JqZWN0KCkiLAotICAgICJlbmdpbmUt
Pm5ld0FycmF5KCkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KDEwKSJ9OwotCi1zdGF0aWMgY29u
c3QgcXVpbnQxNiB0b1VJbnQxNl92YWx1ZUFycmF5W10gPSB7Ci0gICAgMCwgMCwKLSAgICAwLCAx
LAotICAgIDAsIDEyMiwKLSAgICAxMjQsIDAsCi0gICAgMCwgMTIzLAotICAgIDAsIDAsCi0gICAg
NDY2MCwgMCwKLSAgICAxLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAg
IDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAxMjMsCi0gICAgMTIsIDAsCi0gICAgMCwgMSwKLSAg
ICAwLCAxMjIsCi0gICAgMTI0LCAwLAotICAgIDAsIDEyMywKLSAgICAwLCAwLAotICAgIDQ2NjAs
IDAsCi0gICAgMSwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAw
LAotICAgIDAsIDAsCi0gICAgMCwgMTIzLAotICAgIDEyLCAwLAotICAgIDAsIDEsCi0gICAgMCwg
MTIyLAotICAgIDEyNCwgMCwKLSAgICAwLCAxMjMsCi0gICAgMCwgMCwKLSAgICA0NjYwLCAwLAot
ICAgIDEsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAg
ICAwLCAwLAotICAgIDAsIDEyMywKLSAgICAxLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAg
ICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAg
MCwgMCwKLSAgICAwLCAyMiwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAx
LCAwLAotICAgIDEyMiwgMTI0LAotICAgIDAsIDAsCi0gICAgMTIzLCAwLAotICAgIDAsIDQ2NjAs
Ci0gICAgMCwgMSwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAxMjMsIDEy
LAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwfTsKLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVl
Ojp0b1VJbnQxNl9kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTY3JpcHRWYWx1ZT4o
InZhbHVlIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxxdWludDE2PigiZXhwZWN0ZWQiKTsKLSAg
ICBpZiAobV9lbmdpbmUpCi0gICAgICAgIGRlbGV0ZSBtX2VuZ2luZTsKLSAgICBtX2VuZ2luZSA9
IG5ldyBRU2NyaXB0RW5naW5lKCk7Ci0gICAgUUhhc2g8UVN0cmluZywgcXVpbnQxNj4gZXhwZWN0
ZWRWYWx1ZTsKLSAgICBleHBlY3RlZFZhbHVlLnJlc2VydmUoMTM1KTsKLSAgICBmb3IgKHVpbnQg
aSA9IDA7IGkgPCAxMzU7ICsraSkKLSAgICAgICAgZXhwZWN0ZWRWYWx1ZS5pbnNlcnQodG9VSW50
MTZfdGFnQXJyYXlbaV0sIHRvVUludDE2X3ZhbHVlQXJyYXlbaV0pOwotICAgIGZvciAodWludCBp
ID0gMDsgaSA8IDEzNTsgKytpKSB7Ci0gICAgICAgIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1
ZT4gdGVzdGNhc2UgPSBpbml0U2NyaXB0VmFsdWVzKGkpOwotICAgICAgICBRVGVzdDo6bmV3Um93
KHRlc3RjYXNlLmZpcnN0LnRvQXNjaWkoKS5jb25zdERhdGEoKSkgPDwgdGVzdGNhc2Uuc2Vjb25k
IDw8IGV4cGVjdGVkVmFsdWVbdGVzdGNhc2UuZmlyc3RdOwotICAgIH0KLX0KLQotdm9pZCB0c3Rf
UVNjcmlwdFZhbHVlOjp0b1VJbnQxNigpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFs
dWUpOwotICAgIFFGRVRDSChxdWludDE2LCBleHBlY3RlZCk7Ci0gICAgUUNPTVBBUkUodmFsdWUu
dG9VSW50MTYoKSwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJFKHZhbHVlLnRvVUludDE2KCksIGV4
cGVjdGVkKTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0cy9x
c2NyaXB0dmFsdWVpdGVyYXRvci9xc2NyaXB0dmFsdWVpdGVyYXRvci5wcm8gYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlwdHZhbHVlaXRlcmF0b3IvcXNjcmlwdHZhbHVlaXRl
cmF0b3IucHJvCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MzE0ZWM5Li4wMDAwMDAw
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0dmFsdWVpdGVyYXRv
ci9xc2NyaXB0dmFsdWVpdGVyYXRvci5wcm8KKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAK
LVRFTVBMQVRFID0gYXBwCi1UQVJHRVQgPSB0c3RfcXNjcmlwdHZhbHVlaXRlcmF0b3IKLVFUICs9
IHRlc3RsaWIKLWluY2x1ZGUoLi4vdGVzdHMucHJpKQotCi1TT1VSQ0VTICs9IHRzdF9xc2NyaXB0
dmFsdWVpdGVyYXRvci5jcHAKLQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0
L3Rlc3RzL3FzY3JpcHR2YWx1ZWl0ZXJhdG9yL3RzdF9xc2NyaXB0dmFsdWVpdGVyYXRvci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlwdHZhbHVlaXRlcmF0b3IvdHN0
X3FzY3JpcHR2YWx1ZWl0ZXJhdG9yLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NDNkMDA0MmEuLjAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3Fz
Y3JpcHR2YWx1ZWl0ZXJhdG9yL3RzdF9xc2NyaXB0dmFsdWVpdGVyYXRvci5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSw1MzEgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEg
Q29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2lmbmRlZiB0c3Rf
cXNjcmlwdHZhbHVlaXRlcmF0b3JfaAotI2RlZmluZSB0c3RfcXNjcmlwdHZhbHVlaXRlcmF0b3Jf
aAotCi0jaW5jbHVkZSAicXNjcmlwdGVuZ2luZS5oIgotI2luY2x1ZGUgInFzY3JpcHR2YWx1ZS5o
IgotI2luY2x1ZGUgInFzY3JpcHR2YWx1ZWl0ZXJhdG9yLmgiCi0jaW5jbHVkZSA8UXRDb3JlL3Fo
YXNoLmg+Ci0jaW5jbHVkZSA8UXRUZXN0L1F0VGVzdD4KLQotY2xhc3MgdHN0X1FTY3JpcHRWYWx1
ZUl0ZXJhdG9yIDogcHVibGljIFFPYmplY3QgewotICAgIFFfT0JKRUNUCi0KLXB1YmxpYzoKLSAg
ICB0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3IoKTsKLSAgICB2aXJ0dWFsIH50c3RfUVNjcmlwdFZh
bHVlSXRlcmF0b3IoKTsKLQotcHJpdmF0ZSBzbG90czoKLSAgICB2b2lkIGl0ZXJhdGVGb3J3YXJk
X2RhdGEoKTsKLSAgICB2b2lkIGl0ZXJhdGVGb3J3YXJkKCk7Ci0gICAgdm9pZCBpdGVyYXRlQmFj
a3dhcmRfZGF0YSgpOwotICAgIHZvaWQgaXRlcmF0ZUJhY2t3YXJkKCk7Ci0gICAgdm9pZCBpdGVy
YXRlQXJyYXlfZGF0YSgpOwotICAgIHZvaWQgaXRlcmF0ZUFycmF5KCk7Ci0gICAgdm9pZCBpdGVy
YXRlQmFja0FuZEZvcnRoKCk7Ci0gICAgdm9pZCBzZXRWYWx1ZSgpOwotICAgIHZvaWQgcmVtb3Zl
KCk7Ci0gICAgdm9pZCByZW1vdmVNaXhlZCgpOwotICAgIHZvaWQgcmVtb3ZlVW5kZWxldGFibGUo
KTsKLSAgICB2b2lkIGl0ZXJhdGVTdHJpbmcoKTsKLSAgICB2b2lkIGFzc2lnbk9iamVjdFRvSXRl
cmF0b3IoKTsKLX07Ci0KLXRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6dHN0X1FTY3JpcHRWYWx1
ZUl0ZXJhdG9yKCkKLXsKLX0KLQotdHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9yOjp+dHN0X1FTY3Jp
cHRWYWx1ZUl0ZXJhdG9yKCkKLXsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3I6
Oml0ZXJhdGVGb3J3YXJkX2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVN0cmluZ0xp
c3Q+KCJwcm9wZXJ0eU5hbWVzIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU3RyaW5nTGlzdD4o
InByb3BlcnR5VmFsdWVzIik7Ci0KLSAgICBRVGVzdDo6bmV3Um93KCJubyBwcm9wZXJ0aWVzIikK
LSAgICAgICAgPDwgUVN0cmluZ0xpc3QoKSA8PCBRU3RyaW5nTGlzdCgpOwotICAgIFFUZXN0Ojpu
ZXdSb3coImZvbz1iYXIiKQotICAgICAgICA8PCAoUVN0cmluZ0xpc3QoKSA8PCAiZm9vIikKLSAg
ICAgICAgPDwgKFFTdHJpbmdMaXN0KCkgPDwgImJhciIpOwotICAgIFFUZXN0OjpuZXdSb3coImZv
bz1iYXIsIGJhej0xMjMiKQotICAgICAgICA8PCAoUVN0cmluZ0xpc3QoKSA8PCAiZm9vIiA8PCAi
YmF6IikKLSAgICAgICAgPDwgKFFTdHJpbmdMaXN0KCkgPDwgImJhciIgPDwgIjEyMyIpOwotICAg
IFFUZXN0OjpuZXdSb3coImZvbz1iYXIsIGJhej0xMjMsIHJhYj1vb2YiKQotICAgICAgICA8PCAo
UVN0cmluZ0xpc3QoKSA8PCAiZm9vIiA8PCAiYmF6IiA8PCAicmFiIikKLSAgICAgICAgPDwgKFFT
dHJpbmdMaXN0KCkgPDwgImJhciIgPDwgIjEyMyIgPDwgIm9vZiIpOwotfQotCi12b2lkIHRzdF9R
U2NyaXB0VmFsdWVJdGVyYXRvcjo6aXRlcmF0ZUZvcndhcmQoKQotewotICAgIFFGRVRDSChRU3Ry
aW5nTGlzdCwgcHJvcGVydHlOYW1lcyk7Ci0gICAgUUZFVENIKFFTdHJpbmdMaXN0LCBwcm9wZXJ0
eVZhbHVlcyk7Ci0gICAgUU1hcDxRU3RyaW5nLCBRU3RyaW5nPiBwbWFwOwotICAgIFFfQVNTRVJU
KHByb3BlcnR5TmFtZXMuc2l6ZSgpID09IHByb3BlcnR5VmFsdWVzLnNpemUoKSk7Ci0KLSAgICBR
U2NyaXB0RW5naW5lIGVuZ2luZTsKLSAgICBRU2NyaXB0VmFsdWUgb2JqZWN0ID0gZW5naW5lLm5l
d09iamVjdCgpOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lcy5zaXplKCk7
ICsraSkgewotICAgICAgICBRU3RyaW5nIG5hbWUgPSBwcm9wZXJ0eU5hbWVzLmF0KGkpOwotICAg
ICAgICBRU3RyaW5nIHZhbHVlID0gcHJvcGVydHlWYWx1ZXMuYXQoaSk7Ci0gICAgICAgIHBtYXAu
aW5zZXJ0KG5hbWUsIHZhbHVlKTsKLSAgICAgICAgb2JqZWN0LnNldFByb3BlcnR5KG5hbWUsIFFT
Y3JpcHRWYWx1ZSgmZW5naW5lLCB2YWx1ZSkpOwotICAgIH0KLSAgICBRU2NyaXB0VmFsdWUgb3Ro
ZXJPYmplY3QgPSBlbmdpbmUubmV3T2JqZWN0KCk7Ci0gICAgb3RoZXJPYmplY3Quc2V0UHJvcGVy
dHkoImZvbyIsIFFTY3JpcHRWYWx1ZSgmZW5naW5lLCAxMjM0NTYpKTsKLSAgICBvdGhlck9iamVj
dC5zZXRQcm9wZXJ0eSgicHJvdG9Qcm9wZXJ0eSIsIFFTY3JpcHRWYWx1ZSgmZW5naW5lLCA2NTQz
MjEpKTsKLSAgICBvYmplY3Quc2V0UHJvdG90eXBlKG90aGVyT2JqZWN0KTsgLy8gc2hvdWxkIG5v
dCBhZmZlY3QgaXRlcmF0b3IKLQotICAgIFFTdHJpbmdMaXN0IGxzdDsKLSAgICBRU2NyaXB0VmFs
dWVJdGVyYXRvciBpdChvYmplY3QpOwotICAgIHdoaWxlICghcG1hcC5pc0VtcHR5KCkpIHsKLSAg
ICAgICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoaXQu
aGFzTmV4dCgpLCB0cnVlKTsKLSAgICAgICAgaXQubmV4dCgpOwotICAgICAgICBRU3RyaW5nIG5h
bWUgPSBpdC5uYW1lKCk7Ci0gICAgICAgIFFDT01QQVJFKHBtYXAuY29udGFpbnMobmFtZSksIHRy
dWUpOwotICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIG5hbWUpOwotICAgICAgICBRQ09NUEFS
RShpdC5mbGFncygpLCBvYmplY3QucHJvcGVydHlGbGFncyhuYW1lKSk7Ci0gICAgICAgIFFDT01Q
QVJFKGl0LnZhbHVlKCkuc3RyaWN0bHlFcXVhbHMoUVNjcmlwdFZhbHVlKCZlbmdpbmUsIHBtYXAu
dmFsdWUobmFtZSkpKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGl0LnNjcmlwdE5hbWUoKSwg
ZW5naW5lLnRvU3RyaW5nSGFuZGxlKG5hbWUpKTsKLSAgICAgICAgcG1hcC5yZW1vdmUobmFtZSk7
Ci0gICAgICAgIGxzdC5hcHBlbmQobmFtZSk7Ci0gICAgfQotCi0gICAgUUNPTVBBUkUoaXQuaGFz
TmV4dCgpLCBmYWxzZSk7Ci0gICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCBmYWxzZSk7Ci0KLSAg
ICBpdC50b0Zyb250KCk7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsc3QuY291bnQoKTsgKytp
KSB7Ci0gICAgICAgIFFDT01QQVJFKGl0Lmhhc05leHQoKSwgdHJ1ZSk7Ci0gICAgICAgIGl0Lm5l
eHQoKTsKLSAgICAgICAgUUNPTVBBUkUoaXQubmFtZSgpLCBsc3QuYXQoaSkpOwotICAgIH0KLQot
ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbHN0LmNvdW50KCk7ICsraSkgewotICAgICAgICBRQ09N
UEFSRShpdC5oYXNQcmV2aW91cygpLCB0cnVlKTsKLSAgICAgICAgaXQucHJldmlvdXMoKTsKLSAg
ICAgICAgUUNPTVBBUkUoaXQubmFtZSgpLCBsc3QuYXQobHN0LmNvdW50KCktMS1pKSk7Ci0gICAg
fQotICAgIFFDT01QQVJFKGl0Lmhhc1ByZXZpb3VzKCksIGZhbHNlKTsKLX0KLQotdm9pZCB0c3Rf
UVNjcmlwdFZhbHVlSXRlcmF0b3I6Oml0ZXJhdGVCYWNrd2FyZF9kYXRhKCkKLXsKLSAgICBpdGVy
YXRlRm9yd2FyZF9kYXRhKCk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9yOjpp
dGVyYXRlQmFja3dhcmQoKQotewotICAgIFFGRVRDSChRU3RyaW5nTGlzdCwgcHJvcGVydHlOYW1l
cyk7Ci0gICAgUUZFVENIKFFTdHJpbmdMaXN0LCBwcm9wZXJ0eVZhbHVlcyk7Ci0gICAgUU1hcDxR
U3RyaW5nLCBRU3RyaW5nPiBwbWFwOwotICAgIFFfQVNTRVJUKHByb3BlcnR5TmFtZXMuc2l6ZSgp
ID09IHByb3BlcnR5VmFsdWVzLnNpemUoKSk7Ci0KLSAgICBRU2NyaXB0RW5naW5lIGVuZ2luZTsK
LSAgICBRU2NyaXB0VmFsdWUgb2JqZWN0ID0gZW5naW5lLm5ld09iamVjdCgpOwotICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lcy5zaXplKCk7ICsraSkgewotICAgICAgICBRU3Ry
aW5nIG5hbWUgPSBwcm9wZXJ0eU5hbWVzLmF0KGkpOwotICAgICAgICBRU3RyaW5nIHZhbHVlID0g
cHJvcGVydHlWYWx1ZXMuYXQoaSk7Ci0gICAgICAgIHBtYXAuaW5zZXJ0KG5hbWUsIHZhbHVlKTsK
LSAgICAgICAgb2JqZWN0LnNldFByb3BlcnR5KG5hbWUsIFFTY3JpcHRWYWx1ZSgmZW5naW5lLCB2
YWx1ZSkpOwotICAgIH0KLQotICAgIFFTdHJpbmdMaXN0IGxzdDsKLSAgICBRU2NyaXB0VmFsdWVJ
dGVyYXRvciBpdChvYmplY3QpOwotICAgIGl0LnRvQmFjaygpOwotICAgIHdoaWxlICghcG1hcC5p
c0VtcHR5KCkpIHsKLSAgICAgICAgUUNPTVBBUkUoaXQuaGFzUHJldmlvdXMoKSwgdHJ1ZSk7Ci0g
ICAgICAgIFFDT01QQVJFKGl0Lmhhc1ByZXZpb3VzKCksIHRydWUpOwotICAgICAgICBpdC5wcmV2
aW91cygpOwotICAgICAgICBRU3RyaW5nIG5hbWUgPSBpdC5uYW1lKCk7Ci0gICAgICAgIFFDT01Q
QVJFKHBtYXAuY29udGFpbnMobmFtZSksIHRydWUpOwotICAgICAgICBRQ09NUEFSRShpdC5uYW1l
KCksIG5hbWUpOwotICAgICAgICBRQ09NUEFSRShpdC5mbGFncygpLCBvYmplY3QucHJvcGVydHlG
bGFncyhuYW1lKSk7Ci0gICAgICAgIFFDT01QQVJFKGl0LnZhbHVlKCkuc3RyaWN0bHlFcXVhbHMo
UVNjcmlwdFZhbHVlKCZlbmdpbmUsIHBtYXAudmFsdWUobmFtZSkpKSwgdHJ1ZSk7Ci0gICAgICAg
IHBtYXAucmVtb3ZlKG5hbWUpOwotICAgICAgICBsc3QuYXBwZW5kKG5hbWUpOwotICAgIH0KLQot
ICAgIFFDT01QQVJFKGl0Lmhhc1ByZXZpb3VzKCksIGZhbHNlKTsKLSAgICBRQ09NUEFSRShpdC5o
YXNQcmV2aW91cygpLCBmYWxzZSk7Ci0KLSAgICBpdC50b0JhY2soKTsKLSAgICBmb3IgKGludCBp
ID0gMDsgaSA8IGxzdC5jb3VudCgpOyArK2kpIHsKLSAgICAgICAgUUNPTVBBUkUoaXQuaGFzUHJl
dmlvdXMoKSwgdHJ1ZSk7Ci0gICAgICAgIGl0LnByZXZpb3VzKCk7Ci0gICAgICAgIFFDT01QQVJF
KGl0Lm5hbWUoKSwgbHN0LmF0KGkpKTsKLSAgICB9Ci0KLSAgICBmb3IgKGludCBpID0gMDsgaSA8
IGxzdC5jb3VudCgpOyArK2kpIHsKLSAgICAgICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCB0cnVl
KTsKLSAgICAgICAgaXQubmV4dCgpOwotICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIGxzdC5h
dChsc3QuY291bnQoKS0xLWkpKTsKLSAgICB9Ci0gICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCBm
YWxzZSk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9yOjppdGVyYXRlQXJyYXlf
ZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU3RyaW5nTGlzdD4oImlucHV0UHJvcGVy
dHlOYW1lcyIpOwotICAgIFFUZXN0OjphZGRDb2x1bW48UVN0cmluZ0xpc3Q+KCJpbnB1dFByb3Bl
cnR5VmFsdWVzIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU3RyaW5nTGlzdD4oInByb3BlcnR5
TmFtZXMiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTdHJpbmdMaXN0PigicHJvcGVydHlWYWx1
ZXMiKTsKLSAgICBRVGVzdDo6bmV3Um93KCJubyBlbGVtZW50cyIpIDw8IFFTdHJpbmdMaXN0KCkg
PDwgUVN0cmluZ0xpc3QoKSA8PCBRU3RyaW5nTGlzdCgpIDw8IFFTdHJpbmdMaXN0KCk7Ci0KLSAg
ICBRVGVzdDo6bmV3Um93KCIwPWZvbywgMT1iYXJyIikKLSAgICAgICAgPDwgKFFTdHJpbmdMaXN0
KCkgPDwgIjAiIDw8ICIxIikKLSAgICAgICAgPDwgKFFTdHJpbmdMaXN0KCkgPDwgImZvbyIgPDwg
ImJhciIpCi0gICAgICAgIDw8IChRU3RyaW5nTGlzdCgpIDw8ICIwIiA8PCAiMSIpCi0gICAgICAg
IDw8IChRU3RyaW5nTGlzdCgpIDw8ICJmb28iIDw8ICJiYXIiKTsKLQotICAgIFFUZXN0OjpuZXdS
b3coIjA9Zm9vLCAzPWJhcnIiKQotICAgICAgICA8PCAoUVN0cmluZ0xpc3QoKSA8PCAiMCIgPDwg
IjEiIDw8ICIyIiA8PCAiMyIpCi0gICAgICAgIDw8IChRU3RyaW5nTGlzdCgpIDw8ICJmb28iIDw8
ICIiIDw8ICIiIDw8ICJiYXIiKQotICAgICAgICA8PCAoUVN0cmluZ0xpc3QoKSA8PCAiMCIgPDwg
IjEiIDw8ICIyIiA8PCAiMyIpCi0gICAgICAgIDw8IChRU3RyaW5nTGlzdCgpIDw8ICJmb28iIDw8
ICIiIDw8ICIiIDw8ICJiYXIiKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3I6
Oml0ZXJhdGVBcnJheSgpCi17Ci0gICAgUUZFVENIKFFTdHJpbmdMaXN0LCBpbnB1dFByb3BlcnR5
TmFtZXMpOwotICAgIFFGRVRDSChRU3RyaW5nTGlzdCwgaW5wdXRQcm9wZXJ0eVZhbHVlcyk7Ci0g
ICAgUUZFVENIKFFTdHJpbmdMaXN0LCBwcm9wZXJ0eU5hbWVzKTsKLSAgICBRRkVUQ0goUVN0cmlu
Z0xpc3QsIHByb3BlcnR5VmFsdWVzKTsKLQotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwotICAg
IFFTY3JpcHRWYWx1ZSBhcnJheSA9IGVuZ2luZS5uZXdBcnJheSgpOwotICAgIGZvciAoaW50IGkg
PSAwOyBpIDwgaW5wdXRQcm9wZXJ0eU5hbWVzLnNpemUoKTsgKytpKQotICAgICAgICBhcnJheS5z
ZXRQcm9wZXJ0eShpbnB1dFByb3BlcnR5TmFtZXMuYXQoaSksIGlucHV0UHJvcGVydHlWYWx1ZXMu
YXQoaSkpOwotCi0gICAgaW50IGxlbmd0aCA9IGFycmF5LnByb3BlcnR5KCJsZW5ndGgiKS50b0lu
dDMyKCk7Ci0gICAgUUNPTVBBUkUobGVuZ3RoLCBwcm9wZXJ0eU5hbWVzLnNpemUoKSk7Ci0gICAg
UVNjcmlwdFZhbHVlSXRlcmF0b3IgaXQoYXJyYXkpOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
bGVuZ3RoOyArK2kpIHsKLSAgICAgICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCB0cnVlKTsKLSAg
ICAgICAgaXQubmV4dCgpOwotICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIHByb3BlcnR5TmFt
ZXMuYXQoaSkpOwotICAgICAgICBRQ09NUEFSRShpdC5mbGFncygpLCBhcnJheS5wcm9wZXJ0eUZs
YWdzKHByb3BlcnR5TmFtZXMuYXQoaSkpKTsKLSAgICAgICAgUVZFUklGWShpdC52YWx1ZSgpLnN0
cmljdGx5RXF1YWxzKGFycmF5LnByb3BlcnR5KHByb3BlcnR5TmFtZXMuYXQoaSkpKSk7Ci0gICAg
ICAgIFFDT01QQVJFKGl0LnZhbHVlKCkudG9TdHJpbmcoKSwgcHJvcGVydHlWYWx1ZXMuYXQoaSkp
OwotICAgIH0KLSAgICBRVkVSSUZZKGl0Lmhhc05leHQoKSk7Ci0gICAgaXQubmV4dCgpOwotICAg
IFFDT01QQVJFKGl0Lm5hbWUoKSwgUVN0cmluZzo6ZnJvbUxhdGluMSgibGVuZ3RoIikpOwotICAg
IFFWRVJJRlkoaXQudmFsdWUoKS5pc051bWJlcigpKTsKLSAgICBRQ09NUEFSRShpdC52YWx1ZSgp
LnRvSW50MzIoKSwgbGVuZ3RoKTsKLSAgICBRQ09NUEFSRShpdC5mbGFncygpLCBRU2NyaXB0VmFs
dWU6OlByb3BlcnR5RmxhZ3MoUVNjcmlwdFZhbHVlOjpTa2lwSW5FbnVtZXJhdGlvbiB8IFFTY3Jp
cHRWYWx1ZTo6VW5kZWxldGFibGUpKTsKLQotICAgIGl0LnByZXZpb3VzKCk7Ci0gICAgUUNPTVBB
UkUoaXQuaGFzUHJldmlvdXMoKSwgbGVuZ3RoID4gMCk7Ci0gICAgZm9yIChpbnQgaSA9IGxlbmd0
aCAtIDE7IGkgPj0gMDsgLS1pKSB7Ci0gICAgICAgIGl0LnByZXZpb3VzKCk7Ci0gICAgICAgIFFD
T01QQVJFKGl0Lm5hbWUoKSwgcHJvcGVydHlOYW1lcy5hdChpKSk7Ci0gICAgICAgIFFDT01QQVJF
KGl0LmZsYWdzKCksIGFycmF5LnByb3BlcnR5RmxhZ3MocHJvcGVydHlOYW1lcy5hdChpKSkpOwot
ICAgICAgICBRVkVSSUZZKGl0LnZhbHVlKCkuc3RyaWN0bHlFcXVhbHMoYXJyYXkucHJvcGVydHko
cHJvcGVydHlOYW1lcy5hdChpKSkpKTsKLSAgICAgICAgUUNPTVBBUkUoaXQudmFsdWUoKS50b1N0
cmluZygpLCBwcm9wZXJ0eVZhbHVlcy5hdChpKSk7Ci0gICAgICAgIFFDT01QQVJFKGl0Lmhhc1By
ZXZpb3VzKCksIGkgPiAwKTsKLSAgICB9Ci0gICAgUUNPTVBBUkUoaXQuaGFzUHJldmlvdXMoKSwg
ZmFsc2UpOwotCi0gICAgLy8gaGFzTmV4dCgpIGFuZCBoYXNQcmV2aW91cygpIGNhY2hlIHRoZWly
IHJlc3VsdDsgdmVyaWZ5IHRoYXQgdGhlIHJlc3VsdCBpcyBpbiBzeW5jCi0gICAgaWYgKGxlbmd0
aCA+IDEpIHsKLSAgICAgICAgUVZFUklGWShpdC5oYXNOZXh0KCkpOwotICAgICAgICBpdC5uZXh0
KCk7Ci0gICAgICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwgUVN0cmluZzo6ZnJvbUxhdGluMSgiMCIp
KTsKLSAgICAgICAgUVZFUklGWShpdC5oYXNOZXh0KCkpOwotICAgICAgICBpdC5wcmV2aW91cygp
OwotICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIFFTdHJpbmc6OmZyb21MYXRpbjEoIjAiKSk7
Ci0gICAgICAgIFFWRVJJRlkoIWl0Lmhhc1ByZXZpb3VzKCkpOwotICAgICAgICBpdC5uZXh0KCk7
Ci0gICAgICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwgUVN0cmluZzo6ZnJvbUxhdGluMSgiMCIpKTsK
LSAgICAgICAgUVZFUklGWShpdC5oYXNQcmV2aW91cygpKTsKLSAgICAgICAgaXQubmV4dCgpOwot
ICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIFFTdHJpbmc6OmZyb21MYXRpbjEoIjEiKSk7Ci0g
ICAgfQotICAgIHsKLSAgICAgICAgLy8gc2FtZSB0ZXN0IGFzIG9iamVjdDoKLSAgICAgICAgUVNj
cmlwdFZhbHVlIG9yaWdpbmFsQXJyYXkgPSBlbmdpbmUubmV3QXJyYXkoKTsKLSAgICAgICAgZm9y
IChpbnQgaSA9IDA7IGkgPCBpbnB1dFByb3BlcnR5TmFtZXMuc2l6ZSgpOyArK2kpCi0gICAgICAg
ICAgICBvcmlnaW5hbEFycmF5LnNldFByb3BlcnR5KGlucHV0UHJvcGVydHlOYW1lcy5hdChpKSwg
aW5wdXRQcm9wZXJ0eVZhbHVlcy5hdChpKSk7Ci0KLSAgICAgICAgUVNjcmlwdFZhbHVlIGFycmF5
ID0gb3JpZ2luYWxBcnJheS50b09iamVjdCgpOwotICAgICAgICBpbnQgbGVuZ3RoID0gYXJyYXku
cHJvcGVydHkoImxlbmd0aCIpLnRvSW50MzIoKTsKLSAgICAgICAgUUNPTVBBUkUobGVuZ3RoLCBw
cm9wZXJ0eU5hbWVzLnNpemUoKSk7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yIGl0KGFy
cmF5KTsKLSAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewotICAgICAg
ICAgICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCB0cnVlKTsKLSAgICAgICAgICAgIGl0Lm5leHQo
KTsKLSAgICAgICAgICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwgcHJvcGVydHlOYW1lcy5hdChpKSk7
Ci0gICAgICAgICAgICBRQ09NUEFSRShpdC5mbGFncygpLCBhcnJheS5wcm9wZXJ0eUZsYWdzKHBy
b3BlcnR5TmFtZXMuYXQoaSkpKTsKLSAgICAgICAgICAgIFFWRVJJRlkoaXQudmFsdWUoKS5zdHJp
Y3RseUVxdWFscyhhcnJheS5wcm9wZXJ0eShwcm9wZXJ0eU5hbWVzLmF0KGkpKSkpOwotICAgICAg
ICAgICAgUUNPTVBBUkUoaXQudmFsdWUoKS50b1N0cmluZygpLCBwcm9wZXJ0eVZhbHVlcy5hdChp
KSk7Ci0gICAgICAgIH0KLSAgICAgICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCB0cnVlKTsKLSAg
ICAgICAgaXQubmV4dCgpOwotICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIFFTdHJpbmc6OmZy
b21MYXRpbjEoImxlbmd0aCIpKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZUl0
ZXJhdG9yOjppdGVyYXRlQmFja0FuZEZvcnRoKCkKLXsKLSAgICBRU2NyaXB0RW5naW5lIGVuZ2lu
ZTsKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBvYmplY3QgPSBlbmdpbmUubmV3T2JqZWN0
KCk7Ci0gICAgICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgiZm9vIiwgUVNjcmlwdFZhbHVlKCZlbmdp
bmUsICJiYXIiKSk7Ci0gICAgICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgicmFiIiwgUVNjcmlwdFZh
bHVlKCZlbmdpbmUsICJvb2YiKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIFFTY3JpcHRW
YWx1ZTo6U2tpcEluRW51bWVyYXRpb24pOyAvLyBzaG91bGQgbm90IGFmZmVjdCBpdGVyYXRvcgot
ICAgICAgICBRU2NyaXB0VmFsdWVJdGVyYXRvciBpdChvYmplY3QpOwotICAgICAgICBRVkVSSUZZ
KGl0Lmhhc05leHQoKSk7Ci0gICAgICAgIGl0Lm5leHQoKTsKLSAgICAgICAgUUNPTVBBUkUoaXQu
bmFtZSgpLCBRTGF0aW4xU3RyaW5nKCJmb28iKSk7Ci0gICAgICAgIFFWRVJJRlkoaXQuaGFzUHJl
dmlvdXMoKSk7Ci0gICAgICAgIGl0LnByZXZpb3VzKCk7Ci0gICAgICAgIFFDT01QQVJFKGl0Lm5h
bWUoKSwgUUxhdGluMVN0cmluZygiZm9vIikpOwotICAgICAgICBRVkVSSUZZKGl0Lmhhc05leHQo
KSk7Ci0gICAgICAgIGl0Lm5leHQoKTsKLSAgICAgICAgUUNPTVBBUkUoaXQubmFtZSgpLCBRTGF0
aW4xU3RyaW5nKCJmb28iKSk7Ci0gICAgICAgIFFWRVJJRlkoaXQuaGFzUHJldmlvdXMoKSk7Ci0g
ICAgICAgIGl0LnByZXZpb3VzKCk7Ci0gICAgICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwgUUxhdGlu
MVN0cmluZygiZm9vIikpOwotICAgICAgICBRVkVSSUZZKGl0Lmhhc05leHQoKSk7Ci0gICAgICAg
IGl0Lm5leHQoKTsKLSAgICAgICAgUUNPTVBBUkUoaXQubmFtZSgpLCBRTGF0aW4xU3RyaW5nKCJm
b28iKSk7Ci0gICAgICAgIFFWRVJJRlkoaXQuaGFzTmV4dCgpKTsKLSAgICAgICAgaXQubmV4dCgp
OwotICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIFFMYXRpbjFTdHJpbmcoInJhYiIpKTsKLSAg
ICAgICAgUVZFUklGWShpdC5oYXNQcmV2aW91cygpKTsKLSAgICAgICAgaXQucHJldmlvdXMoKTsK
LSAgICAgICAgUUNPTVBBUkUoaXQubmFtZSgpLCBRTGF0aW4xU3RyaW5nKCJyYWIiKSk7Ci0gICAg
ICAgIFFWRVJJRlkoaXQuaGFzTmV4dCgpKTsKLSAgICAgICAgaXQubmV4dCgpOwotICAgICAgICBR
Q09NUEFSRShpdC5uYW1lKCksIFFMYXRpbjFTdHJpbmcoInJhYiIpKTsKLSAgICAgICAgUVZFUklG
WShpdC5oYXNQcmV2aW91cygpKTsKLSAgICAgICAgaXQucHJldmlvdXMoKTsKLSAgICAgICAgUUNP
TVBBUkUoaXQubmFtZSgpLCBRTGF0aW4xU3RyaW5nKCJyYWIiKSk7Ci0gICAgfQotICAgIHsKLSAg
ICAgICAgLy8gaGFzTmV4dCgpIGFuZCBoYXNQcmV2aW91cygpIGNhY2hlIHRoZWlyIHJlc3VsdDsg
dmVyaWZ5IHRoYXQgdGhlIHJlc3VsdCBpcyBpbiBzeW5jCi0gICAgICAgIFFTY3JpcHRWYWx1ZSBv
YmplY3QgPSBlbmdpbmUubmV3T2JqZWN0KCk7Ci0gICAgICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgi
Zm9vIiwgUVNjcmlwdFZhbHVlKCZlbmdpbmUsICJiYXIiKSk7Ci0gICAgICAgIG9iamVjdC5zZXRQ
cm9wZXJ0eSgicmFiIiwgUVNjcmlwdFZhbHVlKCZlbmdpbmUsICJvb2YiKSk7Ci0gICAgICAgIFFT
Y3JpcHRWYWx1ZUl0ZXJhdG9yIGl0KG9iamVjdCk7Ci0gICAgICAgIFFWRVJJRlkoaXQuaGFzTmV4
dCgpKTsKLSAgICAgICAgaXQubmV4dCgpOwotICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIFFT
dHJpbmc6OmZyb21MYXRpbjEoImZvbyIpKTsKLSAgICAgICAgUVZFUklGWShpdC5oYXNOZXh0KCkp
OwotICAgICAgICBpdC5wcmV2aW91cygpOwotICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIFFT
dHJpbmc6OmZyb21MYXRpbjEoImZvbyIpKTsKLSAgICAgICAgUVZFUklGWSghaXQuaGFzUHJldmlv
dXMoKSk7Ci0gICAgICAgIGl0Lm5leHQoKTsKLSAgICAgICAgUUNPTVBBUkUoaXQubmFtZSgpLCBR
U3RyaW5nOjpmcm9tTGF0aW4xKCJmb28iKSk7Ci0gICAgICAgIFFWRVJJRlkoaXQuaGFzUHJldmlv
dXMoKSk7Ci0gICAgICAgIGl0Lm5leHQoKTsKLSAgICAgICAgUUNPTVBBUkUoaXQubmFtZSgpLCBR
U3RyaW5nOjpmcm9tTGF0aW4xKCJyYWIiKSk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0
VmFsdWVJdGVyYXRvcjo6c2V0VmFsdWUoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwot
ICAgIFFTY3JpcHRWYWx1ZSBvYmplY3QgPSBlbmdpbmUubmV3T2JqZWN0KCk7Ci0gICAgb2JqZWN0
LnNldFByb3BlcnR5KCJmb28iLCBRU2NyaXB0VmFsdWUoJmVuZ2luZSwgImJhciIpKTsKLSAgICBR
U2NyaXB0VmFsdWVJdGVyYXRvciBpdChvYmplY3QpOwotICAgIGl0Lm5leHQoKTsKLSAgICBRQ09N
UEFSRShpdC5uYW1lKCksIFFMYXRpbjFTdHJpbmcoImZvbyIpKTsKLSAgICBpdC5zZXRWYWx1ZShR
U2NyaXB0VmFsdWUoJmVuZ2luZSwgImJheiIpKTsKLSAgICBRQ09NUEFSRShpdC52YWx1ZSgpLnN0
cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1ZSgmZW5naW5lLCBRTGF0aW4xU3RyaW5nKCJiYXoiKSkp
LCB0cnVlKTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVydHkoImZvbyIpLnRvU3RyaW5nKCks
IFFMYXRpbjFTdHJpbmcoImJheiIpKTsKLSAgICBpdC5zZXRWYWx1ZShRU2NyaXB0VmFsdWUoJmVu
Z2luZSwgInphYiIpKTsKLSAgICBRQ09NUEFSRShpdC52YWx1ZSgpLnN0cmljdGx5RXF1YWxzKFFT
Y3JpcHRWYWx1ZSgmZW5naW5lLCBRTGF0aW4xU3RyaW5nKCJ6YWIiKSkpLCB0cnVlKTsKLSAgICBR
Q09NUEFSRShvYmplY3QucHJvcGVydHkoImZvbyIpLnRvU3RyaW5nKCksIFFMYXRpbjFTdHJpbmco
InphYiIpKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3I6OnJlbW92ZSgpCi17
Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAgUVNjcmlwdFZhbHVlIG9iamVjdCA9IGVu
Z2luZS5uZXdPYmplY3QoKTsKLSAgICBvYmplY3Quc2V0UHJvcGVydHkoImZvbyIsIFFTY3JpcHRW
YWx1ZSgmZW5naW5lLCAiYmFyIiksCi0gICAgICAgICAgICAgICAgICAgICAgIFFTY3JpcHRWYWx1
ZTo6U2tpcEluRW51bWVyYXRpb24pOyAvLyBzaG91bGQgbm90IGFmZmVjdCBpdGVyYXRvcgotICAg
IG9iamVjdC5zZXRQcm9wZXJ0eSgicmFiIiwgUVNjcmlwdFZhbHVlKCZlbmdpbmUsICJvb2YiKSk7
Ci0gICAgUVNjcmlwdFZhbHVlSXRlcmF0b3IgaXQob2JqZWN0KTsKLSAgICBpdC5uZXh0KCk7Ci0g
ICAgUUNPTVBBUkUoaXQubmFtZSgpLCBRTGF0aW4xU3RyaW5nKCJmb28iKSk7Ci0gICAgaXQucmVt
b3ZlKCk7Ci0gICAgUUNPTVBBUkUoaXQuaGFzUHJldmlvdXMoKSwgZmFsc2UpOwotICAgIFFDT01Q
QVJFKG9iamVjdC5wcm9wZXJ0eSgiZm9vIikuaXNWYWxpZCgpLCBmYWxzZSk7Ci0gICAgUUNPTVBB
UkUob2JqZWN0LnByb3BlcnR5KCJyYWIiKS50b1N0cmluZygpLCBRTGF0aW4xU3RyaW5nKCJvb2Yi
KSk7Ci0gICAgaXQubmV4dCgpOwotICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwgUUxhdGluMVN0cmlu
ZygicmFiIikpOwotICAgIFFDT01QQVJFKGl0LnZhbHVlKCkudG9TdHJpbmcoKSwgUUxhdGluMVN0
cmluZygib29mIikpOwotICAgIFFDT01QQVJFKGl0Lmhhc05leHQoKSwgZmFsc2UpOwotICAgIGl0
LnJlbW92ZSgpOwotICAgIFFDT01QQVJFKG9iamVjdC5wcm9wZXJ0eSgicmFiIikuaXNWYWxpZCgp
LCBmYWxzZSk7Ci0gICAgUUNPTVBBUkUoaXQuaGFzUHJldmlvdXMoKSwgZmFsc2UpOwotICAgIFFD
T01QQVJFKGl0Lmhhc05leHQoKSwgZmFsc2UpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWVJ
dGVyYXRvcjo6cmVtb3ZlTWl4ZWQoKQotewotICAgIC8vIFRoaXMgdGVzdCBjaGVja3MgaWYgUVNj
cmlwdFZhbHVlSXRlcmF0b3IgYmVoYWl2ZXMgY29ycmVjdGx5IGlmIGFuIG9iamVjdCdzIHByb3Bl
cnR5IGdvdCBkZWxldGVkCi0gICAgLy8gaW4gZGlmZmVyZW50IHdheS4KLSAgICBRU2NyaXB0RW5n
aW5lIGVuZ2luZTsKLSAgICBRU2NyaXB0VmFsdWUgb2JqZWN0ID0gZW5naW5lLmV2YWx1YXRlKCJv
ID0gbmV3IE9iamVjdDsgbyIpOwotICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgiYSIsIFFTY3JpcHRW
YWx1ZSgxMjQpLCBRU2NyaXB0VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uKTsKLSAgICBvYmplY3Qu
c2V0UHJvcGVydHkoImIiLCBRU2NyaXB0VmFsdWUoODE2KSk7Ci0gICAgb2JqZWN0LnNldFByb3Bl
cnR5KCJjIiwgUVNjcmlwdFZhbHVlKDMyNjQpKTsKLSAgICBRU2NyaXB0VmFsdWVJdGVyYXRvciBp
dChvYmplY3QpOwotICAgIGl0Lm5leHQoKTsKLSAgICBpdC5uZXh0KCk7Ci0gICAgUUNPTVBBUkUo
aXQubmFtZSgpLCBRTGF0aW4xU3RyaW5nKCJiIikpOwotICAgIFFDT01QQVJFKGl0Lmhhc1ByZXZp
b3VzKCksIHRydWUpOwotICAgIFFDT01QQVJFKGl0Lmhhc05leHQoKSwgdHJ1ZSk7Ci0gICAgLy8g
UmVtb3ZlICdhJwotICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgiYSIsIFFTY3JpcHRWYWx1ZSgpKTsK
LSAgICBRRVhQRUNUX0ZBSUwoIiIsICJUaGF0IHdvdWxkIGJlIGEgc2lnbmlmaWNhbnQgYmVoYXZp
b3JhbCBhbmQgcGVyZm9ybWFuY2UgY2hhbmdlLCBuZXcgUXRTY3JpcHQgQVBJIHNob3VsZCBiZSBk
ZXZlbG9wZWQgKFFUQlVHLTEyMDg3KSIsIEFib3J0KTsKLSAgICBRQ09NUEFSRShpdC5oYXNQcmV2
aW91cygpLCBmYWxzZSk7Ci0gICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCB0cnVlKTsKLSAgICAv
LyBSZW1vdmUgJ2MnCi0gICAgZW5naW5lLmV2YWx1YXRlKCJkZWxldGUgby5jIik7Ci0gICAgUUNP
TVBBUkUoaXQuaGFzUHJldmlvdXMoKSwgZmFsc2UpOwotICAgIFFDT01QQVJFKGl0Lmhhc05leHQo
KSwgZmFsc2UpOwotICAgIC8vIFJlbW92ZSAnYicKLSAgICBvYmplY3Quc2V0UHJvcGVydHkoImIi
LCBRU2NyaXB0VmFsdWUoKSk7Ci0gICAgUUNPTVBBUkUoaXQuaGFzUHJldmlvdXMoKSwgZmFsc2Up
OwotICAgIFFDT01QQVJFKGl0Lmhhc05leHQoKSwgZmFsc2UpOwotICAgIFFDT01QQVJFKGl0Lm5h
bWUoKSwgUVN0cmluZygpKTsKLSAgICBRQ09NUEFSRShpdC52YWx1ZSgpLnRvU3RyaW5nKCksIFFT
dHJpbmcoKSk7Ci0KLSAgICAvLyBUcnkgdG8gcmVtb3ZlIGEgcmVtb3ZlZCBwcm9wZXJ0eS4KLSAg
ICBpdC5yZW1vdmUoKTsKLSAgICBRQ09NUEFSRShpdC5oYXNQcmV2aW91cygpLCBmYWxzZSk7Ci0g
ICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCBmYWxzZSk7Ci0gICAgUUNPTVBBUkUoaXQubmFtZSgp
LCBRU3RyaW5nKCkpOwotICAgIFFDT01QQVJFKGl0LnZhbHVlKCkudG9TdHJpbmcoKSwgUVN0cmlu
ZygpKTsKLQotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMjsgKytpKSB7Ci0gICAgICAgIGl0Lm5l
eHQoKTsKLSAgICAgICAgUUNPTVBBUkUoaXQuaGFzUHJldmlvdXMoKSwgZmFsc2UpOwotICAgICAg
ICBRQ09NUEFSRShpdC5oYXNOZXh0KCksIGZhbHNlKTsKLSAgICAgICAgUUNPTVBBUkUoaXQubmFt
ZSgpLCBRU3RyaW5nKCkpOwotICAgICAgICBRQ09NUEFSRShpdC52YWx1ZSgpLnRvU3RyaW5nKCks
IFFTdHJpbmcoKSk7Ci0gICAgfQotCi0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCAyOyArK2kpIHsK
LSAgICAgICAgaXQucHJldmlvdXMoKTsKLSAgICAgICAgUUNPTVBBUkUoaXQuaGFzUHJldmlvdXMo
KSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRShpdC5oYXNOZXh0KCksIGZhbHNlKTsKLSAgICAg
ICAgUUNPTVBBUkUoaXQubmFtZSgpLCBRU3RyaW5nKCkpOwotICAgICAgICBRQ09NUEFSRShpdC52
YWx1ZSgpLnRvU3RyaW5nKCksIFFTdHJpbmcoKSk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2Ny
aXB0VmFsdWVJdGVyYXRvcjo6cmVtb3ZlVW5kZWxldGFibGUoKQotewotICAgIC8vIFVuZGVsZXRh
YmxlIHByb3BlcnR5IGNhbid0IGJlIGRlbGV0ZWQgdmlhIGl0ZXJhdG9yLgotICAgIFFTY3JpcHRF
bmdpbmUgZW5naW5lOwotICAgIFFTY3JpcHRWYWx1ZSBvYmplY3QgPSBlbmdpbmUuZXZhbHVhdGUo
Im8gPSBuZXcgT2JqZWN0OyBvIik7Ci0gICAgb2JqZWN0LnNldFByb3BlcnR5KCJhIiwgUVNjcmlw
dFZhbHVlKCZlbmdpbmUsIDEyNCkpOwotICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgiYiIsIFFTY3Jp
cHRWYWx1ZSgmZW5naW5lLCA4MTYpLCBRU2NyaXB0VmFsdWU6OlVuZGVsZXRhYmxlKTsKLSAgICBR
VkVSSUZZKG9iamVjdC5wcm9wZXJ0eSgiYiIpLmlzVmFsaWQoKSk7Ci0gICAgUVNjcmlwdFZhbHVl
SXRlcmF0b3IgaXQob2JqZWN0KTsKLSAgICBpdC5uZXh0KCk7Ci0gICAgaXQubmV4dCgpOwotICAg
IGl0LnJlbW92ZSgpOwotICAgIGl0LnRvRnJvbnQoKTsKLSAgICBRVkVSSUZZKGl0Lmhhc05leHQo
KSk7Ci0gICAgUVZFUklGWShvYmplY3QucHJvcGVydHkoImIiKS5pc1ZhbGlkKCkpOwotfQotCi12
b2lkIHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6aXRlcmF0ZVN0cmluZygpCi17Ci0gICAgUVNj
cmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAgUVNjcmlwdFZhbHVlIHN0ciA9IFFTY3JpcHRWYWx1ZSgm
ZW5naW5lLCBRU3RyaW5nOjpmcm9tTGF0aW4xKCJjaWFvIikpOwotICAgIFFWRVJJRlkoc3RyLmlz
U3RyaW5nKCkpOwotICAgIFFTY3JpcHRWYWx1ZSBvYmogPSBzdHIudG9PYmplY3QoKTsKLSAgICBp
bnQgbGVuZ3RoID0gb2JqLnByb3BlcnR5KCJsZW5ndGgiKS50b0ludDMyKCk7Ci0gICAgUUNPTVBB
UkUobGVuZ3RoLCA0KTsKLSAgICBRU2NyaXB0VmFsdWVJdGVyYXRvciBpdChvYmopOwotICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKLSAgICAgICAgUUNPTVBBUkUoaXQuaGFz
TmV4dCgpLCB0cnVlKTsKLSAgICAgICAgUVN0cmluZyBpbmRleFN0ciA9IFFTY3JpcHRWYWx1ZSgm
ZW5naW5lLCBpKS50b1N0cmluZygpOwotICAgICAgICBpdC5uZXh0KCk7Ci0gICAgICAgIFFDT01Q
QVJFKGl0Lm5hbWUoKSwgaW5kZXhTdHIpOwotICAgICAgICBRQ09NUEFSRShpdC5mbGFncygpLCBv
YmoucHJvcGVydHlGbGFncyhpbmRleFN0cikpOwotICAgICAgICBRQ09NUEFSRShpdC52YWx1ZSgp
LnN0cmljdGx5RXF1YWxzKG9iai5wcm9wZXJ0eShpbmRleFN0cikpLCB0cnVlKTsKLSAgICB9Ci0g
ICAgUVZFUklGWShpdC5oYXNOZXh0KCkpOwotICAgIGl0Lm5leHQoKTsKLSAgICBRQ09NUEFSRShp
dC5uYW1lKCksIFFTdHJpbmc6OmZyb21MYXRpbjEoImxlbmd0aCIpKTsKLSAgICBRVkVSSUZZKGl0
LnZhbHVlKCkuaXNOdW1iZXIoKSk7Ci0gICAgUUNPTVBBUkUoaXQudmFsdWUoKS50b0ludDMyKCks
IGxlbmd0aCk7Ci0gICAgUUNPTVBBUkUoaXQuZmxhZ3MoKSwgUVNjcmlwdFZhbHVlOjpQcm9wZXJ0
eUZsYWdzKFFTY3JpcHRWYWx1ZTo6UmVhZE9ubHkgfCBRU2NyaXB0VmFsdWU6OlNraXBJbkVudW1l
cmF0aW9uIHwgUVNjcmlwdFZhbHVlOjpVbmRlbGV0YWJsZSkpOwotCi0gICAgaXQucHJldmlvdXMo
KTsKLSAgICBRQ09NUEFSRShpdC5oYXNQcmV2aW91cygpLCBsZW5ndGggPiAwKTsKLSAgICBmb3Ig
KGludCBpID0gbGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHsKLSAgICAgICAgaXQucHJldmlvdXMo
KTsKLSAgICAgICAgUVN0cmluZyBpbmRleFN0ciA9IFFTY3JpcHRWYWx1ZSgmZW5naW5lLCBpKS50
b1N0cmluZygpOwotICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIGluZGV4U3RyKTsKLSAgICAg
ICAgUUNPTVBBUkUoaXQuZmxhZ3MoKSwgb2JqLnByb3BlcnR5RmxhZ3MoaW5kZXhTdHIpKTsKLSAg
ICAgICAgUUNPTVBBUkUoaXQudmFsdWUoKS5zdHJpY3RseUVxdWFscyhvYmoucHJvcGVydHkoaW5k
ZXhTdHIpKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGl0Lmhhc1ByZXZpb3VzKCksIGkgPiAw
KTsKLSAgICB9Ci0gICAgUUNPTVBBUkUoaXQuaGFzUHJldmlvdXMoKSwgZmFsc2UpOwotfQotCi12
b2lkIHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6YXNzaWduT2JqZWN0VG9JdGVyYXRvcigpCi17
Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmc7Ci0gICAgUVNjcmlwdFZhbHVlIG9iajEgPSBlbmcubmV3
T2JqZWN0KCk7Ci0gICAgb2JqMS5zZXRQcm9wZXJ0eSgiZm9vIiwgMTIzKTsKLSAgICBRU2NyaXB0
VmFsdWUgb2JqMiA9IGVuZy5uZXdPYmplY3QoKTsKLSAgICBvYmoyLnNldFByb3BlcnR5KCJiYXIi
LCA0NTYpOwotCi0gICAgUVNjcmlwdFZhbHVlSXRlcmF0b3IgaXQob2JqMSk7Ci0gICAgUVZFUklG
WShpdC5oYXNOZXh0KCkpOwotICAgIGl0Lm5leHQoKTsKLSAgICBpdCA9IG9iajI7Ci0gICAgUVZF
UklGWShpdC5oYXNOZXh0KCkpOwotICAgIGl0Lm5leHQoKTsKLSAgICBRQ09NUEFSRShpdC5uYW1l
KCksIFFTdHJpbmc6OmZyb21MYXRpbjEoImJhciIpKTsKLQotICAgIGl0ID0gb2JqMTsKLSAgICBR
VkVSSUZZKGl0Lmhhc05leHQoKSk7Ci0gICAgaXQubmV4dCgpOwotICAgIFFDT01QQVJFKGl0Lm5h
bWUoKSwgUVN0cmluZzo6ZnJvbUxhdGluMSgiZm9vIikpOwotCi0gICAgaXQgPSBvYmoyOwotICAg
IFFWRVJJRlkoaXQuaGFzTmV4dCgpKTsKLSAgICBpdC5uZXh0KCk7Ci0gICAgUUNPTVBBUkUoaXQu
bmFtZSgpLCBRU3RyaW5nOjpmcm9tTGF0aW4xKCJiYXIiKSk7Ci0KLSAgICBpdCA9IG9iajI7Ci0g
ICAgUVZFUklGWShpdC5oYXNOZXh0KCkpOwotICAgIGl0Lm5leHQoKTsKLSAgICBRQ09NUEFSRShp
dC5uYW1lKCksIFFTdHJpbmc6OmZyb21MYXRpbjEoImJhciIpKTsKLX0KLQotUVRFU1RfTUFJTih0
c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3IpCi0jaW5jbHVkZSAidHN0X3FzY3JpcHR2YWx1ZWl0ZXJh
dG9yLm1vYyIKLQotI2VuZGlmIC8vIHRzdF9xc2NyaXB0dmFsdWVpdGVyYXRvcl9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvdGVzdHMucHJpIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3Rlc3RzLnByaQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNWFmMzM4My4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVz
dHMvdGVzdHMucHJpCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotUU1BS0VfUlBBVEhE
SVIgPSAkJE9VVFBVVF9ESVIvbGliICQkUU1BS0VfUlBBVEhESVIKLVFNQUtFX0xJQkRJUiA9ICQk
T1VUUFVUX0RJUi9saWIgJCRRTUFLRV9MSUJESVIKLW1hYzohc3RhdGljOmNvbnRhaW5zKFFUX0NP
TkZJRywgcXRfZnJhbWV3b3JrKTohQ09ORklHKHdlYmtpdF9ub19mcmFtZXdvcmspIHsKLSAgICBM
SUJTICs9IC1mcmFtZXdvcmsgUXRTY3JpcHQKLSAgICBRTUFLRV9GUkFNRVdPUktQQVRIID0gJCRP
VVRQVVRfRElSL2xpYiAkJFFNQUtFX0ZSQU1FV09SS1BBVEgKLX0gZWxzZSB7Ci0gICAgd2luMzIt
Knx3aW5jZSogewotICAgICAgICBMSUJTICs9IC1sUXRTY3JpcHQkJHtRVF9NQUpPUl9WRVJTSU9O
fQotICAgIH0gZWxzZSB7Ci0gICAgICAgIExJQlMgKz0gLWxRdFNjcmlwdAotICAgIH0KLX0KLQot
Q09ORklHKHJlbGVhc2UsIGRlYnVnfHJlbGVhc2UpIHsKLSAgICBERUZJTkVTICs9IE5ERUJVRwot
fQotCi1JTkNMVURFUEFUSCArPSAkJFBXRC8uLi9hcGkKLQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3Rlc3RzLnBybyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9x
dC90ZXN0cy90ZXN0cy5wcm8KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkNTU1OWIu
LjAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3Rlc3RzLnBybwor
KysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVEVNUExBVEUgPSBzdWJkaXJzCi1TVUJESVJT
ID0gICBxc2NyaXB0ZW5naW5lIFwKLSAgICAgICAgICAgIHFzY3JpcHR2YWx1ZSBcCi0gICAgICAg
ICAgICBxc2NyaXB0dmFsdWVpdGVyYXRvciBcCi0gICAgICAgICAgICBxc2NyaXB0c3RyaW5nCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0LnBybyBiL1NvdXJjZS9XZWJLaXQucHJvCmluZGV4IDli
ZTBmNGEuLmQxZjAzMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQucHJvCisrKyBiL1NvdXJj
ZS9XZWJLaXQucHJvCkBAIC0yNCwxMyArMjQsNiBAQCBjb250YWlucyhRVF9DT05GSUcsIGRlY2xh
cmF0aXZlKSB7CiAKIGV4aXN0cygkJFBXRC9XZWJLaXQvcXQvdGVzdHMpOiBTVUJESVJTICs9IFdl
YktpdC9xdC90ZXN0cwogCi1idWlsZC1xdHNjcmlwdCB7Ci0gICAgU1VCRElSUyArPSBcCi0gICAg
ICAgIEphdmFTY3JpcHRDb3JlL3F0L2FwaS9RdFNjcmlwdC5wcm8gXAotICAgICAgICBKYXZhU2Ny
aXB0Q29yZS9xdC90ZXN0cyBcCi0gICAgICAgIEphdmFTY3JpcHRDb3JlL3F0L2JlbmNobWFya3MK
LX0KLQogc3ltYmlhbiB7CiAgICAgZXhpc3RzKCQkUFdEL1dlYktpdC9xdC9zeW1iaWFuL3BsYXRm
b3JtcGx1Z2luKTogU1VCRElSUyArPSBXZWJLaXQvcXQvc3ltYmlhbi9wbGF0Zm9ybXBsdWdpbgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCmluZGV4IDg3ZWFkMDMuLjc3ZjYxYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTEtMDctMDggIEplZHJ6ZWogTm93YWNraSAgPGplZHJ6ZWoubm93YWNr
aUBub2tpYS5jb20+CisKKyAgICAgICAgUmVtb3ZlIFF0U2NyaXB0IHNvdXJjZSBjb2RlIGZyb20g
V2ViS2l0LgorCisgICAgICAgIEl0IHdhcyBub3QgcG9zc2libGUgdG8gaW1wbGVtZW50IFF0U2Ny
aXB0IG9uIHRvcCBvZiBKU0MgQyBBUEksCisgICAgICAgIGJlY2F1c2Ugb2YgY29tcGF0aWJpbGl0
eSBhbmQgcGVyZm9ybWFuY2UgaXNzdWVzLgorCisgICAgICAgIFJlbW92ZSBRdFNjcmlwdCBjb2Rl
IGZyb20gV2ViS2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NDA4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogUXRXZWJLaXQucHJvOgorCiAyMDExLTA3LTA1ICBSYWZhZWwgQnJhbmRhbyAgPHJhZmFl
bC5sb2JvQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgW1F0XSBGaXggdHN0X1FXZWJGcmFtZTo6
c2V0SHRtbFdpdGhSZXNvdXJjZSgpIEFQSSB0ZXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3F0L1F0V2ViS2l0LnBybyBiL1NvdXJjZS9XZWJLaXQvcXQvUXRXZWJLaXQucHJvCmluZGV4IDZj
MGQ0ODcuLjhiMDdlMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvUXRXZWJLaXQucHJv
CisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvUXRXZWJLaXQucHJvCkBAIC04NSw3ICs4NSw3IEBAIENP
TkZJRyhyZWxlYXNlKTohQ09ORklHKHN0YW5kYWxvbmVfcGFja2FnZSkgewogQ09ORklHKFFURElS
X2J1aWxkKSB7CiAgICAgaW5jbHVkZSgkJFFUX1NPVVJDRV9UUkVFL3NyYy9xYmFzZS5wcmkpCiAg
ICAgIyBUaGUgZm9sbG93aW5nIGxpbmVzIGFyZSB0byBwcmV2ZW50IHFtYWtlIGZyb20gYWRkaW5n
IHRoZSBqc2NvcmUsIHdlYmNvcmUgYW5kIHdlYmtpdDIgbGlicyB0byBsaWJRdFdlYktpdCdzIHBy
bCBkZXBlbmRlbmNpZXMuCi0gICAgIyBUaGUgY29tcHJvbWlzZSB3ZSBoYXZlIHRvIGFjY2VwdCBi
eSBkaXNhYmxpbmcgZXhwbGljaXRsaWIgaXMgdG8gZHJvcCBzdXBwb3J0IHRvIGxpbmsgUXRXZWJL
aXQgYW5kIFF0U2NyaXB0CisgICAgIyBUaGUgY29tcHJvbWlzZSB3ZSBoYXZlIHRvIGFjY2VwdCBi
eSBkaXNhYmxpbmcgZXhwbGljaXRsaWIgaXMgdG8gZHJvcCBzdXBwb3J0IHRvIGxpbmsgUXRXZWJL
aXQKICAgICAjIHN0YXRpY2FsbHkgaW4gYXBwbGljYXRpb25zICh3aGljaCBpc24ndCB1c2VkIG9m
dGVuIGJlY2F1c2UsIGFtb25nIG90aGVyIHRoaW5ncywgb2YgbGljZW5zaW5nIG9ic3RhY2xlcyku
CiAgICAgQ09ORklHIC09IGV4cGxpY2l0bGliCiAgICAgQ09ORklHIC09IHN0YXRpY2xpYgpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY3M2E2Y2Uu
LjFkMjVjM2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wNy0wOCAgSmVkcnplaiBOb3dhY2tpICA8amVkcnpl
ai5ub3dhY2tpQG5va2lhLmNvbT4KKworICAgICAgICBSZW1vdmUgUXRTY3JpcHQgc291cmNlIGNv
ZGUgZnJvbSBXZWJLaXQuCisKKyAgICAgICAgSXQgd2FzIG5vdCBwb3NzaWJsZSB0byBpbXBsZW1l
bnQgUXRTY3JpcHQgb24gdG9wIG9mIEpTQyBDIEFQSSwKKyAgICAgICAgYmVjYXVzZSBvZiBjb21w
YXRpYmlsaXR5IGFuZCBwZXJmb3JtYW5jZSBpc3N1ZXMuCisKKyAgICAgICAgUmVtb3ZlIFF0U2Ny
aXB0IGNvZGUgZnJvbSBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY0MDg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5pdHRlc3QucHk6
CisKIDIwMTEtMDctMDcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZW1vdmUgc3R5bGVfcmVmZXJlbmNlcy5weQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5CmluZGV4IDNlOWQ3ZWMuLjAwY2UyYmIgMTAwNzU1
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcl91bml0dGVzdC5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJfdW5pdHRlc3QucHkKQEAg
LTIyNiw4ICsyMjYsNiBAQCBjbGFzcyBHbG9iYWxWYXJpYWJsZXNUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKICAgICAgICAgICAgICAgICAgICAgICAicmVhZGFiaWxpdHkvbmFtaW5nIikKIAogICAg
ICAgICAjIFRlc3QgaWYgUXQgZXhjZXB0aW9ucyBhcmUgaW5kZWVkIHdvcmtpbmcKLSAgICAgICAg
YXNzZXJ0Q2hlY2soIlNvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGVuZ2luZS5j
cHAiLAotICAgICAgICAgICAgICAgICAgICAicmVhZGFiaWxpdHkvYnJhY2VzIikKICAgICAgICAg
YXNzZXJ0Q2hlY2soIlNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCIsCiAgICAgICAg
ICAgICAgICAgICAgICJyZWFkYWJpbGl0eS9icmFjZXMiKQogICAgICAgICBhc3NlcnRDaGVjaygi
U291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwIiwK
QEAgLTIzOCwxMSArMjM2LDYgQEAgY2xhc3MgR2xvYmFsVmFyaWFibGVzVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgICAgICAgICAgICAgICJyZWFkYWJpbGl0eS9icmFjZXMiKQogICAg
ICAgICBhc3NlcnRDaGVjaygiU291cmNlL1dlYktpdC9xdC9zeW1iaWFuL3BsYXRmb3JtcGx1Z2lu
L1dlYlBsdWdpbi5jcHAiLAogICAgICAgICAgICAgICAgICAgICAicmVhZGFiaWxpdHkvYnJhY2Vz
IikKLSAgICAgICAgYXNzZXJ0Tm9DaGVjaygiU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9x
c2NyaXB0ZW5naW5lLmNwcCIsCi0gICAgICAgICAgICAgICAgICAgICAgInJlYWRhYmlsaXR5L25h
bWluZyIpCi0gICAgICAgIGFzc2VydE5vQ2hlY2soIlNvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9i
ZW5jaG1hcmtzIgotICAgICAgICAgICAgICAgICAgICAgICIvcXNjcmlwdGVuZ2luZS90c3RfcXNj
cmlwdGVuZ2luZS5jcHAiLAotICAgICAgICAgICAgICAgICAgICAgICJyZWFkYWJpbGl0eS9uYW1p
bmciKQogICAgICAgICBhc3NlcnROb0NoZWNrKCJTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFn
ZS5jcHAiLAogICAgICAgICAgICAgICAgICAgICAgICJyZWFkYWJpbGl0eS9uYW1pbmciKQogICAg
ICAgICBhc3NlcnROb0NoZWNrKCJTb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJlbGVtZW50L3Rz
dF9xd2ViZWxlbWVudC5jcHAiLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111925</attachid>
            <date>2011-10-21 02:04:25 -0700</date>
            <delta_ts>2011-10-21 02:36:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64088-20111021110426.patch</filename>
            <type>text/plain</type>
            <size>574209</size>
            <attacher name="Simon Hausmann">hausmann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgwODcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGZj
ZTk1OGI4NTZhNTc4M2ZiNDVhN2RjYmQ2MmJlMWVjNjY5MGVkMDUuLjMzN2ExZDg2NTNiNDEzZGUw
OTMzNjVhNWU0MjU5ZDI3MDZmYmRkYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDYxIEBACisyMDExLTEwLTIxICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5v
a2lhLmNvbT4KKworICAgICAgICBSZW1vdmUgUXRTY3JpcHQgc291cmNlIGNvZGUgZnJvbSBXZWJL
aXQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDA4
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92
ZWQgZGVhZCBjb2RlIHRoYXQgaXNuJ3QgZGV2ZWxvcGVkIGFueW1vcmUuCisKKyAgICAgICAgKiBK
YXZhU2NyaXB0Q29yZS5neXBpOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnByaToKKyAgICAg
ICAgKiBxdC9hcGkvUXRTY3JpcHQucHJvOiBSZW1vdmVkLgorICAgICAgICAqIHF0L2FwaS9xc2Ny
aXB0Y29udmVydGVyX3AuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlwdGVuZ2lu
ZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcXQvYXBpL3FzY3JpcHRlbmdpbmUuaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlwdGVuZ2luZV9wLmNwcDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBxdC9hcGkvcXNjcmlwdGVuZ2luZV9wLmg6IFJlbW92ZWQuCisgICAgICAgICogcXQvYXBp
L3FzY3JpcHRmdW5jdGlvbi5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcXQvYXBpL3FzY3JpcHRm
dW5jdGlvbl9wLmg6IFJlbW92ZWQuCisgICAgICAgICogcXQvYXBpL3FzY3JpcHRvcmlnaW5hbGds
b2JhbG9iamVjdF9wLmg6IFJlbW92ZWQuCisgICAgICAgICogcXQvYXBpL3FzY3JpcHRwcm9ncmFt
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlwdHByb2dyYW0uaDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlwdHByb2dyYW1fcC5oOiBSZW1vdmVkLgorICAgICAg
ICAqIHF0L2FwaS9xc2NyaXB0c3RyaW5nLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC9hcGkv
cXNjcmlwdHN0cmluZy5oOiBSZW1vdmVkLgorICAgICAgICAqIHF0L2FwaS9xc2NyaXB0c3RyaW5n
X3AuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlwdHN5bnRheGNoZWNrcmVzdWx0
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC9hcGkvcXNjcmlwdHN5bnRheGNoZWNrcmVzdWx0
Lmg6IFJlbW92ZWQuCisgICAgICAgICogcXQvYXBpL3FzY3JpcHRzeW50YXhjaGVja3Jlc3VsdF9w
Lmg6IFJlbW92ZWQuCisgICAgICAgICogcXQvYXBpL3FzY3JpcHR2YWx1ZS5jcHA6IFJlbW92ZWQu
CisgICAgICAgICogcXQvYXBpL3FzY3JpcHR2YWx1ZS5oOiBSZW1vdmVkLgorICAgICAgICAqIHF0
L2FwaS9xc2NyaXB0dmFsdWVfcC5oOiBSZW1vdmVkLgorICAgICAgICAqIHF0L2FwaS9xc2NyaXB0
dmFsdWVpdGVyYXRvci5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcXQvYXBpL3FzY3JpcHR2YWx1
ZWl0ZXJhdG9yLmg6IFJlbW92ZWQuCisgICAgICAgICogcXQvYXBpL3FzY3JpcHR2YWx1ZWl0ZXJh
dG9yX3AuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC9hcGkvcXRzY3JpcHRnbG9iYWwuaDogUmVt
b3ZlZC4KKyAgICAgICAgKiBxdC9iZW5jaG1hcmtzL2JlbmNobWFya3MucHJpOiBSZW1vdmVkLgor
ICAgICAgICAqIHF0L2JlbmNobWFya3MvYmVuY2htYXJrcy5wcm86IFJlbW92ZWQuCisgICAgICAg
ICogcXQvYmVuY2htYXJrcy9xc2NyaXB0ZW5naW5lL3FzY3JpcHRlbmdpbmUucHJvOiBSZW1vdmVk
LgorICAgICAgICAqIHF0L2JlbmNobWFya3MvcXNjcmlwdGVuZ2luZS90c3RfcXNjcmlwdGVuZ2lu
ZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogcXQvYmVuY2htYXJrcy9xc2NyaXB0dmFsdWUvcXNj
cmlwdHZhbHVlLnBybzogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC9iZW5jaG1hcmtzL3FzY3JpcHR2
YWx1ZS90c3RfcXNjcmlwdHZhbHVlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC90ZXN0cy9x
c2NyaXB0ZW5naW5lL3FzY3JpcHRlbmdpbmUucHJvOiBSZW1vdmVkLgorICAgICAgICAqIHF0L3Rl
c3RzL3FzY3JpcHRlbmdpbmUvdHN0X3FzY3JpcHRlbmdpbmUuY3BwOiBSZW1vdmVkLgorICAgICAg
ICAqIHF0L3Rlc3RzL3FzY3JpcHRzdHJpbmcvcXNjcmlwdHN0cmluZy5wcm86IFJlbW92ZWQuCisg
ICAgICAgICogcXQvdGVzdHMvcXNjcmlwdHN0cmluZy90c3RfcXNjcmlwdHN0cmluZy5jcHA6IFJl
bW92ZWQuCisgICAgICAgICogcXQvdGVzdHMvcXNjcmlwdHZhbHVlL3FzY3JpcHR2YWx1ZS5wcm86
IFJlbW92ZWQuCisgICAgICAgICogcXQvdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFs
dWUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHF0L3Rlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNj
cmlwdHZhbHVlLmg6IFJlbW92ZWQuCisgICAgICAgICogcXQvdGVzdHMvcXNjcmlwdHZhbHVlL3Rz
dF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2NvbXBhcmlzb24uY3BwOiBSZW1vdmVkLgorICAgICAg
ICAqIHF0L3Rlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlX2dlbmVyYXRlZF9pbml0
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3Jp
cHR2YWx1ZV9nZW5lcmF0ZWRfaXN0eXBlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBxdC90ZXN0
cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZV9nZW5lcmF0ZWRfdG90eXBlLmNwcDogUmVt
b3ZlZC4KKyAgICAgICAgKiBxdC90ZXN0cy9xc2NyaXB0dmFsdWVpdGVyYXRvci9xc2NyaXB0dmFs
dWVpdGVyYXRvci5wcm86IFJlbW92ZWQuCisgICAgICAgICogcXQvdGVzdHMvcXNjcmlwdHZhbHVl
aXRlcmF0b3IvdHN0X3FzY3JpcHR2YWx1ZWl0ZXJhdG9yLmNwcDogUmVtb3ZlZC4KKyAgICAgICAg
KiBxdC90ZXN0cy90ZXN0cy5wcmk6IFJlbW92ZWQuCisgICAgICAgICogcXQvdGVzdHMvdGVzdHMu
cHJvOiBSZW1vdmVkLgorCiAyMDExLTEwLTIwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CiAKICAgICAgICAgREZHIHNob3VsZCBub3QgdHJ5IHRvIHByZWRpY3QgYXJndW1lbnQgdHlw
ZXMgYnkgbG9va2luZyBhdCB0aGUgdmFsdWVzIG9mCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcXQvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L0NoYW5nZUxv
ZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGE3MmUyODhiZDZiNDU0NGYyZmRkZDcx
MDI1NWExNGNlZTdlODBmOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvQ2hhbmdlTG9nCisrKyAvZGV2L251bGwK
QEAgLTEsNDc2ICswLDAgQEAKLTIwMTEtMTAtMTUgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5n
b21ib3NAbm9raWEuY29tPgotCi0gICAgICAgIFtRdF0gW1N5bWJpYW5dIFJlbW92ZSBzdXBwb3J0
IGZvciB0aGUgU3ltYmlhbiBwbGF0Zm9ybSBmb3IgdGhlIFF0V2ViS2l0IHBvcnQKLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTIwCi0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCi0KLSAgICAgICAgKiBiZW5j
aG1hcmtzL3FzY3JpcHRlbmdpbmUvcXNjcmlwdGVuZ2luZS5wcm86Ci0KLTIwMTEtMDMtMDEgIEFu
ZHJhcyBCZWNzaSAgPGFiZWNzaUB3ZWJraXQub3JnPgotCi0gICAgICAgIFJldmlld2VkIGJ5IENz
YWJhIE9zenRyb2dvbsOhYy4KLQotICAgICAgICBbUXRdIENsZWFuIHVwIHRoZSBwcm9qZWN0IGZp
bGVzIGFuZCBtb3ZlIGNvbW1vbiBvcHRpb25zIHRvIFdlYktpdC5wcmkuCi0KLSAgICAgICAgKiBh
cGkvUXRTY3JpcHQucHJvOiBEZWR1cGxpY2F0ZSBvcHRpb25zLgotCi0yMDExLTAyLTI0ICBBbmRy
YXMgQmVjc2kgIDxhYmVjc2lAd2Via2l0Lm9yZz4KLQotICAgICAgICBSZXZpZXdlZCBieSBMYXN6
bG8gR29tYm9zLgotCi0gICAgICAgIFtRdF0gTWluR1cgYnVpbGQgZmFpbHMgdG8gbGluawotICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUwNTAKLQotICAg
ICAgICBQcmVwZW5kIHRoZSBsaWJyYXJpZXMgb2Ygc3ViY29tcG9uZW50cyBpbnN0ZWFkIG9mIGFw
cGVuZGluZyB0aGVtCi0gICAgICAgIHRvIGZpeCB0aGUgbGlicmFyeSBvcmRlciBhY2NvcmRpbmcg
dG8gdGhlIGRlcGVuZGVuY3kgb2YgdGhlIGxpYnJhcmllcwotCi0gICAgICAgICogYXBpL1F0U2Ny
aXB0LnBybzoKLQotMjAxMC0wOS0yOSAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8
Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgotCi0gICAgICAgIFJldmlld2VkIGJ5IEFuZHJl
YXMgS2xpbmcuCi0KLSAgICAgICAgW1F0XSBRU2NyaXB0RW5naW5lIHNob3VsZCBoYXZlIGFuIEFQ
SSBmb3IgY3JlYXRpbmcgRGF0ZSBvYmplY3RzCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MTY2NwotCi0gICAgICAgIEltcGxlbWVudCBuZXdEYXRlKCks
IGlzRGF0ZSgpIGFuZCB0b0RhdGVUaW1lKCkgZnVuY3Rpb25zLiBVc2UgdGhlCi0gICAgICAgIFFE
YXRlVGltZTo6e3RvLHNldH1NU2Vjc1NpbmNlRXBvY2goKSBmdW5jdGlvbnMgdG8gZG8gdGhlCi0g
ICAgICAgIGNhbGN1bGF0aW9ucy4KLQotICAgICAgICAqIGFwaS9xc2NyaXB0ZW5naW5lLmNwcDoK
LSAgICAgICAgKFFTY3JpcHRFbmdpbmU6Om5ld0RhdGUpOgotICAgICAgICAqIGFwaS9xc2NyaXB0
ZW5naW5lLmg6Ci0gICAgICAgICogYXBpL3FzY3JpcHRlbmdpbmVfcC5jcHA6Ci0gICAgICAgIChR
U2NyaXB0RW5naW5lUHJpdmF0ZTo6bmV3RGF0ZSk6Ci0gICAgICAgICogYXBpL3FzY3JpcHRlbmdp
bmVfcC5oOgotICAgICAgICAoUVNjcmlwdEVuZ2luZVByaXZhdGU6OmlzRGF0ZSk6Ci0KLSAgICAg
ICAgKiBhcGkvcXNjcmlwdG9yaWdpbmFsZ2xvYmFsb2JqZWN0X3AuaDoKLSAgICAgICAgKFFTY3Jp
cHRPcmlnaW5hbEdsb2JhbE9iamVjdDo6UVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0KTogbmVl
ZAotICAgICAgICB0byBrZWVwIHRyYWNrIG9mIERhdGUgQ29uc3RydWN0b3IgYW5kIFByb3RvdHlw
ZS4KLSAgICAgICAgKFFTY3JpcHRPcmlnaW5hbEdsb2JhbE9iamVjdDo6flFTY3JpcHRPcmlnaW5h
bEdsb2JhbE9iamVjdCk6IGRpdHRvLgotICAgICAgICAoUVNjcmlwdE9yaWdpbmFsR2xvYmFsT2Jq
ZWN0Ojppc0RhdGUpOiB1c2UgdGhlIERhdGUgQ29uc3RydWN0b3IKLSAgICAgICAgYW5kIFByb3Rv
dHlwZSB0byBpZGVudGlmeSBEYXRlIHZhbHVlcy4KLQotICAgICAgICAqIGFwaS9xc2NyaXB0dmFs
dWUuY3BwOgotICAgICAgICAoUVNjcmlwdFZhbHVlOjppc0RhdGUpOgotICAgICAgICAoUVNjcmlw
dFZhbHVlOjp0b0RhdGVUaW1lKToKLSAgICAgICAgKiBhcGkvcXNjcmlwdHZhbHVlLmg6Ci0gICAg
ICAgICogYXBpL3FzY3JpcHR2YWx1ZV9wLmg6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVQcml2YXRl
Ojppc0RhdGUpOgotICAgICAgICAoUVNjcmlwdFZhbHVlUHJpdmF0ZTo6dG9EYXRlVGltZSk6Ci0g
ICAgICAgICogdGVzdHMvcXNjcmlwdGVuZ2luZS90c3RfcXNjcmlwdGVuZ2luZS5jcHA6Ci0gICAg
ICAgICh0c3RfUVNjcmlwdEVuZ2luZTo6bmV3RGF0ZSk6Ci0KLTIwMTAtMDctMjcgIEplZHJ6ZWog
Tm93YWNraSAgPGplZHJ6ZWoubm93YWNraUBub2tpYS5jb20+Ci0KLSAgICAgICAgUmV2aWV3ZWQg
YnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCi0KLSAgICAgICAgVXBkYXRlIHRoZSBRU2Ny
aXB0VmFsdWUgYXV0b3Rlc3RzIHN1aXRlLgotCi0gICAgICAgIFFTY3JpcHRWYWx1ZSBnZW5lcmF0
ZWQgZmlsZXMgd2VyZSB1cGRhdGVkLCBjaGFuZ2VzIGFyZToKLSAgICAgICAgIC0gTW9yZSB0ZXN0
ZWQgdmFsdWVzIChmb3IgZXhhbXBsZSBRU0U6Om5ld09iamVjdCgpIGFuZCBRU0U6Om5ld0FycmF5
KCkpCi0gICAgICAgICAtIFRlc3RlZCB2YWx1ZXMgYXJlIHJlY3JlYXRlZCBiZWZvcmUgZWFjaCB0
ZXN0IGFuZCBhcmUgbm90IHJldXNlZC4KLSAgICAgICAgIFRoZSBjaGFuZ2UgaW1wbGllcyBiZXR0
ZXIgY29kZSBjb3ZlcmFnZSBhbmQgc29tZSBleHBlY3RlZCByZXN1bHQgY2hhbmdlcy4KLSAgICAg
ICAgIC0gQSBuZXcgdGVzdCB0byBjaGVjayBjb3B5IGFuZCBhc3NpZ24gZnVuY3Rpb25zLgotICAg
ICAgICAgLSBUZXN0cyBhcmUgdXNpbmcgc3RhbmRhcmQgUVRlc3RMaWIgaW50ZXJmYWNlLCB3aXRo
b3V0IGFueSBjdXN0b20gbWFjcm9zLgotCi0gICAgICAgIFtRdF0gSW1wcm92ZSB0ZXN0IGNvdmVy
YWdlIGZvciB0aGUgUVNjcmlwdFZhbHVlCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00MjM2NgotCi0gICAgICAgICogdGVzdHMvcXNjcmlwdHZhbHVlL3Rz
dF9xc2NyaXB0dmFsdWUuY3BwOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6dHN0X1FTY3Jp
cHRWYWx1ZSk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjp+dHN0X1FTY3JpcHRWYWx1ZSk6
Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjphc3NpZ25BbmRDb3B5Q29uc3RydWN0X2RhdGEp
OgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6YXNzaWduQW5kQ29weUNvbnN0cnVjdCk6Ci0g
ICAgICAgICogdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWUuaDoKLSAgICAgICAg
KiB0ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZV9nZW5lcmF0ZWRfY29tcGFyaXNv
bi5jcHA6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjplcXVhbHNfZGF0YSk6Ci0gICAgICAg
ICh0c3RfUVNjcmlwdFZhbHVlOjplcXVhbHMpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6
c3RyaWN0bHlFcXVhbHNfZGF0YSk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjpzdHJpY3Rs
eUVxdWFscyk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjppbnN0YW5jZU9mX2RhdGEpOgot
ICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aW5zdGFuY2VPZik6Ci0gICAgICAgICogdGVzdHMv
cXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2luaXQuY3BwOgotICAgICAg
ICAodHN0X1FTY3JpcHRWYWx1ZTo6aW5pdFNjcmlwdFZhbHVlcyk6Ci0gICAgICAgICogdGVzdHMv
cXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2lzdHlwZS5jcHA6Ci0gICAg
ICAgICh0c3RfUVNjcmlwdFZhbHVlOjppc1ZhbGlkX2RhdGEpOgotICAgICAgICAodHN0X1FTY3Jp
cHRWYWx1ZTo6aXNWYWxpZCk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjppc0Jvb2xfZGF0
YSk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjppc0Jvb2wpOgotICAgICAgICAodHN0X1FT
Y3JpcHRWYWx1ZTo6aXNCb29sZWFuX2RhdGEpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6
aXNCb29sZWFuKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmlzTnVtYmVyX2RhdGEpOgot
ICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aXNOdW1iZXIpOgotICAgICAgICAodHN0X1FTY3Jp
cHRWYWx1ZTo6aXNGdW5jdGlvbl9kYXRhKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6Omlz
RnVuY3Rpb24pOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aXNOdWxsX2RhdGEpOgotICAg
ICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aXNOdWxsKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFs
dWU6OmlzU3RyaW5nX2RhdGEpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aXNTdHJpbmcp
OgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6aXNVbmRlZmluZWRfZGF0YSk6Ci0gICAgICAg
ICh0c3RfUVNjcmlwdFZhbHVlOjppc1VuZGVmaW5lZCk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZh
bHVlOjppc09iamVjdF9kYXRhKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmlzT2JqZWN0
KToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmlzQXJyYXlfZGF0YSk6Ci0gICAgICAgICh0
c3RfUVNjcmlwdFZhbHVlOjppc0FycmF5KToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6Omlz
RXJyb3JfZGF0YSk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjppc0Vycm9yKToKLSAgICAg
ICAgKiB0ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZV9nZW5lcmF0ZWRfdG90eXBl
LmNwcDoKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnRvU3RyaW5nX2RhdGEpOgotICAgICAg
ICAodHN0X1FTY3JpcHRWYWx1ZTo6dG9TdHJpbmcpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1
ZTo6dG9OdW1iZXJfZGF0YSk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjp0b051bWJlcik6
Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjp0b0Jvb2xfZGF0YSk6Ci0gICAgICAgICh0c3Rf
UVNjcmlwdFZhbHVlOjp0b0Jvb2wpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6dG9Cb29s
ZWFuX2RhdGEpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6dG9Cb29sZWFuKToKLSAgICAg
ICAgKHRzdF9RU2NyaXB0VmFsdWU6OnRvSW50ZWdlcl9kYXRhKToKLSAgICAgICAgKHRzdF9RU2Ny
aXB0VmFsdWU6OnRvSW50ZWdlcik6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjp0b0ludDMy
X2RhdGEpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6dG9JbnQzMik6Ci0gICAgICAgICh0
c3RfUVNjcmlwdFZhbHVlOjp0b1VJbnQzMl9kYXRhKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFs
dWU6OnRvVUludDMyKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnRvVUludDE2X2RhdGEp
OgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6dG9VSW50MTYpOgotCi0yMDEwLTA3LTI3ICBD
YWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5v
cmc+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCi0K
LSAgICAgICAgW1F0XSBJbXBsZW1lbnQgUVNjcmlwdEVuZ2luZTo6bmV3RnVuY3Rpb24oKSBwYXJ0
cyB0aGF0IGRvZXNuJ3QgZGVwZW5kIG9uIFFTY3JpcHRDb250ZXh0Ci0gICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MjE3NAotCi0gICAgICAgIFNpbmNlIG91
ciBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIGluIEphdmFzY3JpcHQgYm90aCBhcyBhIGZ1bmN0aW9u
Ci0gICAgICAgIGFuZCBhcyBhIGNvbnN0cnVjdG9yLCB3ZSBjb3VsZG4ndCB1c2UgdGhlIGV4aXN0
aW5nCi0gICAgICAgIEpTT2JqZWN0TWFrZUZ1bmN0aW9uV2l0aENhbGxiYWNrKCkgYW5kIEpTT2Jq
ZWN0TWFrZUNvbnN0cnVjdG9yKCkuCi0KLSAgICAgICAgSW5zdGVhZCwgYSBKU0NsYXNzUmVmIHdh
cyBjcmVhdGVkLCBpbXBsZW1lbnRpbmcgdGhlIG5lZWRlZAotICAgICAgICBjYWxsYmFja3MgKHRo
ZSBjYWxsQXNDb25zdHJ1Y3RvciBpcyBub3QgdGhlcmUgeWV0IGJlY2F1c2UgaXRzCi0gICAgICAg
IGJlaGF2aW91ciBkZXBlbmRzIG9uIFFTY3JpcHRDb250ZXh0KS4KLQotICAgICAgICBGb3IgdGhl
IG1vbWVudCwgUVNjcmlwdENvbnRleHQgaXMgZGVmaW5lZCBhcyBhIHZvaWQgdHlwZSwgc2luY2Ug
d2UKLSAgICAgICAgc3RpbGwgZG9uJ3QgdXNlIGl0LgotCi0gICAgICAgIFRoZSB2YXJpYW50IG9m
IG5ld0Z1bmN0aW9uKCkgdGhhdCBhbHNvIHRha2VzIGFuIGV4dGVybmFsIGFyZ3VtZW50Ci0gICAg
ICAgIHdhcyBhbHNvIGltcGxlbWVudGVkLiBUaGUgZGV0YWlscyBvZiBpbXBsZW1lbnRhdGlvbiB3
ZXJlIGFkZGVkIHRvCi0gICAgICAgIHRoZSBxc2NyaXB0ZnVuY3Rpb257LmMsX3AuaH0gZmlsZXMu
Ci0KLSAgICAgICAgVGhpcyBjb21taXQgYWxzbyBhZGRzIHRlc3RzLCBzb21lIG9mIHRoZW0gZnJv
bSBRdCdzIHVwc3RyZWFtLgotCi0gICAgICAgICogYXBpL1F0U2NyaXB0LnBybzoKLSAgICAgICAg
KiBhcGkvcXNjcmlwdGVuZ2luZS5jcHA6Ci0gICAgICAgIChRU2NyaXB0RW5naW5lOjpuZXdGdW5j
dGlvbik6Ci0gICAgICAgICogYXBpL3FzY3JpcHRlbmdpbmUuaDoKLSAgICAgICAgKiBhcGkvcXNj
cmlwdGVuZ2luZV9wLmNwcDoKLSAgICAgICAgKFFTY3JpcHRFbmdpbmVQcml2YXRlOjpRU2NyaXB0
RW5naW5lUHJpdmF0ZSk6Ci0gICAgICAgIChRU2NyaXB0RW5naW5lUHJpdmF0ZTo6flFTY3JpcHRF
bmdpbmVQcml2YXRlKToKLSAgICAgICAgKFFTY3JpcHRFbmdpbmVQcml2YXRlOjpuZXdGdW5jdGlv
bik6Ci0gICAgICAgICogYXBpL3FzY3JpcHRlbmdpbmVfcC5oOgotICAgICAgICAqIGFwaS9xc2Ny
aXB0ZnVuY3Rpb24uY3BwOiBBZGRlZC4KLSAgICAgICAgKHF0X05hdGl2ZUZ1bmN0aW9uX2ZpbmFs
aXplKToKLSAgICAgICAgKHF0X05hdGl2ZUZ1bmN0aW9uX2NhbGxBc0Z1bmN0aW9uKToKLSAgICAg
ICAgKHF0X05hdGl2ZUZ1bmN0aW9uV2l0aEFyZ19maW5hbGl6ZSk6Ci0gICAgICAgIChxdF9OYXRp
dmVGdW5jdGlvbldpdGhBcmdfY2FsbEFzRnVuY3Rpb24pOgotICAgICAgICAqIGFwaS9xc2NyaXB0
ZnVuY3Rpb25fcC5oOiBBZGRlZC4KLSAgICAgICAgKFFOYXRpdmVGdW5jdGlvbkRhdGE6OlFOYXRp
dmVGdW5jdGlvbkRhdGEpOgotICAgICAgICAoUU5hdGl2ZUZ1bmN0aW9uV2l0aEFyZ0RhdGE6OlFO
YXRpdmVGdW5jdGlvbldpdGhBcmdEYXRhKToKLSAgICAgICAgKiBhcGkvcXNjcmlwdG9yaWdpbmFs
Z2xvYmFsb2JqZWN0X3AuaDoKLSAgICAgICAgKFFTY3JpcHRPcmlnaW5hbEdsb2JhbE9iamVjdDo6
UVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0KToKLSAgICAgICAgKFFTY3JpcHRPcmlnaW5hbEds
b2JhbE9iamVjdDo6flFTY3JpcHRPcmlnaW5hbEdsb2JhbE9iamVjdCk6Ci0gICAgICAgIChRU2Ny
aXB0T3JpZ2luYWxHbG9iYWxPYmplY3Q6OmZ1bmN0aW9uUHJvdG90eXBlKToKLSAgICAgICAgKiB0
ZXN0cy9xc2NyaXB0ZW5naW5lL3RzdF9xc2NyaXB0ZW5naW5lLmNwcDoKLSAgICAgICAgKG15RnVu
Y3Rpb24pOgotICAgICAgICAobXlGdW5jdGlvbldpdGhBcmcpOgotICAgICAgICAobXlGdW5jdGlv
blRoYXRSZXR1cm5zKToKLSAgICAgICAgKG15RnVuY3Rpb25UaGF0UmV0dXJuc1dpdGhvdXRFbmdp
bmUpOgotICAgICAgICAobXlGdW5jdGlvblRoYXRSZXR1cm5zV3JvbmdFbmdpbmUpOgotICAgICAg
ICAodHN0X1FTY3JpcHRFbmdpbmU6Om5ld0Z1bmN0aW9uKToKLQotMjAxMC0wNy0yMyAgSmVkcnpl
aiBOb3dhY2tpICA8amVkcnplai5ub3dhY2tpQG5va2lhLmNvbT4KLQotICAgICAgICBSZXZpZXdl
ZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KLQotICAgICAgICBRU2NyaXB0VmFsdWU6
OmVxdWFscyBiZW5jaG1hcmsgY3Jhc2ggZml4LgotCi0gICAgICAgIFBhdGNoIGNoYW5nZXMgUVNj
cmlwdFZhbHVlOjplcXVhbHMgaW1wbGVtZW50YXRpb24gdG8gY292ZXIKLSAgICAgICAgbW9yZSBl
ZGdlIGNhc2VzLgotCi0gICAgICAgIFByb2JsZW0gZXhwb3NlcyBhbiBpc3N1ZSBpbiBvdXIgYXV0
b3Rlc3RzIChhbGwgdmFsdWVzIGdvdAotICAgICAgICBib3VuZCB0byBhbiBlbmdpbmUgdG9vIGZh
c3QgLSBidWcgNDIzNjYpLgotCi0gICAgICAgIFtRdF0gUVNjcmlwdFZhbHVlOjplcXVhbHMgYXNz
ZXJ0cwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDIz
NjMKLQotICAgICAgICAqIGFwaS9xc2NyaXB0dmFsdWVfcC5oOgotICAgICAgICAoUVNjcmlwdFZh
bHVlUHJpdmF0ZTo6ZXF1YWxzKToKLQotMjAxMC0wNy0xNCAgSmVkcnplaiBOb3dhY2tpICA8amVk
cnplai5ub3dhY2tpQG5va2lhLmNvbT4KLQotICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJv
aGRlIENocmlzdGlhbnNlbi4KLQotICAgICAgICBJbnRyb2R1Y2UgUVNjcmlwdE9yaWdpbmFsR2xv
YmFsT2JqZWN0LgotCi0gICAgICAgIFF0U2NyaXB0IGV4cG9zZXMgbW9yZSBmdW5jdGlvbmFsaXR5
IHRoYW4gSlNDIEMgQVBJLiBTb21ldGltZXMgaXQgaXMKLSAgICAgICAgbmVjZXNzYXJ5IHRvIHRh
a2UgYSBzaG9ydGN1dCBpbiBpbXBsZW1lbnRhdGlvbi4gUmVhbGx5IG9mdGVuIHdlIGhhdmUKLSAg
ICAgICAgdG8gdXNlIGEgc3RhbmRhcmQgSlMgZnVuY3Rpb24uIFRoZXNlIGZ1bmN0aW9uIGNvdWxk
IGJlIGNoYW5nZWQgb3IKLSAgICAgICAgZXZlbiBkZWxldGVkIGJ5IGEgc2NyaXB0LCBzbyBhIGJh
Y2t1cCBvZiBhIHJlZmVyZW5jZSB0byBhbiBvYmplY3QgaXMgbmVlZGVkLgotCi0gICAgICAgIElu
IHRoZW0gc2FtZSB0aW1lIHRoaXMgaXMgcmF0aGVyIGEgd29ya2Fyb3VuZCB0aGVuIHJlYWwgZml4
LCBzbyB0aGUgY29kZQotICAgICAgICBzaG91bGQgYmUgc2VwYXJhdGVkIGFuZCBjaGFuZ2VkIGVh
c2lseSBpbiBmdXR1cmUuIEl0IGlzIHdoeSB3ZSBuZWVkCi0gICAgICAgIHRoZSBuZXcgaW50ZXJu
YWwgY2xhc3MuCi0KLSAgICAgICAgVGhlIHBhdGNoIGZpeGVzIGEgZmV3IGNyYXNoZXMuCi0KLSAg
ICAgICAgW1F0XSBRU2NyaXB0RW5naW5lIHNob3VsZCB3b3JrIGNvcnJlY3RseSBldmVuIGFmdGVy
IGdsb2JhbCBvYmplY3QgY2hhbmdlcwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDE4MzkKLQotICAgICAgICAqIGFwaS9RdFNjcmlwdC5wcm86Ci0gICAg
ICAgICogYXBpL3FzY3JpcHRlbmdpbmVfcC5jcHA6Ci0gICAgICAgIChRU2NyaXB0RW5naW5lUHJp
dmF0ZTo6UVNjcmlwdEVuZ2luZVByaXZhdGUpOgotICAgICAgICAoUVNjcmlwdEVuZ2luZVByaXZh
dGU6On5RU2NyaXB0RW5naW5lUHJpdmF0ZSk6Ci0gICAgICAgICogYXBpL3FzY3JpcHRlbmdpbmVf
cC5oOgotICAgICAgICAoUVNjcmlwdEVuZ2luZVByaXZhdGU6OmlzQXJyYXkpOgotICAgICAgICAo
UVNjcmlwdEVuZ2luZVByaXZhdGU6OmlzRXJyb3IpOgotICAgICAgICAoUVNjcmlwdEVuZ2luZVBy
aXZhdGU6Om9iamVjdEhhc093blByb3BlcnR5KToKLSAgICAgICAgKFFTY3JpcHRFbmdpbmVQcml2
YXRlOjpvYmplY3RHZXRPd25Qcm9wZXJ0eU5hbWVzKToKLSAgICAgICAgKiBhcGkvcXNjcmlwdG9y
aWdpbmFsZ2xvYmFsb2JqZWN0X3AuaDogQWRkZWQuCi0gICAgICAgIChRU2NyaXB0T3JpZ2luYWxH
bG9iYWxPYmplY3Q6OlFTY3JpcHRPcmlnaW5hbEdsb2JhbE9iamVjdCk6Ci0gICAgICAgIChRU2Ny
aXB0T3JpZ2luYWxHbG9iYWxPYmplY3Q6OmluaXRpYWxpemVNZW1iZXIpOgotICAgICAgICAoUVNj
cmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0Ojp+UVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0KToK
LSAgICAgICAgKFFTY3JpcHRPcmlnaW5hbEdsb2JhbE9iamVjdDo6b2JqZWN0SGFzT3duUHJvcGVy
dHkpOgotICAgICAgICAoUVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0OjpvYmplY3RHZXRPd25Q
cm9wZXJ0eU5hbWVzKToKLSAgICAgICAgKFFTY3JpcHRPcmlnaW5hbEdsb2JhbE9iamVjdDo6aXNB
cnJheSk6Ci0gICAgICAgIChRU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3Q6OmlzRXJyb3IpOgot
ICAgICAgICAoUVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0Ojppc1R5cGUpOgotICAgICAgICAq
IGFwaS9xc2NyaXB0dmFsdWVfcC5oOgotICAgICAgICAoUVNjcmlwdFZhbHVlUHJpdmF0ZTo6aXNF
cnJvcik6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVQcml2YXRlOjpoYXNPd25Qcm9wZXJ0eSk6Ci0g
ICAgICAgICogYXBpL3FzY3JpcHR2YWx1ZWl0ZXJhdG9yX3AuaDoKLSAgICAgICAgKFFTY3JpcHRW
YWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6UVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlKToKLSAgICAg
ICAgKiB0ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZS5jcHA6Ci0gICAgICAgICh0
c3RfUVNjcmlwdFZhbHVlOjpnbG9iYWxPYmplY3RDaGFuZ2VzKToKLSAgICAgICAgKiB0ZXN0cy9x
c2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZS5oOgotCi0yMDEwLTA3LTEzICBKZWRyemVqIE5v
d2Fja2kgIDxqZWRyemVqLm5vd2Fja2lAbm9raWEuY29tPgotCi0gICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEhhdXNtYW5uLgotCi0gICAgICAgIEludHJvZHVjZSBRU2NyaXB0VmFsdWVJdGVyYXRv
ci4KLQotICAgICAgICBUaGUgUVNjcmlwdFZhbHVlSXRlcmF0b3IgY2xhc3MgcGVybWl0cyB0byBp
dGVyYXRlIG92ZXIgYSBRU2NyaXB0VmFsdWUncyBwcm9wZXJ0aWVzLgotCi0gICAgICAgIFtRdF0g
UXRTY3JpcHQgc2hvdWxkIHByb3ZpZGUgYW4gQVBJIGZvciBlbnVtZXJhdGluZyBhIEpTIG9iamVj
dCdzIHByb3BlcnRpZXMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQxNjgwCi0KLSAgICAgICAgKiBhcGkvUXRTY3JpcHQucHJvOgotICAgICAgICAqIGFw
aS9xc2NyaXB0dmFsdWVpdGVyYXRvci5jcHA6IEFkZGVkLgotICAgICAgICAoUVNjcmlwdFZhbHVl
SXRlcmF0b3I6OlFTY3JpcHRWYWx1ZUl0ZXJhdG9yKToKLSAgICAgICAgKFFTY3JpcHRWYWx1ZUl0
ZXJhdG9yOjp+UVNjcmlwdFZhbHVlSXRlcmF0b3IpOgotICAgICAgICAoUVNjcmlwdFZhbHVlSXRl
cmF0b3I6Omhhc05leHQpOgotICAgICAgICAoUVNjcmlwdFZhbHVlSXRlcmF0b3I6Om5leHQpOgot
ICAgICAgICAoUVNjcmlwdFZhbHVlSXRlcmF0b3I6Omhhc1ByZXZpb3VzKToKLSAgICAgICAgKFFT
Y3JpcHRWYWx1ZUl0ZXJhdG9yOjpwcmV2aW91cyk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVJdGVy
YXRvcjo6dG9Gcm9udCk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVJdGVyYXRvcjo6dG9CYWNrKToK
LSAgICAgICAgKFFTY3JpcHRWYWx1ZUl0ZXJhdG9yOjpuYW1lKToKLSAgICAgICAgKFFTY3JpcHRW
YWx1ZUl0ZXJhdG9yOjpzY3JpcHROYW1lKToKLSAgICAgICAgKFFTY3JpcHRWYWx1ZUl0ZXJhdG9y
Ojp2YWx1ZSk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVJdGVyYXRvcjo6c2V0VmFsdWUpOgotICAg
ICAgICAoUVNjcmlwdFZhbHVlSXRlcmF0b3I6OnJlbW92ZSk6Ci0gICAgICAgIChRU2NyaXB0VmFs
dWVJdGVyYXRvcjo6ZmxhZ3MpOgotICAgICAgICAoUVNjcmlwdFZhbHVlSXRlcmF0b3I6Om9wZXJh
dG9yPSk6Ci0gICAgICAgICogYXBpL3FzY3JpcHR2YWx1ZWl0ZXJhdG9yLmg6IEFkZGVkLgotICAg
ICAgICAqIGFwaS9xc2NyaXB0dmFsdWVpdGVyYXRvcl9wLmg6IEFkZGVkLgotICAgICAgICAoUVNj
cmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlOjpRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGUpOgot
ICAgICAgICAoUVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlOjp+UVNjcmlwdFZhbHVlSXRlcmF0
b3JQcml2YXRlKToKLSAgICAgICAgKFFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6aGFzTmV4
dCk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6Om5leHQpOgotICAgICAg
ICAoUVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlOjpoYXNQcmV2aW91cyk6Ci0gICAgICAgIChR
U2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6OnByZXZpb3VzKToKLSAgICAgICAgKFFTY3JpcHRW
YWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6bmFtZSk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVJdGVyYXRv
clByaXZhdGU6OnNjcmlwdE5hbWUpOgotICAgICAgICAoUVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2
YXRlOjp2YWx1ZSk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6OnNldFZh
bHVlKToKLSAgICAgICAgKFFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6cmVtb3ZlKToKLSAg
ICAgICAgKFFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6dG9Gcm9udCk6Ci0gICAgICAgIChR
U2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6OnRvQmFjayk6Ci0gICAgICAgIChRU2NyaXB0VmFs
dWVJdGVyYXRvclByaXZhdGU6OmZsYWdzKToKLSAgICAgICAgKFFTY3JpcHRWYWx1ZUl0ZXJhdG9y
UHJpdmF0ZTo6aXNWYWxpZCk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6
OmVuZ2luZSk6Ci0gICAgICAgICogdGVzdHMvcXNjcmlwdHZhbHVlaXRlcmF0b3IvcXNjcmlwdHZh
bHVlaXRlcmF0b3IucHJvOiBBZGRlZC4KLSAgICAgICAgKiB0ZXN0cy9xc2NyaXB0dmFsdWVpdGVy
YXRvci90c3RfcXNjcmlwdHZhbHVlaXRlcmF0b3IuY3BwOiBBZGRlZC4KLSAgICAgICAgKHRzdF9R
U2NyaXB0VmFsdWVJdGVyYXRvcjo6dHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9yKToKLSAgICAgICAg
KHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6fnRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcik6Ci0g
ICAgICAgICh0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3I6Oml0ZXJhdGVGb3J3YXJkX2RhdGEpOgot
ICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9yOjppdGVyYXRlRm9yd2FyZCk6Ci0gICAg
ICAgICh0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3I6Oml0ZXJhdGVCYWNrd2FyZF9kYXRhKToKLSAg
ICAgICAgKHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6aXRlcmF0ZUJhY2t3YXJkKToKLSAgICAg
ICAgKHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6aXRlcmF0ZUFycmF5X2RhdGEpOgotICAgICAg
ICAodHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9yOjppdGVyYXRlQXJyYXkpOgotICAgICAgICAodHN0
X1FTY3JpcHRWYWx1ZUl0ZXJhdG9yOjppdGVyYXRlQmFja0FuZEZvcnRoKToKLSAgICAgICAgKHRz
dF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6c2V0VmFsdWUpOgotICAgICAgICAodHN0X1FTY3JpcHRW
YWx1ZUl0ZXJhdG9yOjpyZW1vdmUpOgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9y
OjpyZW1vdmVNaXhlZCk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3I6OnJlbW92
ZVVuZGVsZXRhYmxlKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6aXRlcmF0
ZVN0cmluZyk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3I6OmFzc2lnbk9iamVj
dFRvSXRlcmF0b3IpOgotICAgICAgICAqIHRlc3RzL3Rlc3RzLnBybzoKLQotMjAxMC0wNy0wOSAg
SmVkcnplaiBOb3dhY2tpICA8amVkcnplai5ub3dhY2tpQG5va2lhLmNvbT4KLQotICAgICAgICBS
ZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KLQotICAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiB0
aGUgUVNjcmlwdFZhbHVlOjpwcm9wZXJ0eUZsYWdzIGZ1bmN0aW9uLgotCi0gICAgICAgIFRoZSBm
dW5jdGlvbiByZXR1cm5zIHRoZSBmbGFncyBvZiBhIHByb3BlcnR5IHdpdGggdGhlIGdpdmVuIG5h
bWUsCi0gICAgICAgIHVzaW5nIGEgZ2l2ZW4gbW9kZSB0byByZXNvbHZlIHRoZSBwcm9wZXJ0eS4g
VGhpcyBpcyBhIHNpbXBsZQotICAgICAgICBpbXBsZW1lbnRhdGlvbiB0aGF0IGlzIHN1ZmZpY2ll
bnQgdG8gdGVzdCB0aGUgUVNjcmlwdFZhbHVlSXRlcmF0b3IuCi0KLSAgICAgICAgW1F0XSBRU2Ny
aXB0VmFsdWUgQVBJIHNob3VsZCBoYXZlIGEgcHJvcGVydHkgZmxhZyBhY2Nlc3Nvci4KLSAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNzY5Ci0KLSAgICAg
ICAgKiBhcGkvcXNjcmlwdHZhbHVlLmNwcDoKLSAgICAgICAgKFFTY3JpcHRWYWx1ZTo6cHJvcGVy
dHlGbGFncyk6Ci0gICAgICAgICogYXBpL3FzY3JpcHR2YWx1ZS5oOgotICAgICAgICAqIGFwaS9x
c2NyaXB0dmFsdWVfcC5oOgotICAgICAgICAoUVNjcmlwdFZhbHVlUHJpdmF0ZTo6cHJvcGVydHlG
bGFncyk6Ci0gICAgICAgICogdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWUuY3Bw
OgotICAgICAgICAodHN0X1FTY3JpcHRWYWx1ZTo6cHJvcGVydHlGbGFnX2RhdGEpOgotICAgICAg
ICAodHN0X1FTY3JpcHRWYWx1ZTo6cHJvcGVydHlGbGFnKToKLSAgICAgICAgKiB0ZXN0cy9xc2Ny
aXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZS5oOgotCi0yMDEwLTA3LTA3ICBDYWlvIE1hcmNlbG8g
ZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+Ci0KLSAgICAg
ICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCi0KLSAgICAgICAgSW1w
bGVtZW50YXRpb24gb2YgUVNjcmlwdFZhbHVlOjppc0FycmF5KCkKLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNzEzCi0KLSAgICAgICAgU2luY2Ugd2Ug
ZG9uJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIFtbQ2xhc3NdXSBpbnRlcm5hbCBwcm9wZXJ0eSBvZgot
ICAgICAgICBidWlsdGlucyAoaW5jbHVkaW5nIEFycmF5KSwgdGhlIHNvbHV0aW9uIHdhcyB0byBr
ZWVwIHRoZSBvcmlnaW5hbCAnQXJyYXknCi0gICAgICAgIChjb25zdHJ1Y3RvcikgYW5kICdBcnJh
eS5wcm90b3R5cGUnIG9iamVjdHMgYW5kIHVzZSB0aGVtIHRvIGlkZW50aWZ5Ci0gICAgICAgIGlm
IGEgZ2l2ZW4gb2JqZWN0IGlzIGFuIEFycmF5LgotCi0gICAgICAgIEFsc28gdW5jb21tZW50IHNv
bWUgdGVzdHMgYW5kIGFkZCBzb21lIHRlc3RzIG9mIG5ld0FycmF5KCkgdGhhdAotICAgICAgICBk
ZXBlbmRlZCBvbiBpc0FycmF5KCkuIAotCi0gICAgICAgICogYXBpL3FzY3JpcHRlbmdpbmVfcC5j
cHA6Ci0gICAgICAgIChRU2NyaXB0RW5naW5lUHJpdmF0ZTo6UVNjcmlwdEVuZ2luZVByaXZhdGUp
OgotICAgICAgICAoUVNjcmlwdEVuZ2luZVByaXZhdGU6On5RU2NyaXB0RW5naW5lUHJpdmF0ZSk6
Ci0gICAgICAgICogYXBpL3FzY3JpcHRlbmdpbmVfcC5oOgotICAgICAgICAoUVNjcmlwdEVuZ2lu
ZVByaXZhdGU6OmlzQXJyYXkpOgotICAgICAgICAqIGFwaS9xc2NyaXB0dmFsdWUuY3BwOgotICAg
ICAgICAoUVNjcmlwdFZhbHVlOjppc0FycmF5KToKLSAgICAgICAgKiBhcGkvcXNjcmlwdHZhbHVl
Lmg6Ci0gICAgICAgICogYXBpL3FzY3JpcHR2YWx1ZV9wLmg6Ci0gICAgICAgIChRU2NyaXB0VmFs
dWVQcml2YXRlOjppc0FycmF5KToKLSAgICAgICAgKiB0ZXN0cy9xc2NyaXB0ZW5naW5lL3RzdF9x
c2NyaXB0ZW5naW5lLmNwcDoKLSAgICAgICAgKHRzdF9RU2NyaXB0RW5naW5lOjpuZXdBcnJheSk6
Ci0KLTIwMTAtMDctMDYgIEplZHJ6ZWogTm93YWNraSAgPGplZHJ6ZWoubm93YWNraUBub2tpYS5j
b20+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCi0K
LSAgICAgICAgSW1wbGVtZW50YXRpb24gb2YgUVNjcmlwdFZhbHVlIHByb3BlcnRpZXMgYWNjZXNz
b3JzLgotCi0gICAgICAgIFRoZSBwYXRjaCBjb250YWlucyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUg
UVNjcmlwdFZhbHVlOjpwcm9wZXJ0eSgpIGFuZAotICAgICAgICB0aGUgUVNjcmlwdFZhbHVlOjpz
ZXRQcm9wZXJ0eSgpLiBJdCBpcyBub3QgZnVsbCBmdW5jdGlvbmFsaXR5LCBhcyB0aGVzZQotICAg
ICAgICBtZXRob2QgYXJlIHRvbyBjb21wbGV4IGZvciBvbmUgcGF0Y2gsIGJ1dCBpdCBpcyBlbm91
Z2ggdG8gY292ZXIgYWJvdXQKLSAgICAgICAgOTUlIG9mIHVzZSBjYXNlcy4KLQotICAgICAgICBN
aXNzaW5nIGZ1bmN0aW9uYWxpdHk6Ci0gICAgICAgICAtIEZldyBvZiB0aGUgUHJvcGVydHlGbGFn
cyBhcmUgaWdub3JlZC4KLSAgICAgICAgIC0gT25seSBhIHB1YmxpYyBwYXJ0IG9mIHRoZSBSZXNv
bHZlRmxhZ3MgY2FuIGJlIHVzZWQgKFJlc29sdmVMb2NhbCwKLSAgICAgICAgIFJlc29sdmVQcm90
b3R5cGUpLgotCi0gICAgICAgIEEgbG90IG9mIG5ldyB0ZXN0IGNhc2VzIHdlcmUgYWRkZWQuCi0K
LSAgICAgICAgW1F0XSBRU2NyaXB0VmFsdWUgc2hvdWxkIGhhdmUgQVBJIGZvciBhY2Nlc3Npbmcg
b2JqZWN0IHByb3BlcnRpZXMKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQwOTAzCi0KLSAgICAgICAgKiBhcGkvcXNjcmlwdGNvbnZlcnRlcl9wLmg6Ci0g
ICAgICAgIChRU2NyaXB0Q29udmVydGVyOjp0b1Byb3BlcnR5RmxhZ3MpOgotICAgICAgICAqIGFw
aS9xc2NyaXB0c3RyaW5nX3AuaDoKLSAgICAgICAgKFFTY3JpcHRTdHJpbmdQcml2YXRlOjpvcGVy
YXRvciBKU1N0cmluZ1JlZik6Ci0gICAgICAgICogYXBpL3FzY3JpcHR2YWx1ZS5jcHA6Ci0gICAg
ICAgIChRU2NyaXB0VmFsdWU6OnByb3BlcnR5KToKLSAgICAgICAgKFFTY3JpcHRWYWx1ZTo6c2V0
UHJvcGVydHkpOgotICAgICAgICAqIGFwaS9xc2NyaXB0dmFsdWUuaDoKLSAgICAgICAgKFFTY3Jp
cHRWYWx1ZTo6KToKLSAgICAgICAgKiBhcGkvcXNjcmlwdHZhbHVlX3AuaDoKLSAgICAgICAgKFFT
Y3JpcHRWYWx1ZVByaXZhdGU6OmFzc2lnbkVuZ2luZSk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVQ
cml2YXRlOjpwcm9wZXJ0eSk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVQcml2YXRlOjpoYXNPd25Q
cm9wZXJ0eSk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVQcml2YXRlOjpzZXRQcm9wZXJ0eSk6Ci0g
ICAgICAgIChRU2NyaXB0VmFsdWVQcml2YXRlOjpkZWxldGVQcm9wZXJ0eSk6Ci0gICAgICAgICog
dGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWUuY3BwOgotICAgICAgICAodHN0X1FT
Y3JpcHRWYWx1ZTo6Z2V0UHJvcGVydHlTaW1wbGVfZGF0YSk6Ci0gICAgICAgICh0c3RfUVNjcmlw
dFZhbHVlOjpnZXRQcm9wZXJ0eVNpbXBsZSk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjpz
ZXRQcm9wZXJ0eVNpbXBsZSk6Ci0gICAgICAgICh0c3RfUVNjcmlwdFZhbHVlOjpnZXRQcm9wZXJ0
eVJlc29sdmVGbGFnKToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OmdldFNldFByb3BlcnR5
KToKLSAgICAgICAgKHRzdF9RU2NyaXB0VmFsdWU6OnNldFByb3BlcnR5X2RhdGEpOgotICAgICAg
ICAodHN0X1FTY3JpcHRWYWx1ZTo6c2V0UHJvcGVydHkpOgotICAgICAgICAqIHRlc3RzL3FzY3Jp
cHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlLmg6Ci0KLTIwMTAtMDctMDIgIEplZHJ6ZWogTm93YWNr
aSAgPGplZHJ6ZWoubm93YWNraUBub2tpYS5jb20+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgU2lt
b24gSGF1c21hbm4uCi0KLSAgICAgICAgQ29tcGlsYXRpb24gZml4LgotCi0gICAgICAgIFFTY3Jp
cHRFbmdpbmVQcml2YXRlOjpuZXdBcnJheSBjYW4ndCBiZSBjb25zdCBiZWNhdXNlIGl0IGNhbgot
ICAgICAgICB0aHJvdyBhbiBleGNlcHRpb24uCi0KLSAgICAgICAgW1F0XSBRU2NyaXB0RW5naW5l
UHJpdmF0ZSBjb21waWxhdGlvbiBmaXgKLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQxNTIwCi0KLSAgICAgICAgKiBhcGkvcXNjcmlwdGVuZ2luZV9wLmNw
cDoKLSAgICAgICAgKFFTY3JpcHRFbmdpbmVQcml2YXRlOjpuZXdBcnJheSk6Ci0gICAgICAgICog
YXBpL3FzY3JpcHRlbmdpbmVfcC5oOgotCi0yMDEwLTA2LTI4ICBKZWRyemVqIE5vd2Fja2kgIDxq
ZWRyemVqLm5vd2Fja2lAbm9raWEuY29tPgotCi0gICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhh
dXNtYW5uLgotCi0gICAgICAgIEltcGxlbWVudCBleGNlcHRpb24gcmVwb3J0aW5nIGluIHRoZSBR
dFNjcmlwdCBBUEkuCi0KLSAgICAgICAgVGhlIGV4Y2VwdGlvbiBzaG91bGQgYmUgYWNjZXNzaWJs
ZSB0aHJvdWdoIHRoZSBBUEkgYnkgdGhlIHVuY2F1Z2h0RXhjZXB0aW9uCi0gICAgICAgIGZ1bmN0
aW9uLiBGdW5jdGlvbnM7IGhhc1VuY2F1Z2h0RXhjZXB0aW9uLCBjbGVhckV4Y2VwdGlvbnMsIHVu
Y2F1Z2h0RXhjZXB0aW9uTGluZU51bWJlciwKLSAgICAgICAgdW5jYXVnaHRFeGNlcHRpb25CYWNr
dHJhY2Ugd2VyZSBhZGRlZCB0byBmYWNpbGl0YXRlIGVycm9yIGNoZWNraW5nIGFuZCBkZWJ1Z2dp
bmcuCi0KLSAgICAgICAgW1F0XSBRdFNjcmlwdCBBUEkgc2hvdWxkIGJlIGV4Y2VwdGlvbnMgYXdh
cmUuCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTE5
OQotCi0gICAgICAgICogYXBpL3FzY3JpcHRlbmdpbmUuY3BwOgotICAgICAgICAoUVNjcmlwdEVu
Z2luZTo6aGFzVW5jYXVnaHRFeGNlcHRpb24pOgotICAgICAgICAoUVNjcmlwdEVuZ2luZTo6dW5j
YXVnaHRFeGNlcHRpb24pOgotICAgICAgICAoUVNjcmlwdEVuZ2luZTo6Y2xlYXJFeGNlcHRpb25z
KToKLSAgICAgICAgKFFTY3JpcHRFbmdpbmU6OnVuY2F1Z2h0RXhjZXB0aW9uTGluZU51bWJlcik6
Ci0gICAgICAgIChRU2NyaXB0RW5naW5lOjp1bmNhdWdodEV4Y2VwdGlvbkJhY2t0cmFjZSk6Ci0g
ICAgICAgICogYXBpL3FzY3JpcHRlbmdpbmUuaDoKLSAgICAgICAgKiBhcGkvcXNjcmlwdGVuZ2lu
ZV9wLmNwcDoKLSAgICAgICAgKFFTY3JpcHRFbmdpbmVQcml2YXRlOjpRU2NyaXB0RW5naW5lUHJp
dmF0ZSk6Ci0gICAgICAgIChRU2NyaXB0RW5naW5lUHJpdmF0ZTo6flFTY3JpcHRFbmdpbmVQcml2
YXRlKToKLSAgICAgICAgKFFTY3JpcHRFbmdpbmVQcml2YXRlOjp1bmNhdWdodEV4Y2VwdGlvbik6
Ci0gICAgICAgICogYXBpL3FzY3JpcHRlbmdpbmVfcC5oOgotICAgICAgICAoUVNjcmlwdEVuZ2lu
ZVByaXZhdGU6Oik6Ci0gICAgICAgIChRU2NyaXB0RW5naW5lUHJpdmF0ZTo6ZXZhbHVhdGUpOgot
ICAgICAgICAoUVNjcmlwdEVuZ2luZVByaXZhdGU6Omhhc1VuY2F1Z2h0RXhjZXB0aW9uKToKLSAg
ICAgICAgKFFTY3JpcHRFbmdpbmVQcml2YXRlOjpjbGVhckV4Y2VwdGlvbnMpOgotICAgICAgICAo
UVNjcmlwdEVuZ2luZVByaXZhdGU6OnNldEV4Y2VwdGlvbik6Ci0gICAgICAgIChRU2NyaXB0RW5n
aW5lUHJpdmF0ZTo6dW5jYXVnaHRFeGNlcHRpb25MaW5lTnVtYmVyKToKLSAgICAgICAgKFFTY3Jp
cHRFbmdpbmVQcml2YXRlOjp1bmNhdWdodEV4Y2VwdGlvbkJhY2t0cmFjZSk6Ci0gICAgICAgICog
YXBpL3FzY3JpcHR2YWx1ZV9wLmg6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVQcml2YXRlOjp0b1N0
cmluZyk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVQcml2YXRlOjp0b051bWJlcik6Ci0gICAgICAg
IChRU2NyaXB0VmFsdWVQcml2YXRlOjp0b09iamVjdCk6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVQ
cml2YXRlOjplcXVhbHMpOgotICAgICAgICAoUVNjcmlwdFZhbHVlUHJpdmF0ZTo6aW5zdGFuY2VP
Zik6Ci0gICAgICAgIChRU2NyaXB0VmFsdWVQcml2YXRlOjpjYWxsKToKLSAgICAgICAgKFFTY3Jp
cHRWYWx1ZVByaXZhdGU6OmluaGVyaXRzKToKLSAgICAgICAgKiB0ZXN0cy9xc2NyaXB0ZW5naW5l
L3RzdF9xc2NyaXB0ZW5naW5lLmNwcDoKLSAgICAgICAgKHRzdF9RU2NyaXB0RW5naW5lOjp1bmNh
dWdodEV4Y2VwdGlvbik6Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5neXBpIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5
cGkKaW5kZXggZmM2NGI3Y2VmODBhZjE1N2MwZTQ3YjY3MGI4OGQ5MTQxZTk5NWU3My4uMDMyMDNl
MmIxMGNiMjYwYmQ3YThjNzYzZDM0NDAzNjhlYzQ2ZWMwOCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTQzMiw0MSArNDMyLDYgQEAKICAgICAgICAgICAg
ICdwcm9maWxlci9Qcm9maWxlR2VuZXJhdG9yLmgnLAogICAgICAgICAgICAgJ3Byb2ZpbGVyL1By
b2ZpbGVOb2RlLmNwcCcsCiAgICAgICAgICAgICAncHJvZmlsZXIvUHJvZmlsZXIuY3BwJywKLSAg
ICAgICAgICAgICdxdC9hcGkvcXNjcmlwdGNvbnZlcnRlcl9wLmgnLAotICAgICAgICAgICAgJ3F0
L2FwaS9xc2NyaXB0ZW5naW5lLmNwcCcsCi0gICAgICAgICAgICAncXQvYXBpL3FzY3JpcHRlbmdp
bmUuaCcsCi0gICAgICAgICAgICAncXQvYXBpL3FzY3JpcHRlbmdpbmVfcC5jcHAnLAotICAgICAg
ICAgICAgJ3F0L2FwaS9xc2NyaXB0ZW5naW5lX3AuaCcsCi0gICAgICAgICAgICAncXQvYXBpL3Fz
Y3JpcHRmdW5jdGlvbi5jcHAnLAotICAgICAgICAgICAgJ3F0L2FwaS9xc2NyaXB0ZnVuY3Rpb25f
cC5oJywKLSAgICAgICAgICAgICdxdC9hcGkvcXNjcmlwdG9yaWdpbmFsZ2xvYmFsb2JqZWN0X3Au
aCcsCi0gICAgICAgICAgICAncXQvYXBpL3FzY3JpcHRwcm9ncmFtLmNwcCcsCi0gICAgICAgICAg
ICAncXQvYXBpL3FzY3JpcHRwcm9ncmFtLmgnLAotICAgICAgICAgICAgJ3F0L2FwaS9xc2NyaXB0
cHJvZ3JhbV9wLmgnLAotICAgICAgICAgICAgJ3F0L2FwaS9xc2NyaXB0c3RyaW5nLmNwcCcsCi0g
ICAgICAgICAgICAncXQvYXBpL3FzY3JpcHRzdHJpbmcuaCcsCi0gICAgICAgICAgICAncXQvYXBp
L3FzY3JpcHRzdHJpbmdfcC5oJywKLSAgICAgICAgICAgICdxdC9hcGkvcXNjcmlwdHN5bnRheGNo
ZWNrcmVzdWx0LmNwcCcsCi0gICAgICAgICAgICAncXQvYXBpL3FzY3JpcHRzeW50YXhjaGVja3Jl
c3VsdC5oJywKLSAgICAgICAgICAgICdxdC9hcGkvcXNjcmlwdHN5bnRheGNoZWNrcmVzdWx0X3Au
aCcsCi0gICAgICAgICAgICAncXQvYXBpL3FzY3JpcHR2YWx1ZS5jcHAnLAotICAgICAgICAgICAg
J3F0L2FwaS9xc2NyaXB0dmFsdWUuaCcsCi0gICAgICAgICAgICAncXQvYXBpL3FzY3JpcHR2YWx1
ZV9wLmgnLAotICAgICAgICAgICAgJ3F0L2FwaS9xc2NyaXB0dmFsdWVpdGVyYXRvci5jcHAnLAot
ICAgICAgICAgICAgJ3F0L2FwaS9xc2NyaXB0dmFsdWVpdGVyYXRvci5oJywKLSAgICAgICAgICAg
ICdxdC9hcGkvcXNjcmlwdHZhbHVlaXRlcmF0b3JfcC5oJywKLSAgICAgICAgICAgICdxdC9hcGkv
cXRzY3JpcHRnbG9iYWwuaCcsCi0gICAgICAgICAgICAncXQvYmVuY2htYXJrcy9xc2NyaXB0ZW5n
aW5lL3RzdF9xc2NyaXB0ZW5naW5lLmNwcCcsCi0gICAgICAgICAgICAncXQvYmVuY2htYXJrcy9x
c2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZS5jcHAnLAotICAgICAgICAgICAgJ3F0L3Rlc3Rz
L3FzY3JpcHRlbmdpbmUvdHN0X3FzY3JpcHRlbmdpbmUuY3BwJywKLSAgICAgICAgICAgICdxdC90
ZXN0cy9xc2NyaXB0c3RyaW5nL3RzdF9xc2NyaXB0c3RyaW5nLmNwcCcsCi0gICAgICAgICAgICAn
cXQvdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWUuY3BwJywKLSAgICAgICAgICAg
ICdxdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZS5oJywKLSAgICAgICAgICAg
ICdxdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZV9nZW5lcmF0ZWRfY29tcGFy
aXNvbi5jcHAnLAotICAgICAgICAgICAgJ3F0L3Rlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlw
dHZhbHVlX2dlbmVyYXRlZF9pbml0LmNwcCcsCi0gICAgICAgICAgICAncXQvdGVzdHMvcXNjcmlw
dHZhbHVlL3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2lzdHlwZS5jcHAnLAotICAgICAgICAg
ICAgJ3F0L3Rlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlX2dlbmVyYXRlZF90b3R5
cGUuY3BwJywKLSAgICAgICAgICAgICdxdC90ZXN0cy9xc2NyaXB0dmFsdWVpdGVyYXRvci90c3Rf
cXNjcmlwdHZhbHVlaXRlcmF0b3IuY3BwJywKICAgICAgICAgICAgICdydW50aW1lL0FyZ0xpc3Qu
Y3BwJywKICAgICAgICAgICAgICdydW50aW1lL0FyZ3VtZW50cy5jcHAnLAogICAgICAgICAgICAg
J3J1bnRpbWUvQXJndW1lbnRzLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnByaSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS5wcmkKaW5kZXggNjM5NjcwZmY2MTdmMTA1N2U4ZDMxMDE4ZjY2YjE5Y2FkZjhhZDYzMy4uYzRi
ODMxNzQ3YWMzOWY1Y2YwOTg5NTY3OWEwMTAwOTk1YWVhMmRmZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnByaQorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUucHJpCkBAIC04NCw3ICs4NCw3IEBAIGRlZmluZVRlc3QocHJl
cGVuZEphdmFTY3JpcHRDb3JlTGliKSB7CiAgICAgfQogCiAgICAgIyBUaGUgZm9sbG93aW5nIGxp
bmUgaXMgdG8gcHJldmVudCBxbWFrZSBmcm9tIGFkZGluZyBqc2NvcmUgdG8gbGliUXRXZWJLaXQn
cyBwcmwgZGVwZW5kZW5jaWVzLgotICAgICMgVGhlIGNvbXByb21pc2Ugd2UgaGF2ZSB0byBhY2Nl
cHQgYnkgZGlzYWJsaW5nIGV4cGxpY2l0bGliIGlzIHRvIGRyb3Agc3VwcG9ydCB0byBsaW5rIFF0
V2ViS2l0IGFuZCBRdFNjcmlwdAorICAgICMgVGhlIGNvbXByb21pc2Ugd2UgaGF2ZSB0byBhY2Nl
cHQgYnkgZGlzYWJsaW5nIGV4cGxpY2l0bGliIGlzIHRvIGRyb3Agc3VwcG9ydCB0byBsaW5rIFF0
V2ViS2l0CiAgICAgIyBzdGF0aWNhbGx5IGluIGFwcGxpY2F0aW9ucyAod2hpY2ggaXNuJ3QgdXNl
ZCBvZnRlbiBiZWNhdXNlLCBhbW9uZyBvdGhlciB0aGluZ3MsIG9mIGxpY2Vuc2luZyBvYnN0YWNs
ZXMpLgogICAgIENPTkZJRyAtPSBleHBsaWNpdGxpYgogICAgIENPTkZJRyAtPSBzdGF0aWNsaWIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvUXRTY3JpcHQucHJvIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9RdFNjcmlwdC5wcm8KZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDIyZThiMGNjZjljMmVkOGEwN2FiZTY4NGNlZGQ5MzdhZDc1MGM5ODcu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3F0L2FwaS9RdFNjcmlwdC5wcm8KKysrIC9kZXYvbnVsbApAQCAtMSw0NiAr
MCwwIEBACi1UQVJHRVQgICAgID0gUXRTY3JpcHQKLVRFTVBMQVRFICAgPSBsaWIKLVFUICAgICAg
ICAgPSBjb3JlCi0KLUlOQ0xVREVQQVRIICs9ICQkUFdECi0KLUNPTkZJRyArPSBidWlsZGluZy1s
aWJzCi0KLWlzRW1wdHkoSlNDX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUik6SlNDX0dFTkVSQVRFRF9T
T1VSQ0VTX0RJUiA9IC4uLy4uL2dlbmVyYXRlZAotCi1pc0VtcHR5KE9VVFBVVF9ESVIpOiBPVVRQ
VVRfRElSID0gLi4vLi4vLi4KLWluY2x1ZGUoJCRQV0QvLi4vLi4vLi4vV2ViS2l0LnByaSkKLQot
aW5jbHVkZSgkJFBXRC8uLi8uLi9KYXZhU2NyaXB0Q29yZS5wcmkpCi1wcmVwZW5kSmF2YVNjcmlw
dENvcmVMaWIoLi4vLi4pCi0KLUlOQ0xVREVQQVRIICs9ICQkUFdELy4uLy4uL0FQSQotCi1TT1VS
Q0VTICs9ICAkJFBXRC9xc2NyaXB0ZW5naW5lLmNwcCBcCi0gICAgICAgICAgICAkJFBXRC9xc2Ny
aXB0ZW5naW5lX3AuY3BwIFwKLSAgICAgICAgICAgICQkUFdEL3FzY3JpcHR2YWx1ZS5jcHAgXAot
ICAgICAgICAgICAgJCRQV0QvcXNjcmlwdHZhbHVlaXRlcmF0b3IuY3BwIFwKLSAgICAgICAgICAg
ICQkUFdEL3FzY3JpcHRzdHJpbmcuY3BwIFwKLSAgICAgICAgICAgICQkUFdEL3FzY3JpcHRwcm9n
cmFtLmNwcCBcCi0gICAgICAgICAgICAkJFBXRC9xc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHQuY3Bw
IFwKLSAgICAgICAgICAgICQkUFdEL3FzY3JpcHRmdW5jdGlvbi5jcHAKLQotSEVBREVSUyArPSAg
JCRQV0QvcXRzY3JpcHRnbG9iYWwuaCBcCi0gICAgICAgICAgICAkJFBXRC9xc2NyaXB0ZW5naW5l
LmggXAotICAgICAgICAgICAgJCRQV0QvcXNjcmlwdGVuZ2luZV9wLmggXAotICAgICAgICAgICAg
JCRQV0QvcXNjcmlwdHZhbHVlLmggXAotICAgICAgICAgICAgJCRQV0QvcXNjcmlwdHZhbHVlX3Au
aCBcCi0gICAgICAgICAgICAkJFBXRC9xc2NyaXB0dmFsdWVpdGVyYXRvci5oIFwKLSAgICAgICAg
ICAgICQkUFdEL3FzY3JpcHR2YWx1ZWl0ZXJhdG9yX3AuaCBcCi0gICAgICAgICAgICAkJFBXRC9x
c2NyaXB0Y29udmVydGVyX3AuaCBcCi0gICAgICAgICAgICAkJFBXRC9xc2NyaXB0c3RyaW5nLmgg
XAotICAgICAgICAgICAgJCRQV0QvcXNjcmlwdHN0cmluZ19wLmggXAotICAgICAgICAgICAgJCRQ
V0QvcXNjcmlwdHByb2dyYW0uaCBcCi0gICAgICAgICAgICAkJFBXRC9xc2NyaXB0cHJvZ3JhbV9w
LmggXAotICAgICAgICAgICAgJCRQV0QvcXNjcmlwdHN5bnRheGNoZWNrcmVzdWx0LmggXAotICAg
ICAgICAgICAgJCRQV0QvcXNjcmlwdG9yaWdpbmFsZ2xvYmFsb2JqZWN0X3AuaCBcCi0gICAgICAg
ICAgICAkJFBXRC9xc2NyaXB0ZnVuY3Rpb25fcC5oCi0KLSFzdGF0aWM6IERFRklORVMgKz0gUVRf
TUFLRURMTAotCi1ERVNURElSID0gJCRPVVRQVVRfRElSL2xpYgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0Y29udmVydGVyX3AuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGNvbnZlcnRlcl9wLmgKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDBjNTdkOTU1NGExZDZmMWUzNTQyY2I3Yzc0NGFjMzk5NGUzNGViMmYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0Y29udmVydGVyX3AuaAorKysgL2Rldi9udWxsCkBAIC0x
LDE0NiArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAwOCBOb2tpYSBDb3Jwb3JhdGlv
biBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAg
ICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAg
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAg
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaWZuZGVmIHFzY3JpcHRjb252ZXJ0
ZXJfcF9oCi0jZGVmaW5lIHFzY3JpcHRjb252ZXJ0ZXJfcF9oCi0KLSNpbmNsdWRlICJxc2NyaXB0
dmFsdWUuaCIKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Lmg+Ci0jaW5jbHVk
ZSA8UXRDb3JlL3FnbG9iYWwuaD4KLSNpbmNsdWRlIDxRdENvcmUvcW51bWVyaWMuaD4KLSNpbmNs
dWRlIDxRdENvcmUvcXN0cmluZy5oPgotI2luY2x1ZGUgPFF0Q29yZS9xdmFybGVuZ3RoYXJyYXku
aD4KLQotZXh0ZXJuIGNoYXIgKnFkdG9hKGRvdWJsZSBkLCBpbnQgbW9kZSwgaW50IG5kaWdpdHMs
IGludCAqZGVjcHQsIGludCAqc2lnbiwgY2hhciAqKnJ2ZSwgY2hhciAqKmRpZ2l0c19zdHIpOwot
Ci0vKgotICBcaW50ZXJuYWwKLSAgXGNsYXNzIFFTY3JpcHRDb252ZXJ0ZXIKLSAgUVNjcmlwdFZh
bHVlIGFuZCBRU2NyaXB0RW5naW5lIGhlbHBlciBjbGFzcy4gVGhpcyBjbGFzcydzIHJlc3BvbnNp
YmlsaXR5IGlzIHRvIGNvbnZlcnQgdmFsdWVzCi0gIGJldHdlZW4gSlMgdmFsdWVzIGFuZCBRdC9D
KysgdmFsdWVzLgotCi0gIFRoaXMgaXMgYSBuaWNlIHdheSB0byBpbmxpbmUgdGhlc2UgZnVuY3Rp
b25zIGluIGJvdGggUVNjcmlwdFZhbHVlIGFuZCBRU2NyaXB0RW5naW5lLgotKi8KLWNsYXNzIFFT
Y3JpcHRDb252ZXJ0ZXIgewotcHVibGljOgotICAgIHN0YXRpYyBxdWludDMyIHRvQXJyYXlJbmRl
eChjb25zdCBKU1N0cmluZ1JlZiBqc3N0cmluZykKLSAgICB7Ci0gICAgICAgIC8vIEZJWE1FIHRo
aXMgZnVuY3Rpb24gc2hvdWxkIGJlIGV4cG9ydGVkIGJ5IEpTQyBDIEFQSS4KLSAgICAgICAgUVN0
cmluZyBxc3RyaW5nID0gdG9TdHJpbmcoanNzdHJpbmcpOwotCi0gICAgICAgIGJvb2wgb2s7Ci0g
ICAgICAgIHF1aW50MzIgaWR4ID0gcXN0cmluZy50b1VJbnQoJm9rKTsKLSAgICAgICAgaWYgKCFv
ayB8fCB0b1N0cmluZyhpZHgpICE9IHFzdHJpbmcpCi0gICAgICAgICAgICBpZHggPSAweGZmZmZm
ZmZmOwotCi0gICAgICAgIHJldHVybiBpZHg7Ci0gICAgfQotCi0gICAgc3RhdGljIFFTdHJpbmcg
dG9TdHJpbmcoY29uc3QgSlNTdHJpbmdSZWYgc3RyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIFFT
dHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBRQ2hhcio+KEpTU3RyaW5nR2V0Q2hhcmFjdGVy
c1B0cihzdHIpKSwgSlNTdHJpbmdHZXRMZW5ndGgoc3RyKSk7Ci0gICAgfQotICAgIHN0YXRpYyBK
U1N0cmluZ1JlZiB0b1N0cmluZyhjb25zdCBRU3RyaW5nJiBzdHIpCi0gICAgewotICAgICAgICBy
ZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoc3RyLnRvVXRmOCgpLmNvbnN0RGF0
YSgpKTsKLSAgICB9Ci0gICAgc3RhdGljIEpTU3RyaW5nUmVmIHRvU3RyaW5nKGNvbnN0IGNoYXIq
IHN0cikKLSAgICB7Ci0gICAgICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmlu
ZyhzdHIpOwotICAgIH0KLSAgICBzdGF0aWMgUVN0cmluZyB0b1N0cmluZyhkb3VibGUgdmFsdWUp
Ci0gICAgewotICAgICAgICAvLyBGSVhNRSB0aGlzIHNob3VsZCBiZSBlYXNpZXIuIFRoZSBpZGVh
bCBmaXggaXMgdG8gY3JlYXRlCi0gICAgICAgIC8vIGEgbmV3IGZ1bmN0aW9uIGluIEpTQyBDIEFQ
SSB3aGljaCBjb3VsZCBjb3ZlciB0aGUgZnVuY3Rpb25hbGl0eS4KLQotICAgICAgICBpZiAocUlz
TmFOKHZhbHVlKSkKLSAgICAgICAgICAgIHJldHVybiBRU3RyaW5nOjpmcm9tTGF0aW4xKCJOYU4i
KTsKLSAgICAgICAgaWYgKHFJc0luZih2YWx1ZSkpCi0gICAgICAgICAgICByZXR1cm4gUVN0cmlu
Zzo6ZnJvbUxhdGluMSh2YWx1ZSA8IDAgPyAiLUluZmluaXR5IiA6ICJJbmZpbml0eSIpOwotICAg
ICAgICBpZiAoIXZhbHVlKQotICAgICAgICAgICAgcmV0dXJuIFFTdHJpbmc6OmZyb21MYXRpbjEo
IjAiKTsKLQotICAgICAgICBRVmFyTGVuZ3RoQXJyYXk8Y2hhciwgMjU+IGJ1ZjsKLSAgICAgICAg
aW50IGRlY3B0OwotICAgICAgICBpbnQgc2lnbjsKLSAgICAgICAgY2hhciogcmVzdWx0ID0gMDsK
LSAgICAgICAgY2hhciogZW5kcmVzdWx0OwotICAgICAgICAodm9pZClxZHRvYSh2YWx1ZSwgMCwg
MCwgJmRlY3B0LCAmc2lnbiwgJmVuZHJlc3VsdCwgJnJlc3VsdCk7Ci0KLSAgICAgICAgaWYgKCFy
ZXN1bHQpCi0gICAgICAgICAgICByZXR1cm4gUVN0cmluZygpOwotCi0gICAgICAgIGludCByZXN1
bHRMZW4gPSBlbmRyZXN1bHQgLSByZXN1bHQ7Ci0gICAgICAgIGlmIChkZWNwdCA8PSAwICYmIGRl
Y3B0ID4gLTYpIHsKLSAgICAgICAgICAgIGJ1Zi5yZXNpemUoLWRlY3B0ICsgMiArIHNpZ24pOwot
ICAgICAgICAgICAgcU1lbVNldChidWYuZGF0YSgpLCAnMCcsIC1kZWNwdCArIDIgKyBzaWduKTsK
LSAgICAgICAgICAgIGlmIChzaWduKSAvLyBmaXggdGhlIHNpZ24uCi0gICAgICAgICAgICAgICAg
YnVmWzBdID0gJy0nOwotICAgICAgICAgICAgYnVmW3NpZ24gKyAxXSA9ICcuJzsKLSAgICAgICAg
ICAgIGJ1Zi5hcHBlbmQocmVzdWx0LCByZXN1bHRMZW4pOwotICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgaWYgKHNpZ24pCi0gICAgICAgICAgICAgICAgYnVmLmFwcGVuZCgnLScpOwotICAg
ICAgICAgICAgaW50IGxlbmd0aCA9IGJ1Zi5zaXplKCkgLSBzaWduICsgcmVzdWx0TGVuOwotICAg
ICAgICAgICAgaWYgKGRlY3B0IDw9IDIxICYmIGRlY3B0ID4gMCkgewotICAgICAgICAgICAgICAg
IGlmIChsZW5ndGggPD0gZGVjcHQpIHsKLSAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciog
emVyb3MgPSAiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCI7Ci0gICAgICAgICAgICAgICAgICAg
IGJ1Zi5hcHBlbmQocmVzdWx0LCByZXN1bHRMZW4pOwotICAgICAgICAgICAgICAgICAgICBidWYu
YXBwZW5kKHplcm9zLCBkZWNwdCAtIGxlbmd0aCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICAgICAgYnVmLmFwcGVuZChyZXN1bHQsIGRlY3B0KTsKLSAgICAgICAg
ICAgICAgICAgICAgYnVmLmFwcGVuZCgnLicpOwotICAgICAgICAgICAgICAgICAgICBidWYuYXBw
ZW5kKHJlc3VsdCArIGRlY3B0LCByZXN1bHRMZW4gLSBkZWNwdCk7Ci0gICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHRbMF0gPj0gJzAnICYmIHJlc3VsdFswXSA8
PSAnOScpIHsKLSAgICAgICAgICAgICAgICBpZiAobGVuZ3RoID4gMSkgewotICAgICAgICAgICAg
ICAgICAgICBidWYuYXBwZW5kKHJlc3VsdCwgMSk7Ci0gICAgICAgICAgICAgICAgICAgIGJ1Zi5h
cHBlbmQoJy4nKTsKLSAgICAgICAgICAgICAgICAgICAgYnVmLmFwcGVuZChyZXN1bHQgKyAxLCBy
ZXN1bHRMZW4gLSAxKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAg
ICAgYnVmLmFwcGVuZChyZXN1bHQsIHJlc3VsdExlbik7Ci0gICAgICAgICAgICAgICAgYnVmLmFw
cGVuZCgnZScpOwotICAgICAgICAgICAgICAgIGJ1Zi5hcHBlbmQoZGVjcHQgPj0gMCA/ICcrJyA6
ICctJyk7Ci0gICAgICAgICAgICAgICAgaW50IGUgPSBxQWJzKGRlY3B0IC0gMSk7Ci0gICAgICAg
ICAgICAgICAgaWYgKGUgPj0gMTAwKQotICAgICAgICAgICAgICAgICAgICBidWYuYXBwZW5kKCcw
JyArIGUgLyAxMDApOwotICAgICAgICAgICAgICAgIGlmIChlID49IDEwKQotICAgICAgICAgICAg
ICAgICAgICBidWYuYXBwZW5kKCcwJyArIChlICUgMTAwKSAvIDEwKTsKLSAgICAgICAgICAgICAg
ICBidWYuYXBwZW5kKCcwJyArIGUgJSAxMCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAg
ICAgICAgZnJlZShyZXN1bHQpOwotICAgICAgICBidWYuYXBwZW5kKDApOwotICAgICAgICByZXR1
cm4gUVN0cmluZzo6ZnJvbUxhdGluMShidWYuY29uc3REYXRhKCkpOwotICAgIH0KLQotICAgIHN0
YXRpYyBKU1Byb3BlcnR5QXR0cmlidXRlcyB0b1Byb3BlcnR5RmxhZ3MoY29uc3QgUUZsYWdzPFFT
Y3JpcHRWYWx1ZTo6UHJvcGVydHlGbGFnPiYgZmxhZ3MpCi0gICAgewotICAgICAgICBKU1Byb3Bl
cnR5QXR0cmlidXRlcyBhdHRyID0gMDsKLSAgICAgICAgaWYgKGZsYWdzLnRlc3RGbGFnKFFTY3Jp
cHRWYWx1ZTo6UmVhZE9ubHkpKQotICAgICAgICAgICAgYXR0ciB8PSBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5OwotICAgICAgICBpZiAoZmxhZ3MudGVzdEZsYWcoUVNjcmlwdFZhbHVlOjpV
bmRlbGV0YWJsZSkpCi0gICAgICAgICAgICBhdHRyIHw9IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9u
dERlbGV0ZTsKLSAgICAgICAgaWYgKGZsYWdzLnRlc3RGbGFnKFFTY3JpcHRWYWx1ZTo6U2tpcElu
RW51bWVyYXRpb24pKQotICAgICAgICAgICAgYXR0ciB8PSBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnRFbnVtOwotICAgICAgICByZXR1cm4gYXR0cjsKLSAgICB9Ci19OwotCi0jZW5kaWYgLy8gcXNj
cmlwdGNvbnZlcnRlcl9wX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9h
cGkvcXNjcmlwdGVuZ2luZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3Jp
cHRlbmdpbmUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDdiMGI5ZGNkNmY4
MWJjMDIyZmQ3ODNhMWY2NDhiODVmMmJmOGU1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGVu
Z2luZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0MjYgKzAsMCBAQAotLyoKLSAgICBDb3B5cmln
aHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMp
Ci0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
LSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgot
Ki8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaW5jbHVkZSAicXNjcmlwdGVuZ2luZS5oIgot
Ci0jaW5jbHVkZSAicXNjcmlwdGVuZ2luZV9wLmgiCi0jaW5jbHVkZSAicXNjcmlwdHByb2dyYW1f
cC5oIgotI2luY2x1ZGUgInFzY3JpcHRzeW50YXhjaGVja3Jlc3VsdF9wLmgiCi0jaW5jbHVkZSAi
cXNjcmlwdHZhbHVlX3AuaCIKLSNpbmNsdWRlIDxRdENvcmUvcWRhdGV0aW1lLmg+Ci0jaW5jbHVk
ZSA8UXRDb3JlL3FudW1lcmljLmg+Ci0KLS8qIQotICAgIENvbnN0cnVjdHMgYSBRU2NyaXB0RW5n
aW5lIG9iamVjdC4KLQotICAgIFRoZSBnbG9iYWxPYmplY3QoKSBpcyBpbml0aWFsaXplZCB0byBo
YXZlIHByb3BlcnRpZXMgYXMgZGVzY3JpYmVkIGluIEVDTUEtMjYyLCBTZWN0aW9uIDE1LjEuCi0q
LwotUVNjcmlwdEVuZ2luZTo6UVNjcmlwdEVuZ2luZSgpCi0gICAgOiBkX3B0cihuZXcgUVNjcmlw
dEVuZ2luZVByaXZhdGUodGhpcykpCi17Ci19Ci0KLS8qIQotICAgIERlc3Ryb3lzIHRoaXMgUVNj
cmlwdEVuZ2luZS4KLSovCi1RU2NyaXB0RW5naW5lOjp+UVNjcmlwdEVuZ2luZSgpCi17Ci19Ci0K
LS8qIQotICBDaGVja3MgdGhlIHN5bnRheCBvZiB0aGUgZ2l2ZW4gXGEgcHJvZ3JhbS4gUmV0dXJu
cyBhCi0gIFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdCBvYmplY3QgdGhhdCBjb250YWlucyB0aGUg
cmVzdWx0IG9mIHRoZSBjaGVjay4KLSovCi1RU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQgUVNjcmlw
dEVuZ2luZTo6Y2hlY2tTeW50YXgoY29uc3QgUVN0cmluZyAmcHJvZ3JhbSkKLXsKLSAgICAvLyBG
SVhNRSBUaGlzIGlzIG5vdCBvcHRpbWFsLgotICAgIC8vIFRoZSBKU0MgQyBBUEkgbmVlZHMgYSBj
b250ZXh0IHRvIHBlcmZvcm0gYSBzeW50YXggY2hlY2ssIGl0IG1lYW5zIHRoYXQgYSBRU2NyaXB0
RW5naW5lUHJpdmF0ZQotICAgIC8vIGhhZCB0byBiZSBjcmVhdGVkLiBUaGlzIGZ1bmN0aW9uIGlz
IHN0YXRpYyBzbyB3ZSBoYXZlIHRvIGNyZWF0ZSBRU2NyaXB0RW5naW5lUHJpdmF0ZSBmb3IgZWFj
aAotICAgIC8vIGNhbGwuIFdlIGNhbid0IHJlbW92ZSB0aGUgInN0YXRpYyIgZm9yIGNvbXBhdGli
aWxpdHkgcmVhc29uLCBhdCBsZWFzdCB1cCB0byBRdDUuCi0gICAgLy8gUVNjcmlwdFN5bnRheENo
ZWNrUmVzdWx0UHJpdmF0ZSB0YWtlcyBvd25lcnNoaXAgb2YgbmV3bHkgY3JlYXRlZCBlbmdpbmUu
IFRoZSBlbmdpbmUgd2lsbCBiZQotICAgIC8vIGtlcHQgYXMgbG9uZyBhcyBpdCBpcyBuZWVkZWQg
Zm9yIGxhenkgZXZhbHVhdGlvbiBvZiBwcm9wZXJ0aWVzIG9mCi0gICAgLy8gdGhlIFFTY3JpcHRT
eW50YXhDaGVja1Jlc3VsdFByaXZhdGUuCi0gICAgUVNjcmlwdEVuZ2luZVByaXZhdGUqIGVuZ2lu
ZSA9IG5ldyBRU2NyaXB0RW5naW5lUHJpdmF0ZSgvKiBxX3B0ciAqLyAwKTsKLSAgICByZXR1cm4g
UVNjcmlwdFN5bnRheENoZWNrUmVzdWx0UHJpdmF0ZTo6Z2V0KGVuZ2luZS0+Y2hlY2tTeW50YXgo
cHJvZ3JhbSkpOwotfQotCi0vKiEKLSAgICBFdmFsdWF0ZXMgXGEgcHJvZ3JhbSwgdXNpbmcgXGEg
bGluZU51bWJlciBhcyB0aGUgYmFzZSBsaW5lIG51bWJlciwKLSAgICBhbmQgcmV0dXJucyB0aGUg
cmVzdWx0IG9mIHRoZSBldmFsdWF0aW9uLgotCi0gICAgVGhlIHNjcmlwdCBjb2RlIHdpbGwgYmUg
ZXZhbHVhdGVkIGluIHRoZSBjdXJyZW50IGNvbnRleHQuCi0KLSAgICBUaGUgZXZhbHVhdGlvbiBv
ZiBcYSBwcm9ncmFtIGNhbiBjYXVzZSBhbiBleGNlcHRpb24gaW4gdGhlCi0gICAgZW5naW5lOyBp
biB0aGlzIGNhc2UgdGhlIHJldHVybiB2YWx1ZSB3aWxsIGJlIHRoZSBleGNlcHRpb24KLSAgICB0
aGF0IHdhcyB0aHJvd24gKHR5cGljYWxseSBhbiBcY3tFcnJvcn0gb2JqZWN0KS4gWW91IGNhbiBj
YWxsCi0gICAgaGFzVW5jYXVnaHRFeGNlcHRpb24oKSB0byBkZXRlcm1pbmUgaWYgYW4gZXhjZXB0
aW9uIG9jY3VycmVkIGluCi0gICAgdGhlIGxhc3QgY2FsbCB0byBldmFsdWF0ZSgpLgotCi0gICAg
XGEgbGluZU51bWJlciBpcyB1c2VkIHRvIHNwZWNpZnkgYSBzdGFydGluZyBsaW5lIG51bWJlciBm
b3IgXGEKLSAgICBwcm9ncmFtOyBsaW5lIG51bWJlciBpbmZvcm1hdGlvbiByZXBvcnRlZCBieSB0
aGUgZW5naW5lIHRoYXQgcGVydGFpbgotICAgIHRvIHRoaXMgZXZhbHVhdGlvbiAoZS5nLiB1bmNh
dWdodEV4Y2VwdGlvbkxpbmVOdW1iZXIoKSkgd2lsbCBiZQotICAgIGJhc2VkIG9uIHRoaXMgYXJn
dW1lbnQuIEZvciBleGFtcGxlLCBpZiBcYSBwcm9ncmFtIGNvbnNpc3RzIG9mIHR3bwotICAgIGxp
bmVzIG9mIGNvZGUsIGFuZCB0aGUgc3RhdGVtZW50IG9uIHRoZSBzZWNvbmQgbGluZSBjYXVzZXMg
YSBzY3JpcHQKLSAgICBleGNlcHRpb24sIHVuY2F1Z2h0RXhjZXB0aW9uTGluZU51bWJlcigpIHdv
dWxkIHJldHVybiB0aGUgZ2l2ZW4gXGEKLSAgICBsaW5lTnVtYmVyIHBsdXMgb25lLiBXaGVuIG5v
IHN0YXJ0aW5nIGxpbmUgbnVtYmVyIGlzIHNwZWNpZmllZCwgbGluZQotICAgIG51bWJlcnMgd2ls
bCBiZSAxLWJhc2VkLgotCi0gICAgXGEgZmlsZU5hbWUgaXMgdXNlZCBmb3IgZXJyb3IgcmVwb3J0
aW5nLiBGb3IgZXhhbXBsZSBpbiBlcnJvciBvYmplY3RzCi0gICAgdGhlIGZpbGUgbmFtZSBpcyBh
Y2Nlc3NpYmxlIHRocm91Z2ggdGhlICJmaWxlTmFtZSIgcHJvcGVydHkgaWYgaXQncwotICAgIHBy
b3ZpZGVkIHdpdGggdGhpcyBmdW5jdGlvbi4KLSovCi1RU2NyaXB0VmFsdWUgUVNjcmlwdEVuZ2lu
ZTo6ZXZhbHVhdGUoY29uc3QgUVN0cmluZyYgcHJvZ3JhbSwgY29uc3QgUVN0cmluZyYgZmlsZU5h
bWUsIGludCBsaW5lTnVtYmVyKQotewotICAgIHJldHVybiBRU2NyaXB0VmFsdWVQcml2YXRlOjpn
ZXQoZF9wdHItPmV2YWx1YXRlKHByb2dyYW0sIGZpbGVOYW1lLCBsaW5lTnVtYmVyKSk7Ci19Ci0K
LVFTY3JpcHRWYWx1ZSBRU2NyaXB0RW5naW5lOjpldmFsdWF0ZShjb25zdCBRU2NyaXB0UHJvZ3Jh
bSYgcHJvZ3JhbSkKLXsKLSAgICByZXR1cm4gUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KGRfcHRy
LT5ldmFsdWF0ZShRU2NyaXB0UHJvZ3JhbVByaXZhdGU6OmdldChwcm9ncmFtKSkpOwotfQotCi0v
KiEKLSAgICBSZXR1cm5zIHRydWUgaWYgdGhlIGxhc3Qgc2NyaXB0IGV2YWx1YXRpb24gcmVzdWx0
ZWQgaW4gYW4gdW5jYXVnaHQKLSAgICBleGNlcHRpb247IG90aGVyd2lzZSByZXR1cm5zIGZhbHNl
LgotCi0gICAgVGhlIGV4Y2VwdGlvbiBzdGF0ZSBpcyBjbGVhcmVkIHdoZW4gZXZhbHVhdGUoKSBp
cyBjYWxsZWQuCi0KLSAgICBcc2EgdW5jYXVnaHRFeGNlcHRpb24oKSwgdW5jYXVnaHRFeGNlcHRp
b25MaW5lTnVtYmVyKCksCi0gICAgICB1bmNhdWdodEV4Y2VwdGlvbkJhY2t0cmFjZSgpCi0qLwot
Ym9vbCBRU2NyaXB0RW5naW5lOjpoYXNVbmNhdWdodEV4Y2VwdGlvbigpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIGRfcHRyLT5oYXNVbmNhdWdodEV4Y2VwdGlvbigpOwotfQotCi0vKiEKLSAgICBSZXR1
cm5zIHRoZSBjdXJyZW50IHVuY2F1Z2h0IGV4Y2VwdGlvbiwgb3IgYW4gaW52YWxpZCBRU2NyaXB0
VmFsdWUKLSAgICBpZiB0aGVyZSBpcyBubyB1bmNhdWdodCBleGNlcHRpb24uCi0KLSAgICBUaGUg
ZXhjZXB0aW9uIHZhbHVlIGlzIHR5cGljYWxseSBhbiBcY3tFcnJvcn0gb2JqZWN0OyBpbiB0aGF0
IGNhc2UsCi0gICAgeW91IGNhbiBjYWxsIHRvU3RyaW5nKCkgb24gdGhlIHJldHVybiB2YWx1ZSB0
byBvYnRhaW4gYW4gZXJyb3IKLSAgICBtZXNzYWdlLgotCi0gICAgXHNhIGhhc1VuY2F1Z2h0RXhj
ZXB0aW9uKCksIHVuY2F1Z2h0RXhjZXB0aW9uTGluZU51bWJlcigpLAotICAgICAgdW5jYXVnaHRF
eGNlcHRpb25CYWNrdHJhY2UoKQotKi8KLVFTY3JpcHRWYWx1ZSBRU2NyaXB0RW5naW5lOjp1bmNh
dWdodEV4Y2VwdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFFTY3JpcHRWYWx1ZVByaXZhdGU6
OmdldChkX3B0ci0+dW5jYXVnaHRFeGNlcHRpb24oKSk7Ci19Ci0KLS8qIQotICAgIENsZWFycyBh
bnkgdW5jYXVnaHQgZXhjZXB0aW9ucyBpbiB0aGlzIGVuZ2luZS4KLQotICAgIFxzYSBoYXNVbmNh
dWdodEV4Y2VwdGlvbigpCi0qLwotdm9pZCBRU2NyaXB0RW5naW5lOjpjbGVhckV4Y2VwdGlvbnMo
KQotewotICAgIGRfcHRyLT5jbGVhckV4Y2VwdGlvbnMoKTsKLX0KLQotLyohCi0gICAgUmV0dXJu
cyB0aGUgbGluZSBudW1iZXIgd2hlcmUgdGhlIGxhc3QgdW5jYXVnaHQgZXhjZXB0aW9uIG9jY3Vy
cmVkLgotCi0gICAgTGluZSBudW1iZXJzIGFyZSAxLWJhc2VkLCB1bmxlc3MgYSBkaWZmZXJlbnQg
YmFzZSB3YXMgc3BlY2lmaWVkIGFzCi0gICAgdGhlIHNlY29uZCBhcmd1bWVudCB0byBldmFsdWF0
ZSgpLgotCi0gICAgXHNhIGhhc1VuY2F1Z2h0RXhjZXB0aW9uKCksIHVuY2F1Z2h0RXhjZXB0aW9u
QmFja3RyYWNlKCkKLSovCi1pbnQgUVNjcmlwdEVuZ2luZTo6dW5jYXVnaHRFeGNlcHRpb25MaW5l
TnVtYmVyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPnVuY2F1Z2h0RXhjZXB0aW9uTGlu
ZU51bWJlcigpOwotfQotCi0vKiEKLSAgICBSZXR1cm5zIGEgaHVtYW4tcmVhZGFibGUgYmFja3Ry
YWNlIG9mIHRoZSBsYXN0IHVuY2F1Z2h0IGV4Y2VwdGlvbi4KLQotICAgIEVhY2ggbGluZSBpcyBv
ZiB0aGUgZm9ybSBcY3s8ZnVuY3Rpb24tbmFtZT4oPGFyZ3VtZW50cz4pQDxmaWxlLW5hbWU+Ojxs
aW5lLW51bWJlcj59LgotCi0gICAgXHNhIHVuY2F1Z2h0RXhjZXB0aW9uKCkKLSovCi1RU3RyaW5n
TGlzdCBRU2NyaXB0RW5naW5lOjp1bmNhdWdodEV4Y2VwdGlvbkJhY2t0cmFjZSgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIGRfcHRyLT51bmNhdWdodEV4Y2VwdGlvbkJhY2t0cmFjZSgpOwotfQotCi0v
KiEKLSAgICBSdW5zIHRoZSBnYXJiYWdlIGNvbGxlY3Rvci4KLQotICAgIFRoZSBnYXJiYWdlIGNv
bGxlY3RvciB3aWxsIGF0dGVtcHQgdG8gcmVjbGFpbSBtZW1vcnkgYnkgbG9jYXRpbmcgYW5kIGRp
c3Bvc2luZyBvZiBvYmplY3RzIHRoYXQgYXJlCi0gICAgbm8gbG9uZ2VyIHJlYWNoYWJsZSBpbiB0
aGUgc2NyaXB0IGVudmlyb25tZW50LgotCi0gICAgTm9ybWFsbHkgeW91IGRvbid0IG5lZWQgdG8g
Y2FsbCB0aGlzIGZ1bmN0aW9uOyB0aGUgZ2FyYmFnZSBjb2xsZWN0b3Igd2lsbCBhdXRvbWF0aWNh
bGx5IGJlIGludm9rZWQKLSAgICB3aGVuIHRoZSBRU2NyaXB0RW5naW5lIGRlY2lkZXMgdGhhdCBp
dCdzIHdpc2UgdG8gZG8gc28gKGkuZS4gd2hlbiBhIGNlcnRhaW4gbnVtYmVyIG9mIG5ldyBvYmpl
Y3RzCi0gICAgaGF2ZSBiZWVuIGNyZWF0ZWQpLiBIb3dldmVyLCB5b3UgY2FuIGNhbGwgdGhpcyBm
dW5jdGlvbiB0byBleHBsaWNpdGx5IHJlcXVlc3QgdGhhdCBnYXJiYWdlCi0gICAgY29sbGVjdGlv
biBzaG91bGQgYmUgcGVyZm9ybWVkIGFzIHNvb24gYXMgcG9zc2libGUuCi0KLSAgICBcc2EgcmVw
b3J0QWRkaXRpb25hbE1lbW9yeUNvc3QoKQotKi8KLXZvaWQgUVNjcmlwdEVuZ2luZTo6Y29sbGVj
dEdhcmJhZ2UoKQotewotICAgIGRfcHRyLT5jb2xsZWN0R2FyYmFnZSgpOwotfQotCi0vKiEKLSAg
UmVwb3J0cyBhbiBhZGRpdGlvbmFsIG1lbW9yeSBjb3N0IG9mIHRoZSBnaXZlbiBcYSBzaXplLCBt
ZWFzdXJlZCBpbgotICBieXRlcywgdG8gdGhlIGdhcmJhZ2UgY29sbGVjdG9yLgotCi0gIFRoaXMg
ZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCB0byBpbmRpY2F0ZSB0aGF0IGEgSmF2YVNjcmlwdCBvYmpl
Y3QgaGFzCi0gIG1lbW9yeSBhc3NvY2lhdGVkIHdpdGggaXQgdGhhdCBpc24ndCBtYW5hZ2VkIGJ5
IFF0IFNjcmlwdCBpdHNlbGYuCi0gIFJlcG9ydGluZyB0aGUgYWRkaXRpb25hbCBjb3N0IG1ha2Vz
IGl0IG1vcmUgbGlrZWx5IHRoYXQgdGhlIGdhcmJhZ2UKLSAgY29sbGVjdG9yIHdpbGwgYmUgdHJp
Z2dlcmVkLgotCi0gIE5vdGUgdGhhdCBpZiB0aGUgYWRkaXRpb25hbCBtZW1vcnkgaXMgc2hhcmVk
IHdpdGggb2JqZWN0cyBvdXRzaWRlCi0gIHRoZSBzY3JpcHRpbmcgZW52aXJvbm1lbnQsIHRoZSBj
b3N0IHNob3VsZCBub3QgYmUgcmVwb3J0ZWQsIHNpbmNlCi0gIGNvbGxlY3RpbmcgdGhlIEphdmFT
Y3JpcHQgb2JqZWN0IHdvdWxkIG5vdCBjYXVzZSB0aGUgbWVtb3J5IHRvIGJlCi0gIGZyZWVkIGFu
eXdheS4KLQotICBOZWdhdGl2ZSBcYSBzaXplIHZhbHVlcyBhcmUgaWdub3JlZCwgaS5lLiB0aGlz
IGZ1bmN0aW9uIGNhbid0IGJlCi0gIHVzZWQgdG8gcmVwb3J0IHRoYXQgdGhlIGFkZGl0aW9uYWwg
bWVtb3J5IGhhcyBiZWVuIGRlYWxsb2NhdGVkLgotCi0gIFxzYSBjb2xsZWN0R2FyYmFnZSgpCi0q
Lwotdm9pZCBRU2NyaXB0RW5naW5lOjpyZXBvcnRBZGRpdGlvbmFsTWVtb3J5Q29zdChpbnQgY29z
dCkKLXsKLSAgICBkX3B0ci0+cmVwb3J0QWRkaXRpb25hbE1lbW9yeUNvc3QoY29zdCk7Ci19Ci0K
LS8qIQotICBSZXR1cm5zIGEgaGFuZGxlIHRoYXQgcmVwcmVzZW50cyB0aGUgZ2l2ZW4gc3RyaW5n
LCBcYSBzdHIuCi0KLSAgUVNjcmlwdFN0cmluZyBjYW4gYmUgdXNlZCB0byBxdWlja2x5IGxvb2sg
dXAgcHJvcGVydGllcywgYW5kCi0gIGNvbXBhcmUgcHJvcGVydHkgbmFtZXMsIG9mIHNjcmlwdCBv
YmplY3RzLgotCi0gIFxzYSBRU2NyaXB0VmFsdWU6OnByb3BlcnR5KCkKLSovCi1RU2NyaXB0U3Ry
aW5nIFFTY3JpcHRFbmdpbmU6OnRvU3RyaW5nSGFuZGxlKGNvbnN0IFFTdHJpbmcmIHN0cikKLXsK
LSAgICByZXR1cm4gUVNjcmlwdFN0cmluZ1ByaXZhdGU6OmdldChkX3B0ci0+dG9TdHJpbmdIYW5k
bGUoc3RyKSk7Ci19Ci0KLS8qIQotICBDb252ZXJ0cyB0aGUgZ2l2ZW4gXGEgdmFsdWUgdG8gYW4g
b2JqZWN0LCBpZiBzdWNoIGEgY29udmVyc2lvbiBpcwotICBwb3NzaWJsZTsgb3RoZXJ3aXNlIHJl
dHVybnMgYW4gaW52YWxpZCBRU2NyaXB0VmFsdWUuIFRoZSBjb252ZXJzaW9uCi0gIGlzIHBlcmZv
cm1lZCBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZyB0YWJsZToKLQotICAgIFx0YWJsZQotICAg
IFxoZWFkZXIgXG8gSW5wdXQgVHlwZSBcbyBSZXN1bHQKLSAgICBccm93ICAgIFxvIFVuZGVmaW5l
ZCAgXG8gQW4gaW52YWxpZCBRU2NyaXB0VmFsdWUuCi0gICAgXHJvdyAgICBcbyBOdWxsICAgICAg
IFxvIEFuIGludmFsaWQgUVNjcmlwdFZhbHVlLgotICAgIFxyb3cgICAgXG8gQm9vbGVhbiAgICBc
byBBIG5ldyBCb29sZWFuIG9iamVjdCB3aG9zZSBpbnRlcm5hbCB2YWx1ZSBpcyBzZXQgdG8gdGhl
IHZhbHVlIG9mIHRoZSBib29sZWFuLgotICAgIFxyb3cgICAgXG8gTnVtYmVyICAgICBcbyBBIG5l
dyBOdW1iZXIgb2JqZWN0IHdob3NlIGludGVybmFsIHZhbHVlIGlzIHNldCB0byB0aGUgdmFsdWUg
b2YgdGhlIG51bWJlci4KLSAgICBccm93ICAgIFxvIFN0cmluZyAgICAgXG8gQSBuZXcgU3RyaW5n
IG9iamVjdCB3aG9zZSBpbnRlcm5hbCB2YWx1ZSBpcyBzZXQgdG8gdGhlIHZhbHVlIG9mIHRoZSBz
dHJpbmcuCi0gICAgXHJvdyAgICBcbyBPYmplY3QgICAgIFxvIFRoZSByZXN1bHQgaXMgdGhlIG9i
amVjdCBpdHNlbGYgKG5vIGNvbnZlcnNpb24pLgotICAgIFxlbmR0YWJsZQotCi0gICAgXHNhIG5l
d09iamVjdCgpCi0qLwotUVNjcmlwdFZhbHVlIFFTY3JpcHRFbmdpbmU6OnRvT2JqZWN0KGNvbnN0
IFFTY3JpcHRWYWx1ZSYgdmFsdWUpCi17Ci0gICAgcmV0dXJuIFFTY3JpcHRWYWx1ZVByaXZhdGU6
OmdldChRU2NyaXB0VmFsdWVQcml2YXRlOjpnZXQodmFsdWUpLT50b09iamVjdChkX3B0ci5kYXRh
KCkpKTsKLX0KLQotLyohCi0gIFJldHVybnMgYSBRU2NyaXB0VmFsdWUgb2YgdGhlIHByaW1pdGl2
ZSB0eXBlIE51bGwuCi0KLSAgXHNhIHVuZGVmaW5lZFZhbHVlKCkKLSovCi1RU2NyaXB0VmFsdWUg
UVNjcmlwdEVuZ2luZTo6bnVsbFZhbHVlKCkKLXsKLSAgICByZXR1cm4gUVNjcmlwdFZhbHVlKHRo
aXMsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKTsKLX0KLQotLyohCi0gIFJldHVybnMgYSBRU2Ny
aXB0VmFsdWUgb2YgdGhlIHByaW1pdGl2ZSB0eXBlIFVuZGVmaW5lZC4KLQotICBcc2EgbnVsbFZh
bHVlKCkKLSovCi1RU2NyaXB0VmFsdWUgUVNjcmlwdEVuZ2luZTo6dW5kZWZpbmVkVmFsdWUoKQot
ewotICAgIHJldHVybiBRU2NyaXB0VmFsdWUodGhpcywgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRW
YWx1ZSk7Ci19Ci0KLS8qIQotICAgIENyZWF0ZXMgYSBRU2NyaXB0VmFsdWUgdGhhdCB3cmFwcyBh
IG5hdGl2ZSAoQysrKSBmdW5jdGlvbi4gXGEgZnVuCi0gICAgbXVzdCBiZSBhIEMrKyBmdW5jdGlv
biB3aXRoIHNpZ25hdHVyZSBRU2NyaXB0RW5naW5lOjpGdW5jdGlvblNpZ25hdHVyZS4KLSAgICBc
YSBsZW5ndGggaXMgdGhlIG51bWJlciBvZiBhcmd1bWVudHMgdGhhdCBcYSBmdW4gZXhwZWN0czsg
dGhpcyBiZWNvbWVzCi0gICAgdGhlIFxje2xlbmd0aH0gcHJvcGVydHkgb2YgdGhlIGNyZWF0ZWQg
UVNjcmlwdFZhbHVlLgotCi0gICAgTm90ZSB0aGF0IFxhIGxlbmd0aCBvbmx5IGdpdmVzIGFuIGlu
ZGljYXRpb24gb2YgdGhlIG51bWJlciBvZgotICAgIGFyZ3VtZW50cyB0aGF0IHRoZSBmdW5jdGlv
biBleHBlY3RzOyBhbiBhY3R1YWwgaW52b2NhdGlvbiBvZiBhCi0gICAgZnVuY3Rpb24gY2FuIGlu
Y2x1ZGUgYW55IG51bWJlciBvZiBhcmd1bWVudHMuIFlvdSBjYW4gY2hlY2sgdGhlCi0gICAgXGx7
UVNjcmlwdENvbnRleHQ6OmFyZ3VtZW50Q291bnQoKX17YXJndW1lbnRDb3VudCgpfSBvZiB0aGUK
LSAgICBRU2NyaXB0Q29udGV4dCBhc3NvY2lhdGVkIHdpdGggdGhlIGludm9jYXRpb24gdG8gZGV0
ZXJtaW5lIHRoZQotICAgIGFjdHVhbCBudW1iZXIgb2YgYXJndW1lbnRzIHBhc3NlZC4KLQotICAg
IEEgXGN7cHJvdG90eXBlfSBwcm9wZXJ0eSBpcyBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgZm9yIHRo
ZSByZXN1bHRpbmcKLSAgICBmdW5jdGlvbiBvYmplY3QsIHRvIHByb3ZpZGUgZm9yIHRoZSBwb3Nz
aWJpbGl0eSB0aGF0IHRoZSBmdW5jdGlvbgotICAgIHdpbGwgYmUgdXNlZCBhcyBhIGNvbnN0cnVj
dG9yLgotCi0gICAgQnkgY29tYmluaW5nIG5ld0Z1bmN0aW9uKCkgYW5kIHRoZSBwcm9wZXJ0eSBm
bGFncwotICAgIFFTY3JpcHRWYWx1ZTo6UHJvcGVydHlHZXR0ZXIgYW5kIFFTY3JpcHRWYWx1ZTo6
UHJvcGVydHlTZXR0ZXIsIHlvdQotICAgIGNhbiBjcmVhdGUgc2NyaXB0IG9iamVjdCBwcm9wZXJ0
aWVzIHRoYXQgYmVoYXZlIGxpa2Ugbm9ybWFsCi0gICAgcHJvcGVydGllcyBpbiBzY3JpcHQgY29k
ZSwgYnV0IGFyZSBpbiBmYWN0IGFjY2Vzc2VkIHRocm91Z2gKLSAgICBmdW5jdGlvbnMgKGFuYWxv
Z291cyB0byBob3cgcHJvcGVydGllcyB3b3JrIGluIFxse1F0J3MgUHJvcGVydHkKLSAgICBTeXN0
ZW19KS4gRXhhbXBsZToKLQotICAgIFxzbmlwcGV0IGRvYy9zcmMvc25pcHBldHMvY29kZS9zcmNf
c2NyaXB0X3FzY3JpcHRlbmdpbmUuY3BwIDExCi0KLSAgICBXaGVuIHRoZSBwcm9wZXJ0eSBcY3tm
b299IG9mIHRoZSBzY3JpcHQgb2JqZWN0IGlzIHN1YnNlcXVlbnRseQotICAgIGFjY2Vzc2VkIGlu
IHNjcmlwdCBjb2RlLCBcY3tnZXRTZXRGb28oKX0gd2lsbCBiZSBpbnZva2VkIHRvIGhhbmRsZQot
ICAgIHRoZSBhY2Nlc3MuICBJbiB0aGlzIHBhcnRpY3VsYXIgY2FzZSwgd2UgY2hvc2UgdG8gc3Rv
cmUgdGhlICJyZWFsIgotICAgIHZhbHVlIG9mIFxje2Zvb30gYXMgYSBwcm9wZXJ0eSBvZiB0aGUg
YWNjZXNzb3IgZnVuY3Rpb24gaXRzZWxmOyB5b3UKLSAgICBhcmUgb2YgY291cnNlIGZyZWUgdG8g
ZG8gd2hhdGV2ZXIgeW91IGxpa2UgaW4gdGhpcyBmdW5jdGlvbi4KLQotICAgIEluIHRoZSBhYm92
ZSBleGFtcGxlLCBhIHNpbmdsZSBuYXRpdmUgZnVuY3Rpb24gd2FzIHVzZWQgdG8gaGFuZGxlCi0g
ICAgYm90aCByZWFkcyBhbmQgd3JpdGVzIHRvIHRoZSBwcm9wZXJ0eTsgdGhlIGFyZ3VtZW50IGNv
dW50IGlzIHVzZWQgdG8KLSAgICBkZXRlcm1pbmUgaWYgd2UgYXJlIGhhbmRsaW5nIGEgcmVhZCBv
ciB3cml0ZS4gWW91IGNhbiBhbHNvIHVzZSB0d28KLSAgICBzZXBhcmF0ZSBmdW5jdGlvbnM7IGp1
c3Qgc3BlY2lmeSB0aGUgcmVsZXZhbnQgZmxhZwotICAgIChRU2NyaXB0VmFsdWU6OlByb3BlcnR5
R2V0dGVyIG9yIFFTY3JpcHRWYWx1ZTo6UHJvcGVydHlTZXR0ZXIpIHdoZW4KLSAgICBzZXR0aW5n
IHRoZSBwcm9wZXJ0eSwgZS5nLjoKLQotICAgIFxzbmlwcGV0IGRvYy9zcmMvc25pcHBldHMvY29k
ZS9zcmNfc2NyaXB0X3FzY3JpcHRlbmdpbmUuY3BwIDEyCi0KLSAgICBcc2EgUVNjcmlwdFZhbHVl
OjpjYWxsKCkKLSovCi1RU2NyaXB0VmFsdWUgUVNjcmlwdEVuZ2luZTo6bmV3RnVuY3Rpb24oUVNj
cmlwdEVuZ2luZTo6RnVuY3Rpb25TaWduYXR1cmUgZnVuLCBpbnQgbGVuZ3RoKQotewotICAgIHJl
dHVybiBRU2NyaXB0VmFsdWVQcml2YXRlOjpnZXQoZF9wdHItPm5ld0Z1bmN0aW9uKGZ1biwgMCwg
bGVuZ3RoKSk7Ci19Ci0KLS8qIQotICAgIENyZWF0ZXMgYSBjb25zdHJ1Y3RvciBmdW5jdGlvbiBm
cm9tIFxhIGZ1biwgd2l0aCB0aGUgZ2l2ZW4gXGEgbGVuZ3RoLgotICAgIFRoZSBcY3twcm90b3R5
cGV9IHByb3BlcnR5IG9mIHRoZSByZXN1bHRpbmcgZnVuY3Rpb24gaXMgc2V0IHRvIGJlIHRoZQot
ICAgIGdpdmVuIFxhIHByb3RvdHlwZS4gVGhlIFxje2NvbnN0cnVjdG9yfSBwcm9wZXJ0eSBvZiBc
YSBwcm90b3R5cGUgaXMKLSAgICBzZXQgdG8gYmUgdGhlIHJlc3VsdGluZyBmdW5jdGlvbi4KLQot
ICAgIFdoZW4gYSBmdW5jdGlvbiBpcyBjYWxsZWQgYXMgYSBjb25zdHJ1Y3RvciAoZS5nLiBcY3tu
ZXcgRm9vKCl9KSwgdGhlCi0gICAgYHRoaXMnIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhlIGZ1
bmN0aW9uIGNhbGwgaXMgdGhlIG5ldyBvYmplY3QKLSAgICB0aGF0IHRoZSBmdW5jdGlvbiBpcyBl
eHBlY3RlZCB0byBpbml0aWFsaXplOyB0aGUgcHJvdG90eXBlIG9mIHRoaXMKLSAgICBkZWZhdWx0
IGNvbnN0cnVjdGVkIG9iamVjdCB3aWxsIGJlIHRoZSBmdW5jdGlvbidzIHB1YmxpYwotICAgIFxj
e3Byb3RvdHlwZX0gcHJvcGVydHkuIElmIHlvdSBhbHdheXMgd2FudCB0aGUgZnVuY3Rpb24gdG8g
YmVoYXZlIGFzCi0gICAgYSBjb25zdHJ1Y3RvciAoZS5nLiBcY3tGb28oKX0gc2hvdWxkIGFsc28g
Y3JlYXRlIGEgbmV3IG9iamVjdCksIG9yCi0gICAgaWYgeW91IG5lZWQgdG8gY3JlYXRlIHlvdXIg
b3duIG9iamVjdCByYXRoZXIgdGhhbiB1c2luZyB0aGUgZGVmYXVsdAotICAgIGB0aGlzJyBvYmpl
Y3QsIHlvdSBzaG91bGQgbWFrZSBzdXJlIHRoYXQgdGhlIHByb3RvdHlwZSBvZiB5b3VyCi0gICAg
b2JqZWN0IGlzIHNldCBjb3JyZWN0bHk7IGVpdGhlciBieSBzZXR0aW5nIGl0IG1hbnVhbGx5LCBv
ciwgd2hlbgotICAgIHdyYXBwaW5nIGEgY3VzdG9tIHR5cGUsIGJ5IGhhdmluZyByZWdpc3RlcmVk
IHRoZSBkZWZhdWx0UHJvdG90eXBlKCkKLSAgICBvZiB0aGF0IHR5cGUuIEV4YW1wbGU6Ci0KLSAg
ICBcc25pcHBldCBkb2Mvc3JjL3NuaXBwZXRzL2NvZGUvc3JjX3NjcmlwdF9xc2NyaXB0ZW5naW5l
LmNwcCA5Ci0KLSAgICBUbyB3cmFwIGEgY3VzdG9tIHR5cGUgYW5kIHByb3ZpZGUgYSBjb25zdHJ1
Y3RvciBmb3IgaXQsIHlvdSdkIHR5cGljYWxseQotICAgIGRvIHNvbWV0aGluZyBsaWtlIHRoaXM6
Ci0KLSAgICBcc25pcHBldCBkb2Mvc3JjL3NuaXBwZXRzL2NvZGUvc3JjX3NjcmlwdF9xc2NyaXB0
ZW5naW5lLmNwcCAxMAotKi8KLVFTY3JpcHRWYWx1ZSBRU2NyaXB0RW5naW5lOjpuZXdGdW5jdGlv
bihRU2NyaXB0RW5naW5lOjpGdW5jdGlvblNpZ25hdHVyZSBmdW4sIGNvbnN0IFFTY3JpcHRWYWx1
ZSYgcHJvdG90eXBlLCBpbnQgbGVuZ3RoKQotewotICAgIHJldHVybiBRU2NyaXB0VmFsdWVQcml2
YXRlOjpnZXQoZF9wdHItPm5ld0Z1bmN0aW9uKGZ1biwgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0
KHByb3RvdHlwZSksIGxlbmd0aCkpOwotfQotCi0vKiEKLSAgICBcaW50ZXJuYWwKLSAgICBcc2lu
Y2UgNC40Ci0qLwotUVNjcmlwdFZhbHVlIFFTY3JpcHRFbmdpbmU6Om5ld0Z1bmN0aW9uKFFTY3Jp
cHRFbmdpbmU6OkZ1bmN0aW9uV2l0aEFyZ1NpZ25hdHVyZSBmdW4sIHZvaWQqIGFyZykKLXsKLSAg
ICByZXR1cm4gUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KGRfcHRyLT5uZXdGdW5jdGlvbihmdW4s
IGFyZykpOwotfQotCi0vKiEKLSAgQ3JlYXRlcyBhIFF0U2NyaXB0IG9iamVjdCBvZiBjbGFzcyBP
YmplY3QuCi0KLSAgVGhlIHByb3RvdHlwZSBvZiB0aGUgY3JlYXRlZCBvYmplY3Qgd2lsbCBiZSB0
aGUgT2JqZWN0Ci0gIHByb3RvdHlwZSBvYmplY3QuCi0KLSAgXHNhIG5ld0FycmF5KCksIFFTY3Jp
cHRWYWx1ZTo6c2V0UHJvcGVydHkoKQotKi8KLVFTY3JpcHRWYWx1ZSBRU2NyaXB0RW5naW5lOjpu
ZXdPYmplY3QoKQotewotICAgIHJldHVybiBRU2NyaXB0VmFsdWVQcml2YXRlOjpnZXQoZF9wdHIt
Pm5ld09iamVjdCgpKTsKLX0KLQotLyohCi0gIENyZWF0ZXMgYSBRdFNjcmlwdCBvYmplY3Qgb2Yg
Y2xhc3MgQXJyYXkgd2l0aCB0aGUgZ2l2ZW4gXGEgbGVuZ3RoLgotCi0gIFxzYSBuZXdPYmplY3Qo
KQotKi8KLVFTY3JpcHRWYWx1ZSBRU2NyaXB0RW5naW5lOjpuZXdBcnJheSh1aW50IGxlbmd0aCkK
LXsKLSAgICByZXR1cm4gUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KGRfcHRyLT5uZXdBcnJheShs
ZW5ndGgpKTsKLX0KLQotLyohCi0gICAgQ3JlYXRlcyBhIFF0U2NyaXB0IG9iamVjdCBvZiBjbGFz
cyBEYXRlIHdpdGggdGhlIGdpdmVuIFxhIHZhbHVlCi0gICAgKHRoZSBudW1iZXIgb2YgbWlsbGlz
ZWNvbmRzIHNpbmNlIDAxIEphbnVhcnkgMTk3MCwgVVRDKS4KLSovCi1RU2NyaXB0VmFsdWUgUVNj
cmlwdEVuZ2luZTo6bmV3RGF0ZShxc3JlYWwgdmFsdWUpCi17Ci0gICAgcmV0dXJuIFFTY3JpcHRW
YWx1ZVByaXZhdGU6OmdldChkX3B0ci0+bmV3RGF0ZSh2YWx1ZSkpOwotfQotCi0vKiEKLSAgICBD
cmVhdGVzIGEgUXRTY3JpcHQgb2JqZWN0IG9mIGNsYXNzIERhdGUgZnJvbSB0aGUgZ2l2ZW4gXGEg
dmFsdWUuCi0KLSAgICBcc2EgUVNjcmlwdFZhbHVlOjp0b0RhdGVUaW1lKCkKLSovCi1RU2NyaXB0
VmFsdWUgUVNjcmlwdEVuZ2luZTo6bmV3RGF0ZShjb25zdCBRRGF0ZVRpbWUmIHZhbHVlKQotewot
ICAgIGlmICh2YWx1ZS5pc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybiBRU2NyaXB0VmFsdWVQcml2
YXRlOjpnZXQoZF9wdHItPm5ld0RhdGUocXNyZWFsKHZhbHVlLnRvTVNlY3NTaW5jZUVwb2NoKCkp
KSk7Ci0gICAgcmV0dXJuIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmdldChkX3B0ci0+bmV3RGF0ZShx
U05hTigpKSk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRoaXMgZW5naW5lJ3MgR2xvYmFsIE9iamVj
dC4KLQotICBCeSBkZWZhdWx0LCB0aGUgR2xvYmFsIE9iamVjdCBjb250YWlucyB0aGUgYnVpbHQt
aW4gb2JqZWN0cyB0aGF0IGFyZQotICBwYXJ0IG9mIFxse0VDTUEtMjYyfSwgc3VjaCBhcyBNYXRo
LCBEYXRlIGFuZCBTdHJpbmcuIEFkZGl0aW9uYWxseSwKLSAgeW91IGNhbiBzZXQgcHJvcGVydGll
cyBvZiB0aGUgR2xvYmFsIE9iamVjdCB0byBtYWtlIHlvdXIgb3duCi0gIGV4dGVuc2lvbnMgYXZh
aWxhYmxlIHRvIGFsbCBzY3JpcHQgY29kZS4gTm9uLWxvY2FsIHZhcmlhYmxlcyBpbgotICBzY3Jp
cHQgY29kZSB3aWxsIGJlIGNyZWF0ZWQgYXMgcHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVj
dCwgYXMKLSAgd2VsbCBhcyBsb2NhbCB2YXJpYWJsZXMgaW4gZ2xvYmFsIGNvZGUuCi0qLwotUVNj
cmlwdFZhbHVlIFFTY3JpcHRFbmdpbmU6Omdsb2JhbE9iamVjdCgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmdldChkX3B0ci0+Z2xvYmFsT2JqZWN0KCkpOwotfQot
Ci0vKiEKLSAgICBcdHlwZWRlZiBRU2NyaXB0RW5naW5lOjpGdW5jdGlvblNpZ25hdHVyZQotICAg
IFxyZWxhdGVzIFFTY3JpcHRFbmdpbmUKLQotICAgIFRoZSBmdW5jdGlvbiBzaWduYXR1cmUgXGN7
UVNjcmlwdFZhbHVlIGYoUVNjcmlwdENvbnRleHQgKiwgUVNjcmlwdEVuZ2luZSAqKX0uCi0KLSAg
ICBBIGZ1bmN0aW9uIHdpdGggc3VjaCBhIHNpZ25hdHVyZSBjYW4gYmUgcGFzc2VkIHRvCi0gICAg
UVNjcmlwdEVuZ2luZTo6bmV3RnVuY3Rpb24oKSB0byB3cmFwIHRoZSBmdW5jdGlvbi4KLSovCi0K
LS8qIQotICAgIFx0eXBlZGVmIFFTY3JpcHRFbmdpbmU6OkZ1bmN0aW9uV2l0aEFyZ1NpZ25hdHVy
ZQotICAgIFxyZWxhdGVzIFFTY3JpcHRFbmdpbmUKLQotICAgIFRoZSBmdW5jdGlvbiBzaWduYXR1
cmUgXGN7UVNjcmlwdFZhbHVlIGYoUVNjcmlwdENvbnRleHQgKiwgUVNjcmlwdEVuZ2luZSAqLCB2
b2lkICopfS4KLQotICAgIEEgZnVuY3Rpb24gd2l0aCBzdWNoIGEgc2lnbmF0dXJlIGNhbiBiZSBw
YXNzZWQgdG8KLSAgICBRU2NyaXB0RW5naW5lOjpuZXdGdW5jdGlvbigpIHRvIHdyYXAgdGhlIGZ1
bmN0aW9uLgotKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNj
cmlwdGVuZ2luZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0ZW5naW5l
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4MTcwN2Y2MGM3NmVhMGFkNWQ2ZWIx
ZTQ2OTFkMjYzNjk1YTBiZTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0ZW5naW5lLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw4MiArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAwOSBO
b2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
LSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0g
ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaWZuZGVm
IHFzY3JpcHRlbmdpbmVfaAotI2RlZmluZSBxc2NyaXB0ZW5naW5lX2gKLQotI2luY2x1ZGUgInFz
Y3JpcHRwcm9ncmFtLmgiCi0jaW5jbHVkZSAicXNjcmlwdHN0cmluZy5oIgotI2luY2x1ZGUgInFz
Y3JpcHRzeW50YXhjaGVja3Jlc3VsdC5oIgotI2luY2x1ZGUgInFzY3JpcHR2YWx1ZS5oIgotI2lu
Y2x1ZGUgPFF0Q29yZS9xb2JqZWN0Lmg+Ci0jaW5jbHVkZSA8UXRDb3JlL3FzaGFyZWRkYXRhLmg+
Ci0jaW5jbHVkZSA8UXRDb3JlL3FzdHJpbmcuaD4KLQotY2xhc3MgUURhdGVUaW1lOwotY2xhc3Mg
UVNjcmlwdEVuZ2luZVByaXZhdGU7Ci0KLS8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIFFTY3Jp
cHRDb250ZXh0IGlzIHByb3Blcmx5IGRlZmluZWQuCi10eXBlZGVmIHZvaWQgUVNjcmlwdENvbnRl
eHQ7Ci0KLS8vIEludGVybmFsIHR5cGVkZWYKLXR5cGVkZWYgUUV4cGxpY2l0bHlTaGFyZWREYXRh
UG9pbnRlcjxRU2NyaXB0RW5naW5lUHJpdmF0ZT4gUVNjcmlwdEVuZ2luZVB0cjsKLQotY2xhc3Mg
UVNjcmlwdEVuZ2luZSA6IHB1YmxpYyBRT2JqZWN0IHsKLXB1YmxpYzoKLSAgICBRU2NyaXB0RW5n
aW5lKCk7Ci0gICAgflFTY3JpcHRFbmdpbmUoKTsKLQotICAgIHN0YXRpYyBRU2NyaXB0U3ludGF4
Q2hlY2tSZXN1bHQgY2hlY2tTeW50YXgoY29uc3QgUVN0cmluZyYgcHJvZ3JhbSk7Ci0gICAgUVNj
cmlwdFZhbHVlIGV2YWx1YXRlKGNvbnN0IFFTdHJpbmcmIHByb2dyYW0sIGNvbnN0IFFTdHJpbmcm
IGZpbGVOYW1lID0gUVN0cmluZygpLCBpbnQgbGluZU51bWJlciA9IDEpOwotICAgIFFTY3JpcHRW
YWx1ZSBldmFsdWF0ZShjb25zdCBRU2NyaXB0UHJvZ3JhbSYgcHJvZ3JhbSk7Ci0KLSAgICBib29s
IGhhc1VuY2F1Z2h0RXhjZXB0aW9uKCkgY29uc3Q7Ci0gICAgUVNjcmlwdFZhbHVlIHVuY2F1Z2h0
RXhjZXB0aW9uKCkgY29uc3Q7Ci0gICAgdm9pZCBjbGVhckV4Y2VwdGlvbnMoKTsKLSAgICBpbnQg
dW5jYXVnaHRFeGNlcHRpb25MaW5lTnVtYmVyKCkgY29uc3Q7Ci0gICAgUVN0cmluZ0xpc3QgdW5j
YXVnaHRFeGNlcHRpb25CYWNrdHJhY2UoKSBjb25zdDsKLQotICAgIHZvaWQgY29sbGVjdEdhcmJh
Z2UoKTsKLSAgICB2b2lkIHJlcG9ydEFkZGl0aW9uYWxNZW1vcnlDb3N0KGludCBjb3N0KTsKLQot
ICAgIFFTY3JpcHRTdHJpbmcgdG9TdHJpbmdIYW5kbGUoY29uc3QgUVN0cmluZyYgc3RyKTsKLSAg
ICBRU2NyaXB0VmFsdWUgdG9PYmplY3QoY29uc3QgUVNjcmlwdFZhbHVlJiB2YWx1ZSk7Ci0KLSAg
ICBRU2NyaXB0VmFsdWUgbnVsbFZhbHVlKCk7Ci0gICAgUVNjcmlwdFZhbHVlIHVuZGVmaW5lZFZh
bHVlKCk7Ci0KLSAgICB0eXBlZGVmIFFTY3JpcHRWYWx1ZSAoKkZ1bmN0aW9uU2lnbmF0dXJlKShR
U2NyaXB0Q29udGV4dCAqLCBRU2NyaXB0RW5naW5lICopOwotICAgIHR5cGVkZWYgUVNjcmlwdFZh
bHVlICgqRnVuY3Rpb25XaXRoQXJnU2lnbmF0dXJlKShRU2NyaXB0Q29udGV4dCAqLCBRU2NyaXB0
RW5naW5lICosIHZvaWQgKik7Ci0KLSAgICBRU2NyaXB0VmFsdWUgbmV3RnVuY3Rpb24oRnVuY3Rp
b25TaWduYXR1cmUgZnVuLCBpbnQgbGVuZ3RoID0gMCk7Ci0gICAgUVNjcmlwdFZhbHVlIG5ld0Z1
bmN0aW9uKEZ1bmN0aW9uU2lnbmF0dXJlIGZ1biwgY29uc3QgUVNjcmlwdFZhbHVlJiBwcm90b3R5
cGUsIGludCBsZW5ndGggPSAwKTsKLSAgICBRU2NyaXB0VmFsdWUgbmV3RnVuY3Rpb24oRnVuY3Rp
b25XaXRoQXJnU2lnbmF0dXJlIGZ1biwgdm9pZCogYXJnKTsKLQotICAgIFFTY3JpcHRWYWx1ZSBu
ZXdPYmplY3QoKTsKLSAgICBRU2NyaXB0VmFsdWUgbmV3QXJyYXkodWludCBsZW5ndGggPSAwKTsK
LSAgICBRU2NyaXB0VmFsdWUgbmV3RGF0ZShxc3JlYWwgdmFsdWUpOwotICAgIFFTY3JpcHRWYWx1
ZSBuZXdEYXRlKGNvbnN0IFFEYXRlVGltZSYgdmFsdWUpOwotICAgIFFTY3JpcHRWYWx1ZSBnbG9i
YWxPYmplY3QoKSBjb25zdDsKLXByaXZhdGU6Ci0gICAgZnJpZW5kIGNsYXNzIFFTY3JpcHRFbmdp
bmVQcml2YXRlOwotCi0gICAgUVNjcmlwdEVuZ2luZVB0ciBkX3B0cjsKLX07Ci0KLSNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0ZW5naW5lX3Au
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0ZW5naW5lX3AuY3BwCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTA1NGMwODU1NzRhODAyZTgxZjMxMDYzZTUy
OTExZWM2NDQ1OTlkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGVuZ2luZV9wLmNwcAorKysg
L2Rldi9udWxsCkBAIC0xLDE2NyArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAwOSBO
b2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
LSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0g
ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaW5jbHVk
ZSAiY29uZmlnLmgiCi0KLSNpbmNsdWRlICJxc2NyaXB0ZW5naW5lX3AuaCIKLQotI2luY2x1ZGUg
InFzY3JpcHRmdW5jdGlvbl9wLmgiCi0jaW5jbHVkZSAicXNjcmlwdHByb2dyYW1fcC5oIgotI2lu
Y2x1ZGUgInFzY3JpcHR2YWx1ZV9wLmgiCi0KLS8qIQotICAgIENvbnN0cnVjdHMgYSBkZWZhdWx0
IFFTY3JpcHRFbmdpbmVQcml2YXRlIG9iamVjdCwgYSBuZXcgZ2xvYmFsIGNvbnRleHQgd2lsbCBi
ZSBjcmVhdGVkLgotICAgIFxpbnRlcm5hbAotKi8KLVFTY3JpcHRFbmdpbmVQcml2YXRlOjpRU2Ny
aXB0RW5naW5lUHJpdmF0ZShjb25zdCBRU2NyaXB0RW5naW5lKiBlbmdpbmUpCi0gICAgOiBxX3B0
cihjb25zdF9jYXN0PFFTY3JpcHRFbmdpbmUqPihlbmdpbmUpKQotICAgICwgbV9jb250ZXh0KEpT
R2xvYmFsQ29udGV4dENyZWF0ZSgwKSkKLSAgICAsIG1fZXhjZXB0aW9uKDApCi0gICAgLCBtX29y
aWdpbmFsR2xvYmFsT2JqZWN0KG1fY29udGV4dCkKLSAgICAsIG1fbmF0aXZlRnVuY3Rpb25DbGFz
cyhKU0NsYXNzQ3JlYXRlKCZxdF9OYXRpdmVGdW5jdGlvbkNsYXNzKSkKLSAgICAsIG1fbmF0aXZl
RnVuY3Rpb25XaXRoQXJnQ2xhc3MoSlNDbGFzc0NyZWF0ZSgmcXRfTmF0aXZlRnVuY3Rpb25XaXRo
QXJnQ2xhc3MpKQotewotfQotCi1RU2NyaXB0RW5naW5lUHJpdmF0ZTo6flFTY3JpcHRFbmdpbmVQ
cml2YXRlKCkKLXsKLSAgICBKU0NsYXNzUmVsZWFzZShtX25hdGl2ZUZ1bmN0aW9uQ2xhc3MpOwot
ICAgIEpTQ2xhc3NSZWxlYXNlKG1fbmF0aXZlRnVuY3Rpb25XaXRoQXJnQ2xhc3MpOwotICAgIGlm
IChtX2V4Y2VwdGlvbikKLSAgICAgICAgSlNWYWx1ZVVucHJvdGVjdChtX2NvbnRleHQsIG1fZXhj
ZXB0aW9uKTsKLSAgICBKU0dsb2JhbENvbnRleHRSZWxlYXNlKG1fY29udGV4dCk7Ci19Ci0KLVFT
Y3JpcHRTeW50YXhDaGVja1Jlc3VsdFByaXZhdGUqIFFTY3JpcHRFbmdpbmVQcml2YXRlOjpjaGVj
a1N5bnRheChjb25zdCBRU3RyaW5nJiBwcm9ncmFtKQotewotICAgIEpTVmFsdWVSZWYgZXhjZXB0
aW9uOwotICAgIEpTU3RyaW5nUmVmIHNvdXJjZSA9IFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5n
KHByb2dyYW0pOwotICAgIGJvb2wgc3ludGF4SXNDb3JyZWN0ID0gSlNDaGVja1NjcmlwdFN5bnRh
eChtX2NvbnRleHQsIHNvdXJjZSwgLyogdXJsICovIDAsIC8qIHN0YXJ0aW5nIGxpbmUgKi8gMSwg
JmV4Y2VwdGlvbik7Ci0gICAgSlNTdHJpbmdSZWxlYXNlKHNvdXJjZSk7Ci0gICAgaWYgKHN5bnRh
eElzQ29ycmVjdCkgewotICAgICAgICByZXR1cm4gbmV3IFFTY3JpcHRTeW50YXhDaGVja1Jlc3Vs
dFByaXZhdGUodGhpcyk7Ci0gICAgfQotICAgIEpTVmFsdWVQcm90ZWN0KG1fY29udGV4dCwgZXhj
ZXB0aW9uKTsKLSAgICByZXR1cm4gbmV3IFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdFByaXZhdGUo
dGhpcywgY29uc3RfY2FzdDxKU09iamVjdFJlZj4oZXhjZXB0aW9uKSk7Ci19Ci0KLS8qIQotICAg
IEV2YWx1YXRlcyBwcm9ncmFtIGFuZCByZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIGV2YWx1YXRp
b24uCi0gICAgXGludGVybmFsCi0qLwotUVNjcmlwdFZhbHVlUHJpdmF0ZSogUVNjcmlwdEVuZ2lu
ZVByaXZhdGU6OmV2YWx1YXRlKGNvbnN0IFFTdHJpbmcmIHByb2dyYW0sIGNvbnN0IFFTdHJpbmcm
IGZpbGVOYW1lLCBpbnQgbGluZU51bWJlcikKLXsKLSAgICBKU1N0cmluZ1JlZiBzY3JpcHQgPSBR
U2NyaXB0Q29udmVydGVyOjp0b1N0cmluZyhwcm9ncmFtKTsKLSAgICBKU1N0cmluZ1JlZiBmaWxl
ID0gUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmcoZmlsZU5hbWUpOwotICAgIFFTY3JpcHRWYWx1
ZVByaXZhdGUqIHJlc3VsdCA9IG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKHRoaXMsIGV2YWx1YXRl
KHNjcmlwdCwgZmlsZSwgbGluZU51bWJlcikpOwotICAgIEpTU3RyaW5nUmVsZWFzZShzY3JpcHQp
OwotICAgIEpTU3RyaW5nUmVsZWFzZShmaWxlKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0v
KiEKLSAgICBFdmFsdWF0ZXMgcHJvZ3JhbSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSBl
dmFsdWF0aW9uLgotICAgIFxpbnRlcm5hbAotKi8KLVFTY3JpcHRWYWx1ZVByaXZhdGUqIFFTY3Jp
cHRFbmdpbmVQcml2YXRlOjpldmFsdWF0ZShjb25zdCBRU2NyaXB0UHJvZ3JhbVByaXZhdGUqIHBy
b2dyYW0pCi17Ci0gICAgaWYgKHByb2dyYW0tPmlzTnVsbCgpKQotICAgICAgICByZXR1cm4gbmV3
IFFTY3JpcHRWYWx1ZVByaXZhdGU7Ci0gICAgcmV0dXJuIG5ldyBRU2NyaXB0VmFsdWVQcml2YXRl
KHRoaXMsIGV2YWx1YXRlKCpwcm9ncmFtLCBwcm9ncmFtLT5maWxlKCksIHByb2dyYW0tPmxpbmUo
KSkpOwotfQotCi1RU2NyaXB0VmFsdWVQcml2YXRlKiBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6dW5j
YXVnaHRFeGNlcHRpb24oKSBjb25zdAotewotICAgIHJldHVybiBtX2V4Y2VwdGlvbiA/IG5ldyBR
U2NyaXB0VmFsdWVQcml2YXRlKHRoaXMsIG1fZXhjZXB0aW9uKSA6IG5ldyBRU2NyaXB0VmFsdWVQ
cml2YXRlKCk7Ci19Ci0KLVFTY3JpcHRWYWx1ZVByaXZhdGUqIFFTY3JpcHRFbmdpbmVQcml2YXRl
OjpuZXdGdW5jdGlvbihRU2NyaXB0RW5naW5lOjpGdW5jdGlvblNpZ25hdHVyZSBmdW4sIFFTY3Jp
cHRWYWx1ZVByaXZhdGUqIHByb3RvdHlwZSwgaW50IGxlbmd0aCkKLXsKLSAgICAvLyBOb3RlIHRo
YXQgdGhpcyBwcml2YXRlIGRhdGEgd2lsbCBiZSBkZWxldGVkIGluIHRoZSBvYmplY3QgZmluYWxp
emUgZnVuY3Rpb24uCi0gICAgUU5hdGl2ZUZ1bmN0aW9uRGF0YSogZGF0YSA9IG5ldyBRTmF0aXZl
RnVuY3Rpb25EYXRhKHRoaXMsIGZ1bik7Ci0gICAgSlNPYmplY3RSZWYgZnVuSlMgPSBKU09iamVj
dE1ha2UobV9jb250ZXh0LCBtX25hdGl2ZUZ1bmN0aW9uQ2xhc3MsIHJlaW50ZXJwcmV0X2Nhc3Q8
dm9pZCo+KGRhdGEpKTsKLSAgICBRU2NyaXB0VmFsdWVQcml2YXRlKiBwcm90byA9IHByb3RvdHlw
ZSA/IHByb3RvdHlwZSA6IG5ld09iamVjdCgpOwotICAgIHJldHVybiBuZXdGdW5jdGlvbihmdW5K
UywgcHJvdG8pOwotfQotCi1RU2NyaXB0VmFsdWVQcml2YXRlKiBRU2NyaXB0RW5naW5lUHJpdmF0
ZTo6bmV3RnVuY3Rpb24oUVNjcmlwdEVuZ2luZTo6RnVuY3Rpb25XaXRoQXJnU2lnbmF0dXJlIGZ1
biwgdm9pZCogYXJnKQotewotICAgIC8vIE5vdGUgdGhhdCB0aGlzIHByaXZhdGUgZGF0YSB3aWxs
IGJlIGRlbGV0ZWQgaW4gdGhlIG9iamVjdCBmaW5hbGl6ZSBmdW5jdGlvbi4KLSAgICBRTmF0aXZl
RnVuY3Rpb25XaXRoQXJnRGF0YSogZGF0YSA9IG5ldyBRTmF0aXZlRnVuY3Rpb25XaXRoQXJnRGF0
YSh0aGlzLCBmdW4sIGFyZyk7Ci0gICAgSlNPYmplY3RSZWYgZnVuSlMgPSBKU09iamVjdE1ha2Uo
bV9jb250ZXh0LCBtX25hdGl2ZUZ1bmN0aW9uV2l0aEFyZ0NsYXNzLCByZWludGVycHJldF9jYXN0
PHZvaWQqPihkYXRhKSk7Ci0gICAgUVNjcmlwdFZhbHVlUHJpdmF0ZSogcHJvdG8gPSBuZXdPYmpl
Y3QoKTsKLSAgICByZXR1cm4gbmV3RnVuY3Rpb24oZnVuSlMsIHByb3RvKTsKLX0KLQotUVNjcmlw
dFZhbHVlUHJpdmF0ZSogUVNjcmlwdEVuZ2luZVByaXZhdGU6Om5ld0Z1bmN0aW9uKEpTT2JqZWN0
UmVmIGZ1bkpTLCBRU2NyaXB0VmFsdWVQcml2YXRlKiBwcm90b3R5cGUpCi17Ci0gICAgSlNPYmpl
Y3RTZXRQcm90b3R5cGUobV9jb250ZXh0LCBmdW5KUywgbV9vcmlnaW5hbEdsb2JhbE9iamVjdC5m
dW5jdGlvblByb3RvdHlwZSgpKTsKLQotICAgIFFTY3JpcHRWYWx1ZVByaXZhdGUqIHJlc3VsdCA9
IG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKHRoaXMsIGZ1bkpTKTsKLSAgICBzdGF0aWMgSlNTdHJp
bmdSZWYgcHJvdG9OYW1lID0gUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmcoInByb3RvdHlwZSIp
OwotICAgIHN0YXRpYyBKU1N0cmluZ1JlZiBjb25zdHJ1Y3Rvck5hbWUgPSBRU2NyaXB0Q29udmVy
dGVyOjp0b1N0cmluZygiY29uc3RydWN0b3IiKTsKLSAgICByZXN1bHQtPnNldFByb3BlcnR5KHBy
b3RvTmFtZSwgcHJvdG90eXBlLCBRU2NyaXB0VmFsdWU6OlVuZGVsZXRhYmxlKTsKLSAgICBwcm90
b3R5cGUtPnNldFByb3BlcnR5KGNvbnN0cnVjdG9yTmFtZSwgcmVzdWx0LCBRU2NyaXB0VmFsdWU6
OlByb3BlcnR5RmxhZ3MoUVNjcmlwdFZhbHVlOjpVbmRlbGV0YWJsZSB8IFFTY3JpcHRWYWx1ZTo6
U2tpcEluRW51bWVyYXRpb24pKTsKLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLVFTY3JpcHRW
YWx1ZVByaXZhdGUqIFFTY3JpcHRFbmdpbmVQcml2YXRlOjpuZXdPYmplY3QoKSBjb25zdAotewot
ICAgIHJldHVybiBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZSh0aGlzLCBKU09iamVjdE1ha2UobV9j
b250ZXh0LCAvKiBqc0NsYXNzICovIDAsIC8qIHVzZXJEYXRhICovIDApKTsKLX0KLQotUVNjcmlw
dFZhbHVlUHJpdmF0ZSogUVNjcmlwdEVuZ2luZVByaXZhdGU6Om5ld0FycmF5KHVpbnQgbGVuZ3Ro
KQotewotICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0gMDsKLSAgICBKU09iamVjdFJlZiBhcnJh
eSA9IEpTT2JqZWN0TWFrZUFycmF5KG1fY29udGV4dCwgLyogYXJndW1lbnRDb3VudCAqLyAwLCAv
KiBhcmd1bWVudHMgKi8gMCwgJmV4Y2VwdGlvbik7Ci0KLSAgICBpZiAoIWV4Y2VwdGlvbikgewot
ICAgICAgICBpZiAobGVuZ3RoID4gMCkgewotICAgICAgICAgICAgSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IGxlbmd0aFJlZihBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImxl
bmd0aCIpKTsKLSAgICAgICAgICAgIC8vIGFycmF5IGlzIGFuIEFycmF5IGluc3RhbmNlLCBzbyBh
biBleGNlcHRpb24gc2hvdWxkIG5vdCBvY2N1cmUgaGVyZS4KLSAgICAgICAgICAgIEpTT2JqZWN0
U2V0UHJvcGVydHkobV9jb250ZXh0LCBhcnJheSwgbGVuZ3RoUmVmLmdldCgpLCBKU1ZhbHVlTWFr
ZU51bWJlcihtX2NvbnRleHQsIGxlbmd0aCksIGtKU1Byb3BlcnR5QXR0cmlidXRlTm9uZSwgLyog
ZXhjZXB0aW9uICovIDApOwotICAgICAgICB9Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgc2V0RXhj
ZXB0aW9uKGV4Y2VwdGlvbiwgTm90TnVsbEV4Y2VwdGlvbik7Ci0gICAgICAgIHJldHVybiBuZXcg
UVNjcmlwdFZhbHVlUHJpdmF0ZSgpOwotICAgIH0KLQotICAgIHJldHVybiBuZXcgUVNjcmlwdFZh
bHVlUHJpdmF0ZSh0aGlzLCBhcnJheSk7Ci19Ci0KLVFTY3JpcHRWYWx1ZVByaXZhdGUqIFFTY3Jp
cHRFbmdpbmVQcml2YXRlOjpuZXdEYXRlKHFzcmVhbCB2YWx1ZSkKLXsKLSAgICBKU1ZhbHVlUmVm
IGV4Y2VwdGlvbiA9IDA7Ci0gICAgSlNWYWx1ZVJlZiBhcmd1bWVudCA9IEpTVmFsdWVNYWtlTnVt
YmVyKG1fY29udGV4dCwgdmFsdWUpOwotICAgIEpTT2JqZWN0UmVmIHJlc3VsdCA9IEpTT2JqZWN0
TWFrZURhdGUobV9jb250ZXh0LCAvKiBhcmd1bWVudENvdW50ICovIDEsICZhcmd1bWVudCwgJmV4
Y2VwdGlvbik7Ci0KLSAgICBpZiAoZXhjZXB0aW9uKSB7Ci0gICAgICAgIHNldEV4Y2VwdGlvbihl
eGNlcHRpb24sIE5vdE51bGxFeGNlcHRpb24pOwotICAgICAgICByZXR1cm4gbmV3IFFTY3JpcHRW
YWx1ZVByaXZhdGUoKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZh
dGUodGhpcywgcmVzdWx0KTsKLX0KLQotUVNjcmlwdFZhbHVlUHJpdmF0ZSogUVNjcmlwdEVuZ2lu
ZVByaXZhdGU6Omdsb2JhbE9iamVjdCgpIGNvbnN0Ci17Ci0gICAgSlNPYmplY3RSZWYgZ2xvYmFs
T2JqZWN0ID0gSlNDb250ZXh0R2V0R2xvYmFsT2JqZWN0KG1fY29udGV4dCk7Ci0gICAgcmV0dXJu
IG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKHRoaXMsIGdsb2JhbE9iamVjdCk7Ci19CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRlbmdpbmVfcC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0ZW5naW5lX3AuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDYwM2I5MTc5MWM5MTA1MDI2ZjZjMzZkNmQyYjEzZjBhMmZmMzMw
Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRlbmdpbmVfcC5oCisrKyAvZGV2L251bGwKQEAg
LTEsMjU5ICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA5IE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot
ICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0g
ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAg
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLSNpZm5kZWYgcXNjcmlwdGVuZ2lu
ZV9wX2gKLSNkZWZpbmUgcXNjcmlwdGVuZ2luZV9wX2gKLQotI2luY2x1ZGUgInFzY3JpcHRjb252
ZXJ0ZXJfcC5oIgotI2luY2x1ZGUgInFzY3JpcHRlbmdpbmUuaCIKLSNpbmNsdWRlICJxc2NyaXB0
b3JpZ2luYWxnbG9iYWxvYmplY3RfcC5oIgotI2luY2x1ZGUgInFzY3JpcHRzdHJpbmdfcC5oIgot
I2luY2x1ZGUgInFzY3JpcHRzeW50YXhjaGVja3Jlc3VsdF9wLmgiCi0jaW5jbHVkZSAicXNjcmlw
dHZhbHVlLmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdC5oPgotI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0pTUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8SlNCYXNlUHJpdmF0
ZS5oPgotI2luY2x1ZGUgPFF0Q29yZS9xc2hhcmVkZGF0YS5oPgotI2luY2x1ZGUgPFF0Q29yZS9x
c3RyaW5nLmg+Ci0jaW5jbHVkZSA8UXRDb3JlL3FzdHJpbmdsaXN0Lmg+Ci0KLWNsYXNzIFFTY3Jp
cHRFbmdpbmU7Ci1jbGFzcyBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2YXRlOwotCi1jbGFz
cyBRU2NyaXB0RW5naW5lUHJpdmF0ZSA6IHB1YmxpYyBRU2hhcmVkRGF0YSB7Ci1wdWJsaWM6Ci0g
ICAgc3RhdGljIFFTY3JpcHRFbmdpbmVQcml2YXRlKiBnZXQoY29uc3QgUVNjcmlwdEVuZ2luZSog
cSkgeyBRX0FTU0VSVChxKTsgcmV0dXJuIHEtPmRfcHRyLmRhdGEoKTsgfQotICAgIHN0YXRpYyBR
U2NyaXB0RW5naW5lKiBnZXQoY29uc3QgUVNjcmlwdEVuZ2luZVByaXZhdGUqIGQpIHsgUV9BU1NF
UlQoZCk7IHJldHVybiBkLT5xX3B0cjsgfQotCi0gICAgUVNjcmlwdEVuZ2luZVByaXZhdGUoY29u
c3QgUVNjcmlwdEVuZ2luZSopOwotICAgIH5RU2NyaXB0RW5naW5lUHJpdmF0ZSgpOwotCi0gICAg
ZW51bSBTZXRFeGNlcHRpb25GbGFnIHsKLSAgICAgICAgSWdub3JlTnVsbEV4Y2VwdGlvbiA9IDB4
MDEsCi0gICAgICAgIE5vdE51bGxFeGNlcHRpb24gPSAweDAyLAotICAgIH07Ci0KLSAgICBRU2Ny
aXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2YXRlKiBjaGVja1N5bnRheChjb25zdCBRU3RyaW5nJiBw
cm9ncmFtKTsKLSAgICBRU2NyaXB0VmFsdWVQcml2YXRlKiBldmFsdWF0ZShjb25zdCBRU3RyaW5n
JiBwcm9ncmFtLCBjb25zdCBRU3RyaW5nJiBmaWxlTmFtZSwgaW50IGxpbmVOdW1iZXIpOwotICAg
IFFTY3JpcHRWYWx1ZVByaXZhdGUqIGV2YWx1YXRlKGNvbnN0IFFTY3JpcHRQcm9ncmFtUHJpdmF0
ZSogcHJvZ3JhbSk7Ci0gICAgaW5saW5lIEpTVmFsdWVSZWYgZXZhbHVhdGUoSlNTdHJpbmdSZWYg
cHJvZ3JhbSwgSlNTdHJpbmdSZWYgZmlsZU5hbWUsIGludCBsaW5lTnVtYmVyKTsKLQotICAgIGlu
bGluZSBib29sIGhhc1VuY2F1Z2h0RXhjZXB0aW9uKCkgY29uc3Q7Ci0gICAgUVNjcmlwdFZhbHVl
UHJpdmF0ZSogdW5jYXVnaHRFeGNlcHRpb24oKSBjb25zdDsKLSAgICBpbmxpbmUgdm9pZCBjbGVh
ckV4Y2VwdGlvbnMoKTsKLSAgICBpbmxpbmUgdm9pZCBzZXRFeGNlcHRpb24oSlNWYWx1ZVJlZiBl
eGNlcHRpb24sIGNvbnN0IC8qIFNldEV4Y2VwdGlvbkZsYWdzICovIHVuc2lnbmVkIGZsYWdzID0g
SWdub3JlTnVsbEV4Y2VwdGlvbik7Ci0gICAgaW5saW5lIGludCB1bmNhdWdodEV4Y2VwdGlvbkxp
bmVOdW1iZXIoKSBjb25zdDsKLSAgICBpbmxpbmUgUVN0cmluZ0xpc3QgdW5jYXVnaHRFeGNlcHRp
b25CYWNrdHJhY2UoKSBjb25zdDsKLQotICAgIGlubGluZSB2b2lkIGNvbGxlY3RHYXJiYWdlKCk7
Ci0gICAgaW5saW5lIHZvaWQgcmVwb3J0QWRkaXRpb25hbE1lbW9yeUNvc3QoaW50IGNvc3QpOwot
Ci0gICAgaW5saW5lIEpTVmFsdWVSZWYgbWFrZUpTVmFsdWUoZG91YmxlIG51bWJlcikgY29uc3Q7
Ci0gICAgaW5saW5lIEpTVmFsdWVSZWYgbWFrZUpTVmFsdWUoaW50IG51bWJlcikgY29uc3Q7Ci0g
ICAgaW5saW5lIEpTVmFsdWVSZWYgbWFrZUpTVmFsdWUodWludCBudW1iZXIpIGNvbnN0OwotICAg
IGlubGluZSBKU1ZhbHVlUmVmIG1ha2VKU1ZhbHVlKGNvbnN0IFFTdHJpbmcmIHN0cmluZykgY29u
c3Q7Ci0gICAgaW5saW5lIEpTVmFsdWVSZWYgbWFrZUpTVmFsdWUoYm9vbCBudW1iZXIpIGNvbnN0
OwotICAgIGlubGluZSBKU1ZhbHVlUmVmIG1ha2VKU1ZhbHVlKFFTY3JpcHRWYWx1ZTo6U3BlY2lh
bFZhbHVlIHZhbHVlKSBjb25zdDsKLQotICAgIFFTY3JpcHRWYWx1ZVByaXZhdGUqIG5ld0Z1bmN0
aW9uKFFTY3JpcHRFbmdpbmU6OkZ1bmN0aW9uU2lnbmF0dXJlIGZ1biwgUVNjcmlwdFZhbHVlUHJp
dmF0ZSogcHJvdG90eXBlLCBpbnQgbGVuZ3RoKTsKLSAgICBRU2NyaXB0VmFsdWVQcml2YXRlKiBu
ZXdGdW5jdGlvbihRU2NyaXB0RW5naW5lOjpGdW5jdGlvbldpdGhBcmdTaWduYXR1cmUgZnVuLCB2
b2lkKiBhcmcpOwotICAgIFFTY3JpcHRWYWx1ZVByaXZhdGUqIG5ld0Z1bmN0aW9uKEpTT2JqZWN0
UmVmIGZ1bk9iamVjdCwgUVNjcmlwdFZhbHVlUHJpdmF0ZSogcHJvdG90eXBlKTsKLQotICAgIFFT
Y3JpcHRWYWx1ZVByaXZhdGUqIG5ld09iamVjdCgpIGNvbnN0OwotICAgIFFTY3JpcHRWYWx1ZVBy
aXZhdGUqIG5ld0FycmF5KHVpbnQgbGVuZ3RoKTsKLSAgICBRU2NyaXB0VmFsdWVQcml2YXRlKiBu
ZXdEYXRlKHFzcmVhbCB2YWx1ZSk7Ci0gICAgUVNjcmlwdFZhbHVlUHJpdmF0ZSogZ2xvYmFsT2Jq
ZWN0KCkgY29uc3Q7Ci0KLSAgICBpbmxpbmUgUVNjcmlwdFN0cmluZ1ByaXZhdGUqIHRvU3RyaW5n
SGFuZGxlKGNvbnN0IFFTdHJpbmcmIHN0cikgY29uc3Q7Ci0KLSAgICBpbmxpbmUgb3BlcmF0b3Ig
SlNHbG9iYWxDb250ZXh0UmVmKCkgY29uc3Q7Ci0KLSAgICBpbmxpbmUgYm9vbCBpc0RhdGUoSlNW
YWx1ZVJlZiB2YWx1ZSkgY29uc3Q7Ci0gICAgaW5saW5lIGJvb2wgaXNBcnJheShKU1ZhbHVlUmVm
IHZhbHVlKSBjb25zdDsKLSAgICBpbmxpbmUgYm9vbCBpc0Vycm9yKEpTVmFsdWVSZWYgdmFsdWUp
IGNvbnN0OwotICAgIGlubGluZSBib29sIG9iamVjdEhhc093blByb3BlcnR5KEpTT2JqZWN0UmVm
IG9iamVjdCwgSlNTdHJpbmdSZWYgcHJvcGVydHkpIGNvbnN0OwotICAgIGlubGluZSBRVmVjdG9y
PEpTU3RyaW5nUmVmPiBvYmplY3RHZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZWN0UmVmIG9iamVj
dCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgUVNjcmlwdEVuZ2luZSogcV9wdHI7Ci0gICAgSlNH
bG9iYWxDb250ZXh0UmVmIG1fY29udGV4dDsKLSAgICBKU1ZhbHVlUmVmIG1fZXhjZXB0aW9uOwot
Ci0gICAgUVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0IG1fb3JpZ2luYWxHbG9iYWxPYmplY3Q7
Ci0KLSAgICBKU0NsYXNzUmVmIG1fbmF0aXZlRnVuY3Rpb25DbGFzczsKLSAgICBKU0NsYXNzUmVm
IG1fbmF0aXZlRnVuY3Rpb25XaXRoQXJnQ2xhc3M7Ci19OwotCi0KLS8qIQotICBFdmFsdWF0ZXMg
Z2l2ZW4gSmF2YVNjcmlwdCBwcm9ncmFtIGFuZCByZXR1cm5zIHJlc3VsdCBvZiB0aGUgZXZhbHVh
dGlvbi4KLSAgXGF0dGVudGlvbiB0aGlzIGZ1bmN0aW9uIGRvZXNuJ3QgdGFrZSBvd25lcnNoaXAg
b2YgdGhlIHBhcmFtZXRlcnMuCi0gIFxpbnRlcm5hbAotKi8KLUpTVmFsdWVSZWYgUVNjcmlwdEVu
Z2luZVByaXZhdGU6OmV2YWx1YXRlKEpTU3RyaW5nUmVmIHByb2dyYW0sIEpTU3RyaW5nUmVmIGZp
bGVOYW1lLCBpbnQgbGluZU51bWJlcikKLXsKLSAgICBKU1ZhbHVlUmVmIGV4Y2VwdGlvbjsKLSAg
ICBKU1ZhbHVlUmVmIHJlc3VsdCA9IEpTRXZhbHVhdGVTY3JpcHQobV9jb250ZXh0LCBwcm9ncmFt
LCAvKiBHbG9iYWwgT2JqZWN0ICovIDAsIGZpbGVOYW1lLCBsaW5lTnVtYmVyLCAmZXhjZXB0aW9u
KTsKLSAgICBpZiAoIXJlc3VsdCkgewotICAgICAgICBzZXRFeGNlcHRpb24oZXhjZXB0aW9uLCBO
b3ROdWxsRXhjZXB0aW9uKTsKLSAgICAgICAgcmV0dXJuIGV4Y2VwdGlvbjsgLy8gcmV0dXJucyBh
biBleGNlcHRpb24KLSAgICB9Ci0gICAgY2xlYXJFeGNlcHRpb25zKCk7Ci0gICAgcmV0dXJuIHJl
c3VsdDsKLX0KLQotYm9vbCBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6aGFzVW5jYXVnaHRFeGNlcHRp
b24oKSBjb25zdAotewotICAgIHJldHVybiBtX2V4Y2VwdGlvbjsKLX0KLQotdm9pZCBRU2NyaXB0
RW5naW5lUHJpdmF0ZTo6Y2xlYXJFeGNlcHRpb25zKCkKLXsKLSAgICBpZiAobV9leGNlcHRpb24p
Ci0gICAgICAgIEpTVmFsdWVVbnByb3RlY3QobV9jb250ZXh0LCBtX2V4Y2VwdGlvbik7Ci0gICAg
bV9leGNlcHRpb24gPSAwOwotfQotCi12b2lkIFFTY3JpcHRFbmdpbmVQcml2YXRlOjpzZXRFeGNl
cHRpb24oSlNWYWx1ZVJlZiBleGNlcHRpb24sIGNvbnN0IC8qIFNldEV4Y2VwdGlvbkZsYWdzICov
IHVuc2lnbmVkIGZsYWdzKQotewotICAgIGlmICghKChmbGFncyAmIE5vdE51bGxFeGNlcHRpb24p
IHx8IGV4Y2VwdGlvbikpCi0gICAgICAgIHJldHVybjsKLSAgICBRX0FTU0VSVChleGNlcHRpb24p
OwotCi0gICAgaWYgKG1fZXhjZXB0aW9uKQotICAgICAgICBKU1ZhbHVlVW5wcm90ZWN0KG1fY29u
dGV4dCwgbV9leGNlcHRpb24pOwotICAgIEpTVmFsdWVQcm90ZWN0KG1fY29udGV4dCwgZXhjZXB0
aW9uKTsKLSAgICBtX2V4Y2VwdGlvbiA9IGV4Y2VwdGlvbjsKLX0KLQotaW50IFFTY3JpcHRFbmdp
bmVQcml2YXRlOjp1bmNhdWdodEV4Y2VwdGlvbkxpbmVOdW1iZXIoKSBjb25zdAotewotICAgIGlm
ICghaGFzVW5jYXVnaHRFeGNlcHRpb24oKSB8fCAhSlNWYWx1ZUlzT2JqZWN0KG1fY29udGV4dCwg
bV9leGNlcHRpb24pKQotICAgICAgICByZXR1cm4gLTE7Ci0KLSAgICBKU1ZhbHVlUmVmIGV4Y2Vw
dGlvbiA9IDA7Ci0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IGxpbmVOdW1iZXJQcm9wZXJ0
eU5hbWUoQWRvcHQsIFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKCJsaW5lIikpOwotICAgIEpT
VmFsdWVSZWYgbGluZU51bWJlciA9IEpTT2JqZWN0R2V0UHJvcGVydHkobV9jb250ZXh0LCBjb25z
dF9jYXN0PEpTT2JqZWN0UmVmPihtX2V4Y2VwdGlvbiksIGxpbmVOdW1iZXJQcm9wZXJ0eU5hbWUu
Z2V0KCksICZleGNlcHRpb24pOwotICAgIGludCByZXN1bHQgPSBKU1ZhbHVlVG9OdW1iZXIobV9j
b250ZXh0LCBsaW5lTnVtYmVyLCAmZXhjZXB0aW9uKTsKLSAgICByZXR1cm4gZXhjZXB0aW9uID8g
LTEgOiByZXN1bHQ7Ci19Ci0KLVFTdHJpbmdMaXN0IFFTY3JpcHRFbmdpbmVQcml2YXRlOjp1bmNh
dWdodEV4Y2VwdGlvbkJhY2t0cmFjZSgpIGNvbnN0Ci17Ci0gICAgaWYgKCFoYXNVbmNhdWdodEV4
Y2VwdGlvbigpIHx8ICFKU1ZhbHVlSXNPYmplY3QobV9jb250ZXh0LCBtX2V4Y2VwdGlvbikpCi0g
ICAgICAgIHJldHVybiBRU3RyaW5nTGlzdCgpOwotCi0gICAgSlNWYWx1ZVJlZiBleGNlcHRpb24g
PSAwOwotICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBmaWxlTmFtZVByb3BlcnR5TmFtZShB
ZG9wdCwgUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmcoInNvdXJjZVVSTCIpKTsKLSAgICBKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gbGluZU51bWJlclByb3BlcnR5TmFtZShBZG9wdCwgUVNjcmlw
dENvbnZlcnRlcjo6dG9TdHJpbmcoImxpbmUiKSk7Ci0gICAgSlNWYWx1ZVJlZiBqc0ZpbGVOYW1l
ID0gSlNPYmplY3RHZXRQcm9wZXJ0eShtX2NvbnRleHQsIGNvbnN0X2Nhc3Q8SlNPYmplY3RSZWY+
KG1fZXhjZXB0aW9uKSwgZmlsZU5hbWVQcm9wZXJ0eU5hbWUuZ2V0KCksICZleGNlcHRpb24pOwot
ICAgIEpTVmFsdWVSZWYganNMaW5lTnVtYmVyID0gSlNPYmplY3RHZXRQcm9wZXJ0eShtX2NvbnRl
eHQsIGNvbnN0X2Nhc3Q8SlNPYmplY3RSZWY+KG1fZXhjZXB0aW9uKSwgbGluZU51bWJlclByb3Bl
cnR5TmFtZS5nZXQoKSwgJmV4Y2VwdGlvbik7Ci0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IGZpbGVOYW1lKEFkb3B0LCBKU1ZhbHVlVG9TdHJpbmdDb3B5KG1fY29udGV4dCwganNGaWxlTmFt
ZSwgJmV4Y2VwdGlvbikpOwotICAgIGludCBsaW5lTnVtYmVyID0gSlNWYWx1ZVRvTnVtYmVyKG1f
Y29udGV4dCwganNMaW5lTnVtYmVyLCAmZXhjZXB0aW9uKTsKLSAgICByZXR1cm4gUVN0cmluZ0xp
c3QoUVN0cmluZzo6ZnJvbUxhdGluMSgiPGFub255bW91cz4oKUAlMDolMSIpCi0gICAgICAgICAg
ICAuYXJnKFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKGZpbGVOYW1lLmdldCgpKSkKLSAgICAg
ICAgICAgIC5hcmcoUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmcoZXhjZXB0aW9uID8gLTEgOiBs
aW5lTnVtYmVyKSkpOwotfQotCi12b2lkIFFTY3JpcHRFbmdpbmVQcml2YXRlOjpjb2xsZWN0R2Fy
YmFnZSgpCi17Ci0gICAgSlNHYXJiYWdlQ29sbGVjdChtX2NvbnRleHQpOwotfQotCi12b2lkIFFT
Y3JpcHRFbmdpbmVQcml2YXRlOjpyZXBvcnRBZGRpdGlvbmFsTWVtb3J5Q29zdChpbnQgY29zdCkK
LXsKLSAgICBpZiAoY29zdCA+IDApCi0gICAgICAgIEpTUmVwb3J0RXh0cmFNZW1vcnlDb3N0KG1f
Y29udGV4dCwgY29zdCk7Ci19Ci0KLUpTVmFsdWVSZWYgUVNjcmlwdEVuZ2luZVByaXZhdGU6Om1h
a2VKU1ZhbHVlKGRvdWJsZSBudW1iZXIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIEpTVmFsdWVNYWtl
TnVtYmVyKG1fY29udGV4dCwgbnVtYmVyKTsKLX0KLQotSlNWYWx1ZVJlZiBRU2NyaXB0RW5naW5l
UHJpdmF0ZTo6bWFrZUpTVmFsdWUoaW50IG51bWJlcikgY29uc3QKLXsKLSAgICByZXR1cm4gSlNW
YWx1ZU1ha2VOdW1iZXIobV9jb250ZXh0LCBudW1iZXIpOwotfQotCi1KU1ZhbHVlUmVmIFFTY3Jp
cHRFbmdpbmVQcml2YXRlOjptYWtlSlNWYWx1ZSh1aW50IG51bWJlcikgY29uc3QKLXsKLSAgICBy
ZXR1cm4gSlNWYWx1ZU1ha2VOdW1iZXIobV9jb250ZXh0LCBudW1iZXIpOwotfQotCi1KU1ZhbHVl
UmVmIFFTY3JpcHRFbmdpbmVQcml2YXRlOjptYWtlSlNWYWx1ZShjb25zdCBRU3RyaW5nJiBzdHJp
bmcpIGNvbnN0Ci17Ci0gICAgSlNTdHJpbmdSZWYgdG1wID0gUVNjcmlwdENvbnZlcnRlcjo6dG9T
dHJpbmcoc3RyaW5nKTsKLSAgICBKU1ZhbHVlUmVmIHJlc3VsdCA9IEpTVmFsdWVNYWtlU3RyaW5n
KG1fY29udGV4dCwgdG1wKTsKLSAgICBKU1N0cmluZ1JlbGVhc2UodG1wKTsKLSAgICByZXR1cm4g
cmVzdWx0OwotfQotCi1KU1ZhbHVlUmVmIFFTY3JpcHRFbmdpbmVQcml2YXRlOjptYWtlSlNWYWx1
ZShib29sIHZhbHVlKSBjb25zdAotewotICAgIHJldHVybiBKU1ZhbHVlTWFrZUJvb2xlYW4obV9j
b250ZXh0LCB2YWx1ZSk7Ci19Ci0KLUpTVmFsdWVSZWYgUVNjcmlwdEVuZ2luZVByaXZhdGU6Om1h
a2VKU1ZhbHVlKFFTY3JpcHRWYWx1ZTo6U3BlY2lhbFZhbHVlIHZhbHVlKSBjb25zdAotewotICAg
IGlmICh2YWx1ZSA9PSBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkKLSAgICAgICAgcmV0dXJuIEpT
VmFsdWVNYWtlTnVsbChtX2NvbnRleHQpOwotICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5l
ZChtX2NvbnRleHQpOwotfQotCi1RU2NyaXB0U3RyaW5nUHJpdmF0ZSogUVNjcmlwdEVuZ2luZVBy
aXZhdGU6OnRvU3RyaW5nSGFuZGxlKGNvbnN0IFFTdHJpbmcmIHN0cikgY29uc3QKLXsKLSAgICBy
ZXR1cm4gbmV3IFFTY3JpcHRTdHJpbmdQcml2YXRlKHN0cik7Ci19Ci0KLVFTY3JpcHRFbmdpbmVQ
cml2YXRlOjpvcGVyYXRvciBKU0dsb2JhbENvbnRleHRSZWYoKSBjb25zdAotewotICAgIFFfQVNT
RVJUKHRoaXMpOwotICAgIHJldHVybiBtX2NvbnRleHQ7Ci19Ci0KLWJvb2wgUVNjcmlwdEVuZ2lu
ZVByaXZhdGU6OmlzRGF0ZShKU1ZhbHVlUmVmIHZhbHVlKSBjb25zdAotewotICAgIHJldHVybiBt
X29yaWdpbmFsR2xvYmFsT2JqZWN0LmlzRGF0ZSh2YWx1ZSk7Ci19Ci0KLWJvb2wgUVNjcmlwdEVu
Z2luZVByaXZhdGU6OmlzQXJyYXkoSlNWYWx1ZVJlZiB2YWx1ZSkgY29uc3QKLXsKLSAgICByZXR1
cm4gbV9vcmlnaW5hbEdsb2JhbE9iamVjdC5pc0FycmF5KHZhbHVlKTsKLX0KLQotYm9vbCBRU2Ny
aXB0RW5naW5lUHJpdmF0ZTo6aXNFcnJvcihKU1ZhbHVlUmVmIHZhbHVlKSBjb25zdAotewotICAg
IHJldHVybiBtX29yaWdpbmFsR2xvYmFsT2JqZWN0LmlzRXJyb3IodmFsdWUpOwotfQotCi1pbmxp
bmUgYm9vbCBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6b2JqZWN0SGFzT3duUHJvcGVydHkoSlNPYmpl
Y3RSZWYgb2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eSkgY29uc3QKLXsKLSAgICAvLyBGSVhN
RSBXZSBuZWVkIGEgSlNDIEMgQVBJIGZ1bmN0aW9uIGZvciB0aGlzLgotICAgIHJldHVybiBtX29y
aWdpbmFsR2xvYmFsT2JqZWN0Lm9iamVjdEhhc093blByb3BlcnR5KG9iamVjdCwgcHJvcGVydHkp
OwotfQotCi1pbmxpbmUgUVZlY3RvcjxKU1N0cmluZ1JlZj4gUVNjcmlwdEVuZ2luZVByaXZhdGU6
Om9iamVjdEdldE93blByb3BlcnR5TmFtZXMoSlNPYmplY3RSZWYgb2JqZWN0KSBjb25zdAotewot
ICAgIC8vIEZJWE1FIFdlIGNhbid0IHVzZSBDIEFQSSBmdW5jdGlvbiBKU09iamVjdEdldFByb3Bl
cnR5TmFtZXMgYXMgaXQgcmV0dXJucyBvbmx5IGVudW1lcmFibGUgcHJvcGVydGllcy4KLSAgICBy
ZXR1cm4gbV9vcmlnaW5hbEdsb2JhbE9iamVjdC5vYmplY3RHZXRPd25Qcm9wZXJ0eU5hbWVzKG9i
amVjdCk7Ci19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0
L2FwaS9xc2NyaXB0ZnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9x
c2NyaXB0ZnVuY3Rpb24uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZmUzN2U2
MjEyN2RmMWRlMzYwOWRiNDE0MjRmY2VjNDI3MTg2ZjA5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNj
cmlwdGZ1bmN0aW9uLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE0NSArMCwwIEBACi0vKgotICAg
IENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlh
cnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAg
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAg
ICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCi0qLwotCi0vLyBDb250YWlucyB0aGUgbmVjZXNzYXJ5IGhlbHBlciBzdHJ1Y3R1cmVz
IHRvIG1ha2UgcG9zc2libGUgZXhwb3NlCi0vLyBDL0MrKyBmdW5jdGlvbnMgdG8gSmF2YVNjcmlw
dCBlbnZpcm9ubWVudC4KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaW5jbHVkZSAicXNjcmlw
dGZ1bmN0aW9uX3AuaCIKLQotc3RhdGljIHZvaWQgcXRfTmF0aXZlRnVuY3Rpb25fZmluYWxpemUo
SlNPYmplY3RSZWYgb2JqZWN0KQotewotICAgIHZvaWQqIHByaXYgPSBKU09iamVjdEdldFByaXZh
dGUob2JqZWN0KTsKLSAgICBkZWxldGUgcmVpbnRlcnByZXRfY2FzdDxRTmF0aXZlRnVuY3Rpb25E
YXRhKj4ocHJpdik7Ci19Ci0KLXN0YXRpYyBKU1ZhbHVlUmVmIHF0X05hdGl2ZUZ1bmN0aW9uX2Nh
bGxBc0Z1bmN0aW9uKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBvYmplY3QsIEpT
T2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVl
UmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCi17Ci0gICAgUU5hdGl2ZUZ1
bmN0aW9uRGF0YSogZGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UU5hdGl2ZUZ1bmN0aW9uRGF0YSo+
KEpTT2JqZWN0R2V0UHJpdmF0ZShvYmplY3QpKTsKLQotICAgIC8vIFRPRE86IGJ1aWxkIGEgUVNj
cmlwdENvbnRleHQgYW5kIHVzZSBpdCBpbiB0aGUgbmF0aXZlIGNhbGwuCi0gICAgUVNjcmlwdENv
bnRleHQqIHNjcmlwdENvbnRleHQgPSAwOwotICAgIFFfVU5VU0VEKGNvbnRleHQpOwotICAgIFFf
VU5VU0VEKHRoaXNPYmplY3QpOwotICAgIFFfVU5VU0VEKGFyZ3VtZW50Q291bnQpOwotICAgIFFf
VU5VU0VEKGFyZ3VtZW50cyk7Ci0gICAgUV9VTlVTRUQoZXhjZXB0aW9uKTsKLQotICAgIFFTY3Jp
cHRFbmdpbmVQcml2YXRlKiBlbmdpbmUgPSBkYXRhLT5lbmdpbmU7Ci0gICAgUVNjcmlwdFZhbHVl
UHJpdmF0ZSogcmVzdWx0ID0gUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KGRhdGEtPmZ1bihzY3Jp
cHRDb250ZXh0LCBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6Z2V0KGVuZ2luZSkpKTsKLSAgICBpZiAo
IXJlc3VsdC0+aXNWYWxpZCgpKSB7Ci0gICAgICAgIHFXYXJuaW5nKCJJbnZhbGlkIHZhbHVlIHJl
dHVybmVkIGZyb20gbmF0aXZlIGZ1bmN0aW9uLCByZXR1cm5pbmcgdW5kZWZpbmVkIHZhbHVlIGlu
c3RlYWQuIik7Ci0gICAgICAgIHJldHVybiBlbmdpbmUtPm1ha2VKU1ZhbHVlKFFTY3JpcHRWYWx1
ZTo6VW5kZWZpbmVkVmFsdWUpOwotICAgIH0KLQotICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBy
ZXN1bHQgd2lsbCBiZSBhc3NpZ25lZCB0byB0aGUgY29ycmVjdCBlbmdpbmUuCi0gICAgaWYgKCFy
ZXN1bHQtPmVuZ2luZSgpKSB7Ci0gICAgICAgIFFfQVNTRVJUKHJlc3VsdC0+aXNWYWxpZCgpKTsK
LSAgICAgICAgcmVzdWx0LT5hc3NpZ25FbmdpbmUoZW5naW5lKTsKLSAgICB9IGVsc2UgaWYgKHJl
c3VsdC0+ZW5naW5lKCkgIT0gZW5naW5lKSB7Ci0gICAgICAgIHFXYXJuaW5nKCJWYWx1ZSBmcm9t
IGRpZmZlcmVudCBlbmdpbmUgcmV0dXJuZWQgZnJvbSBuYXRpdmUgZnVuY3Rpb24sIHJldHVybmlu
ZyB1bmRlZmluZWQgdmFsdWUgaW5zdGVhZC4iKTsKLSAgICAgICAgcmV0dXJuIGVuZ2luZS0+bWFr
ZUpTVmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSk7Ci0gICAgfQotCi0gICAgcmV0
dXJuICpyZXN1bHQ7Ci19Ci0KLUpTQ2xhc3NEZWZpbml0aW9uIHF0X05hdGl2ZUZ1bmN0aW9uQ2xh
c3MgPSB7Ci0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmVy
c2lvbgotICAgIGtKU0NsYXNzQXR0cmlidXRlTm9BdXRvbWF0aWNQcm90b3R5cGUsIC8vIGF0dHJp
YnV0ZXMKLQotICAgICIiLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjbGFzc05hbWUKLSAg
ICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFyZW50Q2xhc3MKLQotICAgIDAsICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBzdGF0aWNWYWx1ZXMKLSAgICAwLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gc3RhdGljRnVuY3Rpb25zCi0KLSAgICAwLCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gaW5pdGlhbGl6ZQotICAgIHF0X05hdGl2ZUZ1bmN0aW9uX2Zp
bmFsaXplLCAgICAgICAvLyBmaW5hbGl6ZQotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBoYXNQcm9wZXJ0eQotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBnZXRQcm9wZXJ0eQotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBzZXRQcm9wZXJ0eQotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyBkZWxldGVQcm9wZXJ0eQotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyBnZXRQcm9wZXJ0eU5hbWVzCi0gICAgcXRfTmF0aXZlRnVuY3Rpb25fY2FsbEFzRnVuY3Rpb24s
IC8vIGNhbGxBc0Z1bmN0aW9uCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIGNhbGxBc0NvbnN0cnVjdG9yCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIGhhc0luc3RhbmNlCi0gICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIGNvbnZlcnRUb1R5cGUKLX07Ci0KLXN0YXRpYyB2b2lkIHF0X05hdGl2ZUZ1bmN0aW9uV2l0
aEFyZ19maW5hbGl6ZShKU09iamVjdFJlZiBvYmplY3QpCi17Ci0gICAgdm9pZCogcHJpdiA9IEpT
T2JqZWN0R2V0UHJpdmF0ZShvYmplY3QpOwotICAgIGRlbGV0ZSByZWludGVycHJldF9jYXN0PFFO
YXRpdmVGdW5jdGlvbldpdGhBcmdEYXRhKj4ocHJpdik7Ci19Ci0KLXN0YXRpYyBKU1ZhbHVlUmVm
IHF0X05hdGl2ZUZ1bmN0aW9uV2l0aEFyZ19jYWxsQXNGdW5jdGlvbihKU0NvbnRleHRSZWYgY29u
dGV4dCwgSlNPYmplY3RSZWYgb2JqZWN0LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3Qg
YXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiog
ZXhjZXB0aW9uKQotewotICAgIFFOYXRpdmVGdW5jdGlvbldpdGhBcmdEYXRhKiBkYXRhID0gcmVp
bnRlcnByZXRfY2FzdDxRTmF0aXZlRnVuY3Rpb25XaXRoQXJnRGF0YSo+KEpTT2JqZWN0R2V0UHJp
dmF0ZShvYmplY3QpKTsKLQotICAgIC8vIFRPRE86IGJ1aWxkIGEgUVNjcmlwdENvbnRleHQgYW5k
IHVzZSBpdCBpbiB0aGUgbmF0aXZlIGNhbGwuCi0gICAgUVNjcmlwdENvbnRleHQqIHNjcmlwdENv
bnRleHQgPSAwOwotICAgIFFfVU5VU0VEKGNvbnRleHQpOwotICAgIFFfVU5VU0VEKHRoaXNPYmpl
Y3QpOwotICAgIFFfVU5VU0VEKGFyZ3VtZW50Q291bnQpOwotICAgIFFfVU5VU0VEKGFyZ3VtZW50
cyk7Ci0gICAgUV9VTlVTRUQoZXhjZXB0aW9uKTsKLQotICAgIFFTY3JpcHRFbmdpbmVQcml2YXRl
KiBlbmdpbmUgPSBkYXRhLT5lbmdpbmU7Ci0gICAgUVNjcmlwdFZhbHVlUHJpdmF0ZSogcmVzdWx0
ID0gUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KGRhdGEtPmZ1bihzY3JpcHRDb250ZXh0LCBRU2Ny
aXB0RW5naW5lUHJpdmF0ZTo6Z2V0KGVuZ2luZSksIGRhdGEtPmFyZykpOwotICAgIGlmICghcmVz
dWx0LT5pc1ZhbGlkKCkpIHsKLSAgICAgICAgcVdhcm5pbmcoIkludmFsaWQgdmFsdWUgcmV0dXJu
ZWQgZnJvbSBuYXRpdmUgZnVuY3Rpb24sIHJldHVybmluZyB1bmRlZmluZWQgdmFsdWUgaW5zdGVh
ZC4iKTsKLSAgICAgICAgcmV0dXJuIGVuZ2luZS0+bWFrZUpTVmFsdWUoUVNjcmlwdFZhbHVlOjpV
bmRlZmluZWRWYWx1ZSk7Ci0gICAgfQotCi0gICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIHJlc3Vs
dCB3aWxsIGJlIGFzc2lnbmVkIHRvIHRoZSBjb3JyZWN0IGVuZ2luZS4KLSAgICBpZiAoIXJlc3Vs
dC0+ZW5naW5lKCkpIHsKLSAgICAgICAgUV9BU1NFUlQocmVzdWx0LT5pc1ZhbGlkKCkpOwotICAg
ICAgICByZXN1bHQtPmFzc2lnbkVuZ2luZShlbmdpbmUpOwotICAgIH0gZWxzZSBpZiAocmVzdWx0
LT5lbmdpbmUoKSAhPSBlbmdpbmUpIHsKLSAgICAgICAgcVdhcm5pbmcoIlZhbHVlIGZyb20gZGlm
ZmVyZW50IGVuZ2luZSByZXR1cm5lZCBmcm9tIG5hdGl2ZSBmdW5jdGlvbiwgcmV0dXJuaW5nIHVu
ZGVmaW5lZCB2YWx1ZSBpbnN0ZWFkLiIpOwotICAgICAgICByZXR1cm4gZW5naW5lLT5tYWtlSlNW
YWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKTsKLSAgICB9Ci0KLSAgICByZXR1cm4g
KnJlc3VsdDsKLX0KLQotSlNDbGFzc0RlZmluaXRpb24gcXRfTmF0aXZlRnVuY3Rpb25XaXRoQXJn
Q2xhc3MgPSB7Ci0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
dmVyc2lvbgotICAgIGtKU0NsYXNzQXR0cmlidXRlTm9BdXRvbWF0aWNQcm90b3R5cGUsIC8vIGF0
dHJpYnV0ZXMKLQotICAgICIiLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjbGFzc05hbWUK
LSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFyZW50Q2xhc3MKLQotICAgIDAs
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzdGF0aWNWYWx1ZXMKLSAgICAwLCAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gc3RhdGljRnVuY3Rpb25zCi0KLSAgICAwLCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGluaXRpYWxpemUKLSAgICBxdF9OYXRpdmVG
dW5jdGlvbldpdGhBcmdfZmluYWxpemUsICAgICAgIC8vIGZpbmFsaXplCi0gICAgMCwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBoYXNQcm9wZXJ0eQotICAgIDAsICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZ2V0UHJvcGVydHkKLSAgICAw
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNldFByb3BlcnR5Ci0g
ICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBkZWxldGVQcm9w
ZXJ0eQotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZ2V0
UHJvcGVydHlOYW1lcwotICAgIHF0X05hdGl2ZUZ1bmN0aW9uV2l0aEFyZ19jYWxsQXNGdW5jdGlv
biwgLy8gY2FsbEFzRnVuY3Rpb24KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIGNhbGxBc0NvbnN0cnVjdG9yCi0gICAgMCwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyBoYXNJbnN0YW5jZQotICAgIDAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29udmVydFRvVHlwZQotfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGZ1bmN0aW9uX3AuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGZ1bmN0aW9uX3AuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNjViNjA0Njk0MTc5NmZhZDAwMTViN2YwNGVkZjYwZTZmYjgyY2Rk
ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRmdW5jdGlvbl9wLmgKKysrIC9kZXYvbnVsbApA
QCAtMSw1NyArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3Jh
dGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAg
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
LSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQot
ICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0g
ICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaWZuZGVmIHFzY3JpcHRmdW5j
dGlvbl9wX2gKLSNkZWZpbmUgcXNjcmlwdGZ1bmN0aW9uX3BfaAotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0KLSNpbmNsdWRlICJxc2NyaXB0ZW5naW5lLmgiCi0jaW5jbHVkZSAicXNjcmlwdHZhbHVl
X3AuaCIKLQotZXh0ZXJuIEpTQ2xhc3NEZWZpbml0aW9uIHF0X05hdGl2ZUZ1bmN0aW9uQ2xhc3M7
Ci1leHRlcm4gSlNDbGFzc0RlZmluaXRpb24gcXRfTmF0aXZlRnVuY3Rpb25XaXRoQXJnQ2xhc3M7
Ci0KLXN0cnVjdCBRTmF0aXZlRnVuY3Rpb25EYXRhCi17Ci0gICAgUU5hdGl2ZUZ1bmN0aW9uRGF0
YShRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lLCBRU2NyaXB0RW5naW5lOjpGdW5jdGlvblNp
Z25hdHVyZSBmdW4pCi0gICAgICAgIDogZW5naW5lKGVuZ2luZSkKLSAgICAgICAgLCBmdW4oZnVu
KQotICAgIHsKLSAgICB9Ci0KLSAgICBRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lOwotICAg
IFFTY3JpcHRFbmdpbmU6OkZ1bmN0aW9uU2lnbmF0dXJlIGZ1bjsKLX07Ci0KLXN0cnVjdCBRTmF0
aXZlRnVuY3Rpb25XaXRoQXJnRGF0YQotewotICAgIFFOYXRpdmVGdW5jdGlvbldpdGhBcmdEYXRh
KFFTY3JpcHRFbmdpbmVQcml2YXRlKiBlbmdpbmUsIFFTY3JpcHRFbmdpbmU6OkZ1bmN0aW9uV2l0
aEFyZ1NpZ25hdHVyZSBmdW4sIHZvaWQqIGFyZykKLSAgICAgICAgOiBlbmdpbmUoZW5naW5lKQot
ICAgICAgICAsIGZ1bihmdW4pCi0gICAgICAgICwgYXJnKGFyZykKLSAgICB7Ci0gICAgfQotCi0g
ICAgUVNjcmlwdEVuZ2luZVByaXZhdGUqIGVuZ2luZTsKLSAgICBRU2NyaXB0RW5naW5lOjpGdW5j
dGlvbldpdGhBcmdTaWduYXR1cmUgZnVuOwotICAgIHZvaWQqIGFyZzsKLX07Ci0KLSNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0b3JpZ2luYWxn
bG9iYWxvYmplY3RfcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0b3Jp
Z2luYWxnbG9iYWxvYmplY3RfcC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYmQ5
NDVmYjFhMzlmNzE2ZDE4Njg3MzBkNTM4NjA4ODA0NTBlYzIzLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkv
cXNjcmlwdG9yaWdpbmFsZ2xvYmFsb2JqZWN0X3AuaAorKysgL2Rldi9udWxsCkBAIC0xLDIwOSAr
MCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAg
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaWZuZGVmIHFzY3JpcHRvcmlnaW5hbGdsb2Jh
bG9iamVjdF9wX2gKLSNkZWZpbmUgcXNjcmlwdG9yaWdpbmFsZ2xvYmFsb2JqZWN0X3BfaAotCi0j
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdC5oPgotI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0pTUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8UXRDb3JlL3F2ZWN0b3IuaD4KLQotLyoh
Ci0gICAgXGludGVybmFsCi0gICAgVGhpcyBjbGFzcyBpcyBhIHdvcmthcm91bmQgZm9yIG1pc3Np
bmcgSlNDIEMgQVBJIGZ1bmN0aW9uYWxpdHkuIFRoaXMgY2xhc3Mga2VlcHMgYWxsIGltcG9ydGFu
dAotICAgIHByb3BlcnRpZXMgb2YgYW4gb3JpZ2luYWwgKGRlZmF1bHQpIGdsb2JhbCBvYmplY3Qs
IHNvIHdlIGNhbiB1c2UgaXQgZXZlbiBpZiB0aGUgZ2xvYmFsIG9iamVjdCB3YXMKLSAgICBjaGFu
Z2VkLgotCi0gICAgRklYTUUgdGhpcyBjbGFzcyBpcyBhIGNvbnRhaW5lciBmb3Igd29ya2Fyb3Vu
ZHMgOi0pIGl0IHNob3VsZCBiZSByZXBsYWNlZCBieSBwcm9wZXIgSlNDIEMgQVBJIGNhbGxzLgot
Ci0gICAgVGhlIGNsYXNzIGhhdmUgdG8gYmUgY3JlYXRlZCBvbiB0aGUgUVNjcmlwdEVuZ2luZVBy
aXZhdGUgY3JlYXRpb24gdGltZSAoYmVmb3JlIGFueSBjaGFuZ2UgZ290IGFwcGxpZWQgdG8KLSAg
ICBnbG9iYWwgb2JqZWN0KS4KLSovCi1jbGFzcyBRU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3Qg
ewotcHVibGljOgotICAgIGlubGluZSBRU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3QoSlNHbG9i
YWxDb250ZXh0UmVmIGNvbnRleHQpOwotICAgIGlubGluZSB+UVNjcmlwdE9yaWdpbmFsR2xvYmFs
T2JqZWN0KCk7Ci0KLSAgICBpbmxpbmUgYm9vbCBvYmplY3RIYXNPd25Qcm9wZXJ0eShKU09iamVj
dFJlZiBvYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5KSBjb25zdDsKLSAgICBpbmxpbmUgUVZl
Y3RvcjxKU1N0cmluZ1JlZj4gb2JqZWN0R2V0T3duUHJvcGVydHlOYW1lcyhKU09iamVjdFJlZiBv
YmplY3QpIGNvbnN0OwotCi0gICAgaW5saW5lIGJvb2wgaXNEYXRlKEpTVmFsdWVSZWYgdmFsdWUp
IGNvbnN0OwotICAgIGlubGluZSBib29sIGlzQXJyYXkoSlNWYWx1ZVJlZiB2YWx1ZSkgY29uc3Q7
Ci0gICAgaW5saW5lIGJvb2wgaXNFcnJvcihKU1ZhbHVlUmVmIHZhbHVlKSBjb25zdDsKLQotICAg
IGlubGluZSBKU1ZhbHVlUmVmIGZ1bmN0aW9uUHJvdG90eXBlKCkgY29uc3Q7Ci1wcml2YXRlOgot
ICAgIGlubGluZSBib29sIGlzVHlwZShKU1ZhbHVlUmVmIHZhbHVlLCBKU09iamVjdFJlZiBjb25z
dHJ1Y3RvciwgSlNWYWx1ZVJlZiBwcm90b3R5cGUpIGNvbnN0OwotICAgIGlubGluZSB2b2lkIGlu
aXRpYWxpemVNZW1iZXIoSlNPYmplY3RSZWYgZ2xvYmFsT2JqZWN0LCBKU1N0cmluZ1JlZiBwcm90
b3R5cGVOYW1lLCBjb25zdCBjaGFyKiB0eXBlLCBKU09iamVjdFJlZiYgY29uc3RydWN0b3IsIEpT
VmFsdWVSZWYmIHByb3RvdHlwZSk7Ci0KLSAgICAvLyBDb3B5IG9mIHRoZSBnbG9iYWwgY29udGV4
dCByZWZlcmVuY2UgKHRoZSBzYW1lIGFzIGluIFFTY3JpcHRFbmdpbmVQcml2YXRlKS4KLSAgICBK
U0dsb2JhbENvbnRleHRSZWYgbV9jb250ZXh0OwotCi0gICAgLy8gQ29weSBvZiBjb25zdHJ1Y3Rv
cnMgYW5kIHByb3RvdHlwZXMgdXNlZCBpbiBpc1R5cGUgZnVuY3Rpb25zLgotICAgIEpTT2JqZWN0
UmVmIG1fYXJyYXlDb25zdHJ1Y3RvcjsKLSAgICBKU1ZhbHVlUmVmIG1fYXJyYXlQcm90b3R5cGU7
Ci0gICAgSlNPYmplY3RSZWYgbV9lcnJvckNvbnN0cnVjdG9yOwotICAgIEpTVmFsdWVSZWYgbV9l
cnJvclByb3RvdHlwZTsKLSAgICBKU09iamVjdFJlZiBtX2Z1bmN0aW9uQ29uc3RydWN0b3I7Ci0g
ICAgSlNWYWx1ZVJlZiBtX2Z1bmN0aW9uUHJvdG90eXBlOwotICAgIEpTT2JqZWN0UmVmIG1fZGF0
ZUNvbnN0cnVjdG9yOwotICAgIEpTVmFsdWVSZWYgbV9kYXRlUHJvdG90eXBlOwotCi0gICAgLy8g
UmVmZXJlbmNlIHRvIHN0YW5kYXJkIEpTIGZ1bmN0aW9ucyB0aGF0IGFyZSBub3QgZXhwb3NlZCBi
eSBKU0MgQyBBUEkuCi0gICAgSlNPYmplY3RSZWYgbV9oYXNPd25Qcm9wZXJ0eUZ1bmN0aW9uOwot
ICAgIEpTT2JqZWN0UmVmIG1fZ2V0T3duUHJvcGVydHlOYW1lc0Z1bmN0aW9uOwotfTsKLQotUVNj
cmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0OjpRU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3QoSlNH
bG9iYWxDb250ZXh0UmVmIGNvbnRleHQpCi0gICAgOiBtX2NvbnRleHQoSlNHbG9iYWxDb250ZXh0
UmV0YWluKGNvbnRleHQpKQotewotICAgIEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCA9IEpTQ29u
dGV4dEdldEdsb2JhbE9iamVjdChtX2NvbnRleHQpOwotICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9u
ID0gMDsKLSAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gcHJvcGVydHlOYW1lOwotCi0gICAg
cHJvcGVydHlOYW1lLmFkb3B0KEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJwcm90b3R5
cGUiKSk7Ci0gICAgaW5pdGlhbGl6ZU1lbWJlcihnbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZS5n
ZXQoKSwgIkFycmF5IiwgbV9hcnJheUNvbnN0cnVjdG9yLCBtX2FycmF5UHJvdG90eXBlKTsKLSAg
ICBpbml0aWFsaXplTWVtYmVyKGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lLmdldCgpLCAiRXJy
b3IiLCBtX2Vycm9yQ29uc3RydWN0b3IsIG1fZXJyb3JQcm90b3R5cGUpOwotICAgIGluaXRpYWxp
emVNZW1iZXIoZ2xvYmFsT2JqZWN0LCBwcm9wZXJ0eU5hbWUuZ2V0KCksICJGdW5jdGlvbiIsIG1f
ZnVuY3Rpb25Db25zdHJ1Y3RvciwgbV9mdW5jdGlvblByb3RvdHlwZSk7Ci0gICAgaW5pdGlhbGl6
ZU1lbWJlcihnbG9iYWxPYmplY3QsIHByb3BlcnR5TmFtZS5nZXQoKSwgIkRhdGUiLCBtX2RhdGVD
b25zdHJ1Y3RvciwgbV9kYXRlUHJvdG90eXBlKTsKLQotICAgIHByb3BlcnR5TmFtZS5hZG9wdChK
U1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiaGFzT3duUHJvcGVydHkiKSk7Ci0gICAgbV9o
YXNPd25Qcm9wZXJ0eUZ1bmN0aW9uID0gY29uc3RfY2FzdDxKU09iamVjdFJlZj4oSlNPYmplY3RH
ZXRQcm9wZXJ0eShtX2NvbnRleHQsIGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lLmdldCgpLCAm
ZXhjZXB0aW9uKSk7Ci0gICAgSlNWYWx1ZVByb3RlY3QobV9jb250ZXh0LCBtX2hhc093blByb3Bl
cnR5RnVuY3Rpb24pOwotICAgIFFfQVNTRVJUKEpTVmFsdWVJc09iamVjdChtX2NvbnRleHQsIG1f
aGFzT3duUHJvcGVydHlGdW5jdGlvbikpOwotICAgIFFfQVNTRVJUKEpTT2JqZWN0SXNGdW5jdGlv
bihtX2NvbnRleHQsIG1faGFzT3duUHJvcGVydHlGdW5jdGlvbikpOwotICAgIFFfQVNTRVJUKCFl
eGNlcHRpb24pOwotCi0gICAgcHJvcGVydHlOYW1lLmFkb3B0KEpTU3RyaW5nQ3JlYXRlV2l0aFVU
RjhDU3RyaW5nKCJPYmplY3QiKSk7Ci0gICAgSlNPYmplY3RSZWYgb2JqZWN0Q29uc3RydWN0b3IK
LSAgICAgICAgICAgID0gY29uc3RfY2FzdDxKU09iamVjdFJlZj4oSlNPYmplY3RHZXRQcm9wZXJ0
eShtX2NvbnRleHQsIGdsb2JhbE9iamVjdCwgcHJvcGVydHlOYW1lLmdldCgpLCAmZXhjZXB0aW9u
KSk7Ci0gICAgcHJvcGVydHlOYW1lLmFkb3B0KEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5n
KCJnZXRPd25Qcm9wZXJ0eU5hbWVzIikpOwotICAgIG1fZ2V0T3duUHJvcGVydHlOYW1lc0Z1bmN0
aW9uCi0gICAgICAgICAgICA9IGNvbnN0X2Nhc3Q8SlNPYmplY3RSZWY+KEpTT2JqZWN0R2V0UHJv
cGVydHkobV9jb250ZXh0LCBvYmplY3RDb25zdHJ1Y3RvciwgcHJvcGVydHlOYW1lLmdldCgpLCAm
ZXhjZXB0aW9uKSk7Ci0gICAgSlNWYWx1ZVByb3RlY3QobV9jb250ZXh0LCBtX2dldE93blByb3Bl
cnR5TmFtZXNGdW5jdGlvbik7Ci0gICAgUV9BU1NFUlQoSlNWYWx1ZUlzT2JqZWN0KG1fY29udGV4
dCwgbV9nZXRPd25Qcm9wZXJ0eU5hbWVzRnVuY3Rpb24pKTsKLSAgICBRX0FTU0VSVChKU09iamVj
dElzRnVuY3Rpb24obV9jb250ZXh0LCBtX2dldE93blByb3BlcnR5TmFtZXNGdW5jdGlvbikpOwot
ICAgIFFfQVNTRVJUKCFleGNlcHRpb24pOwotfQotCi1pbmxpbmUgdm9pZCBRU2NyaXB0T3JpZ2lu
YWxHbG9iYWxPYmplY3Q6OmluaXRpYWxpemVNZW1iZXIoSlNPYmplY3RSZWYgZ2xvYmFsT2JqZWN0
LCBKU1N0cmluZ1JlZiBwcm90b3R5cGVOYW1lLCBjb25zdCBjaGFyKiB0eXBlLCBKU09iamVjdFJl
ZiYgY29uc3RydWN0b3IsIEpTVmFsdWVSZWYmIHByb3RvdHlwZSkKLXsKLSAgICBKU1JldGFpblB0
cjxKU1N0cmluZ1JlZj4gdHlwZU5hbWUoQWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKHR5cGUpKTsKLSAgICBKU1ZhbHVlUmVmIGV4Y2VwdGlvbiA9IDA7Ci0KLSAgICAvLyBTYXZl
IHJlZmVyZW5jZXMgdG8gdGhlIFR5cGUgY29uc3RydWN0b3IgYW5kIHByb3RvdHlwZS4KLSAgICBK
U1ZhbHVlUmVmIHR5cGVDb25zdHJ1Y3RvciA9IEpTT2JqZWN0R2V0UHJvcGVydHkobV9jb250ZXh0
LCBnbG9iYWxPYmplY3QsIHR5cGVOYW1lLmdldCgpLCAmZXhjZXB0aW9uKTsKLSAgICBRX0FTU0VS
VChKU1ZhbHVlSXNPYmplY3QobV9jb250ZXh0LCB0eXBlQ29uc3RydWN0b3IpKTsKLSAgICBjb25z
dHJ1Y3RvciA9IEpTVmFsdWVUb09iamVjdChtX2NvbnRleHQsIHR5cGVDb25zdHJ1Y3RvciwgJmV4
Y2VwdGlvbik7Ci0gICAgSlNWYWx1ZVByb3RlY3QobV9jb250ZXh0LCBjb25zdHJ1Y3Rvcik7Ci0K
LSAgICAvLyBOb3RlIHRoYXQgdGhpcyBpcyBub3QgdGhlIFtbUHJvdG90eXBlXV0gaW50ZXJuYWwg
cHJvcGVydHkgKHdoaWNoIHdlIGNvdWxkCi0gICAgLy8gZ2V0IHZpYSBKU09iamVjdEdldFByb3Rv
dHlwZSksIGJ1dCB0aGUgVHlwZS5wcm90b3R5cGUsIHRoYXQgd2lsbCBiZSBzZXQKLSAgICAvLyBh
cyBbW1Byb3RvdHlwZV1dIG9mIFR5cGUgaW5zdGFuY2VzLgotICAgIHByb3RvdHlwZSA9IEpTT2Jq
ZWN0R2V0UHJvcGVydHkobV9jb250ZXh0LCBjb25zdHJ1Y3RvciwgcHJvdG90eXBlTmFtZSwgJmV4
Y2VwdGlvbik7Ci0gICAgUV9BU1NFUlQoSlNWYWx1ZUlzT2JqZWN0KG1fY29udGV4dCwgcHJvdG90
eXBlKSk7Ci0gICAgSlNWYWx1ZVByb3RlY3QobV9jb250ZXh0LCBwcm90b3R5cGUpOwotICAgIFFf
QVNTRVJUKCFleGNlcHRpb24pOwotfQotCi1RU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3Q6On5R
U2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3QoKQotewotICAgIEpTVmFsdWVVbnByb3RlY3QobV9j
b250ZXh0LCBtX2FycmF5Q29uc3RydWN0b3IpOwotICAgIEpTVmFsdWVVbnByb3RlY3QobV9jb250
ZXh0LCBtX2FycmF5UHJvdG90eXBlKTsKLSAgICBKU1ZhbHVlVW5wcm90ZWN0KG1fY29udGV4dCwg
bV9lcnJvckNvbnN0cnVjdG9yKTsKLSAgICBKU1ZhbHVlVW5wcm90ZWN0KG1fY29udGV4dCwgbV9l
cnJvclByb3RvdHlwZSk7Ci0gICAgSlNWYWx1ZVVucHJvdGVjdChtX2NvbnRleHQsIG1fZnVuY3Rp
b25Db25zdHJ1Y3Rvcik7Ci0gICAgSlNWYWx1ZVVucHJvdGVjdChtX2NvbnRleHQsIG1fZnVuY3Rp
b25Qcm90b3R5cGUpOwotICAgIEpTVmFsdWVVbnByb3RlY3QobV9jb250ZXh0LCBtX2RhdGVDb25z
dHJ1Y3Rvcik7Ci0gICAgSlNWYWx1ZVVucHJvdGVjdChtX2NvbnRleHQsIG1fZGF0ZVByb3RvdHlw
ZSk7Ci0gICAgSlNWYWx1ZVVucHJvdGVjdChtX2NvbnRleHQsIG1faGFzT3duUHJvcGVydHlGdW5j
dGlvbik7Ci0gICAgSlNWYWx1ZVVucHJvdGVjdChtX2NvbnRleHQsIG1fZ2V0T3duUHJvcGVydHlO
YW1lc0Z1bmN0aW9uKTsKLSAgICBKU0dsb2JhbENvbnRleHRSZWxlYXNlKG1fY29udGV4dCk7Ci19
Ci0KLWlubGluZSBib29sIFFTY3JpcHRPcmlnaW5hbEdsb2JhbE9iamVjdDo6b2JqZWN0SGFzT3du
UHJvcGVydHkoSlNPYmplY3RSZWYgb2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eSkgY29uc3QK
LXsKLSAgICAvLyBGSVhNRSBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZSByZXBsYWNlZCBieSBKU0Mg
QyBBUEkuCi0gICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAgIEpTVmFsdWVSZWYgcHJv
cGVydHlOYW1lW10gPSB7IEpTVmFsdWVNYWtlU3RyaW5nKG1fY29udGV4dCwgcHJvcGVydHkpIH07
Ci0gICAgSlNWYWx1ZVJlZiByZXN1bHQgPSBKU09iamVjdENhbGxBc0Z1bmN0aW9uKG1fY29udGV4
dCwgbV9oYXNPd25Qcm9wZXJ0eUZ1bmN0aW9uLCBvYmplY3QsIDEsIHByb3BlcnR5TmFtZSwgJmV4
Y2VwdGlvbik7Ci0gICAgcmV0dXJuIGV4Y2VwdGlvbiA/IGZhbHNlIDogSlNWYWx1ZVRvQm9vbGVh
bihtX2NvbnRleHQsIHJlc3VsdCk7Ci19Ci0KLS8qIQotICAgIFxpbnRlcm5hbAotICAgIFRoaXMg
bWV0aG9kIGdpdmVzIG93bmVyc2hpcCBvZiBhbGwgSlNTdHJpbmdSZWZzLgotKi8KLWlubGluZSBR
VmVjdG9yPEpTU3RyaW5nUmVmPiBRU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3Q6Om9iamVjdEdl
dE93blByb3BlcnR5TmFtZXMoSlNPYmplY3RSZWYgb2JqZWN0KSBjb25zdAotewotICAgIEpTVmFs
dWVSZWYgZXhjZXB0aW9uID0gMDsKLSAgICBKU09iamVjdFJlZiBwcm9wZXJ0eU5hbWVzCi0gICAg
ICAgICAgICA9IGNvbnN0X2Nhc3Q8SlNPYmplY3RSZWY+KEpTT2JqZWN0Q2FsbEFzRnVuY3Rpb24o
bV9jb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbV9nZXRPd25Qcm9wZXJ0eU5hbWVzRnVuY3Rpb24sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0aGlz
T2JqZWN0ICovIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvKiBhcmd1bWVudENvdW50ICovIDEsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmb2JqZWN0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JmV4Y2VwdGlvbikpOwotICAgIFFfQVNTRVJUKEpTVmFsdWVJc09iamVjdChtX2NvbnRleHQsIHBy
b3BlcnR5TmFtZXMpKTsKLSAgICBRX0FTU0VSVCghZXhjZXB0aW9uKTsKLSAgICBKU1N0cmluZ1Jl
ZiBsZW5ndGhOYW1lID0gUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmcoImxlbmd0aCIpOwotICAg
IGludCBjb3VudCA9IEpTVmFsdWVUb051bWJlcihtX2NvbnRleHQsIEpTT2JqZWN0R2V0UHJvcGVy
dHkobV9jb250ZXh0LCBwcm9wZXJ0eU5hbWVzLCBsZW5ndGhOYW1lLCAmZXhjZXB0aW9uKSwgJmV4
Y2VwdGlvbik7Ci0KLSAgICBRX0FTU0VSVCghZXhjZXB0aW9uKTsKLSAgICBRVmVjdG9yPEpTU3Ry
aW5nUmVmPiBuYW1lczsKLSAgICBuYW1lcy5yZXNlcnZlKGNvdW50KTsKLSAgICBmb3IgKGludCBp
ID0gMDsgaSA8IGNvdW50OyArK2kpIHsKLSAgICAgICAgSlNWYWx1ZVJlZiB0bXAgPSBKU09iamVj
dEdldFByb3BlcnR5QXRJbmRleChtX2NvbnRleHQsIHByb3BlcnR5TmFtZXMsIGksICZleGNlcHRp
b24pOwotICAgICAgICBuYW1lcy5hcHBlbmQoSlNWYWx1ZVRvU3RyaW5nQ29weShtX2NvbnRleHQs
IHRtcCwgJmV4Y2VwdGlvbikpOwotICAgICAgICBRX0FTU0VSVCghZXhjZXB0aW9uKTsKLSAgICB9
Ci0gICAgcmV0dXJuIG5hbWVzOwotfQotCi1pbmxpbmUgYm9vbCBRU2NyaXB0T3JpZ2luYWxHbG9i
YWxPYmplY3Q6OmlzRGF0ZShKU1ZhbHVlUmVmIHZhbHVlKSBjb25zdAotewotICAgIHJldHVybiBp
c1R5cGUodmFsdWUsIG1fZGF0ZUNvbnN0cnVjdG9yLCBtX2RhdGVQcm90b3R5cGUpOwotfQotCi1p
bmxpbmUgYm9vbCBRU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3Q6OmlzQXJyYXkoSlNWYWx1ZVJl
ZiB2YWx1ZSkgY29uc3QKLXsKLSAgICByZXR1cm4gaXNUeXBlKHZhbHVlLCBtX2FycmF5Q29uc3Ry
dWN0b3IsIG1fYXJyYXlQcm90b3R5cGUpOwotfQotCi1pbmxpbmUgYm9vbCBRU2NyaXB0T3JpZ2lu
YWxHbG9iYWxPYmplY3Q6OmlzRXJyb3IoSlNWYWx1ZVJlZiB2YWx1ZSkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gaXNUeXBlKHZhbHVlLCBtX2Vycm9yQ29uc3RydWN0b3IsIG1fZXJyb3JQcm90b3R5cGUp
OwotfQotCi1pbmxpbmUgSlNWYWx1ZVJlZiBRU2NyaXB0T3JpZ2luYWxHbG9iYWxPYmplY3Q6OmZ1
bmN0aW9uUHJvdG90eXBlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9mdW5jdGlvblByb3RvdHlw
ZTsKLX0KLQotaW5saW5lIGJvb2wgUVNjcmlwdE9yaWdpbmFsR2xvYmFsT2JqZWN0Ojppc1R5cGUo
SlNWYWx1ZVJlZiB2YWx1ZSwgSlNPYmplY3RSZWYgY29uc3RydWN0b3IsIEpTVmFsdWVSZWYgcHJv
dG90eXBlKSBjb25zdAotewotICAgIC8vIEpTQyBBUEkgZG9lc24ndCBleHBvcnQgdGhlIFtbQ2xh
c3NdXSBpbmZvcm1hdGlvbiBmb3IgdGhlIGJ1aWx0aW5zLiBCdXQgd2Uga25vdyB0aGF0IGEgdmFs
dWUKLSAgICAvLyBpcyBhbiBvYmplY3Qgb2YgdGhlIFR5cGUgaWYgaXQgd2FzIGNyZWF0ZWQgd2l0
aCB0aGUgVHlwZSBjb25zdHJ1Y3RvciBvciBpZiBpdCBpcyB0aGUgVHlwZS5wcm90b3R5cGUuCi0g
ICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAgIGJvb2wgcmVzdWx0ID0gSlNWYWx1ZUlz
SW5zdGFuY2VPZkNvbnN0cnVjdG9yKG1fY29udGV4dCwgdmFsdWUsIGNvbnN0cnVjdG9yLCAmZXhj
ZXB0aW9uKSB8fCBKU1ZhbHVlSXNTdHJpY3RFcXVhbChtX2NvbnRleHQsIHZhbHVlLCBwcm90b3R5
cGUpOwotICAgIFFfQVNTRVJUKCFleGNlcHRpb24pOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0K
LSNlbmRpZiAvLyBxc2NyaXB0b3JpZ2luYWxnbG9iYWxvYmplY3RfcF9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRwcm9ncmFtLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHByb2dyYW0uY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBkN2Q0OTQ4NTFmMThiODhlOTRiMmRkYWJmODlhNGRkMTBkYTQ4NTY0Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHByb2dyYW0uY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
MTM2ICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9u
IGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
Ci0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAg
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQot
I2luY2x1ZGUgInFzY3JpcHRwcm9ncmFtLmgiCi0KLSNpbmNsdWRlICJxc2NyaXB0cHJvZ3JhbV9w
LmgiCi0KLS8qIQotICBcaW50ZXJuYWwKLQotICBcY2xhc3MgUVNjcmlwdFByb2dyYW0KLQotICBc
YnJpZWYgVGhlIFFTY3JpcHRQcm9ncmFtIGNsYXNzIGVuY2Fwc3VsYXRlcyBhIFF0IFNjcmlwdCBw
cm9ncmFtLgotCi0gIFxpbmdyb3VwIHNjcmlwdAotCi0gIFFTY3JpcHRQcm9ncmFtIHJldGFpbnMg
dGhlIGNvbXBpbGVkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBzY3JpcHQgaWYKLSAgcG9zc2libGUu
IFRodXMsIFFTY3JpcHRQcm9ncmFtIGNhbiBiZSB1c2VkIHRvIGV2YWx1YXRlIHRoZSBzYW1lCi0g
IHNjcmlwdCBtdWx0aXBsZSB0aW1lcyBtb3JlIGVmZmljaWVudGx5LgotCi0gIFxjb2RlCi0gIFFT
Y3JpcHRFbmdpbmUgZW5naW5lOwotICBRU2NyaXB0UHJvZ3JhbSBwcm9ncmFtKCIxICsgMiIpOwot
ICBRU2NyaXB0VmFsdWUgcmVzdWx0ID0gZW5naW5lLmV2YWx1YXRlKHByb2dyYW0pOwotICBcZW5k
Y29kZQotKi8KLQotLyohCi0gIENvbnN0cnVjdHMgYSBudWxsIFFTY3JpcHRQcm9ncmFtLgotKi8K
LVFTY3JpcHRQcm9ncmFtOjpRU2NyaXB0UHJvZ3JhbSgpCi0gICAgOiBkX3B0cihuZXcgUVNjcmlw
dFByb2dyYW1Qcml2YXRlKQote30KLQotLyohCi0gIENvbnN0cnVjdHMgYSBuZXcgUVNjcmlwdFBy
b2dyYW0gd2l0aCB0aGUgZ2l2ZW4gXGEgc291cmNlQ29kZSwgXGEKLSAgZmlsZU5hbWUgYW5kIFxh
IGZpcnN0TGluZU51bWJlci4KLSovCi1RU2NyaXB0UHJvZ3JhbTo6UVNjcmlwdFByb2dyYW0oY29u
c3QgUVN0cmluZyYgc291cmNlQ29kZSwKLSAgICAgICAgICAgICAgIGNvbnN0IFFTdHJpbmcgZmls
ZU5hbWUsCi0gICAgICAgICAgICAgICBpbnQgZmlyc3RMaW5lTnVtYmVyKQotICAgIDogZF9wdHIo
bmV3IFFTY3JpcHRQcm9ncmFtUHJpdmF0ZShzb3VyY2VDb2RlLCBmaWxlTmFtZSwgZmlyc3RMaW5l
TnVtYmVyKSkKLXt9Ci0KLS8qIQotICBEZXN0cm95cyB0aGlzIFFTY3JpcHRQcm9ncmFtLgotKi8K
LVFTY3JpcHRQcm9ncmFtOjp+UVNjcmlwdFByb2dyYW0oKQote30KLQotLyohCi0gIENvbnN0cnVj
dHMgYSBuZXcgUVNjcmlwdFByb2dyYW0gdGhhdCBpcyBhIGNvcHkgb2YgXGEgb3RoZXIuCi0qLwot
UVNjcmlwdFByb2dyYW06OlFTY3JpcHRQcm9ncmFtKGNvbnN0IFFTY3JpcHRQcm9ncmFtJiBvdGhl
cikKLXsKLSAgICBkX3B0ciA9IG90aGVyLmRfcHRyOwotfQotCi0vKiEKLSAgQXNzaWducyB0aGUg
XGEgb3RoZXIgdmFsdWUgdG8gdGhpcyBRU2NyaXB0UHJvZ3JhbS4KLSovCi1RU2NyaXB0UHJvZ3Jh
bSYgUVNjcmlwdFByb2dyYW06Om9wZXJhdG9yPShjb25zdCBRU2NyaXB0UHJvZ3JhbSYgb3RoZXIp
Ci17Ci0gICAgZF9wdHIgPSBvdGhlci5kX3B0cjsKLSAgICByZXR1cm4gKnRoaXM7Ci19Ci0KLS8q
IQotICBSZXR1cm5zIHRydWUgaWYgdGhpcyBRU2NyaXB0UHJvZ3JhbSBpcyBudWxsOyBvdGhlcndp
c2UKLSAgcmV0dXJucyBmYWxzZS4KLSovCi1ib29sIFFTY3JpcHRQcm9ncmFtOjppc051bGwoKSBj
b25zdAotewotICAgIHJldHVybiBkX3B0ci0+aXNOdWxsKCk7Ci19Ci0KLS8qIQotICBSZXR1cm5z
IHRoZSBzb3VyY2UgY29kZSBvZiB0aGlzIHByb2dyYW0uCi0qLwotUVN0cmluZyBRU2NyaXB0UHJv
Z3JhbTo6c291cmNlQ29kZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5zb3VyY2VDb2Rl
KCk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRoZSBmaWxlbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhp
cyBwcm9ncmFtLgotKi8KLVFTdHJpbmcgUVNjcmlwdFByb2dyYW06OmZpbGVOYW1lKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gZF9wdHItPmZpbGVOYW1lKCk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRo
ZSBsaW5lIG51bWJlciBhc3NvY2lhdGVkIHdpdGggdGhpcyBwcm9ncmFtLgotKi8KLWludCBRU2Ny
aXB0UHJvZ3JhbTo6Zmlyc3RMaW5lTnVtYmVyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHIt
PmZpcnN0TGluZU51bWJlcigpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0cnVlIGlmIHRoaXMgUVNj
cmlwdFByb2dyYW0gaXMgZXF1YWwgdG8gXGEgb3RoZXI7Ci0gIG90aGVyd2lzZSByZXR1cm5zIGZh
bHNlLgotKi8KLWJvb2wgUVNjcmlwdFByb2dyYW06Om9wZXJhdG9yPT0oY29uc3QgUVNjcmlwdFBy
b2dyYW0mIG90aGVyKSBjb25zdAotewotICAgIHJldHVybiBkX3B0ciA9PSBvdGhlci5kX3B0ciB8
fCAqZF9wdHIgPT0gKm90aGVyLmRfcHRyOwotfQotCi0vKiEKLSAgUmV0dXJucyB0cnVlIGlmIHRo
aXMgUVNjcmlwdFByb2dyYW0gaXMgbm90IGVxdWFsIHRvIFxhIG90aGVyOwotICBvdGhlcndpc2Ug
cmV0dXJucyBmYWxzZS4KLSovCi1ib29sIFFTY3JpcHRQcm9ncmFtOjpvcGVyYXRvciE9KGNvbnN0
IFFTY3JpcHRQcm9ncmFtJiBvdGhlcikgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHIgIT0gb3Ro
ZXIuZF9wdHIgJiYgKmRfcHRyICE9ICpvdGhlci5kX3B0cjsKLX0KLQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0cHJvZ3JhbS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0cHJvZ3JhbS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA5M2M4YTNjM2I2NWQ2YzU3YzhjMjEzODVkNDc2MGMwZmViZWIzNDU2Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9xdC9hcGkvcXNjcmlwdHByb2dyYW0uaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAg
QEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBp
dHMgc3Vic2lkaWFyeSgtaWVzKQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLSNpZm5kZWYgcXNjcmlwdHByb2dyYW1faAotI2RlZmlu
ZSBxc2NyaXB0cHJvZ3JhbV9oCi0KLSNpbmNsdWRlICJxdHNjcmlwdGdsb2JhbC5oIgotI2luY2x1
ZGUgPFF0Q29yZS9xc2hhcmVkZGF0YS5oPgotI2luY2x1ZGUgPFF0Q29yZS9xc3RyaW5nLmg+Ci0K
LWNsYXNzIFFTY3JpcHRQcm9ncmFtUHJpdmF0ZTsKLWNsYXNzIFFfSkFWQVNDUklQVF9FWFBPUlQg
UVNjcmlwdFByb2dyYW0gewotcHVibGljOgotICAgIFFTY3JpcHRQcm9ncmFtKCk7Ci0gICAgUVNj
cmlwdFByb2dyYW0oY29uc3QgUVN0cmluZyYgc291cmNlQ29kZSwKLSAgICAgICAgICAgICAgICAg
ICBjb25zdCBRU3RyaW5nIGZpbGVOYW1lID0gUVN0cmluZygpLAotICAgICAgICAgICAgICAgICAg
IGludCBmaXJzdExpbmVOdW1iZXIgPSAxKTsKLSAgICBRU2NyaXB0UHJvZ3JhbShjb25zdCBRU2Ny
aXB0UHJvZ3JhbSYgb3RoZXIpOwotICAgIH5RU2NyaXB0UHJvZ3JhbSgpOwotCi0gICAgUVNjcmlw
dFByb2dyYW0mIG9wZXJhdG9yPShjb25zdCBRU2NyaXB0UHJvZ3JhbSYgb3RoZXIpOwotCi0gICAg
Ym9vbCBpc051bGwoKSBjb25zdDsKLQotICAgIFFTdHJpbmcgc291cmNlQ29kZSgpIGNvbnN0Owot
ICAgIFFTdHJpbmcgZmlsZU5hbWUoKSBjb25zdDsKLSAgICBpbnQgZmlyc3RMaW5lTnVtYmVyKCkg
Y29uc3Q7Ci0KLSAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgUVNjcmlwdFByb2dyYW0mIG90aGVy
KSBjb25zdDsKLSAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUVNjcmlwdFByb2dyYW0mIG90aGVy
KSBjb25zdDsKLQotcHJpdmF0ZToKLSAgICBRRXhwbGljaXRseVNoYXJlZERhdGFQb2ludGVyPFFT
Y3JpcHRQcm9ncmFtUHJpdmF0ZT4gZF9wdHI7Ci0gICAgUV9ERUNMQVJFX1BSSVZBVEUoUVNjcmlw
dFByb2dyYW0pCi19OwotCi0jZW5kaWYgLy8gcXNjcmlwdHByb2dyYW1faApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0cHJvZ3JhbV9wLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRwcm9ncmFtX3AuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZjY4ODJjNTQ1ODEzMDBhYmFkYjg1ZmY5NWNiYWI5MDczMWUxOGVlZC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRwcm9ncmFtX3AuaAorKysgL2Rldi9udWxsCkBAIC0x
LDEzMyArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlv
biBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAg
ICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAg
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAg
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaWZuZGVmIHFzY3JpcHRwcm9ncmFt
X3BfaAotI2RlZmluZSBxc2NyaXB0cHJvZ3JhbV9wX2gKLQotI2luY2x1ZGUgInFzY3JpcHRjb252
ZXJ0ZXJfcC5oIgotI2luY2x1ZGUgInFzY3JpcHRwcm9ncmFtLmgiCi0jaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdC5oPgotI2luY2x1ZGUgPFF0Q29yZS9xc2hhcmVkZGF0YS5oPgot
I2luY2x1ZGUgPFF0Q29yZS9xc3RyaW5nLmg+Ci0KLS8qCi0gICBGSVhNRSBUaGUgUVNjcmlwdFBy
b2dyYW1Qcml2YXRlIHBvdGVudGlhbGx5IGNvdWxkIGJlIG11Y2ggZmFzdGVyLiBJbiBjdXJyZW50
IGltcGxlbWVudGF0aW9uIHdlCi0gICBnYWluIENQVSB0aW1lIG9ubHkgYnkgYXZvaWRpbmcgUVN0
cmluZyAtPiBKU1N0cmluZ1JlZiBjb252ZXJzaW9uLiBJbiB0aGUgaWRlYWwgd29ybGQgd2Ugc2hv
dWxkCi0gICBoYXZlIGEgZnVuY3Rpb24gaW5zaWRlIHRoZSBKU0MgQyBBUEkgdGhhdCBjb3VsZCBw
cm92aWRlIHVzICJwYXJzZSBvbmNlLCBleGVjdXRlIG11bHRpcGxlIHRpbWVzIgotICAgZnVuY3Rp
b25hbGl0eS4KLSovCi0KLWNsYXNzIFFTY3JpcHRQcm9ncmFtUHJpdmF0ZSA6IHB1YmxpYyBRU2hh
cmVkRGF0YSB7Ci1wdWJsaWM6Ci0gICAgaW5saW5lIHN0YXRpYyBRU2NyaXB0UHJvZ3JhbVByaXZh
dGUqIGdldChjb25zdCBRU2NyaXB0UHJvZ3JhbSYgcHJvZ3JhbSk7Ci0gICAgaW5saW5lIFFTY3Jp
cHRQcm9ncmFtUHJpdmF0ZSgpOwotICAgIGlubGluZSBRU2NyaXB0UHJvZ3JhbVByaXZhdGUoY29u
c3QgUVN0cmluZyYgc291cmNlQ29kZSwKLSAgICAgICAgICAgICAgICAgICBjb25zdCBRU3RyaW5n
IGZpbGVOYW1lLAotICAgICAgICAgICAgICAgICAgIGludCBmaXJzdExpbmVOdW1iZXIpOwotCi0g
ICAgaW5saW5lIH5RU2NyaXB0UHJvZ3JhbVByaXZhdGUoKTsKLQotICAgIGlubGluZSBib29sIGlz
TnVsbCgpIGNvbnN0OwotCi0gICAgaW5saW5lIFFTdHJpbmcgc291cmNlQ29kZSgpIGNvbnN0Owot
ICAgIGlubGluZSBRU3RyaW5nIGZpbGVOYW1lKCkgY29uc3Q7Ci0gICAgaW5saW5lIGludCBmaXJz
dExpbmVOdW1iZXIoKSBjb25zdDsKLQotICAgIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3Qg
UVNjcmlwdFByb2dyYW1Qcml2YXRlJiBvdGhlcikgY29uc3Q7Ci0gICAgaW5saW5lIGJvb2wgb3Bl
cmF0b3IhPShjb25zdCBRU2NyaXB0UHJvZ3JhbVByaXZhdGUmIG90aGVyKSBjb25zdDsKLQotICAg
IGlubGluZSBvcGVyYXRvciBKU1N0cmluZ1JlZigpIGNvbnN0OwotICAgIGlubGluZSBKU1N0cmlu
Z1JlZiBmaWxlKCkgY29uc3Q7Ci0gICAgaW5saW5lIGludCBsaW5lKCkgY29uc3Q7Ci1wcml2YXRl
OgotICAgIEpTU3RyaW5nUmVmIG1fcHJvZ3JhbTsKLSAgICBKU1N0cmluZ1JlZiBtX2ZpbGVOYW1l
OwotICAgIGludCBtX2xpbmU7Ci19OwotCi1RU2NyaXB0UHJvZ3JhbVByaXZhdGUqIFFTY3JpcHRQ
cm9ncmFtUHJpdmF0ZTo6Z2V0KGNvbnN0IFFTY3JpcHRQcm9ncmFtJiBwcm9ncmFtKQotewotICAg
IHJldHVybiBjb25zdF9jYXN0PFFTY3JpcHRQcm9ncmFtUHJpdmF0ZSo+KHByb2dyYW0uZF9wdHIu
Y29uc3REYXRhKCkpOwotfQotCi1RU2NyaXB0UHJvZ3JhbVByaXZhdGU6OlFTY3JpcHRQcm9ncmFt
UHJpdmF0ZSgpCi0gICAgOiBtX3Byb2dyYW0oMCkKLSAgICAsIG1fZmlsZU5hbWUoMCkKLSAgICAs
IG1fbGluZSgtMSkKLXt9Ci0KLVFTY3JpcHRQcm9ncmFtUHJpdmF0ZTo6UVNjcmlwdFByb2dyYW1Q
cml2YXRlKGNvbnN0IFFTdHJpbmcmIHNvdXJjZUNvZGUsCi0gICAgICAgICAgICAgICBjb25zdCBR
U3RyaW5nIGZpbGVOYW1lLAotICAgICAgICAgICAgICAgaW50IGZpcnN0TGluZU51bWJlcikKLSAg
ICAgICAgICAgICAgICAgICA6IG1fcHJvZ3JhbShRU2NyaXB0Q29udmVydGVyOjp0b1N0cmluZyhz
b3VyY2VDb2RlKSkKLSAgICAgICAgICAgICAgICAgICAsIG1fZmlsZU5hbWUoUVNjcmlwdENvbnZl
cnRlcjo6dG9TdHJpbmcoZmlsZU5hbWUpKQotICAgICAgICAgICAgICAgICAgICwgbV9saW5lKGZp
cnN0TGluZU51bWJlcikKLXt9Ci0KLVFTY3JpcHRQcm9ncmFtUHJpdmF0ZTo6flFTY3JpcHRQcm9n
cmFtUHJpdmF0ZSgpCi17Ci0gICAgaWYgKCFpc051bGwoKSkgewotICAgICAgICBKU1N0cmluZ1Jl
bGVhc2UobV9wcm9ncmFtKTsKLSAgICAgICAgSlNTdHJpbmdSZWxlYXNlKG1fZmlsZU5hbWUpOwot
ICAgIH0KLX0KLQotYm9vbCBRU2NyaXB0UHJvZ3JhbVByaXZhdGU6OmlzTnVsbCgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuICFtX3Byb2dyYW07Ci19Ci0KLVFTdHJpbmcgUVNjcmlwdFByb2dyYW1Qcml2
YXRlOjpzb3VyY2VDb2RlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gUVNjcmlwdENvbnZlcnRlcjo6
dG9TdHJpbmcobV9wcm9ncmFtKTsKLX0KLQotUVN0cmluZyBRU2NyaXB0UHJvZ3JhbVByaXZhdGU6
OmZpbGVOYW1lKCkgY29uc3QKLXsKLSAgICByZXR1cm4gUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJp
bmcobV9maWxlTmFtZSk7Ci19Ci0KLWludCBRU2NyaXB0UHJvZ3JhbVByaXZhdGU6OmZpcnN0TGlu
ZU51bWJlcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fbGluZTsKLX0KLQotYm9vbCBRU2NyaXB0
UHJvZ3JhbVByaXZhdGU6Om9wZXJhdG9yPT0oY29uc3QgUVNjcmlwdFByb2dyYW1Qcml2YXRlJiBv
dGhlcikgY29uc3QKLXsKLSAgICByZXR1cm4gbV9saW5lID09IG90aGVyLm1fbGluZQotICAgICAg
ICAgICAgJiYgSlNTdHJpbmdJc0VxdWFsKG1fZmlsZU5hbWUsIG90aGVyLm1fZmlsZU5hbWUpCi0g
ICAgICAgICAgICAmJiBKU1N0cmluZ0lzRXF1YWwobV9wcm9ncmFtLCBvdGhlci5tX3Byb2dyYW0p
OwotfQotCi1ib29sIFFTY3JpcHRQcm9ncmFtUHJpdmF0ZTo6b3BlcmF0b3IhPShjb25zdCBRU2Ny
aXB0UHJvZ3JhbVByaXZhdGUmIG90aGVyKSBjb25zdAotewotICAgIHJldHVybiBtX2xpbmUgIT0g
b3RoZXIubV9saW5lCi0gICAgICAgICAgICB8fCAhSlNTdHJpbmdJc0VxdWFsKG1fZmlsZU5hbWUs
IG90aGVyLm1fZmlsZU5hbWUpCi0gICAgICAgICAgICB8fCAhSlNTdHJpbmdJc0VxdWFsKG1fcHJv
Z3JhbSwgb3RoZXIubV9wcm9ncmFtKTsKLX0KLQotUVNjcmlwdFByb2dyYW1Qcml2YXRlOjpvcGVy
YXRvciBKU1N0cmluZ1JlZigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fcHJvZ3JhbTsKLX0KLQot
SlNTdHJpbmdSZWYgUVNjcmlwdFByb2dyYW1Qcml2YXRlOjpmaWxlKCkgY29uc3Qge3JldHVybiBt
X2ZpbGVOYW1lOyB9Ci1pbnQgUVNjcmlwdFByb2dyYW1Qcml2YXRlOjpsaW5lKCkgY29uc3QgeyBy
ZXR1cm4gbV9saW5lOyB9Ci0KLSNlbmRpZiAvLyBxc2NyaXB0cHJvZ3JhbV9wX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHN0cmluZy5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRzdHJpbmcuY3BwCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA4M2MwM2M1MGZlZmJkMzhhZDgxOTQ5YTJkNjBhYzZmNmM3YzdlMGNi
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHN0cmluZy5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSwxMzEgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRp
b24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0g
ICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAg
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAg
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgot
Ci0jaW5jbHVkZSAicXNjcmlwdHN0cmluZy5oIgotCi0jaW5jbHVkZSAicXNjcmlwdHN0cmluZ19w
LmgiCi0jaW5jbHVkZSA8UXRDb3JlL3FoYXNoLmg+Ci0KLS8qIQotICBDb25zdHJ1Y3RzIGFuIGlu
dmFsaWQgUVNjcmlwdFN0cmluZy4KLSovCi1RU2NyaXB0U3RyaW5nOjpRU2NyaXB0U3RyaW5nKCkK
LSAgICA6IGRfcHRyKG5ldyBRU2NyaXB0U3RyaW5nUHJpdmF0ZSgpKQotewotfQotLyohCi0gIENv
bnN0cnVjdHMgYW4gUVNjcmlwdFN0cmluZyBmcm9tIGludGVybmFsIHJlcHJlc2VudGF0aW9uCi0g
IFxpbnRlcm5hbAotKi8KLVFTY3JpcHRTdHJpbmc6OlFTY3JpcHRTdHJpbmcoUVNjcmlwdFN0cmlu
Z1ByaXZhdGUqIGQpCi0gICAgOiBkX3B0cihkKQotewotfQotCi0vKiEKLSAgQ29uc3RydWN0cyBh
IG5ldyBRU2NyaXB0U3RyaW5nIHRoYXQgaXMgYSBjb3B5IG9mIFxhIG90aGVyLgotKi8KLVFTY3Jp
cHRTdHJpbmc6OlFTY3JpcHRTdHJpbmcoY29uc3QgUVNjcmlwdFN0cmluZyYgb3RoZXIpCi17Ci0g
ICAgZF9wdHIgPSBvdGhlci5kX3B0cjsKLX0KLQotLyohCi0gIERlc3Ryb3lzIHRoaXMgUVNjcmlw
dFN0cmluZy4KLSovCi1RU2NyaXB0U3RyaW5nOjp+UVNjcmlwdFN0cmluZygpCi17Ci19Ci0KLS8q
IQotICBBc3NpZ25zIHRoZSBcYSBvdGhlciB2YWx1ZSB0byB0aGlzIFFTY3JpcHRTdHJpbmcuCi0q
LwotUVNjcmlwdFN0cmluZyYgUVNjcmlwdFN0cmluZzo6b3BlcmF0b3I9KGNvbnN0IFFTY3JpcHRT
dHJpbmcmIG90aGVyKQotewotICAgIGRfcHRyID0gb3RoZXIuZF9wdHI7Ci0gICAgcmV0dXJuICp0
aGlzOwotfQotCi0vKiEKLSAgUmV0dXJucyB0cnVlIGlmIHRoaXMgUVNjcmlwdFN0cmluZyBpcyB2
YWxpZDsgb3RoZXJ3aXNlCi0gIHJldHVybnMgZmFsc2UuCi0qLwotYm9vbCBRU2NyaXB0U3RyaW5n
Ojppc1ZhbGlkKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPmlzVmFsaWQoKTsKLX0KLQot
LyohCi0gIFJldHVybnMgdHJ1ZSBpZiB0aGlzIFFTY3JpcHRTdHJpbmcgaXMgZXF1YWwgdG8gXGEg
b3RoZXI7Ci0gIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLgotKi8KLWJvb2wgUVNjcmlwdFN0cmlu
Zzo6b3BlcmF0b3I9PShjb25zdCBRU2NyaXB0U3RyaW5nJiBvdGhlcikgY29uc3QKLXsKLSAgICBy
ZXR1cm4gZF9wdHIgPT0gb3RoZXIuZF9wdHIgfHwgKmRfcHRyID09ICoob3RoZXIuZF9wdHIpOwot
fQotCi0vKiEKLSAgUmV0dXJucyB0cnVlIGlmIHRoaXMgUVNjcmlwdFN0cmluZyBpcyBub3QgZXF1
YWwgdG8gXGEgb3RoZXI7Ci0gIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLgotKi8KLWJvb2wgUVNj
cmlwdFN0cmluZzo6b3BlcmF0b3IhPShjb25zdCBRU2NyaXB0U3RyaW5nJiBvdGhlcikgY29uc3QK
LXsKLSAgICByZXR1cm4gZF9wdHIgIT0gb3RoZXIuZF9wdHIgfHwgKmRfcHRyICE9ICoob3RoZXIu
ZF9wdHIpOwotfQotCi0vKiEKLSAgQXR0ZW1wdHMgdG8gY29udmVydCB0aGlzIFFTY3JpcHRTdHJp
bmcgdG8gYSBRdFNjcmlwdCBhcnJheSBpbmRleCwKLSAgYW5kIHJldHVybnMgdGhlIHJlc3VsdC4K
LQotICBJZiBhIGNvbnZlcnNpb24gZXJyb3Igb2NjdXJzLCAqXGF7b2t9IGlzIHNldCB0byBmYWxz
ZTsgb3RoZXJ3aXNlCi0gICpcYXtva30gaXMgc2V0IHRvIHRydWUuCi0qLwotcXVpbnQzMiBRU2Ny
aXB0U3RyaW5nOjp0b0FycmF5SW5kZXgoYm9vbCogb2spIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRf
cHRyLT50b0FycmF5SW5kZXgob2spOwotfQotCi0vKiEKLSAgUmV0dXJucyB0aGUgc3RyaW5nIHRo
YXQgdGhpcyBRU2NyaXB0U3RyaW5nIHJlcHJlc2VudHMsIG9yIGEKLSAgbnVsbCBzdHJpbmcgaWYg
dGhpcyBRU2NyaXB0U3RyaW5nIGlzIG5vdCB2YWxpZC4KLQotICBcc2EgaXNWYWxpZCgpCi0qLwot
UVN0cmluZyBRU2NyaXB0U3RyaW5nOjp0b1N0cmluZygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRf
cHRyLT50b1N0cmluZygpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0aGUgc3RyaW5nIHRoYXQgdGhp
cyBRU2NyaXB0U3RyaW5nIHJlcHJlc2VudHMsIG9yIGEKLSAgbnVsbCBzdHJpbmcgaWYgdGhpcyBR
U2NyaXB0U3RyaW5nIGlzIG5vdCB2YWxpZC4KLQotICBcc2EgdG9TdHJpbmcoKQotKi8KLVFTY3Jp
cHRTdHJpbmc6Om9wZXJhdG9yIFFTdHJpbmcoKSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+
dG9TdHJpbmcoKTsKLX0KLQotdWludCBxSGFzaChjb25zdCBRU2NyaXB0U3RyaW5nJiBrZXkpCi17
Ci0gICAgcmV0dXJuIHFIYXNoKFFTY3JpcHRTdHJpbmdQcml2YXRlOjpnZXQoa2V5KS0+aWQoKSk7
Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRzdHJp
bmcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHN0cmluZy5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjU5M2JjM2VhOGY0ZWFhYTI4ZThhMDJhOTRjZjUx
MDIwM2Q5NWM0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHN0cmluZy5oCisrKyAvZGV2L251
bGwKQEAgLTEsNTggKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29y
cG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
Ci0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2lmbmRlZiBxc2NyaXB0
c3RyaW5nX2gKLSNkZWZpbmUgcXNjcmlwdHN0cmluZ19oCi0KLSNpbmNsdWRlICJxdHNjcmlwdGds
b2JhbC5oIgotI2luY2x1ZGUgPFF0Q29yZS9xc2hhcmVkZGF0YS5oPgotI2luY2x1ZGUgPFF0Q29y
ZS9xc3RyaW5nLmg+Ci0KLWNsYXNzIFFTY3JpcHRTdHJpbmdQcml2YXRlOwotdHlwZWRlZiBRRXhw
bGljaXRseVNoYXJlZERhdGFQb2ludGVyPFFTY3JpcHRTdHJpbmdQcml2YXRlPiBRU2NyaXB0U3Ry
aW5nUHRyOwotCi1jbGFzcyBRX0pBVkFTQ1JJUFRfRVhQT1JUIFFTY3JpcHRTdHJpbmcgewotcHVi
bGljOgotICAgIFFTY3JpcHRTdHJpbmcoKTsKLSAgICBRU2NyaXB0U3RyaW5nKGNvbnN0IFFTY3Jp
cHRTdHJpbmcmIG90aGVyKTsKLSAgICB+UVNjcmlwdFN0cmluZygpOwotCi0gICAgUVNjcmlwdFN0
cmluZyYgb3BlcmF0b3I9KGNvbnN0IFFTY3JpcHRTdHJpbmcmIG90aGVyKTsKLQotICAgIGJvb2wg
aXNWYWxpZCgpIGNvbnN0OwotCi0gICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFFTY3JpcHRTdHJp
bmcmIG90aGVyKSBjb25zdDsKLSAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgUVNjcmlwdFN0cmlu
ZyYgb3RoZXIpIGNvbnN0OwotCi0gICAgcXVpbnQzMiB0b0FycmF5SW5kZXgoYm9vbCogb2sgPSAw
KSBjb25zdDsKLQotICAgIFFTdHJpbmcgdG9TdHJpbmcoKSBjb25zdDsKLSAgICBvcGVyYXRvciBR
U3RyaW5nKCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgUVNjcmlwdFN0cmluZyhRU2NyaXB0U3Ry
aW5nUHJpdmF0ZSogZCk7Ci0KLSAgICBRU2NyaXB0U3RyaW5nUHRyIGRfcHRyOwotCi0gICAgZnJp
ZW5kIGNsYXNzIFFTY3JpcHRTdHJpbmdQcml2YXRlOwotfTsKLQotdWludCBxSGFzaChjb25zdCBR
U2NyaXB0U3RyaW5nJiBrZXkpOwotCi0jZW5kaWYgLy8gcXNjcmlwdHN0cmluZ19oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRzdHJpbmdfcC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0c3RyaW5nX3AuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZmU4NGY0ZGJkZTA0ZTU2YjAwZDIyYTMyMjE5MmM0YjE4M2Y2MTdl
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRzdHJpbmdfcC5oCisrKyAvZGV2L251bGwKQEAg
LTEsMTI0ICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot
ICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0g
ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAg
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLSNpZm5kZWYgcXNjcmlwdHN0cmlu
Z19wX2gKLSNkZWZpbmUgcXNjcmlwdHN0cmluZ19wX2gKLQotI2luY2x1ZGUgInFzY3JpcHRjb252
ZXJ0ZXJfcC5oIgotI2luY2x1ZGUgInFzY3JpcHRzdHJpbmcuaCIKLSNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Lmg+Ci0jaW5jbHVkZSA8UXRDb3JlL3FudW1lcmljLmg+Ci0jaW5j
bHVkZSA8UXRDb3JlL3FzaGFyZWRkYXRhLmg+Ci0KLWNsYXNzIFFTY3JpcHRTdHJpbmdQcml2YXRl
IDogcHVibGljIFFTaGFyZWREYXRhIHsKLXB1YmxpYzoKLSAgICBpbmxpbmUgUVNjcmlwdFN0cmlu
Z1ByaXZhdGUoKTsKLSAgICBpbmxpbmUgUVNjcmlwdFN0cmluZ1ByaXZhdGUoY29uc3QgUVN0cmlu
ZyYgcXRzdHJpbmcpOwotICAgIGlubGluZSB+UVNjcmlwdFN0cmluZ1ByaXZhdGUoKTsKLQotICAg
IHN0YXRpYyBpbmxpbmUgUVNjcmlwdFN0cmluZyBnZXQoUVNjcmlwdFN0cmluZ1ByaXZhdGUqIGQp
OwotICAgIHN0YXRpYyBpbmxpbmUgUVNjcmlwdFN0cmluZ1B0ciBnZXQoY29uc3QgUVNjcmlwdFN0
cmluZyYgcCk7Ci0KLSAgICBpbmxpbmUgYm9vbCBpc1ZhbGlkKCkgY29uc3Q7Ci0KLSAgICBpbmxp
bmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFFTY3JpcHRTdHJpbmdQcml2YXRlJiBvdGhlcikgY29u
c3Q7Ci0gICAgaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBRU2NyaXB0U3RyaW5nUHJpdmF0
ZSYgb3RoZXIpIGNvbnN0OwotCi0gICAgaW5saW5lIHF1aW50MzIgdG9BcnJheUluZGV4KGJvb2wq
IG9rID0gMCkgY29uc3Q7Ci0KLSAgICBpbmxpbmUgUVN0cmluZyB0b1N0cmluZygpIGNvbnN0Owot
Ci0gICAgaW5saW5lIHF1aW50NjQgaWQoKSBjb25zdDsKLQotICAgIGlubGluZSBvcGVyYXRvciBK
U1N0cmluZ1JlZigpIGNvbnN0OwotCi1wcml2YXRlOgotICAgIEpTU3RyaW5nUmVmIG1fc3RyaW5n
OwotfTsKLQotCi1RU2NyaXB0U3RyaW5nUHJpdmF0ZTo6UVNjcmlwdFN0cmluZ1ByaXZhdGUoKQot
ICAgIDogbV9zdHJpbmcoMCkKLXt9Ci0KLVFTY3JpcHRTdHJpbmdQcml2YXRlOjpRU2NyaXB0U3Ry
aW5nUHJpdmF0ZShjb25zdCBRU3RyaW5nJiBxdHN0cmluZykKLSAgICA6IG1fc3RyaW5nKFFTY3Jp
cHRDb252ZXJ0ZXI6OnRvU3RyaW5nKHF0c3RyaW5nKSkKLXt9Ci0KLVFTY3JpcHRTdHJpbmdQcml2
YXRlOjp+UVNjcmlwdFN0cmluZ1ByaXZhdGUoKQotewotICAgIGlmIChpc1ZhbGlkKCkpCi0gICAg
ICAgIEpTU3RyaW5nUmVsZWFzZShtX3N0cmluZyk7Ci19Ci0KLVFTY3JpcHRTdHJpbmcgUVNjcmlw
dFN0cmluZ1ByaXZhdGU6OmdldChRU2NyaXB0U3RyaW5nUHJpdmF0ZSogZCkKLXsKLSAgICBRX0FT
U0VSVChkKTsKLSAgICByZXR1cm4gUVNjcmlwdFN0cmluZyhkKTsKLX0KLQotUVNjcmlwdFN0cmlu
Z1B0ciBRU2NyaXB0U3RyaW5nUHJpdmF0ZTo6Z2V0KGNvbnN0IFFTY3JpcHRTdHJpbmcmIHApCi17
Ci0gICAgcmV0dXJuIHAuZF9wdHI7Ci19Ci0KLWJvb2wgUVNjcmlwdFN0cmluZ1ByaXZhdGU6Omlz
VmFsaWQoKSBjb25zdAotewotICAgIHJldHVybiBtX3N0cmluZzsKLX0KLQotYm9vbCBRU2NyaXB0
U3RyaW5nUHJpdmF0ZTo6b3BlcmF0b3I9PShjb25zdCBRU2NyaXB0U3RyaW5nUHJpdmF0ZSYgb3Ro
ZXIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGlzVmFsaWQoKSAmJiBvdGhlci5pc1ZhbGlkKCkgJiYg
SlNTdHJpbmdJc0VxdWFsKG1fc3RyaW5nLCBvdGhlci5tX3N0cmluZyk7Ci19Ci0KLWJvb2wgUVNj
cmlwdFN0cmluZ1ByaXZhdGU6Om9wZXJhdG9yIT0oY29uc3QgUVNjcmlwdFN0cmluZ1ByaXZhdGUm
IG90aGVyKSBjb25zdAotewotICAgIHJldHVybiBpc1ZhbGlkKCkgJiYgb3RoZXIuaXNWYWxpZCgp
ICYmICFKU1N0cmluZ0lzRXF1YWwobV9zdHJpbmcsIG90aGVyLm1fc3RyaW5nKTsKLX0KLQotcXVp
bnQzMiBRU2NyaXB0U3RyaW5nUHJpdmF0ZTo6dG9BcnJheUluZGV4KGJvb2wqIG9rKSBjb25zdAot
ewotICAgIHF1aW50MzIgaWR4ID0gUVNjcmlwdENvbnZlcnRlcjo6dG9BcnJheUluZGV4KG1fc3Ry
aW5nKTsKLSAgICBpZiAob2spCi0gICAgICAgICpvayA9IChpZHggIT0gMHhmZmZmZmZmZik7Ci0g
ICAgcmV0dXJuIGlkeDsKLX0KLQotUVN0cmluZyBRU2NyaXB0U3RyaW5nUHJpdmF0ZTo6dG9TdHJp
bmcoKSBjb25zdAotewotICAgIHJldHVybiBRU2NyaXB0Q29udmVydGVyOjp0b1N0cmluZyhtX3N0
cmluZyk7Ci19Ci0KLXF1aW50NjQgUVNjcmlwdFN0cmluZ1ByaXZhdGU6OmlkKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxxdWludDMyPihtX3N0cmluZyk7Ci19Ci0KLS8q
IQotICAgIFxpbnRlcm5hbAotICAgIFRoaXMgbWV0aG9kIHNob3VsZCBiZSB1c2VkIGZvciBpbnZv
a2luZyBKU0MgZnVuY3Rpb25zLgotICAgIFxub3RlIFRoaXMgbWV0aG9kIGtlZXBzIG93bmVyc2hp
cCBvZiBhbiBpbnRlcm5hbCBKU1N0cmluZ1JlZi4KLSovCi1RU2NyaXB0U3RyaW5nUHJpdmF0ZTo6
b3BlcmF0b3IgSlNTdHJpbmdSZWYoKSBjb25zdAotewotICAgIHJldHVybiBtX3N0cmluZzsKLX0K
LQotI2VuZGlmIC8vIHFzY3JpcHRzdHJpbmdfcF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcXQvYXBpL3FzY3JpcHRzeW50YXhjaGVja3Jlc3VsdC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHRzeW50YXhjaGVja3Jlc3VsdC5jcHAKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5NDhjNWRlMzdlODkzN2MxYzc1NzQ5Y2U1ZjBkM2RmNjMy
OWRkYWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHQuY3BwCisr
KyAvZGV2L251bGwKQEAgLTEsMTQ4ICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDEw
IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotCi0gICAgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
LSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLQotI2luY2x1ZGUgInFzY3JpcHRzeW50YXhjaGVja3Jlc3VsdC5oIgot
I2luY2x1ZGUgInFzY3JpcHRzeW50YXhjaGVja3Jlc3VsdF9wLmgiCi0KLS8qIQotICBcY2xhc3Mg
UVNjcmlwdFN5bnRheENoZWNrUmVzdWx0Ci0KLSAgXGJyaWVmIFRoZSBRU2NyaXB0U3ludGF4Q2hl
Y2tSZXN1bHQgY2xhc3MgcHJvdmlkZXMgdGhlIHJlc3VsdCBvZiBhIHNjcmlwdCBzeW50YXggY2hl
Y2suCi0KLSAgXGluZ3JvdXAgc2NyaXB0Ci0gIFxtYWluY2xhc3MKLQotICBRU2NyaXB0U3ludGF4
Q2hlY2tSZXN1bHQgaXMgcmV0dXJuZWQgYnkgUVNjcmlwdEVuZ2luZTo6Y2hlY2tTeW50YXgoKSB0
bwotICBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzeW50YWN0aWNhbCAoaW4pY29ycmVj
dG5lc3Mgb2YgYSBzY3JpcHQuCi0qLwotCi0vKiEKLSAgICBcZW51bSBRU2NyaXB0U3ludGF4Q2hl
Y2tSZXN1bHQ6OlN0YXRlCi0KLSAgICBUaGlzIGVudW0gc3BlY2lmaWVzIHRoZSBzdGF0ZSBvZiBh
IHN5bnRheCBjaGVjay4KLQotICAgIFx2YWx1ZSBFcnJvciBUaGUgcHJvZ3JhbSBjb250YWlucyBh
IHN5bnRheCBlcnJvci4KLSAgICBcdmFsdWUgSW50ZXJtZWRpYXRlIFRoZSBwcm9ncmFtIGlzIGlu
Y29tcGxldGUuCi0gICAgXHZhbHVlIFZhbGlkIFRoZSBwcm9ncmFtIGlzIGEgc3ludGFjdGljYWxs
eSBjb3JyZWN0IFF0IFNjcmlwdCBwcm9ncmFtLgotKi8KLQotLyohCi0gIENvbnN0cnVjdHMgYSBu
ZXcgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0IGZyb20gdGhlIFxhIG90aGVyIHJlc3VsdC4KLSov
Ci1RU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQ6OlFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdChjb25z
dCBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQmIG90aGVyKQotICAgIDogZF9wdHIob3RoZXIuZF9w
dHIpCi17fQotCi0vKiEKLSAgQ29uc3RydWN0cyBhIG5ldyBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1
bHQgZnJvbSBhbiBpbnRlcm5hbCByZXByZXNlbnRhdGlvbi4KLSAgXGludGVybmFsCi0qLwotUVNj
cmlwdFN5bnRheENoZWNrUmVzdWx0OjpRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQoUVNjcmlwdFN5
bnRheENoZWNrUmVzdWx0UHJpdmF0ZSogZCkKLSAgICA6IGRfcHRyKGQpCi17fQotCi0vKiEKLSAg
RGVzdHJveXMgdGhpcyBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQuCi0qLwotUVNjcmlwdFN5bnRh
eENoZWNrUmVzdWx0Ojp+UVNjcmlwdFN5bnRheENoZWNrUmVzdWx0KCkKLXt9Ci0KLS8qIQotICBB
c3NpZ25zIHRoZSBcYSBvdGhlciByZXN1bHQgdG8gdGhpcyBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1
bHQsIGFuZCByZXR1cm5zIGEKLSAgcmVmZXJlbmNlIHRvIHRoaXMgUVNjcmlwdFN5bnRheENoZWNr
UmVzdWx0LgotKi8KLVFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdCYgUVNjcmlwdFN5bnRheENoZWNr
UmVzdWx0OjpvcGVyYXRvcj0oY29uc3QgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0JiBvdGhlcikK
LXsKLSAgICBkX3B0ciA9IG90aGVyLmRfcHRyOwotICAgIHJldHVybiAqdGhpczsKLX0KLQotLyoh
Ci0gIFJldHVybnMgdGhlIHN0YXRlIG9mIHRoaXMgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0Lgot
Ki8KLVFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6U3RhdGUgUVNjcmlwdFN5bnRheENoZWNrUmVz
dWx0OjpzdGF0ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5zdGF0ZSgpOwotfQotCi0v
KiEKLSAgUmV0dXJucyB0aGUgZXJyb3IgbGluZSBudW1iZXIgb2YgdGhpcyBRU2NyaXB0U3ludGF4
Q2hlY2tSZXN1bHQsIG9yIC0xIGlmCi0gIHRoZXJlIGlzIG5vIGVycm9yLgotCi0gIFxzYSBzdGF0
ZSgpLCBlcnJvck1lc3NhZ2UoKQotKi8KLWludCBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQ6OmVy
cm9yTGluZU51bWJlcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5lcnJvckxpbmVOdW1i
ZXIoKTsKLX0KLQotLyohCi0gIFJldHVybnMgdGhlIGVycm9yIGNvbHVtbiBudW1iZXIgb2YgdGhp
cyBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQsIG9yIC0xIGlmCi0gIHRoZXJlIGlzIG5vIGVycm9y
LgotCi0gIFxzYSBzdGF0ZSgpLCBlcnJvckxpbmVOdW1iZXIoKQotKi8KLWludCBRU2NyaXB0U3lu
dGF4Q2hlY2tSZXN1bHQ6OmVycm9yQ29sdW1uTnVtYmVyKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
ZF9wdHItPmVycm9yQ29sdW1uTnVtYmVyKCk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRoZSBlcnJv
ciBtZXNzYWdlIG9mIHRoaXMgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0LCBvciBhbiBlbXB0eQot
ICBzdHJpbmcgaWYgdGhlcmUgaXMgbm8gZXJyb3IuCi0KLSAgXHNhIHN0YXRlKCksIGVycm9yTGlu
ZU51bWJlcigpCi0qLwotUVN0cmluZyBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQ6OmVycm9yTWVz
c2FnZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5lcnJvck1lc3NhZ2UoKTsKLX0KLQot
UVNjcmlwdFN5bnRheENoZWNrUmVzdWx0UHJpdmF0ZTo6flFTY3JpcHRTeW50YXhDaGVja1Jlc3Vs
dFByaXZhdGUoKQotewotICAgIGlmIChtX2V4Y2VwdGlvbikKLSAgICAgICAgSlNWYWx1ZVVucHJv
dGVjdCgqbV9lbmdpbmUsIG1fZXhjZXB0aW9uKTsKLX0KLQotUVN0cmluZyBRU2NyaXB0U3ludGF4
Q2hlY2tSZXN1bHRQcml2YXRlOjplcnJvck1lc3NhZ2UoKSBjb25zdAotewotICAgIGlmICghbV9l
eGNlcHRpb24pCi0gICAgICAgIHJldHVybiBRU3RyaW5nKCk7Ci0KLSAgICBKU1N0cmluZ1JlZiB0
bXAgPSBKU1ZhbHVlVG9TdHJpbmdDb3B5KCptX2VuZ2luZSwgbV9leGNlcHRpb24sIC8qIGV4Y2Vw
dGlvbiAqLyAwKTsKLSAgICBRU3RyaW5nIG1lc3NhZ2UgPSBRU2NyaXB0Q29udmVydGVyOjp0b1N0
cmluZyh0bXApOwotICAgIEpTU3RyaW5nUmVsZWFzZSh0bXApOwotICAgIHJldHVybiBtZXNzYWdl
OwotfQotCi1pbnQgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0UHJpdmF0ZTo6ZXJyb3JMaW5lTnVt
YmVyKCkgY29uc3QKLXsKLSAgICBpZiAoIW1fZXhjZXB0aW9uKQotICAgICAgICByZXR1cm4gLTE7
Ci0gICAgLy8gbV9leGNlcHRpb24gaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIEV4Y2VwdGlvbiBzbyBp
dCBoYXMgImxpbmUiIGF0dHJpYnV0ZS4KLSAgICBKU1N0cmluZ1JlZiBsaW5lQXR0ck5hbWUgPSBR
U2NyaXB0Q29udmVydGVyOjp0b1N0cmluZygibGluZSIpOwotICAgIEpTVmFsdWVSZWYgbGluZSA9
IEpTT2JqZWN0R2V0UHJvcGVydHkoKm1fZW5naW5lLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbV9leGNlcHRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsaW5lQXR0ck5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvKiBleGNlcHRpb25zICovMCk7Ci0gICAgSlNTdHJpbmdSZWxlYXNl
KGxpbmVBdHRyTmFtZSk7Ci0gICAgcmV0dXJuIEpTVmFsdWVUb051bWJlcigqbV9lbmdpbmUsIGxp
bmUsIC8qIGV4Y2VwdGlvbnMgKi8wKTsKLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9xdC9hcGkvcXNjcmlwdHN5bnRheGNoZWNrcmVzdWx0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcXQvYXBpL3FzY3JpcHRzeW50YXhjaGVja3Jlc3VsdC5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBhYTU3NzQ0YmNjZjMyZjcwYjI4OGNkODk0Yzg3NDE0NGE4ZjRiOTQyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHN5bnRheGNoZWNrcmVzdWx0LmgKKysrIC9kZXYvbnVs
bApAQCAtMSw1MCArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jw
b3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
LQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
Ci0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaWZuZGVmIHFzY3JpcHRz
eW50YXhjaGVja3Jlc3VsdF9oCi0jZGVmaW5lIHFzY3JpcHRzeW50YXhjaGVja3Jlc3VsdF9oCi0K
LSNpbmNsdWRlICJxdHNjcmlwdGdsb2JhbC5oIgotI2luY2x1ZGUgPFF0Q29yZS9xc2hhcmVkZGF0
YS5oPgotCi1jbGFzcyBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2YXRlOwotY2xhc3MgUV9K
QVZBU0NSSVBUX0VYUE9SVCBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQgewotcHVibGljOgotICAg
IGVudW0gU3RhdGUgewotICAgICAgICBFcnJvciwKLSAgICAgICAgSW50ZXJtZWRpYXRlLAotICAg
ICAgICBWYWxpZAotICAgIH07Ci0KLSAgICBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQoY29uc3Qg
UVNjcmlwdFN5bnRheENoZWNrUmVzdWx0JiBvdGhlcik7Ci0gICAgflFTY3JpcHRTeW50YXhDaGVj
a1Jlc3VsdCgpOwotICAgIFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdCYgb3BlcmF0b3I9KGNvbnN0
IFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdCYgb3RoZXIpOwotCi0gICAgU3RhdGUgc3RhdGUoKSBj
b25zdDsKLSAgICBpbnQgZXJyb3JMaW5lTnVtYmVyKCkgY29uc3Q7Ci0gICAgaW50IGVycm9yQ29s
dW1uTnVtYmVyKCkgY29uc3Q7Ci0gICAgUVN0cmluZyBlcnJvck1lc3NhZ2UoKSBjb25zdDsKLQot
cHJpdmF0ZToKLSAgICBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQoUVNjcmlwdFN5bnRheENoZWNr
UmVzdWx0UHJpdmF0ZSogZCk7Ci0gICAgUUV4cGxpY2l0bHlTaGFyZWREYXRhUG9pbnRlcjxRU2Ny
aXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2YXRlPiBkX3B0cjsKLQotICAgIGZyaWVuZCBjbGFzcyBR
U2NyaXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2YXRlOwotfTsKLSNlbmRpZiAvLyBxc2NyaXB0c3lu
dGF4Y2hlY2tyZXN1bHRfaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2Fw
aS9xc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHRfcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0
L2FwaS9xc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHRfcC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2ZTFhMTMxYTRkZDcwNWZmMmQxYWU2MDFhMmE3NmU0ZWZmMjIxM2YyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9xdC9hcGkvcXNjcmlwdHN5bnRheGNoZWNrcmVzdWx0X3AuaAorKysgL2Rldi9udWxsCkBA
IC0xLDczICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot
ICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0g
ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAg
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLSNpZm5kZWYgcXNjcmlwdHN5bnRh
eGNoZWNrcmVzdWx0X3BfaAotI2RlZmluZSBxc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHRfcF9oCi0K
LSNpbmNsdWRlICJxc2NyaXB0Y29udmVydGVyX3AuaCIKLSNpbmNsdWRlICJxc2NyaXB0ZW5naW5l
X3AuaCIKLSNpbmNsdWRlICJxc2NyaXB0c3ludGF4Y2hlY2tyZXN1bHQuaCIKLSNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Lmg+Ci0jaW5jbHVkZSA8UXRDb3JlL3FzaGFyZWRkYXRh
Lmg+Ci0KLWNsYXNzIFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdFByaXZhdGUgOiBwdWJsaWMgUVNo
YXJlZERhdGEgewotcHVibGljOgotICAgIHN0YXRpYyBpbmxpbmUgUVNjcmlwdFN5bnRheENoZWNr
UmVzdWx0IGdldChRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2YXRlKiBwKTsKLSAgICBpbmxp
bmUgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0UHJpdmF0ZShjb25zdCBRU2NyaXB0RW5naW5lUHJp
dmF0ZSogZW5naW5lKTsKLSAgICBpbmxpbmUgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0UHJpdmF0
ZShjb25zdCBRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lLCBKU09iamVjdFJlZiB2YWx1ZSk7
Ci0gICAgflFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdFByaXZhdGUoKTsKLQotICAgIGlubGluZSBR
U2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQ6OlN0YXRlIHN0YXRlKCkgY29uc3Q7Ci0gICAgaW50IGVy
cm9yTGluZU51bWJlcigpIGNvbnN0OwotICAgIGlubGluZSBpbnQgZXJyb3JDb2x1bW5OdW1iZXIo
KSBjb25zdDsKLSAgICBRU3RyaW5nIGVycm9yTWVzc2FnZSgpIGNvbnN0OwotcHJpdmF0ZToKLSAg
ICBKU09iamVjdFJlZiBtX2V4Y2VwdGlvbjsKLSAgICBRU2NyaXB0RW5naW5lUHRyIG1fZW5naW5l
OwotfTsKLQotUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0IFFTY3JpcHRTeW50YXhDaGVja1Jlc3Vs
dFByaXZhdGU6OmdldChRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2YXRlKiBwKQotewotICAg
IHJldHVybiBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQocCk7Ci19Ci0KLVFTY3JpcHRTeW50YXhD
aGVja1Jlc3VsdFByaXZhdGU6OlFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdFByaXZhdGUoY29uc3Qg
UVNjcmlwdEVuZ2luZVByaXZhdGUqIGVuZ2luZSkKLSAgICA6IG1fZXhjZXB0aW9uKDApCi0gICAg
LCBtX2VuZ2luZShjb25zdF9jYXN0PFFTY3JpcHRFbmdpbmVQcml2YXRlKj4oZW5naW5lKSkKLXt9
Ci0KLVFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdFByaXZhdGU6OlFTY3JpcHRTeW50YXhDaGVja1Jl
c3VsdFByaXZhdGUoY29uc3QgUVNjcmlwdEVuZ2luZVByaXZhdGUqIGVuZ2luZSwgSlNPYmplY3RS
ZWYgdmFsdWUpCi0gICAgOiBtX2V4Y2VwdGlvbih2YWx1ZSkKLSAgICAsIG1fZW5naW5lKGNvbnN0
X2Nhc3Q8UVNjcmlwdEVuZ2luZVByaXZhdGUqPihlbmdpbmUpKQote30KLQotUVNjcmlwdFN5bnRh
eENoZWNrUmVzdWx0OjpTdGF0ZSBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHRQcml2YXRlOjpzdGF0
ZSgpIGNvbnN0Ci17Ci0gICAgLy8gRklYTUUgVGhpcyBmdW5jdGlvbiBkb2Vzbid0IHJldHVybiBR
U2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQ6OkludGVybWVkaWF0ZQotICAgIHJldHVybiBtX2V4Y2Vw
dGlvbiA/IFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6RXJyb3IgOiBRU2NyaXB0U3ludGF4Q2hl
Y2tSZXN1bHQ6OlZhbGlkOwotfQotCi1pbnQgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0UHJpdmF0
ZTo6ZXJyb3JDb2x1bW5OdW1iZXIoKSBjb25zdAotewotICAgIC8vIEZJWE1FIEpTQyBDIEFQSSBk
b2Vzbid0IGV4cG9zZSB0aGUgZXJyb3IgY29sdW1uIG51bWJlci4KLSAgICByZXR1cm4gbV9leGNl
cHRpb24gPyAxIDogLTE7Ci19Ci0KLQotI2VuZGlmIC8vIHFzY3JpcHRzeW50YXhjaGVja3Jlc3Vs
dF9wX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHZh
bHVlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHZhbHVlLmNwcApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGE3YTZjNDdhYWMwMjUxZjRlN2Q2ZmNkMTVl
ODM1ZDhkZDgzZTdhZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHR2YWx1ZS5jcHAKKysrIC9k
ZXYvbnVsbApAQCAtMSw4MDIgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMDkgTm9r
aWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0g
ICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAg
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2luY2x1ZGUg
ImNvbmZpZy5oIgotCi0jaW5jbHVkZSAicXNjcmlwdHZhbHVlLmgiCi0KLSNpbmNsdWRlICJxc2Ny
aXB0ZW5naW5lLmgiCi0jaW5jbHVkZSAicXNjcmlwdGVuZ2luZV9wLmgiCi0jaW5jbHVkZSAicXNj
cmlwdHZhbHVlX3AuaCIKLSNpbmNsdWRlIDxRdENvcmUvcWRlYnVnLmg+Ci0KLS8qIQotICAgIENv
bnN0cnVjdHMgYW4gaW52YWxpZCB2YWx1ZS4KLSovCi1RU2NyaXB0VmFsdWU6OlFTY3JpcHRWYWx1
ZSgpCi0gICAgOiBkX3B0cihuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZSgpKQotewotfQotCi0vKiEK
LSAgQ29uc3RydWN0cyBhIG5ldyBRU2NyaXB0VmFsdWUgd2l0aCBhIGJvb2xlYW4gXGEgdmFsdWUu
Ci0qLwotUVNjcmlwdFZhbHVlOjpRU2NyaXB0VmFsdWUoYm9vbCB2YWx1ZSkKLSAgICA6IGRfcHRy
KG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKHZhbHVlKSkKLXsKLX0KLQotLyohCi0gIENvbnN0cnVj
dHMgYSBuZXcgUVNjcmlwdFZhbHVlIHdpdGggYSBudW1iZXIgXGEgdmFsdWUuCi0qLwotUVNjcmlw
dFZhbHVlOjpRU2NyaXB0VmFsdWUoaW50IHZhbHVlKQotICAgIDogZF9wdHIobmV3IFFTY3JpcHRW
YWx1ZVByaXZhdGUodmFsdWUpKQotewotfQotCi0vKiEKLSAgQ29uc3RydWN0cyBhIG5ldyBRU2Ny
aXB0VmFsdWUgd2l0aCBhIG51bWJlciBcYSB2YWx1ZS4KLSovCi1RU2NyaXB0VmFsdWU6OlFTY3Jp
cHRWYWx1ZSh1aW50IHZhbHVlKQotICAgIDogZF9wdHIobmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUo
dmFsdWUpKQotewotfQotCi0vKiEKLSAgQ29uc3RydWN0cyBhIG5ldyBRU2NyaXB0VmFsdWUgd2l0
aCBhIG51bWJlciBcYSB2YWx1ZS4KLSovCi1RU2NyaXB0VmFsdWU6OlFTY3JpcHRWYWx1ZShxc3Jl
YWwgdmFsdWUpCi0gICAgOiBkX3B0cihuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZSh2YWx1ZSkpCi17
Ci19Ci0KLS8qIQotICBDb25zdHJ1Y3RzIGEgbmV3IFFTY3JpcHRWYWx1ZSB3aXRoIGEgc3RyaW5n
IFxhIHZhbHVlLgotKi8KLVFTY3JpcHRWYWx1ZTo6UVNjcmlwdFZhbHVlKGNvbnN0IFFTdHJpbmcm
IHZhbHVlKQotICAgIDogZF9wdHIobmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUodmFsdWUpKQotewot
fQotCi0vKiEKLSAgQ29uc3RydWN0cyBhIG5ldyBRU2NyaXB0VmFsdWUgd2l0aCBhIHNwZWNpYWwg
XGEgdmFsdWUuCi0qLwotUVNjcmlwdFZhbHVlOjpRU2NyaXB0VmFsdWUoU3BlY2lhbFZhbHVlIHZh
bHVlKQotICAgIDogZF9wdHIobmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUodmFsdWUpKQotewotfQot
Ci0vKiEKLSAgQ29uc3RydWN0cyBhIG5ldyBRU2NyaXB0VmFsdWUgd2l0aCBhIHN0cmluZyBcYSB2
YWx1ZS4KLSovCi1RU2NyaXB0VmFsdWU6OlFTY3JpcHRWYWx1ZShjb25zdCBjaGFyKiB2YWx1ZSkK
LSAgICA6IGRfcHRyKG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKFFTdHJpbmc6OmZyb21VdGY4KHZh
bHVlKSkpCi17Ci19Ci0KLS8qIQotICAgIEJsb2NrIGF1dG9tYXRpYyBjb252ZXJ0aW9uIHRvIGJv
b2wKLSAgICBcaW50ZXJuYWwKLSovCi1RU2NyaXB0VmFsdWU6OlFTY3JpcHRWYWx1ZSh2b2lkKiBk
KQotewotICAgIFFfQVNTRVJUKGZhbHNlKTsKLX0KLQotLyohCi0gICAgQ29uc3RydWN0cyBhIG5l
dyBRU2NyaXB0VmFsdWUgZnJvbSBwcml2YXRlCi0gICAgXGludGVybmFsCi0qLwotUVNjcmlwdFZh
bHVlOjpRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlUHJpdmF0ZSogZCkKLSAgICA6IGRfcHRyKGQp
Ci17Ci19Ci0KLS8qIQotICBcb2Jzb2xldGUKLQotICBDb25zdHJ1Y3RzIGEgbmV3IFFTY3JpcHRW
YWx1ZSB3aXRoIHRoZSBib29sZWFuIFxhIHZhbHVlIGFuZAotICByZWdpc3RlcnMgaXQgd2l0aCB0
aGUgc2NyaXB0IFxhIGVuZ2luZS4KLSovCi1RU2NyaXB0VmFsdWU6OlFTY3JpcHRWYWx1ZShRU2Ny
aXB0RW5naW5lKiBlbmdpbmUsIGJvb2wgdmFsdWUpCi17Ci0gICAgaWYgKGVuZ2luZSkKLSAgICAg
ICAgZF9wdHIgPSBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZShRU2NyaXB0RW5naW5lUHJpdmF0ZTo6
Z2V0KGVuZ2luZSksIHZhbHVlKTsKLSAgICBlbHNlCi0gICAgICAgIGRfcHRyID0gbmV3IFFTY3Jp
cHRWYWx1ZVByaXZhdGUodmFsdWUpOwotfQotCi0vKiEKLSAgXG9ic29sZXRlCi0KLSAgQ29uc3Ry
dWN0cyBhIG5ldyBRU2NyaXB0VmFsdWUgd2l0aCB0aGUgaW50ZWdlciBcYSB2YWx1ZSBhbmQKLSAg
cmVnaXN0ZXJzIGl0IHdpdGggdGhlIHNjcmlwdCBcYSBlbmdpbmUuCi0qLwotUVNjcmlwdFZhbHVl
OjpRU2NyaXB0VmFsdWUoUVNjcmlwdEVuZ2luZSogZW5naW5lLCBpbnQgdmFsdWUpCi17Ci0gICAg
aWYgKGVuZ2luZSkKLSAgICAgICAgZF9wdHIgPSBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZShRU2Ny
aXB0RW5naW5lUHJpdmF0ZTo6Z2V0KGVuZ2luZSksIHZhbHVlKTsKLSAgICBlbHNlCi0gICAgICAg
IGRfcHRyID0gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUodmFsdWUpOwotfQotCi0vKiEKLSAgXG9i
c29sZXRlCi0KLSAgQ29uc3RydWN0cyBhIG5ldyBRU2NyaXB0VmFsdWUgd2l0aCB0aGUgdW5zaWdu
ZWQgaW50ZWdlciBcYSB2YWx1ZSBhbmQKLSAgcmVnaXN0ZXJzIGl0IHdpdGggdGhlIHNjcmlwdCBc
YSBlbmdpbmUuCi0gKi8KLVFTY3JpcHRWYWx1ZTo6UVNjcmlwdFZhbHVlKFFTY3JpcHRFbmdpbmUq
IGVuZ2luZSwgdWludCB2YWx1ZSkKLXsKLSAgICBpZiAoZW5naW5lKQotICAgICAgICBkX3B0ciA9
IG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKFFTY3JpcHRFbmdpbmVQcml2YXRlOjpnZXQoZW5naW5l
KSwgdmFsdWUpOwotICAgIGVsc2UKLSAgICAgICAgZF9wdHIgPSBuZXcgUVNjcmlwdFZhbHVlUHJp
dmF0ZSh2YWx1ZSk7Ci19Ci0KLS8qIQotICBcb2Jzb2xldGUKLQotICBDb25zdHJ1Y3RzIGEgbmV3
IFFTY3JpcHRWYWx1ZSB3aXRoIHRoZSBxc3JlYWwgXGEgdmFsdWUgYW5kCi0gIHJlZ2lzdGVycyBp
dCB3aXRoIHRoZSBzY3JpcHQgXGEgZW5naW5lLgotKi8KLVFTY3JpcHRWYWx1ZTo6UVNjcmlwdFZh
bHVlKFFTY3JpcHRFbmdpbmUqIGVuZ2luZSwgcXNyZWFsIHZhbHVlKQotewotICAgIGlmIChlbmdp
bmUpCi0gICAgICAgIGRfcHRyID0gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUoUVNjcmlwdEVuZ2lu
ZVByaXZhdGU6OmdldChlbmdpbmUpLCB2YWx1ZSk7Ci0gICAgZWxzZQotICAgICAgICBkX3B0ciA9
IG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKHZhbHVlKTsKLX0KLQotLyohCi0gIFxvYnNvbGV0ZQot
Ci0gIENvbnN0cnVjdHMgYSBuZXcgUVNjcmlwdFZhbHVlIHdpdGggdGhlIHN0cmluZyBcYSB2YWx1
ZSBhbmQKLSAgcmVnaXN0ZXJzIGl0IHdpdGggdGhlIHNjcmlwdCBcYSBlbmdpbmUuCi0qLwotUVNj
cmlwdFZhbHVlOjpRU2NyaXB0VmFsdWUoUVNjcmlwdEVuZ2luZSogZW5naW5lLCBjb25zdCBRU3Ry
aW5nJiB2YWx1ZSkKLXsKLSAgICBpZiAoZW5naW5lKQotICAgICAgICBkX3B0ciA9IG5ldyBRU2Ny
aXB0VmFsdWVQcml2YXRlKFFTY3JpcHRFbmdpbmVQcml2YXRlOjpnZXQoZW5naW5lKSwgdmFsdWUp
OwotICAgIGVsc2UKLSAgICAgICAgZF9wdHIgPSBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZSh2YWx1
ZSk7Ci19Ci0KLS8qIQotICBcb2Jzb2xldGUKLQotICBDb25zdHJ1Y3RzIGEgbmV3IFFTY3JpcHRW
YWx1ZSB3aXRoIHRoZSBzdHJpbmcgXGEgdmFsdWUgYW5kCi0gIHJlZ2lzdGVycyBpdCB3aXRoIHRo
ZSBzY3JpcHQgXGEgZW5naW5lLgotKi8KLVFTY3JpcHRWYWx1ZTo6UVNjcmlwdFZhbHVlKFFTY3Jp
cHRFbmdpbmUqIGVuZ2luZSwgY29uc3QgY2hhciogdmFsdWUpCi17Ci0gICAgaWYgKGVuZ2luZSkK
LSAgICAgICAgZF9wdHIgPSBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZShRU2NyaXB0RW5naW5lUHJp
dmF0ZTo6Z2V0KGVuZ2luZSksIFFTdHJpbmc6OmZyb21VdGY4KHZhbHVlKSk7Ci0gICAgZWxzZQot
ICAgICAgICBkX3B0ciA9IG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKFFTdHJpbmc6OmZyb21VdGY4
KHZhbHVlKSk7Ci19Ci0KLS8qIQotICBcb2Jzb2xldGUKLQotICBDb25zdHJ1Y3RzIGEgbmV3IFFT
Y3JpcHRWYWx1ZSB3aXRoIHRoZSBzcGVjaWFsIFxhIHZhbHVlIGFuZAotICByZWdpc3RlcnMgaXQg
d2l0aCB0aGUgc2NyaXB0IFxhIGVuZ2luZS4KLSovCi1RU2NyaXB0VmFsdWU6OlFTY3JpcHRWYWx1
ZShRU2NyaXB0RW5naW5lKiBlbmdpbmUsIFNwZWNpYWxWYWx1ZSB2YWx1ZSkKLXsKLSAgICBpZiAo
ZW5naW5lKQotICAgICAgICBkX3B0ciA9IG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKFFTY3JpcHRF
bmdpbmVQcml2YXRlOjpnZXQoZW5naW5lKSwgdmFsdWUpOwotICAgIGVsc2UKLSAgICAgICAgZF9w
dHIgPSBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZSh2YWx1ZSk7Ci19Ci0KLS8qIQotICBDb25zdHJ1
Y3RzIGEgbmV3IFFTY3JpcHRWYWx1ZSB0aGF0IGlzIGEgY29weSBvZiBcYSBvdGhlci4KLQotICBO
b3RlIHRoYXQgaWYgXGEgb3RoZXIgaXMgYW4gb2JqZWN0IChpLmUuLCBpc09iamVjdCgpIHdvdWxk
IHJldHVybgotICB0cnVlKSwgdGhlbiBvbmx5IGEgcmVmZXJlbmNlIHRvIHRoZSB1bmRlcmx5aW5n
IG9iamVjdCBpcyBjb3BpZWQgaW50bwotICB0aGUgbmV3IHNjcmlwdCB2YWx1ZSAoaS5lLiwgdGhl
IG9iamVjdCBpdHNlbGYgaXMgbm90IGNvcGllZCkuCi0qLwotUVNjcmlwdFZhbHVlOjpRU2NyaXB0
VmFsdWUoY29uc3QgUVNjcmlwdFZhbHVlJiBvdGhlcikKLSAgICA6IGRfcHRyKG90aGVyLmRfcHRy
KQotewotfQotCi0vKiEKLSAgICBEZXN0cm95cyB0aGlzIFFTY3JpcHRWYWx1ZS4KLSovCi1RU2Ny
aXB0VmFsdWU6On5RU2NyaXB0VmFsdWUoKQotewotfQotCi0vKiEKLSAgUmV0dXJucyB0cnVlIGlm
IHRoaXMgUVNjcmlwdFZhbHVlIGlzIHZhbGlkOyBvdGhlcndpc2UgcmV0dXJucwotICBmYWxzZS4K
LSovCi1ib29sIFFTY3JpcHRWYWx1ZTo6aXNWYWxpZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRf
cHRyLT5pc1ZhbGlkKCk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRydWUgaWYgdGhpcyBRU2NyaXB0
VmFsdWUgaXMgb2YgdGhlIHByaW1pdGl2ZSB0eXBlIEJvb2xlYW47Ci0gIG90aGVyd2lzZSByZXR1
cm5zIGZhbHNlLgotCi0gIFxzYSB0b0Jvb2woKQotKi8KLWJvb2wgUVNjcmlwdFZhbHVlOjppc0Jv
b2woKSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+aXNCb29sKCk7Ci19Ci0KLS8qIQotICBc
b2Jzb2xldGUKLQotICBVc2UgaXNCb29sKCkgaW5zdGVhZC4KLSAgUmV0dXJucyB0cnVlIGlmIHRo
aXMgUVNjcmlwdFZhbHVlIGlzIG9mIHRoZSBwcmltaXRpdmUgdHlwZSBCb29sZWFuOwotICBvdGhl
cndpc2UgcmV0dXJucyBmYWxzZS4KLSovCi1ib29sIFFTY3JpcHRWYWx1ZTo6aXNCb29sZWFuKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPmlzQm9vbCgpOwotfQotCi0vKiEKLSAgUmV0dXJu
cyB0cnVlIGlmIHRoaXMgUVNjcmlwdFZhbHVlIGlzIG9mIHRoZSBwcmltaXRpdmUgdHlwZSBOdW1i
ZXI7Ci0gIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLgotCi0gIFxzYSB0b051bWJlcigpCi0qLwot
Ym9vbCBRU2NyaXB0VmFsdWU6OmlzTnVtYmVyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHIt
PmlzTnVtYmVyKCk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRydWUgaWYgdGhpcyBRU2NyaXB0VmFs
dWUgaXMgb2YgdGhlIHByaW1pdGl2ZSB0eXBlIE51bGw7Ci0gIG90aGVyd2lzZSByZXR1cm5zIGZh
bHNlLgotCi0gIFxzYSBRU2NyaXB0RW5naW5lOjpudWxsVmFsdWUoKQotKi8KLWJvb2wgUVNjcmlw
dFZhbHVlOjppc051bGwoKSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+aXNOdWxsKCk7Ci19
Ci0KLS8qIQotICBSZXR1cm5zIHRydWUgaWYgdGhpcyBRU2NyaXB0VmFsdWUgaXMgb2YgdGhlIHBy
aW1pdGl2ZSB0eXBlIFN0cmluZzsKLSAgb3RoZXJ3aXNlIHJldHVybnMgZmFsc2UuCi0KLSAgXHNh
IHRvU3RyaW5nKCkKLSovCi1ib29sIFFTY3JpcHRWYWx1ZTo6aXNTdHJpbmcoKSBjb25zdAotewot
ICAgIHJldHVybiBkX3B0ci0+aXNTdHJpbmcoKTsKLX0KLQotLyohCi0gIFJldHVybnMgdHJ1ZSBp
ZiB0aGlzIFFTY3JpcHRWYWx1ZSBpcyBvZiB0aGUgcHJpbWl0aXZlIHR5cGUgVW5kZWZpbmVkOwot
ICBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS4KLQotICBcc2EgUVNjcmlwdEVuZ2luZTo6dW5kZWZp
bmVkVmFsdWUoKQotKi8KLWJvb2wgUVNjcmlwdFZhbHVlOjppc1VuZGVmaW5lZCgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIGRfcHRyLT5pc1VuZGVmaW5lZCgpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0
cnVlIGlmIHRoaXMgUVNjcmlwdFZhbHVlIGlzIGFuIG9iamVjdCBvZiB0aGUgRXJyb3IgY2xhc3M7
Ci0gIG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLgotCi0gIFxzYSBRU2NyaXB0Q29udGV4dDo6dGhy
b3dFcnJvcigpCi0qLwotYm9vbCBRU2NyaXB0VmFsdWU6OmlzRXJyb3IoKSBjb25zdAotewotICAg
IHJldHVybiBkX3B0ci0+aXNFcnJvcigpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0cnVlIGlmIHRo
aXMgUVNjcmlwdFZhbHVlIGlzIGFuIG9iamVjdCBvZiB0aGUgQXJyYXkgY2xhc3M7Ci0gIG90aGVy
d2lzZSByZXR1cm5zIGZhbHNlLgotCi0gIFxzYSBRU2NyaXB0RW5naW5lOjpuZXdBcnJheSgpCi0q
LwotYm9vbCBRU2NyaXB0VmFsdWU6OmlzQXJyYXkoKSBjb25zdAotewotICAgIHJldHVybiBkX3B0
ci0+aXNBcnJheSgpOwotfQotCi0vKiEKLSAgICBSZXR1cm5zIHRydWUgaWYgdGhpcyBRU2NyaXB0
VmFsdWUgaXMgYW4gb2JqZWN0IG9mIHRoZSBEYXRlIGNsYXNzOwotICAgIG90aGVyd2lzZSByZXR1
cm5zIGZhbHNlLgotCi0gICAgXHNhIFFTY3JpcHRFbmdpbmU6Om5ld0RhdGUoKQotKi8KLWJvb2wg
UVNjcmlwdFZhbHVlOjppc0RhdGUoKSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+aXNEYXRl
KCk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRydWUgaWYgdGhpcyBRU2NyaXB0VmFsdWUgaXMgb2Yg
dGhlIE9iamVjdCB0eXBlOyBvdGhlcndpc2UKLSAgcmV0dXJucyBmYWxzZS4KLQotICBOb3RlIHRo
YXQgZnVuY3Rpb24gdmFsdWVzLCB2YXJpYW50IHZhbHVlcywgYW5kIFFPYmplY3QgdmFsdWVzIGFy
ZQotICBvYmplY3RzLCBzbyB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBmb3Igc3VjaCB2YWx1
ZXMuCi0KLSAgXHNhIHRvT2JqZWN0KCksIFFTY3JpcHRFbmdpbmU6Om5ld09iamVjdCgpCi0qLwot
Ym9vbCBRU2NyaXB0VmFsdWU6OmlzT2JqZWN0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHIt
PmlzT2JqZWN0KCk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRydWUgaWYgdGhpcyBRU2NyaXB0VmFs
dWUgaXMgYSBmdW5jdGlvbjsgb3RoZXJ3aXNlIHJldHVybnMKLSAgZmFsc2UuCi0KLSAgXHNhIGNh
bGwoKQotKi8KLWJvb2wgUVNjcmlwdFZhbHVlOjppc0Z1bmN0aW9uKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gZF9wdHItPmlzRnVuY3Rpb24oKTsKLX0KLQotLyohCi0gIFJldHVybnMgdGhlIHN0cmlu
ZyB2YWx1ZSBvZiB0aGlzIFFTY3JpcHRWYWx1ZSwgYXMgZGVmaW5lZCBpbgotICBcbHtFQ01BLTI2
Mn0gc2VjdGlvbiA5LjgsICJUb1N0cmluZyIuCi0KLSAgTm90ZSB0aGF0IGlmIHRoaXMgUVNjcmlw
dFZhbHVlIGlzIGFuIG9iamVjdCwgY2FsbGluZyB0aGlzIGZ1bmN0aW9uCi0gIGhhcyBzaWRlIGVm
ZmVjdHMgb24gdGhlIHNjcmlwdCBlbmdpbmUsIHNpbmNlIHRoZSBlbmdpbmUgd2lsbCBjYWxsCi0g
IHRoZSBvYmplY3QncyB0b1N0cmluZygpIGZ1bmN0aW9uIChhbmQgcG9zc2libHkgdmFsdWVPZigp
KSBpbiBhbgotICBhdHRlbXB0IHRvIGNvbnZlcnQgdGhlIG9iamVjdCB0byBhIHByaW1pdGl2ZSB2
YWx1ZSAocG9zc2libHkKLSAgcmVzdWx0aW5nIGluIGFuIHVuY2F1Z2h0IHNjcmlwdCBleGNlcHRp
b24pLgotCi0gIFxzYSBpc1N0cmluZygpCi0qLwotUVN0cmluZyBRU2NyaXB0VmFsdWU6OnRvU3Ry
aW5nKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPnRvU3RyaW5nKCk7Ci19Ci0KLS8qIQot
ICBSZXR1cm5zIHRoZSBudW1iZXIgdmFsdWUgb2YgdGhpcyBRU2NyaXB0VmFsdWUsIGFzIGRlZmlu
ZWQgaW4KLSAgXGx7RUNNQS0yNjJ9IHNlY3Rpb24gOS4zLCAiVG9OdW1iZXIiLgotCi0gIE5vdGUg
dGhhdCBpZiB0aGlzIFFTY3JpcHRWYWx1ZSBpcyBhbiBvYmplY3QsIGNhbGxpbmcgdGhpcyBmdW5j
dGlvbgotICBoYXMgc2lkZSBlZmZlY3RzIG9uIHRoZSBzY3JpcHQgZW5naW5lLCBzaW5jZSB0aGUg
ZW5naW5lIHdpbGwgY2FsbAotICB0aGUgb2JqZWN0J3MgdmFsdWVPZigpIGZ1bmN0aW9uIChhbmQg
cG9zc2libHkgdG9TdHJpbmcoKSkgaW4gYW4KLSAgYXR0ZW1wdCB0byBjb252ZXJ0IHRoZSBvYmpl
Y3QgdG8gYSBwcmltaXRpdmUgdmFsdWUgKHBvc3NpYmx5Ci0gIHJlc3VsdGluZyBpbiBhbiB1bmNh
dWdodCBzY3JpcHQgZXhjZXB0aW9uKS4KLQotICBcc2EgaXNOdW1iZXIoKSwgdG9JbnRlZ2VyKCks
IHRvSW50MzIoKSwgdG9VSW50MzIoKSwgdG9VSW50MTYoKQotKi8KLXFzcmVhbCBRU2NyaXB0VmFs
dWU6OnRvTnVtYmVyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPnRvTnVtYmVyKCk7Ci19
Ci0KLS8qIQotICBSZXR1cm5zIHRoZSBib29sZWFuIHZhbHVlIG9mIHRoaXMgUVNjcmlwdFZhbHVl
LCB1c2luZyB0aGUgY29udmVyc2lvbgotICBydWxlcyBkZXNjcmliZWQgaW4gXGx7RUNNQS0yNjJ9
IHNlY3Rpb24gOS4yLCAiVG9Cb29sZWFuIi4KLQotICBOb3RlIHRoYXQgaWYgdGhpcyBRU2NyaXB0
VmFsdWUgaXMgYW4gb2JqZWN0LCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24KLSAgaGFzIHNpZGUgZWZm
ZWN0cyBvbiB0aGUgc2NyaXB0IGVuZ2luZSwgc2luY2UgdGhlIGVuZ2luZSB3aWxsIGNhbGwKLSAg
dGhlIG9iamVjdCdzIHZhbHVlT2YoKSBmdW5jdGlvbiAoYW5kIHBvc3NpYmx5IHRvU3RyaW5nKCkp
IGluIGFuCi0gIGF0dGVtcHQgdG8gY29udmVydCB0aGUgb2JqZWN0IHRvIGEgcHJpbWl0aXZlIHZh
bHVlIChwb3NzaWJseQotICByZXN1bHRpbmcgaW4gYW4gdW5jYXVnaHQgc2NyaXB0IGV4Y2VwdGlv
bikuCi0KLSAgXHNhIGlzQm9vbCgpCi0qLwotYm9vbCBRU2NyaXB0VmFsdWU6OnRvQm9vbCgpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT50b0Jvb2woKTsKLX0KLQotLyohCi0gIFxvYnNvbGV0
ZQotCi0gIFVzZSB0b0Jvb2woKSBpbnN0ZWFkLgotKi8KLWJvb2wgUVNjcmlwdFZhbHVlOjp0b0Jv
b2xlYW4oKSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+dG9Cb29sKCk7Ci19Ci0KLS8qIQot
ICBSZXR1cm5zIHRoZSBpbnRlZ2VyIHZhbHVlIG9mIHRoaXMgUVNjcmlwdFZhbHVlLCB1c2luZyB0
aGUgY29udmVyc2lvbgotICBydWxlcyBkZXNjcmliZWQgaW4gXGx7RUNNQS0yNjJ9IHNlY3Rpb24g
OS40LCAiVG9JbnRlZ2VyIi4KLQotICBOb3RlIHRoYXQgaWYgdGhpcyBRU2NyaXB0VmFsdWUgaXMg
YW4gb2JqZWN0LCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24KLSAgaGFzIHNpZGUgZWZmZWN0cyBvbiB0
aGUgc2NyaXB0IGVuZ2luZSwgc2luY2UgdGhlIGVuZ2luZSB3aWxsIGNhbGwKLSAgdGhlIG9iamVj
dCdzIHZhbHVlT2YoKSBmdW5jdGlvbiAoYW5kIHBvc3NpYmx5IHRvU3RyaW5nKCkpIGluIGFuCi0g
IGF0dGVtcHQgdG8gY29udmVydCB0aGUgb2JqZWN0IHRvIGEgcHJpbWl0aXZlIHZhbHVlIChwb3Nz
aWJseQotICByZXN1bHRpbmcgaW4gYW4gdW5jYXVnaHQgc2NyaXB0IGV4Y2VwdGlvbikuCi0KLSAg
XHNhIHRvTnVtYmVyKCkKLSovCi1xc3JlYWwgUVNjcmlwdFZhbHVlOjp0b0ludGVnZXIoKSBjb25z
dAotewotICAgIHJldHVybiBkX3B0ci0+dG9JbnRlZ2VyKCk7Ci19Ci0KLS8qIQotICBSZXR1cm5z
IHRoZSBzaWduZWQgMzItYml0IGludGVnZXIgdmFsdWUgb2YgdGhpcyBRU2NyaXB0VmFsdWUsIHVz
aW5nCi0gIHRoZSBjb252ZXJzaW9uIHJ1bGVzIGRlc2NyaWJlZCBpbiBcbHtFQ01BLTI2Mn0gc2Vj
dGlvbiA5LjUsICJUb0ludDMyIi4KLQotICBOb3RlIHRoYXQgaWYgdGhpcyBRU2NyaXB0VmFsdWUg
aXMgYW4gb2JqZWN0LCBjYWxsaW5nIHRoaXMgZnVuY3Rpb24KLSAgaGFzIHNpZGUgZWZmZWN0cyBv
biB0aGUgc2NyaXB0IGVuZ2luZSwgc2luY2UgdGhlIGVuZ2luZSB3aWxsIGNhbGwKLSAgdGhlIG9i
amVjdCdzIHZhbHVlT2YoKSBmdW5jdGlvbiAoYW5kIHBvc3NpYmx5IHRvU3RyaW5nKCkpIGluIGFu
Ci0gIGF0dGVtcHQgdG8gY29udmVydCB0aGUgb2JqZWN0IHRvIGEgcHJpbWl0aXZlIHZhbHVlIChw
b3NzaWJseQotICByZXN1bHRpbmcgaW4gYW4gdW5jYXVnaHQgc2NyaXB0IGV4Y2VwdGlvbikuCi0K
LSAgXHNhIHRvTnVtYmVyKCksIHRvVUludDMyKCkKLSovCi1xaW50MzIgUVNjcmlwdFZhbHVlOjp0
b0ludDMyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPnRvSW50MzIoKTsKLX0KLQotLyoh
Ci0gIFJldHVybnMgdGhlIHVuc2lnbmVkIDMyLWJpdCBpbnRlZ2VyIHZhbHVlIG9mIHRoaXMgUVNj
cmlwdFZhbHVlLCB1c2luZwotICB0aGUgY29udmVyc2lvbiBydWxlcyBkZXNjcmliZWQgaW4gXGx7
RUNNQS0yNjJ9IHNlY3Rpb24gOS42LCAiVG9VaW50MzIiLgotCi0gIE5vdGUgdGhhdCBpZiB0aGlz
IFFTY3JpcHRWYWx1ZSBpcyBhbiBvYmplY3QsIGNhbGxpbmcgdGhpcyBmdW5jdGlvbgotICBoYXMg
c2lkZSBlZmZlY3RzIG9uIHRoZSBzY3JpcHQgZW5naW5lLCBzaW5jZSB0aGUgZW5naW5lIHdpbGwg
Y2FsbAotICB0aGUgb2JqZWN0J3MgdmFsdWVPZigpIGZ1bmN0aW9uIChhbmQgcG9zc2libHkgdG9T
dHJpbmcoKSkgaW4gYW4KLSAgYXR0ZW1wdCB0byBjb252ZXJ0IHRoZSBvYmplY3QgdG8gYSBwcmlt
aXRpdmUgdmFsdWUgKHBvc3NpYmx5Ci0gIHJlc3VsdGluZyBpbiBhbiB1bmNhdWdodCBzY3JpcHQg
ZXhjZXB0aW9uKS4KLQotICBcc2EgdG9OdW1iZXIoKSwgdG9JbnQzMigpCi0qLwotcXVpbnQzMiBR
U2NyaXB0VmFsdWU6OnRvVUludDMyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPnRvVUlu
dDMyKCk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRoZSB1bnNpZ25lZCAxNi1iaXQgaW50ZWdlciB2
YWx1ZSBvZiB0aGlzIFFTY3JpcHRWYWx1ZSwgdXNpbmcKLSAgdGhlIGNvbnZlcnNpb24gcnVsZXMg
ZGVzY3JpYmVkIGluIFxse0VDTUEtMjYyfSBzZWN0aW9uIDkuNywgIlRvVWludDE2Ii4KLQotICBO
b3RlIHRoYXQgaWYgdGhpcyBRU2NyaXB0VmFsdWUgaXMgYW4gb2JqZWN0LCBjYWxsaW5nIHRoaXMg
ZnVuY3Rpb24KLSAgaGFzIHNpZGUgZWZmZWN0cyBvbiB0aGUgc2NyaXB0IGVuZ2luZSwgc2luY2Ug
dGhlIGVuZ2luZSB3aWxsIGNhbGwKLSAgdGhlIG9iamVjdCdzIHZhbHVlT2YoKSBmdW5jdGlvbiAo
YW5kIHBvc3NpYmx5IHRvU3RyaW5nKCkpIGluIGFuCi0gIGF0dGVtcHQgdG8gY29udmVydCB0aGUg
b2JqZWN0IHRvIGEgcHJpbWl0aXZlIHZhbHVlIChwb3NzaWJseQotICByZXN1bHRpbmcgaW4gYW4g
dW5jYXVnaHQgc2NyaXB0IGV4Y2VwdGlvbikuCi0KLSAgXHNhIHRvTnVtYmVyKCkKLSovCi1xdWlu
dDE2IFFTY3JpcHRWYWx1ZTo6dG9VSW50MTYoKSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+
dG9VSW50MTYoKTsKLX0KLQotLyohCi0gIFxvYnNvbGV0ZQotCi0gIFRoaXMgZnVuY3Rpb24gaXMg
b2Jzb2xldGU7IHVzZSBRU2NyaXB0RW5naW5lOjp0b09iamVjdCgpIGluc3RlYWQuCi0qLwotUVNj
cmlwdFZhbHVlIFFTY3JpcHRWYWx1ZTo6dG9PYmplY3QoKSBjb25zdAotewotICAgIHJldHVybiBR
U2NyaXB0VmFsdWVQcml2YXRlOjpnZXQoZF9wdHItPnRvT2JqZWN0KCkpOwotfQotCi0vKiEKLSAg
ICBSZXR1cm5zIGEgUURhdGVUaW1lIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgdmFsdWUsIGluIGxv
Y2FsIHRpbWUuCi0gICAgSWYgdGhpcyBRU2NyaXB0VmFsdWUgaXMgbm90IGEgZGF0ZSwgb3IgdGhl
IHZhbHVlIG9mIHRoZSBkYXRlIGlzCi0gICAgTmFOIChOb3QtYS1OdW1iZXIpLCBhbiBpbnZhbGlk
IFFEYXRlVGltZSBpcyByZXR1cm5lZC4KLQotICAgIFxzYSBpc0RhdGUoKQotKi8KLVFEYXRlVGlt
ZSBRU2NyaXB0VmFsdWU6OnRvRGF0ZVRpbWUoKSBjb25zdAotewotICAgIHJldHVybiBkX3B0ci0+
dG9EYXRlVGltZSgpOwotfQotCi0vKiEKLSAgQ2FsbHMgdGhpcyBRU2NyaXB0VmFsdWUgYXMgYSBm
dW5jdGlvbiwgdXNpbmcgXGEgdGhpc09iamVjdCBhcwotICB0aGUgYHRoaXMnIG9iamVjdCBpbiB0
aGUgZnVuY3Rpb24gY2FsbCwgYW5kIHBhc3NpbmcgXGEgYXJncwotICBhcyBhcmd1bWVudHMgdG8g
dGhlIGZ1bmN0aW9uLiBSZXR1cm5zIHRoZSB2YWx1ZSByZXR1cm5lZCBmcm9tCi0gIHRoZSBmdW5j
dGlvbi4KLQotICBJZiB0aGlzIFFTY3JpcHRWYWx1ZSBpcyBub3QgYSBmdW5jdGlvbiwgY2FsbCgp
IGRvZXMgbm90aGluZwotICBhbmQgcmV0dXJucyBhbiBpbnZhbGlkIFFTY3JpcHRWYWx1ZS4KLQot
ICBOb3RlIHRoYXQgaWYgXGEgdGhpc09iamVjdCBpcyBub3QgYW4gb2JqZWN0LCB0aGUgZ2xvYmFs
IG9iamVjdAotICAoc2VlIFxse1FTY3JpcHRFbmdpbmU6Omdsb2JhbE9iamVjdCgpfSkgd2lsbCBi
ZSB1c2VkIGFzIHRoZQotICBgdGhpcycgb2JqZWN0LgotCi0gIENhbGxpbmcgY2FsbCgpIGNhbiBj
YXVzZSBhbiBleGNlcHRpb24gdG8gb2NjdXIgaW4gdGhlIHNjcmlwdCBlbmdpbmU7Ci0gIGluIHRo
YXQgY2FzZSwgY2FsbCgpIHJldHVybnMgdGhlIHZhbHVlIHRoYXQgd2FzIHRocm93biAodHlwaWNh
bGx5IGFuCi0gIFxje0Vycm9yfSBvYmplY3QpLiBZb3UgY2FuIGNhbGwKLSAgUVNjcmlwdEVuZ2lu
ZTo6aGFzVW5jYXVnaHRFeGNlcHRpb24oKSB0byBkZXRlcm1pbmUgaWYgYW4gZXhjZXB0aW9uCi0g
IG9jY3VycmVkLgotCi0gIFxzbmlwcGV0IGRvYy9zcmMvc25pcHBldHMvY29kZS9zcmNfc2NyaXB0
X3FzY3JpcHR2YWx1ZS5jcHAgMgotCi0gIFxzYSBjb25zdHJ1Y3QoKQotKi8KLVFTY3JpcHRWYWx1
ZSBRU2NyaXB0VmFsdWU6OmNhbGwoY29uc3QgUVNjcmlwdFZhbHVlJiB0aGlzT2JqZWN0LCBjb25z
dCBRU2NyaXB0VmFsdWVMaXN0JiBhcmdzKQotewotICAgIHJldHVybiBkX3B0ci0+Y2FsbCh0aGlz
T2JqZWN0LmRfcHRyLmRhdGEoKSwgYXJncyk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRoZSBRU2Ny
aXB0RW5naW5lIHRoYXQgY3JlYXRlZCB0aGlzIFFTY3JpcHRWYWx1ZSwKLSAgb3IgMCBpZiB0aGlz
IFFTY3JpcHRWYWx1ZSBpcyBpbnZhbGlkIG9yIHRoZSB2YWx1ZSBpcyBub3QKLSAgYXNzb2NpYXRl
ZCB3aXRoIGEgcGFydGljdWxhciBlbmdpbmUuCi0qLwotUVNjcmlwdEVuZ2luZSogUVNjcmlwdFZh
bHVlOjplbmdpbmUoKSBjb25zdAotewotICAgIFFTY3JpcHRFbmdpbmVQcml2YXRlKiBlbmdpbmUg
PSBkX3B0ci0+ZW5naW5lKCk7Ci0gICAgaWYgKGVuZ2luZSkKLSAgICAgICAgcmV0dXJuIFFTY3Jp
cHRFbmdpbmVQcml2YXRlOjpnZXQoZW5naW5lKTsKLSAgICByZXR1cm4gMDsKLX0KLQotLyohCi0g
IElmIHRoaXMgUVNjcmlwdFZhbHVlIGlzIGFuIG9iamVjdCwgcmV0dXJucyB0aGUgaW50ZXJuYWwg
cHJvdG90eXBlCi0gIChcY3tfX3Byb3RvX199IHByb3BlcnR5KSBvZiB0aGlzIG9iamVjdDsgb3Ro
ZXJ3aXNlIHJldHVybnMgYW4KLSAgaW52YWxpZCBRU2NyaXB0VmFsdWUuCi0KLSAgXHNhIHNldFBy
b3RvdHlwZSgpLCBpc09iamVjdCgpCi0qLwotUVNjcmlwdFZhbHVlIFFTY3JpcHRWYWx1ZTo6cHJv
dG90eXBlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KGRf
cHRyLT5wcm90b3R5cGUoKSk7Ci19Ci0KLS8qIQotICBJZiB0aGlzIFFTY3JpcHRWYWx1ZSBpcyBh
biBvYmplY3QsIHNldHMgdGhlIGludGVybmFsIHByb3RvdHlwZQotICAoXGN7X19wcm90b19ffSBw
cm9wZXJ0eSkgb2YgdGhpcyBvYmplY3QgdG8gYmUgXGEgcHJvdG90eXBlOwotICBvdGhlcndpc2Ug
ZG9lcyBub3RoaW5nLgotCi0gIFRoZSBpbnRlcm5hbCBwcm90b3R5cGUgc2hvdWxkIG5vdCBiZSBj
b25mdXNlZCB3aXRoIHRoZSBwdWJsaWMKLSAgcHJvcGVydHkgd2l0aCBuYW1lICJwcm90b3R5cGUi
OyB0aGUgcHVibGljIHByb3RvdHlwZSBpcyB1c3VhbGx5Ci0gIG9ubHkgc2V0IG9uIGZ1bmN0aW9u
cyB0aGF0IGFjdCBhcyBjb25zdHJ1Y3RvcnMuCi0KLSAgXHNhIHByb3RvdHlwZSgpLCBpc09iamVj
dCgpCi0qLwotdm9pZCBRU2NyaXB0VmFsdWU6OnNldFByb3RvdHlwZShjb25zdCBRU2NyaXB0VmFs
dWUmIHByb3RvdHlwZSkKLXsKLSAgICBkX3B0ci0+c2V0UHJvdG90eXBlKFFTY3JpcHRWYWx1ZVBy
aXZhdGU6OmdldChwcm90b3R5cGUpKTsKLX0KLQotLyohCi0gIEFzc2lnbnMgdGhlIFxhIG90aGVy
IHZhbHVlIHRvIHRoaXMgUVNjcmlwdFZhbHVlLgotCi0gIE5vdGUgdGhhdCBpZiBcYSBvdGhlciBp
cyBhbiBvYmplY3QgKGlzT2JqZWN0KCkgcmV0dXJucyB0cnVlKSwKLSAgb25seSBhIHJlZmVyZW5j
ZSB0byB0aGUgdW5kZXJseWluZyBvYmplY3Qgd2lsbCBiZSBhc3NpZ25lZDsKLSAgdGhlIG9iamVj
dCBpdHNlbGYgd2lsbCBub3QgYmUgY29waWVkLgotKi8KLVFTY3JpcHRWYWx1ZSYgUVNjcmlwdFZh
bHVlOjpvcGVyYXRvcj0oY29uc3QgUVNjcmlwdFZhbHVlJiBvdGhlcikKLXsKLSAgICBkX3B0ciA9
IG90aGVyLmRfcHRyOwotICAgIHJldHVybiAqdGhpczsKLX0KLQotLyohCi0gIFJldHVybnMgdHJ1
ZSBpZiB0aGlzIFFTY3JpcHRWYWx1ZSBpcyBlcXVhbCB0byBcYSBvdGhlciwgb3RoZXJ3aXNlCi0g
IHJldHVybnMgZmFsc2UuIFRoZSBjb21wYXJpc29uIGZvbGxvd3MgdGhlIGJlaGF2aW9yIGRlc2Ny
aWJlZCBpbgotICBcbHtFQ01BLTI2Mn0gc2VjdGlvbiAxMS45LjMsICJUaGUgQWJzdHJhY3QgRXF1
YWxpdHkgQ29tcGFyaXNvbgotICBBbGdvcml0aG0iLgotCi0gIFRoaXMgZnVuY3Rpb24gY2FuIHJl
dHVybiB0cnVlIGV2ZW4gaWYgdGhlIHR5cGUgb2YgdGhpcyBRU2NyaXB0VmFsdWUKLSAgaXMgZGlm
ZmVyZW50IGZyb20gdGhlIHR5cGUgb2YgdGhlIFxhIG90aGVyIHZhbHVlOyBpLmUuIHRoZQotICBj
b21wYXJpc29uIGlzIG5vdCBzdHJpY3QuICBGb3IgZXhhbXBsZSwgY29tcGFyaW5nIHRoZSBudW1i
ZXIgOSB0bwotICB0aGUgc3RyaW5nICI5IiByZXR1cm5zIHRydWU7IGNvbXBhcmluZyBhbiB1bmRl
ZmluZWQgdmFsdWUgdG8gYSBudWxsCi0gIHZhbHVlIHJldHVybnMgdHJ1ZTsgY29tcGFyaW5nIGEg
XGN7TnVtYmVyfSBvYmplY3Qgd2hvc2UgcHJpbWl0aXZlCi0gIHZhbHVlIGlzIDYgdG8gYSBcY3tT
dHJpbmd9IG9iamVjdCB3aG9zZSBwcmltaXRpdmUgdmFsdWUgaXMgIjYiCi0gIHJldHVybnMgdHJ1
ZTsgYW5kIGNvbXBhcmluZyB0aGUgbnVtYmVyIDEgdG8gdGhlIGJvb2xlYW4gdmFsdWUKLSAgXGN7
dHJ1ZX0gcmV0dXJucyB0cnVlLiBJZiB5b3Ugd2FudCB0byBwZXJmb3JtIGEgY29tcGFyaXNvbgot
ICB3aXRob3V0IHN1Y2ggaW1wbGljaXQgdmFsdWUgY29udmVyc2lvbiwgdXNlIHN0cmljdGx5RXF1
YWxzKCkuCi0KLSAgTm90ZSB0aGF0IGlmIHRoaXMgUVNjcmlwdFZhbHVlIG9yIHRoZSBcYSBvdGhl
ciB2YWx1ZSBhcmUgb2JqZWN0cywKLSAgY2FsbGluZyB0aGlzIGZ1bmN0aW9uIGhhcyBzaWRlIGVm
ZmVjdHMgb24gdGhlIHNjcmlwdCBlbmdpbmUsIHNpbmNlCi0gIHRoZSBlbmdpbmUgd2lsbCBjYWxs
IHRoZSBvYmplY3QncyB2YWx1ZU9mKCkgZnVuY3Rpb24gKGFuZCBwb3NzaWJseQotICB0b1N0cmlu
ZygpKSBpbiBhbiBhdHRlbXB0IHRvIGNvbnZlcnQgdGhlIG9iamVjdCB0byBhIHByaW1pdGl2ZSB2
YWx1ZQotICAocG9zc2libHkgcmVzdWx0aW5nIGluIGFuIHVuY2F1Z2h0IHNjcmlwdCBleGNlcHRp
b24pLgotCi0gIFxzYSBzdHJpY3RseUVxdWFscygpLCBsZXNzVGhhbigpCi0qLwotYm9vbCBRU2Ny
aXB0VmFsdWU6OmVxdWFscyhjb25zdCBRU2NyaXB0VmFsdWUmIG90aGVyKSBjb25zdAotewotICAg
IHJldHVybiBkX3B0ci0+ZXF1YWxzKFFTY3JpcHRWYWx1ZVByaXZhdGU6OmdldChvdGhlcikpOwot
fQotCi0vKiEKLSAgUmV0dXJucyB0cnVlIGlmIHRoaXMgUVNjcmlwdFZhbHVlIGlzIGVxdWFsIHRv
IFxhIG90aGVyIHVzaW5nIHN0cmljdAotICBjb21wYXJpc29uIChubyBjb252ZXJzaW9uKSwgb3Ro
ZXJ3aXNlIHJldHVybnMgZmFsc2UuIFRoZSBjb21wYXJpc29uCi0gIGZvbGxvd3MgdGhlIGJlaGF2
aW9yIGRlc2NyaWJlZCBpbiBcbHtFQ01BLTI2Mn0gc2VjdGlvbiAxMS45LjYsICJUaGUKLSAgU3Ry
aWN0IEVxdWFsaXR5IENvbXBhcmlzb24gQWxnb3JpdGhtIi4KLQotICBJZiB0aGUgdHlwZSBvZiB0
aGlzIFFTY3JpcHRWYWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgdHlwZSBvZiB0aGUKLSAgXGEg
b3RoZXIgdmFsdWUsIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBmYWxzZS4gSWYgdGhlIHR5cGVzIGFy
ZSBlcXVhbCwKLSAgdGhlIHJlc3VsdCBkZXBlbmRzIG9uIHRoZSB0eXBlLCBhcyBzaG93biBpbiB0
aGUgZm9sbG93aW5nIHRhYmxlOgotCi0gICAgXHRhYmxlCi0gICAgXGhlYWRlciBcbyBUeXBlIFxv
IFJlc3VsdAotICAgIFxyb3cgICAgXG8gVW5kZWZpbmVkICBcbyB0cnVlCi0gICAgXHJvdyAgICBc
byBOdWxsICAgICAgIFxvIHRydWUKLSAgICBccm93ICAgIFxvIEJvb2xlYW4gICAgXG8gdHJ1ZSBp
ZiBib3RoIHZhbHVlcyBhcmUgdHJ1ZSwgZmFsc2Ugb3RoZXJ3aXNlCi0gICAgXHJvdyAgICBcbyBO
dW1iZXIgICAgIFxvIGZhbHNlIGlmIGVpdGhlciB2YWx1ZSBpcyBOYU4gKE5vdC1hLU51bWJlcik7
IHRydWUgaWYgdmFsdWVzIGFyZSBlcXVhbCwgZmFsc2Ugb3RoZXJ3aXNlCi0gICAgXHJvdyAgICBc
byBTdHJpbmcgICAgIFxvIHRydWUgaWYgYm90aCB2YWx1ZXMgYXJlIGV4YWN0bHkgdGhlIHNhbWUg
c2VxdWVuY2Ugb2YgY2hhcmFjdGVycywgZmFsc2Ugb3RoZXJ3aXNlCi0gICAgXHJvdyAgICBcbyBP
YmplY3QgICAgIFxvIHRydWUgaWYgYm90aCB2YWx1ZXMgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0
LCBmYWxzZSBvdGhlcndpc2UKLSAgICBcZW5kdGFibGUKLQotICBcc2EgZXF1YWxzKCkKLSovCi1i
b29sIFFTY3JpcHRWYWx1ZTo6c3RyaWN0bHlFcXVhbHMoY29uc3QgUVNjcmlwdFZhbHVlJiBvdGhl
cikgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPnN0cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1
ZVByaXZhdGU6OmdldChvdGhlcikpOwotfQotCi0vKiEKLSAgICBSZXR1cm5zIHRydWUgaWYgdGhp
cyBRU2NyaXB0VmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2YKLSAgICBcYSBvdGhlcjsgb3RoZXJ3aXNl
IHJldHVybnMgZmFsc2UuCi0KLSAgICBUaGlzIFFTY3JpcHRWYWx1ZSBpcyBjb25zaWRlcmVkIHRv
IGJlIGFuIGluc3RhbmNlIG9mIFxhIG90aGVyIGlmCi0gICAgXGEgb3RoZXIgaXMgYSBmdW5jdGlv
biBhbmQgdGhlIHZhbHVlIG9mIHRoZSBcY3twcm90b3R5cGV9Ci0gICAgcHJvcGVydHkgb2YgXGEg
b3RoZXIgaXMgaW4gdGhlIHByb3RvdHlwZSBjaGFpbiBvZiB0aGlzCi0gICAgUVNjcmlwdFZhbHVl
LgotKi8KLWJvb2wgUVNjcmlwdFZhbHVlOjppbnN0YW5jZU9mKGNvbnN0IFFTY3JpcHRWYWx1ZSYg
b3RoZXIpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5pbnN0YW5jZU9mKFFTY3JpcHRWYWx1
ZVByaXZhdGU6OmdldChvdGhlcikpOwotfQotCi0vKiEKLSAgUmV0dXJucyB0aGUgdmFsdWUgb2Yg
dGhpcyBRU2NyaXB0VmFsdWUncyBwcm9wZXJ0eSB3aXRoIHRoZSBnaXZlbiBcYSBuYW1lLAotICB1
c2luZyB0aGUgZ2l2ZW4gXGEgbW9kZSB0byByZXNvbHZlIHRoZSBwcm9wZXJ0eS4KLQotICBJZiBu
byBzdWNoIHByb3BlcnR5IGV4aXN0cywgYW4gaW52YWxpZCBRU2NyaXB0VmFsdWUgaXMgcmV0dXJu
ZWQuCi0KLSAgSWYgdGhlIHByb3BlcnR5IGlzIGltcGxlbWVudGVkIHVzaW5nIGEgZ2V0dGVyIGZ1
bmN0aW9uIChpLmUuIGhhcyB0aGUKLSAgUHJvcGVydHlHZXR0ZXIgZmxhZyBzZXQpLCBjYWxsaW5n
IHByb3BlcnR5KCkgaGFzIHNpZGUtZWZmZWN0cyBvbiB0aGUKLSAgc2NyaXB0IGVuZ2luZSwgc2lu
Y2UgdGhlIGdldHRlciBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCAocG9zc2libHkKLSAgcmVzdWx0
aW5nIGluIGFuIHVuY2F1Z2h0IHNjcmlwdCBleGNlcHRpb24pLiBJZiBhbiBleGNlcHRpb24KLSAg
b2NjdXJyZWQsIHByb3BlcnR5KCkgcmV0dXJucyB0aGUgdmFsdWUgdGhhdCB3YXMgdGhyb3duICh0
eXBpY2FsbHkKLSAgYW4gXGN7RXJyb3J9IG9iamVjdCkuCi0KLSAgXHNhIHNldFByb3BlcnR5KCks
IHByb3BlcnR5RmxhZ3MoKSwgUVNjcmlwdFZhbHVlSXRlcmF0b3IKLSovCi1RU2NyaXB0VmFsdWUg
UVNjcmlwdFZhbHVlOjpwcm9wZXJ0eShjb25zdCBRU3RyaW5nJiBuYW1lLCBjb25zdCBSZXNvbHZl
RmxhZ3MmIG1vZGUpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFFTY3JpcHRWYWx1ZVByaXZhdGU6Omdl
dChkX3B0ci0+cHJvcGVydHkobmFtZSwgbW9kZSkpOwotfQotCi0vKiEKLSAgXG92ZXJsb2FkCi0K
LSAgUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhpcyBRU2NyaXB0VmFsdWUncyBwcm9wZXJ0eSB3aXRo
IHRoZSBnaXZlbiBcYSBuYW1lLAotICB1c2luZyB0aGUgZ2l2ZW4gXGEgbW9kZSB0byByZXNvbHZl
IHRoZSBwcm9wZXJ0eS4KLQotICBUaGlzIG92ZXJsb2FkIG9mIHByb3BlcnR5KCkgaXMgdXNlZnVs
IHdoZW4geW91IG5lZWQgdG8gbG9vayB1cCB0aGUKLSAgc2FtZSBwcm9wZXJ0eSByZXBlYXRlZGx5
LCBzaW5jZSB0aGUgbG9va3VwIGNhbiBiZSBwZXJmb3JtZWQgZmFzdGVyCi0gIHdoZW4gdGhlIG5h
bWUgaXMgcmVwcmVzZW50ZWQgYXMgYW4gaW50ZXJuZWQgc3RyaW5nLgotCi0gIFxzYSBRU2NyaXB0
RW5naW5lOjp0b1N0cmluZ0hhbmRsZSgpLCBzZXRQcm9wZXJ0eSgpCi0qLwotUVNjcmlwdFZhbHVl
IFFTY3JpcHRWYWx1ZTo6cHJvcGVydHkoY29uc3QgUVNjcmlwdFN0cmluZyYgbmFtZSwgY29uc3Qg
UmVzb2x2ZUZsYWdzJiBtb2RlKSBjb25zdAotewotICAgIHJldHVybiBRU2NyaXB0VmFsdWVQcml2
YXRlOjpnZXQoZF9wdHItPnByb3BlcnR5KFFTY3JpcHRTdHJpbmdQcml2YXRlOjpnZXQobmFtZSku
Y29uc3REYXRhKCksIG1vZGUpKTsKLX0KLQotLyohCi0gIFxvdmVybG9hZAotCi0gIFJldHVybnMg
dGhlIHByb3BlcnR5IGF0IHRoZSBnaXZlbiBcYSBhcnJheUluZGV4LCB1c2luZyB0aGUgZ2l2ZW4g
XGEKLSAgbW9kZSB0byByZXNvbHZlIHRoZSBwcm9wZXJ0eS4KLQotICBUaGlzIGZ1bmN0aW9uIGlz
IHByb3ZpZGVkIGZvciBjb252ZW5pZW5jZSBhbmQgcGVyZm9ybWFuY2Ugd2hlbgotICB3b3JraW5n
IHdpdGggYXJyYXkgb2JqZWN0cy4KLQotICBJZiB0aGlzIFFTY3JpcHRWYWx1ZSBpcyBub3QgYW4g
QXJyYXkgb2JqZWN0LCB0aGlzIGZ1bmN0aW9uIGJlaGF2ZXMKLSAgYXMgaWYgcHJvcGVydHkoKSB3
YXMgY2FsbGVkIHdpdGggdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBcYQotICBhcnJheUlu
ZGV4LgotKi8KLVFTY3JpcHRWYWx1ZSBRU2NyaXB0VmFsdWU6OnByb3BlcnR5KHF1aW50MzIgYXJy
YXlJbmRleCwgY29uc3QgUmVzb2x2ZUZsYWdzJiBtb2RlKSBjb25zdAotewotICAgIHJldHVybiBR
U2NyaXB0VmFsdWVQcml2YXRlOjpnZXQoZF9wdHItPnByb3BlcnR5KGFycmF5SW5kZXgsIG1vZGUp
KTsKLX0KLQotLyohCi0gIFNldHMgdGhlIHZhbHVlIG9mIHRoaXMgUVNjcmlwdFZhbHVlJ3MgcHJv
cGVydHkgd2l0aCB0aGUgZ2l2ZW4gXGEgbmFtZSB0bwotICB0aGUgZ2l2ZW4gXGEgdmFsdWUuCi0K
LSAgSWYgdGhpcyBRU2NyaXB0VmFsdWUgaXMgbm90IGFuIG9iamVjdCwgdGhpcyBmdW5jdGlvbiBk
b2VzIG5vdGhpbmcuCi0KLSAgSWYgdGhpcyBRU2NyaXB0VmFsdWUgZG9lcyBub3QgYWxyZWFkeSBo
YXZlIGEgcHJvcGVydHkgd2l0aCBuYW1lIFxhIG5hbWUsCi0gIGEgbmV3IHByb3BlcnR5IGlzIGNy
ZWF0ZWQ7IHRoZSBnaXZlbiBcYSBmbGFncyB0aGVuIHNwZWNpZnkgaG93IHRoaXMKLSAgcHJvcGVy
dHkgbWF5IGJlIGFjY2Vzc2VkIGJ5IHNjcmlwdCBjb2RlLgotCi0gIElmIFxhIHZhbHVlIGlzIGlu
dmFsaWQsIHRoZSBwcm9wZXJ0eSBpcyByZW1vdmVkLgotCi0gIElmIHRoZSBwcm9wZXJ0eSBpcyBp
bXBsZW1lbnRlZCB1c2luZyBhIHNldHRlciBmdW5jdGlvbiAoaS5lLiBoYXMgdGhlCi0gIFByb3Bl
cnR5U2V0dGVyIGZsYWcgc2V0KSwgY2FsbGluZyBzZXRQcm9wZXJ0eSgpIGhhcyBzaWRlLWVmZmVj
dHMgb24KLSAgdGhlIHNjcmlwdCBlbmdpbmUsIHNpbmNlIHRoZSBzZXR0ZXIgZnVuY3Rpb24gd2ls
bCBiZSBjYWxsZWQgd2l0aCB0aGUKLSAgZ2l2ZW4gXGEgdmFsdWUgYXMgYXJndW1lbnQgKHBvc3Np
Ymx5IHJlc3VsdGluZyBpbiBhbiB1bmNhdWdodCBzY3JpcHQKLSAgZXhjZXB0aW9uKS4KLQotICBO
b3RlIHRoYXQgeW91IGNhbm5vdCBzcGVjaWZ5IGN1c3RvbSBnZXR0ZXIgb3Igc2V0dGVyIGZ1bmN0
aW9ucyBmb3IKLSAgYnVpbHQtaW4gcHJvcGVydGllcywgc3VjaCBhcyB0aGUgXGN7bGVuZ3RofSBw
cm9wZXJ0eSBvZiBBcnJheSBvYmplY3RzCi0gIG9yIG1ldGEgcHJvcGVydGllcyBvZiBRT2JqZWN0
IG9iamVjdHMuCi0KLSAgXHNhIHByb3BlcnR5KCkKLSovCi12b2lkIFFTY3JpcHRWYWx1ZTo6c2V0
UHJvcGVydHkoY29uc3QgUVN0cmluZyYgbmFtZSwgY29uc3QgUVNjcmlwdFZhbHVlJiB2YWx1ZSwg
Y29uc3QgUHJvcGVydHlGbGFncyYgZmxhZ3MpCi17Ci0gICAgZF9wdHItPnNldFByb3BlcnR5KG5h
bWUsIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmdldCh2YWx1ZSksIGZsYWdzKTsKLX0KLQotLyohCi0g
IFxvdmVybG9hZAotCi0gIFNldHMgdGhlIHByb3BlcnR5IGF0IHRoZSBnaXZlbiBcYSBhcnJheUlu
ZGV4IHRvIHRoZSBnaXZlbiBcYSB2YWx1ZS4KLQotICBUaGlzIGZ1bmN0aW9uIGlzIHByb3ZpZGVk
IGZvciBjb252ZW5pZW5jZSBhbmQgcGVyZm9ybWFuY2Ugd2hlbgotICB3b3JraW5nIHdpdGggYXJy
YXkgb2JqZWN0cy4KLQotICBJZiB0aGlzIFFTY3JpcHRWYWx1ZSBpcyBub3QgYW4gQXJyYXkgb2Jq
ZWN0LCB0aGlzIGZ1bmN0aW9uIGJlaGF2ZXMKLSAgYXMgaWYgc2V0UHJvcGVydHkoKSB3YXMgY2Fs
bGVkIHdpdGggdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBcYQotICBhcnJheUluZGV4Lgot
Ki8KLXZvaWQgUVNjcmlwdFZhbHVlOjpzZXRQcm9wZXJ0eShxdWludDMyIGFycmF5SW5kZXgsIGNv
bnN0IFFTY3JpcHRWYWx1ZSYgdmFsdWUsIGNvbnN0IFByb3BlcnR5RmxhZ3MmIGZsYWdzKQotewot
ICAgIGRfcHRyLT5zZXRQcm9wZXJ0eShhcnJheUluZGV4LCBRU2NyaXB0VmFsdWVQcml2YXRlOjpn
ZXQodmFsdWUpLCBmbGFncyk7Ci19Ci0KLS8qIQotICBTZXRzIHRoZSB2YWx1ZSBvZiB0aGlzIFFT
Y3JpcHRWYWx1ZSdzIHByb3BlcnR5IHdpdGggdGhlIGdpdmVuIFxhCi0gIG5hbWUgdG8gdGhlIGdp
dmVuIFxhIHZhbHVlLiBUaGUgZ2l2ZW4gXGEgZmxhZ3Mgc3BlY2lmeSBob3cgdGhpcwotICBwcm9w
ZXJ0eSBtYXkgYmUgYWNjZXNzZWQgYnkgc2NyaXB0IGNvZGUuCi0KLSAgVGhpcyBvdmVybG9hZCBv
ZiBzZXRQcm9wZXJ0eSgpIGlzIHVzZWZ1bCB3aGVuIHlvdSBuZWVkIHRvIHNldCB0aGUKLSAgc2Ft
ZSBwcm9wZXJ0eSByZXBlYXRlZGx5LCBzaW5jZSB0aGUgb3BlcmF0aW9uIGNhbiBiZSBwZXJmb3Jt
ZWQKLSAgZmFzdGVyIHdoZW4gdGhlIG5hbWUgaXMgcmVwcmVzZW50ZWQgYXMgYW4gaW50ZXJuZWQg
c3RyaW5nLgotCi0gIFxzYSBRU2NyaXB0RW5naW5lOjp0b1N0cmluZ0hhbmRsZSgpCi0qLwotdm9p
ZCBRU2NyaXB0VmFsdWU6OnNldFByb3BlcnR5KGNvbnN0IFFTY3JpcHRTdHJpbmcmIG5hbWUsIGNv
bnN0IFFTY3JpcHRWYWx1ZSYgdmFsdWUsIGNvbnN0IFByb3BlcnR5RmxhZ3MmIGZsYWdzKQotewot
ICAgIGRfcHRyLT5zZXRQcm9wZXJ0eShRU2NyaXB0U3RyaW5nUHJpdmF0ZTo6Z2V0KG5hbWUpLmNv
bnN0RGF0YSgpLCBRU2NyaXB0VmFsdWVQcml2YXRlOjpnZXQodmFsdWUpLCBmbGFncyk7Ci19Ci0K
LS8qIQotICBSZXR1cm5zIHRoZSBmbGFncyBvZiB0aGUgcHJvcGVydHkgd2l0aCB0aGUgZ2l2ZW4g
XGEgbmFtZSwgdXNpbmcgdGhlCi0gIGdpdmVuIFxhIG1vZGUgdG8gcmVzb2x2ZSB0aGUgcHJvcGVy
dHkuCi0KLSAgXHNhIHByb3BlcnR5KCkKLSovCi1RU2NyaXB0VmFsdWU6OlByb3BlcnR5RmxhZ3Mg
UVNjcmlwdFZhbHVlOjpwcm9wZXJ0eUZsYWdzKGNvbnN0IFFTdHJpbmcmIG5hbWUsIGNvbnN0IFJl
c29sdmVGbGFncyYgbW9kZSkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPnByb3BlcnR5Rmxh
Z3MobmFtZSwgbW9kZSk7Ci19Ci0KLS8qIQotICBSZXR1cm5zIHRoZSBmbGFncyBvZiB0aGUgcHJv
cGVydHkgd2l0aCB0aGUgZ2l2ZW4gXGEgbmFtZSwgdXNpbmcgdGhlCi0gIGdpdmVuIFxhIG1vZGUg
dG8gcmVzb2x2ZSB0aGUgcHJvcGVydHkuCi0KLSAgXHNhIHByb3BlcnR5KCkKLSovCi1RU2NyaXB0
VmFsdWU6OlByb3BlcnR5RmxhZ3MgUVNjcmlwdFZhbHVlOjpwcm9wZXJ0eUZsYWdzKGNvbnN0IFFT
Y3JpcHRTdHJpbmcmIG5hbWUsIGNvbnN0IFJlc29sdmVGbGFncyYgbW9kZSkgY29uc3QKLXsKLSAg
ICByZXR1cm4gZF9wdHItPnByb3BlcnR5RmxhZ3MoUVNjcmlwdFN0cmluZ1ByaXZhdGU6OmdldChu
YW1lKS5jb25zdERhdGEoKSwgbW9kZSk7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcXQvYXBpL3FzY3JpcHR2YWx1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2Fw
aS9xc2NyaXB0dmFsdWUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmQzMzg0OWJl
NjRhOTEyZjNmZjg5MWY2ZTQwNzlhY2RlY2IzNWVhNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3Jp
cHR2YWx1ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTQwICswLDAgQEAKLS8qCi0gICAgQ29weXJp
Z2h0IChDKSAyMDA5IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVz
KQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
Ci0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
LSovCi0KLSNpZm5kZWYgcXNjcmlwdHZhbHVlX2gKLSNkZWZpbmUgcXNjcmlwdHZhbHVlX2gKLQot
I2luY2x1ZGUgInFzY3JpcHRzdHJpbmcuaCIKLSNpbmNsdWRlIDxRdENvcmUvcWxpc3QuaD4KLSNp
bmNsdWRlIDxRdENvcmUvcXNoYXJlZGRhdGEuaD4KLQotY2xhc3MgUVNjcmlwdEVuZ2luZTsKLWNs
YXNzIFFTY3JpcHRWYWx1ZVByaXZhdGU7Ci1jbGFzcyBRRGF0ZVRpbWU7Ci0KLWNsYXNzIFFTY3Jp
cHRWYWx1ZTsKLXR5cGVkZWYgUUxpc3Q8UVNjcmlwdFZhbHVlPiBRU2NyaXB0VmFsdWVMaXN0Owot
Ci10eXBlZGVmIGRvdWJsZSBxc3JlYWw7Ci0KLWNsYXNzIFFTY3JpcHRWYWx1ZSB7Ci1wdWJsaWM6
Ci0gICAgZW51bSBSZXNvbHZlRmxhZyB7Ci0gICAgICAgIFJlc29sdmVMb2NhbCAgICAgICAgPSAw
eDAwLAotICAgICAgICBSZXNvbHZlUHJvdG90eXBlICAgID0gMHgwMSwKLSAgICAgICAgUmVzb2x2
ZVNjb3BlICAgICAgICA9IDB4MDIsCi0gICAgICAgIFJlc29sdmVGdWxsICAgICAgICAgPSBSZXNv
bHZlUHJvdG90eXBlIHwgUmVzb2x2ZVNjb3BlCi0gICAgfTsKLSAgICBRX0RFQ0xBUkVfRkxBR1Mo
UmVzb2x2ZUZsYWdzLCBSZXNvbHZlRmxhZykKLQotICAgIGVudW0gUHJvcGVydHlGbGFnIHsKLSAg
ICAgICAgUmVhZE9ubHkgICAgICAgICAgICA9IDB4MDAwMDAwMDEsCi0gICAgICAgIFVuZGVsZXRh
YmxlICAgICAgICAgPSAweDAwMDAwMDAyLAotICAgICAgICBTa2lwSW5FbnVtZXJhdGlvbiAgID0g
MHgwMDAwMDAwNCwKLSAgICAgICAgUHJvcGVydHlHZXR0ZXIgICAgICA9IDB4MDAwMDAwMDgsCi0g
ICAgICAgIFByb3BlcnR5U2V0dGVyICAgICAgPSAweDAwMDAwMDEwLAotICAgICAgICBRT2JqZWN0
TWVtYmVyICAgICAgID0gMHgwMDAwMDAyMCwKLSAgICAgICAgS2VlcEV4aXN0aW5nRmxhZ3MgICA9
IDB4MDAwMDA4MDAsCi0gICAgICAgIFVzZXJSYW5nZSAgICAgICAgICAgPSAweGZmMDAwMDAwIC8v
IFVzZXJzIG1heSB1c2UgdGhlc2UgYXMgdGhleSBzZWUgZml0LgotICAgIH07Ci0gICAgUV9ERUNM
QVJFX0ZMQUdTKFByb3BlcnR5RmxhZ3MsIFByb3BlcnR5RmxhZykKLQotICAgIGVudW0gU3BlY2lh
bFZhbHVlIHsKLSAgICAgICAgTnVsbFZhbHVlLAotICAgICAgICBVbmRlZmluZWRWYWx1ZQotICAg
IH07Ci0KLSAgICBRU2NyaXB0VmFsdWUoKTsKLSAgICBRU2NyaXB0VmFsdWUoYm9vbCB2YWx1ZSk7
Ci0gICAgUVNjcmlwdFZhbHVlKGludCB2YWx1ZSk7Ci0gICAgUVNjcmlwdFZhbHVlKHVpbnQgdmFs
dWUpOwotICAgIFFTY3JpcHRWYWx1ZShxc3JlYWwgdmFsdWUpOwotICAgIFFTY3JpcHRWYWx1ZShj
b25zdCBRU3RyaW5nJiB2YWx1ZSk7Ci0gICAgUVNjcmlwdFZhbHVlKGNvbnN0IGNoYXIqIHZhbHVl
KTsKLSAgICBRU2NyaXB0VmFsdWUoU3BlY2lhbFZhbHVlIHZhbHVlKTsKLSAgICBRU2NyaXB0VmFs
dWUoY29uc3QgUVNjcmlwdFZhbHVlJiBvdGhlcik7Ci0KLSAgICBRU2NyaXB0VmFsdWUoUVNjcmlw
dEVuZ2luZSogZW5naW5lLCBib29sIHZhbHVlKTsKLSAgICBRU2NyaXB0VmFsdWUoUVNjcmlwdEVu
Z2luZSogZW5naW5lLCBpbnQgdmFsdWUpOwotICAgIFFTY3JpcHRWYWx1ZShRU2NyaXB0RW5naW5l
KiBlbmdpbmUsIHVpbnQgdmFsdWUpOwotICAgIFFTY3JpcHRWYWx1ZShRU2NyaXB0RW5naW5lKiBl
bmdpbmUsIHFzcmVhbCB2YWx1ZSk7Ci0gICAgUVNjcmlwdFZhbHVlKFFTY3JpcHRFbmdpbmUqIGVu
Z2luZSwgY29uc3QgUVN0cmluZyYgdmFsdWUpOwotICAgIFFTY3JpcHRWYWx1ZShRU2NyaXB0RW5n
aW5lKiBlbmdpbmUsIGNvbnN0IGNoYXIqIHZhbHVlKTsKLSAgICBRU2NyaXB0VmFsdWUoUVNjcmlw
dEVuZ2luZSogZW5naW5lLCBTcGVjaWFsVmFsdWUgdmFsdWUpOwotCi0gICAgflFTY3JpcHRWYWx1
ZSgpOwotCi0gICAgUVNjcmlwdFZhbHVlJiBvcGVyYXRvcj0oY29uc3QgUVNjcmlwdFZhbHVlJiBv
dGhlcik7Ci0KLSAgICBRU2NyaXB0VmFsdWUgcHJvdG90eXBlKCkgY29uc3Q7Ci0gICAgdm9pZCBz
ZXRQcm90b3R5cGUoY29uc3QgUVNjcmlwdFZhbHVlJiBwcm90b3R5cGUpOwotCi0gICAgYm9vbCBl
cXVhbHMoY29uc3QgUVNjcmlwdFZhbHVlJiBvdGhlcikgY29uc3Q7Ci0gICAgYm9vbCBzdHJpY3Rs
eUVxdWFscyhjb25zdCBRU2NyaXB0VmFsdWUmIG90aGVyKSBjb25zdDsKLSAgICBib29sIGluc3Rh
bmNlT2YoY29uc3QgUVNjcmlwdFZhbHVlJiBvdGhlcikgY29uc3Q7Ci0KLSAgICBRU2NyaXB0VmFs
dWUgcHJvcGVydHkoY29uc3QgUVN0cmluZyYgbmFtZSwgY29uc3QgUmVzb2x2ZUZsYWdzJiBtb2Rl
ID0gUmVzb2x2ZVByb3RvdHlwZSkgY29uc3Q7Ci0gICAgUVNjcmlwdFZhbHVlIHByb3BlcnR5KGNv
bnN0IFFTY3JpcHRTdHJpbmcmIG5hbWUsIGNvbnN0IFJlc29sdmVGbGFncyYgbW9kZSA9IFJlc29s
dmVQcm90b3R5cGUpIGNvbnN0OwotICAgIFFTY3JpcHRWYWx1ZSBwcm9wZXJ0eShxdWludDMyIGFy
cmF5SW5kZXgsIGNvbnN0IFJlc29sdmVGbGFncyYgbW9kZSA9IFJlc29sdmVQcm90b3R5cGUpIGNv
bnN0OwotCi0gICAgdm9pZCBzZXRQcm9wZXJ0eShjb25zdCBRU3RyaW5nJiBuYW1lLCBjb25zdCBR
U2NyaXB0VmFsdWUmIHZhbHVlLCBjb25zdCBQcm9wZXJ0eUZsYWdzJiBmbGFncyA9IEtlZXBFeGlz
dGluZ0ZsYWdzKTsKLSAgICB2b2lkIHNldFByb3BlcnR5KHF1aW50MzIgYXJyYXlJbmRleCwgY29u
c3QgUVNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3QgUHJvcGVydHlGbGFncyYgZmxhZ3MgPSBLZWVw
RXhpc3RpbmdGbGFncyk7Ci0gICAgdm9pZCBzZXRQcm9wZXJ0eShjb25zdCBRU2NyaXB0U3RyaW5n
JiBuYW1lLCBjb25zdCBRU2NyaXB0VmFsdWUmIHZhbHVlLCBjb25zdCBQcm9wZXJ0eUZsYWdzJiBm
bGFncyA9IEtlZXBFeGlzdGluZ0ZsYWdzKTsKLQotICAgIFByb3BlcnR5RmxhZ3MgcHJvcGVydHlG
bGFncyhjb25zdCBRU3RyaW5nJiBuYW1lLCBjb25zdCBSZXNvbHZlRmxhZ3MmIG1vZGUgPSBSZXNv
bHZlUHJvdG90eXBlKSBjb25zdDsKLSAgICBQcm9wZXJ0eUZsYWdzIHByb3BlcnR5RmxhZ3MoY29u
c3QgUVNjcmlwdFN0cmluZyYgbmFtZSwgY29uc3QgUmVzb2x2ZUZsYWdzJiBtb2RlID0gUmVzb2x2
ZVByb3RvdHlwZSkgY29uc3Q7Ci0KLSAgICBRU2NyaXB0RW5naW5lKiBlbmdpbmUoKSBjb25zdDsK
LQotICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0OwotICAgIGJvb2wgaXNCb29sKCkgY29uc3Q7Ci0g
ICAgYm9vbCBpc0Jvb2xlYW4oKSBjb25zdDsKLSAgICBib29sIGlzTnVtYmVyKCkgY29uc3Q7Ci0g
ICAgYm9vbCBpc0Z1bmN0aW9uKCkgY29uc3Q7Ci0gICAgYm9vbCBpc051bGwoKSBjb25zdDsKLSAg
ICBib29sIGlzU3RyaW5nKCkgY29uc3Q7Ci0gICAgYm9vbCBpc1VuZGVmaW5lZCgpIGNvbnN0Owot
ICAgIGJvb2wgaXNPYmplY3QoKSBjb25zdDsKLSAgICBib29sIGlzRXJyb3IoKSBjb25zdDsKLSAg
ICBib29sIGlzQXJyYXkoKSBjb25zdDsKLSAgICBib29sIGlzRGF0ZSgpIGNvbnN0OwotCi0gICAg
UVN0cmluZyB0b1N0cmluZygpIGNvbnN0OwotICAgIHFzcmVhbCB0b051bWJlcigpIGNvbnN0Owot
ICAgIGJvb2wgdG9Cb29sKCkgY29uc3Q7Ci0gICAgYm9vbCB0b0Jvb2xlYW4oKSBjb25zdDsKLSAg
ICBxc3JlYWwgdG9JbnRlZ2VyKCkgY29uc3Q7Ci0gICAgcWludDMyIHRvSW50MzIoKSBjb25zdDsK
LSAgICBxdWludDMyIHRvVUludDMyKCkgY29uc3Q7Ci0gICAgcXVpbnQxNiB0b1VJbnQxNigpIGNv
bnN0OwotICAgIFFTY3JpcHRWYWx1ZSB0b09iamVjdCgpIGNvbnN0OwotICAgIFFEYXRlVGltZSB0
b0RhdGVUaW1lKCkgY29uc3Q7Ci0KLSAgICBRU2NyaXB0VmFsdWUgY2FsbChjb25zdCBRU2NyaXB0
VmFsdWUmIHRoaXNPYmplY3QgPSBRU2NyaXB0VmFsdWUoKSwKLSAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBRU2NyaXB0VmFsdWVMaXN0JiBhcmdzID0gUVNjcmlwdFZhbHVlTGlzdCgpKTsKLXBy
aXZhdGU6Ci0gICAgUVNjcmlwdFZhbHVlKHZvaWQqKTsKLSAgICBRU2NyaXB0VmFsdWUoUVNjcmlw
dFZhbHVlUHJpdmF0ZSopOwotCi0gICAgUUV4cGxpY2l0bHlTaGFyZWREYXRhUG9pbnRlcjxRU2Ny
aXB0VmFsdWVQcml2YXRlPiBkX3B0cjsKLQotICAgIGZyaWVuZCBjbGFzcyBRU2NyaXB0VmFsdWVQ
cml2YXRlOwotfTsKLQotI2VuZGlmIC8vIHFzY3JpcHR2YWx1ZV9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHR2YWx1ZV9wLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcXQvYXBpL3FzY3JpcHR2YWx1ZV9wLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGY5OGEwNmE2MWMxMzY1ZDdmNGRkZmI3NDZjZmYzZDgyOWEwYmQ2YzYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3F0L2FwaS9xc2NyaXB0dmFsdWVfcC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTIyMCArMCww
IEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaWZuZGVmIHFzY3JpcHR2YWx1ZV9wX2gKLSNkZWZp
bmUgcXNjcmlwdHZhbHVlX3BfaAotCi0jaW5jbHVkZSAicXNjcmlwdGNvbnZlcnRlcl9wLmgiCi0j
aW5jbHVkZSAicXNjcmlwdGVuZ2luZV9wLmgiCi0jaW5jbHVkZSAicXNjcmlwdHZhbHVlLmgiCi0j
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdC5oPgotI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0pTUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8SlNPYmplY3RSZWZQcml2YXRlLmg+Ci0j
aW5jbHVkZSA8UXRDb3JlL3FkYXRldGltZS5oPgotI2luY2x1ZGUgPFF0Q29yZS9xbWF0aC5oPgot
I2luY2x1ZGUgPFF0Q29yZS9xbnVtZXJpYy5oPgotI2luY2x1ZGUgPFF0Q29yZS9xc2hhcmVkZGF0
YS5oPgotI2luY2x1ZGUgPFF0Q29yZS9xdmFybGVuZ3RoYXJyYXkuaD4KLQotY2xhc3MgUVNjcmlw
dEVuZ2luZTsKLWNsYXNzIFFTY3JpcHRWYWx1ZTsKLQotLyoKLSAgXGludGVybmFsCi0gIFxjbGFz
cyBRU2NyaXB0VmFsdWVQcml2YXRlCi0KLSAgSW1wbGVtZW50YXRpb24gb2YgUVNjcmlwdFZhbHVl
LgotICBUaGUgaW1wbGVtZW50YXRpb24gaXMgYmFzZWQgb24gYSBzdGF0ZSBtYWNoaW5lLiBUaGUg
c3RhdGVzIG5hbWVzIGFyZSBpbmNsdWRlZCBpbgotICBRU2NyaXB0VmFsdWVQcml2YXRlOjpTdGF0
ZS4gRWFjaCBtZXRob2Qgc2hvdWxkIGNoZWNrIGZvciB0aGUgY3VycmVudCBzdGF0ZSBhbmQgdGhl
biBwZXJmb3JtIGEKLSAgY29ycmVjdCBhY3Rpb24uCi0KLSAgU3RhdGU6Ci0gICAgSW52YWxpZCAt
PiBRU1ZQIGlzIGludmFsaWQsIG5vIGFzc3VtcHRpb25zIHNob3VsZCBiZSBtYWRlIGFib3V0IGNs
YXNzIG1lbWJlcnMgKGFwYXJ0IGZyb20gbV92YWx1ZSkuCi0gICAgQ1N0cmluZyAtPiBRU1ZQIGlz
IGNyZWF0ZWQgZnJvbSBRU3RyaW5nIG9yIGNvbnN0IGNoYXIqIGFuZCBubyBKU0MgZW5naW5lIGhh
cyBiZWVuIGFzc29jaWF0ZWQgeWV0LgotICAgICAgICBDdXJyZW50IHZhbHVlIGlzIGtlcHQgaW4g
bV9zdHJpbmcsCi0gICAgQ051bWJlciAtPiBRU1ZQIGlzIGNyZWF0ZWQgZnJvbSBpbnQsIHVpbnQs
IGRvdWJsZS4uLiBhbmQgbm8gSlNDIGVuZ2luZSBoYXMgYmVlbiBiaW5kIHlldC4gQ3VycmVudAot
ICAgICAgICB2YWx1ZSBpcyBrZXB0IGluIG1fbnVtYmVyCi0gICAgQ0Jvb2wgLT4gUVNWUCBpcyBj
cmVhdGVkIGZyb20gYm9vbCBhbmQgbm8gSlNDIGVuZ2luZSBoYXMgYmVlbiBhc3NvY2lhdGVkIHll
dC4gQ3VycmVudCB2YWx1ZSBpcyBrZXB0Ci0gICAgICAgIGluIG1fYm9vbAotICAgIENOdWxsIC0+
IFFTVlAgaXMgbnVsbCwgYnV0IGEgSlNDIGVuZ2luZSBoYXNuJ3QgYmVlbiBhc3NvY2lhdGVkIHll
dC4KLSAgICBDVW5kZWZpbmVkIC0+IFFTVlAgaXMgdW5kZWZpbmVkLCBidXQgYSBKU0MgZW5naW5l
IGhhc24ndCBiZWVuIGFzc29jaWF0ZWQgeWV0LgotICAgIEpTVmFsdWUgLT4gUVNWUCBpcyBhc3Nv
Y2lhdGVkIHdpdGggZW5naW5lLCBidXQgdGhlcmUgaXMgbm8gaW5mb3JtYXRpb24gYWJvdXQgcmVh
bCB0eXBlLCB0aGUgc3RhdGUKLSAgICAgICAgaGF2ZSByZWFsbHkgc2hvcnQgbGl2ZSBjeWNsZS4g
Tm9ybWFsbHkgaXQgaXMgY3JlYXRlZCBhcyBhIGZ1bmN0aW9uIGNhbGwgcmVzdWx0LgotICAgIEpT
UHJpbWl0aXZlIC0+IFFTVlAgaXMgYXNzb2NpYXRlZCB3aXRoIGVuZ2luZSwgYW5kIGl0IGlzIHN1
cmUgdGhhdCBpdCBpc24ndCBhIEphdmFTY3JpcHQgb2JqZWN0LgotICAgIEpTT2JqZWN0IC0+IFFT
VlAgaXMgYXNzb2NpYXRlZCB3aXRoIGVuZ2luZSwgYW5kIGl0IGlzIHN1cmUgdGhhdCBpdCBpcyBh
IEphdmFTY3JpcHQgb2JqZWN0LgotCi0gIEVhY2ggc3RhdGUga2VlcCBhbGwgbmVjZXNzYXJ5IGlu
Zm9ybWF0aW9uIHRvIGludm9rZSBhbGwgbWV0aG9kcywgaWYgbm90IGl0IHNob3VsZCBiZSBjaGFu
Z2VkIHRvCi0gIGEgcHJvcGVyIHN0YXRlLiBDaGFuZ2VkIHN0YXRlIHNob3VsZG4ndCBiZSByZXZl
cnRlZC4KLQotICBUaGUgUVNjcmlwdFZhbHVlUHJpdmF0ZSB1c2UgdGhlIEpTQyBDIEFQSSBkaXJl
Y3RseS4gVGhlIFFTVlAgdHlwZSBpcyBlcXVhbCB0byBjb21iaW5hdGlvbiBvZgotICB0aGUgSlNW
YWx1ZVJlZiBhbmQgdGhlIEpTT2JqZWN0UmVmLCBhbmQgaXQgY291bGQgYmUgYXV0b21hdGljYWxs
eSBjYXN0ZWQgdG8gdGhlc2UgdHlwZXMgYnkgY2FzdAotICBvcGVyYXRvcnMuCi0qLwotCi1jbGFz
cyBRU2NyaXB0VmFsdWVQcml2YXRlIDogcHVibGljIFFTaGFyZWREYXRhIHsKLXB1YmxpYzoKLSAg
ICBpbmxpbmUgc3RhdGljIFFTY3JpcHRWYWx1ZVByaXZhdGUqIGdldChjb25zdCBRU2NyaXB0VmFs
dWUmIHEpOwotICAgIGlubGluZSBzdGF0aWMgUVNjcmlwdFZhbHVlIGdldChjb25zdCBRU2NyaXB0
VmFsdWVQcml2YXRlKiBkKTsKLSAgICBpbmxpbmUgc3RhdGljIFFTY3JpcHRWYWx1ZSBnZXQoUVNj
cmlwdFZhbHVlUHJpdmF0ZSogZCk7Ci0KLSAgICBpbmxpbmUgflFTY3JpcHRWYWx1ZVByaXZhdGUo
KTsKLQotICAgIGlubGluZSBRU2NyaXB0VmFsdWVQcml2YXRlKCk7Ci0gICAgaW5saW5lIFFTY3Jp
cHRWYWx1ZVByaXZhdGUoY29uc3QgUVN0cmluZyYgc3RyaW5nKTsKLSAgICBpbmxpbmUgUVNjcmlw
dFZhbHVlUHJpdmF0ZShib29sIHZhbHVlKTsKLSAgICBpbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0
ZShpbnQgbnVtYmVyKTsKLSAgICBpbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZSh1aW50IG51bWJl
cik7Ci0gICAgaW5saW5lIFFTY3JpcHRWYWx1ZVByaXZhdGUocXNyZWFsIG51bWJlcik7Ci0gICAg
aW5saW5lIFFTY3JpcHRWYWx1ZVByaXZhdGUoUVNjcmlwdFZhbHVlOjpTcGVjaWFsVmFsdWUgdmFs
dWUpOwotCi0gICAgaW5saW5lIFFTY3JpcHRWYWx1ZVByaXZhdGUoY29uc3QgUVNjcmlwdEVuZ2lu
ZVByaXZhdGUqIGVuZ2luZSwgYm9vbCB2YWx1ZSk7Ci0gICAgaW5saW5lIFFTY3JpcHRWYWx1ZVBy
aXZhdGUoY29uc3QgUVNjcmlwdEVuZ2luZVByaXZhdGUqIGVuZ2luZSwgaW50IHZhbHVlKTsKLSAg
ICBpbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZShjb25zdCBRU2NyaXB0RW5naW5lUHJpdmF0ZSog
ZW5naW5lLCB1aW50IHZhbHVlKTsKLSAgICBpbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZShjb25z
dCBRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lLCBxc3JlYWwgdmFsdWUpOwotICAgIGlubGlu
ZSBRU2NyaXB0VmFsdWVQcml2YXRlKGNvbnN0IFFTY3JpcHRFbmdpbmVQcml2YXRlKiBlbmdpbmUs
IGNvbnN0IFFTdHJpbmcmIHZhbHVlKTsKLSAgICBpbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZShj
b25zdCBRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lLCBRU2NyaXB0VmFsdWU6OlNwZWNpYWxW
YWx1ZSB2YWx1ZSk7Ci0KLSAgICBpbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZShjb25zdCBRU2Ny
aXB0RW5naW5lUHJpdmF0ZSogZW5naW5lLCBKU1ZhbHVlUmVmIHZhbHVlKTsKLSAgICBpbmxpbmUg
UVNjcmlwdFZhbHVlUHJpdmF0ZShjb25zdCBRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lLCBK
U09iamVjdFJlZiBvYmplY3QpOwotCi0gICAgaW5saW5lIGJvb2wgaXNWYWxpZCgpIGNvbnN0Owot
ICAgIGlubGluZSBib29sIGlzQm9vbCgpOwotICAgIGlubGluZSBib29sIGlzTnVtYmVyKCk7Ci0g
ICAgaW5saW5lIGJvb2wgaXNOdWxsKCk7Ci0gICAgaW5saW5lIGJvb2wgaXNTdHJpbmcoKTsKLSAg
ICBpbmxpbmUgYm9vbCBpc1VuZGVmaW5lZCgpOwotICAgIGlubGluZSBib29sIGlzRXJyb3IoKTsK
LSAgICBpbmxpbmUgYm9vbCBpc09iamVjdCgpOwotICAgIGlubGluZSBib29sIGlzRnVuY3Rpb24o
KTsKLSAgICBpbmxpbmUgYm9vbCBpc0FycmF5KCk7Ci0gICAgaW5saW5lIGJvb2wgaXNEYXRlKCk7
Ci0KLSAgICBpbmxpbmUgUVN0cmluZyB0b1N0cmluZygpIGNvbnN0OwotICAgIGlubGluZSBxc3Jl
YWwgdG9OdW1iZXIoKSBjb25zdDsKLSAgICBpbmxpbmUgYm9vbCB0b0Jvb2woKSBjb25zdDsKLSAg
ICBpbmxpbmUgcXNyZWFsIHRvSW50ZWdlcigpIGNvbnN0OwotICAgIGlubGluZSBxaW50MzIgdG9J
bnQzMigpIGNvbnN0OwotICAgIGlubGluZSBxdWludDMyIHRvVUludDMyKCkgY29uc3Q7Ci0gICAg
aW5saW5lIHF1aW50MTYgdG9VSW50MTYoKSBjb25zdDsKLQotICAgIGlubGluZSBRU2NyaXB0VmFs
dWVQcml2YXRlKiB0b09iamVjdChRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lKTsKLSAgICBp
bmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZSogdG9PYmplY3QoKTsKLSAgICBpbmxpbmUgUURhdGVU
aW1lIHRvRGF0ZVRpbWUoKTsKLSAgICBpbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZSogcHJvdG90
eXBlKCk7Ci0gICAgaW5saW5lIHZvaWQgc2V0UHJvdG90eXBlKFFTY3JpcHRWYWx1ZVByaXZhdGUq
IHByb3RvdHlwZSk7Ci0KLSAgICBpbmxpbmUgYm9vbCBlcXVhbHMoUVNjcmlwdFZhbHVlUHJpdmF0
ZSogb3RoZXIpOwotICAgIGlubGluZSBib29sIHN0cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1ZVBy
aXZhdGUqIG90aGVyKTsKLSAgICBpbmxpbmUgYm9vbCBpbnN0YW5jZU9mKFFTY3JpcHRWYWx1ZVBy
aXZhdGUqIG90aGVyKTsKLSAgICBpbmxpbmUgYm9vbCBhc3NpZ25FbmdpbmUoUVNjcmlwdEVuZ2lu
ZVByaXZhdGUqIGVuZ2luZSk7Ci0KLSAgICBpbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZSogcHJv
cGVydHkoY29uc3QgUVN0cmluZyYgbmFtZSwgY29uc3QgUVNjcmlwdFZhbHVlOjpSZXNvbHZlRmxh
Z3MmIG1vZGUpOwotICAgIGlubGluZSBRU2NyaXB0VmFsdWVQcml2YXRlKiBwcm9wZXJ0eShjb25z
dCBRU2NyaXB0U3RyaW5nUHJpdmF0ZSogbmFtZSwgY29uc3QgUVNjcmlwdFZhbHVlOjpSZXNvbHZl
RmxhZ3MmIG1vZGUpOwotICAgIGlubGluZSBRU2NyaXB0VmFsdWVQcml2YXRlKiBwcm9wZXJ0eShx
dWludDMyIGFycmF5SW5kZXgsIGNvbnN0IFFTY3JpcHRWYWx1ZTo6UmVzb2x2ZUZsYWdzJiBtb2Rl
KTsKLSAgICBpbmxpbmUgSlNWYWx1ZVJlZiBwcm9wZXJ0eShxdWludDMyIHByb3BlcnR5LCBKU1Zh
bHVlUmVmKiBleGNlcHRpb24pOwotICAgIGlubGluZSBKU1ZhbHVlUmVmIHByb3BlcnR5KEpTU3Ry
aW5nUmVmIHByb3BlcnR5LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOwotICAgIGlubGluZSBib29s
IGhhc093blByb3BlcnR5KHF1aW50MzIgcHJvcGVydHkpOwotICAgIGlubGluZSBib29sIGhhc093
blByb3BlcnR5KEpTU3RyaW5nUmVmIHByb3BlcnR5KTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PgotICAgIGlubGluZSBRU2NyaXB0VmFsdWVQcml2YXRlKiBwcm9wZXJ0eShUIG5hbWUsIGNvbnN0
IFFTY3JpcHRWYWx1ZTo6UmVzb2x2ZUZsYWdzJiBtb2RlKTsKLQotICAgIGlubGluZSB2b2lkIHNl
dFByb3BlcnR5KGNvbnN0IFFTdHJpbmcmIG5hbWUsIFFTY3JpcHRWYWx1ZVByaXZhdGUqIHZhbHVl
LCBjb25zdCBRU2NyaXB0VmFsdWU6OlByb3BlcnR5RmxhZ3MmIGZsYWdzKTsKLSAgICBpbmxpbmUg
dm9pZCBzZXRQcm9wZXJ0eShjb25zdCBRU2NyaXB0U3RyaW5nUHJpdmF0ZSogbmFtZSwgUVNjcmlw
dFZhbHVlUHJpdmF0ZSogdmFsdWUsIGNvbnN0IFFTY3JpcHRWYWx1ZTo6UHJvcGVydHlGbGFncyYg
ZmxhZ3MpOwotICAgIGlubGluZSB2b2lkIHNldFByb3BlcnR5KGNvbnN0IHF1aW50MzIgaW5kZXhB
cnJheSwgUVNjcmlwdFZhbHVlUHJpdmF0ZSogdmFsdWUsIGNvbnN0IFFTY3JpcHRWYWx1ZTo6UHJv
cGVydHlGbGFncyYgZmxhZ3MpOwotICAgIGlubGluZSB2b2lkIHNldFByb3BlcnR5KHF1aW50MzIg
cHJvcGVydHksIEpTVmFsdWVSZWYgdmFsdWUsIEpTUHJvcGVydHlBdHRyaWJ1dGVzIGZsYWdzLCBK
U1ZhbHVlUmVmKiBleGNlcHRpb24pOwotICAgIGlubGluZSB2b2lkIHNldFByb3BlcnR5KEpTU3Ry
aW5nUmVmIHByb3BlcnR5LCBKU1ZhbHVlUmVmIHZhbHVlLCBKU1Byb3BlcnR5QXR0cmlidXRlcyBm
bGFncywgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKTsKLSAgICBpbmxpbmUgdm9pZCBkZWxldGVQcm9w
ZXJ0eShxdWludDMyIHByb3BlcnR5LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pOwotICAgIGlubGlu
ZSB2b2lkIGRlbGV0ZVByb3BlcnR5KEpTU3RyaW5nUmVmIHByb3BlcnR5LCBKU1ZhbHVlUmVmKiBl
eGNlcHRpb24pOwotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgaW5saW5lIHZvaWQgc2V0
UHJvcGVydHkoVCBuYW1lLCBRU2NyaXB0VmFsdWVQcml2YXRlKiB2YWx1ZSwgY29uc3QgUVNjcmlw
dFZhbHVlOjpQcm9wZXJ0eUZsYWdzJiBmbGFncyk7Ci0KLSAgICBRU2NyaXB0VmFsdWU6OlByb3Bl
cnR5RmxhZ3MgcHJvcGVydHlGbGFncyhjb25zdCBRU3RyaW5nJiBuYW1lLCBjb25zdCBRU2NyaXB0
VmFsdWU6OlJlc29sdmVGbGFncyYgbW9kZSk7Ci0gICAgUVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZs
YWdzIHByb3BlcnR5RmxhZ3MoY29uc3QgUVNjcmlwdFN0cmluZ1ByaXZhdGUqIG5hbWUsIGNvbnN0
IFFTY3JpcHRWYWx1ZTo6UmVzb2x2ZUZsYWdzJiBtb2RlKTsKLSAgICBRU2NyaXB0VmFsdWU6OlBy
b3BlcnR5RmxhZ3MgcHJvcGVydHlGbGFncyhjb25zdCBKU1N0cmluZ1JlZiBuYW1lLCBjb25zdCBR
U2NyaXB0VmFsdWU6OlJlc29sdmVGbGFncyYgbW9kZSk7Ci0KLSAgICBpbmxpbmUgUVNjcmlwdFZh
bHVlUHJpdmF0ZSogY2FsbChjb25zdCBRU2NyaXB0VmFsdWVQcml2YXRlKiAsIGNvbnN0IFFTY3Jp
cHRWYWx1ZUxpc3QmIGFyZ3MpOwotCi0gICAgaW5saW5lIG9wZXJhdG9yIEpTVmFsdWVSZWYoKSBj
b25zdDsKLSAgICBpbmxpbmUgb3BlcmF0b3IgSlNPYmplY3RSZWYoKSBjb25zdDsKLQotICAgIGlu
bGluZSBRU2NyaXB0RW5naW5lUHJpdmF0ZSogZW5naW5lKCkgY29uc3Q7Ci0KLXByaXZhdGU6Ci0g
ICAgLy8gUGxlYXNlLCB1cGRhdGUgY2xhc3MgZG9jdW1lbnRhdGlvbiB3aGVuIHlvdSBjaGFuZ2Ug
dGhlIGVudW0uCi0gICAgZW51bSBTdGF0ZSB7Ci0gICAgICAgIEludmFsaWQgPSAwLAotICAgICAg
ICBDU3RyaW5nID0gMHgxMDAwLAotICAgICAgICBDTnVtYmVyLAotICAgICAgICBDQm9vbCwKLSAg
ICAgICAgQ051bGwsCi0gICAgICAgIENVbmRlZmluZWQsCi0gICAgICAgIEpTVmFsdWUgPSAweDIw
MDAsIC8vIEpTIHZhbHVlcyBhcmUgZXF1YWwgb3IgaGlnaGVyIHRoZW4gdGhpcyB2YWx1ZS4KLSAg
ICAgICAgSlNQcmltaXRpdmUsCi0gICAgICAgIEpTT2JqZWN0Ci0gICAgfSBtX3N0YXRlOwotICAg
IFFTY3JpcHRFbmdpbmVQdHIgbV9lbmdpbmU7Ci0gICAgdW5pb24gVmFsdWUKLSAgICB7Ci0gICAg
ICAgIGJvb2wgbV9ib29sOwotICAgICAgICBxc3JlYWwgbV9udW1iZXI7Ci0gICAgICAgIEpTVmFs
dWVSZWYgbV92YWx1ZTsKLSAgICAgICAgSlNPYmplY3RSZWYgbV9vYmplY3Q7Ci0gICAgICAgIFFT
dHJpbmcqIG1fc3RyaW5nOwotCi0gICAgICAgIFZhbHVlKCkgOiBtX251bWJlcigwKSB7fQotICAg
ICAgICBWYWx1ZShib29sIHZhbHVlKSA6IG1fYm9vbCh2YWx1ZSkge30KLSAgICAgICAgVmFsdWUo
aW50IG51bWJlcikgOiBtX251bWJlcihudW1iZXIpIHt9Ci0gICAgICAgIFZhbHVlKHVpbnQgbnVt
YmVyKSA6IG1fbnVtYmVyKG51bWJlcikge30KLSAgICAgICAgVmFsdWUocXNyZWFsIG51bWJlcikg
OiBtX251bWJlcihudW1iZXIpIHt9Ci0gICAgICAgIFZhbHVlKEpTVmFsdWVSZWYgdmFsdWUpIDog
bV92YWx1ZSh2YWx1ZSkge30KLSAgICAgICAgVmFsdWUoSlNPYmplY3RSZWYgb2JqZWN0KSA6IG1f
b2JqZWN0KG9iamVjdCkge30KLSAgICAgICAgVmFsdWUoUVN0cmluZyogc3RyaW5nKSA6IG1fc3Ry
aW5nKHN0cmluZykge30KLSAgICB9IHU7Ci0KLSAgICBpbmxpbmUgU3RhdGUgcmVmaW5lZEpTVmFs
dWUoKTsKLQotICAgIGlubGluZSBib29sIGlzSlNCYXNlZCgpIGNvbnN0OwotICAgIGlubGluZSBi
b29sIGlzTnVtYmVyQmFzZWQoKSBjb25zdDsKLSAgICBpbmxpbmUgYm9vbCBpc1N0cmluZ0Jhc2Vk
KCkgY29uc3Q7Ci19OwotCi1RU2NyaXB0VmFsdWVQcml2YXRlKiBRU2NyaXB0VmFsdWVQcml2YXRl
OjpnZXQoY29uc3QgUVNjcmlwdFZhbHVlJiBxKSB7IHJldHVybiBxLmRfcHRyLmRhdGEoKTsgfQot
Ci1RU2NyaXB0VmFsdWUgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KGNvbnN0IFFTY3JpcHRWYWx1
ZVByaXZhdGUqIGQpCi17Ci0gICAgcmV0dXJuIFFTY3JpcHRWYWx1ZShjb25zdF9jYXN0PFFTY3Jp
cHRWYWx1ZVByaXZhdGUqPihkKSk7Ci19Ci0KLVFTY3JpcHRWYWx1ZSBRU2NyaXB0VmFsdWVQcml2
YXRlOjpnZXQoUVNjcmlwdFZhbHVlUHJpdmF0ZSogZCkKLXsKLSAgICByZXR1cm4gUVNjcmlwdFZh
bHVlKGQpOwotfQotCi1RU2NyaXB0VmFsdWVQcml2YXRlOjp+UVNjcmlwdFZhbHVlUHJpdmF0ZSgp
Ci17Ci0gICAgaWYgKGlzSlNCYXNlZCgpKQotICAgICAgICBKU1ZhbHVlVW5wcm90ZWN0KCptX2Vu
Z2luZSwgdS5tX3ZhbHVlKTsKLSAgICBlbHNlIGlmIChpc1N0cmluZ0Jhc2VkKCkpCi0gICAgICAg
IGRlbGV0ZSB1Lm1fc3RyaW5nOwotfQotCi1RU2NyaXB0VmFsdWVQcml2YXRlOjpRU2NyaXB0VmFs
dWVQcml2YXRlKCkKLSAgICA6IG1fc3RhdGUoSW52YWxpZCkKLXsKLX0KLQotUVNjcmlwdFZhbHVl
UHJpdmF0ZTo6UVNjcmlwdFZhbHVlUHJpdmF0ZShjb25zdCBRU3RyaW5nJiBzdHJpbmcpCi0gICAg
OiBtX3N0YXRlKENTdHJpbmcpCi0gICAgLCB1KG5ldyBRU3RyaW5nKHN0cmluZykpCi17Ci19Ci0K
LVFTY3JpcHRWYWx1ZVByaXZhdGU6OlFTY3JpcHRWYWx1ZVByaXZhdGUoYm9vbCB2YWx1ZSkKLSAg
ICA6IG1fc3RhdGUoQ0Jvb2wpCi0gICAgLCB1KHZhbHVlKQotewotfQotCi1RU2NyaXB0VmFsdWVQ
cml2YXRlOjpRU2NyaXB0VmFsdWVQcml2YXRlKGludCBudW1iZXIpCi0gICAgOiBtX3N0YXRlKENO
dW1iZXIpCi0gICAgLCB1KG51bWJlcikKLXsKLX0KLQotUVNjcmlwdFZhbHVlUHJpdmF0ZTo6UVNj
cmlwdFZhbHVlUHJpdmF0ZSh1aW50IG51bWJlcikKLSAgICA6IG1fc3RhdGUoQ051bWJlcikKLSAg
ICAsIHUobnVtYmVyKQotewotfQotCi1RU2NyaXB0VmFsdWVQcml2YXRlOjpRU2NyaXB0VmFsdWVQ
cml2YXRlKHFzcmVhbCBudW1iZXIpCi0gICAgOiBtX3N0YXRlKENOdW1iZXIpCi0gICAgLCB1KG51
bWJlcikKLXsKLX0KLQotUVNjcmlwdFZhbHVlUHJpdmF0ZTo6UVNjcmlwdFZhbHVlUHJpdmF0ZShR
U2NyaXB0VmFsdWU6OlNwZWNpYWxWYWx1ZSB2YWx1ZSkKLSAgICA6IG1fc3RhdGUodmFsdWUgPT0g
UVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUgPyBDTnVsbCA6IENVbmRlZmluZWQpCi17Ci19Ci0KLVFT
Y3JpcHRWYWx1ZVByaXZhdGU6OlFTY3JpcHRWYWx1ZVByaXZhdGUoY29uc3QgUVNjcmlwdEVuZ2lu
ZVByaXZhdGUqIGVuZ2luZSwgYm9vbCB2YWx1ZSkKLSAgICA6IG1fc3RhdGUoSlNQcmltaXRpdmUp
Ci0gICAgLCBtX2VuZ2luZShjb25zdF9jYXN0PFFTY3JpcHRFbmdpbmVQcml2YXRlKj4oZW5naW5l
KSkKLSAgICAsIHUoZW5naW5lLT5tYWtlSlNWYWx1ZSh2YWx1ZSkpCi17Ci0gICAgUV9BU1NFUlQo
ZW5naW5lKTsKLSAgICBKU1ZhbHVlUHJvdGVjdCgqbV9lbmdpbmUsIHUubV92YWx1ZSk7Ci19Ci0K
LVFTY3JpcHRWYWx1ZVByaXZhdGU6OlFTY3JpcHRWYWx1ZVByaXZhdGUoY29uc3QgUVNjcmlwdEVu
Z2luZVByaXZhdGUqIGVuZ2luZSwgaW50IHZhbHVlKQotICAgIDogbV9zdGF0ZShKU1ByaW1pdGl2
ZSkKLSAgICAsIG1fZW5naW5lKGNvbnN0X2Nhc3Q8UVNjcmlwdEVuZ2luZVByaXZhdGUqPihlbmdp
bmUpKQotICAgICwgdShtX2VuZ2luZS0+bWFrZUpTVmFsdWUodmFsdWUpKQotewotICAgIFFfQVNT
RVJUKGVuZ2luZSk7Ci0gICAgSlNWYWx1ZVByb3RlY3QoKm1fZW5naW5lLCB1Lm1fdmFsdWUpOwot
fQotCi1RU2NyaXB0VmFsdWVQcml2YXRlOjpRU2NyaXB0VmFsdWVQcml2YXRlKGNvbnN0IFFTY3Jp
cHRFbmdpbmVQcml2YXRlKiBlbmdpbmUsIHVpbnQgdmFsdWUpCi0gICAgOiBtX3N0YXRlKEpTUHJp
bWl0aXZlKQotICAgICwgbV9lbmdpbmUoY29uc3RfY2FzdDxRU2NyaXB0RW5naW5lUHJpdmF0ZSo+
KGVuZ2luZSkpCi0gICAgLCB1KG1fZW5naW5lLT5tYWtlSlNWYWx1ZSh2YWx1ZSkpCi17Ci0gICAg
UV9BU1NFUlQoZW5naW5lKTsKLSAgICBKU1ZhbHVlUHJvdGVjdCgqbV9lbmdpbmUsIHUubV92YWx1
ZSk7Ci19Ci0KLVFTY3JpcHRWYWx1ZVByaXZhdGU6OlFTY3JpcHRWYWx1ZVByaXZhdGUoY29uc3Qg
UVNjcmlwdEVuZ2luZVByaXZhdGUqIGVuZ2luZSwgcXNyZWFsIHZhbHVlKQotICAgIDogbV9zdGF0
ZShKU1ByaW1pdGl2ZSkKLSAgICAsIG1fZW5naW5lKGNvbnN0X2Nhc3Q8UVNjcmlwdEVuZ2luZVBy
aXZhdGUqPihlbmdpbmUpKQotICAgICwgdShtX2VuZ2luZS0+bWFrZUpTVmFsdWUodmFsdWUpKQot
ewotICAgIFFfQVNTRVJUKGVuZ2luZSk7Ci0gICAgSlNWYWx1ZVByb3RlY3QoKm1fZW5naW5lLCB1
Lm1fdmFsdWUpOwotfQotCi1RU2NyaXB0VmFsdWVQcml2YXRlOjpRU2NyaXB0VmFsdWVQcml2YXRl
KGNvbnN0IFFTY3JpcHRFbmdpbmVQcml2YXRlKiBlbmdpbmUsIGNvbnN0IFFTdHJpbmcmIHZhbHVl
KQotICAgIDogbV9zdGF0ZShKU1ByaW1pdGl2ZSkKLSAgICAsIG1fZW5naW5lKGNvbnN0X2Nhc3Q8
UVNjcmlwdEVuZ2luZVByaXZhdGUqPihlbmdpbmUpKQotICAgICwgdShtX2VuZ2luZS0+bWFrZUpT
VmFsdWUodmFsdWUpKQotewotICAgIFFfQVNTRVJUKGVuZ2luZSk7Ci0gICAgSlNWYWx1ZVByb3Rl
Y3QoKm1fZW5naW5lLCB1Lm1fdmFsdWUpOwotfQotCi1RU2NyaXB0VmFsdWVQcml2YXRlOjpRU2Ny
aXB0VmFsdWVQcml2YXRlKGNvbnN0IFFTY3JpcHRFbmdpbmVQcml2YXRlKiBlbmdpbmUsIFFTY3Jp
cHRWYWx1ZTo6U3BlY2lhbFZhbHVlIHZhbHVlKQotICAgIDogbV9zdGF0ZShKU1ByaW1pdGl2ZSkK
LSAgICAsIG1fZW5naW5lKGNvbnN0X2Nhc3Q8UVNjcmlwdEVuZ2luZVByaXZhdGUqPihlbmdpbmUp
KQotICAgICwgdShtX2VuZ2luZS0+bWFrZUpTVmFsdWUodmFsdWUpKQotewotICAgIFFfQVNTRVJU
KGVuZ2luZSk7Ci0gICAgSlNWYWx1ZVByb3RlY3QoKm1fZW5naW5lLCB1Lm1fdmFsdWUpOwotfQot
Ci1RU2NyaXB0VmFsdWVQcml2YXRlOjpRU2NyaXB0VmFsdWVQcml2YXRlKGNvbnN0IFFTY3JpcHRF
bmdpbmVQcml2YXRlKiBlbmdpbmUsIEpTVmFsdWVSZWYgdmFsdWUpCi0gICAgOiBtX3N0YXRlKEpT
VmFsdWUpCi0gICAgLCBtX2VuZ2luZShjb25zdF9jYXN0PFFTY3JpcHRFbmdpbmVQcml2YXRlKj4o
ZW5naW5lKSkKLSAgICAsIHUodmFsdWUpCi17Ci0gICAgUV9BU1NFUlQoZW5naW5lKTsKLSAgICBR
X0FTU0VSVCh2YWx1ZSk7Ci0gICAgSlNWYWx1ZVByb3RlY3QoKm1fZW5naW5lLCB1Lm1fdmFsdWUp
OwotfQotCi1RU2NyaXB0VmFsdWVQcml2YXRlOjpRU2NyaXB0VmFsdWVQcml2YXRlKGNvbnN0IFFT
Y3JpcHRFbmdpbmVQcml2YXRlKiBlbmdpbmUsIEpTT2JqZWN0UmVmIG9iamVjdCkKLSAgICA6IG1f
c3RhdGUoSlNPYmplY3QpCi0gICAgLCBtX2VuZ2luZShjb25zdF9jYXN0PFFTY3JpcHRFbmdpbmVQ
cml2YXRlKj4oZW5naW5lKSkKLSAgICAsIHUob2JqZWN0KQotewotICAgIFFfQVNTRVJUKGVuZ2lu
ZSk7Ci0gICAgUV9BU1NFUlQob2JqZWN0KTsKLSAgICBKU1ZhbHVlUHJvdGVjdCgqbV9lbmdpbmUs
IG9iamVjdCk7Ci19Ci0KLWJvb2wgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6aXNWYWxpZCgpIGNvbnN0
IHsgcmV0dXJuIG1fc3RhdGUgIT0gSW52YWxpZDsgfQotCi1ib29sIFFTY3JpcHRWYWx1ZVByaXZh
dGU6OmlzQm9vbCgpCi17Ci0gICAgc3dpdGNoIChtX3N0YXRlKSB7Ci0gICAgY2FzZSBDQm9vbDoK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBKU1ZhbHVlOgotICAgICAgICBpZiAocmVm
aW5lZEpTVmFsdWUoKSAhPSBKU1ByaW1pdGl2ZSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAgICAgLy8gRmFsbC10aHJvdWdoLgotICAgIGNhc2UgSlNQcmltaXRpdmU6Ci0gICAgICAg
IHJldHVybiBKU1ZhbHVlSXNCb29sZWFuKCptX2VuZ2luZSwgKnRoaXMpOwotICAgIGRlZmF1bHQ6
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci19Ci0KLWJvb2wgUVNjcmlwdFZhbHVlUHJp
dmF0ZTo6aXNOdW1iZXIoKQotewotICAgIHN3aXRjaCAobV9zdGF0ZSkgewotICAgIGNhc2UgQ051
bWJlcjoKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBKU1ZhbHVlOgotICAgICAgICBp
ZiAocmVmaW5lZEpTVmFsdWUoKSAhPSBKU1ByaW1pdGl2ZSkKLSAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAgICAgLy8gRmFsbC10aHJvdWdoLgotICAgIGNhc2UgSlNQcmltaXRpdmU6Ci0g
ICAgICAgIHJldHVybiBKU1ZhbHVlSXNOdW1iZXIoKm1fZW5naW5lLCAqdGhpcyk7Ci0gICAgZGVm
YXVsdDoKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLX0KLQotYm9vbCBRU2NyaXB0VmFs
dWVQcml2YXRlOjppc051bGwoKQotewotICAgIHN3aXRjaCAobV9zdGF0ZSkgewotICAgIGNhc2Ug
Q051bGw6Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2UgSlNWYWx1ZToKLSAgICAgICAg
aWYgKHJlZmluZWRKU1ZhbHVlKCkgIT0gSlNQcmltaXRpdmUpCi0gICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgIC8vIEZhbGwtdGhyb3VnaC4KLSAgICBjYXNlIEpTUHJpbWl0aXZlOgot
ICAgICAgICByZXR1cm4gSlNWYWx1ZUlzTnVsbCgqbV9lbmdpbmUsICp0aGlzKTsKLSAgICBkZWZh
dWx0OgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotfQotCi1ib29sIFFTY3JpcHRWYWx1
ZVByaXZhdGU6OmlzU3RyaW5nKCkKLXsKLSAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKLSAgICBjYXNl
IENTdHJpbmc6Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIGNhc2UgSlNWYWx1ZToKLSAgICAg
ICAgaWYgKHJlZmluZWRKU1ZhbHVlKCkgIT0gSlNQcmltaXRpdmUpCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgIC8vIEZhbGwtdGhyb3VnaC4KLSAgICBjYXNlIEpTUHJpbWl0aXZl
OgotICAgICAgICByZXR1cm4gSlNWYWx1ZUlzU3RyaW5nKCptX2VuZ2luZSwgKnRoaXMpOwotICAg
IGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci19Ci0KLWJvb2wgUVNjcmlw
dFZhbHVlUHJpdmF0ZTo6aXNVbmRlZmluZWQoKQotewotICAgIHN3aXRjaCAobV9zdGF0ZSkgewot
ICAgIGNhc2UgQ1VuZGVmaW5lZDoKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgY2FzZSBKU1Zh
bHVlOgotICAgICAgICBpZiAocmVmaW5lZEpTVmFsdWUoKSAhPSBKU1ByaW1pdGl2ZSkKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgLy8gRmFsbC10aHJvdWdoLgotICAgIGNhc2Ug
SlNQcmltaXRpdmU6Ci0gICAgICAgIHJldHVybiBKU1ZhbHVlSXNVbmRlZmluZWQoKm1fZW5naW5l
LCAqdGhpcyk7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLX0K
LQotYm9vbCBRU2NyaXB0VmFsdWVQcml2YXRlOjppc0Vycm9yKCkKLXsKLSAgICBzd2l0Y2ggKG1f
c3RhdGUpIHsKLSAgICBjYXNlIEpTVmFsdWU6Ci0gICAgICAgIGlmIChyZWZpbmVkSlNWYWx1ZSgp
ICE9IEpTT2JqZWN0KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAvLyBGYWxs
LXRocm91Z2guCi0gICAgY2FzZSBKU09iamVjdDoKLSAgICAgICAgcmV0dXJuIG1fZW5naW5lLT5p
c0Vycm9yKCp0aGlzKTsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
fQotfQotCi1ib29sIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmlzT2JqZWN0KCkKLXsKLSAgICBzd2l0
Y2ggKG1fc3RhdGUpIHsKLSAgICBjYXNlIEpTVmFsdWU6Ci0gICAgICAgIHJldHVybiByZWZpbmVk
SlNWYWx1ZSgpID09IEpTT2JqZWN0OwotICAgIGNhc2UgSlNPYmplY3Q6Ci0gICAgICAgIHJldHVy
biB0cnVlOwotCi0gICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLX0K
LQotYm9vbCBRU2NyaXB0VmFsdWVQcml2YXRlOjppc0Z1bmN0aW9uKCkKLXsKLSAgICBzd2l0Y2gg
KG1fc3RhdGUpIHsKLSAgICBjYXNlIEpTVmFsdWU6Ci0gICAgICAgIGlmIChyZWZpbmVkSlNWYWx1
ZSgpICE9IEpTT2JqZWN0KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAvLyBG
YWxsLXRocm91Z2guCi0gICAgY2FzZSBKU09iamVjdDoKLSAgICAgICAgcmV0dXJuIEpTT2JqZWN0
SXNGdW5jdGlvbigqbV9lbmdpbmUsICp0aGlzKTsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgfQotfQotCi1ib29sIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmlzQXJyYXko
KQotewotICAgIHN3aXRjaCAobV9zdGF0ZSkgewotICAgIGNhc2UgSlNWYWx1ZToKLSAgICAgICAg
aWYgKHJlZmluZWRKU1ZhbHVlKCkgIT0gSlNPYmplY3QpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIC8vIEZhbGwtdGhyb3VnaC4KLSAgICBjYXNlIEpTT2JqZWN0OgotICAgICAg
ICByZXR1cm4gbV9lbmdpbmUtPmlzQXJyYXkoKnRoaXMpOwotICAgIGRlZmF1bHQ6Ci0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICB9Ci19Ci0KLWJvb2wgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6aXNE
YXRlKCkKLXsKLSAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKLSAgICBjYXNlIEpTVmFsdWU6Ci0gICAg
ICAgIGlmIChyZWZpbmVkSlNWYWx1ZSgpICE9IEpTT2JqZWN0KQotICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgICAgICAvLyBGYWxsLXRocm91Z2guCi0gICAgY2FzZSBKU09iamVjdDoKLSAg
ICAgICAgcmV0dXJuIG1fZW5naW5lLT5pc0RhdGUoKnRoaXMpOwotICAgIGRlZmF1bHQ6Ci0gICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci19Ci0KLVFTdHJpbmcgUVNjcmlwdFZhbHVlUHJpdmF0
ZTo6dG9TdHJpbmcoKSBjb25zdAotewotICAgIHN3aXRjaCAobV9zdGF0ZSkgewotICAgIGNhc2Ug
SW52YWxpZDoKLSAgICAgICAgcmV0dXJuIFFTdHJpbmcoKTsKLSAgICBjYXNlIENCb29sOgotICAg
ICAgICByZXR1cm4gdS5tX2Jvb2wgPyBRU3RyaW5nOjpmcm9tTGF0aW4xKCJ0cnVlIikgOiBRU3Ry
aW5nOjpmcm9tTGF0aW4xKCJmYWxzZSIpOwotICAgIGNhc2UgQ1N0cmluZzoKLSAgICAgICAgcmV0
dXJuICp1Lm1fc3RyaW5nOwotICAgIGNhc2UgQ051bWJlcjoKLSAgICAgICAgcmV0dXJuIFFTY3Jp
cHRDb252ZXJ0ZXI6OnRvU3RyaW5nKHUubV9udW1iZXIpOwotICAgIGNhc2UgQ051bGw6Ci0gICAg
ICAgIHJldHVybiBRU3RyaW5nOjpmcm9tTGF0aW4xKCJudWxsIik7Ci0gICAgY2FzZSBDVW5kZWZp
bmVkOgotICAgICAgICByZXR1cm4gUVN0cmluZzo6ZnJvbUxhdGluMSgidW5kZWZpbmVkIik7Ci0g
ICAgY2FzZSBKU1ZhbHVlOgotICAgIGNhc2UgSlNQcmltaXRpdmU6Ci0gICAgY2FzZSBKU09iamVj
dDoKLSAgICAgICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAgICAgICBKU1JldGFpblB0
cjxKU1N0cmluZ1JlZj4gcHRyKEFkb3B0LCBKU1ZhbHVlVG9TdHJpbmdDb3B5KCptX2VuZ2luZSwg
KnRoaXMsICZleGNlcHRpb24pKTsKLSAgICAgICAgbV9lbmdpbmUtPnNldEV4Y2VwdGlvbihleGNl
cHRpb24pOwotICAgICAgICByZXR1cm4gUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmcocHRyLmdl
dCgpKTsKLSAgICB9Ci0KLSAgICBRX0FTU0VSVF9YKGZhbHNlLCAidG9TdHJpbmcoKSIsICJOb3Qg
YWxsIHN0YXRlcyBhcmUgaW5jbHVkZWQgaW4gdGhlIHByZXZpb3VzIHN3aXRjaCBzdGF0ZW1lbnQu
Iik7Ci0gICAgcmV0dXJuIFFTdHJpbmcoKTsgLy8gQXZvaWQgY29tcGlsZXIgd2FybmluZy4KLX0K
LQotcXNyZWFsIFFTY3JpcHRWYWx1ZVByaXZhdGU6OnRvTnVtYmVyKCkgY29uc3QKLXsKLSAgICBz
d2l0Y2ggKG1fc3RhdGUpIHsKLSAgICBjYXNlIEpTVmFsdWU6Ci0gICAgY2FzZSBKU1ByaW1pdGl2
ZToKLSAgICBjYXNlIEpTT2JqZWN0OgotICAgICAgICB7Ci0gICAgICAgICAgICBKU1ZhbHVlUmVm
IGV4Y2VwdGlvbiA9IDA7Ci0gICAgICAgICAgICBxc3JlYWwgcmVzdWx0ID0gSlNWYWx1ZVRvTnVt
YmVyKCptX2VuZ2luZSwgKnRoaXMsICZleGNlcHRpb24pOwotICAgICAgICAgICAgbV9lbmdpbmUt
PnNldEV4Y2VwdGlvbihleGNlcHRpb24pOwotICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAg
ICAgICAgfQotICAgIGNhc2UgQ051bWJlcjoKLSAgICAgICAgcmV0dXJuIHUubV9udW1iZXI7Ci0g
ICAgY2FzZSBDQm9vbDoKLSAgICAgICAgcmV0dXJuIHUubV9ib29sID8gMSA6IDA7Ci0gICAgY2Fz
ZSBDTnVsbDoKLSAgICBjYXNlIEludmFsaWQ6Ci0gICAgICAgIHJldHVybiAwOwotICAgIGNhc2Ug
Q1VuZGVmaW5lZDoKLSAgICAgICAgcmV0dXJuIHFRTmFOKCk7Ci0gICAgY2FzZSBDU3RyaW5nOgot
ICAgICAgICBib29sIG9rOwotICAgICAgICBxc3JlYWwgcmVzdWx0ID0gdS5tX3N0cmluZy0+dG9E
b3VibGUoJm9rKTsKLSAgICAgICAgaWYgKG9rKQotICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
LSAgICAgICAgcmVzdWx0ID0gdS5tX3N0cmluZy0+dG9JbnQoJm9rLCAwKTsgLy8gVHJ5IG90aGVy
IGJhc2VzLgotICAgICAgICBpZiAob2spCi0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OwotICAg
ICAgICBpZiAoKnUubV9zdHJpbmcgPT0gIkluZmluaXR5IiB8fCAqdS5tX3N0cmluZyA9PSAiLUlu
ZmluaXR5IikKLSAgICAgICAgICAgIHJldHVybiBxSW5mKCk7Ci0gICAgICAgIHJldHVybiB1Lm1f
c3RyaW5nLT5sZW5ndGgoKSA/IHFRTmFOKCkgOiAwOwotICAgIH0KLQotICAgIFFfQVNTRVJUX1go
ZmFsc2UsICJ0b051bWJlcigpIiwgIk5vdCBhbGwgc3RhdGVzIGFyZSBpbmNsdWRlZCBpbiB0aGUg
cHJldmlvdXMgc3dpdGNoIHN0YXRlbWVudC4iKTsKLSAgICByZXR1cm4gMDsgLy8gQXZvaWQgY29t
cGlsZXIgd2FybmluZy4KLX0KLQotYm9vbCBRU2NyaXB0VmFsdWVQcml2YXRlOjp0b0Jvb2woKSBj
b25zdAotewotICAgIHN3aXRjaCAobV9zdGF0ZSkgewotICAgIGNhc2UgSlNWYWx1ZToKLSAgICBj
YXNlIEpTUHJpbWl0aXZlOgotICAgICAgICByZXR1cm4gSlNWYWx1ZVRvQm9vbGVhbigqbV9lbmdp
bmUsICp0aGlzKTsKLSAgICBjYXNlIEpTT2JqZWN0OgotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICBjYXNlIENOdW1iZXI6Ci0gICAgICAgIHJldHVybiAhKHFJc05hTih1Lm1fbnVtYmVyKSB8fCAh
dS5tX251bWJlcik7Ci0gICAgY2FzZSBDQm9vbDoKLSAgICAgICAgcmV0dXJuIHUubV9ib29sOwot
ICAgIGNhc2UgSW52YWxpZDoKLSAgICBjYXNlIENOdWxsOgotICAgIGNhc2UgQ1VuZGVmaW5lZDoK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGNhc2UgQ1N0cmluZzoKLSAgICAgICAgcmV0dXJu
IHUubV9zdHJpbmctPmxlbmd0aCgpOwotICAgIH0KLQotICAgIFFfQVNTRVJUX1goZmFsc2UsICJ0
b0Jvb2woKSIsICJOb3QgYWxsIHN0YXRlcyBhcmUgaW5jbHVkZWQgaW4gdGhlIHByZXZpb3VzIHN3
aXRjaCBzdGF0ZW1lbnQuIik7Ci0gICAgcmV0dXJuIGZhbHNlOyAvLyBBdm9pZCBjb21waWxlciB3
YXJuaW5nLgotfQotCi1xc3JlYWwgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6dG9JbnRlZ2VyKCkgY29u
c3QKLXsKLSAgICBxc3JlYWwgcmVzdWx0ID0gdG9OdW1iZXIoKTsKLSAgICBpZiAocUlzTmFOKHJl
c3VsdCkpCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmIChxSXNJbmYocmVzdWx0KSkKLSAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKLSAgICByZXR1cm4gKHJlc3VsdCA+IDApID8gcUZsb29yKHJlc3Vs
dCkgOiAtMSAqIHFGbG9vcigtcmVzdWx0KTsKLX0KLQotcWludDMyIFFTY3JpcHRWYWx1ZVByaXZh
dGU6OnRvSW50MzIoKSBjb25zdAotewotICAgIHFzcmVhbCByZXN1bHQgPSB0b0ludGVnZXIoKTsK
LSAgICAvLyBPcmdpbmFseSBpdCBzaG91bGQgbG9vayBsaWtlIHRoYXQgKHJlc3VsdCA9PSAwIHx8
IHFJc0luZihyZXN1bHQpIHx8IHFJc05hTihyZXN1bHQpKSwgYnV0Ci0gICAgLy8gc29tZSBvZiB0
aGVzZSBvcGVyYXRpb24gYXJlIGludm9rZWQgaW4gdG9JbnRlZ2VyIHN1YmNhbGwuCi0gICAgaWYg
KHFJc0luZihyZXN1bHQpKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gcmVzdWx0Owot
fQotCi1xdWludDMyIFFTY3JpcHRWYWx1ZVByaXZhdGU6OnRvVUludDMyKCkgY29uc3QKLXsKLSAg
ICBxc3JlYWwgcmVzdWx0ID0gdG9JbnRlZ2VyKCk7Ci0gICAgLy8gT3JnaW5hbHkgaXQgc2hvdWxk
IGxvb2sgbGlrZSB0aGF0IChyZXN1bHQgPT0gMCB8fCBxSXNJbmYocmVzdWx0KSB8fCBxSXNOYU4o
cmVzdWx0KSksIGJ1dAotICAgIC8vIHNvbWUgb2YgdGhlc2Ugb3BlcmF0aW9uIGFyZSBpbnZva2Vk
IGluIHRvSW50ZWdlciBzdWJjYWxsLgotICAgIGlmIChxSXNJbmYocmVzdWx0KSkKLSAgICAgICAg
cmV0dXJuIDA7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotcXVpbnQxNiBRU2NyaXB0VmFsdWVQ
cml2YXRlOjp0b1VJbnQxNigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRvSW50MzIoKTsKLX0KLQot
LyohCi0gIENyZWF0ZXMgYSBjb3B5IG9mIHRoaXMgdmFsdWUgYW5kIGNvbnZlcnRzIGl0IHRvIGFu
IG9iamVjdC4gSWYgdGhpcyB2YWx1ZSBpcyBhbiBvYmplY3QKLSAgdGhlbiBwb2ludGVyIHRvIHRo
aXMgdmFsdWUgd2lsbCBiZSByZXR1cm5lZC4KLSAgXGF0dGVudGlvbiBpdCBzaG91bGQgbm90IGhh
cHBlbiBidXQgaWYgdGhpcyB2YWx1ZSBpcyBib3VuZGVkIHRvIGEgZGlmZmVyZW50IGVuZ2luZSB0
aGF0IHRoZSBnaXZlbiwgdGhlIGZpcnN0Ci0gIG9uZSB3aWxsIGJlIHVzZWQuCi0gIFxpbnRlcm5h
bAotICAqLwotUVNjcmlwdFZhbHVlUHJpdmF0ZSogUVNjcmlwdFZhbHVlUHJpdmF0ZTo6dG9PYmpl
Y3QoUVNjcmlwdEVuZ2luZVByaXZhdGUqIGVuZ2luZSkKLXsKLSAgICBzd2l0Y2ggKG1fc3RhdGUp
IHsKLSAgICBjYXNlIEludmFsaWQ6Ci0gICAgY2FzZSBDTnVsbDoKLSAgICBjYXNlIENVbmRlZmlu
ZWQ6Ci0gICAgICAgIHJldHVybiBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZTsKLSAgICBjYXNlIENT
dHJpbmc6Ci0gICAgICAgIHsKLSAgICAgICAgICAgIC8vIEV4Y2VwdGlvbiBjYW4ndCBvY2N1ciBo
ZXJlLgotICAgICAgICAgICAgSlNPYmplY3RSZWYgb2JqZWN0ID0gSlNWYWx1ZVRvT2JqZWN0KCpl
bmdpbmUsIGVuZ2luZS0+bWFrZUpTVmFsdWUoKnUubV9zdHJpbmcpLCAvKiBleGNlcHRpb24gKi8g
MCk7Ci0gICAgICAgICAgICBRX0FTU0VSVChvYmplY3QpOwotICAgICAgICAgICAgcmV0dXJuIG5l
dyBRU2NyaXB0VmFsdWVQcml2YXRlKGVuZ2luZSwgb2JqZWN0KTsKLSAgICAgICAgfQotICAgIGNh
c2UgQ051bWJlcjoKLSAgICAgICAgewotICAgICAgICAgICAgLy8gRXhjZXB0aW9uIGNhbid0IG9j
Y3VyIGhlcmUuCi0gICAgICAgICAgICBKU09iamVjdFJlZiBvYmplY3QgPSBKU1ZhbHVlVG9PYmpl
Y3QoKmVuZ2luZSwgZW5naW5lLT5tYWtlSlNWYWx1ZSh1Lm1fbnVtYmVyKSwgLyogZXhjZXB0aW9u
ICovIDApOwotICAgICAgICAgICAgUV9BU1NFUlQob2JqZWN0KTsKLSAgICAgICAgICAgIHJldHVy
biBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZShlbmdpbmUsIG9iamVjdCk7Ci0gICAgICAgIH0KLSAg
ICBjYXNlIENCb29sOgotICAgICAgICB7Ci0gICAgICAgICAgICAvLyBFeGNlcHRpb24gY2FuJ3Qg
b2NjdXJlIGhlcmUuCi0gICAgICAgICAgICBKU09iamVjdFJlZiBvYmplY3QgPSBKU1ZhbHVlVG9P
YmplY3QoKmVuZ2luZSwgZW5naW5lLT5tYWtlSlNWYWx1ZSh1Lm1fYm9vbCksIC8qIGV4Y2VwdGlv
biAqLyAwKTsKLSAgICAgICAgICAgIFFfQVNTRVJUKG9iamVjdCk7Ci0gICAgICAgICAgICByZXR1
cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUoZW5naW5lLCBvYmplY3QpOwotICAgICAgICB9Ci0g
ICAgY2FzZSBKU1ZhbHVlOgotICAgICAgICBpZiAocmVmaW5lZEpTVmFsdWUoKSAhPSBKU1ByaW1p
dGl2ZSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAvLyBGYWxsLXRocm91Z2guCi0gICAg
Y2FzZSBKU1ByaW1pdGl2ZToKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKGVuZ2luZSAhPSB0
aGlzLT5lbmdpbmUoKSkKLSAgICAgICAgICAgICAgICBxV2FybmluZygiUVNjcmlwdEVuZ2luZTo6
dG9PYmplY3Q6IGNhbm5vdCBjb252ZXJ0IHZhbHVlIGNyZWF0ZWQgaW4gYSBkaWZmZXJlbnQgZW5n
aW5lIik7Ci0gICAgICAgICAgICBKU1ZhbHVlUmVmIGV4Y2VwdGlvbiA9IDA7Ci0gICAgICAgICAg
ICBKU09iamVjdFJlZiBvYmplY3QgPSBKU1ZhbHVlVG9PYmplY3QoKm1fZW5naW5lLCAqdGhpcywg
JmV4Y2VwdGlvbik7Ci0gICAgICAgICAgICBpZiAob2JqZWN0KQotICAgICAgICAgICAgICAgIHJl
dHVybiBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZShtX2VuZ2luZS5jb25zdERhdGEoKSwgb2JqZWN0
KTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBtX2VuZ2luZS0+c2V0RXhjZXB0
aW9uKGV4Y2VwdGlvbiwgUVNjcmlwdEVuZ2luZVByaXZhdGU6Ok5vdE51bGxFeGNlcHRpb24pOwot
Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlOwotICAg
IGNhc2UgSlNPYmplY3Q6Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLQotICAgIGlmIChlbmdpbmUg
IT0gdGhpcy0+ZW5naW5lKCkpCi0gICAgICAgIHFXYXJuaW5nKCJRU2NyaXB0RW5naW5lOjp0b09i
amVjdDogY2Fubm90IGNvbnZlcnQgdmFsdWUgY3JlYXRlZCBpbiBhIGRpZmZlcmVudCBlbmdpbmUi
KTsKLSAgICBRX0FTU0VSVChtX3N0YXRlID09IEpTT2JqZWN0KTsKLSAgICByZXR1cm4gdGhpczsK
LX0KLQotLyohCi0gIFRoaXMgbWV0aG9kIGlzIGNyZWF0ZWQgb25seSBmb3IgUVNjcmlwdFZhbHVl
Ojp0b09iamVjdCgpIHB1cnBvc2Ugd2hpY2ggaXMgb2Jzb2xldGUuCi0gIFxpbnRlcm5hbAotICov
Ci1RU2NyaXB0VmFsdWVQcml2YXRlKiBRU2NyaXB0VmFsdWVQcml2YXRlOjp0b09iamVjdCgpCi17
Ci0gICAgaWYgKGlzSlNCYXNlZCgpKQotICAgICAgICByZXR1cm4gdG9PYmplY3QobV9lbmdpbmUu
ZGF0YSgpKTsKLQotICAgIC8vIFdpdGhvdXQgYW4gZW5naW5lIHRoZXJlIGlzIG5vdCBtdWNoIHdl
IGNhbiBkby4KLSAgICByZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGU7Ci19Ci0KLVFEYXRl
VGltZSBRU2NyaXB0VmFsdWVQcml2YXRlOjp0b0RhdGVUaW1lKCkKLXsKLSAgICBpZiAoIWlzRGF0
ZSgpKQotICAgICAgICByZXR1cm4gUURhdGVUaW1lKCk7Ci0KLSAgICBKU1ZhbHVlUmVmIGV4Y2Vw
dGlvbiA9IDA7Ci0gICAgcXNyZWFsIHQgPSBKU1ZhbHVlVG9OdW1iZXIoKm1fZW5naW5lLCAqdGhp
cywgJmV4Y2VwdGlvbik7Ci0KLSAgICBpZiAoZXhjZXB0aW9uKSB7Ci0gICAgICAgIG1fZW5naW5l
LT5zZXRFeGNlcHRpb24oZXhjZXB0aW9uLCBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6Tm90TnVsbEV4
Y2VwdGlvbik7Ci0gICAgICAgIHJldHVybiBRRGF0ZVRpbWUoKTsKLSAgICB9Ci0KLSAgICBRRGF0
ZVRpbWUgcmVzdWx0OwotICAgIHJlc3VsdC5zZXRNU2Vjc1NpbmNlRXBvY2gocWludDY0KHQpKTsK
LSAgICByZXR1cm4gcmVzdWx0OwotfQotCi1pbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZSogUVNj
cmlwdFZhbHVlUHJpdmF0ZTo6cHJvdG90eXBlKCkKLXsKLSAgICBpZiAoaXNPYmplY3QoKSkgewot
ICAgICAgICBKU1ZhbHVlUmVmIHByb3RvdHlwZSA9IEpTT2JqZWN0R2V0UHJvdG90eXBlKCptX2Vu
Z2luZSwgKnRoaXMpOwotICAgICAgICBpZiAoSlNWYWx1ZUlzTnVsbCgqbV9lbmdpbmUsIHByb3Rv
dHlwZSkpCi0gICAgICAgICAgICByZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUoZW5naW5l
KCksIHByb3RvdHlwZSk7Ci0gICAgICAgIC8vIFRoZSBwcm90b3R5cGUgY291bGQgYmUgZWl0aGVy
IGEgbnVsbCBvciBhIEpTT2JqZWN0LCBzbyBpdCBpcyBzYWZlIHRvIGNhc3QgdGhlIHByb3RvdHlw
ZQotICAgICAgICAvLyB0byB0aGUgSlNPYmplY3RSZWYgaGVyZS4KLSAgICAgICAgcmV0dXJuIG5l
dyBRU2NyaXB0VmFsdWVQcml2YXRlKGVuZ2luZSgpLCBjb25zdF9jYXN0PEpTT2JqZWN0UmVmPihw
cm90b3R5cGUpKTsKLSAgICB9Ci0gICAgcmV0dXJuIG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlOwot
fQotCi1pbmxpbmUgdm9pZCBRU2NyaXB0VmFsdWVQcml2YXRlOjpzZXRQcm90b3R5cGUoUVNjcmlw
dFZhbHVlUHJpdmF0ZSogcHJvdG90eXBlKQotewotICAgIGlmIChpc09iamVjdCgpICYmIHByb3Rv
dHlwZS0+aXNWYWxpZCgpICYmIChwcm90b3R5cGUtPmlzT2JqZWN0KCkgfHwgcHJvdG90eXBlLT5p
c051bGwoKSkpIHsKLSAgICAgICAgaWYgKGVuZ2luZSgpICE9IHByb3RvdHlwZS0+ZW5naW5lKCkp
IHsKLSAgICAgICAgICAgIHFXYXJuaW5nKCJRU2NyaXB0VmFsdWU6OnNldFByb3RvdHlwZSgpIGZh
aWxlZDogY2Fubm90IHNldCBhIHByb3RvdHlwZSBjcmVhdGVkIGluIGEgZGlmZmVyZW50IGVuZ2lu
ZSIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIC8vIEZJWE1FOiBU
aGlzIGNvdWxkIGJlIHJlcGxhY2VkIGJ5IGEgbmV3LCBmYXN0ZXIgQVBJCi0gICAgICAgIC8vIGxv
b2sgYXQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwMDYwCi0gICAg
ICAgIEpTT2JqZWN0U2V0UHJvdG90eXBlKCptX2VuZ2luZSwgKnRoaXMsICpwcm90b3R5cGUpOwot
ICAgICAgICBKU1ZhbHVlUmVmIHByb3RvID0gSlNPYmplY3RHZXRQcm90b3R5cGUoKm1fZW5naW5l
LCAqdGhpcyk7Ci0gICAgICAgIGlmICghSlNWYWx1ZUlzU3RyaWN0RXF1YWwoKm1fZW5naW5lLCBw
cm90bywgKnByb3RvdHlwZSkpCi0gICAgICAgICAgICBxV2FybmluZygiUVNjcmlwdFZhbHVlOjpz
ZXRQcm90b3R5cGUoKSBmYWlsZWQ6IGN5Y2xpYyBwcm90b3R5cGUgdmFsdWUiKTsKLSAgICB9Ci19
Ci0KLWJvb2wgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6ZXF1YWxzKFFTY3JpcHRWYWx1ZVByaXZhdGUq
IG90aGVyKQotewotICAgIGlmICghaXNWYWxpZCgpKQotICAgICAgICByZXR1cm4gIW90aGVyLT5p
c1ZhbGlkKCk7Ci0KLSAgICBpZiAoIW90aGVyLT5pc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLQotICAgIGlmICghaXNKU0Jhc2VkKCkgJiYgIW90aGVyLT5pc0pTQmFzZWQoKSkgewot
ICAgICAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKLSAgICAgICAgY2FzZSBDTnVsbDoKLSAgICAgICAg
Y2FzZSBDVW5kZWZpbmVkOgotICAgICAgICAgICAgcmV0dXJuIG90aGVyLT5pc1VuZGVmaW5lZCgp
IHx8IG90aGVyLT5pc051bGwoKTsKLSAgICAgICAgY2FzZSBDTnVtYmVyOgotICAgICAgICAgICAg
c3dpdGNoIChvdGhlci0+bV9zdGF0ZSkgewotICAgICAgICAgICAgY2FzZSBDQm9vbDoKLSAgICAg
ICAgICAgIGNhc2UgQ1N0cmluZzoKLSAgICAgICAgICAgICAgICByZXR1cm4gdS5tX251bWJlciA9
PSBvdGhlci0+dG9OdW1iZXIoKTsKLSAgICAgICAgICAgIGNhc2UgQ051bWJlcjoKLSAgICAgICAg
ICAgICAgICByZXR1cm4gdS5tX251bWJlciA9PSBvdGhlci0+dS5tX251bWJlcjsKLSAgICAgICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAg
fQotICAgICAgICBjYXNlIENCb29sOgotICAgICAgICAgICAgc3dpdGNoIChvdGhlci0+bV9zdGF0
ZSkgewotICAgICAgICAgICAgY2FzZSBDQm9vbDoKLSAgICAgICAgICAgICAgICByZXR1cm4gdS5t
X2Jvb2wgPT0gb3RoZXItPnUubV9ib29sOwotICAgICAgICAgICAgY2FzZSBDTnVtYmVyOgotICAg
ICAgICAgICAgICAgIHJldHVybiB0b051bWJlcigpID09IG90aGVyLT51Lm1fbnVtYmVyOwotICAg
ICAgICAgICAgY2FzZSBDU3RyaW5nOgotICAgICAgICAgICAgICAgIHJldHVybiB0b051bWJlcigp
ID09IG90aGVyLT50b051bWJlcigpOwotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIGNhc2UgQ1N0cmluZzoK
LSAgICAgICAgICAgIHN3aXRjaCAob3RoZXItPm1fc3RhdGUpIHsKLSAgICAgICAgICAgIGNhc2Ug
Q0Jvb2w6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRvTnVtYmVyKCkgPT0gb3RoZXItPnRvTnVt
YmVyKCk7Ci0gICAgICAgICAgICBjYXNlIENOdW1iZXI6Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IHRvTnVtYmVyKCkgPT0gb3RoZXItPnUubV9udW1iZXI7Ci0gICAgICAgICAgICBjYXNlIENTdHJp
bmc6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICp1Lm1fc3RyaW5nID09ICpvdGhlci0+dS5tX3N0
cmluZzsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICAgICAgfQotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgUV9BU1NFUlRf
WChmYWxzZSwgImVxdWFscygpIiwgIk5vdCBhbGwgc3RhdGVzIGFyZSBpbmNsdWRlZCBpbiB0aGUg
cHJldmlvdXMgc3dpdGNoIHN0YXRlbWVudC4iKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlm
IChpc0pTQmFzZWQoKSAmJiAhb3RoZXItPmlzSlNCYXNlZCgpKSB7Ci0gICAgICAgIGlmICghb3Ro
ZXItPmFzc2lnbkVuZ2luZShlbmdpbmUoKSkpIHsKLSAgICAgICAgICAgIHFXYXJuaW5nKCJlcXVh
bHMoKTogQ2Fubm90IGNvbXBhcmUgdG8gYSB2YWx1ZSBjcmVhdGVkIGluIGEgZGlmZmVyZW50IGVu
Z2luZSIpOwotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgfSBlbHNl
IGlmICghaXNKU0Jhc2VkKCkgJiYgb3RoZXItPmlzSlNCYXNlZCgpKSB7Ci0gICAgICAgIGlmICgh
YXNzaWduRW5naW5lKG90aGVyLT5lbmdpbmUoKSkpIHsKLSAgICAgICAgICAgIHFXYXJuaW5nKCJl
cXVhbHMoKTogQ2Fubm90IGNvbXBhcmUgdG8gYSB2YWx1ZSBjcmVhdGVkIGluIGEgZGlmZmVyZW50
IGVuZ2luZSIpOwotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICB9Ci0gICAgfQot
Ci0gICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAgIGJvb2wgcmVzdWx0ID0gSlNWYWx1
ZUlzRXF1YWwoKm1fZW5naW5lLCAqdGhpcywgKm90aGVyLCAmZXhjZXB0aW9uKTsKLSAgICBtX2Vu
Z2luZS0+c2V0RXhjZXB0aW9uKGV4Y2VwdGlvbik7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQot
Ym9vbCBRU2NyaXB0VmFsdWVQcml2YXRlOjpzdHJpY3RseUVxdWFscyhRU2NyaXB0VmFsdWVQcml2
YXRlKiBvdGhlcikKLXsKLSAgICBpZiAoaXNKU0Jhc2VkKCkpIHsKLSAgICAgICAgLy8gV2UgY2Fu
J3QgY29tcGFyZSB0aGVzZSB0d28gdmFsdWVzIHdpdGhvdXQgYmluZGluZyB0byB0aGUgc2FtZSBl
bmdpbmUuCi0gICAgICAgIGlmICghb3RoZXItPmlzSlNCYXNlZCgpKSB7Ci0gICAgICAgICAgICBp
ZiAob3RoZXItPmFzc2lnbkVuZ2luZShlbmdpbmUoKSkpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IEpTVmFsdWVJc1N0cmljdEVxdWFsKCptX2VuZ2luZSwgKnRoaXMsICpvdGhlcik7Ci0gICAgICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKG90aGVyLT5lbmdpbmUo
KSAhPSBlbmdpbmUoKSkgewotICAgICAgICAgICAgcVdhcm5pbmcoInN0cmljdGx5RXF1YWxzKCk6
IENhbm5vdCBjb21wYXJlIHRvIGEgdmFsdWUgY3JlYXRlZCBpbiBhIGRpZmZlcmVudCBlbmdpbmUi
KTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4g
SlNWYWx1ZUlzU3RyaWN0RXF1YWwoKm1fZW5naW5lLCAqdGhpcywgKm90aGVyKTsKLSAgICB9Ci0g
ICAgaWYgKGlzU3RyaW5nQmFzZWQoKSkgewotICAgICAgICBpZiAob3RoZXItPmlzU3RyaW5nQmFz
ZWQoKSkKLSAgICAgICAgICAgIHJldHVybiAqdS5tX3N0cmluZyA9PSAqKG90aGVyLT51Lm1fc3Ry
aW5nKTsKLSAgICAgICAgaWYgKG90aGVyLT5pc0pTQmFzZWQoKSkgewotICAgICAgICAgICAgYXNz
aWduRW5naW5lKG90aGVyLT5lbmdpbmUoKSk7Ci0gICAgICAgICAgICByZXR1cm4gSlNWYWx1ZUlz
U3RyaWN0RXF1YWwoKm1fZW5naW5lLCAqdGhpcywgKm90aGVyKTsKLSAgICAgICAgfQotICAgIH0K
LSAgICBpZiAoaXNOdW1iZXJCYXNlZCgpKSB7Ci0gICAgICAgIGlmIChvdGhlci0+aXNOdW1iZXJC
YXNlZCgpKQotICAgICAgICAgICAgcmV0dXJuIHUubV9udW1iZXIgPT0gb3RoZXItPnUubV9udW1i
ZXI7Ci0gICAgICAgIGlmIChvdGhlci0+aXNKU0Jhc2VkKCkpIHsKLSAgICAgICAgICAgIGFzc2ln
bkVuZ2luZShvdGhlci0+ZW5naW5lKCkpOwotICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWVJc1N0
cmljdEVxdWFsKCptX2VuZ2luZSwgKnRoaXMsICpvdGhlcik7Ci0gICAgICAgIH0KLSAgICB9Ci0g
ICAgaWYgKCFpc1ZhbGlkKCkgJiYgIW90aGVyLT5pc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybiB0
cnVlOwotCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1pbmxpbmUgYm9vbCBRU2NyaXB0VmFsdWVQ
cml2YXRlOjppbnN0YW5jZU9mKFFTY3JpcHRWYWx1ZVByaXZhdGUqIG90aGVyKQotewotICAgIGlm
ICghaXNKU0Jhc2VkKCkgfHwgIW90aGVyLT5pc09iamVjdCgpKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAgIGJvb2wgcmVzdWx0ID0gSlNW
YWx1ZUlzSW5zdGFuY2VPZkNvbnN0cnVjdG9yKCptX2VuZ2luZSwgKnRoaXMsICpvdGhlciwgJmV4
Y2VwdGlvbik7Ci0gICAgbV9lbmdpbmUtPnNldEV4Y2VwdGlvbihleGNlcHRpb24pOwotICAgIHJl
dHVybiByZXN1bHQ7Ci19Ci0KLS8qIQotICBUcmllcyB0byBhc3NpZ24gXGEgZW5naW5lIHRvIHRo
aXMgdmFsdWUuIFJldHVybnMgdHJ1ZSBvbiBzdWNjZXNzOyBvdGhlcndpc2UgcmV0dXJucyBmYWxz
ZS4KLSovCi1ib29sIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmFzc2lnbkVuZ2luZShRU2NyaXB0RW5n
aW5lUHJpdmF0ZSogZW5naW5lKQotewotICAgIFFfQVNTRVJUKGVuZ2luZSk7Ci0gICAgSlNWYWx1
ZVJlZiB2YWx1ZTsKLSAgICBzd2l0Y2ggKG1fc3RhdGUpIHsKLSAgICBjYXNlIENCb29sOgotICAg
ICAgICB2YWx1ZSA9IGVuZ2luZS0+bWFrZUpTVmFsdWUodS5tX2Jvb2wpOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIENTdHJpbmc6Ci0gICAgICAgIHZhbHVlID0gZW5naW5lLT5tYWtlSlNWYWx1
ZSgqdS5tX3N0cmluZyk7Ci0gICAgICAgIGRlbGV0ZSB1Lm1fc3RyaW5nOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIENOdW1iZXI6Ci0gICAgICAgIHZhbHVlID0gZW5naW5lLT5tYWtlSlNWYWx1
ZSh1Lm1fbnVtYmVyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDTnVsbDoKLSAgICAgICAg
dmFsdWUgPSBlbmdpbmUtPm1ha2VKU1ZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDVW5kZWZpbmVkOgotICAgICAgICB2YWx1ZSA9IGVuZ2lu
ZS0+bWFrZUpTVmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSk7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIGlmICghaXNKU0Jhc2VkKCkpCi0gICAgICAgICAg
ICBRX0FTU0VSVF9YKCFpc0pTQmFzZWQoKSwgImFzc2lnbkVuZ2luZSgpIiwgIk5vdCBhbGwgc3Rh
dGVzIGFyZSBpbmNsdWRlZCBpbiB0aGUgcHJldmlvdXMgc3dpdGNoIHN0YXRlbWVudC4iKTsKLSAg
ICAgICAgZWxzZQotICAgICAgICAgICAgcVdhcm5pbmcoIkpTVmFsdWUgY2FuJ3QgYmUgcmFzc2ln
bmVkIHRvIGFuIGFub3RoZXIgZW5naW5lLiIpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
fQotICAgIG1fZW5naW5lID0gZW5naW5lOwotICAgIG1fc3RhdGUgPSBKU1ByaW1pdGl2ZTsKLSAg
ICB1Lm1fdmFsdWUgPSB2YWx1ZTsKLSAgICBKU1ZhbHVlUHJvdGVjdCgqbV9lbmdpbmUsIHZhbHVl
KTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotaW5saW5lIFFTY3JpcHRWYWx1ZVByaXZhdGUqIFFT
Y3JpcHRWYWx1ZVByaXZhdGU6OnByb3BlcnR5KGNvbnN0IFFTdHJpbmcmIG5hbWUsIGNvbnN0IFFT
Y3JpcHRWYWx1ZTo6UmVzb2x2ZUZsYWdzJiBtb2RlKQotewotICAgIEpTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBwcm9wZXJ0eU5hbWUoQWRvcHQsIFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKG5h
bWUpKTsKLSAgICByZXR1cm4gcHJvcGVydHk8SlNTdHJpbmdSZWY+KHByb3BlcnR5TmFtZS5nZXQo
KSwgbW9kZSk7Ci19Ci0KLWlubGluZSBRU2NyaXB0VmFsdWVQcml2YXRlKiBRU2NyaXB0VmFsdWVQ
cml2YXRlOjpwcm9wZXJ0eShjb25zdCBRU2NyaXB0U3RyaW5nUHJpdmF0ZSogbmFtZSwgY29uc3Qg
UVNjcmlwdFZhbHVlOjpSZXNvbHZlRmxhZ3MmIG1vZGUpCi17Ci0gICAgcmV0dXJuIHByb3BlcnR5
PEpTU3RyaW5nUmVmPigqbmFtZSwgbW9kZSk7Ci19Ci0KLWlubGluZSBRU2NyaXB0VmFsdWVQcml2
YXRlKiBRU2NyaXB0VmFsdWVQcml2YXRlOjpwcm9wZXJ0eShxdWludDMyIGFycmF5SW5kZXgsIGNv
bnN0IFFTY3JpcHRWYWx1ZTo6UmVzb2x2ZUZsYWdzJiBtb2RlKQotewotICAgIHJldHVybiBwcm9w
ZXJ0eTxxdWludDMyPihhcnJheUluZGV4LCBtb2RlKTsKLX0KLQotLyohCi0gICAgXGludGVybmFs
Ci0gICAgVGhpcyBtZXRob2Qgd2FzIGNyZWF0ZWQgdG8gdW5pZnkgYWNjZXNzIHRvIHRoZSBKU09i
amVjdEdldFByb3BlcnR5QXRJbmRleCBhbmQgdGhlIEpTT2JqZWN0R2V0UHJvcGVydHkuCi0qLwot
aW5saW5lIEpTVmFsdWVSZWYgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6cHJvcGVydHkocXVpbnQzMiBw
cm9wZXJ0eSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQotewotICAgIHJldHVybiBKU09iamVjdEdl
dFByb3BlcnR5QXRJbmRleCgqbV9lbmdpbmUsICp0aGlzLCBwcm9wZXJ0eSwgZXhjZXB0aW9uKTsK
LX0KLQotLyohCi0gICAgXGludGVybmFsCi0gICAgVGhpcyBtZXRob2Qgd2FzIGNyZWF0ZWQgdG8g
dW5pZnkgYWNjZXNzIHRvIHRoZSBKU09iamVjdEdldFByb3BlcnR5QXRJbmRleCBhbmQgdGhlIEpT
T2JqZWN0R2V0UHJvcGVydHkuCi0qLwotaW5saW5lIEpTVmFsdWVSZWYgUVNjcmlwdFZhbHVlUHJp
dmF0ZTo6cHJvcGVydHkoSlNTdHJpbmdSZWYgcHJvcGVydHksIEpTVmFsdWVSZWYqIGV4Y2VwdGlv
bikKLXsKLSAgICByZXR1cm4gSlNPYmplY3RHZXRQcm9wZXJ0eSgqbV9lbmdpbmUsICp0aGlzLCBw
cm9wZXJ0eSwgZXhjZXB0aW9uKTsKLX0KLQotLyohCi0gICAgXGludGVybmFsCi0gICAgVGhpcyBt
ZXRob2Qgd2FzIGNyZWF0ZWQgdG8gdW5pZnkgYWNjY2VzcyB0byBoYXNPd25Qcm9wZXJ0eSwgc2Ft
ZSBmdW5jdGlvbiBmb3IgYW4gYXJyYXkgaW5kZXgKLSAgICBhbmQgYSBwcm9wZXJ0eSBuYW1lIGFj
Y2Vzcy4KLSovCi1pbmxpbmUgYm9vbCBRU2NyaXB0VmFsdWVQcml2YXRlOjpoYXNPd25Qcm9wZXJ0
eShxdWludDMyIHByb3BlcnR5KQotewotICAgIFFfQVNTRVJUKGlzT2JqZWN0KCkpOwotICAgIC8v
IEZJWE1FIGl0IGNvdWxkIGJlIGZhc3RlciwgYnV0IEpTQyBDIEFQSSBkb2Vzbid0IGV4cG9zZSBu
ZWVkZWQgZnVuY3Rpb25hbGl0eS4KLSAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gcHJvcGVy
dHlOYW1lKEFkb3B0LCBRU2NyaXB0Q29udmVydGVyOjp0b1N0cmluZyhRU3RyaW5nOjpudW1iZXIo
cHJvcGVydHkpKSk7Ci0gICAgcmV0dXJuIGhhc093blByb3BlcnR5KHByb3BlcnR5TmFtZS5nZXQo
KSk7Ci19Ci0KLS8qIQotICAgIFxpbnRlcm5hbAotICAgIFRoaXMgbWV0aG9kIHdhcyBjcmVhdGVk
IHRvIHVuaWZ5IGFjY2Nlc3MgdG8gaGFzT3duUHJvcGVydHksIHNhbWUgZnVuY3Rpb24gZm9yIGFu
IGFycmF5IGluZGV4Ci0gICAgYW5kIGEgcHJvcGVydHkgbmFtZSBhY2Nlc3MuCi0qLwotaW5saW5l
IGJvb2wgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6aGFzT3duUHJvcGVydHkoSlNTdHJpbmdSZWYgcHJv
cGVydHkpCi17Ci0gICAgUV9BU1NFUlQoaXNPYmplY3QoKSk7Ci0gICAgcmV0dXJuIG1fZW5naW5l
LT5vYmplY3RIYXNPd25Qcm9wZXJ0eSgqdGhpcywgcHJvcGVydHkpOwotfQotCi0vKiEKLSAgICBc
aW50ZXJuYWwKLSAgICBUaGlzIGZ1bmN0aW9uIGdldHMgcHJvcGVydHkgb2YgYW4gb2JqZWN0Lgot
ICAgIFxhcmcgcHJvcGVydHlOYW1lIGNvdWxkIGJlIHR5cGUgb2YgcXVpbnQzMiAoYW4gYXJyYXkg
aW5kZXgpIG9yIEpTU3RyaW5nUmVmIChhIHByb3BlcnR5IG5hbWUpLgotKi8KLXRlbXBsYXRlPHR5
cGVuYW1lIFQ+Ci1pbmxpbmUgUVNjcmlwdFZhbHVlUHJpdmF0ZSogUVNjcmlwdFZhbHVlUHJpdmF0
ZTo6cHJvcGVydHkoVCBwcm9wZXJ0eU5hbWUsIGNvbnN0IFFTY3JpcHRWYWx1ZTo6UmVzb2x2ZUZs
YWdzJiBtb2RlKQotewotICAgIGlmICghaXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIG5ldyBR
U2NyaXB0VmFsdWVQcml2YXRlKCk7Ci0KLSAgICBpZiAoKG1vZGUgPT0gUVNjcmlwdFZhbHVlOjpS
ZXNvbHZlTG9jYWwpICYmICghaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSkpCi0gICAgICAg
IHJldHVybiBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZSgpOwotCi0gICAgSlNWYWx1ZVJlZiBleGNl
cHRpb24gPSAwOwotICAgIEpTVmFsdWVSZWYgdmFsdWUgPSBwcm9wZXJ0eShwcm9wZXJ0eU5hbWUs
ICZleGNlcHRpb24pOwotCi0gICAgaWYgKGV4Y2VwdGlvbikgewotICAgICAgICBtX2VuZ2luZS0+
c2V0RXhjZXB0aW9uKGV4Y2VwdGlvbiwgUVNjcmlwdEVuZ2luZVByaXZhdGU6Ok5vdE51bGxFeGNl
cHRpb24pOwotICAgICAgICByZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUoZW5naW5lKCks
IGV4Y2VwdGlvbik7Ci0gICAgfQotICAgIGlmIChKU1ZhbHVlSXNVbmRlZmluZWQoKm1fZW5naW5l
LCB2YWx1ZSkpCi0gICAgICAgIHJldHVybiBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZTsKLSAgICBy
ZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUoZW5naW5lKCksIHZhbHVlKTsKLX0KLQotaW5s
aW5lIHZvaWQgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6c2V0UHJvcGVydHkoY29uc3QgUVN0cmluZyYg
bmFtZSwgUVNjcmlwdFZhbHVlUHJpdmF0ZSogdmFsdWUsIGNvbnN0IFFTY3JpcHRWYWx1ZTo6UHJv
cGVydHlGbGFncyYgZmxhZ3MpCi17Ci0gICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHByb3Bl
cnR5TmFtZShBZG9wdCwgUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmcobmFtZSkpOwotICAgIHNl
dFByb3BlcnR5PEpTU3RyaW5nUmVmPihwcm9wZXJ0eU5hbWUuZ2V0KCksIHZhbHVlLCBmbGFncyk7
Ci19Ci0KLWlubGluZSB2b2lkIFFTY3JpcHRWYWx1ZVByaXZhdGU6OnNldFByb3BlcnR5KHF1aW50
MzIgYXJyYXlJbmRleCwgUVNjcmlwdFZhbHVlUHJpdmF0ZSogdmFsdWUsIGNvbnN0IFFTY3JpcHRW
YWx1ZTo6UHJvcGVydHlGbGFncyYgZmxhZ3MpCi17Ci0gICAgc2V0UHJvcGVydHk8cXVpbnQzMj4o
YXJyYXlJbmRleCwgdmFsdWUsIGZsYWdzKTsKLX0KLQotaW5saW5lIHZvaWQgUVNjcmlwdFZhbHVl
UHJpdmF0ZTo6c2V0UHJvcGVydHkoY29uc3QgUVNjcmlwdFN0cmluZ1ByaXZhdGUqIG5hbWUsIFFT
Y3JpcHRWYWx1ZVByaXZhdGUqIHZhbHVlLCBjb25zdCBRU2NyaXB0VmFsdWU6OlByb3BlcnR5Rmxh
Z3MmIGZsYWdzKQotewotICAgIHNldFByb3BlcnR5PEpTU3RyaW5nUmVmPigqbmFtZSwgdmFsdWUs
IGZsYWdzKTsKLX0KLQotLyohCi0gICAgXGludGVybmFsCi0gICAgVGhpcyBtZXRob2Qgd2FzIGNy
ZWF0ZWQgdG8gdW5pZnkgYWNjZXNzIHRvIHRoZSBKU09iamVjdFNldFByb3BlcnR5QXRJbmRleCBh
bmQgdGhlIEpTT2JqZWN0U2V0UHJvcGVydHkuCi0qLwotaW5saW5lIHZvaWQgUVNjcmlwdFZhbHVl
UHJpdmF0ZTo6c2V0UHJvcGVydHkocXVpbnQzMiBwcm9wZXJ0eSwgSlNWYWx1ZVJlZiB2YWx1ZSwg
SlNQcm9wZXJ0eUF0dHJpYnV0ZXMgZmxhZ3MsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKLXsKLSAg
ICBRX0FTU0VSVChpc09iamVjdCgpKTsKLSAgICBpZiAoZmxhZ3MpIHsKLSAgICAgICAgLy8gRklY
TUUgVGhpcyBjb3VsZCBiZSBiZXR0ZXIsIGJ1dCBKU0MgQyBBUEkgZG9lc24ndCBleHBvc2UgbmVl
ZGVkIGZ1bmN0aW9uYWxpdHkuIEl0IGlzCi0gICAgICAgIC8vIG5vdCBwb3NzaWJsZSB0byBjcmVh
dGUgLyBtb2RpZnkgYSBwcm9wZXJ0eSBhdHRyaWJ1dGUgdmlhIGFuIGFycmF5IGluZGV4LgotICAg
ICAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gcHJvcGVydHlOYW1lKEFkb3B0LCBRU2NyaXB0
Q29udmVydGVyOjp0b1N0cmluZyhRU3RyaW5nOjpudW1iZXIocHJvcGVydHkpKSk7Ci0gICAgICAg
IEpTT2JqZWN0U2V0UHJvcGVydHkoKm1fZW5naW5lLCAqdGhpcywgcHJvcGVydHlOYW1lLmdldCgp
LCB2YWx1ZSwgZmxhZ3MsIGV4Y2VwdGlvbik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAg
SlNPYmplY3RTZXRQcm9wZXJ0eUF0SW5kZXgoKm1fZW5naW5lLCAqdGhpcywgcHJvcGVydHksIHZh
bHVlLCBleGNlcHRpb24pOwotfQotCi0vKiEKLSAgICBcaW50ZXJuYWwKLSAgICBUaGlzIG1ldGhv
ZCB3YXMgY3JlYXRlZCB0byB1bmlmeSBhY2Nlc3MgdG8gdGhlIEpTT2JqZWN0U2V0UHJvcGVydHlB
dEluZGV4IGFuZCB0aGUgSlNPYmplY3RTZXRQcm9wZXJ0eS4KLSovCi1pbmxpbmUgdm9pZCBRU2Ny
aXB0VmFsdWVQcml2YXRlOjpzZXRQcm9wZXJ0eShKU1N0cmluZ1JlZiBwcm9wZXJ0eSwgSlNWYWx1
ZVJlZiB2YWx1ZSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgZmxhZ3MsIEpTVmFsdWVSZWYqIGV4Y2Vw
dGlvbikKLXsKLSAgICBRX0FTU0VSVChpc09iamVjdCgpKTsKLSAgICBKU09iamVjdFNldFByb3Bl
cnR5KCptX2VuZ2luZSwgKnRoaXMsIHByb3BlcnR5LCB2YWx1ZSwgZmxhZ3MsIGV4Y2VwdGlvbik7
Ci19Ci0KLS8qIQotICAgIFxpbnRlcm5hbAotICAgIFRoaXMgbWV0aG9kIHdhcyBjcmVhdGVkIHRv
IHVuaWZ5IGFjY2VzcyB0byB0aGUgSlNPYmplY3REZWxldGVQcm9wZXJ0eSBhbmQgYSB0ZW9yZXRp
Y2FsIEpTT2JqZWN0RGVsZXRlUHJvcGVydHlBdEluZGV4Ci0gICAgd2hpY2ggZG9lc24ndCBleGlz
dCBub3cuCi0qLwotaW5saW5lIHZvaWQgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6ZGVsZXRlUHJvcGVy
dHkocXVpbnQzMiBwcm9wZXJ0eSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQotewotICAgIC8vIEZJ
WE1FIEl0IGNvdWxkIGJlIGZhc3Rlciwgd2UgbmVlZCBhIEpTQyBDIEFQSSBmb3IgZGVsZXRpbmcg
YXJyYXkgaW5kZXggcHJvcGVydGllcy4KLSAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gcHJv
cGVydHlOYW1lKEFkb3B0LCBRU2NyaXB0Q29udmVydGVyOjp0b1N0cmluZyhRU3RyaW5nOjpudW1i
ZXIocHJvcGVydHkpKSk7Ci0gICAgSlNPYmplY3REZWxldGVQcm9wZXJ0eSgqbV9lbmdpbmUsICp0
aGlzLCBwcm9wZXJ0eU5hbWUuZ2V0KCksIGV4Y2VwdGlvbik7Ci19Ci0KLS8qIQotICAgIFxpbnRl
cm5hbAotICAgIFRoaXMgbWV0aG9kIHdhcyBjcmVhdGVkIHRvIHVuaWZ5IGFjY2VzcyB0byB0aGUg
SlNPYmplY3REZWxldGVQcm9wZXJ0eSBhbmQgYSB0ZW9yZXRpY2FsIEpTT2JqZWN0RGVsZXRlUHJv
cGVydHlBdEluZGV4LgotKi8KLWlubGluZSB2b2lkIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmRlbGV0
ZVByb3BlcnR5KEpTU3RyaW5nUmVmIHByb3BlcnR5LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCi17
Ci0gICAgUV9BU1NFUlQoaXNPYmplY3QoKSk7Ci0gICAgSlNPYmplY3REZWxldGVQcm9wZXJ0eSgq
bV9lbmdpbmUsICp0aGlzLCBwcm9wZXJ0eSwgZXhjZXB0aW9uKTsKLX0KLQotdGVtcGxhdGU8dHlw
ZW5hbWUgVD4KLWlubGluZSB2b2lkIFFTY3JpcHRWYWx1ZVByaXZhdGU6OnNldFByb3BlcnR5KFQg
bmFtZSwgUVNjcmlwdFZhbHVlUHJpdmF0ZSogdmFsdWUsIGNvbnN0IFFTY3JpcHRWYWx1ZTo6UHJv
cGVydHlGbGFncyYgZmxhZ3MpCi17Ci0gICAgaWYgKCFpc09iamVjdCgpKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBpZiAoIXZhbHVlLT5pc0pTQmFzZWQoKSkKLSAgICAgICAgdmFsdWUtPmFzc2ln
bkVuZ2luZShlbmdpbmUoKSk7Ci0KLSAgICBKU1ZhbHVlUmVmIGV4Y2VwdGlvbiA9IDA7Ci0gICAg
aWYgKCF2YWx1ZS0+aXNWYWxpZCgpKSB7Ci0gICAgICAgIC8vIFJlbW92ZSB0aGUgcHJvcGVydHku
Ci0gICAgICAgIGRlbGV0ZVByb3BlcnR5KG5hbWUsICZleGNlcHRpb24pOwotICAgICAgICBtX2Vu
Z2luZS0+c2V0RXhjZXB0aW9uKGV4Y2VwdGlvbik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0g
ICAgaWYgKG1fZW5naW5lICE9IHZhbHVlLT5tX2VuZ2luZSkgewotICAgICAgICBxV2FybmluZygi
UVNjcmlwdFZhbHVlOjpzZXRQcm9wZXJ0eSgpIGZhaWxlZDogY2Fubm90IHNldCB2YWx1ZSBjcmVh
dGVkIGluIGEgZGlmZmVyZW50IGVuZ2luZSIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgc2V0UHJvcGVydHkobmFtZSwgKnZhbHVlLCBRU2NyaXB0Q29udmVydGVyOjp0b1Byb3BlcnR5
RmxhZ3MoZmxhZ3MpLCAmZXhjZXB0aW9uKTsKLSAgICBtX2VuZ2luZS0+c2V0RXhjZXB0aW9uKGV4
Y2VwdGlvbik7Ci19Ci0KLWlubGluZSBRU2NyaXB0VmFsdWU6OlByb3BlcnR5RmxhZ3MgUVNjcmlw
dFZhbHVlUHJpdmF0ZTo6cHJvcGVydHlGbGFncyhjb25zdCBRU3RyaW5nJiBuYW1lLCBjb25zdCBR
U2NyaXB0VmFsdWU6OlJlc29sdmVGbGFncyYgbW9kZSkKLXsKLSAgICBKU1JldGFpblB0cjxKU1N0
cmluZ1JlZj4gcHJvcGVydHlOYW1lKEFkb3B0LCBRU2NyaXB0Q29udmVydGVyOjp0b1N0cmluZyhu
YW1lKSk7Ci0gICAgcmV0dXJuIHByb3BlcnR5RmxhZ3MocHJvcGVydHlOYW1lLmdldCgpLCBtb2Rl
KTsKLX0KLQotaW5saW5lIFFTY3JpcHRWYWx1ZTo6UHJvcGVydHlGbGFncyBRU2NyaXB0VmFsdWVQ
cml2YXRlOjpwcm9wZXJ0eUZsYWdzKGNvbnN0IFFTY3JpcHRTdHJpbmdQcml2YXRlKiBuYW1lLCBj
b25zdCBRU2NyaXB0VmFsdWU6OlJlc29sdmVGbGFncyYgbW9kZSkKLXsKLSAgICByZXR1cm4gcHJv
cGVydHlGbGFncygqbmFtZSwgbW9kZSk7Ci19Ci0KLWlubGluZSBRU2NyaXB0VmFsdWU6OlByb3Bl
cnR5RmxhZ3MgUVNjcmlwdFZhbHVlUHJpdmF0ZTo6cHJvcGVydHlGbGFncyhKU1N0cmluZ1JlZiBu
YW1lLCBjb25zdCBRU2NyaXB0VmFsdWU6OlJlc29sdmVGbGFncyYgbW9kZSkKLXsKLSAgICB1bnNp
Z25lZCBmbGFncyA9IDA7Ci0gICAgaWYgKCFpc09iamVjdCgpKQotICAgICAgICByZXR1cm4gUVNj
cmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdzKGZsYWdzKTsKLQotICAgIC8vIEZJWE1FIEl0IGNvdWxk
IGJlIGZhc3RlciBhbmQgbmljZXIsIGJ1dCBuZXcgSlNDIEMgQVBJIHNob3VsZCBiZSBjcmVhdGVk
LgotICAgIHN0YXRpYyBKU1N0cmluZ1JlZiBvYmplY3ROYW1lID0gUVNjcmlwdENvbnZlcnRlcjo6
dG9TdHJpbmcoIk9iamVjdCIpOwotICAgIHN0YXRpYyBKU1N0cmluZ1JlZiBwcm9wZXJ0eURlc2Ny
aXB0b3JOYW1lID0gUVNjcmlwdENvbnZlcnRlcjo6dG9TdHJpbmcoImdldE93blByb3BlcnR5RGVz
Y3JpcHRvciIpOwotCi0gICAgLy8gRklYTUUgVGhpcyBpcyBkYW5nZXJvdXMgaWYgZ2xvYmFsIG9i
amVjdCB3YXMgbW9kaWZpZWQgKGJ1ZyA0MTgzOSkuCi0gICAgSlNWYWx1ZVJlZiBleGNlcHRpb24g
PSAwOwotICAgIEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCA9IEpTQ29udGV4dEdldEdsb2JhbE9i
amVjdCgqbV9lbmdpbmUpOwotICAgIEpTVmFsdWVSZWYgb2JqZWN0Q29uc3RydWN0b3IgPSBKU09i
amVjdEdldFByb3BlcnR5KCptX2VuZ2luZSwgZ2xvYmFsT2JqZWN0LCBvYmplY3ROYW1lLCAmZXhj
ZXB0aW9uKTsKLSAgICBRX0FTU0VSVChKU1ZhbHVlSXNPYmplY3QoKm1fZW5naW5lLCBvYmplY3RD
b25zdHJ1Y3RvcikpOwotICAgIEpTVmFsdWVSZWYgcHJvcGVydHlEZXNjcmlwdG9yR2V0dGVyID0g
SlNPYmplY3RHZXRQcm9wZXJ0eSgqbV9lbmdpbmUsIGNvbnN0X2Nhc3Q8SlNPYmplY3RSZWY+KG9i
amVjdENvbnN0cnVjdG9yKSwgcHJvcGVydHlEZXNjcmlwdG9yTmFtZSwgJmV4Y2VwdGlvbik7Ci0g
ICAgUV9BU1NFUlQoSlNWYWx1ZUlzT2JqZWN0KCptX2VuZ2luZSwgcHJvcGVydHlEZXNjcmlwdG9y
R2V0dGVyKSk7Ci0KLSAgICBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdID0geyAqdGhpcywgSlNWYWx1
ZU1ha2VTdHJpbmcoKm1fZW5naW5lLCBuYW1lKSB9OwotICAgIEpTT2JqZWN0UmVmIHByb3BlcnR5
RGVzY3JpcHRvcgotICAgICAgICAgICAgPSBjb25zdF9jYXN0PEpTT2JqZWN0UmVmPihKU09iamVj
dENhbGxBc0Z1bmN0aW9uKCptX2VuZ2luZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0X2Nhc3Q8SlNPYmplY3RSZWY+KHBy
b3BlcnR5RGVzY3JpcHRvckdldHRlciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0aGlzT2JqZWN0ICovIDAsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBh
cmd1bWVudENvdW50ICovIDIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudHMsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXhjZXB0aW9uKSk7Ci0gICAg
aWYgKGV4Y2VwdGlvbikgewotICAgICAgICAvLyBJbnZhbGlkIHByb3BlcnR5LgotICAgICAgICBy
ZXR1cm4gUVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdzKGZsYWdzKTsKLSAgICB9Ci0KLSAgICBp
ZiAoIUpTVmFsdWVJc09iamVjdCgqbV9lbmdpbmUsIHByb3BlcnR5RGVzY3JpcHRvcikpIHsKLSAg
ICAgICAgLy8gUHJvcGVydHkgaXNuJ3Qgb3duZWQgYnkgdGhpcyBvYmplY3QuCi0gICAgICAgIEpT
T2JqZWN0UmVmIHByb3RvOwotICAgICAgICBpZiAobW9kZSA9PSBRU2NyaXB0VmFsdWU6OlJlc29s
dmVMb2NhbAotICAgICAgICAgICAgICAgIHx8ICgocHJvdG8gPSBjb25zdF9jYXN0PEpTT2JqZWN0
UmVmPihKU09iamVjdEdldFByb3RvdHlwZSgqbV9lbmdpbmUsICp0aGlzKSkpICYmIEpTVmFsdWVJ
c051bGwoKm1fZW5naW5lLCBwcm90bykpKSB7Ci0gICAgICAgICAgICByZXR1cm4gUVNjcmlwdFZh
bHVlOjpQcm9wZXJ0eUZsYWdzKGZsYWdzKTsKLSAgICAgICAgfQotICAgICAgICBRU2NyaXB0VmFs
dWVQcml2YXRlIHAoZW5naW5lKCksIHByb3RvKTsKLSAgICAgICAgcmV0dXJuIHAucHJvcGVydHlG
bGFncyhuYW1lLCBRU2NyaXB0VmFsdWU6OlJlc29sdmVQcm90b3R5cGUpOwotICAgIH0KLQotICAg
IHN0YXRpYyBKU1N0cmluZ1JlZiB3cml0YWJsZU5hbWUgPSBRU2NyaXB0Q29udmVydGVyOjp0b1N0
cmluZygid3JpdGFibGUiKTsKLSAgICBzdGF0aWMgSlNTdHJpbmdSZWYgY29uZmlndXJhYmxlTmFt
ZSA9IFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKCJjb25maWd1cmFibGUiKTsKLSAgICBzdGF0
aWMgSlNTdHJpbmdSZWYgZW51bWVyYWJsZU5hbWUgPSBRU2NyaXB0Q29udmVydGVyOjp0b1N0cmlu
ZygiZW51bWVyYWJsZSIpOwotCi0gICAgYm9vbCByZWFkT25seSA9ICFKU1ZhbHVlVG9Cb29sZWFu
KCptX2VuZ2luZSwgSlNPYmplY3RHZXRQcm9wZXJ0eSgqbV9lbmdpbmUsIHByb3BlcnR5RGVzY3Jp
cHRvciwgd3JpdGFibGVOYW1lLCAmZXhjZXB0aW9uKSk7Ci0gICAgaWYgKCFleGNlcHRpb24gJiYg
cmVhZE9ubHkpCi0gICAgICAgIGZsYWdzIHw9IFFTY3JpcHRWYWx1ZTo6UmVhZE9ubHk7Ci0gICAg
Ym9vbCB1bmRlbGV0YWJsZSA9ICFKU1ZhbHVlVG9Cb29sZWFuKCptX2VuZ2luZSwgSlNPYmplY3RH
ZXRQcm9wZXJ0eSgqbV9lbmdpbmUsIHByb3BlcnR5RGVzY3JpcHRvciwgY29uZmlndXJhYmxlTmFt
ZSwgJmV4Y2VwdGlvbikpOwotICAgIGlmICghZXhjZXB0aW9uICYmIHVuZGVsZXRhYmxlKQotICAg
ICAgICBmbGFncyB8PSBRU2NyaXB0VmFsdWU6OlVuZGVsZXRhYmxlOwotICAgIGJvb2wgc2tpcElu
RW51bSA9ICFKU1ZhbHVlVG9Cb29sZWFuKCptX2VuZ2luZSwgSlNPYmplY3RHZXRQcm9wZXJ0eSgq
bV9lbmdpbmUsIHByb3BlcnR5RGVzY3JpcHRvciwgZW51bWVyYWJsZU5hbWUsICZleGNlcHRpb24p
KTsKLSAgICBpZiAoIWV4Y2VwdGlvbiAmJiBza2lwSW5FbnVtKQotICAgICAgICBmbGFncyB8PSBR
U2NyaXB0VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uOwotCi0gICAgcmV0dXJuIFFTY3JpcHRWYWx1
ZTo6UHJvcGVydHlGbGFncyhmbGFncyk7Ci19Ci0KLVFTY3JpcHRWYWx1ZVByaXZhdGUqIFFTY3Jp
cHRWYWx1ZVByaXZhdGU6OmNhbGwoY29uc3QgUVNjcmlwdFZhbHVlUHJpdmF0ZSosIGNvbnN0IFFT
Y3JpcHRWYWx1ZUxpc3QmIGFyZ3MpCi17Ci0gICAgc3dpdGNoIChtX3N0YXRlKSB7Ci0gICAgY2Fz
ZSBKU1ZhbHVlOgotICAgICAgICBpZiAocmVmaW5lZEpTVmFsdWUoKSAhPSBKU09iamVjdCkKLSAg
ICAgICAgICAgIHJldHVybiBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZTsKLSAgICAgICAgLy8gRmFs
bC10aHJvdWdoLgotICAgIGNhc2UgSlNPYmplY3Q6Ci0gICAgICAgIHsKLSAgICAgICAgICAgIC8v
IENvbnZlcnQgYWxsIGFyZ3VtZW50cyBhbmQgYmluZCB0byB0aGUgZW5naW5lLgotICAgICAgICAg
ICAgaW50IGFyZ2MgPSBhcmdzLnNpemUoKTsKLSAgICAgICAgICAgIFFWYXJMZW5ndGhBcnJheTxK
U1ZhbHVlUmVmLCA4PiBhcmd2KGFyZ2MpOwotICAgICAgICAgICAgUVNjcmlwdFZhbHVlTGlzdDo6
Y29uc3RfaXRlcmF0b3IgaSA9IGFyZ3MuY29uc3RCZWdpbigpOwotICAgICAgICAgICAgZm9yIChp
bnQgaiA9IDA7IGkgIT0gYXJncy5jb25zdEVuZCgpOyBqKyssIGkrKykgewotICAgICAgICAgICAg
ICAgIFFTY3JpcHRWYWx1ZVByaXZhdGUqIHZhbHVlID0gUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0
KCppKTsKLSAgICAgICAgICAgICAgICBpZiAoIXZhbHVlLT5hc3NpZ25FbmdpbmUoZW5naW5lKCkp
KSB7Ci0gICAgICAgICAgICAgICAgICAgIHFXYXJuaW5nKCJRU2NyaXB0VmFsdWU6OmNhbGwoKSBm
YWlsZWQ6IGNhbm5vdCBjYWxsIGZ1bmN0aW9uIHdpdGggdmFsdWVzIGNyZWF0ZWQgaW4gYSBkaWZm
ZXJlbnQgZW5naW5lIik7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUVNjcmlwdFZh
bHVlUHJpdmF0ZTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYXJndltqXSA9
ICp2YWx1ZTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgLy8gTWFrZSB0aGUgY2FsbAot
ICAgICAgICAgICAgSlNWYWx1ZVJlZiBleGNlcHRpb24gPSAwOwotICAgICAgICAgICAgSlNWYWx1
ZVJlZiByZXN1bHQgPSBKU09iamVjdENhbGxBc0Z1bmN0aW9uKCptX2VuZ2luZSwgKnRoaXMsIC8q
IHRoaXNPYmplY3QgKi8gMCwgYXJnYywgYXJndi5jb25zdERhdGEoKSwgJmV4Y2VwdGlvbik7Ci0g
ICAgICAgICAgICBpZiAoIXJlc3VsdCAmJiBleGNlcHRpb24pIHsKLSAgICAgICAgICAgICAgICBt
X2VuZ2luZS0+c2V0RXhjZXB0aW9uKGV4Y2VwdGlvbik7Ci0gICAgICAgICAgICAgICAgcmV0dXJu
IG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKGVuZ2luZSgpLCBleGNlcHRpb24pOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgaWYgKHJlc3VsdCAmJiAhZXhjZXB0aW9uKQotICAgICAgICAgICAg
ICAgIHJldHVybiBuZXcgUVNjcmlwdFZhbHVlUHJpdmF0ZShlbmdpbmUoKSwgcmVzdWx0KTsKLSAg
ICAgICAgfQotICAgICAgICAvLyB0aGlzIFFTViBpcyBub3QgYSBmdW5jdGlvbiA8LS0gIXJlc3Vs
dCAmJiAhZXhjZXB0aW9uLiBGYWxsLXRocm91Z2guCi0gICAgZGVmYXVsdDoKLSAgICAgICAgcmV0
dXJuIG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlOwotICAgIH0KLX0KLQotUVNjcmlwdEVuZ2luZVBy
aXZhdGUqIFFTY3JpcHRWYWx1ZVByaXZhdGU6OmVuZ2luZSgpIGNvbnN0Ci17Ci0gICAgLy8gQXMg
bG9uZyBhcyBtX2VuZ2luZSBpcyBhbiBhdXRvaW5pdGlhbGl6YXRlZCBwb2ludGVyIHdlIGNhbiBz
YWZlbHkgcmV0dXJuIGl0IHdpdGhvdXQKLSAgICAvLyBjaGVja2luZyBjdXJyZW50IHN0YXRlLgot
ICAgIHJldHVybiBtX2VuZ2luZS5kYXRhKCk7Ci19Ci0KLVFTY3JpcHRWYWx1ZVByaXZhdGU6Om9w
ZXJhdG9yIEpTVmFsdWVSZWYoKSBjb25zdAotewotICAgIFFfQVNTRVJUKGlzSlNCYXNlZCgpKTsK
LSAgICBRX0FTU0VSVCh1Lm1fdmFsdWUpOwotICAgIHJldHVybiB1Lm1fdmFsdWU7Ci19Ci0KLVFT
Y3JpcHRWYWx1ZVByaXZhdGU6Om9wZXJhdG9yIEpTT2JqZWN0UmVmKCkgY29uc3QKLXsKLSAgICBR
X0FTU0VSVChtX3N0YXRlID09IEpTT2JqZWN0KTsKLSAgICBRX0FTU0VSVCh1Lm1fb2JqZWN0KTsK
LSAgICByZXR1cm4gdS5tX29iamVjdDsKLX0KLQotLyohCi0gIFxpbnRlcm5hbAotICBSZWZpbmVz
IHRoZSBzdGF0ZSBvZiB0aGlzIFFTY3JpcHRWYWx1ZVByaXZhdGUuIFJldHVybnMgdGhlIG5ldyBz
dGF0ZS4KLSovCi1RU2NyaXB0VmFsdWVQcml2YXRlOjpTdGF0ZSBRU2NyaXB0VmFsdWVQcml2YXRl
OjpyZWZpbmVkSlNWYWx1ZSgpCi17Ci0gICAgUV9BU1NFUlQobV9zdGF0ZSA9PSBKU1ZhbHVlKTsK
LSAgICBpZiAoIUpTVmFsdWVJc09iamVjdCgqbV9lbmdpbmUsICp0aGlzKSkgewotICAgICAgICBt
X3N0YXRlID0gSlNQcmltaXRpdmU7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgLy8gRGlmZmVyZW5j
ZSBiZXR3ZWVuIEpTVmFsdWVSZWYgYW5kIEpTT2JqZWN0UmVmIGlzIG9ubHkgaW4gdGhlaXIgdHlw
ZSwgYmluYXJ5d2lzZSBpdCBpcyB0aGUgc2FtZS4KLSAgICAgICAgLy8gQXMgbV92YWx1ZSBhbmQg
bV9vYmplY3QgYXJlIHN0b3JlZCBpbiB0aGUgdSB1bmlvbiwgaXQgaXMgZW5vdWdoIHRvIGNoYW5n
ZSB0aGUgbV9zdGF0ZSBvbmx5LgotICAgICAgICBtX3N0YXRlID0gSlNPYmplY3Q7Ci0gICAgfQot
ICAgIHJldHVybiBtX3N0YXRlOwotfQotCi0vKiEKLSAgXGludGVybmFsCi0gIFJldHVybnMgdHJ1
ZSBpZiBRU1YgaGF2ZSBhbiBlbmdpbmUgYXNzb2NpYXRlZC4KLSovCi1ib29sIFFTY3JpcHRWYWx1
ZVByaXZhdGU6OmlzSlNCYXNlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGUgPj0gSlNWYWx1ZTsg
fQotCi0vKiEKLSAgXGludGVybmFsCi0gIFJldHVybnMgdHJ1ZSBpZiBjdXJyZW50IHZhbHVlIG9m
IFFTViBpcyBwbGFjZWQgaW4gbV9udW1iZXIuCi0qLwotYm9vbCBRU2NyaXB0VmFsdWVQcml2YXRl
Ojppc051bWJlckJhc2VkKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZSA9PSBDTnVtYmVyIHx8IG1f
c3RhdGUgPT0gQ0Jvb2w7IH0KLQotLyohCi0gIFxpbnRlcm5hbAotICBSZXR1cm5zIHRydWUgaWYg
Y3VycmVudCB2YWx1ZSBvZiBRU1YgaXMgcGxhY2VkIGluIG1fc3RyaW5nLgotKi8KLWJvb2wgUVNj
cmlwdFZhbHVlUHJpdmF0ZTo6aXNTdHJpbmdCYXNlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGUg
PT0gQ1N0cmluZzsgfQotCi0jZW5kaWYgLy8gcXNjcmlwdHZhbHVlX3BfaApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0dmFsdWVpdGVyYXRvci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHR2YWx1ZWl0ZXJhdG9yLmNwcApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjFjYWE2MWQxNzMxYjUwM2IyZDFkMmE3OTFlY2U5
YWZiM2Q4ODc0OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHR2YWx1ZWl0ZXJhdG9yLmNwcAor
KysgL2Rldi9udWxsCkBAIC0xLDIyNiArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAx
MCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAg
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaW5j
bHVkZSAiY29uZmlnLmgiCi0KLSNpbmNsdWRlICJxc2NyaXB0dmFsdWVpdGVyYXRvci5oIgotCi0j
aW5jbHVkZSAicXNjcmlwdHZhbHVlX3AuaCIKLSNpbmNsdWRlICJxc2NyaXB0dmFsdWVpdGVyYXRv
cl9wLmgiCi0KLS8qIQotICAgIFxjbGFzcyBRU2NyaXB0VmFsdWVJdGVyYXRvcgotCi0gICAgXGJy
aWVmIFRoZSBRU2NyaXB0VmFsdWVJdGVyYXRvciBjbGFzcyBwcm92aWRlcyBhIEphdmEtc3R5bGUg
aXRlcmF0b3IgZm9yIFFTY3JpcHRWYWx1ZS4KLQotICAgIFxpbmdyb3VwIHNjcmlwdAotCi0KLSAg
ICBUaGUgUVNjcmlwdFZhbHVlSXRlcmF0b3IgY29uc3RydWN0b3IgdGFrZXMgYSBRU2NyaXB0VmFs
dWUgYXMKLSAgICBhcmd1bWVudC4gIEFmdGVyIGNvbnN0cnVjdGlvbiwgdGhlIGl0ZXJhdG9yIGlz
IGxvY2F0ZWQgYXQgdGhlIHZlcnkKLSAgICBiZWdpbm5pbmcgb2YgdGhlIHNlcXVlbmNlIG9mIHBy
b3BlcnRpZXMuIEhlcmUncyBob3cgdG8gaXRlcmF0ZSBvdmVyCi0gICAgYWxsIHRoZSBwcm9wZXJ0
aWVzIG9mIGEgUVNjcmlwdFZhbHVlOgotCi0gICAgXHNuaXBwZXQgZG9jL3NyYy9zbmlwcGV0cy9j
b2RlL3NyY19zY3JpcHRfcXNjcmlwdHZhbHVlaXRlcmF0b3IuY3BwIDAKLQotICAgIFRoZSBuZXh0
KCkgYWR2YW5jZXMgdGhlIGl0ZXJhdG9yLiBUaGUgbmFtZSgpLCB2YWx1ZSgpIGFuZCBmbGFncygp
Ci0gICAgZnVuY3Rpb25zIHJldHVybiB0aGUgbmFtZSwgdmFsdWUgYW5kIGZsYWdzIG9mIHRoZSBs
YXN0IGl0ZW0gdGhhdCB3YXMKLSAgICBqdW1wZWQgb3Zlci4KLQotICAgIElmIHlvdSB3YW50IHRv
IHJlbW92ZSBwcm9wZXJ0aWVzIGFzIHlvdSBpdGVyYXRlIG92ZXIgdGhlCi0gICAgUVNjcmlwdFZh
bHVlLCB1c2UgcmVtb3ZlKCkuIElmIHlvdSB3YW50IHRvIG1vZGlmeSB0aGUgdmFsdWUgb2YgYQot
ICAgIHByb3BlcnR5LCB1c2Ugc2V0VmFsdWUoKS4KLQotICAgIE5vdGUgdGhhdCBRU2NyaXB0VmFs
dWVJdGVyYXRvciBvbmx5IGl0ZXJhdGVzIG92ZXIgdGhlIFFTY3JpcHRWYWx1ZSdzCi0gICAgb3du
IHByb3BlcnRpZXM7IGkuZS4gaXQgZG9lcyBub3QgZm9sbG93IHRoZSBwcm90b3R5cGUgY2hhaW4u
IFlvdSBjYW4KLSAgICB1c2UgYSBsb29wIGxpa2UgdGhpcyB0byBmb2xsb3cgdGhlIHByb3RvdHlw
ZSBjaGFpbjoKLQotICAgIFxzbmlwcGV0IGRvYy9zcmMvc25pcHBldHMvY29kZS9zcmNfc2NyaXB0
X3FzY3JpcHR2YWx1ZWl0ZXJhdG9yLmNwcCAxCi0KLSAgICBOb3RlIHRoYXQgUVNjcmlwdFZhbHVl
SXRlcmF0b3Igd2lsbCBub3QgYXV0b21hdGljYWxseSBza2lwIG92ZXIKLSAgICBwcm9wZXJ0aWVz
IHRoYXQgaGF2ZSB0aGUgUVNjcmlwdFZhbHVlOjpTa2lwSW5FbnVtZXJhdGlvbiBmbGFnIHNldDsK
LSAgICB0aGF0IGZsYWcgb25seSBhZmZlY3RzIGl0ZXJhdGlvbiBpbiBzY3JpcHQgY29kZS4gIElm
IHlvdSB3YW50LCB5b3UKLSAgICBjYW4gc2tpcCBvdmVyIHN1Y2ggcHJvcGVydGllcyB3aXRoIGNv
ZGUgbGlrZSB0aGUgZm9sbG93aW5nOgotCi0gICAgXHNuaXBwZXQgZG9jL3NyYy9zbmlwcGV0cy9j
b2RlL3NyY19zY3JpcHRfcXNjcmlwdHZhbHVlaXRlcmF0b3IuY3BwIDIKLQotICAgIFxzYSBRU2Ny
aXB0VmFsdWU6OnByb3BlcnR5KCkKLSovCi0KLS8qIQotICAgIENvbnN0cnVjdHMgYW4gaXRlcmF0
b3IgZm9yIHRyYXZlcnNpbmcgXGEgb2JqZWN0LiBUaGUgaXRlcmF0b3IgaXMKLSAgICBzZXQgdG8g
YmUgYXQgdGhlIGZyb250IG9mIHRoZSBzZXF1ZW5jZSBvZiBwcm9wZXJ0aWVzIChiZWZvcmUgdGhl
Ci0gICAgZmlyc3QgcHJvcGVydHkpLgotKi8KLVFTY3JpcHRWYWx1ZUl0ZXJhdG9yOjpRU2NyaXB0
VmFsdWVJdGVyYXRvcihjb25zdCBRU2NyaXB0VmFsdWUmIG9iamVjdCkKLSAgICA6IGRfcHRyKG5l
dyBRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGUoUVNjcmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KG9i
amVjdCkpKQote30KLQotLyohCi0gICAgRGVzdHJveXMgdGhlIGl0ZXJhdG9yLgotKi8KLVFTY3Jp
cHRWYWx1ZUl0ZXJhdG9yOjp+UVNjcmlwdFZhbHVlSXRlcmF0b3IoKQote30KLQotLyohCi0gICAg
UmV0dXJucyB0cnVlIGlmIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBpdGVtIGFoZWFkIG9mIHRoZSBp
dGVyYXRvcgotICAgIChpLmUuIHRoZSBpdGVyYXRvciBpcyBcZSBub3QgYXQgdGhlIGJhY2sgb2Yg
dGhlIHByb3BlcnR5IHNlcXVlbmNlKTsKLSAgICBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS4KLQot
ICAgIFxzYSBuZXh0KCksIGhhc1ByZXZpb3VzKCkKLSovCi1ib29sIFFTY3JpcHRWYWx1ZUl0ZXJh
dG9yOjpoYXNOZXh0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPmhhc05leHQoKTsKLX0K
LQotLyohCi0gICAgQWR2YW5jZXMgdGhlIGl0ZXJhdG9yIGJ5IG9uZSBwb3NpdGlvbi4KLQotICAg
IENhbGxpbmcgdGhpcyBmdW5jdGlvbiBvbiBhbiBpdGVyYXRvciBsb2NhdGVkIGF0IHRoZSBiYWNr
IG9mIHRoZQotICAgIGNvbnRhaW5lciBsZWFkcyB0byB1bmRlZmluZWQgcmVzdWx0cy4KLQotICAg
IFxzYSBoYXNOZXh0KCksIHByZXZpb3VzKCksIG5hbWUoKQotKi8KLXZvaWQgUVNjcmlwdFZhbHVl
SXRlcmF0b3I6Om5leHQoKQotewotICAgIGRfcHRyLT5uZXh0KCk7Ci19Ci0KLS8qIQotICAgIFJl
dHVybnMgdHJ1ZSBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgaXRlbSBiZWhpbmQgdGhlIGl0ZXJh
dG9yCi0gICAgKGkuZS4gdGhlIGl0ZXJhdG9yIGlzIFxlIG5vdCBhdCB0aGUgZnJvbnQgb2YgdGhl
IHByb3BlcnR5IHNlcXVlbmNlKTsKLSAgICBvdGhlcndpc2UgcmV0dXJucyBmYWxzZS4KLQotICAg
IFxzYSBwcmV2aW91cygpLCBoYXNOZXh0KCkKLSovCi1ib29sIFFTY3JpcHRWYWx1ZUl0ZXJhdG9y
OjpoYXNQcmV2aW91cygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGRfcHRyLT5oYXNQcmV2aW91cygp
OwotfQotCi0vKiEKLSAgICBNb3ZlcyB0aGUgaXRlcmF0b3IgYmFjayBieSBvbmUgcG9zaXRpb24u
Ci0KLSAgICBDYWxsaW5nIHRoaXMgZnVuY3Rpb24gb24gYW4gaXRlcmF0b3IgbG9jYXRlZCBhdCB0
aGUgZnJvbnQgb2YgdGhlCi0gICAgY29udGFpbmVyIGxlYWRzIHRvIHVuZGVmaW5lZCByZXN1bHRz
LgotCi0gICAgXHNhIGhhc1ByZXZpb3VzKCksIG5leHQoKSwgbmFtZSgpCi0qLwotdm9pZCBRU2Ny
aXB0VmFsdWVJdGVyYXRvcjo6cHJldmlvdXMoKQotewotICAgIGRfcHRyLT5wcmV2aW91cygpOwot
fQotCi0vKiEKLSAgICBNb3ZlcyB0aGUgaXRlcmF0b3IgdG8gdGhlIGZyb250IG9mIHRoZSBRU2Ny
aXB0VmFsdWUgKGJlZm9yZSB0aGUKLSAgICBmaXJzdCBwcm9wZXJ0eSkuCi0KLSAgICBcc2EgdG9C
YWNrKCksIG5leHQoKQotKi8KLXZvaWQgUVNjcmlwdFZhbHVlSXRlcmF0b3I6OnRvRnJvbnQoKQot
ewotICAgIGRfcHRyLT50b0Zyb250KCk7Ci19Ci0KLS8qIQotICAgIE1vdmVzIHRoZSBpdGVyYXRv
ciB0byB0aGUgYmFjayBvZiB0aGUgUVNjcmlwdFZhbHVlIChhZnRlciB0aGUKLSAgICBsYXN0IHBy
b3BlcnR5KS4KLQotICAgIFxzYSB0b0Zyb250KCksIHByZXZpb3VzKCkKLSovCi12b2lkIFFTY3Jp
cHRWYWx1ZUl0ZXJhdG9yOjp0b0JhY2soKQotewotICAgIGRfcHRyLT50b0JhY2soKTsKLX0KLQot
LyohCi0gICAgUmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgbGFzdCBwcm9wZXJ0eSB0aGF0IHdhcyBq
dW1wZWQgb3ZlciB1c2luZwotICAgIG5leHQoKSBvciBwcmV2aW91cygpLgotCi0gICAgXHNhIHZh
bHVlKCksIGZsYWdzKCkKLSovCi1RU3RyaW5nIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yOjpuYW1lKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPm5hbWUoKTsKLX0KLQotLyohCi0gICAgUmV0dXJu
cyB0aGUgbmFtZSBvZiB0aGUgbGFzdCBwcm9wZXJ0eSB0aGF0IHdhcyBqdW1wZWQgb3ZlciB1c2lu
ZwotICAgIG5leHQoKSBvciBwcmV2aW91cygpLgotKi8KLVFTY3JpcHRTdHJpbmcgUVNjcmlwdFZh
bHVlSXRlcmF0b3I6OnNjcmlwdE5hbWUoKSBjb25zdAotewotICAgIHJldHVybiBRU2NyaXB0U3Ry
aW5nUHJpdmF0ZTo6Z2V0KGRfcHRyLT5zY3JpcHROYW1lKCkpOwotfQotCi0vKiEKLSAgICBSZXR1
cm5zIHRoZSB2YWx1ZSBvZiB0aGUgbGFzdCBwcm9wZXJ0eSB0aGF0IHdhcyBqdW1wZWQgb3ZlciB1
c2luZwotICAgIG5leHQoKSBvciBwcmV2aW91cygpLgotCi0gICAgXHNhIHNldFZhbHVlKCksIG5h
bWUoKQotKi8KLVFTY3JpcHRWYWx1ZSBRU2NyaXB0VmFsdWVJdGVyYXRvcjo6dmFsdWUoKSBjb25z
dAotewotICAgIHJldHVybiBRU2NyaXB0VmFsdWVQcml2YXRlOjpnZXQoZF9wdHItPnZhbHVlKCkp
OwotfQotCi0vKiEKLSAgICBTZXRzIHRoZSBcYSB2YWx1ZSBvZiB0aGUgbGFzdCBwcm9wZXJ0eSB0
aGF0IHdhcyBqdW1wZWQgb3ZlciB1c2luZwotICAgIG5leHQoKSBvciBwcmV2aW91cygpLgotCi0g
ICAgXHNhIHZhbHVlKCksIG5hbWUoKQotKi8KLXZvaWQgUVNjcmlwdFZhbHVlSXRlcmF0b3I6OnNl
dFZhbHVlKGNvbnN0IFFTY3JpcHRWYWx1ZSYgdmFsdWUpCi17Ci0gICAgZF9wdHItPnNldFZhbHVl
KFFTY3JpcHRWYWx1ZVByaXZhdGU6OmdldCh2YWx1ZSkpOwotfQotCi0vKiEKLSAgICBSZW1vdmVz
IHRoZSBsYXN0IHByb3BlcnR5IHRoYXQgd2FzIGp1bXBlZCBvdmVyIHVzaW5nIG5leHQoKQotICAg
IG9yIHByZXZpb3VzKCkuCi0KLSAgICBcc2Egc2V0VmFsdWUoKQotKi8KLXZvaWQgUVNjcmlwdFZh
bHVlSXRlcmF0b3I6OnJlbW92ZSgpCi17Ci0gICAgZF9wdHItPnJlbW92ZSgpOwotfQotCi0vKiEK
LSAgICBSZXR1cm5zIHRoZSBmbGFncyBvZiB0aGUgbGFzdCBwcm9wZXJ0eSB0aGF0IHdhcyBqdW1w
ZWQgb3ZlciB1c2luZwotICAgIG5leHQoKSBvciBwcmV2aW91cygpLgotCi0gICAgXHNhIHZhbHVl
KCkKLSovCi1RU2NyaXB0VmFsdWU6OlByb3BlcnR5RmxhZ3MgUVNjcmlwdFZhbHVlSXRlcmF0b3I6
OmZsYWdzKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZF9wdHItPmZsYWdzKCk7Ci19Ci0KLS8qIQot
ICAgIE1ha2VzIHRoZSBpdGVyYXRvciBvcGVyYXRlIG9uIFxhIG9iamVjdC4gVGhlIGl0ZXJhdG9y
IGlzIHNldCB0byBiZQotICAgIGF0IHRoZSBmcm9udCBvZiB0aGUgc2VxdWVuY2Ugb2YgcHJvcGVy
dGllcyAoYmVmb3JlIHRoZSBmaXJzdAotICAgIHByb3BlcnR5KS4KLSovCi1RU2NyaXB0VmFsdWVJ
dGVyYXRvciYgUVNjcmlwdFZhbHVlSXRlcmF0b3I6Om9wZXJhdG9yPShRU2NyaXB0VmFsdWUmIG9i
amVjdCkKLXsKLSAgICBkX3B0ciA9IG5ldyBRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGUoUVNj
cmlwdFZhbHVlUHJpdmF0ZTo6Z2V0KG9iamVjdCkpOwotICAgIHJldHVybiAqdGhpczsKLX0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHZhbHVlaXRlcmF0
b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdHZhbHVlaXRlcmF0b3Iu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGM5MDY2MWZlZmEzNmE2MGZkMjM2NGEy
YTBmYzk4ZjY4MWI3OGVlNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHR2YWx1ZWl0ZXJhdG9y
LmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykg
MjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAg
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwot
ICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0j
aWZuZGVmIHFzY3JpcHR2YWx1ZWl0ZXJhdG9yX2gKLSNkZWZpbmUgcXNjcmlwdHZhbHVlaXRlcmF0
b3JfaAotCi0jaW5jbHVkZSAicXRzY3JpcHRnbG9iYWwuaCIKLSNpbmNsdWRlICJxc2NyaXB0c3Ry
aW5nLmgiCi0jaW5jbHVkZSA8UXRDb3JlL3FzaGFyZWRkYXRhLmg+Ci0jaW5jbHVkZSAicXNjcmlw
dHZhbHVlLmgiCi0KLWNsYXNzIFFTY3JpcHRWYWx1ZTsKLWNsYXNzIFFTY3JpcHRWYWx1ZUl0ZXJh
dG9yUHJpdmF0ZTsKLQotCi1jbGFzcyBRX0pBVkFTQ1JJUFRfRVhQT1JUIFFTY3JpcHRWYWx1ZUl0
ZXJhdG9yIHsKLXB1YmxpYzoKLSAgICBRU2NyaXB0VmFsdWVJdGVyYXRvcihjb25zdCBRU2NyaXB0
VmFsdWUmIHZhbHVlKTsKLSAgICB+UVNjcmlwdFZhbHVlSXRlcmF0b3IoKTsKLQotICAgIGJvb2wg
aGFzTmV4dCgpIGNvbnN0OwotICAgIHZvaWQgbmV4dCgpOwotCi0gICAgYm9vbCBoYXNQcmV2aW91
cygpIGNvbnN0OwotICAgIHZvaWQgcHJldmlvdXMoKTsKLQotICAgIFFTdHJpbmcgbmFtZSgpIGNv
bnN0OwotICAgIFFTY3JpcHRTdHJpbmcgc2NyaXB0TmFtZSgpIGNvbnN0OwotCi0gICAgUVNjcmlw
dFZhbHVlIHZhbHVlKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRWYWx1ZShjb25zdCBRU2NyaXB0VmFs
dWUmIHZhbHVlKTsKLQotICAgIHZvaWQgcmVtb3ZlKCk7Ci0gICAgUVNjcmlwdFZhbHVlOjpQcm9w
ZXJ0eUZsYWdzIGZsYWdzKCkgY29uc3Q7Ci0KLSAgICB2b2lkIHRvRnJvbnQoKTsKLSAgICB2b2lk
IHRvQmFjaygpOwotCi0gICAgUVNjcmlwdFZhbHVlSXRlcmF0b3ImIG9wZXJhdG9yPShRU2NyaXB0
VmFsdWUmIHZhbHVlKTsKLXByaXZhdGU6Ci0gICAgUUV4cGxpY2l0bHlTaGFyZWREYXRhUG9pbnRl
cjxRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU+IGRfcHRyOwotCi0gICAgUV9ERUNMQVJFX1BS
SVZBVEUoUVNjcmlwdFZhbHVlSXRlcmF0b3IpCi0gICAgUV9ESVNBQkxFX0NPUFkoUVNjcmlwdFZh
bHVlSXRlcmF0b3IpCi19OwotCi0jZW5kaWYgLy8gcXNjcmlwdHZhbHVlaXRlcmF0b3JfaApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0dmFsdWVpdGVyYXRv
cl9wLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHR2YWx1ZWl0ZXJhdG9y
X3AuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjkzYjUxOGEzMWI3MzEwNGE3YTkz
MmFkZTQ2YzI0ZWIwOWJlNTdhMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3FzY3JpcHR2YWx1ZWl0ZXJh
dG9yX3AuaAorKysgL2Rldi9udWxsCkBAIC0xLDE3MiArMCwwIEBACi0vKgotICAgIENvcHlyaWdo
dCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykK
LQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot
ICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0q
LwotCi0jaWZuZGVmIHFzY3JpcHR2YWx1ZWl0ZXJhdG9yX3BfaAotI2RlZmluZSBxc2NyaXB0dmFs
dWVpdGVyYXRvcl9wX2gKLQotI2luY2x1ZGUgInFzY3JpcHR2YWx1ZV9wLmgiCi0jaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdC5oPgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pT
UmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8UXRDb3JlL3FzaGFyZWRkYXRhLmg+Ci0jaW5jbHVkZSA8
UXRDb3JlL3F2ZWN0b3IuaD4KLQotY2xhc3MgUVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlOiBw
dWJsaWMgUVNoYXJlZERhdGEgewotcHVibGljOgotICAgIGlubGluZSBRU2NyaXB0VmFsdWVJdGVy
YXRvclByaXZhdGUoY29uc3QgUVNjcmlwdFZhbHVlUHJpdmF0ZSogdmFsdWUpOwotICAgIGlubGlu
ZSB+UVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlKCk7Ci0KLSAgICBpbmxpbmUgYm9vbCBoYXNO
ZXh0KCk7Ci0gICAgaW5saW5lIHZvaWQgbmV4dCgpOwotCi0gICAgaW5saW5lIGJvb2wgaGFzUHJl
dmlvdXMoKTsKLSAgICBpbmxpbmUgdm9pZCBwcmV2aW91cygpOwotCi0gICAgaW5saW5lIFFTdHJp
bmcgbmFtZSgpIGNvbnN0OwotICAgIGlubGluZSBRU2NyaXB0U3RyaW5nUHJpdmF0ZSogc2NyaXB0
TmFtZSgpIGNvbnN0OwotCi0gICAgaW5saW5lIFFTY3JpcHRWYWx1ZVByaXZhdGUqIHZhbHVlKCkg
Y29uc3Q7Ci0gICAgaW5saW5lIHZvaWQgc2V0VmFsdWUoY29uc3QgUVNjcmlwdFZhbHVlUHJpdmF0
ZSogdmFsdWUpOwotCi0gICAgaW5saW5lIHZvaWQgcmVtb3ZlKCk7Ci0KLSAgICBpbmxpbmUgdm9p
ZCB0b0Zyb250KCk7Ci0gICAgaW5saW5lIHZvaWQgdG9CYWNrKCk7Ci0KLSAgICBRU2NyaXB0VmFs
dWU6OlByb3BlcnR5RmxhZ3MgZmxhZ3MoKSBjb25zdDsKLQotICAgIGlubGluZSBib29sIGlzVmFs
aWQoKSBjb25zdDsKLXByaXZhdGU6Ci0gICAgaW5saW5lIFFTY3JpcHRFbmdpbmVQcml2YXRlKiBl
bmdpbmUoKSBjb25zdDsKLQotICAgIFFFeHBsaWNpdGx5U2hhcmVkRGF0YVBvaW50ZXI8UVNjcmlw
dFZhbHVlUHJpdmF0ZT4gbV9vYmplY3Q7Ci0gICAgUVZlY3RvcjxKU1N0cmluZ1JlZj4gbV9uYW1l
czsKLSAgICBRTXV0YWJsZVZlY3Rvckl0ZXJhdG9yPEpTU3RyaW5nUmVmPiBtX2lkeDsKLX07Ci0K
LWlubGluZSBRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6OlFTY3JpcHRWYWx1ZUl0ZXJhdG9y
UHJpdmF0ZShjb25zdCBRU2NyaXB0VmFsdWVQcml2YXRlKiB2YWx1ZSkKLSAgICA6IG1fb2JqZWN0
KGNvbnN0X2Nhc3Q8UVNjcmlwdFZhbHVlUHJpdmF0ZSo+KHZhbHVlKSkKLSAgICAsIG1faWR4KG1f
bmFtZXMpCi17Ci0gICAgaWYgKG1fb2JqZWN0LT5pc09iamVjdCgpKSB7Ci0gICAgICAgIG1fbmFt
ZXMgPSBlbmdpbmUoKS0+b2JqZWN0R2V0T3duUHJvcGVydHlOYW1lcygqbV9vYmplY3QpOwotICAg
ICAgICBtX2lkeCA9IG1fbmFtZXM7Ci0gICAgfSBlbHNlCi0gICAgICAgIG1fb2JqZWN0ID0gMDsK
LX0KLQotaW5saW5lIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6flFTY3JpcHRWYWx1ZUl0
ZXJhdG9yUHJpdmF0ZSgpCi17Ci0gICAgUVZlY3RvcjxKU1N0cmluZ1JlZj46OmNvbnN0X2l0ZXJh
dG9yIGkgPSBtX25hbWVzLmNvbnN0QmVnaW4oKTsKLSAgICBmb3IgKDsgaSAhPSBtX25hbWVzLmNv
bnN0RW5kKCk7ICsraSkKLSAgICAgICAgSlNTdHJpbmdSZWxlYXNlKCppKTsKLX0KLQotaW5saW5l
IGJvb2wgUVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlOjpoYXNOZXh0KCkKLXsKLSAgICByZXR1
cm4gbV9pZHguaGFzTmV4dCgpOwotfQotCi1pbmxpbmUgdm9pZCBRU2NyaXB0VmFsdWVJdGVyYXRv
clByaXZhdGU6Om5leHQoKQotewotICAgIC8vIEZJWE1FIChRdDUpIFRoaXMgbWV0aG9kIHNob3Vs
ZCByZXR1cm4gYSB2YWx1ZSAoUVRCVUctMTEyMjYpLgotICAgIG1faWR4Lm5leHQoKTsKLX0KLQot
aW5saW5lIGJvb2wgUVNjcmlwdFZhbHVlSXRlcmF0b3JQcml2YXRlOjpoYXNQcmV2aW91cygpCi17
Ci0gICAgcmV0dXJuIG1faWR4Lmhhc1ByZXZpb3VzKCk7Ci19Ci0KLWlubGluZSB2b2lkIFFTY3Jp
cHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6cHJldmlvdXMoKQotewotICAgIG1faWR4LnByZXZpb3Vz
KCk7Ci19Ci0KLWlubGluZSBRU3RyaW5nIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6bmFt
ZSgpIGNvbnN0Ci17Ci0gICAgaWYgKCFpc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybiBRU3RyaW5n
KCk7Ci0gICAgcmV0dXJuIFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKG1faWR4LnZhbHVlKCkp
OwotfQotCi1pbmxpbmUgUVNjcmlwdFN0cmluZ1ByaXZhdGUqIFFTY3JpcHRWYWx1ZUl0ZXJhdG9y
UHJpdmF0ZTo6c2NyaXB0TmFtZSgpIGNvbnN0Ci17Ci0gICAgaWYgKCFpc1ZhbGlkKCkpCi0gICAg
ICAgIHJldHVybiBuZXcgUVNjcmlwdFN0cmluZ1ByaXZhdGUoKTsKLSAgICByZXR1cm4gbmV3IFFT
Y3JpcHRTdHJpbmdQcml2YXRlKFFTY3JpcHRDb252ZXJ0ZXI6OnRvU3RyaW5nKG1faWR4LnZhbHVl
KCkpKTsKLX0KLQotaW5saW5lIFFTY3JpcHRWYWx1ZVByaXZhdGUqIFFTY3JpcHRWYWx1ZUl0ZXJh
dG9yUHJpdmF0ZTo6dmFsdWUoKSBjb25zdAotewotICAgIGlmICghaXNWYWxpZCgpKQotICAgICAg
ICByZXR1cm4gbmV3IFFTY3JpcHRWYWx1ZVByaXZhdGUoKTsKLSAgICBKU1ZhbHVlUmVmIGV4Y2Vw
dGlvbiA9IDA7Ci0gICAgSlNWYWx1ZVJlZiB2YWx1ZSA9IG1fb2JqZWN0LT5wcm9wZXJ0eShtX2lk
eC52YWx1ZSgpLCAmZXhjZXB0aW9uKTsKLSAgICBlbmdpbmUoKS0+c2V0RXhjZXB0aW9uKGV4Y2Vw
dGlvbik7Ci0gICAgcmV0dXJuIG5ldyBRU2NyaXB0VmFsdWVQcml2YXRlKGVuZ2luZSgpLCB2YWx1
ZSk7Ci19Ci0KLWlubGluZSB2b2lkIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6c2V0VmFs
dWUoY29uc3QgUVNjcmlwdFZhbHVlUHJpdmF0ZSogdmFsdWUpCi17Ci0gICAgaWYgKCFpc1ZhbGlk
KCkpCi0gICAgICAgIHJldHVybjsKLSAgICBKU1ZhbHVlUmVmIGV4Y2VwdGlvbiA9IDA7Ci0gICAg
bV9vYmplY3QtPnNldFByb3BlcnR5KG1faWR4LnZhbHVlKCksICp2YWx1ZSwgLyogZmxhZ3MgKi8g
MCwgJmV4Y2VwdGlvbik7Ci0gICAgZW5naW5lKCktPnNldEV4Y2VwdGlvbihleGNlcHRpb24pOwot
fQotCi1pbmxpbmUgdm9pZCBRU2NyaXB0VmFsdWVJdGVyYXRvclByaXZhdGU6OnJlbW92ZSgpCi17
Ci0gICAgaWYgKCFpc1ZhbGlkKCkpCi0gICAgICAgIHJldHVybjsKLSAgICBKU1ZhbHVlUmVmIGV4
Y2VwdGlvbiA9IDA7Ci0gICAgbV9vYmplY3QtPmRlbGV0ZVByb3BlcnR5KG1faWR4LnZhbHVlKCks
ICZleGNlcHRpb24pOwotICAgIGVuZ2luZSgpLT5zZXRFeGNlcHRpb24oZXhjZXB0aW9uKTsKLSAg
ICBtX2lkeC5yZW1vdmUoKTsKLX0KLQotaW5saW5lIHZvaWQgUVNjcmlwdFZhbHVlSXRlcmF0b3JQ
cml2YXRlOjp0b0Zyb250KCkKLXsKLSAgICBtX2lkeC50b0Zyb250KCk7Ci19Ci0KLWlubGluZSB2
b2lkIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6dG9CYWNrKCkKLXsKLSAgICBtX2lkeC50
b0JhY2soKTsKLX0KLQotUVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdzIFFTY3JpcHRWYWx1ZUl0
ZXJhdG9yUHJpdmF0ZTo6ZmxhZ3MoKSBjb25zdAotewotICAgIGlmICghaXNWYWxpZCgpKQotICAg
ICAgICByZXR1cm4gUVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdzKDApOwotICAgIHJldHVybiBt
X29iamVjdC0+cHJvcGVydHlGbGFncyhtX2lkeC52YWx1ZSgpLCBRU2NyaXB0VmFsdWU6OlJlc29s
dmVMb2NhbCk7Ci19Ci0KLWlubGluZSBib29sIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6
aXNWYWxpZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fb2JqZWN0OwotfQotCi1pbmxpbmUgUVNj
cmlwdEVuZ2luZVByaXZhdGUqIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yUHJpdmF0ZTo6ZW5naW5lKCkg
Y29uc3QKLXsKLSAgICBRX0FTU0VSVChpc1ZhbGlkKCkpOwotICAgIHJldHVybiBtX29iamVjdC0+
ZW5naW5lKCk7Ci19Ci0KLSNlbmRpZiAvLyBxc2NyaXB0dmFsdWVpdGVyYXRvcl9wX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXRzY3JpcHRnbG9iYWwuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXRzY3JpcHRnbG9iYWwuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZWZkZmM1MDkzODdlZTNhNmViYjc4NTdkZjUxNDQ0YzA2NzU1ZDM4
Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcXQvYXBpL3F0c2NyaXB0Z2xvYmFsLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw0MyArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAwOCBOb2tpYSBDb3Jwb3JhdGlv
biBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAg
ICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAg
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAg
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaWZuZGVmIHF0c2NyaXB0Z2xvYmFs
X2gKLSNkZWZpbmUgcXRzY3JpcHRnbG9iYWxfaAotCi0jaW5jbHVkZSA8UXRDb3JlL3FnbG9iYWwu
aD4KLQotI2lmIGRlZmluZWQoUVRfTUFLRURMTCkgICAgICAgIC8qIGNyZWF0ZSBhIFF0IERMTCBs
aWJyYXJ5ICovCi0jICBpZiBkZWZpbmVkKFFUX0JVSUxEX0pBVkFTQ1JJUFRfTElCKQotIyAgICBk
ZWZpbmUgUV9KQVZBU0NSSVBUX0VYUE9SVCBRX0RFQ0xfRVhQT1JUCi0jICBlbHNlCi0jICAgIGRl
ZmluZSBRX0pBVkFTQ1JJUFRfRVhQT1JUIFFfREVDTF9JTVBPUlQKLSMgIGVuZGlmCi0jZWxpZiBk
ZWZpbmVkKFFUX0RMTCkgLyogdXNlIGEgUXQgRExMIGxpYnJhcnkgKi8KLSMgIGRlZmluZSBRX0pB
VkFTQ1JJUFRfRVhQT1JUCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKFFfSkFWQVNDUklQVF9FWFBP
UlQpCi0jICBpZiBkZWZpbmVkKFFUX1NIQVJFRCkKLSMgICAgZGVmaW5lIFFfSkFWQVNDUklQVF9F
WFBPUlQgUV9ERUNMX0VYUE9SVAotIyAgZWxzZQotIyAgICBkZWZpbmUgUV9KQVZBU0NSSVBUX0VY
UE9SVAotIyAgZW5kaWYKLSNlbmRpZgotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9xdC9iZW5jaG1hcmtzL2JlbmNobWFya3MucHJpIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3F0L2JlbmNobWFya3MvYmVuY2htYXJrcy5wcmkKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDVhZjMzODM2OWQwNmY1ZGI0MTkwMTYxYWFiMGMyZjgyM2MyNDg5MjguLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3F0L2JlbmNobWFya3MvYmVuY2htYXJrcy5wcmkKKysrIC9kZXYvbnVsbApAQCAtMSwx
OSArMCwwIEBACi1RTUFLRV9SUEFUSERJUiA9ICQkT1VUUFVUX0RJUi9saWIgJCRRTUFLRV9SUEFU
SERJUgotUU1BS0VfTElCRElSID0gJCRPVVRQVVRfRElSL2xpYiAkJFFNQUtFX0xJQkRJUgotbWFj
OiFzdGF0aWM6Y29udGFpbnMoUVRfQ09ORklHLCBxdF9mcmFtZXdvcmspOiFDT05GSUcod2Via2l0
X25vX2ZyYW1ld29yaykgewotICAgIExJQlMgKz0gLWZyYW1ld29yayBRdFNjcmlwdAotICAgIFFN
QUtFX0ZSQU1FV09SS1BBVEggPSAkJE9VVFBVVF9ESVIvbGliICQkUU1BS0VfRlJBTUVXT1JLUEFU
SAotfSBlbHNlIHsKLSAgICB3aW4zMi0qfHdpbmNlKiB7Ci0gICAgICAgIExJQlMgKz0gLWxRdFNj
cmlwdCQke1FUX01BSk9SX1ZFUlNJT059Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgTElCUyArPSAt
bFF0U2NyaXB0Ci0gICAgfQotfQotCi1DT05GSUcocmVsZWFzZSwgZGVidWd8cmVsZWFzZSkgewot
ICAgIERFRklORVMgKz0gTkRFQlVHCi19Ci0KLUlOQ0xVREVQQVRIICs9ICQkUFdELy4uL2FwaQot
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYmVuY2htYXJrcy9iZW5jaG1h
cmtzLnBybyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9iZW5jaG1hcmtzL2JlbmNobWFya3Mu
cHJvCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NWZhODJjOWU5ZDAxYWQzMDAyNTY1
NjQ4YjJlZWM1MjUyN2Y2MjNhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9iZW5jaG1hcmtzL2JlbmNobWFya3Mu
cHJvCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1URU1QTEFURSA9IHN1YmRpcnMKLVNV
QkRJUlMgPSAgIHFzY3JpcHRlbmdpbmUgXAotICAgICAgICAgICAgcXNjcmlwdHZhbHVlIFwKLQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2JlbmNobWFya3MvcXNjcmlwdGVu
Z2luZS9xc2NyaXB0ZW5naW5lLnBybyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9iZW5jaG1h
cmtzL3FzY3JpcHRlbmdpbmUvcXNjcmlwdGVuZ2luZS5wcm8KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDIyMmM4OGZiYzFjNzIzNmRjYzE2MDEyZDMzOWYwOWM0M2FkNDEzNmIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3F0L2JlbmNobWFya3MvcXNjcmlwdGVuZ2luZS9xc2NyaXB0ZW5naW5lLnBybworKysg
L2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotVEVNUExBVEUgPSBhcHAKLVRBUkdFVCA9IHRzdF9i
ZW5jaF9xc2NyaXB0ZW5naW5lCi0KLVNPVVJDRVMgKz0gdHN0X3FzY3JpcHRlbmdpbmUuY3BwCi0K
LVFUICs9IHRlc3RsaWIKLQotaW5jbHVkZSguLi9iZW5jaG1hcmtzLnByaSkKLQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2JlbmNobWFya3MvcXNjcmlwdGVuZ2luZS90c3Rf
cXNjcmlwdGVuZ2luZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvYmVuY2htYXJrcy9x
c2NyaXB0ZW5naW5lL3RzdF9xc2NyaXB0ZW5naW5lLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMGM0NDdjNjFjNDVkMTRkZjViYTVjM2UxYjM2OGQ0OWNjOWJlMGMzZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcXQvYmVuY2htYXJrcy9xc2NyaXB0ZW5naW5lL3RzdF9xc2NyaXB0ZW5naW5lLmNwcAor
KysgL2Rldi9udWxsCkBAIC0xLDE0MiArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAx
MCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAg
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaW5j
bHVkZSAicXNjcmlwdGVuZ2luZS5oIgotI2luY2x1ZGUgInFzY3JpcHR2YWx1ZS5oIgotI2luY2x1
ZGUgPHF0ZXN0Lmg+Ci0KLWNsYXNzIHRzdF9RU2NyaXB0RW5naW5lIDogcHVibGljIFFPYmplY3Qg
ewotICAgIFFfT0JKRUNUCi0KLXByaXZhdGUgc2xvdHM6Ci0gICAgdm9pZCBjaGVja1N5bnRheF9k
YXRhKCk7Ci0gICAgdm9pZCBjaGVja1N5bnRheCgpOwotICAgIHZvaWQgY29uc3RydWN0b3IoKTsK
LSAgICB2b2lkIGV2YWx1YXRlU3RyaW5nX2RhdGEoKTsKLSAgICB2b2lkIGV2YWx1YXRlU3RyaW5n
KCk7Ci0gICAgdm9pZCBldmFsdWF0ZVByb2dyYW1fZGF0YSgpOwotICAgIHZvaWQgZXZhbHVhdGVQ
cm9ncmFtKCk7Ci0gICAgdm9pZCBuZXdPYmplY3QoKTsKLSAgICB2b2lkIG51bGxWYWx1ZSgpOwot
ICAgIHZvaWQgdW5kZWZpbmVkVmFsdWUoKTsKLSAgICB2b2lkIGdsb2JhbE9iamVjdCgpOwotICAg
IHZvaWQgdG9TdHJpbmdIYW5kbGUoKTsKLX07Ci0KLXZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6OmNo
ZWNrU3ludGF4X2RhdGEoKQotewotICAgIGV2YWx1YXRlU3RyaW5nX2RhdGEoKTsKLX0KLQotdm9p
ZCB0c3RfUVNjcmlwdEVuZ2luZTo6Y2hlY2tTeW50YXgoKQotewotICAgIFFGRVRDSChRU3RyaW5n
LCBjb2RlKTsKLSAgICBRU2NyaXB0RW5naW5lIGVuZ2luZTsKLSAgICBRQkVOQ0hNQVJLIHsKLSAg
ICAgICAgZW5naW5lLmNoZWNrU3ludGF4KGNvZGUpOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNj
cmlwdEVuZ2luZTo6Y29uc3RydWN0b3IoKQotewotICAgIFFCRU5DSE1BUksgewotICAgICAgICBR
U2NyaXB0RW5naW5lIGVuZ2luZTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6
OmV2YWx1YXRlU3RyaW5nX2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVN0cmluZz4o
ImNvZGUiKTsKLSAgICBRVGVzdDo6bmV3Um93KCJlbXB0eSBzY3JpcHQiKSA8PCBRU3RyaW5nOjpm
cm9tTGF0aW4xKCIiKTsKLSAgICBRVGVzdDo6bmV3Um93KCJudW1iZXIgbGl0ZXJhbCIpIDw8IFFT
dHJpbmc6OmZyb21MYXRpbjEoIjEyMyIpOwotICAgIFFUZXN0OjpuZXdSb3coInN0cmluZyBsaXRl
cmFsIikgPDwgUVN0cmluZzo6ZnJvbUxhdGluMSgiJ2NpYW8nIik7Ci0gICAgUVRlc3Q6Om5ld1Jv
dygicmVnZXhwIGxpdGVyYWwiKSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCIvZm9vL2dpbSIpOwot
ICAgIFFUZXN0OjpuZXdSb3coIm51bGwgbGl0ZXJhbCIpIDw8IFFTdHJpbmc6OmZyb21MYXRpbjEo
Im51bGwiKTsKLSAgICBRVGVzdDo6bmV3Um93KCJ1bmRlZmluZWQgbGl0ZXJhbCIpIDw8IFFTdHJp
bmc6OmZyb21MYXRpbjEoInVuZGVmaW5lZCIpOwotICAgIFFUZXN0OjpuZXdSb3coImVtcHR5IG9i
amVjdCBsaXRlcmFsIikgPDwgUVN0cmluZzo6ZnJvbUxhdGluMSgie30iKTsKLSAgICBRVGVzdDo6
bmV3Um93KCJ0aGlzIikgPDwgUVN0cmluZzo6ZnJvbUxhdGluMSgidGhpcyIpOwotfQotCi12b2lk
IHRzdF9RU2NyaXB0RW5naW5lOjpldmFsdWF0ZVN0cmluZygpCi17Ci0gICAgUUZFVENIKFFTdHJp
bmcsIGNvZGUpOwotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwotICAgIFFCRU5DSE1BUksgewot
ICAgICAgICBlbmdpbmUuZXZhbHVhdGUoY29kZSk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2Ny
aXB0RW5naW5lOjpldmFsdWF0ZVByb2dyYW1fZGF0YSgpCi17Ci0gICAgZXZhbHVhdGVTdHJpbmdf
ZGF0YSgpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0RW5naW5lOjpldmFsdWF0ZVByb2dyYW0oKQot
ewotICAgIFFGRVRDSChRU3RyaW5nLCBjb2RlKTsKLSAgICBRU2NyaXB0RW5naW5lIGVuZ2luZTsK
LSAgICBRU2NyaXB0UHJvZ3JhbSBwcm9ncmFtKGNvZGUpOwotICAgIFFCRU5DSE1BUksgewotICAg
ICAgICBlbmdpbmUuZXZhbHVhdGUocHJvZ3JhbSk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2Ny
aXB0RW5naW5lOjpuZXdPYmplY3QoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwotICAg
IFFCRU5DSE1BUksgewotICAgICAgICBlbmdpbmUubmV3T2JqZWN0KCk7Ci0gICAgfQotfQotCi12
b2lkIHRzdF9RU2NyaXB0RW5naW5lOjpudWxsVmFsdWUoKQotewotICAgIFFTY3JpcHRFbmdpbmUg
ZW5naW5lOwotICAgIFFCRU5DSE1BUksgewotICAgICAgICBlbmdpbmUubnVsbFZhbHVlKCk7Ci0g
ICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0RW5naW5lOjp1bmRlZmluZWRWYWx1ZSgpCi17Ci0g
ICAgUVNjcmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAgUUJFTkNITUFSSyB7Ci0gICAgICAgIGVuZ2lu
ZS51bmRlZmluZWRWYWx1ZSgpOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdEVuZ2luZTo6
Z2xvYmFsT2JqZWN0KCkKLXsKLSAgICBRU2NyaXB0RW5naW5lIGVuZ2luZTsKLSAgICBRQkVOQ0hN
QVJLIHsKLSAgICAgICAgZW5naW5lLmdsb2JhbE9iamVjdCgpOwotICAgIH0KLX0KLQotdm9pZCB0
c3RfUVNjcmlwdEVuZ2luZTo6dG9TdHJpbmdIYW5kbGUoKQotewotICAgIFFTY3JpcHRFbmdpbmUg
ZW5naW5lOwotICAgIFFTdHJpbmcgc3RyID0gUVN0cmluZzo6ZnJvbUxhdGluMSgiZm9vYmFyYmF6
Iik7Ci0gICAgUUJFTkNITUFSSyB7Ci0gICAgICAgIGVuZ2luZS50b1N0cmluZ0hhbmRsZShzdHIp
OwotICAgIH0KLX0KLQotUVRFU1RfTUFJTih0c3RfUVNjcmlwdEVuZ2luZSkKLSNpbmNsdWRlICJ0
c3RfcXNjcmlwdGVuZ2luZS5tb2MiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cXQvYmVuY2htYXJrcy9xc2NyaXB0dmFsdWUvcXNjcmlwdHZhbHVlLnBybyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9xdC9iZW5jaG1hcmtzL3FzY3JpcHR2YWx1ZS9xc2NyaXB0dmFsdWUucHJvCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NzNmZTY1NjQ0NzgyYTM2NWUxZWMyZDZkOTlh
ZjRhZDlhMTYyNzA0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9iZW5jaG1hcmtzL3FzY3JpcHR2YWx1ZS9xc2Ny
aXB0dmFsdWUucHJvCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1URU1QTEFURSA9IGFw
cAotVEFSR0VUID0gdHN0X2JlbmNoX3FzY3JpcHR2YWx1ZQotUVQgKz0gdGVzdGxpYgotCi1pc0Vt
cHR5KE9VVFBVVF9ESVIpOiBPVVRQVVRfRElSID0gLi4vLi4vLi4vLi4KLWluY2x1ZGUoLi4vYmVu
Y2htYXJrcy5wcmkpCi0KLVNPVVJDRVMgKz0gdHN0X3FzY3JpcHR2YWx1ZS5jcHAKLQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2JlbmNobWFya3MvcXNjcmlwdHZhbHVlL3Rz
dF9xc2NyaXB0dmFsdWUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L2JlbmNobWFya3Mv
cXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA3YzM5YjhlN2M0ZDU0OTQyN2NjMzZmZTQ4YTExNTllMzcyM2VlNzQyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9xdC9iZW5jaG1hcmtzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlLmNwcAorKysg
L2Rldi9udWxsCkBAIC0xLDQ0MiArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAxMCBO
b2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
LSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0g
ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaW5jbHVk
ZSAicXNjcmlwdGVuZ2luZS5oIgotI2luY2x1ZGUgInFzY3JpcHRzdHJpbmcuaCIKLSNpbmNsdWRl
ICJxc2NyaXB0dmFsdWUuaCIKLSNpbmNsdWRlIDxxdGVzdC5oPgotCi1RX0RFQ0xBUkVfTUVUQVRZ
UEUoUVNjcmlwdFZhbHVlKTsKLQotY2xhc3MgdHN0X1FTY3JpcHRWYWx1ZSA6IHB1YmxpYyBRT2Jq
ZWN0IHsKLSAgICBRX09CSkVDVAotCi1wdWJsaWM6Ci0gICAgdHN0X1FTY3JpcHRWYWx1ZSgpCi0g
ICAgICAgIDogbV9lbmdpbmUoMCkKLSAgICB7fQotCi0gICAgfnRzdF9RU2NyaXB0VmFsdWUoKQot
ICAgIHsKLSAgICAgICAgaWYgKG1fZW5naW5lKQotICAgICAgICAgICAgZGVsZXRlIG1fZW5naW5l
OwotICAgIH0KLQotcHJpdmF0ZSBzbG90czoKLSAgICB2b2lkIHZhbHVlc19kYXRhKCk7Ci0KLSAg
ICB2b2lkIGN0b3JCb29sKCk7Ci0gICAgdm9pZCBjdG9yUmVhbCgpOwotICAgIHZvaWQgY3Rvck51
bWJlcigpOwotICAgIHZvaWQgY3RvclFTdHJpbmcoKTsKLSAgICB2b2lkIGN0b3JDU3RyaW5nKCk7
Ci0gICAgdm9pZCBjdG9yU3BlY2lhbCgpOwotICAgIHZvaWQgY3RvclFTY3JpcHRWYWx1ZSgpOwot
Ci0gICAgdm9pZCBpc1ZhbGlkX2RhdGEoKTsKLSAgICB2b2lkIGlzVmFsaWQoKTsKLSAgICB2b2lk
IGlzQm9vbF9kYXRhKCk7Ci0gICAgdm9pZCBpc0Jvb2woKTsKLSAgICB2b2lkIGlzTnVtYmVyX2Rh
dGEoKTsKLSAgICB2b2lkIGlzTnVtYmVyKCk7Ci0gICAgdm9pZCBpc0Z1bmN0aW9uX2RhdGEoKTsK
LSAgICB2b2lkIGlzRnVuY3Rpb24oKTsKLSAgICB2b2lkIGlzTnVsbF9kYXRhKCk7Ci0gICAgdm9p
ZCBpc051bGwoKTsKLSAgICB2b2lkIGlzU3RyaW5nX2RhdGEoKTsKLSAgICB2b2lkIGlzU3RyaW5n
KCk7Ci0gICAgdm9pZCBpc1VuZGVmaW5lZF9kYXRhKCk7Ci0gICAgdm9pZCBpc1VuZGVmaW5lZCgp
OwotICAgIHZvaWQgaXNPYmplY3RfZGF0YSgpOwotICAgIHZvaWQgaXNPYmplY3QoKTsKLSAgICB2
b2lkIGlzRXJyb3JfZGF0YSgpOwotICAgIHZvaWQgaXNFcnJvcigpOwotCi0gICAgdm9pZCB0b1N0
cmluZ19kYXRhKCk7Ci0gICAgdm9pZCB0b1N0cmluZygpOwotICAgIHZvaWQgdG9OdW1iZXJfZGF0
YSgpOwotICAgIHZvaWQgdG9OdW1iZXIoKTsKLSAgICB2b2lkIHRvQm9vbF9kYXRhKCk7Ci0gICAg
dm9pZCB0b0Jvb2woKTsKLSAgICB2b2lkIHRvSW50ZWdlcl9kYXRhKCk7Ci0gICAgdm9pZCB0b0lu
dGVnZXIoKTsKLSAgICB2b2lkIHRvSW50MzJfZGF0YSgpOwotICAgIHZvaWQgdG9JbnQzMigpOwot
ICAgIHZvaWQgdG9VSW50MzJfZGF0YSgpOwotICAgIHZvaWQgdG9VSW50MzIoKTsKLSAgICB2b2lk
IHRvVUludDE2X2RhdGEoKTsKLSAgICB2b2lkIHRvVUludDE2KCk7Ci0gICAgdm9pZCB0b09iamVj
dF9kYXRhKCk7Ci0gICAgdm9pZCB0b09iamVjdCgpOwotCi0gICAgdm9pZCBlcXVhbHNfZGF0YSgp
OwotICAgIHZvaWQgZXF1YWxzKCk7Ci0gICAgdm9pZCBzdHJpY3RseUVxdWFsc19kYXRhKCk7Ci0g
ICAgdm9pZCBzdHJpY3RseUVxdWFscygpOwotICAgIHZvaWQgaW5zdGFuY2VPZl9kYXRhKCk7Ci0g
ICAgdm9pZCBpbnN0YW5jZU9mKCk7Ci0KLXByaXZhdGU6Ci0gICAgUVNjcmlwdEVuZ2luZSogbV9l
bmdpbmU7Ci19OwotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnZhbHVlc19kYXRhKCkKLXsKLSAg
ICBpZiAobV9lbmdpbmUpCi0gICAgICAgIGRlbGV0ZSBtX2VuZ2luZTsKLSAgICBtX2VuZ2luZSA9
IG5ldyBRU2NyaXB0RW5naW5lOwotCi0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+
KCJ2YWx1ZSIpOwotCi0gICAgUVRlc3Q6Om5ld1JvdygiaW52YWxpZCIpIDw8IFFTY3JpcHRWYWx1
ZSgpOwotCi0gICAgUVRlc3Q6Om5ld1JvdygiY2Jvb2wiKSA8PCBRU2NyaXB0VmFsdWUodHJ1ZSk7
Ci0gICAgUVRlc3Q6Om5ld1JvdygiY251bWJlciIpIDw8IFFTY3JpcHRWYWx1ZSgxMjM0KTsKLSAg
ICBRVGVzdDo6bmV3Um93KCJjc3RyaW5nIikgPDwgUVNjcmlwdFZhbHVlKCJhYmMiKTsKLSAgICBR
VGVzdDo6bmV3Um93KCJjbnVsbCIpIDw8IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxW
YWx1ZSk7Ci0gICAgUVRlc3Q6Om5ld1JvdygiY3VuZGVmaW5lZCIpIDw8IFFTY3JpcHRWYWx1ZShR
U2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKTsKLQotICAgIFFUZXN0OjpuZXdSb3coImpzYm9v
bCIpIDw8IG1fZW5naW5lLT5ldmFsdWF0ZSgidHJ1ZSIpOwotICAgIFFUZXN0OjpuZXdSb3coImpz
bnVtYmVyIikgPDwgbV9lbmdpbmUtPmV2YWx1YXRlKCIxMjM0NSIpOwotICAgIFFUZXN0OjpuZXdS
b3coImpzc3RyaW5nIikgPDwgbV9lbmdpbmUtPmV2YWx1YXRlKCInZ28nIik7Ci0gICAgUVRlc3Q6
Om5ld1JvdygianNmdW5jdGlvbiIpIDw8IG1fZW5naW5lLT5ldmFsdWF0ZSgiKGZ1bmN0aW9uIHt9
KSIpOwotICAgIFFUZXN0OjpuZXdSb3coImpzbnVsbCIpIDw8IG1fZW5naW5lLT5udWxsVmFsdWUo
KTsKLSAgICBRVGVzdDo6bmV3Um93KCJqc3VuZGVmaW5lZCIpIDw8IG1fZW5naW5lLT51bmRlZmlu
ZWRWYWx1ZSgpOwotICAgIFFUZXN0OjpuZXdSb3coImpzb2JqZWN0IikgPDwgbV9lbmdpbmUtPm5l
d09iamVjdCgpOwotICAgIFFUZXN0OjpuZXdSb3coImpzZXJyb3IiKSA8PCBtX2VuZ2luZS0+ZXZh
bHVhdGUoIm5ldyBFcnJvcigpIik7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6Y3RvckJv
b2woKQotewotICAgIFFCRU5DSE1BUksgewotICAgICAgICBRU2NyaXB0VmFsdWUodHJ1ZSk7Ci0g
ICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmN0b3JSZWFsKCkKLXsKLSAgICBRQkVO
Q0hNQVJLIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlKDEyLjMpOwotICAgIH0KLX0KLQotdm9pZCB0
c3RfUVNjcmlwdFZhbHVlOjpjdG9yTnVtYmVyKCkKLXsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAg
ICAgUVNjcmlwdFZhbHVlKDEyMyk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6
OmN0b3JRU3RyaW5nKCkKLXsKLSAgICBRU3RyaW5nIHN0ciA9IFFTdHJpbmc6OmZyb21MYXRpbjEo
ImNpYW8iKTsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlKHN0cik7Ci0g
ICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmN0b3JDU3RyaW5nKCkKLXsKLSAgICBR
QkVOQ0hNQVJLIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlKCJQb25nISIpOwotICAgIH0KLX0KLQot
dm9pZCB0c3RfUVNjcmlwdFZhbHVlOjpjdG9yU3BlY2lhbCgpCi17Ci0gICAgUUJFTkNITUFSSyB7
Ci0gICAgICAgICh2b2lkKVFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSk7Ci0g
ICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmN0b3JRU2NyaXB0VmFsdWUoKQotewot
ICAgIFFTY3JpcHRWYWx1ZSB0bXAoMTIzNCk7Ci0gICAgUUJFTkNITUFSSyB7Ci0gICAgICAgIFFT
Y3JpcHRWYWx1ZSh0bXApOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc1Zh
bGlkX2RhdGEoKQotewotICAgIHZhbHVlc19kYXRhKCk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRW
YWx1ZTo6aXNWYWxpZCgpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAg
IFFCRU5DSE1BUksgewotICAgICAgICB2YWx1ZS5pc1ZhbGlkKCk7Ci0gICAgfQotfQotCi12b2lk
IHRzdF9RU2NyaXB0VmFsdWU6OmlzQm9vbF9kYXRhKCkKLXsKLSAgICB2YWx1ZXNfZGF0YSgpOwot
fQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzQm9vbCgpCi17Ci0gICAgUUZFVENIKFFTY3Jp
cHRWYWx1ZSwgdmFsdWUpOwotICAgIFFCRU5DSE1BUksgewotICAgICAgICB2YWx1ZS5pc0Jvb2wo
KTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNOdW1iZXJfZGF0YSgpCi17
Ci0gICAgdmFsdWVzX2RhdGEoKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc051bWJl
cigpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAgIFFCRU5DSE1BUksg
ewotICAgICAgICB2YWx1ZS5pc051bWJlcigpOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlw
dFZhbHVlOjppc0Z1bmN0aW9uX2RhdGEoKQotewotICAgIHZhbHVlc19kYXRhKCk7Ci19Ci0KLXZv
aWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNGdW5jdGlvbigpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRW
YWx1ZSwgdmFsdWUpOwotICAgIFFCRU5DSE1BUksgewotICAgICAgICB2YWx1ZS5pc0Z1bmN0aW9u
KCk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzTnVsbF9kYXRhKCkKLXsK
LSAgICB2YWx1ZXNfZGF0YSgpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzTnVsbCgp
Ci17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAgIFFCRU5DSE1BUksgewot
ICAgICAgICB2YWx1ZS5pc051bGwoKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1
ZTo6aXNTdHJpbmdfZGF0YSgpCi17Ci0gICAgdmFsdWVzX2RhdGEoKTsKLX0KLQotdm9pZCB0c3Rf
UVNjcmlwdFZhbHVlOjppc1N0cmluZygpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFs
dWUpOwotICAgIFFCRU5DSE1BUksgewotICAgICAgICB2YWx1ZS5pc1N0cmluZygpOwotICAgIH0K
LX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc1VuZGVmaW5lZF9kYXRhKCkKLXsKLSAgICB2
YWx1ZXNfZGF0YSgpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzVW5kZWZpbmVkKCkK
LXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUJFTkNITUFSSyB7Ci0g
ICAgICAgIHZhbHVlLmlzVW5kZWZpbmVkKCk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0
VmFsdWU6OmlzT2JqZWN0X2RhdGEoKQotewotICAgIHZhbHVlc19kYXRhKCk7Ci19Ci0KLXZvaWQg
dHN0X1FTY3JpcHRWYWx1ZTo6aXNPYmplY3QoKQotewotICAgIFFGRVRDSChRU2NyaXB0VmFsdWUs
IHZhbHVlKTsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAgICAgdmFsdWUuaXNPYmplY3QoKTsKLSAg
ICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNFcnJvcl9kYXRhKCkKLXsKLSAgICB2
YWx1ZXNfZGF0YSgpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzRXJyb3IoKQotewot
ICAgIFFGRVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAg
ICAgdmFsdWUuaXNFcnJvcigpOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0
b1N0cmluZ19kYXRhKCkKLXsKLSAgICB2YWx1ZXNfZGF0YSgpOwotfQotCi12b2lkIHRzdF9RU2Ny
aXB0VmFsdWU6OnRvU3RyaW5nKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7
Ci0gICAgUUJFTkNITUFSSyB7Ci0gICAgICAgIHZhbHVlLnRvU3RyaW5nKCk7Ci0gICAgfQotfQot
Ci12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvTnVtYmVyX2RhdGEoKQotewotICAgIHZhbHVlc19k
YXRhKCk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9OdW1iZXIoKQotewotICAgIFFG
RVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAgICAgdmFs
dWUudG9OdW1iZXIoKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9Cb29s
X2RhdGEoKQotewotICAgIHZhbHVlc19kYXRhKCk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1
ZTo6dG9Cb29sKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUJF
TkNITUFSSyB7Ci0gICAgICAgIHZhbHVlLnRvQm9vbCgpOwotICAgIH0KLX0KLQotdm9pZCB0c3Rf
UVNjcmlwdFZhbHVlOjp0b0ludGVnZXJfZGF0YSgpCi17Ci0gICAgdmFsdWVzX2RhdGEoKTsKLX0K
LQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b0ludGVnZXIoKQotewotICAgIFFGRVRDSChRU2Ny
aXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAgICAgdmFsdWUudG9JbnRl
Z2VyKCk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvSW50MzJfZGF0YSgp
Ci17Ci0gICAgdmFsdWVzX2RhdGEoKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b0lu
dDMyKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUJFTkNITUFS
SyB7Ci0gICAgICAgIHZhbHVlLnRvSW50MzIoKTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3Jp
cHRWYWx1ZTo6dG9VSW50MzJfZGF0YSgpCi17Ci0gICAgdmFsdWVzX2RhdGEoKTsKLX0KLQotdm9p
ZCB0c3RfUVNjcmlwdFZhbHVlOjp0b1VJbnQzMigpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1
ZSwgdmFsdWUpOwotICAgIFFCRU5DSE1BUksgewotICAgICAgICB2YWx1ZS50b1VJbnQzMigpOwot
ICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b1VJbnQxNl9kYXRhKCkKLXsKLSAg
ICB2YWx1ZXNfZGF0YSgpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvVUludDE2KCkK
LXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUJFTkNITUFSSyB7Ci0g
ICAgICAgIHZhbHVlLnRvVUludDE2KCk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFs
dWU6OnRvT2JqZWN0X2RhdGEoKQotewotICAgIHZhbHVlc19kYXRhKCk7Ci19Ci0KLXZvaWQgdHN0
X1FTY3JpcHRWYWx1ZTo6dG9PYmplY3QoKQotewotICAgIFFGRVRDSChRU2NyaXB0VmFsdWUsIHZh
bHVlKTsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAgICAgdmFsdWUudG9PYmplY3QoKTsKLSAgICB9
Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6ZXF1YWxzX2RhdGEoKQotewotICAgIHZhbHVl
c19kYXRhKCk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6ZXF1YWxzKCkKLXsKLSAgICBR
RkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgc3RhdGljIFFTY3JpcHRWYWx1ZSBwcmV2
aW91czsKLSAgICBRQkVOQ0hNQVJLIHsKLSAgICAgICAgdmFsdWUuZXF1YWxzKHByZXZpb3VzKTsK
LSAgICB9Ci0gICAgcHJldmlvdXMgPSB2YWx1ZTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVl
OjpzdHJpY3RseUVxdWFsc19kYXRhKCkKLXsKLSAgICB2YWx1ZXNfZGF0YSgpOwotfQotCi12b2lk
IHRzdF9RU2NyaXB0VmFsdWU6OnN0cmljdGx5RXF1YWxzKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlw
dFZhbHVlLCB2YWx1ZSk7Ci0gICAgc3RhdGljIFFTY3JpcHRWYWx1ZSBwcmV2aW91czsKLSAgICBR
QkVOQ0hNQVJLIHsKLSAgICAgICAgdmFsdWUuc3RyaWN0bHlFcXVhbHMocHJldmlvdXMpOwotICAg
IH0KLSAgICBwcmV2aW91cyA9IHZhbHVlOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6Omlu
c3RhbmNlT2ZfZGF0YSgpCi17Ci0gICAgdmFsdWVzX2RhdGEoKTsKLX0KLQotdm9pZCB0c3RfUVNj
cmlwdFZhbHVlOjppbnN0YW5jZU9mKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1
ZSk7Ci0gICAgc3RhdGljIFFTY3JpcHRWYWx1ZSBvYmplY3QgPSBtX2VuZ2luZS0+bmV3T2JqZWN0
KCk7Ci0gICAgUUJFTkNITUFSSyB7Ci0gICAgICAgIHZhbHVlLmluc3RhbmNlT2Yob2JqZWN0KTsK
LSAgICB9Ci19Ci0KLVFURVNUX01BSU4odHN0X1FTY3JpcHRWYWx1ZSkKLSNpbmNsdWRlICJ0c3Rf
cXNjcmlwdHZhbHVlLm1vYyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC90
ZXN0cy9xc2NyaXB0ZW5naW5lL3FzY3JpcHRlbmdpbmUucHJvIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3F0L3Rlc3RzL3FzY3JpcHRlbmdpbmUvcXNjcmlwdGVuZ2luZS5wcm8KZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGQ1MjFkZDg5YmRiZWI0MjI5MWY3N2MwOTk3ZTkwODdlZDQ5MWFi
NzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHRlbmdpbmUvcXNjcmlwdGVuZ2luZS5wcm8K
KysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLVRFTVBMQVRFID0gYXBwCi1UQVJHRVQgPSB0
c3RfcXNjcmlwdGVuZ2luZQotUVQgKz0gdGVzdGxpYgotaXNFbXB0eShPVVRQVVRfRElSKTogT1VU
UFVUX0RJUiA9IC4uLy4uLy4uLy4uCi1pbmNsdWRlKC4uL3Rlc3RzLnByaSkKLQotU09VUkNFUyAr
PSB0c3RfcXNjcmlwdGVuZ2luZS5jcHAKLQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3F0L3Rlc3RzL3FzY3JpcHRlbmdpbmUvdHN0X3FzY3JpcHRlbmdpbmUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHRlbmdpbmUvdHN0X3FzY3JpcHRlbmdpbmUu
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYWJjZmIyZTgxM2VkOWM3YmM1ZmM0
YjBiNDNhMWZkMjVlZmU3NjUyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0ZW5naW5lL3Rz
dF9xc2NyaXB0ZW5naW5lLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDczNCArMCwwIEBACi0vKgot
ICAgIENvcHlyaWdodCAoQykgMjAwOSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNp
ZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQot
ICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
LSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCi0qLwotCi0jaW5jbHVkZSAicXNjcmlwdGVuZ2luZS5oIgotI2luY2x1ZGUgInFz
Y3JpcHRwcm9ncmFtLmgiCi0jaW5jbHVkZSAicXNjcmlwdHN5bnRheGNoZWNrcmVzdWx0LmgiCi0j
aW5jbHVkZSAicXNjcmlwdHZhbHVlLmgiCi0jaW5jbHVkZSA8UXRDb3JlL3FudW1lcmljLmg+Ci0j
aW5jbHVkZSA8UXRUZXN0L3F0ZXN0Lmg+Ci0KLWNsYXNzIHRzdF9RU2NyaXB0RW5naW5lIDogcHVi
bGljIFFPYmplY3QgewotICAgIFFfT0JKRUNUCi0KLXB1YmxpYzoKLSAgICB0c3RfUVNjcmlwdEVu
Z2luZSgpIHt9Ci0gICAgdmlydHVhbCB+dHN0X1FTY3JpcHRFbmdpbmUoKSB7fQotCi1wdWJsaWMg
c2xvdHM6Ci0gICAgdm9pZCBpbml0KCkge30KLSAgICB2b2lkIGNsZWFudXAoKSB7fQotCi1wcml2
YXRlIHNsb3RzOgotICAgIHZvaWQgbmV3RnVuY3Rpb24oKTsKLSAgICB2b2lkIG5ld09iamVjdCgp
OwotICAgIHZvaWQgZ2xvYmFsT2JqZWN0KCk7Ci0gICAgdm9pZCBldmFsdWF0ZSgpOwotICAgIHZv
aWQgY29sbGVjdEdhcmJhZ2UoKTsKLSAgICB2b2lkIHJlcG9ydEFkZGl0aW9uYWxNZW1vcnlDb3N0
KCk7Ci0gICAgdm9pZCBudWxsVmFsdWUoKTsKLSAgICB2b2lkIHVuZGVmaW5lZFZhbHVlKCk7Ci0g
ICAgdm9pZCBldmFsdWF0ZVByb2dyYW0oKTsKLSAgICB2b2lkIGNoZWNrU3ludGF4X2RhdGEoKTsK
LSAgICB2b2lkIGNoZWNrU3ludGF4KCk7Ci0gICAgdm9pZCB0b09iamVjdCgpOwotICAgIHZvaWQg
dG9PYmplY3RUd29FbmdpbmVzKCk7Ci0gICAgdm9pZCBuZXdBcnJheSgpOwotICAgIHZvaWQgdW5j
YXVnaHRFeGNlcHRpb24oKTsKLSAgICB2b2lkIG5ld0RhdGUoKTsKLX07Ci0KLS8qIEV2YWx1YXRp
bmcgYSBzY3JpcHQgdGhhdCB0aHJvdyBhbiB1bmhhbmRsZWQgZXhjZXB0aW9uIHNob3VsZCByZXR1
cm4gYW4gaW52YWxpZCB2YWx1ZS4gKi8KLXZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6OmV2YWx1YXRl
KCkKLXsKLSAgICBRU2NyaXB0RW5naW5lIGVuZ2luZTsKLSAgICBRVkVSSUZZMihlbmdpbmUuZXZh
bHVhdGUoIjErMSIpLmlzVmFsaWQoKSwgInRoZSBleHByZXNzaW9uIHNob3VsZCBiZSBldmFsdWF0
ZWQgYW5kIGFuIHZhbGlkIHJlc3VsdCBzaG91bGQgYmUgcmV0dXJuZWQiKTsKLSAgICBRVkVSSUZZ
MihlbmdpbmUuZXZhbHVhdGUoInBpbmciKS5pc1ZhbGlkKCksICJTY3JpcHQgdGhyb3dpbmcgYW4g
dW5oYW5kbGVkIGV4Y2VwdGlvbiBzaG91bGQgcmV0dXJuIGFuIGV4Y2VwdGlvbiB2YWx1ZSIpOwot
fQotCi1zdGF0aWMgUVNjcmlwdFZhbHVlIG15RnVuY3Rpb24oUVNjcmlwdENvbnRleHQqLCBRU2Ny
aXB0RW5naW5lKiBlbmcpCi17Ci0gICAgcmV0dXJuIGVuZy0+bnVsbFZhbHVlKCk7Ci19Ci0KLXN0
YXRpYyBRU2NyaXB0VmFsdWUgbXlGdW5jdGlvbldpdGhBcmcoUVNjcmlwdENvbnRleHQqLCBRU2Ny
aXB0RW5naW5lKiBlbmcsIHZvaWQqIGFyZykKLXsKLSAgICBpbnQqIHJlc3VsdCA9IHJlaW50ZXJw
cmV0X2Nhc3Q8aW50Kj4oYXJnKTsKLSAgICByZXR1cm4gUVNjcmlwdFZhbHVlKGVuZywgKnJlc3Vs
dCk7Ci19Ci0KLXN0YXRpYyBRU2NyaXB0VmFsdWUgbXlGdW5jdGlvblRoYXRSZXR1cm5zKFFTY3Jp
cHRDb250ZXh0KiwgUVNjcmlwdEVuZ2luZSogZW5nKQotewotICAgIHJldHVybiBRU2NyaXB0VmFs
dWUoZW5nLCA0Mik7Ci19Ci0KLXN0YXRpYyBRU2NyaXB0VmFsdWUgbXlGdW5jdGlvblRoYXRSZXR1
cm5zV2l0aG91dEVuZ2luZShRU2NyaXB0Q29udGV4dCosIFFTY3JpcHRFbmdpbmUqKQotewotICAg
IHJldHVybiBRU2NyaXB0VmFsdWUoMTAyNCk7Ci19Ci0KLXN0YXRpYyBRU2NyaXB0VmFsdWUgbXlG
dW5jdGlvblRoYXRSZXR1cm5zV3JvbmdFbmdpbmUoUVNjcmlwdENvbnRleHQqLCBRU2NyaXB0RW5n
aW5lKiwgdm9pZCogYXJnKQotewotICAgIFFTY3JpcHRFbmdpbmUqIHdyb25nRW5naW5lID0gcmVp
bnRlcnByZXRfY2FzdDxRU2NyaXB0RW5naW5lKj4oYXJnKTsKLSAgICByZXR1cm4gUVNjcmlwdFZh
bHVlKHdyb25nRW5naW5lLCA0Mik7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6Om5ld0Z1
bmN0aW9uKCkKLXsKLSAgICBRU2NyaXB0RW5naW5lIGVuZzsKLSAgICB7Ci0gICAgICAgIFFTY3Jp
cHRWYWx1ZSBmdW4gPSBlbmcubmV3RnVuY3Rpb24obXlGdW5jdGlvbik7Ci0gICAgICAgIFFDT01Q
QVJFKGZ1bi5pc1ZhbGlkKCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRShmdW4uaXNGdW5jdGlv
bigpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoZnVuLmlzT2JqZWN0KCksIHRydWUpOwotICAg
ICAgICAvLyBRQ09NUEFSRShmdW4uc2NyaXB0Q2xhc3MoKSwgKFFTY3JpcHRDbGFzcyopMCk7Ci0g
ICAgICAgIC8vIGEgcHJvdG90eXBlIHByb3BlcnR5IGlzIGF1dG9tYXRpY2FsbHkgY29uc3RydWN0
ZWQKLSAgICAgICAgewotICAgICAgICAgICAgUVNjcmlwdFZhbHVlIHByb3QgPSBmdW4ucHJvcGVy
dHkoInByb3RvdHlwZSIsIFFTY3JpcHRWYWx1ZTo6UmVzb2x2ZUxvY2FsKTsKLSAgICAgICAgICAg
IFFWRVJJRlkocHJvdC5pc09iamVjdCgpKTsKLSAgICAgICAgICAgIFFWRVJJRlkocHJvdC5wcm9w
ZXJ0eSgiY29uc3RydWN0b3IiKS5zdHJpY3RseUVxdWFscyhmdW4pKTsKLSAgICAgICAgICAgIFFF
WFBFQ1RfRkFJTCgiIiwgIkpTQ2FsbGJhY2tPYmplY3Q6OmdldE93blByb3BlcnR5RGVzY3JpcHRv
cigpIGRvZXNuJ3QgcmV0dXJuIGNvcnJlY3QgaW5mb3JtYXRpb24geWV0IiwgQ29udGludWUpOwot
ICAgICAgICAgICAgUUNPTVBBUkUoZnVuLnByb3BlcnR5RmxhZ3MoInByb3RvdHlwZSIpLCBRU2Ny
aXB0VmFsdWU6OlVuZGVsZXRhYmxlKTsKLSAgICAgICAgICAgIFFFWFBFQ1RfRkFJTCgiIiwgIldl
YktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0
ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgICAgICAgICBRQ09NUEFSRShwcm90
LnByb3BlcnR5RmxhZ3MoImNvbnN0cnVjdG9yIiksIFFTY3JpcHRWYWx1ZTo6UHJvcGVydHlGbGFn
cyhRU2NyaXB0VmFsdWU6OlVuZGVsZXRhYmxlIHwgUVNjcmlwdFZhbHVlOjpTa2lwSW5FbnVtZXJh
dGlvbikpOwotICAgICAgICB9Ci0gICAgICAgIC8vIHByb3RvdHlwZSBzaG91bGQgYmUgRnVuY3Rp
b24ucHJvdG90eXBlCi0gICAgICAgIFFDT01QQVJFKGZ1bi5wcm90b3R5cGUoKS5pc1ZhbGlkKCks
IHRydWUpOwotICAgICAgICBRQ09NUEFSRShmdW4ucHJvdG90eXBlKCkuaXNGdW5jdGlvbigpLCB0
cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoZnVuLnByb3RvdHlwZSgpLnN0cmljdGx5RXF1YWxzKGVu
Zy5ldmFsdWF0ZSgiRnVuY3Rpb24ucHJvdG90eXBlIikpLCB0cnVlKTsKLQotICAgICAgICBRQ09N
UEFSRShmdW4uY2FsbCgpLmlzTnVsbCgpLCB0cnVlKTsKLSAgICAgICAgLy8gUUNPTVBBUkUoZnVu
LmNvbnN0cnVjdCgpLmlzT2JqZWN0KCksIHRydWUpOwotICAgIH0KLSAgICAvLyB0aGUgb3Zlcmxv
YWQgdGhhdCB0YWtlcyBhbiBleHRyYSBhcmd1bWVudAotICAgIHsKLSAgICAgICAgaW50IGV4cGVj
dGVkUmVzdWx0ID0gNDI7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBmdW4gPSBlbmcubmV3RnVuY3Rp
b24obXlGdW5jdGlvbldpdGhBcmcsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KCZleHBlY3RlZFJl
c3VsdCkpOwotICAgICAgICBRVkVSSUZZKGZ1bi5pc0Z1bmN0aW9uKCkpOwotICAgICAgICAvLyBR
Q09NUEFSRShmdW4uc2NyaXB0Q2xhc3MoKSwgKFFTY3JpcHRDbGFzcyopMCk7Ci0gICAgICAgIC8v
IGEgcHJvdG90eXBlIHByb3BlcnR5IGlzIGF1dG9tYXRpY2FsbHkgY29uc3RydWN0ZWQKLSAgICAg
ICAgewotICAgICAgICAgICAgUVNjcmlwdFZhbHVlIHByb3QgPSBmdW4ucHJvcGVydHkoInByb3Rv
dHlwZSIsIFFTY3JpcHRWYWx1ZTo6UmVzb2x2ZUxvY2FsKTsKLSAgICAgICAgICAgIFFWRVJJRlko
cHJvdC5pc09iamVjdCgpKTsKLSAgICAgICAgICAgIFFWRVJJRlkocHJvdC5wcm9wZXJ0eSgiY29u
c3RydWN0b3IiKS5zdHJpY3RseUVxdWFscyhmdW4pKTsKLSAgICAgICAgICAgIFFFWFBFQ1RfRkFJ
TCgiIiwgIkpTQ2FsbGJhY2tPYmplY3Q6OmdldE93blByb3BlcnR5RGVzY3JpcHRvcigpIGRvZXNu
J3QgcmV0dXJuIGNvcnJlY3QgaW5mb3JtYXRpb24geWV0IiwgQ29udGludWUpOwotICAgICAgICAg
ICAgUUNPTVBBUkUoZnVuLnByb3BlcnR5RmxhZ3MoInByb3RvdHlwZSIpLCBRU2NyaXB0VmFsdWU6
OlVuZGVsZXRhYmxlKTsKLSAgICAgICAgICAgIFFFWFBFQ1RfRkFJTCgiIiwgIldlYktpdCBidWc6
IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0
eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgICAgICAgICBRQ09NUEFSRShwcm90LnByb3BlcnR5
RmxhZ3MoImNvbnN0cnVjdG9yIiksIFFTY3JpcHRWYWx1ZTo6UHJvcGVydHlGbGFncyhRU2NyaXB0
VmFsdWU6OlVuZGVsZXRhYmxlIHwgUVNjcmlwdFZhbHVlOjpTa2lwSW5FbnVtZXJhdGlvbikpOwot
ICAgICAgICB9Ci0gICAgICAgIC8vIHByb3RvdHlwZSBzaG91bGQgYmUgRnVuY3Rpb24ucHJvdG90
eXBlCi0gICAgICAgIFFDT01QQVJFKGZ1bi5wcm90b3R5cGUoKS5pc1ZhbGlkKCksIHRydWUpOwot
ICAgICAgICBRQ09NUEFSRShmdW4ucHJvdG90eXBlKCkuaXNGdW5jdGlvbigpLCB0cnVlKTsKLSAg
ICAgICAgUUNPTVBBUkUoZnVuLnByb3RvdHlwZSgpLnN0cmljdGx5RXF1YWxzKGVuZy5ldmFsdWF0
ZSgiRnVuY3Rpb24ucHJvdG90eXBlIikpLCB0cnVlKTsKLQotICAgICAgICBRU2NyaXB0VmFsdWUg
cmVzdWx0ID0gZnVuLmNhbGwoKTsKLSAgICAgICAgUUNPTVBBUkUocmVzdWx0LmlzTnVtYmVyKCks
IHRydWUpOwotICAgICAgICBRQ09NUEFSRShyZXN1bHQudG9JbnQzMigpLCBleHBlY3RlZFJlc3Vs
dCk7Ci0gICAgfQotICAgIC8vIHRoZSBvdmVybG9hZCB0aGF0IHRha2VzIGEgcHJvdG90eXBlCi0g
ICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgcHJvdG8gPSBlbmcubmV3T2JqZWN0KCk7Ci0gICAg
ICAgIFFTY3JpcHRWYWx1ZSBmdW4gPSBlbmcubmV3RnVuY3Rpb24obXlGdW5jdGlvbiwgcHJvdG8p
OwotICAgICAgICBRQ09NUEFSRShmdW4uaXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBB
UkUoZnVuLmlzRnVuY3Rpb24oKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGZ1bi5pc09iamVj
dCgpLCB0cnVlKTsKLSAgICAgICAgLy8gaW50ZXJuYWwgcHJvdG90eXBlIHNob3VsZCBiZSBGdW5j
dGlvbi5wcm90b3R5cGUKLSAgICAgICAgUUNPTVBBUkUoZnVuLnByb3RvdHlwZSgpLmlzVmFsaWQo
KSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGZ1bi5wcm90b3R5cGUoKS5pc0Z1bmN0aW9uKCks
IHRydWUpOwotICAgICAgICBRQ09NUEFSRShmdW4ucHJvdG90eXBlKCkuc3RyaWN0bHlFcXVhbHMo
ZW5nLmV2YWx1YXRlKCJGdW5jdGlvbi5wcm90b3R5cGUiKSksIHRydWUpOwotICAgICAgICAvLyBw
dWJsaWMgcHJvdG90eXBlIHNob3VsZCBiZSB0aGUgb25lIHdlIHBhc3NlZAotICAgICAgICBRQ09N
UEFSRShmdW4ucHJvcGVydHkoInByb3RvdHlwZSIpLnN0cmljdGx5RXF1YWxzKHByb3RvKSwgdHJ1
ZSk7Ci0gICAgICAgIFFFWFBFQ1RfRkFJTCgiIiwgIkpTQ2FsbGJhY2tPYmplY3Q6OmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcigpIGRvZXNuJ3QgcmV0dXJuIGNvcnJlY3QgaW5mb3JtYXRpb24geWV0
IiwgQ29udGludWUpOwotICAgICAgICBRQ09NUEFSRShmdW4ucHJvcGVydHlGbGFncygicHJvdG90
eXBlIiksIFFTY3JpcHRWYWx1ZTo6VW5kZWxldGFibGUpOwotICAgICAgICBRQ09NUEFSRShwcm90
by5wcm9wZXJ0eSgiY29uc3RydWN0b3IiKS5zdHJpY3RseUVxdWFscyhmdW4pLCB0cnVlKTsKLSAg
ICAgICAgUUVYUEVDVF9GQUlMKCIiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNl
dFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsK
LSAgICAgICAgUUNPTVBBUkUocHJvdG8ucHJvcGVydHlGbGFncygiY29uc3RydWN0b3IiKSwgUVNj
cmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdzKFFTY3JpcHRWYWx1ZTo6VW5kZWxldGFibGUgfCBRU2Ny
aXB0VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uKSk7Ci0KLSAgICAgICAgUUNPTVBBUkUoZnVuLmNh
bGwoKS5pc051bGwoKSwgdHJ1ZSk7Ci0gICAgICAgIC8vIFFDT01QQVJFKGZ1bi5jb25zdHJ1Y3Qo
KS5pc09iamVjdCgpLCB0cnVlKTsKLSAgICB9Ci0gICAgLy8gd2hldGhlciB0aGUgcmV0dXJuIHZh
bHVlIGlzIGNvcnJlY3QKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBmdW4gPSBlbmcubmV3
RnVuY3Rpb24obXlGdW5jdGlvblRoYXRSZXR1cm5zKTsKLSAgICAgICAgUUNPTVBBUkUoZnVuLmlz
VmFsaWQoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGZ1bi5pc0Z1bmN0aW9uKCksIHRydWUp
OwotICAgICAgICBRQ09NUEFSRShmdW4uaXNPYmplY3QoKSwgdHJ1ZSk7Ci0KLSAgICAgICAgUVNj
cmlwdFZhbHVlIHJlc3VsdCA9IGZ1bi5jYWxsKCk7Ci0gICAgICAgIFFDT01QQVJFKHJlc3VsdC5p
c051bWJlcigpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUocmVzdWx0LnRvSW50MzIoKSwgNDIp
OwotICAgIH0KLSAgICAvLyB3aGV0aGVyIHRoZSByZXR1cm4gdmFsdWUgaXMgYXNzaWduZWQgdG8g
dGhlIGNvcnJlY3QgZW5naW5lCi0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgZnVuID0gZW5n
Lm5ld0Z1bmN0aW9uKG15RnVuY3Rpb25UaGF0UmV0dXJuc1dpdGhvdXRFbmdpbmUpOwotICAgICAg
ICBRQ09NUEFSRShmdW4uaXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoZnVuLmlz
RnVuY3Rpb24oKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGZ1bi5pc09iamVjdCgpLCB0cnVl
KTsKLQotICAgICAgICBRU2NyaXB0VmFsdWUgcmVzdWx0ID0gZnVuLmNhbGwoKTsKLSAgICAgICAg
UUNPTVBBUkUocmVzdWx0LmVuZ2luZSgpLCAmZW5nKTsKLSAgICAgICAgUUNPTVBBUkUocmVzdWx0
LmlzTnVtYmVyKCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRShyZXN1bHQudG9JbnQzMigpLCAx
MDI0KTsKLSAgICB9Ci0gICAgLy8gd2hldGhlciB0aGUgcmV0dXJuIHZhbHVlIGlzIHVuZGVmaW5l
ZCB3aGVuIHJldHVybmluZyBhIHZhbHVlIHdpdGggd3JvbmcgZW5naW5lCi0gICAgewotICAgICAg
ICBRU2NyaXB0RW5naW5lIHdyb25nRW5naW5lOwotCi0gICAgICAgIFFTY3JpcHRWYWx1ZSBmdW4g
PSBlbmcubmV3RnVuY3Rpb24obXlGdW5jdGlvblRoYXRSZXR1cm5zV3JvbmdFbmdpbmUsIHJlaW50
ZXJwcmV0X2Nhc3Q8dm9pZCo+KCZ3cm9uZ0VuZ2luZSkpOwotICAgICAgICBRQ09NUEFSRShmdW4u
aXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoZnVuLmlzRnVuY3Rpb24oKSwgdHJ1
ZSk7Ci0gICAgICAgIFFDT01QQVJFKGZ1bi5pc09iamVjdCgpLCB0cnVlKTsKLQotICAgICAgICBR
VGVzdDo6aWdub3JlTWVzc2FnZShRdFdhcm5pbmdNc2csICJWYWx1ZSBmcm9tIGRpZmZlcmVudCBl
bmdpbmUgcmV0dXJuZWQgZnJvbSBuYXRpdmUgZnVuY3Rpb24sIHJldHVybmluZyB1bmRlZmluZWQg
dmFsdWUgaW5zdGVhZC4iKTsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHJlc3VsdCA9IGZ1bi5jYWxs
KCk7Ci0gICAgICAgIFFDT01QQVJFKHJlc3VsdC5pc1ZhbGlkKCksIHRydWUpOwotICAgICAgICBR
Q09NUEFSRShyZXN1bHQuaXNVbmRlZmluZWQoKSwgdHJ1ZSk7Ci0gICAgfQotfQotCi12b2lkIHRz
dF9RU2NyaXB0RW5naW5lOjpuZXdPYmplY3QoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5l
OwotICAgIFFTY3JpcHRWYWx1ZSBvYmplY3QgPSBlbmdpbmUubmV3T2JqZWN0KCk7Ci0gICAgUVZF
UklGWShvYmplY3QuaXNPYmplY3QoKSk7Ci0gICAgUVZFUklGWShvYmplY3QuZW5naW5lKCkgPT0g
JmVuZ2luZSk7Ci0gICAgUVZFUklGWSghb2JqZWN0LmlzRXJyb3IoKSk7Ci0gICAgUVZFUklGWSgh
b2JqZWN0LmVxdWFscyhlbmdpbmUubmV3T2JqZWN0KCkpKTsKLSAgICBRVkVSSUZZKCFvYmplY3Qu
c3RyaWN0bHlFcXVhbHMoZW5naW5lLm5ld09iamVjdCgpKSk7Ci0gICAgUUNPTVBBUkUob2JqZWN0
LnRvU3RyaW5nKCksIFFTdHJpbmc6OmZyb21Bc2NpaSgiW29iamVjdCBPYmplY3RdIikpOwotfQot
Ci12b2lkIHRzdF9RU2NyaXB0RW5naW5lOjpnbG9iYWxPYmplY3QoKQotewotICAgIFFTY3JpcHRF
bmdpbmUgZW5naW5lOwotICAgIFFTY3JpcHRWYWx1ZSBnbG9iYWwgPSBlbmdpbmUuZ2xvYmFsT2Jq
ZWN0KCk7Ci0gICAgUVNjcmlwdFZhbHVlIHNlbGYgPSBlbmdpbmUuZXZhbHVhdGUoInRoaXMiKTsK
LSAgICBRVkVSSUZZKGdsb2JhbC5pc09iamVjdCgpKTsKLSAgICBRVkVSSUZZKGVuZ2luZS5nbG9i
YWxPYmplY3QoKS5lcXVhbHMoZW5naW5lLmV2YWx1YXRlKCJ0aGlzIikpKTsKLSAgICBRVkVSSUZZ
KGVuZ2luZS5nbG9iYWxPYmplY3QoKS5zdHJpY3RseUVxdWFscyhzZWxmKSk7Ci19Ci0KLS8qIFRl
c3QgZ2FyYmFnZSBjb2xsZWN0aW9uLCBhdCBsZWFzdCB0cnkgdG8gbm90IGNyYXNoLiAqLwotdm9p
ZCB0c3RfUVNjcmlwdEVuZ2luZTo6Y29sbGVjdEdhcmJhZ2UoKQotewotICAgIFFTY3JpcHRFbmdp
bmUgZW5naW5lOwotICAgIFFTY3JpcHRWYWx1ZSBmb28gPSBlbmdpbmUuZXZhbHVhdGUoIiggZnVu
Y3Rpb24gZm9vKCkge3JldHVybiAncG9uZyc7fSApIik7Ci0gICAgUVZFUklGWShmb28uaXNGdW5j
dGlvbigpKTsKLSAgICBlbmdpbmUuY29sbGVjdEdhcmJhZ2UoKTsKLSAgICBRQ09NUEFSRShmb28u
Y2FsbCgpLnRvU3RyaW5nKCksIFFTdHJpbmc6OmZyb21Bc2NpaSgicG9uZyIpKTsKLX0KLQotdm9p
ZCB0c3RfUVNjcmlwdEVuZ2luZTo6cmVwb3J0QWRkaXRpb25hbE1lbW9yeUNvc3QoKQotewotICAg
IC8vIFRoZXJlIGlzbid0IGFueSBlYXN5IHdheSB0byB0ZXN0IHRoZSByZXNwb25zaXZlbmVzcyBv
ZiB0aGUgR0M7Ci0gICAgLy8ganVzdCB0cnkgdG8gY2FsbCB0aGUgZnVuY3Rpb24gYSBmZXcgdGlt
ZXMgd2l0aCB2YXJpb3VzIHNpemVzLgotICAgIFFTY3JpcHRFbmdpbmUgZW5nOwotICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgMTAwOyArK2kpIHsKLSAgICAgICAgZW5nLnJlcG9ydEFkZGl0aW9uYWxN
ZW1vcnlDb3N0KDApOwotICAgICAgICBlbmcucmVwb3J0QWRkaXRpb25hbE1lbW9yeUNvc3QoMTAp
OwotICAgICAgICBlbmcucmVwb3J0QWRkaXRpb25hbE1lbW9yeUNvc3QoMTAwMCk7Ci0gICAgICAg
IGVuZy5yZXBvcnRBZGRpdGlvbmFsTWVtb3J5Q29zdCgxMDAwMCk7Ci0gICAgICAgIGVuZy5yZXBv
cnRBZGRpdGlvbmFsTWVtb3J5Q29zdCgxMDAwMDApOwotICAgICAgICBlbmcucmVwb3J0QWRkaXRp
b25hbE1lbW9yeUNvc3QoMTAwMDAwMCk7Ci0gICAgICAgIGVuZy5yZXBvcnRBZGRpdGlvbmFsTWVt
b3J5Q29zdCgxMDAwMDAwMCk7Ci0gICAgICAgIGVuZy5yZXBvcnRBZGRpdGlvbmFsTWVtb3J5Q29z
dCgtMSk7Ci0gICAgICAgIGVuZy5yZXBvcnRBZGRpdGlvbmFsTWVtb3J5Q29zdCgtMTAwMCk7Ci0g
ICAgICAgIFFTY3JpcHRWYWx1ZSBvYmogPSBlbmcuZXZhbHVhdGUoIm5ldyBPYmplY3QiKTsKLSAg
ICAgICAgZW5nLmNvbGxlY3RHYXJiYWdlKCk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0
RW5naW5lOjpudWxsVmFsdWUoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwotICAgIFFT
Y3JpcHRWYWx1ZSB2YWx1ZSA9IGVuZ2luZS5udWxsVmFsdWUoKTsKLSAgICBRVkVSSUZZKHZhbHVl
LmlzVmFsaWQoKSk7Ci0gICAgUVZFUklGWSh2YWx1ZS5pc051bGwoKSk7Ci19Ci0KLXZvaWQgdHN0
X1FTY3JpcHRFbmdpbmU6OnVuZGVmaW5lZFZhbHVlKCkKLXsKLSAgICBRU2NyaXB0RW5naW5lIGVu
Z2luZTsKLSAgICBRU2NyaXB0VmFsdWUgdmFsdWUgPSBlbmdpbmUudW5kZWZpbmVkVmFsdWUoKTsK
LSAgICBRVkVSSUZZKHZhbHVlLmlzVmFsaWQoKSk7Ci0gICAgUVZFUklGWSh2YWx1ZS5pc1VuZGVm
aW5lZCgpKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdEVuZ2luZTo6ZXZhbHVhdGVQcm9ncmFtKCkK
LXsKLSAgICBRU2NyaXB0RW5naW5lIGVuZzsKLSAgICB7Ci0gICAgICAgIFFTdHJpbmcgY29kZSgi
MSArIDIiKTsKLSAgICAgICAgUVN0cmluZyBmaWxlTmFtZSgiaGVsbG8uanMiKTsKLSAgICAgICAg
aW50IGxpbmVOdW1iZXIgPSAxMjM7Ci0gICAgICAgIFFTY3JpcHRQcm9ncmFtIHByb2dyYW0oY29k
ZSwgZmlsZU5hbWUsIGxpbmVOdW1iZXIpOwotICAgICAgICBRVkVSSUZZKCFwcm9ncmFtLmlzTnVs
bCgpKTsKLSAgICAgICAgUUNPTVBBUkUocHJvZ3JhbS5zb3VyY2VDb2RlKCksIGNvZGUpOwotICAg
ICAgICBRQ09NUEFSRShwcm9ncmFtLmZpbGVOYW1lKCksIGZpbGVOYW1lKTsKLSAgICAgICAgUUNP
TVBBUkUocHJvZ3JhbS5maXJzdExpbmVOdW1iZXIoKSwgbGluZU51bWJlcik7Ci0KLSAgICAgICAg
UVNjcmlwdFZhbHVlIGV4cGVjdGVkID0gZW5nLmV2YWx1YXRlKGNvZGUpOwotICAgICAgICBmb3Ig
KGludCB4ID0gMDsgeCA8IDEwOyArK3gpIHsKLSAgICAgICAgICAgIFFTY3JpcHRWYWx1ZSByZXQg
PSBlbmcuZXZhbHVhdGUocHJvZ3JhbSk7Ci0gICAgICAgICAgICBRVkVSSUZZKHJldC5lcXVhbHMo
ZXhwZWN0ZWQpKTsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIG9wZXJhdG9yPQotICAgICAgICBR
U2NyaXB0UHJvZ3JhbSBzYW1lUHJvZ3JhbSA9IHByb2dyYW07Ci0gICAgICAgIFFWRVJJRlkoc2Ft
ZVByb2dyYW0gPT0gcHJvZ3JhbSk7Ci0gICAgICAgIFFWRVJJRlkoZW5nLmV2YWx1YXRlKHNhbWVQ
cm9ncmFtKS5lcXVhbHMoZXhwZWN0ZWQpKTsKLQotICAgICAgICAvLyBjb3B5IGNvbnN0cnVjdG9y
Ci0gICAgICAgIFFTY3JpcHRQcm9ncmFtIHNhbWVQcm9ncmFtMihwcm9ncmFtKTsKLSAgICAgICAg
UVZFUklGWShzYW1lUHJvZ3JhbTIgPT0gcHJvZ3JhbSk7Ci0gICAgICAgIFFWRVJJRlkoZW5nLmV2
YWx1YXRlKHNhbWVQcm9ncmFtMikuZXF1YWxzKGV4cGVjdGVkKSk7Ci0KLSAgICAgICAgUVNjcmlw
dFByb2dyYW0gZGlmZmVyZW50UHJvZ3JhbSgiMiArIDMiKTsKLSAgICAgICAgUVZFUklGWShkaWZm
ZXJlbnRQcm9ncmFtICE9IHByb2dyYW0pOwotICAgICAgICBRVkVSSUZZKCFlbmcuZXZhbHVhdGUo
ZGlmZmVyZW50UHJvZ3JhbSkuZXF1YWxzKGV4cGVjdGVkKSk7Ci0gICAgfQotCi0gICAgLy8gUHJv
Z3JhbSB0aGF0IGFjY2Vzc2VzIHZhcmlhYmxlIGluIHRoZSBzY29wZQotICAgIHsKLSAgICAgICAg
UVNjcmlwdFByb2dyYW0gcHJvZ3JhbSgiYSIpOwotICAgICAgICBRVkVSSUZZKCFwcm9ncmFtLmlz
TnVsbCgpKTsKLSAgICAgICAgewotICAgICAgICAgICAgUVNjcmlwdFZhbHVlIHJldCA9IGVuZy5l
dmFsdWF0ZShwcm9ncmFtKTsKLSAgICAgICAgICAgIFFWRVJJRlkocmV0LmlzRXJyb3IoKSk7Ci0g
ICAgICAgICAgICBRQ09NUEFSRShyZXQudG9TdHJpbmcoKSwgUVN0cmluZzo6ZnJvbUxhdGluMSgi
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGEiKSk7Ci0gICAgICAgIH0KLSAg
ICAgICAgewotICAgICAgICAgICAgUVNjcmlwdFZhbHVlIHJldCA9IGVuZy5ldmFsdWF0ZShwcm9n
cmFtKTsKLSAgICAgICAgICAgIFFWRVJJRlkocmV0LmlzRXJyb3IoKSk7Ci0gICAgICAgIH0KLSAg
ICAgICAgZW5nLmV2YWx1YXRlKCJhID0gNDU2Iik7Ci0gICAgICAgIHsKLSAgICAgICAgICAgIFFT
Y3JpcHRWYWx1ZSByZXQgPSBlbmcuZXZhbHVhdGUocHJvZ3JhbSk7Ci0gICAgICAgICAgICBRVkVS
SUZZKCFyZXQuaXNFcnJvcigpKTsKLSAgICAgICAgICAgIFFDT01QQVJFKHJldC50b051bWJlcigp
LCA0NTYuMCk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBQcm9ncmFtIHRoYXQgY3JlYXRl
cyBjbG9zdXJlCi0gICAgewotICAgICAgICBRU2NyaXB0UHJvZ3JhbSBwcm9ncmFtKCIoZnVuY3Rp
b24oKSB7IHZhciBjb3VudCA9IDA7IHJldHVybiBmdW5jdGlvbigpIHsgcmV0dXJuIGNvdW50Kys7
IH07IH0pIik7Ci0gICAgICAgIFFWRVJJRlkoIXByb2dyYW0uaXNOdWxsKCkpOwotICAgICAgICBR
U2NyaXB0VmFsdWUgY3JlYXRlQ291bnRlciA9IGVuZy5ldmFsdWF0ZShwcm9ncmFtKTsKLSAgICAg
ICAgUVZFUklGWShjcmVhdGVDb3VudGVyLmlzRnVuY3Rpb24oKSk7Ci0gICAgICAgIFFTY3JpcHRW
YWx1ZSBjb3VudGVyID0gY3JlYXRlQ291bnRlci5jYWxsKCk7Ci0gICAgICAgIFFWRVJJRlkoY291
bnRlci5pc0Z1bmN0aW9uKCkpOwotICAgICAgICB7Ci0gICAgICAgICAgICBRU2NyaXB0VmFsdWUg
cmV0ID0gY291bnRlci5jYWxsKCk7Ci0gICAgICAgICAgICBRVkVSSUZZKHJldC5pc051bWJlcigp
KTsKLSAgICAgICAgfQotICAgICAgICBRU2NyaXB0VmFsdWUgY291bnRlcjIgPSBjcmVhdGVDb3Vu
dGVyLmNhbGwoKTsKLSAgICAgICAgUVZFUklGWShjb3VudGVyMi5pc0Z1bmN0aW9uKCkpOwotICAg
ICAgICBRVkVSSUZZKCFjb3VudGVyMi5lcXVhbHMoY291bnRlcikpOwotICAgICAgICB7Ci0gICAg
ICAgICAgICBRU2NyaXB0VmFsdWUgcmV0ID0gY291bnRlcjIuY2FsbCgpOwotICAgICAgICAgICAg
UVZFUklGWShyZXQuaXNOdW1iZXIoKSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICAvLyBTYW1l
IHByb2dyYW0gcnVuIGluIGRpZmZlcmVudCBlbmdpbmVzCi0gICAgewotICAgICAgICBRU3RyaW5n
IGNvZGUoIjEgKyAyIik7Ci0gICAgICAgIFFTY3JpcHRQcm9ncmFtIHByb2dyYW0oY29kZSk7Ci0g
ICAgICAgIFFWRVJJRlkoIXByb2dyYW0uaXNOdWxsKCkpOwotICAgICAgICBkb3VibGUgZXhwZWN0
ZWQgPSBlbmcuZXZhbHVhdGUocHJvZ3JhbSkudG9OdW1iZXIoKTsKLSAgICAgICAgZm9yIChpbnQg
eCA9IDA7IHggPCAyOyArK3gpIHsKLSAgICAgICAgICAgIFFTY3JpcHRFbmdpbmUgZW5nMjsKLSAg
ICAgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgMjsgKyt5KSB7Ci0gICAgICAgICAgICAgICAg
ZG91YmxlIHJldCA9IGVuZzIuZXZhbHVhdGUocHJvZ3JhbSkudG9OdW1iZXIoKTsKLSAgICAgICAg
ICAgICAgICBRQ09NUEFSRShyZXQsIGV4cGVjdGVkKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fQotICAgIH0KLQotICAgIC8vIE5vIHByb2dyYW0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRQcm9n
cmFtIHByb2dyYW07Ci0gICAgICAgIFFWRVJJRlkocHJvZ3JhbS5pc051bGwoKSk7Ci0gICAgICAg
IFFTY3JpcHRWYWx1ZSByZXQgPSBlbmcuZXZhbHVhdGUocHJvZ3JhbSk7Ci0gICAgICAgIFFWRVJJ
RlkoIXJldC5pc1ZhbGlkKCkpOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdEVuZ2luZTo6
Y2hlY2tTeW50YXhfZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU3RyaW5nPigiY29k
ZSIpOwotICAgIFFUZXN0OjphZGRDb2x1bW48aW50PigiZXhwZWN0ZWRTdGF0ZSIpOwotICAgIFFU
ZXN0OjphZGRDb2x1bW48aW50PigiZXJyb3JMaW5lTnVtYmVyIik7Ci0gICAgUVRlc3Q6OmFkZENv
bHVtbjxpbnQ+KCJlcnJvckNvbHVtbk51bWJlciIpOwotICAgIFFUZXN0OjphZGRDb2x1bW48UVN0
cmluZz4oImVycm9yTWVzc2FnZSIpOwotCi0gICAgUVRlc3Q6Om5ld1JvdygiMCIpCi0gICAgICAg
IDw8IFFTdHJpbmcoIjAiKSA8PCBpbnQoUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0OjpWYWxpZCkK
LSAgICAgICAgPDwgLTEgPDwgLTEgPDwgIiI7Ci0gICAgUVRlc3Q6Om5ld1JvdygiaWYgKCIpCi0g
ICAgICAgIDw8IFFTdHJpbmcoImlmIChcbiIpIDw8IGludChRU2NyaXB0U3ludGF4Q2hlY2tSZXN1
bHQ6OkludGVybWVkaWF0ZSkKLSAgICAgICAgPDwgMSA8PCA0IDw8ICIiOwotICAgIFFUZXN0Ojpu
ZXdSb3coImlmIGVsc2UiKQotICAgICAgICA8PCBRU3RyaW5nKCJcbmlmIGVsc2UiKSA8PCBpbnQo
UVNjcmlwdFN5bnRheENoZWNrUmVzdWx0OjpFcnJvcikKLSAgICAgICAgPDwgMiA8PCA0IDw8ICJT
eW50YXhFcnJvcjogUGFyc2UgZXJyb3IiOwotICAgIFFUZXN0OjpuZXdSb3coIntpZn0iKQotICAg
ICAgICAgICAgPDwgUVN0cmluZygie1xue1xuaWZcbn1cbiIpIDw8IGludChRU2NyaXB0U3ludGF4
Q2hlY2tSZXN1bHQ6OkVycm9yKQotICAgICAgICA8PCA0IDw8IDEgPDwgIlN5bnRheEVycm9yOiBQ
YXJzZSBlcnJvciI7Ci0gICAgUVRlc3Q6Om5ld1JvdygiZm9vWyIpCi0gICAgICAgIDw8IFFTdHJp
bmcoImZvb1siKSA8PCBpbnQoUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0OjpFcnJvcikKLSAgICAg
ICAgPDwgMSA8PCA0IDw8ICJTeW50YXhFcnJvcjogUGFyc2UgZXJyb3IiOwotICAgIFFUZXN0Ojpu
ZXdSb3coImZvb1snYmFyJ10iKQotICAgICAgICA8PCBRU3RyaW5nKCJmb29bJ2JhciddIikgPDwg
aW50KFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6VmFsaWQpCi0gICAgICAgIDw8IC0xIDw8IC0x
IDw8ICIiOwotCi0gICAgUVRlc3Q6Om5ld1JvdygiLyoiKQotICAgICAgICA8PCBRU3RyaW5nKCIv
KiIpIDw8IGludChRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQ6OkludGVybWVkaWF0ZSkKLSAgICAg
ICAgPDwgMSA8PCAxIDw8ICJVbmNsb3NlZCBjb21tZW50IGF0IGVuZCBvZiBmaWxlIjsKLSAgICBR
VGVzdDo6bmV3Um93KCIvKlxuTXkgY29tbWVudCIpCi0gICAgICAgIDw8IFFTdHJpbmcoIi8qXG5N
eSBjb21tZW50IikgPDwgaW50KFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6SW50ZXJtZWRpYXRl
KQotICAgICAgICA8PCAxIDw8IDEgPDwgIlVuY2xvc2VkIGNvbW1lbnQgYXQgZW5kIG9mIGZpbGUi
OwotICAgIFFUZXN0OjpuZXdSb3coIi8qXG5NeSBjb21tZW50ICovXG5mb28gPSAxMCIpCi0gICAg
ICAgIDw8IFFTdHJpbmcoIi8qXG5NeSBjb21tZW50ICovXG5mb28gPSAxMCIpIDw8IGludChRU2Ny
aXB0U3ludGF4Q2hlY2tSZXN1bHQ6OlZhbGlkKQotICAgICAgICA8PCAtMSA8PCAtMSA8PCAiIjsK
LSAgICBRVGVzdDo6bmV3Um93KCJmb28gPSAxMCAvKiIpCi0gICAgICAgIDw8IFFTdHJpbmcoImZv
byA9IDEwIC8qIikgPDwgaW50KFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6SW50ZXJtZWRpYXRl
KQotICAgICAgICA8PCAtMSA8PCAtMSA8PCAiIjsKLSAgICBRVGVzdDo6bmV3Um93KCJmb28gPSAx
MDsgLyoiKQotICAgICAgICA8PCBRU3RyaW5nKCJmb28gPSAxMDsgLyoiKSA8PCBpbnQoUVNjcmlw
dFN5bnRheENoZWNrUmVzdWx0OjpJbnRlcm1lZGlhdGUpCi0gICAgICAgIDw8IDEgPDwgMTEgPDwg
IkV4cGVjdGVkIGBlbmQgb2YgZmlsZSciOwotICAgIFFUZXN0OjpuZXdSb3coImZvbyA9IDEwIC8q
IE15IGNvbW1lbnQgKi8iKQotICAgICAgICA8PCBRU3RyaW5nKCJmb28gPSAxMCAvKiBNeSBjb21t
ZW50ICovIikgPDwgaW50KFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6VmFsaWQpCi0gICAgICAg
IDw8IC0xIDw8IC0xIDw8ICIiOwotCi0gICAgUVRlc3Q6Om5ld1JvdygiLz0vIikKLSAgICAgICAg
PDwgUVN0cmluZygiLz0vIikgPDwgaW50KFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6VmFsaWQp
IDw8IC0xIDw8IC0xIDw8ICIiOwotICAgIFFUZXN0OjpuZXdSb3coIi89L2ciKQotICAgICAgICA8
PCBRU3RyaW5nKCIvPS9nIikgPDwgaW50KFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6VmFsaWQp
IDw8IC0xIDw8IC0xIDw8ICIiOwotICAgIFFUZXN0OjpuZXdSb3coIi9hLyIpCi0gICAgICAgIDw8
IFFTdHJpbmcoIi9hLyIpIDw8IGludChRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQ6OlZhbGlkKSA8
PCAtMSA8PCAtMSA8PCAiIjsKLSAgICBRVGVzdDo6bmV3Um93KCIvYS9nIikKLSAgICAgICAgPDwg
UVN0cmluZygiL2EvZyIpIDw8IGludChRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQ6OlZhbGlkKSA8
PCAtMSA8PCAtMSA8PCAiIjsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdEVuZ2luZTo6Y2hlY2tTeW50
YXgoKQotewotICAgIFFGRVRDSChRU3RyaW5nLCBjb2RlKTsKLSAgICBRRkVUQ0goaW50LCBleHBl
Y3RlZFN0YXRlKTsKLSAgICBRRkVUQ0goaW50LCBlcnJvckxpbmVOdW1iZXIpOwotICAgIFFGRVRD
SChpbnQsIGVycm9yQ29sdW1uTnVtYmVyKTsKLSAgICBRRkVUQ0goUVN0cmluZywgZXJyb3JNZXNz
YWdlKTsKLQotICAgIFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdCByZXN1bHQgPSBRU2NyaXB0RW5n
aW5lOjpjaGVja1N5bnRheChjb2RlKTsKLQotICAgIC8vIGFzc2lnbm1lbnQKLSAgICB7Ci0gICAg
ICAgIFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdCBjb3B5ID0gcmVzdWx0OwotICAgICAgICBRQ09N
UEFSRShjb3B5LnN0YXRlKCksIHJlc3VsdC5zdGF0ZSgpKTsKLSAgICAgICAgUUNPTVBBUkUoY29w
eS5lcnJvckxpbmVOdW1iZXIoKSwgcmVzdWx0LmVycm9yTGluZU51bWJlcigpKTsKLSAgICAgICAg
UUNPTVBBUkUoY29weS5lcnJvckNvbHVtbk51bWJlcigpLCByZXN1bHQuZXJyb3JDb2x1bW5OdW1i
ZXIoKSk7Ci0gICAgICAgIFFDT01QQVJFKGNvcHkuZXJyb3JNZXNzYWdlKCksIHJlc3VsdC5lcnJv
ck1lc3NhZ2UoKSk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgUVNjcmlwdFN5bnRheENoZWNrUmVz
dWx0IGNvcHkocmVzdWx0KTsKLSAgICAgICAgUUNPTVBBUkUoY29weS5zdGF0ZSgpLCByZXN1bHQu
c3RhdGUoKSk7Ci0gICAgICAgIFFDT01QQVJFKGNvcHkuZXJyb3JMaW5lTnVtYmVyKCksIHJlc3Vs
dC5lcnJvckxpbmVOdW1iZXIoKSk7Ci0gICAgICAgIFFDT01QQVJFKGNvcHkuZXJyb3JDb2x1bW5O
dW1iZXIoKSwgcmVzdWx0LmVycm9yQ29sdW1uTnVtYmVyKCkpOwotICAgICAgICBRQ09NUEFSRShj
b3B5LmVycm9yTWVzc2FnZSgpLCByZXN1bHQuZXJyb3JNZXNzYWdlKCkpOwotICAgIH0KLQotICAg
IGlmIChleHBlY3RlZFN0YXRlID09IFFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6SW50ZXJtZWRp
YXRlKQotICAgICAgICBRRVhQRUNUX0ZBSUwoIiIsICJRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQ6
OnN0YXRlKCkgZG9lc24ndCByZXR1cm4gdGhlIEludGVybWVkaWF0ZSBzdGF0ZSIsIEFib3J0KTsK
LSAgICBRQ09NUEFSRShyZXN1bHQuc3RhdGUoKSwgUVNjcmlwdFN5bnRheENoZWNrUmVzdWx0OjpT
dGF0ZShleHBlY3RlZFN0YXRlKSk7Ci0gICAgUUNPTVBBUkUocmVzdWx0LmVycm9yTGluZU51bWJl
cigpLCBlcnJvckxpbmVOdW1iZXIpOwotICAgIGlmIChleHBlY3RlZFN0YXRlICE9IFFTY3JpcHRT
eW50YXhDaGVja1Jlc3VsdDo6VmFsaWQgJiYgZXJyb3JDb2x1bW5OdW1iZXIgIT0gMSkKLSAgICAg
ICAgICAgIFFFWFBFQ1RfRkFJTCgiIiwgIlFTY3JpcHRTeW50YXhDaGVja1Jlc3VsdDo6ZXJyb3JD
b2x1bW5OdW1iZXIoKSBkb2Vzbid0IHJldHVybiBjb3JyZWN0IHZhbHVlIiwgQ29udGludWUpOwot
ICAgIFFDT01QQVJFKHJlc3VsdC5lcnJvckNvbHVtbk51bWJlcigpLCBlcnJvckNvbHVtbk51bWJl
cik7Ci0gICAgUUNPTVBBUkUocmVzdWx0LmVycm9yTWVzc2FnZSgpLCBlcnJvck1lc3NhZ2UpOwot
fQotCi12b2lkIHRzdF9RU2NyaXB0RW5naW5lOjp0b09iamVjdCgpCi17Ci0gICAgUVNjcmlwdEVu
Z2luZSBlbmc7Ci0gICAgUVZFUklGWSghZW5nLnRvT2JqZWN0KGVuZy51bmRlZmluZWRWYWx1ZSgp
KS5pc1ZhbGlkKCkpOwotICAgIFFWRVJJRlkoIWVuZy50b09iamVjdChlbmcubnVsbFZhbHVlKCkp
LmlzVmFsaWQoKSk7Ci0gICAgUVZFUklGWSghZW5nLnRvT2JqZWN0KFFTY3JpcHRWYWx1ZSgpKS5p
c1ZhbGlkKCkpOwotCi0gICAgUVNjcmlwdFZhbHVlIGZhbHNrdChmYWxzZSk7Ci0gICAgewotICAg
ICAgICBRU2NyaXB0VmFsdWUgdG1wID0gZW5nLnRvT2JqZWN0KGZhbHNrdCk7Ci0gICAgICAgIFFW
RVJJRlkodG1wLmlzT2JqZWN0KCkpOwotICAgICAgICBRVkVSSUZZKCFmYWxza3QuaXNPYmplY3Qo
KSk7Ci0gICAgICAgIFFWRVJJRlkoIWZhbHNrdC5lbmdpbmUoKSk7Ci0gICAgICAgIFFDT01QQVJF
KHRtcC50b051bWJlcigpLCBmYWxza3QudG9OdW1iZXIoKSk7Ci0gICAgfQotCi0gICAgUVNjcmlw
dFZhbHVlIHNhbnQodHJ1ZSk7Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgdG1wID0gZW5n
LnRvT2JqZWN0KHNhbnQpOwotICAgICAgICBRVkVSSUZZKHRtcC5pc09iamVjdCgpKTsKLSAgICAg
ICAgUVZFUklGWSghc2FudC5pc09iamVjdCgpKTsKLSAgICAgICAgUVZFUklGWSghc2FudC5lbmdp
bmUoKSk7Ci0gICAgICAgIFFDT01QQVJFKHRtcC50b051bWJlcigpLCBzYW50LnRvTnVtYmVyKCkp
OwotICAgIH0KLQotICAgIFFTY3JpcHRWYWx1ZSBudW1iZXIoMTIzLjApOwotICAgIHsKLSAgICAg
ICAgUVNjcmlwdFZhbHVlIHRtcCA9IGVuZy50b09iamVjdChudW1iZXIpOwotICAgICAgICBRVkVS
SUZZKHRtcC5pc09iamVjdCgpKTsKLSAgICAgICAgUVZFUklGWSghbnVtYmVyLmlzT2JqZWN0KCkp
OwotICAgICAgICBRVkVSSUZZKCFudW1iZXIuZW5naW5lKCkpOwotICAgICAgICBRQ09NUEFSRSh0
bXAudG9OdW1iZXIoKSwgbnVtYmVyLnRvTnVtYmVyKCkpOwotICAgIH0KLQotICAgIFFTY3JpcHRW
YWx1ZSBzdHIgPSBRU2NyaXB0VmFsdWUoJmVuZywgUVN0cmluZygiY2lhbyIpKTsKLSAgICB7Ci0g
ICAgICAgIFFTY3JpcHRWYWx1ZSB0bXAgPSBlbmcudG9PYmplY3Qoc3RyKTsKLSAgICAgICAgUVZF
UklGWSh0bXAuaXNPYmplY3QoKSk7Ci0gICAgICAgIFFWRVJJRlkoIXN0ci5pc09iamVjdCgpKTsK
LSAgICAgICAgUUNPTVBBUkUodG1wLnRvU3RyaW5nKCksIHN0ci50b1N0cmluZygpKTsKLSAgICB9
Ci0KLSAgICBRU2NyaXB0VmFsdWUgb2JqZWN0ID0gZW5nLmV2YWx1YXRlKCJuZXcgT2JqZWN0Iik7
Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgdG1wID0gZW5nLnRvT2JqZWN0KG9iamVjdCk7
Ci0gICAgICAgIFFWRVJJRlkodG1wLmlzT2JqZWN0KCkpOwotICAgICAgICBRVkVSSUZZKG9iamVj
dC5pc09iamVjdCgpKTsKLSAgICAgICAgUVZFUklGWSh0bXAuc3RyaWN0bHlFcXVhbHMob2JqZWN0
KSk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0RW5naW5lOjp0b09iamVjdFR3b0VuZ2lu
ZXMoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lMTsKLSAgICBRU2NyaXB0RW5naW5lIGVu
Z2luZTI7Ci0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBudWxsID0gZW5naW5lMS5udWxs
VmFsdWUoKTsKLSAgICAgICAgUVRlc3Q6Omlnbm9yZU1lc3NhZ2UoUXRXYXJuaW5nTXNnLCAiUVNj
cmlwdEVuZ2luZTo6dG9PYmplY3Q6IGNhbm5vdCBjb252ZXJ0IHZhbHVlIGNyZWF0ZWQgaW4gYSBk
aWZmZXJlbnQgZW5naW5lIik7Ci0gICAgICAgIFFWRVJJRlkoIWVuZ2luZTIudG9PYmplY3QobnVs
bCkuaXNWYWxpZCgpKTsKLSAgICAgICAgUVZFUklGWShudWxsLmlzVmFsaWQoKSk7Ci0gICAgICAg
IFFUZXN0OjppZ25vcmVNZXNzYWdlKFF0V2FybmluZ01zZywgIlFTY3JpcHRFbmdpbmU6OnRvT2Jq
ZWN0OiBjYW5ub3QgY29udmVydCB2YWx1ZSBjcmVhdGVkIGluIGEgZGlmZmVyZW50IGVuZ2luZSIp
OwotICAgICAgICBRVkVSSUZZKGVuZ2luZTIudG9PYmplY3QobnVsbCkuZW5naW5lKCkgIT0gJmVu
Z2luZTIpOwotICAgIH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB1bmRlZmluZWQgPSBl
bmdpbmUxLnVuZGVmaW5lZFZhbHVlKCk7Ci0gICAgICAgIFFUZXN0OjppZ25vcmVNZXNzYWdlKFF0
V2FybmluZ01zZywgIlFTY3JpcHRFbmdpbmU6OnRvT2JqZWN0OiBjYW5ub3QgY29udmVydCB2YWx1
ZSBjcmVhdGVkIGluIGEgZGlmZmVyZW50IGVuZ2luZSIpOwotICAgICAgICBRVkVSSUZZKCFlbmdp
bmUyLnRvT2JqZWN0KHVuZGVmaW5lZCkuaXNWYWxpZCgpKTsKLSAgICAgICAgUVZFUklGWSh1bmRl
ZmluZWQuaXNWYWxpZCgpKTsKLSAgICAgICAgUVRlc3Q6Omlnbm9yZU1lc3NhZ2UoUXRXYXJuaW5n
TXNnLCAiUVNjcmlwdEVuZ2luZTo6dG9PYmplY3Q6IGNhbm5vdCBjb252ZXJ0IHZhbHVlIGNyZWF0
ZWQgaW4gYSBkaWZmZXJlbnQgZW5naW5lIik7Ci0gICAgICAgIFFWRVJJRlkoZW5naW5lMi50b09i
amVjdCh1bmRlZmluZWQpLmVuZ2luZSgpICE9ICZlbmdpbmUyKTsKLSAgICB9Ci0gICAgewotICAg
ICAgICBRU2NyaXB0VmFsdWUgdmFsdWUgPSBlbmdpbmUxLmV2YWx1YXRlKCIxIik7Ci0gICAgICAg
IFFUZXN0OjppZ25vcmVNZXNzYWdlKFF0V2FybmluZ01zZywgIlFTY3JpcHRFbmdpbmU6OnRvT2Jq
ZWN0OiBjYW5ub3QgY29udmVydCB2YWx1ZSBjcmVhdGVkIGluIGEgZGlmZmVyZW50IGVuZ2luZSIp
OwotICAgICAgICBRVkVSSUZZKGVuZ2luZTIudG9PYmplY3QodmFsdWUpLmVuZ2luZSgpICE9ICZl
bmdpbmUyKTsKLSAgICAgICAgUVZFUklGWSghdmFsdWUuaXNPYmplY3QoKSk7Ci0gICAgfQotICAg
IHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHN0cmluZyA9IGVuZ2luZTEuZXZhbHVhdGUoIidRdCci
KTsKLSAgICAgICAgUVRlc3Q6Omlnbm9yZU1lc3NhZ2UoUXRXYXJuaW5nTXNnLCAiUVNjcmlwdEVu
Z2luZTo6dG9PYmplY3Q6IGNhbm5vdCBjb252ZXJ0IHZhbHVlIGNyZWF0ZWQgaW4gYSBkaWZmZXJl
bnQgZW5naW5lIik7Ci0gICAgICAgIFFWRVJJRlkoZW5naW5lMi50b09iamVjdChzdHJpbmcpLmVu
Z2luZSgpICE9ICZlbmdpbmUyKTsKLSAgICAgICAgUVZFUklGWSghc3RyaW5nLmlzT2JqZWN0KCkp
OwotICAgIH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBvYmplY3QgPSBlbmdpbmUxLmV2
YWx1YXRlKCJuZXcgT2JqZWN0Iik7Ci0gICAgICAgIFFUZXN0OjppZ25vcmVNZXNzYWdlKFF0V2Fy
bmluZ01zZywgIlFTY3JpcHRFbmdpbmU6OnRvT2JqZWN0OiBjYW5ub3QgY29udmVydCB2YWx1ZSBj
cmVhdGVkIGluIGEgZGlmZmVyZW50IGVuZ2luZSIpOwotICAgICAgICBRVkVSSUZZKGVuZ2luZTIu
dG9PYmplY3Qob2JqZWN0KS5lbmdpbmUoKSAhPSAmZW5naW5lMik7Ci0gICAgICAgIFFWRVJJRlko
b2JqZWN0LmlzT2JqZWN0KCkpOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdEVuZ2luZTo6
bmV3QXJyYXkoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5nOwotICAgIFFTY3JpcHRWYWx1ZSBh
cnJheSA9IGVuZy5uZXdBcnJheSgpOwotICAgIFFDT01QQVJFKGFycmF5LmlzVmFsaWQoKSwgdHJ1
ZSk7Ci0gICAgUUNPTVBBUkUoYXJyYXkuaXNBcnJheSgpLCB0cnVlKTsKLSAgICBRQ09NUEFSRShh
cnJheS5pc09iamVjdCgpLCB0cnVlKTsKLSAgICBRVkVSSUZZKCFhcnJheS5pc0Z1bmN0aW9uKCkp
OwotICAgIC8vIFFDT01QQVJFKGFycmF5LnNjcmlwdENsYXNzKCksIChRU2NyaXB0Q2xhc3MqKTAp
OwotCi0gICAgLy8gUHJvdG90eXBlIHNob3VsZCBiZSBBcnJheS5wcm90b3R5cGUuCi0gICAgUUNP
TVBBUkUoYXJyYXkucHJvdG90eXBlKCkuaXNWYWxpZCgpLCB0cnVlKTsKLSAgICBRQ09NUEFSRShh
cnJheS5wcm90b3R5cGUoKS5pc0FycmF5KCksIHRydWUpOwotICAgIFFDT01QQVJFKGFycmF5LnBy
b3RvdHlwZSgpLnN0cmljdGx5RXF1YWxzKGVuZy5ldmFsdWF0ZSgiQXJyYXkucHJvdG90eXBlIikp
LCB0cnVlKTsKLQotICAgIFFTY3JpcHRWYWx1ZSBhcnJheVdpdGhTaXplID0gZW5nLm5ld0FycmF5
KDQyKTsKLSAgICBRQ09NUEFSRShhcnJheVdpdGhTaXplLmlzVmFsaWQoKSwgdHJ1ZSk7Ci0gICAg
UUNPTVBBUkUoYXJyYXlXaXRoU2l6ZS5pc0FycmF5KCksIHRydWUpOwotICAgIFFDT01QQVJFKGFy
cmF5V2l0aFNpemUuaXNPYmplY3QoKSwgdHJ1ZSk7Ci0gICAgUUNPTVBBUkUoYXJyYXlXaXRoU2l6
ZS5wcm9wZXJ0eSgibGVuZ3RoIikudG9JbnQzMigpLCA0Mik7Ci0KLSAgICAvLyB0YXNrIDIxODA5
MgotICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHJldCA9IGVuZy5ldmFsdWF0ZSgiW10uc3Bs
aWNlKDAsIDAsICdhJykiKTsKLSAgICAgICAgUVZFUklGWShyZXQuaXNBcnJheSgpKTsKLSAgICAg
ICAgUUNPTVBBUkUocmV0LnByb3BlcnR5KCJsZW5ndGgiKS50b0ludDMyKCksIDApOwotICAgIH0K
LSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSByZXQgPSBlbmcuZXZhbHVhdGUoIlsnYSddLnNw
bGljZSgwLCAxLCAnYicpIik7Ci0gICAgICAgIFFWRVJJRlkocmV0LmlzQXJyYXkoKSk7Ci0gICAg
ICAgIFFDT01QQVJFKHJldC5wcm9wZXJ0eSgibGVuZ3RoIikudG9JbnQzMigpLCAxKTsKLSAgICB9
Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgcmV0ID0gZW5nLmV2YWx1YXRlKCJbJ2EnLCAn
YiddLnNwbGljZSgwLCAxLCAnYycpIik7Ci0gICAgICAgIFFWRVJJRlkocmV0LmlzQXJyYXkoKSk7
Ci0gICAgICAgIFFDT01QQVJFKHJldC5wcm9wZXJ0eSgibGVuZ3RoIikudG9JbnQzMigpLCAxKTsK
LSAgICB9Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgcmV0ID0gZW5nLmV2YWx1YXRlKCJb
J2EnLCAnYicsICdjJ10uc3BsaWNlKDAsIDIsICdkJykiKTsKLSAgICAgICAgUVZFUklGWShyZXQu
aXNBcnJheSgpKTsKLSAgICAgICAgUUNPTVBBUkUocmV0LnByb3BlcnR5KCJsZW5ndGgiKS50b0lu
dDMyKCksIDIpOwotICAgIH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSByZXQgPSBlbmcu
ZXZhbHVhdGUoIlsnYScsICdiJywgJ2MnXS5zcGxpY2UoMSwgMiwgJ2QnLCAnZScsICdmJykiKTsK
LSAgICAgICAgUVZFUklGWShyZXQuaXNBcnJheSgpKTsKLSAgICAgICAgUUNPTVBBUkUocmV0LnBy
b3BlcnR5KCJsZW5ndGgiKS50b0ludDMyKCksIDIpOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNj
cmlwdEVuZ2luZTo6dW5jYXVnaHRFeGNlcHRpb24oKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5n
OwotICAgIFFTY3JpcHRWYWx1ZSBmdW4gPSBlbmcuZXZhbHVhdGUoIihmdW5jdGlvbiBmb28gKCkg
eyByZXR1cm4gbnVsbDsgfSk7Iik7Ci0gICAgUVZFUklGWSghZW5nLnVuY2F1Z2h0RXhjZXB0aW9u
KCkuaXNWYWxpZCgpKTsKLSAgICBRVkVSSUZZKGZ1bi5pc0Z1bmN0aW9uKCkpOwotICAgIFFTY3Jp
cHRWYWx1ZSB0aHJvd0Z1biA9IGVuZy5ldmFsdWF0ZSgiKCBmdW5jdGlvbigpIHsgdGhyb3cgbmV3
IEVycm9yKCdQb25nJyk7IH0pOyIpOwotICAgIFFWRVJJRlkodGhyb3dGdW4uaXNGdW5jdGlvbigp
KTsKLSAgICB7Ci0gICAgICAgIGVuZy5ldmFsdWF0ZSgiYSA9IDEwIik7Ci0gICAgICAgIFFWRVJJ
RlkoIWVuZy5oYXNVbmNhdWdodEV4Y2VwdGlvbigpKTsKLSAgICAgICAgUVZFUklGWSghZW5nLnVu
Y2F1Z2h0RXhjZXB0aW9uKCkuaXNWYWxpZCgpKTsKLSAgICB9Ci0gICAgewotICAgICAgICBlbmcu
ZXZhbHVhdGUoIjEgPSAyIik7Ci0gICAgICAgIFFWRVJJRlkoZW5nLmhhc1VuY2F1Z2h0RXhjZXB0
aW9uKCkpOwotICAgICAgICBlbmcuY2xlYXJFeGNlcHRpb25zKCk7Ci0gICAgICAgIFFWRVJJRlko
IWVuZy5oYXNVbmNhdWdodEV4Y2VwdGlvbigpKTsKLSAgICB9Ci0gICAgewotICAgICAgICAvLyBD
aGVjayBpZiB0aGUgY2FsbCBvciB0b1N0cmluZyBmdW5jdGlvbnMgY2FuIHJlbW92ZSB0aGUgbGFz
dCBleGNlcHRpb24uCi0gICAgICAgIFFWRVJJRlkodGhyb3dGdW4uY2FsbCgpLmlzRXJyb3IoKSk7
Ci0gICAgICAgIFFWRVJJRlkoZW5nLmhhc1VuY2F1Z2h0RXhjZXB0aW9uKCkpOwotICAgICAgICBR
U2NyaXB0VmFsdWUgZXhjZXB0aW9uID0gZW5nLnVuY2F1Z2h0RXhjZXB0aW9uKCk7Ci0gICAgICAg
IGZ1bi5jYWxsKCk7Ci0gICAgICAgIGV4Y2VwdGlvbi50b1N0cmluZygpOwotICAgICAgICBRVkVS
SUZZKGVuZy5oYXNVbmNhdWdodEV4Y2VwdGlvbigpKTsKLSAgICAgICAgUVZFUklGWShlbmcudW5j
YXVnaHRFeGNlcHRpb24oKS5zdHJpY3RseUVxdWFscyhleGNlcHRpb24pKTsKLSAgICB9Ci0gICAg
ZW5nLmNsZWFyRXhjZXB0aW9ucygpOwotICAgIHsKLSAgICAgICAgLy8gQ2hlY2sgaWYgaW4gdGhl
IGNhbGwgZnVuY3Rpb24gYSBuZXcgZXhjZXB0aW9uIGNhbiBvdmVycmlkZSBhbiBleGlzdGluZyBv
bmUuCi0gICAgICAgIHRocm93RnVuLmNhbGwoKTsKLSAgICAgICAgUVZFUklGWShlbmcuaGFzVW5j
YXVnaHRFeGNlcHRpb24oKSk7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBleGNlcHRpb24gPSBlbmcu
dW5jYXVnaHRFeGNlcHRpb24oKTsKLSAgICAgICAgdGhyb3dGdW4uY2FsbCgpOwotICAgICAgICBR
VkVSSUZZKGVuZy5oYXNVbmNhdWdodEV4Y2VwdGlvbigpKTsKLSAgICAgICAgUVZFUklGWSghZXhj
ZXB0aW9uLnN0cmljdGx5RXF1YWxzKGVuZy51bmNhdWdodEV4Y2VwdGlvbigpKSk7Ci0gICAgfQot
ICAgIHsKLSAgICAgICAgZW5nLmV2YWx1YXRlKCJ0aHJvd0Z1biA9IChmdW5jdGlvbiBmb28gKCkg
eyB0aHJvdyBuZXcgRXJyb3IoJ2JsYScpIH0pOyIpOwotICAgICAgICBlbmcuZXZhbHVhdGUoIjE7
XG50aHJvd0Z1bigpOyIpOwotICAgICAgICBRVkVSSUZZKGVuZy5oYXNVbmNhdWdodEV4Y2VwdGlv
bigpKTsKLSAgICAgICAgUUNPTVBBUkUoZW5nLnVuY2F1Z2h0RXhjZXB0aW9uTGluZU51bWJlcigp
LCAxKTsKLSAgICAgICAgZW5nLmNsZWFyRXhjZXB0aW9ucygpOwotICAgICAgICBRVkVSSUZZKCFl
bmcuaGFzVW5jYXVnaHRFeGNlcHRpb24oKSk7Ci0gICAgfQotICAgIGZvciAoaW50IHggPSAxOyB4
IDwgNDsgKyt4KSB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSByZXQgPSBlbmcuZXZhbHVhdGUoImEg
PSAxMDtcbmIgPSAyMDtcbjAgPSAwO1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBRU3RyaW5nOjpmcm9tTGF0aW4xKCJGb29TY3JpcHQiKSArIFFTdHJpbmc6Om51
bWJlcih4KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBsaW5l
TnVtYmVyICovIHgpOwotICAgICAgICBRVkVSSUZZKGVuZy5oYXNVbmNhdWdodEV4Y2VwdGlvbigp
KTsKLSAgICAgICAgUUNPTVBBUkUoZW5nLnVuY2F1Z2h0RXhjZXB0aW9uTGluZU51bWJlcigpLCB4
ICsgMik7Ci0gICAgICAgIFFWRVJJRlkoZW5nLnVuY2F1Z2h0RXhjZXB0aW9uKCkuc3RyaWN0bHlF
cXVhbHMocmV0KSk7Ci0gICAgICAgIFFWRVJJRlkoZW5nLmhhc1VuY2F1Z2h0RXhjZXB0aW9uKCkp
OwotICAgICAgICBRVkVSSUZZKGVuZy51bmNhdWdodEV4Y2VwdGlvbigpLnN0cmljdGx5RXF1YWxz
KHJldCkpOwotICAgICAgICBRU3RyaW5nIGJhY2t0cmFjZSA9IFFTdHJpbmc6OmZyb21MYXRpbjEo
Ijxhbm9ueW1vdXM+KClARm9vU2NyaXB0IikgKyBRU3RyaW5nOjpudW1iZXIoeCkgKyAiOiIgKyBR
U3RyaW5nOjpudW1iZXIoeCArIDIpOwotICAgICAgICBRQ09NUEFSRShlbmcudW5jYXVnaHRFeGNl
cHRpb25CYWNrdHJhY2UoKS5qb2luKCIiKSwgYmFja3RyYWNlKTsKLSAgICAgICAgUVZFUklGWShm
dW4uY2FsbCgpLmlzTnVsbCgpKTsKLSAgICAgICAgUVZFUklGWShlbmcuaGFzVW5jYXVnaHRFeGNl
cHRpb24oKSk7Ci0gICAgICAgIFFDT01QQVJFKGVuZy51bmNhdWdodEV4Y2VwdGlvbkxpbmVOdW1i
ZXIoKSwgeCArIDIpOwotICAgICAgICBRVkVSSUZZKGVuZy51bmNhdWdodEV4Y2VwdGlvbigpLnN0
cmljdGx5RXF1YWxzKHJldCkpOwotICAgICAgICBlbmcuY2xlYXJFeGNlcHRpb25zKCk7Ci0gICAg
ICAgIFFWRVJJRlkoIWVuZy5oYXNVbmNhdWdodEV4Y2VwdGlvbigpKTsKLSAgICAgICAgUUNPTVBB
UkUoZW5nLnVuY2F1Z2h0RXhjZXB0aW9uTGluZU51bWJlcigpLCAtMSk7Ci0gICAgICAgIFFWRVJJ
RlkoIWVuZy51bmNhdWdodEV4Y2VwdGlvbigpLmlzVmFsaWQoKSk7Ci0gICAgICAgIGVuZy5ldmFs
dWF0ZSgiMiA9IDMiKTsKLSAgICAgICAgUVZFUklGWShlbmcuaGFzVW5jYXVnaHRFeGNlcHRpb24o
KSk7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSByZXQyID0gdGhyb3dGdW4uY2FsbCgpOwotICAgICAg
ICBRVkVSSUZZKHJldDIuaXNFcnJvcigpKTsKLSAgICAgICAgUVZFUklGWShlbmcuaGFzVW5jYXVn
aHRFeGNlcHRpb24oKSk7Ci0gICAgICAgIFFWRVJJRlkoZW5nLnVuY2F1Z2h0RXhjZXB0aW9uKCku
c3RyaWN0bHlFcXVhbHMocmV0MikpOwotICAgICAgICBRQ09NUEFSRShlbmcudW5jYXVnaHRFeGNl
cHRpb25MaW5lTnVtYmVyKCksIDEpOwotICAgICAgICBlbmcuY2xlYXJFeGNlcHRpb25zKCk7Ci0g
ICAgICAgIFFWRVJJRlkoIWVuZy5oYXNVbmNhdWdodEV4Y2VwdGlvbigpKTsKLSAgICAgICAgZW5n
LmV2YWx1YXRlKCIxICsgMiIpOwotICAgICAgICBRVkVSSUZZKCFlbmcuaGFzVW5jYXVnaHRFeGNl
cHRpb24oKSk7Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0RW5naW5lOjpuZXdEYXRlKCkK
LXsKLSAgICBRU2NyaXB0RW5naW5lIGVuZzsKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBk
YXRlID0gZW5nLm5ld0RhdGUoMCk7Ci0gICAgICAgIFFDT01QQVJFKGRhdGUuaXNWYWxpZCgpLCB0
cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoZGF0ZS5pc0RhdGUoKSwgdHJ1ZSk7Ci0gICAgICAgIFFD
T01QQVJFKGRhdGUuaXNPYmplY3QoKSwgdHJ1ZSk7Ci0gICAgICAgIFFWRVJJRlkoIWRhdGUuaXNG
dW5jdGlvbigpKTsKLSAgICAgICAgLy8gcHJvdG90eXBlIHNob3VsZCBiZSBEYXRlLnByb3RvdHlw
ZQotICAgICAgICBRQ09NUEFSRShkYXRlLnByb3RvdHlwZSgpLmlzVmFsaWQoKSwgdHJ1ZSk7Ci0g
ICAgICAgIFFDT01QQVJFKGRhdGUucHJvdG90eXBlKCkuaXNEYXRlKCksIHRydWUpOwotICAgICAg
ICBRQ09NUEFSRShkYXRlLnByb3RvdHlwZSgpLnN0cmljdGx5RXF1YWxzKGVuZy5ldmFsdWF0ZSgi
RGF0ZS5wcm90b3R5cGUiKSksIHRydWUpOwotICAgIH0KLSAgICB7Ci0gICAgICAgIFFEYXRlVGlt
ZSBkdCA9IFFEYXRlVGltZShRRGF0ZSgxLCAyLCAzKSwgUVRpbWUoNCwgNSwgNiwgNyksIFF0OjpM
b2NhbFRpbWUpOwotICAgICAgICBRU2NyaXB0VmFsdWUgZGF0ZSA9IGVuZy5uZXdEYXRlKGR0KTsK
LSAgICAgICAgUUNPTVBBUkUoZGF0ZS5pc1ZhbGlkKCksIHRydWUpOwotICAgICAgICBRQ09NUEFS
RShkYXRlLmlzRGF0ZSgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUoZGF0ZS5pc09iamVjdCgp
LCB0cnVlKTsKLSAgICAgICAgLy8gcHJvdG90eXBlIHNob3VsZCBiZSBEYXRlLnByb3RvdHlwZQot
ICAgICAgICBRQ09NUEFSRShkYXRlLnByb3RvdHlwZSgpLmlzVmFsaWQoKSwgdHJ1ZSk7Ci0gICAg
ICAgIFFDT01QQVJFKGRhdGUucHJvdG90eXBlKCkuaXNEYXRlKCksIHRydWUpOwotICAgICAgICBR
Q09NUEFSRShkYXRlLnByb3RvdHlwZSgpLnN0cmljdGx5RXF1YWxzKGVuZy5ldmFsdWF0ZSgiRGF0
ZS5wcm90b3R5cGUiKSksIHRydWUpOwotCi0gICAgICAgIFFDT01QQVJFKGRhdGUudG9EYXRlVGlt
ZSgpLCBkdCk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgUURhdGVUaW1lIGR0ID0gUURhdGVUaW1l
KFFEYXRlKDEsIDIsIDMpLCBRVGltZSg0LCA1LCA2LCA3KSwgUXQ6OlVUQyk7Ci0gICAgICAgIFFT
Y3JpcHRWYWx1ZSBkYXRlID0gZW5nLm5ld0RhdGUoZHQpOwotICAgICAgICAvLyB0b0RhdGVUaW1l
KCkgcmVzdWx0IHNob3VsZCBiZSBpbiBsb2NhbCB0aW1lCi0gICAgICAgIFFDT01QQVJFKGRhdGUu
dG9EYXRlVGltZSgpLCBkdC50b0xvY2FsVGltZSgpKTsKLSAgICB9Ci0gICAgLy8gRGF0ZS5wYXJz
ZSgpIHNob3VsZCByZXR1cm4gTmFOIHdoZW4gaXQgZmFpbHMKLSAgICB7Ci0gICAgICAgIFFTY3Jp
cHRWYWx1ZSByZXQgPSBlbmcuZXZhbHVhdGUoIkRhdGUucGFyc2UoKSIpOwotICAgICAgICBRVkVS
SUZZKHJldC5pc051bWJlcigpKTsKLSAgICAgICAgUVZFUklGWShxSXNOYU4ocmV0LnRvTnVtYmVy
KCkpKTsKLSAgICB9Ci0gICAgLy8gRGF0ZS5wYXJzZSgpIHNob3VsZCBiZSBhYmxlIHRvIHBhcnNl
IHRoZSBvdXRwdXQgb2YgRGF0ZSgpLnRvU3RyaW5nKCkKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRW
YWx1ZSByZXQgPSBlbmcuZXZhbHVhdGUoInZhciB4ID0gbmV3IERhdGUoKTsgdmFyIHMgPSB4LnRv
U3RyaW5nKCk7IHMgPT0gbmV3IERhdGUoRGF0ZS5wYXJzZShzKSkudG9TdHJpbmcoKSIpOwotICAg
ICAgICBRVkVSSUZZKHJldC5pc0Jvb2xlYW4oKSk7Ci0gICAgICAgIFFDT01QQVJFKHJldC50b0Jv
b2xlYW4oKSwgdHJ1ZSk7Ci0gICAgfQotfQotCi1RVEVTVF9NQUlOKHRzdF9RU2NyaXB0RW5naW5l
KQotI2luY2x1ZGUgInRzdF9xc2NyaXB0ZW5naW5lLm1vYyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0c3RyaW5nL3FzY3JpcHRzdHJpbmcucHJvIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHRzdHJpbmcvcXNjcmlwdHN0cmlu
Zy5wcm8KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhZDliN2M1NzIzNmU5ZTM1NDU3
MDE1Mzk4OWY4NTFhNGE3NzhkYWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHRzdHJpbmcv
cXNjcmlwdHN0cmluZy5wcm8KKysrIC9kZXYvbnVsbApAQCAtMSw3ICswLDAgQEAKLVRFTVBMQVRF
ID0gYXBwCi1UQVJHRVQgPSB0c3RfcXNjcmlwdHN0cmluZwotUVQgKz0gdGVzdGxpYgotaW5jbHVk
ZSguLi90ZXN0cy5wcmkpCi0KLVNPVVJDRVMgKz0gdHN0X3FzY3JpcHRzdHJpbmcuY3BwCi0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0c3RyaW5nL3Rz
dF9xc2NyaXB0c3RyaW5nLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0cy9xc2Ny
aXB0c3RyaW5nL3RzdF9xc2NyaXB0c3RyaW5nLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZmYzMTgzNTMzM2I0ZTdlNzU1NTA2NTYyNjg2YTEyY2I2MmEyMmQzYS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcXQvdGVzdHMvcXNjcmlwdHN0cmluZy90c3RfcXNjcmlwdHN0cmluZy5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSwxNzUgKzAsMCBAQAotLyoKLSAgICBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEg
Q29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0KLSAgICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KLQotI2lmbmRlZiB0c3Rf
cXNjcmlwdHN0cmluZ19oCi0jZGVmaW5lIHRzdF9xc2NyaXB0c3RyaW5nX2gKLQotI2luY2x1ZGUg
InFzY3JpcHRlbmdpbmUuaCIKLSNpbmNsdWRlICJxc2NyaXB0c3RyaW5nLmgiCi0jaW5jbHVkZSA8
UXRDb3JlL3FoYXNoLmg+Ci0jaW5jbHVkZSA8UXRUZXN0L1F0VGVzdD4KLQotY2xhc3MgdHN0X1FT
Y3JpcHRTdHJpbmcgOiBwdWJsaWMgUU9iamVjdCB7Ci0gICAgUV9PQkpFQ1QKLQotcHVibGljOgot
ICAgIHRzdF9RU2NyaXB0U3RyaW5nKCk7Ci0gICAgdmlydHVhbCB+dHN0X1FTY3JpcHRTdHJpbmco
KTsKLQotcHJpdmF0ZSBzbG90czoKLSAgICB2b2lkIHRlc3QoKTsKLSAgICB2b2lkIGhhc2goKTsK
LSAgICB2b2lkIHRvQXJyYXlJbmRleF9kYXRhKCk7Ci0gICAgdm9pZCB0b0FycmF5SW5kZXgoKTsK
LX07Ci0KLXRzdF9RU2NyaXB0U3RyaW5nOjp0c3RfUVNjcmlwdFN0cmluZygpCi17Ci19Ci0KLXRz
dF9RU2NyaXB0U3RyaW5nOjp+dHN0X1FTY3JpcHRTdHJpbmcoKQotewotfQotCi12b2lkIHRzdF9R
U2NyaXB0U3RyaW5nOjp0ZXN0KCkKLXsKLSAgICBRU2NyaXB0RW5naW5lIGVuZzsKLSAgICB7Ci0g
ICAgICAgIFFTY3JpcHRTdHJpbmcgc3RyOwotICAgICAgICBRVkVSSUZZKCFzdHIuaXNWYWxpZCgp
KTsKLSAgICAgICAgUVZFUklGWShzdHIgPT0gc3RyKTsKLSAgICAgICAgUVZFUklGWSghKHN0ciAh
PSBzdHIpKTsKLSAgICAgICAgUVZFUklGWShzdHIudG9TdHJpbmcoKS5pc051bGwoKSk7Ci0KLSAg
ICAgICAgUVNjcmlwdFN0cmluZyBzdHIxKHN0cik7Ci0gICAgICAgIFFWRVJJRlkoIXN0cjEuaXNW
YWxpZCgpKTsKLQotICAgICAgICBRU2NyaXB0U3RyaW5nIHN0cjIgPSBzdHI7Ci0gICAgICAgIFFW
RVJJRlkoIXN0cjIuaXNWYWxpZCgpKTsKLQotICAgICAgICBRQ09NUEFSRShzdHIudG9BcnJheUlu
ZGV4KCksIHF1aW50MzIoMHhmZmZmZmZmZikpOwotICAgIH0KLSAgICBmb3IgKGludCB4ID0gMDsg
eCA8IDI7ICsreCkgewotICAgICAgICBRU3RyaW5nIGNpYW8gPSBRU3RyaW5nOjpmcm9tTGF0aW4x
KCJjaWFvIik7Ci0gICAgICAgIFFTY3JpcHRTdHJpbmcgc3RyID0gZW5nLnRvU3RyaW5nSGFuZGxl
KGNpYW8pOwotICAgICAgICBRVkVSSUZZKHN0ci5pc1ZhbGlkKCkpOwotICAgICAgICBRVkVSSUZZ
KHN0ciA9PSBzdHIpOwotICAgICAgICBRVkVSSUZZKCEoc3RyICE9IHN0cikpOwotICAgICAgICBR
Q09NUEFSRShzdHIudG9TdHJpbmcoKSwgY2lhbyk7Ci0KLSAgICAgICAgUVNjcmlwdFN0cmluZyBz
dHIxKHN0cik7Ci0gICAgICAgIFFDT01QQVJFKHN0ciwgc3RyMSk7Ci0KLSAgICAgICAgUVNjcmlw
dFN0cmluZyBzdHIyID0gc3RyOwotICAgICAgICBRQ09NUEFSRShzdHIsIHN0cjIpOwotCi0gICAg
ICAgIFFTY3JpcHRTdHJpbmcgc3RyMyA9IGVuZy50b1N0cmluZ0hhbmRsZShjaWFvKTsKLSAgICAg
ICAgUVZFUklGWShzdHIzLmlzVmFsaWQoKSk7Ci0gICAgICAgIFFDT01QQVJFKHN0ciwgc3RyMyk7
Ci0KLSAgICAgICAgZW5nLmNvbGxlY3RHYXJiYWdlKCk7Ci0KLSAgICAgICAgUVZFUklGWShzdHIu
aXNWYWxpZCgpKTsKLSAgICAgICAgUUNPTVBBUkUoc3RyLnRvU3RyaW5nKCksIGNpYW8pOwotICAg
ICAgICBRVkVSSUZZKHN0cjEuaXNWYWxpZCgpKTsKLSAgICAgICAgUUNPTVBBUkUoc3RyMS50b1N0
cmluZygpLCBjaWFvKTsKLSAgICAgICAgUVZFUklGWShzdHIyLmlzVmFsaWQoKSk7Ci0gICAgICAg
IFFDT01QQVJFKHN0cjIudG9TdHJpbmcoKSwgY2lhbyk7Ci0gICAgICAgIFFWRVJJRlkoc3RyMy5p
c1ZhbGlkKCkpOwotICAgICAgICBRQ09NUEFSRShzdHIzLnRvU3RyaW5nKCksIGNpYW8pOwotICAg
IH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRFbmdpbmUqIGVuZzIgPSBuZXcgUVNjcmlwdEVuZ2lu
ZTsKLSAgICAgICAgUVN0cmluZyBvbmUgPSBRU3RyaW5nOjpmcm9tTGF0aW4xKCJvbmUiKTsKLSAg
ICAgICAgUVN0cmluZyB0d28gPSBRU3RyaW5nOjpmcm9tTGF0aW4xKCJ0d28iKTsKLSAgICAgICAg
UVNjcmlwdFN0cmluZyBvbmVJbnRlcm5lZCA9IGVuZzItPnRvU3RyaW5nSGFuZGxlKG9uZSk7Ci0g
ICAgICAgIFFDT01QQVJFKG9uZUludGVybmVkLnRvU3RyaW5nKCksIG9uZSk7Ci0gICAgICAgIFFT
Y3JpcHRTdHJpbmcgdHdvSW50ZXJuZWQgPSBlbmcyLT50b1N0cmluZ0hhbmRsZSh0d28pOwotICAg
ICAgICBRQ09NUEFSRSh0d29JbnRlcm5lZC50b1N0cmluZygpLCB0d28pOwotICAgICAgICBRVkVS
SUZZKG9uZUludGVybmVkICE9IHR3b0ludGVybmVkKTsKLSAgICAgICAgUVZFUklGWSghKG9uZUlu
dGVybmVkID09IHR3b0ludGVybmVkKSk7Ci0KLSAgICAgICAgZGVsZXRlIGVuZzI7Ci0gICAgfQot
fQotCi12b2lkIHRzdF9RU2NyaXB0U3RyaW5nOjpoYXNoKCkKLXsKLSAgICBRU2NyaXB0RW5naW5l
IGVuZ2luZTsKLSAgICBRSGFzaDxRU2NyaXB0U3RyaW5nLCBpbnQ+IHN0cmluZ1RvSW50OwotICAg
IFFTY3JpcHRTdHJpbmcgZm9vID0gZW5naW5lLnRvU3RyaW5nSGFuZGxlKCJmb28iKTsKLQotICAg
IFFTY3JpcHRTdHJpbmcgYmFyID0gZW5naW5lLnRvU3RyaW5nSGFuZGxlKCJiYXIiKTsKLSAgICBR
VkVSSUZZKCFzdHJpbmdUb0ludC5jb250YWlucyhmb28pKTsKLSAgICBmb3IgKGludCBpID0gMDsg
aSA8IDEwMDAwMDA7ICsraSkKLSAgICAgICAgc3RyaW5nVG9JbnQuaW5zZXJ0KGZvbywgMTIzKTsK
LSAgICBRQ09NUEFSRShzdHJpbmdUb0ludC52YWx1ZShmb28pLCAxMjMpOwotICAgIFFWRVJJRlko
IXN0cmluZ1RvSW50LmNvbnRhaW5zKGJhcikpOwotICAgIHN0cmluZ1RvSW50Lmluc2VydChiYXIs
IDQ1Nik7Ci0gICAgUUNPTVBBUkUoc3RyaW5nVG9JbnQudmFsdWUoYmFyKSwgNDU2KTsKLSAgICBR
Q09NUEFSRShzdHJpbmdUb0ludC52YWx1ZShmb28pLCAxMjMpOwotfQotCi12b2lkIHRzdF9RU2Ny
aXB0U3RyaW5nOjp0b0FycmF5SW5kZXhfZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxR
U3RyaW5nPigiaW5wdXQiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGJvb2w+KCJleHBlY3RTdWNj
ZXNzIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxxdWludDMyPigiZXhwZWN0ZWRJbmRleCIpOwot
ICAgIFFUZXN0OjpuZXdSb3coImZvbyIpIDw8IFFTdHJpbmc6OmZyb21MYXRpbjEoImZvbyIpIDw8
IGZhbHNlIDw8IHF1aW50MzIoMHhmZmZmZmZmZik7Ci0gICAgUVRlc3Q6Om5ld1JvdygiZW1wdHki
KSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCIiKSA8PCBmYWxzZSA8PCBxdWludDMyKDB4ZmZmZmZm
ZmYpOwotICAgIFFUZXN0OjpuZXdSb3coIjAiKSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCIwIikg
PDwgdHJ1ZSA8PCBxdWludDMyKDApOwotICAgIFFUZXN0OjpuZXdSb3coIjAwIikgPDwgUVN0cmlu
Zzo6ZnJvbUxhdGluMSgiMDAiKSA8PCBmYWxzZSA8PCBxdWludDMyKDB4ZmZmZmZmZmYpOwotICAg
IFFUZXN0OjpuZXdSb3coIjEiKSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCIxIikgPDwgdHJ1ZSA8
PCBxdWludDMyKDEpOwotICAgIFFUZXN0OjpuZXdSb3coIjEyMyIpIDw8IFFTdHJpbmc6OmZyb21M
YXRpbjEoIjEyMyIpIDw8IHRydWUgPDwgcXVpbnQzMigxMjMpOwotICAgIFFUZXN0OjpuZXdSb3co
Ii0xIikgPDwgUVN0cmluZzo6ZnJvbUxhdGluMSgiLTEiKSA8PCBmYWxzZSA8PCBxdWludDMyKDB4
ZmZmZmZmZmYpOwotICAgIFFUZXN0OjpuZXdSb3coIjBhIikgPDwgUVN0cmluZzo6ZnJvbUxhdGlu
MSgiMGEiKSA8PCBmYWxzZSA8PCBxdWludDMyKDB4ZmZmZmZmZmYpOwotICAgIFFUZXN0OjpuZXdS
b3coIjB4MSIpIDw8IFFTdHJpbmc6OmZyb21MYXRpbjEoIjB4MSIpIDw8IGZhbHNlIDw8IHF1aW50
MzIoMHhmZmZmZmZmZik7Ci0gICAgUVRlc3Q6Om5ld1JvdygiMDEiKSA8PCBRU3RyaW5nOjpmcm9t
TGF0aW4xKCIwMSIpIDw8IGZhbHNlIDw8IHF1aW50MzIoMHhmZmZmZmZmZik7Ci0gICAgUVRlc3Q6
Om5ld1JvdygiMTAxYSIpIDw8IFFTdHJpbmc6OmZyb21MYXRpbjEoIjEwMWEiKSA8PCBmYWxzZSA8
PCBxdWludDMyKDB4ZmZmZmZmZmYpOwotICAgIFFUZXN0OjpuZXdSb3coIjQyOTQ5NjcyOTQiKSA8
PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCI0Mjk0OTY3Mjk0IikgPDwgdHJ1ZSA8PCBxdWludDMyKDB4
ZmZmZmZmZmUpOwotICAgIFFUZXN0OjpuZXdSb3coIjQyOTQ5NjcyOTUiKSA8PCBRU3RyaW5nOjpm
cm9tTGF0aW4xKCI0Mjk0OTY3Mjk1IikgPDwgZmFsc2UgPDwgcXVpbnQzMigweGZmZmZmZmZmKTsK
LSAgICBRVGVzdDo6bmV3Um93KCIxMTExMTExMTExMSIpIDw8IFFTdHJpbmc6OmZyb21MYXRpbjEo
IjExMTExMTExMTExIikgPDwgZmFsc2UgPDwgcXVpbnQzMigweGZmZmZmZmZmKTsKLSAgICBRVGVz
dDo6bmV3Um93KCIwLjAiKSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCIwLjAiKSA8PCBmYWxzZSA8
PCBxdWludDMyKDB4ZmZmZmZmZmYpOwotICAgIFFUZXN0OjpuZXdSb3coIjEuMCIpIDw8IFFTdHJp
bmc6OmZyb21MYXRpbjEoIjEuMCIpIDw8IGZhbHNlIDw8IHF1aW50MzIoMHhmZmZmZmZmZik7Ci0g
ICAgUVRlc3Q6Om5ld1JvdygiMS41IikgPDwgUVN0cmluZzo6ZnJvbUxhdGluMSgiMS41IikgPDwg
ZmFsc2UgPDwgcXVpbnQzMigweGZmZmZmZmZmKTsKLSAgICBRVGVzdDo6bmV3Um93KCIxLiIpIDw8
IFFTdHJpbmc6OmZyb21MYXRpbjEoIjEuIikgPDwgZmFsc2UgPDwgcXVpbnQzMigweGZmZmZmZmZm
KTsKLSAgICBRVGVzdDo6bmV3Um93KCIuMSIpIDw8IFFTdHJpbmc6OmZyb21MYXRpbjEoIi4xIikg
PDwgZmFsc2UgPDwgcXVpbnQzMigweGZmZmZmZmZmKTsKLSAgICBRVGVzdDo6bmV3Um93KCIxZTAi
KSA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCIxZTAiKSA8PCBmYWxzZSA8PCBxdWludDMyKDB4ZmZm
ZmZmZmYpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0U3RyaW5nOjp0b0FycmF5SW5kZXgoKQotewot
ICAgIFFGRVRDSChRU3RyaW5nLCBpbnB1dCk7Ci0gICAgUUZFVENIKGJvb2wsIGV4cGVjdFN1Y2Nl
c3MpOwotICAgIFFGRVRDSChxdWludDMyLCBleHBlY3RlZEluZGV4KTsKLSAgICBRU2NyaXB0RW5n
aW5lIGVuZ2luZTsKLSAgICBmb3IgKGludCB4ID0gMDsgeCA8IDI7ICsreCkgewotICAgICAgICBi
b29sIGlzQXJyYXlJbmRleDsKLSAgICAgICAgYm9vbCogcHRyID0gKCF4KSA/ICZpc0FycmF5SW5k
ZXggOiAoYm9vbCopMDsKLSAgICAgICAgcXVpbnQzMiByZXN1bHQgPSBlbmdpbmUudG9TdHJpbmdI
YW5kbGUoaW5wdXQpLnRvQXJyYXlJbmRleChwdHIpOwotICAgICAgICBpZiAoIXgpCi0gICAgICAg
ICAgICBRQ09NUEFSRShpc0FycmF5SW5kZXgsIGV4cGVjdFN1Y2Nlc3MpOwotICAgICAgICBRQ09N
UEFSRShyZXN1bHQsIGV4cGVjdGVkSW5kZXgpOwotICAgIH0KLX0KLQotUVRFU1RfTUFJTih0c3Rf
UVNjcmlwdFN0cmluZykKLSNpbmNsdWRlICJ0c3RfcXNjcmlwdHN0cmluZy5tb2MiCi0KLSNlbmRp
ZiAvLyB0c3RfcXNjcmlwdHN0cmluZ19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcXQvdGVzdHMvcXNjcmlwdHZhbHVlL3FzY3JpcHR2YWx1ZS5wcm8gYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcXQvdGVzdHMvcXNjcmlwdHZhbHVlL3FzY3JpcHR2YWx1ZS5wcm8KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyZTk0ZWNkZDJiMWFiNWZhMjg3MzFiODE4MzFjMGZmZDBi
NGM0OWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHR2YWx1ZS9xc2NyaXB0dmFsdWUucHJv
CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotVEVNUExBVEUgPSBhcHAKLVRBUkdFVCA9
IHRzdF9xc2NyaXB0dmFsdWUKLVFUICs9IHRlc3RsaWIKLWlzRW1wdHkoT1VUUFVUX0RJUik6IE9V
VFBVVF9ESVIgPSAuLi8uLi8uLi8uLgotaW5jbHVkZSguLi90ZXN0cy5wcmkpCi0KLVNPVVJDRVMg
Kz0gXAotICAgIHRzdF9xc2NyaXB0dmFsdWUuY3BwIFwKLSAgICB0c3RfcXNjcmlwdHZhbHVlX2dl
bmVyYXRlZF9pbml0LmNwcCBcCi0gICAgdHN0X3FzY3JpcHR2YWx1ZV9nZW5lcmF0ZWRfY29tcGFy
aXNvbi5jcHAgXAotICAgIHRzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2lzdHlwZS5jcHAgXAot
ICAgIHRzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX3RvdHlwZS5jcHAgXAotCi1IRUFERVJTICs9
IFwKLSAgICB0c3RfcXNjcmlwdHZhbHVlLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9xdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWUuY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMDRkM2U5MWRjYjM1ZWQzNDNjY2FmZjU2
YmQ1NDYzNDliYjY5M2FiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3Fz
Y3JpcHR2YWx1ZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMjk2ICswLDAgQEAKLS8qCi0gICAg
Q29weXJpZ2h0IChDKSAyMDA5IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFy
eSgtaWVzKQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAg
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAg
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KLSovCi0KLSNpbmNsdWRlICJ0c3RfcXNjcmlwdHZhbHVlLmgiCi0jaW5jbHVkZSA8UXRD
b3JlL3FudW1lcmljLmg+Ci0KLXRzdF9RU2NyaXB0VmFsdWU6OnRzdF9RU2NyaXB0VmFsdWUoKQot
ICAgIDogbV9lbmdpbmUoMCkKLXsKLX0KLQotdHN0X1FTY3JpcHRWYWx1ZTo6fnRzdF9RU2NyaXB0
VmFsdWUoKQotewotICAgIGRlbGV0ZSBtX2VuZ2luZTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZh
bHVlOjpjdG9yKCkKLXsKLSAgICBRU2NyaXB0RW5naW5lIGVuZzsKLSAgICB7Ci0gICAgICAgIFFT
Y3JpcHRWYWx1ZSB2OwotICAgICAgICBRQ09NUEFSRSh2LmlzVmFsaWQoKSwgZmFsc2UpOwotICAg
ICAgICBRQ09NUEFSRSh2LmVuZ2luZSgpLCAoUVNjcmlwdEVuZ2luZSopMCk7Ci0gICAgfQotICAg
IHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHYoJmVuZywgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRW
YWx1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNP
TVBBUkUodi5pc1VuZGVmaW5lZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc09iamVj
dCgpLCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuZW5naW5lKCksICZlbmcpOwotICAgIH0K
LSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB2KCZlbmcsIFFTY3JpcHRWYWx1ZTo6TnVsbFZh
bHVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc1ZhbGlkKCksIHRydWUpOwotICAgICAgICBRQ09N
UEFSRSh2LmlzTnVsbCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc09iamVjdCgpLCBm
YWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuZW5naW5lKCksICZlbmcpOwotICAgIH0KLSAgICB7
Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB2KCZlbmcsIGZhbHNlKTsKLSAgICAgICAgUUNPTVBBUkUo
di5pc1ZhbGlkKCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRSh2LmlzQm9vbGVhbigpLCB0cnVl
KTsKLSAgICAgICAgUUNPTVBBUkUodi5pc0Jvb2woKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJF
KHYuaXNPYmplY3QoKSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRSh2LnRvQm9vbGVhbigpLCBm
YWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuZW5naW5lKCksICZlbmcpOwotICAgIH0KLSAgICB7
Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB2KCZlbmcsIGludCgxKSk7Ci0gICAgICAgIFFDT01QQVJF
KHYuaXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc051bWJlcigpLCB0cnVl
KTsKLSAgICAgICAgUUNPTVBBUkUodi5pc09iamVjdCgpLCBmYWxzZSk7Ci0gICAgICAgIFFDT01Q
QVJFKHYudG9OdW1iZXIoKSwgMS4wKTsKLSAgICAgICAgUUNPTVBBUkUodi5lbmdpbmUoKSwgJmVu
Zyk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHYoaW50KDB4NDMyMTEyMzQp
KTsKLSAgICAgICAgUVZFUklGWSh2LmlzTnVtYmVyKCkpOwotICAgICAgICBRQ09NUEFSRSh2LnRv
SW50MzIoKSwgMHg0MzIxMTIzNCk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVl
IHYoJmVuZywgdWludCgxKSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNWYWxpZCgpLCB0cnVlKTsK
LSAgICAgICAgUUNPTVBBUkUodi5pc051bWJlcigpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUo
di5pc09iamVjdCgpLCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYudG9OdW1iZXIoKSwgMS4w
KTsKLSAgICAgICAgUUNPTVBBUkUodi5lbmdpbmUoKSwgJmVuZyk7Ci0gICAgfQotICAgIHsKLSAg
ICAgICAgUVNjcmlwdFZhbHVlIHYodWludCgweDQzMjExMjM0KSk7Ci0gICAgICAgIFFWRVJJRlko
di5pc051bWJlcigpKTsKLSAgICAgICAgUUNPTVBBUkUodi50b1VJbnQzMigpLCB1aW50KDB4NDMy
MTEyMzQpKTsKLSAgICB9Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgdigmZW5nLCAxLjAp
OwotICAgICAgICBRQ09NUEFSRSh2LmlzVmFsaWQoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJF
KHYuaXNOdW1iZXIoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNPYmplY3QoKSwgZmFs
c2UpOwotICAgICAgICBRQ09NUEFSRSh2LnRvTnVtYmVyKCksIDEuMCk7Ci0gICAgICAgIFFDT01Q
QVJFKHYuZW5naW5lKCksICZlbmcpOwotICAgIH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1
ZSB2KDEyMzQ1Njc4OTEwLjUpOwotICAgICAgICBRVkVSSUZZKHYuaXNOdW1iZXIoKSk7Ci0gICAg
ICAgIFFDT01QQVJFKHYudG9OdW1iZXIoKSwgMTIzNDU2Nzg5MTAuNSk7Ci0gICAgfQotICAgIHsK
LSAgICAgICAgUVNjcmlwdFZhbHVlIHYoJmVuZywgImNpYW8iKTsKLSAgICAgICAgUUNPTVBBUkUo
di5pc1ZhbGlkKCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRSh2LmlzU3RyaW5nKCksIHRydWUp
OwotICAgICAgICBRQ09NUEFSRSh2LmlzT2JqZWN0KCksIGZhbHNlKTsKLSAgICAgICAgUUNPTVBB
UkUodi50b1N0cmluZygpLCBRTGF0aW4xU3RyaW5nKCJjaWFvIikpOwotICAgICAgICBRQ09NUEFS
RSh2LmVuZ2luZSgpLCAmZW5nKTsKLSAgICB9Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUg
digmZW5nLCBRU3RyaW5nKCJjaWFvIikpOwotICAgICAgICBRQ09NUEFSRSh2LmlzVmFsaWQoKSwg
dHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNTdHJpbmcoKSwgdHJ1ZSk7Ci0gICAgICAgIFFD
T01QQVJFKHYuaXNPYmplY3QoKSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRSh2LnRvU3RyaW5n
KCksIFFMYXRpbjFTdHJpbmcoImNpYW8iKSk7Ci0gICAgICAgIFFDT01QQVJFKHYuZW5naW5lKCks
ICZlbmcpOwotICAgIH0KLSAgICAvLyBjb3B5IGNvbnN0cnVjdG9yLCBvcGVyYXRvcj0KLSAgICB7
Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB2KCZlbmcsIDEuMCk7Ci0gICAgICAgIFFTY3JpcHRWYWx1
ZSB2Mih2KTsKLSAgICAgICAgUUNPTVBBUkUodjIuc3RyaWN0bHlFcXVhbHModiksIHRydWUpOwot
ICAgICAgICBRQ09NUEFSRSh2Mi5lbmdpbmUoKSwgJmVuZyk7Ci0KLSAgICAgICAgUVNjcmlwdFZh
bHVlIHYzKHYpOwotICAgICAgICBRQ09NUEFSRSh2My5zdHJpY3RseUVxdWFscyh2KSwgdHJ1ZSk7
Ci0gICAgICAgIFFDT01QQVJFKHYzLnN0cmljdGx5RXF1YWxzKHYyKSwgdHJ1ZSk7Ci0gICAgICAg
IFFDT01QQVJFKHYzLmVuZ2luZSgpLCAmZW5nKTsKLQotICAgICAgICBRU2NyaXB0VmFsdWUgdjQo
JmVuZywgMi4wKTsKLSAgICAgICAgUUNPTVBBUkUodjQuc3RyaWN0bHlFcXVhbHModiksIGZhbHNl
KTsKLSAgICAgICAgdjMgPSB2NDsKLSAgICAgICAgUUNPTVBBUkUodjMuc3RyaWN0bHlFcXVhbHMo
diksIGZhbHNlKTsKLSAgICAgICAgUUNPTVBBUkUodjMuc3RyaWN0bHlFcXVhbHModjQpLCB0cnVl
KTsKLQotICAgICAgICB2MiA9IFFTY3JpcHRWYWx1ZSgpOwotICAgICAgICBRQ09NUEFSRSh2Mi5z
dHJpY3RseUVxdWFscyh2KSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRSh2LnRvTnVtYmVyKCks
IDEuMCk7Ci0KLSAgICAgICAgUVNjcmlwdFZhbHVlIHY1KHYpOwotICAgICAgICBRQ09NUEFSRSh2
NS5zdHJpY3RseUVxdWFscyh2KSwgdHJ1ZSk7Ci0gICAgICAgIHYgPSBRU2NyaXB0VmFsdWUoKTsK
LSAgICAgICAgUUNPTVBBUkUodjUuc3RyaWN0bHlFcXVhbHModiksIGZhbHNlKTsKLSAgICAgICAg
UUNPTVBBUkUodjUudG9OdW1iZXIoKSwgMS4wKTsKLSAgICB9Ci0KLSAgICAvLyBjb25zdHJ1Y3Rv
cnMgdGhhdCB0YWtlIG5vIGVuZ2luZSBhcmd1bWVudAotICAgIHsKLSAgICAgICAgUVNjcmlwdFZh
bHVlIHYoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYu
aXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc1VuZGVmaW5lZCgpLCB0cnVl
KTsKLSAgICAgICAgUUNPTVBBUkUodi5pc09iamVjdCgpLCBmYWxzZSk7Ci0gICAgICAgIFFDT01Q
QVJFKHYuZW5naW5lKCksIChRU2NyaXB0RW5naW5lKikwKTsKLSAgICB9Ci0gICAgewotICAgICAg
ICBRU2NyaXB0VmFsdWUgdihRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSk7Ci0gICAgICAgIFFDT01Q
QVJFKHYuaXNWYWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc051bGwoKSwgdHJ1
ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNPYmplY3QoKSwgZmFsc2UpOwotICAgICAgICBRQ09N
UEFSRSh2LmVuZ2luZSgpLCAoUVNjcmlwdEVuZ2luZSopMCk7Ci0gICAgfQotICAgIHsKLSAgICAg
ICAgUVNjcmlwdFZhbHVlIHYoZmFsc2UpOwotICAgICAgICBRQ09NUEFSRSh2LmlzVmFsaWQoKSwg
dHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNCb29sZWFuKCksIHRydWUpOwotICAgICAgICBR
Q09NUEFSRSh2LmlzQm9vbCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc09iamVjdCgp
LCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYudG9Cb29sZWFuKCksIGZhbHNlKTsKLSAgICAg
ICAgUUNPTVBBUkUodi5lbmdpbmUoKSwgKFFTY3JpcHRFbmdpbmUqKTApOwotICAgIH0KLSAgICB7
Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB2KGludCgxKSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNW
YWxpZCgpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodi5pc051bWJlcigpLCB0cnVlKTsKLSAg
ICAgICAgUUNPTVBBUkUodi5pc09iamVjdCgpLCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHYu
dG9OdW1iZXIoKSwgMS4wKTsKLSAgICAgICAgUUNPTVBBUkUodi5lbmdpbmUoKSwgKFFTY3JpcHRF
bmdpbmUqKTApOwotICAgIH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB2KHVpbnQoMSkp
OwotICAgICAgICBRQ09NUEFSRSh2LmlzVmFsaWQoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJF
KHYuaXNOdW1iZXIoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNPYmplY3QoKSwgZmFs
c2UpOwotICAgICAgICBRQ09NUEFSRSh2LnRvTnVtYmVyKCksIDEuMCk7Ci0gICAgICAgIFFDT01Q
QVJFKHYuZW5naW5lKCksIChRU2NyaXB0RW5naW5lKikwKTsKLSAgICB9Ci0gICAgewotICAgICAg
ICBRU2NyaXB0VmFsdWUgdigxLjApOwotICAgICAgICBRQ09NUEFSRSh2LmlzVmFsaWQoKSwgdHJ1
ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNOdW1iZXIoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01Q
QVJFKHYuaXNPYmplY3QoKSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRSh2LnRvTnVtYmVyKCks
IDEuMCk7Ci0gICAgICAgIFFDT01QQVJFKHYuZW5naW5lKCksIChRU2NyaXB0RW5naW5lKikwKTsK
LSAgICB9Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgdigiY2lhbyIpOwotICAgICAgICBR
Q09NUEFSRSh2LmlzVmFsaWQoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNTdHJpbmco
KSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNPYmplY3QoKSwgZmFsc2UpOwotICAgICAg
ICBRQ09NUEFSRSh2LnRvU3RyaW5nKCksIFFMYXRpbjFTdHJpbmcoImNpYW8iKSk7Ci0gICAgICAg
IFFDT01QQVJFKHYuZW5naW5lKCksIChRU2NyaXB0RW5naW5lKikwKTsKLSAgICB9Ci0gICAgewot
ICAgICAgICBRU2NyaXB0VmFsdWUgdihRU3RyaW5nKCJjaWFvIikpOwotICAgICAgICBRQ09NUEFS
RSh2LmlzVmFsaWQoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNTdHJpbmcoKSwgdHJ1
ZSk7Ci0gICAgICAgIFFDT01QQVJFKHYuaXNPYmplY3QoKSwgZmFsc2UpOwotICAgICAgICBRQ09N
UEFSRSh2LnRvU3RyaW5nKCksIFFMYXRpbjFTdHJpbmcoImNpYW8iKSk7Ci0gICAgICAgIFFDT01Q
QVJFKHYuZW5naW5lKCksIChRU2NyaXB0RW5naW5lKikwKTsKLSAgICB9Ci0gICAgLy8gY29weSBj
b25zdHJ1Y3Rvciwgb3BlcmF0b3I9Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgdigxLjAp
OwotICAgICAgICBRU2NyaXB0VmFsdWUgdjIodik7Ci0gICAgICAgIFFDT01QQVJFKHYyLnN0cmlj
dGx5RXF1YWxzKHYpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodjIuZW5naW5lKCksIChRU2Ny
aXB0RW5naW5lKikwKTsKLQotICAgICAgICBRU2NyaXB0VmFsdWUgdjModik7Ci0gICAgICAgIFFD
T01QQVJFKHYzLnN0cmljdGx5RXF1YWxzKHYpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodjMu
c3RyaWN0bHlFcXVhbHModjIpLCB0cnVlKTsKLSAgICAgICAgUUNPTVBBUkUodjMuZW5naW5lKCks
IChRU2NyaXB0RW5naW5lKikwKTsKLQotICAgICAgICBRU2NyaXB0VmFsdWUgdjQoMi4wKTsKLSAg
ICAgICAgUUNPTVBBUkUodjQuc3RyaWN0bHlFcXVhbHModiksIGZhbHNlKTsKLSAgICAgICAgdjMg
PSB2NDsKLSAgICAgICAgUUNPTVBBUkUodjMuc3RyaWN0bHlFcXVhbHModiksIGZhbHNlKTsKLSAg
ICAgICAgUUNPTVBBUkUodjMuc3RyaWN0bHlFcXVhbHModjQpLCB0cnVlKTsKLQotICAgICAgICB2
MiA9IFFTY3JpcHRWYWx1ZSgpOwotICAgICAgICBRQ09NUEFSRSh2Mi5zdHJpY3RseUVxdWFscyh2
KSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRSh2LnRvTnVtYmVyKCksIDEuMCk7Ci0KLSAgICAg
ICAgUVNjcmlwdFZhbHVlIHY1KHYpOwotICAgICAgICBRQ09NUEFSRSh2NS5zdHJpY3RseUVxdWFs
cyh2KSwgdHJ1ZSk7Ci0gICAgICAgIHYgPSBRU2NyaXB0VmFsdWUoKTsKLSAgICAgICAgUUNPTVBB
UkUodjUuc3RyaWN0bHlFcXVhbHModiksIGZhbHNlKTsKLSAgICAgICAgUUNPTVBBUkUodjUudG9O
dW1iZXIoKSwgMS4wKTsKLSAgICB9Ci0KLSAgICAvLyAwIGVuZ2luZQotICAgIFFWRVJJRlkoUVNj
cmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpLmlzVW5kZWZpbmVkKCkp
OwotICAgIFFWRVJJRlkoUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKS5p
c051bGwoKSk7Ci0gICAgUVZFUklGWShRU2NyaXB0VmFsdWUoMCwgZmFsc2UpLmlzQm9vbCgpKTsK
LSAgICBRVkVSSUZZKFFTY3JpcHRWYWx1ZSgwLCBpbnQoMSkpLmlzTnVtYmVyKCkpOwotICAgIFFW
RVJJRlkoUVNjcmlwdFZhbHVlKDAsIHVpbnQoMSkpLmlzTnVtYmVyKCkpOwotICAgIFFWRVJJRlko
UVNjcmlwdFZhbHVlKDAsIDEuMCkuaXNOdW1iZXIoKSk7Ci0gICAgUVZFUklGWShRU2NyaXB0VmFs
dWUoMCwgImNpYW8iKS5pc1N0cmluZygpKTsKLSAgICBRVkVSSUZZKFFTY3JpcHRWYWx1ZSgwLCBR
U3RyaW5nKCJjaWFvIikpLmlzU3RyaW5nKCkpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6
OmdldFByb3BlcnR5U2ltcGxlX2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVN0cmlu
Zz4oImNvZGUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTdHJpbmc+KCJwcm9wZXJ0eU5hbWUi
KTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTdHJpbmc+KCJkZXNjIik7Ci0gICAgUVRlc3Q6OmFk
ZENvbHVtbjxib29sPigiaXNBcnJheUluZGV4Iik7Ci0KLSAgICBRVGVzdDo6bmV3Um93KCJuZXcg
QXJyYXkoKSIpCi0gICAgICAgICAgICA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoIm5ldyBBcnJheSgp
IikKLSAgICAgICAgICAgIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgibGVuZ3RoIikKLSAgICAgICAg
ICAgIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgiMCIpCi0gICAgICAgICAgICA8PCBmYWxzZTsKLSAg
ICBRVGVzdDo6bmV3Um93KCJuZXcgT2JqZWN0KCkubGVuZ3RoIikKLSAgICAgICAgICAgIDw8IFFT
dHJpbmc6OmZyb21Bc2NpaSgibmV3IE9iamVjdCgpIikKLSAgICAgICAgICAgIDw8IFFTdHJpbmc6
OmZyb21Bc2NpaSgibGVuZ3RoIikKLSAgICAgICAgICAgIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgi
IikgLy8gVW5kZWZpbmVkIGlzIGFuIGludmFsaWQgcHJvcGVydHkuCi0gICAgICAgICAgICA8PCBm
YWxzZTsKLSAgICBRVGVzdDo6bmV3Um93KCJuZXcgT2JqZWN0KCkudG9TdHJpbmciKQotICAgICAg
ICAgICAgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCJuZXcgT2JqZWN0KCkiKQotICAgICAgICAgICAg
PDwgUVN0cmluZzo6ZnJvbUFzY2lpKCJ0b1N0cmluZyIpCi0gICAgICAgICAgICA8PCBRU3RyaW5n
Ojpmcm9tQXNjaWkoImZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0i
KQotICAgICAgICAgICAgPDwgZmFsc2U7Ci0gICAgUVRlc3Q6Om5ld1JvdygiWzEsMiwzLDRdIikK
LSAgICAgICAgICAgIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgiWzEsMiwzLCdzJyw0XSIpCi0gICAg
ICAgICAgICA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoIjIiKQotICAgICAgICAgICAgPDwgUVN0cmlu
Zzo6ZnJvbUFzY2lpKCIzIikKLSAgICAgICAgICAgIDw8IHRydWU7Ci0gICAgUVRlc3Q6Om5ld1Jv
dygiWzEsMywnYScsJ2InXSIpCi0gICAgICAgICAgICA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoIlsx
LDMsJ2EnLCdiJ10iKQotICAgICAgICAgICAgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCIzIikKLSAg
ICAgICAgICAgIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgiYiIpCi0gICAgICAgICAgICA8PCB0cnVl
OwotICAgIFFUZXN0OjpuZXdSb3coIls0LDVdIikKLSAgICAgICAgICAgIDw8IFFTdHJpbmc6OmZy
b21Bc2NpaSgiWzQsNV0iKQotICAgICAgICAgICAgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCIxMjMi
KQotICAgICAgICAgICAgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCIiKSAvLyBVbmRlZmluZWQgaXMg
YW4gaW52YWxpZCBwcm9wZXJ0eS4KLSAgICAgICAgICAgIDw8IHRydWU7Ci0gICAgUVRlc3Q6Om5l
d1JvdygiWzEsMyw0XSIpCi0gICAgICAgICAgICA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoIlsxLDMs
NF0iKQotICAgICAgICAgICAgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCJhYmMiKQotICAgICAgICAg
ICAgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCIiKSAvLyBVbmRlZmluZWQgaXMgYW4gaW52YWxpZCBw
cm9wZXJ0eS4KLSAgICAgICAgICAgIDw8IHRydWU7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1
ZTo6Z2V0UHJvcGVydHlTaW1wbGUoKQotewotICAgIFFGRVRDSChRU3RyaW5nLCBjb2RlKTsKLSAg
ICBRRkVUQ0goUVN0cmluZywgcHJvcGVydHlOYW1lKTsKLSAgICBRRkVUQ0goUVN0cmluZywgZGVz
Yyk7Ci0KLSAgICBRU2NyaXB0RW5naW5lIGVuZ2luZTsKLSAgICBRU2NyaXB0VmFsdWUgb2JqZWN0
ID0gZW5naW5lLmV2YWx1YXRlKGNvZGUpOwotICAgIFFWRVJJRlkob2JqZWN0LmlzVmFsaWQoKSk7
Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgcHJvcGVydHkgPSBvYmplY3QucHJvcGVydHko
cHJvcGVydHlOYW1lKTsKLSAgICAgICAgUUNPTVBBUkUocHJvcGVydHkudG9TdHJpbmcoKSwgZGVz
Yyk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgUVNjcmlwdFN0cmluZyBuYW1lID0gZW5naW5lLnRv
U3RyaW5nSGFuZGxlKHByb3BlcnR5TmFtZSk7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBwcm9wZXJ0
eSA9IG9iamVjdC5wcm9wZXJ0eShuYW1lKTsKLSAgICAgICAgUUNPTVBBUkUocHJvcGVydHkudG9T
dHJpbmcoKSwgZGVzYyk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgYm9vbCBvazsKLSAgICAgICAg
cXVpbnQzMiBpZHggPSBlbmdpbmUudG9TdHJpbmdIYW5kbGUocHJvcGVydHlOYW1lKS50b0FycmF5
SW5kZXgoJm9rKTsKLSAgICAgICAgaWYgKG9rKSB7Ci0gICAgICAgICAgICBRU2NyaXB0VmFsdWUg
cHJvcGVydHkgPSBvYmplY3QucHJvcGVydHkoaWR4KTsKLSAgICAgICAgICAgIFFDT01QQVJFKHBy
b3BlcnR5LnRvU3RyaW5nKCksIGRlc2MpOwotICAgICAgICB9Ci0gICAgfQotfQotCi12b2lkIHRz
dF9RU2NyaXB0VmFsdWU6OnNldFByb3BlcnR5U2ltcGxlKCkKLXsKLSAgICBRU2NyaXB0RW5naW5l
IGVuZ2luZTsKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBpbnZhbGlkOwotICAgICAgICBR
U2NyaXB0VmFsdWUgcHJvcGVydHkoMTIzNCk7Ci0KLSAgICAgICAgaW52YWxpZC5zZXRQcm9wZXJ0
eSgiYWFhIiwgcHJvcGVydHkpOwotICAgICAgICBpbnZhbGlkLnNldFByb3BlcnR5KDEzLCBwcm9w
ZXJ0eSk7Ci0gICAgICAgIGludmFsaWQuc2V0UHJvcGVydHkoZW5naW5lLnRvU3RyaW5nSGFuZGxl
KCJhYWEiKSwgcHJvcGVydHkpOwotCi0gICAgICAgIFFWRVJJRlkoIWludmFsaWQucHJvcGVydHko
ImFhYSIpLmlzVmFsaWQoKSk7Ci0gICAgICAgIFFWRVJJRlkoIWludmFsaWQucHJvcGVydHkoMTMp
LmlzVmFsaWQoKSk7Ci0gICAgICAgIFFWRVJJRlkoIWludmFsaWQucHJvcGVydHkoZW5naW5lLnRv
U3RyaW5nSGFuZGxlKCJhYWEiKSkuaXNWYWxpZCgpKTsKLSAgICB9Ci0gICAgewotICAgICAgICBR
U2NyaXB0VmFsdWUgb2JqZWN0ID0gZW5naW5lLm5ld09iamVjdCgpOwotICAgICAgICBRU2NyaXB0
VmFsdWUgcHJvcGVydHk7Ci0KLSAgICAgICAgb2JqZWN0LnNldFByb3BlcnR5KDEzLCBwcm9wZXJ0
eSk7Ci0gICAgICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgiYWFhIiwgcHJvcGVydHkpOwotICAgICAg
ICBvYmplY3Quc2V0UHJvcGVydHkoZW5naW5lLnRvU3RyaW5nSGFuZGxlKCJhYWEiKSwgcHJvcGVy
dHkpOwotCi0gICAgICAgIFFWRVJJRlkoIW9iamVjdC5wcm9wZXJ0eSgxMykuaXNWYWxpZCgpKTsK
LSAgICAgICAgUVZFUklGWSghb2JqZWN0LnByb3BlcnR5KCJhYWEiKS5pc1ZhbGlkKCkpOwotICAg
ICAgICBRVkVSSUZZKCFvYmplY3QucHJvcGVydHkoZW5naW5lLnRvU3RyaW5nSGFuZGxlKCJhYWEi
KSkuaXNWYWxpZCgpKTsKLSAgICB9Ci0gICAgewotICAgICAgICAvLyBDaGVjayBpZiBzZXR0aW5n
IGFuIGludmFsaWQgcHJvcGVydHkgd29ya3MgYXMgZGVsZXRlUHJvcGVydHkuCi0gICAgICAgIFFT
Y3JpcHRWYWx1ZSBvYmplY3QgPSBlbmdpbmUuZXZhbHVhdGUoIm8gPSB7MTM6IDAsICdhYWEnOiAz
LCAnYmJiJzogMX0iKTsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHByb3BlcnR5OwotCi0gICAgICAg
IFFWRVJJRlkob2JqZWN0LnByb3BlcnR5KDEzKS5pc1ZhbGlkKCkpOwotICAgICAgICBRVkVSSUZZ
KG9iamVjdC5wcm9wZXJ0eSgiYWFhIikuaXNWYWxpZCgpKTsKLSAgICAgICAgUVZFUklGWShvYmpl
Y3QucHJvcGVydHkoZW5naW5lLnRvU3RyaW5nSGFuZGxlKCJhYWEiKSkuaXNWYWxpZCgpKTsKLQot
ICAgICAgICBvYmplY3Quc2V0UHJvcGVydHkoMTMsIHByb3BlcnR5KTsKLSAgICAgICAgb2JqZWN0
LnNldFByb3BlcnR5KCJhYWEiLCBwcm9wZXJ0eSk7Ci0gICAgICAgIG9iamVjdC5zZXRQcm9wZXJ0
eShlbmdpbmUudG9TdHJpbmdIYW5kbGUoImJiYiIpLCBwcm9wZXJ0eSk7Ci0KLSAgICAgICAgUVZF
UklGWSghb2JqZWN0LnByb3BlcnR5KDEzKS5pc1ZhbGlkKCkpOwotICAgICAgICBRVkVSSUZZKCFv
YmplY3QucHJvcGVydHkoImFhYSIpLmlzVmFsaWQoKSk7Ci0gICAgICAgIFFWRVJJRlkoIW9iamVj
dC5wcm9wZXJ0eShlbmdpbmUudG9TdHJpbmdIYW5kbGUoImFhYSIpKS5pc1ZhbGlkKCkpOwotICAg
IH0KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBvYmplY3QgPSBlbmdpbmUuZXZhbHVhdGUo
Im5ldyBPYmplY3QiKTsKLSAgICAgICAgUVZFUklGWShvYmplY3QuaXNPYmplY3QoKSk7Ci0gICAg
ICAgIFFTY3JpcHRWYWx1ZSBwcm9wZXJ0eSA9IG9iamVjdC5wcm9wZXJ0eSgiZm9vIik7Ci0gICAg
ICAgIFFWRVJJRlkoIXByb3BlcnR5LmlzVmFsaWQoKSk7Ci0gICAgICAgIHByb3BlcnR5ID0gUVNj
cmlwdFZhbHVlKDIpOwotICAgICAgICBvYmplY3Quc2V0UHJvcGVydHkoImZvbyIsIHByb3BlcnR5
KTsKLSAgICAgICAgUVZFUklGWShvYmplY3QucHJvcGVydHkoImZvbyIpLmlzTnVtYmVyKCkpOwot
ICAgICAgICBRVkVSSUZZKG9iamVjdC5wcm9wZXJ0eSgiZm9vIikudG9OdW1iZXIoKSA9PSAyKTsK
LSAgICB9Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgbzEgPSBlbmdpbmUuZXZhbHVhdGUo
Im8xID0gbmV3IE9iamVjdDsgbzEiKTsKLSAgICAgICAgUVNjcmlwdFZhbHVlIG8yID0gZW5naW5l
LmV2YWx1YXRlKCJvMiA9IG5ldyBPYmplY3Q7IG8yIik7Ci0gICAgICAgIFFWRVJJRlkoZW5naW5l
LmV2YWx1YXRlKCJvMS5fX3Byb3RvX18gPSBvMjsgbzEuX19wcm90b19fID09PSBvMiIpLnRvQm9v
bCgpKTsKLSAgICAgICAgUVZFUklGWShlbmdpbmUuZXZhbHVhdGUoIm8yLmZvbyA9IDIyOyBvMS5m
b28gPT0gMjIiKS50b0Jvb2woKSk7Ci0gICAgICAgIFFWRVJJRlkobzEucHJvcGVydHkoImZvbyIp
LnRvU3RyaW5nKCkgPT0gIjIyIik7Ci0gICAgICAgIG8yLnNldFByb3BlcnR5KCJmb28iLCBRU2Ny
aXB0VmFsdWUoJmVuZ2luZSwgNDU2LjApKTsKLSAgICAgICAgUVZFUklGWShlbmdpbmUuZXZhbHVh
dGUoIm8xLmZvbyA9PSA0NTYiKS50b0Jvb2woKSk7Ci0gICAgICAgIFFWRVJJRlkobzEucHJvcGVy
dHkoImZvbyIpLmlzTnVtYmVyKCkpOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVl
OjpnZXRQcm9wZXJ0eVJlc29sdmVGbGFnKCkKLXsKLSAgICBRU2NyaXB0RW5naW5lIGVuZ2luZTsK
LSAgICBRU2NyaXB0VmFsdWUgb2JqZWN0MSA9IGVuZ2luZS5ldmFsdWF0ZSgibzEgPSBuZXcgT2Jq
ZWN0KCk7Iik7Ci0gICAgUVNjcmlwdFZhbHVlIG9iamVjdDIgPSBlbmdpbmUuZXZhbHVhdGUoIm8y
ID0gbmV3IE9iamVjdCgpOyBvMS5fX3Byb3RvX18gPSBvMjsgbzIiKTsKLSAgICBRU2NyaXB0VmFs
dWUgbnVtYmVyKCZlbmdpbmUsIDQ1Ni4wKTsKLSAgICBRVkVSSUZZKG9iamVjdDEuaXNPYmplY3Qo
KSk7Ci0gICAgUVZFUklGWShvYmplY3QyLmlzT2JqZWN0KCkpOwotICAgIFFWRVJJRlkobnVtYmVy
LmlzTnVtYmVyKCkpOwotCi0gICAgb2JqZWN0Mi5zZXRQcm9wZXJ0eSgicHJvcGVydHlJblByb3Rv
dHlwZSIsIG51bWJlcik7Ci0gICAgUVZFUklGWShvYmplY3QyLnByb3BlcnR5KCJwcm9wZXJ0eUlu
UHJvdG90eXBlIikuaXNOdW1iZXIoKSk7Ci0gICAgLy8gZGVmYXVsdCBpcyBSZXNvbHZlUHJvdG90
eXBlCi0gICAgUUNPTVBBUkUob2JqZWN0MS5wcm9wZXJ0eSgicHJvcGVydHlJblByb3RvdHlwZSIp
LnN0cmljdGx5RXF1YWxzKG51bWJlciksIHRydWUpOwotICAgIFFDT01QQVJFKG9iamVjdDEucHJv
cGVydHkoInByb3BlcnR5SW5Qcm90b3R5cGUiLCBRU2NyaXB0VmFsdWU6OlJlc29sdmVQcm90b3R5
cGUpCi0gICAgICAgICAgICAgLnN0cmljdGx5RXF1YWxzKG51bWJlciksIHRydWUpOwotICAgIFFD
T01QQVJFKG9iamVjdDEucHJvcGVydHkoInByb3BlcnR5SW5Qcm90b3R5cGUiLCBRU2NyaXB0VmFs
dWU6OlJlc29sdmVMb2NhbCkuaXNWYWxpZCgpLCBmYWxzZSk7Ci19Ci0KLXZvaWQgdHN0X1FTY3Jp
cHRWYWx1ZTo6Z2V0U2V0UHJvcGVydHkoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5nOwotCi0g
ICAgUVNjcmlwdFZhbHVlIG9iamVjdCA9IGVuZy5uZXdPYmplY3QoKTsKLQotICAgIFFTY3JpcHRW
YWx1ZSBzdHIgPSBRU2NyaXB0VmFsdWUoJmVuZywgImJhciIpOwotICAgIG9iamVjdC5zZXRQcm9w
ZXJ0eSgiZm9vIiwgc3RyKTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVydHkoImZvbyIpLnRv
U3RyaW5nKCksIHN0ci50b1N0cmluZygpKTsKLQotICAgIFFTY3JpcHRWYWx1ZSBudW0gPSBRU2Ny
aXB0VmFsdWUoJmVuZywgMTIzLjApOwotICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgiYmF6IiwgbnVt
KTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVydHkoImJheiIpLnRvTnVtYmVyKCksIG51bS50
b051bWJlcigpKTsKLQotICAgIFFTY3JpcHRWYWx1ZSBzdHJzdHIgPSBRU2NyaXB0VmFsdWUoImJh
ciIpOwotICAgIFFDT01QQVJFKHN0cnN0ci5lbmdpbmUoKSwgKFFTY3JpcHRFbmdpbmUgKikwKTsK
LSAgICBvYmplY3Quc2V0UHJvcGVydHkoImZvbyIsIHN0cnN0cik7Ci0gICAgUUNPTVBBUkUob2Jq
ZWN0LnByb3BlcnR5KCJmb28iKS50b1N0cmluZygpLCBzdHJzdHIudG9TdHJpbmcoKSk7Ci0gICAg
UUNPTVBBUkUoc3Ryc3RyLmVuZ2luZSgpLCAmZW5nKTsgLy8gdGhlIHZhbHVlIGhhcyBiZWVuIGJv
dW5kIHRvIHRoZSBlbmdpbmUKLQotICAgIFFTY3JpcHRWYWx1ZSBudW1udW0gPSBRU2NyaXB0VmFs
dWUoMTIzLjApOwotICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgiYmF6IiwgbnVtbnVtKTsKLSAgICBR
Q09NUEFSRShvYmplY3QucHJvcGVydHkoImJheiIpLnRvTnVtYmVyKCksIG51bW51bS50b051bWJl
cigpKTsKLQotICAgIFFTY3JpcHRWYWx1ZSBpbnY7Ci0gICAgaW52LnNldFByb3BlcnR5KCJmb28i
LCBudW0pOwotICAgIFFDT01QQVJFKGludi5wcm9wZXJ0eSgiZm9vIikuaXNWYWxpZCgpLCBmYWxz
ZSk7Ci0KLSAgICBRU2NyaXB0VmFsdWUgYXJyYXkgPSBlbmcubmV3QXJyYXkoKTsKLSAgICBhcnJh
eS5zZXRQcm9wZXJ0eSgwLCBudW0pOwotICAgIFFDT01QQVJFKGFycmF5LnByb3BlcnR5KDApLnRv
TnVtYmVyKCksIG51bS50b051bWJlcigpKTsKLSAgICBRQ09NUEFSRShhcnJheS5wcm9wZXJ0eSgi
MCIpLnRvTnVtYmVyKCksIG51bS50b051bWJlcigpKTsKLSAgICBRQ09NUEFSRShhcnJheS5wcm9w
ZXJ0eSgibGVuZ3RoIikudG9VSW50MzIoKSwgcXVpbnQzMigxKSk7Ci0gICAgYXJyYXkuc2V0UHJv
cGVydHkoMSwgc3RyKTsKLSAgICBRQ09NUEFSRShhcnJheS5wcm9wZXJ0eSgxKS50b1N0cmluZygp
LCBzdHIudG9TdHJpbmcoKSk7Ci0gICAgUUNPTVBBUkUoYXJyYXkucHJvcGVydHkoIjEiKS50b1N0
cmluZygpLCBzdHIudG9TdHJpbmcoKSk7Ci0gICAgUUNPTVBBUkUoYXJyYXkucHJvcGVydHkoImxl
bmd0aCIpLnRvVUludDMyKCksIHF1aW50MzIoMikpOwotICAgIGFycmF5LnNldFByb3BlcnR5KCJs
ZW5ndGgiLCBRU2NyaXB0VmFsdWUoJmVuZywgMSkpOwotICAgIFFDT01QQVJFKGFycmF5LnByb3Bl
cnR5KCJsZW5ndGgiKS50b1VJbnQzMigpLCBxdWludDMyKDEpKTsKLSAgICBRQ09NUEFSRShhcnJh
eS5wcm9wZXJ0eSgxKS5pc1ZhbGlkKCksIGZhbHNlKTsKLQotICAgIC8vIHRhc2sgMTYyMDUxIC0t
IGRldGVjdGluZyB3aGV0aGVyIHRoZSBwcm9wZXJ0eSBpcyBhbiBhcnJheSBpbmRleCBvciBub3QK
LSAgICBRVkVSSUZZKGVuZy5ldmFsdWF0ZSgiYSA9IFtdOyBhWycwMCddID0gMTIzOyBhWycwMCdd
Iikuc3RyaWN0bHlFcXVhbHMoUVNjcmlwdFZhbHVlKCZlbmcsIDEyMykpKTsKLSAgICBRVkVSSUZZ
KGVuZy5ldmFsdWF0ZSgiYS5sZW5ndGgiKS5zdHJpY3RseUVxdWFscyhRU2NyaXB0VmFsdWUoJmVu
ZywgMCkpKTsKLSAgICBRVkVSSUZZKGVuZy5ldmFsdWF0ZSgiYS5oYXNPd25Qcm9wZXJ0eSgnMDAn
KSIpLnN0cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1ZSgmZW5nLCB0cnVlKSkpOwotICAgIFFWRVJJ
RlkoZW5nLmV2YWx1YXRlKCJhLmhhc093blByb3BlcnR5KCcwJykiKS5zdHJpY3RseUVxdWFscyhR
U2NyaXB0VmFsdWUoJmVuZywgZmFsc2UpKSk7Ci0gICAgUVZFUklGWShlbmcuZXZhbHVhdGUoImFb
MF0iKS5pc1VuZGVmaW5lZCgpKTsKLSAgICBRVkVSSUZZKGVuZy5ldmFsdWF0ZSgiYVswLjVdID0g
NDU2OyBhWzAuNV0iKS5zdHJpY3RseUVxdWFscyhRU2NyaXB0VmFsdWUoJmVuZywgNDU2KSkpOwot
ICAgIFFWRVJJRlkoZW5nLmV2YWx1YXRlKCJhLmxlbmd0aCIpLnN0cmljdGx5RXF1YWxzKFFTY3Jp
cHRWYWx1ZSgmZW5nLCAwKSkpOwotICAgIFFWRVJJRlkoZW5nLmV2YWx1YXRlKCJhLmhhc093blBy
b3BlcnR5KCcwLjUnKSIpLnN0cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1ZSgmZW5nLCB0cnVlKSkp
OwotICAgIFFWRVJJRlkoZW5nLmV2YWx1YXRlKCJhWzBdIikuaXNVbmRlZmluZWQoKSk7Ci0gICAg
UVZFUklGWShlbmcuZXZhbHVhdGUoImFbMF0gPSA3ODk7IGFbMF0iKS5zdHJpY3RseUVxdWFscyhR
U2NyaXB0VmFsdWUoJmVuZywgNzg5KSkpOwotICAgIFFWRVJJRlkoZW5nLmV2YWx1YXRlKCJhLmxl
bmd0aCIpLnN0cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1ZSgmZW5nLCAxKSkpOwotCi0gICAgLy8g
dGFzayAxODMwNzIgLS0gMHg4MDAwMDAwMDAgaXMgbm90IGFuIGFycmF5IGluZGV4Ci0gICAgZW5n
LmV2YWx1YXRlKCJhID0gW107IGFbMHg4MDAwMDAwMDBdID0gMTIzIik7Ci0gICAgUVZFUklGWShl
bmcuZXZhbHVhdGUoImEubGVuZ3RoIikuc3RyaWN0bHlFcXVhbHMoUVNjcmlwdFZhbHVlKCZlbmcs
IDApKSk7Ci0gICAgUVZFUklGWShlbmcuZXZhbHVhdGUoImFbMF0iKS5pc1VuZGVmaW5lZCgpKTsK
LSAgICBRVkVSSUZZKGVuZy5ldmFsdWF0ZSgiYVsweDgwMDAwMDAwMF0iKS5zdHJpY3RseUVxdWFs
cyhRU2NyaXB0VmFsdWUoJmVuZywgMTIzKSkpOwotCi0gICAgUVNjcmlwdEVuZ2luZSBvdGhlckVu
Z2luZTsKLSAgICBRU2NyaXB0VmFsdWUgb3RoZXJOdW0gPSBRU2NyaXB0VmFsdWUoJm90aGVyRW5n
aW5lLCAxMjMpOwotICAgIFFUZXN0OjppZ25vcmVNZXNzYWdlKFF0V2FybmluZ01zZywgIlFTY3Jp
cHRWYWx1ZTo6c2V0UHJvcGVydHkoKSBmYWlsZWQ6IGNhbm5vdCBzZXQgdmFsdWUgY3JlYXRlZCBp
biBhIGRpZmZlcmVudCBlbmdpbmUiKTsKLSAgICBvYmplY3Quc2V0UHJvcGVydHkoIm9vZiIsIG90
aGVyTnVtKTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVydHkoIm9vZiIpLmlzVmFsaWQoKSwg
ZmFsc2UpOwotCi0gICAgLy8gdGVzdCBSZXNvbHZlTW9kZQotICAgIFFTY3JpcHRWYWx1ZSBvYmpl
Y3QyID0gZW5nLm5ld09iamVjdCgpOwotICAgIG9iamVjdC5zZXRQcm90b3R5cGUob2JqZWN0Mik7
Ci0gICAgUVNjcmlwdFZhbHVlIG51bTIgPSBRU2NyaXB0VmFsdWUoJmVuZywgNDU2LjApOwotICAg
IG9iamVjdDIuc2V0UHJvcGVydHkoInByb3BlcnR5SW5Qcm90b3R5cGUiLCBudW0yKTsKLSAgICAv
LyBkZWZhdWx0IGlzIFJlc29sdmVQcm90b3R5cGUKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVy
dHkoInByb3BlcnR5SW5Qcm90b3R5cGUiKQotICAgICAgICAgICAgIC5zdHJpY3RseUVxdWFscyhu
dW0yKSwgdHJ1ZSk7Ci0gICAgUUNPTVBBUkUob2JqZWN0LnByb3BlcnR5KCJwcm9wZXJ0eUluUHJv
dG90eXBlIiwgUVNjcmlwdFZhbHVlOjpSZXNvbHZlUHJvdG90eXBlKQotICAgICAgICAgICAgIC5z
dHJpY3RseUVxdWFscyhudW0yKSwgdHJ1ZSk7Ci0gICAgUUNPTVBBUkUob2JqZWN0LnByb3BlcnR5
KCJwcm9wZXJ0eUluUHJvdG90eXBlIiwgUVNjcmlwdFZhbHVlOjpSZXNvbHZlTG9jYWwpCi0gICAg
ICAgICAgICAgLmlzVmFsaWQoKSwgZmFsc2UpOwotICAgIFFFWFBFQ1RfRkFJTCgiIiwgIlFTY3Jp
cHRWYWx1ZTo6UmVzb2x2ZVNjb3BlIGlzIG5vdCBpbXBsZW1lbnRlZCIsIENvbnRpbnVlKTsKLSAg
ICBRQ09NUEFSRShvYmplY3QucHJvcGVydHkoInByb3BlcnR5SW5Qcm90b3R5cGUiLCBRU2NyaXB0
VmFsdWU6OlJlc29sdmVTY29wZSkKLSAgICAgICAgICAgICAuc3RyaWN0bHlFcXVhbHMobnVtMiks
IGZhbHNlKTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVydHkoInByb3BlcnR5SW5Qcm90b3R5
cGUiLCBRU2NyaXB0VmFsdWU6OlJlc29sdmVGdWxsKQotICAgICAgICAgICAgIC5zdHJpY3RseUVx
dWFscyhudW0yKSwgdHJ1ZSk7Ci0KLSAgICAvLyB0ZXN0IHByb3BlcnR5IHJlbW92YWwgKHNldFBy
b3BlcnR5KFFTY3JpcHRWYWx1ZSgpKSkKLSAgICBRU2NyaXB0VmFsdWUgb2JqZWN0MyA9IGVuZy5u
ZXdPYmplY3QoKTsKLSAgICBvYmplY3QzLnNldFByb3BlcnR5KCJmb28iLCBudW0pOwotICAgIFFD
T01QQVJFKG9iamVjdDMucHJvcGVydHkoImZvbyIpLnN0cmljdGx5RXF1YWxzKG51bSksIHRydWUp
OwotICAgIG9iamVjdDMuc2V0UHJvcGVydHkoImJhciIsIHN0cik7Ci0gICAgUUNPTVBBUkUob2Jq
ZWN0My5wcm9wZXJ0eSgiYmFyIikuc3RyaWN0bHlFcXVhbHMoc3RyKSwgdHJ1ZSk7Ci0gICAgb2Jq
ZWN0My5zZXRQcm9wZXJ0eSgiZm9vIiwgUVNjcmlwdFZhbHVlKCkpOwotICAgIFFDT01QQVJFKG9i
amVjdDMucHJvcGVydHkoImZvbyIpLmlzVmFsaWQoKSwgZmFsc2UpOwotICAgIFFDT01QQVJFKG9i
amVjdDMucHJvcGVydHkoImJhciIpLnN0cmljdGx5RXF1YWxzKHN0ciksIHRydWUpOwotICAgIG9i
amVjdDMuc2V0UHJvcGVydHkoImZvbyIsIG51bSk7Ci0gICAgUUNPTVBBUkUob2JqZWN0My5wcm9w
ZXJ0eSgiZm9vIikuc3RyaWN0bHlFcXVhbHMobnVtKSwgdHJ1ZSk7Ci0gICAgUUNPTVBBUkUob2Jq
ZWN0My5wcm9wZXJ0eSgiYmFyIikuc3RyaWN0bHlFcXVhbHMoc3RyKSwgdHJ1ZSk7Ci0gICAgb2Jq
ZWN0My5zZXRQcm9wZXJ0eSgiYmFyIiwgUVNjcmlwdFZhbHVlKCkpOwotICAgIFFDT01QQVJFKG9i
amVjdDMucHJvcGVydHkoImJhciIpLmlzVmFsaWQoKSwgZmFsc2UpOwotICAgIFFDT01QQVJFKG9i
amVjdDMucHJvcGVydHkoImZvbyIpLnN0cmljdGx5RXF1YWxzKG51bSksIHRydWUpOwotICAgIG9i
amVjdDMuc2V0UHJvcGVydHkoImZvbyIsIFFTY3JpcHRWYWx1ZSgpKTsKLSAgICBvYmplY3QzLnNl
dFByb3BlcnR5KCJmb28iLCBRU2NyaXB0VmFsdWUoKSk7Ci0KLSAgICBlbmcuZ2xvYmFsT2JqZWN0
KCkuc2V0UHJvcGVydHkoIm9iamVjdDMiLCBvYmplY3QzKTsKLSAgICBRQ09NUEFSRShlbmcuZXZh
bHVhdGUoIm9iamVjdDMuaGFzT3duUHJvcGVydHkoJ2ZvbycpIikKLSAgICAgICAgICAgICAuc3Ry
aWN0bHlFcXVhbHMoUVNjcmlwdFZhbHVlKCZlbmcsIGZhbHNlKSksIHRydWUpOwotICAgIG9iamVj
dDMuc2V0UHJvcGVydHkoImZvbyIsIG51bSk7Ci0gICAgUUNPTVBBUkUoZW5nLmV2YWx1YXRlKCJv
YmplY3QzLmhhc093blByb3BlcnR5KCdmb28nKSIpCi0gICAgICAgICAgICAgLnN0cmljdGx5RXF1
YWxzKFFTY3JpcHRWYWx1ZSgmZW5nLCB0cnVlKSksIHRydWUpOwotICAgIGVuZy5nbG9iYWxPYmpl
Y3QoKS5zZXRQcm9wZXJ0eSgib2JqZWN0MyIsIFFTY3JpcHRWYWx1ZSgpKTsKLSAgICBRQ09NUEFS
RShlbmcuZXZhbHVhdGUoInRoaXMuaGFzT3duUHJvcGVydHkoJ29iamVjdDMnKSIpCi0gICAgICAg
ICAgICAgLnN0cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1ZSgmZW5nLCBmYWxzZSkpLCB0cnVlKTsK
LQotICAgIGVuZy5nbG9iYWxPYmplY3QoKS5zZXRQcm9wZXJ0eSgib2JqZWN0Iiwgb2JqZWN0KTsK
LQotICAgIC8vIFJlYWRPbmx5Ci0gICAgb2JqZWN0LnNldFByb3BlcnR5KCJyZWFkT25seVByb3Bl
cnR5IiwgbnVtLCBRU2NyaXB0VmFsdWU6OlJlYWRPbmx5KTsKLSAgICAvLyBRQ09NUEFSRShvYmpl
Y3QucHJvcGVydHlGbGFncygicmVhZE9ubHlQcm9wZXJ0eSIpLCBRU2NyaXB0VmFsdWU6OlJlYWRP
bmx5KTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVydHkoInJlYWRPbmx5UHJvcGVydHkiKS5z
dHJpY3RseUVxdWFscyhudW0pLCB0cnVlKTsKLSAgICBlbmcuZXZhbHVhdGUoIm9iamVjdC5yZWFk
T25seVByb3BlcnR5ID0gIW9iamVjdC5yZWFkT25seVByb3BlcnR5Iik7Ci0gICAgUUNPTVBBUkUo
b2JqZWN0LnByb3BlcnR5KCJyZWFkT25seVByb3BlcnR5Iikuc3RyaWN0bHlFcXVhbHMobnVtKSwg
dHJ1ZSk7Ci0gICAgLy8gU2hvdWxkIHN0aWxsIGJlIHBhcnQgb2YgZW51bWVyYXRpb24uCi0gICAg
ewotICAgICAgICBRU2NyaXB0VmFsdWUgcmV0ID0gZW5nLmV2YWx1YXRlKAotICAgICAgICAgICAg
ImZvdW5kID0gZmFsc2U7IgotICAgICAgICAgICAgImZvciAodmFyIHAgaW4gb2JqZWN0KSB7Igot
ICAgICAgICAgICAgIiAgaWYgKHAgPT0gJ3JlYWRPbmx5UHJvcGVydHknKSB7IgotICAgICAgICAg
ICAgIiAgICBmb3VuZCA9IHRydWU7IGJyZWFrOyIKLSAgICAgICAgICAgICIgIH0iCi0gICAgICAg
ICAgICAifSBmb3VuZCIpOwotICAgICAgICBRQ09NUEFSRShyZXQuc3RyaWN0bHlFcXVhbHMoUVNj
cmlwdFZhbHVlKCZlbmcsIHRydWUpKSwgdHJ1ZSk7Ci0gICAgfQotICAgIC8vIHNob3VsZCBzdGls
bCBiZSBkZWxldGFibGUKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSByZXQgPSBlbmcuZXZh
bHVhdGUoImRlbGV0ZSBvYmplY3QucmVhZE9ubHlQcm9wZXJ0eSIpOwotICAgICAgICBRQ09NUEFS
RShyZXQuc3RyaWN0bHlFcXVhbHMoUVNjcmlwdFZhbHVlKCZlbmcsIHRydWUpKSwgdHJ1ZSk7Ci0g
ICAgICAgIFFDT01QQVJFKG9iamVjdC5wcm9wZXJ0eSgicmVhZE9ubHlQcm9wZXJ0eSIpLmlzVmFs
aWQoKSwgZmFsc2UpOwotICAgIH0KLQotICAgIC8vIFVuZGVsZXRhYmxlCi0gICAgb2JqZWN0LnNl
dFByb3BlcnR5KCJ1bmRlbGV0YWJsZVByb3BlcnR5IiwgbnVtLCBRU2NyaXB0VmFsdWU6OlVuZGVs
ZXRhYmxlKTsKLSAgICAvLyBRQ09NUEFSRShvYmplY3QucHJvcGVydHlGbGFncygidW5kZWxldGFi
bGVQcm9wZXJ0eSIpLCBRU2NyaXB0VmFsdWU6OlVuZGVsZXRhYmxlKTsKLSAgICBRQ09NUEFSRShv
YmplY3QucHJvcGVydHkoInVuZGVsZXRhYmxlUHJvcGVydHkiKS5zdHJpY3RseUVxdWFscyhudW0p
LCB0cnVlKTsKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSByZXQgPSBlbmcuZXZhbHVhdGUo
ImRlbGV0ZSBvYmplY3QudW5kZWxldGFibGVQcm9wZXJ0eSIpOwotICAgICAgICBRQ09NUEFSRShy
ZXQuc3RyaWN0bHlFcXVhbHMoUVNjcmlwdFZhbHVlKCZlbmcsIHRydWUpKSwgZmFsc2UpOwotICAg
ICAgICBRQ09NUEFSRShvYmplY3QucHJvcGVydHkoInVuZGVsZXRhYmxlUHJvcGVydHkiKS5zdHJp
Y3RseUVxdWFscyhudW0pLCB0cnVlKTsKLSAgICB9Ci0gICAgLy8gc2hvdWxkIHN0aWxsIGJlIHdy
aXRhYmxlCi0gICAgZW5nLmV2YWx1YXRlKCJvYmplY3QudW5kZWxldGFibGVQcm9wZXJ0eSA9IG9i
amVjdC51bmRlbGV0YWJsZVByb3BlcnR5ICsgMSIpOwotICAgIFFDT01QQVJFKG9iamVjdC5wcm9w
ZXJ0eSgidW5kZWxldGFibGVQcm9wZXJ0eSIpLnRvTnVtYmVyKCksIG51bS50b051bWJlcigpICsg
MSk7Ci0gICAgLy8gc2hvdWxkIHN0aWxsIGJlIHBhcnQgb2YgZW51bWVyYXRpb24KLSAgICB7Ci0g
ICAgICAgIFFTY3JpcHRWYWx1ZSByZXQgPSBlbmcuZXZhbHVhdGUoCi0gICAgICAgICAgICAiZm91
bmQgPSBmYWxzZTsiCi0gICAgICAgICAgICAiZm9yICh2YXIgcCBpbiBvYmplY3QpIHsiCi0gICAg
ICAgICAgICAiICBpZiAocCA9PSAndW5kZWxldGFibGVQcm9wZXJ0eScpIHsiCi0gICAgICAgICAg
ICAiICAgIGZvdW5kID0gdHJ1ZTsgYnJlYWs7IgotICAgICAgICAgICAgIiAgfSIKLSAgICAgICAg
ICAgICJ9IGZvdW5kIik7Ci0gICAgICAgIFFDT01QQVJFKHJldC5zdHJpY3RseUVxdWFscyhRU2Ny
aXB0VmFsdWUoJmVuZywgdHJ1ZSkpLCB0cnVlKTsKLSAgICB9Ci0gICAgLy8gc2hvdWxkIHN0aWxs
IGJlIGRlbGV0YWJsZSBmcm9tIEMrKwotICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgidW5kZWxldGFi
bGVQcm9wZXJ0eSIsIFFTY3JpcHRWYWx1ZSgpKTsKLSAgICBRRVhQRUNUX0ZBSUwoIiIsICJXaXRo
IEpTQy1iYXNlZCBiYWNrLWVuZCwgdW5kZWxldGFibGUgcHJvcGVydGllcyBjYW4ndCBiZSBkZWxl
dGVkIGZyb20gQysrIiwgQ29udGludWUpOwotICAgIFFWRVJJRlkoIW9iamVjdC5wcm9wZXJ0eSgi
dW5kZWxldGFibGVQcm9wZXJ0eSIpLmlzVmFsaWQoKSk7Ci0gICAgLy8gUUVYUEVDVF9GQUlMKCIi
LCAiV2l0aCBKU0MtYmFzZWQgYmFjay1lbmQsIHVuZGVsZXRhYmxlIHByb3BlcnRpZXMgY2FuJ3Qg
YmUgZGVsZXRlZCBmcm9tIEMrKyIsIENvbnRpbnVlKTsKLSAgICAvLyBRQ09NUEFSRShvYmplY3Qu
cHJvcGVydHlGbGFncygidW5kZWxldGFibGVQcm9wZXJ0eSIpLCAwKTsKLQotICAgIC8vIFNraXBJ
bkVudW1lcmF0aW9uCi0gICAgb2JqZWN0LnNldFByb3BlcnR5KCJkb250RW51bVByb3BlcnR5Iiwg
bnVtLCBRU2NyaXB0VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uKTsKLSAgICAvLyBRQ09NUEFSRShv
YmplY3QucHJvcGVydHlGbGFncygiZG9udEVudW1Qcm9wZXJ0eSIpLCBRU2NyaXB0VmFsdWU6OlNr
aXBJbkVudW1lcmF0aW9uKTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVydHkoImRvbnRFbnVt
UHJvcGVydHkiKS5zdHJpY3RseUVxdWFscyhudW0pLCB0cnVlKTsKLSAgICAvLyBzaG91bGQgbm90
IGJlIHBhcnQgb2YgZW51bWVyYXRpb24KLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSByZXQg
PSBlbmcuZXZhbHVhdGUoCi0gICAgICAgICAgICAiZm91bmQgPSBmYWxzZTsiCi0gICAgICAgICAg
ICAiZm9yICh2YXIgcCBpbiBvYmplY3QpIHsiCi0gICAgICAgICAgICAiICBpZiAocCA9PSAnZG9u
dEVudW1Qcm9wZXJ0eScpIHsiCi0gICAgICAgICAgICAiICAgIGZvdW5kID0gdHJ1ZTsgYnJlYWs7
IgotICAgICAgICAgICAgIiAgfSIKLSAgICAgICAgICAgICJ9IGZvdW5kIik7Ci0gICAgICAgIFFD
T01QQVJFKHJldC5zdHJpY3RseUVxdWFscyhRU2NyaXB0VmFsdWUoJmVuZywgZmFsc2UpKSwgdHJ1
ZSk7Ci0gICAgfQotICAgIC8vIHNob3VsZCBzdGlsbCBiZSB3cml0YWJsZQotICAgIGVuZy5ldmFs
dWF0ZSgib2JqZWN0LmRvbnRFbnVtUHJvcGVydHkgPSBvYmplY3QuZG9udEVudW1Qcm9wZXJ0eSAr
IDEiKTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVydHkoImRvbnRFbnVtUHJvcGVydHkiKS50
b051bWJlcigpLCBudW0udG9OdW1iZXIoKSArIDEpOwotICAgIC8vIHNob3VsZCBzdGlsbCBiZSBk
ZWxldGFibGUKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSByZXQgPSBlbmcuZXZhbHVhdGUo
ImRlbGV0ZSBvYmplY3QuZG9udEVudW1Qcm9wZXJ0eSIpOwotICAgICAgICBRQ09NUEFSRShyZXQu
c3RyaWN0bHlFcXVhbHMoUVNjcmlwdFZhbHVlKCZlbmcsIHRydWUpKSwgdHJ1ZSk7Ci0gICAgICAg
IFFDT01QQVJFKG9iamVjdC5wcm9wZXJ0eSgiZG9udEVudW1Qcm9wZXJ0eSIpLmlzVmFsaWQoKSwg
ZmFsc2UpOwotICAgIH0KLQotICAgIC8vIGNoYW5nZSBmbGFncwotICAgIG9iamVjdC5zZXRQcm9w
ZXJ0eSgiZmxhZ1Byb3BlcnR5Iiwgc3RyKTsKLSAgICAvLyBRQ09NUEFSRShvYmplY3QucHJvcGVy
dHlGbGFncygiZmxhZ1Byb3BlcnR5IiksIHN0YXRpY19jYXN0PFFTY3JpcHRWYWx1ZTo6UHJvcGVy
dHlGbGFncz4oMCkpOwotCi0gICAgb2JqZWN0LnNldFByb3BlcnR5KCJmbGFnUHJvcGVydHkiLCBz
dHIsIFFTY3JpcHRWYWx1ZTo6UmVhZE9ubHkpOwotICAgIC8vIFFDT01QQVJFKG9iamVjdC5wcm9w
ZXJ0eUZsYWdzKCJmbGFnUHJvcGVydHkiKSwgUVNjcmlwdFZhbHVlOjpSZWFkT25seSk7Ci0KLSAg
ICAvLyBvYmplY3Quc2V0UHJvcGVydHkoImZsYWdQcm9wZXJ0eSIsIHN0ciwgb2JqZWN0LnByb3Bl
cnR5RmxhZ3MoImZsYWdQcm9wZXJ0eSIpIHwgUVNjcmlwdFZhbHVlOjpTa2lwSW5FbnVtZXJhdGlv
bik7Ci0gICAgLy8gUUNPTVBBUkUob2JqZWN0LnByb3BlcnR5RmxhZ3MoImZsYWdQcm9wZXJ0eSIp
LCBRU2NyaXB0VmFsdWU6OlJlYWRPbmx5IHwgUVNjcmlwdFZhbHVlOjpTa2lwSW5FbnVtZXJhdGlv
bik7Ci0KLSAgICBvYmplY3Quc2V0UHJvcGVydHkoImZsYWdQcm9wZXJ0eSIsIHN0ciwgUVNjcmlw
dFZhbHVlOjpLZWVwRXhpc3RpbmdGbGFncyk7Ci0gICAgLy8gUUNPTVBBUkUob2JqZWN0LnByb3Bl
cnR5RmxhZ3MoImZsYWdQcm9wZXJ0eSIpLCBRU2NyaXB0VmFsdWU6OlJlYWRPbmx5IHwgUVNjcmlw
dFZhbHVlOjpTa2lwSW5FbnVtZXJhdGlvbik7Ci0KLSAgICBvYmplY3Quc2V0UHJvcGVydHkoImZs
YWdQcm9wZXJ0eSIsIHN0ciwgUVNjcmlwdFZhbHVlOjpVc2VyUmFuZ2UpOwotICAgIC8vIFFDT01Q
QVJFKG9iamVjdC5wcm9wZXJ0eUZsYWdzKCJmbGFnUHJvcGVydHkiKSwgUVNjcmlwdFZhbHVlOjpV
c2VyUmFuZ2UpOwotCi0gICAgLy8gZmxhZ3Mgb2YgcHJvcGVydHkgaW4gdGhlIHByb3RvdHlwZQot
ICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIG9iamVjdDIgPSBlbmcubmV3T2JqZWN0KCk7Ci0g
ICAgICAgIG9iamVjdDIuc2V0UHJvdG90eXBlKG9iamVjdCk7Ci0gICAgICAgIC8vIFFDT01QQVJF
KG9iamVjdDIucHJvcGVydHlGbGFncygiZmxhZ1Byb3BlcnR5IiwgUVNjcmlwdFZhbHVlOjpSZXNv
bHZlTG9jYWwpLCAwKTsKLSAgICAgICAgLy8gUUNPTVBBUkUob2JqZWN0Mi5wcm9wZXJ0eUZsYWdz
KCJmbGFnUHJvcGVydHkiKSwgUVNjcmlwdFZhbHVlOjpVc2VyUmFuZ2UpOwotICAgIH0KLQotICAg
IC8vIHVzaW5nIGludGVybmVkIHN0cmluZ3MKLSAgICBRU2NyaXB0U3RyaW5nIGZvbyA9IGVuZy50
b1N0cmluZ0hhbmRsZSgiZm9vIik7Ci0KLSAgICBvYmplY3Quc2V0UHJvcGVydHkoZm9vLCBRU2Ny
aXB0VmFsdWUoKSk7Ci0gICAgUVZFUklGWSghb2JqZWN0LnByb3BlcnR5KGZvbykuaXNWYWxpZCgp
KTsKLQotICAgIG9iamVjdC5zZXRQcm9wZXJ0eShmb28sIG51bSk7Ci0gICAgUVZFUklGWShvYmpl
Y3QucHJvcGVydHkoZm9vKS5zdHJpY3RseUVxdWFscyhudW0pKTsKLSAgICBRVkVSSUZZKG9iamVj
dC5wcm9wZXJ0eSgiZm9vIikuc3RyaWN0bHlFcXVhbHMobnVtKSk7Ci0gICAgLy8gUVZFUklGWShv
YmplY3QucHJvcGVydHlGbGFncyhmb28pID09IDApOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFs
dWU6OnRvU3RyaW5nU2ltcGxlX2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVN0cmlu
Zz4oImNvZGUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTdHJpbmc+KCJyZXN1bHQiKTsKLQot
ICAgIFFUZXN0OjpuZXdSb3coInN0cmluZyIpIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgiJ2hlbGxv
JyIpIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgiaGVsbG8iKTsKLSAgICBRVGVzdDo6bmV3Um93KCJz
dHJpbmcgdXRmIikgPDwgUVN0cmluZzo6ZnJvbVV0ZjgoIifEhcWbxIfFvMW6w7PFgsWExJknIikg
PDwgUVN0cmluZzo6ZnJvbVV0ZjgoIsSFxZvEh8W8xbrDs8WCxYTEmSIpOwotICAgIFFUZXN0Ojpu
ZXdSb3coImV4cHJlc3Npb24iKSA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoIjEgKyA0IikgPDwgUVN0
cmluZzo6ZnJvbUFzY2lpKCI1Iik7Ci0gICAgUVRlc3Q6Om5ld1JvdygibnVsbCIpIDw8IFFTdHJp
bmc6OmZyb21Bc2NpaSgibnVsbCIpIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgibnVsbCIpOwotICAg
IFFUZXN0OjpuZXdSb3coImJvb2xlYW4iKSA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoImZhbHNlIikg
PDwgUVN0cmluZzo6ZnJvbUFzY2lpKCJmYWxzZSIpOwotICAgIFFUZXN0OjpuZXdSb3coInVuZGVm
aW5lZCIpIDw8IFFTdHJpbmc6OmZyb21Bc2NpaSgidW5kZWZpbmVkIikgPDwgUVN0cmluZzo6ZnJv
bUFzY2lpKCJ1bmRlZmluZWQiKTsKLSAgICBRVGVzdDo6bmV3Um93KCJvYmplY3QiKSA8PCBRU3Ry
aW5nOjpmcm9tQXNjaWkoIm5ldyBPYmplY3QiKSA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoIltvYmpl
Y3QgT2JqZWN0XSIpOwotfQotCi0vKiBUZXN0IGNvbnZlcnNpb24gdG8gc3RyaW5nIGZyb20gZGlm
ZmVyZW50IEpTQyB0eXBlcyAqLwotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b1N0cmluZ1NpbXBs
ZSgpCi17Ci0gICAgUUZFVENIKFFTdHJpbmcsIGNvZGUpOwotICAgIFFGRVRDSChRU3RyaW5nLCBy
ZXN1bHQpOwotCi0gICAgUVNjcmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAgUUNPTVBBUkUoZW5naW5l
LmV2YWx1YXRlKGNvZGUpLnRvU3RyaW5nKCksIHJlc3VsdCk7Ci19Ci0KLXZvaWQgdHN0X1FTY3Jp
cHRWYWx1ZTo6Y29weUNvbnN0cnVjdG9yX2RhdGEoKQotewotICAgIFFTY3JpcHRFbmdpbmUgZW5n
aW5lOwotICAgIFFTY3JpcHRWYWx1ZSBubnVtYmVyKDEyMyk7Ci0gICAgUVNjcmlwdFZhbHVlIG5z
dHJpbmcoInBpbmciKTsKLSAgICBRU2NyaXB0VmFsdWUgbnVtYmVyKGVuZ2luZS5ldmFsdWF0ZSgi
MSIpKTsKLSAgICBRU2NyaXB0VmFsdWUgc3RyaW5nKGVuZ2luZS5ldmFsdWF0ZSgiJ2ZvbyciKSk7
Ci0gICAgUVNjcmlwdFZhbHVlIG9iamVjdChlbmdpbmUuZXZhbHVhdGUoIm5ldyBPYmplY3QiKSk7
Ci0gICAgUVNjcmlwdFZhbHVlIHVuZGVmaW5lZChlbmdpbmUuZXZhbHVhdGUoInVuZGVmaW5lZCIp
KTsKLSAgICBRU2NyaXB0VmFsdWUgbnVsbChlbmdpbmUuZXZhbHVhdGUoIm51bGwiKSk7Ci0KLSAg
ICBRVGVzdDo6YWRkQ29sdW1uPFFTY3JpcHRWYWx1ZT4oInZhbHVlIik7Ci0gICAgUVRlc3Q6OmFk
ZENvbHVtbjxRU3RyaW5nPigicmVzdWx0Iik7Ci0KLSAgICBRVGVzdDo6bmV3Um93KCJuYXRpdmUg
bnVtYmVyIikgPDwgbm51bWJlciA8PCBRU3RyaW5nOjpudW1iZXIoMTIzKTsKLSAgICBRVGVzdDo6
bmV3Um93KCJuYXRpdmUgc3RyaW5nIikgPDwgbnN0cmluZyA8PCBRU3RyaW5nKCJwaW5nIik7Ci0g
ICAgUVRlc3Q6Om5ld1JvdygibnVtYmVyIikgPDwgbnVtYmVyIDw8IFFTdHJpbmc6OmZyb21Bc2Np
aSgiMSIpOwotICAgIFFUZXN0OjpuZXdSb3coInN0cmluZyIpIDw8IHN0cmluZyA8PCBRU3RyaW5n
Ojpmcm9tQXNjaWkoImZvbyIpOwotICAgIFFUZXN0OjpuZXdSb3coIm9iamVjdCIpIDw8IG9iamVj
dCA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoIltvYmplY3QgT2JqZWN0XSIpOwotICAgIFFUZXN0Ojpu
ZXdSb3coInVuZGVmaW5lZCIpIDw8IHVuZGVmaW5lZCA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoInVu
ZGVmaW5lZCIpOwotICAgIFFUZXN0OjpuZXdSb3coIm51bGwiKSA8PCBudWxsIDw8IFFTdHJpbmc6
OmZyb21Bc2NpaSgibnVsbCIpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmNvcHlDb25z
dHJ1Y3RvcigpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAgIFFGRVRD
SChRU3RyaW5nLCByZXN1bHQpOwotCi0gICAgUVZFUklGWSh2YWx1ZS5pc1ZhbGlkKCkpOwotICAg
IFFTY3JpcHRWYWx1ZSB0bXAodmFsdWUpOwotICAgIFFWRVJJRlkodG1wLmlzVmFsaWQoKSk7Ci0g
ICAgUUNPTVBBUkUodG1wLnRvU3RyaW5nKCksIHJlc3VsdCk7Ci19Ci0KLXZvaWQgdHN0X1FTY3Jp
cHRWYWx1ZTo6YXNzaWduT3BlcmF0b3JfZGF0YSgpCi17Ci0gICAgY29weUNvbnN0cnVjdG9yX2Rh
dGEoKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjphc3NpZ25PcGVyYXRvcigpCi17Ci0g
ICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAgIFFGRVRDSChRU3RyaW5nLCByZXN1
bHQpOwotCi0gICAgUVNjcmlwdFZhbHVlIHRtcDsKLSAgICB0bXAgPSB2YWx1ZTsKLSAgICBRVkVS
SUZZKHRtcC5pc1ZhbGlkKCkpOwotICAgIFFDT01QQVJFKHRtcC50b1N0cmluZygpLCByZXN1bHQp
OwotfQotCi0vKiBUZXN0IGludGVybmFsIGRhdGEgc2hhcmluZyBiZXR3ZWVuIGEgZGlmZnJlbmV0
IFFTY3JpcHRWYWx1ZS4gKi8KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6ZGF0YVNoYXJpbmcoKQot
ewotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwotICAgIFFTY3JpcHRWYWx1ZSB2MTsKLSAgICBR
U2NyaXB0VmFsdWUgdjIodjEpOwotCi0gICAgdjEgPSBlbmdpbmUuZXZhbHVhdGUoIjEiKTsgLy8g
djEgPT0gMSA7IHYyIGludmFsaWQuCi0gICAgUVZFUklGWSh2MS5pc1ZhbGlkKCkpOwotICAgIFFW
RVJJRlkoIXYyLmlzVmFsaWQoKSk7Ci0KLSAgICB2MiA9IHYxOyAvLyB2MSA9PSAxOyB2MiA9PSAx
LgotICAgIFFWRVJJRlkodjEuaXNWYWxpZCgpKTsKLSAgICBRVkVSSUZZKHYyLmlzVmFsaWQoKSk7
Ci0KLSAgICB2MSA9IGVuZ2luZS5ldmFsdWF0ZSgib2JqID0gbmV3IERhdGUiKTsgLy8gdjEgPT0g
W29iamVjdCBEYXRlXSA7IHYyID09IDEuCi0gICAgUVZFUklGWSh2MS5pc1ZhbGlkKCkpOwotICAg
IFFWRVJJRlkodjIuaXNWYWxpZCgpKTsKLSAgICBRVkVSSUZZKHYyLnRvU3RyaW5nKCkgIT0gdjEu
dG9TdHJpbmcoKSk7Ci0KLSAgICAvLyBUT0RPIGFkZCBvYmplY3QgbWFuaXB1bGF0aW9uICh2MSBh
bmQgdjIgcG9pbnQgdG8gdGhlIHNhbWUgb2JqZWN0KS4KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZh
bHVlOjpjb25zdHJ1Y3RvcnNfZGF0YSgpCi17Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmdpbmU7Ci0K
LSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTY3JpcHRWYWx1ZT4oInZhbHVlIik7Ci0gICAgUVRlc3Q6
OmFkZENvbHVtbjxRU3RyaW5nPigic3RyaW5nIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxib29s
PigidmFsaWQiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGJvb2w+KCJvYmplY3QiKTsKLQotICAg
IFFUZXN0OjpuZXdSb3coImludmFsaWQiKSA8PCBRU2NyaXB0VmFsdWUoKSA8PCBRU3RyaW5nKCkg
PDwgZmFsc2UgPDwgZmFsc2U7Ci0gICAgUVRlc3Q6Om5ld1JvdygibnVtYmVyIikgPDwgUVNjcmlw
dFZhbHVlKC0yMSkgPDwgUVN0cmluZzo6bnVtYmVyKC0yMSkgPDwgdHJ1ZSA8PCBmYWxzZTsKLSAg
ICBRVGVzdDo6bmV3Um93KCJib29sIikgPDwgUVNjcmlwdFZhbHVlKHRydWUpIDw8IFFTdHJpbmc6
OmZyb21Bc2NpaSgidHJ1ZSIpIDw8IHRydWUgPDwgZmFsc2U7Ci0gICAgUVRlc3Q6Om5ld1Jvdygi
ZG91YmxlIikgPDwgUVNjcmlwdFZhbHVlKDIxLjEyKSA8PCBRU3RyaW5nOjpudW1iZXIoMjEuMTIp
IDw8IHRydWUgPDwgZmFsc2U7Ci0gICAgUVRlc3Q6Om5ld1Jvdygic3RyaW5nIikgPDwgUVNjcmlw
dFZhbHVlKCJBbGFNYUtvdGEiKSA8PCBRU3RyaW5nOjpmcm9tQXNjaWkoIkFsYU1hS290YSIpIDw8
IHRydWUgPDwgZmFsc2U7Ci0gICAgUVRlc3Q6Om5ld1Jvdygib2JqZWN0IikgPDwgZW5naW5lLmV2
YWx1YXRlKCJuZXcgT2JqZWN0IikgPDwgUVN0cmluZzo6ZnJvbUFzY2lpKCJbb2JqZWN0IE9iamVj
dF0iKSA8PCB0cnVlIDw8IHRydWU7Ci0gICAgUVRlc3Q6Om5ld1JvdygibnVsbCIpIDw8IFFTY3Jp
cHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSk8PCBRU3RyaW5nOjpmcm9tQXNjaWkoIm51
bGwiKSA8PCB0cnVlIDw8IGZhbHNlOwotICAgIFFUZXN0OjpuZXdSb3coInVuZGVmIikgPDwgUVNj
cmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpPDwgUVN0cmluZzo6ZnJvbUFz
Y2lpKCJ1bmRlZmluZWQiKSA8PCB0cnVlIDw8IGZhbHNlOwotfQotCi12b2lkIHRzdF9RU2NyaXB0
VmFsdWU6OmNvbnN0cnVjdG9ycygpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUp
OwotICAgIFFGRVRDSChRU3RyaW5nLCBzdHJpbmcpOwotICAgIFFGRVRDSChib29sLCB2YWxpZCk7
Ci0gICAgUUZFVENIKGJvb2wsIG9iamVjdCk7Ci0KLSAgICBRQ09NUEFSRSh2YWx1ZS5pc1ZhbGlk
KCksIHZhbGlkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS50b1N0cmluZygpLCBzdHJpbmcpOwotICAg
IFFDT01QQVJFKHZhbHVlLmlzT2JqZWN0KCksIG9iamVjdCk7Ci19Ci0KLXZvaWQgdHN0X1FTY3Jp
cHRWYWx1ZTo6Y2FsbCgpCi17Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAgUVNjcmlw
dFZhbHVlIHBpbmcgPSBlbmdpbmUuZXZhbHVhdGUoIiggZnVuY3Rpb24oKSB7cmV0dXJuICdwaW5n
Jzt9ICkiKTsKLSAgICBRU2NyaXB0VmFsdWUgaW5jciA9IGVuZ2luZS5ldmFsdWF0ZSgiKCBmdW5j
dGlvbihpKSB7cmV0dXJuIGkgKyAxO30gKSIpOwotICAgIFFTY3JpcHRWYWx1ZSBvbmUoMSk7Ci0g
ICAgUVNjcmlwdFZhbHVlIGZpdmUoNSk7Ci0gICAgUVNjcmlwdFZhbHVlIHJlc3VsdDsKLQotICAg
IFFWRVJJRlkob25lLmlzVmFsaWQoKSk7Ci0gICAgUVZFUklGWShmaXZlLmlzVmFsaWQoKSk7Ci0K
LSAgICBRVkVSSUZZKHBpbmcuaXNWYWxpZCgpKTsKLSAgICBRVkVSSUZZKHBpbmcuaXNGdW5jdGlv
bigpKTsKLSAgICByZXN1bHQgPSBwaW5nLmNhbGwoKTsKLSAgICBRVkVSSUZZKHJlc3VsdC5pc1Zh
bGlkKCkpOwotICAgIFFDT01QQVJFKHJlc3VsdC50b1N0cmluZygpLCBRU3RyaW5nOjpmcm9tVXRm
OCgicGluZyIpKTsKLQotICAgIFFWRVJJRlkoaW5jci5pc1ZhbGlkKCkpOwotICAgIFFWRVJJRlko
aW5jci5pc0Z1bmN0aW9uKCkpOwotICAgIHJlc3VsdCA9IGluY3IuY2FsbChRU2NyaXB0VmFsdWUo
KSwgUVNjcmlwdFZhbHVlTGlzdCgpIDw8IG9uZSk7Ci0gICAgUVZFUklGWShyZXN1bHQuaXNWYWxp
ZCgpKTsKLSAgICBRQ09NUEFSRShyZXN1bHQudG9TdHJpbmcoKSwgUVN0cmluZygiMiIpKTsKLQot
ICAgIFFDT01QQVJFKGluY3IuY2FsbChRU2NyaXB0VmFsdWUoKSwgUVNjcmlwdFZhbHVlTGlzdCgp
IDw8IGZpdmUpLnRvU3RyaW5nKCksIFFTdHJpbmc6OmZyb21Bc2NpaSgiNiIpKTsKLQotICAgIFFW
RVJJRlkoaW5jci5jYWxsKCkuaXNWYWxpZCgpKTsgLy8gRXhjZXB0aW9uLgotfQotCi12b2lkIHRz
dF9RU2NyaXB0VmFsdWU6OmdldFNldFByb3RvdHlwZSgpCi17Ci0gICAgUVNjcmlwdEVuZ2luZSBl
bmdpbmU7Ci0gICAgUVNjcmlwdFZhbHVlIG9iamVjdCA9IGVuZ2luZS5ldmFsdWF0ZSgibmV3IE9i
amVjdCgpIik7Ci0gICAgUVNjcmlwdFZhbHVlIG9iamVjdDIgPSBlbmdpbmUuZXZhbHVhdGUoIm5l
dyBPYmplY3QoKSIpOwotICAgIG9iamVjdDIuc2V0UHJvdG90eXBlKG9iamVjdCk7Ci0gICAgUUNP
TVBBUkUob2JqZWN0Mi5wcm90b3R5cGUoKS5zdHJpY3RseUVxdWFscyhvYmplY3QpLCB0cnVlKTsK
LQotICAgIFFTY3JpcHRWYWx1ZSBpbnY7Ci0gICAgaW52LnNldFByb3RvdHlwZShvYmplY3QpOwot
ICAgIFFDT01QQVJFKGludi5wcm90b3R5cGUoKS5pc1ZhbGlkKCksIGZhbHNlKTsKLQotICAgIFFT
Y3JpcHRFbmdpbmUgb3RoZXJFbmdpbmU7Ci0gICAgUVNjcmlwdFZhbHVlIG9iamVjdDMgPSBvdGhl
ckVuZ2luZS5ldmFsdWF0ZSgibmV3IE9iamVjdCgpIik7Ci0gICAgUVRlc3Q6Omlnbm9yZU1lc3Nh
Z2UoUXRXYXJuaW5nTXNnLCAiUVNjcmlwdFZhbHVlOjpzZXRQcm90b3R5cGUoKSBmYWlsZWQ6IGNh
bm5vdCBzZXQgYSBwcm90b3R5cGUgY3JlYXRlZCBpbiBhIGRpZmZlcmVudCBlbmdpbmUiKTsKLSAg
ICBvYmplY3QyLnNldFByb3RvdHlwZShvYmplY3QzKTsKLSAgICBRQ09NUEFSRShvYmplY3QyLnBy
b3RvdHlwZSgpLnN0cmljdGx5RXF1YWxzKG9iamVjdCksIHRydWUpOwotCi0gICAgLy8gY3ljbGlj
IHByb3RvdHlwZXMKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSByZXQgPSBlbmdpbmUuZXZh
bHVhdGUoIm8gPSB7IH07IHAgPSB7IH07IG8uX19wcm90b19fID0gcDsgcC5fX3Byb3RvX18gPSBv
Iik7Ci0gICAgICAgIFFDT01QQVJFKHJldC5pc0Vycm9yKCksIHRydWUpOwotICAgICAgICBRQ09N
UEFSRShyZXQudG9TdHJpbmcoKSwgUUxhdGluMVN0cmluZygiRXJyb3I6IGN5Y2xpYyBfX3Byb3Rv
X18gdmFsdWUiKSk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgUVNjcmlwdFZhbHVlIHJldCA9IGVu
Z2luZS5ldmFsdWF0ZSgicC5fX3Byb3RvX18gPSB7IH0iKTsKLSAgICAgICAgUUNPTVBBUkUocmV0
LmlzRXJyb3IoKSwgZmFsc2UpOwotICAgIH0KLQotICAgIFFTY3JpcHRWYWx1ZSBvbGQgPSBvYmpl
Y3QucHJvdG90eXBlKCk7Ci0gICAgUVRlc3Q6Omlnbm9yZU1lc3NhZ2UoUXRXYXJuaW5nTXNnLCAi
UVNjcmlwdFZhbHVlOjpzZXRQcm90b3R5cGUoKSBmYWlsZWQ6IGN5Y2xpYyBwcm90b3R5cGUgdmFs
dWUiKTsKLSAgICBvYmplY3Quc2V0UHJvdG90eXBlKG9iamVjdCk7Ci0gICAgUUNPTVBBUkUob2Jq
ZWN0LnByb3RvdHlwZSgpLnN0cmljdGx5RXF1YWxzKG9sZCksIHRydWUpOwotCi0gICAgb2JqZWN0
Mi5zZXRQcm90b3R5cGUob2JqZWN0KTsKLSAgICBRVGVzdDo6aWdub3JlTWVzc2FnZShRdFdhcm5p
bmdNc2csICJRU2NyaXB0VmFsdWU6OnNldFByb3RvdHlwZSgpIGZhaWxlZDogY3ljbGljIHByb3Rv
dHlwZSB2YWx1ZSIpOwotICAgIG9iamVjdC5zZXRQcm90b3R5cGUob2JqZWN0Mik7Ci0gICAgUUNP
TVBBUkUob2JqZWN0LnByb3RvdHlwZSgpLnN0cmljdGx5RXF1YWxzKG9sZCksIHRydWUpOwotfQot
Ci12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvT2JqZWN0U2ltcGxlKCkKLXsKLSAgICBRU2NyaXB0
RW5naW5lIGVuZzsKLQotICAgIFFTY3JpcHRWYWx1ZSB1bmRlZmluZWQgPSBlbmcudW5kZWZpbmVk
VmFsdWUoKTsKLSAgICBRQ09NUEFSRSh1bmRlZmluZWQudG9PYmplY3QoKS5pc1ZhbGlkKCksIGZh
bHNlKTsKLSAgICBRU2NyaXB0VmFsdWUgbnVsbCA9IGVuZy5udWxsVmFsdWUoKTsKLSAgICBRQ09N
UEFSRShudWxsLnRvT2JqZWN0KCkuaXNWYWxpZCgpLCBmYWxzZSk7Ci0gICAgUUNPTVBBUkUoUVNj
cmlwdFZhbHVlKCkudG9PYmplY3QoKS5pc1ZhbGlkKCksIGZhbHNlKTsKLQotICAgIFFTY3JpcHRW
YWx1ZSBmYWxza3QgPSBRU2NyaXB0VmFsdWUoJmVuZywgZmFsc2UpOwotICAgIHsKLSAgICAgICAg
UVNjcmlwdFZhbHVlIHRtcCA9IGZhbHNrdC50b09iamVjdCgpOwotICAgICAgICBRQ09NUEFSRSh0
bXAuaXNPYmplY3QoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGZhbHNrdC5pc09iamVjdCgp
LCBmYWxzZSk7Ci0gICAgICAgIFFDT01QQVJFKHRtcC50b051bWJlcigpLCBmYWxza3QudG9OdW1i
ZXIoKSk7Ci0gICAgfQotCi0gICAgUVNjcmlwdFZhbHVlIHNhbnQgPSBRU2NyaXB0VmFsdWUoJmVu
ZywgdHJ1ZSk7Ci0gICAgewotICAgICAgICBRU2NyaXB0VmFsdWUgdG1wID0gc2FudC50b09iamVj
dCgpOwotICAgICAgICBRQ09NUEFSRSh0bXAuaXNPYmplY3QoKSwgdHJ1ZSk7Ci0gICAgICAgIFFD
T01QQVJFKHNhbnQuaXNPYmplY3QoKSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRSh0bXAudG9O
dW1iZXIoKSwgc2FudC50b051bWJlcigpKTsKLSAgICB9Ci0KLSAgICBRU2NyaXB0VmFsdWUgbnVt
YmVyID0gUVNjcmlwdFZhbHVlKCZlbmcsIDEyMy4wKTsKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRW
YWx1ZSB0bXAgPSBudW1iZXIudG9PYmplY3QoKTsKLSAgICAgICAgUUNPTVBBUkUodG1wLmlzT2Jq
ZWN0KCksIHRydWUpOwotICAgICAgICBRQ09NUEFSRShudW1iZXIuaXNPYmplY3QoKSwgZmFsc2Up
OwotICAgICAgICBRQ09NUEFSRSh0bXAudG9OdW1iZXIoKSwgbnVtYmVyLnRvTnVtYmVyKCkpOwot
ICAgIH0KLQotICAgIFFTY3JpcHRWYWx1ZSBzdHIgPSBRU2NyaXB0VmFsdWUoJmVuZywgUVN0cmlu
ZygiY2lhbyIpKTsKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSB0bXAgPSBzdHIudG9PYmpl
Y3QoKTsKLSAgICAgICAgUUNPTVBBUkUodG1wLmlzT2JqZWN0KCksIHRydWUpOwotICAgICAgICBR
Q09NUEFSRShzdHIuaXNPYmplY3QoKSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRSh0bXAudG9T
dHJpbmcoKSwgc3RyLnRvU3RyaW5nKCkpOwotICAgIH0KLQotCi0gICAgUVNjcmlwdFZhbHVlIG9i
amVjdCA9IGVuZy5ldmFsdWF0ZSgibmV3IE9iamVjdCIpOwotICAgIHsKLSAgICAgICAgUVNjcmlw
dFZhbHVlIHRtcCA9IG9iamVjdC50b09iamVjdCgpOwotICAgICAgICBRVkVSSUZZKHRtcC5zdHJp
Y3RseUVxdWFscyhvYmplY3QpKTsKLSAgICAgICAgUUNPTVBBUkUodG1wLmlzT2JqZWN0KCksIHRy
dWUpOwotICAgIH0KLQotCi0gICAgLy8gVjIgY29uc3RydWN0b3JzOiBpbiB0aGlzIGNhc2UsIHlv
dSBoYXZlIHRvIHVzZSBRU2NyaXB0RW5naW5lOjp0b09iamVjdCgpCi0gICAgewotICAgICAgICBR
U2NyaXB0VmFsdWUgdW5kZWZpbmVkID0gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZp
bmVkVmFsdWUpOwotICAgICAgICBRVkVSSUZZKCF1bmRlZmluZWQudG9PYmplY3QoKS5pc1ZhbGlk
KCkpOwotICAgICAgICBRVkVSSUZZKCFlbmcudG9PYmplY3QodW5kZWZpbmVkKS5pc1ZhbGlkKCkp
OwotICAgICAgICBRVkVSSUZZKCF1bmRlZmluZWQuZW5naW5lKCkpOwotCi0gICAgICAgIFFTY3Jp
cHRWYWx1ZSBudWxsID0gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKTsKLSAg
ICAgICAgUVZFUklGWSghbnVsbC50b09iamVjdCgpLmlzVmFsaWQoKSk7Ci0gICAgICAgIFFWRVJJ
RlkoIWVuZy50b09iamVjdChudWxsKS5pc1ZhbGlkKCkpOwotICAgICAgICBRVkVSSUZZKCFudWxs
LmVuZ2luZSgpKTsKLQotICAgICAgICBRU2NyaXB0VmFsdWUgZmFsc2t0ID0gUVNjcmlwdFZhbHVl
KGZhbHNlKTsKLSAgICAgICAgUVZFUklGWSghZmFsc2t0LnRvT2JqZWN0KCkuaXNWYWxpZCgpKTsK
LSAgICAgICAgUUNPTVBBUkUoZmFsc2t0LmlzT2JqZWN0KCksIGZhbHNlKTsKLSAgICAgICAgUVZF
UklGWSghZmFsc2t0LmVuZ2luZSgpKTsKLSAgICAgICAgewotICAgICAgICAgICAgUVNjcmlwdFZh
bHVlIHRtcCA9IGVuZy50b09iamVjdChmYWxza3QpOwotICAgICAgICAgICAgUVZFUklGWSh0bXAu
aXNPYmplY3QoKSk7Ci0gICAgICAgICAgICBRVkVSSUZZKHRtcC50b0Jvb2woKSk7Ci0gICAgICAg
ICAgICBRVkVSSUZZKCFmYWxza3QuaXNPYmplY3QoKSk7Ci0gICAgICAgIH0KLQotICAgICAgICBR
U2NyaXB0VmFsdWUgc2FudCA9IFFTY3JpcHRWYWx1ZSh0cnVlKTsKLSAgICAgICAgUVZFUklGWSgh
c2FudC50b09iamVjdCgpLmlzVmFsaWQoKSk7Ci0gICAgICAgIFFDT01QQVJFKHNhbnQuaXNPYmpl
Y3QoKSwgZmFsc2UpOwotICAgICAgICBRVkVSSUZZKCFzYW50LmVuZ2luZSgpKTsKLSAgICAgICAg
ewotICAgICAgICAgICAgUVNjcmlwdFZhbHVlIHRtcCA9IGVuZy50b09iamVjdChzYW50KTsKLSAg
ICAgICAgICAgIFFWRVJJRlkodG1wLmlzT2JqZWN0KCkpOwotICAgICAgICAgICAgUVZFUklGWSh0
bXAudG9Cb29sKCkpOwotICAgICAgICAgICAgUVZFUklGWSghc2FudC5pc09iamVjdCgpKTsKLSAg
ICAgICAgfQotCi0gICAgICAgIFFTY3JpcHRWYWx1ZSBudW1iZXIgPSBRU2NyaXB0VmFsdWUoMTIz
LjApOwotICAgICAgICBRVkVSSUZZKCFudW1iZXIudG9PYmplY3QoKS5pc1ZhbGlkKCkpOwotICAg
ICAgICBRVkVSSUZZKCFudW1iZXIuZW5naW5lKCkpOwotICAgICAgICBRQ09NUEFSRShudW1iZXIu
aXNPYmplY3QoKSwgZmFsc2UpOwotICAgICAgICB7Ci0gICAgICAgICAgICBRU2NyaXB0VmFsdWUg
dG1wID0gZW5nLnRvT2JqZWN0KG51bWJlcik7Ci0gICAgICAgICAgICBRVkVSSUZZKHRtcC5pc09i
amVjdCgpKTsKLSAgICAgICAgICAgIFFDT01QQVJFKHRtcC50b0ludDMyKCksIG51bWJlci50b0lu
dDMyKCkpOwotICAgICAgICAgICAgUVZFUklGWSghbnVtYmVyLmlzT2JqZWN0KCkpOwotICAgICAg
ICB9Ci0KLSAgICAgICAgUVNjcmlwdFZhbHVlIHN0ciA9IFFTY3JpcHRWYWx1ZShRU3RyaW5nOjpm
cm9tTGF0aW4xKCJjaWFvIikpOwotICAgICAgICBRVkVSSUZZKCFzdHIudG9PYmplY3QoKS5pc1Zh
bGlkKCkpOwotICAgICAgICBRVkVSSUZZKCFzdHIuZW5naW5lKCkpOwotICAgICAgICBRQ09NUEFS
RShzdHIuaXNPYmplY3QoKSwgZmFsc2UpOwotICAgICAgICB7Ci0gICAgICAgICAgICBRU2NyaXB0
VmFsdWUgdG1wID0gZW5nLnRvT2JqZWN0KHN0cik7Ci0gICAgICAgICAgICBRVkVSSUZZKHRtcC5p
c09iamVjdCgpKTsKLSAgICAgICAgICAgIFFDT01QQVJFKHRtcC50b1N0cmluZygpLCBRU3RyaW5n
Ojpmcm9tTGF0aW4xKCJjaWFvIikpOwotICAgICAgICAgICAgUVZFUklGWSghc3RyLmlzT2JqZWN0
KCkpOwotICAgICAgICB9Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnNldFBy
b3BlcnR5X2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVNjcmlwdFZhbHVlPigicHJv
cGVydHkiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGludD4oImZsYWciKTsKLQotICAgIFFUZXN0
OjpuZXdSb3coImludCArIGtlZXBFeGlzdGluZ0ZsYWdzIikgPDwgUVNjcmlwdFZhbHVlKDEyMzQ1
NikgPDwgc3RhdGljX2Nhc3Q8aW50PihRU2NyaXB0VmFsdWU6OktlZXBFeGlzdGluZ0ZsYWdzKTsK
LSAgICBRVGVzdDo6bmV3Um93KCJpbnQgKyB1bmRlbGV0YWJsZSIpIDw8IFFTY3JpcHRWYWx1ZSgx
MjM0NTYpIDw8IHN0YXRpY19jYXN0PGludD4oUVNjcmlwdFZhbHVlOjpVbmRlbGV0YWJsZSk7Ci0g
ICAgUVRlc3Q6Om5ld1JvdygiaW50ICsgcmVhZE9ubHkiKSA8PCBRU2NyaXB0VmFsdWUoMTIzNDU2
KSA8PCBzdGF0aWNfY2FzdDxpbnQ+KFFTY3JpcHRWYWx1ZTo6UmVhZE9ubHkpOwotICAgIFFUZXN0
OjpuZXdSb3coImludCArIHJlYWRPbmx5fHVuZGVsZXRhYmxlIikgPDwgUVNjcmlwdFZhbHVlKDEy
MzQ1NikgPDwgc3RhdGljX2Nhc3Q8aW50PihRU2NyaXB0VmFsdWU6OlJlYWRPbmx5IHwgUVNjcmlw
dFZhbHVlOjpVbmRlbGV0YWJsZSk7Ci0gICAgUVRlc3Q6Om5ld1JvdygiaW50ICsgc2tpcEluRW51
bWVyYXRpb24iKSA8PCBRU2NyaXB0VmFsdWUoMTIzNDU2KSA8PCBzdGF0aWNfY2FzdDxpbnQ+KFFT
Y3JpcHRWYWx1ZTo6U2tpcEluRW51bWVyYXRpb24pOwotICAgIFFUZXN0OjpuZXdSb3coImludCAr
IHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5IikgPDwgUVNjcmlwdFZhbHVlKDEyMzQ1NikgPDwg
c3RhdGljX2Nhc3Q8aW50PihRU2NyaXB0VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uIHwgUVNjcmlw
dFZhbHVlOjpSZWFkT25seSk7Ci0gICAgUVRlc3Q6Om5ld1JvdygiaW50ICsgc2tpcEluRW51bWVy
YXRpb258dW5kZWxldGFibGUiKSA8PCBRU2NyaXB0VmFsdWUoMTIzNDU2KSA8PCBzdGF0aWNfY2Fz
dDxpbnQ+KFFTY3JpcHRWYWx1ZTo6U2tpcEluRW51bWVyYXRpb24gfCBRU2NyaXB0VmFsdWU6OlVu
ZGVsZXRhYmxlKTsKLSAgICBRVGVzdDo6bmV3Um93KCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxy
ZWFkT25seXx1bmRlbGV0YWJsZSIpIDw8IFFTY3JpcHRWYWx1ZSgxMjM0NTYpIDw8IHN0YXRpY19j
YXN0PGludD4oUVNjcmlwdFZhbHVlOjpTa2lwSW5FbnVtZXJhdGlvbiB8IFFTY3JpcHRWYWx1ZTo6
UmVhZE9ubHkgfCBRU2NyaXB0VmFsdWU6OlVuZGVsZXRhYmxlKTsKLX0KLQotdm9pZCB0c3RfUVNj
cmlwdFZhbHVlOjpzZXRQcm9wZXJ0eSgpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgcHJv
cGVydHkpOwotICAgIFFGRVRDSChpbnQsIGZsYWcpOwotICAgIFFTY3JpcHRWYWx1ZTo6UHJvcGVy
dHlGbGFncyBmbGFncyA9IHN0YXRpY19jYXN0PFFTY3JpcHRWYWx1ZTo6UHJvcGVydHlGbGFnPihm
bGFnKTsKLQotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwotICAgIFFTY3JpcHRWYWx1ZSBvYmpl
Y3QgPSBlbmdpbmUuZXZhbHVhdGUoIm8gPSBuZXcgT2JqZWN0OyBvIik7Ci0gICAgUVNjcmlwdFZh
bHVlIHByb3RvID0gZW5naW5lLmV2YWx1YXRlKCJwID0gbmV3IE9iamVjdDsgby5fX3Byb3RvX18g
PSBwOyBwIik7Ci0gICAgZW5naW5lLmV2YWx1YXRlKCJvLmRlZmluZWQxID0gMSIpOwotICAgIGVu
Z2luZS5ldmFsdWF0ZSgiby5kZWZpbmVkMiA9IDEiKTsKLSAgICBlbmdpbmUuZXZhbHVhdGUoIm9b
NV0gPSAxIik7Ci0gICAgZW5naW5lLmV2YWx1YXRlKCJwLm92ZXJsb2FkZWQxID0gMSIpOwotICAg
IGVuZ2luZS5ldmFsdWF0ZSgiby5vdmVybG9hZGVkMSA9IDIiKTsKLSAgICBlbmdpbmUuZXZhbHVh
dGUoInBbNl0gPSAxIik7Ci0gICAgZW5naW5lLmV2YWx1YXRlKCJvWzZdID0gMiIpOwotICAgIGVu
Z2luZS5ldmFsdWF0ZSgicC5vdmVybG9hZGVkMiA9IDEiKTsKLSAgICBlbmdpbmUuZXZhbHVhdGUo
Im8ub3ZlcmxvYWRlZDIgPSAyIik7Ci0gICAgZW5naW5lLmV2YWx1YXRlKCJwLm92ZXJsb2FkZWQz
ID0gMSIpOwotICAgIGVuZ2luZS5ldmFsdWF0ZSgiby5vdmVybG9hZGVkMyA9IDIiKTsKLSAgICBl
bmdpbmUuZXZhbHVhdGUoInBbN10gPSAxIik7Ci0gICAgZW5naW5lLmV2YWx1YXRlKCJvWzddID0g
MiIpOwotICAgIGVuZ2luZS5ldmFsdWF0ZSgicC5vdmVybG9hZGVkNCA9IDEiKTsKLSAgICBlbmdp
bmUuZXZhbHVhdGUoIm8ub3ZlcmxvYWRlZDQgPSAyIik7Ci0KLSAgICAvLyB0cmllcyB0byBzZXQg
dW5kZWZpbmVkIHByb3BlcnR5IGRpcmVjdGx5IG9uIG9iamVjdC4KLSAgICBvYmplY3Quc2V0UHJv
cGVydHkoUVN0cmluZzo6ZnJvbUFzY2lpKCJ1bmRlZmluZWQxIiksIHByb3BlcnR5LCBmbGFncyk7
Ci0gICAgUVZFUklGWShlbmdpbmUuZXZhbHVhdGUoIm8udW5kZWZpbmVkMSIpLnN0cmljdGx5RXF1
YWxzKHByb3BlcnR5KSk7Ci0gICAgb2JqZWN0LnNldFByb3BlcnR5KGVuZ2luZS50b1N0cmluZ0hh
bmRsZSgidW5kZWZpbmVkMiIpLCBwcm9wZXJ0eSwgZmxhZ3MpOwotICAgIFFWRVJJRlkob2JqZWN0
LnByb3BlcnR5KCJ1bmRlZmluZWQyIikuc3RyaWN0bHlFcXVhbHMocHJvcGVydHkpKTsKLSAgICBv
YmplY3Quc2V0UHJvcGVydHkoNCwgcHJvcGVydHksIGZsYWdzKTsKLSAgICBRVkVSSUZZKG9iamVj
dC5wcm9wZXJ0eSg0KS5zdHJpY3RseUVxdWFscyhwcm9wZXJ0eSkpOwotCi0gICAgLy8gdHJpZXMg
dG8gc2V0IGRlZmluZWQgcHJvcGVydHkgZGlyZWN0bHkgb24gb2JqZWN0Ci0gICAgb2JqZWN0LnNl
dFByb3BlcnR5KCJkZWZpbmVkMSIsIHByb3BlcnR5LCBmbGFncyk7Ci0gICAgUVZFUklGWShlbmdp
bmUuZXZhbHVhdGUoIm8uZGVmaW5lZDEiKS5zdHJpY3RseUVxdWFscyhwcm9wZXJ0eSkpOwotICAg
IG9iamVjdC5zZXRQcm9wZXJ0eShlbmdpbmUudG9TdHJpbmdIYW5kbGUoImRlZmluZWQyIiksIHBy
b3BlcnR5LCBmbGFncyk7Ci0gICAgUVZFUklGWShvYmplY3QucHJvcGVydHkoImRlZmluZWQyIiku
c3RyaWN0bHlFcXVhbHMocHJvcGVydHkpKTsKLSAgICBvYmplY3Quc2V0UHJvcGVydHkoNSwgcHJv
cGVydHksIGZsYWdzKTsKLSAgICBRVkVSSUZZKG9iamVjdC5wcm9wZXJ0eSg1KS5zdHJpY3RseUVx
dWFscyhwcm9wZXJ0eSkpOwotCi0gICAgLy8gdHJpZXMgdG8gc2V0IG92ZXJsb2FkZWQgcHJvcGVy
dHkgZGlyZWN0bHkgb24gb2JqZWN0Ci0gICAgb2JqZWN0LnNldFByb3BlcnR5KCJvdmVybG9hZGVk
MSIsIHByb3BlcnR5LCBmbGFncyk7Ci0gICAgUVZFUklGWShlbmdpbmUuZXZhbHVhdGUoIm8ub3Zl
cmxvYWRlZDEiKS5zdHJpY3RseUVxdWFscyhwcm9wZXJ0eSkpOwotICAgIG9iamVjdC5zZXRQcm9w
ZXJ0eShlbmdpbmUudG9TdHJpbmdIYW5kbGUoIm92ZXJsb2FkZWQyIiksIHByb3BlcnR5LCBmbGFn
cyk7Ci0gICAgUVZFUklGWShvYmplY3QucHJvcGVydHkoIm92ZXJsb2FkZWQyIikuc3RyaWN0bHlF
cXVhbHMocHJvcGVydHkpKTsKLSAgICBvYmplY3Quc2V0UHJvcGVydHkoNiwgcHJvcGVydHksIGZs
YWdzKTsKLSAgICBRVkVSSUZZKG9iamVjdC5wcm9wZXJ0eSg2KS5zdHJpY3RseUVxdWFscyhwcm9w
ZXJ0eSkpOwotCi0gICAgLy8gdHJpZXMgdG8gc2V0IG92ZXJsb2FkZWQgcHJvcGVydHkgZGlyZWN0
bHkgb24gcHJvdG90eXBlCi0gICAgcHJvdG8uc2V0UHJvcGVydHkoIm92ZXJsb2FkZWQzIiwgcHJv
cGVydHksIGZsYWdzKTsKLSAgICBRVkVSSUZZKCFlbmdpbmUuZXZhbHVhdGUoIm8ub3ZlcmxvYWRl
ZDMiKS5zdHJpY3RseUVxdWFscyhwcm9wZXJ0eSkpOwotICAgIHByb3RvLnNldFByb3BlcnR5KGVu
Z2luZS50b1N0cmluZ0hhbmRsZSgib3ZlcmxvYWRlZDQiKSwgcHJvcGVydHksIGZsYWdzKTsKLSAg
ICBRVkVSSUZZKCFvYmplY3QucHJvcGVydHkoIm92ZXJsb2FkZWQ0Iikuc3RyaWN0bHlFcXVhbHMo
cHJvcGVydHkpKTsKLSAgICBwcm90by5zZXRQcm9wZXJ0eSg3LCBwcm9wZXJ0eSwgZmxhZ3MpOwot
ICAgIFFWRVJJRlkoIW9iamVjdC5wcm9wZXJ0eSg3KS5zdHJpY3RseUVxdWFscyhwcm9wZXJ0eSkp
OwotCi0gICAgLy8gdHJpZXMgdG8gc2V0IHVuZGVmaW5lZCBwcm9wZXJ0eSBkaXJlY3RseSBvbiBw
cm90b3R5cGUKLSAgICBwcm90by5zZXRQcm9wZXJ0eSgidW5kZWZpbmVkMyIsIHByb3BlcnR5LCBm
bGFncyk7Ci0gICAgUVZFUklGWShlbmdpbmUuZXZhbHVhdGUoIm8udW5kZWZpbmVkMyIpLnN0cmlj
dGx5RXF1YWxzKHByb3BlcnR5KSk7Ci0gICAgcHJvdG8uc2V0UHJvcGVydHkoZW5naW5lLnRvU3Ry
aW5nSGFuZGxlKCJ1bmRlZmluZWQ0IiksIHByb3BlcnR5LCBmbGFncyk7Ci0gICAgUVZFUklGWShv
YmplY3QucHJvcGVydHkoInVuZGVmaW5lZDQiKS5zdHJpY3RseUVxdWFscyhwcm9wZXJ0eSkpOwot
ICAgIHByb3RvLnNldFByb3BlcnR5KDgsIHByb3BlcnR5LCBmbGFncyk7Ci0gICAgUVZFUklGWShv
YmplY3QucHJvcGVydHkoOCkuc3RyaWN0bHlFcXVhbHMocHJvcGVydHkpKTsKLQotICAgIGJvb2wg
cmVhZE9ubHkgPSBmbGFncyAmIFFTY3JpcHRWYWx1ZTo6UmVhZE9ubHk7Ci0gICAgYm9vbCBza2lw
SW5FbnVtZXJhdGlvbiA9IGZsYWdzICYgUVNjcmlwdFZhbHVlOjpTa2lwSW5FbnVtZXJhdGlvbjsK
LSAgICBib29sIHVuZGVsZXRhYmxlID0gZmxhZ3MgJiBRU2NyaXB0VmFsdWU6OlVuZGVsZXRhYmxl
OwotCi0gICAgUVZFUklGWShyZWFkT25seSA9PSBlbmdpbmUuZXZhbHVhdGUoIiFPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICc0Jykud3JpdGFibGUiKS50b0Jvb2woKSk7Ci0gICAg
UUVYUEVDVF9GQUlMKCJpbnQgKyByZWFkT25seSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpT
T2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29u
dGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgcmVhZE9ubHl8dW5kZWxldGFibGUiLCAi
V2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3Zlcndy
aXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCAr
IHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5IiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNP
YmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250
aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxyZWFkT25s
eXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVy
dHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFW
RVJJRlkocmVhZE9ubHkgPT0gZW5naW5lLmV2YWx1YXRlKCIhT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihvLCAnNScpLndyaXRhYmxlIikudG9Cb29sKCkpOwotICAgIFFFWFBFQ1RfRkFJ
TCgiaW50ICsgcmVhZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFBy
b3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAg
ICBRRVhQRUNUX0ZBSUwoImludCArIHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6
IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0
eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVt
ZXJhdGlvbnxyZWFkT25seSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJv
cGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAg
IFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258cmVhZE9ubHl8dW5kZWxldGFi
bGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qg
b3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRVkVSSUZZKHJlYWRP
bmx5ID09IGVuZ2luZS5ldmFsdWF0ZSgiIU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
bywgJzYnKS53cml0YWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHJl
YWRPbmx5IiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vz
bid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9G
QUlMKCJpbnQgKyByZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhl
IEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwg
Q29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258cmVh
ZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNu
J3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZB
SUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktp
dCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBw
cm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUVZFUklGWShyZWFkT25seSA9PSBlbmdp
bmUuZXZhbHVhdGUoIiFPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHAsICc3Jykud3Jp
dGFibGUiKS50b0Jvb2woKSk7Ci0gICAgUVZFUklGWShyZWFkT25seSA9PSBlbmdpbmUuZXZhbHVh
dGUoIiFPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHAsICc4Jykud3JpdGFibGUiKS50
b0Jvb2woKSk7Ci0gICAgUVZFUklGWShyZWFkT25seSA9PSBlbmdpbmUuZXZhbHVhdGUoIiFPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICd1bmRlZmluZWQxJykud3JpdGFibGUiKS50
b0Jvb2woKSk7Ci0gICAgUVZFUklGWShyZWFkT25seSA9PSBlbmdpbmUuZXZhbHVhdGUoIiFPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICd1bmRlZmluZWQyJykud3JpdGFibGUiKS50
b0Jvb2woKSk7Ci0gICAgUVZFUklGWShyZWFkT25seSA9PSBlbmdpbmUuZXZhbHVhdGUoIiFPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHAsICd1bmRlZmluZWQzJykud3JpdGFibGUiKS50
b0Jvb2woKSk7Ci0gICAgUVZFUklGWShyZWFkT25seSA9PSBlbmdpbmUuZXZhbHVhdGUoIiFPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHAsICd1bmRlZmluZWQ0Jykud3JpdGFibGUiKS50
b0Jvb2woKSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyByZWFkT25seSIsICJXZWJLaXQgYnVn
OiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVy
dHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgcmVhZE9ubHl8
dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5
IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQ
RUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5IiwgIldlYktpdCBidWc6
IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0
eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVt
ZXJhdGlvbnxyZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpT
T2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29u
dGludWUpOwotICAgIFFWRVJJRlkocmVhZE9ubHkgPT0gZW5naW5lLmV2YWx1YXRlKCIhT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAnZGVmaW5lZDEnKS53cml0YWJsZSIpLnRvQm9v
bCgpKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHJlYWRPbmx5IiwgIldlYktpdCBidWc6IDQw
NjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBm
bGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyByZWFkT25seXx1bmRl
bGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9l
c24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1Rf
RkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258cmVhZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2
MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZs
YWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0
aW9ufHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmpl
Y3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51
ZSk7Ci0gICAgUVZFUklGWShyZWFkT25seSA9PSBlbmdpbmUuZXZhbHVhdGUoIiFPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICdkZWZpbmVkMicpLndyaXRhYmxlIikudG9Cb29sKCkp
OwotICAgIFFWRVJJRlkoZW5naW5lLmV2YWx1YXRlKCIhT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihwLCAndW5kZWZpbmVkMScpLndyaXRhYmxlIikudG9Cb29sKCkpOwotICAgIFFWRVJJ
RlkoZW5naW5lLmV2YWx1YXRlKCIhT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwLCAn
dW5kZWZpbmVkMScpLndyaXRhYmxlIikudG9Cb29sKCkpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50
ICsgcmVhZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5
IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQ
RUNUX0ZBSUwoImludCArIHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEz
IChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFn
cykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlv
bnxyZWFkT25seSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkg
ZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBF
Q1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258cmVhZE9ubHl8dW5kZWxldGFibGUiLCAi
V2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3Zlcndy
aXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRVkVSSUZZKHJlYWRPbmx5ID09
IGVuZ2luZS5ldmFsdWF0ZSgiIU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocCwgJ292
ZXJsb2FkZWQzJykud3JpdGFibGUiKS50b0Jvb2woKSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQg
KyByZWFkT25seSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkg
ZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBF
Q1RfRkFJTCgiaW50ICsgcmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMg
KFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdz
KSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9u
fHJlYWRPbmx5IiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBk
b2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVD
VF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seXx1bmRlbGV0YWJsZSIsICJX
ZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3Jp
dGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFWRVJJRlkocmVhZE9ubHkgPT0g
ZW5naW5lLmV2YWx1YXRlKCIhT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwLCAnb3Zl
cmxvYWRlZDQnKS53cml0YWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCAr
IHJlYWRPbmx5IiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBk
b2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVD
VF9GQUlMKCJpbnQgKyByZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAo
VGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3Mp
IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258
cmVhZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRv
ZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNU
X0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldl
YktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0
ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUVZFUklGWShyZWFkT25seSA9PSBl
bmdpbmUuZXZhbHVhdGUoIiFPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICdvdmVy
bG9hZGVkMScpLndyaXRhYmxlIikudG9Cb29sKCkpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsg
cmVhZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRv
ZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNU
X0ZBSUwoImludCArIHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChU
aGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncyki
LCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxy
ZWFkT25seSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9l
c24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1Rf
RkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258cmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2Vi
S2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRl
IHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRVkVSSUZZKHJlYWRPbmx5ID09IGVu
Z2luZS5ldmFsdWF0ZSgiIU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgJ292ZXJs
b2FkZWQyJykud3JpdGFibGUiKS50b0Jvb2woKSk7Ci0gICAgUVZFUklGWSghZW5naW5lLmV2YWx1
YXRlKCIhT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAnb3ZlcmxvYWRlZDMnKS53
cml0YWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRVkVSSUZZKCFlbmdpbmUuZXZhbHVhdGUoIiFPYmpl
Y3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICdvdmVybG9hZGVkNCcpLndyaXRhYmxlIiku
dG9Cb29sKCkpOwotCi0gICAgUVZFUklGWSh1bmRlbGV0YWJsZSA9PSBlbmdpbmUuZXZhbHVhdGUo
IiFPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICc0JykuY29uZmlndXJhYmxlIiku
dG9Cb29sKCkpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgdW5kZWxldGFibGUiLCAiV2ViS2l0
IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHBy
b3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHJlYWRP
bmx5fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9w
ZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAg
UUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnx1bmRlbGV0YWJsZSIsICJXZWJL
aXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUg
cHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tp
cEluRW51bWVyYXRpb258cmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMg
KFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdz
KSIsIENvbnRpbnVlKTsKLSAgICBRVkVSSUZZKHVuZGVsZXRhYmxlID09IGVuZ2luZS5ldmFsdWF0
ZSgiIU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgJzUnKS5jb25maWd1cmFibGUi
KS50b0Jvb2woKSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyB1bmRlbGV0YWJsZSIsICJXZWJL
aXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUg
cHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgcmVh
ZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFBy
b3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAg
ICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHVuZGVsZXRhYmxlIiwgIldl
YktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0
ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBz
a2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYx
MyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxh
Z3MpIiwgQ29udGludWUpOwotICAgIFFWRVJJRlkodW5kZWxldGFibGUgPT0gZW5naW5lLmV2YWx1
YXRlKCIhT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAnNicpLmNvbmZpZ3VyYWJs
ZSIpLnRvQm9vbCgpKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHVuZGVsZXRhYmxlIiwgIldl
YktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0
ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBy
ZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0
UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwot
ICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258dW5kZWxldGFibGUiLCAi
V2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3Zlcndy
aXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCAr
IHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQw
NjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBm
bGFncykiLCBDb250aW51ZSk7Ci0gICAgUVZFUklGWSh1bmRlbGV0YWJsZSA9PSBlbmdpbmUuZXZh
bHVhdGUoIiFPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHAsICc3JykuY29uZmlndXJh
YmxlIikudG9Cb29sKCkpOwotICAgIFFWRVJJRlkodW5kZWxldGFibGUgPT0gZW5naW5lLmV2YWx1
YXRlKCIhT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwLCAnOCcpLmNvbmZpZ3VyYWJs
ZSIpLnRvQm9vbCgpKTsKLSAgICBRVkVSSUZZKHVuZGVsZXRhYmxlID09IGVuZ2luZS5ldmFsdWF0
ZSgiIU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgJ3VuZGVmaW5lZDEnKS5jb25m
aWd1cmFibGUiKS50b0Jvb2woKSk7Ci0gICAgUVZFUklGWSh1bmRlbGV0YWJsZSA9PSBlbmdpbmUu
ZXZhbHVhdGUoIiFPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICd1bmRlZmluZWQy
JykuY29uZmlndXJhYmxlIikudG9Cb29sKCkpOwotICAgIFFWRVJJRlkodW5kZWxldGFibGUgPT0g
ZW5naW5lLmV2YWx1YXRlKCIhT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwLCAndW5k
ZWZpbmVkMycpLmNvbmZpZ3VyYWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRVkVSSUZZKHVuZGVsZXRh
YmxlID09IGVuZ2luZS5ldmFsdWF0ZSgiIU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Io
cCwgJ3VuZGVmaW5lZDQnKS5jb25maWd1cmFibGUiKS50b0Jvb2woKSk7Ci0gICAgUUVYUEVDVF9G
QUlMKCJpbnQgKyB1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0
U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUp
OwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgcmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0
IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHBy
b3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJ
bkVudW1lcmF0aW9ufHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmpl
Y3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51
ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seXx1
bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkg
ZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFWRVJJ
RlkodW5kZWxldGFibGUgPT0gZW5naW5lLmV2YWx1YXRlKCIhT2JqZWN0LmdldE93blByb3BlcnR5
RGVzY3JpcHRvcihvLCAnZGVmaW5lZDEnKS5jb25maWd1cmFibGUiKS50b0Jvb2woKSk7Ci0gICAg
UUVYUEVDVF9GQUlMKCJpbnQgKyB1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhl
IEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwg
Q29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgcmVhZE9ubHl8dW5kZWxldGFibGUi
LCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3Zl
cndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImlu
dCArIHNraXBJbkVudW1lcmF0aW9ufHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChU
aGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncyki
LCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxy
ZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0
UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwot
ICAgIFFWRVJJRlkodW5kZWxldGFibGUgPT0gZW5naW5lLmV2YWx1YXRlKCIhT2JqZWN0LmdldE93
blByb3BlcnR5RGVzY3JpcHRvcihvLCAnZGVmaW5lZDInKS5jb25maWd1cmFibGUiKS50b0Jvb2wo
KSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyB1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0
MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkg
ZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgcmVhZE9ubHl8dW5k
ZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRv
ZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNU
X0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6
IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0
eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVt
ZXJhdGlvbnxyZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpT
T2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29u
dGludWUpOwotICAgIFFWRVJJRlkodW5kZWxldGFibGUgPT0gZW5naW5lLmV2YWx1YXRlKCIhT2Jq
ZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAnb3ZlcmxvYWRlZDEnKS5jb25maWd1cmFi
bGUiKS50b0Jvb2woKSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyB1bmRlbGV0YWJsZSIsICJX
ZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3Jp
dGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsg
cmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNl
dFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsK
LSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHVuZGVsZXRhYmxlIiwg
IldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3
cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQg
KyBza2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0
MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkg
ZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFWRVJJRlkodW5kZWxldGFibGUgPT0gZW5naW5lLmV2
YWx1YXRlKCIhT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAnb3ZlcmxvYWRlZDIn
KS5jb25maWd1cmFibGUiKS50b0Jvb2woKSk7Ci0gICAgUVZFUklGWShlbmdpbmUuZXZhbHVhdGUo
Ik9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocCwgJ292ZXJsb2FkZWQxJykuY29uZmln
dXJhYmxlIikudG9Cb29sKCkpOwotICAgIFFWRVJJRlkoZW5naW5lLmV2YWx1YXRlKCJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHAsICdvdmVybG9hZGVkMicpLmNvbmZpZ3VyYWJsZSIp
LnRvQm9vbCgpKTsKLSAgICBRVkVSSUZZKGVuZ2luZS5ldmFsdWF0ZSgiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihvLCAnb3ZlcmxvYWRlZDMnKS5jb25maWd1cmFibGUiKS50b0Jvb2wo
KSk7Ci0gICAgUVZFUklGWShlbmdpbmUuZXZhbHVhdGUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3IobywgJ292ZXJsb2FkZWQ0JykuY29uZmlndXJhYmxlIikudG9Cb29sKCkpOwotICAg
IFFFWFBFQ1RfRkFJTCgiaW50ICsgdW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRo
ZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIs
IENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHJlYWRPbmx5fHVuZGVsZXRhYmxl
IiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92
ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJp
bnQgKyBza2lwSW5FbnVtZXJhdGlvbnx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAo
VGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3Mp
IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258
cmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNl
dFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsK
LSAgICBRVkVSSUZZKHVuZGVsZXRhYmxlID09IGVuZ2luZS5ldmFsdWF0ZSgiIU9iamVjdC5nZXRP
d25Qcm9wZXJ0eURlc2NyaXB0b3IocCwgJ292ZXJsb2FkZWQzJykuY29uZmlndXJhYmxlIikudG9C
b29sKCkpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgdW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1
ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3Bl
cnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHJlYWRPbmx5
fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0
eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVY
UEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnx1bmRlbGV0YWJsZSIsICJXZWJLaXQg
YnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJv
cGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcElu
RW51bWVyYXRpb258cmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRo
ZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIs
IENvbnRpbnVlKTsKLSAgICBRVkVSSUZZKHVuZGVsZXRhYmxlID09IGVuZ2luZS5ldmFsdWF0ZSgi
IU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocCwgJ292ZXJsb2FkZWQ0JykuY29uZmln
dXJhYmxlIikudG9Cb29sKCkpOwotCi0gICAgUVZFUklGWShza2lwSW5FbnVtZXJhdGlvbiAhPSBl
bmdpbmUuZXZhbHVhdGUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgJzQnKS5l
bnVtZXJhYmxlIikudG9Cb29sKCkpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51
bWVyYXRpb24iLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRv
ZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNU
X0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6
IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0
eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVt
ZXJhdGlvbnxyZWFkT25seSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJv
cGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAg
IFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258cmVhZE9ubHl8dW5kZWxldGFi
bGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qg
b3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRVkVSSUZZKHNraXBJ
bkVudW1lcmF0aW9uICE9IGVuZ2luZS5ldmFsdWF0ZSgiT2JqZWN0LmdldE93blByb3BlcnR5RGVz
Y3JpcHRvcihvLCAnNScpLmVudW1lcmFibGUiKS50b0Jvb2woKSk7Ci0gICAgUUVYUEVDVF9GQUlM
KCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbiIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2Jq
ZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGlu
dWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258dW5kZWxldGFi
bGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qg
b3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwo
ImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5IiwgIldlYktpdCBidWc6IDQwNjEzIChU
aGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncyki
LCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxy
ZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0
UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwot
ICAgIFFWRVJJRlkoc2tpcEluRW51bWVyYXRpb24gIT0gZW5naW5lLmV2YWx1YXRlKCJPYmplY3Qu
Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICc2JykuZW51bWVyYWJsZSIpLnRvQm9vbCgpKTsK
LSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9uIiwgIldlYktpdCBidWc6
IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0
eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVt
ZXJhdGlvbnx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0
UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwot
ICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258cmVhZE9ubHkiLCAiV2Vi
S2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRl
IHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNr
aXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEz
IChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFn
cykiLCBDb250aW51ZSk7Ci0gICAgUVZFUklGWShza2lwSW5FbnVtZXJhdGlvbiAhPSBlbmdpbmUu
ZXZhbHVhdGUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocCwgJzcnKS5lbnVtZXJh
YmxlIikudG9Cb29sKCkpOwotICAgIFFWRVJJRlkoc2tpcEluRW51bWVyYXRpb24gIT0gZW5naW5l
LmV2YWx1YXRlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHAsICc4JykuZW51bWVy
YWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRVkVSSUZZKHNraXBJbkVudW1lcmF0aW9uICE9IGVuZ2lu
ZS5ldmFsdWF0ZSgiT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAndW5kZWZpbmVk
MScpLmVudW1lcmFibGUiKS50b0Jvb2woKSk7Ci0gICAgUVZFUklGWShza2lwSW5FbnVtZXJhdGlv
biAhPSBlbmdpbmUuZXZhbHVhdGUoIk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iobywg
J3VuZGVmaW5lZDInKS5lbnVtZXJhYmxlIikudG9Cb29sKCkpOwotICAgIFFWRVJJRlkoc2tpcElu
RW51bWVyYXRpb24gIT0gZW5naW5lLmV2YWx1YXRlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHAsICd1bmRlZmluZWQzJykuZW51bWVyYWJsZSIpLnRvQm9vbCgpKTsKLSAgICBRVkVS
SUZZKHNraXBJbkVudW1lcmF0aW9uICE9IGVuZ2luZS5ldmFsdWF0ZSgiT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihwLCAndW5kZWZpbmVkNCcpLmVudW1lcmFibGUiKS50b0Jvb2woKSk7
Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbiIsICJXZWJLaXQgYnVn
OiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVy
dHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51
bWVyYXRpb258dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNl
dFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsK
LSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5IiwgIldl
YktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0
ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBz
a2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYx
MyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxh
Z3MpIiwgQ29udGludWUpOwotICAgIFFWRVJJRlkoc2tpcEluRW51bWVyYXRpb24gIT0gZW5naW5l
LmV2YWx1YXRlKCJPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICdvdmVybG9hZGVk
MScpLmVudW1lcmFibGUiKS50b0Jvb2woKSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lw
SW5FbnVtZXJhdGlvbiIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVy
dHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFF
WFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258dW5kZWxldGFibGUiLCAiV2ViS2l0
IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHBy
b3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJ
bkVudW1lcmF0aW9ufHJlYWRPbmx5IiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RT
ZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7
Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seXx1bmRl
bGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9l
c24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFWRVJJRlko
c2tpcEluRW51bWVyYXRpb24gIT0gZW5naW5lLmV2YWx1YXRlKCJPYmplY3QuZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKG8sICdvdmVybG9hZGVkMicpLmVudW1lcmFibGUiKS50b0Jvb2woKSk7Ci0g
ICAgUVZFUklGWShlbmdpbmUuZXZhbHVhdGUoInAucHJvcGVydHlJc0VudW1lcmFibGUoJ292ZXJs
b2FkZWQxJykiKS50b0Jvb2woKSk7Ci0gICAgUVZFUklGWShlbmdpbmUuZXZhbHVhdGUoInAucHJv
cGVydHlJc0VudW1lcmFibGUoJ292ZXJsb2FkZWQyJykiKS50b0Jvb2woKSk7Ci0gICAgUVZFUklG
WShlbmdpbmUuZXZhbHVhdGUoIm8ucHJvcGVydHlJc0VudW1lcmFibGUoJ292ZXJsb2FkZWQzJyki
KS50b0Jvb2woKSk7Ci0gICAgUVZFUklGWShlbmdpbmUuZXZhbHVhdGUoIm8ucHJvcGVydHlJc0Vu
dW1lcmFibGUoJ292ZXJsb2FkZWQ0JykiKS50b0Jvb2woKSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJp
bnQgKyBza2lwSW5FbnVtZXJhdGlvbiIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0
U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUp
OwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258dW5kZWxldGFibGUi
LCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3Zl
cndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImlu
dCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5IiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUg
SlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBD
b250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxyZWFk
T25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJv
cGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAg
IFFWRVJJRlkoc2tpcEluRW51bWVyYXRpb24gIT0gZW5naW5lLmV2YWx1YXRlKCJwLnByb3BlcnR5
SXNFbnVtZXJhYmxlKCdvdmVybG9hZGVkMycpIikudG9Cb29sKCkpOwotICAgIFFFWFBFQ1RfRkFJ
TCgiaW50ICsgc2tpcEluRW51bWVyYXRpb24iLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09i
amVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRp
bnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHVuZGVsZXRh
YmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0
IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlM
KCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnxyZWFkT25seSIsICJXZWJLaXQgYnVnOiA0MDYxMyAo
VGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3Mp
IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258
cmVhZE9ubHl8dW5kZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNl
dFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsK
LSAgICBRVkVSSUZZKHNraXBJbkVudW1lcmF0aW9uICE9IGVuZ2luZS5ldmFsdWF0ZSgicC5wcm9w
ZXJ0eUlzRW51bWVyYWJsZSgnb3ZlcmxvYWRlZDQnKSIpLnRvQm9vbCgpKTsKLSAgICBRRVhQRUNU
X0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9uIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUg
SlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBD
b250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbnx1bmRl
bGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2JqZWN0U2V0UHJvcGVydHkgZG9l
c24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGludWUpOwotICAgIFFFWFBFQ1Rf
RkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258cmVhZE9ubHkiLCAiV2ViS2l0IGJ1ZzogNDA2
MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRvZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZs
YWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0
aW9ufHJlYWRPbmx5fHVuZGVsZXRhYmxlIiwgIldlYktpdCBidWc6IDQwNjEzIChUaGUgSlNPYmpl
Y3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBmbGFncykiLCBDb250aW51
ZSk7Ci0gICAgUVZFUklGWShza2lwSW5FbnVtZXJhdGlvbiAhPSBlbmdpbmUuZXZhbHVhdGUoIm8u
cHJvcGVydHlJc0VudW1lcmFibGUoJ2RlZmluZWQxJykiKS50b0Jvb2woKSk7Ci0gICAgUUVYUEVD
VF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJhdGlvbiIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhl
IEpTT2JqZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwg
Q29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiaW50ICsgc2tpcEluRW51bWVyYXRpb258dW5k
ZWxldGFibGUiLCAiV2ViS2l0IGJ1ZzogNDA2MTMgKFRoZSBKU09iamVjdFNldFByb3BlcnR5IGRv
ZXNuJ3Qgb3ZlcndyaXRlIHByb3BlcnR5IGZsYWdzKSIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNU
X0ZBSUwoImludCArIHNraXBJbkVudW1lcmF0aW9ufHJlYWRPbmx5IiwgIldlYktpdCBidWc6IDQw
NjEzIChUaGUgSlNPYmplY3RTZXRQcm9wZXJ0eSBkb2Vzbid0IG92ZXJ3cml0ZSBwcm9wZXJ0eSBm
bGFncykiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJpbnQgKyBza2lwSW5FbnVtZXJh
dGlvbnxyZWFkT25seXx1bmRlbGV0YWJsZSIsICJXZWJLaXQgYnVnOiA0MDYxMyAoVGhlIEpTT2Jq
ZWN0U2V0UHJvcGVydHkgZG9lc24ndCBvdmVyd3JpdGUgcHJvcGVydHkgZmxhZ3MpIiwgQ29udGlu
dWUpOwotICAgIFFWRVJJRlkoc2tpcEluRW51bWVyYXRpb24gIT0gZW5naW5lLmV2YWx1YXRlKCJv
LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdkZWZpbmVkMicpIikudG9Cb29sKCkpOwotfQotCi12b2lk
IHRzdF9RU2NyaXB0VmFsdWU6OnByb3BlcnR5RmxhZ19kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRk
Q29sdW1uPFFTdHJpbmc+KCJuYW1lIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxpbnQ+KCJmbGFn
Iik7Ci0KLSAgICBRVGVzdDo6bmV3Um93KCI/Q3JAanppISUkIikgPDwgIj9DckBqemkhJSQiIDw8
IHN0YXRpY19jYXN0PGludD4oMCk7Ci0gICAgUVRlc3Q6Om5ld1JvdygiUmVhZE9ubHkiKSA8PCAi
UmVhZE9ubHkiIDw8IHN0YXRpY19jYXN0PGludD4oUVNjcmlwdFZhbHVlOjpSZWFkT25seSk7Ci0g
ICAgUVRlc3Q6Om5ld1JvdygiVW5kZWxldGFibGUiKSA8PCAiVW5kZWxldGFibGUiIDw8IHN0YXRp
Y19jYXN0PGludD4oUVNjcmlwdFZhbHVlOjpVbmRlbGV0YWJsZSk7Ci0gICAgUVRlc3Q6Om5ld1Jv
dygiU2tpcEluRW51bWVyYXRpb24iKSA8PCAiU2tpcEluRW51bWVyYXRpb24iIDw8IHN0YXRpY19j
YXN0PGludD4oUVNjcmlwdFZhbHVlOjpTa2lwSW5FbnVtZXJhdGlvbik7Ci0gICAgUVRlc3Q6Om5l
d1JvdygiUmVhZE9ubHkgfCBVbmRlbGV0YWJsZSIpIDw8ICJSZWFkT25seV9VbmRlbGV0YWJsZSIg
PDwgc3RhdGljX2Nhc3Q8aW50PihRU2NyaXB0VmFsdWU6OlJlYWRPbmx5IHwgUVNjcmlwdFZhbHVl
OjpVbmRlbGV0YWJsZSk7Ci0gICAgUVRlc3Q6Om5ld1JvdygiUmVhZE9ubHkgfCBTa2lwSW5FbnVt
ZXJhdGlvbiIpIDw8ICJSZWFkT25seV9Ta2lwSW5FbnVtZXJhdGlvbiIgPDwgc3RhdGljX2Nhc3Q8
aW50PihRU2NyaXB0VmFsdWU6OlJlYWRPbmx5IHwgUVNjcmlwdFZhbHVlOjpTa2lwSW5FbnVtZXJh
dGlvbik7Ci0gICAgUVRlc3Q6Om5ld1JvdygiVW5kZWxldGFibGUgfCBTa2lwSW5FbnVtZXJhdGlv
biIpIDw8ICJVbmRlbGV0YWJsZV9Ta2lwSW5FbnVtZXJhdGlvbiIgPDwgc3RhdGljX2Nhc3Q8aW50
PihRU2NyaXB0VmFsdWU6OlVuZGVsZXRhYmxlIHwgUVNjcmlwdFZhbHVlOjpTa2lwSW5FbnVtZXJh
dGlvbik7Ci0gICAgUVRlc3Q6Om5ld1JvdygiUmVhZE9ubHkgfCBVbmRlbGV0YWJsZSB8IFNraXBJ
bkVudW1lcmF0aW9uIikgPDwgIlJlYWRPbmx5X1VuZGVsZXRhYmxlX1NraXBJbkVudW1lcmF0aW9u
IiA8PCBzdGF0aWNfY2FzdDxpbnQ+KFFTY3JpcHRWYWx1ZTo6UmVhZE9ubHkgfCBRU2NyaXB0VmFs
dWU6OlVuZGVsZXRhYmxlIHwgUVNjcmlwdFZhbHVlOjpTa2lwSW5FbnVtZXJhdGlvbik7Ci19Ci0K
LXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6cHJvcGVydHlGbGFnKCkKLXsKLSAgICBRU2NyaXB0RW5n
aW5lIGVuZ2luZTsKLSAgICBRRkVUQ0goUVN0cmluZywgbmFtZSk7Ci0gICAgUUZFVENIKGludCwg
ZmxhZyk7Ci0gICAgY29uc3QgUVNjcmlwdFN0cmluZyBuYW1lSGFuZGxlID0gZW5naW5lLnRvU3Ry
aW5nSGFuZGxlKG5hbWUpOwotICAgIGNvbnN0IFFTdHJpbmcgcHJvdG9OYW1lID0gInByb3RvIiAr
IG5hbWU7Ci0gICAgY29uc3QgUVNjcmlwdFN0cmluZyBwcm90b05hbWVIYW5kbGUgPSBlbmdpbmUu
dG9TdHJpbmdIYW5kbGUocHJvdG9OYW1lKTsKLQotICAgIFFTY3JpcHRWYWx1ZSBwcm90byA9IGVu
Z2luZS5uZXdPYmplY3QoKTsKLSAgICBRU2NyaXB0VmFsdWUgb2JqZWN0ID0gZW5naW5lLm5ld09i
amVjdCgpOwotICAgIG9iamVjdC5zZXRQcm90b3R5cGUocHJvdG8pOwotCi0gICAgcHJvdG8uc2V0
UHJvcGVydHkocHJvdG9OYW1lLCBRU2NyaXB0VmFsdWUoMTI0ODE2KSwgUVNjcmlwdFZhbHVlOjpQ
cm9wZXJ0eUZsYWcoZmxhZykpOwotICAgIG9iamVjdC5zZXRQcm9wZXJ0eShuYW1lLCBRU2NyaXB0
VmFsdWUoMTI0ODE2KSwgUVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWcoZmxhZykpOwotCi0gICAg
Ly8gQ2hlY2sgdXNpbmcgUVN0cmluZyBuYW1lCi0gICAgUUNPTVBBUkUob2JqZWN0LnByb3BlcnR5
RmxhZ3MobmFtZSksIFFTY3JpcHRWYWx1ZTo6UHJvcGVydHlGbGFnKGZsYWcpKTsKLSAgICBRQ09N
UEFSRShvYmplY3QucHJvcGVydHlGbGFncyhwcm90b05hbWUsIFFTY3JpcHRWYWx1ZTo6UmVzb2x2
ZVByb3RvdHlwZSksIFFTY3JpcHRWYWx1ZTo6UHJvcGVydHlGbGFnKGZsYWcpKTsKLSAgICBRVkVS
SUZZKCFvYmplY3QucHJvcGVydHlGbGFncyhwcm90b05hbWUsIFFTY3JpcHRWYWx1ZTo6UmVzb2x2
ZUxvY2FsKSk7Ci0KLSAgICAvLyBDaGVjayB1c2luZyBRU2NyaXB0U3RyaW5nIG5hbWUKLSAgICBR
Q09NUEFSRShvYmplY3QucHJvcGVydHlGbGFncyhuYW1lSGFuZGxlKSwgUVNjcmlwdFZhbHVlOjpQ
cm9wZXJ0eUZsYWcoZmxhZykpOwotICAgIFFDT01QQVJFKG9iamVjdC5wcm9wZXJ0eUZsYWdzKHBy
b3RvTmFtZUhhbmRsZSwgUVNjcmlwdFZhbHVlOjpSZXNvbHZlUHJvdG90eXBlKSwgUVNjcmlwdFZh
bHVlOjpQcm9wZXJ0eUZsYWcoZmxhZykpOwotICAgIFFWRVJJRlkoIW9iamVjdC5wcm9wZXJ0eUZs
YWdzKHByb3RvTmFtZUhhbmRsZSwgUVNjcmlwdFZhbHVlOjpSZXNvbHZlTG9jYWwpKTsKLX0KLQot
dm9pZCB0c3RfUVNjcmlwdFZhbHVlOjpnbG9iYWxPYmplY3RDaGFuZ2VzKCkKLXsKLSAgICAvLyBB
UEkgZnVuY3Rpb25hbGl0eSBzaG91bGRuJ3QgZGVwZW5kIG9uIEdsb2JhbCBPYmplY3QuCi0gICAg
UVNjcmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAgUVNjcmlwdFZhbHVlIGFycmF5ID0gZW5naW5lLm5l
d0FycmF5KCk7Ci0gICAgUVNjcmlwdFZhbHVlIGVycm9yID0gZW5naW5lLmV2YWx1YXRlKCJuZXcg
RXJyb3IiKTsKLSAgICBRU2NyaXB0VmFsdWUgb2JqZWN0ID0gZW5naW5lLm5ld09iamVjdCgpOwot
Ci0gICAgb2JqZWN0LnNldFByb3BlcnR5KCJmb28iLCA1MTIpOwotCi0gICAgLy8gUmVtb3ZlIHBy
b3BlcnRpZXMgZm9ybSBnbG9iYWwgb2JqZWN0LgotICAgIGVuZ2luZS5ldmFsdWF0ZSgiZGVsZXRl
IE9iamVjdDsgZGVsZXRlIEVycm9yOyBkZWxldGUgQXJyYXk7Iik7Ci0KLSAgICBRVkVSSUZZKGFy
cmF5LmlzQXJyYXkoKSk7Ci0gICAgUVZFUklGWShlcnJvci5pc0Vycm9yKCkpOwotICAgIFFWRVJJ
Rlkob2JqZWN0LmlzT2JqZWN0KCkpOwotCi0gICAgUVZFUklGWShvYmplY3QucHJvcGVydHkoImZv
byIpLmlzVmFsaWQoKSk7Ci0gICAgUVZFUklGWShvYmplY3QucHJvcGVydHkoImZvbyIsIFFTY3Jp
cHRWYWx1ZTo6UmVzb2x2ZUxvY2FsKS5pc1ZhbGlkKCkpOwotICAgIG9iamVjdC5zZXRQcm9wZXJ0
eSgiZm9vIiwgUVNjcmlwdFZhbHVlKCkpOwotICAgIFFWRVJJRlkoIW9iamVjdC5wcm9wZXJ0eSgi
Zm9vIikuaXNWYWxpZCgpKTsKLSAgICBRVkVSSUZZKCFvYmplY3QucHJvcGVydHkoImZvbyIsIFFT
Y3JpcHRWYWx1ZTo6UmVzb2x2ZUxvY2FsKS5pc1ZhbGlkKCkpOwotfQotCi12b2lkIHRzdF9RU2Ny
aXB0VmFsdWU6OmFzc2lnbkFuZENvcHlDb25zdHJ1Y3RfZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFk
ZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJ2YWx1ZSIpOwotICAgIGlmIChtX2VuZ2luZSkKLSAgICAg
ICAgZGVsZXRlIG1fZW5naW5lOwotICAgIG1fZW5naW5lID0gbmV3IFFTY3JpcHRFbmdpbmU7Ci0g
ICAgLy8gQ29weSAmIGFzc2lnbiBjb2RlIGlzIHRoZSBzYW1lIGZvciBhbGwgdHlwZXMsIHNvIGl0
IGlzIGVub3VnaCB0byBjaGVjayBvbmx5IGEgZmV3IHZhbHVlLgotICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCAxMDsgKytpKSB7Ci0gICAgICAgIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1
ZT4gdGVzdGNhc2UgPSBpbml0U2NyaXB0VmFsdWVzKGkpOwotICAgICAgICBRVGVzdDo6bmV3Um93
KHRlc3RjYXNlLmZpcnN0LnRvQXNjaWkoKS5jb25zdERhdGEoKSkgPDwgdGVzdGNhc2Uuc2Vjb25k
OwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjphc3NpZ25BbmRDb3B5Q29uc3Ry
dWN0KCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUVNjcmlwdFZh
bHVlIGNvcHkodmFsdWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKFFTY3JpcHRW
YWx1ZTo6TnVsbFZhbHVlKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIEFib3J0KTsKLSAg
ICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVl
KSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIEFib3J0KTsKLSAgICBRQ09NUEFSRShjb3B5
LnN0cmljdGx5RXF1YWxzKHZhbHVlKSwgIXZhbHVlLmlzTnVtYmVyKCkgfHwgIXFJc05hTih2YWx1
ZS50b051bWJlcigpKSk7Ci0gICAgUUNPTVBBUkUoY29weS5lbmdpbmUoKSwgdmFsdWUuZW5naW5l
KCkpOwotCi0gICAgUVNjcmlwdFZhbHVlIGFzc2lnbmVkID0gY29weTsKLSAgICBRQ09NUEFSRShh
c3NpZ25lZC5zdHJpY3RseUVxdWFscyh2YWx1ZSksICFjb3B5LmlzTnVtYmVyKCkgfHwgIXFJc05h
Tihjb3B5LnRvTnVtYmVyKCkpKTsKLSAgICBRQ09NUEFSRShhc3NpZ25lZC5lbmdpbmUoKSwgYXNz
aWduZWQuZW5naW5lKCkpOwotCi0gICAgUVNjcmlwdFZhbHVlIG90aGVyKCF2YWx1ZS50b0Jvb2wo
KSk7Ci0gICAgYXNzaWduZWQgPSBvdGhlcjsKLSAgICBRVkVSSUZZKCFhc3NpZ25lZC5zdHJpY3Rs
eUVxdWFscyhjb3B5KSk7Ci0gICAgUVZFUklGWShhc3NpZ25lZC5zdHJpY3RseUVxdWFscyhvdGhl
cikpOwotICAgIFFDT01QQVJFKGFzc2lnbmVkLmVuZ2luZSgpLCBvdGhlci5lbmdpbmUoKSk7Ci19
Ci0KLVFURVNUX01BSU4odHN0X1FTY3JpcHRWYWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVl
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiN2Q5YmNlY2ZkMmU1YWQ2MDY5NDRj
NThhZjdhMTMxM2IwOTZiNDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHR2YWx1ZS90c3Rf
cXNjcmlwdHZhbHVlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNDMgKzAsMCBAQAotLyoKLSAgICBD
b3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5
KC1pZXMpCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAg
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgotKi8KLQotI2lmbmRlZiB0c3RfcXNjcmlwdHZhbHVlX2gKLSNkZWZpbmUgdHN0X3FzY3Jp
cHR2YWx1ZV9oCi0KLSNpbmNsdWRlICJxc2NyaXB0ZW5naW5lLmgiCi0jaW5jbHVkZSAicXNjcmlw
dHZhbHVlLmgiCi0jaW5jbHVkZSA8UXRDb3JlL3FudW1lcmljLmg+Ci0jaW5jbHVkZSA8UXRUZXN0
L3F0ZXN0Lmg+Ci0KLSNkZWZpbmUgREVGSU5FX1RFU1RfVkFMVUUoZXhwcikgbV92YWx1ZXMuaW5z
ZXJ0KFFTdHJpbmc6OmZyb21MYXRpbjEoI2V4cHIpLCBleHByKQotCi1RX0RFQ0xBUkVfTUVUQVRZ
UEUoUVNjcmlwdFZhbHVlKik7Ci1RX0RFQ0xBUkVfTUVUQVRZUEUoUVNjcmlwdFZhbHVlKTsKLXR5
cGVkZWYgUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPiBRUGFpclFTdHJpbmdBbmRRU2NyaXB0
VmFsdWU7Ci1RX0RFQ0xBUkVfTUVUQVRZUEUoUVBhaXJRU3RyaW5nQW5kUVNjcmlwdFZhbHVlKTsK
LQotY2xhc3MgdHN0X1FTY3JpcHRWYWx1ZSA6IHB1YmxpYyBRT2JqZWN0IHsKLSAgICBRX09CSkVD
VAotCi1wdWJsaWM6Ci0gICAgdHN0X1FTY3JpcHRWYWx1ZSgpOwotICAgIHZpcnR1YWwgfnRzdF9R
U2NyaXB0VmFsdWUoKTsKLQotcHJpdmF0ZSBzbG90czoKLSAgICB2b2lkIHRvU3RyaW5nU2ltcGxl
X2RhdGEoKTsKLSAgICB2b2lkIHRvU3RyaW5nU2ltcGxlKCk7Ci0gICAgdm9pZCBjb3B5Q29uc3Ry
dWN0b3JfZGF0YSgpOwotICAgIHZvaWQgY29weUNvbnN0cnVjdG9yKCk7Ci0gICAgdm9pZCBhc3Np
Z25PcGVyYXRvcl9kYXRhKCk7Ci0gICAgdm9pZCBhc3NpZ25PcGVyYXRvcigpOwotICAgIHZvaWQg
ZGF0YVNoYXJpbmcoKTsKLSAgICB2b2lkIGNvbnN0cnVjdG9yc19kYXRhKCk7Ci0gICAgdm9pZCBj
b25zdHJ1Y3RvcnMoKTsKLSAgICB2b2lkIGdldFNldFByb3RvdHlwZSgpOwotICAgIHZvaWQgY2Fs
bCgpOwotICAgIHZvaWQgY3RvcigpOwotICAgIHZvaWQgdG9PYmplY3RTaW1wbGUoKTsKLSAgICB2
b2lkIGdldFByb3BlcnR5U2ltcGxlX2RhdGEoKTsKLSAgICB2b2lkIGdldFByb3BlcnR5U2ltcGxl
KCk7Ci0gICAgdm9pZCBzZXRQcm9wZXJ0eVNpbXBsZSgpOwotICAgIHZvaWQgc2V0UHJvcGVydHlf
ZGF0YSgpOwotICAgIHZvaWQgc2V0UHJvcGVydHkoKTsKLSAgICB2b2lkIGdldFNldFByb3BlcnR5
KCk7Ci0gICAgdm9pZCBnZXRQcm9wZXJ0eVJlc29sdmVGbGFnKCk7Ci0gICAgdm9pZCBwcm9wZXJ0
eUZsYWdfZGF0YSgpOwotICAgIHZvaWQgcHJvcGVydHlGbGFnKCk7Ci0gICAgdm9pZCBnbG9iYWxP
YmplY3RDaGFuZ2VzKCk7Ci0gICAgdm9pZCBhc3NpZ25BbmRDb3B5Q29uc3RydWN0X2RhdGEoKTsK
LSAgICB2b2lkIGFzc2lnbkFuZENvcHlDb25zdHJ1Y3QoKTsKLQotICAgIC8vIEdlbmVyYXRlZCB0
ZXN0IGZ1bmN0aW9ucy4KLSAgICB2b2lkIGlzQXJyYXlfZGF0YSgpOwotICAgIHZvaWQgaXNBcnJh
eSgpOwotCi0gICAgdm9pZCBpc0Jvb2xfZGF0YSgpOwotICAgIHZvaWQgaXNCb29sKCk7Ci0KLSAg
ICB2b2lkIGlzQm9vbGVhbl9kYXRhKCk7Ci0gICAgdm9pZCBpc0Jvb2xlYW4oKTsKLQotICAgIHZv
aWQgaXNFcnJvcl9kYXRhKCk7Ci0gICAgdm9pZCBpc0Vycm9yKCk7Ci0KLSAgICB2b2lkIGlzTnVt
YmVyX2RhdGEoKTsKLSAgICB2b2lkIGlzTnVtYmVyKCk7Ci0KLSAgICB2b2lkIGlzRnVuY3Rpb25f
ZGF0YSgpOwotICAgIHZvaWQgaXNGdW5jdGlvbigpOwotCi0gICAgdm9pZCBpc051bGxfZGF0YSgp
OwotICAgIHZvaWQgaXNOdWxsKCk7Ci0KLSAgICB2b2lkIGlzT2JqZWN0X2RhdGEoKTsKLSAgICB2
b2lkIGlzT2JqZWN0KCk7Ci0KLSAgICB2b2lkIGlzU3RyaW5nX2RhdGEoKTsKLSAgICB2b2lkIGlz
U3RyaW5nKCk7Ci0KLSAgICB2b2lkIGlzVW5kZWZpbmVkX2RhdGEoKTsKLSAgICB2b2lkIGlzVW5k
ZWZpbmVkKCk7Ci0KLSAgICB2b2lkIGlzVmFsaWRfZGF0YSgpOwotICAgIHZvaWQgaXNWYWxpZCgp
OwotCi0gICAgdm9pZCB0b1N0cmluZ19kYXRhKCk7Ci0gICAgdm9pZCB0b1N0cmluZygpOwotCi0g
ICAgdm9pZCB0b051bWJlcl9kYXRhKCk7Ci0gICAgdm9pZCB0b051bWJlcigpOwotCi0gICAgdm9p
ZCB0b0Jvb2xfZGF0YSgpOwotICAgIHZvaWQgdG9Cb29sKCk7Ci0KLSAgICB2b2lkIHRvQm9vbGVh
bl9kYXRhKCk7Ci0gICAgdm9pZCB0b0Jvb2xlYW4oKTsKLQotICAgIHZvaWQgdG9JbnRlZ2VyX2Rh
dGEoKTsKLSAgICB2b2lkIHRvSW50ZWdlcigpOwotCi0gICAgdm9pZCB0b0ludDMyX2RhdGEoKTsK
LSAgICB2b2lkIHRvSW50MzIoKTsKLQotICAgIHZvaWQgdG9VSW50MzJfZGF0YSgpOwotICAgIHZv
aWQgdG9VSW50MzIoKTsKLQotICAgIHZvaWQgdG9VSW50MTZfZGF0YSgpOwotICAgIHZvaWQgdG9V
SW50MTYoKTsKLQotICAgIHZvaWQgZXF1YWxzX2RhdGEoKTsKLSAgICB2b2lkIGVxdWFscygpOwot
Ci0gICAgdm9pZCBzdHJpY3RseUVxdWFsc19kYXRhKCk7Ci0gICAgdm9pZCBzdHJpY3RseUVxdWFs
cygpOwotCi0gICAgdm9pZCBpbnN0YW5jZU9mX2RhdGEoKTsKLSAgICB2b2lkIGluc3RhbmNlT2Yo
KTsKLQotcHJpdmF0ZToKLSAgICAvLyBHZW5lcmF0ZWQgZnVuY3Rpb24KLSAgICBRUGFpcjxRU3Ry
aW5nLCBRU2NyaXB0VmFsdWU+IGluaXRTY3JpcHRWYWx1ZXModWludCBpZHgpOwotCi0gICAgUVNj
cmlwdEVuZ2luZSogbV9lbmdpbmU7Ci19OwotCi0jZW5kaWYgLy8gdHN0X3FzY3JpcHR2YWx1ZV9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlwdHZhbHVl
L3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2NvbXBhcmlzb24uY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlX2dlbmVyYXRl
ZF9jb21wYXJpc29uLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzIwOTUzMGYx
NGMyN2IyMjhiNGM2MWYwNzcxZmZhOGJhOTRlNjdkMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNj
cmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2NvbXBhcmlzb24uY3BwCisrKyAv
ZGV2L251bGwKQEAgLTEsMTc5OSArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAxMCBO
b2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
LSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0g
ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0vKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKgotKioqKioqKioqKioqKioqIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0
ZWQuIERPIE5PVCBNT0RJRlkhICoqKioqKioqKioqKioqKioKLSoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov
Ci0KLSNpbmNsdWRlICJ0c3RfcXNjcmlwdHZhbHVlLmgiCi0KLXN0YXRpYyBjb25zdCBRU3RyaW5n
IGVxdWFsc19hcnJheVtdID0gewotICAgICJRU2NyaXB0VmFsdWUoKSA8PT4gUVNjcmlwdFZhbHVl
KCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+
IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKFFT
Y3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6
OlVuZGVmaW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZp
bmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFs
dWUpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRW
YWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwie31cIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IGVuZ2luZS0+
ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVl
OjpVbmRlZmluZWRWYWx1ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBlbmdpbmUtPm51
bGxWYWx1ZSgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFs
dWUpIDw9PiBlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVNj
cmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRl
ZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUp
IDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3Jp
cHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1
ZTo6TnVsbFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVl
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRW
YWx1ZTo6TnVsbFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
InVuZGVmaW5lZFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1
ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFT
Y3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gZW5naW5lLT5udWxsVmFsdWUoKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IGVuZ2luZS0+dW5kZWZpbmVk
VmFsdWUoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh0cnVlKSA8PT4gUVNjcmlwdFZhbHVlKHRydWUp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKHRydWUpIDw9PiBRU2NyaXB0VmFsdWUoMCwgdHJ1ZSkiLAot
ICAgICJRU2NyaXB0VmFsdWUodHJ1ZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIHRydWUpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKHRydWUpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwidHJ1ZVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZShmYWxzZSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoMCkiLAotICAgICJRU2NyaXB0
VmFsdWUoZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShm
YWxzZSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZmFs
c2UpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkg
PD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShm
YWxzZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0
cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCJbXVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZmFs
c2UpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoZmFsc2UpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoZmFsc2UpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShmYWxzZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoZmFsc2UpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoZmFsc2UpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGZhbHNlKSA8PT4gZW5naW5lLT5uZXdBcnJheSgpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGludCgxMjIpKSA8PT4gUVNjcmlwdFZhbHVlKGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShpbnQoMTIyKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBpbnQoMTIyKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoaW50KDEyMikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBpbnQoMTIyKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoaW50KDEyMikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTIyXCIp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKHVpbnQoMTI0KSkgPD0+IFFTY3JpcHRWYWx1ZSh1aW50KDEy
NCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHVpbnQoMTI0KSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCB1
aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHVpbnQoMTI0KSkgPD0+IFFTY3JpcHRWYWx1
ZShlbmdpbmUsIHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUodWludCgxMjQpKSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIjEyNFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4gUVNj
cmlwdFZhbHVlKGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4gUVNjcmlwdFZhbHVl
KDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDApIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIDw9PiBR
U2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIDw9PiBRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4gUVNjcmlw
dFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIDw9PiBRU2NyaXB0
VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4gUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCkgPD0+IFFTY3JpcHRW
YWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCkgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
MCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4gZW5n
aW5lLT5uZXdBcnJheSgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1
ZShmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLjApIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLjApIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkiLAotICAgICJRU2NyaXB0
VmFsdWUoMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAu
MCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+
IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjAp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjAp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLjApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LjApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAu
MCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoMC4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJv
dG90eXBlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCJuZXcgQXJyYXkoKVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjApIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiZmFsc2VcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gZW5naW5lLT5l
dmFsdWF0ZShcIjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcIjAuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjApIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwiJydcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gZW5naW5lLT5ldmFsdWF0
ZShcIicwJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjApIDw9PiBlbmdpbmUtPm5ld0FycmF5
KCkiLAotICAgICJRU2NyaXB0VmFsdWUoMTIzLjApIDw9PiBRU2NyaXB0VmFsdWUoMTIzLjApIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDEyMy4wKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMjNc
IikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDEyMy4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDEyMy4w
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgxMjMuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5n
KFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgxMjMuMCkgPD0+IFFTY3JpcHRWYWx1ZShl
bmdpbmUsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgxMjMuMCkgPD0+IFFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDEyMy4wKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIjEyMy4wXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDEyMy4w
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDYu
MzdlLTgpIDw9PiBRU2NyaXB0VmFsdWUoNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoNi4z
N2UtOCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSg2
LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgNi4zN2UtOCkiLAotICAgICJRU2NyaXB0
VmFsdWUoNi4zN2UtOCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCI2LjM3ZS04XCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKC02LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKC02LjM3ZS04KSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgtNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoLTYuMzdlLTgpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAtNi4z
N2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoLTYuMzdlLTgpIDw9PiBlbmdpbmUtPmV2YWx1YXRl
KFwiLTYuMzdlLThcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMHg0MzIxMTIzNCkgPD0+IFFTY3Jp
cHRWYWx1ZSgweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDQzMjExMjM0KSA8PT4g
UVNjcmlwdFZhbHVlKDAsIDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4NDMyMTEy
MzQpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgweDQzMjExMjM0KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjB4NDMyMTEyMzRcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoMHgxMDAwMCkgPD0+IFFTY3JpcHRWYWx1ZSgweDEwMDAwKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAwKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDApIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEw
MDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAwKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
IjB4MTAwMDBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMHgxMDAwMSkgPD0+IFFTY3JpcHRWYWx1
ZSgweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAxKSA8PT4gUVNjcmlwdFZhbHVl
KDAsIDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDEpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCAweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAxKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIjB4MTAwMDFcIikiLAotICAgICJRU2NyaXB0VmFsdWUocUluZigpKSA8
PT4gUVNjcmlwdFZhbHVlKHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUocUluZigpKSA8PT4g
UVNjcmlwdFZhbHVlKFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUocUluZigpKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUocUluZigpKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUocUlu
ZigpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcIkluZmluaXR5XCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKHFJbmYoKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJJbmZpbml0eVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgtcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKC1xSW5mKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKC1xSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlc
IikiLAotICAgICJRU2NyaXB0VmFsdWUoLXFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAtcUlu
ZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgtcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwi
LUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC1xSW5mKCkpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgtcUluZigpKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoLXFJ
bmYoKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoXCJOYU5cIikgPD0+IFFTY3JpcHRWYWx1ZShcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShcIk5hTlwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKFwiTmFOXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcIk5hTlwiKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUocUluZigpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoXCJJbmZpbml0
eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUo
MCwgcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIp
IDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwi
SW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoXCJJbmZpbml0eVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkluZmlu
aXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFs
dWUoLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikgPD0+IFFTY3Jp
cHRWYWx1ZShcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIi1JbmZpbml0eVwi
KSA8PT4gUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiLUlu
ZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5n
aW5lLCBcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIi1JbmZpbml0eVwiKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShc
ImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZShcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUo
XCJjaWFvXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiY2lh
b1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBR
U3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoXCJjaWFv
XCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFs
dWUoXCJjaWFvXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nOjpmcm9tTGF0aW4x
KFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoXCJjaWFvXCIpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiJ2NpYW8nXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRp
bjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShRU3Ry
aW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZzo6
ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlw
dFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nOjpmcm9tTGF0aW4xKFwi
Y2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJj
aWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wi
KSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
UVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZShmYWxzZSkiLAotICAgICJRU2NyaXB0VmFs
dWUoUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0VmFs
dWUoUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSki
LAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBm
YWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1
ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwi
XCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
UVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUs
IDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJc
IikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKFFTdHJpbmcoXCJcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAotICAgICJR
U2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5w
cm90b3R5cGVcIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5n
KFwiXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKFFTdHJpbmcoXCJcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
IicnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIDw9PiBlbmdpbmUtPm5l
d0FycmF5KCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVl
KGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUo
MCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAuMCki
LAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmco
XCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShR
U3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1
ZSgwLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1
ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1
ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIDw9PiBR
U2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkp
IDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0
cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUo
UVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBR
U3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCJbXVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIDw9PiBlbmdpbmUt
PmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJp
bmcoKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShRU3RyaW5nKCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
JydcIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSA8PT4gZW5naW5lLT5uZXdBcnJh
eSgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVl
KGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRW
YWx1ZSgwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRW
YWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlw
dFZhbHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwi
KSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmlu
ZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0
cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0
VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkgPD0+
IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhc
IjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2Vc
IikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwiMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikp
IDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJp
bmcoXCIxMjNcIikpIDw9PiBRU2NyaXB0VmFsdWUoMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVl
KFFTdHJpbmcoXCIxMjNcIikpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAx
MjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkgPD0+IFFTY3JpcHRW
YWx1ZSgwLCBRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwi
MTIzXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZh
bHVlKFFTdHJpbmcoXCIxMjNcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwi
MTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSA8PT4gZW5naW5l
LT5ldmFsdWF0ZShcIjEyMy4wXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMjNc
IikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
UVN0cmluZyhcIjEyLjRcIikpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyLjRcIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMi40XCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0
ZShcIicxMi40J1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVm
aW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9
PiBRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoMCwg
UVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNj
cmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFs
dWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRl
ZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZp
bmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVk
VmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0
VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNj
cmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IGVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IGVuZ2lu
ZS0+dW5kZWZpbmVkVmFsdWUoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6
Ok51bGxWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVl
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFT
Y3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZh
bHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVl
OjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
UVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwie31cIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBlbmdpbmUt
PmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRW
YWx1ZTo6TnVsbFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBlbmdpbmUtPm51bGxW
YWx1ZSgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8
PT4gZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHRydWUp
IDw9PiBRU2NyaXB0VmFsdWUodHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgdHJ1ZSkgPD0+
IFFTY3JpcHRWYWx1ZSgwLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCB0cnVlKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgdHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgdHJ1ZSkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZh
bHNlKSA8PT4gUVNjcmlwdFZhbHVlKGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBmYWxz
ZSkgPD0+IFFTY3JpcHRWYWx1ZSgwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkgPD0+
IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gUVNj
cmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8
PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2Up
IDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCBmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBm
YWxzZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZh
bHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFs
c2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoZW5n
aW5lLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9
PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnBy
b3RvdHlwZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCJuZXcgQXJyYXkoKVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBmYWxz
ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZh
bHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCBmYWxzZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBmYWxzZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgZmFsc2UpIDw9PiBlbmdpbmUtPm5ld0FycmF5KCkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgaW50KDEyMikpIDw9PiBRU2NyaXB0VmFsdWUoaW50KDEyMikpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIGludCgxMjIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGludCgxMjIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCBpbnQoMTIyKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGludCgx
MjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBpbnQoMTIyKSkgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCIxMjJcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgdWludCgxMjQpKSA8PT4gUVNjcmlw
dFZhbHVlKHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgdWludCgxMjQpKSA8PT4g
UVNjcmlwdFZhbHVlKDAsIHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgdWludCgx
MjQpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCB1aW50KDEyNCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIDApIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIDApIDw9PiBRU2NyaXB0VmFsdWUoMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
MCkgPD0+IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBR
U2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMCkgPD0+
IFFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBR
U2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9
PiBRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBR
U2NyaXB0VmFsdWUoMCwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRW
YWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRW
YWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBR
U2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMCkgPD0+
IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBR
U2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBR
U2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCAwKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCAwKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5
cGVcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJu
ZXcgQXJyYXkoKVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcImZhbHNlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcIjAuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcIicnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwiJzAnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBlbmdpbmUtPm5ld0Fy
cmF5KCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKGZhbHNl
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoMCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwi
MFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShl
bmdpbmUsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShl
bmdpbmUsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMC4wKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAw
LjApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgMC4wKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIDAuMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVc
IikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMC4wKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIm5l
dyBBcnJheSgpXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBlbmdpbmUt
PmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBlbmdpbmUt
PmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiJzAnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IGVu
Z2luZS0+bmV3QXJyYXkoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAxMjMuMCkgPD0+IFFTY3Jp
cHRWYWx1ZSgxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIDw9PiBRU2NyaXB0
VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIDw9
PiBRU2NyaXB0VmFsdWUoMCwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDEyMy4wKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIDEyMy4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMTIzLjApIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIDEyMy4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wi
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
MTIzLjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwiJzEyMydcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgNi4zN2UtOCkgPD0+IFFTY3Jp
cHRWYWx1ZSg2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCA2LjM3ZS04KSA8PT4gUVNj
cmlwdFZhbHVlKDAsIDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDYuMzdlLTgpIDw9
PiBRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCA2
LjM3ZS04KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjYuMzdlLThcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgLTYuMzdlLTgpIDw9PiBRU2NyaXB0VmFsdWUoLTYuMzdlLTgpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIC02LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKDAsIC02LjM3ZS04KSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIC02
LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCItNi4zN2UtOFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDQzMjExMjM0KSA8
PT4gUVNjcmlwdFZhbHVlKDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4NDMy
MTEyMzQpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgMHg0MzIxMTIzNCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4NDMyMTEyMzQpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4NDMyMTEyMzQpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
MHg0MzIxMTIzNFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAwKSA8PT4gUVNjcmlw
dFZhbHVlKDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDApIDw9PiBRU2Ny
aXB0VmFsdWUoMCwgMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMCkgPD0+
IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4
MTAwMDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMFwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCAweDEwMDAxKSA8PT4gUVNjcmlwdFZhbHVlKDB4MTAwMDEpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIDB4MTAwMDEpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDEpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
MHgxMDAwMVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIDw9PiBRU2NyaXB0VmFs
dWUocUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIDw9PiBRU2NyaXB0VmFs
dWUoXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIDw9PiBRU2Ny
aXB0VmFsdWUoMCwgcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIDw9PiBR
U2NyaXB0VmFsdWUoMCwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxSW5m
KCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgcUluZigpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkluZmluaXR5
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoLXFJ
bmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgLXFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShc
Ii1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtcUluZigpKSA8PT4gUVNjcmlw
dFZhbHVlKDAsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIDw9PiBR
U2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgLXFJ
bmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIC1xSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0eVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtcUluZigpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIi1J
bmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIk5hTlwiKSA8PT4gUVNjcmlwdFZh
bHVlKFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiTmFOXCIpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgXCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJOYU5cIikgPD0+IFFT
Y3JpcHRWYWx1ZShlbmdpbmUsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiSW5m
aW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IFwiSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIFwiSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBc
IkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiSW5maW5pdHlcIikgPD0+IFFT
Y3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJJbmZp
bml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCBcIkluZmluaXR5XCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiSW5maW5p
dHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRW
YWx1ZSgtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSA8PT4g
UVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiLUlu
ZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVu
Z2luZSwgLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikgPD0+
IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIFwiLUluZmluaXR5XCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5XCIpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKFwiY2lhb1wi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZShRU3Ry
aW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJjaWFv
XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFv
XCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZShl
bmdpbmUsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikgPD0+IFFT
Y3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydc
IikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikp
IDw9PiBRU2NyaXB0VmFsdWUoXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJp
bmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21M
YXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nOjpmcm9tTGF0
aW4xKFwiY2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2NyaXB0VmFs
dWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEo
XCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGluMShc
ImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJj
aWFvXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGZhbHNlKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJp
bmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2Ny
aXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIp
KSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3Ry
aW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJp
bmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwg
UVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkgPD0+
IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
UVN0cmluZyhcIlwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnBy
b3RvdHlwZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFT
dHJpbmcoXCJcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRl
KFwiMC4wXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwi
KSkgPD0+IGVuZ2luZS0+bmV3QXJyYXkoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5n
KCkpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJp
bmcoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5n
KCkpIDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5n
KCkpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmco
XCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1
ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkgPD0+IFFT
Y3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5n
KCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBR
U3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZygpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCJmYWxzZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIDw9PiBlbmdpbmUt
PmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmco
KSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBR
U3RyaW5nKCkpIDw9PiBlbmdpbmUtPm5ld0FycmF5KCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
UVN0cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhc
IjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlw
dFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkg
PD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwi
MFwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFT
dHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUs
IGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIp
KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBR
U3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIwXCIpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCJmYWxzZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmco
XCIwXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBRU3RyaW5nKFwiMFwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wiKSkgPD0+IFFTY3JpcHRWYWx1ZSgxMjMu
MCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wiKSkgPD0+IFFTY3JpcHRW
YWx1ZShRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwi
MTIzXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCBRU3RyaW5nKFwiMTIzXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCAxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wi
KSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTIz
LjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wiKSkgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwi
MTIuM1wiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIuM1wiKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gUVNj
cmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1
ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBR
U2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRW
YWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlw
dFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6
Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVu
ZGVmaW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRl
ZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVu
ZGVmaW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxs
VmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmlu
ZWRWYWx1ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZh
bHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+
IGVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0
VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBRU2Ny
aXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShRU2Ny
aXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0
VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVm
aW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVs
bFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3JpcHRW
YWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
Int9XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFs
dWUpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBlbmdpbmUtPmV2YWx1YXRl
KFwibnVsbFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVs
bFZhbHVlKSA8PT4gZW5naW5lLT5udWxsVmFsdWUoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gZW5naW5lLT51bmRlZmluZWRWYWx1ZSgp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdHJ1ZSkgPD0+IFFTY3JpcHRWYWx1ZSh0cnVl
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHRydWUpIDw9PiBRU2NyaXB0VmFsdWUoMCwg
dHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVlKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgdHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVlKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcInRydWVcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxz
ZSkgPD0+IFFTY3JpcHRWYWx1ZShmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBm
YWxzZSkgPD0+IFFTY3JpcHRWYWx1ZSgwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZh
bHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBm
YWxzZSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCBmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBm
YWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkgPD0+IFFTY3JpcHRWYWx1
ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZh
bHNlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCBmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZh
bHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZh
bHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJh
eSgpXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiZmFsc2VcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFs
c2UpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgZmFsc2UpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCBmYWxzZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkgPD0+IGVuZ2luZS0+bmV3QXJyYXkoKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGludCgxMjIpKSA8PT4gUVNjcmlwdFZhbHVlKGludCgx
MjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGludCgxMjIpKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGludCgxMjIpKSA8
PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgaW50KDEyMikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTIyXCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQpKSA8PT4gUVNjcmlwdFZhbHVlKHVpbnQoMTI0KSki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB1aW50KDEyNCkpIDw9PiBRU2NyaXB0VmFsdWUo
MCwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQoMTI0KSkgPD0+
IFFTY3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCB1aW50KDEyNCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+IFFTY3JpcHRWYWx1ZShmYWxzZSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMCkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDApIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIDApIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBmYWxzZSki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5n
KFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIDw9PiBRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIDw9PiBRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIDApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIDApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
ZmFsc2VcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcIjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4gZW5naW5lLT5l
dmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAp
IDw9PiBlbmdpbmUtPm5ld0FycmF5KCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjAp
IDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4w
KSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSA8
PT4gUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIDw9
PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhc
IlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAw
LjApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5n
KFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IFFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIDw9
PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCAwLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90
eXBlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgMC4wKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCAwLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgMC4wKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IGVuZ2luZS0+bmV3QXJyYXkoKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4wKSA8PT4gUVNjcmlwdFZhbHVlKDEyMy4w
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4wKSA8PT4gUVNjcmlwdFZhbHVlKFFT
dHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMTIzLjApIDw9PiBR
U2NyaXB0VmFsdWUoMCwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMTIzLjAp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCAxMjMuMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4wKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0
cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCkgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCIxMjMuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDEy
My4wKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZSg2LjM3ZS04KSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgpIDw9PiBRU2NyaXB0VmFsdWUoMCwgNi4zN2UtOCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3ZS04KSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIjYuMzdlLThcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAt
Ni4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZSgtNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCAtNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCAtNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIC02
LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSA8PT4gZW5naW5l
LT5ldmFsdWF0ZShcIi02LjM3ZS04XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHg0
MzIxMTIzNCkgPD0+IFFTY3JpcHRWYWx1ZSgweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIDB4NDMyMTEyMzQpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDQzMjExMjM0KSA8PT4gUVNjcmlwdFZhbHVlKGVu
Z2luZSwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDQzMjExMjM0
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjB4NDMyMTEyMzRcIikiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCAweDEwMDAwKSA8PT4gUVNjcmlwdFZhbHVlKDB4MTAwMDApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAweDEwMDAwKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDApIDw9PiBRU2NyaXB0VmFsdWUoZW5n
aW5lLCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDApIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IDB4MTAwMDEpIDw9PiBRU2NyaXB0VmFsdWUoMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCAweDEwMDAxKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDEpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAw
MDEpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMSkgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCIweDEwMDAxXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcUluZigpKSA8
PT4gUVNjcmlwdFZhbHVlKHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5m
KCkpIDw9PiBRU2NyaXB0VmFsdWUoXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiSW5maW5pdHlcIiki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5n
aW5lLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcUluZigpKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIHFJbmYoKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJJbmZpbml0eVwiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoLXFJbmYoKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAtcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKFwiLUlu
ZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCAtcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCAtcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwg
XCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAtcUluZigpKSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFwiTmFOXCIpIDw9PiBRU2NyaXB0VmFsdWUoXCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBcIk5hTlwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiTmFOXCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJOYU5cIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFwi
TmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSA8PT4gUVNj
cmlwdFZhbHVlKHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIkluZmluaXR5
XCIpIDw9PiBRU2NyaXB0VmFsdWUoXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIFwiSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwi
SW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIkluZmluaXR5XCIpIDw9
PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgXCJJbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIikgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmlu
aXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgw
LCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIpIDw9
PiBRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIi1J
bmZpbml0eVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKFwiY2lhb1wiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKFFT
dHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZyb21M
YXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiY2lhb1wiKSA8
PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgXCJjaWFvXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nOjpmcm9tTGF0
aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShcImNpYW9c
IikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lh
b1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkg
PD0+IFFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3Ry
aW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBR
U3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFwi
Y2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEo
XCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGluMShc
ImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGlu
MShcImNpYW9cIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJ2NpYW8nXCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZShmYWxzZSki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZh
bHVlKDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkgPD0+IFFT
Y3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwi
KSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwg
ZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkgPD0+IFFT
Y3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJc
IikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8
PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUs
IDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiW11cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIp
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibmV3
IEFycmF5KClcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgUVN0cmluZyhcIlwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIw
LjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8PT4gZW5n
aW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmlu
ZyhcIlwiKSkgPD0+IGVuZ2luZS0+bmV3QXJyYXkoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShmYWxzZSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoMCkiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwi
XCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRW
YWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVl
KDAsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9
PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5n
aW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmco
KSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
QXJyYXkucHJvdG90eXBlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygp
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgUVN0cmluZygpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSA8PT4gZW5naW5lLT5ldmFsdWF0
ZShcIjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmlu
ZygpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVN0cmluZygpKSA8PT4gZW5naW5lLT5uZXdBcnJheSgpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUo
MCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikp
IDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVN0cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwg
MCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBc
IikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBmYWxz
ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhc
IjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5n
KFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFFTdHJpbmcoXCIwXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIw
LjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3Ry
aW5nKFwiMTIzXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEy
M1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMTIzXCIpKSA8PT4g
UVNjcmlwdFZhbHVlKDAsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmcoXCIxMjNcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMTIzXCIpKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEy
M1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSkgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCIxMjMuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNc
IikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCBRU3RyaW5nKFwiMS4yM1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmcoXCIxLjIzXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSA8PT4gUVNjcmlw
dFZhbHVlKGZhbHNlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSA8PT4gUVNjcmlw
dFZhbHVlKDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIDw9PiBRU2NyaXB0VmFs
dWUoMC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSA8PT4gUVNjcmlwdFZhbHVl
KFFTdHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIDw9PiBRU2Ny
aXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSA8PT4g
UVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIDw9
PiBRU2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIltdXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJbXVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4w
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikgPD0+IFFT
Y3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
W11cIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJbXVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiW11cIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiW11cIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1
ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIDw9PiBR
U2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcInt9XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRW
YWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwie31cIikgPD0+IFFTY3JpcHRWYWx1ZSgw
LCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwie31c
IikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwie31c
IikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCJ7fVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCJ7fVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwie31cIikgPD0+IGVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwie31cIikgPD0+IGVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3QucHJvdG90eXBlXCIpIDw9PiBlbmdpbmUt
PmV2YWx1YXRlKFwiT2JqZWN0LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCJEYXRlLnByb3RvdHlwZVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkRhdGUucHJvdG90eXBl
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSA8PT4gUVNj
cmlwdFZhbHVlKGZhbHNlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5
cGVcIikgPD0+IFFTY3JpcHRWYWx1ZSgwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJh
eS5wcm90b3R5cGVcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSA8PT4gUVNjcmlw
dFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90
eXBlXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIkFycmF5LnByb3RvdHlwZVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAu
MCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIDw9PiBRU2Ny
aXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJy
YXkucHJvdG90eXBlXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIGZhbHNlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFy
cmF5LnByb3RvdHlwZVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3Rv
dHlwZVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJB
cnJheS5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90
eXBlXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikgPD0+IGVuZ2luZS0+
ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90
eXBlXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiRnVuY3Rpb24ucHJvdG90eXBlXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rp
b24ucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkVycm9yLnByb3RvdHlw
ZVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkVycm9yLnByb3RvdHlwZVwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3Rc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXlcIikgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCJBcnJheVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOdW1iZXJcIikgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCJOdW1iZXJcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRnVu
Y3Rpb25cIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvblwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSA8PT4gUVNjcmlwdFZhbHVlKGZhbHNlKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIDw9PiBRU2NyaXB0VmFs
dWUoMC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSA8PT4gUVNj
cmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBB
cnJheSgpXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJuZXcgQXJyYXkoKVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIDw9PiBRU2NyaXB0VmFs
dWUoMCwgMC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSA8PT4g
UVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
Im5ldyBBcnJheSgpXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwg
ZmFsc2UpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIDw9PiBRU2Ny
aXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXko
KVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJuZXcgQXJyYXkoKVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwi
KSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikgPD0+IFFTY3JpcHRW
YWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFy
cmF5KClcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCIwLjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJhID0g
bmV3IE9iamVjdCgpOyBhLmZvbyA9IDIyOyBhLmZvb1wiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
ImEgPSBuZXcgT2JqZWN0KCk7IGEuZm9vID0gMjI7IGEuZm9vXCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcInVuZGVmaW5lZFwiKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5k
ZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSA8PT4g
UVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJ1bmRlZmluZWRcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVu
ZGVmaW5lZFZhbHVlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikgPD0+
IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0
VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmlu
ZWRcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCJ7fVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
dW5kZWZpbmVkXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikgPD0+IGVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIDw9PiBlbmdpbmUtPnVuZGVmaW5lZFZh
bHVlKCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSA8PT4gUVNjcmlwdFZhbHVl
KFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
Im51bGxcIikgPD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRW
YWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikg
PD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwibnVsbFwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZh
bHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSA8
PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
dW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCJudWxsXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikg
PD0+IGVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwi
KSA8PT4gZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
InRydWVcIikgPD0+IFFTY3JpcHRWYWx1ZSh0cnVlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCJ0cnVlXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgdHJ1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwidHJ1ZVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgdHJ1ZSkiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwidHJ1ZVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInRydWVcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikgPD0+IFFTY3JpcHRWYWx1ZShmYWxzZSki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikgPD0+IFFTY3JpcHRWYWx1ZSgwKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAuMCki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikgPD0+IFFTY3JpcHRWYWx1ZShRU3Ry
aW5nKFwiXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8PT4gUVNjcmlw
dFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikgPD0+
IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
ZmFsc2VcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiZmFsc2VcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJmYWxzZVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiZmFsc2VcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFT
dHJpbmcoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikgPD0+IFFTY3JpcHRW
YWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2Vc
IikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJmYWxzZVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiZmFsc2VcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIDw9PiBRU2Ny
aXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZh
bHNlXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJbXVwiKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
IkFycmF5LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcImZhbHNlXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
MC4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiJydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2Vc
IikgPD0+IGVuZ2luZS0+bmV3QXJyYXkoKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjJc
IikgPD0+IFFTY3JpcHRWYWx1ZShpbnQoMTIyKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
MTIyXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgaW50KDEyMikpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIjEyMlwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIjEyMlwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjEyMlwiKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjRcIikgPD0+IFFTY3JpcHRWYWx1ZSh1aW50KDEy
NCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyNFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IHVpbnQoMTI0KSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIDw9PiBRU2NyaXB0
VmFsdWUoZW5naW5lLCB1aW50KDEyNCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyNFwi
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjEyNFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCIwXCIpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIp
IDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIDw9
PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
MFwiKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiMFwiKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCIwXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCIwXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCIwXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJp
bmcoXCIwXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCBmYWxzZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIp
IDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCIwXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmcoXCIwXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiW11cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4gZW5naW5l
LT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCIwXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
IicnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCInMCdcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4gZW5naW5lLT5u
ZXdBcnJheSgpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8PT4gUVNjcmlwdFZh
bHVlKGZhbHNlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikgPD0+IFFTY3JpcHRW
YWx1ZSgwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikgPD0+IFFTY3JpcHRWYWx1
ZSgwLjApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8PT4gUVNjcmlwdFZhbHVl
KFFTdHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8PT4gUVNj
cmlwdFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIDw9
PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IjAuMFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCIwLjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCIwLjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIjAuMFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0
cmluZyhcIjBcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8PT4gUVNjcmlw
dFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8
PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4w
XCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIjAuMFwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3Ry
aW5nKCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwi
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IjAuMFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJy
YXkoKVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIw
LjBcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCIwLjBcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBlbmdpbmUtPm5ld0FycmF5KCkiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiMTIzLjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgxMjMuMCkiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiMTIzLjBcIikgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIp
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMuMFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IDEyMy4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMuMFwiKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyMy4w
XCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCkiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiMTIzLjBcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyMy4wXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRl
KFwiMTIzLjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIikgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCI2LjM3ZS04
XCIpIDw9PiBRU2NyaXB0VmFsdWUoNi4zN2UtOCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
Ni4zN2UtOFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDYuMzdlLTgpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIjYuMzdlLThcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjYuMzdlLThcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCI2LjM3ZS04XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi02LjM3ZS04XCIpIDw9PiBR
U2NyaXB0VmFsdWUoLTYuMzdlLTgpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi02LjM3ZS04
XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgLTYuMzdlLTgpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIi02LjM3ZS04XCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAtNi4zN2UtOCkiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiLTYuMzdlLThcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIt
Ni4zN2UtOFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDQzMjExMjM0XCIpIDw9PiBR
U2NyaXB0VmFsdWUoMHg0MzIxMTIzNCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHg0MzIx
MTIzNFwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDB4NDMyMTEyMzQpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIjB4NDMyMTEyMzRcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4NDMyMTEy
MzQpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4NDMyMTEyMzRcIikgPD0+IGVuZ2luZS0+
ZXZhbHVhdGUoXCIweDQzMjExMjM0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAw
MDBcIikgPD0+IFFTY3JpcHRWYWx1ZSgweDEwMDAwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCIweDEwMDAwXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMCkiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiMHgxMDAwMFwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMCki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0
ZShcIjB4MTAwMDBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMVwiKSA8PT4g
UVNjcmlwdFZhbHVlKDB4MTAwMDEpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDFc
IikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAweDEwMDAxKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCIweDEwMDAxXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAxKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCIweDEwMDAxXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAw
MVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJJbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZh
bHVlKHFJbmYoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiSW5maW5pdHlcIikgPD0+IFFT
Y3JpcHRWYWx1ZShcIkluZmluaXR5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkluZmlu
aXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgcUluZigpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJJbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiSW5maW5pdHlcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUs
IHFJbmYoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiSW5maW5pdHlcIikgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
SW5maW5pdHlcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJJbmZpbml0eVwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgtcUluZigpKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShc
Ii1JbmZpbml0eVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItSW5maW5pdHlcIikgPD0+
IFFTY3JpcHRWYWx1ZSgwLCAtcUluZigpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItSW5m
aW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5m
KCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZh
bHVlKGVuZ2luZSwgXCItSW5maW5pdHlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLUlu
ZmluaXR5XCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5XCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKFwiY2lhb1wiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5n
Ojpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJ2NpYW8n
XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIidjaWFvJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJj
aWFvXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikgPD0+IFFTY3JpcHRW
YWx1ZShlbmdpbmUsIFwiY2lhb1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydc
IikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIp
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCInY2lhbydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikgPD0+IFFTY3Jp
cHRWYWx1ZShmYWxzZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikgPD0+IFFTY3Jp
cHRWYWx1ZSgwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8PT4gUVNjcmlwdFZh
bHVlKDAuMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikgPD0+IFFTY3JpcHRWYWx1
ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8PT4gUVNj
cmlwdFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikgPD0+
IFFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikg
PD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikg
PD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCInJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiJydcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAu
MCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIDw9PiBR
U2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IicnXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiJydcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcg
QXJyYXkoKVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8PT4gZW5naW5lLT5l
dmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIn
J1wiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIicnXCIpIDw9PiBlbmdpbmUtPm5ld0FycmF5KCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiJzAnXCIpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIicwJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IicwJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
JzAnXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIicwJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCInMCdcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCInMCdcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIicwJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIp
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIGZhbHNlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikgPD0+IFFTY3JpcHRW
YWx1ZShlbmdpbmUsIDApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCInMCdcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAu
MFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCInMCdcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIikgPD0+IFFTY3Jp
cHRWYWx1ZSgxMjMuMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIikgPD0+IFFT
Y3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIn
MTIzJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDEyMy4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCInMTIzJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAx
MjMuMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIikgPD0+IFFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicx
MjMnXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiJzEyMydcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCInMTIuNCdcIikgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwi
MTIuNFwiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyLjQnXCIpIDw9PiBlbmdpbmUt
PmV2YWx1YXRlKFwiJzEyLjQnXCIpIiwKLSAgICAiZW5naW5lLT5udWxsVmFsdWUoKSA8PT4gUVNj
cmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5naW5lLT5u
dWxsVmFsdWUoKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0g
ICAgImVuZ2luZS0+bnVsbFZhbHVlKCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6
OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgImVuZ2luZS0+bnVsbFZhbHVlKCkgPD0+IFFTY3JpcHRW
YWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJlbmdpbmUtPm51bGxWYWx1
ZSgpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVl
KSIsCi0gICAgImVuZ2luZS0+bnVsbFZhbHVlKCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
Y3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgImVuZ2luZS0+bnVsbFZhbHVlKCkgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSIsCi0gICAgImVuZ2luZS0+bnVsbFZhbHVlKCkgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJlbmdpbmUtPm51bGxWYWx1ZSgp
IDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSIsCi0gICAgImVuZ2luZS0+bnVsbFZhbHVl
KCkgPD0+IGVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAgICJlbmdpbmUtPm51bGxWYWx1ZSgpIDw9
PiBlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkiLAotICAgICJlbmdpbmUtPnVuZGVmaW5lZFZhbHVl
KCkgPD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAg
ImVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6
TnVsbFZhbHVlKSIsCi0gICAgImVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5naW5lLT51bmRl
ZmluZWRWYWx1ZSgpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUp
IiwKLSAgICAiZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgImVuZ2luZS0+dW5kZWZpbmVk
VmFsdWUoKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUp
IiwKLSAgICAiZW5naW5lLT51bmRlZmluZWRWYWx1ZSgpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
e31cIikiLAotICAgICJlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkgPD0+IGVu
Z2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIiwKLSAgICAiZW5naW5lLT51bmRlZmluZWRWYWx1ZSgp
IDw9PiBlbmdpbmUtPm51bGxWYWx1ZSgpIiwKLSAgICAiZW5naW5lLT51bmRlZmluZWRWYWx1ZSgp
IDw9PiBlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KCkg
PD0+IFFTY3JpcHRWYWx1ZShmYWxzZSkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KCkgPD0+IFFT
Y3JpcHRWYWx1ZSgwKSIsCi0gICAgImVuZ2luZS0+bmV3QXJyYXkoKSA8PT4gUVNjcmlwdFZhbHVl
KDAuMCkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KCkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5n
KFwiXCIpKSIsCi0gICAgImVuZ2luZS0+bmV3QXJyYXkoKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJp
bmcoKSkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBmYWxz
ZSkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0g
ICAgImVuZ2luZS0+bmV3QXJyYXkoKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJl
bmdpbmUtPm5ld0FycmF5KCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0g
ICAgImVuZ2luZS0+bmV3QXJyYXkoKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkiLAot
ICAgICJlbmdpbmUtPm5ld0FycmF5KCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIs
Ci0gICAgImVuZ2luZS0+bmV3QXJyYXkoKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAot
ICAgICJlbmdpbmUtPm5ld0FycmF5KCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAot
ICAgICJlbmdpbmUtPm5ld0FycmF5KCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmco
XCJcIikpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nKCkpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgpIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwiZmFsc2VcIikiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KCkgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCIwXCIpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgpIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwiMC4wXCIpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgpIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwiJydcIikifTsKLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjplcXVhbHNfZGF0YSgpCi17
Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJ2YWx1ZSIpOwotICAgIFFUZXN0
OjphZGRDb2x1bW48UVNjcmlwdFZhbHVlPigib3RoZXIiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1u
PGJvb2w+KCJleHBlY3RlZCIpOwotICAgIGlmIChtX2VuZ2luZSkKLSAgICAgICAgZGVsZXRlIG1f
ZW5naW5lOwotICAgIG1fZW5naW5lID0gbmV3IFFTY3JpcHRFbmdpbmUoKTsKLSAgICBRU2V0PFFT
dHJpbmc+IGVxdWFsczsKLSAgICBlcXVhbHMucmVzZXJ2ZSgxMTExKTsKLSAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgMTExMTsgKytpKQotICAgICAgICBlcXVhbHMuaW5zZXJ0KGVxdWFsc19h
cnJheVtpXSk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IDEzNTsgKytpKSB7Ci0gICAg
ICAgIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4gdmFsdWUxID0gaW5pdFNjcmlwdFZhbHVl
cyhpKTsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8IDEzNTsgKytqKSB7Ci0gICAg
ICAgICAgICBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+IHZhbHVlMiA9IGluaXRTY3JpcHRW
YWx1ZXMoaik7Ci0gICAgICAgICAgICBRU3RyaW5nIHRhZyA9IFFTdHJpbmc6OmZyb21MYXRpbjEo
IiUyMCA8PT4gJTIxIikuYXJnKHZhbHVlMS5maXJzdCwgdmFsdWUyLmZpcnN0KTsKLSAgICAgICAg
ICAgIFFUZXN0OjpuZXdSb3codGFnLnRvQXNjaWkoKS5jb25zdERhdGEoKSkgPDwgdmFsdWUxLnNl
Y29uZCA8PCB2YWx1ZTIuc2Vjb25kIDw8IGVxdWFscy5jb250YWlucyh0YWcpOyAgICAgICAgfQot
ICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjplcXVhbHMoKQotewotICAgIFFGRVRD
SChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCBvdGhlcik7
Ci0gICAgUUZFVENIKGJvb2wsIGV4cGVjdGVkKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRW
YWx1ZShxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLCAiRklYTUU6IFdl
YktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFs
dWUocUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiLUluZmluaXR5XCIpIiwgIkZJWE1FOiBX
ZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZh
bHVlKC1xSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLCAiRklYTUU6IFdl
YktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFs
dWUoLXFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSIsICJGSVhNRTog
V2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRW
YWx1ZShcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKHFJbmYoKSkiLCAiRklYTUU6IFdl
YktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFs
dWUoXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgtcUluZigpKSIsICJGSVhNRTogV2Vi
S2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1
ZShcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIHFJbmYoKSkiLCAiRklYTUU6IFdl
YktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFs
dWUoXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAtcUluZigpKSIsICJGSVhNRTog
V2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRW
YWx1ZSgwLCBxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLCAiRklYTUU6
IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0
VmFsdWUoMCwgcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiLUluZmluaXR5XCIpIiwgIkZJ
WE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNj
cmlwdFZhbHVlKDAsIC1xSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLCAi
RklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJR
U2NyaXB0VmFsdWUoMCwgLXFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwi
KSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZB
SUwoIlFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKHFJbmYo
KSkiLCAiRklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9G
QUlMKCJRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgtcUlu
ZigpKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNU
X0ZBSUwoIlFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAs
IHFJbmYoKSkiLCAiRklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVY
UEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1
ZSgwLCAtcUluZigpKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAg
ICBRQ09NUEFSRSh2YWx1ZS5lcXVhbHMob3RoZXIpLCBleHBlY3RlZCk7Ci19Ci0KLXN0YXRpYyBj
b25zdCBRU3RyaW5nIHN0cmljdGx5RXF1YWxzX2FycmF5W10gPSB7Ci0gICAgIlFTY3JpcHRWYWx1
ZSgpIDw9PiBRU2NyaXB0VmFsdWUoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6
OlVuZGVmaW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVk
VmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRW
YWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBlbmdpbmUtPmV2YWx1YXRl
KFwie31cIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1
ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJRU2NyaXB0VmFs
dWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IGVuZ2luZS0+dW5kZWZpbmVkVmFs
dWUoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFT
Y3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUo
UVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVl
OjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVl
KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcIm51bGxcIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFs
dWUpIDw9PiBlbmdpbmUtPm51bGxWYWx1ZSgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHRydWUpIDw9
PiBRU2NyaXB0VmFsdWUodHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUodHJ1ZSkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh0cnVlKSA8PT4gUVNjcmlwdFZh
bHVlKGVuZ2luZSwgdHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUodHJ1ZSkgPD0+IGVuZ2luZS0+
ZXZhbHVhdGUoXCJ0cnVlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNlKSA8PT4gUVNjcmlw
dFZhbHVlKGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkgPD0+IFFTY3JpcHRWYWx1
ZSgwLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZmFsc2UpIDw9PiBlbmdpbmUtPmV2
YWx1YXRlKFwiZmFsc2VcIikiLAotICAgICJRU2NyaXB0VmFsdWUoaW50KDEyMikpIDw9PiBRU2Ny
aXB0VmFsdWUoaW50KDEyMikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGludCgxMjIpKSA8PT4gUVNj
cmlwdFZhbHVlKDAsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShpbnQoMTIyKSkgPD0+
IFFTY3JpcHRWYWx1ZShlbmdpbmUsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShpbnQo
MTIyKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIxMjJcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
dWludCgxMjQpKSA8PT4gUVNjcmlwdFZhbHVlKHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFs
dWUodWludCgxMjQpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIHVpbnQoMTI0KSkiLAotICAgICJRU2Ny
aXB0VmFsdWUodWludCgxMjQpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSh1aW50KDEyNCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTI0
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIDw9PiBRU2NyaXB0VmFsdWUoMCkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDApIDw9PiBRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCkgPD0+IFFT
Y3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4gUVNjcmlwdFZhbHVlKGVu
Z2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShc
IjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBc
IikiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjAp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjApIDw9PiBR
U2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjApIDw9PiBRU2Ny
aXB0VmFsdWUoZW5naW5lLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkgPD0+IGVuZ2luZS0+
ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMTIzLjApIDw9PiBRU2NyaXB0
VmFsdWUoMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDEyMy4wKSA8PT4gUVNjcmlwdFZhbHVl
KDAsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgxMjMuMCkgPD0+IFFTY3JpcHRWYWx1ZShl
bmdpbmUsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgxMjMuMCkgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCIxMjMuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSg2LjM3ZS04KSA8PT4gUVNjcmlw
dFZhbHVlKDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDYuMzdlLTgpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoNi4zN2UtOCkgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDYuMzdlLTgpIDw9
PiBlbmdpbmUtPmV2YWx1YXRlKFwiNi4zN2UtOFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgtNi4z
N2UtOCkgPD0+IFFTY3JpcHRWYWx1ZSgtNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoLTYu
MzdlLTgpIDw9PiBRU2NyaXB0VmFsdWUoMCwgLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KC02LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgLTYuMzdlLTgpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKC02LjM3ZS04KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIi02LjM3ZS04XCIpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDB4NDMyMTEyMzQpIDw9PiBRU2NyaXB0VmFsdWUoMHg0MzIxMTIz
NCkiLAotICAgICJRU2NyaXB0VmFsdWUoMHg0MzIxMTIzNCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAw
eDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDQzMjExMjM0KSA8PT4gUVNjcmlwdFZh
bHVlKGVuZ2luZSwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoMHg0MzIxMTIzNCkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIweDQzMjExMjM0XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDB4MTAwMDApIDw9PiBRU2NyaXB0VmFsdWUoMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUo
MHgxMDAwMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgweDEwMDAwKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMHgxMDAwMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAwXCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDB4MTAwMDEpIDw9PiBRU2NyaXB0VmFsdWUoMHgxMDAwMSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMHgxMDAwMSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAweDEwMDAxKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAxKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAw
MSkiLAotICAgICJRU2NyaXB0VmFsdWUoMHgxMDAwMSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIw
eDEwMDAxXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShx
SW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBx
SW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUocUluZigpKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC1xSW5mKCkpIDw9PiBRU2Ny
aXB0VmFsdWUoLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoLXFJbmYoKSkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgtcUluZigpKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoLXFJbmYoKSkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
XCJOYU5cIikgPD0+IFFTY3JpcHRWYWx1ZShcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShc
Ik5hTlwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KFwiTmFOXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcIk5hTlwiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShcIkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoXCJJbmZpbml0eVwiKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgXCJJbmZp
bml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCBcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiLUluZmluaXR5
XCIpIDw9PiBRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
XCItSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCIt
SW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCJjaWFvXCIpIDw9PiBRU2NyaXB0VmFs
dWUoXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZh
bHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShc
ImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFs
dWUoXCJjaWFvXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNp
YW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVu
Z2luZSwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiY2lhb1wiKSA8PT4gUVNjcmlw
dFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFwiY2lhb1wiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkgPD0+IFFTY3Jp
cHRWYWx1ZShcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGlu
MShcImNpYW9cIikpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9c
IikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5n
Ojpmcm9tTGF0aW4xKFwiY2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nOjpmcm9t
TGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGlu
MShcImNpYW9cIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikiLAotICAgICJR
U2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRl
KFwiJ2NpYW8nXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIDw9PiBRU2Ny
aXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwi
KSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJp
bmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3Ry
aW5nKFwiXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwi
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFT
dHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSA8
PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShR
U3RyaW5nKCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJRU2NyaXB0VmFs
dWUoUVN0cmluZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJp
bmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3Ry
aW5nKFwiMFwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSA8PT4gUVNjcmlwdFZhbHVl
KDAsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMjNc
IikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicxMjMn
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMi40XCIpKSA8PT4gUVNjcmlwdFZh
bHVlKFFTdHJpbmcoXCIxMi40XCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIu
NFwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMTIuNCdcIikiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShRU2Ny
aXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0
VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6
VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5k
ZWZpbmVkVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVm
aW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5l
ZFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
dW5kZWZpbmVkXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZp
bmVkVmFsdWUpIDw9PiBlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlwdFZh
bHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVs
bFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3JpcHRW
YWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJudWxs
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4g
ZW5naW5lLT5udWxsVmFsdWUoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCB0cnVlKSA8PT4gUVNj
cmlwdFZhbHVlKHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHRydWUpIDw9PiBRU2NyaXB0
VmFsdWUoMCwgdHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgdHJ1ZSkgPD0+IFFTY3JpcHRW
YWx1ZShlbmdpbmUsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHRydWUpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwidHJ1ZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkgPD0+
IFFTY3JpcHRWYWx1ZShmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIDw9PiBR
U2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNl
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IGludCgxMjIpKSA8PT4gUVNjcmlwdFZhbHVlKGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBpbnQoMTIyKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBpbnQoMTIyKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgaW50KDEyMikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBpbnQoMTIyKSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgaW50KDEyMikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
MTIyXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHVpbnQoMTI0KSkgPD0+IFFTY3JpcHRWYWx1
ZSh1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHVpbnQoMTI0KSkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCB1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHVpbnQoMTI0KSkg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgdWludCgxMjQpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjEyNFwiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCAwKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IDApIDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwKSA8PT4g
UVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBRU2NyaXB0
VmFsdWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMCkgPD0+IFFTY3JpcHRWYWx1ZShl
bmdpbmUsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMCkgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCIwXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIDw9PiBlbmdpbmUtPmV2YWx1YXRl
KFwiMC4wXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZSgw
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoMC4wKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCAwLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIDEyMy4wKSA8PT4gUVNjcmlwdFZhbHVlKDEyMy4wKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCAxMjMuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAxMjMuMCkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgMTIzLjApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBc
IikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZSg2LjM3
ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCA2LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKDAs
IDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDYuMzdlLTgpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCA2LjM3ZS04KSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIjYuMzdlLThcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgLTYu
MzdlLTgpIDw9PiBRU2NyaXB0VmFsdWUoLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IC02LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKDAsIC02LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCAtNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCItNi4z
N2UtOFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDQzMjExMjM0KSA8PT4gUVNjcmlwdFZh
bHVlKDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4NDMyMTEyMzQpIDw9PiBR
U2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHg0MzIx
MTIzNCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIDB4NDMyMTEyMzQpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMHg0MzIxMTIzNFwi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAwKSA8PT4gUVNjcmlwdFZhbHVlKDB4MTAw
MDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDApIDw9PiBRU2NyaXB0VmFsdWUoMCwg
MHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMCkgPD0+IFFTY3JpcHRWYWx1
ZShlbmdpbmUsIDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDApIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEw
MDAxKSA8PT4gUVNjcmlwdFZhbHVlKDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4
MTAwMDEpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgMHgxMDAwMSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIDB4MTAwMDEpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUocUluZigpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoMCwgcUluZigp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHFJbmYoKSkgPD0+IGVuZ2luZS0+ZXZh
bHVhdGUoXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtcUluZigpKSA8PT4g
UVNjcmlwdFZhbHVlKC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIDw9
PiBRU2NyaXB0VmFsdWUoMCwgLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgLXFJbmYo
KSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIC1xSW5mKCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5XCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIFwiTmFOXCIpIDw9PiBRU2NyaXB0VmFsdWUoXCJOYU5cIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgXCJOYU5cIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIk5hTlwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIk5hTlwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwg
XCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJJbmZpbml0eVwiKSA8PT4gUVNjcmlw
dFZhbHVlKFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJJbmZpbml0eVwi
KSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgXCJJbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKFwi
LUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiLUluZmluaXR5XCIpIDw9PiBR
U2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCIt
SW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKFwiY2lhb1wiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5n
Ojpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwi
Y2lhb1wiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCBcImNpYW9cIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIiki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9
PiBRU2NyaXB0VmFsdWUoXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6
OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRp
bjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nOjpmcm9tTGF0aW4x
KFwiY2lhb1wiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIDw9PiBRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwg
XCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJj
aWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNp
YW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFv
XCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmlu
ZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZh
bHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJc
IikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRWYWx1ZShl
bmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3Ry
aW5nKCkpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBR
U3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRW
YWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJp
bmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZygpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmco
XCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3Jp
cHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmlu
ZyhcIjBcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
JzAnXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIDw9PiBRU2Ny
aXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmlu
ZyhcIjEyM1wiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIzXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEy
M1wiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBRU3RyaW5nKFwiMTIuM1wiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIu
M1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5l
ZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkg
PD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBR
U2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwie31cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2Ny
aXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5l
ZFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVk
VmFsdWUpIDw9PiBlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0
VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFs
dWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1
ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gZW5naW5l
LT5ldmFsdWF0ZShcIm51bGxcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0
VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IGVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCB0cnVlKSA8PT4gUVNjcmlwdFZhbHVlKHRydWUpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgdHJ1ZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCB0cnVlKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIHRydWUpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVlKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHRydWUpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
dHJ1ZVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4gUVNjcmlwdFZh
bHVlKGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4gUVNjcmlw
dFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
ZmFsc2UpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBpbnQoMTIyKSkgPD0+IFFTY3JpcHRWYWx1ZShpbnQoMTIyKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCBpbnQoMTIyKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBpbnQoMTIy
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBpbnQoMTIyKSkgPD0+IFFTY3JpcHRWYWx1
ZShlbmdpbmUsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGludCgxMjIp
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjEyMlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIHVpbnQoMTI0KSkgPD0+IFFTY3JpcHRWYWx1ZSh1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgdWludCgxMjQpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIHVpbnQoMTI0KSki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB1aW50KDEyNCkpIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCB1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQp
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjEyNFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIDApIDw9PiBRU2NyaXB0VmFsdWUoMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAw
KSA8PT4gUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+
IFFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkgPD0+
IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMCkg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCAwKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCAwKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgMC4wKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCAwLjApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIDAuMCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBc
IikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCkgPD0+IFFTY3JpcHRWYWx1ZSgx
MjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCkgPD0+IFFTY3JpcHRWYWx1
ZSgwLCAxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCkgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4w
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjEyMy4wXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZSg2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIDYuMzdlLTgpIDw9PiBRU2NyaXB0VmFsdWUoMCwgNi4zN2UtOCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3ZS04KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwg
Ni4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3ZS04KSA8PT4gZW5naW5l
LT5ldmFsdWF0ZShcIjYuMzdlLThcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAtNi4z
N2UtOCkgPD0+IFFTY3JpcHRWYWx1ZSgtNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCAtNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCAtNi4zN2UtOCkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3
ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSA8PT4gZW5naW5lLT5l
dmFsdWF0ZShcIi02LjM3ZS04XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHg0MzIx
MTIzNCkgPD0+IFFTY3JpcHRWYWx1ZSgweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIDB4NDMyMTEyMzQpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDQzMjExMjM0KSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDQzMjExMjM0KSA8
PT4gZW5naW5lLT5ldmFsdWF0ZShcIjB4NDMyMTEyMzRcIikiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCAweDEwMDAwKSA8PT4gUVNjcmlwdFZhbHVlKDB4MTAwMDApIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgMHgxMDAwMCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCAweDEwMDAwKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDApIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5l
LCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDApIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiMHgxMDAwMFwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4
MTAwMDEpIDw9PiBRU2NyaXB0VmFsdWUoMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCAweDEwMDAxKSA8PT4gUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDEpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgMHgxMDAwMSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMSkgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCIweDEwMDAxXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcUluZigpKSA8PT4g
UVNjcmlwdFZhbHVlKHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5mKCkp
IDw9PiBRU2NyaXB0VmFsdWUoMCwgcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IHFJbmYoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCBxSW5mKCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiSW5maW5pdHlcIiki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAtcUluZigpKSA8PT4gUVNjcmlwdFZhbHVlKC1x
SW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkgPD0+IFFTY3JpcHRW
YWx1ZSgwLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkpIDw9
PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIC1xSW5mKCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5XCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJOYU5cIikgPD0+IFFTY3JpcHRWYWx1ZShcIk5hTlwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiTmFOXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwg
XCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIk5hTlwiKSA8PT4gUVNjcmlw
dFZhbHVlKGVuZ2luZSwgXCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIklu
ZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBcIkluZmluaXR5
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSA8PT4gUVNjcmlw
dFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFwiLUluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFwi
LUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCItSW5maW5pdHlcIikg
PD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgXCJjaWFvXCIpIDw9PiBRU2NyaXB0VmFsdWUoXCJjaWFvXCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZzo6
ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFv
XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgXCJjaWFvXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShc
ImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIDw9PiBRU2Ny
aXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBc
ImNpYW9cIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJj
aWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiY2lhb1wiKSA8PT4gZW5naW5l
LT5ldmFsdWF0ZShcIidjaWFvJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFwiY2lhb1wiKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8
PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNj
cmlwdFZhbHVlKDAsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZy
b21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6
OmZyb21MYXRpbjEoXCJjaWFvXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9c
IikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wi
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lh
b1wiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkgPD0+IFFTY3JpcHRW
YWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwi
KSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmcoXCJcIikpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCInJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkgPD0+IFFTY3Jp
cHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFT
dHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBRU2Ny
aXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTdHJpbmcoKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
JydcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFT
Y3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBR
U3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkgPD0+IFFTY3JpcHRWYWx1ZShl
bmdpbmUsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmcoXCIwXCIpKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIDw9PiBRU2NyaXB0VmFsdWUoUVN0cmluZyhc
IjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMTIzXCIpKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wi
KSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIFFTdHJpbmcoXCIxLjIzXCIpKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmlu
ZyhcIjEuMjNcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIDw9PiBRU2NyaXB0
VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwie31cIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZh
bHVlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwie31cIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJ7fVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSA8PT4gZW5naW5lLT51bmRlZmluZWRWYWx1ZSgp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdC5wcm90b3R5cGVcIikgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCJPYmplY3QucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIkRhdGUucHJvdG90eXBlXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiRGF0ZS5wcm90b3R5
cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIkZ1bmN0aW9uLnByb3RvdHlwZVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0
aW9uLnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJFcnJvci5wcm90b3R5
cGVcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJFcnJvci5wcm90b3R5cGVcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5XCIpIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwiQXJyYXlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiTnVtYmVyXCIpIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwiTnVtYmVyXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkZ1
bmN0aW9uXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb25cIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiYSA9IG5ldyBPYmplY3QoKTsgYS5mb28gPSAyMjsgYS5mb29cIikgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCJhID0gbmV3IE9iamVjdCgpOyBhLmZvbyA9IDIyOyBhLmZvb1wi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikgPD0+IFFTY3JpcHRWYWx1
ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCJ1bmRlZmluZWRcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5l
ZFZhbHVlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikgPD0+IFFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInt9XCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSA8PT4gZW5naW5lLT5ldmFs
dWF0ZShcInVuZGVmaW5lZFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRc
IikgPD0+IGVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCJudWxsXCIpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0
VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIm51bGxcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikgPD0+IGVuZ2luZS0+bnVsbFZhbHVlKCki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidHJ1ZVwiKSA8PT4gUVNjcmlwdFZhbHVlKHRydWUp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInRydWVcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCB0
cnVlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCB0cnVlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwidHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwi
KSA8PT4gUVNjcmlwdFZhbHVlKGZhbHNlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxz
ZVwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCJmYWxzZVwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcImZhbHNlXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIyXCIpIDw9PiBRU2NyaXB0VmFsdWUoaW50KDEyMikp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyMlwiKSA8PT4gUVNjcmlwdFZhbHVlKDAsIGlu
dCgxMjIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjJcIikgPD0+IFFTY3JpcHRWYWx1
ZShlbmdpbmUsIGludCgxMjIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjJcIikgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCIxMjJcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTI0
XCIpIDw9PiBRU2NyaXB0VmFsdWUodWludCgxMjQpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCIxMjRcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCB1aW50KDEyNCkpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIjEyNFwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQpKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjRcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIxMjRc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSA8PT4gUVNjcmlwdFZhbHVlKDApIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLjApIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjAp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIw
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCIwLjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBRU2NyaXB0VmFs
dWUoMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBRU2NyaXB0VmFsdWUo
MC4wKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgw
LCAwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikgPD0+IFFTY3JpcHRWYWx1ZSgw
LCAwLjApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8PT4gUVNjcmlwdFZhbHVl
KGVuZ2luZSwgMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIDw9PiBRU2NyaXB0
VmFsdWUoZW5naW5lLCAwLjApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSA8PT4g
ZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIp
IDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IjEyMy4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoMTIzLjApIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIjEyMy4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgMTIzLjApIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIjEyMy4wXCIpIDw9PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCkiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMu
MFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCI2LjM3ZS04XCIpIDw9PiBRU2NyaXB0VmFs
dWUoNi4zN2UtOCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiNi4zN2UtOFwiKSA8PT4gUVNj
cmlwdFZhbHVlKDAsIDYuMzdlLTgpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjYuMzdlLThc
IikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIjYuMzdlLThcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCI2LjM3ZS04XCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIi02LjM3ZS04XCIpIDw9PiBRU2NyaXB0VmFsdWUoLTYuMzdl
LTgpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi02LjM3ZS04XCIpIDw9PiBRU2NyaXB0VmFs
dWUoMCwgLTYuMzdlLTgpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi02LjM3ZS04XCIpIDw9
PiBRU2NyaXB0VmFsdWUoZW5naW5lLCAtNi4zN2UtOCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiLTYuMzdlLThcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCItNi4zN2UtOFwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCIweDQzMjExMjM0XCIpIDw9PiBRU2NyaXB0VmFsdWUoMHg0MzIx
MTIzNCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHg0MzIxMTIzNFwiKSA8PT4gUVNjcmlw
dFZhbHVlKDAsIDB4NDMyMTEyMzQpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4NDMyMTEy
MzRcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4NDMyMTEyMzQpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIjB4NDMyMTEyMzRcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCIweDQzMjEx
MjM0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDBcIikgPD0+IFFTY3JpcHRW
YWx1ZSgweDEwMDAwKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAwXCIpIDw9PiBR
U2NyaXB0VmFsdWUoMCwgMHgxMDAwMCkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAw
MFwiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMCkiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiMHgxMDAwMFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDBcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMVwiKSA8PT4gUVNjcmlwdFZhbHVlKDB4MTAw
MDEpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDFcIikgPD0+IFFTY3JpcHRWYWx1
ZSgwLCAweDEwMDAxKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAxXCIpIDw9PiBR
U2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAxKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIw
eDEwMDAxXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMVwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCJJbmZpbml0eVwiKSA8PT4gUVNjcmlwdFZhbHVlKHFJbmYoKSkiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiSW5maW5pdHlcIikgPD0+IFFTY3JpcHRWYWx1ZSgwLCBxSW5m
KCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFs
dWUoZW5naW5lLCBxSW5mKCkpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkluZmluaXR5XCIp
IDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiSW5maW5pdHlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiLUluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoLXFJbmYoKSkiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiLUluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgLXFJbmYoKSki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5XCIpIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCAtcUluZigpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItSW5maW5pdHlcIikg
PD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCItSW5maW5pdHlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiJ2NpYW8nXCIpIDw9PiBRU2NyaXB0VmFsdWUoXCJjaWFvXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIidjaWFvJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRp
bjEoXCJjaWFvXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikgPD0+IFFT
Y3JpcHRWYWx1ZSgwLCBcImNpYW9cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJ2NpYW8n
XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2lu
ZSwgXCJjaWFvXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSA8PT4gUVNj
cmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIidjaWFv
J1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKFFT
dHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIDw9PiBRU2NyaXB0
VmFsdWUoUVN0cmluZygpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSA8PT4gUVNj
cmlwdFZhbHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicn
XCIpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCInJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmcoKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCInJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikgPD0+IFFTY3JpcHRW
YWx1ZShRU3RyaW5nKFwiMFwiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIDw9
PiBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIicwJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSA8PT4gUVNjcmlwdFZhbHVlKFFT
dHJpbmcoXCIxMjNcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIDw9PiBR
U2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiJzEyMydcIikgPD0+IFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwi
JzEyMydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyLjQnXCIpIDw9PiBRU2NyaXB0
VmFsdWUoUVN0cmluZyhcIjEyLjRcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMi40
J1wiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIicxMi40J1wiKSIsCi0gICAgImVuZ2luZS0+bnVs
bFZhbHVlKCkgPD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAg
ICJlbmdpbmUtPm51bGxWYWx1ZSgpIDw9PiBRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpO
dWxsVmFsdWUpIiwKLSAgICAiZW5naW5lLT5udWxsVmFsdWUoKSA8PT4gUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiZW5naW5lLT5udWxsVmFsdWUo
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikiLAotICAgICJlbmdpbmUtPm51bGxWYWx1
ZSgpIDw9PiBlbmdpbmUtPm51bGxWYWx1ZSgpIiwKLSAgICAiZW5naW5lLT51bmRlZmluZWRWYWx1
ZSgpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAg
ICJlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFs
dWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgImVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSA8PT4g
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAg
ICJlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSIs
Ci0gICAgImVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInVu
ZGVmaW5lZFwiKSIsCi0gICAgImVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSA8PT4gZW5naW5lLT51
bmRlZmluZWRWYWx1ZSgpIn07Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6c3RyaWN0bHlFcXVh
bHNfZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJ2YWx1ZSIp
OwotICAgIFFUZXN0OjphZGRDb2x1bW48UVNjcmlwdFZhbHVlPigib3RoZXIiKTsKLSAgICBRVGVz
dDo6YWRkQ29sdW1uPGJvb2w+KCJleHBlY3RlZCIpOwotICAgIGlmIChtX2VuZ2luZSkKLSAgICAg
ICAgZGVsZXRlIG1fZW5naW5lOwotICAgIG1fZW5naW5lID0gbmV3IFFTY3JpcHRFbmdpbmUoKTsK
LSAgICBRU2V0PFFTdHJpbmc+IGVxdWFsczsKLSAgICBlcXVhbHMucmVzZXJ2ZSg0OTEpOwotICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCA0OTE7ICsraSkKLSAgICAgICAgZXF1YWxzLmluc2Vy
dChzdHJpY3RseUVxdWFsc19hcnJheVtpXSk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IDEzNTsgKytpKSB7Ci0gICAgICAgIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4gdmFsdWUx
ID0gaW5pdFNjcmlwdFZhbHVlcyhpKTsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8
IDEzNTsgKytqKSB7Ci0gICAgICAgICAgICBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+IHZh
bHVlMiA9IGluaXRTY3JpcHRWYWx1ZXMoaik7Ci0gICAgICAgICAgICBRU3RyaW5nIHRhZyA9IFFT
dHJpbmc6OmZyb21MYXRpbjEoIiUyMCA8PT4gJTIxIikuYXJnKHZhbHVlMS5maXJzdCwgdmFsdWUy
LmZpcnN0KTsKLSAgICAgICAgICAgIFFUZXN0OjpuZXdSb3codGFnLnRvQXNjaWkoKS5jb25zdERh
dGEoKSkgPDwgdmFsdWUxLnNlY29uZCA8PCB2YWx1ZTIuc2Vjb25kIDw8IGVxdWFscy5jb250YWlu
cyh0YWcpOyAgICAgICAgfQotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjpzdHJp
Y3RseUVxdWFscygpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAgIFFG
RVRDSChRU2NyaXB0VmFsdWUsIG90aGVyKTsKLSAgICBRRkVUQ0goYm9vbCwgZXhwZWN0ZWQpOwot
ICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFs
dWUpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLCAiRklY
TUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2Ny
aXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZSgw
LCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAz
OCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFs
dWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVl
OjpVbmRlZmluZWRWYWx1ZSkiLCAiRklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7
Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRW
YWx1ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0
MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZShRU2NyaXB0
VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwi
KSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZB
SUwoIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gZW5naW5l
LT51bmRlZmluZWRWYWx1ZSgpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUp
OwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVl
KSA8PT4gUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsICJGSVhNRTogV2Vi
S2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1
ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFs
dWU6Ok51bGxWYWx1ZSkiLCAiRklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0g
ICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9
PiBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLCAiRklYTUU6
IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0
VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwibnVs
bFwiKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNU
X0ZBSUwoIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IGVuZ2luZS0+
bnVsbFZhbHVlKCkiLCAiRklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAg
UUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUodHJ1ZSkgPD0+IFFTY3JpcHRWYWx1ZSh0cnVlKSIs
ICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwo
IlFTY3JpcHRWYWx1ZSh0cnVlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIHRydWUpIiwgIkZJWE1FOiBX
ZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZh
bHVlKGZhbHNlKSA8PT4gUVNjcmlwdFZhbHVlKGZhbHNlKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0
MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZShmYWxzZSkg
PD0+IFFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkiLCAiRklYTUU6IFdlYktpdCBidWcgNDMwMzgiLCBD
b250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVl
OjpVbmRlZmluZWRWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5l
ZFZhbHVlKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQ
RUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwgIkZJWE1F
OiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlw
dFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUo
ZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsICJGSVhNRTogV2ViS2l0IGJ1
ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZSgwLCBR
U2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcInt9XCIp
IiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJ
TCgiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4Iiwg
Q29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1
ZTo6VW5kZWZpbmVkVmFsdWUpIDw9PiBlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkiLCAiRklYTUU6
IFdlYktpdCBidWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0
VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIDw9PiBRU2NyaXB0VmFsdWUoUVNjcmlw
dFZhbHVlOjpOdWxsVmFsdWUpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUp
OwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZh
bHVlKSA8PT4gUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsICJGSVhN
RTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3Jp
cHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkgPD0+IFFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIs
IENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwoIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFs
dWU6Ok51bGxWYWx1ZSkgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIiwgIkZJWE1FOiBX
ZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZh
bHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSA8PT4gZW5naW5lLT5udWxsVmFsdWUoKSIs
ICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENvbnRpbnVlKTsKLSAgICBRRVhQRUNUX0ZBSUwo
IlFTY3JpcHRWYWx1ZSgwLCB0cnVlKSA8PT4gUVNjcmlwdFZhbHVlKHRydWUpIiwgIkZJWE1FOiBX
ZWJLaXQgYnVnIDQzMDM4IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZh
bHVlKDAsIHRydWUpIDw9PiBRU2NyaXB0VmFsdWUoMCwgdHJ1ZSkiLCAiRklYTUU6IFdlYktpdCBi
dWcgNDMwMzgiLCBDb250aW51ZSk7Ci0gICAgUUVYUEVDVF9GQUlMKCJRU2NyaXB0VmFsdWUoMCwg
ZmFsc2UpIDw9PiBRU2NyaXB0VmFsdWUoZmFsc2UpIiwgIkZJWE1FOiBXZWJLaXQgYnVnIDQzMDM4
IiwgQ29udGludWUpOwotICAgIFFFWFBFQ1RfRkFJTCgiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSA8
PT4gUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsICJGSVhNRTogV2ViS2l0IGJ1ZyA0MzAzOCIsIENv
bnRpbnVlKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS5zdHJpY3RseUVxdWFscyhvdGhlciksIGV4cGVj
dGVkKTsKLX0KLQotc3RhdGljIGNvbnN0IFFTdHJpbmcgaW5zdGFuY2VPZl9hcnJheVtdID0gewot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJPYmpl
Y3RcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiW11cIikgPD0+IGVuZ2luZS0+ZXZhbHVh
dGUoXCJBcnJheVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJEYXRlLnByb3RvdHlwZVwi
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJBcnJheS5wcm90b3R5cGVcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb24ucHJvdG90eXBlXCIpIDw9PiBlbmdp
bmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkVycm9y
LnByb3RvdHlwZVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3Rc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIpIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwiRnVuY3Rpb25cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXlcIikgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
QXJyYXlcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvblwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCJOdW1iZXJcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiTnVtYmVyXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRl
KFwiRnVuY3Rpb25cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb25cIikgPD0+
IGVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
RnVuY3Rpb25cIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvblwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7IHJldHVybiAxOyB9KVwiKSA8PT4gZW5naW5l
LT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rp
b24oKSB7IHJldHVybiAxOyB9KVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9uXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0dXJuICdjaWFvJzsg
fSlcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiKGZ1bmN0aW9uKCkgeyByZXR1cm4gJ2NpYW8nOyB9KVwiKSA8PT4gZW5naW5lLT5l
dmFsdWF0ZShcIkZ1bmN0aW9uXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlv
bigpIHsgdGhyb3cgbmV3IEVycm9yKCdmb28nKTsgfSlcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCJPYmplY3RcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9uKCkgeyB0aHJv
dyBuZXcgRXJyb3IoJ2ZvbycpOyB9KVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9u
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi9mb28vXCIpIDw9PiBlbmdpbmUtPmV2YWx1
YXRlKFwiT2JqZWN0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBPYmplY3QoKVwi
KSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJuZXcgQXJyYXkoKVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSA8PT4gZW5naW5lLT5ldmFsdWF0
ZShcIkFycmF5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBFcnJvcigpXCIpIDw9
PiBlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IlVuZGVmaW5lZFwiKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJOdWxsXCIpIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIlRydWVcIikgPD0+IGVuZ2luZS0+ZXZhbHVhdGUo
XCJPYmplY3RcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRmFsc2VcIikgPD0+IGVuZ2lu
ZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAotICAgICJlbmdpbmUtPm5ld09iamVjdCgpIDw9PiBl
bmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgpIDw9
PiBlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgp
IDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXlcIikiLAotICAgICJlbmdpbmUtPm5ld0FycmF5
KDEwKSA8PT4gZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVuZ2luZS0+bmV3
QXJyYXkoMTApIDw9PiBlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXlcIikifTsKLQotdm9pZCB0c3Rf
UVNjcmlwdFZhbHVlOjppbnN0YW5jZU9mX2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48
UVNjcmlwdFZhbHVlPigidmFsdWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTY3JpcHRWYWx1
ZT4oIm90aGVyIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxib29sPigiZXhwZWN0ZWQiKTsKLSAg
ICBpZiAobV9lbmdpbmUpCi0gICAgICAgIGRlbGV0ZSBtX2VuZ2luZTsKLSAgICBtX2VuZ2luZSA9
IG5ldyBRU2NyaXB0RW5naW5lKCk7Ci0gICAgUVNldDxRU3RyaW5nPiBlcXVhbHM7Ci0gICAgZXF1
YWxzLnJlc2VydmUoMzQpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCAzNDsgKytpKQot
ICAgICAgICBlcXVhbHMuaW5zZXJ0KGluc3RhbmNlT2ZfYXJyYXlbaV0pOwotICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCAxMzU7ICsraSkgewotICAgICAgICBRUGFpcjxRU3RyaW5nLCBRU2Ny
aXB0VmFsdWU+IHZhbHVlMSA9IGluaXRTY3JpcHRWYWx1ZXMoaSk7Ci0gICAgICAgIGZvciAodW5z
aWduZWQgaiA9IDA7IGogPCAxMzU7ICsraikgewotICAgICAgICAgICAgUVBhaXI8UVN0cmluZywg
UVNjcmlwdFZhbHVlPiB2YWx1ZTIgPSBpbml0U2NyaXB0VmFsdWVzKGopOwotICAgICAgICAgICAg
UVN0cmluZyB0YWcgPSBRU3RyaW5nOjpmcm9tTGF0aW4xKCIlMjAgPD0+ICUyMSIpLmFyZyh2YWx1
ZTEuZmlyc3QsIHZhbHVlMi5maXJzdCk7Ci0gICAgICAgICAgICBRVGVzdDo6bmV3Um93KHRhZy50
b0FzY2lpKCkuY29uc3REYXRhKCkpIDw8IHZhbHVlMS5zZWNvbmQgPDwgdmFsdWUyLnNlY29uZCA8
PCBlcXVhbHMuY29udGFpbnModGFnKTsgICAgICAgIH0KLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FT
Y3JpcHRWYWx1ZTo6aW5zdGFuY2VPZigpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFs
dWUpOwotICAgIFFGRVRDSChRU2NyaXB0VmFsdWUsIG90aGVyKTsKLSAgICBRRkVUQ0goYm9vbCwg
ZXhwZWN0ZWQpOwotICAgIFFDT01QQVJFKHZhbHVlLmluc3RhbmNlT2Yob3RoZXIpLCBleHBlY3Rl
ZCk7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlw
dHZhbHVlL3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2luaXQuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlX2dlbmVyYXRl
ZF9pbml0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM5N2RkNGNlYjE5Yzdm
OGZhODEwZmM4YmY3MzQzNjk5ZjlmOWVmMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlwdHZh
bHVlL3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX2luaXQuY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsMTY5ICswLDAgQEAKLS8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot
ICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0g
ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAg
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLS8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Ci0qKioqKioqKioqKioqKiogVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZC4gRE8gTk9UIE1P
RElGWSEgKioqKioqKioqKioqKioqKgotKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotI2luY2x1ZGUg
InRzdF9xc2NyaXB0dmFsdWUuaCIKLQotCi1RUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+IHRz
dF9RU2NyaXB0VmFsdWU6OmluaXRTY3JpcHRWYWx1ZXModWludCBpZHgpCi17Ci0gICAgUVNjcmlw
dEVuZ2luZSogZW5naW5lID0gbV9lbmdpbmU7Ci0gICAgc3dpdGNoIChpZHgpIHsKLSAgICBjYXNl
IDA6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoKSIs
IFFTY3JpcHRWYWx1ZSgpKTsKLSAgICBjYXNlIDE6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2Ny
aXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLCBR
U2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkpOwotICAgIGNhc2UgMjog
cmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShRU2NyaXB0
VmFsdWU6Ok51bGxWYWx1ZSkiLCBRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUp
KTsKLSAgICBjYXNlIDM6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2Ny
aXB0VmFsdWUodHJ1ZSkiLCBRU2NyaXB0VmFsdWUodHJ1ZSkpOwotICAgIGNhc2UgNDogcmV0dXJu
IFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShmYWxzZSkiLCBRU2Ny
aXB0VmFsdWUoZmFsc2UpKTsKLSAgICBjYXNlIDU6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2Ny
aXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoaW50KDEyMikpIiwgUVNjcmlwdFZhbHVlKGludCgxMjIp
KSk7Ci0gICAgY2FzZSA2OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNj
cmlwdFZhbHVlKHVpbnQoMTI0KSkiLCBRU2NyaXB0VmFsdWUodWludCgxMjQpKSk7Ci0gICAgY2Fz
ZSA3OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKDAp
IiwgUVNjcmlwdFZhbHVlKDApKTsKLSAgICBjYXNlIDg6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBR
U2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoMC4wKSIsIFFTY3JpcHRWYWx1ZSgwLjApKTsKLSAg
ICBjYXNlIDk6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFs
dWUoMTIzLjApIiwgUVNjcmlwdFZhbHVlKDEyMy4wKSk7Ci0gICAgY2FzZSAxMDogcmV0dXJuIFFQ
YWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSg2LjM3ZS04KSIsIFFTY3Jp
cHRWYWx1ZSg2LjM3ZS04KSk7Ci0gICAgY2FzZSAxMTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFT
Y3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgtNi4zN2UtOCkiLCBRU2NyaXB0VmFsdWUoLTYuMzdl
LTgpKTsKLSAgICBjYXNlIDEyOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigi
UVNjcmlwdFZhbHVlKDB4NDMyMTEyMzQpIiwgUVNjcmlwdFZhbHVlKDB4NDMyMTEyMzQpKTsKLSAg
ICBjYXNlIDEzOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZh
bHVlKDB4MTAwMDApIiwgUVNjcmlwdFZhbHVlKDB4MTAwMDApKTsKLSAgICBjYXNlIDE0OiByZXR1
cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKDB4MTAwMDEpIiwg
UVNjcmlwdFZhbHVlKDB4MTAwMDEpKTsKLSAgICBjYXNlIDE1OiByZXR1cm4gUVBhaXI8UVN0cmlu
ZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKHFTTmFOKCkpIiwgUVNjcmlwdFZhbHVlKHFT
TmFOKCkpKTsKLSAgICBjYXNlIDE2OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVl
PigiUVNjcmlwdFZhbHVlKHFRTmFOKCkpIiwgUVNjcmlwdFZhbHVlKHFRTmFOKCkpKTsKLSAgICBj
YXNlIDE3OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVl
KHFJbmYoKSkiLCBRU2NyaXB0VmFsdWUocUluZigpKSk7Ci0gICAgY2FzZSAxODogcmV0dXJuIFFQ
YWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgtcUluZigpKSIsIFFTY3Jp
cHRWYWx1ZSgtcUluZigpKSk7Ci0gICAgY2FzZSAxOTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFT
Y3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShcIk5hTlwiKSIsIFFTY3JpcHRWYWx1ZSgiTmFOIikp
OwotICAgIGNhc2UgMjA6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2Ny
aXB0VmFsdWUoXCJJbmZpbml0eVwiKSIsIFFTY3JpcHRWYWx1ZSgiSW5maW5pdHkiKSk7Ci0gICAg
Y2FzZSAyMTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1
ZShcIi1JbmZpbml0eVwiKSIsIFFTY3JpcHRWYWx1ZSgiLUluZmluaXR5IikpOwotICAgIGNhc2Ug
MjI6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoXCJj
aWFvXCIpIiwgUVNjcmlwdFZhbHVlKCJjaWFvIikpOwotICAgIGNhc2UgMjM6IHJldHVybiBRUGFp
cjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGlu
MShcImNpYW9cIikpIiwgUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoImNpYW8iKSkp
OwotICAgIGNhc2UgMjQ6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2Ny
aXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLCBRU2NyaXB0VmFsdWUoUVN0cmluZygiIikpKTsKLSAg
ICBjYXNlIDI1OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZh
bHVlKFFTdHJpbmcoKSkiLCBRU2NyaXB0VmFsdWUoUVN0cmluZygpKSk7Ci0gICAgY2FzZSAyNjog
cmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShRU3RyaW5n
KFwiMFwiKSkiLCBRU2NyaXB0VmFsdWUoUVN0cmluZygiMCIpKSk7Ci0gICAgY2FzZSAyNzogcmV0
dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwi
MTIzXCIpKSIsIFFTY3JpcHRWYWx1ZShRU3RyaW5nKCIxMjMiKSkpOwotICAgIGNhc2UgMjg6IHJl
dHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoUVN0cmluZyhc
IjEyLjRcIikpIiwgUVNjcmlwdFZhbHVlKFFTdHJpbmcoIjEyLjQiKSkpOwotICAgIGNhc2UgMjk6
IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoMCwgUVNj
cmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLCBRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVl
OjpVbmRlZmluZWRWYWx1ZSkpOwotICAgIGNhc2UgMzA6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBR
U2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwg
UVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSk7Ci0gICAgY2FzZSAzMTog
cmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgwLCB0cnVl
KSIsIFFTY3JpcHRWYWx1ZSgwLCB0cnVlKSk7Ci0gICAgY2FzZSAzMjogcmV0dXJuIFFQYWlyPFFT
dHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgwLCBmYWxzZSkiLCBRU2NyaXB0VmFs
dWUoMCwgZmFsc2UpKTsKLSAgICBjYXNlIDMzOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlw
dFZhbHVlPigiUVNjcmlwdFZhbHVlKDAsIGludCgxMjIpKSIsIFFTY3JpcHRWYWx1ZSgwLCBpbnQo
MTIyKSkpOwotICAgIGNhc2UgMzQ6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+
KCJRU2NyaXB0VmFsdWUoMCwgdWludCgxMjQpKSIsIFFTY3JpcHRWYWx1ZSgwLCB1aW50KDEyNCkp
KTsKLSAgICBjYXNlIDM1OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNj
cmlwdFZhbHVlKDAsIDApIiwgUVNjcmlwdFZhbHVlKDAsIDApKTsKLSAgICBjYXNlIDM2OiByZXR1
cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKDAsIDAuMCkiLCBR
U2NyaXB0VmFsdWUoMCwgMC4wKSk7Ci0gICAgY2FzZSAzNzogcmV0dXJuIFFQYWlyPFFTdHJpbmcs
IFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgwLCAxMjMuMCkiLCBRU2NyaXB0VmFsdWUoMCwg
MTIzLjApKTsKLSAgICBjYXNlIDM4OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVl
PigiUVNjcmlwdFZhbHVlKDAsIDYuMzdlLTgpIiwgUVNjcmlwdFZhbHVlKDAsIDYuMzdlLTgpKTsK
LSAgICBjYXNlIDM5OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlw
dFZhbHVlKDAsIC02LjM3ZS04KSIsIFFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkpOwotICAgIGNh
c2UgNDA6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUo
MCwgMHg0MzIxMTIzNCkiLCBRU2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkpOwotICAgIGNhc2Ug
NDE6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoMCwg
MHgxMDAwMCkiLCBRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMCkpOwotICAgIGNhc2UgNDI6IHJldHVy
biBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSki
LCBRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkpOwotICAgIGNhc2UgNDM6IHJldHVybiBRUGFpcjxR
U3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoMCwgcVNOYU4oKSkiLCBRU2NyaXB0
VmFsdWUoMCwgcVNOYU4oKSkpOwotICAgIGNhc2UgNDQ6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBR
U2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoMCwgcVFOYU4oKSkiLCBRU2NyaXB0VmFsdWUoMCwg
cVFOYU4oKSkpOwotICAgIGNhc2UgNDU6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFs
dWU+KCJRU2NyaXB0VmFsdWUoMCwgcUluZigpKSIsIFFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpKTsK
LSAgICBjYXNlIDQ2OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlw
dFZhbHVlKDAsIC1xSW5mKCkpIiwgUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpKTsKLSAgICBjYXNl
IDQ3OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKDAs
IFwiTmFOXCIpIiwgUVNjcmlwdFZhbHVlKDAsICJOYU4iKSk7Ci0gICAgY2FzZSA0ODogcmV0dXJu
IFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgwLCBcIkluZmluaXR5
XCIpIiwgUVNjcmlwdFZhbHVlKDAsICJJbmZpbml0eSIpKTsKLSAgICBjYXNlIDQ5OiByZXR1cm4g
UVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKDAsIFwiLUluZmluaXR5
XCIpIiwgUVNjcmlwdFZhbHVlKDAsICItSW5maW5pdHkiKSk7Ci0gICAgY2FzZSA1MDogcmV0dXJu
IFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIiki
LCBRU2NyaXB0VmFsdWUoMCwgImNpYW8iKSk7Ci0gICAgY2FzZSA1MTogcmV0dXJuIFFQYWlyPFFT
dHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nOjpmcm9tTGF0aW4x
KFwiY2lhb1wiKSkiLCBRU2NyaXB0VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMSgiY2lhbyIp
KSk7Ci0gICAgY2FzZSA1MjogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFT
Y3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsIFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCIi
KSkpOwotICAgIGNhc2UgNTM6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJR
U2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsIFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpKTsK
LSAgICBjYXNlIDU0OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlw
dFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSIsIFFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCIwIikp
KTsKLSAgICBjYXNlIDU1OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNj
cmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIiwgUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmco
IjEyMyIpKSk7Ci0gICAgY2FzZSA1NjogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1
ZT4oIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIuM1wiKSkiLCBRU2NyaXB0VmFsdWUoMCwg
UVN0cmluZygiMTIuMyIpKSk7Ci0gICAgY2FzZSA1NzogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFT
Y3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVk
VmFsdWUpIiwgUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1
ZSkpOwotICAgIGNhc2UgNTg6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJR
U2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLCBRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkpOwotICAgIGNhc2UgNTk6IHJldHVy
biBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVl
KSIsIFFTY3JpcHRWYWx1ZShlbmdpbmUsIHRydWUpKTsKLSAgICBjYXNlIDYwOiByZXR1cm4gUVBh
aXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwg
UVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpKTsKLSAgICBjYXNlIDYxOiByZXR1cm4gUVBhaXI8
UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIiwg
UVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikpKTsKLSAgICBjYXNlIDYyOiByZXR1cm4gUVBh
aXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQp
KSIsIFFTY3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQoMTI0KSkpOwotICAgIGNhc2UgNjM6IHJldHVy
biBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIs
IFFTY3JpcHRWYWx1ZShlbmdpbmUsIDApKTsKLSAgICBjYXNlIDY0OiByZXR1cm4gUVBhaXI8UVN0
cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsIFFTY3JpcHRW
YWx1ZShlbmdpbmUsIDAuMCkpOwotICAgIGNhc2UgNjU6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBR
U2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCkiLCBRU2NyaXB0VmFsdWUo
ZW5naW5lLCAxMjMuMCkpOwotICAgIGNhc2UgNjY6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2Ny
aXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3ZS04KSIsIFFTY3JpcHRWYWx1ZShl
bmdpbmUsIDYuMzdlLTgpKTsKLSAgICBjYXNlIDY3OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNj
cmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLTYuMzdlLTgpIiwgUVNjcmlwdFZhbHVl
KGVuZ2luZSwgLTYuMzdlLTgpKTsKLSAgICBjYXNlIDY4OiByZXR1cm4gUVBhaXI8UVN0cmluZywg
UVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHg0MzIxMTIzNCkiLCBRU2NyaXB0
VmFsdWUoZW5naW5lLCAweDQzMjExMjM0KSk7Ci0gICAgY2FzZSA2OTogcmV0dXJuIFFQYWlyPFFT
dHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDApIiwgUVNj
cmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMCkpOwotICAgIGNhc2UgNzA6IHJldHVybiBRUGFpcjxR
U3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAxKSIsIFFT
Y3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEpKTsKLSAgICBjYXNlIDcxOiByZXR1cm4gUVBhaXI8
UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcVNOYU4oKSkiLCBR
U2NyaXB0VmFsdWUoZW5naW5lLCBxU05hTigpKSk7Ci0gICAgY2FzZSA3MjogcmV0dXJuIFFQYWly
PFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFRTmFOKCkpIiwg
UVNjcmlwdFZhbHVlKGVuZ2luZSwgcVFOYU4oKSkpOwotICAgIGNhc2UgNzM6IHJldHVybiBRUGFp
cjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5mKCkpIiwg
UVNjcmlwdFZhbHVlKGVuZ2luZSwgcUluZigpKSk7Ci0gICAgY2FzZSA3NDogcmV0dXJuIFFQYWly
PFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkpIiwg
UVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkpOwotICAgIGNhc2UgNzU6IHJldHVybiBRUGFp
cjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIk5hTlwiKSIs
IFFTY3JpcHRWYWx1ZShlbmdpbmUsICJOYU4iKSk7Ci0gICAgY2FzZSA3NjogcmV0dXJuIFFQYWly
PFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiSW5maW5pdHlc
IikiLCBRU2NyaXB0VmFsdWUoZW5naW5lLCAiSW5maW5pdHkiKSk7Ci0gICAgY2FzZSA3NzogcmV0
dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwi
LUluZmluaXR5XCIpIiwgUVNjcmlwdFZhbHVlKGVuZ2luZSwgIi1JbmZpbml0eSIpKTsKLSAgICBj
YXNlIDc4OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgXCJjaWFvXCIpIiwgUVNjcmlwdFZhbHVlKGVuZ2luZSwgImNpYW8iKSk7Ci0gICAg
Y2FzZSA3OTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsIFFTY3JpcHRWYWx1ZShl
bmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoImNpYW8iKSkpOwotICAgIGNhc2UgODA6IHJldHVy
biBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3Ry
aW5nKFwiXCIpKSIsIFFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoIiIpKSk7Ci0gICAgY2Fz
ZSA4MTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIFFTdHJpbmcoKSkiLCBRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpKTsKLSAg
ICBjYXNlIDgyOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwgUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmlu
ZygiMCIpKSk7Ci0gICAgY2FzZSA4MzogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1
ZT4oIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIiwgUVNjcmlwdFZhbHVl
KGVuZ2luZSwgUVN0cmluZygiMTIzIikpKTsKLSAgICBjYXNlIDg0OiByZXR1cm4gUVBhaXI8UVN0
cmluZywgUVNjcmlwdFZhbHVlPigiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEuMjNc
IikpIiwgUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygiMS4yMyIpKSk7Ci0gICAgY2FzZSA4
NTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUo
XCJbXVwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIltdIikpOwotICAgIGNhc2UgODY6IHJldHVybiBR
UGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwie31cIikiLCBl
bmdpbmUtPmV2YWx1YXRlKCJ7fSIpKTsKLSAgICBjYXNlIDg3OiByZXR1cm4gUVBhaXI8UVN0cmlu
ZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdC5wcm90b3R5cGVcIiki
LCBlbmdpbmUtPmV2YWx1YXRlKCJPYmplY3QucHJvdG90eXBlIikpOwotICAgIGNhc2UgODg6IHJl
dHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiRGF0
ZS5wcm90b3R5cGVcIikiLCBlbmdpbmUtPmV2YWx1YXRlKCJEYXRlLnByb3RvdHlwZSIpKTsKLSAg
ICBjYXNlIDg5OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5l
dmFsdWF0ZShcIkFycmF5LnByb3RvdHlwZVwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIkFycmF5LnBy
b3RvdHlwZSIpKTsKLSAgICBjYXNlIDkwOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZh
bHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9uLnByb3RvdHlwZVwiKSIsIGVuZ2luZS0+
ZXZhbHVhdGUoIkZ1bmN0aW9uLnByb3RvdHlwZSIpKTsKLSAgICBjYXNlIDkxOiByZXR1cm4gUVBh
aXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIkVycm9yLnByb3Rv
dHlwZVwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIkVycm9yLnByb3RvdHlwZSIpKTsKLSAgICBjYXNl
IDkyOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0
ZShcIk9iamVjdFwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIk9iamVjdCIpKTsKLSAgICBjYXNlIDkz
OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShc
IkFycmF5XCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiQXJyYXkiKSk7Ci0gICAgY2FzZSA5NDogcmV0
dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCJOdW1i
ZXJcIikiLCBlbmdpbmUtPmV2YWx1YXRlKCJOdW1iZXIiKSk7Ci0gICAgY2FzZSA5NTogcmV0dXJu
IFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlv
blwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIkZ1bmN0aW9uIikpOwotICAgIGNhc2UgOTY6IHJldHVy
biBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0
aW9uKCkgeyByZXR1cm4gMTsgfSlcIikiLCBlbmdpbmUtPmV2YWx1YXRlKCIoZnVuY3Rpb24oKSB7
IHJldHVybiAxOyB9KSIpKTsKLSAgICBjYXNlIDk3OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNj
cmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0dXJuICdjaWFv
JzsgfSlcIikiLCBlbmdpbmUtPmV2YWx1YXRlKCIoZnVuY3Rpb24oKSB7IHJldHVybiAnY2lhbyc7
IH0pIikpOwotICAgIGNhc2UgOTg6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+
KCJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoJ2Zvbycp
OyB9KVwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIihmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9y
KCdmb28nKTsgfSkiKSk7Ci0gICAgY2FzZSA5OTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3Jp
cHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCIvZm9vL1wiKSIsIGVuZ2luZS0+ZXZhbHVhdGUo
Ii9mb28vIikpOwotICAgIGNhc2UgMTAwOiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZh
bHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBPYmplY3QoKVwiKSIsIGVuZ2luZS0+ZXZhbHVh
dGUoIm5ldyBPYmplY3QoKSIpKTsKLSAgICBjYXNlIDEwMTogcmV0dXJuIFFQYWlyPFFTdHJpbmcs
IFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSIsIGVuZ2lu
ZS0+ZXZhbHVhdGUoIm5ldyBBcnJheSgpIikpOwotICAgIGNhc2UgMTAyOiByZXR1cm4gUVBhaXI8
UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBFcnJvcigpXCIp
IiwgZW5naW5lLT5ldmFsdWF0ZSgibmV3IEVycm9yKCkiKSk7Ci0gICAgY2FzZSAxMDM6IHJldHVy
biBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiYSA9IG5l
dyBPYmplY3QoKTsgYS5mb28gPSAyMjsgYS5mb29cIikiLCBlbmdpbmUtPmV2YWx1YXRlKCJhID0g
bmV3IE9iamVjdCgpOyBhLmZvbyA9IDIyOyBhLmZvbyIpKTsKLSAgICBjYXNlIDEwNDogcmV0dXJu
IFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCJVbmRlZmlu
ZWRcIikiLCBlbmdpbmUtPmV2YWx1YXRlKCJVbmRlZmluZWQiKSk7Ci0gICAgY2FzZSAxMDU6IHJl
dHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiTnVs
bFwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIk51bGwiKSk7Ci0gICAgY2FzZSAxMDY6IHJldHVybiBR
UGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiVHJ1ZVwiKSIs
IGVuZ2luZS0+ZXZhbHVhdGUoIlRydWUiKSk7Ci0gICAgY2FzZSAxMDc6IHJldHVybiBRUGFpcjxR
U3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiRmFsc2VcIikiLCBlbmdp
bmUtPmV2YWx1YXRlKCJGYWxzZSIpKTsKLSAgICBjYXNlIDEwODogcmV0dXJuIFFQYWlyPFFTdHJp
bmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLCBlbmdp
bmUtPmV2YWx1YXRlKCJ1bmRlZmluZWQiKSk7Ci0gICAgY2FzZSAxMDk6IHJldHVybiBRUGFpcjxR
U3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSIsIGVuZ2lu
ZS0+ZXZhbHVhdGUoIm51bGwiKSk7Ci0gICAgY2FzZSAxMTA6IHJldHVybiBRUGFpcjxRU3RyaW5n
LCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwidHJ1ZVwiKSIsIGVuZ2luZS0+ZXZh
bHVhdGUoInRydWUiKSk7Ci0gICAgY2FzZSAxMTE6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2Ny
aXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikiLCBlbmdpbmUtPmV2YWx1YXRl
KCJmYWxzZSIpKTsKLSAgICBjYXNlIDExMjogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRW
YWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjJcIikiLCBlbmdpbmUtPmV2YWx1YXRlKCIxMjIi
KSk7Ci0gICAgY2FzZSAxMTM6IHJldHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJl
bmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIiwgZW5naW5lLT5ldmFsdWF0ZSgiMTI0IikpOwotICAg
IGNhc2UgMTE0OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5l
dmFsdWF0ZShcIjBcIikiLCBlbmdpbmUtPmV2YWx1YXRlKCIwIikpOwotICAgIGNhc2UgMTE1OiBy
ZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIjAu
MFwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIjAuMCIpKTsKLSAgICBjYXNlIDExNjogcmV0dXJuIFFQ
YWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMuMFwiKSIs
IGVuZ2luZS0+ZXZhbHVhdGUoIjEyMy4wIikpOwotICAgIGNhc2UgMTE3OiByZXR1cm4gUVBhaXI8
UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIjYuMzdlLThcIikiLCBl
bmdpbmUtPmV2YWx1YXRlKCI2LjM3ZS04IikpOwotICAgIGNhc2UgMTE4OiByZXR1cm4gUVBhaXI8
UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIi02LjM3ZS04XCIpIiwg
ZW5naW5lLT5ldmFsdWF0ZSgiLTYuMzdlLTgiKSk7Ci0gICAgY2FzZSAxMTk6IHJldHVybiBRUGFp
cjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiMHg0MzIxMTIzNFwi
KSIsIGVuZ2luZS0+ZXZhbHVhdGUoIjB4NDMyMTEyMzQiKSk7Ci0gICAgY2FzZSAxMjA6IHJldHVy
biBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAw
MFwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIjB4MTAwMDAiKSk7Ci0gICAgY2FzZSAxMjE6IHJldHVy
biBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAw
MVwiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIjB4MTAwMDEiKSk7Ci0gICAgY2FzZSAxMjI6IHJldHVy
biBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiTmFOXCIp
IiwgZW5naW5lLT5ldmFsdWF0ZSgiTmFOIikpOwotICAgIGNhc2UgMTIzOiByZXR1cm4gUVBhaXI8
UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIkluZmluaXR5XCIpIiwg
ZW5naW5lLT5ldmFsdWF0ZSgiSW5maW5pdHkiKSk7Ci0gICAgY2FzZSAxMjQ6IHJldHVybiBRUGFp
cjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5XCIp
IiwgZW5naW5lLT5ldmFsdWF0ZSgiLUluZmluaXR5IikpOwotICAgIGNhc2UgMTI1OiByZXR1cm4g
UVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wi
KSIsIGVuZ2luZS0+ZXZhbHVhdGUoIidjaWFvJyIpKTsKLSAgICBjYXNlIDEyNjogcmV0dXJuIFFQ
YWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsIGVu
Z2luZS0+ZXZhbHVhdGUoIicnIikpOwotICAgIGNhc2UgMTI3OiByZXR1cm4gUVBhaXI8UVN0cmlu
ZywgUVNjcmlwdFZhbHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wiKSIsIGVuZ2luZS0+ZXZh
bHVhdGUoIicwJyIpKTsKLSAgICBjYXNlIDEyODogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3Jp
cHRWYWx1ZT4oImVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSIsIGVuZ2luZS0+ZXZhbHVhdGUo
IicxMjMnIikpOwotICAgIGNhc2UgMTI5OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZh
bHVlPigiZW5naW5lLT5ldmFsdWF0ZShcIicxMi40J1wiKSIsIGVuZ2luZS0+ZXZhbHVhdGUoIicx
Mi40JyIpKTsKLSAgICBjYXNlIDEzMDogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1
ZT4oImVuZ2luZS0+bnVsbFZhbHVlKCkiLCBlbmdpbmUtPm51bGxWYWx1ZSgpKTsKLSAgICBjYXNl
IDEzMTogcmV0dXJuIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4oImVuZ2luZS0+dW5kZWZp
bmVkVmFsdWUoKSIsIGVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSk7Ci0gICAgY2FzZSAxMzI6IHJl
dHVybiBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPm5ld09iamVjdCgpIiwg
ZW5naW5lLT5uZXdPYmplY3QoKSk7Ci0gICAgY2FzZSAxMzM6IHJldHVybiBRUGFpcjxRU3RyaW5n
LCBRU2NyaXB0VmFsdWU+KCJlbmdpbmUtPm5ld0FycmF5KCkiLCBlbmdpbmUtPm5ld0FycmF5KCkp
OwotICAgIGNhc2UgMTM0OiByZXR1cm4gUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPigiZW5n
aW5lLT5uZXdBcnJheSgxMCkiLCBlbmdpbmUtPm5ld0FycmF5KDEwKSk7Ci0gICAgfQotICAgIFFf
QVNTRVJUKGZhbHNlKTsKLSAgICByZXR1cm4gcU1ha2VQYWlyKFFTdHJpbmcoKSwgUVNjcmlwdFZh
bHVlKCkpOwotfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3Fz
Y3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlX2dlbmVyYXRlZF9pc3R5cGUuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlX2dl
bmVyYXRlZF9pc3R5cGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MzM1OTdm
NmE3MjhhODMxZDhiYzgwYmZlZGQwYzQwMDAxZGI1OWIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0cy9x
c2NyaXB0dmFsdWUvdHN0X3FzY3JpcHR2YWx1ZV9nZW5lcmF0ZWRfaXN0eXBlLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDYyMiArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAxMCBOb2tp
YSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAg
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0KLS8qKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqCi0qKioqKioqKioqKioqKiogVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRl
ZC4gRE8gTk9UIE1PRElGWSEgKioqKioqKioqKioqKioqKgotKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K
LQotI2luY2x1ZGUgInRzdF9xc2NyaXB0dmFsdWUuaCIKLQotCi1zdGF0aWMgY29uc3QgUVN0cmlu
ZyBpc1ZhbGlkX2FycmF5W10gPSB7Ci0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVu
ZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1
ZSkiLAotICAgICJRU2NyaXB0VmFsdWUodHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZmFsc2Up
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh1aW50
KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCki
LAotICAgICJRU2NyaXB0VmFsdWUoMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDYuMzdlLTgp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKC02LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDQz
MjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShxU05hTigpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShxUU5hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShxSW5mKCkpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiTmFOXCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlc
IikiLAotICAgICJRU2NyaXB0VmFsdWUoXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFT
dHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5n
KFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIuNFwiKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHRy
dWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCBpbnQoMTIyKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgdWludCgxMjQpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCA2LjM3ZS04KSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHg0
MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMCkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgcVNOYU4oKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgcVFOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgcUluZigp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCBcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIkluZmluaXR5XCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwi
Y2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lh
b1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwi
MFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyLjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIC02LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4NDMyMTEy
MzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMCkiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCAweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFTTmFO
KCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcVFOYU4oKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYo
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBc
Ii1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiY2lhb1wiKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNc
IikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEuMjNcIikpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdC5wcm90b3R5cGVcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiRGF0ZS5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkZ1
bmN0aW9uLnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJFcnJvci5wcm90
b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIkFycmF5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bWJl
clwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvblwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7IHJldHVybiAxOyB9KVwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7IHJldHVybiAnY2lhbyc7IH0pXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCdmb28nKTsg
fSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiL2Zvby9cIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwibmV3IE9iamVjdCgpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5l
dyBBcnJheSgpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBFcnJvcigpXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImEgPSBuZXcgT2JqZWN0KCk7IGEuZm9vID0gMjI7IGEu
Zm9vXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIlVuZGVmaW5lZFwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJOdWxsXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIlRydWVc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRmFsc2VcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJmYWxzZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjJcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIjEyMy4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjYuMzdlLThcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiLTYuMzdlLThcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiMHg0MzIxMTIzNFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAwXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDFcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiTmFOXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkluZmluaXR5XCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0eVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCInY2lhbydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMjMn
XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMi40J1wiKSIsCi0gICAgImVuZ2luZS0+
bnVsbFZhbHVlKCkiLAotICAgICJlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkiLAotICAgICJlbmdp
bmUtPm5ld09iamVjdCgpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgpIiwKLSAgICAiZW5naW5l
LT5uZXdBcnJheSgxMCkifTsKLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc1ZhbGlkX2RhdGEo
KQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVNjcmlwdFZhbHVlPigidmFsdWUiKTsKLSAgICBR
VGVzdDo6YWRkQ29sdW1uPGJvb2w+KCJleHBlY3RlZCIpOwotICAgIGlmIChtX2VuZ2luZSkKLSAg
ICAgICAgZGVsZXRlIG1fZW5naW5lOwotICAgIG1fZW5naW5lID0gbmV3IFFTY3JpcHRFbmdpbmUo
KTsKLSAgICBRU2V0PFFTdHJpbmc+IGV4cGVjdGVkVmFsdWU7Ci0gICAgZXhwZWN0ZWRWYWx1ZS5y
ZXNlcnZlKDEzNCk7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBpIDwgMTM0OyArK2kpCi0gICAgICAg
IGV4cGVjdGVkVmFsdWUuaW5zZXJ0KGlzVmFsaWRfYXJyYXlbaV0pOwotICAgIGZvciAodWludCBp
ID0gMDsgaSA8IDEzNTsgKytpKSB7Ci0gICAgICAgIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1
ZT4gdGVzdGNhc2UgPSBpbml0U2NyaXB0VmFsdWVzKGkpOwotICAgICAgICBRVGVzdDo6bmV3Um93
KHRlc3RjYXNlLmZpcnN0LnRvQXNjaWkoKS5jb25zdERhdGEoKSkgPDwgdGVzdGNhc2Uuc2Vjb25k
IDw8IGV4cGVjdGVkVmFsdWUuY29udGFpbnModGVzdGNhc2UuZmlyc3QpOwotICAgIH0KLX0KLQot
dm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc1ZhbGlkKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZh
bHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKGJvb2wsIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2
YWx1ZS5pc1ZhbGlkKCksIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS5pc1ZhbGlkKCks
IGV4cGVjdGVkKTsKLX0KLQotc3RhdGljIGNvbnN0IFFTdHJpbmcgaXNCb29sX2FycmF5W10gPSB7
Ci0gICAgIlFTY3JpcHRWYWx1ZSh0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgdHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2Up
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCBmYWxzZSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidHJ1ZVwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSJ9OwotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6
OmlzQm9vbF9kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTY3JpcHRWYWx1ZT4oInZh
bHVlIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxib29sPigiZXhwZWN0ZWQiKTsKLSAgICBpZiAo
bV9lbmdpbmUpCi0gICAgICAgIGRlbGV0ZSBtX2VuZ2luZTsKLSAgICBtX2VuZ2luZSA9IG5ldyBR
U2NyaXB0RW5naW5lKCk7Ci0gICAgUVNldDxRU3RyaW5nPiBleHBlY3RlZFZhbHVlOwotICAgIGV4
cGVjdGVkVmFsdWUucmVzZXJ2ZSg4KTsKLSAgICBmb3IgKHVpbnQgaSA9IDA7IGkgPCA4OyArK2kp
Ci0gICAgICAgIGV4cGVjdGVkVmFsdWUuaW5zZXJ0KGlzQm9vbF9hcnJheVtpXSk7Ci0gICAgZm9y
ICh1aW50IGkgPSAwOyBpIDwgMTM1OyArK2kpIHsKLSAgICAgICAgUVBhaXI8UVN0cmluZywgUVNj
cmlwdFZhbHVlPiB0ZXN0Y2FzZSA9IGluaXRTY3JpcHRWYWx1ZXMoaSk7Ci0gICAgICAgIFFUZXN0
OjpuZXdSb3codGVzdGNhc2UuZmlyc3QudG9Bc2NpaSgpLmNvbnN0RGF0YSgpKSA8PCB0ZXN0Y2Fz
ZS5zZWNvbmQgPDwgZXhwZWN0ZWRWYWx1ZS5jb250YWlucyh0ZXN0Y2FzZS5maXJzdCk7Ci0gICAg
fQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzQm9vbCgpCi17Ci0gICAgUUZFVENIKFFT
Y3JpcHRWYWx1ZSwgdmFsdWUpOwotICAgIFFGRVRDSChib29sLCBleHBlY3RlZCk7Ci0gICAgUUNP
TVBBUkUodmFsdWUuaXNCb29sKCksIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS5pc0Jv
b2woKSwgZXhwZWN0ZWQpOwotfQotCi1zdGF0aWMgY29uc3QgUVN0cmluZyBpc0Jvb2xlYW5fYXJy
YXlbXSA9IHsKLSAgICAiUVNjcmlwdFZhbHVlKHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGZh
bHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVlKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIn07Ci0KLXZvaWQgdHN0X1FTY3Jp
cHRWYWx1ZTo6aXNCb29sZWFuX2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVNjcmlw
dFZhbHVlPigidmFsdWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGJvb2w+KCJleHBlY3RlZCIp
OwotICAgIGlmIChtX2VuZ2luZSkKLSAgICAgICAgZGVsZXRlIG1fZW5naW5lOwotICAgIG1fZW5n
aW5lID0gbmV3IFFTY3JpcHRFbmdpbmUoKTsKLSAgICBRU2V0PFFTdHJpbmc+IGV4cGVjdGVkVmFs
dWU7Ci0gICAgZXhwZWN0ZWRWYWx1ZS5yZXNlcnZlKDgpOwotICAgIGZvciAodWludCBpID0gMDsg
aSA8IDg7ICsraSkKLSAgICAgICAgZXhwZWN0ZWRWYWx1ZS5pbnNlcnQoaXNCb29sZWFuX2FycmF5
W2ldKTsKLSAgICBmb3IgKHVpbnQgaSA9IDA7IGkgPCAxMzU7ICsraSkgewotICAgICAgICBRUGFp
cjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+IHRlc3RjYXNlID0gaW5pdFNjcmlwdFZhbHVlcyhpKTsK
LSAgICAgICAgUVRlc3Q6Om5ld1Jvdyh0ZXN0Y2FzZS5maXJzdC50b0FzY2lpKCkuY29uc3REYXRh
KCkpIDw8IHRlc3RjYXNlLnNlY29uZCA8PCBleHBlY3RlZFZhbHVlLmNvbnRhaW5zKHRlc3RjYXNl
LmZpcnN0KTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNCb29sZWFuKCkK
LXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKGJvb2wsIGV4
cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS5pc0Jvb2xlYW4oKSwgZXhwZWN0ZWQpOwotICAg
IFFDT01QQVJFKHZhbHVlLmlzQm9vbGVhbigpLCBleHBlY3RlZCk7Ci19Ci0KLXN0YXRpYyBjb25z
dCBRU3RyaW5nIGlzTnVtYmVyX2FycmF5W10gPSB7Ci0gICAgIlFTY3JpcHRWYWx1ZShpbnQoMTIy
KSkiLAotICAgICJRU2NyaXB0VmFsdWUodWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDEyMy4wKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSg2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgtNi4zN2Ut
OCkiLAotICAgICJRU2NyaXB0VmFsdWUoMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUo
MHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFs
dWUocVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUocVFOYU4oKSkiLAotICAgICJRU2NyaXB0
VmFsdWUocUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgtcUluZigpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCBpbnQoMTIyKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgdWludCgxMjQpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCA2LjM3
ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgcVNOYU4o
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgcVFOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtcUluZigpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHVp
bnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIC02LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4NDMyMTEyMzQp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCAweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFTTmFOKCkp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcVFOYU4oKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiYSA9IG5ldyBPYmplY3QoKTsgYS5mb28gPSAyMjsg
YS5mb29cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIyXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIjEyNFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIjAuMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIx
MjMuMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCI2LjM3ZS04XCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIi02LjM3ZS04XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4
NDMyMTEyMzRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMFwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAxXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
Ik5hTlwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJJbmZpbml0eVwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCItSW5maW5pdHlcIikifTsKLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVl
Ojppc051bWJlcl9kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTY3JpcHRWYWx1ZT4o
InZhbHVlIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxib29sPigiZXhwZWN0ZWQiKTsKLSAgICBp
ZiAobV9lbmdpbmUpCi0gICAgICAgIGRlbGV0ZSBtX2VuZ2luZTsKLSAgICBtX2VuZ2luZSA9IG5l
dyBRU2NyaXB0RW5naW5lKCk7Ci0gICAgUVNldDxRU3RyaW5nPiBleHBlY3RlZFZhbHVlOwotICAg
IGV4cGVjdGVkVmFsdWUucmVzZXJ2ZSg1Nik7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBpIDwgNTY7
ICsraSkKLSAgICAgICAgZXhwZWN0ZWRWYWx1ZS5pbnNlcnQoaXNOdW1iZXJfYXJyYXlbaV0pOwot
ICAgIGZvciAodWludCBpID0gMDsgaSA8IDEzNTsgKytpKSB7Ci0gICAgICAgIFFQYWlyPFFTdHJp
bmcsIFFTY3JpcHRWYWx1ZT4gdGVzdGNhc2UgPSBpbml0U2NyaXB0VmFsdWVzKGkpOwotICAgICAg
ICBRVGVzdDo6bmV3Um93KHRlc3RjYXNlLmZpcnN0LnRvQXNjaWkoKS5jb25zdERhdGEoKSkgPDwg
dGVzdGNhc2Uuc2Vjb25kIDw8IGV4cGVjdGVkVmFsdWUuY29udGFpbnModGVzdGNhc2UuZmlyc3Qp
OwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc051bWJlcigpCi17Ci0gICAg
UUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAgIFFGRVRDSChib29sLCBleHBlY3RlZCk7
Ci0gICAgUUNPTVBBUkUodmFsdWUuaXNOdW1iZXIoKSwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJF
KHZhbHVlLmlzTnVtYmVyKCksIGV4cGVjdGVkKTsKLX0KLQotc3RhdGljIGNvbnN0IFFTdHJpbmcg
aXNGdW5jdGlvbl9hcnJheVtdID0gewotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb24u
cHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJO
dW1iZXJcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb25cIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9uKCkgeyByZXR1cm4gMTsgfSlcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9uKCkgeyByZXR1cm4gJ2NpYW8nOyB9KVwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcignZm9v
Jyk7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi9mb28vXCIpIn07Ci0KLXZvaWQg
dHN0X1FTY3JpcHRWYWx1ZTo6aXNGdW5jdGlvbl9kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRkQ29s
dW1uPFFTY3JpcHRWYWx1ZT4oInZhbHVlIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxib29sPigi
ZXhwZWN0ZWQiKTsKLSAgICBpZiAobV9lbmdpbmUpCi0gICAgICAgIGRlbGV0ZSBtX2VuZ2luZTsK
LSAgICBtX2VuZ2luZSA9IG5ldyBRU2NyaXB0RW5naW5lKCk7Ci0gICAgUVNldDxRU3RyaW5nPiBl
eHBlY3RlZFZhbHVlOwotICAgIGV4cGVjdGVkVmFsdWUucmVzZXJ2ZSg5KTsKLSAgICBmb3IgKHVp
bnQgaSA9IDA7IGkgPCA5OyArK2kpCi0gICAgICAgIGV4cGVjdGVkVmFsdWUuaW5zZXJ0KGlzRnVu
Y3Rpb25fYXJyYXlbaV0pOwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDEzNTsgKytpKSB7Ci0g
ICAgICAgIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4gdGVzdGNhc2UgPSBpbml0U2NyaXB0
VmFsdWVzKGkpOwotICAgICAgICBRVGVzdDo6bmV3Um93KHRlc3RjYXNlLmZpcnN0LnRvQXNjaWko
KS5jb25zdERhdGEoKSkgPDwgdGVzdGNhc2Uuc2Vjb25kIDw8IGV4cGVjdGVkVmFsdWUuY29udGFp
bnModGVzdGNhc2UuZmlyc3QpOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjpp
c0Z1bmN0aW9uKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZF
VENIKGJvb2wsIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS5pc0Z1bmN0aW9uKCksIGV4
cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS5pc0Z1bmN0aW9uKCksIGV4cGVjdGVkKTsKLX0K
LQotc3RhdGljIGNvbnN0IFFTdHJpbmcgaXNOdWxsX2FycmF5W10gPSB7Ci0gICAgIlFTY3JpcHRW
YWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNj
cmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlw
dFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikiLAot
ICAgICJlbmdpbmUtPm51bGxWYWx1ZSgpIn07Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNO
dWxsX2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVNjcmlwdFZhbHVlPigidmFsdWUi
KTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGJvb2w+KCJleHBlY3RlZCIpOwotICAgIGlmIChtX2Vu
Z2luZSkKLSAgICAgICAgZGVsZXRlIG1fZW5naW5lOwotICAgIG1fZW5naW5lID0gbmV3IFFTY3Jp
cHRFbmdpbmUoKTsKLSAgICBRU2V0PFFTdHJpbmc+IGV4cGVjdGVkVmFsdWU7Ci0gICAgZXhwZWN0
ZWRWYWx1ZS5yZXNlcnZlKDUpOwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDU7ICsraSkKLSAg
ICAgICAgZXhwZWN0ZWRWYWx1ZS5pbnNlcnQoaXNOdWxsX2FycmF5W2ldKTsKLSAgICBmb3IgKHVp
bnQgaSA9IDA7IGkgPCAxMzU7ICsraSkgewotICAgICAgICBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0
VmFsdWU+IHRlc3RjYXNlID0gaW5pdFNjcmlwdFZhbHVlcyhpKTsKLSAgICAgICAgUVRlc3Q6Om5l
d1Jvdyh0ZXN0Y2FzZS5maXJzdC50b0FzY2lpKCkuY29uc3REYXRhKCkpIDw8IHRlc3RjYXNlLnNl
Y29uZCA8PCBleHBlY3RlZFZhbHVlLmNvbnRhaW5zKHRlc3RjYXNlLmZpcnN0KTsKLSAgICB9Ci19
Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNOdWxsKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlw
dFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKGJvb2wsIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFS
RSh2YWx1ZS5pc051bGwoKSwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJFKHZhbHVlLmlzTnVsbCgp
LCBleHBlY3RlZCk7Ci19Ci0KLXN0YXRpYyBjb25zdCBRU3RyaW5nIGlzU3RyaW5nX2FycmF5W10g
PSB7Ci0gICAgIlFTY3JpcHRWYWx1ZShcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIklu
ZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nOjpmcm9tTGF0
aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwi
MFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoUVN0cmluZyhcIjEyLjRcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiTmFO
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBRU3RyaW5nKFwiMTIuM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBc
Ik5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6
OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
UVN0cmluZyhcIjEuMjNcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCInMCdcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiJzEyLjQnXCIpIn07Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNT
dHJpbmdfZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJ2YWx1
ZSIpOwotICAgIFFUZXN0OjphZGRDb2x1bW48Ym9vbD4oImV4cGVjdGVkIik7Ci0gICAgaWYgKG1f
ZW5naW5lKQotICAgICAgICBkZWxldGUgbV9lbmdpbmU7Ci0gICAgbV9lbmdpbmUgPSBuZXcgUVNj
cmlwdEVuZ2luZSgpOwotICAgIFFTZXQ8UVN0cmluZz4gZXhwZWN0ZWRWYWx1ZTsKLSAgICBleHBl
Y3RlZFZhbHVlLnJlc2VydmUoMzUpOwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDM1OyArK2kp
Ci0gICAgICAgIGV4cGVjdGVkVmFsdWUuaW5zZXJ0KGlzU3RyaW5nX2FycmF5W2ldKTsKLSAgICBm
b3IgKHVpbnQgaSA9IDA7IGkgPCAxMzU7ICsraSkgewotICAgICAgICBRUGFpcjxRU3RyaW5nLCBR
U2NyaXB0VmFsdWU+IHRlc3RjYXNlID0gaW5pdFNjcmlwdFZhbHVlcyhpKTsKLSAgICAgICAgUVRl
c3Q6Om5ld1Jvdyh0ZXN0Y2FzZS5maXJzdC50b0FzY2lpKCkuY29uc3REYXRhKCkpIDw8IHRlc3Rj
YXNlLnNlY29uZCA8PCBleHBlY3RlZFZhbHVlLmNvbnRhaW5zKHRlc3RjYXNlLmZpcnN0KTsKLSAg
ICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNTdHJpbmcoKQotewotICAgIFFGRVRD
SChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRRkVUQ0goYm9vbCwgZXhwZWN0ZWQpOwotICAg
IFFDT01QQVJFKHZhbHVlLmlzU3RyaW5nKCksIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1
ZS5pc1N0cmluZygpLCBleHBlY3RlZCk7Ci19Ci0KLXN0YXRpYyBjb25zdCBRU3RyaW5nIGlzVW5k
ZWZpbmVkX2FycmF5W10gPSB7Ci0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVm
aW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5l
ZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5kZWZp
bmVkVmFsdWUpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSIsCi0gICAgImVuZ2luZS0+dW5kZWZpbmVkVmFsdWUo
KSJ9OwotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzVW5kZWZpbmVkX2RhdGEoKQotewotICAg
IFFUZXN0OjphZGRDb2x1bW48UVNjcmlwdFZhbHVlPigidmFsdWUiKTsKLSAgICBRVGVzdDo6YWRk
Q29sdW1uPGJvb2w+KCJleHBlY3RlZCIpOwotICAgIGlmIChtX2VuZ2luZSkKLSAgICAgICAgZGVs
ZXRlIG1fZW5naW5lOwotICAgIG1fZW5naW5lID0gbmV3IFFTY3JpcHRFbmdpbmUoKTsKLSAgICBR
U2V0PFFTdHJpbmc+IGV4cGVjdGVkVmFsdWU7Ci0gICAgZXhwZWN0ZWRWYWx1ZS5yZXNlcnZlKDYp
OwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDY7ICsraSkKLSAgICAgICAgZXhwZWN0ZWRWYWx1
ZS5pbnNlcnQoaXNVbmRlZmluZWRfYXJyYXlbaV0pOwotICAgIGZvciAodWludCBpID0gMDsgaSA8
IDEzNTsgKytpKSB7Ci0gICAgICAgIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4gdGVzdGNh
c2UgPSBpbml0U2NyaXB0VmFsdWVzKGkpOwotICAgICAgICBRVGVzdDo6bmV3Um93KHRlc3RjYXNl
LmZpcnN0LnRvQXNjaWkoKS5jb25zdERhdGEoKSkgPDwgdGVzdGNhc2Uuc2Vjb25kIDw8IGV4cGVj
dGVkVmFsdWUuY29udGFpbnModGVzdGNhc2UuZmlyc3QpOwotICAgIH0KLX0KLQotdm9pZCB0c3Rf
UVNjcmlwdFZhbHVlOjppc1VuZGVmaW5lZCgpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwg
dmFsdWUpOwotICAgIFFGRVRDSChib29sLCBleHBlY3RlZCk7Ci0gICAgUUNPTVBBUkUodmFsdWUu
aXNVbmRlZmluZWQoKSwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJFKHZhbHVlLmlzVW5kZWZpbmVk
KCksIGV4cGVjdGVkKTsKLX0KLQotCi0KLQotc3RhdGljIGNvbnN0IFFTdHJpbmcgaXNPYmplY3Rf
YXJyYXlbXSA9IHsKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIk9iamVjdC5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiRGF0ZS5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJv
dG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9uLnByb3RvdHlwZVwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJFcnJvci5wcm90b3R5cGVcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFy
cmF5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bWJlclwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCJGdW5jdGlvblwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVu
Y3Rpb24oKSB7IHJldHVybiAxOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVu
Y3Rpb24oKSB7IHJldHVybiAnY2lhbyc7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IihmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCdmb28nKTsgfSlcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiL2Zvby9cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IE9i
amVjdCgpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBFcnJvcigpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIlVuZGVmaW5lZFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOdWxsXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIlRydWVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiRmFsc2VcIikiLAotICAgICJlbmdpbmUtPm5ld09iamVjdCgpIiwKLSAgICAiZW5naW5lLT5u
ZXdBcnJheSgpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgxMCkifTsKLQotdm9pZCB0c3RfUVNj
cmlwdFZhbHVlOjppc09iamVjdF9kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTY3Jp
cHRWYWx1ZT4oInZhbHVlIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxib29sPigiZXhwZWN0ZWQi
KTsKLSAgICBpZiAobV9lbmdpbmUpCi0gICAgICAgIGRlbGV0ZSBtX2VuZ2luZTsKLSAgICBtX2Vu
Z2luZSA9IG5ldyBRU2NyaXB0RW5naW5lKCk7Ci0gICAgUVNldDxRU3RyaW5nPiBleHBlY3RlZFZh
bHVlOwotICAgIGV4cGVjdGVkVmFsdWUucmVzZXJ2ZSgyNCk7Ci0gICAgZm9yICh1aW50IGkgPSAw
OyBpIDwgMjQ7ICsraSkKLSAgICAgICAgZXhwZWN0ZWRWYWx1ZS5pbnNlcnQoaXNPYmplY3RfYXJy
YXlbaV0pOwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDEzNTsgKytpKSB7Ci0gICAgICAgIFFQ
YWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4gdGVzdGNhc2UgPSBpbml0U2NyaXB0VmFsdWVzKGkp
OwotICAgICAgICBRVGVzdDo6bmV3Um93KHRlc3RjYXNlLmZpcnN0LnRvQXNjaWkoKS5jb25zdERh
dGEoKSkgPDwgdGVzdGNhc2Uuc2Vjb25kIDw8IGV4cGVjdGVkVmFsdWUuY29udGFpbnModGVzdGNh
c2UuZmlyc3QpOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjppc09iamVjdCgp
Ci17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAgIFFGRVRDSChib29sLCBl
eHBlY3RlZCk7Ci0gICAgUUNPTVBBUkUodmFsdWUuaXNPYmplY3QoKSwgZXhwZWN0ZWQpOwotICAg
IFFDT01QQVJFKHZhbHVlLmlzT2JqZWN0KCksIGV4cGVjdGVkKTsKLX0KLQotc3RhdGljIGNvbnN0
IFFTdHJpbmcgaXNBcnJheV9hcnJheVtdID0gewotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiW11c
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJh
eSgpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgxMCkifTsKLQotdm9pZCB0c3RfUVNjcmlwdFZh
bHVlOjppc0FycmF5X2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVNjcmlwdFZhbHVl
PigidmFsdWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGJvb2w+KCJleHBlY3RlZCIpOwotICAg
IGlmIChtX2VuZ2luZSkKLSAgICAgICAgZGVsZXRlIG1fZW5naW5lOwotICAgIG1fZW5naW5lID0g
bmV3IFFTY3JpcHRFbmdpbmUoKTsKLSAgICBRU2V0PFFTdHJpbmc+IGV4cGVjdGVkVmFsdWU7Ci0g
ICAgZXhwZWN0ZWRWYWx1ZS5yZXNlcnZlKDUpOwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDU7
ICsraSkKLSAgICAgICAgZXhwZWN0ZWRWYWx1ZS5pbnNlcnQoaXNBcnJheV9hcnJheVtpXSk7Ci0g
ICAgZm9yICh1aW50IGkgPSAwOyBpIDwgMTM1OyArK2kpIHsKLSAgICAgICAgUVBhaXI8UVN0cmlu
ZywgUVNjcmlwdFZhbHVlPiB0ZXN0Y2FzZSA9IGluaXRTY3JpcHRWYWx1ZXMoaSk7Ci0gICAgICAg
IFFUZXN0OjpuZXdSb3codGVzdGNhc2UuZmlyc3QudG9Bc2NpaSgpLmNvbnN0RGF0YSgpKSA8PCB0
ZXN0Y2FzZS5zZWNvbmQgPDwgZXhwZWN0ZWRWYWx1ZS5jb250YWlucyh0ZXN0Y2FzZS5maXJzdCk7
Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzQXJyYXkoKQotewotICAgIFFG
RVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsKLSAgICBRRkVUQ0goYm9vbCwgZXhwZWN0ZWQpOwot
ICAgIFFDT01QQVJFKHZhbHVlLmlzQXJyYXkoKSwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJFKHZh
bHVlLmlzQXJyYXkoKSwgZXhwZWN0ZWQpOwotfQotCi1zdGF0aWMgY29uc3QgUVN0cmluZyBpc0Vy
cm9yX2FycmF5W10gPSB7Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJFcnJvci5wcm90b3R5cGVc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEVycm9yKClcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiVW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51
bGxcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiVHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJGYWxzZVwiKSJ9OwotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OmlzRXJyb3Jf
ZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFsdWU+KCJ2YWx1ZSIpOwot
ICAgIFFUZXN0OjphZGRDb2x1bW48Ym9vbD4oImV4cGVjdGVkIik7Ci0gICAgaWYgKG1fZW5naW5l
KQotICAgICAgICBkZWxldGUgbV9lbmdpbmU7Ci0gICAgbV9lbmdpbmUgPSBuZXcgUVNjcmlwdEVu
Z2luZSgpOwotICAgIFFTZXQ8UVN0cmluZz4gZXhwZWN0ZWRWYWx1ZTsKLSAgICBleHBlY3RlZFZh
bHVlLnJlc2VydmUoNik7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBpIDwgNjsgKytpKQotICAgICAg
ICBleHBlY3RlZFZhbHVlLmluc2VydChpc0Vycm9yX2FycmF5W2ldKTsKLSAgICBmb3IgKHVpbnQg
aSA9IDA7IGkgPCAxMzU7ICsraSkgewotICAgICAgICBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFs
dWU+IHRlc3RjYXNlID0gaW5pdFNjcmlwdFZhbHVlcyhpKTsKLSAgICAgICAgUVRlc3Q6Om5ld1Jv
dyh0ZXN0Y2FzZS5maXJzdC50b0FzY2lpKCkuY29uc3REYXRhKCkpIDw8IHRlc3RjYXNlLnNlY29u
ZCA8PCBleHBlY3RlZFZhbHVlLmNvbnRhaW5zKHRlc3RjYXNlLmZpcnN0KTsKLSAgICB9Ci19Ci0K
LXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6aXNFcnJvcigpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRW
YWx1ZSwgdmFsdWUpOwotICAgIFFGRVRDSChib29sLCBleHBlY3RlZCk7Ci0gICAgUUNPTVBBUkUo
dmFsdWUuaXNFcnJvcigpLCBleHBlY3RlZCk7Ci0gICAgUUNPTVBBUkUodmFsdWUuaXNFcnJvcigp
LCBleHBlY3RlZCk7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVz
dHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFsdWVfZ2VuZXJhdGVkX3RvdHlwZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlwdHZhbHVlL3RzdF9xc2NyaXB0dmFs
dWVfZ2VuZXJhdGVkX3RvdHlwZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVh
YTVkMTRkYjVhYjVmOTZkNjkzZTg4MWU0YjJkY2EzOGFiYTZiOGEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rl
c3RzL3FzY3JpcHR2YWx1ZS90c3RfcXNjcmlwdHZhbHVlX2dlbmVyYXRlZF90b3R5cGUuY3BwCisr
KyAvZGV2L251bGwKQEAgLTEsMTc4NiArMCwwIEBACi0vKgotICAgIENvcHlyaWdodCAoQykgMjAx
MCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLQotICAgIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAg
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0vKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgotKioqKioqKioqKioqKioqIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5l
cmF0ZWQuIERPIE5PVCBNT0RJRlkhICoqKioqKioqKioqKioqKioKLSoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KiovCi0KLSNpbmNsdWRlICJ0c3RfcXNjcmlwdHZhbHVlLmgiCi0KLXN0YXRpYyBjb25zdCBRU3Ry
aW5nIHRvU3RyaW5nX3RhZ0FycmF5W10gPSB7Ci0gICAgIlFTY3JpcHRWYWx1ZSgpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh0cnVl
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoaW50KDEy
MikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCkiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgxMjMuMCki
LAotICAgICJRU2NyaXB0VmFsdWUoNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoLTYuMzdl
LTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKHFTTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFRTmFOKCkpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoLXFJbmYoKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoXCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCJJbmZpbml0eVwiKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcImNp
YW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjBcIikpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJp
bmcoXCIxMi40XCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVm
aW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1
ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgdHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
ZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCB1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMTIzLjApIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC02LjM3ZS04
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAxKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCBxU05hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxUU5hTigpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIC1x
SW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCItSW5maW5pdHlc
IikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCBRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIu
M1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5l
ZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZh
bHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgaW50KDEyMikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMC4wKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLTYuMzdlLTgpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4MTAwMDEpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBxUU5hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFJbmYoKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJJbmZpbml0eVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0
cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
UVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBRU3RyaW5nKFwiMS4yM1wiKSkiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiW11cIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwie31cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiT2JqZWN0LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJEYXRlLnBy
b3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheS5wcm90b3R5cGVcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rpb24ucHJvdG90eXBlXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIkVycm9yLnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJPYmplY3RcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXlcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiTnVtYmVyXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIkZ1bmN0aW9uXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsg
cmV0dXJuIDE7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsg
cmV0dXJuICdjaWFvJzsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9u
KCkgeyB0aHJvdyBuZXcgRXJyb3IoJ2ZvbycpOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCIvZm9vL1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgT2JqZWN0KClcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFycmF5KClcIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwibmV3IEVycm9yKClcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiYSA9
IG5ldyBPYmplY3QoKTsgYS5mb28gPSAyMjsgYS5mb29cIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiVW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bGxcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiVHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCJGYWxzZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ1bmRlZmluZWRcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ0
cnVlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImZhbHNlXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIjEyMlwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjRcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIw
LjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTIzLjBcIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiNi4zN2UtOFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCItNi4zN2Ut
OFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDQzMjExMjM0XCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIjB4MTAwMDBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgx
MDAwMVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOYU5cIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiSW5maW5pdHlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLUluZmlu
aXR5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIidjaWFvJ1wiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMCdcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiJzEyLjQnXCIpIiwKLSAgICAiZW5naW5lLT5udWxsVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+
dW5kZWZpbmVkVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+bmV3T2JqZWN0KCkiLAotICAgICJlbmdp
bmUtPm5ld0FycmF5KCkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KDEwKSJ9OwotCi1zdGF0aWMg
Y29uc3QgUVN0cmluZyB0b1N0cmluZ192YWx1ZUFycmF5W10gPSB7Ci0gICAgIiIsICJ1bmRlZmlu
ZWQiLAotICAgICJudWxsIiwgInRydWUiLAotICAgICJmYWxzZSIsICIxMjIiLAotICAgICIxMjQi
LCAiMCIsCi0gICAgIjAiLCAiMTIzIiwKLSAgICAiNi4zN2UtOCIsICItNi4zN2UtOCIsCi0gICAg
IjExMjYyNDA4MjAiLCAiNjU1MzYiLAotICAgICI2NTUzNyIsICJOYU4iLAotICAgICJOYU4iLCAi
SW5maW5pdHkiLAotICAgICItSW5maW5pdHkiLCAiTmFOIiwKLSAgICAiSW5maW5pdHkiLCAiLUlu
ZmluaXR5IiwKLSAgICAiY2lhbyIsICJjaWFvIiwKLSAgICAiIiwgIiIsCi0gICAgIjAiLCAiMTIz
IiwKLSAgICAiMTIuNCIsICJ1bmRlZmluZWQiLAotICAgICJudWxsIiwgInRydWUiLAotICAgICJm
YWxzZSIsICIxMjIiLAotICAgICIxMjQiLCAiMCIsCi0gICAgIjAiLCAiMTIzIiwKLSAgICAiNi4z
N2UtOCIsICItNi4zN2UtOCIsCi0gICAgIjExMjYyNDA4MjAiLCAiNjU1MzYiLAotICAgICI2NTUz
NyIsICJOYU4iLAotICAgICJOYU4iLCAiSW5maW5pdHkiLAotICAgICItSW5maW5pdHkiLCAiTmFO
IiwKLSAgICAiSW5maW5pdHkiLCAiLUluZmluaXR5IiwKLSAgICAiY2lhbyIsICJjaWFvIiwKLSAg
ICAiIiwgIiIsCi0gICAgIjAiLCAiMTIzIiwKLSAgICAiMTIuMyIsICJ1bmRlZmluZWQiLAotICAg
ICJudWxsIiwgInRydWUiLAotICAgICJmYWxzZSIsICIxMjIiLAotICAgICIxMjQiLCAiMCIsCi0g
ICAgIjAiLCAiMTIzIiwKLSAgICAiNi4zN2UtOCIsICItNi4zN2UtOCIsCi0gICAgIjExMjYyNDA4
MjAiLCAiNjU1MzYiLAotICAgICI2NTUzNyIsICJOYU4iLAotICAgICJOYU4iLCAiSW5maW5pdHki
LAotICAgICItSW5maW5pdHkiLCAiTmFOIiwKLSAgICAiSW5maW5pdHkiLCAiLUluZmluaXR5IiwK
LSAgICAiY2lhbyIsICJjaWFvIiwKLSAgICAiIiwgIiIsCi0gICAgIjAiLCAiMTIzIiwKLSAgICAi
MS4yMyIsICIiLAotICAgICJ1bmRlZmluZWQiLCAiW29iamVjdCBPYmplY3RdIiwKLSAgICAiSW52
YWxpZCBEYXRlIiwgIiIsCi0gICAgImZ1bmN0aW9uICgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59
IiwgIkVycm9yOiBVbmtub3duIGVycm9yIiwKLSAgICAiZnVuY3Rpb24gT2JqZWN0KCkge1xuICAg
IFtuYXRpdmUgY29kZV1cbn0iLCAiZnVuY3Rpb24gQXJyYXkoKSB7XG4gICAgW25hdGl2ZSBjb2Rl
XVxufSIsCi0gICAgImZ1bmN0aW9uIE51bWJlcigpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59Iiwg
ImZ1bmN0aW9uIEZ1bmN0aW9uKCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0iLAotICAgICJmdW5j
dGlvbiAoKSB7IHJldHVybiAxOyB9IiwgImZ1bmN0aW9uICgpIHsgcmV0dXJuICdjaWFvJzsgfSIs
Ci0gICAgImZ1bmN0aW9uICgpIHsgdGhyb3cgbmV3IEVycm9yKCdmb28nKTsgfSIsICIvZm9vLyIs
Ci0gICAgIltvYmplY3QgT2JqZWN0XSIsICIiLAotICAgICJFcnJvcjogVW5rbm93biBlcnJvciIs
ICIyMiIsCi0gICAgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBVbmRlZmlu
ZWQiLCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IE51bGwiLAotICAgICJS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogVHJ1ZSIsICJSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogRmFsc2UiLAotICAgICJ1bmRlZmluZWQiLCAibnVsbCIs
Ci0gICAgInRydWUiLCAiZmFsc2UiLAotICAgICIxMjIiLCAiMTI0IiwKLSAgICAiMCIsICIwIiwK
LSAgICAiMTIzIiwgIjYuMzdlLTgiLAotICAgICItNi4zN2UtOCIsICIxMTI2MjQwODIwIiwKLSAg
ICAiNjU1MzYiLCAiNjU1MzciLAotICAgICJOYU4iLCAiSW5maW5pdHkiLAotICAgICItSW5maW5p
dHkiLCAiY2lhbyIsCi0gICAgIiIsICIwIiwKLSAgICAiMTIzIiwgIjEyLjQiLAotICAgICJudWxs
IiwgInVuZGVmaW5lZCIsCi0gICAgIltvYmplY3QgT2JqZWN0XSIsICIiLAotICAgICIsLCwsLCws
LCwifTsKLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b1N0cmluZ19kYXRhKCkKLXsKLSAgICBR
VGVzdDo6YWRkQ29sdW1uPFFTY3JpcHRWYWx1ZT4oInZhbHVlIik7Ci0gICAgUVRlc3Q6OmFkZENv
bHVtbjxRU3RyaW5nPigiZXhwZWN0ZWQiKTsKLSAgICBpZiAobV9lbmdpbmUpCi0gICAgICAgIGRl
bGV0ZSBtX2VuZ2luZTsKLSAgICBtX2VuZ2luZSA9IG5ldyBRU2NyaXB0RW5naW5lKCk7Ci0gICAg
UUhhc2g8UVN0cmluZywgUVN0cmluZz4gZXhwZWN0ZWRWYWx1ZTsKLSAgICBleHBlY3RlZFZhbHVl
LnJlc2VydmUoMTM1KTsKLSAgICBmb3IgKHVpbnQgaSA9IDA7IGkgPCAxMzU7ICsraSkKLSAgICAg
ICAgZXhwZWN0ZWRWYWx1ZS5pbnNlcnQodG9TdHJpbmdfdGFnQXJyYXlbaV0sIHRvU3RyaW5nX3Zh
bHVlQXJyYXlbaV0pOwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDEzNTsgKytpKSB7Ci0gICAg
ICAgIFFQYWlyPFFTdHJpbmcsIFFTY3JpcHRWYWx1ZT4gdGVzdGNhc2UgPSBpbml0U2NyaXB0VmFs
dWVzKGkpOwotICAgICAgICBRVGVzdDo6bmV3Um93KHRlc3RjYXNlLmZpcnN0LnRvQXNjaWkoKS5j
b25zdERhdGEoKSkgPDwgdGVzdGNhc2Uuc2Vjb25kIDw8IGV4cGVjdGVkVmFsdWVbdGVzdGNhc2Uu
Zmlyc3RdOwotICAgIH0KLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlOjp0b1N0cmluZygpCi17
Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUpOwotICAgIFFGRVRDSChRU3RyaW5nLCBl
eHBlY3RlZCk7Ci0gICAgUUNPTVBBUkUodmFsdWUudG9TdHJpbmcoKSwgZXhwZWN0ZWQpOwotICAg
IFFDT01QQVJFKHZhbHVlLnRvU3RyaW5nKCksIGV4cGVjdGVkKTsKLX0KLQotc3RhdGljIGNvbnN0
IFFTdHJpbmcgdG9OdW1iZXJfdGFnQXJyYXlbXSA9IHsKLSAgICAiUVNjcmlwdFZhbHVlKCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJR
U2NyaXB0VmFsdWUoUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShp
bnQoMTIyKSkiLAotICAgICJRU2NyaXB0VmFsdWUodWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDEy
My4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSg2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgt
Ni4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0
VmFsdWUoMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMHgxMDAwMSkiLAotICAgICJRU2Ny
aXB0VmFsdWUocVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUocVFOYU4oKSkiLAotICAgICJR
U2NyaXB0VmFsdWUocUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgtcUluZigpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIkluZmluaXR5XCIp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lh
b1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMFwiKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
UVN0cmluZyhcIjEyLjRcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6
VW5kZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTY3JpcHRWYWx1ZTo6TnVs
bFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgaW50KDEyMikpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDAsIHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAxMjMuMCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgLTYu
MzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDB4MTAwMDEpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDAsIHFTTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHFRTmFO
KCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJOYU5cIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIi1JbmZp
bml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcImNpYW9cIikiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoKSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmco
XCIxMi4zXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTY3JpcHRWYWx1ZTo6VW5k
ZWZpbmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpO
dWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdHJ1ZSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCBmYWxzZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBpbnQo
MTIyKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB1aW50KDEyNCkpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwLjApIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAtNi4zN2UtOCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMSki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxU05hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIHFRTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcUluZigpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgXCJOYU5cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIkluZmluaXR5
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCItSW5maW5pdHlcIikiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCBcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmco
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJR
U2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTdHJpbmcoXCIxLjIzXCIpKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJb
XVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ7fVwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJPYmplY3QucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkRh
dGUucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5LnByb3RvdHlw
ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvbi5wcm90b3R5cGVcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRXJyb3IucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIk9iamVjdFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJBcnJheVwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOdW1iZXJcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiRnVuY3Rpb25cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9u
KCkgeyByZXR1cm4gMTsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9u
KCkgeyByZXR1cm4gJ2NpYW8nOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVu
Y3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcignZm9vJyk7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIi9mb28vXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBPYmplY3Qo
KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJuZXcgQXJyYXkoKVwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJuZXcgRXJyb3IoKVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCJhID0gbmV3IE9iamVjdCgpOyBhLmZvbyA9IDIyOyBhLmZvb1wiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJVbmRlZmluZWRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiTnVsbFwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJUcnVlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIkZhbHNlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInVuZGVmaW5lZFwiKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJudWxsXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcInRydWVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiZmFsc2VcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiMTIyXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyNFwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIjAuMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjMuMFwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCI2LjM3ZS04XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi02
LjM3ZS04XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4NDMyMTEyMzRcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCIweDEwMDAxXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk5hTlwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJJbmZpbml0eVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIt
SW5maW5pdHlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJ2NpYW8nXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIicnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicwJ1wi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInMTIzJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCInMTIuNCdcIikiLAotICAgICJlbmdpbmUtPm51bGxWYWx1ZSgpIiwKLSAgICAiZW5n
aW5lLT51bmRlZmluZWRWYWx1ZSgpIiwKLSAgICAiZW5naW5lLT5uZXdPYmplY3QoKSIsCi0gICAg
ImVuZ2luZS0+bmV3QXJyYXkoKSIsCi0gICAgImVuZ2luZS0+bmV3QXJyYXkoMTApIn07Ci0KLXN0
YXRpYyBjb25zdCBxc3JlYWwgdG9OdW1iZXJfdmFsdWVBcnJheVtdID0gewotICAgIDAsIHFRTmFO
KCksIDAsIDEsIDAsIDEyMiwgMTI0LCAwLCAwLCAxMjMsCi0gICAgNi4zNjk5OTk5OTk5OTk5OTll
LTA4LCAtNi4zNjk5OTk5OTk5OTk5OTllLTA4LCAxMTI2MjQwODIwLCA2NTUzNiwgNjU1MzcsIHFR
TmFOKCksIHFRTmFOKCksIHFJbmYoKSwgcUluZigpLCBxUU5hTigpLAotICAgIHFJbmYoKSwgcUlu
ZigpLCBxUU5hTigpLCBxUU5hTigpLCAwLCAwLCAwLCAxMjMsIDEyLjQsIHFRTmFOKCksCi0gICAg
MCwgMSwgMCwgMTIyLCAxMjQsIDAsIDAsIDEyMywgNi4zNjk5OTk5OTk5OTk5OTllLTA4LCAtNi4z
Njk5OTk5OTk5OTk5OTllLTA4LAotICAgIDExMjYyNDA4MjAsIDY1NTM2LCA2NTUzNywgcVFOYU4o
KSwgcVFOYU4oKSwgcUluZigpLCBxSW5mKCksIHFRTmFOKCksIHFJbmYoKSwgcUluZigpLAotICAg
IHFRTmFOKCksIHFRTmFOKCksIDAsIDAsIDAsIDEyMywgMTIuMywgcVFOYU4oKSwgMCwgMSwKLSAg
ICAwLCAxMjIsIDEyNCwgMCwgMCwgMTIzLCA2LjM2OTk5OTk5OTk5OTk5OWUtMDgsIC02LjM2OTk5
OTk5OTk5OTk5OWUtMDgsIDExMjYyNDA4MjAsIDY1NTM2LAotICAgIDY1NTM3LCBxUU5hTigpLCBx
UU5hTigpLCBxSW5mKCksIHFJbmYoKSwgcVFOYU4oKSwgcUluZigpLCBxSW5mKCksIHFRTmFOKCks
IHFRTmFOKCksCi0gICAgMCwgMCwgMCwgMTIzLCAxLjIzLCAwLCBxUU5hTigpLCBxUU5hTigpLCBx
UU5hTigpLCAwLAotICAgIHFRTmFOKCksIHFRTmFOKCksIHFRTmFOKCksIHFRTmFOKCksIHFRTmFO
KCksIHFRTmFOKCksIHFRTmFOKCksIHFRTmFOKCksIHFRTmFOKCksIHFRTmFOKCksCi0gICAgcVFO
YU4oKSwgMCwgcVFOYU4oKSwgMjIsIHFRTmFOKCksIHFRTmFOKCksIHFRTmFOKCksIHFRTmFOKCks
IHFRTmFOKCksIDAsCi0gICAgMSwgMCwgMTIyLCAxMjQsIDAsIDAsIDEyMywgNi4zNjk5OTk5OTk5
OTk5OTllLTA4LCAtNi4zNjk5OTk5OTk5OTk5OTllLTA4LCAxMTI2MjQwODIwLAotICAgIDY1NTM2
LCA2NTUzNywgcVFOYU4oKSwgcUluZigpLCBxSW5mKCksIHFRTmFOKCksIDAsIDAsIDEyMywgMTIu
NCwKLSAgICAwLCBxUU5hTigpLCBxUU5hTigpLCAwLCBxUU5hTigpfTsKLQotdm9pZCB0c3RfUVNj
cmlwdFZhbHVlOjp0b051bWJlcl9kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTY3Jp
cHRWYWx1ZT4oInZhbHVlIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxxc3JlYWw+KCJleHBlY3Rl
ZCIpOwotICAgIGlmIChtX2VuZ2luZSkKLSAgICAgICAgZGVsZXRlIG1fZW5naW5lOwotICAgIG1f
ZW5naW5lID0gbmV3IFFTY3JpcHRFbmdpbmUoKTsKLSAgICBRSGFzaDxRU3RyaW5nLCBxc3JlYWw+
IGV4cGVjdGVkVmFsdWU7Ci0gICAgZXhwZWN0ZWRWYWx1ZS5yZXNlcnZlKDEzNSk7Ci0gICAgZm9y
ICh1aW50IGkgPSAwOyBpIDwgMTM1OyArK2kpCi0gICAgICAgIGV4cGVjdGVkVmFsdWUuaW5zZXJ0
KHRvTnVtYmVyX3RhZ0FycmF5W2ldLCB0b051bWJlcl92YWx1ZUFycmF5W2ldKTsKLSAgICBmb3Ig
KHVpbnQgaSA9IDA7IGkgPCAxMzU7ICsraSkgewotICAgICAgICBRUGFpcjxRU3RyaW5nLCBRU2Ny
aXB0VmFsdWU+IHRlc3RjYXNlID0gaW5pdFNjcmlwdFZhbHVlcyhpKTsKLSAgICAgICAgUVRlc3Q6
Om5ld1Jvdyh0ZXN0Y2FzZS5maXJzdC50b0FzY2lpKCkuY29uc3REYXRhKCkpIDw8IHRlc3RjYXNl
LnNlY29uZCA8PCBleHBlY3RlZFZhbHVlW3Rlc3RjYXNlLmZpcnN0XTsKLSAgICB9Ci19Ci0KLXZv
aWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9OdW1iZXIoKQotewotICAgIFFGRVRDSChRU2NyaXB0VmFs
dWUsIHZhbHVlKTsKLSAgICBRRkVUQ0gocXNyZWFsLCBleHBlY3RlZCk7Ci0gICAgaWYgKHFJc05h
TihleHBlY3RlZCkpIHsKLSAgICAgICAgUVZFUklGWShxSXNOYU4odmFsdWUudG9OdW1iZXIoKSkp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGlmIChxSXNJbmYoZXhwZWN0ZWQpKSB7Ci0g
ICAgICAgIFFWRVJJRlkocUlzSW5mKHZhbHVlLnRvTnVtYmVyKCkpKTsKLSAgICAgICAgUVZFUklG
WShxSXNJbmYodmFsdWUudG9OdW1iZXIoKSkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAg
IFFDT01QQVJFKHZhbHVlLnRvTnVtYmVyKCksIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1
ZS50b051bWJlcigpLCBleHBlY3RlZCk7Ci19Ci0KLXN0YXRpYyBjb25zdCBRU3RyaW5nIHRvQm9v
bF90YWdBcnJheVtdID0gewotICAgICJRU2NyaXB0VmFsdWUoKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2Ny
aXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUodHJ1ZSkiLAotICAgICJR
U2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGludCgxMjIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSh1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMTIzLjApIiwKLSAgICAiUVNj
cmlwdFZhbHVlKDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC02LjM3ZS04KSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAwKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShxU05hTigp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShxUU5hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShxSW5m
KCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwi
TmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0
VmFsdWUoXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCJjaWFvXCIpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIuNFwi
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBpbnQoMTIyKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgdWlu
dCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAw
MCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgcVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgcVFOYU4oKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtcUluZigpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIklu
ZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiLUluZmluaXR5XCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5n
Ojpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhc
IlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhc
IjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyLjNcIikpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGludCgxMjIpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCAxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3ZS04KSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAw
MCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIHFTTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcVFOYU4o
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIk5hTlwi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21M
YXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJc
IikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmlu
ZyhcIjEuMjNcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcInt9XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdC5w
cm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRGF0ZS5wcm90b3R5cGVcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9uLnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJFcnJvci5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiT2Jq
ZWN0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5XCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIk51bWJlclwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlv
blwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7IHJldHVybiAxOyB9
KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7IHJldHVybiAnY2lh
byc7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgdGhyb3cg
bmV3IEVycm9yKCdmb28nKTsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiL2Zvby9c
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IE9iamVjdCgpXCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
Im5ldyBFcnJvcigpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImEgPSBuZXcgT2JqZWN0
KCk7IGEuZm9vID0gMjI7IGEuZm9vXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIlVuZGVm
aW5lZFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOdWxsXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIlRydWVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRmFsc2VcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIm51bGxcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidHJ1ZVwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCIxMjJcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyMy4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IjYuMzdlLThcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLTYuMzdlLThcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiMHg0MzIxMTIzNFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCIweDEwMDAwXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDFcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiTmFOXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IkluZmluaXR5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0eVwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiJydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIicxMjMnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMi40J1wi
KSIsCi0gICAgImVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAgICJlbmdpbmUtPnVuZGVmaW5lZFZh
bHVlKCkiLAotICAgICJlbmdpbmUtPm5ld09iamVjdCgpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJh
eSgpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgxMCkifTsKLQotc3RhdGljIGNvbnN0IGJvb2wg
dG9Cb29sX3ZhbHVlQXJyYXlbXSA9IHsKLSAgICBmYWxzZSwgZmFsc2UsCi0gICAgZmFsc2UsIHRy
dWUsCi0gICAgZmFsc2UsIHRydWUsCi0gICAgdHJ1ZSwgZmFsc2UsCi0gICAgZmFsc2UsIHRydWUs
Ci0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIGZhbHNlLAotICAg
IGZhbHNlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVl
LCB0cnVlLAotICAgIGZhbHNlLCBmYWxzZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIGZh
bHNlLAotICAgIGZhbHNlLCB0cnVlLAotICAgIGZhbHNlLCB0cnVlLAotICAgIHRydWUsIGZhbHNl
LAotICAgIGZhbHNlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAg
ICB0cnVlLCBmYWxzZSwKLSAgICBmYWxzZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRy
dWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICBmYWxzZSwgZmFsc2UsCi0gICAgdHJ1ZSwg
dHJ1ZSwKLSAgICB0cnVlLCBmYWxzZSwKLSAgICBmYWxzZSwgdHJ1ZSwKLSAgICBmYWxzZSwgdHJ1
ZSwKLSAgICB0cnVlLCBmYWxzZSwKLSAgICBmYWxzZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAot
ICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgZmFsc2UsCi0gICAgZmFsc2UsIHRydWUsCi0gICAg
dHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgZmFsc2Us
IGZhbHNlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICBmYWxzZSwgdHJ1
ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAg
ICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVl
LCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVl
LAotICAgIGZhbHNlLCBmYWxzZSwKLSAgICB0cnVlLCBmYWxzZSwKLSAgICB0cnVlLCB0cnVlLAot
ICAgIGZhbHNlLCBmYWxzZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAg
dHJ1ZSwgdHJ1ZSwKLSAgICBmYWxzZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIGZhbHNl
LCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgZmFsc2UsIGZhbHNlLAotICAgIHRydWUsIHRy
dWUsCi0gICAgdHJ1ZX07Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9Cb29sX2RhdGEoKQot
ewotICAgIFFUZXN0OjphZGRDb2x1bW48UVNjcmlwdFZhbHVlPigidmFsdWUiKTsKLSAgICBRVGVz
dDo6YWRkQ29sdW1uPGJvb2w+KCJleHBlY3RlZCIpOwotICAgIGlmIChtX2VuZ2luZSkKLSAgICAg
ICAgZGVsZXRlIG1fZW5naW5lOwotICAgIG1fZW5naW5lID0gbmV3IFFTY3JpcHRFbmdpbmUoKTsK
LSAgICBRSGFzaDxRU3RyaW5nLCBib29sPiBleHBlY3RlZFZhbHVlOwotICAgIGV4cGVjdGVkVmFs
dWUucmVzZXJ2ZSgxMzUpOwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDEzNTsgKytpKQotICAg
ICAgICBleHBlY3RlZFZhbHVlLmluc2VydCh0b0Jvb2xfdGFnQXJyYXlbaV0sIHRvQm9vbF92YWx1
ZUFycmF5W2ldKTsKLSAgICBmb3IgKHVpbnQgaSA9IDA7IGkgPCAxMzU7ICsraSkgewotICAgICAg
ICBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+IHRlc3RjYXNlID0gaW5pdFNjcmlwdFZhbHVl
cyhpKTsKLSAgICAgICAgUVRlc3Q6Om5ld1Jvdyh0ZXN0Y2FzZS5maXJzdC50b0FzY2lpKCkuY29u
c3REYXRhKCkpIDw8IHRlc3RjYXNlLnNlY29uZCA8PCBleHBlY3RlZFZhbHVlW3Rlc3RjYXNlLmZp
cnN0XTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9Cb29sKCkKLXsKLSAg
ICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKGJvb2wsIGV4cGVjdGVk
KTsKLSAgICBRQ09NUEFSRSh2YWx1ZS50b0Jvb2woKSwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJF
KHZhbHVlLnRvQm9vbCgpLCBleHBlY3RlZCk7Ci19Ci0KLXN0YXRpYyBjb25zdCBRU3RyaW5nIHRv
Qm9vbGVhbl90YWdBcnJheVtdID0gewotICAgICJRU2NyaXB0VmFsdWUoKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUodHJ1ZSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGludCgxMjIpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSh1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMTIzLjApIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC02LjM3ZS04KSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSgweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEw
MDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShx
U05hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShxUU5hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiSW5maW5pdHlcIikiLAotICAgICJR
U2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCJjaWFvXCIp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3Ry
aW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwi
MTIuNFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRW
YWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNl
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBpbnQoMTIyKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDEyMy4wKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
MHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgcVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgcVFOYU4oKSkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMCwgcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtcUluZigp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCBcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiLUluZmluaXR5XCIpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBR
U3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0
cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0
cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyLjNcIikp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1
ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGludCgxMjIpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAgICJRU2Ny
aXB0VmFsdWUoZW5naW5lLCAxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3
ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
MHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAxKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIHFTTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
cVFOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5mKCkpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBc
Ik5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIikiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6
OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJp
bmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
UVN0cmluZyhcIjEuMjNcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk9i
amVjdC5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRGF0ZS5wcm90b3R5
cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9uLnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCJFcnJvci5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiT2JqZWN0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5XCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIk51bWJlclwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJG
dW5jdGlvblwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7IHJldHVy
biAxOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7IHJldHVy
biAnY2lhbyc7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsg
dGhyb3cgbmV3IEVycm9yKCdmb28nKTsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
L2Zvby9cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IE9iamVjdCgpXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIm5ldyBFcnJvcigpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImEgPSBuZXcg
T2JqZWN0KCk7IGEuZm9vID0gMjI7IGEuZm9vXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IlVuZGVmaW5lZFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOdWxsXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIlRydWVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRmFs
c2VcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIm51bGxcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidHJ1ZVwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCIxMjJcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyMy4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIjYuMzdlLThcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLTYuMzdlLThcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHg0MzIxMTIzNFwiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCIweDEwMDAwXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDFc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiTmFOXCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIkluZmluaXR5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0eVwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiJydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicx
Mi40J1wiKSIsCi0gICAgImVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAgICJlbmdpbmUtPnVuZGVm
aW5lZFZhbHVlKCkiLAotICAgICJlbmdpbmUtPm5ld09iamVjdCgpIiwKLSAgICAiZW5naW5lLT5u
ZXdBcnJheSgpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgxMCkifTsKLQotc3RhdGljIGNvbnN0
IGJvb2wgdG9Cb29sZWFuX3ZhbHVlQXJyYXlbXSA9IHsKLSAgICBmYWxzZSwgZmFsc2UsCi0gICAg
ZmFsc2UsIHRydWUsCi0gICAgZmFsc2UsIHRydWUsCi0gICAgdHJ1ZSwgZmFsc2UsCi0gICAgZmFs
c2UsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIGZh
bHNlLAotICAgIGZhbHNlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwK
LSAgICB0cnVlLCB0cnVlLAotICAgIGZhbHNlLCBmYWxzZSwKLSAgICB0cnVlLCB0cnVlLAotICAg
IHRydWUsIGZhbHNlLAotICAgIGZhbHNlLCB0cnVlLAotICAgIGZhbHNlLCB0cnVlLAotICAgIHRy
dWUsIGZhbHNlLAotICAgIGZhbHNlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwg
dHJ1ZSwKLSAgICB0cnVlLCBmYWxzZSwKLSAgICBmYWxzZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVl
LAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICBmYWxzZSwgZmFsc2UsCi0g
ICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCBmYWxzZSwKLSAgICBmYWxzZSwgdHJ1ZSwKLSAgICBm
YWxzZSwgdHJ1ZSwKLSAgICB0cnVlLCBmYWxzZSwKLSAgICBmYWxzZSwgdHJ1ZSwKLSAgICB0cnVl
LCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgZmFsc2UsCi0gICAgZmFsc2UsIHRy
dWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0g
ICAgZmFsc2UsIGZhbHNlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICBm
YWxzZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwg
dHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwK
LSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICB0
cnVlLCB0cnVlLAotICAgIGZhbHNlLCBmYWxzZSwKLSAgICB0cnVlLCBmYWxzZSwKLSAgICB0cnVl
LCB0cnVlLAotICAgIGZhbHNlLCBmYWxzZSwKLSAgICB0cnVlLCB0cnVlLAotICAgIHRydWUsIHRy
dWUsCi0gICAgdHJ1ZSwgdHJ1ZSwKLSAgICBmYWxzZSwgdHJ1ZSwKLSAgICB0cnVlLCB0cnVlLAot
ICAgIGZhbHNlLCB0cnVlLAotICAgIHRydWUsIHRydWUsCi0gICAgZmFsc2UsIGZhbHNlLAotICAg
IHRydWUsIHRydWUsCi0gICAgdHJ1ZX07Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9Cb29s
ZWFuX2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVNjcmlwdFZhbHVlPigidmFsdWUi
KTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPGJvb2w+KCJleHBlY3RlZCIpOwotICAgIGlmIChtX2Vu
Z2luZSkKLSAgICAgICAgZGVsZXRlIG1fZW5naW5lOwotICAgIG1fZW5naW5lID0gbmV3IFFTY3Jp
cHRFbmdpbmUoKTsKLSAgICBRSGFzaDxRU3RyaW5nLCBib29sPiBleHBlY3RlZFZhbHVlOwotICAg
IGV4cGVjdGVkVmFsdWUucmVzZXJ2ZSgxMzUpOwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDEz
NTsgKytpKQotICAgICAgICBleHBlY3RlZFZhbHVlLmluc2VydCh0b0Jvb2xlYW5fdGFnQXJyYXlb
aV0sIHRvQm9vbGVhbl92YWx1ZUFycmF5W2ldKTsKLSAgICBmb3IgKHVpbnQgaSA9IDA7IGkgPCAx
MzU7ICsraSkgewotICAgICAgICBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0VmFsdWU+IHRlc3RjYXNl
ID0gaW5pdFNjcmlwdFZhbHVlcyhpKTsKLSAgICAgICAgUVRlc3Q6Om5ld1Jvdyh0ZXN0Y2FzZS5m
aXJzdC50b0FzY2lpKCkuY29uc3REYXRhKCkpIDw8IHRlc3RjYXNlLnNlY29uZCA8PCBleHBlY3Rl
ZFZhbHVlW3Rlc3RjYXNlLmZpcnN0XTsKLSAgICB9Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1
ZTo6dG9Cb29sZWFuKCkKLXsKLSAgICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAg
UUZFVENIKGJvb2wsIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS50b0Jvb2xlYW4oKSwg
ZXhwZWN0ZWQpOwotICAgIFFDT01QQVJFKHZhbHVlLnRvQm9vbGVhbigpLCBleHBlY3RlZCk7Ci19
Ci0KLXN0YXRpYyBjb25zdCBRU3RyaW5nIHRvSW50ZWdlcl90YWdBcnJheVtdID0gewotICAgICJR
U2NyaXB0VmFsdWUoKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5l
ZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAot
ICAgICJRU2NyaXB0VmFsdWUodHJ1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh1aW50KDEyNCkp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDYuMzdlLTgpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKC02LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDQzMjExMjM0
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEw
MDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShxU05hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShx
UU5hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZh
bHVlKFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoXCJjaWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmc6
OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFT
dHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIuNFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgUVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwg
UVNjcmlwdFZhbHVlOjpOdWxsVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHRydWUpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBpbnQo
MTIyKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZh
bHVlKDAsIDEyMy4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCA2LjM3ZS04KSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCAtNi4zN2UtOCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIz
NCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgMHgxMDAwMSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgcVNOYU4oKSkiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgcVFOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgcUluZigpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCAtcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIk5h
TlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIFwiLUluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wi
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgUVN0cmluZyhcIjEyLjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwg
UVNjcmlwdFZhbHVlOjpVbmRlZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB0
cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIGludCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQo
MTI0KSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIC02LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4NDMyMTEyMzQpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCAweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFTTmFOKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcVFOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
ZW5naW5lLCBxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShl
bmdpbmUsIFwiSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZp
bml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiY2lhb1wiKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgUVN0cmluZygpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmco
XCIwXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEuMjNcIikpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIltdXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk9iamVjdC5wcm90b3R5cGVcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiRGF0ZS5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiQXJyYXkucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9u
LnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJFcnJvci5wcm90b3R5cGVc
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0XCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIkFycmF5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bWJlclwiKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGdW5jdGlvblwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCIoZnVuY3Rpb24oKSB7IHJldHVybiAxOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCIoZnVuY3Rpb24oKSB7IHJldHVybiAnY2lhbyc7IH0pXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIihmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCdmb28nKTsgfSlcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiL2Zvby9cIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwibmV3IE9iamVjdCgpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJh
eSgpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBFcnJvcigpXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcImEgPSBuZXcgT2JqZWN0KCk7IGEuZm9vID0gMjI7IGEuZm9vXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIlVuZGVmaW5lZFwiKSIsCi0gICAgImVuZ2luZS0+
ZXZhbHVhdGUoXCJOdWxsXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIlRydWVcIikiLAot
ICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRmFsc2VcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwidW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwidHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJm
YWxzZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIxMjJcIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiMTI0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiMC4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEy
My4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjYuMzdlLThcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiLTYuMzdlLThcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHg0
MzIxMTIzNFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIweDEwMDAwXCIpIiwKLSAgICAi
ZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDFcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
TmFOXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkluZmluaXR5XCIpIiwKLSAgICAiZW5n
aW5lLT5ldmFsdWF0ZShcIi1JbmZpbml0eVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIn
Y2lhbydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiJzAnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMi40J1wiKSIsCi0gICAgImVuZ2luZS0+bnVsbFZh
bHVlKCkiLAotICAgICJlbmdpbmUtPnVuZGVmaW5lZFZhbHVlKCkiLAotICAgICJlbmdpbmUtPm5l
d09iamVjdCgpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgpIiwKLSAgICAiZW5naW5lLT5uZXdB
cnJheSgxMCkifTsKLQotc3RhdGljIGNvbnN0IHFzcmVhbCB0b0ludGVnZXJfdmFsdWVBcnJheVtd
ID0gewotICAgIDAsIDAsIDAsIDEsIDAsIDEyMiwgMTI0LCAwLCAwLCAxMjMsCi0gICAgMCwgMCwg
MTEyNjI0MDgyMCwgNjU1MzYsIDY1NTM3LCAwLCAwLCBxSW5mKCksIHFJbmYoKSwgMCwKLSAgICBx
SW5mKCksIHFJbmYoKSwgMCwgMCwgMCwgMCwgMCwgMTIzLCAxMiwgMCwKLSAgICAwLCAxLCAwLCAx
MjIsIDEyNCwgMCwgMCwgMTIzLCAwLCAwLAotICAgIDExMjYyNDA4MjAsIDY1NTM2LCA2NTUzNywg
MCwgMCwgcUluZigpLCBxSW5mKCksIDAsIHFJbmYoKSwgcUluZigpLAotICAgIDAsIDAsIDAsIDAs
IDAsIDEyMywgMTIsIDAsIDAsIDEsCi0gICAgMCwgMTIyLCAxMjQsIDAsIDAsIDEyMywgMCwgMCwg
MTEyNjI0MDgyMCwgNjU1MzYsCi0gICAgNjU1MzcsIDAsIDAsIHFJbmYoKSwgcUluZigpLCAwLCBx
SW5mKCksIHFJbmYoKSwgMCwgMCwKLSAgICAwLCAwLCAwLCAxMjMsIDEsIDAsIDAsIDAsIDAsIDAs
Ci0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAyMiwgMCwg
MCwgMCwgMCwgMCwgMCwKLSAgICAxLCAwLCAxMjIsIDEyNCwgMCwgMCwgMTIzLCAwLCAwLCAxMTI2
MjQwODIwLAotICAgIDY1NTM2LCA2NTUzNywgMCwgcUluZigpLCBxSW5mKCksIDAsIDAsIDAsIDEy
MywgMTIsCi0gICAgMCwgMCwgMCwgMCwgMH07Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZTo6dG9J
bnRlZ2VyX2RhdGEoKQotewotICAgIFFUZXN0OjphZGRDb2x1bW48UVNjcmlwdFZhbHVlPigidmFs
dWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPHFzcmVhbD4oImV4cGVjdGVkIik7Ci0gICAgaWYg
KG1fZW5naW5lKQotICAgICAgICBkZWxldGUgbV9lbmdpbmU7Ci0gICAgbV9lbmdpbmUgPSBuZXcg
UVNjcmlwdEVuZ2luZSgpOwotICAgIFFIYXNoPFFTdHJpbmcsIHFzcmVhbD4gZXhwZWN0ZWRWYWx1
ZTsKLSAgICBleHBlY3RlZFZhbHVlLnJlc2VydmUoMTM1KTsKLSAgICBmb3IgKHVpbnQgaSA9IDA7
IGkgPCAxMzU7ICsraSkKLSAgICAgICAgZXhwZWN0ZWRWYWx1ZS5pbnNlcnQodG9JbnRlZ2VyX3Rh
Z0FycmF5W2ldLCB0b0ludGVnZXJfdmFsdWVBcnJheVtpXSk7Ci0gICAgZm9yICh1aW50IGkgPSAw
OyBpIDwgMTM1OyArK2kpIHsKLSAgICAgICAgUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPiB0
ZXN0Y2FzZSA9IGluaXRTY3JpcHRWYWx1ZXMoaSk7Ci0gICAgICAgIFFUZXN0OjpuZXdSb3codGVz
dGNhc2UuZmlyc3QudG9Bc2NpaSgpLmNvbnN0RGF0YSgpKSA8PCB0ZXN0Y2FzZS5zZWNvbmQgPDwg
ZXhwZWN0ZWRWYWx1ZVt0ZXN0Y2FzZS5maXJzdF07Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2Ny
aXB0VmFsdWU6OnRvSW50ZWdlcigpCi17Ci0gICAgUUZFVENIKFFTY3JpcHRWYWx1ZSwgdmFsdWUp
OwotICAgIFFGRVRDSChxc3JlYWwsIGV4cGVjdGVkKTsKLSAgICBpZiAocUlzSW5mKGV4cGVjdGVk
KSkgewotICAgICAgICBRVkVSSUZZKHFJc0luZih2YWx1ZS50b0ludGVnZXIoKSkpOwotICAgICAg
ICBRVkVSSUZZKHFJc0luZih2YWx1ZS50b0ludGVnZXIoKSkpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotICAgIFFDT01QQVJFKHZhbHVlLnRvSW50ZWdlcigpLCBleHBlY3RlZCk7Ci0gICAgUUNP
TVBBUkUodmFsdWUudG9JbnRlZ2VyKCksIGV4cGVjdGVkKTsKLX0KLQotc3RhdGljIGNvbnN0IFFT
dHJpbmcgdG9JbnQzMl90YWdBcnJheVtdID0gewotICAgICJRU2NyaXB0VmFsdWUoKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUodHJ1
ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGludCgx
MjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMTIzLjAp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC02LjM3
ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShxU05hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShxUU5hTigpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC1xSW5mKCkpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiSW5maW5pdHlcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCJj
aWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3Ry
aW5nKFwiMTIuNFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRl
ZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFs
dWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBpbnQoMTIyKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDEyMy4wKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtNi4zN2Ut
OCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgcVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgcVFOYU4oKSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAt
cUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiLUluZmluaXR5
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEy
LjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmlu
ZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxW
YWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGludCgxMjIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAxKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFTTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgcVFOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5mKCkpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIiki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVN0cmluZyhcIjEuMjNcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIltdXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIk9iamVjdC5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRGF0ZS5w
cm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9uLnByb3RvdHlwZVwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJFcnJvci5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiT2JqZWN0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5XCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bWJlclwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJGdW5jdGlvblwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7
IHJldHVybiAxOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7
IHJldHVybiAnY2lhbyc7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlv
bigpIHsgdGhyb3cgbmV3IEVycm9yKCdmb28nKTsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiL2Zvby9cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IE9iamVjdCgpXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIm5ldyBFcnJvcigpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImEg
PSBuZXcgT2JqZWN0KCk7IGEuZm9vID0gMjI7IGEuZm9vXCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIlVuZGVmaW5lZFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOdWxsXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIlRydWVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiRmFsc2VcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
dHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCIxMjJcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
MC4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyMy4wXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIjYuMzdlLThcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLTYuMzdl
LThcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHg0MzIxMTIzNFwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCIweDEwMDAwXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4
MTAwMDFcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiTmFOXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIkluZmluaXR5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZp
bml0eVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIicxMi40J1wiKSIsCi0gICAgImVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAgICJlbmdpbmUt
PnVuZGVmaW5lZFZhbHVlKCkiLAotICAgICJlbmdpbmUtPm5ld09iamVjdCgpIiwKLSAgICAiZW5n
aW5lLT5uZXdBcnJheSgpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgxMCkifTsKLQotc3RhdGlj
IGNvbnN0IHFpbnQzMiB0b0ludDMyX3ZhbHVlQXJyYXlbXSA9IHsKLSAgICAwLCAwLAotICAgIDAs
IDEsCi0gICAgMCwgMTIyLAotICAgIDEyNCwgMCwKLSAgICAwLCAxMjMsCi0gICAgMCwgMCwKLSAg
ICAxMTI2MjQwODIwLCA2NTUzNiwKLSAgICA2NTUzNywgMCwKLSAgICAwLCAwLAotICAgIDAsIDAs
Ci0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMTIzLAotICAgIDEyLCAw
LAotICAgIDAsIDEsCi0gICAgMCwgMTIyLAotICAgIDEyNCwgMCwKLSAgICAwLCAxMjMsCi0gICAg
MCwgMCwKLSAgICAxMTI2MjQwODIwLCA2NTUzNiwKLSAgICA2NTUzNywgMCwKLSAgICAwLCAwLAot
ICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMTIzLAot
ICAgIDEyLCAwLAotICAgIDAsIDEsCi0gICAgMCwgMTIyLAotICAgIDEyNCwgMCwKLSAgICAwLCAx
MjMsCi0gICAgMCwgMCwKLSAgICAxMTI2MjQwODIwLCA2NTUzNiwKLSAgICA2NTUzNywgMCwKLSAg
ICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAg
MCwgMTIzLAotICAgIDEsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAg
MCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAs
IDIyLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDEsIDAsCi0gICAgMTIy
LCAxMjQsCi0gICAgMCwgMCwKLSAgICAxMjMsIDAsCi0gICAgMCwgMTEyNjI0MDgyMCwKLSAgICA2
NTUzNiwgNjU1MzcsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMTIzLCAx
MiwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMH07Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1
ZTo6dG9JbnQzMl9kYXRhKCkKLXsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTY3JpcHRWYWx1ZT4o
InZhbHVlIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxxaW50MzI+KCJleHBlY3RlZCIpOwotICAg
IGlmIChtX2VuZ2luZSkKLSAgICAgICAgZGVsZXRlIG1fZW5naW5lOwotICAgIG1fZW5naW5lID0g
bmV3IFFTY3JpcHRFbmdpbmUoKTsKLSAgICBRSGFzaDxRU3RyaW5nLCBxaW50MzI+IGV4cGVjdGVk
VmFsdWU7Ci0gICAgZXhwZWN0ZWRWYWx1ZS5yZXNlcnZlKDEzNSk7Ci0gICAgZm9yICh1aW50IGkg
PSAwOyBpIDwgMTM1OyArK2kpCi0gICAgICAgIGV4cGVjdGVkVmFsdWUuaW5zZXJ0KHRvSW50MzJf
dGFnQXJyYXlbaV0sIHRvSW50MzJfdmFsdWVBcnJheVtpXSk7Ci0gICAgZm9yICh1aW50IGkgPSAw
OyBpIDwgMTM1OyArK2kpIHsKLSAgICAgICAgUVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPiB0
ZXN0Y2FzZSA9IGluaXRTY3JpcHRWYWx1ZXMoaSk7Ci0gICAgICAgIFFUZXN0OjpuZXdSb3codGVz
dGNhc2UuZmlyc3QudG9Bc2NpaSgpLmNvbnN0RGF0YSgpKSA8PCB0ZXN0Y2FzZS5zZWNvbmQgPDwg
ZXhwZWN0ZWRWYWx1ZVt0ZXN0Y2FzZS5maXJzdF07Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2Ny
aXB0VmFsdWU6OnRvSW50MzIoKQotewotICAgIFFGRVRDSChRU2NyaXB0VmFsdWUsIHZhbHVlKTsK
LSAgICBRRkVUQ0gocWludDMyLCBleHBlY3RlZCk7Ci0gICAgUUNPTVBBUkUodmFsdWUudG9JbnQz
MigpLCBleHBlY3RlZCk7Ci0gICAgUUNPTVBBUkUodmFsdWUudG9JbnQzMigpLCBleHBlY3RlZCk7
Ci19Ci0KLXN0YXRpYyBjb25zdCBRU3RyaW5nIHRvVUludDMyX3RhZ0FycmF5W10gPSB7Ci0gICAg
IlFTY3JpcHRWYWx1ZSgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6VW5kZWZp
bmVkVmFsdWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZSh0cnVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShmYWxzZSkiLAot
ICAgICJRU2NyaXB0VmFsdWUoaW50KDEyMikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHVpbnQoMTI0
KSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMC4wKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoNi4zN2UtOCkiLAot
ICAgICJRU2NyaXB0VmFsdWUoLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4NDMyMTEy
MzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4MTAwMDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDB4
MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFTTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KHFRTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoXCJOYU5cIikiLAotICAgICJRU2NyaXB0
VmFsdWUoXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShcIi1JbmZpbml0eVwiKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShcImNpYW9cIikiLAotICAgICJRU2NyaXB0VmFsdWUoUVN0cmlu
Zzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCJc
IikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
UVN0cmluZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMjNcIikpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIxMi40XCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgw
LCBRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgdHJ1ZSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIGlu
dCgxMjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCB1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKDAsIDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDAuMCkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgMTIzLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDYuMzdlLTgpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKDAsIC02LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDQzMjEx
MjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCAweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxU05hTigpKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCBxUU5hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBxSW5mKCkpIiwK
LSAgICAiUVNjcmlwdFZhbHVlKDAsIC1xSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwi
TmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiSW5maW5pdHlcIikiLAotICAgICJRU2Ny
aXB0VmFsdWUoMCwgXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgXCJjaWFv
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFFTdHJpbmcoXCIwXCIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZSgwLCBRU3RyaW5nKFwiMTIuM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCBRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdp
bmUsIFFTY3JpcHRWYWx1ZTo6TnVsbFZhbHVlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgZmFsc2UpIiwKLSAgICAiUVNjcmlw
dFZhbHVlKGVuZ2luZSwgaW50KDEyMikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgdWlu
dCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDApIiwKLSAgICAiUVNjcmlwdFZh
bHVlKGVuZ2luZSwgMC4wKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDEyMy4wKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgLTYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgMHg0MzIxMTIzNCki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIDB4MTAwMDEpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgcVNOYU4oKSki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxUU5hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShlbmdpbmUsIHFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAtcUluZigpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KGVuZ2luZSwgXCJJbmZpbml0eVwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiLUlu
ZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgXCJjaWFvXCIpIiwKLSAgICAi
UVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZzo6ZnJvbUxhdGluMShcImNpYW9cIikpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFs
dWUoZW5naW5lLCBRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmlu
ZyhcIjBcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZyhcIjEyM1wiKSki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU3RyaW5nKFwiMS4yM1wiKSkiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiW11cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwie31cIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiT2JqZWN0LnByb3RvdHlwZVwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCJEYXRlLnByb3RvdHlwZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJBcnJheS5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRnVuY3Rp
b24ucHJvdG90eXBlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkVycm9yLnByb3RvdHlw
ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJPYmplY3RcIikiLAotICAgICJlbmdpbmUt
PmV2YWx1YXRlKFwiQXJyYXlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiTnVtYmVyXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9uXCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0dXJuIDE7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5l
dmFsdWF0ZShcIihmdW5jdGlvbigpIHsgcmV0dXJuICdjaWFvJzsgfSlcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiKGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoJ2ZvbycpOyB9KVwi
KSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIvZm9vL1wiKSIsCi0gICAgImVuZ2luZS0+ZXZh
bHVhdGUoXCJuZXcgT2JqZWN0KClcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEFy
cmF5KClcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IEVycm9yKClcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiYSA9IG5ldyBPYmplY3QoKTsgYS5mb28gPSAyMjsgYS5mb29c
IikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiVW5kZWZpbmVkXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIk51bGxcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiVHJ1ZVwiKSIs
Ci0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJGYWxzZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJ1bmRlZmluZWRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibnVsbFwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJ0cnVlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
ImZhbHNlXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyMlwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCIxMjRcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMFwiKSIsCi0g
ICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIwLjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
MTIzLjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiNi4zN2UtOFwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCItNi4zN2UtOFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIw
eDQzMjExMjM0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4MTAwMDBcIikiLAotICAg
ICJlbmdpbmUtPmV2YWx1YXRlKFwiMHgxMDAwMVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUo
XCJOYU5cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiSW5maW5pdHlcIikiLAotICAgICJl
bmdpbmUtPmV2YWx1YXRlKFwiLUluZmluaXR5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShc
IidjaWFvJ1wiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInJ1wiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCInMCdcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyMydcIiki
LAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzEyLjQnXCIpIiwKLSAgICAiZW5naW5lLT5udWxs
VmFsdWUoKSIsCi0gICAgImVuZ2luZS0+dW5kZWZpbmVkVmFsdWUoKSIsCi0gICAgImVuZ2luZS0+
bmV3T2JqZWN0KCkiLAotICAgICJlbmdpbmUtPm5ld0FycmF5KCkiLAotICAgICJlbmdpbmUtPm5l
d0FycmF5KDEwKSJ9OwotCi1zdGF0aWMgY29uc3QgcXVpbnQzMiB0b1VJbnQzMl92YWx1ZUFycmF5
W10gPSB7Ci0gICAgMCwgMCwKLSAgICAwLCAxLAotICAgIDAsIDEyMiwKLSAgICAxMjQsIDAsCi0g
ICAgMCwgMTIzLAotICAgIDAsIDAsCi0gICAgMTEyNjI0MDgyMCwgNjU1MzYsCi0gICAgNjU1Mzcs
IDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAw
LAotICAgIDAsIDEyMywKLSAgICAxMiwgMCwKLSAgICAwLCAxLAotICAgIDAsIDEyMiwKLSAgICAx
MjQsIDAsCi0gICAgMCwgMTIzLAotICAgIDAsIDAsCi0gICAgMTEyNjI0MDgyMCwgNjU1MzYsCi0g
ICAgNjU1MzcsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwK
LSAgICAwLCAwLAotICAgIDAsIDEyMywKLSAgICAxMiwgMCwKLSAgICAwLCAxLAotICAgIDAsIDEy
MiwKLSAgICAxMjQsIDAsCi0gICAgMCwgMTIzLAotICAgIDAsIDAsCi0gICAgMTEyNjI0MDgyMCwg
NjU1MzYsCi0gICAgNjU1MzcsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0g
ICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDEyMywKLSAgICAxLCAwLAotICAgIDAsIDAsCi0g
ICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAg
IDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAyMiwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAg
MCwgMCwKLSAgICAxLCAwLAotICAgIDEyMiwgMTI0LAotICAgIDAsIDAsCi0gICAgMTIzLCAwLAot
ICAgIDAsIDExMjYyNDA4MjAsCi0gICAgNjU1MzYsIDY1NTM3LAotICAgIDAsIDAsCi0gICAgMCwg
MCwKLSAgICAwLCAwLAotICAgIDEyMywgMTIsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDB9
OwotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvVUludDMyX2RhdGEoKQotewotICAgIFFUZXN0
OjphZGRDb2x1bW48UVNjcmlwdFZhbHVlPigidmFsdWUiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1u
PHF1aW50MzI+KCJleHBlY3RlZCIpOwotICAgIGlmIChtX2VuZ2luZSkKLSAgICAgICAgZGVsZXRl
IG1fZW5naW5lOwotICAgIG1fZW5naW5lID0gbmV3IFFTY3JpcHRFbmdpbmUoKTsKLSAgICBRSGFz
aDxRU3RyaW5nLCBxdWludDMyPiBleHBlY3RlZFZhbHVlOwotICAgIGV4cGVjdGVkVmFsdWUucmVz
ZXJ2ZSgxMzUpOwotICAgIGZvciAodWludCBpID0gMDsgaSA8IDEzNTsgKytpKQotICAgICAgICBl
eHBlY3RlZFZhbHVlLmluc2VydCh0b1VJbnQzMl90YWdBcnJheVtpXSwgdG9VSW50MzJfdmFsdWVB
cnJheVtpXSk7Ci0gICAgZm9yICh1aW50IGkgPSAwOyBpIDwgMTM1OyArK2kpIHsKLSAgICAgICAg
UVBhaXI8UVN0cmluZywgUVNjcmlwdFZhbHVlPiB0ZXN0Y2FzZSA9IGluaXRTY3JpcHRWYWx1ZXMo
aSk7Ci0gICAgICAgIFFUZXN0OjpuZXdSb3codGVzdGNhc2UuZmlyc3QudG9Bc2NpaSgpLmNvbnN0
RGF0YSgpKSA8PCB0ZXN0Y2FzZS5zZWNvbmQgPDwgZXhwZWN0ZWRWYWx1ZVt0ZXN0Y2FzZS5maXJz
dF07Ci0gICAgfQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWU6OnRvVUludDMyKCkKLXsKLSAg
ICBRRkVUQ0goUVNjcmlwdFZhbHVlLCB2YWx1ZSk7Ci0gICAgUUZFVENIKHF1aW50MzIsIGV4cGVj
dGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS50b1VJbnQzMigpLCBleHBlY3RlZCk7Ci0gICAgUUNP
TVBBUkUodmFsdWUudG9VSW50MzIoKSwgZXhwZWN0ZWQpOwotfQotCi1zdGF0aWMgY29uc3QgUVN0
cmluZyB0b1VJbnQxNl90YWdBcnJheVtdID0gewotICAgICJRU2NyaXB0VmFsdWUoKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShRU2NyaXB0VmFsdWU6OlVuZGVmaW5lZFZhbHVlKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShRU2NyaXB0VmFsdWU6Ok51bGxWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUodHJ1
ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZmFsc2UpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGludCgx
MjIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSh1aW50KDEyNCkpIiwKLSAgICAiUVNjcmlwdFZhbHVl
KDApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMTIzLjAp
IiwKLSAgICAiUVNjcmlwdFZhbHVlKDYuMzdlLTgpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC02LjM3
ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDQzMjExMjM0KSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgweDEwMDAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgweDEwMDAxKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShxU05hTigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShxUU5hTigpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShxSW5mKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKC1xSW5mKCkpIiwKLSAgICAiUVNj
cmlwdFZhbHVlKFwiTmFOXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFwiSW5maW5pdHlcIikiLAot
ICAgICJRU2NyaXB0VmFsdWUoXCItSW5maW5pdHlcIikiLAotICAgICJRU2NyaXB0VmFsdWUoXCJj
aWFvXCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZShRU3RyaW5nKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKFFTdHJpbmcoXCIwXCIpKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShRU3RyaW5nKFwiMTIzXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShRU3Ry
aW5nKFwiMTIuNFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpVbmRl
ZmluZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVNjcmlwdFZhbHVlOjpOdWxsVmFs
dWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIHRydWUpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAs
IGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBpbnQoMTIyKSkiLAotICAgICJRU2NyaXB0
VmFsdWUoMCwgdWludCgxMjQpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAwKSIsCi0gICAgIlFT
Y3JpcHRWYWx1ZSgwLCAwLjApIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIDEyMy4wKSIsCi0gICAg
IlFTY3JpcHRWYWx1ZSgwLCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAtNi4zN2Ut
OCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHg0MzIxMTIzNCkiLAotICAgICJRU2NyaXB0VmFs
dWUoMCwgMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgMHgxMDAwMSkiLAotICAgICJR
U2NyaXB0VmFsdWUoMCwgcVNOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgcVFOYU4oKSki
LAotICAgICJRU2NyaXB0VmFsdWUoMCwgcUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCAt
cUluZigpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZSgwLCBcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZSgwLCBcIkluZmluaXR5XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiLUluZmluaXR5
XCIpIiwKLSAgICAiUVNjcmlwdFZhbHVlKDAsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1
ZSgwLCBRU3RyaW5nOjpmcm9tTGF0aW4xKFwiY2lhb1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZyhcIlwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZygpKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZSgwLCBRU3RyaW5nKFwiMFwiKSkiLAotICAgICJRU2NyaXB0VmFsdWUo
MCwgUVN0cmluZyhcIjEyM1wiKSkiLAotICAgICJRU2NyaXB0VmFsdWUoMCwgUVN0cmluZyhcIjEy
LjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVNjcmlwdFZhbHVlOjpVbmRlZmlu
ZWRWYWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBRU2NyaXB0VmFsdWU6Ok51bGxW
YWx1ZSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCB0cnVlKSIsCi0gICAgIlFTY3JpcHRW
YWx1ZShlbmdpbmUsIGZhbHNlKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIGludCgxMjIp
KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHVpbnQoMTI0KSkiLAotICAgICJRU2NyaXB0
VmFsdWUoZW5naW5lLCAwKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIDAuMCkiLAotICAg
ICJRU2NyaXB0VmFsdWUoZW5naW5lLCAxMjMuMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5l
LCA2LjM3ZS04KSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIC02LjM3ZS04KSIsCi0gICAg
IlFTY3JpcHRWYWx1ZShlbmdpbmUsIDB4NDMyMTEyMzQpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgMHgxMDAwMCkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCAweDEwMDAxKSIsCi0g
ICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIHFTTmFOKCkpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgcVFOYU4oKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBxSW5mKCkpIiwKLSAg
ICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgLXFJbmYoKSkiLAotICAgICJRU2NyaXB0VmFsdWUoZW5n
aW5lLCBcIk5hTlwiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFwiSW5maW5pdHlcIiki
LAotICAgICJRU2NyaXB0VmFsdWUoZW5naW5lLCBcIi1JbmZpbml0eVwiKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFwiY2lhb1wiKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFT
dHJpbmc6OmZyb21MYXRpbjEoXCJjaWFvXCIpKSIsCi0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUs
IFFTdHJpbmcoXCJcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVuZ2luZSwgUVN0cmluZygpKSIs
Ci0gICAgIlFTY3JpcHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIwXCIpKSIsCi0gICAgIlFTY3Jp
cHRWYWx1ZShlbmdpbmUsIFFTdHJpbmcoXCIxMjNcIikpIiwKLSAgICAiUVNjcmlwdFZhbHVlKGVu
Z2luZSwgUVN0cmluZyhcIjEuMjNcIikpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIltdXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcInt9XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIk9iamVjdC5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiRGF0ZS5w
cm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiQXJyYXkucHJvdG90eXBlXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkZ1bmN0aW9uLnByb3RvdHlwZVwiKSIsCi0gICAg
ImVuZ2luZS0+ZXZhbHVhdGUoXCJFcnJvci5wcm90b3R5cGVcIikiLAotICAgICJlbmdpbmUtPmV2
YWx1YXRlKFwiT2JqZWN0XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIkFycmF5XCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIk51bWJlclwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVh
dGUoXCJGdW5jdGlvblwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7
IHJldHVybiAxOyB9KVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCIoZnVuY3Rpb24oKSB7
IHJldHVybiAnY2lhbyc7IH0pXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIihmdW5jdGlv
bigpIHsgdGhyb3cgbmV3IEVycm9yKCdmb28nKTsgfSlcIikiLAotICAgICJlbmdpbmUtPmV2YWx1
YXRlKFwiL2Zvby9cIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwibmV3IE9iamVjdCgpXCIp
IiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIm5ldyBBcnJheSgpXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIm5ldyBFcnJvcigpXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcImEg
PSBuZXcgT2JqZWN0KCk7IGEuZm9vID0gMjI7IGEuZm9vXCIpIiwKLSAgICAiZW5naW5lLT5ldmFs
dWF0ZShcIlVuZGVmaW5lZFwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJOdWxsXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIlRydWVcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRl
KFwiRmFsc2VcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwidW5kZWZpbmVkXCIpIiwKLSAg
ICAiZW5naW5lLT5ldmFsdWF0ZShcIm51bGxcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
dHJ1ZVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCJmYWxzZVwiKSIsCi0gICAgImVuZ2lu
ZS0+ZXZhbHVhdGUoXCIxMjJcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMTI0XCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjBcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwi
MC4wXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjEyMy4wXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIjYuMzdlLThcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiLTYuMzdl
LThcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiMHg0MzIxMTIzNFwiKSIsCi0gICAgImVu
Z2luZS0+ZXZhbHVhdGUoXCIweDEwMDAwXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIjB4
MTAwMDFcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiTmFOXCIpIiwKLSAgICAiZW5naW5l
LT5ldmFsdWF0ZShcIkluZmluaXR5XCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIi1JbmZp
bml0eVwiKSIsCi0gICAgImVuZ2luZS0+ZXZhbHVhdGUoXCInY2lhbydcIikiLAotICAgICJlbmdp
bmUtPmV2YWx1YXRlKFwiJydcIikiLAotICAgICJlbmdpbmUtPmV2YWx1YXRlKFwiJzAnXCIpIiwK
LSAgICAiZW5naW5lLT5ldmFsdWF0ZShcIicxMjMnXCIpIiwKLSAgICAiZW5naW5lLT5ldmFsdWF0
ZShcIicxMi40J1wiKSIsCi0gICAgImVuZ2luZS0+bnVsbFZhbHVlKCkiLAotICAgICJlbmdpbmUt
PnVuZGVmaW5lZFZhbHVlKCkiLAotICAgICJlbmdpbmUtPm5ld09iamVjdCgpIiwKLSAgICAiZW5n
aW5lLT5uZXdBcnJheSgpIiwKLSAgICAiZW5naW5lLT5uZXdBcnJheSgxMCkifTsKLQotc3RhdGlj
IGNvbnN0IHF1aW50MTYgdG9VSW50MTZfdmFsdWVBcnJheVtdID0gewotICAgIDAsIDAsCi0gICAg
MCwgMSwKLSAgICAwLCAxMjIsCi0gICAgMTI0LCAwLAotICAgIDAsIDEyMywKLSAgICAwLCAwLAot
ICAgIDQ2NjAsIDAsCi0gICAgMSwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwK
LSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMTIzLAotICAgIDEyLCAwLAotICAgIDAsIDEs
Ci0gICAgMCwgMTIyLAotICAgIDEyNCwgMCwKLSAgICAwLCAxMjMsCi0gICAgMCwgMCwKLSAgICA0
NjYwLCAwLAotICAgIDEsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAg
MCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDEyMywKLSAgICAxMiwgMCwKLSAgICAwLCAxLAotICAg
IDAsIDEyMiwKLSAgICAxMjQsIDAsCi0gICAgMCwgMTIzLAotICAgIDAsIDAsCi0gICAgNDY2MCwg
MCwKLSAgICAxLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAs
Ci0gICAgMCwgMCwKLSAgICAwLCAxMjMsCi0gICAgMSwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAs
Ci0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMCwgMCwKLSAgICAwLCAwLAot
ICAgIDAsIDAsCi0gICAgMCwgMjIsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0g
ICAgMSwgMCwKLSAgICAxMjIsIDEyNCwKLSAgICAwLCAwLAotICAgIDEyMywgMCwKLSAgICAwLCA0
NjYwLAotICAgIDAsIDEsCi0gICAgMCwgMCwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMTIz
LCAxMiwKLSAgICAwLCAwLAotICAgIDAsIDAsCi0gICAgMH07Ci0KLXZvaWQgdHN0X1FTY3JpcHRW
YWx1ZTo6dG9VSW50MTZfZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU2NyaXB0VmFs
dWU+KCJ2YWx1ZSIpOwotICAgIFFUZXN0OjphZGRDb2x1bW48cXVpbnQxNj4oImV4cGVjdGVkIik7
Ci0gICAgaWYgKG1fZW5naW5lKQotICAgICAgICBkZWxldGUgbV9lbmdpbmU7Ci0gICAgbV9lbmdp
bmUgPSBuZXcgUVNjcmlwdEVuZ2luZSgpOwotICAgIFFIYXNoPFFTdHJpbmcsIHF1aW50MTY+IGV4
cGVjdGVkVmFsdWU7Ci0gICAgZXhwZWN0ZWRWYWx1ZS5yZXNlcnZlKDEzNSk7Ci0gICAgZm9yICh1
aW50IGkgPSAwOyBpIDwgMTM1OyArK2kpCi0gICAgICAgIGV4cGVjdGVkVmFsdWUuaW5zZXJ0KHRv
VUludDE2X3RhZ0FycmF5W2ldLCB0b1VJbnQxNl92YWx1ZUFycmF5W2ldKTsKLSAgICBmb3IgKHVp
bnQgaSA9IDA7IGkgPCAxMzU7ICsraSkgewotICAgICAgICBRUGFpcjxRU3RyaW5nLCBRU2NyaXB0
VmFsdWU+IHRlc3RjYXNlID0gaW5pdFNjcmlwdFZhbHVlcyhpKTsKLSAgICAgICAgUVRlc3Q6Om5l
d1Jvdyh0ZXN0Y2FzZS5maXJzdC50b0FzY2lpKCkuY29uc3REYXRhKCkpIDw8IHRlc3RjYXNlLnNl
Y29uZCA8PCBleHBlY3RlZFZhbHVlW3Rlc3RjYXNlLmZpcnN0XTsKLSAgICB9Ci19Ci0KLXZvaWQg
dHN0X1FTY3JpcHRWYWx1ZTo6dG9VSW50MTYoKQotewotICAgIFFGRVRDSChRU2NyaXB0VmFsdWUs
IHZhbHVlKTsKLSAgICBRRkVUQ0gocXVpbnQxNiwgZXhwZWN0ZWQpOwotICAgIFFDT01QQVJFKHZh
bHVlLnRvVUludDE2KCksIGV4cGVjdGVkKTsKLSAgICBRQ09NUEFSRSh2YWx1ZS50b1VJbnQxNigp
LCBleHBlY3RlZCk7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVz
dHMvcXNjcmlwdHZhbHVlaXRlcmF0b3IvcXNjcmlwdHZhbHVlaXRlcmF0b3IucHJvIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHR2YWx1ZWl0ZXJhdG9yL3FzY3JpcHR2YWx1
ZWl0ZXJhdG9yLnBybwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTMxNGVjOTQwZWIw
YmI1MzZhODg1Nzk3MzA5N2IxODQyZTU5MzFmOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlw
dHZhbHVlaXRlcmF0b3IvcXNjcmlwdHZhbHVlaXRlcmF0b3IucHJvCisrKyAvZGV2L251bGwKQEAg
LTEsNyArMCwwIEBACi1URU1QTEFURSA9IGFwcAotVEFSR0VUID0gdHN0X3FzY3JpcHR2YWx1ZWl0
ZXJhdG9yCi1RVCArPSB0ZXN0bGliCi1pbmNsdWRlKC4uL3Rlc3RzLnByaSkKLQotU09VUkNFUyAr
PSB0c3RfcXNjcmlwdHZhbHVlaXRlcmF0b3IuY3BwCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0dmFsdWVpdGVyYXRvci90c3RfcXNjcmlwdHZhbHVl
aXRlcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHR2YWx1
ZWl0ZXJhdG9yL3RzdF9xc2NyaXB0dmFsdWVpdGVyYXRvci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDQzZDAwNDJhNzRjZTY5NGZmMjZkMzlhMjcxOTA4ZmVhZDg0NmYxODAuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3F0L3Rlc3RzL3FzY3JpcHR2YWx1ZWl0ZXJhdG9yL3RzdF9xc2NyaXB0dmFsdWVp
dGVyYXRvci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1MzEgKzAsMCBAQAotLyoKLSAgICBDb3B5
cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1p
ZXMpCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgotKi8KLQotI2lmbmRlZiB0c3RfcXNjcmlwdHZhbHVlaXRlcmF0b3JfaAotI2RlZmluZSB0c3Rf
cXNjcmlwdHZhbHVlaXRlcmF0b3JfaAotCi0jaW5jbHVkZSAicXNjcmlwdGVuZ2luZS5oIgotI2lu
Y2x1ZGUgInFzY3JpcHR2YWx1ZS5oIgotI2luY2x1ZGUgInFzY3JpcHR2YWx1ZWl0ZXJhdG9yLmgi
Ci0jaW5jbHVkZSA8UXRDb3JlL3FoYXNoLmg+Ci0jaW5jbHVkZSA8UXRUZXN0L1F0VGVzdD4KLQot
Y2xhc3MgdHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9yIDogcHVibGljIFFPYmplY3QgewotICAgIFFf
T0JKRUNUCi0KLXB1YmxpYzoKLSAgICB0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3IoKTsKLSAgICB2
aXJ0dWFsIH50c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3IoKTsKLQotcHJpdmF0ZSBzbG90czoKLSAg
ICB2b2lkIGl0ZXJhdGVGb3J3YXJkX2RhdGEoKTsKLSAgICB2b2lkIGl0ZXJhdGVGb3J3YXJkKCk7
Ci0gICAgdm9pZCBpdGVyYXRlQmFja3dhcmRfZGF0YSgpOwotICAgIHZvaWQgaXRlcmF0ZUJhY2t3
YXJkKCk7Ci0gICAgdm9pZCBpdGVyYXRlQXJyYXlfZGF0YSgpOwotICAgIHZvaWQgaXRlcmF0ZUFy
cmF5KCk7Ci0gICAgdm9pZCBpdGVyYXRlQmFja0FuZEZvcnRoKCk7Ci0gICAgdm9pZCBzZXRWYWx1
ZSgpOwotICAgIHZvaWQgcmVtb3ZlKCk7Ci0gICAgdm9pZCByZW1vdmVNaXhlZCgpOwotICAgIHZv
aWQgcmVtb3ZlVW5kZWxldGFibGUoKTsKLSAgICB2b2lkIGl0ZXJhdGVTdHJpbmcoKTsKLSAgICB2
b2lkIGFzc2lnbk9iamVjdFRvSXRlcmF0b3IoKTsKLX07Ci0KLXRzdF9RU2NyaXB0VmFsdWVJdGVy
YXRvcjo6dHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9yKCkKLXsKLX0KLQotdHN0X1FTY3JpcHRWYWx1
ZUl0ZXJhdG9yOjp+dHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9yKCkKLXsKLX0KLQotdm9pZCB0c3Rf
UVNjcmlwdFZhbHVlSXRlcmF0b3I6Oml0ZXJhdGVGb3J3YXJkX2RhdGEoKQotewotICAgIFFUZXN0
OjphZGRDb2x1bW48UVN0cmluZ0xpc3Q+KCJwcm9wZXJ0eU5hbWVzIik7Ci0gICAgUVRlc3Q6OmFk
ZENvbHVtbjxRU3RyaW5nTGlzdD4oInByb3BlcnR5VmFsdWVzIik7Ci0KLSAgICBRVGVzdDo6bmV3
Um93KCJubyBwcm9wZXJ0aWVzIikKLSAgICAgICAgPDwgUVN0cmluZ0xpc3QoKSA8PCBRU3RyaW5n
TGlzdCgpOwotICAgIFFUZXN0OjpuZXdSb3coImZvbz1iYXIiKQotICAgICAgICA8PCAoUVN0cmlu
Z0xpc3QoKSA8PCAiZm9vIikKLSAgICAgICAgPDwgKFFTdHJpbmdMaXN0KCkgPDwgImJhciIpOwot
ICAgIFFUZXN0OjpuZXdSb3coImZvbz1iYXIsIGJhej0xMjMiKQotICAgICAgICA8PCAoUVN0cmlu
Z0xpc3QoKSA8PCAiZm9vIiA8PCAiYmF6IikKLSAgICAgICAgPDwgKFFTdHJpbmdMaXN0KCkgPDwg
ImJhciIgPDwgIjEyMyIpOwotICAgIFFUZXN0OjpuZXdSb3coImZvbz1iYXIsIGJhej0xMjMsIHJh
Yj1vb2YiKQotICAgICAgICA8PCAoUVN0cmluZ0xpc3QoKSA8PCAiZm9vIiA8PCAiYmF6IiA8PCAi
cmFiIikKLSAgICAgICAgPDwgKFFTdHJpbmdMaXN0KCkgPDwgImJhciIgPDwgIjEyMyIgPDwgIm9v
ZiIpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6aXRlcmF0ZUZvcndhcmQo
KQotewotICAgIFFGRVRDSChRU3RyaW5nTGlzdCwgcHJvcGVydHlOYW1lcyk7Ci0gICAgUUZFVENI
KFFTdHJpbmdMaXN0LCBwcm9wZXJ0eVZhbHVlcyk7Ci0gICAgUU1hcDxRU3RyaW5nLCBRU3RyaW5n
PiBwbWFwOwotICAgIFFfQVNTRVJUKHByb3BlcnR5TmFtZXMuc2l6ZSgpID09IHByb3BlcnR5VmFs
dWVzLnNpemUoKSk7Ci0KLSAgICBRU2NyaXB0RW5naW5lIGVuZ2luZTsKLSAgICBRU2NyaXB0VmFs
dWUgb2JqZWN0ID0gZW5naW5lLm5ld09iamVjdCgpOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
cHJvcGVydHlOYW1lcy5zaXplKCk7ICsraSkgewotICAgICAgICBRU3RyaW5nIG5hbWUgPSBwcm9w
ZXJ0eU5hbWVzLmF0KGkpOwotICAgICAgICBRU3RyaW5nIHZhbHVlID0gcHJvcGVydHlWYWx1ZXMu
YXQoaSk7Ci0gICAgICAgIHBtYXAuaW5zZXJ0KG5hbWUsIHZhbHVlKTsKLSAgICAgICAgb2JqZWN0
LnNldFByb3BlcnR5KG5hbWUsIFFTY3JpcHRWYWx1ZSgmZW5naW5lLCB2YWx1ZSkpOwotICAgIH0K
LSAgICBRU2NyaXB0VmFsdWUgb3RoZXJPYmplY3QgPSBlbmdpbmUubmV3T2JqZWN0KCk7Ci0gICAg
b3RoZXJPYmplY3Quc2V0UHJvcGVydHkoImZvbyIsIFFTY3JpcHRWYWx1ZSgmZW5naW5lLCAxMjM0
NTYpKTsKLSAgICBvdGhlck9iamVjdC5zZXRQcm9wZXJ0eSgicHJvdG9Qcm9wZXJ0eSIsIFFTY3Jp
cHRWYWx1ZSgmZW5naW5lLCA2NTQzMjEpKTsKLSAgICBvYmplY3Quc2V0UHJvdG90eXBlKG90aGVy
T2JqZWN0KTsgLy8gc2hvdWxkIG5vdCBhZmZlY3QgaXRlcmF0b3IKLQotICAgIFFTdHJpbmdMaXN0
IGxzdDsKLSAgICBRU2NyaXB0VmFsdWVJdGVyYXRvciBpdChvYmplY3QpOwotICAgIHdoaWxlICgh
cG1hcC5pc0VtcHR5KCkpIHsKLSAgICAgICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCB0cnVlKTsK
LSAgICAgICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCB0cnVlKTsKLSAgICAgICAgaXQubmV4dCgp
OwotICAgICAgICBRU3RyaW5nIG5hbWUgPSBpdC5uYW1lKCk7Ci0gICAgICAgIFFDT01QQVJFKHBt
YXAuY29udGFpbnMobmFtZSksIHRydWUpOwotICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIG5h
bWUpOwotICAgICAgICBRQ09NUEFSRShpdC5mbGFncygpLCBvYmplY3QucHJvcGVydHlGbGFncyhu
YW1lKSk7Ci0gICAgICAgIFFDT01QQVJFKGl0LnZhbHVlKCkuc3RyaWN0bHlFcXVhbHMoUVNjcmlw
dFZhbHVlKCZlbmdpbmUsIHBtYXAudmFsdWUobmFtZSkpKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01Q
QVJFKGl0LnNjcmlwdE5hbWUoKSwgZW5naW5lLnRvU3RyaW5nSGFuZGxlKG5hbWUpKTsKLSAgICAg
ICAgcG1hcC5yZW1vdmUobmFtZSk7Ci0gICAgICAgIGxzdC5hcHBlbmQobmFtZSk7Ci0gICAgfQot
Ci0gICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCBmYWxzZSk7Ci0gICAgUUNPTVBBUkUoaXQuaGFz
TmV4dCgpLCBmYWxzZSk7Ci0KLSAgICBpdC50b0Zyb250KCk7Ci0gICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBsc3QuY291bnQoKTsgKytpKSB7Ci0gICAgICAgIFFDT01QQVJFKGl0Lmhhc05leHQoKSwg
dHJ1ZSk7Ci0gICAgICAgIGl0Lm5leHQoKTsKLSAgICAgICAgUUNPTVBBUkUoaXQubmFtZSgpLCBs
c3QuYXQoaSkpOwotICAgIH0KLQotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbHN0LmNvdW50KCk7
ICsraSkgewotICAgICAgICBRQ09NUEFSRShpdC5oYXNQcmV2aW91cygpLCB0cnVlKTsKLSAgICAg
ICAgaXQucHJldmlvdXMoKTsKLSAgICAgICAgUUNPTVBBUkUoaXQubmFtZSgpLCBsc3QuYXQobHN0
LmNvdW50KCktMS1pKSk7Ci0gICAgfQotICAgIFFDT01QQVJFKGl0Lmhhc1ByZXZpb3VzKCksIGZh
bHNlKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3I6Oml0ZXJhdGVCYWNrd2Fy
ZF9kYXRhKCkKLXsKLSAgICBpdGVyYXRlRm9yd2FyZF9kYXRhKCk7Ci19Ci0KLXZvaWQgdHN0X1FT
Y3JpcHRWYWx1ZUl0ZXJhdG9yOjppdGVyYXRlQmFja3dhcmQoKQotewotICAgIFFGRVRDSChRU3Ry
aW5nTGlzdCwgcHJvcGVydHlOYW1lcyk7Ci0gICAgUUZFVENIKFFTdHJpbmdMaXN0LCBwcm9wZXJ0
eVZhbHVlcyk7Ci0gICAgUU1hcDxRU3RyaW5nLCBRU3RyaW5nPiBwbWFwOwotICAgIFFfQVNTRVJU
KHByb3BlcnR5TmFtZXMuc2l6ZSgpID09IHByb3BlcnR5VmFsdWVzLnNpemUoKSk7Ci0KLSAgICBR
U2NyaXB0RW5naW5lIGVuZ2luZTsKLSAgICBRU2NyaXB0VmFsdWUgb2JqZWN0ID0gZW5naW5lLm5l
d09iamVjdCgpOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcHJvcGVydHlOYW1lcy5zaXplKCk7
ICsraSkgewotICAgICAgICBRU3RyaW5nIG5hbWUgPSBwcm9wZXJ0eU5hbWVzLmF0KGkpOwotICAg
ICAgICBRU3RyaW5nIHZhbHVlID0gcHJvcGVydHlWYWx1ZXMuYXQoaSk7Ci0gICAgICAgIHBtYXAu
aW5zZXJ0KG5hbWUsIHZhbHVlKTsKLSAgICAgICAgb2JqZWN0LnNldFByb3BlcnR5KG5hbWUsIFFT
Y3JpcHRWYWx1ZSgmZW5naW5lLCB2YWx1ZSkpOwotICAgIH0KLQotICAgIFFTdHJpbmdMaXN0IGxz
dDsKLSAgICBRU2NyaXB0VmFsdWVJdGVyYXRvciBpdChvYmplY3QpOwotICAgIGl0LnRvQmFjaygp
OwotICAgIHdoaWxlICghcG1hcC5pc0VtcHR5KCkpIHsKLSAgICAgICAgUUNPTVBBUkUoaXQuaGFz
UHJldmlvdXMoKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGl0Lmhhc1ByZXZpb3VzKCksIHRy
dWUpOwotICAgICAgICBpdC5wcmV2aW91cygpOwotICAgICAgICBRU3RyaW5nIG5hbWUgPSBpdC5u
YW1lKCk7Ci0gICAgICAgIFFDT01QQVJFKHBtYXAuY29udGFpbnMobmFtZSksIHRydWUpOwotICAg
ICAgICBRQ09NUEFSRShpdC5uYW1lKCksIG5hbWUpOwotICAgICAgICBRQ09NUEFSRShpdC5mbGFn
cygpLCBvYmplY3QucHJvcGVydHlGbGFncyhuYW1lKSk7Ci0gICAgICAgIFFDT01QQVJFKGl0LnZh
bHVlKCkuc3RyaWN0bHlFcXVhbHMoUVNjcmlwdFZhbHVlKCZlbmdpbmUsIHBtYXAudmFsdWUobmFt
ZSkpKSwgdHJ1ZSk7Ci0gICAgICAgIHBtYXAucmVtb3ZlKG5hbWUpOwotICAgICAgICBsc3QuYXBw
ZW5kKG5hbWUpOwotICAgIH0KLQotICAgIFFDT01QQVJFKGl0Lmhhc1ByZXZpb3VzKCksIGZhbHNl
KTsKLSAgICBRQ09NUEFSRShpdC5oYXNQcmV2aW91cygpLCBmYWxzZSk7Ci0KLSAgICBpdC50b0Jh
Y2soKTsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGxzdC5jb3VudCgpOyArK2kpIHsKLSAgICAg
ICAgUUNPTVBBUkUoaXQuaGFzUHJldmlvdXMoKSwgdHJ1ZSk7Ci0gICAgICAgIGl0LnByZXZpb3Vz
KCk7Ci0gICAgICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwgbHN0LmF0KGkpKTsKLSAgICB9Ci0KLSAg
ICBmb3IgKGludCBpID0gMDsgaSA8IGxzdC5jb3VudCgpOyArK2kpIHsKLSAgICAgICAgUUNPTVBB
UkUoaXQuaGFzTmV4dCgpLCB0cnVlKTsKLSAgICAgICAgaXQubmV4dCgpOwotICAgICAgICBRQ09N
UEFSRShpdC5uYW1lKCksIGxzdC5hdChsc3QuY291bnQoKS0xLWkpKTsKLSAgICB9Ci0gICAgUUNP
TVBBUkUoaXQuaGFzTmV4dCgpLCBmYWxzZSk7Ci19Ci0KLXZvaWQgdHN0X1FTY3JpcHRWYWx1ZUl0
ZXJhdG9yOjppdGVyYXRlQXJyYXlfZGF0YSgpCi17Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxRU3Ry
aW5nTGlzdD4oImlucHV0UHJvcGVydHlOYW1lcyIpOwotICAgIFFUZXN0OjphZGRDb2x1bW48UVN0
cmluZ0xpc3Q+KCJpbnB1dFByb3BlcnR5VmFsdWVzIik7Ci0gICAgUVRlc3Q6OmFkZENvbHVtbjxR
U3RyaW5nTGlzdD4oInByb3BlcnR5TmFtZXMiKTsKLSAgICBRVGVzdDo6YWRkQ29sdW1uPFFTdHJp
bmdMaXN0PigicHJvcGVydHlWYWx1ZXMiKTsKLSAgICBRVGVzdDo6bmV3Um93KCJubyBlbGVtZW50
cyIpIDw8IFFTdHJpbmdMaXN0KCkgPDwgUVN0cmluZ0xpc3QoKSA8PCBRU3RyaW5nTGlzdCgpIDw8
IFFTdHJpbmdMaXN0KCk7Ci0KLSAgICBRVGVzdDo6bmV3Um93KCIwPWZvbywgMT1iYXJyIikKLSAg
ICAgICAgPDwgKFFTdHJpbmdMaXN0KCkgPDwgIjAiIDw8ICIxIikKLSAgICAgICAgPDwgKFFTdHJp
bmdMaXN0KCkgPDwgImZvbyIgPDwgImJhciIpCi0gICAgICAgIDw8IChRU3RyaW5nTGlzdCgpIDw8
ICIwIiA8PCAiMSIpCi0gICAgICAgIDw8IChRU3RyaW5nTGlzdCgpIDw8ICJmb28iIDw8ICJiYXIi
KTsKLQotICAgIFFUZXN0OjpuZXdSb3coIjA9Zm9vLCAzPWJhcnIiKQotICAgICAgICA8PCAoUVN0
cmluZ0xpc3QoKSA8PCAiMCIgPDwgIjEiIDw8ICIyIiA8PCAiMyIpCi0gICAgICAgIDw8IChRU3Ry
aW5nTGlzdCgpIDw8ICJmb28iIDw8ICIiIDw8ICIiIDw8ICJiYXIiKQotICAgICAgICA8PCAoUVN0
cmluZ0xpc3QoKSA8PCAiMCIgPDwgIjEiIDw8ICIyIiA8PCAiMyIpCi0gICAgICAgIDw8IChRU3Ry
aW5nTGlzdCgpIDw8ICJmb28iIDw8ICIiIDw8ICIiIDw8ICJiYXIiKTsKLX0KLQotdm9pZCB0c3Rf
UVNjcmlwdFZhbHVlSXRlcmF0b3I6Oml0ZXJhdGVBcnJheSgpCi17Ci0gICAgUUZFVENIKFFTdHJp
bmdMaXN0LCBpbnB1dFByb3BlcnR5TmFtZXMpOwotICAgIFFGRVRDSChRU3RyaW5nTGlzdCwgaW5w
dXRQcm9wZXJ0eVZhbHVlcyk7Ci0gICAgUUZFVENIKFFTdHJpbmdMaXN0LCBwcm9wZXJ0eU5hbWVz
KTsKLSAgICBRRkVUQ0goUVN0cmluZ0xpc3QsIHByb3BlcnR5VmFsdWVzKTsKLQotICAgIFFTY3Jp
cHRFbmdpbmUgZW5naW5lOwotICAgIFFTY3JpcHRWYWx1ZSBhcnJheSA9IGVuZ2luZS5uZXdBcnJh
eSgpOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgaW5wdXRQcm9wZXJ0eU5hbWVzLnNpemUoKTsg
KytpKQotICAgICAgICBhcnJheS5zZXRQcm9wZXJ0eShpbnB1dFByb3BlcnR5TmFtZXMuYXQoaSks
IGlucHV0UHJvcGVydHlWYWx1ZXMuYXQoaSkpOwotCi0gICAgaW50IGxlbmd0aCA9IGFycmF5LnBy
b3BlcnR5KCJsZW5ndGgiKS50b0ludDMyKCk7Ci0gICAgUUNPTVBBUkUobGVuZ3RoLCBwcm9wZXJ0
eU5hbWVzLnNpemUoKSk7Ci0gICAgUVNjcmlwdFZhbHVlSXRlcmF0b3IgaXQoYXJyYXkpOwotICAg
IGZvciAoaW50IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKLSAgICAgICAgUUNPTVBBUkUoaXQu
aGFzTmV4dCgpLCB0cnVlKTsKLSAgICAgICAgaXQubmV4dCgpOwotICAgICAgICBRQ09NUEFSRShp
dC5uYW1lKCksIHByb3BlcnR5TmFtZXMuYXQoaSkpOwotICAgICAgICBRQ09NUEFSRShpdC5mbGFn
cygpLCBhcnJheS5wcm9wZXJ0eUZsYWdzKHByb3BlcnR5TmFtZXMuYXQoaSkpKTsKLSAgICAgICAg
UVZFUklGWShpdC52YWx1ZSgpLnN0cmljdGx5RXF1YWxzKGFycmF5LnByb3BlcnR5KHByb3BlcnR5
TmFtZXMuYXQoaSkpKSk7Ci0gICAgICAgIFFDT01QQVJFKGl0LnZhbHVlKCkudG9TdHJpbmcoKSwg
cHJvcGVydHlWYWx1ZXMuYXQoaSkpOwotICAgIH0KLSAgICBRVkVSSUZZKGl0Lmhhc05leHQoKSk7
Ci0gICAgaXQubmV4dCgpOwotICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwgUVN0cmluZzo6ZnJvbUxh
dGluMSgibGVuZ3RoIikpOwotICAgIFFWRVJJRlkoaXQudmFsdWUoKS5pc051bWJlcigpKTsKLSAg
ICBRQ09NUEFSRShpdC52YWx1ZSgpLnRvSW50MzIoKSwgbGVuZ3RoKTsKLSAgICBRQ09NUEFSRShp
dC5mbGFncygpLCBRU2NyaXB0VmFsdWU6OlByb3BlcnR5RmxhZ3MoUVNjcmlwdFZhbHVlOjpTa2lw
SW5FbnVtZXJhdGlvbiB8IFFTY3JpcHRWYWx1ZTo6VW5kZWxldGFibGUpKTsKLQotICAgIGl0LnBy
ZXZpb3VzKCk7Ci0gICAgUUNPTVBBUkUoaXQuaGFzUHJldmlvdXMoKSwgbGVuZ3RoID4gMCk7Ci0g
ICAgZm9yIChpbnQgaSA9IGxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7Ci0gICAgICAgIGl0LnBy
ZXZpb3VzKCk7Ci0gICAgICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwgcHJvcGVydHlOYW1lcy5hdChp
KSk7Ci0gICAgICAgIFFDT01QQVJFKGl0LmZsYWdzKCksIGFycmF5LnByb3BlcnR5RmxhZ3MocHJv
cGVydHlOYW1lcy5hdChpKSkpOwotICAgICAgICBRVkVSSUZZKGl0LnZhbHVlKCkuc3RyaWN0bHlF
cXVhbHMoYXJyYXkucHJvcGVydHkocHJvcGVydHlOYW1lcy5hdChpKSkpKTsKLSAgICAgICAgUUNP
TVBBUkUoaXQudmFsdWUoKS50b1N0cmluZygpLCBwcm9wZXJ0eVZhbHVlcy5hdChpKSk7Ci0gICAg
ICAgIFFDT01QQVJFKGl0Lmhhc1ByZXZpb3VzKCksIGkgPiAwKTsKLSAgICB9Ci0gICAgUUNPTVBB
UkUoaXQuaGFzUHJldmlvdXMoKSwgZmFsc2UpOwotCi0gICAgLy8gaGFzTmV4dCgpIGFuZCBoYXNQ
cmV2aW91cygpIGNhY2hlIHRoZWlyIHJlc3VsdDsgdmVyaWZ5IHRoYXQgdGhlIHJlc3VsdCBpcyBp
biBzeW5jCi0gICAgaWYgKGxlbmd0aCA+IDEpIHsKLSAgICAgICAgUVZFUklGWShpdC5oYXNOZXh0
KCkpOwotICAgICAgICBpdC5uZXh0KCk7Ci0gICAgICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwgUVN0
cmluZzo6ZnJvbUxhdGluMSgiMCIpKTsKLSAgICAgICAgUVZFUklGWShpdC5oYXNOZXh0KCkpOwot
ICAgICAgICBpdC5wcmV2aW91cygpOwotICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIFFTdHJp
bmc6OmZyb21MYXRpbjEoIjAiKSk7Ci0gICAgICAgIFFWRVJJRlkoIWl0Lmhhc1ByZXZpb3VzKCkp
OwotICAgICAgICBpdC5uZXh0KCk7Ci0gICAgICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwgUVN0cmlu
Zzo6ZnJvbUxhdGluMSgiMCIpKTsKLSAgICAgICAgUVZFUklGWShpdC5oYXNQcmV2aW91cygpKTsK
LSAgICAgICAgaXQubmV4dCgpOwotICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIFFTdHJpbmc6
OmZyb21MYXRpbjEoIjEiKSk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgLy8gc2FtZSB0ZXN0IGFz
IG9iamVjdDoKLSAgICAgICAgUVNjcmlwdFZhbHVlIG9yaWdpbmFsQXJyYXkgPSBlbmdpbmUubmV3
QXJyYXkoKTsKLSAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBpbnB1dFByb3BlcnR5TmFtZXMu
c2l6ZSgpOyArK2kpCi0gICAgICAgICAgICBvcmlnaW5hbEFycmF5LnNldFByb3BlcnR5KGlucHV0
UHJvcGVydHlOYW1lcy5hdChpKSwgaW5wdXRQcm9wZXJ0eVZhbHVlcy5hdChpKSk7Ci0KLSAgICAg
ICAgUVNjcmlwdFZhbHVlIGFycmF5ID0gb3JpZ2luYWxBcnJheS50b09iamVjdCgpOwotICAgICAg
ICBpbnQgbGVuZ3RoID0gYXJyYXkucHJvcGVydHkoImxlbmd0aCIpLnRvSW50MzIoKTsKLSAgICAg
ICAgUUNPTVBBUkUobGVuZ3RoLCBwcm9wZXJ0eU5hbWVzLnNpemUoKSk7Ci0gICAgICAgIFFTY3Jp
cHRWYWx1ZUl0ZXJhdG9yIGl0KGFycmF5KTsKLSAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBs
ZW5ndGg7ICsraSkgewotICAgICAgICAgICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCB0cnVlKTsK
LSAgICAgICAgICAgIGl0Lm5leHQoKTsKLSAgICAgICAgICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwg
cHJvcGVydHlOYW1lcy5hdChpKSk7Ci0gICAgICAgICAgICBRQ09NUEFSRShpdC5mbGFncygpLCBh
cnJheS5wcm9wZXJ0eUZsYWdzKHByb3BlcnR5TmFtZXMuYXQoaSkpKTsKLSAgICAgICAgICAgIFFW
RVJJRlkoaXQudmFsdWUoKS5zdHJpY3RseUVxdWFscyhhcnJheS5wcm9wZXJ0eShwcm9wZXJ0eU5h
bWVzLmF0KGkpKSkpOwotICAgICAgICAgICAgUUNPTVBBUkUoaXQudmFsdWUoKS50b1N0cmluZygp
LCBwcm9wZXJ0eVZhbHVlcy5hdChpKSk7Ci0gICAgICAgIH0KLSAgICAgICAgUUNPTVBBUkUoaXQu
aGFzTmV4dCgpLCB0cnVlKTsKLSAgICAgICAgaXQubmV4dCgpOwotICAgICAgICBRQ09NUEFSRShp
dC5uYW1lKCksIFFTdHJpbmc6OmZyb21MYXRpbjEoImxlbmd0aCIpKTsKLSAgICB9Ci19Ci0KLXZv
aWQgdHN0X1FTY3JpcHRWYWx1ZUl0ZXJhdG9yOjppdGVyYXRlQmFja0FuZEZvcnRoKCkKLXsKLSAg
ICBRU2NyaXB0RW5naW5lIGVuZ2luZTsKLSAgICB7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZSBvYmpl
Y3QgPSBlbmdpbmUubmV3T2JqZWN0KCk7Ci0gICAgICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgiZm9v
IiwgUVNjcmlwdFZhbHVlKCZlbmdpbmUsICJiYXIiKSk7Ci0gICAgICAgIG9iamVjdC5zZXRQcm9w
ZXJ0eSgicmFiIiwgUVNjcmlwdFZhbHVlKCZlbmdpbmUsICJvb2YiKSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFFTY3JpcHRWYWx1ZTo6U2tpcEluRW51bWVyYXRpb24pOyAvLyBzaG91bGQg
bm90IGFmZmVjdCBpdGVyYXRvcgotICAgICAgICBRU2NyaXB0VmFsdWVJdGVyYXRvciBpdChvYmpl
Y3QpOwotICAgICAgICBRVkVSSUZZKGl0Lmhhc05leHQoKSk7Ci0gICAgICAgIGl0Lm5leHQoKTsK
LSAgICAgICAgUUNPTVBBUkUoaXQubmFtZSgpLCBRTGF0aW4xU3RyaW5nKCJmb28iKSk7Ci0gICAg
ICAgIFFWRVJJRlkoaXQuaGFzUHJldmlvdXMoKSk7Ci0gICAgICAgIGl0LnByZXZpb3VzKCk7Ci0g
ICAgICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwgUUxhdGluMVN0cmluZygiZm9vIikpOwotICAgICAg
ICBRVkVSSUZZKGl0Lmhhc05leHQoKSk7Ci0gICAgICAgIGl0Lm5leHQoKTsKLSAgICAgICAgUUNP
TVBBUkUoaXQubmFtZSgpLCBRTGF0aW4xU3RyaW5nKCJmb28iKSk7Ci0gICAgICAgIFFWRVJJRlko
aXQuaGFzUHJldmlvdXMoKSk7Ci0gICAgICAgIGl0LnByZXZpb3VzKCk7Ci0gICAgICAgIFFDT01Q
QVJFKGl0Lm5hbWUoKSwgUUxhdGluMVN0cmluZygiZm9vIikpOwotICAgICAgICBRVkVSSUZZKGl0
Lmhhc05leHQoKSk7Ci0gICAgICAgIGl0Lm5leHQoKTsKLSAgICAgICAgUUNPTVBBUkUoaXQubmFt
ZSgpLCBRTGF0aW4xU3RyaW5nKCJmb28iKSk7Ci0gICAgICAgIFFWRVJJRlkoaXQuaGFzTmV4dCgp
KTsKLSAgICAgICAgaXQubmV4dCgpOwotICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIFFMYXRp
bjFTdHJpbmcoInJhYiIpKTsKLSAgICAgICAgUVZFUklGWShpdC5oYXNQcmV2aW91cygpKTsKLSAg
ICAgICAgaXQucHJldmlvdXMoKTsKLSAgICAgICAgUUNPTVBBUkUoaXQubmFtZSgpLCBRTGF0aW4x
U3RyaW5nKCJyYWIiKSk7Ci0gICAgICAgIFFWRVJJRlkoaXQuaGFzTmV4dCgpKTsKLSAgICAgICAg
aXQubmV4dCgpOwotICAgICAgICBRQ09NUEFSRShpdC5uYW1lKCksIFFMYXRpbjFTdHJpbmcoInJh
YiIpKTsKLSAgICAgICAgUVZFUklGWShpdC5oYXNQcmV2aW91cygpKTsKLSAgICAgICAgaXQucHJl
dmlvdXMoKTsKLSAgICAgICAgUUNPTVBBUkUoaXQubmFtZSgpLCBRTGF0aW4xU3RyaW5nKCJyYWIi
KSk7Ci0gICAgfQotICAgIHsKLSAgICAgICAgLy8gaGFzTmV4dCgpIGFuZCBoYXNQcmV2aW91cygp
IGNhY2hlIHRoZWlyIHJlc3VsdDsgdmVyaWZ5IHRoYXQgdGhlIHJlc3VsdCBpcyBpbiBzeW5jCi0g
ICAgICAgIFFTY3JpcHRWYWx1ZSBvYmplY3QgPSBlbmdpbmUubmV3T2JqZWN0KCk7Ci0gICAgICAg
IG9iamVjdC5zZXRQcm9wZXJ0eSgiZm9vIiwgUVNjcmlwdFZhbHVlKCZlbmdpbmUsICJiYXIiKSk7
Ci0gICAgICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgicmFiIiwgUVNjcmlwdFZhbHVlKCZlbmdpbmUs
ICJvb2YiKSk7Ci0gICAgICAgIFFTY3JpcHRWYWx1ZUl0ZXJhdG9yIGl0KG9iamVjdCk7Ci0gICAg
ICAgIFFWRVJJRlkoaXQuaGFzTmV4dCgpKTsKLSAgICAgICAgaXQubmV4dCgpOwotICAgICAgICBR
Q09NUEFSRShpdC5uYW1lKCksIFFTdHJpbmc6OmZyb21MYXRpbjEoImZvbyIpKTsKLSAgICAgICAg
UVZFUklGWShpdC5oYXNOZXh0KCkpOwotICAgICAgICBpdC5wcmV2aW91cygpOwotICAgICAgICBR
Q09NUEFSRShpdC5uYW1lKCksIFFTdHJpbmc6OmZyb21MYXRpbjEoImZvbyIpKTsKLSAgICAgICAg
UVZFUklGWSghaXQuaGFzUHJldmlvdXMoKSk7Ci0gICAgICAgIGl0Lm5leHQoKTsKLSAgICAgICAg
UUNPTVBBUkUoaXQubmFtZSgpLCBRU3RyaW5nOjpmcm9tTGF0aW4xKCJmb28iKSk7Ci0gICAgICAg
IFFWRVJJRlkoaXQuaGFzUHJldmlvdXMoKSk7Ci0gICAgICAgIGl0Lm5leHQoKTsKLSAgICAgICAg
UUNPTVBBUkUoaXQubmFtZSgpLCBRU3RyaW5nOjpmcm9tTGF0aW4xKCJyYWIiKSk7Ci0gICAgfQot
fQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6c2V0VmFsdWUoKQotewotICAgIFFT
Y3JpcHRFbmdpbmUgZW5naW5lOwotICAgIFFTY3JpcHRWYWx1ZSBvYmplY3QgPSBlbmdpbmUubmV3
T2JqZWN0KCk7Ci0gICAgb2JqZWN0LnNldFByb3BlcnR5KCJmb28iLCBRU2NyaXB0VmFsdWUoJmVu
Z2luZSwgImJhciIpKTsKLSAgICBRU2NyaXB0VmFsdWVJdGVyYXRvciBpdChvYmplY3QpOwotICAg
IGl0Lm5leHQoKTsKLSAgICBRQ09NUEFSRShpdC5uYW1lKCksIFFMYXRpbjFTdHJpbmcoImZvbyIp
KTsKLSAgICBpdC5zZXRWYWx1ZShRU2NyaXB0VmFsdWUoJmVuZ2luZSwgImJheiIpKTsKLSAgICBR
Q09NUEFSRShpdC52YWx1ZSgpLnN0cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1ZSgmZW5naW5lLCBR
TGF0aW4xU3RyaW5nKCJiYXoiKSkpLCB0cnVlKTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVy
dHkoImZvbyIpLnRvU3RyaW5nKCksIFFMYXRpbjFTdHJpbmcoImJheiIpKTsKLSAgICBpdC5zZXRW
YWx1ZShRU2NyaXB0VmFsdWUoJmVuZ2luZSwgInphYiIpKTsKLSAgICBRQ09NUEFSRShpdC52YWx1
ZSgpLnN0cmljdGx5RXF1YWxzKFFTY3JpcHRWYWx1ZSgmZW5naW5lLCBRTGF0aW4xU3RyaW5nKCJ6
YWIiKSkpLCB0cnVlKTsKLSAgICBRQ09NUEFSRShvYmplY3QucHJvcGVydHkoImZvbyIpLnRvU3Ry
aW5nKCksIFFMYXRpbjFTdHJpbmcoInphYiIpKTsKLX0KLQotdm9pZCB0c3RfUVNjcmlwdFZhbHVl
SXRlcmF0b3I6OnJlbW92ZSgpCi17Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAgUVNj
cmlwdFZhbHVlIG9iamVjdCA9IGVuZ2luZS5uZXdPYmplY3QoKTsKLSAgICBvYmplY3Quc2V0UHJv
cGVydHkoImZvbyIsIFFTY3JpcHRWYWx1ZSgmZW5naW5lLCAiYmFyIiksCi0gICAgICAgICAgICAg
ICAgICAgICAgIFFTY3JpcHRWYWx1ZTo6U2tpcEluRW51bWVyYXRpb24pOyAvLyBzaG91bGQgbm90
IGFmZmVjdCBpdGVyYXRvcgotICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgicmFiIiwgUVNjcmlwdFZh
bHVlKCZlbmdpbmUsICJvb2YiKSk7Ci0gICAgUVNjcmlwdFZhbHVlSXRlcmF0b3IgaXQob2JqZWN0
KTsKLSAgICBpdC5uZXh0KCk7Ci0gICAgUUNPTVBBUkUoaXQubmFtZSgpLCBRTGF0aW4xU3RyaW5n
KCJmb28iKSk7Ci0gICAgaXQucmVtb3ZlKCk7Ci0gICAgUUNPTVBBUkUoaXQuaGFzUHJldmlvdXMo
KSwgZmFsc2UpOwotICAgIFFDT01QQVJFKG9iamVjdC5wcm9wZXJ0eSgiZm9vIikuaXNWYWxpZCgp
LCBmYWxzZSk7Ci0gICAgUUNPTVBBUkUob2JqZWN0LnByb3BlcnR5KCJyYWIiKS50b1N0cmluZygp
LCBRTGF0aW4xU3RyaW5nKCJvb2YiKSk7Ci0gICAgaXQubmV4dCgpOwotICAgIFFDT01QQVJFKGl0
Lm5hbWUoKSwgUUxhdGluMVN0cmluZygicmFiIikpOwotICAgIFFDT01QQVJFKGl0LnZhbHVlKCku
dG9TdHJpbmcoKSwgUUxhdGluMVN0cmluZygib29mIikpOwotICAgIFFDT01QQVJFKGl0Lmhhc05l
eHQoKSwgZmFsc2UpOwotICAgIGl0LnJlbW92ZSgpOwotICAgIFFDT01QQVJFKG9iamVjdC5wcm9w
ZXJ0eSgicmFiIikuaXNWYWxpZCgpLCBmYWxzZSk7Ci0gICAgUUNPTVBBUkUoaXQuaGFzUHJldmlv
dXMoKSwgZmFsc2UpOwotICAgIFFDT01QQVJFKGl0Lmhhc05leHQoKSwgZmFsc2UpOwotfQotCi12
b2lkIHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6cmVtb3ZlTWl4ZWQoKQotewotICAgIC8vIFRo
aXMgdGVzdCBjaGVja3MgaWYgUVNjcmlwdFZhbHVlSXRlcmF0b3IgYmVoYWl2ZXMgY29ycmVjdGx5
IGlmIGFuIG9iamVjdCdzIHByb3BlcnR5IGdvdCBkZWxldGVkCi0gICAgLy8gaW4gZGlmZmVyZW50
IHdheS4KLSAgICBRU2NyaXB0RW5naW5lIGVuZ2luZTsKLSAgICBRU2NyaXB0VmFsdWUgb2JqZWN0
ID0gZW5naW5lLmV2YWx1YXRlKCJvID0gbmV3IE9iamVjdDsgbyIpOwotICAgIG9iamVjdC5zZXRQ
cm9wZXJ0eSgiYSIsIFFTY3JpcHRWYWx1ZSgxMjQpLCBRU2NyaXB0VmFsdWU6OlNraXBJbkVudW1l
cmF0aW9uKTsKLSAgICBvYmplY3Quc2V0UHJvcGVydHkoImIiLCBRU2NyaXB0VmFsdWUoODE2KSk7
Ci0gICAgb2JqZWN0LnNldFByb3BlcnR5KCJjIiwgUVNjcmlwdFZhbHVlKDMyNjQpKTsKLSAgICBR
U2NyaXB0VmFsdWVJdGVyYXRvciBpdChvYmplY3QpOwotICAgIGl0Lm5leHQoKTsKLSAgICBpdC5u
ZXh0KCk7Ci0gICAgUUNPTVBBUkUoaXQubmFtZSgpLCBRTGF0aW4xU3RyaW5nKCJiIikpOwotICAg
IFFDT01QQVJFKGl0Lmhhc1ByZXZpb3VzKCksIHRydWUpOwotICAgIFFDT01QQVJFKGl0Lmhhc05l
eHQoKSwgdHJ1ZSk7Ci0gICAgLy8gUmVtb3ZlICdhJwotICAgIG9iamVjdC5zZXRQcm9wZXJ0eSgi
YSIsIFFTY3JpcHRWYWx1ZSgpKTsKLSAgICBRRVhQRUNUX0ZBSUwoIiIsICJUaGF0IHdvdWxkIGJl
IGEgc2lnbmlmaWNhbnQgYmVoYXZpb3JhbCBhbmQgcGVyZm9ybWFuY2UgY2hhbmdlLCBuZXcgUXRT
Y3JpcHQgQVBJIHNob3VsZCBiZSBkZXZlbG9wZWQgKFFUQlVHLTEyMDg3KSIsIEFib3J0KTsKLSAg
ICBRQ09NUEFSRShpdC5oYXNQcmV2aW91cygpLCBmYWxzZSk7Ci0gICAgUUNPTVBBUkUoaXQuaGFz
TmV4dCgpLCB0cnVlKTsKLSAgICAvLyBSZW1vdmUgJ2MnCi0gICAgZW5naW5lLmV2YWx1YXRlKCJk
ZWxldGUgby5jIik7Ci0gICAgUUNPTVBBUkUoaXQuaGFzUHJldmlvdXMoKSwgZmFsc2UpOwotICAg
IFFDT01QQVJFKGl0Lmhhc05leHQoKSwgZmFsc2UpOwotICAgIC8vIFJlbW92ZSAnYicKLSAgICBv
YmplY3Quc2V0UHJvcGVydHkoImIiLCBRU2NyaXB0VmFsdWUoKSk7Ci0gICAgUUNPTVBBUkUoaXQu
aGFzUHJldmlvdXMoKSwgZmFsc2UpOwotICAgIFFDT01QQVJFKGl0Lmhhc05leHQoKSwgZmFsc2Up
OwotICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwgUVN0cmluZygpKTsKLSAgICBRQ09NUEFSRShpdC52
YWx1ZSgpLnRvU3RyaW5nKCksIFFTdHJpbmcoKSk7Ci0KLSAgICAvLyBUcnkgdG8gcmVtb3ZlIGEg
cmVtb3ZlZCBwcm9wZXJ0eS4KLSAgICBpdC5yZW1vdmUoKTsKLSAgICBRQ09NUEFSRShpdC5oYXNQ
cmV2aW91cygpLCBmYWxzZSk7Ci0gICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCBmYWxzZSk7Ci0g
ICAgUUNPTVBBUkUoaXQubmFtZSgpLCBRU3RyaW5nKCkpOwotICAgIFFDT01QQVJFKGl0LnZhbHVl
KCkudG9TdHJpbmcoKSwgUVN0cmluZygpKTsKLQotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMjsg
KytpKSB7Ci0gICAgICAgIGl0Lm5leHQoKTsKLSAgICAgICAgUUNPTVBBUkUoaXQuaGFzUHJldmlv
dXMoKSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRShpdC5oYXNOZXh0KCksIGZhbHNlKTsKLSAg
ICAgICAgUUNPTVBBUkUoaXQubmFtZSgpLCBRU3RyaW5nKCkpOwotICAgICAgICBRQ09NUEFSRShp
dC52YWx1ZSgpLnRvU3RyaW5nKCksIFFTdHJpbmcoKSk7Ci0gICAgfQotCi0gICAgZm9yIChpbnQg
aSA9IDA7IGkgPCAyOyArK2kpIHsKLSAgICAgICAgaXQucHJldmlvdXMoKTsKLSAgICAgICAgUUNP
TVBBUkUoaXQuaGFzUHJldmlvdXMoKSwgZmFsc2UpOwotICAgICAgICBRQ09NUEFSRShpdC5oYXNO
ZXh0KCksIGZhbHNlKTsKLSAgICAgICAgUUNPTVBBUkUoaXQubmFtZSgpLCBRU3RyaW5nKCkpOwot
ICAgICAgICBRQ09NUEFSRShpdC52YWx1ZSgpLnRvU3RyaW5nKCksIFFTdHJpbmcoKSk7Ci0gICAg
fQotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6cmVtb3ZlVW5kZWxldGFibGUo
KQotewotICAgIC8vIFVuZGVsZXRhYmxlIHByb3BlcnR5IGNhbid0IGJlIGRlbGV0ZWQgdmlhIGl0
ZXJhdG9yLgotICAgIFFTY3JpcHRFbmdpbmUgZW5naW5lOwotICAgIFFTY3JpcHRWYWx1ZSBvYmpl
Y3QgPSBlbmdpbmUuZXZhbHVhdGUoIm8gPSBuZXcgT2JqZWN0OyBvIik7Ci0gICAgb2JqZWN0LnNl
dFByb3BlcnR5KCJhIiwgUVNjcmlwdFZhbHVlKCZlbmdpbmUsIDEyNCkpOwotICAgIG9iamVjdC5z
ZXRQcm9wZXJ0eSgiYiIsIFFTY3JpcHRWYWx1ZSgmZW5naW5lLCA4MTYpLCBRU2NyaXB0VmFsdWU6
OlVuZGVsZXRhYmxlKTsKLSAgICBRVkVSSUZZKG9iamVjdC5wcm9wZXJ0eSgiYiIpLmlzVmFsaWQo
KSk7Ci0gICAgUVNjcmlwdFZhbHVlSXRlcmF0b3IgaXQob2JqZWN0KTsKLSAgICBpdC5uZXh0KCk7
Ci0gICAgaXQubmV4dCgpOwotICAgIGl0LnJlbW92ZSgpOwotICAgIGl0LnRvRnJvbnQoKTsKLSAg
ICBRVkVSSUZZKGl0Lmhhc05leHQoKSk7Ci0gICAgUVZFUklGWShvYmplY3QucHJvcGVydHkoImIi
KS5pc1ZhbGlkKCkpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6aXRlcmF0
ZVN0cmluZygpCi17Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmdpbmU7Ci0gICAgUVNjcmlwdFZhbHVl
IHN0ciA9IFFTY3JpcHRWYWx1ZSgmZW5naW5lLCBRU3RyaW5nOjpmcm9tTGF0aW4xKCJjaWFvIikp
OwotICAgIFFWRVJJRlkoc3RyLmlzU3RyaW5nKCkpOwotICAgIFFTY3JpcHRWYWx1ZSBvYmogPSBz
dHIudG9PYmplY3QoKTsKLSAgICBpbnQgbGVuZ3RoID0gb2JqLnByb3BlcnR5KCJsZW5ndGgiKS50
b0ludDMyKCk7Ci0gICAgUUNPTVBBUkUobGVuZ3RoLCA0KTsKLSAgICBRU2NyaXB0VmFsdWVJdGVy
YXRvciBpdChvYmopOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKLSAg
ICAgICAgUUNPTVBBUkUoaXQuaGFzTmV4dCgpLCB0cnVlKTsKLSAgICAgICAgUVN0cmluZyBpbmRl
eFN0ciA9IFFTY3JpcHRWYWx1ZSgmZW5naW5lLCBpKS50b1N0cmluZygpOwotICAgICAgICBpdC5u
ZXh0KCk7Ci0gICAgICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwgaW5kZXhTdHIpOwotICAgICAgICBR
Q09NUEFSRShpdC5mbGFncygpLCBvYmoucHJvcGVydHlGbGFncyhpbmRleFN0cikpOwotICAgICAg
ICBRQ09NUEFSRShpdC52YWx1ZSgpLnN0cmljdGx5RXF1YWxzKG9iai5wcm9wZXJ0eShpbmRleFN0
cikpLCB0cnVlKTsKLSAgICB9Ci0gICAgUVZFUklGWShpdC5oYXNOZXh0KCkpOwotICAgIGl0Lm5l
eHQoKTsKLSAgICBRQ09NUEFSRShpdC5uYW1lKCksIFFTdHJpbmc6OmZyb21MYXRpbjEoImxlbmd0
aCIpKTsKLSAgICBRVkVSSUZZKGl0LnZhbHVlKCkuaXNOdW1iZXIoKSk7Ci0gICAgUUNPTVBBUkUo
aXQudmFsdWUoKS50b0ludDMyKCksIGxlbmd0aCk7Ci0gICAgUUNPTVBBUkUoaXQuZmxhZ3MoKSwg
UVNjcmlwdFZhbHVlOjpQcm9wZXJ0eUZsYWdzKFFTY3JpcHRWYWx1ZTo6UmVhZE9ubHkgfCBRU2Ny
aXB0VmFsdWU6OlNraXBJbkVudW1lcmF0aW9uIHwgUVNjcmlwdFZhbHVlOjpVbmRlbGV0YWJsZSkp
OwotCi0gICAgaXQucHJldmlvdXMoKTsKLSAgICBRQ09NUEFSRShpdC5oYXNQcmV2aW91cygpLCBs
ZW5ndGggPiAwKTsKLSAgICBmb3IgKGludCBpID0gbGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHsK
LSAgICAgICAgaXQucHJldmlvdXMoKTsKLSAgICAgICAgUVN0cmluZyBpbmRleFN0ciA9IFFTY3Jp
cHRWYWx1ZSgmZW5naW5lLCBpKS50b1N0cmluZygpOwotICAgICAgICBRQ09NUEFSRShpdC5uYW1l
KCksIGluZGV4U3RyKTsKLSAgICAgICAgUUNPTVBBUkUoaXQuZmxhZ3MoKSwgb2JqLnByb3BlcnR5
RmxhZ3MoaW5kZXhTdHIpKTsKLSAgICAgICAgUUNPTVBBUkUoaXQudmFsdWUoKS5zdHJpY3RseUVx
dWFscyhvYmoucHJvcGVydHkoaW5kZXhTdHIpKSwgdHJ1ZSk7Ci0gICAgICAgIFFDT01QQVJFKGl0
Lmhhc1ByZXZpb3VzKCksIGkgPiAwKTsKLSAgICB9Ci0gICAgUUNPTVBBUkUoaXQuaGFzUHJldmlv
dXMoKSwgZmFsc2UpOwotfQotCi12b2lkIHRzdF9RU2NyaXB0VmFsdWVJdGVyYXRvcjo6YXNzaWdu
T2JqZWN0VG9JdGVyYXRvcigpCi17Ci0gICAgUVNjcmlwdEVuZ2luZSBlbmc7Ci0gICAgUVNjcmlw
dFZhbHVlIG9iajEgPSBlbmcubmV3T2JqZWN0KCk7Ci0gICAgb2JqMS5zZXRQcm9wZXJ0eSgiZm9v
IiwgMTIzKTsKLSAgICBRU2NyaXB0VmFsdWUgb2JqMiA9IGVuZy5uZXdPYmplY3QoKTsKLSAgICBv
YmoyLnNldFByb3BlcnR5KCJiYXIiLCA0NTYpOwotCi0gICAgUVNjcmlwdFZhbHVlSXRlcmF0b3Ig
aXQob2JqMSk7Ci0gICAgUVZFUklGWShpdC5oYXNOZXh0KCkpOwotICAgIGl0Lm5leHQoKTsKLSAg
ICBpdCA9IG9iajI7Ci0gICAgUVZFUklGWShpdC5oYXNOZXh0KCkpOwotICAgIGl0Lm5leHQoKTsK
LSAgICBRQ09NUEFSRShpdC5uYW1lKCksIFFTdHJpbmc6OmZyb21MYXRpbjEoImJhciIpKTsKLQot
ICAgIGl0ID0gb2JqMTsKLSAgICBRVkVSSUZZKGl0Lmhhc05leHQoKSk7Ci0gICAgaXQubmV4dCgp
OwotICAgIFFDT01QQVJFKGl0Lm5hbWUoKSwgUVN0cmluZzo6ZnJvbUxhdGluMSgiZm9vIikpOwot
Ci0gICAgaXQgPSBvYmoyOwotICAgIFFWRVJJRlkoaXQuaGFzTmV4dCgpKTsKLSAgICBpdC5uZXh0
KCk7Ci0gICAgUUNPTVBBUkUoaXQubmFtZSgpLCBRU3RyaW5nOjpmcm9tTGF0aW4xKCJiYXIiKSk7
Ci0KLSAgICBpdCA9IG9iajI7Ci0gICAgUVZFUklGWShpdC5oYXNOZXh0KCkpOwotICAgIGl0Lm5l
eHQoKTsKLSAgICBRQ09NUEFSRShpdC5uYW1lKCksIFFTdHJpbmc6OmZyb21MYXRpbjEoImJhciIp
KTsKLX0KLQotUVRFU1RfTUFJTih0c3RfUVNjcmlwdFZhbHVlSXRlcmF0b3IpCi0jaW5jbHVkZSAi
dHN0X3FzY3JpcHR2YWx1ZWl0ZXJhdG9yLm1vYyIKLQotI2VuZGlmIC8vIHRzdF9xc2NyaXB0dmFs
dWVpdGVyYXRvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMv
dGVzdHMucHJpIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3Rlc3RzLnByaQpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWFmMzM4MzY5ZDA2ZjVkYjQxOTAxNjFhYWIwYzJm
ODIzYzI0ODkyOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvdGVzdHMucHJpCisrKyAvZGV2L251bGwK
QEAgLTEsMTkgKzAsMCBAQAotUU1BS0VfUlBBVEhESVIgPSAkJE9VVFBVVF9ESVIvbGliICQkUU1B
S0VfUlBBVEhESVIKLVFNQUtFX0xJQkRJUiA9ICQkT1VUUFVUX0RJUi9saWIgJCRRTUFLRV9MSUJE
SVIKLW1hYzohc3RhdGljOmNvbnRhaW5zKFFUX0NPTkZJRywgcXRfZnJhbWV3b3JrKTohQ09ORklH
KHdlYmtpdF9ub19mcmFtZXdvcmspIHsKLSAgICBMSUJTICs9IC1mcmFtZXdvcmsgUXRTY3JpcHQK
LSAgICBRTUFLRV9GUkFNRVdPUktQQVRIID0gJCRPVVRQVVRfRElSL2xpYiAkJFFNQUtFX0ZSQU1F
V09SS1BBVEgKLX0gZWxzZSB7Ci0gICAgd2luMzItKnx3aW5jZSogewotICAgICAgICBMSUJTICs9
IC1sUXRTY3JpcHQkJHtRVF9NQUpPUl9WRVJTSU9OfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIExJ
QlMgKz0gLWxRdFNjcmlwdAotICAgIH0KLX0KLQotQ09ORklHKHJlbGVhc2UsIGRlYnVnfHJlbGVh
c2UpIHsKLSAgICBERUZJTkVTICs9IE5ERUJVRwotfQotCi1JTkNMVURFUEFUSCArPSAkJFBXRC8u
Li9hcGkKLQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3Rlc3Rz
LnBybyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0cy90ZXN0cy5wcm8KZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkNTU1OWI2ZDFiZjVjNGMzYWU1NDM1YTRmYTRmY2I2MTkw
YzQ0NTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3F0L3Rlc3RzL3Rlc3RzLnBybworKysgL2Rldi9udWxsCkBAIC0x
LDUgKzAsMCBAQAotVEVNUExBVEUgPSBzdWJkaXJzCi1TVUJESVJTID0gICBxc2NyaXB0ZW5naW5l
IFwKLSAgICAgICAgICAgIHFzY3JpcHR2YWx1ZSBcCi0gICAgICAgICAgICBxc2NyaXB0dmFsdWVp
dGVyYXRvciBcCi0gICAgICAgICAgICBxc2NyaXB0c3RyaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0LnBybyBiL1NvdXJjZS9XZWJLaXQucHJvCmluZGV4IGZlY2U3NGJiNjljMTkzNDkyZWU0
NDgzYjM2ODk5MTk0YTJiNDNmNjQuLmE4YmFlYTc3ODg2OWIwNjQwNGQzYWE1YjZjMjAzMjk5M2Qz
Y2IzMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQucHJvCisrKyBiL1NvdXJjZS9XZWJLaXQu
cHJvCkBAIC00NSwxMSArNDUsNCBAQCBleGlzdHMoJCRQV0QvV2ViS2l0L3F0L2RlY2xhcmF0aXZl
KSB7CiAKIFNVQkRJUlMgKz0gV2ViS2l0L3F0L3Rlc3RzCiAKLWJ1aWxkLXF0c2NyaXB0IHsKLSAg
ICBTVUJESVJTICs9IFwKLSAgICAgICAgSmF2YVNjcmlwdENvcmUvcXQvYXBpL1F0U2NyaXB0LnBy
byBcCi0gICAgICAgIEphdmFTY3JpcHRDb3JlL3F0L3Rlc3RzIFwKLSAgICAgICAgSmF2YVNjcmlw
dENvcmUvcXQvYmVuY2htYXJrcwotfQotCiBpbmNsdWRlKFdlYktpdC9xdC9kb2NzL2RvY3MucHJp
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDBm
OTliN2Q5MzE4MmRkOWIwNmI4NzVlOTExMGQ5YjJhYTE4ODlhYTkuLjEzZDM0NjkzMjQ2MTM4ZjVh
OWQxMDdiYjdlN2ZkZTkwZDhmYTNhNzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0xMC0yMSAgU2ltb24gSGF1
c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUmVtb3ZlIFF0U2Ny
aXB0IHNvdXJjZSBjb2RlIGZyb20gV2ViS2l0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW1vdmVkIGRlYWQgY29kZSB0aGF0IGlzbid0IGRldmVsb3Bl
ZCBhbnltb3JlLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyX3Vu
aXR0ZXN0LnB5OgorCiAyMDExLTEwLTIwICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4K
IAogICAgICAgICBTd2l0Y2ggd2Via2l0MiBib3QgdG8gTlJXVApkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2VyX3VuaXR0ZXN0LnB5CmluZGV4IDA3OGZmMjJiODBkODg3
YzAwMjU4ZTUxN2JlYzc2ODU0YWUyYWJjMGYuLjQ0N2ZkMzk5MWQ0MWM2YTZlYzlhMGYxOTczYTBm
NTZiYmI0YTU5ZDYgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hl
Y2tlcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNr
ZXJfdW5pdHRlc3QucHkKQEAgLTIyNiw4ICsyMjYsNiBAQCBjbGFzcyBHbG9iYWxWYXJpYWJsZXNU
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgICAgICAgICAgICAicmVhZGFiaWxp
dHkvbmFtaW5nIikKIAogICAgICAgICAjIFRlc3QgaWYgUXQgZXhjZXB0aW9ucyBhcmUgaW5kZWVk
IHdvcmtpbmcKLSAgICAgICAgYXNzZXJ0Q2hlY2soIlNvdXJjZS9KYXZhU2NyaXB0Q29yZS9xdC9h
cGkvcXNjcmlwdGVuZ2luZS5jcHAiLAotICAgICAgICAgICAgICAgICAgICAicmVhZGFiaWxpdHkv
YnJhY2VzIikKICAgICAgICAgYXNzZXJ0Q2hlY2soIlNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmNwcCIsCiAgICAgICAgICAgICAgICAgICAgICJyZWFkYWJpbGl0eS9icmFjZXMiKQogICAg
ICAgICBhc3NlcnRDaGVjaygiU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2ViZWxlbWVudC90c3Rf
cXdlYmVsZW1lbnQuY3BwIiwKQEAgLTIzNiwxMSArMjM0LDYgQEAgY2xhc3MgR2xvYmFsVmFyaWFi
bGVzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICAgICAgICAgICJyZWFkYWJp
bGl0eS9icmFjZXMiKQogICAgICAgICBhc3NlcnRDaGVjaygiU291cmNlL1dlYktpdC9xdC9leGFt
cGxlcy9wbGF0Zm9ybXBsdWdpbi9XZWJQbHVnaW4uY3BwIiwKICAgICAgICAgICAgICAgICAgICAg
InJlYWRhYmlsaXR5L2JyYWNlcyIpCi0gICAgICAgIGFzc2VydE5vQ2hlY2soIlNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGVuZ2luZS5jcHAiLAotICAgICAgICAgICAgICAgICAg
ICAgICJyZWFkYWJpbGl0eS9uYW1pbmciKQotICAgICAgICBhc3NlcnROb0NoZWNrKCJTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcXQvYmVuY2htYXJrcyIKLSAgICAgICAgICAgICAgICAgICAgICAiL3Fz
Y3JpcHRlbmdpbmUvdHN0X3FzY3JpcHRlbmdpbmUuY3BwIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAicmVhZGFiaWxpdHkvbmFtaW5nIikKICAgICAgICAgYXNzZXJ0Tm9DaGVjaygiU291cmNlL1dl
YktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwIiwKICAgICAgICAgICAgICAgICAgICAgICAicmVhZGFi
aWxpdHkvbmFtaW5nIikKICAgICAgICAgYXNzZXJ0Tm9DaGVjaygiU291cmNlL1dlYktpdC9xdC90
ZXN0cy9xd2ViZWxlbWVudC90c3RfcXdlYmVsZW1lbnQuY3BwIiwKZGlmZiAtLWdpdCBhL0NoYW5n
ZUxvZyBiL0NoYW5nZUxvZwppbmRleCA5ZTIyYTk1ZjNjMTZhM2VjYzMzNDgwN2IyNmRmOTA4Yzk2
ZWVmNDVkLi4zYTg3NTk0MzlmNGM1MzRlZTk4MjQxN2JjNDc1Y2VjNjBhNGEyMmJmIDEwMDY0NAot
LS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTAt
MjEgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgorCisgICAgICAg
IFJlbW92ZSBRdFNjcmlwdCBzb3VyY2UgY29kZSBmcm9tIFdlYktpdC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDg4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBkZWFkIGNvZGUgdGhhdCBp
c24ndCBkZXZlbG9wZWQgYW55bW9yZS4KKworICAgICAgICAqIFNvdXJjZS9XZWJLaXQucHJvOgor
CiAyMDExLTEwLTE5ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxnbnNAZ25vbWUub3JnPgogCiAg
ICAgICAgIFtHVEtdIFN0cmVhbWxpbmUgd2sxIGRvY3VtZW50YXRpb24gYnVpbGQK
</data>
<flag name="review"
          id="109873"
          type_id="1"
          status="+"
          setter="vestbo"
    />
          </attachment>
      

    </bug>

</bugzilla>