<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>13749</bug_id>
          
          <creation_ts>2020-01-24 11:20:50 +0000</creation_ts>
          <short_desc>Example recipe created with bitbake-layers create-layer doesn&apos;t print to stdout</short_desc>
          <delta_ts>2020-01-30 15:36:40 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>BitBake</product>
          <component>bitbake</component>
          <version>3.0.2</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>NOTABUG</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Undecided</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>alan.martinovic</reporter>
          <assigned_to name="Richard Purdie">richard.purdie</assigned_to>
          <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>86113</commentid>
    <comment_count>0</comment_count>
      <attachid>4617</attachid>
    <who name="">alan.martinovic</who>
    <bug_when>2020-01-24 11:20:50 +0000</bug_when>
    <thetext>Created attachment 4617
bitbake -e example 2&gt;&amp;1  &gt; bitbake_e_example.output

Running the example recipe create as a result of `bitbake-layers create-layer` doesn&apos;t print to stdout even though it has `bb.plain()`.

Steps to reproduce:

```
source oe-init-build-env
bitbake-layers create-layer custom_layer
bitbake-layers add-layer custom_layer
# Make sure the lack of output is not caused because the task was cached
echo &apos;do_build[nostamp]=&quot;1&quot;&apos; &gt;&gt; custom_layer/recipes-example/example/example_0.1.bb
bitbake example
```


Additional findings:

Doing the similar thing with the same bitbake directory but with the https://www.yoctoproject.org/docs/3.0/bitbake-user-manual/bitbake-user-manual.html#the-hello-world-example

results in the bb.plain() to be seen in the output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86114</commentid>
    <comment_count>1</comment_count>
    <who name="">alan.martinovic</who>
    <bug_when>2020-01-24 12:33:39 +0000</bug_when>
    <thetext>I&apos;ve tested the exact same steps just with warrior. 
The results are the same.

Also tried running the build task explicitly:
bitbake example -c build

but it didn&apos;t make a difference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86115</commentid>
    <comment_count>2</comment_count>
    <who name="">alan.martinovic</who>
    <bug_when>2020-01-24 12:47:50 +0000</bug_when>
    <thetext>Taking a look at 
tmp/work/i586-poky-linux/example/0.1-r0/temp/
there are no do_build related files.

ll tmp/work/i586-poky-linux/example/0.1-r0/temp/*do_build*
returns nothing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86119</commentid>
    <comment_count>3</comment_count>
    <who name="">alan.martinovic</who>
    <bug_when>2020-01-25 09:43:36 +0000</bug_when>
    <thetext>The problem seems to be tied only to do_build.
Using do_install with the exact same code prints correctly.


```
SUMMARY = &quot;bitbake-layers recipe&quot;
DESCRIPTION = &quot;Recipe created by bitbake-layers&quot;
LICENSE = &quot;MIT&quot;

python do_install() {
    bb.plain(&quot;***********************************************&quot;);
    bb.plain(&quot;*                                             *&quot;);
    bb.plain(&quot;*  Example recipe created by bitbake-layers   *&quot;);
    bb.plain(&quot;*                                             *&quot;);
    bb.plain(&quot;***********************************************&quot;);
}

do_install[nostamp]=&quot;1&quot;
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>86186</commentid>
    <comment_count>4</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2020-01-30 15:36:40 +0000</bug_when>
    <thetext>I think this is because do_build is a &quot;noexec&quot; task and hence doesn&apos;t execute any task contents. I therefore believe its working as intended.

You could make the bitbake example do the same with:

do_build[noexec] = &quot;1&quot;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4617</attachid>
            <date>2020-01-24 11:20:50 +0000</date>
            <delta_ts>2020-01-24 11:20:50 +0000</delta_ts>
            <desc>bitbake -e example 2&gt;&amp;1  &gt; bitbake_e_example.output</desc>
            <filename>bitbake_e_example.output</filename>
            <type>application/octet-stream</type>
            <size>1026376</size>
            <attacher>alan.martinovic</attacher>
            
              <data encoding="base64">TG9hZGluZyBjYWNoZS4uLmRvbmUuCkxvYWRlZCAxMjk5IGVudHJpZXMgZnJvbSBkZXBlbmRlbmN5
IGNhY2hlLgpOT1RFOiBSZXNvbHZpbmcgYW55IG1pc3NpbmcgdGFzayBxdWV1ZSBkZXBlbmRlbmNp
ZXMKTG9hZGluZyBjYWNoZS4uLmRvbmUuCkxvYWRlZCAxMjk5IGVudHJpZXMgZnJvbSBkZXBlbmRl
bmN5IGNhY2hlLgojCiMgSU5DTFVERSBISVNUT1JZOgojCiMgL2hvbWUvdXNlci9wb2t5L2J1aWxk
L2NvbmYvYmJsYXllcnMuY29uZgojIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29u
ZgojIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25mCiMgL2hvbWUvdXNl
ci9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbGF5ZXIuY29uZgojIC9ob21lL3VzZXIvcG9reS9i
dWlsZC9jdXN0b21fbGF5ZXIvY29uZi9sYXllci5jb25mCiMgY29uZi9iaXRiYWtlLmNvbmYgaW5j
bHVkZXM6CiMgICAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2FiaV92ZXJzaW9uLmNvbmYKIyAg
IGNvbmYvc2l0ZS5jb25mCiMgICBjb25mL2F1dG8uY29uZgojICAgL2hvbWUvdXNlci9wb2t5L2J1
aWxkL2NvbmYvbG9jYWwuY29uZgojICAgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tdWx0aWNv
bmZpZy9kZWZhdWx0LmNvbmYKIyAgIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9x
ZW11eDg2LTY0LmNvbmYgaW5jbHVkZXM6CiMgICAgIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
bWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jCiMgICAgIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
bWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jIGluY2x1ZGVzOgojICAgICAgIC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTY4Ni5pbmMgaW5jbHVkZXM6
CiMgICAgICAgICAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5l
LWk1ODYuaW5jIGluY2x1ZGVzOgojICAgICAgICAgICAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jCiMgICAgIC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmMKIyAgIC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYKIyAgIC9ob21lL3VzZXIvcG9r
eS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mIGluY2x1ZGVzOgojICAgICAvaG9tZS91
c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS13b3JsZC1leGNsdWRl
LmluYwojICAgICAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0
YXRpYy1saWJzLmluYwojICAgICAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmMKIyAgICAgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmMKIyAgIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIGluY2x1ZGVzOgojICAgICAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYwojICAg
ICAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtdmVyc2lv
bnMuaW5jCiMgICAgIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVm
YXVsdC1kaXN0cm92YXJzLmluYwojICAgICAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYwojICAgICAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYwojICAgICAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMKIyAgICAgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jCiMgICAg
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvaW5pdC1tYW5hZ2VyLW5v
bmUuaW5jCiMgICAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZgoj
ICAgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mCiMgICAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL3Nhbml0eS5jb25mCiMgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nl
cy9iYXNlLmJiY2xhc3MgaW5jbHVkZXM6CiMgICAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2Vz
L3BhdGNoLmJiY2xhc3MgaW5jbHVkZXM6CiMgICAgIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNz
ZXMvdGVybWluYWwuYmJjbGFzcwojICAgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zdGFn
aW5nLmJiY2xhc3MKIyAgIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvbWlycm9ycy5iYmNs
YXNzCiMgICAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3V0aWxzLmJiY2xhc3MKIyAgIC9o
b21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvdXRpbGl0eS10YXNrcy5iYmNsYXNzCiMgICAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzCiMgICAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2xvZ2dpbmcuYmJjbGFzcwojIC9ob21lL3VzZXIvcG9reS9t
ZXRhLXBva3kvY2xhc3Nlcy9wb2t5LXNhbml0eS5iYmNsYXNzCiMgL2hvbWUvdXNlci9wb2t5L21l
dGEvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzcwojIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNz
ZXMvcGFja2FnZV9ycG0uYmJjbGFzcyBpbmNsdWRlczoKIyAgIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzIGluY2x1ZGVzOgojICAgICAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jbGFzc2VzL3BhY2thZ2VkYXRhLmJiY2xhc3MKIyAgICAgL2hvbWUvdXNlci9wb2t5L21l
dGEvY2xhc3Nlcy9jaHJwYXRoLmJiY2xhc3MKIyAgICAgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xh
c3Nlcy9wYWNrYWdlX3BrZ2RhdGEuYmJjbGFzcwojICAgICAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
bGFzc2VzL2luc2FuZS5iYmNsYXNzCiMgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9idWls
ZHN0YXRzLmJiY2xhc3MKIyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLW1rbGli
cy5iYmNsYXNzIGluY2x1ZGVzOgojICAgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9saW51
eGxvYWRlci5iYmNsYXNzCiMgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS1wcmVs
aW5rLmJiY2xhc3MKIyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2RlYmlhbi5iYmNsYXNz
CiMgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNzCiMgL2hvbWUv
dXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcwojIC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzCiMgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nl
cy9yZW1vdmUtbGlidG9vbC5iYmNsYXNzCiMgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9i
bGFja2xpc3QuYmJjbGFzcwojIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvc2FuaXR5LmJi
Y2xhc3MKIwojICRBQklFWFRFTlNJT04gWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMjUKIyAgICAgW19kZWZhdWx0dmFsXSAiIgoj
ICAgcG9zdGRvdCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYv
YXJjaC14ODYuaW5jOjIzCiMgICAgICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJF
UycsICdteDMyJywgJ3gzMicsICcnICxkKX0iCiMgICBvdmVycmlkZVtjbGFzcy1uYXRpdmVzZGtd
OnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUtc2RrL3g4Nl82NC5jb25mOjIK
IyAgICAgIiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5z
KCdUVU5FX0ZFQVRVUkVTJywgJ214MzInLCAneDMyJywgJycgLGQpfSIKQUJJRVhURU5TSU9OPSIi
CiMKIyAkQUJJRVhURU5TSU9OX2NsYXNzLW5hdGl2ZXNkawojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmY6MgojICAgICAiIgpBQklFWFRFTlNJ
T05fY2xhc3MtbmF0aXZlc2RrPSIiCiMKIyAkQUxMT1dfRU1QVFkgWzUgb3BlcmF0aW9uc10KIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo2MgojICAg
ICBbZG9jXSAiU3BlY2lmaWVzIGlmIGFuIG91dHB1dCBwYWNrYWdlIHNob3VsZCBzdGlsbCBiZSBw
cm9kdWNlZCBpZiBpdCBpcyBlbXB0eS4iCiMgICBvdmVycmlkZVtleGFtcGxlLWRiZ106c2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjMyOQojICAgICAiMSIKIyAgIG92
ZXJyaWRlW2V4YW1wbGUtZGJnXTpyZW5hbWUgZnJvbSBBTExPV19FTVBUWV8ke1BOfS1kYmcgZGF0
YS5weToxMDQgW2V4cGFuZEtleXNdCiMgICAgICIxIgojICAgb3ZlcnJpZGVbZXhhbXBsZS1kZXZd
OnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMjAKIyAgICAgIjEi
CiMgICBvdmVycmlkZVtleGFtcGxlLWRldl06cmVuYW1lIGZyb20gQUxMT1dfRU1QVFlfJHtQTn0t
ZGV2IGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiMSIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIk5vbmUiCiMKIyAkQUxMT1dfRU1QVFlfZXhhbXBsZS1kYmcgWzIgb3BlcmF0aW9u
c10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMjkKIyAg
ICAgIjEiCiMgICByZW5hbWUgZnJvbSBBTExPV19FTVBUWV8ke1BOfS1kYmcgZGF0YS5weToxMDQg
W2V4cGFuZEtleXNdCiMgICAgICIxIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiMSIKQUxM
T1dfRU1QVFlfZXhhbXBsZS1kYmc9IjEiCiMKIyAkQUxMT1dfRU1QVFlfZXhhbXBsZS1kZXYgWzIg
b3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZjozMjAKIyAgICAgIjEiCiMgICByZW5hbWUgZnJvbSBBTExPV19FTVBUWV8ke1BOfS1kZXYgZGF0
YS5weToxMDQgW2V4cGFuZEtleXNdCiMgICAgICIxIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiMSIKQUxMT1dfRU1QVFlfZXhhbXBsZS1kZXY9IjEiCiMKIyAkQUxMX01VTFRJTElCX1BBQ0tB
R0VfQVJDSFMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJj
bGFzczo1MwojICAgICAiJHtAYWxsX211bHRpbGliX3R1bmVfdmFsdWVzKGQsICdQQUNLQUdFX0FS
Q0hTJyl9IgpBTExfTVVMVElMSUJfUEFDS0FHRV9BUkNIUz0iYWxsIGFueSBub2FyY2ggeDg2XzY0
IGNvcmUyLTY0IHFlbXV4ODZfNjQiCiMKIyAkQUxMX1FBCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczo0NgojICAgICAiJHtXQVJOX1FBfSAke0VSUk9S
X1FBfSIKQUxMX1FBPSIgICAgbGliZGlyIHhvcmctZHJpdmVyLWFiaSAgICAgICAgICAgICB0ZXh0
cmVsICBpbmNvbXBhdGlibGUtbGljZW5zZSBmaWxlcy1pbnZhbGlkICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbmZvZGlyIGJ1aWxkLWRlcHMgc3JjLXVyaS1iYWQgICAgICAgICAgICAgIHN5
bWxpbmstdG8tc3lzcm9vdCBtdWx0aWxpYiAgICAgICAgICAgICBpbnZhbGlkLXBhY2thZ2Vjb25m
aWcgaG9zdC11c2VyLWNvbnRhbWluYXRlZCB1cHBlcmNhc2UtcG4gcGF0Y2gtZnV6eiAgICAgICAg
ICAgICAgZGV2LXNvIGRlYnVnLWRlcHMgZGV2LWRlcHMgZGVidWctZmlsZXMgYXJjaCBwa2djb25m
aWcgbGEgICAgICAgICAgICAgcGVybXMgZGVwLWNtcCBwa2d2YXJjaGVjayBwZXJtLWNvbmZpZyBw
ZXJtLWxpbmUgcGVybS1saW5rICAgICAgICAgICAgIHNwbGl0LXN0cmlwIHBhY2thZ2VzLWxpc3Qg
cGtndi11bmRlZmluZWQgdmFyLXVuZGVmaW5lZCAgICAgICAgICAgICB2ZXJzaW9uLWdvaW5nLWJh
Y2t3YXJkcyBleHBhbmRlZC1kIGludmFsaWQtY2hhcnMgICAgICAgICAgICAgbGljZW5zZS1jaGVj
a3N1bSBkZXYtZWxmIGZpbGUtcmRlcHMgY29uZmlndXJlLXVuc2FmZSAgICAgICAgICAgICBjb25m
aWd1cmUtZ2V0dGV4dCBwZXJsbG9jYWxwb2QgICAgICAgICAgICAgIGFscmVhZHktc3RyaXBwZWQg
Y29tcGlsZS1ob3N0LXBhdGggaW5zdGFsbC1ob3N0LXBhdGggICAgICAgICAgICAgICAgICAgICBp
bnN0YWxsZWQtdnMtc2hpcHBlZCBsZGZsYWdzIHBuLW92ZXJyaWRlcyBycGF0aHMgc3RhdGljZGV2
ICAgICAgICAgICAgICAgICAgICAgdW5rbm93bi1jb25maWd1cmUtb3B0aW9uIHVzZWxlc3MtcnBh
dGhzIgojCiMgJEFMVEVSTkFUSVZFCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6NjMKIyAgICAgW2RvY10gIkxpc3RzIGNvbW1hbmRzIGluIGEgcGFj
a2FnZSB0aGF0IG5lZWQgYW4gYWx0ZXJuYXRpdmUgYmluYXJ5IG5hbWluZyBzY2hlbWUuIgojCiMg
JEFMVEVSTkFUSVZFX0xJTktfTkFNRQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mOjY0CiMgICAgIFtkb2NdICJVc2VkIGJ5IHRoZSBhbHRlcm5hdGl2
ZXMgc3lzdGVtIHRvIG1hcCBkdXBsaWNhdGVkIGNvbW1hbmRzIHRvIGFjdHVhbCBsb2NhdGlvbnMu
IgojCiMgJEFMVEVSTkFUSVZFX1BSSU9SSVRZCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NjUKIyAgICAgW2RvY10gIlVzZWQgYnkgdGhlIGFsdGVy
bmF0aXZlcyBzeXN0ZW0gdG8gY3JlYXRlIGRlZmF1bHQgcHJpb3JpdGllcyBmb3IgZHVwbGljYXRl
ZCBjb21tYW5kcy4iCiMKIyAkQUxURVJOQVRJVkVfVEFSR0VUCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NjYKIyAgICAgW2RvY10gIlVzZWQgYnkg
dGhlIGFsdGVybmF0aXZlcyBzeXN0ZW0gdG8gY3JlYXRlIGRlZmF1bHQgbGluayBsb2NhdGlvbnMg
Zm9yIGR1cGxpY2F0ZWQgY29tbWFuZHMuIgojCiMgJEFQQUNIRV9NSVJST1IKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MzUKIyAgICAgImh0dHBzOi8vYXJj
aGl2ZS5hcGFjaGUub3JnL2Rpc3QiCkFQQUNIRV9NSVJST1I9Imh0dHBzOi8vYXJjaGl2ZS5hcGFj
aGUub3JnL2Rpc3QiCiMKIyAkQVIgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUyNAojICAgICBbZXhwb3J0XSAiMSIKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MjQKIyAgICAgIiR7
SE9TVF9QUkVGSVh9Z2NjLWFyIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtIT1NUX1BS
RUZJWH1nY2MtYXIiCmV4cG9ydCBBUj0ieDg2XzY0LXBva3ktbGludXgtZ2NjLWFyIgojCiMgJEFS
Q0hfREVGQVVMVF9LRVJORUxJTUFHRVRZUEUgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6
NDEKIyAgICAgInpJbWFnZSIKIyAgIG92ZXJyaWRlW3g4Nl06c2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzo0MgojICAgICAi
YnpJbWFnZSIKIyAgIG92ZXJyaWRlW3g4Ni02NF06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzo0MwojICAgICAiYnpJbWFn
ZSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImJ6SW1hZ2UiCkFSQ0hfREVGQVVMVF9LRVJO
RUxJTUFHRVRZUEU9ImJ6SW1hZ2UiCiMKIyAkQVJDSF9ERUZBVUxUX0tFUk5FTElNQUdFVFlQRV94
ODYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtZGlzdHJvdmFycy5pbmM6NDIKIyAgICAgImJ6SW1hZ2UiCkFSQ0hfREVGQVVMVF9LRVJORUxJ
TUFHRVRZUEVfeDg2PSJiekltYWdlIgojCiMgJEFSQ0hfREVGQVVMVF9LRVJORUxJTUFHRVRZUEVf
eDg2LTY0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9k
ZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjQzCiMgICAgICJiekltYWdlIgpBUkNIX0RFRkFVTFRfS0VS
TkVMSU1BR0VUWVBFX3g4Ni02ND0iYnpJbWFnZSIKIwojICRBUyBbMiBvcGVyYXRpb25zXQojICAg
ZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTI1CiMgICAg
IFtleHBvcnRdICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjUyNQojICAgICAiJHtIT1NUX1BSRUZJWH1hcyAke0hPU1RfQVNfQVJDSH0iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIke0hPU1RfUFJFRklYfWFzICR7SE9TVF9BU19BUkNIfSIKZXhw
b3J0IEFTPSJ4ODZfNjQtcG9reS1saW51eC1hcyAgIgojCiMgJEFTTkVFREVECiMgICBzZXQ/IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU5NQojICAgICAiLVdsLC0tYXMt
bmVlZGVkIgpBU05FRURFRD0iLVdsLC0tYXMtbmVlZGVkIgojCiMgJEFTU1VNRV9QUk9WSURFRCBb
MiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjE5NQojICAgICAiICAgIGJ6aXAyLW5hdGl2ZSAgICAgY2hycGF0aC1uYXRpdmUgICAgIGZp
bGUtbmF0aXZlICAgICBmaW5kdXRpbHMtbmF0aXZlICAgICBnYXdrLW5hdGl2ZSAgICAgZ2l0LW5h
dGl2ZSAgICAgZ3JlcC1uYXRpdmUgICAgIGRpZmZzdGF0LW5hdGl2ZSAgICAgcGF0Y2gtbmF0aXZl
ICAgICBsaWJnY2MtbmF0aXZlICAgICBob3N0cGVybC1ydW50aW1lLW5hdGl2ZSAgICAgaG9zdHB5
dGhvbi1ydW50aW1lLW5hdGl2ZSAgICAgdGFyLW5hdGl2ZSAgICAgdmlydHVhbC9saWJpbnRsLW5h
dGl2ZSAgICAgdmlydHVhbC9saWJpY29udi1uYXRpdmUgICAgIHZpcnR1YWwvY3J5cHQtbmF0aXZl
ICAgICB0ZXhpbmZvLW5hdGl2ZSAgICAgYmFzaC1uYXRpdmUgICAgIHNlZC1uYXRpdmUgICAgIHdn
ZXQtbmF0aXZlICAgICAiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6NjcKIyAgICAgW2RvY10gIkxpc3Qgb2YgcGFja2FnZXMgKHJlY2lwZXMgYWN0
dWFsbHkpIHRoYXQgYXJlIGFzc3VtZWQgdG8gYmUgaW1wbGljaXRseSBhdmFpbGFibGUuIEJpdEJh
a2UgZG9lcyBub3QgYnVpbGQgdGhlc2UgcGFja2FnZXMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiICAgIGJ6aXAyLW5hdGl2ZSAgICAgY2hycGF0aC1uYXRpdmUgICAgIGZpbGUtbmF0aXZl
ICAgICBmaW5kdXRpbHMtbmF0aXZlICAgICBnYXdrLW5hdGl2ZSAgICAgZ2l0LW5hdGl2ZSAgICAg
Z3JlcC1uYXRpdmUgICAgIGRpZmZzdGF0LW5hdGl2ZSAgICAgcGF0Y2gtbmF0aXZlICAgICBsaWJn
Y2MtbmF0aXZlICAgICBob3N0cGVybC1ydW50aW1lLW5hdGl2ZSAgICAgaG9zdHB5dGhvbi1ydW50
aW1lLW5hdGl2ZSAgICAgdGFyLW5hdGl2ZSAgICAgdmlydHVhbC9saWJpbnRsLW5hdGl2ZSAgICAg
dmlydHVhbC9saWJpY29udi1uYXRpdmUgICAgIHZpcnR1YWwvY3J5cHQtbmF0aXZlICAgICB0ZXhp
bmZvLW5hdGl2ZSAgICAgYmFzaC1uYXRpdmUgICAgIHNlZC1uYXRpdmUgICAgIHdnZXQtbmF0aXZl
ICAgICAiCkFTU1VNRV9QUk9WSURFRD0iICAgIGJ6aXAyLW5hdGl2ZSAgICAgY2hycGF0aC1uYXRp
dmUgICAgIGZpbGUtbmF0aXZlICAgICBmaW5kdXRpbHMtbmF0aXZlICAgICBnYXdrLW5hdGl2ZSAg
ICAgZ2l0LW5hdGl2ZSAgICAgZ3JlcC1uYXRpdmUgICAgIGRpZmZzdGF0LW5hdGl2ZSAgICAgcGF0
Y2gtbmF0aXZlICAgICBsaWJnY2MtbmF0aXZlICAgICBob3N0cGVybC1ydW50aW1lLW5hdGl2ZSAg
ICAgaG9zdHB5dGhvbi1ydW50aW1lLW5hdGl2ZSAgICAgdGFyLW5hdGl2ZSAgICAgdmlydHVhbC9s
aWJpbnRsLW5hdGl2ZSAgICAgdmlydHVhbC9saWJpY29udi1uYXRpdmUgICAgIHZpcnR1YWwvY3J5
cHQtbmF0aXZlICAgICB0ZXhpbmZvLW5hdGl2ZSAgICAgYmFzaC1uYXRpdmUgICAgIHNlZC1uYXRp
dmUgICAgIHdnZXQtbmF0aXZlICAgICAiCiMKIyAkQVNTVU1FX1NITElCUwojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjY4CiMgICAgIFtkb2NdICJM
aXN0IG9mIHNobGliOnBhY2thZ2VbX3ZlcnNpb25dIG1hcHBpbmdzLiBVc2VmdWwgZm9yIGxpYiBw
YWNrYWdlcyBpbiBBU1NVTUVfUFJPVklERUQsIGZvciB3aGljaCBhdXRvbWF0aWMgc2hsaWIgZGVw
ZW5kZW5jeSB0cmFja2luZyBkb2VzIG5vdCB3b3JrLiIKIwojICRBVVRIT1IKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo2OQojICAgICBbZG9jXSAi
RW1haWwgYWRkcmVzcyB1c2VkIHRvIGNvbnRhY3QgdGhlIG9yaWdpbmFsIGF1dGhvcihzKSBpbiBv
cmRlciB0byBzZW5kIHBhdGNoZXMgYW5kIGZvcndhcmQgYnVncy4iCiMKIyAkQVVUT1JFViBbMyBv
cGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjY3NQojICAgICAiJHtAYmIuZmV0Y2gyLmdldF9hdXRvcmV2KGQpfSIKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NzYKIyAgICAgW3ZhcmRlcHZhbHVlXSAi
JHtTUkNQVn0iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6NzEKIyAgICAgW2RvY10gIldoZW4gU1JDUkVWIGlzIHNldCB0byB0aGUgdmFsdWUgb2Yg
dGhpcyB2YXJpYWJsZSwgaXQgc3BlY2lmaWVzIHRvIHVzZSB0aGUgbGF0ZXN0IHNvdXJjZSByZXZp
c2lvbiBpbiB0aGUgcmVwb3NpdG9yeS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0Bi
Yi5mZXRjaDIuZ2V0X2F1dG9yZXYoZCl9IgpBVVRPUkVWPSJBVVRPSU5DIgojCiMgJEFVVE9fTElC
TkFNRV9QS0dTCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9kZWJpYW4uYmJj
bGFzczoxMgojICAgICAiJHtQQUNLQUdFU30iCkFVVE9fTElCTkFNRV9QS0dTPSJleGFtcGxlLXNy
YyBleGFtcGxlLWRiZyBleGFtcGxlLXN0YXRpY2RldiBleGFtcGxlLWRldiBleGFtcGxlLWRvYyBl
eGFtcGxlLWxvY2FsZSAgZXhhbXBsZSIKIwojICRBVVRPX1NZU0xJTlVYTUVOVQojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjcwCiMgICAgIFtkb2Nd
ICJFbmFibGVzIGNyZWF0aW5nIGFuIGF1dG9tYXRpYyBtZW51IGZvciB0aGUgc3lzbGludXggYm9v
dGxvYWRlci4iCiMKIyAkQVZBSUxUVU5FUyBbOCBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MzgK
IyAgICAgIng4NiIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
aW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjQ0CiMgICAgICJ4ODYtNjQiCiMgICBhcHBlbmQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo1
MAojICAgICAieDg2LTY0LXgzMiIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L21hY2hpbmUvaW5jbHVkZS90dW5lLWk1ODYuaW5jOjEwCiMgICAgICJpNTg2IgojICAgYXBwZW5k
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTY4Ni5pbmM6
MjMKIyAgICAgImk2ODYiCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNo
aW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5pbmM6MTkKIyAgICAgImNvcmUyLTMyIgojICAgYXBwZW5k
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5j
OjI2CiMgICAgICJjb3JlMi02NCIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcmUyLmluYzozMwojICAgICAiY29yZTItNjQteDMyIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIHg4NiB4ODYtNjQgeDg2LTY0LXgzMiBpNTg2IGk2
ODYgY29yZTItMzIgY29yZTItNjQgY29yZTItNjQteDMyIgpBVkFJTFRVTkVTPSIgeDg2IHg4Ni02
NCB4ODYtNjQteDMyIGk1ODYgaTY4NiBjb3JlMi0zMiBjb3JlMi02NCBjb3JlMi02NC14MzIiCiMK
IyAkQiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjM3MgojICAgICAiJHtTfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjo3NQojICAgICBbZG9jXSAiVGhlIEJ1aWxkIERpcmVjdG9y
eS4gVGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gcGxhY2VzIGdlbmVyYXRlZCBvYmplY3Rz
IGludG8gdGhlIEJ1aWxkIERpcmVjdG9yeSBkdXJpbmcgYSByZWNpcGUncyBidWlsZCBwcm9jZXNz
LiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7U30iCkI9Ii9ob21lL3VzZXIvcG9reS9i
dWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL2V4YW1wbGUt
MC4xIgojCiMgJEJBRF9SRUNPTU1FTkRBVElPTlMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo3NgojICAgICBbZG9jXSAi
QSBsaXN0IG9mIHBhY2thZ2VzIG5vdCB0byBpbnN0YWxsIGRlc3BpdGUgYmVpbmcgcmVjb21tZW5k
ZWQgYnkgYSByZWNpcGUuIFN1cHBvcnQgZm9yIHRoaXMgdmFyaWFibGUgZXhpc3RzIG9ubHkgd2hl
biB1c2luZyB0aGUgSVBLIG9yIFJQTSBwYWNrYWdpbmcgYmFja2VuZHMuIgojICAgc2V0PyAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo4NDAKIyAgICAgIiIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiIKQkFEX1JFQ09NTUVOREFUSU9OUz0iIgojCiMgJEJBU0VERVBF
TkRTIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9i
YXNlLmJiY2xhc3M6NzYKIyAgICAgIiIKIyAgIG92ZXJyaWRlW2NsYXNzLXRhcmdldF06c2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzOjc3CiMgICAgICIke0BiYXNl
X2RlcF9wcmVwZW5kKGQpfSIKIyAgIG92ZXJyaWRlW2NsYXNzLW5hdGl2ZXNka106c2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzOjc4CiMgICAgICIke0BiYXNlX2Rl
cF9wcmVwZW5kKGQpfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QGJhc2VfZGVwX3By
ZXBlbmQoZCl9IgpCQVNFREVQRU5EUz0idmlydHVhbC94ODZfNjQtcG9reS1saW51eC1nY2Mgdmly
dHVhbC94ODZfNjQtcG9reS1saW51eC1jb21waWxlcmxpYnMgdmlydHVhbC9saWJjIgojCiMgJEJB
U0VERVBFTkRTX2NsYXNzLW5hdGl2ZXNkawojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Ns
YXNzZXMvYmFzZS5iYmNsYXNzOjc4CiMgICAgICIke0BiYXNlX2RlcF9wcmVwZW5kKGQpfSIKQkFT
RURFUEVORFNfY2xhc3MtbmF0aXZlc2RrPSJ2aXJ0dWFsL3g4Nl82NC1wb2t5LWxpbnV4LWdjYyB2
aXJ0dWFsL3g4Nl82NC1wb2t5LWxpbnV4LWNvbXBpbGVybGlicyB2aXJ0dWFsL2xpYmMiCiMKIyAk
QkFTRURFUEVORFNfY2xhc3MtdGFyZ2V0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xh
c3Nlcy9iYXNlLmJiY2xhc3M6NzcKIyAgICAgIiR7QGJhc2VfZGVwX3ByZXBlbmQoZCl9IgpCQVNF
REVQRU5EU19jbGFzcy10YXJnZXQ9InZpcnR1YWwveDg2XzY0LXBva3ktbGludXgtZ2NjIHZpcnR1
YWwveDg2XzY0LXBva3ktbGludXgtY29tcGlsZXJsaWJzIHZpcnR1YWwvbGliYyIKIwojICRCQVNF
TElCIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6MTIKIyAgICAgImxpYiIKIyAgIG92ZXJyaWRlW3Bvd2VycGM2NF06c2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEzCiMgICAgICJsaWI2NCIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgImxpYiIKQkFTRUxJQj0ibGliIgojCiMgJEJBU0VMSUJfcG93
ZXJwYzY0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTMK
IyAgICAgImxpYjY0IgpCQVNFTElCX3Bvd2VycGM2ND0ibGliNjQiCiMKIyAkQkFTRV9ERUZBVUxU
X0RFUFMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzczo3
NAojICAgICAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIHZpcnR1YWwvJHtUQVJHRVRfUFJF
RklYfWNvbXBpbGVybGlicyB2aXJ0dWFsL2xpYmMiCkJBU0VfREVGQVVMVF9ERVBTPSJ2aXJ0dWFs
L3g4Nl82NC1wb2t5LWxpbnV4LWdjYyB2aXJ0dWFsL3g4Nl82NC1wb2t5LWxpbnV4LWNvbXBpbGVy
bGlicyB2aXJ0dWFsL2xpYmMiCiMKIyAkQkFTRV9MSUJfdHVuZS1jb3JlMi0zMgojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jOjIx
CiMgICAgICJsaWIiCkJBU0VfTElCX3R1bmUtY29yZTItMzI9ImxpYiIKIwojICRCQVNFX0xJQl90
dW5lLWNvcmUyLTY0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2lu
Y2x1ZGUvdHVuZS1jb3JlMi5pbmM6MjgKIyAgICAgImxpYjY0IgpCQVNFX0xJQl90dW5lLWNvcmUy
LTY0PSJsaWI2NCIKIwojICRCQVNFX0xJQl90dW5lLWNvcmUyLTY0LXgzMgojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jOjM1CiMg
ICAgICJsaWJ4MzIiCkJBU0VfTElCX3R1bmUtY29yZTItNjQteDMyPSJsaWJ4MzIiCiMKIyAkQkFT
RV9MSUJfdHVuZS1pNTg2CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5l
L2luY2x1ZGUvdHVuZS1pNTg2LmluYzoxMgojICAgICAibGliIgpCQVNFX0xJQl90dW5lLWk1ODY9
ImxpYiIKIwojICRCQVNFX0xJQl90dW5lLWk2ODYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk2ODYuaW5jOjI1CiMgICAgICJsaWIiCkJBU0Vf
TElCX3R1bmUtaTY4Nj0ibGliIgojCiMgJEJBU0VfTElCX3R1bmUteDg2CiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo0MAoj
ICAgICAibGliIgpCQVNFX0xJQl90dW5lLXg4Nj0ibGliIgojCiMgJEJBU0VfTElCX3R1bmUteDg2
LTY0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2
L2FyY2gteDg2LmluYzo0NgojICAgICAibGliNjQiCkJBU0VfTElCX3R1bmUteDg2LTY0PSJsaWI2
NCIKIwojICRCQVNFX0xJQl90dW5lLXg4Ni02NC14MzIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjUyCiMgICAgICJsaWJ4
MzIiCkJBU0VfTElCX3R1bmUteDg2LTY0LXgzMj0ibGlieDMyIgojCiMgJEJBU0VfV09SS0RJUgoj
ICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNjcKIyAgICAg
IiR7VE1QRElSfS93b3JrIgpCQVNFX1dPUktESVI9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAv
d29yayIKIwojICRCQkNMQVNTRVhURU5ECiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6ODIKIyAgICAgW2RvY10gIkFsbG93cyB5b3UgdG8gZXh0ZW5k
IGEgcmVjaXBlIHNvIHRoYXQgaXQgYnVpbGRzIHZhcmlhbnRzIG9mIHRoZSBzb2Z0d2FyZS4gQ29t
bW9uIHZhcmlhbnRzIGZvciByZWNpcGVzIGFyZSAnbmF0aXZlJywgJ2Nyb3NzJywgJ25hdGl2ZXNk
aycgYW5kIG11bHRpbGlicy4iCiMKIyAkQkJGSUxFUyBbMTAgb3BlcmF0aW9uc10KIyAgIHNldD8g
L2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvYmJsYXllcnMuY29uZjo2CiMgICAgICIiCiMgICBh
cHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9sYXllci5jb25mOjQKIyAgICAgIiR7TEFZ
RVJESVJ9L3JlY2lwZXMtKi8qLyouYmIiCiMgICBzZXQgZGF0YV9zbWFydC5weTo5NjYgW2V4cGFu
ZFZhcnJlZl0KIyAgICAgIiAvaG9tZS91c2VyL3Bva3kvbWV0YS9yZWNpcGVzLSovKi8qLmJiIgoj
ICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25mOjYKIyAg
ICAgIiR7TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgICAgICAgICAgICAgJHtMQVlFUkRJUn0v
cmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKIyAgIHNldCBkYXRhX3NtYXJ0LnB5Ojk2NiBbZXhwYW5k
VmFycmVmXQojICAgICAiIC9ob21lL3VzZXIvcG9reS9tZXRhL3JlY2lwZXMtKi8qLyouYmIgL2hv
bWUvdXNlci9wb2t5L21ldGEtcG9reS9yZWNpcGVzLSovKi8qLmJiICAgICAgICAgICAgIC9ob21l
L3VzZXIvcG9reS9tZXRhLXBva3kvcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKIyAgIGFwcGVuZCAv
aG9tZS91c2VyL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9sYXllci5jb25mOjYKIyAgICAgIiR7
TEFZRVJESVJ9L3JlY2lwZXMtKi8qLyouYmIgICAgICAgICAgICAgJHtMQVlFUkRJUn0vcmVjaXBl
cy0qLyovKi5iYmFwcGVuZCIKIyAgIHNldCBkYXRhX3NtYXJ0LnB5Ojk2NiBbZXhwYW5kVmFycmVm
XQojICAgICAiIC9ob21lL3VzZXIvcG9reS9tZXRhL3JlY2lwZXMtKi8qLyouYmIgL2hvbWUvdXNl
ci9wb2t5L21ldGEtcG9reS9yZWNpcGVzLSovKi8qLmJiICAgICAgICAgICAgIC9ob21lL3VzZXIv
cG9reS9tZXRhLXBva3kvcmVjaXBlcy0qLyovKi5iYmFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0
YS15b2N0by1ic3AvcmVjaXBlcy0qLyovKi5iYiAgICAgICAgICAgICAvaG9tZS91c2VyL3Bva3kv
bWV0YS15b2N0by1ic3AvcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKIyAgIGFwcGVuZCAvaG9tZS91
c2VyL3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyL2NvbmYvbGF5ZXIuY29uZjo2CiMgICAgICIke0xB
WUVSRElSfS9yZWNpcGVzLSovKi8qLmJiICAgICAgICAgICAgICR7TEFZRVJESVJ9L3JlY2lwZXMt
Ki8qLyouYmJhcHBlbmQiCiMgICBzZXQgZGF0YV9zbWFydC5weTo5NjYgW2V4cGFuZFZhcnJlZl0K
IyAgICAgIiAvaG9tZS91c2VyL3Bva3kvbWV0YS9yZWNpcGVzLSovKi8qLmJiIC9ob21lL3VzZXIv
cG9reS9tZXRhLXBva3kvcmVjaXBlcy0qLyovKi5iYiAgICAgICAgICAgICAvaG9tZS91c2VyL3Bv
a3kvbWV0YS1wb2t5L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEt
eW9jdG8tYnNwL3JlY2lwZXMtKi8qLyouYmIgICAgICAgICAgICAgL2hvbWUvdXNlci9wb2t5L21l
dGEteW9jdG8tYnNwL3JlY2lwZXMtKi8qLyouYmJhcHBlbmQgL2hvbWUvdXNlci9wb2t5L2J1aWxk
L2N1c3RvbV9sYXllci9yZWNpcGVzLSovKi8qLmJiICAgICAgICAgICAgIC9ob21lL3VzZXIvcG9r
eS9idWlsZC9jdXN0b21fbGF5ZXIvcmVjaXBlcy0qLyovKi5iYmFwcGVuZCIKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo4NgojICAgICBbZG9jXSAi
TGlzdCBvZiByZWNpcGUgZmlsZXMgdXNlZCBieSBCaXRCYWtlIHRvIGJ1aWxkIHNvZnR3YXJlLiIK
IyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiAvaG9tZS91c2VyL3Bva3kvbWV0YS9yZWNpcGVz
LSovKi8qLmJiIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvcmVjaXBlcy0qLyovKi5iYiAgICAg
ICAgICAgICAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L3JlY2lwZXMtKi8qLyouYmJhcHBlbmQg
L2hvbWUvdXNlci9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMtKi8qLyouYmIgICAgICAgICAg
ICAgL2hvbWUvdXNlci9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMtKi8qLyouYmJhcHBlbmQg
L2hvbWUvdXNlci9wb2t5L2J1aWxkL2N1c3RvbV9sYXllci9yZWNpcGVzLSovKi8qLmJiICAgICAg
ICAgICAgIC9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIvcmVjaXBlcy0qLyovKi5i
YmFwcGVuZCIKQkJGSUxFUz0iIC9ob21lL3VzZXIvcG9reS9tZXRhL3JlY2lwZXMtKi8qLyouYmIg
L2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9yZWNpcGVzLSovKi8qLmJiICAgICAgICAgICAgIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvcmVjaXBlcy0qLyovKi5iYmFwcGVuZCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy0qLyovKi5iYiAgICAgICAgICAgICAvaG9tZS91
c2VyL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy0qLyovKi5iYmFwcGVuZCAvaG9tZS91c2Vy
L3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyL3JlY2lwZXMtKi8qLyouYmIgICAgICAgICAgICAgL2hv
bWUvdXNlci9wb2t5L2J1aWxkL2N1c3RvbV9sYXllci9yZWNpcGVzLSovKi8qLmJiYXBwZW5kIgoj
CiMgJEJCRklMRV9DT0xMRUNUSU9OUyBbNSBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZjo2CiMgICAgICJjb3JlIgojICAgYXBwZW5kIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25mOjgKIyAgICAgInlvY3RvIgoj
ICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmY6
OAojICAgICAieW9jdG9ic3AiCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2N1c3Rv
bV9sYXllci9jb25mL2xheWVyLmNvbmY6OAojICAgICAiY3VzdG9tX2xheWVyIgojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjgzCiMgICAgIFtkb2Nd
ICJMaXN0cyB0aGUgbmFtZXMgb2YgY29uZmlndXJlZCBsYXllcnMuIFRoZXNlIG5hbWVzIGFyZSB1
c2VkIHRvIGZpbmQgdGhlIG90aGVyIEJCRklMRV8qIHZhcmlhYmxlcy4iCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICIgY29yZSB5b2N0byB5b2N0b2JzcCBjdXN0b21fbGF5ZXIiCkJCRklMRV9D
T0xMRUNUSU9OUz0iIGNvcmUgeW9jdG8geW9jdG9ic3AgY3VzdG9tX2xheWVyIgojCiMgJEJCRklM
RV9QQVRURVJOIFs5IG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6ODQKIyAgICAgW2RvY10gIlZhcmlhYmxlIHRoYXQgZXhwYW5k
cyB0byBtYXRjaCBmaWxlcyBmcm9tIEJCRklMRVMgaW4gYSBwYXJ0aWN1bGFyIGxheWVyLiBUaGlz
IHZhcmlhYmxlIGlzIHVzZWQgaW4gdGhlIGxheWVyLmNvbmYgZmlsZSBhbmQgbXVzdCBiZSBzdWZm
aXhlZCB3aXRoIHRoZSBuYW1lIG9mIGEgbGF5ZXIuIgojICAgb3ZlcnJpZGVbY29yZV06c2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZjo3CiMgICAgICJeJHtMQVlFUkRJUn0v
IgojICAgb3ZlcnJpZGVbY29yZV06c2V0IGRhdGFfc21hcnQucHk6OTY2IFtleHBhbmRWYXJyZWZd
CiMgICAgICJeL2hvbWUvdXNlci9wb2t5L21ldGEvIgojICAgb3ZlcnJpZGVbeW9jdG9dOnNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZjo5CiMgICAgICJeJHtMQVlF
UkRJUn0vIgojICAgb3ZlcnJpZGVbeW9jdG9dOnNldCBkYXRhX3NtYXJ0LnB5Ojk2NiBbZXhwYW5k
VmFycmVmXQojICAgICAiXi9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvIgojICAgb3ZlcnJpZGVb
eW9jdG9ic3BdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9sYXllci5j
b25mOjkKIyAgICAgIl4ke0xBWUVSRElSfS8iCiMgICBvdmVycmlkZVt5b2N0b2JzcF06c2V0IGRh
dGFfc21hcnQucHk6OTY2IFtleHBhbmRWYXJyZWZdCiMgICAgICJeL2hvbWUvdXNlci9wb2t5L21l
dGEteW9jdG8tYnNwLyIKIyAgIG92ZXJyaWRlW2N1c3RvbV9sYXllcl06c2V0IC9ob21lL3VzZXIv
cG9reS9idWlsZC9jdXN0b21fbGF5ZXIvY29uZi9sYXllci5jb25mOjkKIyAgICAgIl4ke0xBWUVS
RElSfS8iCiMgICBvdmVycmlkZVtjdXN0b21fbGF5ZXJdOnNldCBkYXRhX3NtYXJ0LnB5Ojk2NiBb
ZXhwYW5kVmFycmVmXQojICAgICAiXi9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIv
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiTm9uZSIKIwojICRCQkZJTEVfUEFUVEVSTl9j
b3JlIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9sYXll
ci5jb25mOjcKIyAgICAgIl4ke0xBWUVSRElSfS8iCiMgICBzZXQgZGF0YV9zbWFydC5weTo5NjYg
W2V4cGFuZFZhcnJlZl0KIyAgICAgIl4vaG9tZS91c2VyL3Bva3kvbWV0YS8iCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICJeL2hvbWUvdXNlci9wb2t5L21ldGEvIgpCQkZJTEVfUEFUVEVSTl9j
b3JlPSJeL2hvbWUvdXNlci9wb2t5L21ldGEvIgojCiMgJEJCRklMRV9QQVRURVJOX2N1c3RvbV9s
YXllciBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21f
bGF5ZXIvY29uZi9sYXllci5jb25mOjkKIyAgICAgIl4ke0xBWUVSRElSfS8iCiMgICBzZXQgZGF0
YV9zbWFydC5weTo5NjYgW2V4cGFuZFZhcnJlZl0KIyAgICAgIl4vaG9tZS91c2VyL3Bva3kvYnVp
bGQvY3VzdG9tX2xheWVyLyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIl4vaG9tZS91c2Vy
L3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyLyIKQkJGSUxFX1BBVFRFUk5fY3VzdG9tX2xheWVyPSJe
L2hvbWUvdXNlci9wb2t5L2J1aWxkL2N1c3RvbV9sYXllci8iCiMKIyAkQkJGSUxFX1BBVFRFUk5f
eW9jdG8gWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2Nv
bmYvbGF5ZXIuY29uZjo5CiMgICAgICJeJHtMQVlFUkRJUn0vIgojICAgc2V0IGRhdGFfc21hcnQu
cHk6OTY2IFtleHBhbmRWYXJyZWZdCiMgICAgICJeL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS8i
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJeL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS8i
CkJCRklMRV9QQVRURVJOX3lvY3RvPSJeL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS8iCiMKIyAk
QkJGSUxFX1BBVFRFUk5feW9jdG9ic3AgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9sYXllci5jb25mOjkKIyAgICAgIl4ke0xBWUVSRElS
fS8iCiMgICBzZXQgZGF0YV9zbWFydC5weTo5NjYgW2V4cGFuZFZhcnJlZl0KIyAgICAgIl4vaG9t
ZS91c2VyL3Bva3kvbWV0YS15b2N0by1ic3AvIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
Xi9ob21lL3VzZXIvcG9reS9tZXRhLXlvY3RvLWJzcC8iCkJCRklMRV9QQVRURVJOX3lvY3RvYnNw
PSJeL2hvbWUvdXNlci9wb2t5L21ldGEteW9jdG8tYnNwLyIKIwojICRCQkZJTEVfUFJJT1JJVFkg
WzUgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjo4NQojICAgICBbZG9jXSAiQXNzaWducyB0aGUgcHJpb3JpdHkgZm9yIHJlY2lw
ZSBmaWxlcyBpbiBlYWNoIGxheWVyLiBTZXR0aW5nIHRoaXMgdmFyaWFibGUgYWxsb3dzIHlvdSB0
byBwcmlvcml0aXplIGEgbGF5ZXIgYWdhaW5zdCBvdGhlciBsYXllcnMgdGhhdCBjb250YWluIHRo
ZSBzYW1lIHJlY2lwZS4iCiMgICBvdmVycmlkZVtjb3JlXTpzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9sYXllci5jb25mOjgKIyAgICAgIjUiCiMgICBvdmVycmlkZVt5b2N0b106c2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25mOjEwCiMgICAgICI1IgojICAg
b3ZlcnJpZGVbeW9jdG9ic3BdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS15b2N0by1ic3AvY29u
Zi9sYXllci5jb25mOjEwCiMgICAgICI1IgojICAgb3ZlcnJpZGVbY3VzdG9tX2xheWVyXTpzZXQg
L2hvbWUvdXNlci9wb2t5L2J1aWxkL2N1c3RvbV9sYXllci9jb25mL2xheWVyLmNvbmY6MTAKIyAg
ICAgIjYiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJOb25lIgojCiMgJEJCRklMRV9QUklP
UklUWV9jb3JlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9sYXllci5jb25mOjgK
IyAgICAgIjUiCkJCRklMRV9QUklPUklUWV9jb3JlPSI1IgojCiMgJEJCRklMRV9QUklPUklUWV9j
dXN0b21fbGF5ZXIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyL2Nv
bmYvbGF5ZXIuY29uZjoxMAojICAgICAiNiIKQkJGSUxFX1BSSU9SSVRZX2N1c3RvbV9sYXllcj0i
NiIKIwojICRCQkZJTEVfUFJJT1JJVFlfeW9jdG8KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS1wb2t5L2NvbmYvbGF5ZXIuY29uZjoxMAojICAgICAiNSIKQkJGSUxFX1BSSU9SSVRZX3lvY3Rv
PSI1IgojCiMgJEJCRklMRV9QUklPUklUWV95b2N0b2JzcAojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhLXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmY6MTAKIyAgICAgIjUiCkJCRklMRV9QUklP
UklUWV95b2N0b2JzcD0iNSIKIwojICRCQklOQ0xVREVEIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQg
Y29va2VyZGF0YS5weTo0MzcgW3BhcnNlQ29uZmlndXJhdGlvbkZpbGVzXQojICAgICAiL2hvbWUv
dXNlci9wb2t5L2J1aWxkL2NvbmYvYmJsYXllcnMuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2xheWVyLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmYg
L2hvbWUvdXNlci9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbGF5ZXIuY29uZiAvaG9tZS91c2Vy
L3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyL2NvbmYvbGF5ZXIuY29uZiAvaG9tZS91c2VyL3Bva3kv
bWV0YS1wb2t5L2NvbmYvYml0YmFrZS5jb25mIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2Jp
dGJha2UuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZiAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2NvbmYvYWJpX3ZlcnNpb24uY29uZiAvaG9tZS91c2VyL3Bva3kv
bWV0YS1wb2t5L2NvbmYvYWJpX3ZlcnNpb24uY29uZiAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29u
Zi9hYmlfdmVyc2lvbi5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYWJpX3ZlcnNpb24u
Y29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2NvbmYvc2l0ZS5jb25mIC9ob21lL3VzZXIv
cG9reS9tZXRhLXBva3kvY29uZi9zaXRlLmNvbmYgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYv
c2l0ZS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvc2l0ZS5jb25mIC9ob21lL3VzZXIv
cG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL3NpdGUuY29uZiAvaG9tZS91c2VyL3Bva3kvYnVpbGQv
Y3VzdG9tX2xheWVyL2NvbmYvc2l0ZS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvY29u
Zi9hdXRvLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2F1dG8uY29uZiAvaG9t
ZS91c2VyL3Bva3kvYnVpbGQvY29uZi9hdXRvLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9hdXRvLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvYXV0by5jb25m
IC9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIvY29uZi9hdXRvLmNvbmYgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9jb25mL2xvY2FsLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEt
cG9reS9jb25mL2xvY2FsLmNvbmYgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvbG9jYWwuY29u
ZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2NvbmYvbXVsdGljb25maWcvZGVmYXVsdC5jb25m
IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9tdWx0aWNvbmZpZy9kZWZhdWx0LmNvbmYg
L2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvbXVsdGljb25maWcvZGVmYXVsdC5jb25mIC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvbXVsdGljb25maWcvZGVmYXVsdC5jb25mIC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZiAvaG9tZS91c2VyL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNvbmYgL2hvbWUvdXNlci9wb2t5
L2J1aWxkL2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21h
Y2hpbmUvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEt
cG9reS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQv
Y29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9t
YWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5l
L2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRh
LXBva3kvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5pbmMgL2hvbWUvdXNlci9wb2t5
L2J1aWxkL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTY4
Ni5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5l
LWk2ODYuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5l
LWk2ODYuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUt
aTY4Ni5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvY29uZi9t
YWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2Nv
bmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2Nv
bmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L21hY2hpbmUvaW5jbHVkZS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2
LmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gt
eDg2LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJj
aC14ODYuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9jb25mL21hY2hpbmUv
aW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9t
YWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29u
Zi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1w
b2t5L2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2Nv
bmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNo
aW5lLXNkay94ODZfNjQuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2NvbmYvZGlzdHJv
L3Bva3kuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29u
ZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1
ZGUvcG9reS13b3JsZC1leGNsdWRlLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYv
ZGlzdHJvL2luY2x1ZGUvcG9reS13b3JsZC1leGNsdWRlLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0
YS1wb2t5L2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5j
IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMt
bGlicy5pbmMgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3Rh
dGljLWxpYnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8t
c3RhdGljLWxpYnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vY29u
Zi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRh
LXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9ob21lL3VzZXIv
cG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmMgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS9z
ZWN1cml0eV9mbGFncy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9p
bmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9kaXN0
cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5
L2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25m
L2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9kZWZhdWx0c2V0dXAuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25m
L2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0
YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jIC9ob21lL3Vz
ZXIvcG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJz
LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRl
L2RlZmF1bHQtdmVyc2lvbnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0
cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNpb25zLmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29u
Zi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNpb25zLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJz
LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVs
dC1kaXN0cm92YXJzLmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9kaXN0cm8vaW5jbHVk
ZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYyAvaG9tZS91c2VyL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jIC9ob21lL3Vz
ZXIvcG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYyAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYyAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZh
dWx0LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNt
b2RlLWRlZmF1bHQuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRl
L3RjbW9kZS1kZWZhdWx0LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL3RjbW9kZS1kZWZhdWx0LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9j
b25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEt
cG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMgL2hvbWUvdXNlci9wb2t5
L2J1aWxkL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYyAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3Mu
aW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS91bmluYXRp
dmUtZmxhZ3MuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRlL3Vu
aW5hdGl2ZS1mbGFncy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS91bmluYXRpdmUtZmxhZ3MuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvaW5pdC1tYW5hZ2VyLW5vbmUuaW5jIC9ob21lL3VzZXIvcG9reS9t
ZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9pbml0LW1hbmFnZXItbm9uZS5pbmMgL2hvbWUv
dXNlci9wb2t5L2J1aWxkL2NvbmYvZGlzdHJvL2luY2x1ZGUvaW5pdC1tYW5hZ2VyLW5vbmUuaW5j
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvaW5pdC1tYW5hZ2VyLW5v
bmUuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYg
L2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2RvY3VtZW50YXRpb24uY29uZiAvaG9tZS91
c2VyL3Bva3kvYnVpbGQvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9jb25m
L2xpY2Vuc2VzLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2xpY2Vuc2VzLmNv
bmYgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvbGljZW5zZXMuY29uZiAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9jb25m
L3Nhbml0eS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9zYW5pdHkuY29uZiAv
aG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9zYW5pdHkuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL3Nhbml0eS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9iYXNl
LmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvYmFzZS5iYmNsYXNzIC9ob21l
L3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRh
LXBva3kvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2Vz
L3BhdGNoLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9wYXRjaC5iYmNsYXNz
IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzIC9ob21l
L3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL3Rlcm1pbmFsLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5
L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kv
Y2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvc3Rh
Z2luZy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNz
IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9taXJyb3JzLmJiY2xhc3MgL2hvbWUv
dXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvbWlycm9ycy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NsYXNzZXMvbWlycm9ycy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xh
c3Nlcy91dGlscy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL3V0aWxzLmJi
Y2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy91dGlscy5iYmNsYXNzIC9ob21lL3Vz
ZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy91dGlsaXR5LXRhc2tzLmJiY2xhc3MgL2hvbWUvdXNl
ci9wb2t5L2J1aWxkL2NsYXNzZXMvdXRpbGl0eS10YXNrcy5iYmNsYXNzIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NsYXNzZXMvdXRpbGl0eS10YXNrcy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRh
LXBva3kvY2xhc3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVpbGQv
Y2xhc3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2Vz
L21ldGFkYXRhX3NjbS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9s
b2dnaW5nLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvbG9nZ2luZy5iYmNs
YXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvbG9nZ2luZy5iYmNsYXNzIC9ob21lL3Vz
ZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wb2t5LXNhbml0eS5iYmNsYXNzIC9ob21lL3VzZXIv
cG9reS9tZXRhLXBva3kvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kv
YnVpbGQvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFz
c2VzL3VuaW5hdGl2ZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9w
YWNrYWdlX3JwbS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL3BhY2thZ2Vf
cnBtLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNs
YXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3MgL2hv
bWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kv
Y2xhc3Nlcy9wYWNrYWdlZGF0YS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2Vz
L3BhY2thZ2VkYXRhLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdl
ZGF0YS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9jaHJwYXRoLmJi
Y2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvY2hycGF0aC5iYmNsYXNzIC9ob21l
L3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvY2hycGF0aC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9t
ZXRhLXBva3kvY2xhc3Nlcy9wYWNrYWdlX3BrZ2RhdGEuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kv
YnVpbGQvY2xhc3Nlcy9wYWNrYWdlX3BrZ2RhdGEuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jbGFzc2VzL3BhY2thZ2VfcGtnZGF0YS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBv
a3kvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9p
bnNhbmUuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNz
IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9idWlsZHN0YXRzLmJiY2xhc3MgL2hv
bWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvYnVpbGRzdGF0cy5iYmNsYXNzIC9ob21lL3VzZXIv
cG9reS9tZXRhL2NsYXNzZXMvYnVpbGRzdGF0cy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRh
LXBva3kvY2xhc3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVpbGQv
Y2xhc3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2Vz
L2ltYWdlLW1rbGlicy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9s
aW51eGxvYWRlci5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL2xpbnV4bG9h
ZGVyLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9saW51eGxvYWRlci5iYmNs
YXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9pbWFnZS1wcmVsaW5rLmJiY2xh
c3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvaW1hZ2UtcHJlbGluay5iYmNsYXNzIC9o
b21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2UtcHJlbGluay5iYmNsYXNzIC9ob21lL3Vz
ZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kv
YnVpbGQvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2Vz
L2RlYmlhbi5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9kZXZzaGVs
bC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL2RldnNoZWxsLmJiY2xhc3Mg
L2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNzIC9ob21lL3VzZXIv
cG9reS9tZXRhLXBva3kvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVp
bGQvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3Nz
dGF0ZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9saWNlbnNlLmJi
Y2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzIC9ob21l
L3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9t
ZXRhLXBva3kvY2xhc3Nlcy9yZW1vdmUtbGlidG9vbC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9i
dWlsZC9jbGFzc2VzL3JlbW92ZS1saWJ0b29sLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y2xhc3Nlcy9yZW1vdmUtbGlidG9vbC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kv
Y2xhc3Nlcy9ibGFja2xpc3QuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9i
bGFja2xpc3QuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2JsYWNrbGlzdC5i
YmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9zYW5pdHkuYmJjbGFzcyAv
aG9tZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9zYW5pdHkuYmJjbGFzcyAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzIgojICAgc2V0IGFzdC5weTozNTMgW2ZpbmFs
aXplXQojICAgICAiL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvYmJsYXllcnMuY29uZiAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9r
eS9jb25mL2xheWVyLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbGF5
ZXIuY29uZiAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyL2NvbmYvbGF5ZXIuY29u
ZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvYml0YmFrZS5jb25mIC9ob21lL3VzZXIv
cG9reS9idWlsZC9jb25mL2JpdGJha2UuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2NvbmYvYWJpX3ZlcnNpb24uY29u
ZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvYWJpX3ZlcnNpb24uY29uZiAvaG9tZS91
c2VyL3Bva3kvYnVpbGQvY29uZi9hYmlfdmVyc2lvbi5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvYWJpX3ZlcnNpb24uY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2NvbmYvc2l0
ZS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9zaXRlLmNvbmYgL2hvbWUvdXNl
ci9wb2t5L2J1aWxkL2NvbmYvc2l0ZS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvc2l0
ZS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL3NpdGUuY29uZiAvaG9t
ZS91c2VyL3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyL2NvbmYvc2l0ZS5jb25mIC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvY29uZi9hdXRvLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9j
b25mL2F1dG8uY29uZiAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9hdXRvLmNvbmYgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9hdXRvLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEteW9jdG8t
YnNwL2NvbmYvYXV0by5jb25mIC9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIvY29u
Zi9hdXRvLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9jb25mL2xvY2FsLmNvbmYgL2hv
bWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2xvY2FsLmNvbmYgL2hvbWUvdXNlci9wb2t5L2J1
aWxkL2NvbmYvbG9jYWwuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2NvbmYvbXVsdGlj
b25maWcvZGVmYXVsdC5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9tdWx0aWNv
bmZpZy9kZWZhdWx0LmNvbmYgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvbXVsdGljb25maWcv
ZGVmYXVsdC5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbXVsdGljb25maWcvZGVmYXVs
dC5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQu
Y29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNv
bmYgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNvbmYgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZiAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL21hY2hpbmUvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMgL2hv
bWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYyAvaG9t
ZS91c2VyL3Bva3kvYnVpbGQvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9tYWNoaW5lL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5p
bmMgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIu
aW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIu
aW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2NvbmYvbWFjaGlu
ZS9pbmNsdWRlL3R1bmUtaTY4Ni5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL21h
Y2hpbmUvaW5jbHVkZS90dW5lLWk2ODYuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL21h
Y2hpbmUvaW5jbHVkZS90dW5lLWk2ODYuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFj
aGluZS9pbmNsdWRlL3R1bmUtaTY4Ni5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNo
aW5lL2luY2x1ZGUvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAvaG9tZS91c2Vy
L3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMgL2hvbWUv
dXNlci9wb2t5L2J1aWxkL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9jb25mL21hY2hpbmUvaW5jbHVkZS94
ODYvYXJjaC14ODYuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9tYWNoaW5lL2lu
Y2x1ZGUveDg2L2FyY2gteDg2LmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9tYWNoaW5l
L2luY2x1ZGUveDg2L2FyY2gteDg2LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hp
bmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFj
aGluZS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIC9ob21lL3VzZXIvcG9r
eS9tZXRhLXBva3kvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYyAvaG9tZS91
c2VyL3Bva3kvYnVpbGQvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYyAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29uZiAvaG9t
ZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYgL2hvbWUv
dXNlci9wb2t5L2J1aWxkL2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2NvbmYvZGlzdHJvL3Bva3kuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2Nv
bmYvZGlzdHJvL3Bva3kuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJv
L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS13b3JsZC1leGNsdWRlLmluYyAvaG9tZS91c2VyL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS13b3JsZC1leGNsdWRlLmluYyAv
aG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUv
bm8tc3RhdGljLWxpYnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8v
aW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBv
a3kvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRp
dmUuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVu
aW5hdGl2ZS5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0
by11bmluYXRpdmUuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vY29u
Zi9kaXN0cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEt
cG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYyAvaG9tZS91c2VyL3Bv
a3kvYnVpbGQvY29uZi9kaXN0cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmMgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmMgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvaG9tZS91
c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIC9ob21lL3Vz
ZXIvcG9reS9idWlsZC9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyAv
aG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92
aWRlcnMuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtcHJvdmlkZXJzLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L2RlZmF1bHQtcHJvdmlkZXJzLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9j
b25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jIC9ob21lL3VzZXIvcG9reS9t
ZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNpb25zLmluYyAvaG9tZS91
c2VyL3Bva3kvYnVpbGQvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNpb25zLmluYyAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtdmVyc2lvbnMu
aW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUv
ZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlz
dHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQv
Y29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJz
LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRh
aW5lcnMuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50
YWluZXJzLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50
YWluZXJzLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9p
bmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYv
ZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9j
b25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMgL2hv
bWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5p
bmMgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJj
LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGli
Yy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVk
ZS91bmluYXRpdmUtZmxhZ3MuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0
cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25m
L2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1mbGFncy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jIC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvaW5pdC1tYW5hZ2VyLW5vbmUuaW5j
IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9pbml0LW1hbmFn
ZXItbm9uZS5pbmMgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvZGlzdHJvL2luY2x1ZGUvaW5p
dC1tYW5hZ2VyLW5vbmUuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvaW5pdC1tYW5hZ2VyLW5vbmUuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2RvY3VtZW50
YXRpb24uY29uZiAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9jb25mL2xpY2Vuc2VzLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9r
eS9jb25mL2xpY2Vuc2VzLmNvbmYgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvbGljZW5zZXMu
Y29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmYgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9jb25mL3Nhbml0eS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kv
Y29uZi9zYW5pdHkuY29uZiAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9zYW5pdHkuY29uZiAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL3Nhbml0eS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRh
LXBva3kvY2xhc3Nlcy9iYXNlLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMv
YmFzZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzIC9ob21lL3VzZXIv
cG9reS9idWlsZC9jbGFzc2VzL3BhdGNoLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xh
c3Nlcy9wYXRjaC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy90ZXJt
aW5hbC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL3Rlcm1pbmFsLmJiY2xh
c3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzIC9ob21lL3Vz
ZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5
L2J1aWxkL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNz
ZXMvc3RhZ2luZy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9taXJy
b3JzLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvbWlycm9ycy5iYmNsYXNz
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvbWlycm9ycy5iYmNsYXNzIC9ob21lL3VzZXIv
cG9reS9tZXRhLXBva3kvY2xhc3Nlcy91dGlscy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWls
ZC9jbGFzc2VzL3V0aWxzLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy91dGls
cy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy91dGlsaXR5LXRhc2tz
LmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvdXRpbGl0eS10YXNrcy5iYmNs
YXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvdXRpbGl0eS10YXNrcy5iYmNsYXNzIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFzcyAvaG9t
ZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFzcyAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9t
ZXRhLXBva3kvY2xhc3Nlcy9sb2dnaW5nLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2Ns
YXNzZXMvbG9nZ2luZy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvbG9nZ2lu
Zy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wb2t5LXNhbml0eS5i
YmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFz
cyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzcyAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3VuaW5hdGl2ZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9t
ZXRhLXBva3kvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWls
ZC9jbGFzc2VzL3BhY2thZ2VfcnBtLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nl
cy9wYWNrYWdlX3JwbS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9w
YWNrYWdlLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvcGFja2FnZS5iYmNs
YXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzIC9ob21lL3Vz
ZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wYWNrYWdlZGF0YS5iYmNsYXNzIC9ob21lL3VzZXIv
cG9reS9idWlsZC9jbGFzc2VzL3BhY2thZ2VkYXRhLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21l
dGEvY2xhc3Nlcy9wYWNrYWdlZGF0YS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kv
Y2xhc3Nlcy9jaHJwYXRoLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvY2hy
cGF0aC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvY2hycGF0aC5iYmNsYXNz
IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wYWNrYWdlX3BrZ2RhdGEuYmJjbGFz
cyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9wYWNrYWdlX3BrZ2RhdGEuYmJjbGFzcyAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfcGtnZGF0YS5iYmNsYXNzIC9ob21l
L3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcyAvaG9tZS91c2VyL3Bv
a3kvYnVpbGQvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFz
c2VzL2luc2FuZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9idWls
ZHN0YXRzLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvYnVpbGRzdGF0cy5i
YmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvYnVpbGRzdGF0cy5iYmNsYXNzIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzcyAvaG9t
ZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzcyAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLW1rbGlicy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9t
ZXRhLXBva3kvY2xhc3Nlcy9saW51eGxvYWRlci5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWls
ZC9jbGFzc2VzL2xpbnV4bG9hZGVyLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nl
cy9saW51eGxvYWRlci5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9p
bWFnZS1wcmVsaW5rLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvaW1hZ2Ut
cHJlbGluay5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2UtcHJlbGlu
ay5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9kZWJpYW4uYmJjbGFz
cyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzcyAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jbGFzc2VzL2RlYmlhbi5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBv
a3kvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2Vz
L2RldnNoZWxsLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9kZXZzaGVsbC5i
YmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyAv
aG9tZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kv
Y2xhc3Nlcy9saWNlbnNlLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvbGlj
ZW5zZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNz
IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9yZW1vdmUtbGlidG9vbC5iYmNsYXNz
IC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL3JlbW92ZS1saWJ0b29sLmJiY2xhc3MgL2hv
bWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9yZW1vdmUtbGlidG9vbC5iYmNsYXNzIC9ob21lL3Vz
ZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9ibGFja2xpc3QuYmJjbGFzcyAvaG9tZS91c2VyL3Bv
a3kvYnVpbGQvY2xhc3Nlcy9ibGFja2xpc3QuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
bGFzc2VzL2JsYWNrbGlzdC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nl
cy9zYW5pdHkuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9zYW5pdHkuYmJj
bGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzIC9ob21lL3Vz
ZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIvcmVjaXBlcy1leGFtcGxlL2V4YW1wbGUvZXhhbXBs
ZV8wLjEuYmIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvaG9tZS91c2VyL3Bva3kvYnVp
bGQvY29uZi9iYmxheWVycy5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29u
ZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZiAvaG9tZS91c2VyL3Bv
a3kvbWV0YS15b2N0by1ic3AvY29uZi9sYXllci5jb25mIC9ob21lL3VzZXIvcG9reS9idWlsZC9j
dXN0b21fbGF5ZXIvY29uZi9sYXllci5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29u
Zi9iaXRiYWtlLmNvbmYgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvYml0YmFrZS5jb25mIC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvY29uZi9hYmlfdmVyc2lvbi5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29u
Zi9hYmlfdmVyc2lvbi5jb25mIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2FiaV92ZXJzaW9u
LmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9hYmlfdmVyc2lvbi5jb25mIC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvY29uZi9zaXRlLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9r
eS9jb25mL3NpdGUuY29uZiAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9zaXRlLmNvbmYgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9zaXRlLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEteW9j
dG8tYnNwL2NvbmYvc2l0ZS5jb25mIC9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIv
Y29uZi9zaXRlLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9jb25mL2F1dG8uY29uZiAv
aG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvYXV0by5jb25mIC9ob21lL3VzZXIvcG9reS9i
dWlsZC9jb25mL2F1dG8uY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2F1dG8uY29uZiAv
aG9tZS91c2VyL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9hdXRvLmNvbmYgL2hvbWUvdXNlci9w
b2t5L2J1aWxkL2N1c3RvbV9sYXllci9jb25mL2F1dG8uY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2NvbmYvbG9jYWwuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvbG9j
YWwuY29uZiAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9sb2NhbC5jb25mIC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvY29uZi9tdWx0aWNvbmZpZy9kZWZhdWx0LmNvbmYgL2hvbWUvdXNlci9w
b2t5L21ldGEtcG9reS9jb25mL211bHRpY29uZmlnL2RlZmF1bHQuY29uZiAvaG9tZS91c2VyL3Bv
a3kvYnVpbGQvY29uZi9tdWx0aWNvbmZpZy9kZWZhdWx0LmNvbmYgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9tdWx0aWNvbmZpZy9kZWZhdWx0LmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9jb25mL21hY2hpbmUvcWVtdXg4Ni02NC5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kv
Y29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZiAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9t
YWNoaW5lL3FlbXV4ODYtNjQuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
cWVtdXg4Ni02NC5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9jb25mL21h
Y2hpbmUvaW5jbHVkZS9xZW11LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFj
aGluZS9pbmNsdWRlL3FlbXUuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL21hY2hpbmUv
aW5jbHVkZS9xZW11LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVk
ZS9xZW11LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvY29uZi9tYWNoaW5l
L2luY2x1ZGUvdHVuZS1jb3JlMi5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL21h
Y2hpbmUvaW5jbHVkZS90dW5lLWNvcmUyLmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9t
YWNoaW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9t
YWNoaW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9t
YWNoaW5lL2luY2x1ZGUvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNjg2LmluYyAvaG9tZS91
c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTY4Ni5pbmMgL2hv
bWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTY4Ni5pbmMgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNjg2LmluYyAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9jb25mL21hY2hpbmUvaW5jbHVk
ZS90dW5lLWk1ODYuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9tYWNoaW5lL2lu
Y2x1ZGUvdHVuZS1pNTg2LmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9tYWNoaW5lL2lu
Y2x1ZGUvdHVuZS1pNTg2LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5j
bHVkZS90dW5lLWk1ODYuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNs
dWRlL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmMgL2hvbWUvdXNlci9wb2t5
L21ldGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIC9ob21lL3Vz
ZXIvcG9reS9idWlsZC9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmMgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVi
b290LXg4Ni5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVk
ZS9xZW11Ym9vdC14ODYuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL21hY2hpbmUvaW5j
bHVkZS9xZW11Ym9vdC14ODYuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3FlbXVib290LXg4Ni5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9jb25mL21h
Y2hpbmUtc2RrL3g4Nl82NC5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9tYWNo
aW5lLXNkay94ODZfNjQuY29uZiAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9tYWNoaW5lLXNk
ay94ODZfNjQuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUtc2RrL3g4Nl82
NC5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvY29uZi9kaXN0cm8vcG9reS5jb25mIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mIC9ob21lL3VzZXIv
cG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS9wb2t5LXdvcmxk
LWV4Y2x1ZGUuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVk
ZS9wb2t5LXdvcmxkLWV4Y2x1ZGUuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9k
aXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMgL2hvbWUvdXNlci9w
b2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYyAvaG9t
ZS91c2VyL3Bva3kvYnVpbGQvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5p
bmMgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNs
dWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rp
c3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmMgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2Nv
bmYvZGlzdHJvL2luY2x1ZGUveW9jdG8tdW5pbmF0aXZlLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmMgL2hvbWUvdXNlci9wb2t5
L21ldGEtcG9reS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdz
LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvc2VjdXJp
dHlfZmxhZ3MuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRlL3Nl
Y3VyaXR5X2ZsYWdzLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3NlY3VyaXR5X2ZsYWdzLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2NvbmYvZGlzdHJv
L2RlZmF1bHRzZXR1cC5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8v
ZGVmYXVsdHNldHVwLmNvbmYgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvZGlzdHJvL2RlZmF1
bHRzZXR1cC5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1
cC5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1
ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9k
aXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmMgL2hvbWUvdXNlci9wb2t5L2J1aWxk
L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jIC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC12ZXJz
aW9ucy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL2Rl
ZmF1bHQtdmVyc2lvbnMuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNs
dWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvZGVmYXVsdC12ZXJzaW9ucy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jIC9ob21lL3Vz
ZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMu
aW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlz
dHJvdmFycy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZh
dWx0LWRpc3Ryb3ZhcnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmMgL2hvbWUvdXNlci9wb2t5L2J1aWxk
L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jIC9ob21l
L3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5p
bmMgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1
bHQuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRl
ZmF1bHQuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvdGNsaWJjLWdsaWJjLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlz
dHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9k
aXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1mbGFncy5pbmMgL2hvbWUvdXNl
ci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1mbGFncy5pbmMg
L2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvZGlzdHJvL2luY2x1ZGUvdW5pbmF0aXZlLWZsYWdz
LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5hdGl2ZS1m
bGFncy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5j
bHVkZS9pbml0LW1hbmFnZXItbm9uZS5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25m
L2Rpc3Ryby9pbmNsdWRlL2luaXQtbWFuYWdlci1ub25lLmluYyAvaG9tZS91c2VyL3Bva3kvYnVp
bGQvY29uZi9kaXN0cm8vaW5jbHVkZS9pbml0LW1hbmFnZXItbm9uZS5pbmMgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9pbml0LW1hbmFnZXItbm9uZS5pbmMgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9jb25mL2RvY3VtZW50YXRpb24uY29uZiAvaG9tZS91c2VyL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mIC9ob21lL3VzZXIvcG9reS9idWls
ZC9jb25mL2RvY3VtZW50YXRpb24uY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2NvbmYvbGljZW5zZXMuY29u
ZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGljZW5zZXMuY29uZiAvaG9tZS91c2Vy
L3Bva3kvYnVpbGQvY29uZi9saWNlbnNlcy5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
bGljZW5zZXMuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2NvbmYvc2FuaXR5LmNvbmYg
L2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL3Nhbml0eS5jb25mIC9ob21lL3VzZXIvcG9r
eS9idWlsZC9jb25mL3Nhbml0eS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvc2FuaXR5
LmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2Jhc2UuYmJjbGFzcyAvaG9t
ZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9iYXNlLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21l
dGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2Vz
L3BhdGNoLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvcGF0Y2guYmJjbGFz
cyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3BhdGNoLmJiY2xhc3MgL2hvbWUvdXNlci9w
b2t5L21ldGEtcG9reS9jbGFzc2VzL3Rlcm1pbmFsLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1
aWxkL2NsYXNzZXMvdGVybWluYWwuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2Vz
L3Rlcm1pbmFsLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3N0YWdp
bmcuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3Mg
L2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3MgL2hvbWUvdXNlci9w
b2t5L21ldGEtcG9reS9jbGFzc2VzL21pcnJvcnMuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVp
bGQvY2xhc3Nlcy9taXJyb3JzLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9t
aXJyb3JzLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3V0aWxzLmJi
Y2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvdXRpbHMuYmJjbGFzcyAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3V0aWxzLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEt
cG9reS9jbGFzc2VzL3V0aWxpdHktdGFza3MuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVpbGQv
Y2xhc3Nlcy91dGlsaXR5LXRhc2tzLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nl
cy91dGlsaXR5LXRhc2tzLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2Vz
L21ldGFkYXRhX3NjbS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL21ldGFk
YXRhX3NjbS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvbWV0YWRhdGFfc2Nt
LmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2xvZ2dpbmcuYmJjbGFz
cyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9sb2dnaW5nLmJiY2xhc3MgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY2xhc3Nlcy9sb2dnaW5nLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEt
cG9reS9jbGFzc2VzL3Bva3ktc2FuaXR5LmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9r
eS9jbGFzc2VzL3VuaW5hdGl2ZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2Vz
L3VuaW5hdGl2ZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvdW5pbmF0aXZl
LmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3BhY2thZ2VfcnBtLmJi
Y2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvcGFja2FnZV9ycG0uYmJjbGFzcyAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfcnBtLmJiY2xhc3MgL2hvbWUvdXNl
ci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kv
YnVpbGQvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nl
cy9wYWNrYWdlLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3BhY2th
Z2VkYXRhLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvcGFja2FnZWRhdGEu
YmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VkYXRhLmJiY2xhc3Mg
L2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2NocnBhdGguYmJjbGFzcyAvaG9tZS91
c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9jaHJwYXRoLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21l
dGEvY2xhc3Nlcy9jaHJwYXRoLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFz
c2VzL3BhY2thZ2VfcGtnZGF0YS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2Vz
L3BhY2thZ2VfcGtnZGF0YS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvcGFj
a2FnZV9wa2dkYXRhLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2lu
c2FuZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL2luc2FuZS5iYmNsYXNz
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3MgL2hvbWUvdXNlci9w
b2t5L21ldGEtcG9reS9jbGFzc2VzL2J1aWxkc3RhdHMuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kv
YnVpbGQvY2xhc3Nlcy9idWlsZHN0YXRzLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xh
c3Nlcy9idWlsZHN0YXRzLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2Vz
L2ltYWdlLW1rbGlicy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL2ltYWdl
LW1rbGlicy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2UtbWtsaWJz
LmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2xpbnV4bG9hZGVyLmJi
Y2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvbGludXhsb2FkZXIuYmJjbGFzcyAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2xpbnV4bG9hZGVyLmJiY2xhc3MgL2hvbWUvdXNl
ci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2ltYWdlLXByZWxpbmsuYmJjbGFzcyAvaG9tZS91c2Vy
L3Bva3kvYnVpbGQvY2xhc3Nlcy9pbWFnZS1wcmVsaW5rLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5
L21ldGEvY2xhc3Nlcy9pbWFnZS1wcmVsaW5rLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEt
cG9reS9jbGFzc2VzL2RlYmlhbi5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2Vz
L2RlYmlhbi5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xh
c3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2RldnNoZWxsLmJiY2xhc3MgL2hv
bWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvZGV2c2hlbGwuYmJjbGFzcyAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jbGFzc2VzL2RldnNoZWxsLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9r
eS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL3Nz
dGF0ZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3Mg
L2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzcyAvaG9tZS91
c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21l
dGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFz
c2VzL3JlbW92ZS1saWJ0b29sLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMv
cmVtb3ZlLWxpYnRvb2wuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3JlbW92
ZS1saWJ0b29sLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL2JsYWNr
bGlzdC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL2JsYWNrbGlzdC5iYmNs
YXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvYmxhY2tsaXN0LmJiY2xhc3MgL2hvbWUv
dXNlci9wb2t5L21ldGEtcG9reS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzIC9ob21lL3VzZXIvcG9r
eS9idWlsZC9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNz
ZXMvc2FuaXR5LmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2N1c3RvbV9sYXllci9yZWNp
cGVzLWV4YW1wbGUvZXhhbXBsZS9leGFtcGxlXzAuMS5iYiIKQkJJTkNMVURFRD0iL2hvbWUvdXNl
ci9wb2t5L2J1aWxkL2NvbmYvYmJsYXllcnMuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2xheWVyLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmYgL2hv
bWUvdXNlci9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbGF5ZXIuY29uZiAvaG9tZS91c2VyL3Bv
a3kvYnVpbGQvY3VzdG9tX2xheWVyL2NvbmYvbGF5ZXIuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0
YS1wb2t5L2NvbmYvYml0YmFrZS5jb25mIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2JpdGJh
a2UuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZiAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2NvbmYvYWJpX3ZlcnNpb24uY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0
YS1wb2t5L2NvbmYvYWJpX3ZlcnNpb24uY29uZiAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9h
YmlfdmVyc2lvbi5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYWJpX3ZlcnNpb24uY29u
ZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2NvbmYvc2l0ZS5jb25mIC9ob21lL3VzZXIvcG9r
eS9tZXRhLXBva3kvY29uZi9zaXRlLmNvbmYgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvc2l0
ZS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvc2l0ZS5jb25mIC9ob21lL3VzZXIvcG9r
eS9tZXRhLXlvY3RvLWJzcC9jb25mL3NpdGUuY29uZiAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY3Vz
dG9tX2xheWVyL2NvbmYvc2l0ZS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvY29uZi9h
dXRvLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2F1dG8uY29uZiAvaG9tZS91
c2VyL3Bva3kvYnVpbGQvY29uZi9hdXRvLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9h
dXRvLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvYXV0by5jb25mIC9o
b21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIvY29uZi9hdXRvLmNvbmYgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9jb25mL2xvY2FsLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9r
eS9jb25mL2xvY2FsLmNvbmYgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvbG9jYWwuY29uZiAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2NvbmYvbXVsdGljb25maWcvZGVmYXVsdC5jb25mIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9tdWx0aWNvbmZpZy9kZWZhdWx0LmNvbmYgL2hv
bWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvbXVsdGljb25maWcvZGVmYXVsdC5jb25mIC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvbXVsdGljb25maWcvZGVmYXVsdC5jb25mIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZiAvaG9tZS91c2VyL3Bva3kv
bWV0YS1wb2t5L2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNvbmYgL2hvbWUvdXNlci9wb2t5L2J1
aWxkL2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hp
bmUvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9r
eS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29u
Zi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNo
aW5lL2luY2x1ZGUvcWVtdS5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2Nv
bmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBv
a3kvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5pbmMgL2hvbWUvdXNlci9wb2t5L2J1
aWxkL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jIC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jIC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTY4Ni5p
bmMgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk2
ODYuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk2
ODYuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTY4
Ni5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvY29uZi9tYWNo
aW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYv
bWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYv
bWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9t
YWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21h
Y2hpbmUvaW5jbHVkZS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIC9ob21l
L3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2Lmlu
YyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2
LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14
ODYuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9jb25mL21hY2hpbmUvaW5j
bHVkZS9xZW11Ym9vdC14ODYuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9tYWNo
aW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9t
YWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvY29uZi9tYWNoaW5lLXNkay94ODZfNjQuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5
L2NvbmYvbWFjaGluZS1zZGsveDg2XzY0LmNvbmYgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYv
bWFjaGluZS1zZGsveDg2XzY0LmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5l
LXNkay94ODZfNjQuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2NvbmYvZGlzdHJvL3Bv
a3kuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZiAv
aG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUv
cG9reS13b3JsZC1leGNsdWRlLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlz
dHJvL2luY2x1ZGUvcG9reS13b3JsZC1leGNsdWRlLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1w
b2t5L2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGli
cy5pbmMgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGlj
LWxpYnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3Rh
dGljLWxpYnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vY29uZi9k
aXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBv
a3kvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9ob21lL3VzZXIvcG9r
eS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmMgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIC9ob21l
L3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS9zZWN1
cml0eV9mbGFncy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNs
dWRlL3NlY3VyaXR5X2ZsYWdzLmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9kaXN0cm8v
aW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9j
b25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2Nv
bmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2Rp
c3Ryby9kZWZhdWx0c2V0dXAuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9k
ZWZhdWx0c2V0dXAuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rp
c3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1w
b2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jIC9ob21lL3VzZXIv
cG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmlu
YyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL2Rl
ZmF1bHQtdmVyc2lvbnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8v
aW5jbHVkZS9kZWZhdWx0LXZlcnNpb25zLmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9k
aXN0cm8vaW5jbHVkZS9kZWZhdWx0LXZlcnNpb25zLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtdmVyc2lvbnMuaW5jIC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmlu
YyAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1k
aXN0cm92YXJzLmluYyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9kaXN0cm8vaW5jbHVkZS9k
ZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYyAvaG9tZS91c2VyL3Bva3kv
bWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jIC9ob21lL3VzZXIv
cG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYyAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYyAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0
LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2Rl
LWRlZmF1bHQuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRlL3Rj
bW9kZS1kZWZhdWx0LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3RjbW9kZS1kZWZhdWx0LmluYyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9jb25m
L2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9r
eS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMgL2hvbWUvdXNlci9wb2t5L2J1
aWxkL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vY29uZi9kaXN0cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5j
IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS91bmluYXRpdmUt
ZmxhZ3MuaW5jIC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2Rpc3Ryby9pbmNsdWRlL3VuaW5h
dGl2ZS1mbGFncy5pbmMgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS91
bmluYXRpdmUtZmxhZ3MuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvaW5pdC1tYW5hZ2VyLW5vbmUuaW5jIC9ob21lL3VzZXIvcG9reS9tZXRh
LXBva3kvY29uZi9kaXN0cm8vaW5jbHVkZS9pbml0LW1hbmFnZXItbm9uZS5pbmMgL2hvbWUvdXNl
ci9wb2t5L2J1aWxkL2NvbmYvZGlzdHJvL2luY2x1ZGUvaW5pdC1tYW5hZ2VyLW5vbmUuaW5jIC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvaW5pdC1tYW5hZ2VyLW5vbmUu
aW5jIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL2hv
bWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2RvY3VtZW50YXRpb24uY29uZiAvaG9tZS91c2Vy
L3Bva3kvYnVpbGQvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9jb25mL2xp
Y2Vuc2VzLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2xpY2Vuc2VzLmNvbmYg
L2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvbGljZW5zZXMuY29uZiAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2xpY2Vuc2VzLmNvbmYgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9jb25mL3Nh
bml0eS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9zYW5pdHkuY29uZiAvaG9t
ZS91c2VyL3Bva3kvYnVpbGQvY29uZi9zYW5pdHkuY29uZiAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL3Nhbml0eS5jb25mIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9iYXNlLmJi
Y2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvYmFzZS5iYmNsYXNzIC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBv
a3kvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL3Bh
dGNoLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9wYXRjaC5iYmNsYXNzIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzIC9ob21lL3Vz
ZXIvcG9reS9idWlsZC9jbGFzc2VzL3Rlcm1pbmFsLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21l
dGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xh
c3Nlcy9zdGFnaW5nLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvc3RhZ2lu
Zy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9taXJyb3JzLmJiY2xhc3MgL2hvbWUvdXNl
ci9wb2t5L2J1aWxkL2NsYXNzZXMvbWlycm9ycy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NsYXNzZXMvbWlycm9ycy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nl
cy91dGlscy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL3V0aWxzLmJiY2xh
c3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy91dGlscy5iYmNsYXNzIC9ob21lL3VzZXIv
cG9reS9tZXRhLXBva3kvY2xhc3Nlcy91dGlsaXR5LXRhc2tzLmJiY2xhc3MgL2hvbWUvdXNlci9w
b2t5L2J1aWxkL2NsYXNzZXMvdXRpbGl0eS10YXNrcy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NsYXNzZXMvdXRpbGl0eS10YXNrcy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBv
a3kvY2xhc3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY2xh
c3Nlcy9tZXRhZGF0YV9zY20uYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL21l
dGFkYXRhX3NjbS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9sb2dn
aW5nLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvbG9nZ2luZy5iYmNsYXNz
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvbG9nZ2luZy5iYmNsYXNzIC9ob21lL3VzZXIv
cG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wb2t5LXNhbml0eS5iYmNsYXNzIC9ob21lL3VzZXIvcG9r
eS9tZXRhLXBva3kvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVp
bGQvY2xhc3Nlcy91bmluYXRpdmUuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2Vz
L3VuaW5hdGl2ZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wYWNr
YWdlX3JwbS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL3BhY2thZ2VfcnBt
LmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNz
IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3MgL2hvbWUv
dXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xh
c3Nlcy9wYWNrYWdlZGF0YS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL3Bh
Y2thZ2VkYXRhLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlZGF0
YS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9jaHJwYXRoLmJiY2xh
c3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvY2hycGF0aC5iYmNsYXNzIC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NsYXNzZXMvY2hycGF0aC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRh
LXBva3kvY2xhc3Nlcy9wYWNrYWdlX3BrZ2RhdGEuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVp
bGQvY2xhc3Nlcy9wYWNrYWdlX3BrZ2RhdGEuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
bGFzc2VzL3BhY2thZ2VfcGtnZGF0YS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kv
Y2xhc3Nlcy9pbnNhbmUuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9pbnNh
bmUuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzIC9o
b21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9idWlsZHN0YXRzLmJiY2xhc3MgL2hvbWUv
dXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvYnVpbGRzdGF0cy5iYmNsYXNzIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NsYXNzZXMvYnVpbGRzdGF0cy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBv
a3kvY2xhc3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY2xh
c3Nlcy9pbWFnZS1ta2xpYnMuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2lt
YWdlLW1rbGlicy5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9saW51
eGxvYWRlci5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL2xpbnV4bG9hZGVy
LmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9saW51eGxvYWRlci5iYmNsYXNz
IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9pbWFnZS1wcmVsaW5rLmJiY2xhc3Mg
L2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvaW1hZ2UtcHJlbGluay5iYmNsYXNzIC9ob21l
L3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2UtcHJlbGluay5iYmNsYXNzIC9ob21lL3VzZXIv
cG9reS9tZXRhLXBva3kvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVp
bGQvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2Rl
Ymlhbi5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9kZXZzaGVsbC5i
YmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jbGFzc2VzL2RldnNoZWxsLmJiY2xhc3MgL2hv
bWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9kZXZzaGVsbC5iYmNsYXNzIC9ob21lL3VzZXIvcG9r
eS9tZXRhLXBva3kvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVpbGQv
Y2xhc3Nlcy9zc3RhdGUuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0
ZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9saWNlbnNlLmJiY2xh
c3MgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzIC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRh
LXBva3kvY2xhc3Nlcy9yZW1vdmUtbGlidG9vbC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWls
ZC9jbGFzc2VzL3JlbW92ZS1saWJ0b29sLmJiY2xhc3MgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xh
c3Nlcy9yZW1vdmUtbGlidG9vbC5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xh
c3Nlcy9ibGFja2xpc3QuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9ibGFj
a2xpc3QuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2JsYWNrbGlzdC5iYmNs
YXNzIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY2xhc3Nlcy9zYW5pdHkuYmJjbGFzcyAvaG9t
ZS91c2VyL3Bva3kvYnVpbGQvY2xhc3Nlcy9zYW5pdHkuYmJjbGFzcyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzIC9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21f
bGF5ZXIvcmVjaXBlcy1leGFtcGxlL2V4YW1wbGUvZXhhbXBsZV8wLjEuYmIiCiMKIyAkQkJJTkNM
VURFTE9HUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzozMQojICAgICBbX2RlZmF1bHR2
YWxdICJ5ZXMiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6ODcKIyAgICAgW2RvY10gIlZhcmlhYmxlIHRoYXQgY29udHJvbHMgaG93IEJpdEJha2Ug
ZGlzcGxheXMgbG9ncyBvbiBidWlsZCBmYWlsdXJlLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgInllcyIKQkJJTkNMVURFTE9HUz0ieWVzIgojCiMgJEJCSU5DTFVERUxPR1NfTElORVMKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo4OAojICAg
ICBbZG9jXSAiQW1vdW50IG9mIGxvZyBsaW5lcyBwcmludGVkIG9uIGZhaWx1cmUuIgojCiMgJEJC
TEFZRVJTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25m
L2JibGF5ZXJzLmNvbmY6MTMKIyAgICAgIiAgIC9ob21lL3VzZXIvcG9reS9tZXRhICAgL2hvbWUv
dXNlci9wb2t5L21ldGEtcG9reSAgIC9ob21lL3VzZXIvcG9reS9tZXRhLXlvY3RvLWJzcCAgIC9o
b21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIgICAiCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6ODkKIyAgICAgW2RvY10gIkxpc3RzIHRo
ZSBsYXllcnMgdG8gZW5hYmxlIGR1cmluZyB0aGUgYnVpbGQuIFRoaXMgdmFyaWFibGUgaXMgZGVm
aW5lZCBpbiB0aGUgYmJsYXllcnMuY29uZiBjb25maWd1cmF0aW9uIGZpbGUuIgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAiICAgL2hvbWUvdXNlci9wb2t5L21ldGEgICAvaG9tZS91c2VyL3Bv
a3kvbWV0YS1wb2t5ICAgL2hvbWUvdXNlci9wb2t5L21ldGEteW9jdG8tYnNwICAgL2hvbWUvdXNl
ci9wb2t5L2J1aWxkL2N1c3RvbV9sYXllciAgICIKQkJMQVlFUlM9IiAgIC9ob21lL3VzZXIvcG9r
eS9tZXRhICAgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reSAgIC9ob21lL3VzZXIvcG9reS9tZXRh
LXlvY3RvLWJzcCAgIC9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIgICAiCiMKIyAk
QkJMQVlFUlNfQ09ORl9VUERBVEVfRlVOQ1MgWzIgb3BlcmF0aW9uc10KIyAgIGFwcGVuZCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NsYXNzZXMvcG9reS1zYW5pdHkuYmJjbGFzczo0NgojICAg
ICAiY29uZi9iYmxheWVycy5jb25mOlBPS1lfQkJMQVlFUlNfQ09ORl9WRVJTSU9OOlJFUVVJUkVE
X1BPS1lfQkJMQVlFUlNfQ09ORl9WRVJTSU9OOnBva3lfdXBkYXRlX2JibGF5ZXJzY29uZiIKIyAg
IGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzOjM1CiMg
ICAgICIgICAgIGNvbmYvYmJsYXllcnMuY29uZjpMQ09ORl9WRVJTSU9OOkxBWUVSX0NPTkZfVkVS
U0lPTjpvZWNvcmVfdXBkYXRlX2JibGF5ZXJzICAgICBjb25mL2xvY2FsLmNvbmY6Q09ORl9WRVJT
SU9OOkxPQ0FMQ09ORl9WRVJTSU9OOm9lY29yZV91cGRhdGVfbG9jYWxjb25mICAgICBjb25mL3Np
dGUuY29uZjpTQ09ORl9WRVJTSU9OOlNJVEVfQ09ORl9WRVJTSU9OOm9lY29yZV91cGRhdGVfc2l0
ZWNvbmYgIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIGNvbmYvYmJsYXllcnMuY29uZjpQ
T0tZX0JCTEFZRVJTX0NPTkZfVkVSU0lPTjpSRVFVSVJFRF9QT0tZX0JCTEFZRVJTX0NPTkZfVkVS
U0lPTjpwb2t5X3VwZGF0ZV9iYmxheWVyc2NvbmYgICAgICBjb25mL2JibGF5ZXJzLmNvbmY6TENP
TkZfVkVSU0lPTjpMQVlFUl9DT05GX1ZFUlNJT046b2Vjb3JlX3VwZGF0ZV9iYmxheWVycyAgICAg
Y29uZi9sb2NhbC5jb25mOkNPTkZfVkVSU0lPTjpMT0NBTENPTkZfVkVSU0lPTjpvZWNvcmVfdXBk
YXRlX2xvY2FsY29uZiAgICAgY29uZi9zaXRlLmNvbmY6U0NPTkZfVkVSU0lPTjpTSVRFX0NPTkZf
VkVSU0lPTjpvZWNvcmVfdXBkYXRlX3NpdGVjb25mICIKQkJMQVlFUlNfQ09ORl9VUERBVEVfRlVO
Q1M9IiBjb25mL2JibGF5ZXJzLmNvbmY6UE9LWV9CQkxBWUVSU19DT05GX1ZFUlNJT046UkVRVUlS
RURfUE9LWV9CQkxBWUVSU19DT05GX1ZFUlNJT046cG9reV91cGRhdGVfYmJsYXllcnNjb25mICAg
ICAgY29uZi9iYmxheWVycy5jb25mOkxDT05GX1ZFUlNJT046TEFZRVJfQ09ORl9WRVJTSU9OOm9l
Y29yZV91cGRhdGVfYmJsYXllcnMgICAgIGNvbmYvbG9jYWwuY29uZjpDT05GX1ZFUlNJT046TE9D
QUxDT05GX1ZFUlNJT046b2Vjb3JlX3VwZGF0ZV9sb2NhbGNvbmYgICAgIGNvbmYvc2l0ZS5jb25m
OlNDT05GX1ZFUlNJT046U0lURV9DT05GX1ZFUlNJT046b2Vjb3JlX3VwZGF0ZV9zaXRlY29uZiAi
CiMKIyAkQkJMQVlFUlNfRkVUQ0hfRElSCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6NjI5CiMgICAgIFtfZGVmYXVsdHZhbF0gIiR7Q09SRUJBU0V9IgpCQkxB
WUVSU19GRVRDSF9ESVI9Ii9ob21lL3VzZXIvcG9reSIKIwojICRCQkxBWUVSU19MQVlFUklOREVY
X05BTUVfY29yZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZjox
NwojICAgICAib3BlbmVtYmVkZGVkLWNvcmUiCkJCTEFZRVJTX0xBWUVSSU5ERVhfTkFNRV9jb3Jl
PSJvcGVuZW1iZWRkZWQtY29yZSIKIwojICRCQkxBWUVSU19MQVlFUklOREVYX1VSTAojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjYyOAojICAgICBbX2RlZmF1
bHR2YWxdICJodHRwczovL2xheWVycy5vcGVuZW1iZWRkZWQub3JnL2xheWVyaW5kZXgvIgpCQkxB
WUVSU19MQVlFUklOREVYX1VSTD0iaHR0cHM6Ly9sYXllcnMub3BlbmVtYmVkZGVkLm9yZy9sYXll
cmluZGV4LyIKIwojICRCQk1BU0sKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjo5MAojICAgICBbZG9jXSAiUHJldmVudHMgQml0QmFrZSBmcm9tIHBy
b2Nlc3Npbmcgc3BlY2lmaWMgcmVjaXBlcyBvciByZWNpcGUgYXBwZW5kIGZpbGVzLiIKIwojICRC
QlBBVEggWzExIG9wZXJhdGlvbnNdCiMgICBmcm9tIGVudiBkYXRhLnB5OjExMiBbaW5oZXJpdEZy
b21PU10KIyAgICAgIi9ob21lL3VzZXIvcG9reS9idWlsZCIKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvYnVpbGQvY29uZi9iYmxheWVycy5jb25mOjUKIyAgICAgIiR7VE9QRElSfSIKIyAgIHBvc3Rk
b3QgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9sYXllci5jb25mOjIKIyAgICAgIjoke0xBWUVS
RElSfSIKIyAgIHNldCBkYXRhX3NtYXJ0LnB5Ojk2NiBbZXhwYW5kVmFycmVmXQojICAgICAiJHtU
T1BESVJ9Oi9ob21lL3VzZXIvcG9reS9tZXRhIgojICAgcHJlZG90IC9ob21lL3VzZXIvcG9reS9t
ZXRhLXBva3kvY29uZi9sYXllci5jb25mOjIKIyAgICAgIiR7TEFZRVJESVJ9OiIKIyAgIHNldCBk
YXRhX3NtYXJ0LnB5Ojk2NiBbZXhwYW5kVmFycmVmXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21l
dGEtcG9reToke1RPUERJUn06L2hvbWUvdXNlci9wb2t5L21ldGEiCiMgICBwb3N0ZG90IC9ob21l
L3VzZXIvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmY6MgojICAgICAiOiR7TEFZ
RVJESVJ9IgojICAgc2V0IGRhdGFfc21hcnQucHk6OTY2IFtleHBhbmRWYXJyZWZdCiMgICAgICIv
aG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5OiR7VE9QRElSfTovaG9tZS91c2VyL3Bva3kvbWV0YTov
aG9tZS91c2VyL3Bva3kvbWV0YS15b2N0by1ic3AiCiMgICBwb3N0ZG90IC9ob21lL3VzZXIvcG9r
eS9idWlsZC9jdXN0b21fbGF5ZXIvY29uZi9sYXllci5jb25mOjIKIyAgICAgIjoke0xBWUVSRElS
fSIKIyAgIHNldCBkYXRhX3NtYXJ0LnB5Ojk2NiBbZXhwYW5kVmFycmVmXQojICAgICAiL2hvbWUv
dXNlci9wb2t5L21ldGEtcG9reToke1RPUERJUn06L2hvbWUvdXNlci9wb2t5L21ldGE6L2hvbWUv
dXNlci9wb2t5L21ldGEteW9jdG8tYnNwOi9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5
ZXIiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
OTEKIyAgICAgW2RvY10gIlVzZWQgYnkgQml0QmFrZSB0byBsb2NhdGUgLmJiY2xhc3MgYW5kIGNv
bmZpZ3VyYXRpb24gZmlsZXMuIFRoaXMgdmFyaWFibGUgaXMgYW5hbG9nb3VzIHRvIHRoZSBQQVRI
IHZhcmlhYmxlLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi9ob21lL3VzZXIvcG9reS9t
ZXRhLXBva3k6JHtUT1BESVJ9Oi9ob21lL3VzZXIvcG9reS9tZXRhOi9ob21lL3VzZXIvcG9reS9t
ZXRhLXlvY3RvLWJzcDovaG9tZS91c2VyL3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyIgpCQlBBVEg9
Ii9ob21lL3VzZXIvcG9reS9tZXRhLXBva3k6L2hvbWUvdXNlci9wb2t5L2J1aWxkOi9ob21lL3Vz
ZXIvcG9reS9tZXRhOi9ob21lL3VzZXIvcG9reS9tZXRhLXlvY3RvLWJzcDovaG9tZS91c2VyL3Bv
a3kvYnVpbGQvY3VzdG9tX2xheWVyIgojCiMgJEJCU0VSVkVSCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6OTIKIyAgICAgW2RvY10gIlBvaW50cyB0
byB0aGUgc2VydmVyIHRoYXQgcnVucyBtZW1vcnktcmVzaWRlbnQgQml0QmFrZS4iCiMKIyAkQkJf
QkFTRUhBU0hfdGFzay1kb19idWlsZAojICAgc2V0IHNpZ2dlbi5weToxODUgW2ZpbmFsaXNlXQoj
ICAgICAiM2M4ODM2MDIwYTE2MThhM2FkOTg3ODliMTc0Y2NmOWFlZWRmOTRhMGYzNGFmY2QwZWI0
MDRlMjhkMjRlZWE5ZCIKQkJfQkFTRUhBU0hfdGFzay1kb19idWlsZD0iM2M4ODM2MDIwYTE2MThh
M2FkOTg3ODliMTc0Y2NmOWFlZWRmOTRhMGYzNGFmY2QwZWI0MDRlMjhkMjRlZWE5ZCIKIwojICRC
Ql9CQVNFSEFTSF90YXNrLWRvX2NoZWNrdXJpCiMgICBzZXQgc2lnZ2VuLnB5OjE4NSBbZmluYWxp
c2VdCiMgICAgICI0YjUyYjRmZTc4MGU0NjAwNmVkNjBhNmQ0Mjk0ZjFlNzVhYzBkMjExMzI5YTI3
NjIwMjc1NzY5MmQyMWEwNzU3IgpCQl9CQVNFSEFTSF90YXNrLWRvX2NoZWNrdXJpPSI0YjUyYjRm
ZTc4MGU0NjAwNmVkNjBhNmQ0Mjk0ZjFlNzVhYzBkMjExMzI5YTI3NjIwMjc1NzY5MmQyMWEwNzU3
IgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fY2xlYW4KIyAgIHNldCBzaWdnZW4ucHk6MTg1IFtm
aW5hbGlzZV0KIyAgICAgImEyNGM4NWFkOTU2YzliMzZhYWI3ZGZkZDVhNDNkNDFiODNjYjAzNDFk
OTU2ODZiYTZlMjE1MGUxODdkNGY5YzIiCkJCX0JBU0VIQVNIX3Rhc2stZG9fY2xlYW49ImEyNGM4
NWFkOTU2YzliMzZhYWI3ZGZkZDVhNDNkNDFiODNjYjAzNDFkOTU2ODZiYTZlMjE1MGUxODdkNGY5
YzIiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19jbGVhbmFsbAojICAgc2V0IHNpZ2dlbi5weTox
ODUgW2ZpbmFsaXNlXQojICAgICAiNjA2YTUzY2IwMzRjYjFiMjNiYWU0MjczNWIzYjkxOWExNDEz
Nzg2MDAzYTUzYjQ0NjQwNjY1ZDg4NjI3MGJjOCIKQkJfQkFTRUhBU0hfdGFzay1kb19jbGVhbmFs
bD0iNjA2YTUzY2IwMzRjYjFiMjNiYWU0MjczNWIzYjkxOWExNDEzNzg2MDAzYTUzYjQ0NjQwNjY1
ZDg4NjI3MGJjOCIKIwojICRCQl9CQVNFSEFTSF90YXNrLWRvX2NsZWFuc3N0YXRlCiMgICBzZXQg
c2lnZ2VuLnB5OjE4NSBbZmluYWxpc2VdCiMgICAgICJmNTBiZmU3NjNmMGMxZDQxNmU5Y2Y2NjI2
ODNhZDRjMjE0ZDA4MmRhMDllYjNlMmZmZDIwOWFjNjk3MmE4NTM3IgpCQl9CQVNFSEFTSF90YXNr
LWRvX2NsZWFuc3N0YXRlPSJmNTBiZmU3NjNmMGMxZDQxNmU5Y2Y2NjI2ODNhZDRjMjE0ZDA4MmRh
MDllYjNlMmZmZDIwOWFjNjk3MmE4NTM3IgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fY29tcGls
ZQojICAgc2V0IHNpZ2dlbi5weToxODUgW2ZpbmFsaXNlXQojICAgICAiMmY2Nzg2ZTQ5ZTM4ZTk5
MjBmZDhhY2RiNDIwNmFmZWEyZDNiMTNhM2Y2MmUyYzYwNmM1MDhkYzY1ZDE4ZTFjNCIKQkJfQkFT
RUhBU0hfdGFzay1kb19jb21waWxlPSIyZjY3ODZlNDllMzhlOTkyMGZkOGFjZGI0MjA2YWZlYTJk
M2IxM2EzZjYyZTJjNjA2YzUwOGRjNjVkMThlMWM0IgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9f
Y29uZmlndXJlCiMgICBzZXQgc2lnZ2VuLnB5OjE4NSBbZmluYWxpc2VdCiMgICAgICI1MmQ0YzUx
ZDI0M2UyOTNiYzA3YzY0OTdlNTkyMzQzYWI5ZGU0NGQ0OWRjNDMyZDRkODBmMTAxMGM4N2UwMzRh
IgpCQl9CQVNFSEFTSF90YXNrLWRvX2NvbmZpZ3VyZT0iNTJkNGM1MWQyNDNlMjkzYmMwN2M2NDk3
ZTU5MjM0M2FiOWRlNDRkNDlkYzQzMmQ0ZDgwZjEwMTBjODdlMDM0YSIKIwojICRCQl9CQVNFSEFT
SF90YXNrLWRvX2RldnB5c2hlbGwKIyAgIHNldCBzaWdnZW4ucHk6MTg1IFtmaW5hbGlzZV0KIyAg
ICAgIjNkYzliOGNkYmIyMWVjZjRkYmU2MzE1NzBiZTQ3MzU3ZGQwMGRkNTkxZGVlNGExOWQ4YmY2
MTllNzA3ZDI1MmUiCkJCX0JBU0VIQVNIX3Rhc2stZG9fZGV2cHlzaGVsbD0iM2RjOWI4Y2RiYjIx
ZWNmNGRiZTYzMTU3MGJlNDczNTdkZDAwZGQ1OTFkZWU0YTE5ZDhiZjYxOWU3MDdkMjUyZSIKIwoj
ICRCQl9CQVNFSEFTSF90YXNrLWRvX2RldnNoZWxsCiMgICBzZXQgc2lnZ2VuLnB5OjE4NSBbZmlu
YWxpc2VdCiMgICAgICI0ZDIxZTE1NmUwNzUyODg2N2E3NDNkNWYzNGYxOWUxZGI3Y2YxMDM2ZTFj
YmE0NGZjODg4Y2MxYTFkNjMxNWQ2IgpCQl9CQVNFSEFTSF90YXNrLWRvX2RldnNoZWxsPSI0ZDIx
ZTE1NmUwNzUyODg2N2E3NDNkNWYzNGYxOWUxZGI3Y2YxMDM2ZTFjYmE0NGZjODg4Y2MxYTFkNjMx
NWQ2IgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fZmV0Y2gKIyAgIHNldCBzaWdnZW4ucHk6MTg1
IFtmaW5hbGlzZV0KIyAgICAgIjI4NTA2MmI4MjgyZGVhOGM5NjlhYjcwZDFmYmY2NzUxMTMzYmVj
NTAzOWRhNGUyMTk5YmIxOTI1NDgxOWQ2ZGUiCkJCX0JBU0VIQVNIX3Rhc2stZG9fZmV0Y2g9IjI4
NTA2MmI4MjgyZGVhOGM5NjlhYjcwZDFmYmY2NzUxMTMzYmVjNTAzOWRhNGUyMTk5YmIxOTI1NDgx
OWQ2ZGUiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19pbnN0YWxsCiMgICBzZXQgc2lnZ2VuLnB5
OjE4NSBbZmluYWxpc2VdCiMgICAgICJlMjBjZDU1YzNjMjAwMTEyZWRlMzViN2MxZDA0OTM2ZGE5
YzE2MTU5YWIxMWRmMjZiMmIzNTljYjE0YzkyYzgxIgpCQl9CQVNFSEFTSF90YXNrLWRvX2luc3Rh
bGw9ImUyMGNkNTVjM2MyMDAxMTJlZGUzNWI3YzFkMDQ5MzZkYTljMTYxNTlhYjExZGYyNmIyYjM1
OWNiMTRjOTJjODEiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19saXN0dGFza3MKIyAgIHNldCBz
aWdnZW4ucHk6MTg1IFtmaW5hbGlzZV0KIyAgICAgIjEyYWU3MzhkMzU2MWY5NzdkM2RjMzhmZjdi
MjEwNzNjZDkxNjA0NWY5OTNmOGJlOGUzOTRiNWI2ODNlZDI2YzkiCkJCX0JBU0VIQVNIX3Rhc2st
ZG9fbGlzdHRhc2tzPSIxMmFlNzM4ZDM1NjFmOTc3ZDNkYzM4ZmY3YjIxMDczY2Q5MTYwNDVmOTkz
ZjhiZThlMzk0YjViNjgzZWQyNmM5IgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2FnZSBb
NCBvcGVyYXRpb25zXQojICAgc2V0IHNpZ2dlbi5weToxODUgW2ZpbmFsaXNlXQojICAgICAiZmNm
ZWRjNTI5NGJkMzhhNTdkZjlkNzEwM2YxYTE0NWMzOWU5NjY1YmE1ZWU0NGU3MTFkY2MyNWU2OTky
Mzg4NyIKIyAgIG92ZXJyaWRlW3NldHNjZW5lXTpzZXQgc2lnZ2VuLnB5OjE4NSBbZmluYWxpc2Vd
CiMgICAgICJjNTBjYzFhZjE5NzU3ZjU5ZWMzOTdjYjg2MzA0NTg1ZDIwNGVlMmZlOTNjMjFlNTNk
YTFmMzE2ZGFlNDM3MTVkIgojICAgb3ZlcnJpZGVbd3JpdGVfcnBtX3NldHNjZW5lXTpzZXQgc2ln
Z2VuLnB5OjE4NSBbZmluYWxpc2VdCiMgICAgICIyYjhkYTE2MGJiZjNiOWI4ZDM5ZWEwMzdjNTI3
MDhhMzM2YTExOWNiOGVlNTJjNWMzZmIxOGE3ZWIyNGY3NjNlIgojICAgb3ZlcnJpZGVbd3JpdGVf
cnBtXTpzZXQgc2lnZ2VuLnB5OjE4NSBbZmluYWxpc2VdCiMgICAgICIzOTUwYzBhMTE1Y2NlY2Uz
NWY2ODFkZjRjYTZmNmNhOGRkMTFlOTZhYzY0YjQ0ZmM0Nzc3YzBkYmQ5NTViODAwIgojIHByZS1l
eHBhbnNpb24gdmFsdWU6CiMgICAiZmNmZWRjNTI5NGJkMzhhNTdkZjlkNzEwM2YxYTE0NWMzOWU5
NjY1YmE1ZWU0NGU3MTFkY2MyNWU2OTkyMzg4NyIKQkJfQkFTRUhBU0hfdGFzay1kb19wYWNrYWdl
PSJmY2ZlZGM1Mjk0YmQzOGE1N2RmOWQ3MTAzZjFhMTQ1YzM5ZTk2NjViYTVlZTQ0ZTcxMWRjYzI1
ZTY5OTIzODg3IgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2FnZV9xYSBbMiBvcGVyYXRp
b25zXQojICAgc2V0IHNpZ2dlbi5weToxODUgW2ZpbmFsaXNlXQojICAgICAiZTI5NTFmOTIxN2Ew
NWMyMjk0ZjAwYmMxZmVkM2YwYTIyNjJiZTU2NWJmZDUzODQ2MjdjN2M5NzAyYzMyNjRiOCIKIyAg
IG92ZXJyaWRlW3NldHNjZW5lXTpzZXQgc2lnZ2VuLnB5OjE4NSBbZmluYWxpc2VdCiMgICAgICIy
YjhkYTE2MGJiZjNiOWI4ZDM5ZWEwMzdjNTI3MDhhMzM2YTExOWNiOGVlNTJjNWMzZmIxOGE3ZWIy
NGY3NjNlIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZTI5NTFmOTIxN2EwNWMyMjk0ZjAw
YmMxZmVkM2YwYTIyNjJiZTU2NWJmZDUzODQ2MjdjN2M5NzAyYzMyNjRiOCIKQkJfQkFTRUhBU0hf
dGFzay1kb19wYWNrYWdlX3FhPSJlMjk1MWY5MjE3YTA1YzIyOTRmMDBiYzFmZWQzZjBhMjI2MmJl
NTY1YmZkNTM4NDYyN2M3Yzk3MDJjMzI2NGI4IgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fcGFj
a2FnZV9xYV9zZXRzY2VuZQojICAgc2V0IHNpZ2dlbi5weToxODUgW2ZpbmFsaXNlXQojICAgICAi
MmI4ZGExNjBiYmYzYjliOGQzOWVhMDM3YzUyNzA4YTMzNmExMTljYjhlZTUyYzVjM2ZiMThhN2Vi
MjRmNzYzZSIKQkJfQkFTRUhBU0hfdGFzay1kb19wYWNrYWdlX3FhX3NldHNjZW5lPSIyYjhkYTE2
MGJiZjNiOWI4ZDM5ZWEwMzdjNTI3MDhhMzM2YTExOWNiOGVlNTJjNWMzZmIxOGE3ZWIyNGY3NjNl
IgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2FnZV9zZXRzY2VuZQojICAgc2V0IHNpZ2dl
bi5weToxODUgW2ZpbmFsaXNlXQojICAgICAiYzUwY2MxYWYxOTc1N2Y1OWVjMzk3Y2I4NjMwNDU4
NWQyMDRlZTJmZTkzYzIxZTUzZGExZjMxNmRhZTQzNzE1ZCIKQkJfQkFTRUhBU0hfdGFzay1kb19w
YWNrYWdlX3NldHNjZW5lPSJjNTBjYzFhZjE5NzU3ZjU5ZWMzOTdjYjg2MzA0NTg1ZDIwNGVlMmZl
OTNjMjFlNTNkYTFmMzE2ZGFlNDM3MTVkIgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2Fn
ZV93cml0ZV9ycG0KIyAgIHNldCBzaWdnZW4ucHk6MTg1IFtmaW5hbGlzZV0KIyAgICAgIjM5NTBj
MGExMTVjY2VjZTM1ZjY4MWRmNGNhNmY2Y2E4ZGQxMWU5NmFjNjRiNDRmYzQ3NzdjMGRiZDk1NWI4
MDAiCkJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2FnZV93cml0ZV9ycG09IjM5NTBjMGExMTVjY2Vj
ZTM1ZjY4MWRmNGNhNmY2Y2E4ZGQxMWU5NmFjNjRiNDRmYzQ3NzdjMGRiZDk1NWI4MDAiCiMKIyAk
QkJfQkFTRUhBU0hfdGFzay1kb19wYWNrYWdlX3dyaXRlX3JwbV9zZXRzY2VuZQojICAgc2V0IHNp
Z2dlbi5weToxODUgW2ZpbmFsaXNlXQojICAgICAiMmI4ZGExNjBiYmYzYjliOGQzOWVhMDM3YzUy
NzA4YTMzNmExMTljYjhlZTUyYzVjM2ZiMThhN2ViMjRmNzYzZSIKQkJfQkFTRUhBU0hfdGFzay1k
b19wYWNrYWdlX3dyaXRlX3JwbV9zZXRzY2VuZT0iMmI4ZGExNjBiYmYzYjliOGQzOWVhMDM3YzUy
NzA4YTMzNmExMTljYjhlZTUyYzVjM2ZiMThhN2ViMjRmNzYzZSIKIwojICRCQl9CQVNFSEFTSF90
YXNrLWRvX3BhY2thZ2VkYXRhIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgc2lnZ2VuLnB5OjE4NSBb
ZmluYWxpc2VdCiMgICAgICI1MzI5MjI2ZDFjNzQyODQ0YmJhYmFkNzkwYmRiNWI0NTk5ZGQ0Y2Yx
N2VmYjhkZDAwYzBkMGJiYjNhZmIxZjIwIgojICAgb3ZlcnJpZGVbc2V0c2NlbmVdOnNldCBzaWdn
ZW4ucHk6MTg1IFtmaW5hbGlzZV0KIyAgICAgIjJiOGRhMTYwYmJmM2I5YjhkMzllYTAzN2M1Mjcw
OGEzMzZhMTE5Y2I4ZWU1MmM1YzNmYjE4YTdlYjI0Zjc2M2UiCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICI1MzI5MjI2ZDFjNzQyODQ0YmJhYmFkNzkwYmRiNWI0NTk5ZGQ0Y2YxN2VmYjhkZDAw
YzBkMGJiYjNhZmIxZjIwIgpCQl9CQVNFSEFTSF90YXNrLWRvX3BhY2thZ2VkYXRhPSI1MzI5MjI2
ZDFjNzQyODQ0YmJhYmFkNzkwYmRiNWI0NTk5ZGQ0Y2YxN2VmYjhkZDAwYzBkMGJiYjNhZmIxZjIw
IgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fcGFja2FnZWRhdGFfc2V0c2NlbmUKIyAgIHNldCBz
aWdnZW4ucHk6MTg1IFtmaW5hbGlzZV0KIyAgICAgIjJiOGRhMTYwYmJmM2I5YjhkMzllYTAzN2M1
MjcwOGEzMzZhMTE5Y2I4ZWU1MmM1YzNmYjE4YTdlYjI0Zjc2M2UiCkJCX0JBU0VIQVNIX3Rhc2st
ZG9fcGFja2FnZWRhdGFfc2V0c2NlbmU9IjJiOGRhMTYwYmJmM2I5YjhkMzllYTAzN2M1MjcwOGEz
MzZhMTE5Y2I4ZWU1MmM1YzNmYjE4YTdlYjI0Zjc2M2UiCiMKIyAkQkJfQkFTRUhBU0hfdGFzay1k
b19wYXRjaAojICAgc2V0IHNpZ2dlbi5weToxODUgW2ZpbmFsaXNlXQojICAgICAiMDA1MTYyYjI4
NzcxYjhiNTliMGRjODcxNTllOTAxNTk2M2ZkZjdlOGRkMThhM2Q1ZWI5OTFjODdkYWI3NTZlMyIK
QkJfQkFTRUhBU0hfdGFzay1kb19wYXRjaD0iMDA1MTYyYjI4NzcxYjhiNTliMGRjODcxNTllOTAx
NTk2M2ZkZjdlOGRkMThhM2Q1ZWI5OTFjODdkYWI3NTZlMyIKIwojICRCQl9CQVNFSEFTSF90YXNr
LWRvX3BvcHVsYXRlX2xpYyBbMiBvcGVyYXRpb25zXQojICAgc2V0IHNpZ2dlbi5weToxODUgW2Zp
bmFsaXNlXQojICAgICAiMDNlMDlhN2E1MmZjMDEwNGZkNjBlZWYzNjY2YjhmODg2Yjc5MmJjMjU1
NzIyNDEzOWY3ZGRkYTFiZjFiYmEwYyIKIyAgIG92ZXJyaWRlW3NldHNjZW5lXTpzZXQgc2lnZ2Vu
LnB5OjE4NSBbZmluYWxpc2VdCiMgICAgICIyYjhkYTE2MGJiZjNiOWI4ZDM5ZWEwMzdjNTI3MDhh
MzM2YTExOWNiOGVlNTJjNWMzZmIxOGE3ZWIyNGY3NjNlIgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiMDNlMDlhN2E1MmZjMDEwNGZkNjBlZWYzNjY2YjhmODg2Yjc5MmJjMjU1NzIyNDEzOWY3
ZGRkYTFiZjFiYmEwYyIKQkJfQkFTRUhBU0hfdGFzay1kb19wb3B1bGF0ZV9saWM9IjAzZTA5YTdh
NTJmYzAxMDRmZDYwZWVmMzY2NmI4Zjg4NmI3OTJiYzI1NTcyMjQxMzlmN2RkZGExYmYxYmJhMGMi
CiMKIyAkQkJfQkFTRUhBU0hfdGFzay1kb19wb3B1bGF0ZV9saWNfc2V0c2NlbmUKIyAgIHNldCBz
aWdnZW4ucHk6MTg1IFtmaW5hbGlzZV0KIyAgICAgIjJiOGRhMTYwYmJmM2I5YjhkMzllYTAzN2M1
MjcwOGEzMzZhMTE5Y2I4ZWU1MmM1YzNmYjE4YTdlYjI0Zjc2M2UiCkJCX0JBU0VIQVNIX3Rhc2st
ZG9fcG9wdWxhdGVfbGljX3NldHNjZW5lPSIyYjhkYTE2MGJiZjNiOWI4ZDM5ZWEwMzdjNTI3MDhh
MzM2YTExOWNiOGVlNTJjNWMzZmIxOGE3ZWIyNGY3NjNlIgojCiMgJEJCX0JBU0VIQVNIX3Rhc2st
ZG9fcG9wdWxhdGVfc3lzcm9vdCBbMiBvcGVyYXRpb25zXQojICAgc2V0IHNpZ2dlbi5weToxODUg
W2ZpbmFsaXNlXQojICAgICAiZDVmZGRhMGM3MTM4ZmJiZjY4OTk5M2Y2YTU3ZTBjNjI5MWZiZDgz
ZjIxMmZmZGU4MzZkMThlMjU0NGY4NDFjYyIKIyAgIG92ZXJyaWRlW3NldHNjZW5lXTpzZXQgc2ln
Z2VuLnB5OjE4NSBbZmluYWxpc2VdCiMgICAgICIyYjhkYTE2MGJiZjNiOWI4ZDM5ZWEwMzdjNTI3
MDhhMzM2YTExOWNiOGVlNTJjNWMzZmIxOGE3ZWIyNGY3NjNlIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiZDVmZGRhMGM3MTM4ZmJiZjY4OTk5M2Y2YTU3ZTBjNjI5MWZiZDgzZjIxMmZmZGU4
MzZkMThlMjU0NGY4NDFjYyIKQkJfQkFTRUhBU0hfdGFzay1kb19wb3B1bGF0ZV9zeXNyb290PSJk
NWZkZGEwYzcxMzhmYmJmNjg5OTkzZjZhNTdlMGM2MjkxZmJkODNmMjEyZmZkZTgzNmQxOGUyNTQ0
Zjg0MWNjIgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fcG9wdWxhdGVfc3lzcm9vdF9zZXRzY2Vu
ZQojICAgc2V0IHNpZ2dlbi5weToxODUgW2ZpbmFsaXNlXQojICAgICAiMmI4ZGExNjBiYmYzYjli
OGQzOWVhMDM3YzUyNzA4YTMzNmExMTljYjhlZTUyYzVjM2ZiMThhN2ViMjRmNzYzZSIKQkJfQkFT
RUhBU0hfdGFzay1kb19wb3B1bGF0ZV9zeXNyb290X3NldHNjZW5lPSIyYjhkYTE2MGJiZjNiOWI4
ZDM5ZWEwMzdjNTI3MDhhMzM2YTExOWNiOGVlNTJjNWMzZmIxOGE3ZWIyNGY3NjNlIgojCiMgJEJC
X0JBU0VIQVNIX3Rhc2stZG9fcHJlcGFyZV9yZWNpcGVfc3lzcm9vdAojICAgc2V0IHNpZ2dlbi5w
eToxODUgW2ZpbmFsaXNlXQojICAgICAiNGIyNzI0MTY3YzU5MzIyMDM4MTkwMjNhNWI3ZDM5ZGUy
MzJmMDE1ZDRhNmNjNzcyNjk5NTVjMjczOGY2YzY1ZiIKQkJfQkFTRUhBU0hfdGFzay1kb19wcmVw
YXJlX3JlY2lwZV9zeXNyb290PSI0YjI3MjQxNjdjNTkzMjIwMzgxOTAyM2E1YjdkMzlkZTIzMmYw
MTVkNGE2Y2M3NzI2OTk1NWMyNzM4ZjZjNjVmIgojCiMgJEJCX0JBU0VIQVNIX3Rhc2stZG9fdW5w
YWNrCiMgICBzZXQgc2lnZ2VuLnB5OjE4NSBbZmluYWxpc2VdCiMgICAgICJjZTMzMjJhZmNlMTMx
NzAzNDViZjU3MTA3MWYwYTdkOTQxOTcwZTg4ZmMyNGUzOWMwZWEyZDU0MTcyYmZjYWEwIgpCQl9C
QVNFSEFTSF90YXNrLWRvX3VucGFjaz0iY2UzMzIyYWZjZTEzMTcwMzQ1YmY1NzEwNzFmMGE3ZDk0
MTk3MGU4OGZjMjRlMzljMGVhMmQ1NDE3MmJmY2FhMCIKIwojICRCQl9DTURMSU5FCiMgICBzZXQg
Y29va2VyLnB5OjM3MiBbaW5pdENvbmZpZ3VyYXRpb25EYXRhXQojICAgICAiWycvaG9tZS91c2Vy
L3Bva3kvYml0YmFrZS9iaW4vYml0YmFrZScsICctZScsICdleGFtcGxlJ10iCkJCX0NNRExJTkU9
IlsnL2hvbWUvdXNlci9wb2t5L2JpdGJha2UvYmluL2JpdGJha2UnLCAnLWUnLCAnZXhhbXBsZSdd
IgojCiMgJEJCX0NPTlNPTEVMT0cgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODY0CiMgICAgICIke0xPR19ESVJ9L2Nvb2tlci8k
e01BQ0hJTkV9LyR7REFURVRJTUV9LmxvZyIKIyAgIHNldCBjb29rZXIucHk6MzcwIFtpbml0Q29u
ZmlndXJhdGlvbkRhdGFdCiMgICAgICIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL2xvZy9jb29r
ZXIvcWVtdXg4Ni02NC8yMDIwMDEyNDExMTUwOC5sb2ciCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL2xvZy9jb29rZXIvcWVtdXg4Ni02NC8yMDIw
MDEyNDExMTUwOC5sb2ciCkJCX0NPTlNPTEVMT0c9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAv
bG9nL2Nvb2tlci9xZW11eDg2LTY0LzIwMjAwMTI0MTExNTA4LmxvZyIKIwojICRCQl9DVVJSRU5U
X01DCiMgICBzZXQgY29va2VyZGF0YS5weTozMzQgW3BhcnNlQ29uZmlndXJhdGlvbkZpbGVzXQoj
ICAgICAiZGVmYXVsdCIKQkJfQ1VSUkVOVF9NQz0iZGVmYXVsdCIKIwojICRCQl9EQU5HTElOR0FQ
UEVORFNfV0FSTk9OTFkKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjo3NwojICAgICBbZG9jXSAiRGVmaW5lcyBob3cgQml0QmFrZSBoYW5kbGVzIHNp
dHVhdGlvbnMgd2hlcmUgYW4gYXBwZW5kIGZpbGUgKC5iYmFwcGVuZCkgaGFzIG5vIGNvcnJlc3Bv
bmRpbmcgcmVjaXBlIGZpbGUgKC5iYikuIgojCiMgJEJCX0RFRkFVTFRfVEFTSwojICAgc2V0PyAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzczoxCiMgICAgICJidWlsZCIK
QkJfREVGQVVMVF9UQVNLPSJidWlsZCIKIwojICRCQl9ESVNLTU9OX0RJUlMgWzIgb3BlcmF0aW9u
c10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9sb2NhbC5jb25mOjIwNQojICAg
ICBbX2RlZmF1bHR2YWxdICIgICAgU1RPUFRBU0tTLCR7VE1QRElSfSwxRywxMDBLICAgICBTVE9Q
VEFTS1MsJHtETF9ESVJ9LDFHLDEwMEsgICAgIFNUT1BUQVNLUywke1NTVEFURV9ESVJ9LDFHLDEw
MEsgICAgIFNUT1BUQVNLUywvdG1wLDEwME0sMTAwSyAgICAgQUJPUlQsJHtUTVBESVJ9LDEwME0s
MUsgICAgIEFCT1JULCR7RExfRElSfSwxMDBNLDFLICAgICBBQk9SVCwke1NTVEFURV9ESVJ9LDEw
ME0sMUsgICAgIEFCT1JULC90bXAsMTBNLDFLIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjc4CiMgICAgIFtkb2NdICJNb25pdG9ycyBkaXNrIHNw
YWNlIGFuZCBhdmFpbGFibGUgaW5vZGVzIGR1cmluZyB0aGUgYnVpbGQgYW5kIGFsbG93cyB5b3Ug
dG8gY29udHJvbCB0aGUgYnVpbGQgYmFzZWQgb24gdGhlc2UgcGFyYW1ldGVycy4iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIgICAgU1RPUFRBU0tTLCR7VE1QRElSfSwxRywxMDBLICAgICBT
VE9QVEFTS1MsJHtETF9ESVJ9LDFHLDEwMEsgICAgIFNUT1BUQVNLUywke1NTVEFURV9ESVJ9LDFH
LDEwMEsgICAgIFNUT1BUQVNLUywvdG1wLDEwME0sMTAwSyAgICAgQUJPUlQsJHtUTVBESVJ9LDEw
ME0sMUsgICAgIEFCT1JULCR7RExfRElSfSwxMDBNLDFLICAgICBBQk9SVCwke1NTVEFURV9ESVJ9
LDEwME0sMUsgICAgIEFCT1JULC90bXAsMTBNLDFLIgpCQl9ESVNLTU9OX0RJUlM9IiAgICBTVE9Q
VEFTS1MsL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcCwxRywxMDBLICAgICBTVE9QVEFTS1MsL2hv
bWUvdXNlci95b2N0by1jYWNoZS9kb3dubG9hZHMsMUcsMTAwSyAgICAgU1RPUFRBU0tTLC9ob21l
L3VzZXIveW9jdG8tY2FjaGUvZG93bmxvYWRzLDFHLDEwMEsgICAgIFNUT1BUQVNLUywvdG1wLDEw
ME0sMTAwSyAgICAgQUJPUlQsL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcCwxMDBNLDFLICAgICBB
Qk9SVCwvaG9tZS91c2VyL3lvY3RvLWNhY2hlL2Rvd25sb2FkcywxMDBNLDFLICAgICBBQk9SVCwv
aG9tZS91c2VyL3lvY3RvLWNhY2hlL2Rvd25sb2FkcywxMDBNLDFLICAgICBBQk9SVCwvdG1wLDEw
TSwxSyIKIwojICRCQl9ESVNLTU9OX1dBUk5JTlRFUlZBTAojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjc5CiMgICAgIFtkb2NdICJEZWZpbmVzIHRo
ZSBkaXNrIHNwYWNlIGFuZCBmcmVlIGlub2RlIHdhcm5pbmcgaW50ZXJ2YWxzLiBUbyBzZXQgdGhl
c2UgaW50ZXJ2YWxzLCBkZWZpbmUgdGhlIHZhcmlhYmxlIGluIHRoZSBjb25mL2xvY2FsLmNvbmYg
ZmlsZSBpbiB0aGUgQnVpbGQgRGlyZWN0b3J5LiIKIwojICRCQl9FTlZfRVhUUkFXSElURQojICAg
ZnJvbSBlbnYgZGF0YS5weToxMTIgW2luaGVyaXRGcm9tT1NdCiMgICAgICJBTExfUFJPWFkgQkJQ
QVRIX0VYVFJBIEJCX05PX05FVFdPUksgQkJfTlVNQkVSX1RIUkVBRFMgQkJfU0VUU0NFTkVfRU5G
T1JDRSBCQl9TUkNSRVZfUE9MSUNZIERJU1RSTyBGVFBTX1BST1hZIEZUUF9QUk9YWSBHSVRfUFJP
WFlfQ09NTUFORCBIVFRQU19QUk9YWSBIVFRQX1BST1hZIE1BQ0hJTkUgTk9fUFJPWFkgUEFSQUxM
RUxfTUFLRSBTQ1JFRU5ESVIgU0RLTUFDSElORSBTT0NLUzVfUEFTU1dEIFNPQ0tTNV9VU0VSIFNT
SF9BR0VOVF9QSUQgU1NIX0FVVEhfU09DSyBTVEFNUFNfRElSIFRDTElCQyBUQ01PREUgYWxsX3By
b3h5IGZ0cF9wcm94eSBmdHBzX3Byb3h5IGh0dHBfcHJveHkgaHR0cHNfcHJveHkgbm9fcHJveHkg
IgpCQl9FTlZfRVhUUkFXSElURT0iQUxMX1BST1hZIEJCUEFUSF9FWFRSQSBCQl9OT19ORVRXT1JL
IEJCX05VTUJFUl9USFJFQURTIEJCX1NFVFNDRU5FX0VORk9SQ0UgQkJfU1JDUkVWX1BPTElDWSBE
SVNUUk8gRlRQU19QUk9YWSBGVFBfUFJPWFkgR0lUX1BST1hZX0NPTU1BTkQgSFRUUFNfUFJPWFkg
SFRUUF9QUk9YWSBNQUNISU5FIE5PX1BST1hZIFBBUkFMTEVMX01BS0UgU0NSRUVORElSIFNES01B
Q0hJTkUgU09DS1M1X1BBU1NXRCBTT0NLUzVfVVNFUiBTU0hfQUdFTlRfUElEIFNTSF9BVVRIX1NP
Q0sgU1RBTVBTX0RJUiBUQ0xJQkMgVENNT0RFIGFsbF9wcm94eSBmdHBfcHJveHkgZnRwc19wcm94
eSBodHRwX3Byb3h5IGh0dHBzX3Byb3h5IG5vX3Byb3h5ICIKIwojICRCQl9HRU5FUkFURV9NSVJS
T1JfVEFSQkFMTFMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6MjYKIyAgICAgW19kZWZh
dWx0dmFsXSAiMCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjo4MAojICAgICBbZG9jXSAiQ2F1c2VzIHRhcmJhbGxzIG9mIHRoZSBHaXQgcmVwb3Np
dG9yaWVzIHRvIGJlIHBsYWNlZCBpbiB0aGUgRExfRElSIGRpcmVjdG9yeS4iCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICIwIgpCQl9HRU5FUkFURV9NSVJST1JfVEFSQkFMTFM9IjAiCiMKIyAk
QkJfSEFTSEJBU0VfV0hJVEVMSVNUCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjg3NgojICAgICAiVE1QRElSIEZJTEUgUEFUSCBQV0QgQkJfVEFTS0hBU0gg
QkJQQVRIIEJCU0VSVkVSIERMX0RJUiAgICAgU1NUQVRFX0RJUiBUSElTRElSIEZJTEVTRVhUUkFQ
QVRIUyBGSUxFX0RJUk5BTUUgSE9NRSBMT0dOQU1FIFNIRUxMIFRFUk0gICAgIFVTRVIgRklMRVNQ
QVRIIFNUQUdJTkdfRElSX0hPU1QgU1RBR0lOR19ESVJfVEFSR0VUIENPUkVCQVNFIFBSU0VSVl9I
T1NUICAgICBTVEFNUFNfRElSIFBSU0VSVl9EVU1QRElSIFBSU0VSVl9EVU1QRklMRSBQUlNFUlZf
TE9DS0RPV04gUEFSQUxMRUxfTUFLRSAgICAgQ0NBQ0hFX0RJUiBFWFRFUk5BTF9UT09MQ0hBSU4g
Q0NBQ0hFIENDQUNIRV9OT0hBU0hESVIgTElDRU5TRV9QQVRIIFNES1BLR1NVRkZJWCAgICAgV0FS
Tl9RQSBFUlJPUl9RQSBXT1JLRElSIFNUQU1QQ0xFQU4gUEtHREFUQV9ESVIgQlVJTERfQVJDSCBT
U1RBVEVfUEtHQVJDSCAgICAgQkJfV09SS0VSQ09OVEVYVCBCQl9MSU1JVEVEREVQUyBCQl9VTklI
QVNIIGV4dGVuZF9yZWNpcGVfc3lzcm9vdCBERVBMT1lfRElSICAgICBTU1RBVEVfSEFTSEVRVUlW
X01FVEhPRCBTU1RBVEVfSEFTSEVRVUlWX1JFUE9SVF9UQVNLREFUQSAgICAgU1NUQVRFX0hBU0hF
UVVJVl9PV05FUiBDQ0FDSEVfVE9QX0RJUiBCQl9IQVNIU0VSVkUiCkJCX0hBU0hCQVNFX1dISVRF
TElTVD0iVE1QRElSIEZJTEUgUEFUSCBQV0QgQkJfVEFTS0hBU0ggQkJQQVRIIEJCU0VSVkVSIERM
X0RJUiAgICAgU1NUQVRFX0RJUiBUSElTRElSIEZJTEVTRVhUUkFQQVRIUyBGSUxFX0RJUk5BTUUg
SE9NRSBMT0dOQU1FIFNIRUxMIFRFUk0gICAgIFVTRVIgRklMRVNQQVRIIFNUQUdJTkdfRElSX0hP
U1QgU1RBR0lOR19ESVJfVEFSR0VUIENPUkVCQVNFIFBSU0VSVl9IT1NUICAgICBTVEFNUFNfRElS
IFBSU0VSVl9EVU1QRElSIFBSU0VSVl9EVU1QRklMRSBQUlNFUlZfTE9DS0RPV04gUEFSQUxMRUxf
TUFLRSAgICAgQ0NBQ0hFX0RJUiBFWFRFUk5BTF9UT09MQ0hBSU4gQ0NBQ0hFIENDQUNIRV9OT0hB
U0hESVIgTElDRU5TRV9QQVRIIFNES1BLR1NVRkZJWCAgICAgV0FSTl9RQSBFUlJPUl9RQSBXT1JL
RElSIFNUQU1QQ0xFQU4gUEtHREFUQV9ESVIgQlVJTERfQVJDSCBTU1RBVEVfUEtHQVJDSCAgICAg
QkJfV09SS0VSQ09OVEVYVCBCQl9MSU1JVEVEREVQUyBCQl9VTklIQVNIIGV4dGVuZF9yZWNpcGVf
c3lzcm9vdCBERVBMT1lfRElSICAgICBTU1RBVEVfSEFTSEVRVUlWX01FVEhPRCBTU1RBVEVfSEFT
SEVRVUlWX1JFUE9SVF9UQVNLREFUQSAgICAgU1NUQVRFX0hBU0hFUVVJVl9PV05FUiBDQ0FDSEVf
VE9QX0RJUiBCQl9IQVNIU0VSVkUiCiMKIyAkQkJfSEFTSENIRUNLX0ZVTkNUSU9OCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczo4MTkKIyAgICAgInNz
dGF0ZV9jaGVja2hhc2hlcyIKQkJfSEFTSENIRUNLX0ZVTkNUSU9OPSJzc3RhdGVfY2hlY2toYXNo
ZXMiCiMKIyAkQkJfSEFTSENPTkZJR19XSElURUxJU1QgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8g
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODgyCiMgICAgICIke0JCX0hB
U0hCQVNFX1dISVRFTElTVH0gREFURSBUSU1FIFNTSF9BR0VOVF9QSUQgICAgIFNTSF9BVVRIX1NP
Q0sgUFNFVURPX0JVSUxEIEJCX0VOVl9FWFRSQVdISVRFIERJU0FCTEVfU0FOSVRZX0NIRUNLUyAg
ICAgUEFSQUxMRUxfTUFLRSBCQl9OVU1CRVJfVEhSRUFEUyBCQl9PUklHRU5WIEJCX0lOVkFMSURD
T05GIEJCSU5DTFVERUQgICAgIEdJVF9QUk9YWV9DT01NQU5EIEFMTF9QUk9YWSBhbGxfcHJveHkg
Tk9fUFJPWFkgbm9fcHJveHkgRlRQX1BST1hZIGZ0cF9wcm94eSAgICAgSFRUUF9QUk9YWSBodHRw
X3Byb3h5IEhUVFBTX1BST1hZIGh0dHBzX3Byb3h5IFNPQ0tTNV9VU0VSIFNPQ0tTNV9QQVNTV0Qg
ICAgIEJCX1NFVFNDRU5FX0VORk9SQ0UgQkJfQ01ETElORSBCQl9TRVJWRVJfVElNRU9VVCIKIyAg
IGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3VuaW5hdGl2ZS5iYmNsYXNzOjEz
CiMgICAgICJOQVRJVkVMU0JTVFJJTkcgU1NUQVRFUE9TVFVOUEFDS0ZVTkNTIEJVSUxEX0xERkxB
R1MiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0JCX0hBU0hCQVNFX1dISVRFTElTVH0g
REFURSBUSU1FIFNTSF9BR0VOVF9QSUQgICAgIFNTSF9BVVRIX1NPQ0sgUFNFVURPX0JVSUxEIEJC
X0VOVl9FWFRSQVdISVRFIERJU0FCTEVfU0FOSVRZX0NIRUNLUyAgICAgUEFSQUxMRUxfTUFLRSBC
Ql9OVU1CRVJfVEhSRUFEUyBCQl9PUklHRU5WIEJCX0lOVkFMSURDT05GIEJCSU5DTFVERUQgICAg
IEdJVF9QUk9YWV9DT01NQU5EIEFMTF9QUk9YWSBhbGxfcHJveHkgTk9fUFJPWFkgbm9fcHJveHkg
RlRQX1BST1hZIGZ0cF9wcm94eSAgICAgSFRUUF9QUk9YWSBodHRwX3Byb3h5IEhUVFBTX1BST1hZ
IGh0dHBzX3Byb3h5IFNPQ0tTNV9VU0VSIFNPQ0tTNV9QQVNTV0QgICAgIEJCX1NFVFNDRU5FX0VO
Rk9SQ0UgQkJfQ01ETElORSBCQl9TRVJWRVJfVElNRU9VVCBOQVRJVkVMU0JTVFJJTkcgU1NUQVRF
UE9TVFVOUEFDS0ZVTkNTIEJVSUxEX0xERkxBR1MiCkJCX0hBU0hDT05GSUdfV0hJVEVMSVNUPSJU
TVBESVIgRklMRSBQQVRIIFBXRCBCQl9UQVNLSEFTSCBCQlBBVEggQkJTRVJWRVIgRExfRElSICAg
ICBTU1RBVEVfRElSIFRISVNESVIgRklMRVNFWFRSQVBBVEhTIEZJTEVfRElSTkFNRSBIT01FIExP
R05BTUUgU0hFTEwgVEVSTSAgICAgVVNFUiBGSUxFU1BBVEggU1RBR0lOR19ESVJfSE9TVCBTVEFH
SU5HX0RJUl9UQVJHRVQgQ09SRUJBU0UgUFJTRVJWX0hPU1QgICAgIFNUQU1QU19ESVIgUFJTRVJW
X0RVTVBESVIgUFJTRVJWX0RVTVBGSUxFIFBSU0VSVl9MT0NLRE9XTiBQQVJBTExFTF9NQUtFICAg
ICBDQ0FDSEVfRElSIEVYVEVSTkFMX1RPT0xDSEFJTiBDQ0FDSEUgQ0NBQ0hFX05PSEFTSERJUiBM
SUNFTlNFX1BBVEggU0RLUEtHU1VGRklYICAgICBXQVJOX1FBIEVSUk9SX1FBIFdPUktESVIgU1RB
TVBDTEVBTiBQS0dEQVRBX0RJUiBCVUlMRF9BUkNIIFNTVEFURV9QS0dBUkNIICAgICBCQl9XT1JL
RVJDT05URVhUIEJCX0xJTUlURURERVBTIEJCX1VOSUhBU0ggZXh0ZW5kX3JlY2lwZV9zeXNyb290
IERFUExPWV9ESVIgICAgIFNTVEFURV9IQVNIRVFVSVZfTUVUSE9EIFNTVEFURV9IQVNIRVFVSVZf
UkVQT1JUX1RBU0tEQVRBICAgICBTU1RBVEVfSEFTSEVRVUlWX09XTkVSIENDQUNIRV9UT1BfRElS
IEJCX0hBU0hTRVJWRSBEQVRFIFRJTUUgU1NIX0FHRU5UX1BJRCAgICAgU1NIX0FVVEhfU09DSyBQ
U0VVRE9fQlVJTEQgQkJfRU5WX0VYVFJBV0hJVEUgRElTQUJMRV9TQU5JVFlfQ0hFQ0tTICAgICBQ
QVJBTExFTF9NQUtFIEJCX05VTUJFUl9USFJFQURTIEJCX09SSUdFTlYgQkJfSU5WQUxJRENPTkYg
QkJJTkNMVURFRCAgICAgR0lUX1BST1hZX0NPTU1BTkQgQUxMX1BST1hZIGFsbF9wcm94eSBOT19Q
Uk9YWSBub19wcm94eSBGVFBfUFJPWFkgZnRwX3Byb3h5ICAgICBIVFRQX1BST1hZIGh0dHBfcHJv
eHkgSFRUUFNfUFJPWFkgaHR0cHNfcHJveHkgU09DS1M1X1VTRVIgU09DS1M1X1BBU1NXRCAgICAg
QkJfU0VUU0NFTkVfRU5GT1JDRSBCQl9DTURMSU5FIEJCX1NFUlZFUl9USU1FT1VUIE5BVElWRUxT
QlNUUklORyBTU1RBVEVQT1NUVU5QQUNLRlVOQ1MgQlVJTERfTERGTEFHUyIKIwojICRCQl9IQVNI
RklMRU5BTUUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNs
YXNzOjQ5CiMgICAgICJGYWxzZSAke1NTVEFURV9QS0dTUEVDfSAke1NTVEFURV9TV1NQRUN9IgpC
Ql9IQVNIRklMRU5BTUU9IkZhbHNlIHNzdGF0ZTpleGFtcGxlOmNvcmUyLTY0LXBva3ktbGludXg6
MC4xOnIwOmNvcmUyLTY0OjM6IHNzdGF0ZTpleGFtcGxlOjowLjE6cjA6OjM6IgojCiMgJEJCX01J
Tl9WRVJTSU9OCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9zYW5pdHkuY29uZjo2
CiMgICAgICIxLjQzLjIiCkJCX01JTl9WRVJTSU9OPSIxLjQzLjIiCiMKIyAkQkJfTlVNQkVSX1RI
UkVBRFMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjo4MQojICAgICBbZG9jXSAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHRh
c2tzIEJpdEJha2Ugc2hvdWxkIHJ1biBpbiBwYXJhbGxlbCBhdCBhbnkgb25lIHRpbWUuIEEgZ29v
ZCBydWxlIG9mIHRodW1iIGlzIHRvIHNldCB0aGlzIHZhcmlhYmxlIHRvIHR3aWNlIHRoZSBudW1i
ZXIgb2YgY29yZXMuIgojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo3OTAKIyAgICAgIiR7QG9lLnV0aWxzLmNwdV9jb3VudCgpfSIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIiR7QG9lLnV0aWxzLmNwdV9jb3VudCgpfSIKQkJfTlVNQkVSX1RIUkVBRFM9
IjQiCiMKIyAkQkJfT1JJR0VOVgojICAgc2V0IGNvb2tlcmRhdGEucHk6MjYyIFtfX2luaXRfX10K
IyAgICAgIjxiYi5kYXRhX3NtYXJ0LkRhdGFTbWFydCBvYmplY3QgYXQgMHg3ZmJhN2QyYWYwODA+
IgpCQl9PUklHRU5WPSI8YmIuZGF0YV9zbWFydC5EYXRhU21hcnQgb2JqZWN0IGF0IDB4N2ZiYTdi
MDllNWMwPiIKIwojICRCQl9TRVRTQ0VORV9ERVBWQUxJRAojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6OTcxCiMgICAgICJzZXRzY2VuZV9kZXB2YWxp
ZCIKQkJfU0VUU0NFTkVfREVQVkFMSUQ9InNldHNjZW5lX2RlcHZhbGlkIgojCiMgJEJCX1NJR05B
VFVSRV9FWENMVURFX0ZMQUdTCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjg4OAojICAgICAiZG9jIGRlcHMgZGVwZW5kcyAgICAgbG9ja2ZpbGVzIHR5cGUg
dmFyZGVwc2V4Y2x1ZGUgdmFyZGVwcyB2YXJkZXB2YWx1ZSB2YXJkZXB2YWx1ZWV4Y2x1ZGUgICAg
IGZpbGUtY2hlY2tzdW1zIHB5dGhvbiBmdW5jIHRhc2sgZXhwb3J0IHVuZXhwb3J0IG5vZXhlYyBu
b3N0YW1wIGRpcnMgY2xlYW5kaXJzICAgICBzc3RhdGUtbG9ja2ZpbGUtc2hhcmVkIHByZWZ1bmNz
IHBvc3RmdW5jcyBleHBvcnRfZnVuYyBkZXB0YXNrIHJkZXB0YXNrICAgICByZWNyZGVwdGFzayBu
b2RlcHJyZWNzIHN0YW1wLWV4dHJhLWluZm8gc3N0YXRlLW91dHB1dGRpcnMgZmlsZW5hbWUgbGlu
ZW5vICAgICBwcm9ncmVzcyBtY2RlcGVuZHMiCkJCX1NJR05BVFVSRV9FWENMVURFX0ZMQUdTPSJk
b2MgZGVwcyBkZXBlbmRzICAgICBsb2NrZmlsZXMgdHlwZSB2YXJkZXBzZXhjbHVkZSB2YXJkZXBz
IHZhcmRlcHZhbHVlIHZhcmRlcHZhbHVlZXhjbHVkZSAgICAgZmlsZS1jaGVja3N1bXMgcHl0aG9u
IGZ1bmMgdGFzayBleHBvcnQgdW5leHBvcnQgbm9leGVjIG5vc3RhbXAgZGlycyBjbGVhbmRpcnMg
ICAgIHNzdGF0ZS1sb2NrZmlsZS1zaGFyZWQgcHJlZnVuY3MgcG9zdGZ1bmNzIGV4cG9ydF9mdW5j
IGRlcHRhc2sgcmRlcHRhc2sgICAgIHJlY3JkZXB0YXNrIG5vZGVwcnJlY3Mgc3RhbXAtZXh0cmEt
aW5mbyBzc3RhdGUtb3V0cHV0ZGlycyBmaWxlbmFtZSBsaW5lbm8gICAgIHByb2dyZXNzIG1jZGVw
ZW5kcyIKIwojICRCQl9TSUdOQVRVUkVfSEFORExFUgojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo4NjcKIyAgICAgIk9FQmFzaWNIYXNoIgpCQl9TSUdOQVRV
UkVfSEFORExFUj0iT0VCYXNpY0hhc2giCiMKIyAkQkJfU1RSSUNUX0NIRUNLU1VNCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3Zh
cnMuaW5jOjM2CiMgICAgICIxIgpCQl9TVFJJQ1RfQ0hFQ0tTVU09IjEiCiMKIyAkQkJfVU5JSEFT
SAojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo4OTcKIyAg
ICAgIiR7QkJfVEFTS0hBU0h9IgpCQl9VTklIQVNIPSJcJHtCQl9UQVNLSEFTSH0iCiMKIyAkQkJf
VkVSU0lPTgojICAgc2V0IGJhc2UuYmJjbGFzczoyMzYgW2Jhc2VfZXZlbnRoYW5kbGVyXQojICAg
ICAiMS40NC4wIgpCQl9WRVJTSU9OPSIxLjQ0LjAiCiMKIyAkQklOQ09ORklHX0dMT0IKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo5MwojICAgICBb
ZG9jXSAiV2hlbiBpbmhlcml0aW5nIGJpbmNvbmZpZy5iYmNsYXNzIGZyb20gYSByZWNpcGUsIHRo
aXMgdmFyaWFibGUgc3BlY2lmaWVzIGEgd2lsZGNhcmQgZm9yIGNvbmZpZ3VyYXRpb24gc2NyaXB0
cyB0aGF0IG5lZWQgZWRpdGluZy4iCiMKIyAkQklOVVZFUlNJT04KIyAgIHNldD8gL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MjEKIyAg
ICAgIjIuMzIlIgpCSU5VVkVSU0lPTj0iMi4zMiUiCiMKIyAkQlAgWzIgb3BlcmF0aW9uc10KIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyMjUKIyAgICAgIiR7
QlBOfS0ke1BWfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjo5NAojICAgICBbZG9jXSAiVGhlIGJhc2UgcmVjaXBlIG5hbWUgYW5kIHZlcnNpb24g
YnV0IHdpdGhvdXQgYW55IHNwZWNpYWwgcmVjaXBlIG5hbWUgc3VmZml4IChpLmUuIC1uYXRpdmUs
IGxpYjY0LSwgYW5kIHNvIGZvcnRoKS4gQlAgaXMgY29tcHJpc2VkIG9mICR7QlBOfS0ke1BWfSIK
IyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QlBOfS0ke1BWfSIKQlA9ImV4YW1wbGUtMC4x
IgojCiMgJEJQTiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjIyNAojICAgICAiJHtAb2UudXRpbHMucHJ1bmVfc3VmZml4KGQuZ2V0
VmFyKCdQTicpLCBkLmdldFZhcignU1BFQ0lBTF9QS0dTVUZGSVgnKS5zcGxpdCgpLCBkKX0iCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6OTUKIyAg
ICAgW2RvY10gIlRoZSBiYXJlIG5hbWUgb2YgdGhlIHJlY2lwZS4gVGhpcyB2YXJpYWJsZSBpcyBh
IHZlcnNpb24gb2YgdGhlIFBOIHZhcmlhYmxlIGJ1dCByZW1vdmVzIGNvbW1vbiBzdWZmaXhlcyBh
bmQgcHJlZml4ZXMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtAb2UudXRpbHMucHJ1
bmVfc3VmZml4KGQuZ2V0VmFyKCdQTicpLCBkLmdldFZhcignU1BFQ0lBTF9QS0dTVUZGSVgnKS5z
cGxpdCgpLCBkKX0iCkJQTj0iZXhhbXBsZSIKIwojICRCVUdUUkFDS0VSCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6OTYKIyAgICAgW2RvY10gIlNw
ZWNpZmllcyBhIFVSTCBmb3IgYW4gdXBzdHJlYW0gYnVnIHRyYWNraW5nIHdlYnNpdGUgZm9yIGEg
cmVjaXBlLiIKIwojICRCVUlMRENGR19GVU5DUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzOjIwNwojICAgICBbX2RlZmF1bHR2
YWxdICJidWlsZGNmZ192YXJzIGdldF9sYXllcnNfYnJhbmNoX3JldiBidWlsZGNmZ19uZWVkZWR2
YXJzIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzOjIw
OAojICAgICBbdHlwZV0gImxpc3QiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJidWlsZGNm
Z192YXJzIGdldF9sYXllcnNfYnJhbmNoX3JldiBidWlsZGNmZ19uZWVkZWR2YXJzIgpCVUlMRENG
R19GVU5DUz0iYnVpbGRjZmdfdmFycyBnZXRfbGF5ZXJzX2JyYW5jaF9yZXYgYnVpbGRjZmdfbmVl
ZGVkdmFycyIKIwojICRCVUlMRENGR19IRUFERVIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo3MDMKIyAgICAgIkJ1aWxkIENvbmZpZ3VyYXRpb246IgpCVUlM
RENGR19IRUFERVI9IkJ1aWxkIENvbmZpZ3VyYXRpb246IgojCiMgJEJVSUxEQ0ZHX05FRURFRFZB
UlMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo3MDYKIyAgICAgIlRBUkdFVF9BUkNIIFRBUkdFVF9PUyIKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3MDcKIyAgICAgW3R5cGVdICJsaXN0Igoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiVEFSR0VUX0FSQ0ggVEFSR0VUX09TIgpCVUlMRENG
R19ORUVERURWQVJTPSJUQVJHRVRfQVJDSCBUQVJHRVRfT1MiCiMKIyAkQlVJTERDRkdfVkFSUyBb
MiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjcwNAojICAgICAiQkJfVkVSU0lPTiBCVUlMRF9TWVMgTkFUSVZFTFNCU1RSSU5HIFRBUkdF
VF9TWVMgTUFDSElORSBESVNUUk8gRElTVFJPX1ZFUlNJT04gVFVORV9GRUFUVVJFUyBUQVJHRVRf
RlBVIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjcwNQoj
ICAgICBbdHlwZV0gImxpc3QiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJCQl9WRVJTSU9O
IEJVSUxEX1NZUyBOQVRJVkVMU0JTVFJJTkcgVEFSR0VUX1NZUyBNQUNISU5FIERJU1RSTyBESVNU
Uk9fVkVSU0lPTiBUVU5FX0ZFQVRVUkVTIFRBUkdFVF9GUFUiCkJVSUxEQ0ZHX1ZBUlM9IkJCX1ZF
UlNJT04gQlVJTERfU1lTIE5BVElWRUxTQlNUUklORyBUQVJHRVRfU1lTIE1BQ0hJTkUgRElTVFJP
IERJU1RST19WRVJTSU9OIFRVTkVfRkVBVFVSRVMgVEFSR0VUX0ZQVSIKIwojICRCVUlMRERJUgoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjk5CiMg
ICAgIFtkb2NdICJQb2ludHMgdG8gdGhlIGxvY2F0aW9uIG9mIHRoZSBCdWlsZCBEaXJlY3Rvcnku
IgojCiMgJEJVSUxEU0RLX0NGTEFHUwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjU2OQojICAgICAiJHtCVUlMRFNES19DUFBGTEFHU30gJHtCVUlMRF9PUFRJ
TUlaQVRJT059ICR7REVCVUdfUFJFRklYX01BUH0iCkJVSUxEU0RLX0NGTEFHUz0iIC1PMiAtcGlw
ZSAtZm1hY3JvLXByZWZpeC1tYXA9L2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUy
LTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjA9L3Vzci9zcmMvZGVidWcvZXhhbXBsZS8wLjEt
cjAgICAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9ob21lL3VzZXIvcG9r
eS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwPS91c3Iv
c3JjL2RlYnVnL2V4YW1wbGUvMC4xLXIwICAgICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJl
Zml4LW1hcD0vaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51
eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdD0gICAgICAgICAgICAgICAgICAgICAgLWZk
ZWJ1Zy1wcmVmaXgtbWFwPS9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1w
b2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZT0gIgojCiMgJEJV
SUxEU0RLX0NQUEZMQUdTCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NTY0CiMgICAgICIiCkJVSUxEU0RLX0NQUEZMQUdTPSIiCiMKIyAkQlVJTERTREtfQ1hY
RkxBR1MKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NzQK
IyAgICAgIiR7QlVJTERTREtfQ0ZMQUdTfSIKQlVJTERTREtfQ1hYRkxBR1M9IiAtTzIgLXBpcGUg
LWZtYWNyby1wcmVmaXgtbWFwPS9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02
NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwPS91c3Ivc3JjL2RlYnVnL2V4YW1wbGUvMC4xLXIw
ICAgICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJlZml4LW1hcD0vaG9tZS91c2VyL3Bva3kv
YnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMD0vdXNyL3Ny
Yy9kZWJ1Zy9leGFtcGxlLzAuMS1yMCAgICAgICAgICAgICAgICAgICAgICAtZmRlYnVnLXByZWZp
eC1tYXA9L2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgv
ZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3Q9ICAgICAgICAgICAgICAgICAgICAgIC1mZGVi
dWctcHJlZml4LW1hcD0vaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9r
eS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmU9ICIKIwojICRCVUlM
RFNES19MREZMQUdTCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6NTg3CiMgICAgICItV2wsLU8xIgpCVUlMRFNES19MREZMQUdTPSItV2wsLU8xIgojCiMgJEJV
SUxEU1RBVFNfQkFTRSBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjEwMAojICAgICBbZG9jXSAiUG9pbnRzIHRvIHRoZSBs
b2NhdGlvbiBvZiB0aGUgZGlyZWN0b3J5IHRoYXQgaG9sZHMgYnVpbGQgc3RhdGlzdGljcyB3aGVu
IHlvdSB1c2UgYW5kIGVuYWJsZSB0aGUgYnVpbGRzdGF0cyBjbGFzcy4iCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY2xhc3Nlcy9idWlsZHN0YXRzLmJiY2xhc3M6MQojICAgICAiJHtUTVBE
SVJ9L2J1aWxkc3RhdHMvIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUTVBESVJ9L2J1
aWxkc3RhdHMvIgpCVUlMRFNUQVRTX0JBU0U9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvYnVp
bGRzdGF0cy8iCiMKIyAkQlVJTERfQVIgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU0MQojICAgICBbZXhwb3J0XSAiMSIK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NDEKIyAgICAg
IiR7QlVJTERfUFJFRklYfWFyIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtCVUlMRF9Q
UkVGSVh9YXIiCmV4cG9ydCBCVUlMRF9BUj0iYXIiCiMKIyAkQlVJTERfQVJDSCBbMiBvcGVyYXRp
b25zXQojICAgaW1tZWRpYXRlIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
Ojk4CiMgICAgICIke0Bvcy51bmFtZSgpWzRdfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo5NwojICAgICBbZG9jXSAiVGhlIG5hbWUgb2YgdGhl
IGJ1aWxkaW5nIGFyY2hpdGVjdHVyZSAoZS5nLiBpNjg2KS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICJ4ODZfNjQiCkJVSUxEX0FSQ0g9Ing4Nl82NCIKIwojICRCVUlMRF9BUyBbMiBvcGVy
YXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6NTQyCiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjU0MgojICAgICAiJHtCVUlMRF9QUkVGSVh9YXMgJHtCVUlMRF9BU19B
UkNIfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QlVJTERfUFJFRklYfWFzICR7QlVJ
TERfQVNfQVJDSH0iCmV4cG9ydCBCVUlMRF9BUz0iYXMgIgojCiMgJEJVSUxEX0FTX0FSQ0gKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMDUKIyAgICAgIiIK
QlVJTERfQVNfQVJDSD0iIgojCiMgJEJVSUxEX0NDIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRl
ZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MzUKIyAgICAgW2V4cG9y
dF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTM1
CiMgICAgICIke0NDQUNIRX0ke0JVSUxEX1BSRUZJWH1nY2MgJHtCVUlMRF9DQ19BUkNIfSIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7Q0NBQ0hFfSR7QlVJTERfUFJFRklYfWdjYyAke0JV
SUxEX0NDX0FSQ0h9IgpleHBvcnQgQlVJTERfQ0M9ImdjYyAiCiMKIyAkQlVJTERfQ0NMRCBbMiBv
cGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NTQwCiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjU0MAojICAgICAiJHtCVUlMRF9QUkVGSVh9Z2NjICR7QlVJTERf
Q0NfQVJDSH0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0JVSUxEX1BSRUZJWH1nY2Mg
JHtCVUlMRF9DQ19BUkNIfSIKZXhwb3J0IEJVSUxEX0NDTEQ9ImdjYyAiCiMKIyAkQlVJTERfQ0Nf
QVJDSAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEwMwoj
ICAgICAiIgpCVUlMRF9DQ19BUkNIPSIiCiMKIyAkQlVJTERfQ0ZMQUdTIFszIG9wZXJhdGlvbnNd
CiMgICBleHBvcnRlZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NjgK
IyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6NTY4CiMgICAgICIke0JVSUxEX0NQUEZMQUdTfSAke0JVSUxEX09QVElNSVpBVElP
Tn0iCiMgICBfYXBwZW5kW3BuLWJpbnV0aWxzLW5hdGl2ZV0gL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS91bmluYXRpdmUtZmxhZ3MuaW5jOjcKIyAgICAgIiAtcGllIC1m
cGllIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtCVUlMRF9DUFBGTEFHU30gJHtCVUlM
RF9PUFRJTUlaQVRJT059IgpleHBvcnQgQlVJTERfQ0ZMQUdTPSItaXN5c3RlbS9ob21lL3VzZXIv
cG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3Jl
Y2lwZS1zeXNyb290LW5hdGl2ZS91c3IvaW5jbHVkZSAtTzIgLXBpcGUiCiMKIyAkQlVJTERfQ1BQ
IFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo1MzgKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTM4CiMgICAgICIke0JVSUxEX1BSRUZJWH1nY2MgJHtC
VUlMRF9DQ19BUkNIfSAtRSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QlVJTERfUFJF
RklYfWdjYyAke0JVSUxEX0NDX0FSQ0h9IC1FIgpleHBvcnQgQlVJTERfQ1BQPSJnY2MgIC1FIgoj
CiMgJEJVSUxEX0NQUEZMQUdTIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NjMKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTYzCiMgICAgICItaXN5
c3RlbSR7U1RBR0lOR19JTkNESVJfTkFUSVZFfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
Ii1pc3lzdGVtJHtTVEFHSU5HX0lOQ0RJUl9OQVRJVkV9IgpleHBvcnQgQlVJTERfQ1BQRkxBR1M9
Ii1pc3lzdGVtL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGlu
dXgvZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9pbmNsdWRlIgojCiMg
JEJVSUxEX0NYWCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6NTM2CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUzNgojICAgICAiJHtDQ0FDSEV9JHtC
VUlMRF9QUkVGSVh9ZysrICR7QlVJTERfQ0NfQVJDSH0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIke0NDQUNIRX0ke0JVSUxEX1BSRUZJWH1nKysgJHtCVUlMRF9DQ19BUkNIfSIKZXhwb3J0
IEJVSUxEX0NYWD0iZysrICIKIwojICRCVUlMRF9DWFhGTEFHUyBbMiBvcGVyYXRpb25zXQojICAg
ZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTczCiMgICAg
IFtleHBvcnRdICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjU3MwojICAgICAiJHtCVUlMRF9DRkxBR1N9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiJHtCVUlMRF9DRkxBR1N9IgpleHBvcnQgQlVJTERfQ1hYRkxBR1M9Ii1pc3lzdGVtL2hvbWUv
dXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEt
cjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9pbmNsdWRlIC1PMiAtcGlwZSIKIwojICRCVUlM
RF9FWEVFWFQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjox
MDYKIyAgICAgIiIKQlVJTERfRVhFRVhUPSIiCiMKIyAkQlVJTERfRkMgWzIgb3BlcmF0aW9uc10K
IyAgIGV4cG9ydGVkIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUzNwoj
ICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo1MzcKIyAgICAgIiR7Q0NBQ0hFfSR7QlVJTERfUFJFRklYfWdmb3J0cmFuICR7QlVJ
TERfQ0NfQVJDSH0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0NDQUNIRX0ke0JVSUxE
X1BSRUZJWH1nZm9ydHJhbiAke0JVSUxEX0NDX0FSQ0h9IgpleHBvcnQgQlVJTERfRkM9Imdmb3J0
cmFuICIKIwojICRCVUlMRF9MRCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTM5CiMgICAgIFtleHBvcnRdICIxIgojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUzOQojICAgICAiJHtC
VUlMRF9QUkVGSVh9bGQgJHtCVUlMRF9MRF9BUkNIfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIiR7QlVJTERfUFJFRklYfWxkICR7QlVJTERfTERfQVJDSH0iCmV4cG9ydCBCVUlMRF9MRD0i
bGQgIgojCiMgJEJVSUxEX0xERkxBR1MgWzUgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU4NQojICAgICBbZXhwb3J0XSAiMSIK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1ODUKIyAgICAg
Ii1MJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9ICAgICAgICAgICAgICAgICAgICAgICAgIC1MJHtT
VEFHSU5HX0JBU0VfTElCRElSX05BVElWRX0gICAgICAgICAgICAgICAgICAgICAgICAgLVdsLC0t
ZW5hYmxlLW5ldy1kdGFncyAgICAgICAgICAgICAgICAgICAgICAgICAtV2wsLXJwYXRoLWxpbmss
JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9ICAgICAgICAgICAgICAgICAgICAgICAgIC1XbCwtcnBh
dGgtbGluaywke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSAgICAgICAgICAgICAgICAgICAg
ICAgICAtV2wsLXJwYXRoLCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSAgICAgICAgICAgICAgICAg
ICAgICAgICAtV2wsLXJwYXRoLCR7U1RBR0lOR19CQVNFX0xJQkRJUl9OQVRJVkV9ICAgICAgICAg
ICAgICAgICAgICAgICAgIC1XbCwtTzEiCiMgICBhcHBlbmQgdW5pbmF0aXZlLmJiY2xhc3M6MTMz
IFtlbmFibGVfdW5pbmF0aXZlXQojICAgICAiIC1XbCwtLWFsbG93LXNobGliLXVuZGVmaW5lZCAt
V2wsLS1keW5hbWljLWxpbmtlcj0ke1VOSU5BVElWRV9MT0FERVJ9IgojICAgYXBwZW5kIHVuaW5h
dGl2ZS5iYmNsYXNzOjEzNCBbZW5hYmxlX3VuaW5hdGl2ZV0KIyAgICAgW3ZhcmRlcHZhbHVlZXhj
bHVkZV0gInwgLVdsLC0tYWxsb3ctc2hsaWItdW5kZWZpbmVkIC1XbCwtLWR5bmFtaWMtbGlua2Vy
PSR7VU5JTkFUSVZFX0xPQURFUn0iCiMgICBhcHBlbmQgdW5pbmF0aXZlLmJiY2xhc3M6MTM1IFtl
bmFibGVfdW5pbmF0aXZlXQojICAgICBbdmFyZGVwc2V4Y2x1ZGVdICJVTklOQVRJVkVfTE9BREVS
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiLUwke1NUQUdJTkdfTElCRElSX05BVElWRX0g
ICAgICAgICAgICAgICAgICAgICAgICAgLUwke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSAg
ICAgICAgICAgICAgICAgICAgICAgICAtV2wsLS1lbmFibGUtbmV3LWR0YWdzICAgICAgICAgICAg
ICAgICAgICAgICAgIC1XbCwtcnBhdGgtbGluaywke1NUQUdJTkdfTElCRElSX05BVElWRX0gICAg
ICAgICAgICAgICAgICAgICAgICAgLVdsLC1ycGF0aC1saW5rLCR7U1RBR0lOR19CQVNFX0xJQkRJ
Ul9OQVRJVkV9ICAgICAgICAgICAgICAgICAgICAgICAgIC1XbCwtcnBhdGgsJHtTVEFHSU5HX0xJ
QkRJUl9OQVRJVkV9ICAgICAgICAgICAgICAgICAgICAgICAgIC1XbCwtcnBhdGgsJHtTVEFHSU5H
X0JBU0VfTElCRElSX05BVElWRX0gICAgICAgICAgICAgICAgICAgICAgICAgLVdsLC1PMSAtV2ws
LS1hbGxvdy1zaGxpYi11bmRlZmluZWQgLVdsLC0tZHluYW1pYy1saW5rZXI9JHtVTklOQVRJVkVf
TE9BREVSfSIKZXhwb3J0IEJVSUxEX0xERkxBR1M9Ii1ML2hvbWUvdXNlci9wb2t5L2J1aWxkL3Rt
cC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3Qt
bmF0aXZlL3Vzci9saWIgICAgICAgICAgICAgICAgICAgICAgICAgLUwvaG9tZS91c2VyL3Bva3kv
YnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUt
c3lzcm9vdC1uYXRpdmUvbGliICAgICAgICAgICAgICAgICAgICAgICAgIC1XbCwtLWVuYWJsZS1u
ZXctZHRhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgLVdsLC1ycGF0aC1saW5rLC9ob21lL3Vz
ZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIw
L3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3IvbGliICAgICAgICAgICAgICAgICAgICAgICAgIC1X
bCwtcnBhdGgtbGluaywvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9r
eS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvbGliICAgICAgICAg
ICAgICAgICAgICAgICAgIC1XbCwtcnBhdGgsL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3Jr
L2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZl
L3Vzci9saWIgICAgICAgICAgICAgICAgICAgICAgICAgLVdsLC1ycGF0aCwvaG9tZS91c2VyL3Bv
a3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNp
cGUtc3lzcm9vdC1uYXRpdmUvbGliICAgICAgICAgICAgICAgICAgICAgICAgIC1XbCwtTzEgLVds
LC0tYWxsb3ctc2hsaWItdW5kZWZpbmVkIC1XbCwtLWR5bmFtaWMtbGlua2VyPS9ob21lL3VzZXIv
cG9reS9idWlsZC90bXAvc3lzcm9vdHMtdW5pbmF0aXZlL3g4Nl82NC1saW51eC9saWIvbGQtbGlu
dXgteDg2LTY0LnNvLjIiCiMKIyAkQlVJTERfTERfQVJDSAojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEwNAojICAgICAiIgpCVUlMRF9MRF9BUkNIPSIiCiMK
IyAkQlVJTERfTk0gWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjU0NQojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NDUKIyAgICAgIiR7QlVJTERfUFJF
RklYfW5tIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtCVUlMRF9QUkVGSVh9bm0iCmV4
cG9ydCBCVUlMRF9OTT0ibm0iCiMKIyAkQlVJTERfT1BUSU1JWkFUSU9OIFsyIG9wZXJhdGlvbnNd
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjIyCiMgICAg
ICIke0BvZS51dGlscy52YXJ0cnVlKCdERUJVR19CVUlMRCcsICctT2cgLWcgLWZlbGltaW5hdGUt
dW51c2VkLWRlYnVnLXR5cGVzJywgJy1PMicsIGQpfSAtcGlwZSIKIyAgIGFwcGVuZCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MjMKIyAgICAgW3ZhcmRlcHNdICJERUJV
R19CVUlMRCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QG9lLnV0aWxzLnZhcnRydWUo
J0RFQlVHX0JVSUxEJywgJy1PZyAtZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMnLCAn
LU8yJywgZCl9IC1waXBlIgpCVUlMRF9PUFRJTUlaQVRJT049Ii1PMiAtcGlwZSIKIwojICRCVUlM
RF9PUyBbMiBvcGVyYXRpb25zXQojICAgaW1tZWRpYXRlIC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjk5CiMgICAgICIke0Bvcy51bmFtZSgpWzBdLmxvd2VyKCl9IgojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjk4CiMgICAg
IFtkb2NdICJUaGUgb3BlcmF0aW5nIHN5c3RlbSAoaW4gbG93ZXIgY2FzZSkgb2YgdGhlIGJ1aWxk
aW5nIGFyY2hpdGVjdHVyZSAoZS5nLiBsaW51eCkuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAibGludXgiCkJVSUxEX09TPSJsaW51eCIKIwojICRCVUlMRF9QUkVGSVgKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMDIKIyAgICAgIiIKQlVJTERfUFJF
RklYPSIiCiMKIyAkQlVJTERfUkFOTElCIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NDMKIyAgICAgW2V4cG9ydF0gIjEi
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTQzCiMgICAg
ICIke0JVSUxEX1BSRUZJWH1yYW5saWIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0JV
SUxEX1BSRUZJWH1yYW5saWIiCmV4cG9ydCBCVUlMRF9SQU5MSUI9InJhbmxpYiIKIwojICRCVUlM
RF9TVFJJUCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6NTQ0CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU0NAojICAgICAiJHtCVUlMRF9QUkVGSVh9
c3RyaXAiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0JVSUxEX1BSRUZJWH1zdHJpcCIK
ZXhwb3J0IEJVSUxEX1NUUklQPSJzdHJpcCIKIwojICRCVUlMRF9TWVMKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMDEKIyAgICAgIiR7QlVJTERfQVJDSH0k
e0JVSUxEX1ZFTkRPUn0tJHtCVUlMRF9PU30iCkJVSUxEX1NZUz0ieDg2XzY0LWxpbnV4IgojCiMg
JEJVSUxEX1ZFTkRPUgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjEwMAojICAgICAiIgpCVUlMRF9WRU5ET1I9IiIKIwojICRCVVNZQk9YX1NQTElUX1NVSUQK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMDEK
IyAgICAgW2RvY10gIkZvciB0aGUgQnVzeUJveCByZWNpcGUsIHNwZWNpZmllcyB3aGV0aGVyIHRv
IHNwbGl0IHRoZSBvdXRwdXQgZXhlY3V0YWJsZSBmaWxlIGludG8gdHdvIHBhcnRzOiBvbmUgZm9y
IGZlYXR1cmVzIHRoYXQgcmVxdWlyZSBzZXR1aWQgcm9vdCwgYW5kIG9uZSBmb3IgdGhlIHJlbWFp
bmluZyBmZWF0dXJlcy4iCiMKIyAkQ0FDSEUgWzQgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNTkKIyAgICAgIiR7VE1QRElSfS9jYWNo
ZSR7QFsnJywgJy8nICsgc3RyKGQuZ2V0VmFyKCdNQUNISU5FJykpXVtib29sKGQuZ2V0VmFyKCdN
QUNISU5FJykpXX0ke0BbJycsICcvJyArIHN0cihkLmdldFZhcignU0RLTUFDSElORScpKV1bYm9v
bChkLmdldFZhcignU0RLTUFDSElORScpKV19IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mOjE4CiMgICAgICIke1RNUERJUn0vY2FjaGUv
JHtUQ01PREV9LSR7VENMSUJDfSR7QFsnJywgJy8nICsgc3RyKGQuZ2V0VmFyKCdNQUNISU5FJykp
XVtib29sKGQuZ2V0VmFyKCdNQUNISU5FJykpXX0ke0BbJycsICcvJyArIHN0cihkLmdldFZhcign
U0RLTUFDSElORScpKV1bYm9vbChkLmdldFZhcignU0RLTUFDSElORScpKV19IgojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjEwNQojICAgICBbZG9j
XSAiVGhlIGRpcmVjdG9yeSBob2xkaW5nIHRoZSBjYWNoZSBvZiB0aGUgbWV0YWRhdGEuIgojICAg
aW1tZWRpYXRlIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjc4NwojICAg
ICAiJHtDQUNIRX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvaG9tZS91c2VyL3Bva3kv
YnVpbGQvdG1wL2NhY2hlL2RlZmF1bHQtZ2xpYmMvcWVtdXg4Ni02NC94ODZfNjQiCkNBQ0hFPSIv
aG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL2NhY2hlL2RlZmF1bHQtZ2xpYmMvcWVtdXg4Ni02NC94
ODZfNjQiCiMKIyAkQ0MgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUxOAojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MTgKIyAgICAgIiR7Q0NBQ0hF
fSR7SE9TVF9QUkVGSVh9Z2NjICR7SE9TVF9DQ19BUkNIfSR7VE9PTENIQUlOX09QVElPTlN9Igoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtDQ0FDSEV9JHtIT1NUX1BSRUZJWH1nY2MgJHtI
T1NUX0NDX0FSQ0h9JHtUT09MQ0hBSU5fT1BUSU9OU30iCmV4cG9ydCBDQz0ieDg2XzY0LXBva3kt
bGludXgtZ2NjICAtbTY0IC1tYXJjaD1jb3JlMiAtbXR1bmU9Y29yZTIgLW1zc2UzIC1tZnBtYXRo
PXNzZSAtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcgIC1EX0ZPUlRJRllfU09VUkNFPTIgLVdmb3Jt
YXQgLVdmb3JtYXQtc2VjdXJpdHkgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkgLS1zeXNyb290PS9o
b21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUv
MC4xLXIwL3JlY2lwZS1zeXNyb290IgojCiMgJENDQUNIRQojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUxNAojICAgICBbX2RlZmF1bHR2YWxdICIiCkNDQUNI
RT0iIgojCiMgJENDTEQgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUyMwojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MjMKIyAgICAgIiR7Q0N9Igoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtDQ30iCmV4cG9ydCBDQ0xEPSJ4ODZfNjQtcG9r
eS1saW51eC1nY2MgIC1tNjQgLW1hcmNoPWNvcmUyIC1tdHVuZT1jb3JlMiAtbXNzZTMgLW1mcG1h
dGg9c3NlIC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyAgLURfRk9SVElGWV9TT1VSQ0U9MiAtV2Zv
cm1hdCAtV2Zvcm1hdC1zZWN1cml0eSAtV2Vycm9yPWZvcm1hdC1zZWN1cml0eSAtLXN5c3Jvb3Q9
L2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBs
ZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3QiCiMKIyAkQ0ZMQUdTIFszIG9wZXJhdGlvbnNdCiMgICBl
eHBvcnRlZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NzAKIyAgICAg
W2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6NTcwCiMgICAgICIke1RBUkdFVF9DRkxBR1N9IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjEwNgojICAgICBbZG9jXSAiRmxhZ3MgcGFzc2Vk
IHRvIHRoZSBDIGNvbXBpbGVyIGZvciB0aGUgdGFyZ2V0IHN5c3RlbS4gVGhpcyB2YXJpYWJsZSBl
dmFsdWF0ZXMgdG8gdGhlIHNhbWUgYXMgVEFSR0VUX0NGTEFHUy4iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIke1RBUkdFVF9DRkxBR1N9IgpleHBvcnQgQ0ZMQUdTPSIgLU8yIC1waXBlIC1n
IC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtZm1hY3JvLXByZWZpeC1tYXA9L2hvbWUv
dXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEt
cjA9L3Vzci9zcmMvZGVidWcvZXhhbXBsZS8wLjEtcjAgICAgICAgICAgICAgICAgICAgICAgLWZk
ZWJ1Zy1wcmVmaXgtbWFwPS9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1w
b2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwPS91c3Ivc3JjL2RlYnVnL2V4YW1wbGUvMC4xLXIwICAg
ICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJlZml4LW1hcD0vaG9tZS91c2VyL3Bva3kvYnVp
bGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lz
cm9vdD0gICAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9ob21lL3VzZXIv
cG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3Jl
Y2lwZS1zeXNyb290LW5hdGl2ZT0gIgojCiMgJENIUlBBVEhfQklOCiMgICBzZXQ/IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NsYXNzZXMvY2hycGF0aC5iYmNsYXNzOjEKIyAgICAgImNocnBhdGgiCkNI
UlBBVEhfQklOPSJjaHJwYXRoIgojCiMgJENMQVNTT1ZFUlJJREUgWzMgb3BlcmF0aW9uc10KIyAg
IHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzM5CiMgICAgICJj
bGFzcy10YXJnZXQiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MTA3CiMgICAgIFtkb2NdICJBbiBpbnRlcm5hbCB2YXJpYWJsZSBzcGVjaWZ5aW5n
IHRoZSBzcGVjaWFsIGNsYXNzIG92ZXJyaWRlIHRoYXQgc2hvdWxkIGN1cnJlbnRseSBhcHBseSAo
ZS5nLiAiY2xhc3MtdGFyZ2V0IiwgImNsYXNzLW5hdGl2ZSIsIGFuZCBzbyBmb3J0aCkuIgojICAg
c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzczoyCiMgICAgICJj
bGFzcy10YXJnZXQiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJjbGFzcy10YXJnZXQiCkNM
QVNTT1ZFUlJJREU9ImNsYXNzLXRhcmdldCIKIwojICRDTEVBTkJST0tFTiBbMiBvcGVyYXRpb25z
XQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjEw
OAojICAgICBbZG9jXSAiU3BlY2lmaWVzIGlmICdtYWtlIGNsZWFuJyBkb2VzIG5vdCB3b3JrIGZv
ciBhIHJlY2lwZSAoYW5kIHRoZXJlZm9yZSB0aGUgYnVpbGQgc3lzdGVtIHNob3VsZCBub3QgdHJ5
IHRvIHVzZSBpdCBkdXJpbmcgZG9fY29uZmlndXJlKSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzczozMDMKIyAgICAgIjAiCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIwIgpDTEVBTkJST0tFTj0iMCIKIwojICRDTEVBTkZVTkNTIFsyIG9wZXJhdGlv
bnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvdXRpbGl0eS10YXNrcy5i
YmNsYXNzOjIwCiMgICAgICIiCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nl
cy9zc3RhdGUuYmJjbGFzczo1MzcKIyAgICAgInNzdGF0ZV9jbGVhbmFsbCIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgIiBzc3RhdGVfY2xlYW5hbGwiCkNMRUFORlVOQ1M9IiBzc3RhdGVfY2xl
YW5hbGwiCiMKIyAkQ09NQklORURfRkVBVFVSRVMgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMDkKIyAgICAgW2RvY10g
IkEgc2V0IG9mIGZlYXR1cmVzIGNvbW1vbiBiZXR3ZWVuIE1BQ0hJTkVfRkVBVFVSRVMgYW5kIERJ
U1RST19GRUFUVVJFUy4iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6ODMzCiMgICAgICIke0BvZS51dGlscy5zZXRfaW50ZXJzZWN0KCdESVNUUk9fRkVBVFVS
RVMnLCAnTUFDSElORV9GRUFUVVJFUycsIGQpfSIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo4MzQKIyAgICAgW3ZhcmRlcHNdICJESVNUUk9fRkVBVFVS
RVMgTUFDSElORV9GRUFUVVJFUyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QG9lLnV0
aWxzLnNldF9pbnRlcnNlY3QoJ0RJU1RST19GRUFUVVJFUycsICdNQUNISU5FX0ZFQVRVUkVTJywg
ZCl9IgpDT01CSU5FRF9GRUFUVVJFUz0iYmx1ZXRvb3RoIHBjaSB1c2JnYWRnZXQgYWxzYSIKIwoj
ICRDT01NRVJDSUFMX0FVRElPX1BMVUdJTlMKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjE5CiMgICAgICIiCkNP
TU1FUkNJQUxfQVVESU9fUExVR0lOUz0iIgojCiMgJENPTU1FUkNJQUxfVklERU9fUExVR0lOUwoj
ICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
ZGlzdHJvdmFycy5pbmM6MjEKIyAgICAgIiIKQ09NTUVSQ0lBTF9WSURFT19QTFVHSU5TPSIiCiMK
IyAkQ09NTU9OX0xJQ0VOU0VfRElSIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjI0CiMg
ICAgIFtfZGVmYXVsdHZhbF0gIiR7Q09SRUJBU0V9L21ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2Vz
IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjEx
MAojICAgICBbZG9jXSAiUG9pbnRzIHRvIG1ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzIGluIHRo
ZSBTb3VyY2UgRGlyZWN0b3J5LCB3aGljaCBpcyB3aGVyZSBnZW5lcmljIGxpY2Vuc2UgZmlsZXMg
cmVzaWRlLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7Q09SRUJBU0V9L21ldGEvZmls
ZXMvY29tbW9uLWxpY2Vuc2VzIgpDT01NT05fTElDRU5TRV9ESVI9Ii9ob21lL3VzZXIvcG9reS9t
ZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcyIKIwojICRDT01QQVRJQkxFX0hPU1QKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMTEKIyAgICAgW2Rv
Y10gIkEgcmVndWxhciBleHByZXNzaW9uIHRoYXQgcmVzb2x2ZXMgdG8gb25lIG9yIG1vcmUgaG9z
dHMgKHdoZW4gdGhlIHJlY2lwZSBpcyBuYXRpdmUpIG9yIG9uZSBvciBtb3JlIHRhcmdldHMgKHdo
ZW4gdGhlIHJlY2lwZSBpcyBub24tbmF0aXZlKSB3aXRoIHdoaWNoIGEgcmVjaXBlIGlzIGNvbXBh
dGlibGUuIgojCiMgJENPTVBBVElCTEVfTUFDSElORQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjExMgojICAgICBbZG9jXSAiQSByZWd1bGFyIGV4
cHJlc3Npb24gdGhhdCByZXNvbHZlcyB0byBvbmUgb3IgbW9yZSB0YXJnZXQgbWFjaGluZXMgd2l0
aCB3aGljaCBhIHJlY2lwZSBpcyBjb21wYXRpYmxlLiIKIwojICRDT01QTEVNRU5UQVJZX0dMT0IK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMTMK
IyAgICAgW2RvY10gIkRlZmluZXMgd2lsZGNhcmRzIHRvIG1hdGNoIHdoZW4gaW5zdGFsbGluZyBh
IGxpc3Qgb2YgY29tcGxlbWVudGFyeSBwYWNrYWdlcyBmb3IgYWxsIHRoZSBwYWNrYWdlcyBpbnN0
YWxsZWQgaW4gYW4gaW1hZ2UuIgojCiMgJENPTVBPTkVOVFNfRElSCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mzc1CiMgICAgICIke1NUQUdJTkdfRElSfS1j
b21wb25lbnRzIgpDT01QT05FTlRTX0RJUj0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC9zeXNy
b290cy1jb21wb25lbnRzIgojCiMgJENPTkZGSUxFUwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjExNAojICAgICBbZG9jXSAiSWRlbnRpZmllcyBl
ZGl0YWJsZSBvciBjb25maWd1cmFibGUgZmlsZXMgdGhhdCBhcmUgcGFydCBvZiBhIHBhY2thZ2Uu
IgojCiMgJENPTkZJR1VSRVNUQU1QRklMRQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Ns
YXNzZXMvYmFzZS5iYmNsYXNzOjMwMgojICAgICAiJHtXT1JLRElSfS9jb25maWd1cmUuc3N0YXRl
IgpDT05GSUdVUkVTVEFNUEZJTEU9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3Jl
Mi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL2NvbmZpZ3VyZS5zc3RhdGUiCiMKIyAkQ09O
RklHX1NJVEUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjoxMTUKIyAgICAgW2RvY10gIkEgbGlzdCBvZiBmaWxlcyB0aGF0IGNvbnRhaW5zIGF1dG9j
b25mIHRlc3QgcmVzdWx0cyByZWxldmFudCB0byB0aGUgY3VycmVudCBidWlsZC4gVGhpcyB2YXJp
YWJsZSBpcyB1c2VkIGJ5IHRoZSBBdXRvdG9vbHMgdXRpbGl0aWVzIHdoZW4gcnVubmluZyBjb25m
aWd1cmUuIgojCiMgJENPTkZMSUNUX0RJU1RST19GRUFUVVJFUwojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjExNgojICAgICBbZG9jXSAiV2hlbiBh
IHJlY2lwZSBpbmhlcml0cyB0aGUgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGNsYXNzLCB0aGlzIHZh
cmlhYmxlIGlkZW50aWZpZXMgZGlzdHJpYnV0aW9uIGZlYXR1cmVzIHRoYXQgd291bGQgYmUgaW4g
Y29uZmxpY3Qgc2hvdWxkIHRoZSByZWNpcGUgYmUgYnVpbHQuIgojCiMgJENPTkZfVkVSU0lPTiBb
MiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2xvY2FsLmNv
bmY6MjY4CiMgICAgICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjExOQojICAgICBbZG9jXSAiVHJhY2tzIHRoZSB2ZXJzaW9uIG9mIGxvY2Fs
LmNvbmYuICBJbmNyZWFzZWQgZWFjaCB0aW1lIGJ1aWxkL2NvbmYvIGNoYW5nZXMgaW5jb21wYXRp
Ymx5LiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjEiCkNPTkZfVkVSU0lPTj0iMSIKIwoj
ICRDT05ORUNUSVZJVFlfQ0hFQ0tfVVJJUwojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6NTEKIyAgICAgImh0dHBz
Oi8vd3d3LmV4YW1wbGUuY29tLyIKQ09OTkVDVElWSVRZX0NIRUNLX1VSSVM9Imh0dHBzOi8vd3d3
LmV4YW1wbGUuY29tLyIKIwojICRDT1JFQkFTRSBbMyBvcGVyYXRpb25zXQojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZjoyMAojICAgICAiJHtAb3MucGF0aC5ub3Jt
cGF0aCgiJHtMQVlFUkRJUn0vLi4vIil9IgojICAgc2V0IGRhdGFfc21hcnQucHk6OTY2IFtleHBh
bmRWYXJyZWZdCiMgICAgICIke0Bvcy5wYXRoLm5vcm1wYXRoKCIvaG9tZS91c2VyL3Bva3kvbWV0
YS8uLi8iKX0iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6MTE4CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgdGhlIHBhcmVudCBkaXJlY3Rvcnkgb2Yg
dGhlIE9wZW5FbWJlZGRlZCBDb3JlIE1ldGFkYXRhIGxheWVyIChpLmUuIG1ldGEpLiIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QG9zLnBhdGgubm9ybXBhdGgoIi9ob21lL3VzZXIvcG9r
eS9tZXRhLy4uLyIpfSIKQ09SRUJBU0U9Ii9ob21lL3VzZXIvcG9reSIKIwojICRDT1JFX0lNQUdF
X0VYVFJBX0lOU1RBTEwKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjoxMTcKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgbGlzdCBvZiBwYWNrYWdl
cyB0byBiZSBhZGRlZCB0byB0aGUgaW1hZ2UuIFlvdSBzaG91bGQgb25seSBzZXQgdGhpcyB2YXJp
YWJsZSBpbiB0aGUgY29uZi9sb2NhbC5jb25mIGZpbGUgaW4gdGhlIEJ1aWxkIERpcmVjdG9yeS4i
CiMKIyAkQ1BBTl9NSVJST1IKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo2NDkKIyAgICAgImh0dHBzOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4iCkNQQU5fTUlS
Uk9SPSJodHRwczovL3NlYXJjaC5jcGFuLm9yZy9DUEFOIgojCiMgJENQUCBbMiBvcGVyYXRpb25z
XQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTIx
CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjUyMQojICAgICAiJHtIT1NUX1BSRUZJWH1nY2MgLUUke1RPT0xDSEFJTl9PUFRJ
T05TfSAke0hPU1RfQ0NfQVJDSH0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0hPU1Rf
UFJFRklYfWdjYyAtRSR7VE9PTENIQUlOX09QVElPTlN9ICR7SE9TVF9DQ19BUkNIfSIKZXhwb3J0
IENQUD0ieDg2XzY0LXBva3ktbGludXgtZ2NjIC1FIC0tc3lzcm9vdD0vaG9tZS91c2VyL3Bva3kv
YnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUt
c3lzcm9vdCAgLW02NCAtbWFyY2g9Y29yZTIgLW10dW5lPWNvcmUyIC1tc3NlMyAtbWZwbWF0aD1z
c2UgLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nICAtRF9GT1JUSUZZX1NPVVJDRT0yIC1XZm9ybWF0
IC1XZm9ybWF0LXNlY3VyaXR5IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IgojCiMgJENQUEZMQUdT
IFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo1NjUKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTY1CiMgICAgICIke1RBUkdFVF9DUFBGTEFHU30iCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1RBUkdFVF9DUFBGTEFHU30iCmV4cG9ydCBDUFBG
TEFHUz0iIgojCiMgJENWU0RJUgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjEyMAojICAgICBbZG9jXSAiVGhlIGRpcmVjdG9yeSB3aGVyZSBjdnMg
Y2hlY2tvdXRzIHdpbGwgYmUgc3RvcmVkIGluLiIKIwojICRDWFggWzIgb3BlcmF0aW9uc10KIyAg
IGV4cG9ydGVkIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUxOQojICAg
ICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo1MTkKIyAgICAgIiR7Q0NBQ0hFfSR7SE9TVF9QUkVGSVh9ZysrICR7SE9TVF9DQ19BUkNI
fSR7VE9PTENIQUlOX09QVElPTlN9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtDQ0FD
SEV9JHtIT1NUX1BSRUZJWH1nKysgJHtIT1NUX0NDX0FSQ0h9JHtUT09MQ0hBSU5fT1BUSU9OU30i
CmV4cG9ydCBDWFg9Ing4Nl82NC1wb2t5LWxpbnV4LWcrKyAgLW02NCAtbWFyY2g9Y29yZTIgLW10
dW5lPWNvcmUyIC1tc3NlMyAtbWZwbWF0aD1zc2UgLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nICAt
RF9GT1JUSUZZX1NPVVJDRT0yIC1XZm9ybWF0IC1XZm9ybWF0LXNlY3VyaXR5IC1XZXJyb3I9Zm9y
bWF0LXNlY3VyaXR5IC0tc3lzcm9vdD0vaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29y
ZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdCIKIwojICRDWFhG
TEFHUyBbMyBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6NTc1CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU3NQojICAgICAiJHtUQVJHRVRfQ1hYRkxBR1N9
IgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNs
aWJjLWdsaWJjLmluYzoxNwojICAgICAiLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUQVJHRVRfQ1hYRkxBR1N9IC1mdmlzaWJpbGl0eS1p
bmxpbmVzLWhpZGRlbiIKZXhwb3J0IENYWEZMQUdTPSIgLU8yIC1waXBlIC1nIC1mZWxpbWluYXRl
LXVudXNlZC1kZWJ1Zy10eXBlcyAtZm1hY3JvLXByZWZpeC1tYXA9L2hvbWUvdXNlci9wb2t5L2J1
aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjA9L3Vzci9zcmMv
ZGVidWcvZXhhbXBsZS8wLjEtcjAgICAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgt
bWFwPS9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4
YW1wbGUvMC4xLXIwPS91c3Ivc3JjL2RlYnVnL2V4YW1wbGUvMC4xLXIwICAgICAgICAgICAgICAg
ICAgICAgIC1mZGVidWctcHJlZml4LW1hcD0vaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsv
Y29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdD0gICAgICAg
ICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9ob21lL3VzZXIvcG9reS9idWlsZC90
bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNyb290
LW5hdGl2ZT0gIC1mdmlzaWJpbGl0eS1pbmxpbmVzLWhpZGRlbiIKIwojICREIFsyIG9wZXJhdGlv
bnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzcwCiMg
ICAgICIke1dPUktESVJ9L2ltYWdlIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mOjEyNAojICAgICBbZG9jXSAiVGhlIGRlc3RpbmF0aW9uIGRpcmVj
dG9yeS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1dPUktESVJ9L2ltYWdlIgpEPSIv
aG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxl
LzAuMS1yMC9pbWFnZSIKIwojICREQVRBX0xJQ0VOU0UKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MTM0CiMgICAgICJDQzAtMS4wIgpEQVRBX0xJQ0VOU0U9
IkNDMC0xLjAiCiMKIyAkREFURSBbMiBvcGVyYXRpb25zXQojICAgaW1tZWRpYXRlIC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjE2NAojICAgICAiJHtAdGltZS5zdHJmdGlt
ZSgnJVklbSVkJyx0aW1lLmdtdGltZSgpKX0iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTI1CiMgICAgIFtkb2NdICJUaGUgZGF0ZSB0aGUgYnVp
bGQgd2FzIHN0YXJ0ZWQgdXNpbmcgWU1EIGZvcm1hdC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIyMDIwMDEyNCIKREFURT0iMjAyMDAxMjQiCiMKIyAkREFURVRJTUUgWzIgb3BlcmF0aW9u
c10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxNjYKIyAg
ICAgIiR7REFURX0ke1RJTUV9IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjEyNgojICAgICBbZG9jXSAiVGhlIGRhdGUgYW5kIHRpbWUgdGhlIGJ1
aWxkIHdhcyBzdGFydGVkLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7REFURX0ke1RJ
TUV9IgpEQVRFVElNRT0iMjAyMDAxMjQxMTE1MDkiCiMKIyAkREVCSUFOUkRFUAojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3M6MTYKIyAgICAgImRvX3Bh
Y2thZ2VkYXRhIgpERUJJQU5SREVQPSJkb19wYWNrYWdlZGF0YSIKIwojICRERUJJQU5fTUlSUk9S
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjM2CiMgICAg
ICJodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wiCkRFQklBTl9NSVJST1I9Imh0dHA6
Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCIKIwojICRERUJJQU5fTkFNRVMKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2RlYmlhbi5iYmNsYXNzOjE0NgojICAgICAiMSIK
REVCSUFOX05BTUVTPSIxIgojCiMgJERFQlVHX0JVSUxECiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTI3CiMgICAgIFtkb2NdICJTcGVjaWZpZXMg
dG8gYnVpbGQgcGFja2FnZXMgd2l0aCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uIFRoaXMgaW5mbHVl
bmNlcyB0aGUgdmFsdWUgb2YgdGhlIFNFTEVDVEVEX09QVElNSVpBVElPTiB2YXJpYWJsZS4iCiMK
IyAkREVCVUdfRkxBR1MKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NjE1CiMgICAgICItZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMgJHtERUJV
R19QUkVGSVhfTUFQfSIKREVCVUdfRkxBR1M9Ii1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10
eXBlcyAtZm1hY3JvLXByZWZpeC1tYXA9L2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2Nv
cmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjA9L3Vzci9zcmMvZGVidWcvZXhhbXBsZS8w
LjEtcjAgICAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9ob21lL3VzZXIv
cG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwPS91
c3Ivc3JjL2RlYnVnL2V4YW1wbGUvMC4xLXIwICAgICAgICAgICAgICAgICAgICAgIC1mZGVidWct
cHJlZml4LW1hcD0vaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1s
aW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdD0gICAgICAgICAgICAgICAgICAgICAg
LWZkZWJ1Zy1wcmVmaXgtbWFwPS9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02
NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZT0gIgojCiMg
JERFQlVHX09QVElNSVpBVElPTiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjYxOQojICAgICAiLU9nICR7REVCVUdfRkxBR1N9IC1w
aXBlIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjEyOAojICAgICBbZG9jXSAiVGhlIG9wdGlvbnMgdG8gcGFzcyBpbiBUQVJHRVRfQ0ZMQUdTIGFu
ZCBDRkxBR1Mgd2hlbiBjb21waWxpbmcgYSBzeXN0ZW0gZm9yIGRlYnVnZ2luZy4gVGhpcyB2YXJp
YWJsZSBkZWZhdWx0cyB0byAnLU9nICR7REVCVUdfRkxBR1N9IC1waXBlJy4iCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICItT2cgJHtERUJVR19GTEFHU30gLXBpcGUiCkRFQlVHX09QVElNSVpB
VElPTj0iLU9nIC1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtZm1hY3JvLXByZWZp
eC1tYXA9L2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgv
ZXhhbXBsZS8wLjEtcjA9L3Vzci9zcmMvZGVidWcvZXhhbXBsZS8wLjEtcjAgICAgICAgICAgICAg
ICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29y
ay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwPS91c3Ivc3JjL2RlYnVnL2V4YW1w
bGUvMC4xLXIwICAgICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJlZml4LW1hcD0vaG9tZS91
c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1y
MC9yZWNpcGUtc3lzcm9vdD0gICAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFw
PS9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1w
bGUvMC4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZT0gIC1waXBlIgojCiMgJERFQlVHX1BSRUZJ
WF9NQVAKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjE0
CiMgICAgICItZm1hY3JvLXByZWZpeC1tYXA9JHtXT1JLRElSfT0vdXNyL3NyYy9kZWJ1Zy8ke1BO
fS8ke0VYVEVORFBFfSR7UFZ9LSR7UFJ9ICAgICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJl
Zml4LW1hcD0ke1dPUktESVJ9PS91c3Ivc3JjL2RlYnVnLyR7UE59LyR7RVhURU5EUEV9JHtQVn0t
JHtQUn0gICAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPSR7U1RBR0lOR19E
SVJfSE9TVH09ICAgICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJlZml4LW1hcD0ke1NUQUdJ
TkdfRElSX05BVElWRX09ICIKREVCVUdfUFJFRklYX01BUD0iLWZtYWNyby1wcmVmaXgtbWFwPS9o
b21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUv
MC4xLXIwPS91c3Ivc3JjL2RlYnVnL2V4YW1wbGUvMC4xLXIwICAgICAgICAgICAgICAgICAgICAg
IC1mZGVidWctcHJlZml4LW1hcD0vaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTIt
NjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMD0vdXNyL3NyYy9kZWJ1Zy9leGFtcGxlLzAuMS1y
MCAgICAgICAgICAgICAgICAgICAgICAtZmRlYnVnLXByZWZpeC1tYXA9L2hvbWUvdXNlci9wb2t5
L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcmVjaXBl
LXN5c3Jvb3Q9ICAgICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJlZml4LW1hcD0vaG9tZS91
c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1y
MC9yZWNpcGUtc3lzcm9vdC1uYXRpdmU9ICIKIwojICRERUZBVUxUVFVORSBbNSBvcGVyYXRpb25z
XQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni02NC5j
b25mOjExCiMgICAgICJjb3JlMi02NCIKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5pbmM6OQojICAgICAiY29yZTItMzIiCiMgICBz
ZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTY4Ni5p
bmM6MTAKIyAgICAgImk2ODYiCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFj
aGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmM6MQojICAgICAiaTU4NiIKIyAgIHNldD8gL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo1CiMg
ICAgICJ4ODYiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJjb3JlMi02NCIKREVGQVVMVFRV
TkU9ImNvcmUyLTY0IgojCiMgJERFRkFVTFRfUFJFRkVSRU5DRQojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjEyOQojICAgICBbZG9jXSAiU3BlY2lm
aWVzIGEgd2VhayBiaWFzIGZvciByZWNpcGUgc2VsZWN0aW9uIHByaW9yaXR5LiIKIwojICRERUZB
VUxUX1RBU0tfUFJPVklERVIKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6Nzc3CiMgICAgICJwYWNrYWdlZ3JvdXAtYmFzZSIKREVGQVVMVF9UQVNLX1BST1ZJ
REVSPSJwYWNrYWdlZ3JvdXAtYmFzZSIKIwojICRERVBDSEFJTl9QT1NUCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjcwCiMgICAgICItZGV2IC1kYmciCkRF
UENIQUlOX1BPU1Q9Ii1kZXYgLWRiZyIKIwojICRERVBDSEFJTl9QUkUKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNjkKIyAgICAgIiIKREVQQ0hBSU5fUFJF
PSIiCiMKIyAkREVQRU5EUyBbMyBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjI3MgojICAgICAiIgojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjEzMAojICAgICBbZG9jXSAiTGlzdHMgYSBy
ZWNpcGUncyBidWlsZC10aW1lIGRlcGVuZGVuY2llcyAoaS5lLiBvdGhlciByZWNpcGUgZmlsZXMp
LiIKIyAgIF9wcmVwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNz
OjgwCiMgICAgICIke0JBU0VERVBFTkRTfSAiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIk
e0JBU0VERVBFTkRTfSAiCkRFUEVORFM9InZpcnR1YWwveDg2XzY0LXBva3ktbGludXgtZ2NjIHZp
cnR1YWwveDg2XzY0LXBva3ktbGludXgtY29tcGlsZXJsaWJzIHZpcnR1YWwvbGliYyAiCiMKIyAk
REVQTE9ZRElSCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6MTMzCiMgICAgIFtkb2NdICJGb3IgcmVjaXBlcyB0aGF0IGluaGVyaXQgdGhlIGRlcGxv
eSBjbGFzcywgdGhlIERFUExPWURJUiBwb2ludHMgdG8gYSB0ZW1wb3Jhcnkgd29yayBhcmVhIGZv
ciBkZXBsb3llZCBmaWxlcy4iCiMKIyAkREVQTE9ZX0RJUiBbMiBvcGVyYXRpb25zXQojICAgc2V0
PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0MDYKIyAgICAgIiR7VE1Q
RElSfS9kZXBsb3kiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MTMxCiMgICAgIFtkb2NdICJQb2ludHMgdG8gdGhlIGdlbmVyYWwgYXJlYSB0aGF0
IHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHVzZXMgdG8gcGxhY2UgaW1hZ2VzLCBwYWNr
YWdlcywgU0RLcyBhbmQgb3RoZXIgb3V0cHV0IGZpbGVzIHRoYXQgYXJlIHJlYWR5IHRvIGJlIHVz
ZWQgb3V0c2lkZSBvZiB0aGUgYnVpbGQgc3lzdGVtLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIiR7VE1QRElSfS9kZXBsb3kiCkRFUExPWV9ESVI9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90
bXAvZGVwbG95IgojCiMgJERFUExPWV9ESVJfREVCCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6NDEwCiMgICAgICIke0RFUExPWV9ESVJ9L2RlYiIKREVQTE9Z
X0RJUl9ERUI9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvZGVwbG95L2RlYiIKIwojICRERVBM
T1lfRElSX0lNQUdFIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjQxMQojICAgICAiJHtERVBMT1lfRElSfS9pbWFnZXMvJHtNQUNI
SU5FfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjoxMzIKIyAgICAgW2RvY10gIlBvaW50cyB0byB0aGUgYXJlYSB0aGF0IHRoZSBPcGVuRW1iZWRk
ZWQgYnVpbGQgc3lzdGVtIHVzZXMgdG8gcGxhY2UgaW1hZ2VzIGFuZCBvdGhlciBhc3NvY2lhdGVk
IG91dHB1dCBmaWxlcyB0aGF0IGFyZSByZWFkeSB0byBiZSBkZXBsb3llZCBvbnRvIHRoZSB0YXJn
ZXQgbWFjaGluZS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0RFUExPWV9ESVJ9L2lt
YWdlcy8ke01BQ0hJTkV9IgpERVBMT1lfRElSX0lNQUdFPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQv
dG1wL2RlcGxveS9pbWFnZXMvcWVtdXg4Ni02NCIKIwojICRERVBMT1lfRElSX0lQSwojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQwOAojICAgICAiJHtERVBM
T1lfRElSfS9pcGsiCkRFUExPWV9ESVJfSVBLPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL2Rl
cGxveS9pcGsiCiMKIyAkREVQTE9ZX0RJUl9SUE0KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo0MDkKIyAgICAgIiR7REVQTE9ZX0RJUn0vcnBtIgpERVBMT1lf
RElSX1JQTT0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC9kZXBsb3kvcnBtIgojCiMgJERFUExP
WV9ESVJfVEFSCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
NDA3CiMgICAgICIke0RFUExPWV9ESVJ9L3RhciIKREVQTE9ZX0RJUl9UQVI9Ii9ob21lL3VzZXIv
cG9reS9idWlsZC90bXAvZGVwbG95L3RhciIKIwojICRERVBMT1lfRElSX1RPT0xTCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDEyCiMgICAgICIke0RFUExP
WV9ESVJ9L3Rvb2xzIgpERVBMT1lfRElSX1RPT0xTPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1w
L2RlcGxveS90b29scyIKIwojICRERVNDUklQVElPTiBbMTMgb3BlcmF0aW9uc10KIyAgIHNldD8g
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjMyCiMgICAgICIke1NVTU1B
Ull9LiIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjoxMzQKIyAgICAgW2RvY10gIlRoZSBwYWNrYWdlIGRlc2NyaXB0aW9uIHVzZWQgYnkgcGFja2Fn
ZSBtYW5hZ2Vycy4gSWYgbm90IHNldCwgREVTQ1JJUFRJT04gdGFrZXMgdGhlIHZhbHVlIG9mIHRo
ZSBTVU1NQVJZIHZhcmlhYmxlLiIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY3VzdG9t
X2xheWVyL3JlY2lwZXMtZXhhbXBsZS9leGFtcGxlL2V4YW1wbGVfMC4xLmJiOjIKIyAgICAgIlJl
Y2lwZSBjcmVhdGVkIGJ5IGJpdGJha2UtbGF5ZXJzIgojICAgb3ZlcnJpZGVbZXhhbXBsZS1kYmdd
OnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjQ2CiMgICAgICIk
e0RFU0NSSVBUSU9OfSAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIEVMRiBzeW1ib2xzIGFuZCByZWxh
dGVkIHNvdXJjZXMgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4iCiMgICBvdmVycmlkZVtleGFtcGxl
LWRiZ106cmVuYW1lIGZyb20gREVTQ1JJUFRJT05fJHtQTn0tZGJnIGRhdGEucHk6MTA0IFtleHBh
bmRLZXlzXQojICAgICAiJHtERVNDUklQVElPTn0gIFRoaXMgcGFja2FnZSBjb250YWlucyBFTEYg
c3ltYm9scyBhbmQgcmVsYXRlZCBzb3VyY2VzIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuIgojICAg
b3ZlcnJpZGVbZXhhbXBsZS1kZXZdOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6MjUxCiMgICAgICIke0RFU0NSSVBUSU9OfSAgVGhpcyBwYWNrYWdlIGNvbnRhaW5z
IHN5bWJvbGljIGxpbmtzLCBoZWFkZXIgZmlsZXMsIGFuZCByZWxhdGVkIGl0ZW1zIG5lY2Vzc2Fy
eSBmb3Igc29mdHdhcmUgZGV2ZWxvcG1lbnQuIgojICAgb3ZlcnJpZGVbZXhhbXBsZS1kZXZdOnJl
bmFtZSBmcm9tIERFU0NSSVBUSU9OXyR7UE59LWRldiBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10K
IyAgICAgIiR7REVTQ1JJUFRJT059ICBUaGlzIHBhY2thZ2UgY29udGFpbnMgc3ltYm9saWMgbGlu
a3MsIGhlYWRlciBmaWxlcywgYW5kIHJlbGF0ZWQgaXRlbXMgbmVjZXNzYXJ5IGZvciBzb2Z0d2Fy
ZSBkZXZlbG9wbWVudC4iCiMgICBvdmVycmlkZVtleGFtcGxlLWRvY106c2V0PyAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNTkKIyAgICAgIiR7REVTQ1JJUFRJT059ICBU
aGlzIHBhY2thZ2UgY29udGFpbnMgZG9jdW1lbnRhdGlvbi4iCiMgICBvdmVycmlkZVtleGFtcGxl
LWRvY106cmVuYW1lIGZyb20gREVTQ1JJUFRJT05fJHtQTn0tZG9jIGRhdGEucHk6MTA0IFtleHBh
bmRLZXlzXQojICAgICAiJHtERVNDUklQVElPTn0gIFRoaXMgcGFja2FnZSBjb250YWlucyBkb2N1
bWVudGF0aW9uLiIKIyAgIG92ZXJyaWRlW2V4YW1wbGUtc3JjXTpzZXQ/IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI0MgojICAgICAiJHtERVNDUklQVElPTn0gIFRoaXMg
cGFja2FnZSBjb250YWlucyBzb3VyY2VzIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuIgojICAgb3Zl
cnJpZGVbZXhhbXBsZS1zcmNdOnJlbmFtZSBmcm9tIERFU0NSSVBUSU9OXyR7UE59LXNyYyBkYXRh
LnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgIiR7REVTQ1JJUFRJT059ICBUaGlzIHBhY2thZ2Ug
Y29udGFpbnMgc291cmNlcyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLiIKIyAgIG92ZXJyaWRlW2V4
YW1wbGUtc3RhdGljZGV2XTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjI1NQojICAgICAiJHtERVNDUklQVElPTn0gIFRoaXMgcGFja2FnZSBjb250YWlucyBzdGF0
aWMgbGlicmFyaWVzIGZvciBzb2Z0d2FyZSBkZXZlbG9wbWVudC4iCiMgICBvdmVycmlkZVtleGFt
cGxlLXN0YXRpY2Rldl06cmVuYW1lIGZyb20gREVTQ1JJUFRJT05fJHtQTn0tc3RhdGljZGV2IGRh
dGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtERVNDUklQVElPTn0gIFRoaXMgcGFja2Fn
ZSBjb250YWlucyBzdGF0aWMgbGlicmFyaWVzIGZvciBzb2Z0d2FyZSBkZXZlbG9wbWVudC4iCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJSZWNpcGUgY3JlYXRlZCBieSBiaXRiYWtlLWxheWVy
cyIKREVTQ1JJUFRJT049IlJlY2lwZSBjcmVhdGVkIGJ5IGJpdGJha2UtbGF5ZXJzIgojCiMgJERF
U0NSSVBUSU9OX2V4YW1wbGUtZGJnIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI0NgojICAgICAiJHtERVNDUklQVElPTn0gIFRo
aXMgcGFja2FnZSBjb250YWlucyBFTEYgc3ltYm9scyBhbmQgcmVsYXRlZCBzb3VyY2VzIGZvciBk
ZWJ1Z2dpbmcgcHVycG9zZXMuIgojICAgcmVuYW1lIGZyb20gREVTQ1JJUFRJT05fJHtQTn0tZGJn
IGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtERVNDUklQVElPTn0gIFRoaXMgcGFj
a2FnZSBjb250YWlucyBFTEYgc3ltYm9scyBhbmQgcmVsYXRlZCBzb3VyY2VzIGZvciBkZWJ1Z2dp
bmcgcHVycG9zZXMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtERVNDUklQVElPTn0g
IFRoaXMgcGFja2FnZSBjb250YWlucyBFTEYgc3ltYm9scyBhbmQgcmVsYXRlZCBzb3VyY2VzIGZv
ciBkZWJ1Z2dpbmcgcHVycG9zZXMuIgpERVNDUklQVElPTl9leGFtcGxlLWRiZz0iUmVjaXBlIGNy
ZWF0ZWQgYnkgYml0YmFrZS1sYXllcnMgIFRoaXMgcGFja2FnZSBjb250YWlucyBFTEYgc3ltYm9s
cyBhbmQgcmVsYXRlZCBzb3VyY2VzIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuIgojCiMgJERFU0NS
SVBUSU9OX2V4YW1wbGUtZGV2IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI1MQojICAgICAiJHtERVNDUklQVElPTn0gIFRoaXMg
cGFja2FnZSBjb250YWlucyBzeW1ib2xpYyBsaW5rcywgaGVhZGVyIGZpbGVzLCBhbmQgcmVsYXRl
ZCBpdGVtcyBuZWNlc3NhcnkgZm9yIHNvZnR3YXJlIGRldmVsb3BtZW50LiIKIyAgIHJlbmFtZSBm
cm9tIERFU0NSSVBUSU9OXyR7UE59LWRldiBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAg
IiR7REVTQ1JJUFRJT059ICBUaGlzIHBhY2thZ2UgY29udGFpbnMgc3ltYm9saWMgbGlua3MsIGhl
YWRlciBmaWxlcywgYW5kIHJlbGF0ZWQgaXRlbXMgbmVjZXNzYXJ5IGZvciBzb2Z0d2FyZSBkZXZl
bG9wbWVudC4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0RFU0NSSVBUSU9OfSAgVGhp
cyBwYWNrYWdlIGNvbnRhaW5zIHN5bWJvbGljIGxpbmtzLCBoZWFkZXIgZmlsZXMsIGFuZCByZWxh
dGVkIGl0ZW1zIG5lY2Vzc2FyeSBmb3Igc29mdHdhcmUgZGV2ZWxvcG1lbnQuIgpERVNDUklQVElP
Tl9leGFtcGxlLWRldj0iUmVjaXBlIGNyZWF0ZWQgYnkgYml0YmFrZS1sYXllcnMgIFRoaXMgcGFj
a2FnZSBjb250YWlucyBzeW1ib2xpYyBsaW5rcywgaGVhZGVyIGZpbGVzLCBhbmQgcmVsYXRlZCBp
dGVtcyBuZWNlc3NhcnkgZm9yIHNvZnR3YXJlIGRldmVsb3BtZW50LiIKIwojICRERVNDUklQVElP
Tl9leGFtcGxlLWRvYyBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjoyNTkKIyAgICAgIiR7REVTQ1JJUFRJT059ICBUaGlzIHBhY2th
Z2UgY29udGFpbnMgZG9jdW1lbnRhdGlvbi4iCiMgICByZW5hbWUgZnJvbSBERVNDUklQVElPTl8k
e1BOfS1kb2MgZGF0YS5weToxMDQgW2V4cGFuZEtleXNdCiMgICAgICIke0RFU0NSSVBUSU9OfSAg
VGhpcyBwYWNrYWdlIGNvbnRhaW5zIGRvY3VtZW50YXRpb24uIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtERVNDUklQVElPTn0gIFRoaXMgcGFja2FnZSBjb250YWlucyBkb2N1bWVudGF0
aW9uLiIKREVTQ1JJUFRJT05fZXhhbXBsZS1kb2M9IlJlY2lwZSBjcmVhdGVkIGJ5IGJpdGJha2Ut
bGF5ZXJzICBUaGlzIHBhY2thZ2UgY29udGFpbnMgZG9jdW1lbnRhdGlvbi4iCiMKIyAkREVTQ1JJ
UFRJT05fZXhhbXBsZS1zcmMgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjQyCiMgICAgICIke0RFU0NSSVBUSU9OfSAgVGhpcyBw
YWNrYWdlIGNvbnRhaW5zIHNvdXJjZXMgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4iCiMgICByZW5h
bWUgZnJvbSBERVNDUklQVElPTl8ke1BOfS1zcmMgZGF0YS5weToxMDQgW2V4cGFuZEtleXNdCiMg
ICAgICIke0RFU0NSSVBUSU9OfSAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHNvdXJjZXMgZm9yIGRl
YnVnZ2luZyBwdXJwb3Nlcy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0RFU0NSSVBU
SU9OfSAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHNvdXJjZXMgZm9yIGRlYnVnZ2luZyBwdXJwb3Nl
cy4iCkRFU0NSSVBUSU9OX2V4YW1wbGUtc3JjPSJSZWNpcGUgY3JlYXRlZCBieSBiaXRiYWtlLWxh
eWVycyAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHNvdXJjZXMgZm9yIGRlYnVnZ2luZyBwdXJwb3Nl
cy4iCiMKIyAkREVTQ1JJUFRJT05fZXhhbXBsZS1zdGF0aWNkZXYgWzIgb3BlcmF0aW9uc10KIyAg
IHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjU1CiMgICAgICIk
e0RFU0NSSVBUSU9OfSAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHN0YXRpYyBsaWJyYXJpZXMgZm9y
IHNvZnR3YXJlIGRldmVsb3BtZW50LiIKIyAgIHJlbmFtZSBmcm9tIERFU0NSSVBUSU9OXyR7UE59
LXN0YXRpY2RldiBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgIiR7REVTQ1JJUFRJT059
ICBUaGlzIHBhY2thZ2UgY29udGFpbnMgc3RhdGljIGxpYnJhcmllcyBmb3Igc29mdHdhcmUgZGV2
ZWxvcG1lbnQuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtERVNDUklQVElPTn0gIFRo
aXMgcGFja2FnZSBjb250YWlucyBzdGF0aWMgbGlicmFyaWVzIGZvciBzb2Z0d2FyZSBkZXZlbG9w
bWVudC4iCkRFU0NSSVBUSU9OX2V4YW1wbGUtc3RhdGljZGV2PSJSZWNpcGUgY3JlYXRlZCBieSBi
aXRiYWtlLWxheWVycyAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHN0YXRpYyBsaWJyYXJpZXMgZm9y
IHNvZnR3YXJlIGRldmVsb3BtZW50LiIKIwojICRERVZTSEVMTAojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NsYXNzZXMvZGV2c2hlbGwuYmJjbGFzczozCiMgICAgICIke1NIRUxMfSIKREVW
U0hFTEw9Ii9iaW4vYmFzaCIKIwojICRERVZTSEVMTF9TVEFSVERJUgojICAgc2V0PyAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2RldnNoZWxsLmJiY2xhc3M6MjEKIyAgICAgIiR7U30iCkRF
VlNIRUxMX1NUQVJURElSPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQt
cG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9leGFtcGxlLTAuMSIKIwojICRESVNBQkxFX1NUQVRJ
QyBbMTggb3BlcmF0aW9uc10KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MQojICAgICAiIC0tZGlzYWJsZS1zdGF0aWMi
CiMgICBvdmVycmlkZVtwbi1xZW11XTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6NAojICAgICAiIgojICAgb3ZlcnJpZGVbcG4t
cWVtdS1uYXRpdmVdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L25vLXN0YXRpYy1saWJzLmluYzo1CiMgICAgICIiCiMgICBvdmVycmlkZVtwbi1uYXRpdmVzZGst
cWVtdV06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3Rh
dGljLWxpYnMuaW5jOjYKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLXFlbXUtc3lzdGVtLW5hdGl2
ZV06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGlj
LWxpYnMuaW5jOjcKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLXBjaXV0aWxzXTpzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6OQoj
ICAgICAiIgojICAgb3ZlcnJpZGVbcG4tbGliY2FwXTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MTEKIyAgICAgIiIKIyAgIG92
ZXJyaWRlW3BuLWxpYmNhcC1uYXRpdmVdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoxMgojICAgICAiIgojICAgb3ZlcnJpZGVb
cG4tbmF0aXZlc2RrLWxpYmNhcF06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjEzCiMgICAgICIiCiMgICBvdmVycmlkZVtwbi1s
aWJwY2FwXTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1z
dGF0aWMtbGlicy5pbmM6MTUKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLXJlYWRsaW5lXTpzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5p
bmM6MTcKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLXNnbWwtY29tbW9uLW5hdGl2ZV06c2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5j
OjE5CiMgICAgICIiCiMgICBvdmVycmlkZVtwbi1vcGVuamFkZS1uYXRpdmVdOnNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoyMAoj
ICAgICAiIgojICAgb3ZlcnJpZGVbcG4tb3BlbnNzbF06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjIyCiMgICAgICIiCiMgICBv
dmVycmlkZVtwbi1vcGVuc3NsLW5hdGl2ZV06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjIzCiMgICAgICIiCiMgICBvdmVycmlk
ZVtwbi1uYXRpdmVzZGstb3BlbnNzbF06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjI0CiMgICAgICIiCiMgICBvdmVycmlkZVtw
bi1nY2MtcnVudGltZV06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjI2CiMgICAgICIiCiMgICBvdmVycmlkZVtwbi1saWJ1c2Ix
LW5hdGl2ZV06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8t
c3RhdGljLWxpYnMuaW5jOjI4CiMgICAgICIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIg
LS1kaXNhYmxlLXN0YXRpYyIKRElTQUJMRV9TVEFUSUM9IiAtLWRpc2FibGUtc3RhdGljIgojCiMg
JERJU0FCTEVfU1RBVElDX3BuLWdjYy1ydW50aW1lCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MjYKIyAgICAgIiIKRElT
QUJMRV9TVEFUSUNfcG4tZ2NjLXJ1bnRpbWU9IiIKIwojICRESVNBQkxFX1NUQVRJQ19wbi1saWJj
YXAKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0
YXRpYy1saWJzLmluYzoxMQojICAgICAiIgpESVNBQkxFX1NUQVRJQ19wbi1saWJjYXA9IiIKIwoj
ICRESVNBQkxFX1NUQVRJQ19wbi1saWJjYXAtbmF0aXZlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MTIKIyAgICAgIiIK
RElTQUJMRV9TVEFUSUNfcG4tbGliY2FwLW5hdGl2ZT0iIgojCiMgJERJU0FCTEVfU1RBVElDX3Bu
LWxpYnBjYXAKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L25vLXN0YXRpYy1saWJzLmluYzoxNQojICAgICAiIgpESVNBQkxFX1NUQVRJQ19wbi1saWJwY2Fw
PSIiCiMKIyAkRElTQUJMRV9TVEFUSUNfcG4tbGlidXNiMS1uYXRpdmUKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoyOAoj
ICAgICAiIgpESVNBQkxFX1NUQVRJQ19wbi1saWJ1c2IxLW5hdGl2ZT0iIgojCiMgJERJU0FCTEVf
U1RBVElDX3BuLW5hdGl2ZXNkay1saWJjYXAKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoxMwojICAgICAiIgpESVNBQkxF
X1NUQVRJQ19wbi1uYXRpdmVzZGstbGliY2FwPSIiCiMKIyAkRElTQUJMRV9TVEFUSUNfcG4tbmF0
aXZlc2RrLW9wZW5zc2wKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoyNAojICAgICAiIgpESVNBQkxFX1NUQVRJQ19wbi1u
YXRpdmVzZGstb3BlbnNzbD0iIgojCiMgJERJU0FCTEVfU1RBVElDX3BuLW5hdGl2ZXNkay1xZW11
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0
aWMtbGlicy5pbmM6NgojICAgICAiIgpESVNBQkxFX1NUQVRJQ19wbi1uYXRpdmVzZGstcWVtdT0i
IgojCiMgJERJU0FCTEVfU1RBVElDX3BuLW9wZW5qYWRlLW5hdGl2ZQojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjIwCiMg
ICAgICIiCkRJU0FCTEVfU1RBVElDX3BuLW9wZW5qYWRlLW5hdGl2ZT0iIgojCiMgJERJU0FCTEVf
U1RBVElDX3BuLW9wZW5zc2wKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoyMgojICAgICAiIgpESVNBQkxFX1NUQVRJQ19w
bi1vcGVuc3NsPSIiCiMKIyAkRElTQUJMRV9TVEFUSUNfcG4tb3BlbnNzbC1uYXRpdmUKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJz
LmluYzoyMwojICAgICAiIgpESVNBQkxFX1NUQVRJQ19wbi1vcGVuc3NsLW5hdGl2ZT0iIgojCiMg
JERJU0FCTEVfU1RBVElDX3BuLXBjaXV0aWxzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6OQojICAgICAiIgpESVNBQkxF
X1NUQVRJQ19wbi1wY2l1dGlscz0iIgojCiMgJERJU0FCTEVfU1RBVElDX3BuLXFlbXUKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJz
LmluYzo0CiMgICAgICIiCkRJU0FCTEVfU1RBVElDX3BuLXFlbXU9IiIKIwojICRESVNBQkxFX1NU
QVRJQ19wbi1xZW11LW5hdGl2ZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjUKIyAgICAgIiIKRElTQUJMRV9TVEFUSUNf
cG4tcWVtdS1uYXRpdmU9IiIKIwojICRESVNBQkxFX1NUQVRJQ19wbi1xZW11LXN5c3RlbS1uYXRp
dmUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0
YXRpYy1saWJzLmluYzo3CiMgICAgICIiCkRJU0FCTEVfU1RBVElDX3BuLXFlbXUtc3lzdGVtLW5h
dGl2ZT0iIgojCiMgJERJU0FCTEVfU1RBVElDX3BuLXJlYWRsaW5lCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MTcKIyAg
ICAgIiIKRElTQUJMRV9TVEFUSUNfcG4tcmVhZGxpbmU9IiIKIwojICRESVNBQkxFX1NUQVRJQ19w
bi1zZ21sLWNvbW1vbi1uYXRpdmUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoxOQojICAgICAiIgpESVNBQkxFX1NUQVRJ
Q19wbi1zZ21sLWNvbW1vbi1uYXRpdmU9IiIKIwojICRESVNUUk8gWzUgb3BlcmF0aW9uc10KIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3MjUKIyAgICAgW19k
ZWZhdWx0dmFsXSAibm9kaXN0cm8iCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25m
L2xvY2FsLmNvbmY6ODkKIyAgICAgInBva3kiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEt
cG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MQojICAgICAicG9reSIKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxMzUKIyAgICAgW2RvY10gIlRo
ZSBzaG9ydCBuYW1lIG9mIHRoZSBkaXN0cmlidXRpb24uIElmIHRoZSB2YXJpYWJsZSBpcyBibGFu
aywgbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiB3aWxsIGJlIHVzZWQuIgojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjg1MwojICAgICBbdW5l
eHBvcnRdICIxIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAicG9reSIKdW5zZXQgRElTVFJP
CiMKIyAkRElTVFJPT1ZFUlJJREVTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjc0MAojICAgICAiJHtAZC5nZXRWYXIoJ0RJU1RS
TycpIG9yICcnfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoxNDQKIyAgICAgW2RvY10gIkxpc3RzIG92ZXJyaWRlcyBzcGVjaWZpYyB0byB0aGUg
Y3VycmVudCBkaXN0cmlidXRpb24uIEJ5IGRlZmF1bHQsIHRoZSB2YXJpYWJsZSBsaXN0IGluY2x1
ZGVzIHRoZSB2YWx1ZSBvZiB0aGUgRElTVFJPIHZhcmlhYmxlLiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiR7QGQuZ2V0VmFyKCdESVNUUk8nKSBvciAnJ30iCkRJU1RST09WRVJSSURFUz0i
cG9reSIKIwojICRESVNUUk9fQ09ERU5BTUUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS1w
b2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjo0CiMgICAgICJ6ZXVzIgpESVNUUk9fQ09ERU5BTUU9
InpldXMiCiMKIyAkRElTVFJPX0VYVFJBX1JERVBFTkRTIFs5IG9wZXJhdGlvbnNdCiMgICBhcHBl
bmQgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MjkKIyAg
ICAgIiAke1BPS1lfREVGQVVMVF9FWFRSQV9SREVQRU5EU30iCiMgICBfYXBwZW5kW3FlbXVhcm1d
IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjMzCiMgICAg
ICIgJHtQT0tZUUVNVURFUFN9IgojICAgX2FwcGVuZFtxZW11YXJtNjRdIC9ob21lL3VzZXIvcG9r
eS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjM0CiMgICAgICIgJHtQT0tZUUVNVURF
UFN9IgojICAgX2FwcGVuZFtxZW11bWlwc10gL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25m
L2Rpc3Ryby9wb2t5LmNvbmY6MzUKIyAgICAgIiAke1BPS1lRRU1VREVQU30iCiMgICBfYXBwZW5k
W3FlbXVwcGNdIC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25m
OjM2CiMgICAgICIgJHtQT0tZUUVNVURFUFN9IgojICAgX2FwcGVuZFtxZW11eDg2XSAvaG9tZS91
c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjozNwojICAgICAiICR7UE9L
WVFFTVVERVBTfSIKIyAgIF9hcHBlbmRbcWVtdXg4Ni02NF0gL2hvbWUvdXNlci9wb2t5L21ldGEt
cG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MzgKIyAgICAgIiAke1BPS1lRRU1VREVQU30iCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTM2CiMg
ICAgIFtkb2NdICJTcGVjaWZpZXMgYSBsaXN0IG9mIGRpc3Ryby1zcGVjaWZpYyBwYWNrYWdlcyB0
byBhZGQgdG8gYWxsIGltYWdlcy4gVGhlIHZhcmlhYmxlIG9ubHkgYXBwbGllcyB0byB0aGUgaW1h
Z2VzIHRoYXQgaW5jbHVkZSBwYWNrYWdlZ3JvdXAtYmFzZS4iCiMgICBzZXQ/IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjgxMAojICAgICAiIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiICAke1BPS1lfREVGQVVMVF9FWFRSQV9SREVQRU5EU30gJHtQT0tZUUVNVURF
UFN9IgpESVNUUk9fRVhUUkFfUkRFUEVORFM9IiAgcGFja2FnZWdyb3VwLWNvcmUtYm9vdCBwYWNr
YWdlZ3JvdXAtY29yZS1kZXZpY2UtZGV2ZWwiCiMKIyAkRElTVFJPX0VYVFJBX1JSRUNPTU1FTkRT
IFszIG9wZXJhdGlvbnNdCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25m
L2Rpc3Ryby9wb2t5LmNvbmY6MzAKIyAgICAgIiAke1BPS1lfREVGQVVMVF9FWFRSQV9SUkVDT01N
RU5EU30iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MTM3CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgYSBsaXN0IG9mIGRpc3Ryby1zcGVjaWZpYyBw
YWNrYWdlcyB0byBhZGQgdG8gYWxsIGltYWdlcyBpZiB0aGUgcGFja2FnZXMgZXhpc3QuIFRoZSBs
aXN0IG9mIHBhY2thZ2VzIGFyZSBhdXRvbWF0aWNhbGx5IGluc3RhbGxlZCBidXQgeW91IGNhbiBy
ZW1vdmUgdGhlbS4iCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjgxMQojICAgICAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiICAke1BPS1lfREVG
QVVMVF9FWFRSQV9SUkVDT01NRU5EU30iCkRJU1RST19FWFRSQV9SUkVDT01NRU5EUz0iICBrZXJu
ZWwtbW9kdWxlLWFmLXBhY2tldCIKIwojICRESVNUUk9fRkVBVFVSRVMgWzUgb3BlcmF0aW9uc10K
IyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6
MjIKIyAgICAgIiR7RElTVFJPX0ZFQVRVUkVTX0RFRkFVTFR9ICR7UE9LWV9ERUZBVUxUX0RJU1RS
T19GRUFUVVJFU30iCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzoxNAojICAgICAiJHtESVNUUk9fRkVBVFVSRVNf
REVGQVVMVH0iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6MTM4CiMgICAgIFtkb2NdICJUaGUgZmVhdHVyZXMgZW5hYmxlZCBmb3IgdGhlIGRpc3Ry
aWJ1dGlvbi4iCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjgwOAojICAgICAiIgojICAgYXBwZW5kIHV0aWxzLnB5OjEyOSBbZmVhdHVyZXNfYmFja2ZpbGxd
CiMgICAgICIgcHVsc2VhdWRpbyBzeXN2aW5pdCBnb2JqZWN0LWludHJvc3BlY3Rpb24tZGF0YSBs
ZGNvbmZpZyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7RElTVFJPX0ZFQVRVUkVTX0RF
RkFVTFR9ICR7UE9LWV9ERUZBVUxUX0RJU1RST19GRUFUVVJFU30gcHVsc2VhdWRpbyBzeXN2aW5p
dCBnb2JqZWN0LWludHJvc3BlY3Rpb24tZGF0YSBsZGNvbmZpZyIKRElTVFJPX0ZFQVRVUkVTPSJh
Y2wgYWxzYSBhcmdwIGJsdWV0b290aCBleHQyIGlwdjQgaXB2NiBsYXJnZWZpbGUgcGNtY2lhIHVz
YmdhZGdldCB1c2Job3N0IHdpZmkgeGF0dHIgbmZzIHplcm9jb25mIHBjaSAzZyBuZmMgeDExIGxh
cmdlZmlsZSBvcGVuZ2wgcHRlc3QgbXVsdGlhcmNoIHdheWxhbmQgdnVsa2FuIHB1bHNlYXVkaW8g
c3lzdmluaXQgZ29iamVjdC1pbnRyb3NwZWN0aW9uLWRhdGEgbGRjb25maWciCiMKIyAkRElTVFJP
X0ZFQVRVUkVTX0JBQ0tGSUxMIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTM5CiMgICAgIFtkb2NdICJGZWF0dXJlcyB0
byBiZSBhZGRlZCB0byBESVNUUk9fRkVBVFVSRVMgaWYgbm90IGFsc28gcHJlc2VudCBpbiBESVNU
Uk9fRkVBVFVSRVNfQkFDS0ZJTExfQ09OU0lERVJFRC4gVGhpcyB2YXJpYWJsZSBpcyBzZXQgaW4g
dGhlIG1ldGEvY29uZi9iaXRiYWtlLmNvbmYgZmlsZSBhbmQgaXQgaXMgbm90IGludGVuZGVkIHRv
IGJlIHVzZXItY29uZmlndXJhYmxlLiIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo4MzAKIyAgICAgInB1bHNlYXVkaW8gc3lzdmluaXQgZ29iamVjdC1pbnRy
b3NwZWN0aW9uLWRhdGEgbGRjb25maWciCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJwdWxz
ZWF1ZGlvIHN5c3Zpbml0IGdvYmplY3QtaW50cm9zcGVjdGlvbi1kYXRhIGxkY29uZmlnIgpESVNU
Uk9fRkVBVFVSRVNfQkFDS0ZJTEw9InB1bHNlYXVkaW8gc3lzdmluaXQgZ29iamVjdC1pbnRyb3Nw
ZWN0aW9uLWRhdGEgbGRjb25maWciCiMKIyAkRElTVFJPX0ZFQVRVUkVTX0JBQ0tGSUxMX0NPTlNJ
REVSRUQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjoxNDAKIyAgICAgW2RvY10gIkZlYXR1cmVzIGZyb20gRElTVFJPX0ZFQVRVUkVTX0JBQ0tGSUxM
IHRoYXQgc2hvdWxkIG5vdCBiZSBiYWNrZmlsbGVkIChpLmUuIGFkZGVkIHRvIERJU1RST19GRUFU
VVJFUykgZHVyaW5nIHRoZSBidWlsZC4iCiMKIyAkRElTVFJPX0ZFQVRVUkVTX0RFRkFVTFQKIyAg
IHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRp
c3Ryb3ZhcnMuaW5jOjEzCiMgICAgICJhY2wgYWxzYSBhcmdwIGJsdWV0b290aCBleHQyIGlwdjQg
aXB2NiBsYXJnZWZpbGUgcGNtY2lhIHVzYmdhZGdldCB1c2Job3N0IHdpZmkgeGF0dHIgbmZzIHpl
cm9jb25mIHBjaSAzZyBuZmMgeDExIgpESVNUUk9fRkVBVFVSRVNfREVGQVVMVD0iYWNsIGFsc2Eg
YXJncCBibHVldG9vdGggZXh0MiBpcHY0IGlwdjYgbGFyZ2VmaWxlIHBjbWNpYSB1c2JnYWRnZXQg
dXNiaG9zdCB3aWZpIHhhdHRyIG5mcyB6ZXJvY29uZiBwY2kgM2cgbmZjIHgxMSIKIwojICRESVNU
Uk9fRkVBVFVSRVNfRklMVEVSX05BVElWRQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo4MjcKIyAgICAgImFwaS1kb2N1bWVudGF0aW9uIgpESVNUUk9fRkVB
VFVSRVNfRklMVEVSX05BVElWRT0iYXBpLWRvY3VtZW50YXRpb24iCiMKIyAkRElTVFJPX0ZFQVRV
UkVTX0ZJTFRFUl9OQVRJVkVTREsKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6ODI4CiMgICAgICJhcGktZG9jdW1lbnRhdGlvbiIKRElTVFJPX0ZFQVRVUkVT
X0ZJTFRFUl9OQVRJVkVTREs9ImFwaS1kb2N1bWVudGF0aW9uIgojCiMgJERJU1RST19GRUFUVVJF
U19OQVRJVkUKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
ODIyCiMgICAgICJ4MTEgaXB2NiB4YXR0ciIKRElTVFJPX0ZFQVRVUkVTX05BVElWRT0ieDExIGlw
djYgeGF0dHIiCiMKIyAkRElTVFJPX0ZFQVRVUkVTX05BVElWRVNESwojICAgc2V0PyAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo4MjMKIyAgICAgIngxMSIKRElTVFJPX0ZF
QVRVUkVTX05BVElWRVNESz0ieDExIgojCiMgJERJU1RST19OQU1FIFszIG9wZXJhdGlvbnNdCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzI2CiMgICAgIFtf
ZGVmYXVsdHZhbF0gIk9wZW5FbWJlZGRlZCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS1w
b2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjoyCiMgICAgICJQb2t5IChZb2N0byBQcm9qZWN0IFJl
ZmVyZW5jZSBEaXN0cm8pIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjE0MQojICAgICBbZG9jXSAiVGhlIGxvbmcgbmFtZSBvZiB0aGUgZGlzdHJp
YnV0aW9uLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIlBva3kgKFlvY3RvIFByb2plY3Qg
UmVmZXJlbmNlIERpc3RybykiCkRJU1RST19OQU1FPSJQb2t5IChZb2N0byBQcm9qZWN0IFJlZmVy
ZW5jZSBEaXN0cm8pIgojCiMgJERJU1RST19QTl9BTElBUwojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE0MgojICAgICBbZG9jXSAiQWxpYXMgbmFt
ZXMgdXNlZCBmb3IgdGhlIHJlY2lwZSBpbiB2YXJpb3VzIExpbnV4IGRpc3RyaWJ1dGlvbnMuIgoj
CiMgJERJU1RST19WRVJTSU9OIFs0IG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MwojICAgICAiMy4wLjEiCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MTQKIyAgICAg
W3ZhcmRlcHNleGNsdWRlXSAiREFURSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6MzMKIyAgICAgW19kZWZhdWx0
dmFsXSAibm9kaXN0cm8uMCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjoxNDMKIyAgICAgW2RvY10gIlRoZSB2ZXJzaW9uIG9mIHRoZSBkaXN0cmli
dXRpb24uIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiMy4wLjEiCkRJU1RST19WRVJTSU9O
PSIzLjAuMSIKIwojICRETF9ESVIgWzMgb3BlcmF0aW9uc10KIyAgIHNldD8gL2hvbWUvdXNlci9w
b2t5L2J1aWxkL2NvbmYvbG9jYWwuY29uZjo1MQojICAgICAiL2hvbWUvdXNlci95b2N0by1jYWNo
ZS9kb3dubG9hZHMiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MTQ1CiMgICAgIFtkb2NdICJUaGUgY2VudHJhbCBkb3dubG9hZCBkaXJlY3Rvcnkg
dXNlZCBieSB0aGUgYnVpbGQgcHJvY2VzcyB0byBzdG9yZSBkb3dubG9hZHMuIEJ5IGRlZmF1bHQs
IHRoZSBkaXJlY3RvcnkgaXMgJ2Rvd25sb2FkcycgaW4gdGhlIEJ1aWxkIERpcmVjdG9yeS4iCiMg
ICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjc2NgojICAgICAi
JHtUT1BESVJ9L2Rvd25sb2FkcyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi9ob21lL3Vz
ZXIveW9jdG8tY2FjaGUvZG93bmxvYWRzIgpETF9ESVI9Ii9ob21lL3VzZXIveW9jdG8tY2FjaGUv
ZG93bmxvYWRzIgojCiMgJEVOQUJMRV9CSU5BUllfTE9DQUxFX0dFTkVSQVRJT04gWzIgb3BlcmF0
aW9uc10KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9k
ZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjgKIyAgICAgIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTQ5CiMgICAgIFtkb2NdICJDb250cm9scyB3
aGljaCBsb2NhbGVzIGZvciBnbGliYyBhcmUgZ2VuZXJhdGVkIGR1cmluZyB0aGUgYnVpbGQuIFRo
ZSB2YXJpYWJsZSBpcyB1c2VmdWwgaWYgdGhlIHRhcmdldCBkZXZpY2UgaGFzIDY0TWJ5dGVzIG9m
IFJBTSBvciBsZXNzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjEiCkVOQUJMRV9CSU5B
UllfTE9DQUxFX0dFTkVSQVRJT049IjEiCiMKIyAkRVJST1JfUUEgWzQgb3BlcmF0aW9uc10KIyAg
IF9hcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6
ODMKIyAgICAgIiAke1dBUk5fVE9fRVJST1JfUUF9IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE1MAojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRo
ZSBxdWFsaXR5IGFzc3VyYW5jZSBjaGVja3Mgd2hvc2UgZmFpbHVyZXMgYXJlIHJlcG9ydGVkIGFz
IGVycm9ycyBieSB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbS4iCiMgICBzZXQ/IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6MzgKIyAgICAgImRldi1zbyBk
ZWJ1Zy1kZXBzIGRldi1kZXBzIGRlYnVnLWZpbGVzIGFyY2ggcGtnY29uZmlnIGxhICAgICAgICAg
ICAgIHBlcm1zIGRlcC1jbXAgcGtndmFyY2hlY2sgcGVybS1jb25maWcgcGVybS1saW5lIHBlcm0t
bGluayAgICAgICAgICAgICBzcGxpdC1zdHJpcCBwYWNrYWdlcy1saXN0IHBrZ3YtdW5kZWZpbmVk
IHZhci11bmRlZmluZWQgICAgICAgICAgICAgdmVyc2lvbi1nb2luZy1iYWNrd2FyZHMgZXhwYW5k
ZWQtZCBpbnZhbGlkLWNoYXJzICAgICAgICAgICAgIGxpY2Vuc2UtY2hlY2tzdW0gZGV2LWVsZiBm
aWxlLXJkZXBzIGNvbmZpZ3VyZS11bnNhZmUgICAgICAgICAgICAgY29uZmlndXJlLWdldHRleHQg
cGVybGxvY2FscG9kICAgICAgICAgICAgICIKIyAgIF9hcHBlbmQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczo0MAojICAgICAiJHtAYmIudXRpbHMuY29udGFpbnMo
J0RJU1RST19GRUFUVVJFUycsICd1c3JtZXJnZScsICcgdXNybWVyZ2UnLCAnJywgZCl9IgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZGV2LXNvIGRlYnVnLWRlcHMgZGV2LWRlcHMgZGVidWct
ZmlsZXMgYXJjaCBwa2djb25maWcgbGEgICAgICAgICAgICAgcGVybXMgZGVwLWNtcCBwa2d2YXJj
aGVjayBwZXJtLWNvbmZpZyBwZXJtLWxpbmUgcGVybS1saW5rICAgICAgICAgICAgIHNwbGl0LXN0
cmlwIHBhY2thZ2VzLWxpc3QgcGtndi11bmRlZmluZWQgdmFyLXVuZGVmaW5lZCAgICAgICAgICAg
ICB2ZXJzaW9uLWdvaW5nLWJhY2t3YXJkcyBleHBhbmRlZC1kIGludmFsaWQtY2hhcnMgICAgICAg
ICAgICAgbGljZW5zZS1jaGVja3N1bSBkZXYtZWxmIGZpbGUtcmRlcHMgY29uZmlndXJlLXVuc2Fm
ZSAgICAgICAgICAgICBjb25maWd1cmUtZ2V0dGV4dCBwZXJsbG9jYWxwb2QgICAgICAgICAgICAg
ICR7V0FSTl9UT19FUlJPUl9RQX0ke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVT
JywgJ3Vzcm1lcmdlJywgJyB1c3JtZXJnZScsICcnLCBkKX0iCkVSUk9SX1FBPSJkZXYtc28gZGVi
dWctZGVwcyBkZXYtZGVwcyBkZWJ1Zy1maWxlcyBhcmNoIHBrZ2NvbmZpZyBsYSAgICAgICAgICAg
ICBwZXJtcyBkZXAtY21wIHBrZ3ZhcmNoZWNrIHBlcm0tY29uZmlnIHBlcm0tbGluZSBwZXJtLWxp
bmsgICAgICAgICAgICAgc3BsaXQtc3RyaXAgcGFja2FnZXMtbGlzdCBwa2d2LXVuZGVmaW5lZCB2
YXItdW5kZWZpbmVkICAgICAgICAgICAgIHZlcnNpb24tZ29pbmctYmFja3dhcmRzIGV4cGFuZGVk
LWQgaW52YWxpZC1jaGFycyAgICAgICAgICAgICBsaWNlbnNlLWNoZWNrc3VtIGRldi1lbGYgZmls
ZS1yZGVwcyBjb25maWd1cmUtdW5zYWZlICAgICAgICAgICAgIGNvbmZpZ3VyZS1nZXR0ZXh0IHBl
cmxsb2NhbHBvZCAgICAgICAgICAgICAgYWxyZWFkeS1zdHJpcHBlZCBjb21waWxlLWhvc3QtcGF0
aCBpbnN0YWxsLWhvc3QtcGF0aCAgICAgICAgICAgICAgICAgICAgIGluc3RhbGxlZC12cy1zaGlw
cGVkIGxkZmxhZ3MgcG4tb3ZlcnJpZGVzIHJwYXRocyBzdGF0aWNkZXYgICAgICAgICAgICAgICAg
ICAgICB1bmtub3duLWNvbmZpZ3VyZS1vcHRpb24gdXNlbGVzcy1ycGF0aHMiCiMKIyAkRVhDTFVE
RV9GUk9NX1dPUkxECiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MTUxCiMgICAgIFtkb2NdICJEaXJlY3RzIEJpdEJha2UgdG8gZXhjbHVkZSBhIHJl
Y2lwZSBmcm9tIHdvcmxkIGJ1aWxkcyAoaS5lLiBiaXRiYWtlIHdvcmxkKS4iCiMKIyAkRVhDT05G
SUdfQVJHUyBbMyBvcGVyYXRpb25zXQojICAgX2FwcGVuZFtwbi1uY3Vyc2VzXSAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzozNQojICAg
ICAiIC0td2l0aG91dC1ub3JtYWwiCiMgICBfYXBwZW5kW3BuLW5jdXJzZXMtbmF0aXZlXSAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzoz
NgojICAgICAiIC0td2l0aG91dC1ub3JtYWwiCiMgICBfYXBwZW5kW3BuLW5hdGl2ZXNkay1uY3Vy
c2VzXSAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1s
aWJzLmluYzozNwojICAgICAiIC0td2l0aG91dC1ub3JtYWwiCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICIiCkVYQ09ORklHX0FSR1M9IiIKIwojICRFWFRFTkRQRSBbMiBvcGVyYXRpb25zXQoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjIwNwojICAgICAi
JHtAWycnLCcke1BFfV8nXVtpbnQoZC5nZXRWYXIoJ1BFJykgb3IgMCkgPiAwXX0iCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTUyCiMgICAgIFtk
b2NdICJVc2VkIHdpdGggZmlsZSBhbmQgcGF0aG5hbWVzIHRvIGNyZWF0ZSBhIHByZWZpeCBmb3Ig
YSByZWNpcGUncyB2ZXJzaW9uIGJhc2VkIG9uIHRoZSByZWNpcGUncyBQRSB2YWx1ZS4gSWYgUEUg
aXMgc2V0IGFuZCBncmVhdGVyIHRoYW4gemVybyBmb3IgYSByZWNpcGUsIEVYVEVORFBFIGJlY29t
ZXMgdGhhdCB2YWx1ZS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0BbJycsJyR7UEV9
XyddW2ludChkLmdldFZhcignUEUnKSBvciAwKSA+IDBdfSIKRVhURU5EUEU9IiIKIwojICRFWFRF
TkRQS0dFVkVSCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
MjE3CiMgICAgICIke0BbJycsJyR7UEtHRX06J11bZC5nZXRWYXIoJ1BLR0UnKS5zdHJpcCgpICE9
ICcnXX0iCkVYVEVORFBLR0VWRVI9IiIKIwojICRFWFRFTkRQS0dWIFsyIG9wZXJhdGlvbnNdCiMg
ICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjIxOAojICAgICAi
JHtFWFRFTkRQS0dFVkVSfSR7UEtHVn0tJHtQS0dSfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNTMKIyAgICAgW2RvY10gIlRoZSBmdWxsIHBh
Y2thZ2UgdmVyc2lvbiBzcGVjaWZpY2F0aW9uIGFzIGl0IGFwcGVhcnMgb24gdGhlIGZpbmFsIHBh
Y2thZ2VzIHByb2R1Y2VkIGJ5IGEgcmVjaXBlLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
IiR7RVhURU5EUEtHRVZFUn0ke1BLR1Z9LSR7UEtHUn0iCkVYVEVORFBLR1Y9IjAuMS1yMCIKIwoj
ICRFWFRFTkRQUkFVVE8KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjoyMTEKIyAgICAgIiR7QFsnLiR7UFJBVVRPfScsICcnXVtub3QgZC5nZXRWYXIoJ1BSQVVU
TycpXX0iCkVYVEVORFBSQVVUTz0iIgojCiMgJEVYVEVSTkFMU1JDCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTU0CiMgICAgIFtkb2NdICJJZiBl
eHRlcm5hbHNyYy5iYmNsYXNzIGlzIGluaGVyaXRlZCwgdGhpcyB2YXJpYWJsZSBwb2ludHMgdG8g
dGhlIHNvdXJjZSB0cmVlLCB3aGljaCBpcyBvdXRzaWRlIG9mIHRoZSBPcGVuRW1iZWRkZWQgYnVp
bGQgc3lzdGVtLiIKIwojICRFWFRFUk5BTFNSQ19CVUlMRAojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE1NQojICAgICBbZG9jXSAiSWYgZXh0ZXJu
YWxzcmMuYmJjbGFzcyBpcyBpbmhlcml0ZWQsIHRoaXMgdmFyaWFibGUgcG9pbnRzIHRvIHRoZSBk
aXJlY3RvcnkgaW4gd2hpY2ggdGhlIHJlY2lwZSdzIHNvdXJjZSBjb2RlIGlzIGJ1aWx0LCB3aGlj
aCBpcyBvdXRzaWRlIG9mIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtLiIKIwojICRFWFRS
QV9JTUFHRURFUEVORFMgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo0NjcKIyAgICAgIiIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYzoyNAojICAgICAicWVtdS1uYXRp
dmUgcWVtdS1oZWxwZXItbmF0aXZlIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mOjE1NwojICAgICBbZG9jXSAiQSBsaXN0IG9mIHJlY2lwZXMgdG8g
YnVpbGQgdGhhdCBkbyBub3QgcHJvdmlkZSBwYWNrYWdlcyBmb3IgaW5zdGFsbGluZyBpbnRvIHRo
ZSByb290IGZpbGVzeXN0ZW0uIFVzZSB0aGlzIHZhcmlhYmxlIHRvIGxpc3QgcmVjaXBlcyB0aGF0
IGFyZSByZXF1aXJlZCB0byBidWlsZCB0aGUgZmluYWwgaW1hZ2UsIGJ1dCBub3QgbmVlZGVkIGlu
IHRoZSByb290IGZpbGVzeXN0ZW0uIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIHFlbXUt
bmF0aXZlIHFlbXUtaGVscGVyLW5hdGl2ZSIKRVhUUkFfSU1BR0VERVBFTkRTPSIgcWVtdS1uYXRp
dmUgcWVtdS1oZWxwZXItbmF0aXZlIgojCiMgJEVYVFJBX0lNQUdFX0ZFQVRVUkVTIFszIG9wZXJh
dGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2xvY2FsLmNvbmY6MTQz
CiMgICAgICJkZWJ1Zy10d2Vha3MiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6MTU2CiMgICAgIFtkb2NdICJUaGUgbGlzdCBvZiBhZGRpdGlvbmFs
IGZlYXR1cmVzIHRvIGluY2x1ZGUgaW4gYW4gaW1hZ2UuIENvbmZpZ3VyZSB0aGlzIHZhcmlhYmxl
IGluIHRoZSBjb25mL2xvY2FsLmNvbmYgZmlsZSBpbiB0aGUgQnVpbGQgRGlyZWN0b3J5LiIKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo4MTcKIyAgICAgW19k
ZWZhdWx0dmFsXSAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZGVidWctdHdlYWtzIgpF
WFRSQV9JTUFHRV9GRUFUVVJFUz0iZGVidWctdHdlYWtzIgojCiMgJEVYVFJBX09FQ01BS0UgWzMg
b3BlcmF0aW9uc10KIyAgIF9hcHBlbmRbcG4tbGliaWNhbF0gL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmM6MzIKIyAgICAgIiAtRFNIQVJF
RF9PTkxZPVRydWUiCiMgICBfYXBwZW5kW3BuLWxpYmpwZWctdHVyYm9dIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jOjMzCiMgICAgICIg
LURFTkFCTEVfU1RBVElDPUZhbHNlIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mOjE1OAojICAgICBbZG9jXSAiQWRkaXRpb25hbCBjbWFrZSBvcHRp
b25zLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiIKRVhUUkFfT0VDTUFLRT0iIgojCiMg
JEVYVFJBX09FQ09ORiBbMyBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjU0OQojICAgICAiIgojICAgX2FwcGVuZCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYzozMAojICAgICAi
JHtESVNBQkxFX1NUQVRJQ30iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6MTU5CiMgICAgIFtkb2NdICJBZGRpdGlvbmFsIGNvbmZpZ3VyZSBzY3Jp
cHQgb3B0aW9ucy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0RJU0FCTEVfU1RBVElD
fSIKRVhUUkFfT0VDT05GPSIgLS1kaXNhYmxlLXN0YXRpYyIKIwojICRFWFRSQV9PRU1BS0UgWzQg
b3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo1NDgKIyAgICAgIiIKIyAgIF9wcmVwZW5kW3Rhc2stY29tcGlsZV0gL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjAxCiMgICAgICIke1BBUkFMTEVMX01BS0V9ICIKIyAg
IF9wcmVwZW5kW3Rhc2staW5zdGFsbF0gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NjA0CiMgICAgICIke1BBUkFMTEVMX01BS0VJTlNUfSAiCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTYwCiMgICAgIFtkb2NdICJBZGRp
dGlvbmFsIEdOVSBtYWtlIG9wdGlvbnMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpF
WFRSQV9PRU1BS0U9IiIKIwojICRFWFRSQV9PRVNDT05TCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTYxCiMgICAgIFtkb2NdICJXaGVuIGEgcmVj
aXBlIGluaGVyaXRzIHRoZSBzY29ucyBjbGFzcywgdGhpcyB2YXJpYWJsZSBzcGVjaWZpZXMgYWRk
aXRpb25hbCBjb25maWd1cmF0aW9uIG9wdGlvbnMgeW91IHdhbnQgdG8gcGFzcyB0byB0aGUgc2Nv
bnMgY29tbWFuZCBsaW5lLiIKIwojICRFWFRSQV9RTUFLRVZBUlNfUE9TVAojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE2MgojICAgICBbZG9jXSAi
Q29uZmlndXJhdGlvbiB2YXJpYWJsZXMgb3Igb3B0aW9ucyB5b3Ugd2FudCB0byBwYXNzIHRvIHFt
YWtlIHdoZW4gdGhlIGFyZ3VtZW50cyBuZWVkIHRvIGJlIGFmdGVyIHRoZSAucHJvIGZpbGUgbGlz
dCBvbiB0aGUgY29tbWFuZCBsaW5lLiIKIwojICRFWFRSQV9RTUFLRVZBUlNfUFJFCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTYzCiMgICAgIFtk
b2NdICJDb25maWd1cmF0aW9uIHZhcmlhYmxlcyBvciBvcHRpb25zIHlvdSB3YW50IHRvIHBhc3Mg
dG8gcW1ha2Ugd2hlbiB0aGUgYXJndW1lbnRzIG5lZWQgdG8gYmUgYmVmb3JlIHRoZSAucHJvIGZp
bGUgbGlzdCBvbiB0aGUgY29tbWFuZCBsaW5lLiIKIwojICRFWFRSQV9TVEFHSU5HX0ZJWE1FUwoj
ICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjcwCiMg
ICAgICJIT1NUVE9PTFNfRElSIgpFWFRSQV9TVEFHSU5HX0ZJWE1FUz0iSE9TVFRPT0xTX0RJUiIK
IwojICRFWFRSQV9VU0VSU19QQVJBTVMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjoxNjQKIyAgICAgW2RvY10gIldoZW4gYSByZWNpcGUgaW5oZXJp
dHMgdGhlIGV4dHJhdXNlcnMgY2xhc3MsIHRoaXMgdmFyaWFibGUgcHJvdmlkZXMgaW1hZ2UgbGV2
ZWwgdXNlciBhbmQgZ3JvdXAgb3BlcmF0aW9ucy4iCiMKIyAkRkFLRVJPT1RCQVNFRU5WCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjkxCiMgICAgICJQU0VV
RE9fQklORElSPSR7UFNFVURPX1NZU1JPT1R9JHtiaW5kaXJfbmF0aXZlfSBQU0VVRE9fTElCRElS
PSR7UFNFVURPX1NZU1JPT1R9JHtwcmVmaXhfbmF0aXZlfS9saWIvcHNldWRvL2xpYiBQU0VVRE9f
UFJFRklYPSR7UFNFVURPX1NZU1JPT1R9JHtwcmVmaXhfbmF0aXZlfSBQU0VVRE9fRElTQUJMRUQ9
MSIKRkFLRVJPT1RCQVNFRU5WPSJQU0VVRE9fQklORElSPS9ob21lL3VzZXIvcG9reS9idWlsZC90
bXAvc3lzcm9vdHMtY29tcG9uZW50cy94ODZfNjQvcHNldWRvLW5hdGl2ZS91c3IvYmluIFBTRVVE
T19MSUJESVI9L2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC9zeXNyb290cy1jb21wb25lbnRzL3g4
Nl82NC9wc2V1ZG8tbmF0aXZlL3Vzci9saWIvcHNldWRvL2xpYiBQU0VVRE9fUFJFRklYPS9ob21l
L3VzZXIvcG9reS9idWlsZC90bXAvc3lzcm9vdHMtY29tcG9uZW50cy94ODZfNjQvcHNldWRvLW5h
dGl2ZS91c3IgUFNFVURPX0RJU0FCTEVEPTEiCiMKIyAkRkFLRVJPT1RDTUQKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2OTIKIyAgICAgIiR7UFNFVURPX1NZ
U1JPT1R9JHtiaW5kaXJfbmF0aXZlfS9wc2V1ZG8iCkZBS0VST09UQ01EPSIvaG9tZS91c2VyL3Bv
a3kvYnVpbGQvdG1wL3N5c3Jvb3RzLWNvbXBvbmVudHMveDg2XzY0L3BzZXVkby1uYXRpdmUvdXNy
L2Jpbi9wc2V1ZG8iCiMKIyAkRkFLRVJPT1RESVJTCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6Njk1CiMgICAgICIke1BTRVVET19MT0NBTFNUQVRFRElSfSIK
RkFLRVJPT1RESVJTPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9r
eS1saW51eC9leGFtcGxlLzAuMS1yMC9wc2V1ZG8vIgojCiMgJEZBS0VST09URU5WCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjkzCiMgICAgICJQU0VVRE9f
UFJFRklYPSR7UFNFVURPX1NZU1JPT1R9JHtwcmVmaXhfbmF0aXZlfSBQU0VVRE9fTE9DQUxTVEFU
RURJUj0ke1BTRVVET19MT0NBTFNUQVRFRElSfSBQU0VVRE9fUEFTU1dEPSR7UFNFVURPX1BBU1NX
RH0gUFNFVURPX05PU1lNTElOS0VYUD0xIFBTRVVET19ESVNBQkxFRD0wIgpGQUtFUk9PVEVOVj0i
UFNFVURPX1BSRUZJWD0vaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3N5c3Jvb3RzLWNvbXBvbmVu
dHMveDg2XzY0L3BzZXVkby1uYXRpdmUvdXNyIFBTRVVET19MT0NBTFNUQVRFRElSPS9ob21lL3Vz
ZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIw
L3BzZXVkby8gUFNFVURPX1BBU1NXRD0vaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29y
ZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdDovaG9tZS91c2Vy
L3Bva3kvYnVpbGQvdG1wL3N5c3Jvb3RzLWNvbXBvbmVudHMveDg2XzY0L3BzZXVkby1uYXRpdmUg
UFNFVURPX05PU1lNTElOS0VYUD0xIFBTRVVET19ESVNBQkxFRD0wIgojCiMgJEZBS0VST09UTk9F
TlYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2OTQKIyAg
ICAgIlBTRVVET19VTkxPQUQ9MSIKRkFLRVJPT1ROT0VOVj0iUFNFVURPX1VOTE9BRD0xIgojCiMg
JEZBS0VST09UX1FBIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y2xhc3Nlcy9pbnNhbmUuYmJjbGFzczo0MgojICAgICAiaG9zdC11c2VyLWNvbnRhbWluYXRlZCIK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjQ0CiMg
ICAgIFtkb2NdICJRQSB0ZXN0cyB3aGljaCBuZWVkIHRvIHJ1biB1bmRlciBmYWtlcm9vdC4gSWYg
YW55IGVuYWJsZWQgdGVzdHMgYXJlIGxpc3RlZCBoZXJlLCB0aGUgZG9fcGFja2FnZV9xYSB0YXNr
IHdpbGwgcnVuIHVuZGVyIGZha2Vyb290LiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImhv
c3QtdXNlci1jb250YW1pbmF0ZWQiCkZBS0VST09UX1FBPSJob3N0LXVzZXItY29udGFtaW5hdGVk
IgojCiMgJEZDIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo1MjAKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTIwCiMgICAgICIke0NDQUNIRX0ke0hP
U1RfUFJFRklYfWdmb3J0cmFuICR7SE9TVF9DQ19BUkNIfSR7VE9PTENIQUlOX09QVElPTlN9Igoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtDQ0FDSEV9JHtIT1NUX1BSRUZJWH1nZm9ydHJh
biAke0hPU1RfQ0NfQVJDSH0ke1RPT0xDSEFJTl9PUFRJT05TfSIKZXhwb3J0IEZDPSJ4ODZfNjQt
cG9reS1saW51eC1nZm9ydHJhbiAgLW02NCAtbWFyY2g9Y29yZTIgLW10dW5lPWNvcmUyIC1tc3Nl
MyAtbWZwbWF0aD1zc2UgLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nICAtRF9GT1JUSUZZX1NPVVJD
RT0yIC1XZm9ybWF0IC1XZm9ybWF0LXNlY3VyaXR5IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IC0t
c3lzcm9vdD0vaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51
eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdCIKIwojICRGRUVEX0RFUExPWURJUl9CQVNF
X1VSSQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjE2OAojICAgICBbZG9jXSAiQWxsb3cgdG8gc2VydmUgaXBrIGRlcGxveSBkaXJlY3RvcnkgYXMg
YW4gYWQgaG9jIGZlZWQgKGJvZ29mZWVkKS4gU2V0IHRvIGJhc2UgVVJMIG9mIHRoZSBkaXJlY3Rv
cnkgYXMgZXhwb3J0ZWQgYnkgSFRUUC4gU2V0IG9mIGFkIGhvYyBmZWVkIGNvbmZpZ3Mgd2lsbCBi
ZSBnZW5lcmF0ZWQgaW4gdGhlIGltYWdlLiIKIwojICRGSUxFIFs2OCBvcGVyYXRpb25zXQojICAg
c2V0IENvbmZIYW5kbGVyLnB5OjE0OCBbaGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L2J1
aWxkL2NvbmYvYmJsYXllcnMuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNDggW2hhbmRs
ZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZiIKIyAgIHNldCBD
b25mSGFuZGxlci5weToxNTEgW2hhbmRsZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9idWlsZC9j
b25mL2JibGF5ZXJzLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTQ4IFtoYW5kbGVdCiMg
ICAgICIvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZiIKIyAgIHNldCBD
b25mSGFuZGxlci5weToxNTEgW2hhbmRsZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9idWlsZC9j
b25mL2JibGF5ZXJzLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTQ4IFtoYW5kbGVdCiMg
ICAgICIvaG9tZS91c2VyL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9sYXllci5jb25mIgojICAg
c2V0IENvbmZIYW5kbGVyLnB5OjE1MSBbaGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L2J1
aWxkL2NvbmYvYmJsYXllcnMuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNDggW2hhbmRs
ZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIvY29uZi9sYXllci5j
b25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1MSBbaGFuZGxlXQojICAgICAiL2hvbWUvdXNl
ci9wb2t5L2J1aWxkL2NvbmYvYmJsYXllcnMuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weTox
NDggW2hhbmRsZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
IgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE0OCBbaGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9hYmlfdmVyc2lvbi5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1
MSBbaGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYi
CiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTQ4IFtoYW5kbGVdCiMgICAgICIvaG9tZS91c2VyL3Bv
a3kvYnVpbGQvY29uZi9sb2NhbC5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1MSBbaGFu
ZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYiCiMgICBz
ZXQgQ29uZkhhbmRsZXIucHk6MTQ4IFtoYW5kbGVdCiMgICAgICIvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL211bHRpY29uZmlnL2RlZmF1bHQuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weTox
NTEgW2hhbmRsZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
IgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE0OCBbaGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZiIKIyAgIHNldCBCQkhhbmRsZXIu
cHk6MTI2IFtoYW5kbGVdCiMgICAgICIvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
aW5jbHVkZS9xZW11LmluYyIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTQ0IFtoYW5kbGVdCiMgICAg
ICIvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni02NC5jb25mIgojICAg
c2V0IEJCSGFuZGxlci5weToxMjYgW2hhbmRsZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jIgojICAgc2V0IEJCSGFuZGxlci5w
eToxMjYgW2hhbmRsZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3R1bmUtaTY4Ni5pbmMiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjEyNiBbaGFuZGxlXQoj
ICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2
LmluYyIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTI2IFtoYW5kbGVdCiMgICAgICIvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jIgojICAgc2V0
IEJCSGFuZGxlci5weToxNDQgW2hhbmRsZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmMiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE0
NCBbaGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1
ZGUvdHVuZS1pNjg2LmluYyIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTQ0IFtoYW5kbGVdCiMgICAg
ICIvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcmUyLmlu
YyIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTQ0IFtoYW5kbGVdCiMgICAgICIvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni02NC5jb25mIgojICAgc2V0IEJCSGFuZGxlci5w
eToxMjYgW2hhbmRsZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3FlbXVib290LXg4Ni5pbmMiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE0NCBbaGFuZGxl
XQojICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29u
ZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNTEgW2hhbmRsZV0KIyAgICAgIi9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE0OCBb
aGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lLXNkay94ODZf
NjQuY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNTEgW2hhbmRsZV0KIyAgICAgIi9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5
OjE0OCBbaGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ry
by9wb2t5LmNvbmYiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjEyNiBbaGFuZGxlXQojICAgICAiL2hv
bWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3Bva3ktd29ybGQtZXhj
bHVkZS5pbmMiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE0NCBbaGFuZGxlXQojICAgICAiL2hvbWUv
dXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmYiCiMgICBzZXQgQkJIYW5k
bGVyLnB5OjEyNiBbaGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjE0NCBb
aGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5
LmNvbmYiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjEyNiBbaGFuZGxlXQojICAgICAiL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jIgojICAg
c2V0IEJCSGFuZGxlci5weToxNDQgW2hhbmRsZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9tZXRh
LXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mIgojICAgc2V0IEJCSGFuZGxlci5weToxMjYgW2hh
bmRsZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvc2Vj
dXJpdHlfZmxhZ3MuaW5jIgojICAgc2V0IEJCSGFuZGxlci5weToxNDQgW2hhbmRsZV0KIyAgICAg
Ii9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mIgojICAgc2V0
IENvbmZIYW5kbGVyLnB5OjE1MSBbaGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmYiCiMgICBzZXQgQ29uZkhhbmRsZXIucHk6MTQ4IFtoYW5kbGVdCiMg
ICAgICIvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiIK
IyAgIHNldCBCQkhhbmRsZXIucHk6MTI2IFtoYW5kbGVdCiMgICAgICIvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYyIKIyAgIHNldCBC
QkhhbmRsZXIucHk6MTQ0IFtoYW5kbGVdCiMgICAgICIvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTI2IFtoYW5k
bGVdCiMgICAgICIvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtdmVyc2lvbnMuaW5jIgojICAgc2V0IEJCSGFuZGxlci5weToxNDQgW2hhbmRsZV0KIyAgICAg
Ii9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIgojICAg
c2V0IEJCSGFuZGxlci5weToxMjYgW2hhbmRsZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYyIKIyAgIHNldCBCQkhh
bmRsZXIucHk6MTQ0IFtoYW5kbGVdCiMgICAgICIvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9kZWZhdWx0c2V0dXAuY29uZiIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTI2IFtoYW5kbGVd
CiMgICAgICIvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWlu
ZXJzLmluYyIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTQ0IFtoYW5kbGVdCiMgICAgICIvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZiIKIyAgIHNldCBCQkhh
bmRsZXIucHk6MTI2IFtoYW5kbGVdCiMgICAgICIvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYyIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTQ0
IFtoYW5kbGVdCiMgICAgICIvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0
c2V0dXAuY29uZiIKIyAgIHNldCBCQkhhbmRsZXIucHk6MTI2IFtoYW5kbGVdCiMgICAgICIvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMiCiMg
ICBzZXQgQkJIYW5kbGVyLnB5OjE0NCBbaGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYiCiMgICBzZXQgQkJIYW5kbGVyLnB5OjEy
NiBbaGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS91bmluYXRpdmUtZmxhZ3MuaW5jIgojICAgc2V0IEJCSGFuZGxlci5weToxNDQgW2hhbmRsZV0K
IyAgICAgIi9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25m
IgojICAgc2V0IEJCSGFuZGxlci5weToxMjYgW2hhbmRsZV0KIyAgICAgIi9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvaW5pdC1tYW5hZ2VyLW5vbmUuaW5jIgojICAgc2V0
IEJCSGFuZGxlci5weToxNDQgW2hhbmRsZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1MSBb
aGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYiCiMg
ICBzZXQgQ29uZkhhbmRsZXIucHk6MTQ4IFtoYW5kbGVdCiMgICAgICIvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZiIKIyAgIHNldCBDb25mSGFuZGxlci5weToxNTEg
W2hhbmRsZV0KIyAgICAgIi9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mIgoj
ICAgc2V0IENvbmZIYW5kbGVyLnB5OjE0OCBbaGFuZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9saWNlbnNlcy5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1MSBbaGFu
ZGxlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYiCiMgICBz
ZXQgQ29uZkhhbmRsZXIucHk6MTQ4IFtoYW5kbGVdCiMgICAgICIvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL3Nhbml0eS5jb25mIgojICAgc2V0IENvbmZIYW5kbGVyLnB5OjE1MSBbaGFuZGxlXQoj
ICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYiCiMgICBzZXQgQ29u
ZkhhbmRsZXIucHk6MTUxIFtoYW5kbGVdCiMgICAgICIvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29u
Zi9iYmxheWVycy5jb25mIgojICAgc2V0IEJCSGFuZGxlci5weToxMjYgW2hhbmRsZV0KIyAgICAg
Ii9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIvcmVjaXBlcy1leGFtcGxlL2V4YW1w
bGUvZXhhbXBsZV8wLjEuYmIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvaG9tZS91c2Vy
L3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyL3JlY2lwZXMtZXhhbXBsZS9leGFtcGxlL2V4YW1wbGVf
MC4xLmJiIgpGSUxFPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyL3JlY2lwZXMt
ZXhhbXBsZS9leGFtcGxlL2V4YW1wbGVfMC4xLmJiIgojCiMgJEZJTEVTIFsxOCBvcGVyYXRpb25z
XQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI5NAojICAg
ICAiIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjE2OQojICAgICBbZG9jXSAiVGhlIGxpc3Qgb2YgZGlyZWN0b3JpZXMgb3IgZmlsZXMgdGhhdCBh
cmUgcGxhY2VkIGluIHBhY2thZ2VzLiIKIyAgIG92ZXJyaWRlW2V4YW1wbGVdOnNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMDUKIyAgICAgIiR7YmluZGlyfS8qICR7
c2JpbmRpcn0vKiAke2xpYmV4ZWNkaXJ9LyogJHtsaWJkaXJ9L2xpYioke1NPTElCU30gICAgICAg
ICAgICAgJHtzeXNjb25mZGlyfSAke3NoYXJlZHN0YXRlZGlyfSAke2xvY2Fsc3RhdGVkaXJ9ICAg
ICAgICAgICAgICR7YmFzZV9iaW5kaXJ9LyogJHtiYXNlX3NiaW5kaXJ9LyogICAgICAgICAgICAg
JHtiYXNlX2xpYmRpcn0vKiR7U09MSUJTfSAgICAgICAgICAgICAke2Jhc2VfcHJlZml4fS9saWIv
dWRldiAke3ByZWZpeH0vbGliL3VkZXYgICAgICAgICAgICAgJHtiYXNlX2xpYmRpcn0vdWRldiAk
e2xpYmRpcn0vdWRldiAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7QlBOfSAke2xpYmRpcn0vJHtC
UE59LyogICAgICAgICAgICAgJHtkYXRhZGlyfS9waXhtYXBzICR7ZGF0YWRpcn0vYXBwbGljYXRp
b25zICAgICAgICAgICAgICR7ZGF0YWRpcn0vaWRsICR7ZGF0YWRpcn0vb21mICR7ZGF0YWRpcn0v
c291bmRzICAgICAgICAgICAgICR7bGliZGlyfS9ib25vYm8vc2VydmVycyIKIyAgIG92ZXJyaWRl
W2V4YW1wbGVdOnJlbmFtZSBmcm9tIEZJTEVTXyR7UE59IGRhdGEucHk6MTA0IFtleHBhbmRLZXlz
XQojICAgICAiJHtiaW5kaXJ9LyogJHtzYmluZGlyfS8qICR7bGliZXhlY2Rpcn0vKiAke2xpYmRp
cn0vbGliKiR7U09MSUJTfSAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9ICR7c2hhcmVkc3RhdGVk
aXJ9ICR7bG9jYWxzdGF0ZWRpcn0gICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vKiAke2Jhc2Vf
c2JpbmRpcn0vKiAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS8qJHtTT0xJQlN9ICAgICAgICAg
ICAgICR7YmFzZV9wcmVmaXh9L2xpYi91ZGV2ICR7cHJlZml4fS9saWIvdWRldiAgICAgICAgICAg
ICAke2Jhc2VfbGliZGlyfS91ZGV2ICR7bGliZGlyfS91ZGV2ICAgICAgICAgICAgICR7ZGF0YWRp
cn0vJHtCUE59ICR7bGliZGlyfS8ke0JQTn0vKiAgICAgICAgICAgICAke2RhdGFkaXJ9L3BpeG1h
cHMgJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMgICAgICAgICAgICAgJHtkYXRhZGlyfS9pZGwgJHtk
YXRhZGlyfS9vbWYgJHtkYXRhZGlyfS9zb3VuZHMgICAgICAgICAgICAgJHtsaWJkaXJ9L2Jvbm9i
by9zZXJ2ZXJzIgojICAgb3ZlcnJpZGVbZXhhbXBsZS1iaW5dOnNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjozMDcKIyAgICAgIiR7YmluZGlyfS8qICR7c2JpbmRpcn0v
KiIKIyAgIG92ZXJyaWRlW2V4YW1wbGUtYmluXTpyZW5hbWUgZnJvbSBGSUxFU18ke1BOfS1iaW4g
ZGF0YS5weToxMDQgW2V4cGFuZEtleXNdCiMgICAgICIke2JpbmRpcn0vKiAke3NiaW5kaXJ9Lyoi
CiMgICBvdmVycmlkZVtleGFtcGxlLWRiZ106c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjMyNwojICAgICAiL3Vzci9saWIvZGVidWcgL3Vzci9zcmMvZGVidWciCiMg
ICBvdmVycmlkZVtleGFtcGxlLWRiZ106cmVuYW1lIGZyb20gRklMRVNfJHtQTn0tZGJnIGRhdGEu
cHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiL3Vzci9saWIvZGVidWcgL3Vzci9zcmMvZGVidWci
CiMgICBvdmVycmlkZVtleGFtcGxlLWRldl06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjMxOAojICAgICAiJHtpbmNsdWRlZGlyfSAke0ZJTEVTX1NPTElCU0RFVn0g
JHtsaWJkaXJ9LyoubGEgICAgICAgICAgICAgICAgICR7bGliZGlyfS8qLm8gJHtsaWJkaXJ9L3Br
Z2NvbmZpZyAke2RhdGFkaXJ9L3BrZ2NvbmZpZyAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9h
Y2xvY2FsICR7YmFzZV9saWJkaXJ9LyoubyAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9LyR7QlBO
fS8qLmxhICR7YmFzZV9saWJkaXJ9LyoubGEgICAgICAgICAgICAgICAgICR7bGliZGlyfS9jbWFr
ZSAke2RhdGFkaXJ9L2NtYWtlIgojICAgb3ZlcnJpZGVbZXhhbXBsZS1kZXZdOnJlbmFtZSBmcm9t
IEZJTEVTXyR7UE59LWRldiBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgIiR7aW5jbHVk
ZWRpcn0gJHtGSUxFU19TT0xJQlNERVZ9ICR7bGliZGlyfS8qLmxhICAgICAgICAgICAgICAgICAk
e2xpYmRpcn0vKi5vICR7bGliZGlyfS9wa2djb25maWcgJHtkYXRhZGlyfS9wa2djb25maWcgICAg
ICAgICAgICAgICAgICR7ZGF0YWRpcn0vYWNsb2NhbCAke2Jhc2VfbGliZGlyfS8qLm8gICAgICAg
ICAgICAgICAgICR7bGliZGlyfS8ke0JQTn0vKi5sYSAke2Jhc2VfbGliZGlyfS8qLmxhICAgICAg
ICAgICAgICAgICAke2xpYmRpcn0vY21ha2UgJHtkYXRhZGlyfS9jbWFrZSIKIyAgIG92ZXJyaWRl
W2V4YW1wbGUtZG9jXTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
MzEwCiMgICAgICIke2RvY2Rpcn0gJHttYW5kaXJ9ICR7aW5mb2Rpcn0gJHtkYXRhZGlyfS9ndGst
ZG9jICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ25vbWUvaGVscCIKIyAgIG92ZXJyaWRlW2V4YW1w
bGUtZG9jXTpyZW5hbWUgZnJvbSBGSUxFU18ke1BOfS1kb2MgZGF0YS5weToxMDQgW2V4cGFuZEtl
eXNdCiMgICAgICIke2RvY2Rpcn0gJHttYW5kaXJ9ICR7aW5mb2Rpcn0gJHtkYXRhZGlyfS9ndGst
ZG9jICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ25vbWUvaGVscCIKIyAgIG92ZXJyaWRlW2V4YW1w
bGUtbG9jYWxlXTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzM2
CiMgICAgICIke2RhdGFkaXJ9L2xvY2FsZSIKIyAgIG92ZXJyaWRlW2V4YW1wbGUtbG9jYWxlXTpy
ZW5hbWUgZnJvbSBGSUxFU18ke1BOfS1sb2NhbGUgZGF0YS5weToxMDQgW2V4cGFuZEtleXNdCiMg
ICAgICIke2RhdGFkaXJ9L2xvY2FsZSIKIyAgIG92ZXJyaWRlW2V4YW1wbGUtc3JjXTpzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzMzCiMgICAgICIiCiMgICBvdmVy
cmlkZVtleGFtcGxlLXNyY106cmVuYW1lIGZyb20gRklMRVNfJHtQTn0tc3JjIGRhdGEucHk6MTA0
IFtleHBhbmRLZXlzXQojICAgICAiIgojICAgb3ZlcnJpZGVbZXhhbXBsZS1zdGF0aWNkZXZdOnNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMjMKIyAgICAgIiR7bGli
ZGlyfS8qLmEgJHtiYXNlX2xpYmRpcn0vKi5hICR7bGliZGlyfS8ke0JQTn0vKi5hIgojICAgb3Zl
cnJpZGVbZXhhbXBsZS1zdGF0aWNkZXZdOnJlbmFtZSBmcm9tIEZJTEVTXyR7UE59LXN0YXRpY2Rl
diBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgIiR7bGliZGlyfS8qLmEgJHtiYXNlX2xp
YmRpcn0vKi5hICR7bGliZGlyfS8ke0JQTn0vKi5hIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiIgpGSUxFUz0iIgojCiMgJEZJTEVTRVhUUkFQQVRIUyBbMiBvcGVyYXRpb25zXQojICAgc2V0
PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNDQKIyAgICAgIl9fZGVm
YXVsdDoiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MTcwCiMgICAgIFtkb2NdICJFeHRlbmRzIHRoZSBzZWFyY2ggcGF0aCB0aGUgT3BlbkVtYmVk
ZGVkIGJ1aWxkIHN5c3RlbSB1c2VzIHdoZW4gbG9va2luZyBmb3IgZmlsZXMgYW5kIHBhdGNoZXMg
YXMgaXQgcHJvY2Vzc2VzIHJlY2lwZXMgYW5kIGFwcGVuZCBmaWxlcy4iCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICJfX2RlZmF1bHQ6IgpGSUxFU0VYVFJBUEFUSFM9Il9fZGVmYXVsdDoiCiMK
IyAkRklMRVNPVkVSUklERVMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo3NDMKIyAgICAgIiR7VFJBTlNMQVRFRF9UQVJHRVRfQVJD
SH06JHtNQUNISU5FT1ZFUlJJREVTfToke0RJU1RST09WRVJSSURFU30iCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTcxCiMgICAgIFtkb2NdICJB
IHN1YnNldCBvZiBPVkVSUklERVMgdXNlZCBieSB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3Rl
bSBmb3IgY3JlYXRpbmcgRklMRVNQQVRILiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7
VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH06JHtNQUNISU5FT1ZFUlJJREVTfToke0RJU1RST09WRVJS
SURFU30iCkZJTEVTT1ZFUlJJREVTPSJ4ODYtNjQ6cWVtdWFsbDpxZW11eDg2LTY0OnBva3kiCiMK
IyAkRklMRVNQQVRIIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTcyCiMgICAgIFtkb2NdICJUaGUgZGVmYXVsdCBzZXQg
b2YgZGlyZWN0b3JpZXMgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gdXNlcyB3aGVuIHNl
YXJjaGluZyBmb3IgcGF0Y2hlcyBhbmQgZmlsZXMuIEl0IGlzIGRlZmluZWQgaW4gdGhlIGJhc2Uu
YmJjbGFzcyBjbGFzcyBmb3VuZCBpbiBtZXRhL2NsYXNzZXMgaW4gdGhlIFNvdXJjZSBEaXJlY3Rv
cnkuIERvIG5vdCBoYW5kLWVkaXQgdGhlIEZJTEVTUEFUSCB2YXJpYWJsZS4iCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3M6ODIKIyAgICAgIiR7QGJhc2Vf
c2V0X2ZpbGVzcGF0aChbIiR7RklMRV9ESVJOQU1FfS8ke0JQfSIsICIke0ZJTEVfRElSTkFNRX0v
JHtCUE59IiwgIiR7RklMRV9ESVJOQU1FfS9maWxlcyJdLCBkKX0iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIke0BiYXNlX3NldF9maWxlc3BhdGgoWyIke0ZJTEVfRElSTkFNRX0vJHtCUH0i
LCAiJHtGSUxFX0RJUk5BTUV9LyR7QlBOfSIsICIke0ZJTEVfRElSTkFNRX0vZmlsZXMiXSwgZCl9
IgpGSUxFU1BBVEg9Ii9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIvcmVjaXBlcy1l
eGFtcGxlL2V4YW1wbGUvZXhhbXBsZS0wLjEvcG9reTovaG9tZS91c2VyL3Bva3kvYnVpbGQvY3Vz
dG9tX2xheWVyL3JlY2lwZXMtZXhhbXBsZS9leGFtcGxlL2V4YW1wbGUvcG9reTovaG9tZS91c2Vy
L3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyL3JlY2lwZXMtZXhhbXBsZS9leGFtcGxlL2ZpbGVzL3Bv
a3k6L2hvbWUvdXNlci9wb2t5L2J1aWxkL2N1c3RvbV9sYXllci9yZWNpcGVzLWV4YW1wbGUvZXhh
bXBsZS9leGFtcGxlLTAuMS9xZW11eDg2LTY0Oi9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21f
bGF5ZXIvcmVjaXBlcy1leGFtcGxlL2V4YW1wbGUvZXhhbXBsZS9xZW11eDg2LTY0Oi9ob21lL3Vz
ZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIvcmVjaXBlcy1leGFtcGxlL2V4YW1wbGUvZmlsZXMv
cWVtdXg4Ni02NDovaG9tZS91c2VyL3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyL3JlY2lwZXMtZXhh
bXBsZS9leGFtcGxlL2V4YW1wbGUtMC4xL3FlbXVhbGw6L2hvbWUvdXNlci9wb2t5L2J1aWxkL2N1
c3RvbV9sYXllci9yZWNpcGVzLWV4YW1wbGUvZXhhbXBsZS9leGFtcGxlL3FlbXVhbGw6L2hvbWUv
dXNlci9wb2t5L2J1aWxkL2N1c3RvbV9sYXllci9yZWNpcGVzLWV4YW1wbGUvZXhhbXBsZS9maWxl
cy9xZW11YWxsOi9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIvcmVjaXBlcy1leGFt
cGxlL2V4YW1wbGUvZXhhbXBsZS0wLjEveDg2LTY0Oi9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0
b21fbGF5ZXIvcmVjaXBlcy1leGFtcGxlL2V4YW1wbGUvZXhhbXBsZS94ODYtNjQ6L2hvbWUvdXNl
ci9wb2t5L2J1aWxkL2N1c3RvbV9sYXllci9yZWNpcGVzLWV4YW1wbGUvZXhhbXBsZS9maWxlcy94
ODYtNjQ6L2hvbWUvdXNlci9wb2t5L2J1aWxkL2N1c3RvbV9sYXllci9yZWNpcGVzLWV4YW1wbGUv
ZXhhbXBsZS9leGFtcGxlLTAuMS86L2hvbWUvdXNlci9wb2t5L2J1aWxkL2N1c3RvbV9sYXllci9y
ZWNpcGVzLWV4YW1wbGUvZXhhbXBsZS9leGFtcGxlLzovaG9tZS91c2VyL3Bva3kvYnVpbGQvY3Vz
dG9tX2xheWVyL3JlY2lwZXMtZXhhbXBsZS9leGFtcGxlL2ZpbGVzLyIKIwojICRGSUxFU1lTVEVN
X1BFUk1TX1RBQkxFUyBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjozNTIKIyAgICAgIiR7QCdmaWxlcy9mcy1wZXJtcy50eHQnIGlm
IG9lLnR5cGVzLmJvb2xlYW4oZC5nZXRWYXIoJ1ZPTEFUSUxFX0xPR19ESVInKSkgZWxzZSAnZmls
ZXMvZnMtcGVybXMtcGVyc2lzdGVudC1sb2cudHh0J30iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTczCiMgICAgIFtkb2NdICJBbGxvd3MgeW91
IHRvIGRlZmluZSB5b3VyIG93biBmaWxlIHBlcm1pc3Npb25zIHNldHRpbmdzIHRhYmxlIGFzIHBh
cnQgb2YgeW91ciBjb25maWd1cmF0aW9uIGZvciB0aGUgcGFja2FnaW5nIHByb2Nlc3MuIgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtAJ2ZpbGVzL2ZzLXBlcm1zLnR4dCcgaWYgb2UudHlw
ZXMuYm9vbGVhbihkLmdldFZhcignVk9MQVRJTEVfTE9HX0RJUicpKSBlbHNlICdmaWxlcy9mcy1w
ZXJtcy1wZXJzaXN0ZW50LWxvZy50eHQnfSIKRklMRVNZU1RFTV9QRVJNU19UQUJMRVM9ImZpbGVz
L2ZzLXBlcm1zLnR4dCIKIwojICRGSUxFU19TT0xJQlNERVYKIyAgIHNldD8gL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzEzCiMgICAgICIke2Jhc2VfbGliZGlyfS9saWIq
JHtTT0xJQlNERVZ9ICR7bGliZGlyfS9saWIqJHtTT0xJQlNERVZ9IgpGSUxFU19TT0xJQlNERVY9
Ii9saWIvbGliKi5zbyAvdXNyL2xpYi9saWIqLnNvIgojCiMgJEZJTEVTX2V4YW1wbGUgWzIgb3Bl
cmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoz
MDUKIyAgICAgIiR7YmluZGlyfS8qICR7c2JpbmRpcn0vKiAke2xpYmV4ZWNkaXJ9LyogJHtsaWJk
aXJ9L2xpYioke1NPTElCU30gICAgICAgICAgICAgJHtzeXNjb25mZGlyfSAke3NoYXJlZHN0YXRl
ZGlyfSAke2xvY2Fsc3RhdGVkaXJ9ICAgICAgICAgICAgICR7YmFzZV9iaW5kaXJ9LyogJHtiYXNl
X3NiaW5kaXJ9LyogICAgICAgICAgICAgJHtiYXNlX2xpYmRpcn0vKiR7U09MSUJTfSAgICAgICAg
ICAgICAke2Jhc2VfcHJlZml4fS9saWIvdWRldiAke3ByZWZpeH0vbGliL3VkZXYgICAgICAgICAg
ICAgJHtiYXNlX2xpYmRpcn0vdWRldiAke2xpYmRpcn0vdWRldiAgICAgICAgICAgICAke2RhdGFk
aXJ9LyR7QlBOfSAke2xpYmRpcn0vJHtCUE59LyogICAgICAgICAgICAgJHtkYXRhZGlyfS9waXht
YXBzICR7ZGF0YWRpcn0vYXBwbGljYXRpb25zICAgICAgICAgICAgICR7ZGF0YWRpcn0vaWRsICR7
ZGF0YWRpcn0vb21mICR7ZGF0YWRpcn0vc291bmRzICAgICAgICAgICAgICR7bGliZGlyfS9ib25v
Ym8vc2VydmVycyIKIyAgIHJlbmFtZSBmcm9tIEZJTEVTXyR7UE59IGRhdGEucHk6MTA0IFtleHBh
bmRLZXlzXQojICAgICAiJHtiaW5kaXJ9LyogJHtzYmluZGlyfS8qICR7bGliZXhlY2Rpcn0vKiAk
e2xpYmRpcn0vbGliKiR7U09MSUJTfSAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9ICR7c2hhcmVk
c3RhdGVkaXJ9ICR7bG9jYWxzdGF0ZWRpcn0gICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vKiAk
e2Jhc2Vfc2JpbmRpcn0vKiAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS8qJHtTT0xJQlN9ICAg
ICAgICAgICAgICR7YmFzZV9wcmVmaXh9L2xpYi91ZGV2ICR7cHJlZml4fS9saWIvdWRldiAgICAg
ICAgICAgICAke2Jhc2VfbGliZGlyfS91ZGV2ICR7bGliZGlyfS91ZGV2ICAgICAgICAgICAgICR7
ZGF0YWRpcn0vJHtCUE59ICR7bGliZGlyfS8ke0JQTn0vKiAgICAgICAgICAgICAke2RhdGFkaXJ9
L3BpeG1hcHMgJHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMgICAgICAgICAgICAgJHtkYXRhZGlyfS9p
ZGwgJHtkYXRhZGlyfS9vbWYgJHtkYXRhZGlyfS9zb3VuZHMgICAgICAgICAgICAgJHtsaWJkaXJ9
L2Jvbm9iby9zZXJ2ZXJzIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtiaW5kaXJ9Lyog
JHtzYmluZGlyfS8qICR7bGliZXhlY2Rpcn0vKiAke2xpYmRpcn0vbGliKiR7U09MSUJTfSAgICAg
ICAgICAgICAke3N5c2NvbmZkaXJ9ICR7c2hhcmVkc3RhdGVkaXJ9ICR7bG9jYWxzdGF0ZWRpcn0g
ICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vKiAke2Jhc2Vfc2JpbmRpcn0vKiAgICAgICAgICAg
ICAke2Jhc2VfbGliZGlyfS8qJHtTT0xJQlN9ICAgICAgICAgICAgICR7YmFzZV9wcmVmaXh9L2xp
Yi91ZGV2ICR7cHJlZml4fS9saWIvdWRldiAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS91ZGV2
ICR7bGliZGlyfS91ZGV2ICAgICAgICAgICAgICR7ZGF0YWRpcn0vJHtCUE59ICR7bGliZGlyfS8k
e0JQTn0vKiAgICAgICAgICAgICAke2RhdGFkaXJ9L3BpeG1hcHMgJHtkYXRhZGlyfS9hcHBsaWNh
dGlvbnMgICAgICAgICAgICAgJHtkYXRhZGlyfS9pZGwgJHtkYXRhZGlyfS9vbWYgJHtkYXRhZGly
fS9zb3VuZHMgICAgICAgICAgICAgJHtsaWJkaXJ9L2Jvbm9iby9zZXJ2ZXJzIgpGSUxFU19leGFt
cGxlPSIvdXNyL2Jpbi8qIC91c3Ivc2Jpbi8qIC91c3IvbGliZXhlYy8qIC91c3IvbGliL2xpYiou
c28uKiAgICAgICAgICAgICAvZXRjIC9jb20gL3ZhciAgICAgICAgICAgICAvYmluLyogL3NiaW4v
KiAgICAgICAgICAgICAvbGliLyouc28uKiAgICAgICAgICAgICAvbGliL3VkZXYgL3Vzci9saWIv
dWRldiAgICAgICAgICAgICAvbGliL3VkZXYgL3Vzci9saWIvdWRldiAgICAgICAgICAgICAvdXNy
L3NoYXJlL2V4YW1wbGUgL3Vzci9saWIvZXhhbXBsZS8qICAgICAgICAgICAgIC91c3Ivc2hhcmUv
cGl4bWFwcyAvdXNyL3NoYXJlL2FwcGxpY2F0aW9ucyAgICAgICAgICAgICAvdXNyL3NoYXJlL2lk
bCAvdXNyL3NoYXJlL29tZiAvdXNyL3NoYXJlL3NvdW5kcyAgICAgICAgICAgICAvdXNyL2xpYi9i
b25vYm8vc2VydmVycyIKIwojICRGSUxFU19leGFtcGxlLWJpbiBbMiBvcGVyYXRpb25zXQojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjMwNwojICAgICAiJHti
aW5kaXJ9LyogJHtzYmluZGlyfS8qIgojICAgcmVuYW1lIGZyb20gRklMRVNfJHtQTn0tYmluIGRh
dGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtiaW5kaXJ9LyogJHtzYmluZGlyfS8qIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtiaW5kaXJ9LyogJHtzYmluZGlyfS8qIgpGSUxF
U19leGFtcGxlLWJpbj0iL3Vzci9iaW4vKiAvdXNyL3NiaW4vKiIKIwojICRGSUxFU19leGFtcGxl
LWRiZyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjMyNwojICAgICAiL3Vzci9saWIvZGVidWcgL3Vzci9zcmMvZGVidWciCiMgICBy
ZW5hbWUgZnJvbSBGSUxFU18ke1BOfS1kYmcgZGF0YS5weToxMDQgW2V4cGFuZEtleXNdCiMgICAg
ICIvdXNyL2xpYi9kZWJ1ZyAvdXNyL3NyYy9kZWJ1ZyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIi91c3IvbGliL2RlYnVnIC91c3Ivc3JjL2RlYnVnIgpGSUxFU19leGFtcGxlLWRiZz0iL3Vz
ci9saWIvZGVidWcgL3Vzci9zcmMvZGVidWciCiMKIyAkRklMRVNfZXhhbXBsZS1kZXYgWzIgb3Bl
cmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoz
MTgKIyAgICAgIiR7aW5jbHVkZWRpcn0gJHtGSUxFU19TT0xJQlNERVZ9ICR7bGliZGlyfS8qLmxh
ICAgICAgICAgICAgICAgICAke2xpYmRpcn0vKi5vICR7bGliZGlyfS9wa2djb25maWcgJHtkYXRh
ZGlyfS9wa2djb25maWcgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vYWNsb2NhbCAke2Jhc2Vf
bGliZGlyfS8qLm8gICAgICAgICAgICAgICAgICR7bGliZGlyfS8ke0JQTn0vKi5sYSAke2Jhc2Vf
bGliZGlyfS8qLmxhICAgICAgICAgICAgICAgICAke2xpYmRpcn0vY21ha2UgJHtkYXRhZGlyfS9j
bWFrZSIKIyAgIHJlbmFtZSBmcm9tIEZJTEVTXyR7UE59LWRldiBkYXRhLnB5OjEwNCBbZXhwYW5k
S2V5c10KIyAgICAgIiR7aW5jbHVkZWRpcn0gJHtGSUxFU19TT0xJQlNERVZ9ICR7bGliZGlyfS8q
LmxhICAgICAgICAgICAgICAgICAke2xpYmRpcn0vKi5vICR7bGliZGlyfS9wa2djb25maWcgJHtk
YXRhZGlyfS9wa2djb25maWcgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vYWNsb2NhbCAke2Jh
c2VfbGliZGlyfS8qLm8gICAgICAgICAgICAgICAgICR7bGliZGlyfS8ke0JQTn0vKi5sYSAke2Jh
c2VfbGliZGlyfS8qLmxhICAgICAgICAgICAgICAgICAke2xpYmRpcn0vY21ha2UgJHtkYXRhZGly
fS9jbWFrZSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7aW5jbHVkZWRpcn0gJHtGSUxF
U19TT0xJQlNERVZ9ICR7bGliZGlyfS8qLmxhICAgICAgICAgICAgICAgICAke2xpYmRpcn0vKi5v
ICR7bGliZGlyfS9wa2djb25maWcgJHtkYXRhZGlyfS9wa2djb25maWcgICAgICAgICAgICAgICAg
ICR7ZGF0YWRpcn0vYWNsb2NhbCAke2Jhc2VfbGliZGlyfS8qLm8gICAgICAgICAgICAgICAgICR7
bGliZGlyfS8ke0JQTn0vKi5sYSAke2Jhc2VfbGliZGlyfS8qLmxhICAgICAgICAgICAgICAgICAk
e2xpYmRpcn0vY21ha2UgJHtkYXRhZGlyfS9jbWFrZSIKRklMRVNfZXhhbXBsZS1kZXY9Ii91c3Iv
aW5jbHVkZSAvbGliL2xpYiouc28gL3Vzci9saWIvbGliKi5zbyAvdXNyL2xpYi8qLmxhICAgICAg
ICAgICAgICAgICAvdXNyL2xpYi8qLm8gL3Vzci9saWIvcGtnY29uZmlnIC91c3Ivc2hhcmUvcGtn
Y29uZmlnICAgICAgICAgICAgICAgICAvdXNyL3NoYXJlL2FjbG9jYWwgL2xpYi8qLm8gICAgICAg
ICAgICAgICAgIC91c3IvbGliL2V4YW1wbGUvKi5sYSAvbGliLyoubGEgICAgICAgICAgICAgICAg
IC91c3IvbGliL2NtYWtlIC91c3Ivc2hhcmUvY21ha2UiCiMKIyAkRklMRVNfZXhhbXBsZS1kb2Mg
WzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjozMTAKIyAgICAgIiR7ZG9jZGlyfSAke21hbmRpcn0gJHtpbmZvZGlyfSAke2RhdGFkaXJ9
L2d0ay1kb2MgICAgICAgICAgICAgJHtkYXRhZGlyfS9nbm9tZS9oZWxwIgojICAgcmVuYW1lIGZy
b20gRklMRVNfJHtQTn0tZG9jIGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtkb2Nk
aXJ9ICR7bWFuZGlyfSAke2luZm9kaXJ9ICR7ZGF0YWRpcn0vZ3RrLWRvYyAgICAgICAgICAgICAk
e2RhdGFkaXJ9L2dub21lL2hlbHAiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2RvY2Rp
cn0gJHttYW5kaXJ9ICR7aW5mb2Rpcn0gJHtkYXRhZGlyfS9ndGstZG9jICAgICAgICAgICAgICR7
ZGF0YWRpcn0vZ25vbWUvaGVscCIKRklMRVNfZXhhbXBsZS1kb2M9Ii91c3Ivc2hhcmUvZG9jIC91
c3Ivc2hhcmUvbWFuIC91c3Ivc2hhcmUvaW5mbyAvdXNyL3NoYXJlL2d0ay1kb2MgICAgICAgICAg
ICAgL3Vzci9zaGFyZS9nbm9tZS9oZWxwIgojCiMgJEZJTEVTX2V4YW1wbGUtbG9jYWxlIFsyIG9w
ZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
MzM2CiMgICAgICIke2RhdGFkaXJ9L2xvY2FsZSIKIyAgIHJlbmFtZSBmcm9tIEZJTEVTXyR7UE59
LWxvY2FsZSBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgIiR7ZGF0YWRpcn0vbG9jYWxl
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtkYXRhZGlyfS9sb2NhbGUiCkZJTEVTX2V4
YW1wbGUtbG9jYWxlPSIvdXNyL3NoYXJlL2xvY2FsZSIKIwojICRGSUxFU19leGFtcGxlLXNyYyBb
MiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjMzMwojICAgICAiIgojICAgcmVuYW1lIGZyb20gRklMRVNfJHtQTn0tc3JjIGRhdGEucHk6
MTA0IFtleHBhbmRLZXlzXQojICAgICAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpG
SUxFU19leGFtcGxlLXNyYz0iIgojCiMgJEZJTEVTX2V4YW1wbGUtc3RhdGljZGV2IFsyIG9wZXJh
dGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzIz
CiMgICAgICIke2xpYmRpcn0vKi5hICR7YmFzZV9saWJkaXJ9LyouYSAke2xpYmRpcn0vJHtCUE59
LyouYSIKIyAgIHJlbmFtZSBmcm9tIEZJTEVTXyR7UE59LXN0YXRpY2RldiBkYXRhLnB5OjEwNCBb
ZXhwYW5kS2V5c10KIyAgICAgIiR7bGliZGlyfS8qLmEgJHtiYXNlX2xpYmRpcn0vKi5hICR7bGli
ZGlyfS8ke0JQTn0vKi5hIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtsaWJkaXJ9Lyou
YSAke2Jhc2VfbGliZGlyfS8qLmEgJHtsaWJkaXJ9LyR7QlBOfS8qLmEiCkZJTEVTX2V4YW1wbGUt
c3RhdGljZGV2PSIvdXNyL2xpYi8qLmEgL2xpYi8qLmEgL3Vzci9saWIvZXhhbXBsZS8qLmEiCiMK
IyAkRklMRV9ESVJOQU1FCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6MzQwCiMgICAgICIke0Bvcy5wYXRoLmRpcm5hbWUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxz
ZSkpfSIKRklMRV9ESVJOQU1FPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyL3Jl
Y2lwZXMtZXhhbXBsZS9leGFtcGxlIgojCiMgJEZPTlRfRVhUUkFfUkRFUEVORFMKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNzQKIyAgICAgW2Rv
Y10gIldoZW4gYSByZWNpcGUgaW5oZXJpdHMgdGhlIGZvbnRjYWNoZSBjbGFzcywgdGhpcyB2YXJp
YWJsZSBzcGVjaWZpZXMgcnVudGltZSBkZXBlbmRlbmNpZXMgZm9yIGZvbnQgcGFja2FnZXMuIFRo
aXMgdmFyaWFibGUgZGVmYXVsdHMgdG8gJ2ZvbnRjb25maWctdXRpbHMnLiIKIwojICRGT05UX1BB
Q0tBR0VTCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MTc1CiMgICAgIFtkb2NdICJXaGVuIGEgcmVjaXBlIGluaGVyaXRzIHRoZSBmb250Y2FjaGUg
Y2xhc3MsIHRoaXMgdmFyaWFibGUgaWRlbnRpZmllcyBwYWNrYWdlcyBjb250YWluaW5nIGZvbnQg
ZmlsZXMgdGhhdCBuZWVkIHRvIGJlIGNhY2hlZCBieSBGb250Y29uZmlnLiIKIwojICRGT1NTX0JB
U0VfVVJMCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjE4
NwojICAgICAiaHR0cDovL2xvY2FsaG9zdC9yZXBvLz9tb2Q9c3BkeF9saWNlbnNlX29uY2UiCkZP
U1NfQkFTRV9VUkw9Imh0dHA6Ly9sb2NhbGhvc3QvcmVwby8/bW9kPXNwZHhfbGljZW5zZV9vbmNl
IgojCiMgJEZPU1NfRlVMTF9TUERYCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9s
aWNlbnNlcy5jb25mOjE3OAojICAgICAidHJ1ZSIKRk9TU19GVUxMX1NQRFg9InRydWUiCiMKIyAk
Rk9TU19OT19DT1BZUklHSFQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xpY2Vu
c2VzLmNvbmY6MTQ5CiMgICAgICJ0cnVlIgpGT1NTX05PX0NPUFlSSUdIVD0idHJ1ZSIKIwojICRG
T1NTX1JFQ1VSU0lWRV9VTlBBQ0sKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xp
Y2Vuc2VzLmNvbmY6MTYzCiMgICAgICJmYWxzZSIKRk9TU19SRUNVUlNJVkVfVU5QQUNLPSJmYWxz
ZSIKIwojICRGT1NTX1NFUlZFUgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGlj
ZW5zZXMuY29uZjoxODgKIyAgICAgIiR7Rk9TU19CQVNFX1VSTH0mZnVsbFNQRFhGbGFnPSR7Rk9T
U19GVUxMX1NQRFh9Jm5vQ29weXJpZ2h0PSR7Rk9TU19OT19DT1BZUklHSFR9JnJlY3Vyc2l2ZVVu
cGFjaz0ke0ZPU1NfUkVDVVJTSVZFX1VOUEFDS30iCkZPU1NfU0VSVkVSPSJodHRwOi8vbG9jYWxo
b3N0L3JlcG8vP21vZD1zcGR4X2xpY2Vuc2Vfb25jZSZmdWxsU1BEWEZsYWc9dHJ1ZSZub0NvcHly
aWdodD10cnVlJnJlY3Vyc2l2ZVVucGFjaz1mYWxzZSIKIwojICRGT1NTX1dHRVRfRkxBR1MKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MTkwCiMgICAgICIt
cU8gLSAtLW5vLWNoZWNrLWNlcnRpZmljYXRlIC0tdGltZW91dD0wIgpGT1NTX1dHRVRfRkxBR1M9
Ii1xTyAtIC0tbm8tY2hlY2stY2VydGlmaWNhdGUgLS10aW1lb3V0PTAiCiMKIyAkRlVMTF9PUFRJ
TUlaQVRJT04gWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo2MTgKIyAgICAgIi1PMiAtcGlwZSAke0RFQlVHX0ZMQUdTfSIKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNzYKIyAgICAg
W2RvY10gIlRoZSBvcHRpb25zIHRvIHBhc3MgaW4gVEFSR0VUX0NGTEFHUyBhbmQgQ0ZMQUdTIHdo
ZW4gY29tcGlsaW5nIGFuIG9wdGltaXplZCBzeXN0ZW0uIFRoaXMgdmFyaWFibGUgZGVmYXVsdHMg
dG8gJy1PMiAtcGlwZSAke0RFQlVHX0ZMQUdTfScuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiLU8yIC1waXBlICR7REVCVUdfRkxBR1N9IgpGVUxMX09QVElNSVpBVElPTj0iLU8yIC1waXBl
IC1nIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtZm1hY3JvLXByZWZpeC1tYXA9L2hv
bWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8w
LjEtcjA9L3Vzci9zcmMvZGVidWcvZXhhbXBsZS8wLjEtcjAgICAgICAgICAgICAgICAgICAgICAg
LWZkZWJ1Zy1wcmVmaXgtbWFwPS9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02
NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwPS91c3Ivc3JjL2RlYnVnL2V4YW1wbGUvMC4xLXIw
ICAgICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJlZml4LW1hcD0vaG9tZS91c2VyL3Bva3kv
YnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUt
c3lzcm9vdD0gICAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9ob21lL3Vz
ZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIw
L3JlY2lwZS1zeXNyb290LW5hdGl2ZT0gIgojCiMgJEdDQ1BJRSBbMiBvcGVyYXRpb25zXQojICAg
c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2Zs
YWdzLmluYzo4CiMgICAgICItLWVuYWJsZS1kZWZhdWx0LXBpZSIKIyAgIG92ZXJyaWRlW3Bvd2Vy
cGNdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5
X2ZsYWdzLmluYzozMwojICAgICAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiLS1lbmFi
bGUtZGVmYXVsdC1waWUiCkdDQ1BJRT0iLS1lbmFibGUtZGVmYXVsdC1waWUiCiMKIyAkR0NDUElF
X3Bvd2VycGMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3NlY3VyaXR5X2ZsYWdzLmluYzozMwojICAgICAiIgpHQ0NQSUVfcG93ZXJwYz0iIgojCiMgJEdD
Q1ZFUlNJT04KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS90Y21vZGUtZGVmYXVsdC5pbmM6MTkKIyAgICAgIjkuJSIKR0NDVkVSU0lPTj0iOS4lIgojCiMg
JEdEQlZFUlNJT04KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MjIKIyAgICAgIjguMyUiCkdEQlZFUlNJT049IjguMyUi
CiMKIyAkR0VOVE9PX01JUlJPUgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjYzNwojICAgICAiaHR0cDovL2Rpc3RmaWxlcy5nZW50b28ub3JnL2Rpc3RmaWxl
cyIKR0VOVE9PX01JUlJPUj0iaHR0cDovL2Rpc3RmaWxlcy5nZW50b28ub3JnL2Rpc3RmaWxlcyIK
IwojICRHSVRESVIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoxODAKIyAgICAgW2RvY10gIlRoZSBkaXJlY3Rvcnkgd2hlcmUgR2l0IGNsb25lcyB3
aWxsIGJlIHN0b3JlZC4iCiMKIyAkR0xJQkNQSUVfcG93ZXJwYwojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxhZ3MuaW5jOjM0CiMgICAg
ICIiCkdMSUJDUElFX3Bvd2VycGM9IiIKIwojICRHTElCQ1ZFUlNJT04KIyAgIHNldD8gL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MjMK
IyAgICAgIjIuMzAlIgpHTElCQ1ZFUlNJT049IjIuMzAlIgojCiMgJEdOT01FX0dJVAojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjYzOAojICAgICAiZ2l0Oi8v
Z2l0bGFiLmdub21lLm9yZy9HTk9NRSIKR05PTUVfR0lUPSJnaXQ6Ly9naXRsYWIuZ25vbWUub3Jn
L0dOT01FIgojCiMgJEdOT01FX01JUlJPUgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjYzOQojICAgICAiaHR0cHM6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9N
RS9zb3VyY2VzIgpHTk9NRV9NSVJST1I9Imh0dHBzOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUv
c291cmNlcyIKIwojICRHTlVQR19NSVJST1IKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo2NDEKIyAgICAgImh0dHBzOi8vd3d3LmdudXBnLm9yZy9mdHAvZ2Ny
eXB0IgpHTlVQR19NSVJST1I9Imh0dHBzOi8vd3d3LmdudXBnLm9yZy9mdHAvZ2NyeXB0IgojCiMg
JEdOVV9NSVJST1IKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo2NDAKIyAgICAgImh0dHBzOi8vZnRwLmdudS5vcmcvZ251IgpHTlVfTUlSUk9SPSJodHRwczov
L2Z0cC5nbnUub3JnL2dudSIKIwojICRHT1ZFUlNJT04KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MjYKIyAgICAgIjEu
MTIlIgpHT1ZFUlNJT049IjEuMTIlIgojCiMgJEdQRV9NSVJST1IKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NDIKIyAgICAgImh0dHA6Ly9ncGUubGludXh0
b2dvLm9yZy9kb3dubG9hZC9zb3VyY2UiCkdQRV9NSVJST1I9Imh0dHA6Ly9ncGUubGludXh0b2dv
Lm9yZy9kb3dubG9hZC9zb3VyY2UiCiMKIyAkR1JPVVBBRERfUEFSQU0KIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxODEKIyAgICAgW2RvY10gIldo
ZW4gYSByZWNpcGUgaW5oZXJpdHMgdGhlIHVzZXJhZGQgY2xhc3MsIHRoaXMgdmFyaWFibGUgc3Bl
Y2lmaWVzIGZvciBhIHBhY2thZ2Ugd2hhdCBwYXJhbWV0ZXJzIHNob3VsZCBiZSBwYXNzZWQgdG8g
dGhlIGdyb3VwYWRkIGNvbW1hbmQgaWYgeW91IHdpc2ggdG8gYWRkIGEgZ3JvdXAgdG8gdGhlIHN5
c3RlbSB3aGVuIHRoZSBwYWNrYWdlIGlzIGluc3RhbGxlZC4iCiMKIyAkR1JPVVBNRU1TX1BBUkFN
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTgy
CiMgICAgIFtkb2NdICJXaGVuIGEgcmVjaXBlIGluaGVyaXRzIHRoZSB1c2VyYWRkIGNsYXNzLCB0
aGlzIHZhcmlhYmxlIHNwZWNpZmllcyBmb3IgYSBwYWNrYWdlIHdoYXQgcGFyYW1ldGVycyBzaG91
bGQgYmUgcGFzc2VkIHRvIHRoZSBncm91cG1lbXMgY29tbWFuZCBpZiB5b3Ugd2lzaCB0byBtb2Rp
ZnkgdGhlIG1lbWJlcnMgb2YgYSBncm91cCB3aGVuIHRoZSBwYWNrYWdlIGlzIGluc3RhbGxlZC4i
CiMKIyAkR1JVQl9HRlhTRVJJQUwKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjoxODMKIyAgICAgW2RvY10gIkNvbmZpZ3VyZXMgdGhlIEdOVSBHUmFu
ZCBVbmlmaWVkIEJvb3Rsb2FkZXIgKEdSVUIpIHRvIGhhdmUgZ3JhcGhpY3MgYW5kIHNlcmlhbCBp
biB0aGUgYm9vdCBtZW51LiIKIwojICRHUlVCX09QVFMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxODQKIyAgICAgW2RvY10gIkFkZGl0aW9uYWwg
b3B0aW9ucyB0byBhZGQgdG8gdGhlIEdOVSBHUmFuZCBVbmlmaWVkIEJvb3Rsb2FkZXIgKEdSVUIp
IGNvbmZpZ3VyYXRpb24uIgojCiMgJEdSVUJfVElNRU9VVAojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjE4NQojICAgICBbZG9jXSAiU3BlY2lmaWVz
IHRoZSB0aW1lb3V0IGJlZm9yZSBleGVjdXRpbmcgdGhlIGRlZmF1bHQgTEFCRUwgaW4gdGhlIEdO
VSBHUmFuZCBVbmlmaWVkIEJvb3Rsb2FkZXIgKEdSVUIpLiIKIwojICRHVEsyRElTVFJPRkVBVFVS
RVMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtZGlzdHJvdmFycy5pbmM6MzgKIyAgICAgImRpcmVjdGZiIHgxMSIKR1RLMkRJU1RST0ZFQVRV
UkVTPSJkaXJlY3RmYiB4MTEiCiMKIyAkR1RLM0RJU1RST0ZFQVRVUkVTCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5j
OjM5CiMgICAgICJ4MTEgd2F5bGFuZCIKR1RLM0RJU1RST0ZFQVRVUkVTPSJ4MTEgd2F5bGFuZCIK
IwojICRHVEtJTU1PRFVMRVNfUEFDS0FHRVMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjoxODYKIyAgICAgW2RvY10gIkZvciByZWNpcGVzIHRoYXQg
aW5oZXJpdCB0aGUgZ3RrLWltbW9kdWxlcy1jYWNoZSBjbGFzcywgdGhpcyB2YXJpYWJsZSBzcGVj
aWZpZXMgdGhlIHBhY2thZ2VzIHRoYXQgY29udGFpbiB0aGUgR1RLKyBpbnB1dCBtZXRob2QgbW9k
dWxlcyBiZWluZyBpbnN0YWxsZWQgd2hlbiB0aGUgbW9kdWxlcyBhcmUgaW4gcGFja2FnZXMgb3Ro
ZXIgdGhhbiB0aGUgbWFpbiBwYWNrYWdlLiIKIwojICRIT01FIFsyIG9wZXJhdGlvbnNdCiMgICBm
cm9tIGVudiBkYXRhLnB5OjExMiBbaW5oZXJpdEZyb21PU10KIyAgICAgIi9ob21lL3VzZXIiCiMg
ICBhdXRvIGVudiBleHBvcnQgZGF0YS5weToxMTQgW2luaGVyaXRGcm9tT1NdCiMgICAgIFtleHBv
cnRdICJUcnVlIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiL2hvbWUvdXNlciIKZXhwb3J0
IEhPTUU9Ii9ob21lL3VzZXIiCiMKIyAkSE9NRVBBR0UgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNjMKIyAgICAgIiIKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxOTAKIyAgICAg
W2RvY10gIldlYnNpdGUgd2hlcmUgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc29mdHdhcmUg
dGhlIHJlY2lwZSBpcyBidWlsZGluZyBjYW4gYmUgZm91bmQuIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiIgpIT01FUEFHRT0iIgojCiMgJEhPU1RUT09MUyBbMiBvcGVyYXRpb25zXQojICAg
YXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ5NAojICAgICAi
ICAgICBbIGFyIGFzIGF3ayBiYXNlbmFtZSBiYXNoIGJ6aXAyIGNhdCBjaGdycCBjaG1vZCBjaG93
biBjaHJwYXRoIGNtcCBjb21tIGNwIGNwaW8gICAgIGNwcCBjdXQgZGF0ZSBkZCBkaWZmIGRpZmZz
dGF0IGRpcm5hbWUgZHUgZWNobyBlZ3JlcCBlbnYgZXhwYW5kIGV4cHIgZmFsc2UgICAgIGZncmVw
IGZpbGUgZmluZCBmbG9jayBnKysgZ2F3ayBnY2MgZ2V0Y29uZiBnZXRvcHQgZ2l0IGdyZXAgZ3Vu
emlwIGd6aXAgICAgIGhlYWQgaG9zdG5hbWUgaWNvbnYgaWQgaW5zdGFsbCBsZCBsZGQgbG4gbHMg
bWFrZSBtYWtlaW5mbyBtZDVzdW0gbWtkaXIgbWtub2QgICAgIG1rdGVtcCBtdiBubSBvYmpjb3B5
IG9iamR1bXAgb2QgcGF0Y2ggcGVybCBwb2QybWFuIHByIHByaW50ZiBwd2QgcHl0aG9uMiAgICAg
cHl0aG9uMi43IHB5dGhvbjMgcmFubGliIHJlYWRlbGYgcmVhZGxpbmsgcmVhbHBhdGggcm0gcm1k
aXIgcnBjZ2VuIHNlZCBzZXEgc2ggc2hhMjU2c3VtICAgICBzbGVlcCBzb3J0IHNwbGl0IHN0YXQg
c3RyaW5ncyBzdHJpcCB0YWlsIHRhciB0ZWUgdGVzdCB0b3VjaCB0ciB0cnVlIHVuYW1lICAgICB1
bmlxIHdjIHdnZXQgd2hpY2ggeGFyZ3MgIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjQ5NwojICAgICAiJHtAJ2lwIHBpbmcgcHMgc2NwIHNzaCBzdHR5
JyBpZiAoYmIudXRpbHMuY29udGFpbnNfYW55KCdJTUFHRV9DTEFTU0VTJywgJ3Rlc3RpbWFnZSB0
ZXN0c2RrJywgVHJ1ZSwgRmFsc2UsIGQpIG9yIGFueSh4IGluIChkLmdldFZhcigiQkJJTkNMVURF
RCIpIG9yICIiKSBmb3IgeCBpbiBbInRlc3RpbWFnZS5iYmNsYXNzIiwgInRlc3RzZGsuYmJjbGFz
cyJdKSkgZWxzZSAnJ30iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgICAgICBbIGFyIGFz
IGF3ayBiYXNlbmFtZSBiYXNoIGJ6aXAyIGNhdCBjaGdycCBjaG1vZCBjaG93biBjaHJwYXRoIGNt
cCBjb21tIGNwIGNwaW8gICAgIGNwcCBjdXQgZGF0ZSBkZCBkaWZmIGRpZmZzdGF0IGRpcm5hbWUg
ZHUgZWNobyBlZ3JlcCBlbnYgZXhwYW5kIGV4cHIgZmFsc2UgICAgIGZncmVwIGZpbGUgZmluZCBm
bG9jayBnKysgZ2F3ayBnY2MgZ2V0Y29uZiBnZXRvcHQgZ2l0IGdyZXAgZ3VuemlwIGd6aXAgICAg
IGhlYWQgaG9zdG5hbWUgaWNvbnYgaWQgaW5zdGFsbCBsZCBsZGQgbG4gbHMgbWFrZSBtYWtlaW5m
byBtZDVzdW0gbWtkaXIgbWtub2QgICAgIG1rdGVtcCBtdiBubSBvYmpjb3B5IG9iamR1bXAgb2Qg
cGF0Y2ggcGVybCBwb2QybWFuIHByIHByaW50ZiBwd2QgcHl0aG9uMiAgICAgcHl0aG9uMi43IHB5
dGhvbjMgcmFubGliIHJlYWRlbGYgcmVhZGxpbmsgcmVhbHBhdGggcm0gcm1kaXIgcnBjZ2VuIHNl
ZCBzZXEgc2ggc2hhMjU2c3VtICAgICBzbGVlcCBzb3J0IHNwbGl0IHN0YXQgc3RyaW5ncyBzdHJp
cCB0YWlsIHRhciB0ZWUgdGVzdCB0b3VjaCB0ciB0cnVlIHVuYW1lICAgICB1bmlxIHdjIHdnZXQg
d2hpY2ggeGFyZ3MgICR7QCdpcCBwaW5nIHBzIHNjcCBzc2ggc3R0eScgaWYgKGJiLnV0aWxzLmNv
bnRhaW5zX2FueSgnSU1BR0VfQ0xBU1NFUycsICd0ZXN0aW1hZ2UgdGVzdHNkaycsIFRydWUsIEZh
bHNlLCBkKSBvciBhbnkoeCBpbiAoZC5nZXRWYXIoIkJCSU5DTFVERUQiKSBvciAiIikgZm9yIHgg
aW4gWyJ0ZXN0aW1hZ2UuYmJjbGFzcyIsICJ0ZXN0c2RrLmJiY2xhc3MiXSkpIGVsc2UgJyd9IgpI
T1NUVE9PTFM9IiAgICAgIFsgYXIgYXMgYXdrIGJhc2VuYW1lIGJhc2ggYnppcDIgY2F0IGNoZ3Jw
IGNobW9kIGNob3duIGNocnBhdGggY21wIGNvbW0gY3AgY3BpbyAgICAgY3BwIGN1dCBkYXRlIGRk
IGRpZmYgZGlmZnN0YXQgZGlybmFtZSBkdSBlY2hvIGVncmVwIGVudiBleHBhbmQgZXhwciBmYWxz
ZSAgICAgZmdyZXAgZmlsZSBmaW5kIGZsb2NrIGcrKyBnYXdrIGdjYyBnZXRjb25mIGdldG9wdCBn
aXQgZ3JlcCBndW56aXAgZ3ppcCAgICAgaGVhZCBob3N0bmFtZSBpY29udiBpZCBpbnN0YWxsIGxk
IGxkZCBsbiBscyBtYWtlIG1ha2VpbmZvIG1kNXN1bSBta2RpciBta25vZCAgICAgbWt0ZW1wIG12
IG5tIG9iamNvcHkgb2JqZHVtcCBvZCBwYXRjaCBwZXJsIHBvZDJtYW4gcHIgcHJpbnRmIHB3ZCBw
eXRob24yICAgICBweXRob24yLjcgcHl0aG9uMyByYW5saWIgcmVhZGVsZiByZWFkbGluayByZWFs
cGF0aCBybSBybWRpciBycGNnZW4gc2VkIHNlcSBzaCBzaGEyNTZzdW0gICAgIHNsZWVwIHNvcnQg
c3BsaXQgc3RhdCBzdHJpbmdzIHN0cmlwIHRhaWwgdGFyIHRlZSB0ZXN0IHRvdWNoIHRyIHRydWUg
dW5hbWUgICAgIHVuaXEgd2Mgd2dldCB3aGljaCB4YXJncyAgIgojCiMgJEhPU1RUT09MU19ESVIK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0ODEKIyAgICAg
IiR7VE1QRElSfS9ob3N0dG9vbHMiCkhPU1RUT09MU19ESVI9Ii9ob21lL3VzZXIvcG9reS9idWls
ZC90bXAvaG9zdHRvb2xzIgojCiMgJEhPU1RUT09MU19OT05GQVRBTCBbNSBvcGVyYXRpb25zXQoj
ICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUwMAojICAg
ICAiYXdzIGdjYy1hciBncGcgbGQuYmZkIGxkLmdvbGQgbmMgcGlneiBzZnRwIHNvY2F0IHNzaCBz
dWRvIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUw
MwojICAgICAiam9pbiBubCBzaXplIHllcyB6Y2F0IgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUwNgojICAgICAiYnpyIgojICAgYXBwZW5kIC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUwOQojICAgICAic2NwIgojICAgYXBw
ZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUxMgojICAgICAiZ2l0
LWxmcyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiBhd3MgZ2NjLWFyIGdwZyBsZC5iZmQg
bGQuZ29sZCBuYyBwaWd6IHNmdHAgc29jYXQgc3NoIHN1ZG8gam9pbiBubCBzaXplIHllcyB6Y2F0
IGJ6ciBzY3AgZ2l0LWxmcyIKSE9TVFRPT0xTX05PTkZBVEFMPSIgYXdzIGdjYy1hciBncGcgbGQu
YmZkIGxkLmdvbGQgbmMgcGlneiBzZnRwIHNvY2F0IHNzaCBzdWRvIGpvaW4gbmwgc2l6ZSB5ZXMg
emNhdCBienIgc2NwIGdpdC1sZnMiCiMKIyAkSE9TVF9BUkNIIFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTA4CiMgICAgICIke1RB
UkdFVF9BUkNIfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoxOTEKIyAgICAgW2RvY10gIlRoZSBuYW1lIG9mIHRoZSB0YXJnZXQgYXJjaGl0ZWN0
dXJlLiBOb3JtYWxseSBzYW1lIGFzIHRoZSBUQVJHRVRfQVJDSC4iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIke1RBUkdFVF9BUkNIfSIKSE9TVF9BUkNIPSJ4ODZfNjQiCiMKIyAkSE9TVF9B
U19BUkNICiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTE1
CiMgICAgICIke1RBUkdFVF9BU19BUkNIfSIKSE9TVF9BU19BUkNIPSIgIgojCiMgJEhPU1RfQ0Nf
QVJDSCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjExMwojICAgICAiJHtUQVJHRVRfQ0NfQVJDSH0iCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTkyCiMgICAgIFtkb2NdICJUaGUg
bmFtZSBvZiB0aGUgaG9zdCBhcmNoaXRlY3R1cmUuIE5vcm1hbGx5IHNhbWUgYXMgdGhlIFRBUkdF
VF9DQ19BUkNILiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VEFSR0VUX0NDX0FSQ0h9
IgpIT1NUX0NDX0FSQ0g9IiAtbTY0IC1tYXJjaD1jb3JlMiAtbXR1bmU9Y29yZTIgLW1zc2UzIC1t
ZnBtYXRoPXNzZSAtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcgIC1EX0ZPUlRJRllfU09VUkNFPTIg
LVdmb3JtYXQgLVdmb3JtYXQtc2VjdXJpdHkgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkiCiMKIyAk
SE9TVF9FWEVFWFQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZjoxMTYKIyAgICAgIiIKSE9TVF9FWEVFWFQ9IiIKIwojICRIT1NUX0xEX0FSQ0gKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMTQKIyAgICAgIiR7VEFSR0VU
X0xEX0FSQ0h9IgpIT1NUX0xEX0FSQ0g9IiAiCiMKIyAkSE9TVF9PUyBbMiBvcGVyYXRpb25zXQoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEwOQojICAgICAi
JHtUQVJHRVRfT1N9IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjE5MwojICAgICBbZG9jXSAiVGhlIG5hbWUgb2YgdGhlIHRhcmdldCBvcGVyYXRp
bmcgc3lzdGVtLiBOb3JtYWxseSB0aGUgc2FtZSBhcyB0aGUgVEFSR0VUX09TLiIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiR7VEFSR0VUX09TfSIKSE9TVF9PUz0ibGludXgiCiMKIyAkSE9T
VF9QUkVGSVggWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjoxMTIKIyAgICAgIiR7VEFSR0VUX1BSRUZJWH0iCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MTk0CiMgICAgIFtkb2NdICJU
aGUgcHJlZml4IGZvciB0aGUgY3Jvc3MgY29tcGlsZSB0b29sY2hhaW4uIE5vcm1hbGx5IHNhbWUg
YXMgdGhlIFRBUkdFVF9QUkVGSVguIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUQVJH
RVRfUFJFRklYfSIKSE9TVF9QUkVGSVg9Ing4Nl82NC1wb2t5LWxpbnV4LSIKIwojICRIT1NUX1NZ
UyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjExMQojICAgICAiJHtIT1NUX0FSQ0h9JHtIT1NUX1ZFTkRPUn0tJHtIT1NUX09TfSIK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxOTUK
IyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgc3lzdGVtLCBpbmNsdWRpbmcgdGhlIGFyY2hpdGVj
dHVyZSBhbmQgdGhlIG9wZXJhdGluZyBzeXN0ZW0sIGZvciB3aXRoIHRoZSBidWlsZCBpcyBvY2N1
cnJpbmcgaW4gdGhlIGNvbnRleHQgb2YgdGhlIGN1cnJlbnQgcmVjaXBlLiIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgIiR7SE9TVF9BUkNIfSR7SE9TVF9WRU5ET1J9LSR7SE9TVF9PU30iCkhP
U1RfU1lTPSJ4ODZfNjQtcG9reS1saW51eCIKIwojICRIT1NUX1VTRVJfR0lECiMgICBpbW1lZGlh
dGUgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczo4NTQKIyAgICAg
IiR7QG9zLmdldGdpZCgpfSIKSE9TVF9VU0VSX0dJRD0iMTAwMCIKIwojICRIT1NUX1VTRVJfVUlE
CiMgICBpbW1lZGlhdGUgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFz
czo4NTMKIyAgICAgIiR7QG9zLmdldHVpZCgpfSIKSE9TVF9VU0VSX1VJRD0iMTAwMCIKIwojICRI
T1NUX1ZFTkRPUiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjExMAojICAgICAiJHtUQVJHRVRfVkVORE9SfSIKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxOTYKIyAgICAgW2RvY10g
IlRoZSBuYW1lIG9mIHRoZSB2ZW5kb3IuIE5vcm1hbGx5IHNhbWUgYXMgdGhlIFRBUkdFVF9WRU5E
T1IuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUQVJHRVRfVkVORE9SfSIKSE9TVF9W
RU5ET1I9Ii1wb2t5IgojCiMgJElDRUNDX0VOVl9FWEVDCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjAwCiMgICAgIFtkb2NdICJQb2ludHMgdG8g
dGhlIGljZWNjLWNyZWF0ZS1lbnYgc2NyaXB0IHRoYXQgeW91IHByb3ZpZGUuIgojCiMgJElDRUND
X1BBVEgKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjoyMDEKIyAgICAgW2RvY10gIlRoZSBsb2NhdGlvbiBvZiB0aGUgaWNlY2MgYmluYXJ5LiIKIwoj
ICRJQ0VDQ19VU0VSX0NMQVNTX0JMCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6MjAyCiMgICAgIFtkb2NdICJJZGVudGlmaWVzIHVzZXIgY2xhc3Nl
cyB0aGF0IHlvdSBkbyBub3Qgd2FudCB0aGUgSWNlY3JlYW0gZGlzdHJpYnV0ZWQgY29tcGlsZSBz
dXBwb3J0IHRvIGNvbnNpZGVyLiIKIwojICRJQ0VDQ19VU0VSX1BBQ0tBR0VfQkwKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyMDMKIyAgICAgW2Rv
Y10gIklkZW50aWZpZXMgdXNlciByZWNpcGVzIHRoYXQgeW91IGRvIG5vdCB3YW50IHRoZSBJY2Vj
cmVhbSBkaXN0cmlidXRlZCBjb21waWxlIHN1cHBvcnQgdG8gY29uc2lkZXIuIgojCiMgJElDRUND
X1VTRVJfUEFDS0FHRV9XTAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjIwNAojICAgICBbZG9jXSAiSWRlbnRpZmllcyB1c2VyIHJlY2lwZXMgdGhh
dCB1c2UgYW4gZW1wdHkgUEFSQUxMRUxfTUFLRSB2YXJpYWJsZSB0aGF0IHlvdSB3YW50IHRvIGZv
cmNlIHJlbW90ZSBkaXN0cmlidXRlZCBjb21waWxhdGlvbiBvbiB1c2luZyB0aGUgSWNlY3JlYW0g
ZGlzdHJpYnV0ZWQgY29tcGlsZSBzdXBwb3J0LiIKIwojICRJTUFHRV9CQVNFTkFNRSBbMiBvcGVy
YXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ1
MgojICAgICAiJHtQTn0iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6MjA1CiMgICAgIFtkb2NdICJUaGUgYmFzZSBuYW1lIG9mIGltYWdlIG91dHB1
dCBmaWxlcy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1BOfSIKSU1BR0VfQkFTRU5B
TUU9ImV4YW1wbGUiCiMKIyAkSU1BR0VfQk9PVF9GSUxFUwojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIwNgojICAgICBbZG9jXSAiV2hpdGVzcGFj
ZSBzZXBhcmF0ZWQgbGlzdCBvZiBmaWxlcyBmcm9tICR7REVQTE9ZX0RJUl9JTUFHRX0gdG8gcGxh
Y2UgaW4gYm9vdCBwYXJ0aXRpb24uIEVudHJpZXMgd2lsbCBiZSBpbnN0YWxsZWQgdW5kZXIgYSBz
YW1lIG5hbWUgYXMgdGhlIHNvdXJjZSBmaWxlLiBUbyBjaGFuZ2UgdGhlIGRlc3RpbmF0aW9uIGZp
bGUgbmFtZSwgcGFzcyBhIGRlc2lyZWQgbmFtZSBhZnRlciBhIHNlbWljb2xvbiAoZWcuIHUtYm9v
dC5pbWc7dWJvb3QpLiIKIwojICRJTUFHRV9DTEFTU0VTIFs0IG9wZXJhdGlvbnNdCiMgICBhcHBl
bmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmM6MzAK
IyAgICAgInFlbXVib290IgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFj
aGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmM6MgojICAgICAicWVtdWJvb3QiCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjA3CiMgICAgIFtk
b2NdICJBIGxpc3Qgb2YgY2xhc3NlcyB0aGF0IGFsbCBpbWFnZXMgc2hvdWxkIGluaGVyaXQuIgoj
ICAgX2FwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzczo0
MDMKIyAgICAgIiBsaWNlbnNlX2ltYWdlIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIHFl
bXVib290IHFlbXVib290IGxpY2Vuc2VfaW1hZ2UiCklNQUdFX0NMQVNTRVM9IiBxZW11Ym9vdCBx
ZW11Ym9vdCBsaWNlbnNlX2ltYWdlIgojCiMgJElNQUdFX0ZFQVRVUkVTIFszIG9wZXJhdGlvbnNd
CiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVs
dC1kaXN0cm92YXJzLmluYzoxNQojICAgICAiIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIwOAojICAgICBbZG9jXSAiVGhlIHByaW1hcnkgbGlz
dCBvZiBmZWF0dXJlcyB0byBpbmNsdWRlIGluIGFuIGltYWdlLiBDb25maWd1cmUgdGhpcyB2YXJp
YWJsZSBpbiBhbiBpbWFnZSByZWNpcGUuIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjgxOAojICAgICAiJHtFWFRSQV9JTUFHRV9GRUFUVVJFU30iCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgJHtFWFRSQV9JTUFHRV9GRUFUVVJFU30iCklNQUdF
X0ZFQVRVUkVTPSIgZGVidWctdHdlYWtzIgojCiMgJElNQUdFX0ZTVFlQRVMgWzMgb3BlcmF0aW9u
c10KIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9x
ZW11LmluYzoxNgojICAgICAidGFyLmJ6MiBleHQ0IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIwOQojICAgICBbZG9jXSAiRm9ybWF0cyBvZiBy
b290IGZpbGVzeXN0ZW0gaW1hZ2VzIHRoYXQgeW91IHdhbnQgdG8gaGF2ZSBjcmVhdGVkLiIKIyAg
IHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzY4CiMgICAgICJ0
YXIuZ3oiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgdGFyLmJ6MiBleHQ0IgpJTUFHRV9G
U1RZUEVTPSIgdGFyLmJ6MiBleHQ0IgojCiMgJElNQUdFX0ZTVFlQRVNfREVCVUdGUyBbMiBvcGVy
YXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjIxMAojICAgICBbZG9jXSAiRm9ybWF0cyBvZiB0aGUgZGVidWcgcm9vdCBmaWxlc3lzdGVt
IGltYWdlcyB0aGF0IHlvdSB3YW50IHRvIGhhdmUgY3JlYXRlZC4iCiMgICBzZXQ/IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjc2OQojICAgICAidGFyLmd6IgojIHByZS1l
eHBhbnNpb24gdmFsdWU6CiMgICAidGFyLmd6IgpJTUFHRV9GU1RZUEVTX0RFQlVHRlM9InRhci5n
eiIKIwojICRJTUFHRV9HRU5fREVCVUdGUwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjIxMQojICAgICBbZG9jXSAiV2hlbiBzZXQgdG8gJzEnLCBn
ZW5lcmF0ZSBhIGNvbXBhbmlvbiBkZWJ1ZyBvYmplY3Qvc291cmNlIGZpbGVzeXN0ZW0gaW1hZ2Uu
IgojCiMgJElNQUdFX0lOU1RBTEwKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjoyMTIKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgcGFja2FnZXMg
dG8gaW5zdGFsbCBpbnRvIGFuIGltYWdlLiBJbWFnZSByZWNpcGVzIHNldCBJTUFHRV9JTlNUQUxM
IHRvIHNwZWNpZnkgdGhlIHBhY2thZ2VzIHRvIGluc3RhbGwgaW50byBhbiBpbWFnZSB0aHJvdWdo
IGltYWdlLmJiY2xhc3MuIgojCiMgJElNQUdFX0xJTkdVQVMgWzIgb3BlcmF0aW9uc10KIyAgIHNl
dD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ry
b3ZhcnMuaW5jOjcKIyAgICAgImVuLXVzIGVuLWdiIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIxMwojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRo
ZSBsaXN0IG9mIGxvY2FsZXMgdG8gaW5zdGFsbCBpbnRvIHRoZSBpbWFnZSBkdXJpbmcgdGhlIHJv
b3QgZmlsZXN5c3RlbSBjb25zdHJ1Y3Rpb24gcHJvY2Vzcy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICJlbi11cyBlbi1nYiIKSU1BR0VfTElOR1VBUz0iZW4tdXMgZW4tZ2IiCiMKIyAkSU1B
R0VfTElOS19OQU1FCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6NDU2CiMgICAgICIke0lNQUdFX0JBU0VOQU1FfS0ke01BQ0hJTkV9IgpJTUFHRV9MSU5LX05B
TUU9ImV4YW1wbGUtcWVtdXg4Ni02NCIKIwojICRJTUFHRV9OQU1FIFsyIG9wZXJhdGlvbnNdCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDU1CiMgICAgICIk
e0lNQUdFX0JBU0VOQU1FfS0ke01BQ0hJTkV9JHtJTUFHRV9WRVJTSU9OX1NVRkZJWH0iCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjE0CiMgICAg
IFtkb2NdICJUaGUgbmFtZSBvZiB0aGUgb3V0cHV0IGltYWdlIGZpbGVzIG1pbnVzIHRoZSBleHRl
bnNpb24uIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtJTUFHRV9CQVNFTkFNRX0tJHtN
QUNISU5FfSR7SU1BR0VfVkVSU0lPTl9TVUZGSVh9IgpJTUFHRV9OQU1FPSJleGFtcGxlLXFlbXV4
ODYtNjQtMjAyMDAxMjQxMTE1MDkiCiMKIyAkSU1BR0VfT1ZFUkhFQURfRkFDVE9SIFsyIG9wZXJh
dGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ2
MAojICAgICAiMS4zIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjIxNQojICAgICBbZG9jXSAiRGVmaW5lcyBhIG11bHRpcGxpZXIgdGhhdCB0aGUg
YnVpbGQgc3lzdGVtIGFwcGxpZXMgdG8gdGhlIGluaXRpYWwgaW1hZ2Ugc2l6ZSBmb3IgY2FzZXMg
d2hlbiB0aGUgbXVsdGlwbGllciB0aW1lcyB0aGUgcmV0dXJuZWQgZGlzayB1c2FnZSB2YWx1ZSBm
b3IgdGhlIGltYWdlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgc3VtIG9mIElNQUdFX1JPT1RGU19TSVpF
IGFuZCBJTUFHRV9ST09URlNfRVhUUkFfU1BBQ0UuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiMS4zIgpJTUFHRV9PVkVSSEVBRF9GQUNUT1I9IjEuMyIKIwojICRJTUFHRV9QS0dUWVBFIFsy
IG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MjE2CiMgICAgIFtkb2NdICJEZWZpbmVzIHRoZSBwYWNrYWdlIHR5cGUgKERFQiwg
UlBNLCBJUEssIG9yIFRBUikgdXNlZCBieSB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbS4i
CiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZV9ycG0uYmJjbGFz
czozCiMgICAgICJycG0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJycG0iCklNQUdFX1BL
R1RZUEU9InJwbSIKIwojICRJTUFHRV9QT1NUUFJPQ0VTU19DT01NQU5ECiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjE3CiMgICAgIFtkb2NdICJB
ZGRlZCBieSBjbGFzc2VzIHRvIHJ1biBwb3N0IHByb2Nlc3NpbmcgY29tbWFuZHMgb25jZSB0aGUg
T3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBoYXMgY3JlYXRlZCB0aGUgaW1hZ2UuIgojCiMgJElN
QUdFX1BSRVBST0NFU1NfQ09NTUFORCBbMiBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2UtbWtsaWJzLmJiY2xhc3M6MwojICAgICAibWtsaWJz
X29wdGltaXplX2ltYWdlOyAiCiMgICBfYXBwZW5kW2xpYmMtZ2xpYmNdIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NsYXNzZXMvaW1hZ2UtcHJlbGluay5iYmNsYXNzOjMKIyAgICAgIiBwcmVsaW5rX3Nl
dHVwOyBwcmVsaW5rX2ltYWdlOyAiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgbWtsaWJz
X29wdGltaXplX2ltYWdlOyAgcHJlbGlua19zZXR1cDsgcHJlbGlua19pbWFnZTsgIgpJTUFHRV9Q
UkVQUk9DRVNTX0NPTU1BTkQ9IiBta2xpYnNfb3B0aW1pemVfaW1hZ2U7ICBwcmVsaW5rX3NldHVw
OyBwcmVsaW5rX2ltYWdlOyAiCiMKIyAkSU1BR0VfUk9PVEZTIFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDUxCiMgICAgICIke1dP
UktESVJ9L3Jvb3RmcyIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjoyMTgKIyAgICAgW2RvY10gIlRoZSBsb2NhdGlvbiBvZiB0aGUgcm9vdCBmaWxl
c3lzdGVtIHdoaWxlIGl0IGlzIHVuZGVyIGNvbnN0cnVjdGlvbiAoaS5lLiBkdXJpbmcgZG9fcm9v
dGZzKS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1dPUktESVJ9L3Jvb3RmcyIKSU1B
R0VfUk9PVEZTPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1s
aW51eC9leGFtcGxlLzAuMS1yMC9yb290ZnMiCiMKIyAkSU1BR0VfUk9PVEZTX0VYVFJBX1NQQUNF
IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjQ2NQojICAgICAiMCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjoyMTkKIyAgICAgW2RvY10gIkRlZmluZXMgYWRkaXRpb25hbCBmcmVl
IGRpc2sgc3BhY2UgY3JlYXRlZCBpbiB0aGUgaW1hZ2UgaW4gS2J5dGVzLiBCeSBkZWZhdWx0LCB0
aGlzIHZhcmlhYmxlIGlzIHNldCB0byAnMCcuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
MCIKSU1BR0VfUk9PVEZTX0VYVFJBX1NQQUNFPSIwIgojCiMgJElNQUdFX1JPT1RGU19TSVpFIFsy
IG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MjIwCiMgICAgIFtkb2NdICJEZWZpbmVzIHRoZSBzaXplIGluIEtieXRlcyBmb3Ig
dGhlIGdlbmVyYXRlZCBpbWFnZS4iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6NzgzCiMgICAgIFtfZGVmYXVsdHZhbF0gIjY1NTM2IgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiNjU1MzYiCklNQUdFX1JPT1RGU19TSVpFPSI2NTUzNiIKIwojICRJTUFH
RV9UWVBFUwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjIyMQojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRoZSBjb21wbGV0ZSBsaXN0IG9mIHN1cHBv
cnRlZCBpbWFnZSB0eXBlcyBieSBkZWZhdWx0LiIKIwojICRJTUFHRV9WRVJTSU9OX1NVRkZJWCBb
MiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjQ1MwojICAgICAiLSR7REFURVRJTUV9IgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ1NAojICAgICBbdmFyZGVwc2V4Y2x1ZGVdICJEQVRFVElN
RSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi0ke0RBVEVUSU1FfSIKSU1BR0VfVkVSU0lP
Tl9TVUZGSVg9Ii0yMDIwMDEyNDExMTUwOSIKIwojICRJTkNPTVBBVElCTEVfTElDRU5TRQojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIyMwojICAg
ICBbZG9jXSAiU3BlY2lmaWVzIGEgc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgbGljZW5zZSBuYW1l
cyAoYXMgdGhleSB3b3VsZCBhcHBlYXIgaW4gTElDRU5TRSkgdGhhdCBzaG91bGQgYmUgZXhjbHVk
ZWQgZnJvbSB0aGUgYnVpbGQuIFdpbGRjYXJkIGlzIHN1cHBvcnRlZCwgc3VjaCBhcyAnKkdQTHYz
JyIKIwojICRJTkNfUFIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjoyMjIKIyAgICAgW2RvY10gIkhlbHBzIGRlZmluZSB0aGUgcmVjaXBlIHJldmlz
aW9uIGZvciByZWNpcGVzIHRoYXQgc2hhcmUgYSBjb21tb24gaW5jbHVkZSBmaWxlLiIKIwojICRJ
TkhFUklUIFs1IG9wZXJhdGlvbnNdCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9r
eS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6NzYKIyAgICAgInBva3ktc2FuaXR5IgojICAgYXBwZW5k
IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjg5CiMgICAg
ICJ1bmluYXRpdmUiCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
ZGVmYXVsdHNldHVwLmNvbmY6MjQKIyAgICAgIiR7UEFDS0FHRV9DTEFTU0VTfSAke1VTRVJfQ0xB
U1NFU30gJHtJTkhFUklUX0RJU1RST30gJHtJTkhFUklUX0JMQUNLTElTVH0iCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjI2CiMgICAgIFtkb2Nd
ICJDYXVzZXMgdGhlIG5hbWVkIGNsYXNzIHRvIGJlIGluaGVyaXRlZCBhdCB0aGlzIHBvaW50IGR1
cmluZyBwYXJzaW5nLiBUaGUgdmFyaWFibGUgaXMgb25seSB2YWxpZCBpbiBjb25maWd1cmF0aW9u
IGZpbGVzLiIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL3Nhbml0eS5jb25m
OjE1CiMgICAgICJzYW5pdHkiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgcG9reS1zYW5p
dHkgdW5pbmF0aXZlICR7UEFDS0FHRV9DTEFTU0VTfSAke1VTRVJfQ0xBU1NFU30gJHtJTkhFUklU
X0RJU1RST30gJHtJTkhFUklUX0JMQUNLTElTVH0gc2FuaXR5IgpJTkhFUklUPSIgcG9reS1zYW5p
dHkgdW5pbmF0aXZlIHBhY2thZ2VfcnBtIGJ1aWxkc3RhdHMgaW1hZ2UtbWtsaWJzIGltYWdlLXBy
ZWxpbmsgZGViaWFuIGRldnNoZWxsIHNzdGF0ZSBsaWNlbnNlIHJlbW92ZS1saWJ0b29sIGJsYWNr
bGlzdCBzYW5pdHkiCiMKIyAkSU5IRVJJVF9CTEFDS0xJU1QKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZjoyMgojICAgICAiYmxhY2tsaXN0
IgpJTkhFUklUX0JMQUNLTElTVD0iYmxhY2tsaXN0IgojCiMgJElOSEVSSVRfRElTVFJPIFsyIG9w
ZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1
bHRzZXR1cC5jb25mOjIzCiMgICAgICJkZWJpYW4gZGV2c2hlbGwgc3N0YXRlIGxpY2Vuc2UgcmVt
b3ZlLWxpYnRvb2wiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MjI3CiMgICAgIFtkb2NdICJMaXN0cyBjbGFzc2VzIHRoYXQgd2lsbCBiZSBpbmhl
cml0ZWQgYXQgdGhlIGRpc3RyaWJ1dGlvbiBsZXZlbC4gSXQgaXMgdW5saWtlbHkgdGhhdCB5b3Ug
d2FudCB0byBlZGl0IHRoaXMgdmFyaWFibGUuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
ZGViaWFuIGRldnNoZWxsIHNzdGF0ZSBsaWNlbnNlIHJlbW92ZS1saWJ0b29sIgpJTkhFUklUX0RJ
U1RSTz0iZGViaWFuIGRldnNoZWxsIHNzdGF0ZSBsaWNlbnNlIHJlbW92ZS1saWJ0b29sIgojCiMg
JElOSElCSVRfREVGQVVMVF9ERVBTCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6MjI0CiMgICAgIFtkb2NdICJQcmV2ZW50cyB0aGUgZGVmYXVsdCBk
ZXBlbmRlbmNpZXMsIG5hbWVseSB0aGUgQyBjb21waWxlciBhbmQgc3RhbmRhcmQgQyBsaWJyYXJ5
IChsaWJjKSwgZnJvbSBiZWluZyBhZGRlZCB0byBERVBFTkRTLiIKIwojICRJTkhJQklUX1BBQ0tB
R0VfU1RSSVAKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjoyMjUKIyAgICAgW2RvY10gIklmIHNldCB0byAiMSIsIGNhdXNlcyB0aGUgYnVpbGQgdG8g
bm90IHN0cmlwIGJpbmFyaWVzIGluIHJlc3VsdGluZyBwYWNrYWdlcy4iCiMKIyAkSU5JVFJBTUZT
X0ZTVFlQRVMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjoyMjgKIyAgICAgW2RvY10gIkRlZmluZXMgdGhlIGZvcm1hdCBm
b3IgdGhlIG91dHB1dCBpbWFnZSBvZiBhbiBpbml0aWFsIFJBTSBkaXNrIChpbml0cmFtZnMpLCB3
aGljaCBpcyB1c2VkIGR1cmluZyBib290LiIKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6NzcxCiMgICAgICJjcGlvLmd6IgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiY3Bpby5neiIKSU5JVFJBTUZTX0ZTVFlQRVM9ImNwaW8uZ3oiCiMKIyAkSU5JVFJB
TUZTX01BWFNJWkUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo3NzUKIyAgICAgW19kZWZhdWx0dmFsXSAiMTMxMDcyIgpJTklUUkFNRlNfTUFYU0laRT0iMTMx
MDcyIgojCiMgJElOSVRSRAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjIyOQojICAgICBbZG9jXSAiSW5kaWNhdGVzIGEgbGlzdCBvZiBmaWxlc3lz
dGVtIGltYWdlcyB0byBjb25jYXRlbmF0ZSBhbmQgdXNlIGFzIGFuIGluaXRpYWwgUkFNIGRpc2sg
KGluaXRyZCkuIgojCiMgJElOSVRTQ1JJUFRfTkFNRQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIzMAojICAgICBbZG9jXSAiVGhlIGZpbGVuYW1l
IG9mIHRoZSBpbml0aWFsaXphdGlvbiBzY3JpcHQgYXMgaW5zdGFsbGVkIHRvICR7c3lzY29uZmRp
cn0vaW5pdC5kLiIKIwojICRJTklUU0NSSVBUX1BBQ0tBR0VTCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjMxCiMgICAgIFtkb2NdICJBIGxpc3Qg
b2YgdGhlIHBhY2thZ2VzIHRoYXQgY29udGFpbiBpbml0c2NyaXB0cy4gVGhpcyB2YXJpYWJsZSBp
cyB1c2VkIGluIHJlY2lwZXMgd2hlbiB1c2luZyB1cGRhdGUtcmMuZC5iYmNsYXNzLiBUaGUgdmFy
aWFibGUgaXMgb3B0aW9uYWwgYW5kIGRlZmF1bHRzIHRvIHRoZSBQTiB2YXJpYWJsZS4iCiMKIyAk
SU5JVFNDUklQVF9QQVJBTVMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjoyMzIKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgb3B0aW9ucyB0byBw
YXNzIHRvIHVwZGF0ZS1yYy5kLiBUaGUgdmFyaWFibGUgaXMgbWFuZGF0b3J5IGFuZCBpcyB1c2Vk
IGluIHJlY2lwZXMgd2hlbiB1c2luZyB1cGRhdGUtcmMuZC5iYmNsYXNzLiIKIwojICRJTklUX01B
TkFHRVIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0
dXAuY29uZjoyNgojICAgICBbX2RlZmF1bHR2YWxdICJub25lIgpJTklUX01BTkFHRVI9Im5vbmUi
CiMKIyAkSU5TQU5FX1NLSVAKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjoyMzMKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgUUEgY2hlY2tzIHRv
IHNraXAgZm9yIGEgc3BlY2lmaWMgcGFja2FnZSB3aXRoaW4gYSByZWNpcGUuIgojCiMgJElQS19G
RUVEX1VSSVMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjoyMzQKIyAgICAgW2RvY10gIkxpc3Qgb2YgaXBrZyBmZWVkIHJlY29yZHMgdG8gcHV0IGlu
dG8gZ2VuZXJhdGVkIGltYWdlLiIKIwojICRLQVJDSAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjIzOAojICAgICBbZG9jXSAiRGVmaW5lcyB0aGUg
a2VybmVsIGFyY2hpdGVjdHVyZSB1c2VkIHdoZW4gYXNzZW1ibGluZyB0aGUgY29uZmlndXJhdGlv
bi4gWW91IGRlZmluZSB0aGUgS0FSQ0ggdmFyaWFibGUgaW4gdGhlIEJTUCBEZXNjcmlwdGlvbnMu
IgojCiMgJEtCUkFOQ0gKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjoyMzkKIyAgICAgW2RvY10gIkEgcmVndWxhciBleHByZXNzaW9uIHVzZWQgYnkg
dGhlIGJ1aWxkIHByb2Nlc3MgdG8gZXhwbGljaXRseSBpZGVudGlmeSB0aGUga2VybmVsIGJyYW5j
aCB0aGF0IGlzIHZhbGlkYXRlZCwgcGF0Y2hlZCBhbmQgY29uZmlndXJlZCBkdXJpbmcgYSBidWls
ZC4iCiMKIyAkS0JSQU5DSF9ERUZBVUxUCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6MjQwCiMgICAgIFtkb2NdICJEZWZpbmVzIHRoZSBMaW51eCBr
ZXJuZWwgc291cmNlIHJlcG9zaXRvcnkncyBkZWZhdWx0IGJyYW5jaCB1c2VkIHRvIGJ1aWxkIHRo
ZSBMaW51eCBrZXJuZWwuIFVubGVzcyB5b3Ugc3BlY2lmeSBvdGhlcndpc2UsIHRoZSB2YXJpYWJs
ZSBpbml0aWFsaXplcyB0byAnbWFzdGVyJy4iCiMKIyAkS0VFUFVJTUFHRQojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmlu
Yzo1CiMgICAgIFtfZGVmYXVsdHZhbF0gInllcyIKS0VFUFVJTUFHRT0ieWVzIgojCiMgJEtFUk5F
TE9SR19NSVJST1IKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo2NDMKIyAgICAgImh0dHBzOi8vY2RuLmtlcm5lbC5vcmcvcHViIgpLRVJORUxPUkdfTUlSUk9S
PSJodHRwczovL2Nkbi5rZXJuZWwub3JnL3B1YiIKIwojICRLRVJORUxfQ0xBU1NFUwojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI0MQojICAgICBb
ZG9jXSAiQSBsaXN0IG9mIGNsYXNzZXMgZGVmaW5pbmcga2VybmVsIGltYWdlIHR5cGVzIHRoYXQg
a2VybmVsIGNsYXNzIHNob3VsZCBpbmhlcml0LiIKIwojICRLRVJORUxfQ09OU09MRQojICAgc2V0
PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJv
dmFycy5pbmM6NAojICAgICAidHR5UzAiCktFUk5FTF9DT05TT0xFPSJ0dHlTMCIKIwojICRLRVJO
RUxfRVhUUkFfQVJHUwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjI0MgojICAgICBbZG9jXSAiU3BlY2lmaWVzIGFkZGl0aW9uYWwgbWFrZSBjb21t
YW5kLWxpbmUgYXJndW1lbnRzIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHBhc3NlcyBv
biB3aGVuIGNvbXBpbGluZyB0aGUga2VybmVsLiIKIwojICRLRVJORUxfRkVBVFVSRVMgWzMgb3Bl
cmF0aW9uc10KIyAgIF9hcHBlbmRbcG4tbGludXgteW9jdG9dIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjI3CiMgICAgICIgZmVhdHVyZXMvbmZzZC9u
ZnNkLWVuYWJsZS5zY2MiCiMgICBfYXBwZW5kW3BuLWxpbnV4LXlvY3RvLXJ0XSAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYzoyOAojICAgICAiIGZlYXR1
cmVzL25mc2QvbmZzZC1lbmFibGUuc2NjIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjI0MwojICAgICBbZG9jXSAiSW5jbHVkZXMgYWRkaXRpb25h
bCBtZXRhZGF0YSBmcm9tIHRoZSBZb2N0byBQcm9qZWN0IGtlcm5lbCBHaXQgcmVwb3NpdG9yeS4g
VGhlIG1ldGFkYXRhIHlvdSBhZGQgdGhyb3VnaCB0aGlzIHZhcmlhYmxlIGluY2x1ZGVzIGNvbmZp
ZyBmcmFnbWVudHMgYW5kIGZlYXR1cmVzIGRlc2NyaXB0aW9ucy4iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIiCktFUk5FTF9GRUFUVVJFUz0iIgojCiMgJEtFUk5FTF9JTUFHRVRZUEUgWzMg
b3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVt
dXg4Ni02NC5jb25mOjE3CiMgICAgICJiekltYWdlIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzo0NAojICAgICBb
X2RlZmF1bHR2YWxdICIke0FSQ0hfREVGQVVMVF9LRVJORUxJTUFHRVRZUEV9IgojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI0NAojICAgICBbZG9j
XSAiVGhlIHR5cGUgb2Yga2VybmVsIHRvIGJ1aWxkIGZvciBhIGRldmljZSwgdXN1YWxseSBzZXQg
YnkgdGhlIG1hY2hpbmUgY29uZmlndXJhdGlvbiBmaWxlcyBhbmQgZGVmYXVsdHMgdG8gJ3pJbWFn
ZScuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiYnpJbWFnZSIKS0VSTkVMX0lNQUdFVFlQ
RT0iYnpJbWFnZSIKIwojICRLRVJORUxfSU1BR0VUWVBFUyBbMiBvcGVyYXRpb25zXQojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92
YXJzLmluYzo0NQojICAgICBbX2RlZmF1bHR2YWxdICIke0tFUk5FTF9JTUFHRVRZUEV9IgojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI0NQojICAg
ICBbZG9jXSAiVGhlIGxpc3Qgb2YgdHlwZXMgb2Yga2VybmVsIHRvIGJ1aWxkIGZvciBhIGRldmlj
ZSwgdXN1YWxseSBzZXQgYnkgdGhlIG1hY2hpbmUgY29uZmlndXJhdGlvbiBmaWxlcyBhbmQgZGVm
YXVsdHMgdG8gS0VSTkVMX0lNQUdFVFlQRS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIk
e0tFUk5FTF9JTUFHRVRZUEV9IgpLRVJORUxfSU1BR0VUWVBFUz0iYnpJbWFnZSIKIwojICRLRVJO
RUxfTU9EVUxFX0FVVE9MT0FEIFsyIG9wZXJhdGlvbnNdCiMgICBhcHBlbmQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZjo0MAojICAgICAidXZlc2FmYiIK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNDYK
IyAgICAgW2RvY10gIkxpc3RzIGtlcm5lbCBtb2R1bGVzIHRoYXQgbmVlZCB0byBiZSBhdXRvLWxv
YWRlZCBkdXJpbmcgYm9vdCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiB1dmVzYWZiIgpL
RVJORUxfTU9EVUxFX0FVVE9MT0FEPSIgdXZlc2FmYiIKIwojICRLRVJORUxfTU9EVUxFX1BST0JF
Q09ORiBbMiBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
bWFjaGluZS9xZW11eDg2LTY0LmNvbmY6NDEKIyAgICAgInV2ZXNhZmIiCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjQ3CiMgICAgIFtkb2NdICJM
aXN0cyBrZXJuZWwgbW9kdWxlcyBmb3Igd2hpY2ggdGhlIGJ1aWxkIHN5c3RlbSBleHBlY3RzIHRv
IGZpbmQgbW9kdWxlX2NvbmZfKiB2YWx1ZXMgdGhhdCBzcGVjaWZ5IGNvbmZpZ3VyYXRpb24gZm9y
IGVhY2ggb2YgdGhlIG1vZHVsZXMiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgdXZlc2Fm
YiIKS0VSTkVMX01PRFVMRV9QUk9CRUNPTkY9IiB1dmVzYWZiIgojCiMgJEtFUk5FTF9QQUNLQUdF
X05BTUUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjoyNDgKIyAgICAgW2RvY10gIk5hbWUgcHJlZml4IGZvciBrZXJuZWwgcGFja2FnZXMuIERlZmF1
bHRzIHRvICdrZXJuZWwnLiIKIwojICRLRVJORUxfUEFUSAojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI0OQojICAgICBbZG9jXSAiVGhlIGxvY2F0
aW9uIG9mIHRoZSBrZXJuZWwgc291cmNlcy4gVGhpcyB2YXJpYWJsZSBpcyBzZXQgdG8gdGhlIHZh
bHVlIG9mIHRoZSBTVEFHSU5HX0tFUk5FTF9ESVIgd2l0aGluIHRoZSBtb2R1bGUgY2xhc3MgKG1v
ZHVsZS5iYmNsYXNzKS4iCiMKIyAkS0VSTkVMX1NSQwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI1MAojICAgICBbZG9jXSAiVGhlIGxvY2F0aW9u
IG9mIHRoZSBrZXJuZWwgc291cmNlcy4gVGhpcyB2YXJpYWJsZSBpcyBzZXQgdG8gdGhlIHZhbHVl
IG9mIHRoZSBTVEFHSU5HX0tFUk5FTF9ESVIgd2l0aGluIHRoZSBtb2R1bGUgY2xhc3MgKG1vZHVs
ZS5iYmNsYXNzKS4iCiMKIyAkS0VSTkVMX1NSQ19QQVRICiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDQyCiMgICAgICIvdXNyL3NyYy9rZXJuZWwiCktFUk5F
TF9TUkNfUEFUSD0iL3Vzci9zcmMva2VybmVsIgojCiMgJEtGRUFUVVJFX0RFU0NSSVBUSU9OCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjUxCiMg
ICAgIFtkb2NdICJQcm92aWRlcyBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIGEgY29uZmlndXJhdGlv
biBmcmFnbWVudC4gWW91IHVzZSB0aGlzIHZhcmlhYmxlIGluIHRoZSAuc2NjIGZpbGUgdGhhdCBk
ZXNjcmliZXMgYSBjb25maWd1cmF0aW9uIGZyYWdtZW50IGZpbGUuIgojCiMgJEtNQUNISU5FCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjUyCiMg
ICAgIFtkb2NdICJUaGUgbWFjaGluZSBhcyBrbm93biBieSB0aGUga2VybmVsLiIKIwojICRLVFlQ
RQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI1
MwojICAgICBbZG9jXSAiRGVmaW5lcyB0aGUga2VybmVsIHR5cGUgdG8gYmUgdXNlZCBpbiBhc3Nl
bWJsaW5nIHRoZSBjb25maWd1cmF0aW9uLiIKIwojICRMQVlFUkRFUEVORFMgWzMgb3BlcmF0aW9u
c10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoy
NTcKIyAgICAgW2RvY10gIkxpc3RzIHRoZSBsYXllcnMsIHNlcGFyYXRlZCBieSBzcGFjZXMsIHVw
b24gd2hpY2ggdGhpcyByZWNpcGUgZGVwZW5kcy4gVGhpcyB2YXJpYWJsZSBpcyB1c2VkIGluIHRo
ZSBjb25mL2xheWVyLmNvbmYgZmlsZSBhbmQgbXVzdCBiZSBzdWZmaXhlZCB3aXRoIHRoZSBuYW1l
IG9mIHRoZSBzcGVjaWZpYyBsYXllci4iCiMgICBvdmVycmlkZVt5b2N0b106c2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25mOjE4CiMgICAgICJjb3JlIgojICAgb3Zl
cnJpZGVbY3VzdG9tX2xheWVyXTpzZXQgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2N1c3RvbV9sYXll
ci9jb25mL2xheWVyLmNvbmY6MTIKIyAgICAgImNvcmUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICJOb25lIgojCiMgJExBWUVSREVQRU5EU19jdXN0b21fbGF5ZXIKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyL2NvbmYvbGF5ZXIuY29uZjoxMgojICAgICAiY29y
ZSIKTEFZRVJERVBFTkRTX2N1c3RvbV9sYXllcj0iY29yZSIKIwojICRMQVlFUkRFUEVORFNfeW9j
dG8KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZjoxOAoj
ICAgICAiY29yZSIKTEFZRVJERVBFTkRTX3lvY3RvPSJjb3JlIgojCiMgJExBWUVSRElSIFs2IG9w
ZXJhdGlvbnNdCiMgICBzZXQgY29va2VyZGF0YS5weTozNzIgW3BhcnNlQ29uZmlndXJhdGlvbkZp
bGVzXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEiCiMgICBzZXQgY29va2VyZGF0YS5weToz
NzIgW3BhcnNlQ29uZmlndXJhdGlvbkZpbGVzXQojICAgICAiL2hvbWUvdXNlci9wb2t5L21ldGEt
cG9reSIKIyAgIHNldCBjb29rZXJkYXRhLnB5OjM3MiBbcGFyc2VDb25maWd1cmF0aW9uRmlsZXNd
CiMgICAgICIvaG9tZS91c2VyL3Bva3kvbWV0YS15b2N0by1ic3AiCiMgICBzZXQgY29va2VyZGF0
YS5weTozNzIgW3BhcnNlQ29uZmlndXJhdGlvbkZpbGVzXQojICAgICAiL2hvbWUvdXNlci9wb2t5
L2J1aWxkL2N1c3RvbV9sYXllciIKIyAgIGRlbCBjb29rZXJkYXRhLnB5OjM3OSBbcGFyc2VDb25m
aWd1cmF0aW9uRmlsZXNdCiMgICAgICIiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6MjU4CiMgICAgIFtkb2NdICJXaGVuIHVzZWQgaW5zaWRlIHRo
ZSBsYXllci5jb25mIGNvbmZpZ3VyYXRpb24gZmlsZSwgdGhpcyB2YXJpYWJsZSBwcm92aWRlcyB0
aGUgcGF0aCBvZiB0aGUgY3VycmVudCBsYXllci4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICJOb25lIgojCiMgJExBWUVSU0VSSUVTX0NPTVBBVF9jb3JlCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9sYXllci5jb25mOjE1CiMgICAgICJ3YXJyaW9yIHpldXMiCkxBWUVSU0VS
SUVTX0NPTVBBVF9jb3JlPSJ3YXJyaW9yIHpldXMiCiMKIyAkTEFZRVJTRVJJRVNfQ09NUEFUX2N1
c3RvbV9sYXllcgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIvY29u
Zi9sYXllci5jb25mOjEzCiMgICAgICJ3YXJyaW9yIHpldXMiCkxBWUVSU0VSSUVTX0NPTVBBVF9j
dXN0b21fbGF5ZXI9IndhcnJpb3IgemV1cyIKIwojICRMQVlFUlNFUklFU19DT01QQVRfeW9jdG8K
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZjoxMgojICAg
ICAiemV1cyIKTEFZRVJTRVJJRVNfQ09NUEFUX3lvY3RvPSJ6ZXVzIgojCiMgJExBWUVSU0VSSUVT
X0NPTVBBVF95b2N0b2JzcAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhLXlvY3RvLWJzcC9j
b25mL2xheWVyLmNvbmY6MTIKIyAgICAgInpldXMiCkxBWUVSU0VSSUVTX0NPTVBBVF95b2N0b2Jz
cD0iemV1cyIKIwojICRMQVlFUlNFUklFU19DT1JFTkFNRVMKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2xheWVyLmNvbmY6MTAKIyAgICAgInpldXMiCkxBWUVSU0VSSUVTX0NPUkVO
QU1FUz0iemV1cyIKIwojICRMQVlFUlZFUlNJT04gWzQgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNTkKIyAgICAgW2RvY10g
Ik9wdGlvbmFsbHkgc3BlY2lmaWVzIHRoZSB2ZXJzaW9uIG9mIGEgbGF5ZXIgYXMgYSBzaW5nbGUg
bnVtYmVyLiBUaGlzIHZhcmlhYmxlIGlzIHVzZWQgaW4gdGhlIGNvbmYvbGF5ZXIuY29uZiBmaWxl
IGFuZCBtdXN0IGJlIHN1ZmZpeGVkIHdpdGggdGhlIG5hbWUgb2YgdGhlIHNwZWNpZmljIGxheWVy
LiIKIyAgIG92ZXJyaWRlW2NvcmVdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xheWVy
LmNvbmY6MTQKIyAgICAgIjExIgojICAgb3ZlcnJpZGVbeW9jdG9dOnNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZjoxNgojICAgICAiMyIKIyAgIG92ZXJyaWRlW3lv
Y3RvYnNwXTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbGF5ZXIuY29u
ZjoxMQojICAgICAiNCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIk5vbmUiCiMKIyAkTEFZ
RVJWRVJTSU9OX2NvcmUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xheWVyLmNv
bmY6MTQKIyAgICAgIjExIgpMQVlFUlZFUlNJT05fY29yZT0iMTEiCiMKIyAkTEFZRVJWRVJTSU9O
X3lvY3RvCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmY6
MTYKIyAgICAgIjMiCkxBWUVSVkVSU0lPTl95b2N0bz0iMyIKIwojICRMQVlFUlZFUlNJT05feW9j
dG9ic3AKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9sYXllci5j
b25mOjExCiMgICAgICI0IgpMQVlFUlZFUlNJT05feW9jdG9ic3A9IjQiCiMKIyAkTEFZRVJfQ09O
Rl9WRVJTSU9OCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvc2FuaXR5LmNvbmY6
MTIKIyAgICAgIjciCkxBWUVSX0NPTkZfVkVSU0lPTj0iNyIKIwojICRMQ19BTEwgWzQgb3BlcmF0
aW9uc10KIyAgIGZyb20gZW52IGRhdGEucHk6MTEyIFtpbmhlcml0RnJvbU9TXQojICAgICAiZW5f
VVMuVVRGLTgiCiMgICBhdXRvIGVudiBleHBvcnQgZGF0YS5weToxMTQgW2luaGVyaXRGcm9tT1Nd
CiMgICAgIFtleHBvcnRdICJUcnVlIgojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6NTUwCiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU1MAojICAgICAiZW5fVVMuVVRGLTgiCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJlbl9VUy5VVEYtOCIKZXhwb3J0IExDX0FMTD0iZW5f
VVMuVVRGLTgiCiMKIyAkTEQgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUyMgojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MjIKIyAgICAgIiR7SE9T
VF9QUkVGSVh9bGQke1RPT0xDSEFJTl9PUFRJT05TfSAke0hPU1RfTERfQVJDSH0iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIke0hPU1RfUFJFRklYfWxkJHtUT09MQ0hBSU5fT1BUSU9OU30g
JHtIT1NUX0xEX0FSQ0h9IgpleHBvcnQgTEQ9Ing4Nl82NC1wb2t5LWxpbnV4LWxkIC0tc3lzcm9v
dD0vaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFt
cGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdCAgIgojCiMgJExERkxBR1MgWzIgb3BlcmF0aW9uc10K
IyAgIGV4cG9ydGVkIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU5Nwoj
ICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo1OTcKIyAgICAgIiR7VEFSR0VUX0xERkxBR1N9IgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtUQVJHRVRfTERGTEFHU30iCmV4cG9ydCBMREZMQUdTPSItV2wsLU8xIC1XbCwt
LWhhc2gtc3R5bGU9Z251IC1XbCwtLWFzLW5lZWRlZCAtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcg
LVdsLC16LHJlbHJvLC16LG5vdyIKIwojICRMRUFEX1NPTkFNRQojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI2MAojICAgICBbZG9jXSAiU3BlY2lm
aWVzIHRoZSBsZWFkIChvciBwcmltYXJ5KSBjb21waWxlZCBsaWJyYXJ5IGZpbGUgKC5zbykgdGhh
dCB0aGUgZGViaWFuIGNsYXNzIGFwcGxpZXMgaXRzIG5hbWluZyBwb2xpY3kgdG8gZ2l2ZW4gYSBy
ZWNpcGUgdGhhdCBwYWNrYWdlcyBtdWx0aXBsZSBsaWJyYXJpZXMuIgojCiMgJExJQkNFWFRFTlNJ
T04gWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjoxMjQKIyAgICAgW19kZWZhdWx0dmFsXSAiIgojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYzo1CiMgICAgICIke0Bb
JycsICctZ251J11bKGQuZ2V0VmFyKCdBQklFWFRFTlNJT04nKSBvciAnJykgIT0gJyddfSIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QFsnJywgJy1nbnUnXVsoZC5nZXRWYXIoJ0FCSUVY
VEVOU0lPTicpIG9yICcnKSAhPSAnJ119IgpMSUJDRVhURU5TSU9OPSIiCiMKIyAkTElCQ09WRVJS
SURFIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjczOAojICAgICAiIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYzo3CiMgICAgICI6bGliYy1nbGliYyIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjpsaWJjLWdsaWJjIgpMSUJDT1ZFUlJJREU9IjpsaWJj
LWdsaWJjIgojCiMgJExJQkNfREVQRU5ERU5DSUVTCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jOjI5CiMgICAgICJsaWJzZWdm
YXVsdCAJCSAgICAgZ2xpYmMgCQkgICAgIGdsaWJjLWRiZyAJCSAgICAgZ2xpYmMtZGV2IAkJICAg
ICBnbGliYy11dGlscyAJCSAgICAgZ2xpYmMtdGhyZWFkLWRiIAkJICAgICBnbGliYy1sb2NhbGVk
YXRhLWkxOG4gCQkgICAgIGdsaWJjLWdjb252LWlibTg1MCAJCSAgICAgZ2xpYmMtZ2NvbnYtY3Ax
MjUyIAkJICAgICBnbGliYy1nY29udi1pc284ODU5LTEgCQkgICAgIGdsaWJjLWdjb252LWlzbzg4
NTktMTUiCkxJQkNfREVQRU5ERU5DSUVTPSJsaWJzZWdmYXVsdCAJCSAgICAgZ2xpYmMgCQkgICAg
IGdsaWJjLWRiZyAJCSAgICAgZ2xpYmMtZGV2IAkJICAgICBnbGliYy11dGlscyAJCSAgICAgZ2xp
YmMtdGhyZWFkLWRiIAkJICAgICBnbGliYy1sb2NhbGVkYXRhLWkxOG4gCQkgICAgIGdsaWJjLWdj
b252LWlibTg1MCAJCSAgICAgZ2xpYmMtZ2NvbnYtY3AxMjUyIAkJICAgICBnbGliYy1nY29udi1p
c284ODU5LTEgCQkgICAgIGdsaWJjLWdjb252LWlzbzg4NTktMTUiCiMKIyAkTElDRU5TRSBbMyBv
cGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjI2MQojICAgICBbX2RlZmF1bHR2YWxdICJJTlZBTElEIgojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI2MgojICAgICBbZG9jXSAiVGhlIGxpc3Qg
b2Ygc291cmNlIGxpY2Vuc2VzIGZvciB0aGUgcmVjaXBlLiBMb2dpY2FsIG9wZXJhdG9ycyAnJicg
b3IgJ3wnIGFuZCBwYXJlbnRoZXNlcyBjYW4gYmUgdXNlZC4iCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L2J1aWxkL2N1c3RvbV9sYXllci9yZWNpcGVzLWV4YW1wbGUvZXhhbXBsZS9leGFtcGxlXzAu
MS5iYjozCiMgICAgICJNSVQiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJNSVQiCkxJQ0VO
U0U9Ik1JVCIKIwojICRMSUNFTlNFX0NSRUFURV9QQUNLQUdFIFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3M6MTAKIyAgICAg
W3R5cGVdICJib29sZWFuIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvbGlj
ZW5zZS5iYmNsYXNzOjExCiMgICAgIFtfZGVmYXVsdHZhbF0gIjAiCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIwIgpMSUNFTlNFX0NSRUFURV9QQUNLQUdFPSIwIgojCiMgJExJQ0VOU0VfRElS
RUNUT1JZCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xh
c3M6NgojICAgICBbX2RlZmF1bHR2YWxdICIke0RFUExPWV9ESVJ9L2xpY2Vuc2VzIgpMSUNFTlNF
X0RJUkVDVE9SWT0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC9kZXBsb3kvbGljZW5zZXMiCiMK
IyAkTElDRU5TRV9GSUxFU19ESVJFQ1RPUlkKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
bGFzc2VzL2xpY2Vuc2UuYmJjbGFzczoxMwojICAgICBbX2RlZmF1bHR2YWxdICIke2RhdGFkaXJ9
L2xpY2Vuc2VzLyIKTElDRU5TRV9GSUxFU19ESVJFQ1RPUlk9Ii91c3Ivc2hhcmUvbGljZW5zZXMv
IgojCiMgJExJQ0VOU0VfUEFDS0FHRV9TVUZGSVgKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzczoxMgojICAgICBbX2RlZmF1bHR2YWxdICItbGljIgpM
SUNFTlNFX1BBQ0tBR0VfU1VGRklYPSItbGljIgojCiMgJExJQ0VOU0VfUEFUSAojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI2MwojICAgICBbZG9j
XSAiUGF0aCB0byBhZGRpdGlvbmFsIGxpY2Vuc2VzIHVzZWQgZHVyaW5nIHRoZSBidWlsZC4iCiMK
IyAkTElDU1NUQVRFRElSCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9saWNl
bnNlLmJiY2xhc3M6NwojICAgICAiJHtXT1JLRElSfS9saWNlbnNlLWRlc3RkaXIvIgpMSUNTU1RB
VEVESVI9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4
L2V4YW1wbGUvMC4xLXIwL2xpY2Vuc2UtZGVzdGRpci8iCiMKIyAkTElDX0ZJTEVTX0NIS1NVTQoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI2MQoj
ICAgICBbZG9jXSAiQ2hlY2tzdW1zIG9mIHRoZSBsaWNlbnNlIHRleHQgaW4gdGhlIHJlY2lwZSBz
b3VyY2UgY29kZS4iCiMKIyAkTElOS0VSX0hBU0hfU1RZTEUgWzIgb3BlcmF0aW9uc10KIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1ODkKIyAgICAgW19kZWZh
dWx0dmFsXSAiZ251IgojICAgb3ZlcnJpZGVbbWlwc2FyY2hdOnNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo1OTEKIyAgICAgInN5c3YiCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICJnbnUiCkxJTktFUl9IQVNIX1NUWUxFPSJnbnUiCiMKIyAkTElOS0VSX0hBU0hf
U1RZTEVfbWlwc2FyY2gKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo1OTEKIyAgICAgInN5c3YiCkxJTktFUl9IQVNIX1NUWUxFX21pcHNhcmNoPSJzeXN2Igoj
CiMgJExJTlVYTElCQ1ZFUlNJT04KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MjQKIyAgICAgIjUuMiUiCkxJTlVYTElC
Q1ZFUlNJT049IjUuMiUiCiMKIyAkTElOVVhfS0VSTkVMX1RZUEUKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNjQKIyAgICAgW2RvY10gIkRlZmlu
ZXMgdGhlIGtlcm5lbCB0eXBlIHRvIGJlIHVzZWQgaW4gYXNzZW1ibGluZyB0aGUgY29uZmlndXJh
dGlvbi4iCiMKIyAkTElOVVhfVkVSU0lPTgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjI2NQojICAgICBbZG9jXSAiVGhlIExpbnV4IHZlcnNpb24g
ZnJvbSBrZXJuZWwub3JnIG9uIHdoaWNoIHRoZSBMaW51eCBrZXJuZWwgaW1hZ2UgYmVpbmcgYnVp
bHQgdXNpbmcgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gaXMgYmFzZWQuIFlvdSBkZWZp
bmUgdGhpcyB2YXJpYWJsZSBpbiB0aGUga2VybmVsIHJlY2lwZS4iCiMKIyAkTElOVVhfVkVSU0lP
Tl9FWFRFTlNJT04KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoyNjYKIyAgICAgW2RvY10gIkEgc3RyaW5nIGV4dGVuc2lvbiBjb21waWxlZCBpbnRv
IHRoZSB2ZXJzaW9uIHN0cmluZyBvZiB0aGUgTGludXgga2VybmVsIGJ1aWx0IHdpdGggdGhlIE9w
ZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0uIFlvdSBkZWZpbmUgdGhpcyB2YXJpYWJsZSBpbiB0aGUg
a2VybmVsIHJlY2lwZS4iCiMKIyAkTExWTVZFUlNJT04KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MjkKIyAgICAgIjgu
MC4xIgpMTFZNVkVSU0lPTj0iOC4wLjEiCiMKIyAkTE9DQUxDT05GX1ZFUlNJT04gWzIgb3BlcmF0
aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3ku
Y29uZjoxMgojICAgICAiMSIKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9zYW5p
dHkuY29uZjoxMQojICAgICAiMSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjEiCkxPQ0FM
Q09ORl9WRVJTSU9OPSIxIgojCiMgJExPQ0FMRUJBU0VQTgojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjU4OAojICAgICBbX2RlZmF1bHR2YWxdICIk
e1BOfSIKTE9DQUxFQkFTRVBOPSJleGFtcGxlIgojCiMgJExPQ0FMRV9TRUNUSU9OCiMgICBzZXQ/
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjUxCiMgICAgICIi
CkxPQ0FMRV9TRUNUSU9OPSIiCiMKIyAkTE9DQUxFX1VURjhfSVNfREVGQVVMVCBbMyBvcGVyYXRp
b25zXQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2Rl
ZmF1bHQtZGlzdHJvdmFycy5pbmM6MTAKIyAgICAgIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjY3CiMgICAgIFtkb2NdICJJZiBzZXQsIGxv
Y2FsZSBuYW1lcyBhcmUgcmVuYW1lZCBzdWNoIHRoYXQgdGhvc2UgbGFja2luZyBhbiBleHBsaWNp
dCBlbmNvZGluZyAoZS5nLiBlbl9VUykgd2lsbCBhbHdheXMgYmUgVVRGLTgsIGFuZCBub24tVVRG
LTggZW5jb2RpbmdzIGFyZSByZW5hbWVkIHRvLCBlLmcuLCBlbl9VUy5JU08tODg1OS0xLiBPdGhl
cndpc2UsIHRoZSBlbmNvZGluZyBpcyBzcGVjaWZpZWQgYnkgZ2xpYmMncyBTVVBQT1JURUQgZmls
ZS4gTm90IHN1cHBvcnRlZCBmb3IgcHJlY29tcGlsZWQgbG9jYWxlcy4iCiMgICBvdmVycmlkZVtj
bGFzcy1uYXRpdmVzZGtdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6MTEKIyAgICAgIjAiCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIxIgpMT0NBTEVfVVRGOF9JU19ERUZBVUxUPSIxIgojCiMgJExPQ0FMRV9VVEY4
X0lTX0RFRkFVTFRfY2xhc3MtbmF0aXZlc2RrCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jOjExCiMgICAgICIwIgpM
T0NBTEVfVVRGOF9JU19ERUZBVUxUX2NsYXNzLW5hdGl2ZXNkaz0iMCIKIwojICRMT0NBTEVfVVRG
OF9PTkxZCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
ZGVmYXVsdC1kaXN0cm92YXJzLmluYzo5CiMgICAgICIwIgpMT0NBTEVfVVRGOF9PTkxZPSIwIgoj
CiMgJExPR0ZJRk8KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2xvZ2dpbmcu
YmJjbGFzczo2CiMgICAgICIke1R9L2ZpZm8uJHtAb3MuZ2V0cGlkKCl9IgpMT0dGSUZPPSIvaG9t
ZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAu
MS1yMC90ZW1wL2ZpZm8uMjk5OTQiCiMKIyAkTE9HTkFNRSBbMiBvcGVyYXRpb25zXQojICAgZnJv
bSBlbnYgZGF0YS5weToxMTIgW2luaGVyaXRGcm9tT1NdCiMgICAgICJ1c2VyIgojICAgYXV0byBl
bnYgZXhwb3J0IGRhdGEucHk6MTE0IFtpbmhlcml0RnJvbU9TXQojICAgICBbZXhwb3J0XSAiVHJ1
ZSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgInVzZXIiCmV4cG9ydCBMT0dOQU1FPSJ1c2Vy
IgojCiMgJExPR19ESVIgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjozNjIKIyAgICAgIiR7VE1QRElSfS9sb2ciCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjY4CiMgICAgIFtkb2Nd
ICJTcGVjaWZpZXMgdGhlIGRpcmVjdG9yeSB0byB3aGljaCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxk
IHN5c3RlbSB3cml0ZXMgb3ZlcmFsbCBsb2cgZmlsZXMuIFRoZSBkZWZhdWx0IGRpcmVjdG9yeSBp
cyAke1RNUERJUn0vbG9nIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUTVBESVJ9L2xv
ZyIKTE9HX0RJUj0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC9sb2ciCiMKIyAkTUFDSElORSBb
MyBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9idWlsZC9jb25mL2xvY2FsLmNv
bmY6MzgKIyAgICAgW19kZWZhdWx0dmFsXSAicWVtdXg4Ni02NCIKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNzIKIyAgICAgW2RvY10gIlNwZWNp
ZmllcyB0aGUgdGFyZ2V0IGRldmljZSBmb3Igd2hpY2ggdGhlIGltYWdlIGlzIGJ1aWx0LiBZb3Ug
ZGVmaW5lIE1BQ0hJTkUgaW4gdGhlIGNvbmYvbG9jYWwuY29uZiBmaWxlIGluIHRoZSBCdWlsZCBE
aXJlY3RvcnkuIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
Ojg0NAojICAgICBbdW5leHBvcnRdICIxIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAicWVt
dXg4Ni02NCIKdW5zZXQgTUFDSElORQojCiMgJE1BQ0hJTkVPVkVSUklERVMgWzUgb3BlcmF0aW9u
c10KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzQxCiMg
ICAgICIke01BQ0hJTkV9IgojICAgcHJlZG90IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFj
aGluZS9pbmNsdWRlL3FlbXUuaW5jOjE0CiMgICAgICJxZW11YWxsOiIKIyAgIHByZWRvdCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjE3
CiMgICAgICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdtMzInLCAneDg2
OicsICcnICxkKX0iCiMgICBwcmVkb3QgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5l
L2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzoyOQojICAgICAiJHtAYmIudXRpbHMuY29udGFpbnMo
J1RVTkVfRkVBVFVSRVMnLCAnbXgzMicsICd4ODYteDMyOicsICcnICxkKX0iCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjgwCiMgICAgIFtkb2Nd
ICJMaXN0cyBvdmVycmlkZXMgc3BlY2lmaWMgdG8gdGhlIGN1cnJlbnQgbWFjaGluZS4gQnkgZGVm
YXVsdCwgdGhpcyBsaXN0IGluY2x1ZGVzIHRoZSB2YWx1ZSBvZiBNQUNISU5FLiIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywg
J214MzInLCAneDg2LXgzMjonLCAnJyAsZCl9JHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVB
VFVSRVMnLCAnbTMyJywgJ3g4NjonLCAnJyAsZCl9cWVtdWFsbDoke01BQ0hJTkV9IgpNQUNISU5F
T1ZFUlJJREVTPSJxZW11YWxsOnFlbXV4ODYtNjQiCiMKIyAkTUFDSElORV9BUkNICiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTUxCiMgICAgICIke0BbZC5n
ZXRWYXIoJ1RVTkVfUEtHQVJDSCcpLCBkLmdldFZhcignTUFDSElORScpXVtib29sKGQuZ2V0VmFy
KCdNQUNISU5FJykpXS5yZXBsYWNlKCctJywgJ18nKX0iCk1BQ0hJTkVfQVJDSD0icWVtdXg4Nl82
NCIKIwojICRNQUNISU5FX0VTU0VOVElBTF9FWFRSQV9SREVQRU5EUyBbMyBvcGVyYXRpb25zXQoj
ICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNv
bmY6MzYKIyAgICAgInY4NmQiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6MjczCiMgICAgIFtkb2NdICJBIGxpc3Qgb2YgcmVxdWlyZWQgbWFjaGlu
ZS1zcGVjaWZpYyBwYWNrYWdlcyB0byBpbnN0YWxsIGFzIHBhcnQgb2YgdGhlIGltYWdlIGJlaW5n
IGJ1aWx0LiBCZWNhdXNlIHRoaXMgaXMgYSAnbWFjaGluZSBlc3NlbnRpYWwnIHZhcmlhYmxlLCB0
aGUgbGlzdCBvZiBwYWNrYWdlcyBhcmUgZXNzZW50aWFsIGZvciB0aGUgbWFjaGluZSB0byBib290
LiIKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODE0CiMg
ICAgICIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgdjg2ZCIKTUFDSElORV9FU1NFTlRJ
QUxfRVhUUkFfUkRFUEVORFM9IiB2ODZkIgojCiMgJE1BQ0hJTkVfRVNTRU5USUFMX0VYVFJBX1JS
RUNPTU1FTkRTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6Mjc0CiMgICAgIFtkb2NdICJBIGxpc3Qgb2YgcmVjb21tZW5k
ZWQgbWFjaGluZS1zcGVjaWZpYyBwYWNrYWdlcyB0byBpbnN0YWxsIGFzIHBhcnQgb2YgdGhlIGlt
YWdlIGJlaW5nIGJ1aWx0LiBCZWNhdXNlIHRoaXMgaXMgYSAnbWFjaGluZSBlc3NlbnRpYWwnIHZh
cmlhYmxlLCB0aGUgbGlzdCBvZiBwYWNrYWdlcyBhcmUgZXNzZW50aWFsIGZvciB0aGUgbWFjaGlu
ZSB0byBib290LiIKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6ODE1CiMgICAgICIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIiCk1BQ0hJTkVfRVNT
RU5USUFMX0VYVFJBX1JSRUNPTU1FTkRTPSIiCiMKIyAkTUFDSElORV9FWFRSQV9SREVQRU5EUyBb
MiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjI3NQojICAgICBbZG9jXSAiQSBsaXN0IG9mIG1hY2hpbmUtc3BlY2lmaWMgcGFj
a2FnZXMgdG8gaW5zdGFsbCBhcyBwYXJ0IG9mIHRoZSBpbWFnZSBiZWluZyBidWlsdCB0aGF0IGFy
ZSBub3QgZXNzZW50aWFsIGZvciB0aGUgbWFjaGluZSB0byBib290LiBIb3dldmVyLCB0aGUgYnVp
bGQgcHJvY2VzcyBmb3IgbW9yZSBmdWxseS1mZWF0dXJlZCBpbWFnZXMgZGVwZW5kcyBvbiB0aGUg
cGFja2FnZXMgYmVpbmcgcHJlc2VudC4iCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjgxMgojICAgICAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
IgpNQUNISU5FX0VYVFJBX1JERVBFTkRTPSIiCiMKIyAkTUFDSElORV9FWFRSQV9SUkVDT01NRU5E
UyBbMyBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGlu
ZS9xZW11eDg2LTY0LmNvbmY6MzgKIyAgICAgImtlcm5lbC1tb2R1bGUtc25kLWVuczEzNzAga2Vy
bmVsLW1vZHVsZS1zbmQtcmF3bWlkaSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjoyNzYKIyAgICAgW2RvY10gIkEgbGlzdCBvZiBtYWNoaW5lLXNw
ZWNpZmljIHBhY2thZ2VzIHRvIGluc3RhbGwgYXMgcGFydCBvZiB0aGUgaW1hZ2UgYmVpbmcgYnVp
bHQgdGhhdCBhcmUgbm90IGVzc2VudGlhbCBmb3IgYm9vdGluZyB0aGUgbWFjaGluZS4gVGhlIGlt
YWdlIGJlaW5nIGJ1aWx0IGhhcyBubyBidWlsZCBkZXBlbmRlbmNpZXMgb24gdGhlIHBhY2thZ2Vz
IGluIHRoaXMgbGlzdC4iCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjgxMwojICAgICAiIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAia2VybmVsLW1v
ZHVsZS1zbmQtZW5zMTM3MCBrZXJuZWwtbW9kdWxlLXNuZC1yYXdtaWRpIgpNQUNISU5FX0VYVFJB
X1JSRUNPTU1FTkRTPSJrZXJuZWwtbW9kdWxlLXNuZC1lbnMxMzcwIGtlcm5lbC1tb2R1bGUtc25k
LXJhd21pZGkiCiMKIyAkTUFDSElORV9GRUFUVVJFUyBbNSBvcGVyYXRpb25zXQojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjEyCiMgICAg
ICJhbHNhIGJsdWV0b290aCB1c2JnYWRnZXQgc2NyZWVuIgojICAgYXBwZW5kIC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNvbmY6MzQKIyAgICAgIng4NiBwY2ki
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mjc3
CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgdGhlIGxpc3Qgb2YgaGFyZHdhcmUgZmVhdHVyZXMgdGhl
IE1BQ0hJTkUgc3VwcG9ydHMuIgojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo4MDcKIyAgICAgIiIKIyAgIGFwcGVuZCB1dGlscy5weToxMjkgW2ZlYXR1cmVz
X2JhY2tmaWxsXQojICAgICAiIHJ0YyBxZW11LXVzZXJtb2RlIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiYWxzYSBibHVldG9vdGggdXNiZ2FkZ2V0IHNjcmVlbiB4ODYgcGNpIHJ0YyBxZW11
LXVzZXJtb2RlIgpNQUNISU5FX0ZFQVRVUkVTPSJhbHNhIGJsdWV0b290aCB1c2JnYWRnZXQgc2Ny
ZWVuIHg4NiBwY2kgcnRjIHFlbXUtdXNlcm1vZGUiCiMKIyAkTUFDSElORV9GRUFUVVJFU19CQUNL
RklMTCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjI3OAojICAgICBbZG9jXSAiRmVhdHVyZXMgdG8gYmUgYWRkZWQgdG8g
TUFDSElORV9GRUFUVVJFUyBpZiBub3QgYWxzbyBwcmVzZW50IGluIE1BQ0hJTkVfRkVBVFVSRVNf
QkFDS0ZJTExfQ09OU0lERVJFRC4gVGhpcyB2YXJpYWJsZSBpcyBzZXQgaW4gdGhlIG1ldGEvY29u
Zi9iaXRiYWtlLmNvbmYgZmlsZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZXItY29uZmln
dXJhYmxlLiIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo4
MzEKIyAgICAgInJ0YyBxZW11LXVzZXJtb2RlIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
cnRjIHFlbXUtdXNlcm1vZGUiCk1BQ0hJTkVfRkVBVFVSRVNfQkFDS0ZJTEw9InJ0YyBxZW11LXVz
ZXJtb2RlIgojCiMgJE1BQ0hJTkVfRkVBVFVSRVNfQkFDS0ZJTExfQ09OU0lERVJFRCBbMiBvcGVy
YXRpb25zXQojICAgX2FwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5j
bHVkZS94ODYvYXJjaC14ODYuaW5jOjI4CiMgICAgICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RV
TkVfRkVBVFVSRVMnLCAnbXgzMicsICdxZW11LXVzZXJtb2RlJywgJycsIGQpfSIKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNzkKIyAgICAgW2Rv
Y10gIkZlYXR1cmVzIGZyb20gTUFDSElORV9GRUFUVVJFU19CQUNLRklMTCB0aGF0IHNob3VsZCBu
b3QgYmUgYmFja2ZpbGxlZCAoaS5lLiBhZGRlZCB0byBNQUNISU5FX0ZFQVRVUkVTKSBkdXJpbmcg
dGhlIGJ1aWxkLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiAke0BiYi51dGlscy5jb250
YWlucygnVFVORV9GRUFUVVJFUycsICdteDMyJywgJ3FlbXUtdXNlcm1vZGUnLCAnJywgZCl9IgpN
QUNISU5FX0ZFQVRVUkVTX0JBQ0tGSUxMX0NPTlNJREVSRUQ9IiAiCiMKIyAkTUFDSElORV9UQVNL
X1BST1ZJREVSCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
Ojc3OAojICAgICAiJHtERUZBVUxUX1RBU0tfUFJPVklERVJ9IgpNQUNISU5FX1RBU0tfUFJPVklE
RVI9InBhY2thZ2Vncm91cC1iYXNlIgojCiMgJE1BSU5UQUlORVIgWzMgb3BlcmF0aW9uc10KIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNjIKIyAgICAgIk9F
LUNvcmUgRGV2ZWxvcGVycyA8b3BlbmVtYmVkZGVkLWNvcmVAbGlzdHMub3BlbmVtYmVkZGVkLm9y
Zz4iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNv
bmY6OAojICAgICAiUG9reSA8cG9reUB5b2N0b3Byb2plY3Qub3JnPiIKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyODEKIyAgICAgW2RvY10gIlRo
ZSBlbWFpbCBhZGRyZXNzIG9mIHRoZSBkaXN0cmlidXRpb24gbWFpbnRhaW5lci4iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICJQb2t5IDxwb2t5QHlvY3RvcHJvamVjdC5vcmc+IgpNQUlOVEFJ
TkVSPSJQb2t5IDxwb2t5QHlvY3RvcHJvamVjdC5vcmc+IgojCiMgJE1BS0UgWzIgb3BlcmF0aW9u
c10KIyAgIGV4cG9ydGVkIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU0
NwojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo1NDcKIyAgICAgIm1ha2UiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJt
YWtlIgpleHBvcnQgTUFLRT0ibWFrZSIKIwojICRNRVJHRVBFUkZJTEVERVBTCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzOjEyCiMgICAgICIx
IgpNRVJHRVBFUkZJTEVERVBTPSIxIgojCiMgJE1FVEFEQVRBX0JSQU5DSAojICAgc2V0PyAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzOjEKIyAgICAgIiR7
QGJhc2VfZGV0ZWN0X2JyYW5jaChkKX0iCk1FVEFEQVRBX0JSQU5DSD0iemV1cyIKIwojICRNRVRB
REFUQV9SRVZJU0lPTgojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL21ldGFk
YXRhX3NjbS5iYmNsYXNzOjIKIyAgICAgIiR7QGJhc2VfZGV0ZWN0X3JldmlzaW9uKGQpfSIKTUVU
QURBVEFfUkVWSVNJT049ImNmOTJhMmQ1NjcyNjBiOTFhMjU5NjUyYmFkMGVjZDc5MDc1MGY3MTAi
CiMKIyAkTUlSUk9SUyBbMyBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI4MgojICAgICBbZG9jXSAiU3BlY2lmaWVzIGFkZGl0
aW9uYWwgcGF0aHMgZnJvbSB3aGljaCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBnZXRz
IHNvdXJjZSBjb2RlLiIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL21p
cnJvcnMuYmJjbGFzczo2NQojICAgICAiJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vc25hcHNob3Qu
ZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE4MDMxMFQyMTUxMDVaL3Bvb2wgXG4gJHtERUJJ
QU5fTUlSUk9SfQlodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi1hcmNo
aXZlLzIwMTIwMzI4VDA5Mjc1MlovZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRw
Oi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi1hcmNoaXZlLzIwMTEwMTI3VDA4
NDI1N1ovZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vc25hcHNob3QuZGVi
aWFuLm9yZy9hcmNoaXZlL2RlYmlhbi1hcmNoaXZlLzIwMDkwODAyVDAwNDE1M1ovZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmRlLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmF1LmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmNsLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmhyLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmZpLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmhrLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmh1LmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmllLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLml0LmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmpwLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLm5vLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnBsLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnJvLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnNpLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLmVzLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnNlLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vZnRwLnRyLmRlYmlhbi5vcmcvZGViaWFuL3Bv
b2wgXG4gJHtHTlVfTUlSUk9SfQlodHRwczovL21pcnJvcnMua2VybmVsLm9yZy9nbnUgXG4gJHtL
RVJORUxPUkdfTUlSUk9SfQlodHRwOi8vd3d3Lmtlcm5lbC5vcmcvcHViIFxuICR7R05VUEdfTUlS
Uk9SfQlmdHA6Ly9mdHAuZ251cGcub3JnL2djcnlwdCBcbiAke0dOVVBHX01JUlJPUn0JZnRwOi8v
ZnRwLmZyYW5rZW4uZGUvcHViL2NyeXB0L21pcnJvci9mdHAuZ251cGcub3JnL2djcnlwdCBcbiAk
e0dOVVBHX01JUlJPUn0JZnRwOi8vbWlycm9ycy5kb3RzcmMub3JnL2djcnlwdCBcbiBmdHA6Ly9k
YW50ZS5jdGFuLm9yZy90ZXgtYXJjaGl2ZSBmdHA6Ly9mdHAuZnUtYmVybGluLmRlL3RleC9DVEFO
IFxuIGZ0cDovL2RhbnRlLmN0YW4ub3JnL3RleC1hcmNoaXZlIGh0dHA6Ly9zdW5zaXRlLnN1dC5h
Yy5qcC9wdWIvYXJjaGl2ZXMvY3Rhbi8gXG4gZnRwOi8vZGFudGUuY3Rhbi5vcmcvdGV4LWFyY2hp
dmUgaHR0cDovL2N0YW4udW5zdy5lZHUuYXUvIFxuIGZ0cDovL2Z0cC5nbnV0bHMub3JnL2djcnlw
dC9nbnV0bHMgJHtHTlVQR19NSVJST1J9L2dudXRscyBcbiBodHRwOi8vZnRwLmluZm8temlwLm9y
Zy9wdWIvaW5mb3ppcC9zcmMvIGh0dHA6Ly9taXJyb3Iuc3dpdGNoLmNoL2Z0cC9taXJyb3IvaW5m
b3ppcC9zcmMvIFxuIGh0dHA6Ly9mdHAuaW5mby16aXAub3JnL3B1Yi9pbmZvemlwL3NyYy8gZnRw
Oi8vc3Vuc2l0ZS5pY20uZWR1LnBsL3B1Yi91bml4L2FyY2hpdmluZy9pbmZvLXppcC9zcmMvIFxu
IGh0dHA6Ly93d3cubWlycm9yc2VydmljZS5vcmcvc2l0ZXMvbHNvZi5pdGFwLnB1cmR1ZS5lZHUv
cHViL3Rvb2xzL3VuaXgvbHNvZi8gaHR0cDovL3d3dy5taXJyb3JzZXJ2aWNlLm9yZy9zaXRlcy9s
c29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mL09MRC8gXG4gJHtBUEFDSEVf
TUlSUk9SfSAgaHR0cDovL3d3dy51cy5hcGFjaGUub3JnL2Rpc3QgXG4gJHtBUEFDSEVfTUlSUk9S
fSAgaHR0cDovL2FyY2hpdmUuYXBhY2hlLm9yZy9kaXN0IFxuIGh0dHA6Ly9kb3dubG9hZHMuc291
cmNlZm9yZ2UubmV0L3dhdGNoZG9nLyBodHRwOi8vZm9zc2llcy5vcmcvbGludXgvbWlzYy8gXG4g
JHtTQVZBTk5BSF9HTlVfTUlSUk9SfSBodHRwOi8vZG93bmxvYWQtbWlycm9yLnNhdmFubmFoLmdu
dS5vcmcvcmVsZWFzZXMgXG4gJHtTQVZBTk5BSF9OT05HTlVfTUlSUk9SfSBodHRwOi8vZG93bmxv
YWQtbWlycm9yLnNhdmFubmFoLm5vbmdudS5vcmcvcmVsZWFzZXMgXG4gZnRwOi8vc291cmNld2Fy
ZS5vcmcvcHViIGh0dHA6Ly9taXJyb3JzLmtlcm5lbC5vcmcvc291cmNld2FyZSBcbiBmdHA6Ly9z
b3VyY2V3YXJlLm9yZy9wdWIgaHR0cDovL2dkLnR1d2llbi5hYy5hdC9nbnUvc291cmNld2FyZSBc
biBmdHA6Ly9zb3VyY2V3YXJlLm9yZy9wdWIgaHR0cDovL2Z0cC5nd2RnLmRlL3B1Yi9saW51eC9z
b3VyY2VzLnJlZGhhdC5jb20vc291cmNld2FyZSBcbiBjdnM6Ly8uKi8uKiAgICAgaHR0cDovL2Rv
d25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBzdm46Ly8uKi8uKiAg
ICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBn
aXQ6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9z
b3VyY2VzLyBcbiBoZzovLy4qLy4qICAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qu
b3JnL21pcnJvci9zb3VyY2VzLyBcbiBienI6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55
b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBwNDovLy4qLy4qICAgICAgaHR0cDov
L2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBvc2M6Ly8uKi8u
KiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBc
biBodHRwcz8kOi8vLiovLiogaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJv
ci9zb3VyY2VzLyBcbiBmdHA6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2pl
Y3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBucG06Ly8uKi8/LiogICAgaHR0cDovL2Rvd25sb2Fk
cy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBjdnM6Ly8uKi8uKiAgICAgaHR0
cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gc3ZuOi8vLiovLiogICAgIGh0dHA6Ly9z
b3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGdpdDovLy4qLy4qICAgICBodHRwOi8vc291cmNl
cy5vcGVuZW1iZWRkZWQub3JnLyBcbiBoZzovLy4qLy4qICAgICAgaHR0cDovL3NvdXJjZXMub3Bl
bmVtYmVkZGVkLm9yZy8gXG4gYnpyOi8vLiovLiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJl
ZGRlZC5vcmcvIFxuIHA0Oi8vLiovLiogICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQu
b3JnLyBcbiBvc2M6Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8g
XG4gaHR0cHM/JDovLy4qLy4qIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGZ0
cDovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBucG06Ly8u
Ki8/LiogICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gJHtDUEFOX01JUlJP
Un0gIGh0dHA6Ly9jcGFuLm1ldGFjcGFuLm9yZy8gXG4gJHtDUEFOX01JUlJPUn0gIGh0dHA6Ly9z
ZWFyY2guY3Bhbi5vcmcvQ1BBTi8gXG4gIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NsYXNzZXMvbWlycm9ycy5iYmNsYXNzOjc2CiMgICAgICJnaXQ6Ly9zYWxzYS5kZWJpYW4ub3Jn
Ly4qICAgICBnaXQ6Ly9zYWxzYS5kZWJpYW4ub3JnL1BBVEg7cHJvdG9jb2w9aHR0cHMgXG4gZ2l0
Oi8vZ2l0Lmdub21lLm9yZy8uKiAgICAgICAgZ2l0Oi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9Q
QVRIO3Byb3RvY29sPWh0dHBzIFxuIGdpdDovL2dpdC5zYXZhbm5haC5nbnUub3JnLy4qIGdpdDov
L2dpdC5zYXZhbm5haC5nbnUub3JnL2dpdC9QQVRIO3Byb3RvY29sPWh0dHBzIFxuIGdpdDovL2dp
dC55b2N0b3Byb2plY3Qub3JnLy4qIGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2dpdC9QQVRI
O3Byb3RvY29sPWh0dHBzIFxuIGdpdDovLy4qLy4qICAgICAgICAgICAgICAgICAgIGdpdDovL0hP
U1QvUEFUSDtwcm90b2NvbD1odHRwcyBcbiAiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIg
JHtERUJJQU5fTUlSUk9SfQlodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlh
bi8yMDE4MDMxMFQyMTUxMDVaL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vc25hcHNo
b3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi1hcmNoaXZlLzIwMTIwMzI4VDA5Mjc1MlovZGVi
aWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9h
cmNoaXZlL2RlYmlhbi1hcmNoaXZlLzIwMTEwMTI3VDA4NDI1N1ovZGViaWFuL3Bvb2wgXG4gJHtE
RUJJQU5fTUlSUk9SfQlodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi1h
cmNoaXZlLzIwMDkwODAyVDAwNDE1M1ovZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLmRlLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLmF1LmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLmNsLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLmhyLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLmZpLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLmhrLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLmh1LmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLmllLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLml0LmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLmpwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLm5vLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLnBsLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLnJvLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLnNpLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLmVzLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLnNlLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtERUJJQU5fTUlSUk9SfQlo
dHRwOi8vZnRwLnRyLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gJHtHTlVfTUlSUk9SfQlodHRw
czovL21pcnJvcnMua2VybmVsLm9yZy9nbnUgXG4gJHtLRVJORUxPUkdfTUlSUk9SfQlodHRwOi8v
d3d3Lmtlcm5lbC5vcmcvcHViIFxuICR7R05VUEdfTUlSUk9SfQlmdHA6Ly9mdHAuZ251cGcub3Jn
L2djcnlwdCBcbiAke0dOVVBHX01JUlJPUn0JZnRwOi8vZnRwLmZyYW5rZW4uZGUvcHViL2NyeXB0
L21pcnJvci9mdHAuZ251cGcub3JnL2djcnlwdCBcbiAke0dOVVBHX01JUlJPUn0JZnRwOi8vbWly
cm9ycy5kb3RzcmMub3JnL2djcnlwdCBcbiBmdHA6Ly9kYW50ZS5jdGFuLm9yZy90ZXgtYXJjaGl2
ZSBmdHA6Ly9mdHAuZnUtYmVybGluLmRlL3RleC9DVEFOIFxuIGZ0cDovL2RhbnRlLmN0YW4ub3Jn
L3RleC1hcmNoaXZlIGh0dHA6Ly9zdW5zaXRlLnN1dC5hYy5qcC9wdWIvYXJjaGl2ZXMvY3Rhbi8g
XG4gZnRwOi8vZGFudGUuY3Rhbi5vcmcvdGV4LWFyY2hpdmUgaHR0cDovL2N0YW4udW5zdy5lZHUu
YXUvIFxuIGZ0cDovL2Z0cC5nbnV0bHMub3JnL2djcnlwdC9nbnV0bHMgJHtHTlVQR19NSVJST1J9
L2dudXRscyBcbiBodHRwOi8vZnRwLmluZm8temlwLm9yZy9wdWIvaW5mb3ppcC9zcmMvIGh0dHA6
Ly9taXJyb3Iuc3dpdGNoLmNoL2Z0cC9taXJyb3IvaW5mb3ppcC9zcmMvIFxuIGh0dHA6Ly9mdHAu
aW5mby16aXAub3JnL3B1Yi9pbmZvemlwL3NyYy8gZnRwOi8vc3Vuc2l0ZS5pY20uZWR1LnBsL3B1
Yi91bml4L2FyY2hpdmluZy9pbmZvLXppcC9zcmMvIFxuIGh0dHA6Ly93d3cubWlycm9yc2Vydmlj
ZS5vcmcvc2l0ZXMvbHNvZi5pdGFwLnB1cmR1ZS5lZHUvcHViL3Rvb2xzL3VuaXgvbHNvZi8gaHR0
cDovL3d3dy5taXJyb3JzZXJ2aWNlLm9yZy9zaXRlcy9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIv
dG9vbHMvdW5peC9sc29mL09MRC8gXG4gJHtBUEFDSEVfTUlSUk9SfSAgaHR0cDovL3d3dy51cy5h
cGFjaGUub3JnL2Rpc3QgXG4gJHtBUEFDSEVfTUlSUk9SfSAgaHR0cDovL2FyY2hpdmUuYXBhY2hl
Lm9yZy9kaXN0IFxuIGh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3dhdGNoZG9nLyBo
dHRwOi8vZm9zc2llcy5vcmcvbGludXgvbWlzYy8gXG4gJHtTQVZBTk5BSF9HTlVfTUlSUk9SfSBo
dHRwOi8vZG93bmxvYWQtbWlycm9yLnNhdmFubmFoLmdudS5vcmcvcmVsZWFzZXMgXG4gJHtTQVZB
Tk5BSF9OT05HTlVfTUlSUk9SfSBodHRwOi8vZG93bmxvYWQtbWlycm9yLnNhdmFubmFoLm5vbmdu
dS5vcmcvcmVsZWFzZXMgXG4gZnRwOi8vc291cmNld2FyZS5vcmcvcHViIGh0dHA6Ly9taXJyb3Jz
Lmtlcm5lbC5vcmcvc291cmNld2FyZSBcbiBmdHA6Ly9zb3VyY2V3YXJlLm9yZy9wdWIgaHR0cDov
L2dkLnR1d2llbi5hYy5hdC9nbnUvc291cmNld2FyZSBcbiBmdHA6Ly9zb3VyY2V3YXJlLm9yZy9w
dWIgaHR0cDovL2Z0cC5nd2RnLmRlL3B1Yi9saW51eC9zb3VyY2VzLnJlZGhhdC5jb20vc291cmNl
d2FyZSBcbiBjdnM6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3Jn
L21pcnJvci9zb3VyY2VzLyBcbiBzdm46Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0
b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBnaXQ6Ly8uKi8uKiAgICAgaHR0cDovL2Rv
d25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBoZzovLy4qLy4qICAg
ICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBi
enI6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9z
b3VyY2VzLyBcbiBwNDovLy4qLy4qICAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qu
b3JnL21pcnJvci9zb3VyY2VzLyBcbiBvc2M6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55
b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBodHRwcz8kOi8vLiovLiogaHR0cDov
L2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBmdHA6Ly8uKi8u
KiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBc
biBucG06Ly8uKi8/LiogICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJv
ci9zb3VyY2VzLyBcbiBjdnM6Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVk
Lm9yZy8gXG4gc3ZuOi8vLiovLiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcv
IFxuIGdpdDovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBo
ZzovLy4qLy4qICAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gYnpyOi8v
LiovLiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIHA0Oi8vLiovLiog
ICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBvc2M6Ly8uKi8uKiAgICAg
aHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gaHR0cHM/JDovLy4qLy4qIGh0dHA6
Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGZ0cDovLy4qLy4qICAgICBodHRwOi8vc291
cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBucG06Ly8uKi8/LiogICAgaHR0cDovL3NvdXJjZXMu
b3BlbmVtYmVkZGVkLm9yZy8gXG4gJHtDUEFOX01JUlJPUn0gIGh0dHA6Ly9jcGFuLm1ldGFjcGFu
Lm9yZy8gXG4gJHtDUEFOX01JUlJPUn0gIGh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi8gXG4g
IGdpdDovL3NhbHNhLmRlYmlhbi5vcmcvLiogICAgIGdpdDovL3NhbHNhLmRlYmlhbi5vcmcvUEFU
SDtwcm90b2NvbD1odHRwcyBcbiBnaXQ6Ly9naXQuZ25vbWUub3JnLy4qICAgICAgICBnaXQ6Ly9n
aXRsYWIuZ25vbWUub3JnL0dOT01FL1BBVEg7cHJvdG9jb2w9aHR0cHMgXG4gZ2l0Oi8vZ2l0LnNh
dmFubmFoLmdudS5vcmcvLiogZ2l0Oi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0L1BBVEg7cHJv
dG9jb2w9aHR0cHMgXG4gZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvLiogZ2l0Oi8vZ2l0Lnlv
Y3RvcHJvamVjdC5vcmcvZ2l0L1BBVEg7cHJvdG9jb2w9aHR0cHMgXG4gZ2l0Oi8vLiovLiogICAg
ICAgICAgICAgICAgICAgZ2l0Oi8vSE9TVC9QQVRIO3Byb3RvY29sPWh0dHBzIFxuICIKTUlSUk9S
Uz0iIGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbAlodHRwOi8vc25hcHNob3QuZGVi
aWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE4MDMxMFQyMTUxMDVaL3Bvb2wgXG4gaHR0cDovL2Z0
cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hp
dmUvZGViaWFuLWFyY2hpdmUvMjAxMjAzMjhUMDkyNzUyWi9kZWJpYW4vcG9vbCBcbiBodHRwOi8v
ZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJj
aGl2ZS9kZWJpYW4tYXJjaGl2ZS8yMDExMDEyN1QwODQyNTdaL2RlYmlhbi9wb29sIFxuIGh0dHA6
Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbAlodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9h
cmNoaXZlL2RlYmlhbi1hcmNoaXZlLzIwMDkwODAyVDAwNDE1M1ovZGViaWFuL3Bvb2wgXG4gaHR0
cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWh0dHA6Ly9mdHAuZGUuZGViaWFuLm9yZy9k
ZWJpYW4vcG9vbCBcbiBodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL2Z0
cC5hdS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJp
YW4vcG9vbAlodHRwOi8vZnRwLmNsLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gaHR0cDovL2Z0
cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29sCWh0dHA6Ly9mdHAuaHIuZGViaWFuLm9yZy9kZWJpYW4v
cG9vbCBcbiBodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL2Z0cC5maS5k
ZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxuIGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9v
bAlodHRwOi8vZnRwLmhrLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gaHR0cDovL2Z0cC5kZWJp
YW4ub3JnL2RlYmlhbi9wb29sCWh0dHA6Ly9mdHAuaHUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBc
biBodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL2Z0cC5pZS5kZWJpYW4u
b3JnL2RlYmlhbi9wb29sIFxuIGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbAlodHRw
Oi8vZnRwLml0LmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gaHR0cDovL2Z0cC5kZWJpYW4ub3Jn
L2RlYmlhbi9wb29sCWh0dHA6Ly9mdHAuanAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBcbiBodHRw
Oi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL2Z0cC5uby5kZWJpYW4ub3JnL2Rl
Ymlhbi9wb29sIFxuIGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbAlodHRwOi8vZnRw
LnBsLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlh
bi9wb29sCWh0dHA6Ly9mdHAucm8uZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBcbiBodHRwOi8vZnRw
LmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL2Z0cC5zaS5kZWJpYW4ub3JnL2RlYmlhbi9w
b29sIFxuIGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbAlodHRwOi8vZnRwLmVzLmRl
Ymlhbi5vcmcvZGViaWFuL3Bvb2wgXG4gaHR0cDovL2Z0cC5kZWJpYW4ub3JnL2RlYmlhbi9wb29s
CWh0dHA6Ly9mdHAuc2UuZGViaWFuLm9yZy9kZWJpYW4vcG9vbCBcbiBodHRwOi8vZnRwLmRlYmlh
bi5vcmcvZGViaWFuL3Bvb2wJaHR0cDovL2Z0cC50ci5kZWJpYW4ub3JnL2RlYmlhbi9wb29sIFxu
IGh0dHBzOi8vZnRwLmdudS5vcmcvZ251CWh0dHBzOi8vbWlycm9ycy5rZXJuZWwub3JnL2dudSBc
biBodHRwczovL2Nkbi5rZXJuZWwub3JnL3B1YglodHRwOi8vd3d3Lmtlcm5lbC5vcmcvcHViIFxu
IGh0dHBzOi8vd3d3LmdudXBnLm9yZy9mdHAvZ2NyeXB0CWZ0cDovL2Z0cC5nbnVwZy5vcmcvZ2Ny
eXB0IFxuIGh0dHBzOi8vd3d3LmdudXBnLm9yZy9mdHAvZ2NyeXB0CWZ0cDovL2Z0cC5mcmFua2Vu
LmRlL3B1Yi9jcnlwdC9taXJyb3IvZnRwLmdudXBnLm9yZy9nY3J5cHQgXG4gaHR0cHM6Ly93d3cu
Z251cGcub3JnL2Z0cC9nY3J5cHQJZnRwOi8vbWlycm9ycy5kb3RzcmMub3JnL2djcnlwdCBcbiBm
dHA6Ly9kYW50ZS5jdGFuLm9yZy90ZXgtYXJjaGl2ZSBmdHA6Ly9mdHAuZnUtYmVybGluLmRlL3Rl
eC9DVEFOIFxuIGZ0cDovL2RhbnRlLmN0YW4ub3JnL3RleC1hcmNoaXZlIGh0dHA6Ly9zdW5zaXRl
LnN1dC5hYy5qcC9wdWIvYXJjaGl2ZXMvY3Rhbi8gXG4gZnRwOi8vZGFudGUuY3Rhbi5vcmcvdGV4
LWFyY2hpdmUgaHR0cDovL2N0YW4udW5zdy5lZHUuYXUvIFxuIGZ0cDovL2Z0cC5nbnV0bHMub3Jn
L2djcnlwdC9nbnV0bHMgaHR0cHM6Ly93d3cuZ251cGcub3JnL2Z0cC9nY3J5cHQvZ251dGxzIFxu
IGh0dHA6Ly9mdHAuaW5mby16aXAub3JnL3B1Yi9pbmZvemlwL3NyYy8gaHR0cDovL21pcnJvci5z
d2l0Y2guY2gvZnRwL21pcnJvci9pbmZvemlwL3NyYy8gXG4gaHR0cDovL2Z0cC5pbmZvLXppcC5v
cmcvcHViL2luZm96aXAvc3JjLyBmdHA6Ly9zdW5zaXRlLmljbS5lZHUucGwvcHViL3VuaXgvYXJj
aGl2aW5nL2luZm8temlwL3NyYy8gXG4gaHR0cDovL3d3dy5taXJyb3JzZXJ2aWNlLm9yZy9zaXRl
cy9sc29mLml0YXAucHVyZHVlLmVkdS9wdWIvdG9vbHMvdW5peC9sc29mLyBodHRwOi8vd3d3Lm1p
cnJvcnNlcnZpY2Uub3JnL3NpdGVzL2xzb2YuaXRhcC5wdXJkdWUuZWR1L3B1Yi90b29scy91bml4
L2xzb2YvT0xELyBcbiBodHRwczovL2FyY2hpdmUuYXBhY2hlLm9yZy9kaXN0ICBodHRwOi8vd3d3
LnVzLmFwYWNoZS5vcmcvZGlzdCBcbiBodHRwczovL2FyY2hpdmUuYXBhY2hlLm9yZy9kaXN0ICBo
dHRwOi8vYXJjaGl2ZS5hcGFjaGUub3JnL2Rpc3QgXG4gaHR0cDovL2Rvd25sb2Fkcy5zb3VyY2Vm
b3JnZS5uZXQvd2F0Y2hkb2cvIGh0dHA6Ly9mb3NzaWVzLm9yZy9saW51eC9taXNjLyBcbiBodHRw
czovL2Rvd25sb2FkLnNhdmFubmFoLmdudS5vcmcvcmVsZWFzZXMgaHR0cDovL2Rvd25sb2FkLW1p
cnJvci5zYXZhbm5haC5nbnUub3JnL3JlbGVhc2VzIFxuIGh0dHBzOi8vZG93bmxvYWQuc2F2YW5u
YWgubm9uZ251Lm9yZy9yZWxlYXNlcyBodHRwOi8vZG93bmxvYWQtbWlycm9yLnNhdmFubmFoLm5v
bmdudS5vcmcvcmVsZWFzZXMgXG4gZnRwOi8vc291cmNld2FyZS5vcmcvcHViIGh0dHA6Ly9taXJy
b3JzLmtlcm5lbC5vcmcvc291cmNld2FyZSBcbiBmdHA6Ly9zb3VyY2V3YXJlLm9yZy9wdWIgaHR0
cDovL2dkLnR1d2llbi5hYy5hdC9nbnUvc291cmNld2FyZSBcbiBmdHA6Ly9zb3VyY2V3YXJlLm9y
Zy9wdWIgaHR0cDovL2Z0cC5nd2RnLmRlL3B1Yi9saW51eC9zb3VyY2VzLnJlZGhhdC5jb20vc291
cmNld2FyZSBcbiBjdnM6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qu
b3JnL21pcnJvci9zb3VyY2VzLyBcbiBzdm46Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55
b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBnaXQ6Ly8uKi8uKiAgICAgaHR0cDov
L2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBoZzovLy4qLy4q
ICAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBc
biBienI6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJv
ci9zb3VyY2VzLyBcbiBwNDovLy4qLy4qICAgICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2pl
Y3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBvc2M6Ly8uKi8uKiAgICAgaHR0cDovL2Rvd25sb2Fk
cy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBodHRwcz9cJDovLy4qLy4qIGh0
dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gZnRwOi8v
LiovLiogICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNl
cy8gXG4gbnBtOi8vLiovPy4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9t
aXJyb3Ivc291cmNlcy8gXG4gY3ZzOi8vLiovLiogICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJl
ZGRlZC5vcmcvIFxuIHN2bjovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQu
b3JnLyBcbiBnaXQ6Ly8uKi8uKiAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8g
XG4gaGc6Ly8uKi8uKiAgICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGJ6
cjovLy4qLy4qICAgICBodHRwOi8vc291cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBwNDovLy4q
Ly4qICAgICAgaHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gb3NjOi8vLiovLiog
ICAgIGh0dHA6Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIGh0dHBzP1wkOi8vLiovLiog
aHR0cDovL3NvdXJjZXMub3BlbmVtYmVkZGVkLm9yZy8gXG4gZnRwOi8vLiovLiogICAgIGh0dHA6
Ly9zb3VyY2VzLm9wZW5lbWJlZGRlZC5vcmcvIFxuIG5wbTovLy4qLz8uKiAgICBodHRwOi8vc291
cmNlcy5vcGVuZW1iZWRkZWQub3JnLyBcbiBodHRwczovL3NlYXJjaC5jcGFuLm9yZy9DUEFOICBo
dHRwOi8vY3Bhbi5tZXRhY3Bhbi5vcmcvIFxuIGh0dHBzOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4g
IGh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi8gXG4gIGdpdDovL3NhbHNhLmRlYmlhbi5vcmcv
LiogICAgIGdpdDovL3NhbHNhLmRlYmlhbi5vcmcvUEFUSDtwcm90b2NvbD1odHRwcyBcbiBnaXQ6
Ly9naXQuZ25vbWUub3JnLy4qICAgICAgICBnaXQ6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL1BB
VEg7cHJvdG9jb2w9aHR0cHMgXG4gZ2l0Oi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvLiogZ2l0Oi8v
Z2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0L1BBVEg7cHJvdG9jb2w9aHR0cHMgXG4gZ2l0Oi8vZ2l0
LnlvY3RvcHJvamVjdC5vcmcvLiogZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvZ2l0L1BBVEg7
cHJvdG9jb2w9aHR0cHMgXG4gZ2l0Oi8vLiovLiogICAgICAgICAgICAgICAgICAgZ2l0Oi8vSE9T
VC9QQVRIO3Byb3RvY29sPWh0dHBzIFxuICIKIwojICRNTFBSRUZJWCBbMiBvcGVyYXRpb25zXQoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI4Mwoj
ICAgICBbZG9jXSAiU3BlY2lmaWVzIGEgcHJlZml4IGhhcyBiZWVuIGFkZGVkIHRvIFBOIHRvIGNy
ZWF0ZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiBhIHJlY2lwZSBvciBwYWNrYWdlLCBzdWNoIGFzIGEg
TXVsdGlsaWIgdmVyc2lvbi4iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6ODkwCiMgICAgIFtfZGVmYXVsdHZhbF0gIiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIiIKTUxQUkVGSVg9IiIKIwojICRNT0RVTEVfVEFSQkFMTF9ERVBMT1kKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyODQKIyAgICAgW2Rv
Y10gIkNvbnRyb2xzIGNyZWF0aW9uIG9mIHRoZSBtb2R1bGVzLSoudGd6IGZpbGUuIFNldCB0aGlz
IHZhcmlhYmxlIHRvICIwIiB0byBkaXNhYmxlIGNyZWF0aW9uIG9mIHRoaXMgZmlsZSwgd2hpY2gg
Y29udGFpbnMgYWxsIG9mIHRoZSBrZXJuZWwgbW9kdWxlcyByZXN1bHRpbmcgZnJvbSBhIGtlcm5l
bCBidWlsZC4iCiMKIyAkTVVMVElMSUJfVkFSSUFOVFMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo4OTEKIyAgICAgW19kZWZhdWx0dmFsXSAiIgpNVUxUSUxJ
Ql9WQVJJQU5UUz0iIgojCiMgJE1VTFRJTUFDSF9UQVJHRVRfU1lTIFsyIG9wZXJhdGlvbnNdCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTU4CiMgICAgICIk
e1BBQ0tBR0VfQVJDSH0ke1RBUkdFVF9WRU5ET1J9LSR7VEFSR0VUX09TfSIKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyODUKIyAgICAgW2RvY10g
IlNlcGFyYXRlcyBmaWxlcyBmb3IgZGlmZmVyZW50IG1hY2hpbmVzIHN1Y2ggdGhhdCB5b3UgY2Fu
IGJ1aWxkIGZvciBtdWx0aXBsZSB0YXJnZXQgbWFjaGluZXMgdXNpbmcgdGhlIHNhbWUgb3V0cHV0
IGRpcmVjdG9yaWVzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7UEFDS0FHRV9BUkNI
fSR7VEFSR0VUX1ZFTkRPUn0tJHtUQVJHRVRfT1N9IgpNVUxUSU1BQ0hfVEFSR0VUX1NZUz0iY29y
ZTItNjQtcG9reS1saW51eCIKIwojICRNVUxUSV9QUk9WSURFUl9XSElURUxJU1QKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNzgKIyAgICAgInZpcnR1YWwv
bGliaW50bCB2aXJ0dWFsL2xpYmludGwtbmF0aXZlIHZpcnR1YWwvbmF0aXZlc2RrLWxpYmludGwg
dmlydHVhbC94c2VydmVyIHZpcnR1YWwvdXBkYXRlLWFsdGVybmF0aXZlcy1uYXRpdmUgdmlydHVh
bC91cGRhdGUtYWx0ZXJuYXRpdmVzIgpNVUxUSV9QUk9WSURFUl9XSElURUxJU1Q9InZpcnR1YWwv
bGliaW50bCB2aXJ0dWFsL2xpYmludGwtbmF0aXZlIHZpcnR1YWwvbmF0aXZlc2RrLWxpYmludGwg
dmlydHVhbC94c2VydmVyIHZpcnR1YWwvdXBkYXRlLWFsdGVybmF0aXZlcy1uYXRpdmUgdmlydHVh
bC91cGRhdGUtYWx0ZXJuYXRpdmVzIgojCiMgJE5BVElWRUxTQlNUUklORyBbMyBvcGVyYXRpb25z
XQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI4
OQojICAgICBbZG9jXSAiQSBzdHJpbmcgaWRlbnRpZnlpbmcgdGhlIGhvc3QgZGlzdHJpYnV0aW9u
LiIKIyAgIHNldCBiYXNlLmJiY2xhc3M6MjM1IFtiYXNlX2V2ZW50aGFuZGxlcl0KIyAgICAgInVi
dW50dS0xOS4wNCIKIyAgIHNldCB1bmluYXRpdmUuYmJjbGFzczoxMzAgW2VuYWJsZV91bmluYXRp
dmVdCiMgICAgICJ1bml2ZXJzYWwiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJ1bml2ZXJz
YWwiCk5BVElWRUxTQlNUUklORz0idW5pdmVyc2FsIgojCiMgJE5NIFsyIG9wZXJhdGlvbnNdCiMg
ICBleHBvcnRlZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MzEKIyAg
ICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NTMxCiMgICAgICIke0hPU1RfUFJFRklYfW5tIgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiJHtIT1NUX1BSRUZJWH1ubSIKZXhwb3J0IE5NPSJ4ODZfNjQtcG9reS1saW51eC1ubSIK
IwojICROTzMyTElCUwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzoyOAojICAgICBbX2RlZmF1bHR2YWxdICIxIgpO
TzMyTElCUz0iMSIKIwojICROT19SRUNPTU1FTkRBVElPTlMgWzIgb3BlcmF0aW9uc10KIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyOTAKIyAgICAg
W2RvY10gIldoZW4gc2V0IHRvICcxJywgbm8gcmVjb21tZW5kZWQgcGFja2FnZXMgd2lsbCBiZSBp
bnN0YWxsZWQuIFJlYWxpemUgdGhhdCBzb21lIHJlY29tbWVuZGVkIHBhY2thZ2VzIG1pZ2h0IGJl
IHJlcXVpcmVkIGZvciBjZXJ0YWluIHN5c3RlbSBmdW5jdGlvbmFsaXR5LCBzdWNoIGFzIGtlcm5l
bC1tb2R1bGVzLiBJdCBpcyB1cCB0byB0aGUgdXNlciB0byBhZGQgcGFja2FnZXMgdG8gSU1BR0Vf
SU5TVEFMTCBhcyBuZWVkZWQuIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjgzOQojICAgICBbX2RlZmF1bHR2YWxdICIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICIiCk5PX1JFQ09NTUVOREFUSU9OUz0iIgojCiMgJE9CSkNPUFkgWzIgb3BlcmF0aW9u
c10KIyAgIGV4cG9ydGVkIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUy
OAojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo1MjgKIyAgICAgIiR7SE9TVF9QUkVGSVh9b2JqY29weSIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgIiR7SE9TVF9QUkVGSVh9b2JqY29weSIKZXhwb3J0IE9CSkNPUFk9Ing4
Nl82NC1wb2t5LWxpbnV4LW9iamNvcHkiCiMKIyAkT0JKRFVNUCBbMiBvcGVyYXRpb25zXQojICAg
ZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTI5CiMgICAg
IFtleHBvcnRdICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjUyOQojICAgICAiJHtIT1NUX1BSRUZJWH1vYmpkdW1wIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtIT1NUX1BSRUZJWH1vYmpkdW1wIgpleHBvcnQgT0JKRFVNUD0ieDg2XzY0LXBv
a3ktbGludXgtb2JqZHVtcCIKIwojICRPRUlOQ0xVREVMT0dTCiMgICBzZXQ/IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYzozCiMg
ICAgICJ5ZXMiCk9FSU5DTFVERUxPR1M9InllcyIKIwojICRPRUxBWU9VVF9BQkkgWzIgb3BlcmF0
aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2FiaV92ZXJzaW9uLmNvbmY6
NwojICAgICAiMTIiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ry
by9wb2t5LmNvbmY6NzMKIyAgICAgIjEyIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiMTIi
Ck9FTEFZT1VUX0FCST0iMTIiCiMKIyAkT0VST09UCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mjk3CiMgICAgIFtkb2NdICJUaGUgZGlyZWN0b3J5
IGZyb20gd2hpY2ggdGhlIHRvcC1sZXZlbCBidWlsZCBlbnZpcm9ubWVudCBzZXR1cCBzY3JpcHQg
aXMgc291cmNlZC4iCiMKIyAkT0VTX0JJVEJBS0VfQ09ORgojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjgwMQojICAgICAiMSIKT0VTX0JJVEJBS0VfQ09ORj0i
MSIKIwojICRPRV9CSU5DT05GSUdfRVhUUkFfTUFOR0xFCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mjk0CiMgICAgIFtkb2NdICJXaGVuIGEgcmVj
aXBlIGluaGVyaXRzIHRoZSBiaW5jb25maWcuYmJjbGFzcyBjbGFzcywgdGhpcyB2YXJpYWJsZSBz
cGVjaWZpZXMgYWRkaXRpb25hbCBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSAic2VkIiBjb21tYW5k
LiIKIwojICRPRV9FWFRSQV9JTVBPUlRTCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2Ns
YXNzZXMvYmFzZS5iYmNsYXNzOjEzCiMgICAgICIiCk9FX0VYVFJBX0lNUE9SVFM9IiIKIwojICRP
RV9JTVBPUlRFRAojICAgaW1tZWRpYXRlIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvYmFz
ZS5iYmNsYXNzOjQzCiMgICAgICIke0BvZV9pbXBvcnQoZCl9IgpPRV9JTVBPUlRFRD0iIgojCiMg
JE9FX0lNUE9SVFMgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjoyOTUKIyAgICAgW2RvY10gIkFuIGludGVybmFsIHZhcmlh
YmxlIHVzZWQgdG8gdGVsbCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSB3aGF0IFB5dGhv
biBtb2R1bGVzIHRvIGltcG9ydCBmb3IgZXZlcnkgUHl0aG9uIGZ1bmN0aW9uIHJ1biBieSB0aGUg
c3lzdGVtLiIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJj
bGFzczoxNQojICAgICAib3Mgc3lzIHRpbWUgb2UucGF0aCBvZS51dGlscyBvZS50eXBlcyBvZS5w
YWNrYWdlIG9lLnBhY2thZ2Vncm91cCBvZS5zc3RhdGVzaWcgb2UubHNiIG9lLmNhY2hlZHBhdGgg
b2UubGljZW5zZSAke09FX0VYVFJBX0lNUE9SVFN9IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzOjE2CiMgICAgIFt0eXBlXSAibGlzdCIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiBvcyBzeXMgdGltZSBvZS5wYXRoIG9lLnV0aWxzIG9lLnR5cGVz
IG9lLnBhY2thZ2Ugb2UucGFja2FnZWdyb3VwIG9lLnNzdGF0ZXNpZyBvZS5sc2Igb2UuY2FjaGVk
cGF0aCBvZS5saWNlbnNlICR7T0VfRVhUUkFfSU1QT1JUU30iCk9FX0lNUE9SVFM9IiBvcyBzeXMg
dGltZSBvZS5wYXRoIG9lLnV0aWxzIG9lLnR5cGVzIG9lLnBhY2thZ2Ugb2UucGFja2FnZWdyb3Vw
IG9lLnNzdGF0ZXNpZyBvZS5sc2Igb2UuY2FjaGVkcGF0aCBvZS5saWNlbnNlICIKIwojICRPRV9U
RVJNSU5BTCBbNCBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZG9jdW1lbnRhdGlvbi5jb25mOjI5NgojICAgICBbZG9jXSAiQ29udHJvbHMgaG93IHRoZSBPcGVu
RW1iZWRkZWQgYnVpbGQgc3lzdGVtIHNwYXducyBpbnRlcmFjdGl2ZSB0ZXJtaW5hbHMgb24gdGhl
IGhvc3QgZGV2ZWxvcG1lbnQgc3lzdGVtLiIKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEv
Y2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzOjEKIyAgICAgImF1dG8iCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzOjIKIyAgICAgW3R5cGVdICJjaG9p
Y2UiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNz
OjQKIyAgICAgW2Nob2ljZXNdICJhdXRvIG5vbmUgICAgICAgICAgICAgICAgICAgICAgICAgJHtA
b2VfdGVybWluYWxfcHJpb3JpdGl6ZWQoKX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJh
dXRvIgpPRV9URVJNSU5BTD0iYXV0byIKIwojICRPRV9URVJNSU5BTF9FWFBPUlRTIFsyIG9wZXJh
dGlvbnNdCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5i
YmNsYXNzOjYKIyAgICAgIkVYVFJBX09FTUFLRSBDQUNIRURfQ09ORklHVVJFVkFSUyBDT05GSUdV
UkVPUFRTIEVYVFJBX09FQ09ORiIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2Vz
L3Rlcm1pbmFsLmJiY2xhc3M6NwojICAgICBbdHlwZV0gImxpc3QiCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIgRVhUUkFfT0VNQUtFIENBQ0hFRF9DT05GSUdVUkVWQVJTIENPTkZJR1VSRU9Q
VFMgRVhUUkFfT0VDT05GIgpPRV9URVJNSU5BTF9FWFBPUlRTPSIgRVhUUkFfT0VNQUtFIENBQ0hF
RF9DT05GSUdVUkVWQVJTIENPTkZJR1VSRU9QVFMgRVhUUkFfT0VDT05GIgojCiMgJE9MREVTVF9L
RVJORUwgWzYgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo0MjkKIyAgICAgIjMuMi4wIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI5OAojICAgICBbZG9jXSAiRGVjbGFyZXMgdGhlIG9s
ZGVzdCB2ZXJzaW9uIG9mIHRoZSBMaW51eCBrZXJuZWwgdGhhdCB0aGUgcHJvZHVjZWQgYmluYXJp
ZXMgbXVzdCBzdXBwb3J0LiIKIyAgIG92ZXJyaWRlW2FhcmNoNjRdOnNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0MzAKIyAgICAgIjMuMTQiCiMgICBvdmVycmlkZVtu
aW9zMl06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQzMQojICAg
ICAiMy4xOSIKIyAgIG92ZXJyaWRlW3Jpc2N2MzJdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo0MzIKIyAgICAgIjQuMTUiCiMgICBvdmVycmlkZVtyaXNjdjY0XTpz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDMzCiMgICAgICI0LjE1
IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiMy4yLjAiCk9MREVTVF9LRVJORUw9IjMuMi4w
IgojCiMgJE9MREVTVF9LRVJORUxfYWFyY2g2NAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjQzMAojICAgICAiMy4xNCIKT0xERVNUX0tFUk5FTF9hYXJjaDY0
PSIzLjE0IgojCiMgJE9MREVTVF9LRVJORUxfbmlvczIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo0MzEKIyAgICAgIjMuMTkiCk9MREVTVF9LRVJORUxfbmlv
czI9IjMuMTkiCiMKIyAkT0xERVNUX0tFUk5FTF9yaXNjdjMyCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDMyCiMgICAgICI0LjE1IgpPTERFU1RfS0VSTkVM
X3Jpc2N2MzI9IjQuMTUiCiMKIyAkT0xERVNUX0tFUk5FTF9yaXNjdjY0CiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDMzCiMgICAgICI0LjE1IgpPTERFU1Rf
S0VSTkVMX3Jpc2N2NjQ9IjQuMTUiCiMKIyAkT1ZFUlJJREVTIFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzM3CiMgICAgICIke1RB
UkdFVF9PU306JHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfTpwbi0ke1BOfToke01BQ0hJTkVPVkVS
UklERVN9OiR7RElTVFJPT1ZFUlJJREVTfToke0NMQVNTT1ZFUlJJREV9JHtMSUJDT1ZFUlJJREV9
OmZvcmNldmFyaWFibGUiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6Mjk5CiMgICAgIFtkb2NdICJCaXRCYWtlIHVzZXMgT1ZFUlJJREVTIHRvIGNv
bnRyb2wgd2hhdCB2YXJpYWJsZXMgYXJlIG92ZXJyaWRkZW4gYWZ0ZXIgQml0QmFrZSBwYXJzZXMg
cmVjaXBlcyBhbmQgY29uZmlndXJhdGlvbiBmaWxlcy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIke1RBUkdFVF9PU306JHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfTpwbi0ke1BOfToke01B
Q0hJTkVPVkVSUklERVN9OiR7RElTVFJPT1ZFUlJJREVTfToke0NMQVNTT1ZFUlJJREV9JHtMSUJD
T1ZFUlJJREV9OmZvcmNldmFyaWFibGUiCk9WRVJSSURFUz0ibGludXg6eDg2LTY0OnBuLWV4YW1w
bGU6cWVtdWFsbDpxZW11eDg2LTY0OnBva3k6Y2xhc3MtdGFyZ2V0OmxpYmMtZ2xpYmM6Zm9yY2V2
YXJpYWJsZSIKIwojICRQIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6MjA4CiMgICAgICIke1BOfS0ke1BWfSIKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMDMKIyAgICAgW2RvY10g
IlRoZSByZWNpcGUgbmFtZSBhbmQgdmVyc2lvbi4gUCBpcyBjb21wcmlzZWQgb2YgJHtQTn0tJHtQ
Vn0uIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtQTn0tJHtQVn0iClA9ImV4YW1wbGUt
MC4xIgojCiMgJFBBQ0tBR0VCVUlMRFBLR0QKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEv
Y2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3M6MjE0MgojICAgICAiICAgICAgICAgICAgICAgICBwYWNr
YWdlX3ByZXBhcmVfcGtnZGF0YSAgICAgICAgICAgICAgICAgcGVyZm9ybV9wYWNrYWdlY29weSAg
ICAgICAgICAgICAgICAgJHtQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1N9ICAgICAgICAgICAgICAg
ICBzcGxpdF9hbmRfc3RyaXBfZmlsZXMgICAgICAgICAgICAgICAgIGZpeHVwX3Blcm1zICAgICAg
ICAgICAgICAgICAiClBBQ0tBR0VCVUlMRFBLR0Q9IiAgICAgICAgICAgICAgICAgcGFja2FnZV9w
cmVwYXJlX3BrZ2RhdGEgICAgICAgICAgICAgICAgIHBlcmZvcm1fcGFja2FnZWNvcHkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BsaXRfYW5kX3N0cmlwX2ZpbGVzICAgICAgICAg
ICAgICAgICBmaXh1cF9wZXJtcyAgICAgICAgICAgICAgICAgIgojCiMgJFBBQ0tBR0VDT05GSUcg
WzIgb3BlcmF0aW9uc10KIyAgIF9hcHBlbmRbcG4tcWVtdS1zeXN0ZW0tbmF0aXZlXSAvaG9tZS91
c2VyL3Bva3kvYnVpbGQvY29uZi9sb2NhbC5jb25mOjI0MgojICAgICAiIHNkbCIKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMTMKIyAgICAgW2Rv
Y10gIlRoaXMgdmFyaWFibGUgcHJvdmlkZXMgYSBtZWFucyBvZiBlbmFibGluZyBvciBkaXNhYmxp
bmcgZmVhdHVyZXMgb2YgYSByZWNpcGUgb24gYSBwZXItcmVjaXBlIGJhc2lzLiIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiIKUEFDS0FHRUNPTkZJRz0iIgojCiMgJFBBQ0tBR0VDT05GSUdf
Q09ORkFSR1MKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFz
czoxOAojICAgICBbX2RlZmF1bHR2YWxdICIiClBBQ0tBR0VDT05GSUdfQ09ORkFSR1M9IiIKIwoj
ICRQQUNLQUdFRlVOQ1MKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3Bh
Y2thZ2UuYmJjbGFzczoyMTU2CiMgICAgICIgICAgICAgICAgICAgICAgIHBhY2thZ2VfZml4c3lt
bGlua3MgICAgICAgICAgICAgICAgIHBhY2thZ2VfbmFtZV9ob29rICAgICAgICAgICAgICAgICBw
YWNrYWdlX2RvX2ZpbGVkZXBzICAgICAgICAgICAgICAgICBwYWNrYWdlX2RvX3NobGlicyAgICAg
ICAgICAgICAgICAgcGFja2FnZV9kb19wa2djb25maWcgICAgICAgICAgICAgICAgIHJlYWRfc2hs
aWJkZXBzICAgICAgICAgICAgICAgICBwYWNrYWdlX2RlcGNoYWlucyAgICAgICAgICAgICAgICAg
ZW1pdF9wa2dkYXRhIgpQQUNLQUdFRlVOQ1M9IiAgICAgICAgICAgICAgICAgIHBhY2thZ2VfZml4
c3ltbGlua3MgICAgICAgICAgICAgICAgIHBhY2thZ2VfbmFtZV9ob29rICAgICAgICAgICAgICAg
ICBwYWNrYWdlX2RvX2ZpbGVkZXBzICAgICAgICAgICAgICAgICBwYWNrYWdlX2RvX3NobGlicyAg
ICAgICAgICAgICAgICAgcGFja2FnZV9kb19wa2djb25maWcgICAgICAgICAgICAgICAgIHJlYWRf
c2hsaWJkZXBzICAgICAgICAgICAgICAgICBwYWNrYWdlX2RlcGNoYWlucyAgICAgICAgICAgICAg
ICAgZW1pdF9wa2dkYXRhIgojCiMgJFBBQ0tBR0VJTkRFWERFUFMgWzIgb3BlcmF0aW9uc10KIyAg
IGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfcnBtLmJiY2xhc3M6
NzQ2CiMgICAgICJycG0tbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiCiMgICBhcHBlbmQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzOjc0NwojICAgICAi
Y3JlYXRlcmVwby1jLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiIHJwbS1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCBjcmVhdGVyZXBvLWMt
bmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiClBBQ0tBR0VJTkRFWERFUFM9IiBycG0tbmF0aXZl
OmRvX3BvcHVsYXRlX3N5c3Jvb3QgY3JlYXRlcmVwby1jLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNy
b290IgojCiMgJFBBQ0tBR0VTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjkyCiMgICAgICIke1BOfS1zcmMgJHtQTn0tZGJnICR7
UE59LXN0YXRpY2RldiAke1BOfS1kZXYgJHtQTn0tZG9jICR7UE59LWxvY2FsZSAke1BBQ0tBR0Vf
QkVGT1JFX1BOfSAke1BOfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjozMTQKIyAgICAgW2RvY10gIlRoZSBsaXN0IG9mIHBhY2thZ2VzIHRvIGJl
IGNyZWF0ZWQgZnJvbSB0aGUgcmVjaXBlLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7
UE59LXNyYyAke1BOfS1kYmcgJHtQTn0tc3RhdGljZGV2ICR7UE59LWRldiAke1BOfS1kb2MgJHtQ
Tn0tbG9jYWxlICR7UEFDS0FHRV9CRUZPUkVfUE59ICR7UE59IgpQQUNLQUdFUz0iZXhhbXBsZS1z
cmMgZXhhbXBsZS1kYmcgZXhhbXBsZS1zdGF0aWNkZXYgZXhhbXBsZS1kZXYgZXhhbXBsZS1kb2Mg
ZXhhbXBsZS1sb2NhbGUgIGV4YW1wbGUiCiMKIyAkUEFDS0FHRVNQTElURlVOQ1MKIyAgIHNldD8g
L2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3M6MjE0NgojICAgICAi
ICAgICAgICAgICAgICAgICBwYWNrYWdlX2RvX3NwbGl0X2xvY2FsZXMgICAgICAgICAgICAgICAg
IHBvcHVsYXRlX3BhY2thZ2VzIgpQQUNLQUdFU1BMSVRGVU5DUz0iICAgICAgICAgICAgICAgICBw
YWNrYWdlX2RvX3NwbGl0X2xvY2FsZXMgICAgICAgICAgICAgICAgIHBvcHVsYXRlX3BhY2thZ2Vz
IgojCiMgJFBBQ0tBR0VTX0RZTkFNSUMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyOTMKIyAgICAgIl4ke1BOfS1sb2NhbGUtLioi
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzE1
CiMgICAgIFtkb2NdICJBIHByb21pc2UgdGhhdCB5b3VyIHJlY2lwZSBzYXRpc2ZpZXMgcnVudGlt
ZSBkZXBlbmRlbmNpZXMgZm9yIG9wdGlvbmFsIG1vZHVsZXMgdGhhdCBhcmUgZm91bmQgaW4gb3Ro
ZXIgcmVjaXBlcy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJeJHtQTn0tbG9jYWxlLS4q
IgpQQUNLQUdFU19EWU5BTUlDPSJeZXhhbXBsZS1sb2NhbGUtLioiCiMKIyAkUEFDS0FHRVZBUlMK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzczoyMTE5
CiMgICAgICJGSUxFUyBSREVQRU5EUyBSUkVDT01NRU5EUyBTVU1NQVJZIERFU0NSSVBUSU9OIFJT
VUdHRVNUUyBSUFJPVklERVMgUkNPTkZMSUNUUyBQS0cgQUxMT1dfRU1QVFkgcGtnX3Bvc3RpbnN0
IHBrZ19wb3N0cm0gcGtnX3Bvc3RpbnN0X29udGFyZ2V0IElOSVRTQ1JJUFRfTkFNRSBJTklUU0NS
SVBUX1BBUkFNUyBERUJJQU5fTk9BVVRPTkFNRSBBTFRFUk5BVElWRSBQS0dFIFBLR1YgUEtHUiBV
U0VSQUREX1BBUkFNIEdST1VQQUREX1BBUkFNIENPTkZGSUxFUyBTWVNURU1EX1NFUlZJQ0UgTElD
RU5TRSBTRUNUSU9OIHBrZ19wcmVpbnN0IHBrZ19wcmVybSBSUkVQTEFDRVMgR1JPVVBNRU1TX1BB
UkFNIFNZU1RFTURfQVVUT19FTkFCTEUgU0tJUF9GSUxFREVQUyBQUklWQVRFX0xJQlMiClBBQ0tB
R0VWQVJTPSJGSUxFUyBSREVQRU5EUyBSUkVDT01NRU5EUyBTVU1NQVJZIERFU0NSSVBUSU9OIFJT
VUdHRVNUUyBSUFJPVklERVMgUkNPTkZMSUNUUyBQS0cgQUxMT1dfRU1QVFkgcGtnX3Bvc3RpbnN0
IHBrZ19wb3N0cm0gcGtnX3Bvc3RpbnN0X29udGFyZ2V0IElOSVRTQ1JJUFRfTkFNRSBJTklUU0NS
SVBUX1BBUkFNUyBERUJJQU5fTk9BVVRPTkFNRSBBTFRFUk5BVElWRSBQS0dFIFBLR1YgUEtHUiBV
U0VSQUREX1BBUkFNIEdST1VQQUREX1BBUkFNIENPTkZGSUxFUyBTWVNURU1EX1NFUlZJQ0UgTElD
RU5TRSBTRUNUSU9OIHBrZ19wcmVpbnN0IHBrZ19wcmVybSBSUkVQTEFDRVMgR1JPVVBNRU1TX1BB
UkFNIFNZU1RFTURfQVVUT19FTkFCTEUgU0tJUF9GSUxFREVQUyBQUklWQVRFX0xJQlMiCiMKIyAk
UEFDS0FHRV9BUkNIIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MTUwCiMgICAgIFtfZGVmYXVsdHZhbF0gIiR7VFVORV9QS0dBUkNI
fSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoz
MDQKIyAgICAgW2RvY10gIlRoZSBhcmNoaXRlY3R1cmUgb2YgdGhlIHJlc3VsdGluZyBwYWNrYWdl
IG9yIHBhY2thZ2VzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VFVORV9QS0dBUkNI
fSIKUEFDS0FHRV9BUkNIPSJjb3JlMi02NCIKIwojICRQQUNLQUdFX0FSQ0hTIFszIG9wZXJhdGlv
bnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTUzCiMg
ICAgICJhbGwgYW55IG5vYXJjaCAke1BBQ0tBR0VfRVhUUkFfQVJDSFN9ICR7TUFDSElORV9BUkNI
fSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxNTYKIyAg
ICAgW3ZhcmRlcHNleGNsdWRlXSAiTUFDSElORV9BUkNIIgojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMwNQojICAgICBbZG9jXSAiQSBsaXN0IG9m
IGFyY2hpdGVjdHVyZXMgY29tcGF0aWJsZSB3aXRoIHRoZSBnaXZlbiB0YXJnZXQgaW4gb3JkZXIg
b2YgcHJpb3JpdHkuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiYWxsIGFueSBub2FyY2gg
JHtQQUNLQUdFX0VYVFJBX0FSQ0hTfSAke01BQ0hJTkVfQVJDSH0iClBBQ0tBR0VfQVJDSFM9ImFs
bCBhbnkgbm9hcmNoIHg4Nl82NCBjb3JlMi02NCBxZW11eDg2XzY0IgojCiMgJFBBQ0tBR0VfQkVG
T1JFX1BOIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjI5MQojICAgICAiIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjMwNgojICAgICBbZG9jXSAiRW5hYmxlcyBlYXNpbHkgYWRk
aW5nIHBhY2thZ2VzIHRvIFBBQ0tBR0VTIGJlZm9yZSAke1BOfSBzbyB0aGF0IHRoZSBwYWNrYWdl
cyBjYW4gcGljayB1cCBmaWxlcyB0aGF0IHdvdWxkIG5vcm1hbGx5IGJlIGluY2x1ZGVkIGluIHRo
ZSBkZWZhdWx0IHBhY2thZ2UuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpQQUNLQUdF
X0JFRk9SRV9QTj0iIgojCiMgJFBBQ0tBR0VfQ0xBU1NFUyBbMyBvcGVyYXRpb25zXQojICAgc2V0
PyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvY29uZi9sb2NhbC5jb25mOjEwOAojICAgICAicGFja2Fn
ZV9ycG0iCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRz
ZXR1cC5jb25mOjIxCiMgICAgICJwYWNrYWdlX2lwayIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMDcKIyAgICAgW2RvY10gIlRoaXMgdmFyaWFi
bGUgc3BlY2lmaWVzIHRoZSBwYWNrYWdlIG1hbmFnZXIgdG8gdXNlIHdoZW4gcGFja2FnaW5nIGRh
dGEuIEl0IGlzIHNldCBpbiB0aGUgY29uZi9sb2NhbC5jb25mIGZpbGUgaW4gdGhlIEJ1aWxkIERp
cmVjdG9yeS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJwYWNrYWdlX3JwbSIKUEFDS0FH
RV9DTEFTU0VTPSJwYWNrYWdlX3JwbSIKIwojICRQQUNLQUdFX0RFQlVHX1NQTElUX1NUWUxFCiMg
ICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI4OQojICAgICAi
ZGVidWctd2l0aC1zcmNwa2ciClBBQ0tBR0VfREVCVUdfU1BMSVRfU1RZTEU9ImRlYnVnLXdpdGgt
c3JjcGtnIgojCiMgJFBBQ0tBR0VfREVQRU5EUyBbMiBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9o
b21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjU3CiMgICAgICJycG0t
bmF0aXZlIGR3YXJmc3JjZmlsZXMtbmF0aXZlIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjI0MQojICAgICAiZmlsZS1uYXRpdmUiCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgcnBtLW5hdGl2ZSBkd2FyZnNyY2ZpbGVzLW5hdGl2ZSBm
aWxlLW5hdGl2ZSIKUEFDS0FHRV9ERVBFTkRTPSIgcnBtLW5hdGl2ZSBkd2FyZnNyY2ZpbGVzLW5h
dGl2ZSBmaWxlLW5hdGl2ZSIKIwojICRQQUNLQUdFX0VYQ0xVREUKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMDgKIyAgICAgW2RvY10gIlBhY2th
Z2VzIHRvIGV4Y2x1ZGUgZnJvbSB0aGUgaW5zdGFsbGF0aW9uLiBJZiBhIGxpc3RlZCBwYWNrYWdl
IGlzIHJlcXVpcmVkLCBhbiBlcnJvciBpcyBnZW5lcmF0ZWQuIgojCiMgJFBBQ0tBR0VfRVhUUkFf
QVJDSFMgWzEwIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6MTUyCiMgICAgIFtfZGVmYXVsdHZhbF0gIiR7UEFDS0FHRV9FWFRSQV9BUkNI
U190dW5lLSR7REVGQVVMVFRVTkV9fSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjozMDkKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgbGlzdCBv
ZiBhcmNoaXRlY3R1cmVzIGNvbXBhdGlibGUgd2l0aCB0aGUgZGV2aWNlIENQVS4gVGhpcyB2YXJp
YWJsZSBpcyB1c2VmdWwgd2hlbiB5b3UgYnVpbGQgZm9yIHNldmVyYWwgZGlmZmVyZW50IGRldmlj
ZXMgdGhhdCB1c2UgbWlzY2VsbGFuZW91cyBwcm9jZXNzb3JzLiIKIyAgIG92ZXJyaWRlW3R1bmUt
eDg2XTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2Fy
Y2gteDg2LmluYzo0MgojICAgICAiJHtUVU5FX1BLR0FSQ0hfdHVuZS14ODZ9IgojICAgb3ZlcnJp
ZGVbdHVuZS14ODYtNjRdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5j
bHVkZS94ODYvYXJjaC14ODYuaW5jOjQ4CiMgICAgICIke1RVTkVfUEtHQVJDSF90dW5lLXg4Ni02
NH0iCiMgICBvdmVycmlkZVt0dW5lLXg4Ni02NC14MzJdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjU0CiMgICAgICIke1RVTkVf
UEtHQVJDSF90dW5lLXg4Ni02NC14MzJ9IgojICAgb3ZlcnJpZGVbdHVuZS1pNTg2XTpzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYzoxNAoj
ICAgICAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUteDg2fSBpNTg2IgojICAgb3ZlcnJpZGVb
dHVuZS1pNjg2XTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUv
dHVuZS1pNjg2LmluYzoyNwojICAgICAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtaTU4Nn0g
aTY4NiIKIyAgIG92ZXJyaWRlW3R1bmUtY29yZTItMzJdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcmUyLmluYzoyMwojICAgICAiJHtQQUNLQUdF
X0VYVFJBX0FSQ0hTX3R1bmUtaTY4Nn0gY29yZTItMzIiCiMgICBvdmVycmlkZVt0dW5lLWNvcmUy
LTY0XTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1j
b3JlMi5pbmM6MzAKIyAgICAgIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXg4Ni02NH0gY29y
ZTItNjQiCiMgICBvdmVycmlkZVt0dW5lLWNvcmUyLTY0LXgzMl06c2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jOjM3CiMgICAgICIke1BB
Q0tBR0VfRVhUUkFfQVJDSFNfdHVuZS14ODYtNjQteDMyfSBjb3JlMi02NC14MzIiCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS0ke0RFRkFVTFRU
VU5FfX0iClBBQ0tBR0VfRVhUUkFfQVJDSFM9Ing4Nl82NCBjb3JlMi02NCIKIwojICRQQUNLQUdF
X0VYVFJBX0FSQ0hTX3R1bmUtY29yZTItMzIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcmUyLmluYzoyMwojICAgICAiJHtQQUNLQUdFX0VY
VFJBX0FSQ0hTX3R1bmUtaTY4Nn0gY29yZTItMzIiClBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1j
b3JlMi0zMj0ieDg2IGk1ODYgaTY4NiBjb3JlMi0zMiIKIwojICRQQUNLQUdFX0VYVFJBX0FSQ0hT
X3R1bmUtY29yZTItNjQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
aW5jbHVkZS90dW5lLWNvcmUyLmluYzozMAojICAgICAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1
bmUteDg2LTY0fSBjb3JlMi02NCIKUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcmUyLTY0PSJ4
ODZfNjQgY29yZTItNjQiCiMKIyAkUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcmUyLTY0LXgz
MgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUt
Y29yZTIuaW5jOjM3CiMgICAgICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS14ODYtNjQteDMy
fSBjb3JlMi02NC14MzIiClBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3JlMi02NC14MzI9Ing4
Nl82NF94MzIgY29yZTItNjQteDMyIgojCiMgJFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1pNTg2
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1p
NTg2LmluYzoxNAojICAgICAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUteDg2fSBpNTg2IgpQ
QUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtaTU4Nj0ieDg2IGk1ODYiCiMKIyAkUEFDS0FHRV9FWFRS
QV9BUkNIU190dW5lLWk2ODYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hp
bmUvaW5jbHVkZS90dW5lLWk2ODYuaW5jOjI3CiMgICAgICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNf
dHVuZS1pNTg2fSBpNjg2IgpQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtaTY4Nj0ieDg2IGk1ODYg
aTY4NiIKIwojICRQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUteDg2CiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo0MgojICAg
ICAiJHtUVU5FX1BLR0FSQ0hfdHVuZS14ODZ9IgpQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUteDg2
PSJ4ODYiCiMKIyAkUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXg4Ni02NAojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6NDgK
IyAgICAgIiR7VFVORV9QS0dBUkNIX3R1bmUteDg2LTY0fSIKUEFDS0FHRV9FWFRSQV9BUkNIU190
dW5lLXg4Ni02ND0ieDg2XzY0IgojCiMgJFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS14ODYtNjQt
eDMyCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2
L2FyY2gteDg2LmluYzo1NAojICAgICAiJHtUVU5FX1BLR0FSQ0hfdHVuZS14ODYtNjQteDMyfSIK
UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXg4Ni02NC14MzI9Ing4Nl82NF94MzIiCiMKIyAkUEFD
S0FHRV9HUk9VUAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlv
bi5jb25mOjMxMAojICAgICBbZG9jXSAiRGVmaW5lcyBvbmUgb3IgbW9yZSBwYWNrYWdlcyB0byBp
bmNsdWRlIGluIGFuIGltYWdlIHdoZW4gYSBzcGVjaWZpYyBpdGVtIGlzIGluY2x1ZGVkIGluIElN
QUdFX0ZFQVRVUkVTLiIKIwojICRQQUNLQUdFX0lOU1RBTEwKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMTEKIyAgICAgW2RvY10gIkxpc3Qgb2Yg
dGhlIHBhY2thZ2VzIHRvIGJlIGluc3RhbGxlZCBpbnRvIHRoZSBpbWFnZS4gVGhlIHZhcmlhYmxl
IGlzIGdlbmVyYWxseSBub3QgdXNlci1kZWZpbmVkIGFuZCB1c2VzIElNQUdFX0lOU1RBTEwgYXMg
cGFydCBvZiB0aGUgbGlzdC4iCiMKIyAkUEFDS0FHRV9JTlNUQUxMX0FUVEVNUFRPTkxZCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzEyCiMgICAg
IFtkb2NdICJMaXN0IG9mIHBhY2thZ2VzIGF0dGVtcHRlZCB0byBiZSBpbnN0YWxsZWQuIElmIGEg
bGlzdGVkIHBhY2thZ2UgZmFpbHMgdG8gaW5zdGFsbCwgdGhlIGJ1aWxkIHN5c3RlbSBkb2VzIG5v
dCBnZW5lcmF0ZSBhbiBlcnJvci4gVGhpcyB2YXJpYWJsZSBpcyBnZW5lcmFsbHkgbm90IHVzZXIt
ZGVmaW5lZC4iCiMKIyAkUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTCiMgICBzZXQ/IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjIxMzQKIyAgICAgIiIKUEFDS0FH
RV9QUkVQUk9DRVNTX0ZVTkNTPSIiCiMKIyAkUEFDS0FHRV9XUklURV9ERVBTCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3M6NjUKIyAgICAgW19kZWZh
dWx0dmFsXSAiIgpQQUNLQUdFX1dSSVRFX0RFUFM9IiIKIwojICRQQVJBTExFTF9NQUtFIFsyIG9w
ZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6MzE2CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgZXh0cmEgb3B0aW9ucyB0aGF0IGFyZSBw
YXNzZWQgdG8gdGhlIG1ha2UgY29tbWFuZCBkdXJpbmcgdGhlIGNvbXBpbGUgdGFza3MuIFRoaXMg
dmFyaWFibGUgaXMgdXN1YWxseSBpbiB0aGUgZm9ybSAtaiA0LCB3aGVyZSB0aGUgbnVtYmVyIHJl
cHJlc2VudHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcmFsbGVsIHRocmVhZHMgbWFrZSBjYW4g
cnVuLiIKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Nzkz
CiMgICAgICItaiAke0BvZS51dGlscy5jcHVfY291bnQoKX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICItaiAke0BvZS51dGlscy5jcHVfY291bnQoKX0iClBBUkFMTEVMX01BS0U9Ii1qIDQi
CiMKIyAkUEFSQUxMRUxfTUFLRUlOU1QgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2MDIKIyAgICAgW19kZWZhdWx0dmFsXSAiJHtQ
QVJBTExFTF9NQUtFfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjozMTcKIyAgICAgW2RvY10gIkV4dHJhIG9wdGlvbnMgcGFzc2VkIHRvIHRoZSBt
YWtlIGluc3RhbGwgY29tbWFuZCBkdXJpbmcgdGhlIGRvX2luc3RhbGwgdGFzayBpbiBvcmRlciB0
byBzcGVjaWZ5IHBhcmFsbGVsIGluc3RhbGxhdGlvbi4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIke1BBUkFMTEVMX01BS0V9IgpQQVJBTExFTF9NQUtFSU5TVD0iLWogNCIKIwojICRQQVRD
SERFUEVOREVOQ1kKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3BhdGNoLmJi
Y2xhc3M6NgojICAgICAiJHtQQVRDSFRPT0x9LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IgpQ
QVRDSERFUEVOREVOQ1k9InF1aWx0LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IgojCiMgJFBB
VENIUkVTT0xWRSBbMyBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjU1NwojICAgICAibm9vcCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
YnVpbGQvY29uZi9sb2NhbC5jb25mOjE4NQojICAgICAibm9vcCIKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMTgKIyAgICAgW2RvY10gIkVuYWJs
ZSBvciBkaXNhYmxlIGludGVyYWN0aXZlIHBhdGNoIHJlc29sdXRpb24uIgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAibm9vcCIKUEFUQ0hSRVNPTFZFPSJub29wIgojCiMgJFBBVENIVE9PTCBb
MiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjU1NgojICAgICAicXVpbHQiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6MzE5CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgdGhlIHV0aWxpdHkg
dXNlZCB0byBhcHBseSBwYXRjaGVzIGZvciBhIHJlY2lwZSBkdXJpbmcgZG9fcGF0Y2guIgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAicXVpbHQiClBBVENIVE9PTD0icXVpbHQiCiMKIyAkUEFU
Q0hfR0lUX1VTRVJfRU1BSUwKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9w
YXRjaC5iYmNsYXNzOjkKIyAgICAgIm9lLnBhdGNoQG9lIgpQQVRDSF9HSVRfVVNFUl9FTUFJTD0i
b2UucGF0Y2hAb2UiCiMKIyAkUEFUQ0hfR0lUX1VTRVJfTkFNRQojICAgc2V0PyAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jbGFzc2VzL3BhdGNoLmJiY2xhc3M6OAojICAgICAiT3BlbkVtYmVkZGVkIgpQ
QVRDSF9HSVRfVVNFUl9OQU1FPSJPcGVuRW1iZWRkZWQiCiMKIyAkUEFUSCBbNyBvcGVyYXRpb25z
XQojICAgZnJvbSBlbnYgZGF0YS5weToxMTIgW2luaGVyaXRGcm9tT1NdCiMgICAgICIvaG9tZS91
c2VyL3Bva3kvc2NyaXB0czovaG9tZS91c2VyL3Bva3kvYml0YmFrZS9iaW46L2hvbWUvdXNlci8u
bnZtL3ZlcnNpb25zL25vZGUvdjEyLjEwLjAvYmluOi9ob21lL3VzZXIvLmxvY2FsL2JpbjovdXNy
L2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3Vzci9zYmluOi91c3IvYmluOi9zYmluOi9iaW46
L3Vzci9nYW1lczovdXNyL2xvY2FsL2dhbWVzOi9zbmFwL2JpbjovaG9tZS91c2VyLy5sb2NhbC9i
aW4vOi9ob21lL3VzZXIvLmxvY2FsL2JpbiIKIyAgIGF1dG8gZW52IGV4cG9ydCBkYXRhLnB5OjEx
NCBbaW5oZXJpdEZyb21PU10KIyAgICAgW2V4cG9ydF0gIlRydWUiCiMgICBpbW1lZGlhdGUgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9sYXllci5jb25mOjEwMAojICAgICAiJHtAb3MucGF0aC5k
aXJuYW1lKGJiLnV0aWxzLndoaWNoKGQuZ2V0VmFyKCdQQVRIJyksJ2JpdGJha2UnKSl9OiR7SE9T
VFRPT0xTX0RJUn0iCiMgICBfcHJlcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo0NzMKIyAgICAgIiR7Q09SRUJBU0V9L3NjcmlwdHM6JHtTVEFHSU5HX0JJTkRJUl9U
T09MQ0hBSU59OiR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9OiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7
c2JpbmRpcl9uYXRpdmV9OiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfToke1NUQUdJTkdfRElSX05B
VElWRX0ke2Jhc2Vfc2JpbmRpcl9uYXRpdmV9OiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7YmFzZV9i
aW5kaXJfbmF0aXZlfToiCiMgICBleHBvcnRlZCBhc3QucHk6NTUgW2V2YWxdCiMgICAgIFtleHBv
cnRdICIxIgojICAgX3ByZXBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9iYXNlLmJi
Y2xhc3M6OTQKIyAgICAgIiR7QGV4dHJhX3BhdGhfZWxlbWVudHMoZCl9IgojICAgcHJlcGVuZCB1
bmluYXRpdmUuYmJjbGFzczoxMzYgW2VuYWJsZV91bmluYXRpdmVdCiMgICAgICIke1NUQUdJTkdf
RElSfS11bmluYXRpdmUvJHtCVUlMRF9BUkNIfS1saW51eCR7YmluZGlyX25hdGl2ZX06IgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtTVEFHSU5HX0RJUn0tdW5pbmF0aXZlLyR7QlVJTERf
QVJDSH0tbGludXgke2JpbmRpcl9uYXRpdmV9OiR7QGV4dHJhX3BhdGhfZWxlbWVudHMoZCl9JHtD
T1JFQkFTRX0vc2NyaXB0czoke1NUQUdJTkdfQklORElSX1RPT0xDSEFJTn06JHtTVEFHSU5HX0JJ
TkRJUl9DUk9TU306JHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtzYmluZGlyX25hdGl2ZX06JHtTVEFH
SU5HX0JJTkRJUl9OQVRJVkV9OiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7YmFzZV9zYmluZGlyX25h
dGl2ZX06JHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtiYXNlX2JpbmRpcl9uYXRpdmV9Oi9ob21lL3Vz
ZXIvcG9reS9iaXRiYWtlL2Jpbjoke0hPU1RUT09MU19ESVJ9IgpleHBvcnQgUEFUSD0iL2hvbWUv
dXNlci9wb2t5L2J1aWxkL3RtcC9zeXNyb290cy11bmluYXRpdmUveDg2XzY0LWxpbnV4L3Vzci9i
aW46L2hvbWUvdXNlci9wb2t5L3NjcmlwdHM6L2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3Jr
L2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZl
L3Vzci9iaW4veDg2XzY0LXBva3ktbGludXg6L2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3Jr
L2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3QvdXNyL2Jp
bi9jcm9zc3NjcmlwdHM6L2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBv
a3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9zYmluOi9o
b21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUv
MC4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3IvYmluOi9ob21lL3VzZXIvcG9reS9idWls
ZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNy
b290LW5hdGl2ZS9zYmluOi9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1w
b2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS9iaW46L2hvbWUv
dXNlci9wb2t5L2JpdGJha2UvYmluOi9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvaG9zdHRvb2xz
IgojCiMgJFBFIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6MjA1CiMgICAgICIiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzIwCiMgICAgIFtkb2NdICJUaGUgZXBvY2ggb2YgdGhl
IHJlY2lwZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgJzAnLiBUaGUgZmllbGQgaXMgdXNlZCB0byBt
YWtlIHVwZ3JhZGVzIHBvc3NpYmxlIHdoZW4gdGhlIHZlcnNpb25pbmcgc2NoZW1lIGNoYW5nZXMg
aW4gc29tZSBiYWNrd2FyZHMgaW5jb21wYXRpYmxlIHdheS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICIiClBFPSIiCiMKIyAkUEVSU0lTVEVOVF9ESVIKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNjEKIyAgICAgIiR7VE9QRElSfS9jYWNoZSIKUEVS
U0lTVEVOVF9ESVI9Ii9ob21lL3VzZXIvcG9reS9idWlsZC9jYWNoZSIKIwojICRQRiBbMiBvcGVy
YXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjIw
NgojICAgICAiJHtQTn0tJHtFWFRFTkRQRX0ke1BWfS0ke1BSfSIKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMjEKIyAgICAgW2RvY10gIlNwZWNp
ZmllcyB0aGUgcmVjaXBlIG9yIHBhY2thZ2UgbmFtZSBhbmQgaW5jbHVkZXMgYWxsIHZlcnNpb24g
YW5kIHJldmlzaW9uIG51bWJlcnMuIFRoaXMgdmFyaWFibGUgaXMgY29tcHJpc2VkIG9mICR7UE59
LSR7RVhURU5EUEV9JHtQVn0tJHtQUn0uIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtQ
Tn0tJHtFWFRFTkRQRX0ke1BWfS0ke1BSfSIKUEY9ImV4YW1wbGUtMC4xLXIwIgojCiMgJFBJWEJV
Rl9QQUNLQUdFUwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlv
bi5jb25mOjMyMgojICAgICBbZG9jXSAiV2hlbiBhIHJlY2lwZSBpbmhlcml0cyB0aGUgcGl4YnVm
Y2FjaGUgY2xhc3MsIHRoaXMgdmFyaWFibGUgaWRlbnRpZmllcyBwYWNrYWdlcyB0aGF0IGNvbnRh
aW4gdGhlIHBpeGJ1ZiBsb2FkZXJzIHVzZWQgd2l0aCBnZGstcGl4YnVmLiIKIwojICRQS0dEIFsy
IG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MzIzCiMgICAgIFtkb2NdICJQb2ludHMgdG8gdGhlIGRlc3RpbmF0aW9uIGRpcmVj
dG9yeSBmb3IgZmlsZXMgdG8gYmUgcGFja2FnZWQgYmVmb3JlIHRoZXkgYXJlIHNwbGl0IGludG8g
aW5kaXZpZHVhbCBwYWNrYWdlcy4iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nl
cy9wYWNrYWdlLmJiY2xhc3M6NDgKIyAgICAgIiR7V09SS0RJUn0vcGFja2FnZSIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiR7V09SS0RJUn0vcGFja2FnZSIKUEtHRD0iL2hvbWUvdXNlci9w
b2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcGFj
a2FnZSIKIwojICRQS0dEQVRBX0RJUiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQxNAojICAgICAiJHtUTVBESVJ9L3BrZ2RhdGEv
JHtNQUNISU5FfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjozMjQKIyAgICAgW2RvY10gIlBvaW50cyB0byBhIHNoYXJlZCwgZ2xvYmFsLXN0YXRl
IGRpcmVjdG9yeSB0aGF0IGhvbGRzIGRhdGEgZ2VuZXJhdGVkIGR1cmluZyB0aGUgcGFja2FnaW5n
IHByb2Nlc3MuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUTVBESVJ9L3BrZ2RhdGEv
JHtNQUNISU5FfSIKUEtHREFUQV9ESVI9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvcGtnZGF0
YS9xZW11eDg2LTY0IgojCiMgJFBLR0RBVEFfVkFSUwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjEzNTQKIyAgICAgIlBOIFBFIFBWIFBSIFBLR0Ug
UEtHViBQS0dSIExJQ0VOU0UgREVTQ1JJUFRJT04gU1VNTUFSWSBSREVQRU5EUyBSUFJPVklERVMg
UlJFQ09NTUVORFMgUlNVR0dFU1RTIFJSRVBMQUNFUyBSQ09ORkxJQ1RTIFNFQ1RJT04gUEtHIEFM
TE9XX0VNUFRZIEZJTEVTIENPTkZGSUxFUyBGSUxFU19JTkZPIHBrZ19wb3N0aW5zdCBwa2dfcG9z
dHJtIHBrZ19wcmVpbnN0IHBrZ19wcmVybSIKUEtHREFUQV9WQVJTPSJQTiBQRSBQViBQUiBQS0dF
IFBLR1YgUEtHUiBMSUNFTlNFIERFU0NSSVBUSU9OIFNVTU1BUlkgUkRFUEVORFMgUlBST1ZJREVT
IFJSRUNPTU1FTkRTIFJTVUdHRVNUUyBSUkVQTEFDRVMgUkNPTkZMSUNUUyBTRUNUSU9OIFBLRyBB
TExPV19FTVBUWSBGSUxFUyBDT05GRklMRVMgRklMRVNfSU5GTyBwa2dfcG9zdGluc3QgcGtnX3Bv
c3RybSBwa2dfcHJlaW5zdCBwa2dfcHJlcm0iCiMKIyAkUEtHREVTVCBbMiBvcGVyYXRpb25zXQoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMyNQoj
ICAgICBbZG9jXSAiUG9pbnRzIHRvIHRoZSBwYXJlbnQgZGlyZWN0b3J5IGZvciBmaWxlcyB0byBi
ZSBwYWNrYWdlZCBhZnRlciB0aGV5IGhhdmUgYmVlbiBzcGxpdCBpbnRvIGluZGl2aWR1YWwgcGFj
a2FnZXMuIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNs
YXNzOjQ5CiMgICAgICIke1dPUktESVJ9L3BhY2thZ2VzLXNwbGl0IgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiJHtXT1JLRElSfS9wYWNrYWdlcy1zcGxpdCIKUEtHREVTVD0iL2hvbWUvdXNl
ci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAv
cGFja2FnZXMtc3BsaXQiCiMKIyAkUEtHREVTVFdPUksgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMjYKIyAgICAgW2Rv
Y10gIlBvaW50cyB0byBhIHRlbXBvcmFyeSB3b3JrIGFyZWEgdXNlZCBieSB0aGUgZG9fcGFja2Fn
ZSB0YXNrIHRvIHdyaXRlIG91dHB1dCBmcm9tIHRoZSBkb19wYWNrYWdlZGF0YSB0YXNrLiIKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzczoxMzUyCiMg
ICAgICIke1dPUktESVJ9L3BrZ2RhdGEiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1dP
UktESVJ9L3BrZ2RhdGEiClBLR0RFU1RXT1JLPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dv
cmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9wa2dkYXRhIgojCiMgJFBLR0UK
IyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjE2CiMgICAg
ICIke0BbJycsJyR7UEV9J11baW50KGQuZ2V0VmFyKCdQRScpIG9yIDApID4gMF19IgpQS0dFPSIi
CiMKIyAkUEtHTUxUUklQTEVUUwojICAgc2V0IGJhc2UuYmJjbGFzczozNzAgW3NldHRyaXBsZXRd
CiMgICAgICJxZW11eDg2XzY0LXBva3ktbGludXggY29yZTItNjQtcG9reS1saW51eCB4ODZfNjQt
cG9reS1saW51eCBub2FyY2gtcG9reS1saW51eCBhbnktcG9reS1saW51eCBhbGwtcG9reS1saW51
eCIKUEtHTUxUUklQTEVUUz0icWVtdXg4Nl82NC1wb2t5LWxpbnV4IGNvcmUyLTY0LXBva3ktbGlu
dXggeDg2XzY0LXBva3ktbGludXggbm9hcmNoLXBva3ktbGludXggYW55LXBva3ktbGludXggYWxs
LXBva3ktbGludXgiCiMKIyAkUEtHUgojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjoyMTUKIyAgICAgIiR7UFJ9JHtFWFRFTkRQUkFVVE99IgpQS0dSPSJyMCIK
IwojICRQS0dUUklQTEVUUwojICAgc2V0IGJhc2UuYmJjbGFzczozNzAgW3NldHRyaXBsZXRdCiMg
ICAgICJxZW11eDg2XzY0LXBva3ktbGludXggY29yZTItNjQtcG9reS1saW51eCB4ODZfNjQtcG9r
eS1saW51eCBub2FyY2gtcG9reS1saW51eCBhbnktcG9reS1saW51eCBhbGwtcG9reS1saW51eCIK
UEtHVFJJUExFVFM9InFlbXV4ODZfNjQtcG9reS1saW51eCBjb3JlMi02NC1wb2t5LWxpbnV4IHg4
Nl82NC1wb2t5LWxpbnV4IG5vYXJjaC1wb2t5LWxpbnV4IGFueS1wb2t5LWxpbnV4IGFsbC1wb2t5
LWxpbnV4IgojCiMgJFBLR1YKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6MjE0CiMgICAgICIke1BWfSIKUEtHVj0iMC4xIgojCiMgJFBLR1dSSVRFRElSUlBN
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNz
OjgKIyAgICAgIiR7V09SS0RJUn0vZGVwbG95LXJwbXMiClBLR1dSSVRFRElSUlBNPSIvaG9tZS91
c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1y
MC9kZXBsb3ktcnBtcyIKIwojICRQS0dfQ09ORklHX0RJUiBbMiBvcGVyYXRpb25zXQojICAgZXhw
b3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzExCiMgICAgIFtl
eHBvcnRdICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjcxMQojICAgICAiJHtTVEFHSU5HX0RJUl9IT1NUfSR7bGliZGlyfS9wa2djb25maWciCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1NUQUdJTkdfRElSX0hPU1R9JHtsaWJkaXJ9L3BrZ2Nv
bmZpZyIKZXhwb3J0IFBLR19DT05GSUdfRElSPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dv
cmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3Iv
bGliL3BrZ2NvbmZpZyIKIwojICRQS0dfQ09ORklHX0RJU0FCTEVfVU5JTlNUQUxMRUQgWzIgb3Bl
cmF0aW9uc10KIyAgIGV4cG9ydGVkIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjcxNQojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo3MTUKIyAgICAgInllcyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgInllcyIKZXhwb3J0IFBLR19DT05GSUdfRElTQUJMRV9VTklOU1RBTExFRD0ieWVzIgojCiMg
JFBLR19DT05GSUdfTElCRElSIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3MTMKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzEzCiMgICAgICIke1BL
R19DT05GSUdfRElSfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7UEtHX0NPTkZJR19E
SVJ9IgpleHBvcnQgUEtHX0NPTkZJR19MSUJESVI9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAv
d29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNyb290L3Vz
ci9saWIvcGtnY29uZmlnIgojCiMgJFBLR19DT05GSUdfUEFUSCBbMiBvcGVyYXRpb25zXQojICAg
ZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzEyCiMgICAg
IFtleHBvcnRdICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjcxMgojICAgICAiJHtQS0dfQ09ORklHX0RJUn06JHtTVEFHSU5HX0RBVEFESVJ9L3BrZ2Nv
bmZpZyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7UEtHX0NPTkZJR19ESVJ9OiR7U1RB
R0lOR19EQVRBRElSfS9wa2djb25maWciCmV4cG9ydCBQS0dfQ09ORklHX1BBVEg9Ii9ob21lL3Vz
ZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIw
L3JlY2lwZS1zeXNyb290L3Vzci9saWIvcGtnY29uZmlnOi9ob21lL3VzZXIvcG9reS9idWlsZC90
bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNyb290
L3Vzci9zaGFyZS9wa2djb25maWciCiMKIyAkUEtHX0NPTkZJR19TWVNST09UX0RJUiBbMiBvcGVy
YXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6NzE0CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjcxNAojICAgICAiJHtTVEFHSU5HX0RJUl9IT1NUfSIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiR7U1RBR0lOR19ESVJfSE9TVH0iCmV4cG9ydCBQS0dfQ09ORklH
X1NZU1JPT1RfRElSPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9r
eS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdCIKIwojICRQS0dfQ09ORklHX1NZ
U1RFTV9JTkNMVURFX1BBVEggWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjcxNwojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3MTcKIyAgICAgIiR7aW5j
bHVkZWRpcn0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2luY2x1ZGVkaXJ9IgpleHBv
cnQgUEtHX0NPTkZJR19TWVNURU1fSU5DTFVERV9QQVRIPSIvdXNyL2luY2x1ZGUiCiMKIyAkUEtH
X0NPTkZJR19TWVNURU1fTElCUkFSWV9QQVRIIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3MTYKIyAgICAgW2V4cG9ydF0g
IjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzE2CiMg
ICAgICIke2Jhc2VfbGliZGlyfToke2xpYmRpcn0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICIke2Jhc2VfbGliZGlyfToke2xpYmRpcn0iCmV4cG9ydCBQS0dfQ09ORklHX1NZU1RFTV9MSUJS
QVJZX1BBVEg9Ii9saWI6L3Vzci9saWIiCiMKIyAkUE4gWzIgb3BlcmF0aW9uc10KIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyMDIKIyAgICAgIiR7QGJiLnBh
cnNlLnZhcnNfZnJvbV9maWxlKGQuZ2V0VmFyKCdGSUxFJywgRmFsc2UpLGQpWzBdIG9yICdkZWZh
dWx0cGtnbmFtZSd9IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjMyNwojICAgICBbZG9jXSAiUE4gcmVmZXJzIHRvIGEgcmVjaXBlIG5hbWUgaW4g
dGhlIGNvbnRleHQgb2YgYSBmaWxlIHVzZWQgYnkgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0
ZW0gYXMgaW5wdXQgdG8gY3JlYXRlIGEgcGFja2FnZS4gSXQgcmVmZXJzIHRvIGEgcGFja2FnZSBu
YW1lIGluIHRoZSBjb250ZXh0IG9mIGEgZmlsZSBjcmVhdGVkIG9yIHByb2R1Y2VkIGJ5IHRoZSBP
cGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7
QGJiLnBhcnNlLnZhcnNfZnJvbV9maWxlKGQuZ2V0VmFyKCdGSUxFJywgRmFsc2UpLGQpWzBdIG9y
ICdkZWZhdWx0cGtnbmFtZSd9IgpQTj0iZXhhbXBsZSIKIwojICRQTkJMQUNLTElTVAojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMyOAojICAgICBb
ZG9jXSAiTGlzdHMgcmVjaXBlcyB5b3UgZG8gbm90IHdhbnQgdGhlIE9wZW5FbWJlZGRlZCBidWls
ZCBzeXN0ZW0gdG8gYnVpbGQuIgojCiMgJFBPS1lRRU1VREVQUwojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjMyCiMgICAgICIke0BiYi51dGls
cy5jb250YWlucygiSU5DT01QQVRJQkxFX0xJQ0VOU0UiLCAiR1BMLTMuMCIsICIiLCAicGFja2Fn
ZWdyb3VwLWNvcmUtZGV2aWNlLWRldmVsIixkKX0iClBPS1lRRU1VREVQUz0icGFja2FnZWdyb3Vw
LWNvcmUtZGV2aWNlLWRldmVsIgojCiMgJFBPS1lfQkJMQVlFUlNfQ09ORl9WRVJTSU9OCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvYmJsYXllcnMuY29uZjozCiMgICAgICIyIgpQ
T0tZX0JCTEFZRVJTX0NPTkZfVkVSU0lPTj0iMiIKIwojICRQT0tZX0RFRkFVTFRfRElTVFJPX0ZF
QVRVUkVTCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5
LmNvbmY6MTgKIyAgICAgImxhcmdlZmlsZSBvcGVuZ2wgcHRlc3QgbXVsdGlhcmNoIHdheWxhbmQg
dnVsa2FuIgpQT0tZX0RFRkFVTFRfRElTVFJPX0ZFQVRVUkVTPSJsYXJnZWZpbGUgb3BlbmdsIHB0
ZXN0IG11bHRpYXJjaCB3YXlsYW5kIHZ1bGthbiIKIwojICRQT0tZX0RFRkFVTFRfRVhUUkFfUkRF
UEVORFMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3ku
Y29uZjoxOQojICAgICAicGFja2FnZWdyb3VwLWNvcmUtYm9vdCIKUE9LWV9ERUZBVUxUX0VYVFJB
X1JERVBFTkRTPSJwYWNrYWdlZ3JvdXAtY29yZS1ib290IgojCiMgJFBPS1lfREVGQVVMVF9FWFRS
QV9SUkVDT01NRU5EUwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0
cm8vcG9reS5jb25mOjIwCiMgICAgICJrZXJuZWwtbW9kdWxlLWFmLXBhY2tldCIKUE9LWV9ERUZB
VUxUX0VYVFJBX1JSRUNPTU1FTkRTPSJrZXJuZWwtbW9kdWxlLWFmLXBhY2tldCIKIwojICRQT1BV
TEFURVNZU1JPT1RERVBTIFszIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3M6MTE1CiMgICAgICIiCiMgICBvdmVycmlkZVtjbGFz
cy10YXJnZXRdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFz
czoxMTYKIyAgICAgInZpcnR1YWwvJHtNTFBSRUZJWH0ke1RBUkdFVF9QUkVGSVh9YmludXRpbHM6
ZG9fcG9wdWxhdGVfc3lzcm9vdCIKIyAgIG92ZXJyaWRlW2NsYXNzLW5hdGl2ZXNka106c2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjExNwojICAgICAidmly
dHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMtY3Jvc3NzZGs6ZG9fcG9wdWxhdGVfc3lzcm9v
dCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgInZpcnR1YWwvJHtNTFBSRUZJWH0ke1RBUkdF
VF9QUkVGSVh9YmludXRpbHM6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKUE9QVUxBVEVTWVNST09UREVQ
Uz0idmlydHVhbC94ODZfNjQtcG9reS1saW51eC1iaW51dGlsczpkb19wb3B1bGF0ZV9zeXNyb290
IgojCiMgJFBPUFVMQVRFU1lTUk9PVERFUFNfY2xhc3MtbmF0aXZlc2RrCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3M6MTE3CiMgICAgICJ2aXJ0dWFs
LyR7VEFSR0VUX1BSRUZJWH1iaW51dGlscy1jcm9zc3Nkazpkb19wb3B1bGF0ZV9zeXNyb290IgpQ
T1BVTEFURVNZU1JPT1RERVBTX2NsYXNzLW5hdGl2ZXNkaz0idmlydHVhbC94ODZfNjQtcG9reS1s
aW51eC1iaW51dGlscy1jcm9zc3Nkazpkb19wb3B1bGF0ZV9zeXNyb290IgojCiMgJFBPUFVMQVRF
U1lTUk9PVERFUFNfY2xhc3MtdGFyZ2V0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xh
c3Nlcy9zdGFnaW5nLmJiY2xhc3M6MTE2CiMgICAgICJ2aXJ0dWFsLyR7TUxQUkVGSVh9JHtUQVJH
RVRfUFJFRklYfWJpbnV0aWxzOmRvX3BvcHVsYXRlX3N5c3Jvb3QiClBPUFVMQVRFU1lTUk9PVERF
UFNfY2xhc3MtdGFyZ2V0PSJ2aXJ0dWFsL3g4Nl82NC1wb2t5LWxpbnV4LWJpbnV0aWxzOmRvX3Bv
cHVsYXRlX3N5c3Jvb3QiCiMKIyAkUFIgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyMDQKIyAgICAgIiR7QGJiLnBhcnNlLnZhcnNf
ZnJvbV9maWxlKGQuZ2V0VmFyKCdGSUxFJywgRmFsc2UpLGQpWzJdIG9yICdyMCd9IgojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjMyOQojICAgICBb
ZG9jXSAiVGhlIHJldmlzaW9uIG9mIHRoZSByZWNpcGUuIFRoZSBkZWZhdWx0IHZhbHVlIGZvciB0
aGlzIHZhcmlhYmxlIGlzICdyMCcuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtAYmIu
cGFyc2UudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMl0gb3IgJ3Iw
J30iClBSPSJyMCIKIwojICRQUkFVVE8KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjoyMTAKIyAgICAgIiIKUFJBVVRPPSIiCiMKIyAkUFJBVVRPSU5YCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjEyCiMgICAgICIke1BG
fSIKUFJBVVRPSU5YPSJleGFtcGxlLTAuMS1yMCIKIwojICRQUkVGRVJSRURfUFJPVklERVIgWzc2
IG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MzMwCiMgICAgIFtkb2NdICJJZiBtdWx0aXBsZSByZWNpcGVzIHByb3ZpZGUgYW4g
aXRlbSwgdGhpcyB2YXJpYWJsZSBkZXRlcm1pbmVzIHdoaWNoIHJlY2lwZSBzaG91bGQgYmUgZ2l2
ZW4gcHJlZmVyZW5jZS4iCiMgICBvdmVycmlkZVt2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZV06c2V0
PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2OTYKIyAgICAgInBzZXVk
by1uYXRpdmUiCiMgICBvdmVycmlkZVt2aXJ0dWFsL3hzZXJ2ZXJdOnNldD8gL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZjo1CiMgICAgICJ4c2VydmVyLXhv
cmciCiMgICBvdmVycmlkZVt2aXJ0dWFsL3hzZXJ2ZXJdOnNldD8gL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmM6MQojICAgICAieHNlcnZlci14b3JnIgoj
ICAgb3ZlcnJpZGVbdmlydHVhbC94c2VydmVyXTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjQKIyAgICAgInhzZXJ2ZXIt
eG9yZyIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvbGliZ2xdOnNldD8gL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZjo2CiMgICAgICJtZXNhIgojICAgb3ZlcnJp
ZGVbdmlydHVhbC9saWJnbF06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
aW5jbHVkZS9xZW11LmluYzozCiMgICAgICJtZXNhIgojICAgb3ZlcnJpZGVbdmlydHVhbC9saWJn
bF06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
cHJvdmlkZXJzLmluYzo3CiMgICAgICJtZXNhIgojICAgb3ZlcnJpZGVbdmlydHVhbC9saWJnbGVz
MV06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni02NC5jb25m
OjcKIyAgICAgIm1lc2EiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2xpYmdsZXMxXTpzZXQ/IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjQKIyAgICAgIm1l
c2EiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2xpYmdsZXMxXTpzZXQ/IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjEwCiMgICAgICJt
ZXNhIgojICAgb3ZlcnJpZGVbdmlydHVhbC9saWJnbGVzMl06c2V0PyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni02NC5jb25mOjgKIyAgICAgIm1lc2EiCiMgICBvdmVy
cmlkZVt2aXJ0dWFsL2xpYmdsZXMyXTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFj
aGluZS9pbmNsdWRlL3FlbXUuaW5jOjUKIyAgICAgIm1lc2EiCiMgICBvdmVycmlkZVt2aXJ0dWFs
L2xpYmdsZXMyXTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
ZGVmYXVsdC1wcm92aWRlcnMuaW5jOjExCiMgICAgICJtZXNhIgojICAgb3ZlcnJpZGVbdmlydHVh
bC9lZ2xdOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVt
dS5pbmM6MgojICAgICAibWVzYSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvZWdsXTpzZXQ/IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5j
OjYKIyAgICAgIm1lc2EiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2tlcm5lbF06c2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjIyCiMgICAgIFtfZGVm
YXVsdHZhbF0gImxpbnV4LXlvY3RvIgojICAgb3ZlcnJpZGVbdmlydHVhbC94c2VydmVyLXhmODZd
OnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXBy
b3ZpZGVycy5pbmM6NQojICAgICAieHNlcnZlci14b3JnIgojICAgb3ZlcnJpZGVbdmlydHVhbC9s
aWJnbC1uYXRpdmVdOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6OAojICAgICAibWVzYS1uYXRpdmUiCiMgICBvdmVycmlk
ZVt2aXJ0dWFsL25hdGl2ZXNkay1saWJnbF06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo5CiMgICAgICJuYXRpdmVzZGst
bWVzYSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvbWVzYV06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzoxMgojICAgICAibWVz
YSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvdXBkYXRlLWFsdGVybmF0aXZlc106c2V0PyAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzox
MwojICAgICAib3BrZy11dGlscyIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvdXBkYXRlLWFsdGVybmF0
aXZlcy1uYXRpdmVdOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MTQKIyAgICAgIm9wa2ctdXRpbHMtbmF0aXZlIgojICAg
b3ZlcnJpZGVbdmlydHVhbC9saWJ4MTFdOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MTUKIyAgICAgImxpYngxMSIKIyAg
IG92ZXJyaWRlW3ZpcnR1YWwvYmFzZS11dGlsc106c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzoxNgojICAgICAiYnVzeWJv
eCIKIyAgIG92ZXJyaWRlW3hmODYtdmlkZW8taW50ZWxdOnNldD8gL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MTcKIyAgICAgInhm
ODYtdmlkZW8taW50ZWwiCiMgICBvdmVycmlkZVt2aXJ0dWFsL21ha2VdOnNldD8gL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MTgK
IyAgICAgIm1ha2UiCiMgICBvdmVycmlkZVt2aXJ0dWFsL21ha2UtbmF0aXZlXTpzZXQ/IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5j
OjE5CiMgICAgICJtYWtlLW5hdGl2ZSIKIyAgIG92ZXJyaWRlW2RidXMtZ2xpYl06c2V0PyAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmlu
YzozNQojICAgICAiZGJ1cy1nbGliIgojICAgb3ZlcnJpZGVbZGJ1cy1nbGliLW5hdGl2ZV06c2V0
PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlk
ZXJzLmluYzozNgojICAgICAiZGJ1cy1nbGliLW5hdGl2ZSIKIyAgIG92ZXJyaWRlW2dkay1waXhi
dWZdOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0
LXByb3ZpZGVycy5pbmM6MzcKIyAgICAgImdkay1waXhidWYiCiMgICBvdmVycmlkZVtsaWJnY2Nd
OnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXBy
b3ZpZGVycy5pbmM6MzgKIyAgICAgImxpYmdjYyIKIyAgIG92ZXJyaWRlW25hdGl2ZXNkay1saWJn
Y2NdOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0
LXByb3ZpZGVycy5pbmM6MzkKIyAgICAgIm5hdGl2ZXNkay1saWJnY2MiCiMgICBvdmVycmlkZVts
aW51eC1saWJjLWhlYWRlcnNdOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NDAKIyAgICAgImxpbnV4LWxpYmMtaGVhZGVy
cyIKIyAgIG92ZXJyaWRlW25hdGl2ZXNkay1saW51eC1saWJjLWhlYWRlcnNdOnNldD8gL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6
NDEKIyAgICAgIm5hdGl2ZXNkay1saW51eC1saWJjLWhlYWRlcnMiCiMgICBvdmVycmlkZVttYXRj
aGJveC1wYW5lbF06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L2RlZmF1bHQtcHJvdmlkZXJzLmluYzo0MgojICAgICAibWF0Y2hib3gtcGFuZWwtMiIKIyAgIG92
ZXJyaWRlW29wa2ddOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NDMKIyAgICAgIm9wa2ciCiMgICBvdmVycmlkZVtvcGtn
LW5hdGl2ZV06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2Rl
ZmF1bHQtcHJvdmlkZXJzLmluYzo0NAojICAgICAib3BrZy1uYXRpdmUiCiMgICBvdmVycmlkZVtu
YXRpdmVzZGstb3BrZ106c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo0NQojICAgICAibmF0aXZlc2RrLW9wa2ciCiMgICBv
dmVycmlkZVtjb25zb2xlLXRvb2xzXTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjQ2CiMgICAgICJrYmQiCiMgICBvdmVy
cmlkZVtnemlwLW5hdGl2ZV06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo0NwojICAgICAicGlnei1uYXRpdmUiCiMgICBv
dmVycmlkZVt1ZGV2XTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjQ4CiMgICAgICIke0BiYi51dGlscy5jb250YWlucygn
RElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3N5c3RlbWQnLCdldWRldicsZCl9IgojICAgb3Zl
cnJpZGVbbHRwXTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
ZGVmYXVsdC1wcm92aWRlcnMuaW5jOjUwCiMgICAgICJsdHAiCiMgICBvdmVycmlkZVtnZXRvcHRd
OnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXBy
b3ZpZGVycy5pbmM6NTEKIyAgICAgInV0aWwtbGludXgtZ2V0b3B0IgojICAgb3ZlcnJpZGVbb3Bl
bnNzbF06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtcHJvdmlkZXJzLmluYzo1MgojICAgICAib3BlbnNzbCIKIyAgIG92ZXJyaWRlW29wZW5zc2wt
bmF0aXZlXTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVm
YXVsdC1wcm92aWRlcnMuaW5jOjUzCiMgICAgICJvcGVuc3NsLW5hdGl2ZSIKIyAgIG92ZXJyaWRl
W25hdGl2ZXNkay1vcGVuc3NsXTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjU0CiMgICAgICJuYXRpdmVzZGstb3BlbnNz
bCIKIyAgIG92ZXJyaWRlW3BrZ2NvbmZpZ106c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo1NQojICAgICAicGtnY29uZmln
IgojICAgb3ZlcnJpZGVbbmF0aXZlc2RrLXBrZ2NvbmZpZ106c2V0PyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo1NgojICAgICAi
bmF0aXZlc2RrLXBrZ2NvbmZpZyIKIyAgIG92ZXJyaWRlW3BrZ2NvbmZpZy1uYXRpdmVdOnNldD8g
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVy
cy5pbmM6NTcKIyAgICAgInBrZ2NvbmZpZy1uYXRpdmUiCiMgICBvdmVycmlkZVtuYXRpdmVzZGst
bWVzYV06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtcHJvdmlkZXJzLmluYzo2MAojICAgICAibmF0aXZlc2RrLW1lc2EiCiMgICBvdmVycmlkZVtn
ZGJdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1k
ZWZhdWx0LmluYzo5CiMgICAgICJnZGIiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2dldHRleHRdOnNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0
LmluYzoxNwojICAgICBbX2RlZmF1bHR2YWxdICJnZXR0ZXh0IgojICAgb3ZlcnJpZGVbdmlydHVh
bC9saWJpY29udl06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3RjbGliYy1nbGliYy5pbmM6OQojICAgICAiZ2xpYmMiCiMgICBvdmVycmlkZVt2aXJ0dWFsL25h
dGl2ZXNkay1saWJpY29udl06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL3RjbGliYy1nbGliYy5pbmM6MTAKIyAgICAgIm5hdGl2ZXNkay1nbGliYyIKIyAgIG92
ZXJyaWRlW3ZpcnR1YWwvbmF0aXZlc2RrLWxpYmludGxdOnNldD8gL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jOjExCiMgICAgICJuYXRpdmVz
ZGstZ2xpYmMiCiMgICBvdmVycmlkZVt2aXJ0dWFsL2xpYmludGxdOnNldD8gL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jOjEyCiMgICAgICJn
bGliYyIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvbGliY106c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmM6MTMKIyAgICAgImdsaWJjIgoj
ICAgb3ZlcnJpZGVbdmlydHVhbC9uYXRpdmVzZGstbGliY106c2V0PyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmM6MTQKIyAgICAgIm5hdGl2
ZXNkay1nbGliYyIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwvbGliYy1sb2NhbGVdOnNldD8gL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jOjE1CiMg
ICAgICJnbGliYy1sb2NhbGUiCiMgICBvdmVycmlkZVt2aXJ0dWFsL3g4Nl82NC1wb2t5c2RrLWxp
bnV4LWJpbnV0aWxzLWNyb3Nzc2RrXTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjExCiMgICAgICJiaW51dGlscy1jcm9zc3Nk
ay0ke1NES19TWVN9IgojICAgb3ZlcnJpZGVbdmlydHVhbC94ODZfNjQtcG9reXNkay1saW51eC1i
aW51dGlscy1jcm9zc3Nka106cmVuYW1lIGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwv
JHtTREtfUFJFRklYfWJpbnV0aWxzLWNyb3Nzc2RrIGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQoj
ICAgICAiYmludXRpbHMtY3Jvc3NzZGstJHtTREtfU1lTfSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwv
eDg2XzY0LXBva3lzZGstbGludXgtY29tcGlsZXJsaWJzXTpzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MTQKIyAgICAgIm5hdGl2
ZXNkay1nY2MtcnVudGltZSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwveDg2XzY0LXBva3lzZGstbGlu
dXgtY29tcGlsZXJsaWJzXTpyZW5hbWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8k
e1NES19QUkVGSVh9Y29tcGlsZXJsaWJzIGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAi
bmF0aXZlc2RrLWdjYy1ydW50aW1lIgojICAgb3ZlcnJpZGVbdmlydHVhbC94ODZfNjQtcG9reXNk
ay1saW51eC1nKytdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3RjbW9kZS1kZWZhdWx0LmluYzoxMwojICAgICAiZ2NjLWNyb3Nzc2RrLSR7U0RLX1NZU30iCiMg
ICBvdmVycmlkZVt2aXJ0dWFsL3g4Nl82NC1wb2t5c2RrLWxpbnV4LWcrK106cmVuYW1lIGZyb20g
UFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtfUFJFRklYfWcrKyBkYXRhLnB5OjEwNCBb
ZXhwYW5kS2V5c10KIyAgICAgImdjYy1jcm9zc3Nkay0ke1NES19TWVN9IgojICAgb3ZlcnJpZGVb
dmlydHVhbC94ODZfNjQtcG9reXNkay1saW51eC1nY2NdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzoxMgojICAgICAiZ2NjLWNy
b3Nzc2RrLSR7U0RLX1NZU30iCiMgICBvdmVycmlkZVt2aXJ0dWFsL3g4Nl82NC1wb2t5c2RrLWxp
bnV4LWdjY106cmVuYW1lIGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtfUFJF
RklYfWdjYyBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgImdjYy1jcm9zc3Nkay0ke1NE
S19TWVN9IgojICAgb3ZlcnJpZGVbdmlydHVhbC94ODZfNjQtcG9reS1saW51eC1iaW51dGlsc106
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1
bHQuaW5jOjUKIyAgICAgImJpbnV0aWxzLWNyb3NzLSR7VEFSR0VUX0FSQ0h9IgojICAgb3ZlcnJp
ZGVbdmlydHVhbC94ODZfNjQtcG9reS1saW51eC1iaW51dGlsc106cmVuYW1lIGZyb20gUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzIGRhdGEucHk6MTA0
IFtleHBhbmRLZXlzXQojICAgICAiYmludXRpbHMtY3Jvc3MtJHtUQVJHRVRfQVJDSH0iCiMgICBv
dmVycmlkZVt2aXJ0dWFsL3g4Nl82NC1wb2t5LWxpbnV4LWNvbXBpbGVybGlic106c2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjgK
IyAgICAgImdjYy1ydW50aW1lIgojICAgb3ZlcnJpZGVbdmlydHVhbC94ODZfNjQtcG9reS1saW51
eC1jb21waWxlcmxpYnNdOnJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7
VEFSR0VUX1BSRUZJWH1jb21waWxlcmxpYnMgZGF0YS5weToxMDQgW2V4cGFuZEtleXNdCiMgICAg
ICJnY2MtcnVudGltZSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwveDg2XzY0LXBva3ktbGludXgtZysr
XTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVm
YXVsdC5pbmM6NwojICAgICAiZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9IgojICAgb3ZlcnJpZGVb
dmlydHVhbC94ODZfNjQtcG9reS1saW51eC1nKytdOnJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9W
SURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nKysgZGF0YS5weToxMDQgW2V4cGFuZEtleXNd
CiMgICAgICJnY2MtY3Jvc3MtJHtUQVJHRVRfQVJDSH0iCiMgICBvdmVycmlkZVt2aXJ0dWFsL3g4
Nl82NC1wb2t5LWxpbnV4LWdjY106c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjYKIyAgICAgImdjYy1jcm9zcy0ke1RBUkdFVF9B
UkNIfSIKIyAgIG92ZXJyaWRlW3ZpcnR1YWwveDg2XzY0LXBva3ktbGludXgtZ2NjXTpyZW5hbWUg
ZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIGRhdGEu
cHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9IgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiTm9uZSIKIwojICRQUkVGRVJSRURfUFJPVklERVJfY29u
c29sZS10b29scwojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo0NgojICAgICAia2JkIgpQUkVGRVJSRURfUFJPVklE
RVJfY29uc29sZS10b29scz0ia2JkIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9kYnVzLWdsaWIK
IyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0
LXByb3ZpZGVycy5pbmM6MzUKIyAgICAgImRidXMtZ2xpYiIKUFJFRkVSUkVEX1BST1ZJREVSX2Ri
dXMtZ2xpYj0iZGJ1cy1nbGliIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9kYnVzLWdsaWItbmF0
aXZlCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVm
YXVsdC1wcm92aWRlcnMuaW5jOjM2CiMgICAgICJkYnVzLWdsaWItbmF0aXZlIgpQUkVGRVJSRURf
UFJPVklERVJfZGJ1cy1nbGliLW5hdGl2ZT0iZGJ1cy1nbGliLW5hdGl2ZSIKIwojICRQUkVGRVJS
RURfUFJPVklERVJfZ2RiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6OQojICAgICAiZ2RiIgpQUkVGRVJSRURfUFJPVklE
RVJfZ2RiPSJnZGIiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX2dkay1waXhidWYKIyAgIHNldD8g
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVy
cy5pbmM6MzcKIyAgICAgImdkay1waXhidWYiClBSRUZFUlJFRF9QUk9WSURFUl9nZGstcGl4YnVm
PSJnZGstcGl4YnVmIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9nZXRvcHQKIyAgIHNldD8gL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5p
bmM6NTEKIyAgICAgInV0aWwtbGludXgtZ2V0b3B0IgpQUkVGRVJSRURfUFJPVklERVJfZ2V0b3B0
PSJ1dGlsLWxpbnV4LWdldG9wdCIKIwojICRQUkVGRVJSRURfUFJPVklERVJfZ3ppcC1uYXRpdmUK
IyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0
LXByb3ZpZGVycy5pbmM6NDcKIyAgICAgInBpZ3otbmF0aXZlIgpQUkVGRVJSRURfUFJPVklERVJf
Z3ppcC1uYXRpdmU9InBpZ3otbmF0aXZlIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9saWJnY2MK
IyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0
LXByb3ZpZGVycy5pbmM6MzgKIyAgICAgImxpYmdjYyIKUFJFRkVSUkVEX1BST1ZJREVSX2xpYmdj
Yz0ibGliZ2NjIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9saW51eC1saWJjLWhlYWRlcnMKIyAg
IHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXBy
b3ZpZGVycy5pbmM6NDAKIyAgICAgImxpbnV4LWxpYmMtaGVhZGVycyIKUFJFRkVSUkVEX1BST1ZJ
REVSX2xpbnV4LWxpYmMtaGVhZGVycz0ibGludXgtbGliYy1oZWFkZXJzIgojCiMgJFBSRUZFUlJF
RF9QUk9WSURFUl9sdHAKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NTAKIyAgICAgImx0cCIKUFJFRkVSUkVEX1BS
T1ZJREVSX2x0cD0ibHRwIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9tYXRjaGJveC1wYW5lbAoj
ICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
cHJvdmlkZXJzLmluYzo0MgojICAgICAibWF0Y2hib3gtcGFuZWwtMiIKUFJFRkVSUkVEX1BST1ZJ
REVSX21hdGNoYm94LXBhbmVsPSJtYXRjaGJveC1wYW5lbC0yIgojCiMgJFBSRUZFUlJFRF9QUk9W
SURFUl9uYXRpdmVzZGstbGliZ2NjCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjM5CiMgICAgICJuYXRpdmVzZGst
bGliZ2NjIgpQUkVGRVJSRURfUFJPVklERVJfbmF0aXZlc2RrLWxpYmdjYz0ibmF0aXZlc2RrLWxp
YmdjYyIKIwojICRQUkVGRVJSRURfUFJPVklERVJfbmF0aXZlc2RrLWxpbnV4LWxpYmMtaGVhZGVy
cwojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1
bHQtcHJvdmlkZXJzLmluYzo0MQojICAgICAibmF0aXZlc2RrLWxpbnV4LWxpYmMtaGVhZGVycyIK
UFJFRkVSUkVEX1BST1ZJREVSX25hdGl2ZXNkay1saW51eC1saWJjLWhlYWRlcnM9Im5hdGl2ZXNk
ay1saW51eC1saWJjLWhlYWRlcnMiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX25hdGl2ZXNkay1t
ZXNhCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVm
YXVsdC1wcm92aWRlcnMuaW5jOjYwCiMgICAgICJuYXRpdmVzZGstbWVzYSIKUFJFRkVSUkVEX1BS
T1ZJREVSX25hdGl2ZXNkay1tZXNhPSJuYXRpdmVzZGstbWVzYSIKIwojICRQUkVGRVJSRURfUFJP
VklERVJfbmF0aXZlc2RrLW9wZW5zc2wKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NTQKIyAgICAgIm5hdGl2ZXNk
ay1vcGVuc3NsIgpQUkVGRVJSRURfUFJPVklERVJfbmF0aXZlc2RrLW9wZW5zc2w9Im5hdGl2ZXNk
ay1vcGVuc3NsIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9uYXRpdmVzZGstb3BrZwojICAgc2V0
PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlk
ZXJzLmluYzo0NQojICAgICAibmF0aXZlc2RrLW9wa2ciClBSRUZFUlJFRF9QUk9WSURFUl9uYXRp
dmVzZGstb3BrZz0ibmF0aXZlc2RrLW9wa2ciCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX25hdGl2
ZXNkay1wa2djb25maWcKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NTYKIyAgICAgIm5hdGl2ZXNkay1wa2djb25m
aWciClBSRUZFUlJFRF9QUk9WSURFUl9uYXRpdmVzZGstcGtnY29uZmlnPSJuYXRpdmVzZGstcGtn
Y29uZmlnIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9vcGVuc3NsCiMgICBzZXQ/IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjUy
CiMgICAgICJvcGVuc3NsIgpQUkVGRVJSRURfUFJPVklERVJfb3BlbnNzbD0ib3BlbnNzbCIKIwoj
ICRQUkVGRVJSRURfUFJPVklERVJfb3BlbnNzbC1uYXRpdmUKIyAgIHNldD8gL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NTMKIyAg
ICAgIm9wZW5zc2wtbmF0aXZlIgpQUkVGRVJSRURfUFJPVklERVJfb3BlbnNzbC1uYXRpdmU9Im9w
ZW5zc2wtbmF0aXZlIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl9vcGtnCiMgICBzZXQ/IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5j
OjQzCiMgICAgICJvcGtnIgpQUkVGRVJSRURfUFJPVklERVJfb3BrZz0ib3BrZyIKIwojICRQUkVG
RVJSRURfUFJPVklERVJfb3BrZy1uYXRpdmUKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NDQKIyAgICAgIm9wa2ct
bmF0aXZlIgpQUkVGRVJSRURfUFJPVklERVJfb3BrZy1uYXRpdmU9Im9wa2ctbmF0aXZlIgojCiMg
JFBSRUZFUlJFRF9QUk9WSURFUl9wa2djb25maWcKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6NTUKIyAgICAgInBr
Z2NvbmZpZyIKUFJFRkVSUkVEX1BST1ZJREVSX3BrZ2NvbmZpZz0icGtnY29uZmlnIgojCiMgJFBS
RUZFUlJFRF9QUk9WSURFUl9wa2djb25maWctbmF0aXZlCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjU3CiMgICAg
ICJwa2djb25maWctbmF0aXZlIgpQUkVGRVJSRURfUFJPVklERVJfcGtnY29uZmlnLW5hdGl2ZT0i
cGtnY29uZmlnLW5hdGl2ZSIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdWRldgojICAgc2V0PyAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJz
LmluYzo0OAojICAgICAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5
c3RlbWQnLCdzeXN0ZW1kJywnZXVkZXYnLGQpfSIKUFJFRkVSUkVEX1BST1ZJREVSX3VkZXY9ImV1
ZGV2IgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2Jhc2UtdXRpbHMKIyAgIHNldD8g
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVy
cy5pbmM6MTYKIyAgICAgImJ1c3lib3giClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2Jhc2Ut
dXRpbHM9ImJ1c3lib3giCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvZWdsIFsyIG9w
ZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNs
dWRlL3FlbXUuaW5jOjIKIyAgICAgIm1lc2EiCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjYKIyAgICAgIm1lc2Ei
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJtZXNhIgpQUkVGRVJSRURfUFJPVklERVJfdmly
dHVhbC9lZ2w9Im1lc2EiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvZmFrZXJvb3Qt
bmF0aXZlCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY5
NgojICAgICAicHNldWRvLW5hdGl2ZSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvZmFrZXJv
b3QtbmF0aXZlPSJwc2V1ZG8tbmF0aXZlIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFs
L2dldHRleHQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3RjbW9kZS1kZWZhdWx0LmluYzoxNwojICAgICBbX2RlZmF1bHR2YWxdICJnZXR0ZXh0IgpQUkVG
RVJSRURfUFJPVklERVJfdmlydHVhbC9nZXR0ZXh0PSJnZXR0ZXh0IgojCiMgJFBSRUZFUlJFRF9Q
Uk9WSURFUl92aXJ0dWFsL2tlcm5lbAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
bWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjIyCiMgICAgIFtfZGVmYXVsdHZhbF0gImxpbnV4LXlv
Y3RvIgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWw9ImxpbnV4LXlvY3RvIgojCiMg
JFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmMKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jOjEzCiMgICAgICJnbGli
YyIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliYz0iZ2xpYmMiCiMKIyAkUFJFRkVSUkVE
X1BST1ZJREVSX3ZpcnR1YWwvbGliYy1sb2NhbGUKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jOjE1CiMgICAgICJnbGliYy1s
b2NhbGUiClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmMtbG9jYWxlPSJnbGliYy1sb2Nh
bGUiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliZ2wgWzMgb3BlcmF0aW9uc10K
IyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29u
Zjo2CiMgICAgICJtZXNhIgojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hp
bmUvaW5jbHVkZS9xZW11LmluYzozCiMgICAgICJtZXNhIgojICAgc2V0PyAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo3CiMgICAg
ICJtZXNhIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAibWVzYSIKUFJFRkVSUkVEX1BST1ZJ
REVSX3ZpcnR1YWwvbGliZ2w9Im1lc2EiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwv
bGliZ2wtbmF0aXZlCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjgKIyAgICAgIm1lc2EtbmF0aXZlIgpQUkVGRVJS
RURfUFJPVklERVJfdmlydHVhbC9saWJnbC1uYXRpdmU9Im1lc2EtbmF0aXZlIgojCiMgJFBSRUZF
UlJFRF9QUk9WSURFUl92aXJ0dWFsL2xpYmdsZXMxIFszIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNvbmY6NwojICAgICAi
bWVzYSIKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUv
cWVtdS5pbmM6NAojICAgICAibWVzYSIKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MTAKIyAgICAgIm1lc2EiCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJtZXNhIgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVh
bC9saWJnbGVzMT0ibWVzYSIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJnbGVz
MiBbMyBvcGVyYXRpb25zXQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hp
bmUvcWVtdXg4Ni02NC5jb25mOjgKIyAgICAgIm1lc2EiCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjUKIyAgICAgIm1lc2EiCiMgICBz
ZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92
aWRlcnMuaW5jOjExCiMgICAgICJtZXNhIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAibWVz
YSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliZ2xlczI9Im1lc2EiCiMKIyAkUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliaWNvbnYKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jOjkKIyAgICAgImdsaWJjIgpQ
UkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJpY29udj0iZ2xpYmMiCiMKIyAkUFJFRkVSUkVE
X1BST1ZJREVSX3ZpcnR1YWwvbGliaW50bAojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmM6MTIKIyAgICAgImdsaWJjIgpQUkVG
RVJSRURfUFJPVklERVJfdmlydHVhbC9saWJpbnRsPSJnbGliYyIKIwojICRQUkVGRVJSRURfUFJP
VklERVJfdmlydHVhbC9saWJ4MTEKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MTUKIyAgICAgImxpYngxMSIKUFJF
RkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGlieDExPSJsaWJ4MTEiCiMKIyAkUFJFRkVSUkVEX1BS
T1ZJREVSX3ZpcnR1YWwvbWFrZQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzoxOAojICAgICAibWFrZSIKUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwvbWFrZT0ibWFrZSIKIwojICRQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC9tYWtlLW5hdGl2ZQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzoxOQojICAgICAibWFrZS1uYXRpdmUi
ClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL21ha2UtbmF0aXZlPSJtYWtlLW5hdGl2ZSIKIwoj
ICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9tZXNhCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjEyCiMgICAg
ICJtZXNhIgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9tZXNhPSJtZXNhIgojCiMgJFBSRUZF
UlJFRF9QUk9WSURFUl92aXJ0dWFsL25hdGl2ZXNkay1saWJjCiMgICBzZXQ/IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYzoxNAojICAgICAi
bmF0aXZlc2RrLWdsaWJjIgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9uYXRpdmVzZGstbGli
Yz0ibmF0aXZlc2RrLWdsaWJjIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL25hdGl2
ZXNkay1saWJnbAojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYzo5CiMgICAgICJuYXRpdmVzZGstbWVzYSIKUFJFRkVS
UkVEX1BST1ZJREVSX3ZpcnR1YWwvbmF0aXZlc2RrLWxpYmdsPSJuYXRpdmVzZGstbWVzYSIKIwoj
ICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9uYXRpdmVzZGstbGliaWNvbnYKIyAgIHNldD8g
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5j
OjEwCiMgICAgICJuYXRpdmVzZGstZ2xpYmMiClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL25h
dGl2ZXNkay1saWJpY29udj0ibmF0aXZlc2RrLWdsaWJjIgojCiMgJFBSRUZFUlJFRF9QUk9WSURF
Ul92aXJ0dWFsL25hdGl2ZXNkay1saWJpbnRsCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYzoxMQojICAgICAibmF0aXZlc2Rr
LWdsaWJjIgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9uYXRpdmVzZGstbGliaW50bD0ibmF0
aXZlc2RrLWdsaWJjIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3VwZGF0ZS1hbHRl
cm5hdGl2ZXMKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MTMKIyAgICAgIm9wa2ctdXRpbHMiClBSRUZFUlJFRF9Q
Uk9WSURFUl92aXJ0dWFsL3VwZGF0ZS1hbHRlcm5hdGl2ZXM9Im9wa2ctdXRpbHMiCiMKIyAkUFJF
RkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvdXBkYXRlLWFsdGVybmF0aXZlcy1uYXRpdmUKIyAgIHNl
dD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3Zp
ZGVycy5pbmM6MTQKIyAgICAgIm9wa2ctdXRpbHMtbmF0aXZlIgpQUkVGRVJSRURfUFJPVklERVJf
dmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzLW5hdGl2ZT0ib3BrZy11dGlscy1uYXRpdmUiCiMK
IyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveDg2XzY0LXBva3ktbGludXgtYmludXRpbHMg
WzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo1CiMgICAgICJiaW51dGlscy1jcm9zcy0ke1RBUkdF
VF9BUkNIfSIKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFS
R0VUX1BSRUZJWH1iaW51dGlscyBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgImJpbnV0
aWxzLWNyb3NzLSR7VEFSR0VUX0FSQ0h9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiYmlu
dXRpbHMtY3Jvc3MtJHtUQVJHRVRfQVJDSH0iClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3g4
Nl82NC1wb2t5LWxpbnV4LWJpbnV0aWxzPSJiaW51dGlscy1jcm9zcy14ODZfNjQiCiMKIyAkUFJF
RkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveDg2XzY0LXBva3ktbGludXgtY29tcGlsZXJsaWJzIFsy
IG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6OAojICAgICAiZ2NjLXJ1bnRpbWUiCiMgICByZW5hbWUg
ZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Y29tcGlsZXJs
aWJzIGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiZ2NjLXJ1bnRpbWUiCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICJnY2MtcnVudGltZSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1
YWwveDg2XzY0LXBva3ktbGludXgtY29tcGlsZXJsaWJzPSJnY2MtcnVudGltZSIKIwojICRQUkVG
RVJSRURfUFJPVklERVJfdmlydHVhbC94ODZfNjQtcG9reS1saW51eC1nKysgWzIgb3BlcmF0aW9u
c10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9k
ZS1kZWZhdWx0LmluYzo3CiMgICAgICJnY2MtY3Jvc3MtJHtUQVJHRVRfQVJDSH0iCiMgICByZW5h
bWUgZnJvbSBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9ZysrIGRh
dGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9Igoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9IgpQUkVG
RVJSRURfUFJPVklERVJfdmlydHVhbC94ODZfNjQtcG9reS1saW51eC1nKys9ImdjYy1jcm9zcy14
ODZfNjQiCiMKIyAkUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveDg2XzY0LXBva3ktbGludXgt
Z2NjIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NgojICAgICAiZ2NjLWNyb3NzLSR7VEFSR0VU
X0FSQ0h9IgojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJH
RVRfUFJFRklYfWdjYyBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgImdjYy1jcm9zcy0k
e1RBUkdFVF9BUkNIfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImdjYy1jcm9zcy0ke1RB
UkdFVF9BUkNIfSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveDg2XzY0LXBva3ktbGludXgt
Z2NjPSJnY2MtY3Jvc3MteDg2XzY0IgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3g4
Nl82NC1wb2t5c2RrLWxpbnV4LWJpbnV0aWxzLWNyb3Nzc2RrIFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1
bHQuaW5jOjExCiMgICAgICJiaW51dGlscy1jcm9zc3Nkay0ke1NES19TWVN9IgojICAgcmVuYW1l
IGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtfUFJFRklYfWJpbnV0aWxzLWNy
b3Nzc2RrIGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiYmludXRpbHMtY3Jvc3NzZGst
JHtTREtfU1lTfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImJpbnV0aWxzLWNyb3Nzc2Rr
LSR7U0RLX1NZU30iClBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3g4Nl82NC1wb2t5c2RrLWxp
bnV4LWJpbnV0aWxzLWNyb3Nzc2RrPSJiaW51dGlscy1jcm9zc3Nkay14ODZfNjQtcG9reXNkay1s
aW51eCIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC94ODZfNjQtcG9reXNkay1saW51
eC1jb21waWxlcmxpYnMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzoxNAojICAgICAibmF0aXZl
c2RrLWdjYy1ydW50aW1lIgojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1
YWwvJHtTREtfUFJFRklYfWNvbXBpbGVybGlicyBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAg
ICAgIm5hdGl2ZXNkay1nY2MtcnVudGltZSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIm5h
dGl2ZXNkay1nY2MtcnVudGltZSIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveDg2XzY0LXBv
a3lzZGstbGludXgtY29tcGlsZXJsaWJzPSJuYXRpdmVzZGstZ2NjLXJ1bnRpbWUiCiMKIyAkUFJF
RkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveDg2XzY0LXBva3lzZGstbGludXgtZysrIFsyIG9wZXJh
dGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90
Y21vZGUtZGVmYXVsdC5pbmM6MTMKIyAgICAgImdjYy1jcm9zc3Nkay0ke1NES19TWVN9IgojICAg
cmVuYW1lIGZyb20gUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtfUFJFRklYfWcrKyBk
YXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgImdjYy1jcm9zc3Nkay0ke1NES19TWVN9Igoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZ2NjLWNyb3Nzc2RrLSR7U0RLX1NZU30iClBSRUZF
UlJFRF9QUk9WSURFUl92aXJ0dWFsL3g4Nl82NC1wb2t5c2RrLWxpbnV4LWcrKz0iZ2NjLWNyb3Nz
c2RrLXg4Nl82NC1wb2t5c2RrLWxpbnV4IgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFs
L3g4Nl82NC1wb2t5c2RrLWxpbnV4LWdjYyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjEyCiMg
ICAgICJnY2MtY3Jvc3NzZGstJHtTREtfU1lTfSIKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9Q
Uk9WSURFUl92aXJ0dWFsLyR7U0RLX1BSRUZJWH1nY2MgZGF0YS5weToxMDQgW2V4cGFuZEtleXNd
CiMgICAgICJnY2MtY3Jvc3NzZGstJHtTREtfU1lTfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgImdjYy1jcm9zc3Nkay0ke1NES19TWVN9IgpQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC94
ODZfNjQtcG9reXNkay1saW51eC1nY2M9ImdjYy1jcm9zc3Nkay14ODZfNjQtcG9reXNkay1saW51
eCIKIwojICRQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC94c2VydmVyIFszIG9wZXJhdGlvbnNd
CiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNv
bmY6NQojICAgICAieHNlcnZlci14b3JnIgojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYzoxCiMgICAgICJ4c2VydmVyLXhvcmciCiMgICBz
ZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92
aWRlcnMuaW5jOjQKIyAgICAgInhzZXJ2ZXIteG9yZyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgInhzZXJ2ZXIteG9yZyIKUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveHNlcnZlcj0ieHNl
cnZlci14b3JnIgojCiMgJFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL3hzZXJ2ZXIteGY4Ngoj
ICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQt
cHJvdmlkZXJzLmluYzo1CiMgICAgICJ4c2VydmVyLXhvcmciClBSRUZFUlJFRF9QUk9WSURFUl92
aXJ0dWFsL3hzZXJ2ZXIteGY4Nj0ieHNlcnZlci14b3JnIgojCiMgJFBSRUZFUlJFRF9QUk9WSURF
Ul94Zjg2LXZpZGVvLWludGVsCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jOjE3CiMgICAgICJ4Zjg2LXZpZGVvLWlu
dGVsIgpQUkVGRVJSRURfUFJPVklERVJfeGY4Ni12aWRlby1pbnRlbD0ieGY4Ni12aWRlby1pbnRl
bCIKIwojICRQUkVGRVJSRURfUlBST1ZJREVSX2luaXRkLWZ1bmN0aW9ucwojICAgc2V0PyAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmlu
Yzo1OAojICAgICAiaW5pdHNjcmlwdHMiClBSRUZFUlJFRF9SUFJPVklERVJfaW5pdGQtZnVuY3Rp
b25zPSJpbml0c2NyaXB0cyIKIwojICRQUkVGRVJSRURfVkVSU0lPTiBbNjMgb3BlcmF0aW9uc10K
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMzEK
IyAgICAgW2RvY10gIklmIHRoZXJlIGFyZSBtdWx0aXBsZSB2ZXJzaW9ucyBvZiByZWNpcGVzIGF2
YWlsYWJsZSwgdGhpcyB2YXJpYWJsZSBkZXRlcm1pbmVzIHdoaWNoIHJlY2lwZSBzaG91bGQgYmUg
Z2l2ZW4gcHJlZmVyZW5jZS4iCiMgICBvdmVycmlkZVtsaW51eC15b2N0b106c2V0PyAvaG9tZS91
c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjoyNAojICAgICAiNS4yJSIK
IyAgIG92ZXJyaWRlW2djY106c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzozMQojICAgICAiJHtHQ0NWRVJTSU9OfSIKIyAgIG92
ZXJyaWRlW2djYy1ydW50aW1lXTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjM3CiMgICAgICIke0dDQ1ZFUlNJT059IgojICAg
b3ZlcnJpZGVbZ2NjLXNhbml0aXplcnNdOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MzgKIyAgICAgIiR7R0NDVkVSU0lPTn0i
CiMgICBvdmVycmlkZVtuYXRpdmVzZGstZ2NjLXJ1bnRpbWVdOnNldD8gL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MzkKIyAgICAgIiR7
U0RLR0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtuYXRpdmVzZGstZ2NjLXNhbml0aXplcnNdOnNl
dD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVs
dC5pbmM6NDAKIyAgICAgIiR7U0RLR0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtsaWJnY2NdOnNl
dD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVs
dC5pbmM6NDEKIyAgICAgIiR7R0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtsaWJnY2MtaW5pdGlh
bF06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1k
ZWZhdWx0LmluYzo0MgojICAgICAiJHtHQ0NWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW2xpYmdmb3J0
cmFuXTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2Rl
LWRlZmF1bHQuaW5jOjQzCiMgICAgICIke0dDQ1ZFUlNJT059IgojICAgb3ZlcnJpZGVbbmF0aXZl
c2RrLWdjY106c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3Rj
bW9kZS1kZWZhdWx0LmluYzo0NAojICAgICAiJHtTREtHQ0NWRVJTSU9OfSIKIyAgIG92ZXJyaWRl
W25hdGl2ZXNkay1saWJnY2NdOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NDUKIyAgICAgIiR7U0RLR0NDVkVSU0lPTn0iCiMg
ICBvdmVycmlkZVtuYXRpdmVzZGstbGliZ2NjLWluaXRpYWxdOnNldD8gL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NDYKIyAgICAgIiR7
U0RLR0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtiaW51dGlsc106c2V0PyAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo0NwojICAgICAi
JHtCSU5VVkVSU0lPTn0iCiMgICBvdmVycmlkZVtiaW51dGlscy1uYXRpdmVdOnNldD8gL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NDgK
IyAgICAgIiR7QklOVVZFUlNJT059IgojICAgb3ZlcnJpZGVbZ2RiXTpzZXQ/IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjUyCiMgICAg
ICIke0dEQlZFUlNJT059IgojICAgb3ZlcnJpZGVbbGludXgtbGliYy1oZWFkZXJzXTpzZXQ/IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5j
OjU2CiMgICAgICIke0xJTlVYTElCQ1ZFUlNJT059IgojICAgb3ZlcnJpZGVbbmF0aXZlc2RrLWxp
bnV4LWxpYmMtaGVhZGVyc106c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo1NwojICAgICAiJHtMSU5VWExJQkNWRVJTSU9OfSIK
IyAgIG92ZXJyaWRlW2dsaWJjXTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjU4CiMgICAgICIke0dMSUJDVkVSU0lPTn0iCiMg
ICBvdmVycmlkZVtnbGliYy1sb2NhbGVdOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NTkKIyAgICAgIiR7R0xJQkNWRVJTSU9O
fSIKIyAgIG92ZXJyaWRlW2dsaWJjLW10cmFjZV06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo2MAojICAgICAiJHtHTElCQ1ZF
UlNJT059IgojICAgb3ZlcnJpZGVbZ2xpYmMtc2NyaXB0c106c2V0PyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo2MQojICAgICAiJHtH
TElCQ1ZFUlNJT059IgojICAgb3ZlcnJpZGVbbmF0aXZlc2RrLWdsaWJjXTpzZXQ/IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjYyCiMg
ICAgICIke0dMSUJDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtjcm9zcy1sb2NhbGVkZWYtbmF0aXZl
XTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRl
ZmF1bHQuaW5jOjYzCiMgICAgICIke0dMSUJDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtxZW11XTpz
ZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1
bHQuaW5jOjY1CiMgICAgICIke1FFTVVWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW3FlbXUtbmF0aXZl
XTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRl
ZmF1bHQuaW5jOjY2CiMgICAgICIke1FFTVVWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW25hdGl2ZXNk
ay1xZW11XTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNt
b2RlLWRlZmF1bHQuaW5jOjY3CiMgICAgICIke1FFTVVWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW2dv
XTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRl
ZmF1bHQuaW5jOjczCiMgICAgICIke0dPVkVSU0lPTn0iCiMgICBvdmVycmlkZVtnby1uYXRpdmVd
OnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVm
YXVsdC5pbmM6NzQKIyAgICAgIiR7R09WRVJTSU9OfSIKIyAgIG92ZXJyaWRlW2dvLXJ1bnRpbWVd
OnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVm
YXVsdC5pbmM6NzUKIyAgICAgIiR7R09WRVJTSU9OfSIKIyAgIG92ZXJyaWRlW25hdGl2ZXNkay1n
b106c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1k
ZWZhdWx0LmluYzo3NgojICAgICAiJHtHT1ZFUlNJT059IgojICAgb3ZlcnJpZGVbbmF0aXZlc2Rr
LWdvLXJ1bnRpbWVdOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS90Y21vZGUtZGVmYXVsdC5pbmM6NzcKIyAgICAgIiR7R09WRVJTSU9OfSIKIyAgIG92ZXJyaWRl
W2xsdm1dOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9k
ZS1kZWZhdWx0LmluYzo3OQojICAgICAiJHtMTFZNVkVSU0lPTn0iCiMgICBvdmVycmlkZVtsbHZt
LW5hdGl2ZV06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNt
b2RlLWRlZmF1bHQuaW5jOjgwCiMgICAgICIke0xMVk1WRVJTSU9OfSIKIyAgIG92ZXJyaWRlW25h
dGl2ZXNkay1sbHZtXTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS90Y21vZGUtZGVmYXVsdC5pbmM6ODEKIyAgICAgIiR7TExWTVZFUlNJT059IgojICAgb3ZlcnJp
ZGVbYmludXRpbHMtY3Jvc3MteDg2XzY0XTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQ5CiMgICAgICIke0JJTlVWRVJTSU9O
fSIKIyAgIG92ZXJyaWRlW2JpbnV0aWxzLWNyb3NzLXg4Nl82NF06cmVuYW1lIGZyb20gUFJFRkVS
UkVEX1ZFUlNJT05fYmludXRpbHMtY3Jvc3MtJHtUQVJHRVRfQVJDSH0gZGF0YS5weToxMDQgW2V4
cGFuZEtleXNdCiMgICAgICIke0JJTlVWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW2JpbnV0aWxzLWNy
b3NzLWNhbmFkaWFuLXg4Ni02NF06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo1MQojICAgICAiJHtCSU5VVkVSU0lPTn0iCiMg
ICBvdmVycmlkZVtiaW51dGlscy1jcm9zcy1jYW5hZGlhbi14ODYtNjRdOnJlbmFtZSBmcm9tIFBS
RUZFUlJFRF9WRVJTSU9OX2JpbnV0aWxzLWNyb3NzLWNhbmFkaWFuLSR7VFJBTlNMQVRFRF9UQVJH
RVRfQVJDSH0gZGF0YS5weToxMDQgW2V4cGFuZEtleXNdCiMgICAgICIke0JJTlVWRVJTSU9OfSIK
IyAgIG92ZXJyaWRlW2JpbnV0aWxzLWNyb3Nzc2RrLXg4Nl82NC1wb2t5c2RrLWxpbnV4XTpzZXQ/
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQu
aW5jOjUwCiMgICAgICIke0JJTlVWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW2JpbnV0aWxzLWNyb3Nz
c2RrLXg4Nl82NC1wb2t5c2RrLWxpbnV4XTpyZW5hbWUgZnJvbSBQUkVGRVJSRURfVkVSU0lPTl9i
aW51dGlscy1jcm9zc3Nkay0ke1NES19TWVN9IGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAg
ICAiJHtCSU5VVkVSU0lPTn0iCiMgICBvdmVycmlkZVtnY2MtY3Jvc3MteDg2XzY0XTpzZXQ/IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5j
OjMyCiMgICAgICIke0dDQ1ZFUlNJT059IgojICAgb3ZlcnJpZGVbZ2NjLWNyb3NzLXg4Nl82NF06
cmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9IGRh
dGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtHQ0NWRVJTSU9OfSIKIyAgIG92ZXJyaWRl
W2djYy1jcm9zcy1jYW5hZGlhbi14ODYtNjRdOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MzYKIyAgICAgIiR7R0NDVkVSU0lP
Tn0iCiMgICBvdmVycmlkZVtnY2MtY3Jvc3MtY2FuYWRpYW4teDg2LTY0XTpyZW5hbWUgZnJvbSBQ
UkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9B
UkNIfSBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgIiR7R0NDVkVSU0lPTn0iCiMgICBv
dmVycmlkZVtnY2MtY3Jvc3MtaW5pdGlhbC14ODZfNjRdOnNldD8gL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MzMKIyAgICAgIiR7R0ND
VkVSU0lPTn0iCiMgICBvdmVycmlkZVtnY2MtY3Jvc3MtaW5pdGlhbC14ODZfNjRdOnJlbmFtZSBm
cm9tIFBSRUZFUlJFRF9WRVJTSU9OX2djYy1jcm9zcy1pbml0aWFsLSR7VEFSR0VUX0FSQ0h9IGRh
dGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtHQ0NWRVJTSU9OfSIKIyAgIG92ZXJyaWRl
W2djYy1jcm9zc3Nkay14ODZfNjQtcG9reXNkay1saW51eF06c2V0PyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzozNAojICAgICAiJHtT
REtHQ0NWRVJTSU9OfSIKIyAgIG92ZXJyaWRlW2djYy1jcm9zc3Nkay14ODZfNjQtcG9reXNkay1s
aW51eF06cmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3Nzc2RrLSR7U0RLX1NZ
U30gZGF0YS5weToxMDQgW2V4cGFuZEtleXNdCiMgICAgICIke1NES0dDQ1ZFUlNJT059IgojICAg
b3ZlcnJpZGVbZ2NjLWNyb3Nzc2RrLWluaXRpYWwteDg2XzY0LXBva3lzZGstbGludXhdOnNldD8g
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5p
bmM6MzUKIyAgICAgIiR7U0RLR0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtnY2MtY3Jvc3NzZGst
aW5pdGlhbC14ODZfNjQtcG9reXNkay1saW51eF06cmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJ
T05fZ2NjLWNyb3Nzc2RrLWluaXRpYWwtJHtTREtfU1lTfSBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5
c10KIyAgICAgIiR7U0RLR0NDVkVSU0lPTn0iCiMgICBvdmVycmlkZVtnZGItY3Jvc3MteDg2XzY0
XTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRl
ZmF1bHQuaW5jOjUzCiMgICAgICIke0dEQlZFUlNJT059IgojICAgb3ZlcnJpZGVbZ2RiLWNyb3Nz
LXg4Nl82NF06cmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fZ2RiLWNyb3NzLSR7VEFSR0VU
X0FSQ0h9IGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtHREJWRVJTSU9OfSIKIyAg
IG92ZXJyaWRlW2dkYi1jcm9zcy1jYW5hZGlhbi14ODYtNjRdOnNldD8gL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NTQKIyAgICAgIiR7
R0RCVkVSU0lPTn0iCiMgICBvdmVycmlkZVtnZGItY3Jvc3MtY2FuYWRpYW4teDg2LTY0XTpyZW5h
bWUgZnJvbSBQUkVGRVJSRURfVkVSU0lPTl9nZGItY3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVE
X1RBUkdFVF9BUkNIfSBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgIiR7R0RCVkVSU0lP
Tn0iCiMgICBvdmVycmlkZVtnby1jcm9zcy1jb3JlMi02NF06c2V0PyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo3MAojICAgICAiJHtH
T1ZFUlNJT059IgojICAgb3ZlcnJpZGVbZ28tY3Jvc3MtY29yZTItNjRdOnJlbmFtZSBmcm9tIFBS
RUZFUlJFRF9WRVJTSU9OX2dvLWNyb3NzLSR7VFVORV9QS0dBUkNIfSBkYXRhLnB5OjEwNCBbZXhw
YW5kS2V5c10KIyAgICAgIiR7R09WRVJTSU9OfSIKIyAgIG92ZXJyaWRlW2dvLWNyb3NzLWNhbmFk
aWFuLXg4Ni02NF06c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3RjbW9kZS1kZWZhdWx0LmluYzo3MgojICAgICAiJHtHT1ZFUlNJT059IgojICAgb3ZlcnJpZGVb
Z28tY3Jvc3MtY2FuYWRpYW4teDg2LTY0XTpyZW5hbWUgZnJvbSBQUkVGRVJSRURfVkVSU0lPTl9n
by1jcm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9IGRhdGEucHk6MTA0IFtl
eHBhbmRLZXlzXQojICAgICAiJHtHT1ZFUlNJT059IgojICAgb3ZlcnJpZGVbZ28tY3Jvc3NzZGst
eDg2XzY0XTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNt
b2RlLWRlZmF1bHQuaW5jOjcxCiMgICAgICIke0dPVkVSU0lPTn0iCiMgICBvdmVycmlkZVtnby1j
cm9zc3Nkay14ODZfNjRdOnJlbmFtZSBmcm9tIFBSRUZFUlJFRF9WRVJTSU9OX2dvLWNyb3Nzc2Rr
LSR7U0RLX0FSQ0h9IGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtHT1ZFUlNJT059
IgojICAgb3ZlcnJpZGVbdmlydHVhbC94ODZfNjQtcG9reS1saW51eC1nb106c2V0PyAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo2OQoj
ICAgICAiJHtHT1ZFUlNJT059IgojICAgb3ZlcnJpZGVbdmlydHVhbC94ODZfNjQtcG9reS1saW51
eC1nb106cmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fdmlydHVhbC8ke1RBUkdFVF9QUkVG
SVh9Z28gZGF0YS5weToxMDQgW2V4cGFuZEtleXNdCiMgICAgICIke0dPVkVSU0lPTn0iCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICJOb25lIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2JpbnV0
aWxzCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNt
b2RlLWRlZmF1bHQuaW5jOjQ3CiMgICAgICIke0JJTlVWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJ
T05fYmludXRpbHM9IjIuMzIlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2JpbnV0aWxzLWNyb3Nz
LWNhbmFkaWFuLXg4Ni02NCBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo1MQojICAgICAiJHtC
SU5VVkVSU0lPTn0iCiMgICByZW5hbWUgZnJvbSBQUkVGRVJSRURfVkVSU0lPTl9iaW51dGlscy1j
cm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9IGRhdGEucHk6MTA0IFtleHBh
bmRLZXlzXQojICAgICAiJHtCSU5VVkVSU0lPTn0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICIke0JJTlVWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fYmludXRpbHMtY3Jvc3MtY2FuYWRp
YW4teDg2LTY0PSIyLjMyJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9iaW51dGlscy1jcm9zcy14
ODZfNjQgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NDkKIyAgICAgIiR7QklOVVZFUlNJT059
IgojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fYmludXRpbHMtY3Jvc3MtJHtUQVJH
RVRfQVJDSH0gZGF0YS5weToxMDQgW2V4cGFuZEtleXNdCiMgICAgICIke0JJTlVWRVJTSU9OfSIK
IyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7QklOVVZFUlNJT059IgpQUkVGRVJSRURfVkVS
U0lPTl9iaW51dGlscy1jcm9zcy14ODZfNjQ9IjIuMzIlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9O
X2JpbnV0aWxzLWNyb3Nzc2RrLXg4Nl82NC1wb2t5c2RrLWxpbnV4IFsyIG9wZXJhdGlvbnNdCiMg
ICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRl
ZmF1bHQuaW5jOjUwCiMgICAgICIke0JJTlVWRVJTSU9OfSIKIyAgIHJlbmFtZSBmcm9tIFBSRUZF
UlJFRF9WRVJTSU9OX2JpbnV0aWxzLWNyb3Nzc2RrLSR7U0RLX1NZU30gZGF0YS5weToxMDQgW2V4
cGFuZEtleXNdCiMgICAgICIke0JJTlVWRVJTSU9OfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIiR7QklOVVZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9iaW51dGlscy1jcm9zc3Nkay14
ODZfNjQtcG9reXNkay1saW51eD0iMi4zMiUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fYmludXRp
bHMtbmF0aXZlCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQ4CiMgICAgICIke0JJTlVWRVJTSU9OfSIKUFJFRkVSUkVE
X1ZFUlNJT05fYmludXRpbHMtbmF0aXZlPSIyLjMyJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9j
cm9zcy1sb2NhbGVkZWYtbmF0aXZlCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjYzCiMgICAgICIke0dMSUJDVkVSU0lP
Tn0iClBSRUZFUlJFRF9WRVJTSU9OX2Nyb3NzLWxvY2FsZWRlZi1uYXRpdmU9IjIuMzAlIgojCiMg
JFBSRUZFUlJFRF9WRVJTSU9OX2djYwojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzozMQojICAgICAiJHtHQ0NWRVJTSU9O
fSIKUFJFRkVSUkVEX1ZFUlNJT05fZ2NjPSI5LiUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fZ2Nj
LWNyb3NzLWNhbmFkaWFuLXg4Ni02NCBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzozNgojICAg
ICAiJHtHQ0NWRVJTSU9OfSIKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJFRF9WRVJTSU9OX2djYy1j
cm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9IGRhdGEucHk6MTA0IFtleHBh
bmRLZXlzXQojICAgICAiJHtHQ0NWRVJTSU9OfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
IiR7R0NDVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX2djYy1jcm9zcy1jYW5hZGlhbi14ODYt
NjQ9IjkuJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3MtaW5pdGlhbC14ODZfNjQg
WzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MzMKIyAgICAgIiR7R0NDVkVSU0lPTn0iCiMgICBy
ZW5hbWUgZnJvbSBQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3MtaW5pdGlhbC0ke1RBUkdFVF9B
UkNIfSBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgIiR7R0NDVkVSU0lPTn0iCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0dDQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9n
Y2MtY3Jvc3MtaW5pdGlhbC14ODZfNjQ9IjkuJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9nY2Mt
Y3Jvc3MteDg2XzY0IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjMyCiMgICAgICIke0dDQ1ZF
UlNJT059IgojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3NzLSR7VEFS
R0VUX0FSQ0h9IGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtHQ0NWRVJTSU9OfSIK
IyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7R0NDVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJT
SU9OX2djYy1jcm9zcy14ODZfNjQ9IjkuJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jv
c3NzZGstaW5pdGlhbC14ODZfNjQtcG9reXNkay1saW51eCBbMiBvcGVyYXRpb25zXQojICAgc2V0
PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0
LmluYzozNQojICAgICAiJHtTREtHQ0NWRVJTSU9OfSIKIyAgIHJlbmFtZSBmcm9tIFBSRUZFUlJF
RF9WRVJTSU9OX2djYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30gZGF0YS5weToxMDQgW2V4
cGFuZEtleXNdCiMgICAgICIke1NES0dDQ1ZFUlNJT059IgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiJHtTREtHQ0NWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLWNyb3Nzc2RrLWlu
aXRpYWwteDg2XzY0LXBva3lzZGstbGludXg9IjkuJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9n
Y2MtY3Jvc3NzZGsteDg2XzY0LXBva3lzZGstbGludXggWzIgb3BlcmF0aW9uc10KIyAgIHNldD8g
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5p
bmM6MzQKIyAgICAgIiR7U0RLR0NDVkVSU0lPTn0iCiMgICByZW5hbWUgZnJvbSBQUkVGRVJSRURf
VkVSU0lPTl9nY2MtY3Jvc3NzZGstJHtTREtfU1lTfSBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10K
IyAgICAgIiR7U0RLR0NDVkVSU0lPTn0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1NE
S0dDQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3NzZGsteDg2XzY0LXBva3lz
ZGstbGludXg9IjkuJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9nY2MtcnVudGltZQojICAgc2V0
PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0
LmluYzozNwojICAgICAiJHtHQ0NWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLXJ1bnRp
bWU9IjkuJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9nY2Mtc2FuaXRpemVycwojICAgc2V0PyAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0Lmlu
YzozOAojICAgICAiJHtHQ0NWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ2NjLXNhbml0aXpl
cnM9IjkuJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9nZGIKIyAgIHNldD8gL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NTIKIyAgICAg
IiR7R0RCVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX2dkYj0iOC4zJSIKIwojICRQUkVGRVJS
RURfVkVSU0lPTl9nZGItY3Jvc3MtY2FuYWRpYW4teDg2LTY0IFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1
bHQuaW5jOjU0CiMgICAgICIke0dEQlZFUlNJT059IgojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVE
X1ZFUlNJT05fZ2RiLWNyb3NzLWNhbmFkaWFuLSR7VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH0gZGF0
YS5weToxMDQgW2V4cGFuZEtleXNdCiMgICAgICIke0dEQlZFUlNJT059IgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiJHtHREJWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ2RiLWNyb3Nz
LWNhbmFkaWFuLXg4Ni02ND0iOC4zJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9nZGItY3Jvc3Mt
eDg2XzY0IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjUzCiMgICAgICIke0dEQlZFUlNJT059
IgojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fZ2RiLWNyb3NzLSR7VEFSR0VUX0FS
Q0h9IGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtHREJWRVJTSU9OfSIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7R0RCVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX2dk
Yi1jcm9zcy14ODZfNjQ9IjguMyUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fZ2xpYmMKIyAgIHNl
dD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVs
dC5pbmM6NTgKIyAgICAgIiR7R0xJQkNWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ2xpYmM9
IjIuMzAlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2dsaWJjLWxvY2FsZQojICAgc2V0PyAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo1
OQojICAgICAiJHtHTElCQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9nbGliYy1sb2NhbGU9
IjIuMzAlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2dsaWJjLW10cmFjZQojICAgc2V0PyAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo2
MAojICAgICAiJHtHTElCQ1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9nbGliYy1tdHJhY2U9
IjIuMzAlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2dsaWJjLXNjcmlwdHMKIyAgIHNldD8gL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6
NjEKIyAgICAgIiR7R0xJQkNWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ2xpYmMtc2NyaXB0
cz0iMi4zMCUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fZ28KIyAgIHNldD8gL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NzMKIyAgICAg
IiR7R09WRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ289IjEuMTIlIgojCiMgJFBSRUZFUlJF
RF9WRVJTSU9OX2dvLWNyb3NzLWNhbmFkaWFuLXg4Ni02NCBbMiBvcGVyYXRpb25zXQojICAgc2V0
PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0
LmluYzo3MgojICAgICAiJHtHT1ZFUlNJT059IgojICAgcmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZF
UlNJT05fZ28tY3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSBkYXRhLnB5
OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgIiR7R09WRVJTSU9OfSIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiR7R09WRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ28tY3Jvc3MtY2FuYWRp
YW4teDg2LTY0PSIxLjEyJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9nby1jcm9zcy1jb3JlMi02
NCBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo3MAojICAgICAiJHtHT1ZFUlNJT059IgojICAg
cmVuYW1lIGZyb20gUFJFRkVSUkVEX1ZFUlNJT05fZ28tY3Jvc3MtJHtUVU5FX1BLR0FSQ0h9IGRh
dGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtHT1ZFUlNJT059IgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiJHtHT1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9nby1jcm9zcy1j
b3JlMi02ND0iMS4xMiUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fZ28tY3Jvc3NzZGsteDg2XzY0
IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjcxCiMgICAgICIke0dPVkVSU0lPTn0iCiMgICBy
ZW5hbWUgZnJvbSBQUkVGRVJSRURfVkVSU0lPTl9nby1jcm9zc3Nkay0ke1NES19BUkNIfSBkYXRh
LnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgIiR7R09WRVJTSU9OfSIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIiR7R09WRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ28tY3Jvc3NzZGst
eDg2XzY0PSIxLjEyJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9nby1uYXRpdmUKIyAgIHNldD8g
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5p
bmM6NzQKIyAgICAgIiR7R09WRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fZ28tbmF0aXZlPSIx
LjEyJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9nby1ydW50aW1lCiMgICBzZXQ/IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjc1CiMg
ICAgICIke0dPVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX2dvLXJ1bnRpbWU9IjEuMTIlIgoj
CiMgJFBSRUZFUlJFRF9WRVJTSU9OX2xpYmdjYwojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo0MQojICAgICAiJHtHQ0NW
RVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fbGliZ2NjPSI5LiUiCiMKIyAkUFJFRkVSUkVEX1ZF
UlNJT05fbGliZ2NjLWluaXRpYWwKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NDIKIyAgICAgIiR7R0NDVkVSU0lPTn0i
ClBSRUZFUlJFRF9WRVJTSU9OX2xpYmdjYy1pbml0aWFsPSI5LiUiCiMKIyAkUFJFRkVSUkVEX1ZF
UlNJT05fbGliZ2ZvcnRyYW4KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NDMKIyAgICAgIiR7R0NDVkVSU0lPTn0iClBS
RUZFUlJFRF9WRVJTSU9OX2xpYmdmb3J0cmFuPSI5LiUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05f
bGludXgtbGliYy1oZWFkZXJzCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjU2CiMgICAgICIke0xJTlVYTElCQ1ZFUlNJ
T059IgpQUkVGRVJSRURfVkVSU0lPTl9saW51eC1saWJjLWhlYWRlcnM9IjUuMiUiCiMKIyAkUFJF
RkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG8KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEt
cG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmY6MjQKIyAgICAgIjUuMiUiClBSRUZFUlJFRF9WRVJT
SU9OX2xpbnV4LXlvY3RvPSI1LjIlIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2xsdm0KIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0
LmluYzo3OQojICAgICAiJHtMTFZNVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX2xsdm09Ijgu
MC4xIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX2xsdm0tbmF0aXZlCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6ODAKIyAg
ICAgIiR7TExWTVZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9sbHZtLW5hdGl2ZT0iOC4wLjEi
CiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWdjYwojICAgc2V0PyAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo0NAojICAg
ICAiJHtTREtHQ0NWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWdjYz0iOS4l
IgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX25hdGl2ZXNkay1nY2MtcnVudGltZQojICAgc2V0PyAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0Lmlu
YzozOQojICAgICAiJHtTREtHQ0NWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2Rr
LWdjYy1ydW50aW1lPSI5LiUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWdjYy1z
YW5pdGl6ZXJzCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvdGNtb2RlLWRlZmF1bHQuaW5jOjQwCiMgICAgICIke1NES0dDQ1ZFUlNJT059IgpQUkVGRVJS
RURfVkVSU0lPTl9uYXRpdmVzZGstZ2NjLXNhbml0aXplcnM9IjkuJSIKIwojICRQUkVGRVJSRURf
VkVSU0lPTl9uYXRpdmVzZGstZ2xpYmMKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NjIKIyAgICAgIiR7R0xJQkNWRVJT
SU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWdsaWJjPSIyLjMwJSIKIwojICRQUkVG
RVJSRURfVkVSU0lPTl9uYXRpdmVzZGstZ28KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NzYKIyAgICAgIiR7R09WRVJT
SU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWdvPSIxLjEyJSIKIwojICRQUkVGRVJS
RURfVkVSU0lPTl9uYXRpdmVzZGstZ28tcnVudGltZQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo3NwojICAgICAiJHtH
T1ZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9uYXRpdmVzZGstZ28tcnVudGltZT0iMS4xMiUi
CiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWxpYmdjYwojICAgc2V0PyAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo0NQoj
ICAgICAiJHtTREtHQ0NWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWxpYmdj
Yz0iOS4lIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX25hdGl2ZXNkay1saWJnY2MtaW5pdGlhbAoj
ICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1k
ZWZhdWx0LmluYzo0NgojICAgICAiJHtTREtHQ0NWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05f
bmF0aXZlc2RrLWxpYmdjYy1pbml0aWFsPSI5LiUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fbmF0
aXZlc2RrLWxpbnV4LWxpYmMtaGVhZGVycwojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo1NwojICAgICAiJHtMSU5VWExJ
QkNWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWxpbnV4LWxpYmMtaGVhZGVy
cz0iNS4yJSIKIwojICRQUkVGRVJSRURfVkVSU0lPTl9uYXRpdmVzZGstbGx2bQojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5j
OjgxCiMgICAgICIke0xMVk1WRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2RrLWxs
dm09IjguMC4xIgojCiMgJFBSRUZFUlJFRF9WRVJTSU9OX25hdGl2ZXNkay1xZW11CiMgICBzZXQ/
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQu
aW5jOjY3CiMgICAgICIke1FFTVVWRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fbmF0aXZlc2Rr
LXFlbXU9IjQuMSUiCiMKIyAkUFJFRkVSUkVEX1ZFUlNJT05fcWVtdQojICAgc2V0PyAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzo2NQoj
ICAgICAiJHtRRU1VVkVSU0lPTn0iClBSRUZFUlJFRF9WRVJTSU9OX3FlbXU9IjQuMSUiCiMKIyAk
UFJFRkVSUkVEX1ZFUlNJT05fcWVtdS1uYXRpdmUKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6NjYKIyAgICAgIiR7UUVN
VVZFUlNJT059IgpQUkVGRVJSRURfVkVSU0lPTl9xZW11LW5hdGl2ZT0iNC4xJSIKIwojICRQUkVG
RVJSRURfVkVSU0lPTl92aXJ0dWFsL3g4Nl82NC1wb2t5LWxpbnV4LWdvIFsyIG9wZXJhdGlvbnNd
CiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2Rl
LWRlZmF1bHQuaW5jOjY5CiMgICAgICIke0dPVkVSU0lPTn0iCiMgICByZW5hbWUgZnJvbSBQUkVG
RVJSRURfVkVSU0lPTl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nbyBkYXRhLnB5OjEwNCBbZXhw
YW5kS2V5c10KIyAgICAgIiR7R09WRVJTSU9OfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
IiR7R09WRVJTSU9OfSIKUFJFRkVSUkVEX1ZFUlNJT05fdmlydHVhbC94ODZfNjQtcG9reS1saW51
eC1nbz0iMS4xMiUiCiMKIyAkUFJFTUlSUk9SUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjUwCiMgICAgIFtfZGVm
YXVsdHZhbF0gImJ6cjovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3Jn
L21pcnJvci9zb3VyY2VzLyBcbiBjdnM6Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9w
cm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gZ2l0Oi8vLiovLiogICBodHRwOi8vZG93bmxv
YWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGdpdHNtOi8vLiovLiogaHR0
cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBoZzovLy4q
Ly4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8g
XG4gb3NjOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9y
L3NvdXJjZXMvIFxuIHA0Oi8vLiovLiogICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qu
b3JnL21pcnJvci9zb3VyY2VzLyBcbiBzdm46Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9j
dG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzMyCiMgICAgIFtkb2NdICJTcGVjaWZpZXMg
YWRkaXRpb25hbCBwYXRocyBmcm9tIHdoaWNoIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVt
IGdldHMgc291cmNlIGNvZGUuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiYnpyOi8vLiov
LiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxu
IGN2czovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9z
b3VyY2VzLyBcbiBnaXQ6Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9y
Zy9taXJyb3Ivc291cmNlcy8gXG4gZ2l0c206Ly8uKi8uKiBodHRwOi8vZG93bmxvYWRzLnlvY3Rv
cHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGhnOi8vLiovLiogICAgaHR0cDovL2Rvd25s
b2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBvc2M6Ly8uKi8uKiAgIGh0
dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gcDQ6Ly8u
Ki8uKiAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMv
IFxuIHN2bjovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJv
ci9zb3VyY2VzLyBcbiIKUFJFTUlSUk9SUz0iYnpyOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRz
LnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIGN2czovLy4qLy4qICAgaHR0cDov
L2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiBnaXQ6Ly8uKi8u
KiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4g
Z2l0c206Ly8uKi8uKiBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3Nv
dXJjZXMvIFxuIGhnOi8vLiovLiogICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3Jn
L21pcnJvci9zb3VyY2VzLyBcbiBvc2M6Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9w
cm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gcDQ6Ly8uKi8uKiAgICBodHRwOi8vZG93bmxv
YWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIHN2bjovLy4qLy4qICAgaHR0
cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiIKIwojICRQ
UkVQUk9DRVNTX1JFTE9DQVRFX0RJUlMKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY2xh
c3Nlcy9jaHJwYXRoLmJiY2xhc3M6MgojICAgICAiIgpQUkVQUk9DRVNTX1JFTE9DQVRFX0RJUlM9
IiIKIwojICRQUklPUklUWSBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjIzMAojICAgICAib3B0aW9uYWwiCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzMzCiMgICAgIFtkb2NdICJJ
bmRpY2F0ZXMgdGhlIGltcG9ydGFuY2Ugb2YgYSBwYWNrYWdlLiAgVGhlIGRlZmF1bHQgdmFsdWUg
aXMgJ29wdGlvbmFsJy4gIE90aGVyIHN0YW5kYXJkIHZhbHVlcyBhcmUgJ3JlcXVpcmVkJywgJ3N0
YW5kYXJkJyBhbmQgJ2V4dHJhJy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJvcHRpb25h
bCIKUFJJT1JJVFk9Im9wdGlvbmFsIgojCiMgJFBST1ZJREVTIFszIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mjc0CiMgICAgICIiCiMg
ICBfcHJlcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNzUKIyAg
ICAgIiR7UE59ICIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjozMzQKIyAgICAgW2RvY10gIkEgbGlzdCBvZiBhbGlhc2VzIHRoYXQgYSByZWNpcGUg
YWxzbyBwcm92aWRlcy4gVGhlc2UgYWxpYXNlcyBhcmUgdXNlZnVsIGZvciBzYXRpc2Z5aW5nIGRl
cGVuZGVuY2llcyBvZiBvdGhlciByZWNpcGVzIGR1cmluZyB0aGUgYnVpbGQgYXMgc3BlY2lmaWVk
IGJ5IERFUEVORFMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtQTn0gIgpQUk9WSURF
Uz0iZXhhbXBsZSAiCiMKIyAkUFJTRVJWX0hPU1QKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMzUKIyAgICAgW2RvY10gIlRoZSBuZXR3b3JrIGJh
c2VkIFBSIHNlcnZpY2UgaG9zdCBhbmQgcG9ydC4iCiMKIyAkUFNFVURPX0RJU0FCTEVEIFsyIG9w
ZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo2ODcKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6Njg3CiMgICAgICIxIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiMSIKZXhwb3J0IFBTRVVET19ESVNBQkxFRD0iMSIKIwojICRQU0VVRE9fTE9DQUxTVEFURURJ
UgojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2ODQKIyAg
ICAgIiR7V09SS0RJUn0vcHNldWRvLyIKUFNFVURPX0xPQ0FMU1RBVEVESVI9Ii9ob21lL3VzZXIv
cG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3Bz
ZXVkby8iCiMKIyAkUFNFVURPX1BBU1NXRAojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo2ODUKIyAgICAgIiR7U1RBR0lOR19ESVJfVEFSR0VUfToke1BTRVVE
T19TWVNST09UfSIKUFNFVURPX1BBU1NXRD0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3Jr
L2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3Q6L2hvbWUv
dXNlci9wb2t5L2J1aWxkL3RtcC9zeXNyb290cy1jb21wb25lbnRzL3g4Nl82NC9wc2V1ZG8tbmF0
aXZlIgojCiMgJFBTRVVET19TWVNST09UCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6Njg2CiMgICAgICIke0NPTVBPTkVOVFNfRElSfS8ke0JVSUxEX0FSQ0h9
L3BzZXVkby1uYXRpdmUiClBTRVVET19TWVNST09UPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1w
L3N5c3Jvb3RzLWNvbXBvbmVudHMveDg2XzY0L3BzZXVkby1uYXRpdmUiCiMKIyAkUFYgWzMgb3Bl
cmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoy
MDMKIyAgICAgIiR7QGJiLnBhcnNlLnZhcnNfZnJvbV9maWxlKGQuZ2V0VmFyKCdGSUxFJywgRmFs
c2UpLGQpWzFdIG9yICcxLjAnfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjozMzYKIyAgICAgW2RvY10gIlRoZSB2ZXJzaW9uIG9mIHRoZSByZWNp
cGUuIFRoZSB2ZXJzaW9uIGlzIG5vcm1hbGx5IGV4dHJhY3RlZCBmcm9tIHRoZSByZWNpcGUgZmls
ZW5hbWUuIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xh
c3M6MjEKIyAgICAgW3ZhcmRlcHZhbHVlXSAiJHtQVn0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIke0BiYi5wYXJzZS52YXJzX2Zyb21fZmlsZShkLmdldFZhcignRklMRScsIEZhbHNlKSxk
KVsxXSBvciAnMS4wJ30iClBWPSIwLjEiCiMKIyAkUFdEIFsyIG9wZXJhdGlvbnNdCiMgICBmcm9t
IGVudiBkYXRhLnB5OjExMiBbaW5oZXJpdEZyb21PU10KIyAgICAgIi9ob21lL3VzZXIvcG9reS9i
dWlsZCIKIyAgIGF1dG8gZW52IGV4cG9ydCBkYXRhLnB5OjExNCBbaW5oZXJpdEZyb21PU10KIyAg
ICAgW2V4cG9ydF0gIlRydWUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIvaG9tZS91c2Vy
L3Bva3kvYnVpbGQiCmV4cG9ydCBQV0Q9Ii9ob21lL3VzZXIvcG9reS9idWlsZCIKIwojICRQWVBJ
X1BBQ0tBR0UKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjozMzcKIyAgICAgW2RvY10gIlRoZSBweXRob24gcGFja2FnZSBuYW1lIHRvIHVzZSBmb3Ig
ZmV0Y2hpbmcgZnJvbSBweXBpLiBEZWZhdWx0IGlzIHBhcnNlZCBmcm9tIHRoZSByZWNpcGUgbmFt
ZSwgYnV0IGNhbiBiZSBvdmVycmlkZGVuIGlmIHVwc3RyZWFtIG5hbWUgaXMgZGlmZmVyZW50IHRo
YW4gcmVjaXBlIG5hbWUuIgojCiMgJFBZUElfUEFDS0FHRV9FWFQKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMzgKIyAgICAgW2RvY10gIlRoZSBh
cmNoaXZlIGZpbGUgZXh0ZW5zaW9uIHRvIHVzZSBmb3IgZmV0Y2hpbmcgZnJvbSBweXBpLiBEZWZh
dWx0IGlzIHRhci5neiwgYnV0IGNhbiBiZSBvdmVycmlkZGVuIGlmIHVwc3RyZWFtIHVzZXMgYSBk
aWZmZXJlbnQgY29tcHJlc3Npb24gc2NoZW1lLiIKIwojICRQWVBJX1NSQ19VUkkKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMzkKIyAgICAgW2Rv
Y10gIlRoZSBVUkkgdG8gdXNlIHRvIGZldGNoIGZyb20gcHlwaSwgZGVmYXVsdCB1c2VzIHB5dGhv
bmhvc3RlZC5vcmcgYW5kIGlzIGNvbnN0cnVjdGVkIGZyb20gUFlQSV9QQUNLQUdFLCBQWVBJX1BB
Q0tBR0VfRVhUIGFuZCBQVi4iCiMKIyAkUFlUSE9OCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6NTMzCiMgICAgICIke0BzeXMuZXhlY3V0YWJsZX0iClBZVEhP
Tj0iL3Vzci9iaW4vcHl0aG9uMyIKIwojICRRQVBBVEhURVNUIFsxNiBvcGVyYXRpb25zXQojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6ODUKIyAgICAg
W2xpYmV4ZWNdICJwYWNrYWdlX3FhX2NoZWNrX2xpYmV4ZWMiCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczo5OQojICAgICBbcnBhdGhzXSAicGFja2Fn
ZV9xYV9jaGVja19ycGF0aCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2lu
c2FuZS5iYmNsYXNzOjEyNAojICAgICBbdXNlbGVzcy1ycGF0aHNdICJwYWNrYWdlX3FhX2NoZWNr
X3VzZWxlc3NfcnBhdGhzIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvaW5z
YW5lLmJiY2xhc3M6MTU0CiMgICAgIFtkZXYtc29dICJwYWNrYWdlX3FhX2NoZWNrX2RldiIKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjE2NAojICAg
ICBbZGV2LWVsZl0gInBhY2thZ2VfcWFfY2hlY2tfZGV2X2VsZiIKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjE3NQojICAgICBbc3RhdGljZGV2XSAi
cGFja2FnZV9xYV9jaGVja19zdGF0aWNkZXYiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y2xhc3Nlcy9pbnNhbmUuYmJjbGFzczoyNTEKIyAgICAgW2RlYnVnLWZpbGVzXSAicGFja2FnZV9x
YV9jaGVja19kYmciCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUu
YmJjbGFzczoyNjIKIyAgICAgW2FyY2hdICJwYWNrYWdlX3FhX2NoZWNrX2FyY2giCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczozMTEKIyAgICAgW2Rl
c2t0b3BdICJwYWNrYWdlX3FhX2NoZWNrX2Rlc2t0b3AiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczozMjMKIyAgICAgW3RleHRyZWxdICJwYWNrYWdl
X3FhX3RleHRyZWwiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUu
YmJjbGFzczozNDcKIyAgICAgW2xkZmxhZ3NdICJwYWNrYWdlX3FhX2hhc2hfc3R5bGUiCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczozODMKIyAgICAg
W2J1aWxkcGF0aHNdICJwYWNrYWdlX3FhX2NoZWNrX2J1aWxkcGF0aHMiCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzczo0MDgKIyAgICAgW3hvcmctZHJp
dmVyLWFiaV0gInBhY2thZ2VfcWFfY2hlY2tfeG9yZ19kcml2ZXJfYWJpIgojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6NDI2CiMgICAgIFtpbmZvZGly
XSAicGFja2FnZV9xYV9jaGVja19pbmZvZGlyIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6NDM2CiMgICAgIFtzeW1saW5rLXRvLXN5c3Jvb3RdICJw
YWNrYWdlX3FhX2NoZWNrX3N5bWxpbmtfdG9fc3lzcm9vdCIKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjg1NgojICAgICBbaG9zdC11c2VyLWNvbnRh
bWluYXRlZF0gInBhY2thZ2VfcWFfY2hlY2tfaG9zdF91c2VyIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiTm9uZSIKIwojICRRQVBLR1RFU1QgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjc4NgojICAgICBbdXNybWVy
Z2VdICJwYWNrYWdlX3FhX2NoZWNrX3Vzcm1lcmdlIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6Nzk4CiMgICAgIFtwZXJsbG9jYWxwb2RdICJwYWNr
YWdlX3FhX2NoZWNrX3Blcmxsb2NhbHBvZCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
bGFzc2VzL2luc2FuZS5iYmNsYXNzOjgxNQojICAgICBbZXhwYW5kZWQtZF0gInBhY2thZ2VfcWFf
Y2hlY2tfZXhwYW5kZWRfZCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIk5vbmUiCiMKIyAk
UUFSRUNJUEVURVNUCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUu
YmJjbGFzczo4ODcKIyAgICAgW3NyYy11cmktYmFkXSAicGFja2FnZV9xYV9jaGVja19zcmNfdXJp
IgojCiMgJFFBX0xPR0ZJTEUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmM6MQojICAgICAiJHtUTVBESVJ9L3FhLmxv
ZyIKUUFfTE9HRklMRT0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC9xYS5sb2ciCiMKIyAkUUFf
U0FORQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3M6
MjEKIyAgICAgIlRydWUiClFBX1NBTkU9IlRydWUiCiMKIyAkUUJfQVVESU9fRFJWCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2Lmlu
Yzo5CiMgICAgICJhbHNhIgpRQl9BVURJT19EUlY9ImFsc2EiCiMKIyAkUUJfQVVESU9fT1BUCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3Qt
eDg2LmluYzoxMAojICAgICAiLXNvdW5kaHcgYWM5NyxlczEzNzAiClFCX0FVRElPX09QVD0iLXNv
dW5kaHcgYWM5NyxlczEzNzAiCiMKIyAkUUJfQ1BVIFsyIG9wZXJhdGlvbnNdCiMgICBvdmVycmlk
ZVt4ODZdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11
Ym9vdC14ODYuaW5jOjMKIyAgICAgIi1jcHUgY29yZTJkdW8iCiMgICBvdmVycmlkZVt4ODYtNjRd
OnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14
ODYuaW5jOjYKIyAgICAgIi1jcHUgY29yZTJkdW8iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICItY3B1IGNvcmUyZHVvIgpRQl9DUFU9Ii1jcHUgY29yZTJkdW8iCiMKIyAkUUJfQ1BVX0tWTSBb
MiBvcGVyYXRpb25zXQojICAgb3ZlcnJpZGVbeDg2XTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYzo0CiMgICAgICItY3B1IGNvcmUy
ZHVvIgojICAgb3ZlcnJpZGVbeDg2LTY0XTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9t
YWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2LmluYzo3CiMgICAgICItY3B1IGNvcmUyZHVvIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiLWNwdSBjb3JlMmR1byIKUUJfQ1BVX0tWTT0iLWNw
dSBjb3JlMmR1byIKIwojICRRQl9DUFVfS1ZNX3g4NgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmM6NAojICAgICAiLWNwdSBj
b3JlMmR1byIKUUJfQ1BVX0tWTV94ODY9Ii1jcHUgY29yZTJkdW8iCiMKIyAkUUJfQ1BVX0tWTV94
ODYtNjQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9x
ZW11Ym9vdC14ODYuaW5jOjcKIyAgICAgIi1jcHUgY29yZTJkdW8iClFCX0NQVV9LVk1feDg2LTY0
PSItY3B1IGNvcmUyZHVvIgojCiMgJFFCX0NQVV94ODYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jOjMKIyAgICAgIi1jcHUg
Y29yZTJkdW8iClFCX0NQVV94ODY9Ii1jcHUgY29yZTJkdW8iCiMKIyAkUUJfQ1BVX3g4Ni02NAoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290
LXg4Ni5pbmM6NgojICAgICAiLWNwdSBjb3JlMmR1byIKUUJfQ1BVX3g4Ni02ND0iLWNwdSBjb3Jl
MmR1byIKIwojICRRQl9LRVJORUxfQ01ETElORV9BUFBFTkQKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jOjExCiMgICAgICJ2
Z2E9MCB1dmVzYWZiLm1vZGVfb3B0aW9uPSR7VVZFU0FfTU9ERX0gb3Byb2ZpbGUudGltZXI9MSB1
dmVzYWZiLnRhc2tfdGltZW91dD0tMSIKUUJfS0VSTkVMX0NNRExJTkVfQVBQRU5EPSJ2Z2E9MCB1
dmVzYWZiLm1vZGVfb3B0aW9uPTY0MHg0ODAtMzIgb3Byb2ZpbGUudGltZXI9MSB1dmVzYWZiLnRh
c2tfdGltZW91dD0tMSIKIwojICRRQl9PUFRfQVBQRU5EIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QteDg2Lmlu
YzoxMgojICAgICAiLXNob3ctY3Vyc29yIC11c2IgLWRldmljZSB1c2ItdGFibGV0IgojICAgYXBw
ZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4
Ni5pbmM6MTQKIyAgICAgIi1vYmplY3Qgcm5nLXJhbmRvbSxmaWxlbmFtZT0vZGV2L3VyYW5kb20s
aWQ9cm5nMCAtZGV2aWNlIHZpcnRpby1ybmctcGNpLHJuZz1ybmcwIgojIHByZS1leHBhbnNpb24g
dmFsdWU6CiMgICAiLXNob3ctY3Vyc29yIC11c2IgLWRldmljZSB1c2ItdGFibGV0IC1vYmplY3Qg
cm5nLXJhbmRvbSxmaWxlbmFtZT0vZGV2L3VyYW5kb20saWQ9cm5nMCAtZGV2aWNlIHZpcnRpby1y
bmctcGNpLHJuZz1ybmcwIgpRQl9PUFRfQVBQRU5EPSItc2hvdy1jdXJzb3IgLXVzYiAtZGV2aWNl
IHVzYi10YWJsZXQgLW9iamVjdCBybmctcmFuZG9tLGZpbGVuYW1lPS9kZXYvdXJhbmRvbSxpZD1y
bmcwIC1kZXZpY2UgdmlydGlvLXJuZy1wY2kscm5nPXJuZzAiCiMKIyAkUUJfU1lTVEVNX05BTUUK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni02NC5jb25m
OjQ4CiMgICAgICJxZW11LXN5c3RlbS14ODZfNjQiClFCX1NZU1RFTV9OQU1FPSJxZW11LXN5c3Rl
bS14ODZfNjQiCiMKIyAkUUVNVVZFUlNJT04KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmM6MjUKIyAgICAgIjQuMSUiClFF
TVVWRVJTSU9OPSI0LjElIgojCiMgJFFFTVVfRVhUUkFPUFRJT05TX2NvcmUyLTMyCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5pbmM6
MjQKIyAgICAgIiAtY3B1IG4yNzAiClFFTVVfRVhUUkFPUFRJT05TX2NvcmUyLTMyPSIgLWNwdSBu
MjcwIgojCiMgJFFFTVVfRVhUUkFPUFRJT05TX2NvcmUyLTY0CiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5pbmM6MzEKIyAgICAgIiAt
Y3B1IGNvcmUyZHVvIgpRRU1VX0VYVFJBT1BUSU9OU19jb3JlMi02ND0iIC1jcHUgY29yZTJkdW8i
CiMKIyAkUUVNVV9FWFRSQU9QVElPTlNfY29yZTItNjQteDMyCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5pbmM6MzgKIyAgICAgIiAt
Y3B1IGNvcmUyZHVvIgpRRU1VX0VYVFJBT1BUSU9OU19jb3JlMi02NC14MzI9IiAtY3B1IGNvcmUy
ZHVvIgojCiMgJFFNQUtFX1BST0ZJTEVTCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6MzQzCiMgICAgIFtkb2NdICJTcGVjaWZpZXMgeW91ciBvd24g
c3Vic2V0IG9mIC5wcm8gZmlsZXMgdG8gYmUgYnVpbHQgZm9yIHVzZSB3aXRoIHFtYWtlLiIKIwoj
ICRRVUlMVFJDRklMRQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3BhdGNo
LmJiY2xhc3M6NAojICAgICAiJHtTVEFHSU5HX0VUQ0RJUl9OQVRJVkV9L3F1aWx0cmMiClFVSUxU
UkNGSUxFPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51
eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvZXRjL3F1aWx0cmMiCiMKIyAk
UkFOTElCIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo1MjYKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTI2CiMgICAgICIke0hPU1RfUFJFRklYfWdj
Yy1yYW5saWIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0hPU1RfUFJFRklYfWdjYy1y
YW5saWIiCmV4cG9ydCBSQU5MSUI9Ing4Nl82NC1wb2t5LWxpbnV4LWdjYy1yYW5saWIiCiMKIyAk
UkNPTkZMSUNUUwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlv
bi5jb25mOjM0NwojICAgICBbZG9jXSAiVGhlIGxpc3Qgb2YgcGFja2FnZXMgdGhhdCBjb25mbGlj
dCB3aXRoIGFub3RoZXIgcGFja2FnZS4gTm90ZSB0aGF0IHRoZSBwYWNrYWdlIHdpbGwgbm90IGJl
IGluc3RhbGxlZCBpZiB0aGUgY29uZmxpY3RpbmcgcGFja2FnZXMgYXJlIG5vdCBmaXJzdCByZW1v
dmVkLiIKIwojICRSREVQRU5EUyBbNiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI3MwojICAgICAiIgojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM0OAojICAgICBbZG9jXSAiTGlzdHMg
YSBwYWNrYWdlJ3MgcnVudGltZSBkZXBlbmRlbmNpZXMgKGkuZS4gb3RoZXIgcGFja2FnZXMpIHRo
YXQgbXVzdCBiZSBpbnN0YWxsZWQgZm9yIHRoZSBwYWNrYWdlIHRvIGJlIGJ1aWx0LiBUaGV5IG11
c3QgYmUgdGhlIG5hbWVzIG9mIG90aGVyIHBhY2thZ2VzIGFzIGxpc3RlZCBpbiB0aGUgUEFDS0FH
RVMgdmFyaWFibGUsIG5vdCByZWNpcGUgbmFtZXMgKFBOKS4iCiMgICBvdmVycmlkZVtleGFtcGxl
LWRldl06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjMyMQojICAg
ICAiJHtQTn0gKD0gJHtFWFRFTkRQS0dWfSkiCiMgICBvdmVycmlkZVtleGFtcGxlLWRldl06cmVu
YW1lIGZyb20gUkRFUEVORFNfJHtQTn0tZGV2IGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAg
ICAiJHtQTn0gKD0gJHtFWFRFTkRQS0dWfSkiCiMgICBvdmVycmlkZVtleGFtcGxlLXN0YXRpY2Rl
dl06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjMyNQojICAgICAi
JHtQTn0tZGV2ICg9ICR7RVhURU5EUEtHVn0pIgojICAgb3ZlcnJpZGVbZXhhbXBsZS1zdGF0aWNk
ZXZdOnJlbmFtZSBmcm9tIFJERVBFTkRTXyR7UE59LXN0YXRpY2RldiBkYXRhLnB5OjEwNCBbZXhw
YW5kS2V5c10KIyAgICAgIiR7UE59LWRldiAoPSAke0VYVEVORFBLR1Z9KSIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgIiIKUkRFUEVORFM9IiIKIwojICRSREVQRU5EU18ke0tFUk5FTF9QQUNL
QUdFX05BTUV9LWJhc2UKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
aW5jbHVkZS9xZW11LmluYzoxOQojICAgICAiIgpSREVQRU5EU18ke0tFUk5FTF9QQUNLQUdFX05B
TUV9LWJhc2U9IiIKIwojICRSREVQRU5EU19leGFtcGxlLWRldiBbMiBvcGVyYXRpb25zXQojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjMyMQojICAgICAiJHtQ
Tn0gKD0gJHtFWFRFTkRQS0dWfSkiCiMgICByZW5hbWUgZnJvbSBSREVQRU5EU18ke1BOfS1kZXYg
ZGF0YS5weToxMDQgW2V4cGFuZEtleXNdCiMgICAgICIke1BOfSAoPSAke0VYVEVORFBLR1Z9KSIK
IyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7UE59ICg9ICR7RVhURU5EUEtHVn0pIgpSREVQ
RU5EU19leGFtcGxlLWRldj0iZXhhbXBsZSAoPSAwLjEtcjApIgojCiMgJFJERVBFTkRTX2V4YW1w
bGUtc3RhdGljZGV2IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MzI1CiMgICAgICIke1BOfS1kZXYgKD0gJHtFWFRFTkRQS0dWfSki
CiMgICByZW5hbWUgZnJvbSBSREVQRU5EU18ke1BOfS1zdGF0aWNkZXYgZGF0YS5weToxMDQgW2V4
cGFuZEtleXNdCiMgICAgICIke1BOfS1kZXYgKD0gJHtFWFRFTkRQS0dWfSkiCiMgcHJlLWV4cGFu
c2lvbiB2YWx1ZToKIyAgICIke1BOfS1kZXYgKD0gJHtFWFRFTkRQS0dWfSkiClJERVBFTkRTX2V4
YW1wbGUtc3RhdGljZGV2PSJleGFtcGxlLWRldiAoPSAwLjEtcjApIgojCiMgJFJFQURFTEYgWzIg
b3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjUzMgojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo1MzIKIyAgICAgIiR7SE9TVF9QUkVGSVh9cmVhZGVsZiIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7SE9TVF9QUkVGSVh9cmVhZGVsZiIKZXhwb3J0IFJF
QURFTEY9Ing4Nl82NC1wb2t5LWxpbnV4LXJlYWRlbGYiCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tYWNsCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6MzAKIyAgICAgIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4i
ClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWFjbD0iQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29t
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1hY3BpY2EKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozMQojICAgICAiUm9z
cyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWFj
cGljYT0iUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01B
SU5UQUlORVJfcG4tYWNwaWQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzozMgojICAgICAiUm9zcyBCdXJ0b24gPHJvc3MuYnVy
dG9uQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWFjcGlkPSJSb3NzIEJ1cnRvbiA8
cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1hZHdhaXRh
LWljb24tdGhlbWUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL21haW50YWluZXJzLmluYzozMwojICAgICAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGlu
dGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWFkd2FpdGEtaWNvbi10aGVtZT0iUm9zcyBC
dXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
YWxzYS1saWIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L21haW50YWluZXJzLmluYzozNAojICAgICAiVGFudSBLYXNraW5lbiA8dGFudWtAaWtpLmZpPiIK
UkVDSVBFX01BSU5UQUlORVJfcG4tYWxzYS1saWI9IlRhbnUgS2Fza2luZW4gPHRhbnVrQGlraS5m
aT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tYWxzYS1wbHVnaW5zCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MzUKIyAg
ICAgIlRhbnUgS2Fza2luZW4gPHRhbnVrQGlraS5maT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWFs
c2EtcGx1Z2lucz0iVGFudSBLYXNraW5lbiA8dGFudWtAaWtpLmZpPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1hbHNhLXN0YXRlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MzYKIyAgICAgIlRhbnUgS2Fza2luZW4gPHRh
bnVrQGlraS5maT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWFsc2Etc3RhdGU9IlRhbnUgS2Fza2lu
ZW4gPHRhbnVrQGlraS5maT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tYWxzYS10b29scwoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5l
cnMuaW5jOjM3CiMgICAgICJUYW51IEthc2tpbmVuIDx0YW51a0Bpa2kuZmk+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1hbHNhLXRvb2xzPSJUYW51IEthc2tpbmVuIDx0YW51a0Bpa2kuZmk+IgojCiMg
JFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWFsc2EtdXRpbHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozOAojICAgICAiVGFudSBL
YXNraW5lbiA8dGFudWtAaWtpLmZpPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tYWxzYS11dGlscz0i
VGFudSBLYXNraW5lbiA8dGFudWtAaWtpLmZpPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1h
bHNhLXV0aWxzLXNjcmlwdHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzozOQojICAgICAiVGFudSBLYXNraW5lbiA8dGFudWtA
aWtpLmZpPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tYWxzYS11dGlscy1zY3JpcHRzPSJUYW51IEth
c2tpbmVuIDx0YW51a0Bpa2kuZmk+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWFwbWQKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJz
LmluYzo0MAojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iClJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWFwbWQ9IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWFwcgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQxCiMgICAgICJIb25neHUg
SmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1hcHI9
Ikhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tYXByLXV0aWwKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzo0MgojICAgICAiSG9uZ3h1IEppYSA8aG9uZ3h1Lmpp
YUB3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tYXByLXV0aWw9Ikhvbmd4dSBK
aWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
YXB0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6NDMKIyAgICAgIkFuw61iYWwgTGltw7NuIDxsaW1vbi5hbmliYWxAZ21haWwu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tYXB0PSJBbsOtYmFsIExpbcOzbiA8bGltb24uYW5p
YmFsQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tYXB0LW5hdGl2ZQojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjQ0CiMgICAgICJBbsOtYmFsIExpbcOzbiA8bGltb24uYW5pYmFsQGdtYWlsLmNvbT4iClJF
Q0lQRV9NQUlOVEFJTkVSX3BuLWFwdC1uYXRpdmU9IkFuw61iYWwgTGltw7NuIDxsaW1vbi5hbmli
YWxAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1hcmdwLXN0YW5kYWxvbmUK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWlu
ZXJzLmluYzo0NQojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWFyZ3Atc3RhbmRhbG9uZT0iS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNv
bT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tYXNjaWlkb2MKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo0NgojICAgICAi
WWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tYXNj
aWlkb2M9IllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tYXNwZWxsCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDcKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRh
bEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1hc3BlbGw9IkFudWogTWl0dGFsIDxh
bnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWFzc2ltcAoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5l
cnMuaW5jOjQ4CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tYXNzaW1wPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwu
Y29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1hdAojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQ5CiMgICAgICJDaGVu
IFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1hdD0iQ2hl
biBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1h
dC1zcGkyLWF0awojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjUwCiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50
ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tYXQtc3BpMi1hdGs9IkFudWogTWl0dGFsIDxh
bnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWF0LXNwaTIt
Y29yZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFp
bnRhaW5lcnMuaW5jOjUxCiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29t
PiIKUkVDSVBFX01BSU5UQUlORVJfcG4tYXQtc3BpMi1jb3JlPSJBbnVqIE1pdHRhbCA8YW51ai5t
aXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1hdGsKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1
MgojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iClJFQ0lQRV9NQUlO
VEFJTkVSX3BuLWF0az0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tYXR0cgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjUzCiMgICAgICJDaGVuIFFpIDxRaS5D
aGVuQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1hdHRyPSJDaGVuIFFpIDxR
aS5DaGVuQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWF1dG9jb25m
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFp
bmVycy5pbmM6NTQKIyAgICAgIlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29t
PiIKUkVDSVBFX01BSU5UQUlORVJfcG4tYXV0b2NvbmY9IlJvYmVydCBZYW5nIDxsaWV6aGkueWFu
Z0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1hdXRvY29uZi1hcmNo
aXZlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6NTUKIyAgICAgIlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tYXV0b2NvbmYtYXJjaGl2ZT0iUm9iZXJ0IFlhbmcg
PGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWF1
dG9tYWtlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6NTYKIyAgICAgIlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2
ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tYXV0b21ha2U9IlJvYmVydCBZYW5nIDxsaWV6
aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1hdmFoaQoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5l
cnMuaW5jOjU3CiMgICAgICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1hdmFoaT0iWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKIwoj
ICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1hdmFoaS11aQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjU4CiMgICAgICJZaSBaaGFv
IDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1hdmFoaS11aT0i
WWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9w
bi1iYWJlbHRyYWNlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6NTkKIyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4Lmth
bmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tYmFiZWx0cmFjZT0iQWxleGFu
ZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWJhc2UtZmlsZXMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzo2MAojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0
dGFsQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJhc2UtZmlsZXM9IkFudWogTWl0
dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJh
c2UtcGFzc3dkCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6NjEKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRl
bC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1iYXNlLXBhc3N3ZD0iQW51aiBNaXR0YWwgPGFu
dWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tYmFzaAojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjYyCiMgICAgICJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgpSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1iYXNoPSJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5j
b20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJhc2gtY29tcGxldGlvbgojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjYz
CiMgICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWJhc2gtY29tcGxldGlvbj0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgu
a2FuYXZpbkBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJjCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6
NjQKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1iYz0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tYmluZAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY1CiMgICAgICJBcm1pbiBLdXN0ZXIg
PGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tYmluZD0iQXJtaW4g
S3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
YmludXRpbHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L21haW50YWluZXJzLmluYzo2NgojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4i
ClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJpbnV0aWxzPSJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwu
Y29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1iaW51dGlscy1jcm9zcy1jYW5hZGlhbi14
ODYtNjQgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2OAojICAgICAiS2hlbSBSYWogPHJhai5raGVt
QGdtYWlsLmNvbT4iCiMgICByZW5hbWUgZnJvbSBSRUNJUEVfTUFJTlRBSU5FUl9wbi1iaW51dGls
cy1jcm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9IGRhdGEucHk6MTA0IFtl
eHBhbmRLZXlzXQojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMgcHJlLWV4
cGFuc2lvbiB2YWx1ZToKIyAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKUkVDSVBF
X01BSU5UQUlORVJfcG4tYmludXRpbHMtY3Jvc3MtY2FuYWRpYW4teDg2LTY0PSJLaGVtIFJhaiA8
cmFqLmtoZW1AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1iaW51dGlscy1j
cm9zcy10ZXN0c3VpdGUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL21haW50YWluZXJzLmluYzo2OQojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWls
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJpbnV0aWxzLWNyb3NzLXRlc3RzdWl0ZT0iS2hl
bSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tYmlu
dXRpbHMtY3Jvc3MteDg2XzY0IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjcKIyAgICAgIktoZW0g
UmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgojICAgcmVuYW1lIGZyb20gUkVDSVBFX01BSU5UQUlO
RVJfcG4tYmludXRpbHMtY3Jvc3MtJHtUQVJHRVRfQVJDSH0gZGF0YS5weToxMDQgW2V4cGFuZEtl
eXNdCiMgICAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi1iaW51dGlscy1jcm9zcy14ODZfNjQ9IktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5j
b20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJpbnV0aWxzLWNyb3Nzc2RrLXg4Nl82NC1w
b2t5c2RrLWxpbnV4IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzAKIyAgICAgIktoZW0gUmFqIDxy
YWoua2hlbUBnbWFpbC5jb20+IgojICAgcmVuYW1lIGZyb20gUkVDSVBFX01BSU5UQUlORVJfcG4t
YmludXRpbHMtY3Jvc3NzZGstJHtTREtfU1lTfSBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAg
ICAgIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWJpbnV0aWxzLWNyb3Nzc2RrLXg4Nl82NC1wb2t5c2RrLWxpbnV4PSJLaGVtIFJhaiA8cmFqLmto
ZW1AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1iaXNvbgojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjcx
CiMgICAgICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1iaXNvbj0iQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi1iamFtLW5hdGl2ZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjcyCiMgICAgICJBbGV4YW5kZXIgS2Fu
YXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJqYW0t
bmF0aXZlPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tYmxrdG9vbAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjczCiMgICAgICJZaSBaaGFvIDx5
aS56aGFvQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1ibGt0b29sPSJZaSBa
aGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJs
a3RyYWNlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6NzQKIyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5A
Z21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tYmxrdHJhY2U9IkFsZXhhbmRlciBLYW5h
dmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1i
bHVlejUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzo3NQojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJsdWV6NT0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFs
QGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tYm1hcC10b29scwojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
Ojc2CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01B
SU5UQUlORVJfcG4tYm1hcC10b29scz0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNv
bT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tYm9vc3QKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3NwojICAgICAiQWxl
eGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1ib29zdD0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Igoj
CiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJvb3RjaGFydDIKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3OAojICAgICAiQWxl
eGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1ib290Y2hhcnQyPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNv
bT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tYnNkLWhlYWRlcnMKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3OQojICAg
ICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJz
ZC1oZWFkZXJzPSJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1idHJmcy10b29scwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjgwCiMgICAgICJBbGV4YW5kZXIgS2FuYXZp
biA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJ0cmZzLXRv
b2xzPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tYnVpbGQtYXBwbGlhbmNlLWltYWdlCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6ODEKIyAgICAg
IlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tYnVpbGQtYXBwbGlhbmNlLWltYWdlPSJSaWNoYXJkIFB1cmRpZSA8
cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tYnVpbGQtY29tcGFyZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjgyCiMgICAgICJQYXVsIEVnZ2xldG9uIDxwYXVs
LmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJ1aWxkLWNv
bXBhcmU9IlBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPiIKIwoj
ICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1idWlsZC1zeXNyb290cwojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjgzCiMgICAgICJS
aWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iClJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWJ1aWxkLXN5c3Jvb3RzPSJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5w
dXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tYnVp
bGRlcgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFp
bnRhaW5lcnMuaW5jOjg0CiMgICAgICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGlu
dXhmb3VuZGF0aW9uLm9yZz4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJ1aWxkZXI9IlJpY2hhcmQg
UHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi1idWlsZHRvb2xzLXRhcmJhbGwKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo4NQojICAgICAiUmljaGFy
ZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1idWlsZHRvb2xzLXRhcmJhbGw9IlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1
cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1idXN5
Ym94CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6ODYKIyAgICAgIkFuZHJlaiBWYWxlayA8YW5kcmVqLnZhbGVrQHNpZW1lbnMu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tYnVzeWJveD0iQW5kcmVqIFZhbGVrIDxhbmRyZWou
dmFsZWtAc2llbWVucy5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJ1c3lib3gtaW5p
dHRhYgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFp
bnRhaW5lcnMuaW5jOjg3CiMgICAgICJEZW55cyBEbXl0cml5ZW5rbyA8ZGVueXNAdGkuY29tPiIK
UkVDSVBFX01BSU5UQUlORVJfcG4tYnVzeWJveC1pbml0dGFiPSJEZW55cyBEbXl0cml5ZW5rbyA8
ZGVueXNAdGkuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1iemlwMgojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjg4
CiMgICAgICJEZW55cyBEbXl0cml5ZW5rbyA8ZGVueXNAdGkuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tYnppcDI9IkRlbnlzIERteXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWNhLWNlcnRpZmljYXRlcwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjg5CiMgICAgICJBbGV4YW5k
ZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWNhLWNlcnRpZmljYXRlcz0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5j
b20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNhaXJvCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6OTAKIyAgICAgIkFu
dWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1j
YWlybz0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01B
SU5UQUlORVJfcG4tY2FudGFyZWxsLWZvbnRzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6OTEKIyAgICAgIkFsZXhhbmRlciBL
YW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tY2Fu
dGFyZWxsLWZvbnRzPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tY2NhY2hlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6OTIKIyAgICAgIlJvYmVy
dCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4t
Y2NhY2hlPSJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tY2RydG9vbHMtbmF0aXZlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6OTMKIyAgICAgIllpIFpo
YW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNkcnRvb2xz
LW5hdGl2ZT0iWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1jaGtjb25maWcKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo5NAojICAgICAiWWkgWmhhbyA8eWkuemhhb0B3
aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tY2hrY29uZmlnPSJZaSBaaGFvIDx5
aS56aGFvQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNoa2NvbmZp
Zy1hbHRlcm5hdGl2ZXMtbmF0aXZlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6OTUKIyAgICAgIllpIFpoYW8gPHlpLnpoYW9A
d2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNoa2NvbmZpZy1hbHRlcm5hdGl2
ZXMtbmF0aXZlPSJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWNocnBhdGgKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo5NgojICAgICAiWWkgWmhhbyA8eWkuemhhb0B3
aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tY2hycGF0aD0iWWkgWmhhbyA8eWku
emhhb0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1jbHV0dGVyLTEu
MAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRh
aW5lcnMuaW5jOjk3CiMgICAgICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIK
UkVDSVBFX01BSU5UQUlORVJfcG4tY2x1dHRlci0xLjA9IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRv
bkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNsdXR0ZXItZ3N0LTMuMAoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5l
cnMuaW5jOjk4CiMgICAgICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tY2x1dHRlci1nc3QtMy4wPSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0
b25AaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1jbHV0dGVyLWd0ay0xLjAK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWlu
ZXJzLmluYzo5OQojICAgICAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iClJF
Q0lQRV9NQUlOVEFJTkVSX3BuLWNsdXR0ZXItZ3RrLTEuMD0iUm9zcyBCdXJ0b24gPHJvc3MuYnVy
dG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tY21ha2UKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzox
MDAKIyAgICAgIlBhc2NhbCBCYWNoIDxwYXNjYWwuYmFjaEBzaWVtZW5zLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWNtYWtlPSJQYXNjYWwgQmFjaCA8cGFzY2FsLmJhY2hAc2llbWVucy5jb20+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNtYWtlLW5hdGl2ZQojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjEwMQojICAg
ICAiUGFzY2FsIEJhY2ggPHBhc2NhbC5iYWNoQHNpZW1lbnMuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tY21ha2UtbmF0aXZlPSJQYXNjYWwgQmFjaCA8cGFzY2FsLmJhY2hAc2llbWVucy5jb20+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvZ2wtMS4wCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTAyCiMgICAgICJS
b3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4t
Y29nbC0xLjA9IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWNvbm5tYW4KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxMDMKIyAgICAgIkNoYW5naHllb2sgQmFl
IDxjaGFuZ2h5ZW9rLmJhZUBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb25ubWFu
PSJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAZ21haWwuY29tPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi1jb25ubWFuLWNvbmYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxMDQKIyAgICAgIlJvc3MgQnVydG9u
IDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb25ubWFuLWNv
bmY9IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlO
VEFJTkVSX3BuLWNvbm5tYW4tZ25vbWUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxMDUKIyAgICAgIlJvc3MgQnVydG9uIDxy
b3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb25ubWFuLWdub21l
PSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRB
SU5FUl9wbi1jb25zb2xlLXRvb2xzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTA2CiMgICAgICJDaGVuIFFpIDxRaS5DaGVu
QHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb25zb2xlLXRvb2xzPSJDaGVu
IFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNv
bnNvbGVraXQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L21haW50YWluZXJzLmluYzoxMDcKIyAgICAgIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvbnNvbGVraXQ9IkNoZW4gUWkgPFFpLkNoZW5Ad2lu
ZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1iYXNlCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6MTA4CiMgICAgICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3Vu
ZGF0aW9uLm9yZz4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtYmFzZT0iUmljaGFy
ZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtY2x1dHRlcgojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjEyMAojICAgICAiUmlj
aGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLWNsdXR0ZXI9IlJpY2hhcmQgUHVyZGllIDxyaWNoYXJk
LnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1j
b3JlLWltYWdlLWZ1bGwtY21kbGluZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjExNAojICAgICAiUmljaGFyZCBQdXJkaWUg
PHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgpSRUNJUEVfTUFJTlRBSU5FUl9w
bi1jb3JlLWltYWdlLWZ1bGwtY21kbGluZT0iUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGll
QGxpbnV4Zm91bmRhdGlvbi5vcmc+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1h
Z2Uta2VybmVsLWRldgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjExNQojICAgICAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQu
cHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWlt
YWdlLWtlcm5lbC1kZXY9IlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5k
YXRpb24ub3JnPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLW1pbmltYWwK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWlu
ZXJzLmluYzoxMDkKIyAgICAgIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZv
dW5kYXRpb24ub3JnPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1taW5pbWFsPSJS
aWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1taW5pbWFsLWRldgojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjExMAoj
ICAgICAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+
IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLW1pbmltYWwtZGV2PSJSaWNoYXJkIFB1
cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiMKIyAkUkVDSVBFX01B
SU5UQUlORVJfcG4tY29yZS1pbWFnZS1taW5pbWFsLWluaXRyYW1mcwojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjExMQojICAg
ICAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLW1pbmltYWwtaW5pdHJhbWZzPSJSaWNoYXJk
IFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiMKIyAkUkVDSVBF
X01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1taW5pbWFsLW10ZHV0aWxzCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTEyCiMg
ICAgICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4i
ClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtbWluaW1hbC1tdGR1dGlscz0iUmljaGFy
ZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2Utc2F0bwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjExNgojICAgICAiUmljaGFy
ZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1jb3JlLWltYWdlLXNhdG89IlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRp
ZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWlt
YWdlLXNhdG8tZGV2CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6MTIzCiMgICAgICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5w
dXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1h
Z2Utc2F0by1kZXY9IlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRp
b24ub3JnPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXNhdG8tcHRlc3Qt
ZmFzdAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFp
bnRhaW5lcnMuaW5jOjEyNAojICAgICAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxp
bnV4Zm91bmRhdGlvbi5vcmc+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXNhdG8t
cHRlc3QtZmFzdD0iUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlv
bi5vcmc+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2Utc2F0by1zZGsKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJz
LmluYzoxMTcKIyAgICAgIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5k
YXRpb24ub3JnPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1zYXRvLXNkaz0iUmlj
aGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgojCiMgJFJF
Q0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2Utc2F0by1zZGstcHRlc3QKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxMjUK
IyAgICAgIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3Jn
PiIKUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1zYXRvLXNkay1wdGVzdD0iUmljaGFy
ZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtdGVzdG1hc3RlcgojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjExOQojICAgICAi
UmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgpSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXRlc3RtYXN0ZXI9IlJpY2hhcmQgUHVyZGllIDxy
aWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1jb3JlLWltYWdlLXRlc3RtYXN0ZXItaW5pdHJhbWZzCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTE4CiMgICAgICJS
aWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iClJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtdGVzdG1hc3Rlci1pbml0cmFtZnM9IlJpY2hhcmQg
UHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXRpbnktaW5pdHJhbWZzCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTEzCiMgICAg
ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iClJF
Q0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtdGlueS1pbml0cmFtZnM9IlJpY2hhcmQgUHVy
ZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1jb3JlLWltYWdlLXdlc3RvbgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjEyMQojICAgICAiUmljaGFyZCBQ
dXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi1jb3JlLWltYWdlLXdlc3Rvbj0iUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGll
QGxpbnV4Zm91bmRhdGlvbi5vcmc+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1h
Z2UteDExCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6MTIyCiMgICAgICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVA
bGludXhmb3VuZGF0aW9uLm9yZz4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UteDEx
PSJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiMK
IyAkUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZXV0aWxzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTI2CiMgICAgICJDaGVu
IFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JldXRp
bHM9IkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tY3BpbwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjEyNwojICAgICAiRGVueXMgRG15dHJpeWVua28gPGRlbnlzQHRp
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNwaW89IkRlbnlzIERteXRyaXllbmtvIDxkZW55
c0B0aS5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNyYWNrbGliCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTI4
CiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5U
QUlORVJfcG4tY3JhY2tsaWI9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+Igoj
CiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNyZWF0ZXJlcG8tYwojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjEyOQojICAgICAi
QWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi1jcmVhdGVyZXBvLWM9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21h
aWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1jcm9uaWUKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxMzAKIyAg
ICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1jcm9uaWU9IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJF
Q0lQRV9NQUlOVEFJTkVSX3BuLWNyb3NzLWxvY2FsZWRlZi1uYXRpdmUKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxMzEKIyAg
ICAgIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1j
cm9zcy1sb2NhbGVkZWYtbmF0aXZlPSJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIwoj
ICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1jcnlwdG9kZXYtbGludXgKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxMzIKIyAgICAg
IlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tY3J5cHRvZGV2LWxpbnV4PSJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVy
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tY3J5cHRvZGV2LW1vZHVsZQojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjEzMwojICAgICAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgpSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1jcnlwdG9kZXYtbW9kdWxlPSJSb2JlcnQgWWFuZyA8bGllemhpLnlh
bmdAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tY3J5cHRvZGV2LXRl
c3RzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6MTM0CiMgICAgICJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVy
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNyeXB0b2Rldi10ZXN0cz0iUm9iZXJ0IFlhbmcg
PGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWN1
cHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50
YWluZXJzLmluYzoxMzUKIyAgICAgIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iClJF
Q0lQRV9NQUlOVEFJTkVSX3BuLWN1cHM9IkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tY3VybAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjEzNgojICAgICAiQXJtaW4g
S3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWN1cmw9
IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWN2ZS1jaGVjay10b29sCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTM3CiMgICAgICJSb3NzIEJ1cnRvbiA8cm9z
cy5idXJ0b25AaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tY3ZlLWNoZWNrLXRvb2w9
IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWN2ZS11cGRhdGUtZGItbmF0aXZlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTM4CiMgICAgICJSb3NzIEJ1cnRv
biA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tY3ZlLXVwZGF0
ZS1kYi1uYXRpdmU9IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJF
Q0lQRV9NQUlOVEFJTkVSX3BuLWN3YXV0b21hY3JvcwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjEzOQojICAgICAiUm9zcyBC
dXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWN3YXV0
b21hY3Jvcz0iUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBF
X01BSU5UQUlORVJfcG4tZGIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNDAKIyAgICAgIk1hcmsgSGF0bGUgPG1hcmsuaGF0
bGVAd2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWRiPSJNYXJrIEhhdGxlIDxt
YXJrLmhhdGxlQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWRidXMK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWlu
ZXJzLmluYzoxNDEKIyAgICAgIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iClJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWRidXM9IkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiMK
IyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZGJ1cy1nbGliCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTQyCiMgICAgICJDaGVu
IFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1kYnVzLWds
aWI9IkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tZGJ1cy10ZXN0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTQzCiMgICAgICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRy
aXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1kYnVzLXRlc3Q9IkNoZW4gUWkgPFFpLkNo
ZW5Ad2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZGJ1cy13YWl0CiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6MTQ0CiMgICAgICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1kYnVzLXdhaXQ9IkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZGViaWFudXRpbHMKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNDUKIyAgICAg
IllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWRl
YmlhbnV0aWxzPSJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWRlamFnbnUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNDYKIyAgICAgIk5hdGhhbiBSb3NzaSA8bmF0
aGFuQG5hdGhhbnJvc3NpLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWRlamFnbnU9Ik5hdGhh
biBSb3NzaSA8bmF0aGFuQG5hdGhhbnJvc3NpLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tZGVwbW9kd3JhcHBlci1jcm9zcwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE0NwojICAgICAiTWFyayBIYXRsZSA8bWFy
ay5oYXRsZUB3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZGVwbW9kd3JhcHBl
ci1jcm9zcz0iTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1kZXNrdG9wLWZpbGUtdXRpbHMKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNDgKIyAgICAgIkFs
ZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tZGVza3RvcC1maWxlLXV0aWxzPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmlu
QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZGhjcAojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE0OQoj
ICAgICAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5U
QUlORVJfcG4tZGhjcD0iSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIwoj
ICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1kaWZmc3RhdAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE1MAojICAgICAiQ2hlbiBR
aSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZGlmZnN0YXQ9
IkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tZGlmZnV0aWxzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6MTUxCiMgICAgICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZl
ci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1kaWZmdXRpbHM9IkNoZW4gUWkgPFFpLkNoZW5A
d2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZGlzdGNjCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6
MTUyCiMgICAgICJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1kaXN0Y2M9Ikhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNv
bT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZGlzdGNjLWNvbmZpZwojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE1Mwoj
ICAgICAiWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJf
cG4tZGlzdGNjLWNvbmZpZz0iWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKIwojICRS
RUNJUEVfTUFJTlRBSU5FUl9wbi1kbWlkZWNvZGUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNTQKIyAgICAgIkFsZXhhbmRl
ciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4t
ZG1pZGVjb2RlPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMK
IyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZG5mCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTU1CiMgICAgICJBbGV4YW5kZXIg
S2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWRu
Zj0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWRvY2Jvb2steG1sLWR0ZDQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNTYKIyAgICAgIllpIFpo
YW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWRvY2Jvb2st
eG1sLWR0ZDQ9IllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01B
SU5UQUlORVJfcG4tZG9jYm9vay14c2wtc3R5bGVzaGVldHMKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNTcKIyAgICAgIllp
IFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWRvY2Jv
b2steHNsLXN0eWxlc2hlZXRzPSJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgojCiMg
JFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWRvczJ1bml4CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTU4CiMgICAgICJLaGVtIFJh
aiA8cmFqLmtoZW1AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZG9zMnVuaXg9Ikto
ZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWRv
c2ZzdG9vbHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L21haW50YWluZXJzLmluYzoxNTkKIyAgICAgIllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWRvc2ZzdG9vbHM9IllpIFpoYW8gPHlpLnpoYW9Ad2lu
ZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZHBrZwojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE2MAoj
ICAgICAiQW7DrWJhbCBMaW3Ds24gPGxpbW9uLmFuaWJhbEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1kcGtnPSJBbsOtYmFsIExpbcOzbiA8bGltb24uYW5pYmFsQGdtYWlsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZHJvcGJlYXIKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNjEKIyAgICAgIllp
IFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWRyb3Bi
ZWFyPSJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWR0YwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjE2MgojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2Fu
YXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1kdGM9IkFsZXhhbmRlciBLYW5h
dmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1k
d2FyZnNyY2ZpbGVzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6MTYzCiMgICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5r
YW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWR3YXJmc3JjZmlsZXM9IkFs
ZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1lMmZzcHJvZ3MKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNjQKIyAgICAgIlJvYmVydCBZYW5nIDxsaWV6
aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZTJmc3Byb2dzPSJS
b2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tZWQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL21haW50YWluZXJzLmluYzoxNjUKIyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4Lmth
bmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZWQ9IkFsZXhhbmRlciBLYW5h
dmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1l
Zmlib290bWdyCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6MTY3CiMgICAgICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50
ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZWZpYm9vdG1ncj0iUm9zcyBCdXJ0b24gPHJv
c3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZWZpdmFyCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6MTY2CiMgICAgICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tZWZpdmFyPSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwu
Y29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1lbGZ1dGlscwojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE2OAojICAg
ICAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tZWxmdXRpbHM9Ikhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiMK
IyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZWxsCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTY5CiMgICAgICJPbGVrc2FuZHIg
S3JhdmNodWsgPG9wZW4uc291cmNlQG9sZWtzYW5kci1rcmF2Y2h1ay5jb20+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1lbGw9Ik9sZWtzYW5kciBLcmF2Y2h1ayA8b3Blbi5zb3VyY2VAb2xla3NhbmRy
LWtyYXZjaHVrLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZW5jaGFudAojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjE3MAojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWVuY2hhbnQ9IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWVuY29kaW5ncwojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE3MQojICAgICAi
QXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWVuY29kaW5ncz0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tZXBpcGhhbnkKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNzIKIyAgICAgIkFsZXhhbmRlciBL
YW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZXBp
cGhhbnk9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRS
RUNJUEVfTUFJTlRBSU5FUl9wbi1ldGh0b29sCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTczCiMgICAgICJDaGFuZ2h5ZW9r
IEJhZSA8Y2hhbmdoeWVvay5iYWVAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZXRo
dG9vbD0iQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGdtYWlsLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tZXVkZXYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNzQKIyAgICAgIkFudWogTWl0dGFsIDxh
bnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1ldWRldj0iQW51aiBN
aXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
ZXhwYXQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzoxNzUKIyAgICAgIllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4i
ClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWV4cGF0PSJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5j
b20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWV4cGVjdAojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE3NgojICAgICAi
QWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi1leHBlY3Q9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29t
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1mZm1wZWcKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxNzcKIyAgICAgIkFs
ZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tZmZtcGVnPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZmlsZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE3OAojICAgICAiWWkgWmhh
byA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZmlsZT0iWWkg
WmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1m
aW5kdXRpbHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L21haW50YWluZXJzLmluYzoxNzkKIyAgICAgIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWZpbmR1dGlscz0iQ2hlbiBRaSA8UWkuQ2hlbkB3aW5k
cml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1mbGFjCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTgwCiMg
ICAgICJUYW51IEthc2tpbmVuIDx0YW51a0Bpa2kuZmk+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1m
bGFjPSJUYW51IEthc2tpbmVuIDx0YW51a0Bpa2kuZmk+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVS
X3BuLWZsZXgKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L21haW50YWluZXJzLmluYzoxODEKIyAgICAgIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWZsZXg9IkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVy
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZm9udC1hbGlhcwojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE4Mgoj
ICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWZvbnQtYWxpYXM9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+Igoj
CiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWZvbnQtdXRpbAojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE4MwojICAgICAiQXJt
aW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWZv
bnQtdXRpbD0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBF
X01BSU5UQUlORVJfcG4tZm9udGNvbmZpZwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE4NAojICAgICAiUm9zcyBCdXJ0b24g
PHJvc3MuYnVydG9uQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWZvbnRjb25maWc9
IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWZvb21hdGljLWZpbHRlcnMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxODUKIyAgICAgIkNoZW4gUWkgPFFpLkNo
ZW5Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWZvb21hdGljLWZpbHRlcnM9
IkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tZm9ybWZhY3RvcgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE4NgojICAgICAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9u
QGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWZvcm1mYWN0b3I9IlJvc3MgQnVydG9u
IDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWZyZWV0
eXBlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6MTg3CiMgICAgICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29t
PiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZnJlZXR5cGU9IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRv
bkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWZyaWJpZGkKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzox
ODgKIyAgICAgIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1mcmliaWRpPSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1mdHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoxODkKIyAgICAgIktoZW0gUmFq
IDxyYWoua2hlbUBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1mdHM9IktoZW0gUmFq
IDxyYWoua2hlbUBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdhd2sKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJz
LmluYzoxOTAKIyAgICAgIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWdhd2s9IkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTkxCiMgICAgICJLaGVtIFJhaiA8cmFq
LmtoZW1AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjPSJLaGVtIFJhaiA8cmFq
LmtoZW1AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2MtY3Jvc3MtY2Fu
YWRpYW4teDg2LTY0IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTkzCiMgICAgICJLaGVtIFJhaiA8
cmFqLmtoZW1AZ21haWwuY29tPiIKIyAgIHJlbmFtZSBmcm9tIFJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWdjYy1jcm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9IGRhdGEucHk6MTA0
IFtleHBhbmRLZXlzXQojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tZ2NjLWNyb3NzLWNhbmFkaWFuLXg4Ni02ND0iS2hlbSBSYWogPHJh
ai5raGVtQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLWNyb3NzLWlu
aXRpYWwteDg2XzY0IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MTk0CiMgICAgICJLaGVtIFJhaiA8
cmFqLmtoZW1AZ21haWwuY29tPiIKIyAgIHJlbmFtZSBmcm9tIFJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWdjYy1jcm9zcy1pbml0aWFsLSR7VEFSR0VUX0FSQ0h9IGRhdGEucHk6MTA0IFtleHBhbmRLZXlz
XQojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tZ2NjLWNyb3NzLWluaXRpYWwteDg2XzY0PSJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwu
Y29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2MtY3Jvc3MteDg2XzY0IFsyIG9wZXJh
dGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6MTkyCiMgICAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIK
IyAgIHJlbmFtZSBmcm9tIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zcy0ke1RBUkdFVF9B
UkNIfSBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgIktoZW0gUmFqIDxyYWoua2hlbUBn
bWFpbC5jb20+IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiS2hlbSBSYWogPHJhai5raGVt
QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zcy14ODZfNjQ9IktoZW0g
UmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1j
cm9zc3Nkay1pbml0aWFsLXg4Nl82NC1wb2t5c2RrLWxpbnV4IFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5p
bmM6MTk2CiMgICAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIyAgIHJlbmFtZSBm
cm9tIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30g
ZGF0YS5weToxMDQgW2V4cGFuZEtleXNdCiMgICAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwu
Y29tPiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIktoZW0gUmFqIDxyYWoua2hlbUBnbWFp
bC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2MtY3Jvc3NzZGstaW5pdGlhbC14ODZfNjQt
cG9reXNkay1saW51eD0iS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBF
X01BSU5UQUlORVJfcG4tZ2NjLWNyb3Nzc2RrLXg4Nl82NC1wb2t5c2RrLWxpbnV4IFsyIG9wZXJh
dGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6MTk1CiMgICAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIK
IyAgIHJlbmFtZSBmcm9tIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zc3Nkay0ke1NES19T
WVN9IGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdt
YWlsLmNvbT4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJLaGVtIFJhaiA8cmFqLmtoZW1A
Z21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLWNyb3Nzc2RrLXg4Nl82NC1wb2t5
c2RrLWxpbnV4PSJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1nY2MtcnVudGltZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjE5NwojICAgICAiS2hlbSBSYWogPHJhai5r
aGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1ydW50aW1lPSJLaGVtIFJh
aiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2Mtc2Fu
aXRpemVycwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
bWFpbnRhaW5lcnMuaW5jOjE5OAojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4i
ClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1zYW5pdGl6ZXJzPSJLaGVtIFJhaiA8cmFqLmtoZW1A
Z21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2Mtc291cmNlLTguMy4wCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6MTk5CiMgICAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKUkVDSVBFX01B
SU5UQUlORVJfcG4tZ2NjLXNvdXJjZS04LjMuMD0iS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNv
bT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLXNvdXJjZS05LjIuMAojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjIw
MAojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVS
X3BuLWdjYy1zb3VyY2UtOS4yLjA9IktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgojCiMg
JFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjY21ha2VkZXAKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyMDEKIyAgICAgIktoZW0g
UmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2NtYWtlZGVw
PSJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9w
bi1nY29uZgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
bWFpbnRhaW5lcnMuaW5jOjIwMgojICAgICAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVs
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjb25mPSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0
b25AaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY3IKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyMDMK
IyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBF
X01BSU5UQUlORVJfcG4tZ2NyPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWls
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ2RiCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjA0CiMgICAgICJL
aGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ2RiPSJL
aGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1n
ZGItY3Jvc3MtY2FuYWRpYW4teDg2LTY0IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjA2CiMgICAg
ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIyAgIHJlbmFtZSBmcm9tIFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWdkYi1jcm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9
IGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWls
LmNvbT4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21h
aWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ2RiLWNyb3NzLWNhbmFkaWFuLXg4Ni02ND0i
S2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
Z2RiLWNyb3NzLXg4Nl82NCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjIwNQojICAgICAiS2hlbSBS
YWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMgICByZW5hbWUgZnJvbSBSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1nZGItY3Jvc3MtJHtUQVJHRVRfQVJDSH0gZGF0YS5weToxMDQgW2V4cGFuZEtleXNdCiMg
ICAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9w
bi1nZGItY3Jvc3MteDg2XzY0PSJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIwojICRS
RUNJUEVfTUFJTlRBSU5FUl9wbi1nZGJtCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjA3CiMgICAgICJBbGV4YW5kZXIgS2Fu
YXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdkYm09
IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi1nZGstcGl4YnVmCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjA4CiMgICAgICJSb3NzIEJ1cnRvbiA8
cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ2RrLXBpeGJ1Zj0i
Um9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tZ2V0dGV4dAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjIwOQojICAgICAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5n
QHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1nZXR0ZXh0PSJSb2JlcnQgWWFu
ZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
Z2V0dGV4dC1taW5pbWFsLW5hdGl2ZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjIxMAojICAgICAiUm9iZXJ0IFlhbmcgPGxp
ZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1nZXR0ZXh0LW1p
bmltYWwtbmF0aXZlPSJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4iCiMK
IyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ2hvc3RzY3JpcHQKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyMTEKIyAgICAgIkhv
bmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWdob3N0c2NyaXB0PSJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgojCiMg
JFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdpdAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjIxMgojICAgICAiUm9iZXJ0IFlhbmcg
PGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1naXQ9IlJv
YmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRB
SU5FUl9wbi1nbGV3CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6MjEzCiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxA
aW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ2xldz0iQW51aiBNaXR0YWwgPGFudWou
bWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ2xpYi0yLjAKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJz
LmluYzoyMTQKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1nbGliLTIuMD0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVs
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ2xpYi1uZXR3b3JraW5nCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6
MjE1CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01B
SU5UQUlORVJfcG4tZ2xpYi1uZXR3b3JraW5nPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50
ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1nbGliYwojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjIxNgojICAg
ICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWds
aWJjPSJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1nbGliYy1sb2NhbGUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzoyMTcKIyAgICAgIktoZW0gUmFqIDxyYWoua2hlbUBn
bWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1nbGliYy1sb2NhbGU9IktoZW0gUmFqIDxy
YWoua2hlbUBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdsaWJjLW10cmFj
ZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRh
aW5lcnMuaW5jOjIxOAojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWdsaWJjLW10cmFjZT0iS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNv
bT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ2xpYmMtc2NyaXB0cwojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjIxOQoj
ICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWdsaWJjLXNjcmlwdHM9IktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWdsaWJjLXRlc3RzdWl0ZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjIyMAojICAgICAiS2hlbSBS
YWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdsaWJjLXRlc3Rz
dWl0ZT0iS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tZ2xpZGUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL21haW50YWluZXJzLmluYzoyMjEKIyAgICAgIk90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNh
bHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1nbGlkZT0iT3Rh
dmlvIFNhbHZhZG9yIDxvdGF2aW8uc2FsdmFkb3JAb3NzeXN0ZW1zLmNvbS5icj4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tZ21wCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjIyCiMgICAgICJLaGVtIFJhaiA8cmFqLmto
ZW1AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ21wPSJLaGVtIFJhaiA8cmFqLmto
ZW1AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1nbm9tZS1kZXNrdG9wLXRl
c3RpbmcKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzoyMjMKIyAgICAgIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5j
b20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1nbm9tZS1kZXNrdG9wLXRlc3Rpbmc9IlJvc3MgQnVy
dG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdu
b21lLXRoZW1lcy1zdGFuZGFyZAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjIyNAojICAgICAiUm9zcyBCdXJ0b24gPHJvc3Mu
YnVydG9uQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdub21lLXRoZW1lcy1zdGFu
ZGFyZD0iUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01B
SU5UQUlORVJfcG4tZ251LWNvbmZpZwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjIyNQojICAgICAiUm9iZXJ0IFlhbmcgPGxp
ZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1nbnUtY29uZmln
PSJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01B
SU5UQUlORVJfcG4tZ251LWVmaQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjIyNgojICAgICAiWWkgWmhhbyA8eWkuemhhb0B3
aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ251LWVmaT0iWWkgWmhhbyA8eWku
emhhb0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1nbnVwZwojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjIyNwojICAgICAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tZ251cGc9Ikhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVy
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ251dGxzCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjI4CiMgICAg
ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJf
cG4tZ251dGxzPSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1nbwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjIyOQojICAgICAiS2hlbSBSYWogPHJhai5raGVt
QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdvPSJLaGVtIFJhaiA8cmFqLmtoZW1A
Z21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1nby1jcm9zcy1jYW5hZGlhbi14
ODYtNjQgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyMzEKIyAgICAgIktoZW0gUmFqIDxyYWoua2hl
bUBnbWFpbC5jb20+IgojICAgcmVuYW1lIGZyb20gUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tY3Jv
c3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSBkYXRhLnB5OjEwNCBbZXhwYW5k
S2V5c10KIyAgICAgIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlO
VEFJTkVSX3BuLWdvLWNyb3NzLWNhbmFkaWFuLXg4Ni02ND0iS2hlbSBSYWogPHJhai5raGVtQGdt
YWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tY3Jvc3MtY29yZTItNjQgWzIg
b3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL21haW50YWluZXJzLmluYzoyMzAKIyAgICAgIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5j
b20+IgojICAgcmVuYW1lIGZyb20gUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tY3Jvc3MtJHtUVU5F
X1BLR0FSQ0h9IGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiS2hlbSBSYWogPHJhai5r
aGVtQGdtYWlsLmNvbT4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJLaGVtIFJhaiA8cmFq
LmtoZW1AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tY3Jvc3MtY29yZTItNjQ9
IktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWdvLWNyb3Nzc2RrLXg4Nl82NC1wb2t5c2RrLWxpbnV4IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6
MjMyCiMgICAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIyAgIHJlbmFtZSBmcm9t
IFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdvLWNyb3Nzc2RrLSR7U0RLX1NZU30gZGF0YS5weToxMDQg
W2V4cGFuZEtleXNdCiMgICAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgpSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1nby1jcm9zc3Nkay14ODZfNjQtcG9reXNkay1saW51eD0iS2hlbSBS
YWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tZGVw
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFp
bmVycy5pbmM6MjMzCiMgICAgICJPdGF2aW8gU2FsdmFkb3IgPG90YXZpby5zYWx2YWRvckBvc3N5
c3RlbXMuY29tLmJyPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tZGVwPSJPdGF2aW8gU2FsdmFk
b3IgPG90YXZpby5zYWx2YWRvckBvc3N5c3RlbXMuY29tLmJyPiIKIwojICRSRUNJUEVfTUFJTlRB
SU5FUl9wbi1nby1oZWxsb3dvcmxkCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjM0CiMgICAgICJLaGVtIFJhaiA8cmFqLmto
ZW1AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ28taGVsbG93b3JsZD0iS2hlbSBS
YWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tbmF0
aXZlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6MjM1CiMgICAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tZ28tbmF0aXZlPSJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29t
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1nby1ydW50aW1lCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjM2CiMgICAg
ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ28t
cnVudGltZT0iS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tZ29iamVjdC1pbnRyb3NwZWN0aW9uCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjM3CiMgICAgICJBbGV4YW5k
ZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWdvYmplY3QtaW50cm9zcGVjdGlvbj0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBn
bWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdwZXJmCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjM4CiMg
ICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWdwZXJmPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWls
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ3BnbWUKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyMzkKIyAgICAg
Ikhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVS
X3BuLWdwZ21lPSJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgojCiMgJFJF
Q0lQRV9NQUlOVEFJTkVSX3BuLWdwdGZkaXNrCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjQwCiMgICAgICJBbGV4YW5kZXIg
S2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdw
dGZkaXNrPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tZ3JlcAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjI0MQojICAgICAiRGVueXMgRG15dHJp
eWVua28gPGRlbnlzQHRpLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdyZXA9IkRlbnlzIERt
eXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdyb2Zm
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFp
bmVycy5pbmM6MjQyCiMgICAgICJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+
IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1ncm9mZj0iSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5k
cml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1ncnViCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjQzCiMg
ICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tZ3J1Yj0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tZ3J1Yi1ib290Y29uZgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjI0NAojICAgICAiQW51aiBN
aXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdydWIt
Ym9vdGNvbmY9IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWdydWItZWZpCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjQ1CiMgICAgICJBbnVqIE1pdHRhbCA8
YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ3J1Yi1lZmk9IkFu
dWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVS
X3BuLWdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyNDYKIyAgICAgIkFudWogTWl0
dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1nc2V0dGlu
Z3MtZGVza3RvcC1zY2hlbWFzPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1nc3QtZXhhbXBsZXMKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyNDcKIyAgICAg
IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9w
bi1nc3QtZXhhbXBsZXM9IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMg
JFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdzdC12YWxpZGF0ZQojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjI0OAojICAgICAiQW51
aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdz
dC12YWxpZGF0ZT0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tZ3N0cmVhbWVyMS4wCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjQ5CiMgICAgICJBbnVqIE1p
dHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ3N0cmVh
bWVyMS4wPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi1nc3RyZWFtZXIxLjAtbGliYXYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyNTAKIyAgICAgIkFudWog
TWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1nc3Ry
ZWFtZXIxLjAtbGliYXY9IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMg
JFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdzdHJlYW1lcjEuMC1tZXRhLWJhc2UKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyNTIK
IyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi1nc3RyZWFtZXIxLjAtbWV0YS1iYXNlPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxA
aW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1nc3RyZWFtZXIxLjAtb214CiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6MjUxCiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tZ3N0cmVhbWVyMS4wLW9teD0iQW51aiBNaXR0YWwgPGFudWoubWl0
dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ3N0cmVhbWVyMS4wLXBs
dWdpbnMtYmFkCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6MjUzCiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50
ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFkPSJB
bnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1nc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjU0CiMgICAgICJBbnVqIE1p
dHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ3N0cmVh
bWVyMS4wLXBsdWdpbnMtYmFzZT0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ3N0cmVhbWVyMS4wLXBsdWdpbnMtZ29vZAojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjI1NQojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iClJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWdzdHJlYW1lcjEuMC1wbHVnaW5zLWdvb2Q9IkFudWogTWl0dGFsIDxh
bnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdzdHJlYW1l
cjEuMC1wbHVnaW5zLXVnbHkKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzoyNTYKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1p
dHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1nc3RyZWFtZXIxLjAtcGx1Z2lu
cy11Z2x5PSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi1nc3RyZWFtZXIxLjAtcHl0aG9uCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjU3CiMgICAgICJBbnVq
IE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tZ3N0
cmVhbWVyMS4wLXB5dGhvbj0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMK
IyAkUkVDSVBFX01BSU5UQUlORVJfcG4tZ3N0cmVhbWVyMS4wLXJ0c3Atc2VydmVyCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6
MjU4CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01B
SU5UQUlORVJfcG4tZ3N0cmVhbWVyMS4wLXJ0c3Atc2VydmVyPSJBbnVqIE1pdHRhbCA8YW51ai5t
aXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1nc3RyZWFtZXIxLjAt
dmFhcGkKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzoyNTkKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5j
b20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1nc3RyZWFtZXIxLjAtdmFhcGk9IkFudWogTWl0dGFs
IDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWd0aysK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWlu
ZXJzLmluYzoyNjAKIyAgICAgIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi1ndGsrPSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwu
Y29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1ndGsrMwojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjI2MQojICAgICAi
Um9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWd0ayszPSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi1ndGstZG9jCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjYyCiMgICAgICJBbGV4YW5kZXIgS2FuYXZp
biA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWd0ay1kb2M9
IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi1ndGstaWNvbi11dGlscy1uYXRpdmUKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyNjMKIyAgICAgIlJv
c3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1n
dGstaWNvbi11dGlscy1uYXRpdmU9IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWd6aXAKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyNjQKIyAgICAgIkRlbnlz
IERteXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1nemlwPSJE
ZW55cyBEbXl0cml5ZW5rbyA8ZGVueXNAdGkuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9w
bi1oYXJmYnV6egojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjI2NQojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGlu
dGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWhhcmZidXp6PSJBbnVqIE1pdHRhbCA8YW51
ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1oZHBhcm0KIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJz
LmluYzoyNjYKIyAgICAgIkRlbnlzIERteXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1oZHBhcm09IkRlbnlzIERteXRyaXllbmtvIDxkZW55c0B0aS5jb20+Igoj
CiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWhlbHAybWFuLW5hdGl2ZQojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjI2NwojICAg
ICAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4taGVscDJtYW4tbmF0aXZlPSJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5j
b20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWhpY29sb3ItaWNvbi10aGVtZQojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjI2OAojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWhpY29sb3ItaWNvbi10aGVtZT0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFs
QGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4taHdsYXRkZXRlY3QKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmlu
YzoyNjkKIyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIK
UkVDSVBFX01BSU5UQUlORVJfcG4taHdsYXRkZXRlY3Q9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4
LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1pMmMtdG9vbHMK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWlu
ZXJzLmluYzoyNzAKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi1pMmMtdG9vbHM9IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBp
bnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWljZWNjLWNyZWF0ZS1lbnYKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJz
LmluYzoyNzEKIyAgICAgIkpvc2h1YSBXYXR0IDxKUEVXaGFja2VyQGdtYWlsLmNvbT4iClJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWljZWNjLWNyZWF0ZS1lbnY9Ikpvc2h1YSBXYXR0IDxKUEVXaGFja2Vy
QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4taWN1CiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjcyCiMg
ICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWljdT0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5j
b20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWlmdXBkb3duCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjczCiMgICAg
ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJf
cG4taWZ1cGRvd249IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJF
Q0lQRV9NQUlOVEFJTkVSX3BuLWluZXR1dGlscwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjI3NAojICAgICAiVG9tIFJpbmkg
PHRyaW5pQGtvbnN1bGtvLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWluZXR1dGlscz0iVG9t
IFJpbmkgPHRyaW5pQGtvbnN1bGtvLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4taW5p
dC1pZnVwZG93bgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjI3NQojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGlu
dGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWluaXQtaWZ1cGRvd249IkFudWogTWl0dGFs
IDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWluaXRy
YW1mcy1ib290CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6Mjc2CiMgICAgICJPdGF2aW8gU2FsdmFkb3IgPG90YXZpby5zYWx2
YWRvckBvc3N5c3RlbXMuY29tLmJyPiIKUkVDSVBFX01BSU5UQUlORVJfcG4taW5pdHJhbWZzLWJv
b3Q9Ik90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+Igoj
CiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWluaXRyYW1mcy1mcmFtZXdvcmsKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyNzcK
IyAgICAgIk90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+
IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbml0cmFtZnMtZnJhbWV3b3JrPSJPdGF2aW8gU2FsdmFk
b3IgPG90YXZpby5zYWx2YWRvckBvc3N5c3RlbXMuY29tLmJyPiIKIwojICRSRUNJUEVfTUFJTlRB
SU5FUl9wbi1pbml0cmFtZnMtbGl2ZS1ib290CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6Mjc4CiMgICAgICJBbnVqIE1pdHRh
bCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4taW5pdHJhbWZz
LWxpdmUtYm9vdD0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4taW5pdHJhbWZzLWxpdmUtYm9vdC10aW55CiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6Mjc5CiMg
ICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4taW5pdHJhbWZzLWxpdmUtYm9vdC10aW55PSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxA
aW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbml0cmFtZnMtbGl2ZS1pbnN0
YWxsCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6MjgwCiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29t
PiIKUkVDSVBFX01BSU5UQUlORVJfcG4taW5pdHJhbWZzLWxpdmUtaW5zdGFsbD0iQW51aiBNaXR0
YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4taW5p
dHJhbWZzLWxpdmUtaW5zdGFsbC1lZmkKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyODEKIyAgICAgIkFudWogTWl0dGFsIDxh
bnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbml0cmFtZnMtbGl2
ZS1pbnN0YWxsLWVmaT0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4taW5pdHJhbWZzLWxpdmUtaW5zdGFsbC1lZmktdGVzdGZzCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6MjgyCiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4taW5pdHJhbWZzLWxpdmUtaW5zdGFsbC1lZmktdGVzdGZzPSJBbnVq
IE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9w
bi1pbml0cmFtZnMtbGl2ZS1pbnN0YWxsLXRlc3RmcwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjI4MwojICAgICAiQW51aiBN
aXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWluaXRy
YW1mcy1saXZlLWluc3RhbGwtdGVzdGZzPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwu
Y29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbml0c2NyaXB0cwojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjI4NAoj
ICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWluaXRzY3JpcHRzPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbnRsdG9vbAojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjI4NQojICAgICAiQWxl
eGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1pbnRsdG9vbD0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWlwcm91dGUyCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6Mjg2CiMgICAgICJD
aGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4taXByb3V0ZTI9IkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBnbWFpbC5jb20+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWlwdGFibGVzCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6Mjg3CiMgICAgICJD
aGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4taXB0YWJsZXM9IkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBnbWFpbC5jb20+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWlwdXRpbHMKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyODgKIyAgICAgIkNo
YW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1pcHV0aWxzPSJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAZ21haWwuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1pc28tY29kZXMKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyODkKIyAgICAgIkFs
ZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4taXNvLWNvZGVzPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNv
bT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4taXcKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyOTAKIyAgICAgIkNoYW5n
aHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9w
bi1pdz0iQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGdtYWlsLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tanNvbi1jCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MjkyCiMgICAgICJZaSBaaGFvIDx5aS56
aGFvQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1qc29uLWM9IllpIFpoYW8g
PHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tanNvbi1n
bGliCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6MjkzCiMgICAgICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi1qc29uLWdsaWI9IllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVy
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4ta2JkCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6Mjk0CiMgICAgICJB
bGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWtiZD0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Igoj
CiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWtlcm4tdG9vbHMtbmF0aXZlCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6Mjk1CiMg
ICAgICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKUkVDSVBFX01B
SU5UQUlORVJfcG4ta2Vybi10b29scy1uYXRpdmU9IkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hm
aWVsZEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWtlcm5lbC1kZXZzcmMK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWlu
ZXJzLmluYzoyOTYKIyAgICAgIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5j
b20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1rZXJuZWwtZGV2c3JjPSJCcnVjZSBBc2hmaWVsZCA8
YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1rZXhl
Yy10b29scwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
bWFpbnRhaW5lcnMuaW5jOjI5NwojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWls
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWtleGVjLXRvb2xzPSJBcm1pbiBLdXN0ZXIgPGFr
dXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1rZXltYXBzCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6Mjk4CiMgICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWtleW1hcHM9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4
LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1rbW9kCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5p
bmM6Mjk5CiMgICAgICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1rbW9kPSJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgojCiMgJFJF
Q0lQRV9NQUlOVEFJTkVSX3BuLWttb2QtbmF0aXZlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MzAwCiMgICAgICJDaGVuIFFp
IDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1rbW9kLW5hdGl2
ZT0iQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1rbXNjdWJlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6MzAxCiMgICAgICJDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBw
c2V1ZG90ZXJtaW5hbC5vcmc+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1rbXNjdWJlPSJDYXJsb3Mg
UmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWwzYWZwYWQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL21haW50YWluZXJzLmluYzozMDIKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRh
bEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1sM2FmcGFkPSJBbnVqIE1pdHRhbCA8
YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1sYW1lCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6MzAzCiMgICAgICJUYW51IEthc2tpbmVuIDx0YW51a0Bpa2kuZmk+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1sYW1lPSJUYW51IEthc2tpbmVuIDx0YW51a0Bpa2kuZmk+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWxkY29uZmlnLW5hdGl2ZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjMwNAojICAgICAiS2hlbSBS
YWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxkY29uZmlnLW5h
dGl2ZT0iS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tbGVzcwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjMwNQojICAgICAiWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGVzcz0iWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2
ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJhNTIKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozMDYKIyAg
ICAgIlRhbnUgS2Fza2luZW4gPHRhbnVrQGlraS5maT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxp
YmE1Mj0iVGFudSBLYXNraW5lbiA8dGFudWtAaWtpLmZpPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1saWJhY3BpCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6MzA3CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxA
aW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGliYWNwaT0iQW51aiBNaXR0YWwgPGFu
dWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGliYWlvCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6MzA4CiMgICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmFpbz0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgu
a2FuYXZpbkBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmFyY2hpdmUK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWlu
ZXJzLmluYzozMDkKIyAgICAgIk90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNhbHZhZG9yQG9zc3lz
dGVtcy5jb20uYnI+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJhcmNoaXZlPSJPdGF2aW8gU2Fs
dmFkb3IgPG90YXZpby5zYWx2YWRvckBvc3N5c3RlbXMuY29tLmJyPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1saWJhc3N1YW4KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozMTAKIyAgICAgIkFybWluIEt1c3RlciA8YWt1
c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJhc3N1YW49IkFybWlu
IEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWxpYmF0b21pYy1vcHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL21haW50YWluZXJzLmluYzozMTEKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRh
bEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJhdG9taWMtb3BzPSJBbnVqIE1p
dHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1s
aWJic2QKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzozMTIKIyAgICAgIllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4i
ClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmJzZD0iWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIu
Y29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJjYXAKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozMTMKIyAgICAg
IllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxp
YmNhcD0iWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRB
SU5FUl9wbi1saWJjYXAtbmcKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzozMTQKIyAgICAgIllpIFpoYW8gPHlpLnpoYW9Ad2lu
ZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmNhcC1uZz0iWWkgWmhhbyA8eWku
emhhb0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJjYXAtbmct
cHl0aG9uCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6MzE1CiMgICAgICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+
IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJjYXAtbmctcHl0aG9uPSJZaSBaaGFvIDx5aS56aGFv
QHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmNncm91cAojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjMxNgojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+
IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJjZ3JvdXA9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4
LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJjaGVjawoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5l
cnMuaW5jOjMxNwojICAgICAiWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKUkVDSVBF
X01BSU5UQUlORVJfcG4tbGliY2hlY2s9IllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGliY29tcHMKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozMTgKIyAgICAgIkFs
ZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tbGliY29tcHM9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29t
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJjb252ZXJ0LWFzbjEtcGVybAojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjMxOQojICAgICAiVGltIE9ybGluZyA8dGltb3RoeS50Lm9ybGluZ0BsaW51eC5pbnRlbC5jb20+
IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJjb252ZXJ0LWFzbjEtcGVybD0iVGltIE9ybGluZyA8
dGltb3RoeS50Lm9ybGluZ0BsaW51eC5pbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVS
X3BuLWxpYmNyb2NvCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6MzIwCiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxA
aW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGliY3JvY289IkFudWogTWl0dGFsIDxh
bnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmRhZW1v
bgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRh
aW5lcnMuaW5jOjMyMQojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFp
bC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJkYWVtb249IkFsZXhhbmRlciBLYW5hdmlu
IDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJk
YXp6bGUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzozMjIKIyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5A
Z21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZGF6emxlPSJBbGV4YW5kZXIgS2Fu
YXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
bGliZG14CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6MzIzCiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZG14PSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4
MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJkbmYKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoz
MjQKIyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tbGliZG5mPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmlu
QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZHJtCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MzI1
CiMgICAgICJPdGF2aW8gU2FsdmFkb3IgPG90YXZpby5zYWx2YWRvckBvc3N5c3RlbXMuY29tLmJy
PiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZHJtPSJPdGF2aW8gU2FsdmFkb3IgPG90YXZpby5z
YWx2YWRvckBvc3N5c3RlbXMuY29tLmJyPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJl
ZGl0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6MzI2CiMgICAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tbGliZWRpdD0iS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZXBveHkKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozMjcKIyAgICAgIkFu
dWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1s
aWJlcG94eT0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBF
X01BSU5UQUlORVJfcG4tbGliZXJhdGlvbi1mb250cwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjMyOAojICAgICAiQWxleGFu
ZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9w
bi1saWJlcmF0aW9uLWZvbnRzPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWls
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZXJyb3ItcGVybAojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjMy
OQojICAgICAiVGltIE9ybGluZyA8dGltb3RoeS50Lm9ybGluZ0BsaW51eC5pbnRlbC5jb20+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi1saWJlcnJvci1wZXJsPSJUaW0gT3JsaW5nIDx0aW1vdGh5LnQu
b3JsaW5nQGxpbnV4LmludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZXZk
ZXYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50
YWluZXJzLmluYzozMzAKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+
IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJldmRldj0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFs
QGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZXZlbnQKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoz
MzEKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1saWJldmVudD0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZXhpZgojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjMzMgojICAgICAiQWxl
eGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1saWJleGlmPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZmFrZWtleQojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjMzMwojICAgICAi
QWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi1saWJmYWtla2V5PSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWls
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZmZpCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MzM0CiMgICAg
ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlO
VEFJTkVSX3BuLWxpYmZmaT0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5j
b20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmZtCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MzM1CiMgICAgICJB
bGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWxpYmZtPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZm0tZXh0cmEKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozMzYKIyAgICAg
IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5U
QUlORVJfcG4tbGliZm0tZXh0cmE9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21h
aWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJmb250ZW5jCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MzM3
CiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5U
QUlORVJfcG4tbGliZm9udGVuYz0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZ2NjCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MzM4CiMgICAgICJLaGVt
IFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZ2NjPSJL
aGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1s
aWJnY2MtaW5pdGlhbAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjMzOQojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWls
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmdjYy1pbml0aWFsPSJLaGVtIFJhaiA8cmFq
LmtoZW1AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJnY3J5cHQKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJz
LmluYzozNDAKIyAgICAgIkhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iClJF
Q0lQRV9NQUlOVEFJTkVSX3BuLWxpYmdjcnlwdD0iSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5k
cml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJnZm9ydHJhbgojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjM0MQojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWxpYmdmb3J0cmFuPSJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIwojICRS
RUNJUEVfTUFJTlRBSU5FUl9wbi1saWJnbG9zcwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjM0MgojICAgICAiQWxlamFuZHJv
IEhlcm5hbmRleiA8YWVoczI5QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmds
b3NzPSJBbGVqYW5kcm8gSGVybmFuZGV6IDxhZWhzMjlAZ21haWwuY29tPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi1saWJnbHUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozNDMKIyAgICAgIlJvc3MgQnVydG9uIDxyb3Nz
LmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJnbHU9IlJvc3MgQnVy
dG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxp
YmdwZy1lcnJvcgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjM0NAojICAgICAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5k
cml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZ3BnLWVycm9yPSJIb25neHUgSmlh
IDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxp
Ymd1ZGV2CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6MzQ1CiMgICAgICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZ3VkZXY9IlJvc3MgQnVydG9uIDxyb3NzLmJ1
cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmljYWwKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmlu
YzozNDYKIyAgICAgIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1saWJpY2FsPSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29t
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJpY2UKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozNDcKIyAgICAgIkFy
bWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1s
aWJpY2U9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWxpYmlkM3RhZwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjM0OAojICAgICAiVGFudSBLYXNraW5lbiA8
dGFudWtAaWtpLmZpPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGliaWQzdGFnPSJUYW51IEthc2tp
bmVuIDx0YW51a0Bpa2kuZmk+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmlkbgojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjM0OQojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+
IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJpZG49IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4Lmth
bmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJpZG4yCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5p
bmM6MzUwCiMgICAgICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKUkVDSVBF
X01BSU5UQUlORVJfcG4tbGliaWRuMj0iUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNv
bT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGliaW5wdXQKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozNTEKIyAgICAg
IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9w
bi1saWJpbnB1dD0iUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tbGliaml0dGVyZW50cm9weQojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjM1MgojICAgICAiUm9z
cyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxp
YmppdHRlcmVudHJvcHk9IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMg
JFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmpwZWctdHVyYm8KIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoyOTEKIyAgICAgIkFu
dWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1s
aWJqcGVnLXR1cmJvPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRS
RUNJUEVfTUFJTlRBSU5FUl9wbi1saWJrc2JhCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MzUzCiMgICAgICJBbGV4YW5kZXIg
S2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxp
YmtzYmE9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRS
RUNJUEVfTUFJTlRBSU5FUl9wbi1saWJtYXRjaGJveAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjM1NAojICAgICAiUm9zcyBC
dXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm1h
dGNoYm94PSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi1saWJtbmwKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozNTUKIyAgICAgIktoZW0gUmFqIDxyYWoua2hl
bUBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJtbmw9IktoZW0gUmFqIDxyYWou
a2hlbUBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm1vZHVsZS1idWls
ZC1wZXJsCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6MzU3CiMgICAgICJUaW0gT3JsaW5nIDx0aW1vdGh5LnQub3JsaW5nQGxp
bnV4LmludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm1vZHVsZS1idWlsZC1wZXJs
PSJUaW0gT3JsaW5nIDx0aW1vdGh5LnQub3JsaW5nQGxpbnV4LmludGVsLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tbGlibW9kdWxlbWQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozNTgKIyAgICAgIkFsZXhhbmRl
ciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4t
bGlibW9kdWxlbWQ9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJtcGMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozNTYKIyAgICAgIktoZW0g
UmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJtcGM9Ikto
ZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxp
Ym5ld3QKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzozNTkKIyAgICAgIkhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVy
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm5ld3Q9Ikhvbmd4dSBKaWEgPGhvbmd4dS5q
aWFAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibmV3dC1weXRo
b24KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50
YWluZXJzLmluYzozNjAKIyAgICAgIkhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm5ld3QtcHl0aG9uPSJIb25neHUgSmlhIDxob25n
eHUuamlhQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm5sCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6MzYxCiMgICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm5sPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5r
YW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibm90aWZ5CiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6MzYyCiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tbGlibm90aWZ5PSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50
ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJuc2wyCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MzYzCiMg
ICAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4t
bGlibnNsMj0iS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tbGlibnNzLW1kbnMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozNjQKIyAgICAgIkFsZXhhbmRlciBLYW5hdmlu
IDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibnNzLW1k
bnM9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1saWJuc3MtbmlzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MzY1CiMgICAgICJLaGVtIFJhaiA8
cmFqLmtoZW1AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibnNzLW5pcz0iS2hl
bSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGli
b2dnCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6MzY2CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29t
PiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlib2dnPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxA
aW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJvbXhpbAojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjM2
NwojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iClJFQ0lQRV9NQUlO
VEFJTkVSX3BuLWxpYm9teGlsPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJwYW0KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozNjgKIyAgICAgIkFudWog
TWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJw
YW09IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlO
VEFJTkVSX3BuLWxpYnBjYXAKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzozNjkKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1p
dHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJwY2FwPSJBbnVqIE1pdHRh
bCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJw
Y2lhY2Nlc3MKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L21haW50YWluZXJzLmluYzozNzAKIyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2
aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlicGNpYWNjZXNzPSJBbGV4YW5k
ZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tbGlicGNyZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjM3MQojICAgICAiWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2
ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlicGNyZT0iWWkgWmhhbyA8eWkuemhhb0B3
aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJwY3JlMgojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjM3MgojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWxpYnBjcmUyPSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29t
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJwaXBlbGluZQojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjM3MwojICAg
ICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1saWJwaXBlbGluZT0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBn
bWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnBuZwojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjM3NAoj
ICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWxpYnBuZz0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tbGlicHJveHkKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozNzUKIyAgICAgIkFudWogTWl0
dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJwcm94
eT0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tbGlicHNsCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9tYWludGFpbmVycy5pbmM6Mzc3CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0
YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlicHNsPSJBbnVqIE1pdHRhbCA8
YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJwdGhy
ZWFkLXN0dWJzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6Mzc2CiMgICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5h
dmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnB0aHJlYWQtc3R1YnM9IkFs
ZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1saWJyZXBvCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6Mzc4CiMgICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8
YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnJlcG89IkFs
ZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1saWJyc3ZnCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6Mzc5CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5t
aXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlicnN2Zz0iQW51aiBNaXR0
YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGli
c2FtcGxlcmF0ZTAKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL21haW50YWluZXJzLmluYzozODAKIyAgICAgIlRhbnUgS2Fza2luZW4gPHRhbnVrQGlraS5m
aT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnNhbXBsZXJhdGUwPSJUYW51IEthc2tpbmVuIDx0
YW51a0Bpa2kuZmk+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnNkbDIKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzoz
ODEKIyAgICAgIllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWxpYnNkbDI9IllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tbGlic2VjcmV0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MzgyCiMgICAgICJBbGV4YW5kZXIg
S2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxp
YnNlY3JldD0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgojCiMg
JFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnNtCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6MzgzCiMgICAgICJBcm1pbiBLdXN0
ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlic209IkFy
bWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVS
X3BuLWxpYnNuZGZpbGUxCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9tYWludGFpbmVycy5pbmM6Mzg0CiMgICAgICJUYW51IEthc2tpbmVuIDx0YW51a0Bp
a2kuZmk+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJzbmRmaWxlMT0iVGFudSBLYXNraW5lbiA8
dGFudWtAaWtpLmZpPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJzb2x2CiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6
Mzg1CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01B
SU5UQUlORVJfcG4tbGlic29sdj0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlic291cC0yLjQKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozODYKIyAgICAg
IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9w
bi1saWJzb3VwLTIuND0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tbGlic3NwLW5vbnNoYXJlZAojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjM4NwojICAgICAi
S2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnNz
cC1ub25zaGFyZWQ9IktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWxpYnRhc24xCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6Mzg4CiMgICAgICJBbnVqIE1pdHRhbCA8YW51
ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidGFzbjE9IkFudWog
TWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWxpYnRlc3QtbmVlZHMtcGVybAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjM4OQojICAgICAiVGltIE9ybGluZyA8dGltb3Ro
eS50Lm9ybGluZ0BsaW51eC5pbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ0ZXN0
LW5lZWRzLXBlcmw9IlRpbSBPcmxpbmcgPHRpbW90aHkudC5vcmxpbmdAbGludXguaW50ZWwuY29t
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ0aGVvcmEKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzozOTAKIyAgICAg
IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5U
QUlORVJfcG4tbGlidGhlb3JhPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWls
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidGltZWRhdGUtcGVybAojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjM5MQojICAgICAiVGltIE9ybGluZyA8dGltb3RoeS50Lm9ybGluZ0BsaW51eC5pbnRlbC5jb20+
IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ0aW1lZGF0ZS1wZXJsPSJUaW0gT3JsaW5nIDx0aW1v
dGh5LnQub3JsaW5nQGxpbnV4LmludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
bGlidGlycGMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L21haW50YWluZXJzLmluYzozOTIKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRl
bC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ0aXJwYz0iQW51aiBNaXR0YWwgPGFudWou
bWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidG9vbAojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjM5MwojICAgICAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ0b29sPSJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2lu
ZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidG9vbC1jcm9zcwojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjM5NAojICAgICAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ0b29sLWNyb3NzPSJSb2JlcnQgWWFuZyA8bGllemhpLnlh
bmdAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidG9vbC1uYXRp
dmUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50
YWluZXJzLmluYzozOTUKIyAgICAgIlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidG9vbC1uYXRpdmU9IlJvYmVydCBZYW5nIDxs
aWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ1
bmlzdHJpbmcKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L21haW50YWluZXJzLmluYzozOTYKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRl
bC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ1bmlzdHJpbmc9IkFudWogTWl0dGFsIDxh
bnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnVud2lu
ZAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRh
aW5lcnMuaW5jOjM5NwojICAgICAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWls
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnVud2luZD0iQnJ1Y2UgQXNoZmllbGQgPGJy
dWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidXJj
dQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRh
aW5lcnMuaW5jOjM5OAojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFp
bC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ1cmN1PSJBbGV4YW5kZXIgS2FuYXZpbiA8
YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidXJp
LXBlcmwKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzozOTkKIyAgICAgIlRpbSBPcmxpbmcgPHRpbW90aHkudC5vcmxpbmdAbGlu
dXguaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidXJpLXBlcmw9IlRpbSBPcmxp
bmcgPHRpbW90aHkudC5vcmxpbmdAbGludXguaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRB
SU5FUl9wbi1saWJ1c2IxCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDAwCiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0
YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidXNiMT0iQW51aiBNaXR0YWwg
PGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidmEK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWlu
ZXJzLmluYzo0MDEKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ2YT0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVs
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidmEtdXRpbHMKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo0MDIK
IyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi1saWJ2YS11dGlscz0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidm9yYmlzCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDAzCiMgICAgICJU
YW51IEthc2tpbmVuIDx0YW51a0Bpa2kuZmk+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ2b3Ji
aXM9IlRhbnUgS2Fza2luZW4gPHRhbnVrQGlraS5maT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tbGlid2VicAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjQwNAojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2Fu
YXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ3ZWJwPSJBbGV4YW5kZXIg
S2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tbGlieDExCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6NDA1CiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21h
aWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieDExPSJBcm1pbiBLdXN0ZXIgPGFrdXN0
ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4YXUKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmlu
Yzo0MDYKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1saWJ4YXU9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhjYgojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQwNwojICAgICAiQXJt
aW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxp
YnhjYj0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01B
SU5UQUlORVJfcG4tbGlieGNvbXBvc2l0ZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQwOAojICAgICAiQXJtaW4gS3VzdGVy
IDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhjb21wb3Np
dGU9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlO
VEFJTkVSX3BuLWxpYnhjcnlwdAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQxMAojICAgICAiS2hlbSBSYWogPHJhai5raGVt
QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhjcnlwdD0iS2hlbSBSYWogPHJh
ai5raGVtQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGNyeXB0LWNv
bXBhdAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFp
bnRhaW5lcnMuaW5jOjQxMQojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJF
Q0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhjcnlwdC1jb21wYXQ9IktoZW0gUmFqIDxyYWoua2hlbUBn
bWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhjdXJzb3IKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo0
MDkKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1saWJ4Y3Vyc29yPSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29t
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4ZGFtYWdlCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDEyCiMgICAg
ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJf
cG4tbGlieGRhbWFnZT0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGRtY3AKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo0MTMKIyAgICAgIkFybWluIEt1
c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4ZG1j
cD0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tbGlieGV4dAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQxNAojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVy
ODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhleHQ9IkFybWluIEt1c3Rl
ciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhm
aXhlcwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFp
bnRhaW5lcnMuaW5jOjQxNQojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhmaXhlcz0iQXJtaW4gS3VzdGVyIDxha3VzdGVy
ODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGZvbnQKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmlu
Yzo0MTYKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1saWJ4Zm9udD0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNv
bT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGZvbnQyCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDE3CiMgICAg
ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJf
cG4tbGlieGZvbnQyPSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRS
RUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4ZnQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo0MTgKIyAgICAgIkFybWluIEt1c3Rl
ciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4ZnQ9IkFy
bWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVS
X3BuLWxpYnhpCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6NDE5CiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21h
aWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGk9IkFybWluIEt1c3RlciA8YWt1c3Rl
cjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhpbmVyYW1hCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6NDIwCiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tbGlieGluZXJhbWE9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBn
bWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhrYmNvbW1vbgojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjQyMQojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWxpYnhrYmNvbW1vbj0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWls
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGtiZmlsZQojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQyMgoj
ICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWxpYnhrYmZpbGU9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+Igoj
CiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhtbC1uYW1lc3BhY2VzdXBwb3J0LXBlcmwKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJz
LmluYzo0MjMKIyAgICAgIlRpbSBPcmxpbmcgPHRpbW90aHkudC5vcmxpbmdAbGludXguaW50ZWwu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieG1sLW5hbWVzcGFjZXN1cHBvcnQtcGVybD0i
VGltIE9ybGluZyA8dGltb3RoeS50Lm9ybGluZ0BsaW51eC5pbnRlbC5jb20+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWxpYnhtbC1wYXJzZXItcGVybAojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQyNAojICAgICAiVGlt
IE9ybGluZyA8dGltb3RoeS50Lm9ybGluZ0BsaW51eC5pbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi1saWJ4bWwtcGFyc2VyLXBlcmw9IlRpbSBPcmxpbmcgPHRpbW90aHkudC5vcmxpbmdA
bGludXguaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4bWwtcGVybAoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5l
cnMuaW5jOjQyNQojICAgICAiVGltIE9ybGluZyA8dGltb3RoeS50Lm9ybGluZ0BsaW51eC5pbnRl
bC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4bWwtcGVybD0iVGltIE9ybGluZyA8dGlt
b3RoeS50Lm9ybGluZ0BsaW51eC5pbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWxpYnhtbC1zYXgtYmFzZS1wZXJsCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDI2CiMgICAgICJUaW0gT3JsaW5nIDx0aW1v
dGh5LnQub3JsaW5nQGxpbnV4LmludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnht
bC1zYXgtYmFzZS1wZXJsPSJUaW0gT3JsaW5nIDx0aW1vdGh5LnQub3JsaW5nQGxpbnV4LmludGVs
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieG1sLXNheC1wZXJsCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6
NDI3CiMgICAgICJUaW0gT3JsaW5nIDx0aW1vdGh5LnQub3JsaW5nQGxpbnV4LmludGVsLmNvbT4i
ClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhtbC1zYXgtcGVybD0iVGltIE9ybGluZyA8dGltb3Ro
eS50Lm9ybGluZ0BsaW51eC5pbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxp
YnhtbC1zaW1wbGUtcGVybAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQyOAojICAgICAiVGltIE9ybGluZyA8dGltb3RoeS50
Lm9ybGluZ0BsaW51eC5pbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4bWwtc2lt
cGxlLXBlcmw9IlRpbSBPcmxpbmcgPHRpbW90aHkudC5vcmxpbmdAbGludXguaW50ZWwuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4bWwyCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDI5CiMgICAgICJIb25n
eHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1s
aWJ4bWwyPSJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWxpYnhtdQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQzMAojICAgICAiQXJtaW4gS3VzdGVyIDxh
a3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhtdT0iQXJtaW4g
S3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
bGlieHBtCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6NDMxCiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieHBtPSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4
MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4cmFuZHIKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmlu
Yzo0MzIKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1saWJ4cmFuZHI9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5j
b20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhyZW5kZXIKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo0MzMKIyAg
ICAgIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1saWJ4cmVuZGVyPSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwoj
ICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4cmVzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDM0CiMgICAgICJBcm1pbiBL
dXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieHJl
cz0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tbGlieHNjcm5zYXZlcgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQzNQojICAgICAiQXJtaW4gS3VzdGVyIDxh
a3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhzY3Juc2F2ZXI9
IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWxpYnhzaG1mZW5jZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQzNgojICAgICAiQXJtaW4gS3VzdGVyIDxha3Vz
dGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhzaG1mZW5jZT0iQXJt
aW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tbGlieHNsdAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjQzNwojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2Fu
YXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4c2x0PSJBbGV4YW5kZXIg
S2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tbGlieHQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L21haW50YWluZXJzLmluYzo0MzgKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFp
bC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4dD0iQXJtaW4gS3VzdGVyIDxha3VzdGVy
ODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieHRzdAojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjQzOQojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLWxpYnh0c3Q9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnh2CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDQwCiMgICAgICJBcm1p
biBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGli
eHY9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlO
VEFJTkVSX3BuLWxpYnh2bWMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzo0NDEKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3Rl
cjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4dm1jPSJBcm1pbiBLdXN0
ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4
eGY4NnZtCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6NDQyCiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieHhmODZ2bT0iQXJtaW4gS3VzdGVyIDxha3Vz
dGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieWFtbAojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjQ0MwojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+
IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ5YW1sPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5r
YW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlnaHR0cGQKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJz
LmluYzo0NDQKIyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29t
PiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGlnaHR0cGQ9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4
LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC1kdW1t
eQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRh
aW5lcnMuaW5jOjQ0NQojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFp
bC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC1kdW1teT0iQWxleGFuZGVyIEthbmF2
aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxp
bnV4LWZpcm13YXJlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6NDQ2CiMgICAgICJPdGF2aW8gU2FsdmFkb3IgPG90YXZpby5z
YWx2YWRvckBvc3N5c3RlbXMuY29tLmJyPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGludXgtZmly
bXdhcmU9Ik90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LWxpYmMtaGVhZGVycwojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQ0
NwojICAgICAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iClJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLWxpbnV4LWxpYmMtaGVhZGVycz0iQnJ1Y2UgQXNoZmllbGQgPGJydWNl
LmFzaGZpZWxkQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGludXgteW9j
dG8KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50
YWluZXJzLmluYzo0NDgKIyAgICAgIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFp
bC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC15b2N0bz0iQnJ1Y2UgQXNoZmllbGQg
PGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGlu
dXgteW9jdG8tZGV2CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6NDQ5CiMgICAgICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNo
ZmllbGRAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbGludXgteW9jdG8tZGV2PSJC
cnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1saW51eC15b2N0by1ydAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQ1MAojICAgICAiQnJ1Y2UgQXNoZmll
bGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4
LXlvY3RvLXJ0PSJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKIwoj
ICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC15b2N0by10aW55CiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDUxCiMgICAg
ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKUkVDSVBFX01BSU5U
QUlORVJfcG4tbGludXgteW9jdG8tdGlueT0iQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxk
QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbGx2bQojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQ1Mgoj
ICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LWxsdm09IktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLWxvZ3JvdGF0ZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQ1MwojICAgICAiWWkgWmhhbyA8eWkuemhhb0B3aW5k
cml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbG9ncm90YXRlPSJZaSBaaGFvIDx5aS56
aGFvQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxyenN6CiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5p
bmM6NDU0CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBF
X01BSU5UQUlORVJfcG4tbHJ6c3o9IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxzYi1yZWxlYXNlCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDU1CiMgICAg
ICJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1sc2ItcmVsZWFzZT0iSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1sc29mCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDU2CiMgICAgICJSb3NzIEJ1
cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbHNvZj0i
Um9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tbHRwCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6NDU3CiMgICAgICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5j
b20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1sdHA9IllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVy
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbHR0bmctbW9kdWxlcwojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQ1
OAojICAgICAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5v
cmc+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1sdHRuZy1tb2R1bGVzPSJSaWNoYXJkIFB1cmRpZSA8
cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tbHR0bmctdG9vbHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzo0NTkKIyAgICAgIlJpY2hhcmQgUHVyZGllIDxyaWNo
YXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbHR0
bmctdG9vbHM9IlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24u
b3JnPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1sdHRuZy11c3QKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo0NjAKIyAg
ICAgIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIK
UkVDSVBFX01BSU5UQUlORVJfcG4tbHR0bmctdXN0PSJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5w
dXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbHo0
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFp
bmVycy5pbmM6NDYxCiMgICAgICJEZW55cyBEbXl0cml5ZW5rbyA8ZGVueXNAdGkuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tbHo0PSJEZW55cyBEbXl0cml5ZW5rbyA8ZGVueXNAdGkuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1semlwCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDYzCiMgICAgICJEZW55cyBE
bXl0cml5ZW5rbyA8ZGVueXNAdGkuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbHppcD0iRGVu
eXMgRG15dHJpeWVua28gPGRlbnlzQHRpLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
bHpvCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6NDYyCiMgICAgICJEZW55cyBEbXl0cml5ZW5rbyA8ZGVueXNAdGkuY29tPiIK
UkVDSVBFX01BSU5UQUlORVJfcG4tbHpvPSJEZW55cyBEbXl0cml5ZW5rbyA8ZGVueXNAdGkuY29t
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1sem9wCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDY0CiMgICAgICJEZW55
cyBEbXl0cml5ZW5rbyA8ZGVueXNAdGkuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbHpvcD0i
RGVueXMgRG15dHJpeWVua28gPGRlbnlzQHRpLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tbTQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzo0NjUKIyAgICAgIlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2
ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbTQ9IlJvYmVydCBZYW5nIDxsaWV6aGkueWFu
Z0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1tNC1uYXRpdmUKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJz
LmluYzo0NjYKIyAgICAgIlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIK
UkVDSVBFX01BSU5UQUlORVJfcG4tbTQtbmF0aXZlPSJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdA
d2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbWFrZQojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQ2
NwojICAgICAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1tYWtlPSJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNv
bT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbWFrZS1tb2Qtc2NyaXB0cwojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQ3
MAojICAgICAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iClJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLW1ha2UtbW9kLXNjcmlwdHM9IkJydWNlIEFzaGZpZWxkIDxicnVjZS5h
c2hmaWVsZEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ha2VkZXBlbmQK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWlu
ZXJzLmluYzo0NjgKIyAgICAgIlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29t
PiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbWFrZWRlcGVuZD0iUm9iZXJ0IFlhbmcgPGxpZXpoaS55
YW5nQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ha2VkZXZzCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6NDY5CiMgICAgICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1tYWtlZGV2cz0iQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1tYW4tZGIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo0NzEKIyAgICAgIkhvbmd4
dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1h
bi1kYj0iSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi1tYW4tcGFnZXMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo0NzIKIyAgICAgIkhvbmd4dSBKaWEgPGhv
bmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1hbi1wYWdlcz0i
SG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRB
SU5FUl9wbi1tYXRjaGJveC1jb25maWctZ3RrCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDczCiMgICAgICJSb3NzIEJ1cnRv
biA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbWF0Y2hib3gt
Y29uZmlnLWd0az0iUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tbWF0Y2hib3gtZGVza3RvcAojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQ3NAojICAgICAiUm9z
cyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1h
dGNoYm94LWRlc2t0b3A9IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMg
JFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1hdGNoYm94LWtleWJvYXJkCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDc1CiMgICAg
ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJf
cG4tbWF0Y2hib3gta2V5Ym9hcmQ9IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1hdGNoYm94LXBhbmVsLTIKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo0NzYK
IyAgICAgIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi1tYXRjaGJveC1wYW5lbC0yPSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwu
Y29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1tYXRjaGJveC1zZXNzaW9uCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6
NDc3CiMgICAgICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKUkVDSVBFX01B
SU5UQUlORVJfcG4tbWF0Y2hib3gtc2Vzc2lvbj0iUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGlu
dGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbWF0Y2hib3gtc2Vzc2lvbi1zYXRv
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFp
bmVycy5pbmM6NDc4CiMgICAgICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIK
UkVDSVBFX01BSU5UQUlORVJfcG4tbWF0Y2hib3gtc2Vzc2lvbi1zYXRvPSJSb3NzIEJ1cnRvbiA8
cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1tYXRjaGJv
eC10ZXJtaW5hbAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjQ3OQojICAgICAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGlu
dGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1hdGNoYm94LXRlcm1pbmFsPSJSb3NzIEJ1
cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1t
YXRjaGJveC10aGVtZS1zYXRvCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDgwCiMgICAgICJSb3NzIEJ1cnRvbiA8cm9zcy5i
dXJ0b25AaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbWF0Y2hib3gtdGhlbWUtc2F0
bz0iUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tbWF0Y2hib3gtd20KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo0ODEKIyAgICAgIlJvc3MgQnVydG9uIDxyb3Nz
LmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1tYXRjaGJveC13bT0iUm9z
cyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tbWMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzo0ODIKIyAgICAgIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5j
b20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1tYz0iUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGlu
dGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbWRhZG0KIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo0ODMKIyAg
ICAgIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1tZGFkbT0iUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tbWVudS1jYWNoZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQ4NAojICAgICAiUm9zcyBCdXJ0
b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1lbnUtY2Fj
aGU9IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlO
VEFJTkVSX3BuLW1lc2EKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL21haW50YWluZXJzLmluYzo0ODUKIyAgICAgIk90YXZpbyBTYWx2YWRvciA8b3Rhdmlv
LnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1tZXNhPSJP
dGF2aW8gU2FsdmFkb3IgPG90YXZpby5zYWx2YWRvckBvc3N5c3RlbXMuY29tLmJyPiIKIwojICRS
RUNJUEVfTUFJTlRBSU5FUl9wbi1tZXNhLWRlbW9zCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDg2CiMgICAgICJPdGF2aW8g
U2FsdmFkb3IgPG90YXZpby5zYWx2YWRvckBvc3N5c3RlbXMuY29tLmJyPiIKUkVDSVBFX01BSU5U
QUlORVJfcG4tbWVzYS1kZW1vcz0iT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW8uc2FsdmFkb3JAb3Nz
eXN0ZW1zLmNvbS5icj4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbWVzYS1nbAojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjQ4NwojICAgICAiT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW8uc2FsdmFkb3JAb3NzeXN0ZW1zLmNv
bS5icj4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1lc2EtZ2w9Ik90YXZpbyBTYWx2YWRvciA8b3Rh
dmlvLnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LW1lc29uCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6NDg4CiMgICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmlu
QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1lc29uPSJBbGV4YW5kZXIgS2FuYXZp
biA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0
YS1lbnZpcm9ubWVudC1leHRzZGstcWVtdXg4Ni02NCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQ5
MAojICAgICAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5v
cmc+IgojICAgcmVuYW1lIGZyb20gUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0YS1lbnZpcm9ubWVu
dC1leHRzZGstJHtNQUNISU5FfSBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgIlJpY2hh
cmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZv
dW5kYXRpb24ub3JnPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0YS1lbnZpcm9ubWVudC1leHRz
ZGstcWVtdXg4Ni02ND0iUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRh
dGlvbi5vcmc+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtZW52aXJvbm1lbnQtcWVt
dXg4Ni02NCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQ4OQojICAgICAiUmljaGFyZCBQdXJkaWUg
PHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgojICAgcmVuYW1lIGZyb20gUkVD
SVBFX01BSU5UQUlORVJfcG4tbWV0YS1lbnZpcm9ubWVudC0ke01BQ0hJTkV9IGRhdGEucHk6MTA0
IFtleHBhbmRLZXlzXQojICAgICAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4
Zm91bmRhdGlvbi5vcmc+IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiUmljaGFyZCBQdXJk
aWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgpSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1tZXRhLWVudmlyb25tZW50LXFlbXV4ODYtNjQ9IlJpY2hhcmQgUHVyZGllIDxyaWNoYXJk
LnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1t
ZXRhLWV4dHNkay10b29sY2hhaW4KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo0OTEKIyAgICAgIlJpY2hhcmQgUHVyZGllIDxy
aWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKUkVDSVBFX01BSU5UQUlORVJfcG4t
bWV0YS1leHRzZGstdG9vbGNoYWluPSJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGlu
dXhmb3VuZGF0aW9uLm9yZz4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0YS1nby10b29s
Y2hhaW4KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzo0OTIKIyAgICAgIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBs
aW51eGZvdW5kYXRpb24ub3JnPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0YS1nby10b29sY2hh
aW49IlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1tZXRhLWlkZS1zdXBwb3J0CiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NDkzCiMg
ICAgICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4i
ClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtaWRlLXN1cHBvcnQ9IlJpY2hhcmQgUHVyZGllIDxy
aWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1tZXRhLXRvb2xjaGFpbgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQ5NAojICAgICAiUmljaGFyZCBQdXJkaWUgPHJp
Y2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1t
ZXRhLXRvb2xjaGFpbj0iUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRh
dGlvbi5vcmc+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtd29ybGQtcGtnZGF0YQoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5l
cnMuaW5jOjQ5NQojICAgICAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91
bmRhdGlvbi5vcmc+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1tZXRhLXdvcmxkLXBrZ2RhdGE9IlJp
Y2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIwojICRS
RUNJUEVfTUFJTlRBSU5FUl9wbi1taW5nZXR0eQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjQ5NgojICAgICAiWWkgWmhhbyA8
eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbWluZ2V0dHk9Illp
IFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
bWluaS14LXNlc3Npb24KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL21haW50YWluZXJzLmluYzo0OTcKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3Rlcjgw
OEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1taW5pLXgtc2Vzc2lvbj0iQXJtaW4g
S3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
bWluaWNvbQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
bWFpbnRhaW5lcnMuaW5jOjQ5OAojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVs
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1pbmljb209IkFudWogTWl0dGFsIDxhbnVqLm1p
dHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1rZm9udGRpcgojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjQ5OQojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLW1rZm9udGRpcj0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWls
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbWtmb250c2NhbGUKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1MDAK
IyAgICAgIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi1ta2ZvbnRzY2FsZT0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbWtsaWJzLW5hdGl2ZQojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjUwMQojICAg
ICAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi1ta2xpYnMtbmF0aXZlPSJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVy
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbW1jLXV0aWxzCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTAyCiMg
ICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tbW1jLXV0aWxzPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwoj
ICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8KIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJz
LmluYzo1MDMKIyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29t
PiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvPSJB
bGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01B
SU5UQUlORVJfcG4tbW9kdXRpbHMtaW5pdHNjcmlwdHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1MDQKIyAgICAgIllpIFpo
YW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1vZHV0aWxz
LWluaXRzY3JpcHRzPSJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLW1wZWcyZGVjCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTA1CiMgICAgICJBbGV4YW5kZXIgS2Fu
YXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1wZWcy
ZGVjPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tbXBmcgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjUwNgojICAgICAiS2hlbSBSYWogPHJhai5r
aGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1wZnI9IktoZW0gUmFqIDxyYWou
a2hlbUBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1wZzEyMwojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjUwNwojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi1tcGcxMjM9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2
aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1tc210cAojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjUw
OAojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1tc210cD0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBn
bWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW10ZC11dGlscwojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjUw
OQojICAgICAiRGVueXMgRG15dHJpeWVua28gPGRlbnlzQHRpLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLW10ZC11dGlscz0iRGVueXMgRG15dHJpeWVua28gPGRlbnlzQHRpLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tbXRkZXYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1MTAKIyAgICAgIkFudWogTWl0dGFs
IDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1tdGRldj0iQW51
aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tbXRvb2xzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6NTExCiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50
ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbXRvb2xzPSJBbnVqIE1pdHRhbCA8YW51ai5t
aXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1tdXNsCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6
NTEyCiMgICAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tbXVzbD0iS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01B
SU5UQUlORVJfcG4tbXVzbC1vYnN0YWNrCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTEzCiMgICAgICJLaGVtIFJhaiA8cmFq
LmtoZW1AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbXVzbC1vYnN0YWNrPSJLaGVt
IFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1tdXNs
LXV0aWxzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6NTE0CiMgICAgICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIK
UkVDSVBFX01BSU5UQUlORVJfcG4tbXVzbC11dGlscz0iS2hlbSBSYWogPHJhai5raGVtQGdtYWls
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbXgtMS4wCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTE1CiMgICAg
ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJf
cG4tbXgtMS4wPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1uYXNtCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTE2CiMgICAgICJSaWNoYXJkIFB1cmRpZSA8
cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iClJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LW5hc209IlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3Jn
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVzZGstYnVpbGR0b29scy1wZXJsLWR1
bW15CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6NTE3CiMgICAgICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGlu
dXhmb3VuZGF0aW9uLm9yZz4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5hdGl2ZXNkay1idWlsZHRv
b2xzLXBlcmwtZHVtbXk9IlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5k
YXRpb24ub3JnPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVzZGstaWNlY2MtdG9v
bGNoYWluCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6NTE4CiMgICAgICJKb3NodWEgV2F0dCA8SlBFV2hhY2tlckBnbWFpbC5j
b20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVzZGstaWNlY2MtdG9vbGNoYWluPSJKb3No
dWEgV2F0dCA8SlBFV2hhY2tlckBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LW5hdGl2ZXNkay1saWJ0b29sCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTE5CiMgICAgICJSaWNoYXJkIFB1cmRpZSA8cmlj
aGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5h
dGl2ZXNkay1saWJ0b29sPSJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3Vu
ZGF0aW9uLm9yZz4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbmF0aXZlc2RrLW1lc29uCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVy
cy5pbmM6NTIwCiMgICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5hdGl2ZXNkay1tZXNvbj0iQWxleGFuZGVyIEthbmF2
aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5h
dGl2ZXNkay1wYWNrYWdlZ3JvdXAtc2RrLWhvc3QKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1MjEKIyAgICAgIlJvc3MgQnVy
dG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVz
ZGstcGFja2FnZWdyb3VwLXNkay1ob3N0PSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwu
Y29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVzZGstcWVtdS1oZWxwZXIKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJz
LmluYzo1MjIKIyAgICAgIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5k
YXRpb24ub3JnPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbmF0aXZlc2RrLXFlbXUtaGVscGVyPSJS
aWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tbmF0aXZlc2RrLXNkay1wcm92aWRlcy1kdW1teQojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjUyMwojICAgICAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlv
bi5vcmc+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVzZGstc2RrLXByb3ZpZGVzLWR1bW15
PSJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiMK
IyAkUkVDSVBFX01BSU5UQUlORVJfcG4tbmN1cnNlcwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjUyNQojICAgICAiSG9uZ3h1
IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbmN1
cnNlcz0iSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi1uZWFyZAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjUyNgojICAgICAiQW51aiBNaXR0YWwgPGFudWou
bWl0dGFsQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5lYXJkPSJBbnVqIE1pdHRh
bCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1uZXQt
dG9vbHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzo1MjcKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5j
b20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1uZXQtdG9vbHM9IkFybWluIEt1c3RlciA8YWt1c3Rl
cjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5ldGJhc2UKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmlu
Yzo1MjgKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1uZXRiYXNlPSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29t
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1uZXR0bGUKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1MjkKIyAgICAgIkFy
bWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1u
ZXR0bGU9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLW5ld2xpYgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjUyNAojICAgICAiQWxlamFuZHJvIEhlcm5hbmRl
eiA8YWVoczI5QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5ld2xpYj0iQWxlamFu
ZHJvIEhlcm5hbmRleiA8YWVoczI5QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tbmZzLWV4cG9ydC1yb290CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTMwCiMgICAgICJSb2JlcnQgWWFuZyA8bGllemhp
LnlhbmdAd2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5mcy1leHBvcnQtcm9v
dD0iUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLW5mcy11dGlscwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjUzMQojICAgICAiUm9iZXJ0IFlhbmcgPGxp
ZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1uZnMtdXRpbHM9
IlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1uaW5qYQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjUzMgojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdt
YWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5pbmphPSJLaGVtIFJhaiA8cmFqLmtoZW1A
Z21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1ucHRoCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTMzCiMg
ICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLW5wdGg9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwu
Y29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1uc3ByCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTM0CiMgICAgICJB
cm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4t
bnNwcj0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01B
SU5UQUlORVJfcG4tbnNzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTM1CiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4
MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tbnNzPSJBcm1pbiBLdXN0ZXIgPGFr
dXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1uc3MtbXlob3N0
bmFtZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFp
bnRhaW5lcnMuaW5jOjUzNgojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5zcy1teWhvc3RuYW1lPSJBbnVqIE1pdHRhbCA8YW51
ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1vZm9ubwojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjUzNwojICAgICAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iClJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLW9mb25vPSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29t
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1vcGVuc2JpCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTM4CiMgICAgICJB
bGlzdGFpciBGcmFuY2lzIDxhbGlzdGFpci5mcmFuY2lzQHdkYy5jb20+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi1vcGVuc2JpPSJBbGlzdGFpciBGcmFuY2lzIDxhbGlzdGFpci5mcmFuY2lzQHdkYy5j
b20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW9wZW5zc2gKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1MzkKIyAgICAg
IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9w
bi1vcGVuc3NoPSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1vcGVuc3NsCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTQwCiMgICAgICJBbGV4YW5kZXIgS2Fu
YXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW9wZW5z
c2w9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1vcGtnCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTQxCiMgICAgICJBbGVqYW5kcm8gZGVsIENh
c3RpbGxvIDxhbGVqYW5kcm8uZGVsY2FzdGlsbG9AbmkuY29tPiIKUkVDSVBFX01BSU5UQUlORVJf
cG4tb3BrZz0iQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5p
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tb3BrZy1hcmNoLWNvbmZpZwojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjU0MgojICAgICAiQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxv
QG5pLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLW9wa2ctYXJjaC1jb25maWc9IkFsZWphbmRy
byBkZWwgQ2FzdGlsbG8gPGFsZWphbmRyby5kZWxjYXN0aWxsb0BuaS5jb20+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLW9wa2cta2V5cmluZ3MKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1NDMKIyAgICAgIkFsZWphbmRy
byBkZWwgQ2FzdGlsbG8gPGFsZWphbmRyby5kZWxjYXN0aWxsb0BuaS5jb20+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1vcGtnLWtleXJpbmdzPSJBbGVqYW5kcm8gZGVsIENhc3RpbGxvIDxhbGVqYW5k
cm8uZGVsY2FzdGlsbG9AbmkuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1vcGtnLXV0
aWxzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6NTQ0CiMgICAgICJBbGVqYW5kcm8gZGVsIENhc3RpbGxvIDxhbGVqYW5kcm8u
ZGVsY2FzdGlsbG9AbmkuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tb3BrZy11dGlscz0iQWxl
amFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tb3JjCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTQ1CiMgICAgICJBbnVqIE1pdHRhbCA8
YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tb3JjPSJBbnVqIE1p
dHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1v
cy1yZWxlYXNlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6NTQ2CiMgICAgICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50
ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tb3MtcmVsZWFzZT0iUm9zcyBCdXJ0b24gPHJv
c3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tb3ZtZgojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjU0NwojICAgICAiUmljYXJkbyBOZXJpIDxyaWNhcmRvLm5lcmktY2FsZGVyb25AbGludXgu
aW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tb3ZtZj0iUmljYXJkbyBOZXJpIDxyaWNh
cmRvLm5lcmktY2FsZGVyb25AbGludXguaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1vdm1mLXNoZWxsLWltYWdlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTQ4CiMgICAgICJSaWNhcmRvIE5lcmkgPHJp
Y2FyZG8ubmVyaS1jYWxkZXJvbkBsaW51eC5pbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9w
bi1vdm1mLXNoZWxsLWltYWdlPSJSaWNhcmRvIE5lcmkgPHJpY2FyZG8ubmVyaS1jYWxkZXJvbkBs
aW51eC5pbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXAxMS1raXQKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmlu
Yzo1NDkKIyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIK
UkVDSVBFX01BSU5UQUlORVJfcG4tcDExLWtpdD0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2Fu
YXZpbkBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXBhY2thZ2UtaW5kZXgK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWlu
ZXJzLmluYzo1NTAKIyAgICAgIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi1wYWNrYWdlLWluZGV4PSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0
b25AaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1wYW5nbwojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjU1
MQojICAgICAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iClJFQ0lQRV9NQUlO
VEFJTkVSX3BuLXBhbmdvPSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIwoj
ICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1wYXJ0ZWQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1NTIKIyAgICAgIkhvbmd4dSBK
aWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXBhcnRl
ZD0iSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1wYXRjaAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjU1MwojICAgICAiSG9uZ3h1IEppYSA8aG9uZ3h1Lmpp
YUB3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcGF0Y2g9Ikhvbmd4dSBKaWEg
PGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcGF0
Y2hlbGYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzo1NTQKIyAgICAgIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBs
aW51eGZvdW5kYXRpb24ub3JnPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcGF0Y2hlbGY9IlJpY2hh
cmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIwojICRSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1wYnppcDIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1NTUKIyAgICAgIkRlbnlzIERteXRyaXll
bmtvIDxkZW55c0B0aS5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1wYnppcDI9IkRlbnlzIERt
eXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXBjaXV0
aWxzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6NTU2CiMgICAgICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi1wY2l1dGlscz0iQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIu
Y29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1wY21hbmZtCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTU3CiMgICAg
ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlO
VEFJTkVSX3BuLXBjbWFuZm09IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwu
Y29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1wZXJmCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTU4CiMgICAgICJC
cnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tcGVyZj0iQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iCiMK
IyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcGVybAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjU1OQojICAgICAiQWxleGFuZGVy
IEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1w
ZXJsPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tcGVybC1uYXRpdmUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1NjAKIyAgICAgIkFsZXhhbmRl
ciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4t
cGVybC1uYXRpdmU9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1waWdsaXQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1NjEKIyAgICAgIlJvc3Mg
QnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1waWds
aXQ9IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlO
VEFJTkVSX3BuLXBpZ3oKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL21haW50YWluZXJzLmluYzo1NjIKIyAgICAgIkhvbmd4dSBKaWEgPGhvbmd4dS5qaWFA
d2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXBpZ3o9Ikhvbmd4dSBKaWEgPGhv
bmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcGluZW50
cnkKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50
YWluZXJzLmluYzo1NjMKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+
IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1waW5lbnRyeT0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4
QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcGl4bWFuCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTY0
CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5U
QUlORVJfcG4tcGl4bWFuPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwoj
ICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1wa2djb25mCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTY1CiMgICAgICJSb3NzIEJ1
cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcGtnY29u
Zj0iUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tcGtnY29uZmlnCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTY2CiMgICAgICJSb3NzIEJ1cnRvbiA8cm9zcy5i
dXJ0b25AaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcGtnY29uZmlnPSJSb3NzIEJ1
cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1w
bS11dGlscwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
bWFpbnRhaW5lcnMuaW5jOjU2NwojICAgICAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVs
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXBtLXV0aWxzPSJSb3NzIEJ1cnRvbiA8cm9zcy5i
dXJ0b25AaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1wb2ludGVyY2FsLXhp
bnB1dAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFp
bnRhaW5lcnMuaW5jOjU2OAojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBn
bWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1wb2ludGVyY2FsLXhpbnB1dD0iQWxleGFu
ZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLXBvbmctY2xvY2sKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzo1NjkKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1p
dHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1wb25nLWNsb2NrPSJBbnVqIE1p
dHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1w
b3B0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6NTcwCiMgICAgICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi1wb3B0PSJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXBvd2VydG9wCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTcxCiMgICAgICJB
bGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLXBvd2VydG9wPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNv
bT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcHBwCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTcyCiMgICAgICJIb25n
eHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1w
cHA9Ikhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01B
SU5UQUlORVJfcG4tcHBwLWRpYWxpbgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjU3MwojICAgICAiSG9uZ3h1IEppYSA8aG9u
Z3h1LmppYUB3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcHBwLWRpYWxpbj0i
SG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRB
SU5FUl9wbi1wcmVsaW5rCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTc0CiMgICAgICJNYXJrIEhhdGxlIDxtYXJrLmhhdGxl
QHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1wcmVsaW5rPSJNYXJrIEhhdGxl
IDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXBy
b2NwcwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFp
bnRhaW5lcnMuaW5jOjU3NQojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBn
bWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1wcm9jcHM9IkFsZXhhbmRlciBLYW5hdmlu
IDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1wc2V1
ZG8KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50
YWluZXJzLmluYzo1NzYKIyAgICAgIk1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNv
bT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXBzZXVkbz0iTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3
aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1wc21pc2MKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1
NzcKIyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tcHNtaXNjPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmlu
QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcHNwbGFzaAojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjU3
OAojICAgICAiWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tcHNwbGFzaD0iWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1wdGVzdC1ydW5uZXIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1NzkKIyAgICAgIlJvc3MgQnVy
dG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1wdGVzdC1y
dW5uZXI9IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLXB1bHNlYXVkaW8KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1ODAKIyAgICAgIlRhbnUgS2Fza2luZW4g
PHRhbnVrQGlraS5maT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB1bHNlYXVkaW89IlRhbnUgS2Fz
a2luZW4gPHRhbnVrQGlraS5maT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcHVsc2VhdWRp
by1jbGllbnQtY29uZi1zYXRvCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTgxCiMgICAgICJUYW51IEthc2tpbmVuIDx0YW51
a0Bpa2kuZmk+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1wdWxzZWF1ZGlvLWNsaWVudC1jb25mLXNh
dG89IlRhbnUgS2Fza2luZW4gPHRhbnVrQGlraS5maT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tcHV6emxlcwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjU4MgojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGlu
dGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB1enpsZXM9IkFudWogTWl0dGFsIDxhbnVq
Lm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhvbgojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjU4MwojICAgICAiT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVrc2FuZHIt
a3JhdmNodWsuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9uPSJPbGVrc2FuZHIgS3Jh
dmNodWsgPG9wZW4uc291cmNlQG9sZWtzYW5kci1rcmF2Y2h1ay5jb20+IgojCiMgJFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLXB5dGhvbi1uYXRpdmUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1ODQKIyAgICAgIk9sZWtzYW5kciBL
cmF2Y2h1ayA8b3Blbi5zb3VyY2VAb2xla3NhbmRyLWtyYXZjaHVrLmNvbT4iClJFQ0lQRV9NQUlO
VEFJTkVSX3BuLXB5dGhvbi1uYXRpdmU9Ik9sZWtzYW5kciBLcmF2Y2h1ayA8b3Blbi5zb3VyY2VA
b2xla3NhbmRyLWtyYXZjaHVrLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9u
LXNldHVwdG9vbHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL21haW50YWluZXJzLmluYzo1ODUKIyAgICAgIk9sZWtzYW5kciBLcmF2Y2h1ayA8b3Blbi5z
b3VyY2VAb2xla3NhbmRyLWtyYXZjaHVrLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhv
bi1zZXR1cHRvb2xzPSJPbGVrc2FuZHIgS3JhdmNodWsgPG9wZW4uc291cmNlQG9sZWtzYW5kci1r
cmF2Y2h1ay5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhvbjMKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1
ODYKIyAgICAgIk9sZWtzYW5kciBLcmF2Y2h1ayA8b3Blbi5zb3VyY2VAb2xla3NhbmRyLWtyYXZj
aHVrLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhvbjM9Ik9sZWtzYW5kciBLcmF2Y2h1
ayA8b3Blbi5zb3VyY2VAb2xla3NhbmRyLWtyYXZjaHVrLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tcHl0aG9uMy1hc3luYwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjU4NwojICAgICAiT2xla3NhbmRyIEtyYXZj
aHVrIDxvcGVuLnNvdXJjZUBvbGVrc2FuZHIta3JhdmNodWsuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4tcHl0aG9uMy1hc3luYz0iT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVr
c2FuZHIta3JhdmNodWsuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLWRi
dXMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50
YWluZXJzLmluYzo1ODgKIyAgICAgIk9sZWtzYW5kciBLcmF2Y2h1ayA8b3Blbi5zb3VyY2VAb2xl
a3NhbmRyLWtyYXZjaHVrLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhvbjMtZGJ1cz0i
T2xla3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVrc2FuZHIta3JhdmNodWsuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLWRvY3V0aWxzCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTg5CiMg
ICAgICJPbGVrc2FuZHIgS3JhdmNodWsgPG9wZW4uc291cmNlQG9sZWtzYW5kci1rcmF2Y2h1ay5j
b20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLWRvY3V0aWxzPSJPbGVrc2FuZHIgS3Jh
dmNodWsgPG9wZW4uc291cmNlQG9sZWtzYW5kci1rcmF2Y2h1ay5jb20+IgojCiMgJFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLXB5dGhvbjMtZXh0cmFzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTkwCiMgICAgICJPbGVrc2FuZHIg
S3JhdmNodWsgPG9wZW4uc291cmNlQG9sZWtzYW5kci1rcmF2Y2h1ay5jb20+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1weXRob24zLWV4dHJhcz0iT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJj
ZUBvbGVrc2FuZHIta3JhdmNodWsuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRo
b24zLWZpbGUtdXRpbHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL21haW50YWluZXJzLmluYzo1OTEKIyAgICAgIk9sZWtzYW5kciBLcmF2Y2h1ayA8b3Bl
bi5zb3VyY2VAb2xla3NhbmRyLWtyYXZjaHVrLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5
dGhvbjMtZmlsZS11dGlscz0iT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVrc2Fu
ZHIta3JhdmNodWsuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLWdpdAoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5l
cnMuaW5jOjU5MgojICAgICAiT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVrc2Fu
ZHIta3JhdmNodWsuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9uMy1naXQ9Ik9sZWtz
YW5kciBLcmF2Y2h1ayA8b3Blbi5zb3VyY2VAb2xla3NhbmRyLWtyYXZjaHVrLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9uMy1naXRkYgojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjU5MwojICAgICAiT2xl
a3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVrc2FuZHIta3JhdmNodWsuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4tcHl0aG9uMy1naXRkYj0iT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVu
LnNvdXJjZUBvbGVrc2FuZHIta3JhdmNodWsuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9w
bi1weXRob24zLWluaXBhcnNlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTk0CiMgICAgICJPbGVrc2FuZHIgS3JhdmNodWsg
PG9wZW4uc291cmNlQG9sZWtzYW5kci1rcmF2Y2h1ay5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9w
bi1weXRob24zLWluaXBhcnNlPSJPbGVrc2FuZHIgS3JhdmNodWsgPG9wZW4uc291cmNlQG9sZWtz
YW5kci1rcmF2Y2h1ay5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhvbjMtbWFr
bwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRh
aW5lcnMuaW5jOjU5NQojICAgICAiT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVr
c2FuZHIta3JhdmNodWsuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9uMy1tYWtvPSJP
bGVrc2FuZHIgS3JhdmNodWsgPG9wZW4uc291cmNlQG9sZWtzYW5kci1rcmF2Y2h1ay5jb20+Igoj
CiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhvbjMtbmF0aXZlCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTk2CiMgICAg
ICJPbGVrc2FuZHIgS3JhdmNodWsgPG9wZW4uc291cmNlQG9sZWtzYW5kci1rcmF2Y2h1ay5jb20+
IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLW5hdGl2ZT0iT2xla3NhbmRyIEtyYXZjaHVr
IDxvcGVuLnNvdXJjZUBvbGVrc2FuZHIta3JhdmNodWsuY29tPiIKIwojICRSRUNJUEVfTUFJTlRB
SU5FUl9wbi1weXRob24zLW5vc2UKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo1OTcKIyAgICAgIk9sZWtzYW5kciBLcmF2Y2h1
ayA8b3Blbi5zb3VyY2VAb2xla3NhbmRyLWtyYXZjaHVrLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVS
X3BuLXB5dGhvbjMtbm9zZT0iT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVrc2Fu
ZHIta3JhdmNodWsuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLW51bXB5
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFp
bmVycy5pbmM6NTk4CiMgICAgICJPbGVrc2FuZHIgS3JhdmNodWsgPG9wZW4uc291cmNlQG9sZWtz
YW5kci1rcmF2Y2h1ay5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLW51bXB5PSJP
bGVrc2FuZHIgS3JhdmNodWsgPG9wZW4uc291cmNlQG9sZWtzYW5kci1rcmF2Y2h1ay5jb20+Igoj
CiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhvbjMtcGJyCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NTk5CiMgICAgICJP
bGVrc2FuZHIgS3JhdmNodWsgPG9wZW4uc291cmNlQG9sZWtzYW5kci1rcmF2Y2h1ay5jb20+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLXBicj0iT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVu
LnNvdXJjZUBvbGVrc2FuZHIta3JhdmNodWsuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9w
bi1weXRob24zLXBpcAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjYwMAojICAgICAiT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVu
LnNvdXJjZUBvbGVrc2FuZHIta3JhdmNodWsuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcHl0
aG9uMy1waXA9Ik9sZWtzYW5kciBLcmF2Y2h1ayA8b3Blbi5zb3VyY2VAb2xla3NhbmRyLWtyYXZj
aHVrLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9uMy1weWNhaXJvCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5p
bmM6NjAxCiMgICAgICJPbGVrc2FuZHIgS3JhdmNodWsgPG9wZW4uc291cmNlQG9sZWtzYW5kci1r
cmF2Y2h1ay5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLXB5Y2Fpcm89Ik9sZWtz
YW5kciBLcmF2Y2h1ayA8b3Blbi5zb3VyY2VAb2xla3NhbmRyLWtyYXZjaHVrLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9uMy1weWdtZW50cwojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjYwMgojICAgICAi
T2xla3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVrc2FuZHIta3JhdmNodWsuY29tPiIK
UkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9uMy1weWdtZW50cz0iT2xla3NhbmRyIEtyYXZjaHVr
IDxvcGVuLnNvdXJjZUBvbGVrc2FuZHIta3JhdmNodWsuY29tPiIKIwojICRSRUNJUEVfTUFJTlRB
SU5FUl9wbi1weXRob24zLXB5Z29iamVjdAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjYwMwojICAgICAiT2xla3NhbmRyIEty
YXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVrc2FuZHIta3JhdmNodWsuY29tPiIKUkVDSVBFX01BSU5U
QUlORVJfcG4tcHl0aG9uMy1weWdvYmplY3Q9Ik9sZWtzYW5kciBLcmF2Y2h1ayA8b3Blbi5zb3Vy
Y2VAb2xla3NhbmRyLWtyYXZjaHVrLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcHl0
aG9uMy1zY29ucwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjYwNAojICAgICAiVGltIE9ybGluZyA8dGltb3RoeS50Lm9ybGlu
Z0BsaW51eC5pbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLXNjb25zPSJU
aW0gT3JsaW5nIDx0aW1vdGh5LnQub3JsaW5nQGxpbnV4LmludGVsLmNvbT4iCiMKIyAkUkVDSVBF
X01BSU5UQUlORVJfcG4tcHl0aG9uMy1zY29ucy1uYXRpdmUKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2MDUKIyAgICAgIlRp
bSBPcmxpbmcgPHRpbW90aHkudC5vcmxpbmdAbGludXguaW50ZWwuY29tPiIKUkVDSVBFX01BSU5U
QUlORVJfcG4tcHl0aG9uMy1zY29ucy1uYXRpdmU9IlRpbSBPcmxpbmcgPHRpbW90aHkudC5vcmxp
bmdAbGludXguaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLXNl
dHVwdG9vbHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L21haW50YWluZXJzLmluYzo2MDYKIyAgICAgIk9sZWtzYW5kciBLcmF2Y2h1ayA8b3Blbi5zb3Vy
Y2VAb2xla3NhbmRyLWtyYXZjaHVrLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhvbjMt
c2V0dXB0b29scz0iT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVrc2FuZHIta3Jh
dmNodWsuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLXNpeAojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjYwNwojICAgICAiT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVrc2FuZHIta3Jh
dmNodWsuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9uMy1zaXg9Ik9sZWtzYW5kciBL
cmF2Y2h1ayA8b3Blbi5zb3VyY2VAb2xla3NhbmRyLWtyYXZjaHVrLmNvbT4iCiMKIyAkUkVDSVBF
X01BSU5UQUlORVJfcG4tcHl0aG9uMy1zbW1hcAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjYwOAojICAgICAiT2xla3NhbmRy
IEtyYXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVrc2FuZHIta3JhdmNodWsuY29tPiIKUkVDSVBFX01B
SU5UQUlORVJfcG4tcHl0aG9uMy1zbW1hcD0iT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJj
ZUBvbGVrc2FuZHIta3JhdmNodWsuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRo
b24zLXN1YnVuaXQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL21haW50YWluZXJzLmluYzo2MDkKIyAgICAgIk9sZWtzYW5kciBLcmF2Y2h1ayA8b3Blbi5z
b3VyY2VAb2xla3NhbmRyLWtyYXZjaHVrLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhv
bjMtc3VidW5pdD0iT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVrc2FuZHIta3Jh
dmNodWsuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLXRlc3R0b29scwoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5l
cnMuaW5jOjYxMAojICAgICAiT2xla3NhbmRyIEtyYXZjaHVrIDxvcGVuLnNvdXJjZUBvbGVrc2Fu
ZHIta3JhdmNodWsuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9uMy10ZXN0dG9vbHM9
Ik9sZWtzYW5kciBLcmF2Y2h1ayA8b3Blbi5zb3VyY2VAb2xla3NhbmRyLWtyYXZjaHVrLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcWVtdQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjYxMQojICAgICAiUmljaGFy
ZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1xZW11PSJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3Vu
ZGF0aW9uLm9yZz4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcWVtdS1oZWxwZXItbmF0aXZl
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFp
bmVycy5pbmM6NjEyCiMgICAgICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhm
b3VuZGF0aW9uLm9yZz4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXFlbXUtaGVscGVyLW5hdGl2ZT0i
UmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgojCiMg
JFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXFlbXUtbmF0aXZlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjEzCiMgICAgICJSaWNo
YXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLXFlbXUtbmF0aXZlPSJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVA
bGludXhmb3VuZGF0aW9uLm9yZz4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcWVtdS1zeXN0
ZW0tbmF0aXZlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6NjE0CiMgICAgICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJk
aWVAbGludXhmb3VuZGF0aW9uLm9yZz4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXFlbXUtc3lzdGVt
LW5hdGl2ZT0iUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5v
cmc+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXFlbXV3cmFwcGVyLWNyb3NzCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6
NjE1CiMgICAgICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9u
Lm9yZz4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXFlbXV3cmFwcGVyLWNyb3NzPSJSaWNoYXJkIFB1
cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiMKIyAkUkVDSVBFX01B
SU5UQUlORVJfcG4tcXVpbHQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzo2MTYKIyAgICAgIlJvYmVydCBZYW5nIDxsaWV6aGku
eWFuZ0B3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcXVpbHQ9IlJvYmVydCBZ
YW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9w
bi1xdWlsdC1uYXRpdmUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL21haW50YWluZXJzLmluYzo2MTcKIyAgICAgIlJvYmVydCBZYW5nIDxsaWV6aGkueWFu
Z0B3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcXVpbHQtbmF0aXZlPSJSb2Jl
cnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tcXVvdGEKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL21haW50YWluZXJzLmluYzo2MTgKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBp
bnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1xdW90YT0iQW51aiBNaXR0YWwgPGFudWou
bWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcmUyYwojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjYxOQojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLXJlMmM9IktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLXJlYWRsaW5lCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjIwCiMgICAgICJIb25neHUgSmlhIDxob25n
eHUuamlhQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1yZWFkbGluZT0iSG9u
Z3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1yZXNvbHZjb25mCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjIxCiMgICAgICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRy
aXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1yZXNvbHZjb25mPSJDaGVuIFFpIDxRaS5D
aGVuQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXJnYgojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjYyMgojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLXJnYj0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMK
IyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcm5nLXRvb2xzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjI0CiMgICAgICJBbnVq
IE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tcm5n
LXRvb2xzPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi1ycGNiaW5kCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjIzCiMgICAgICJIb25neHUgSmlhIDxob25n
eHUuamlhQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1ycGNiaW5kPSJIb25n
eHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVS
X3BuLXJwY3N2Yy1wcm90bwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjYyNQojICAgICAiS2hlbSBSYWogPHJhai5raGVtQGdt
YWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXJwY3N2Yy1wcm90bz0iS2hlbSBSYWogPHJh
ai5raGVtQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcnBtCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6
NjI2CiMgICAgICJNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1ycG09Ik1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tcnN5bmMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2MjcKIyAgICAgIllpIFpo
YW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXJzeW5jPSJZ
aSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LXJ0LXRlc3RzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6NjI4CiMgICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5h
dmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXJ0LXRlc3RzPSJBbGV4YW5kZXIg
S2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tcnVieQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
bWFpbnRhaW5lcnMuaW5jOjYyOQojICAgICAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVs
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXJ1Ynk9IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRv
bkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXJ1bi1wb3N0aW5zdHMKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJz
LmluYzo2MzAKIyAgICAgIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1ydW4tcG9zdGluc3RzPSJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25A
aW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1yeHZ0LXVuaWNvZGUKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmlu
Yzo2MzEKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVf
TUFJTlRBSU5FUl9wbi1yeHZ0LXVuaWNvZGU9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFp
bC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXNhdG8tc2NyZWVuc2hvdAojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjYzMgojICAgICAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLXNhdG8tc2NyZWVuc2hvdD0iUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGlu
dGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tc2JjCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjMzCiMgICAg
ICJUYW51IEthc2tpbmVuIDx0YW51a0Bpa2kuZmk+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zYmM9
IlRhbnUgS2Fza2luZW4gPHRhbnVrQGlraS5maT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
c2NyZWVuCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6NjM0CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tc2NyZWVuPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0
YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1zZWQKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2MzUK
IyAgICAgIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVS
X3BuLXNlZD0iQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1zZXJmCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjM2CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0
YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tc2VyZj0iQW51aiBNaXR0YWwgPGFu
dWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tc2V0c2VyaWFs
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFp
bmVycy5pbmM6NjM3CiMgICAgICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgpSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1zZXRzZXJpYWw9IllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNv
bT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tc2V0dGluZ3MtZGFlbW9uCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjM4
CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5U
QUlORVJfcG4tc2V0dGluZ3MtZGFlbW9uPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwu
Y29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1zaGFkb3cKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2MzkKIyAgICAg
IkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXNo
YWRvdz0iQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRB
SU5FUl9wbi1zaGFkb3ctc2VjdXJldHR5CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjQwCiMgICAgICJDaGVuIFFpIDxRaS5D
aGVuQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zaGFkb3ctc2VjdXJldHR5
PSJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVS
X3BuLXNoYWRvdy1zeXNyb290CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjQxCiMgICAgICJDaGVuIFFpIDxRaS5DaGVuQHdp
bmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zaGFkb3ctc3lzcm9vdD0iQ2hlbiBR
aSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1zaGFy
ZWQtbWltZS1pbmZvCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6NjQyCiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxA
aW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tc2hhcmVkLW1pbWUtaW5mbz0iQW51aiBN
aXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4t
c2h1dGRvd24tZGVza3RvcAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY0MwojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFs
ZXgua2FuYXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zaHV0ZG93bi1kZXNr
dG9wPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tc2lnbmluZy1rZXlzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjQ0CiMgICAgICJSaWNoYXJk
IFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iClJFQ0lQRV9NQUlO
VEFJTkVSX3BuLXNpZ25pbmcta2V5cz0iUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxp
bnV4Zm91bmRhdGlvbi5vcmc+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXNsYW5nCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5p
bmM6NjQ1CiMgICAgICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi1zbGFuZz0iWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKIwojICRS
RUNJUEVfTUFJTlRBSU5FUl9wbi1zb2NhdAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY0NgojICAgICAiSG9uZ3h1IEppYSA8
aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tc29jYXQ9Ikhv
bmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tc3BlZXgKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL21haW50YWluZXJzLmluYzo2NDcKIyAgICAgIlRhbnUgS2Fza2luZW4gPHRhbnVrQGlraS5m
aT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXNwZWV4PSJUYW51IEthc2tpbmVuIDx0YW51a0Bpa2ku
Zmk+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXNwZWV4ZHNwCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjQ4CiMgICAg
ICJUYW51IEthc2tpbmVuIDx0YW51a0Bpa2kuZmk+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zcGVl
eGRzcD0iVGFudSBLYXNraW5lbiA8dGFudWtAaWtpLmZpPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1zcWxpdGUzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6NjQ5CiMgICAgICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxA
aW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tc3FsaXRlMz0iQW51aiBNaXR0YWwgPGFu
dWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tc3F1YXNoZnMt
dG9vbHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzo2NTAKIyAgICAgIlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2
ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tc3F1YXNoZnMtdG9vbHM9IlJvYmVydCBZYW5n
IDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1z
dGFydHVwLW5vdGlmaWNhdGlvbgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY1MQojICAgICAiQWxleGFuZGVyIEthbmF2aW4g
PGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zdGFydHVwLW5v
dGlmaWNhdGlvbj0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Igoj
CiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN0cmFjZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY1MgojICAgICAiUm9iZXJ0
IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1z
dHJhY2U9IlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJ
UEVfTUFJTlRBSU5FUl9wbi1zdHJlc3MtbmcKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2NTMKIyAgICAgIkFudWogTWl0dGFs
IDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zdHJlc3Mtbmc9
IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLXN1YnZlcnNpb24KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzo2NTQKIyAgICAgIlJpY2hhcmQgUHVyZGllIDxyaWNo
YXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tc3Vi
dmVyc2lvbj0iUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5v
cmc+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN1ZG8KIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2NTUKIyAgICAgIkNo
ZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN1ZG89
IkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tc3dpZwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
bWFpbnRhaW5lcnMuaW5jOjY1NgojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVs
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN3aWc9IkFudWogTWl0dGFsIDxhbnVqLm1pdHRh
bEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c2ZzdXRpbHMKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmlu
Yzo2NTcKIyAgICAgIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlO
VEFJTkVSX3BuLXN5c2ZzdXRpbHM9IkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiMK
IyAkUkVDSVBFX01BSU5UQUlORVJfcG4tc3lza2xvZ2QKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2NTgKIyAgICAgIkNoZW4g
UWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c2tsb2dk
PSJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVS
X3BuLXN5c2xpbnV4CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6NjU5CiMgICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5r
YW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c2xpbnV4PSJBbGV4YW5k
ZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tc3lzcHJvZgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY2MAojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgu
a2FuYXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXNwcm9mPSJBbGV4YW5k
ZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tc3lzc3RhdAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY2MQojICAgICAiQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2
ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tc3lzc3RhdD0iQ2hlbiBRaSA8UWkuQ2hlbkB3
aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXN0ZW1kCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6
NjYyCiMgICAgICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi1zeXN0ZW1kPSJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgojCiMgJFJF
Q0lQRV9NQUlOVEFJTkVSX3BuLXN5c3RlbWQtYm9vdAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY2MwojICAgICAiQ2hlbiBR
aSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tc3lzdGVtZC1i
b290PSJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLXN5c3RlbWQtYm9vdGNoYXJ0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjY0CiMgICAgICJDaGVuIFFpIDxRaS5D
aGVuQHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXN0ZW1kLWJvb3RjaGFy
dD0iQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1zeXN0ZW1kLWJvb3Rjb25mCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjY1CiMgICAgICJDaGVuIFFpIDxRaS5DaGVu
QHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXN0ZW1kLWJvb3Rjb25mPSJD
aGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LXN5c3RlbWQtY29tcGF0LXVuaXRzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjY3CiMgICAgICJDaGVuIFFpIDxRaS5DaGVu
QHdpbmRyaXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXN0ZW1kLWNvbXBhdC11bml0
cz0iQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1zeXN0ZW1kLWNvbmYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzo2NjYKIyAgICAgIkNoZW4gUWkgPFFpLkNoZW5Ad2lu
ZHJpdmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c3RlbWQtY29uZj0iQ2hlbiBRaSA8
UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXN0ZW1k
LXNlcmlhbGdldHR5CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6NjY4CiMgICAgICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZl
ci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXN0ZW1kLXNlcmlhbGdldHR5PSJDaGVuIFFp
IDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c3Rl
bWQtc3lzdGVtY3RsLW5hdGl2ZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY2OQojICAgICAiQ2hlbiBRaSA8UWkuQ2hlbkB3
aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tc3lzdGVtZC1zeXN0ZW1jdGwtbmF0
aXZlPSJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLXN5c3RlbXRhcAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY3MAojICAgICAiVmljdG9yIEthbWVuc2t5IDxrYW1l
bnNreUBjaXNjby5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXN0ZW10YXA9IlZpY3RvciBL
YW1lbnNreSA8a2FtZW5za3lAY2lzY28uY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi1z
eXN0ZW10YXAtbmF0aXZlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjcxCiMgICAgICJWaWN0b3IgS2FtZW5za3kgPGthbWVu
c2t5QGNpc2NvLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c3RlbXRhcC1uYXRpdmU9IlZp
Y3RvciBLYW1lbnNreSA8a2FtZW5za3lAY2lzY28uY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi1zeXN0ZW10YXAtdXByb2JlcwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY3MgojICAgICAiVmljdG9yIEthbWVuc2t5
IDxrYW1lbnNreUBjaXNjby5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXN0ZW10YXAtdXBy
b2Jlcz0iVmljdG9yIEthbWVuc2t5IDxrYW1lbnNreUBjaXNjby5jb20+IgojCiMgJFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLXN5c3Zpbml0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjczCiMgICAgICJSb3NzIEJ1cnRvbiA8cm9z
cy5idXJ0b25AaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tc3lzdmluaXQ9IlJvc3Mg
QnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LXN5c3Zpbml0LWluaXR0YWIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzo2NzQKIyAgICAgIlJvc3MgQnVydG9uIDxyb3NzLmJ1
cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXN2aW5pdC1pbml0dGFiPSJS
b3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi10YWdsaWIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL21haW50YWluZXJzLmluYzo2NzUKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBp
bnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi10YWdsaWI9IkFudWogTWl0dGFsIDxhbnVq
Lm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXRhcgojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjY3NgojICAgICAiQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5U
QUlORVJfcG4tdGFyPSJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLXRjZi1hZ2VudAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY3NwojICAgICAiQW51aiBNaXR0YWwg
PGFudWoubWl0dGFsQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXRjZi1hZ2VudD0i
QW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tdGNsCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9tYWludGFpbmVycy5pbmM6Njc4CiMgICAgICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5j
b20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi10Y2w9IllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVy
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tdGNwLXdyYXBwZXJzCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6Njc5
CiMgICAgICJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLXRjcC13cmFwcGVycz0iUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRy
aXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXRlc3RleHBvcnQtdGFyYmFsbAoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5l
cnMuaW5jOjY4MAojICAgICAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91
bmRhdGlvbi5vcmc+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi10ZXN0ZXhwb3J0LXRhcmJhbGw9IlJp
Y2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIwojICRS
RUNJUEVfTUFJTlRBSU5FUl9wbi10ZXhpMmh0bWwKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2ODEKIyAgICAgIlJvYmVydCBZ
YW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tdGV4
aTJodG1sPSJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVD
SVBFX01BSU5UQUlORVJfcG4tdGV4aW5mbwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY4MgojICAgICAiQW51aiBNaXR0YWwg
PGFudWoubWl0dGFsQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXRleGluZm89IkFu
dWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVS
X3BuLXRleGluZm8tZHVtbXktbmF0aXZlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NjgzCiMgICAgICJBbnVqIE1pdHRhbCA8
YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tdGV4aW5mby1kdW1t
eS1uYXRpdmU9IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLXRpZmYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2ODQKIyAgICAgIkFsZXhhbmRlciBLYW5hdmlu
IDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tdGlmZj0iQWxl
eGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlO
VEFJTkVSX3BuLXRpbWUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL21haW50YWluZXJzLmluYzo2ODUKIyAgICAgIlJvYmVydCBZYW5nIDxsaWV6aGkueWFu
Z0B3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tdGltZT0iUm9iZXJ0IFlhbmcg
PGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXR0
Zi1iaXRzdHJlYW0tdmVyYQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY4NgojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0
dGFsQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXR0Zi1iaXRzdHJlYW0tdmVyYT0i
QW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4tdHpjb2RlLW5hdGl2ZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY4NwojICAgICAiQXJtaW4gS3VzdGVyIDxha3Vz
dGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXR6Y29kZS1uYXRpdmU9IkFy
bWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVS
X3BuLXR6ZGF0YQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjY4OAojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdt
YWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXR6ZGF0YT0iQXJtaW4gS3VzdGVyIDxha3Vz
dGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tdS1ib290CiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5p
bmM6Njg5CiMgICAgICJNYXJlayBWYXN1dCA8bWFyZWsudmFzdXRAZ21haWwuY29tPiIKUkVDSVBF
X01BSU5UQUlORVJfcG4tdS1ib290PSJNYXJlayBWYXN1dCA8bWFyZWsudmFzdXRAZ21haWwuY29t
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi11LWJvb3QtZnctdXRpbHMKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2OTAK
IyAgICAgIk1hcmVrIFZhc3V0IDxtYXJlay52YXN1dEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi11LWJvb3QtZnctdXRpbHM9Ik1hcmVrIFZhc3V0IDxtYXJlay52YXN1dEBnbWFpbC5j
b20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXUtYm9vdC10b29scwojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY5MQoj
ICAgICAiTWFyZWsgVmFzdXQgPG1hcmVrLnZhc3V0QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLXUtYm9vdC10b29scz0iTWFyZWsgVmFzdXQgPG1hcmVrLnZhc3V0QGdtYWlsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tdWRldi1leHRyYWNvbmYKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2OTIKIyAg
ICAgIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5F
Ul9wbi11ZGV2LWV4dHJhY29uZj0iUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tdW5mczMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2OTMKIyAgICAgIlJvc3Mg
QnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi11bmZz
Mz0iUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tdW5pZmRlZgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJv
L2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjY5NAojICAgICAiUm9zcyBCdXJ0b24gPHJvc3MuYnVy
dG9uQGludGVsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXVuaWZkZWY9IlJvc3MgQnVydG9u
IDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXVuaW5h
dGl2ZS10YXJiYWxsCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6Njk1CiMgICAgICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5w
dXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXVuaW5hdGl2
ZS10YXJiYWxsPSJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9u
Lm9yZz4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tdW56aXAKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2OTYKIyAgICAg
IkRlbnlzIERteXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi11
bnppcD0iRGVueXMgRG15dHJpeWVua28gPGRlbnlzQHRpLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5U
QUlORVJfcG4tdXBkYXRlLXJjLmQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo2OTcKIyAgICAgIlJvc3MgQnVydG9uIDxyb3Nz
LmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi11cGRhdGUtcmMuZD0iUm9z
cyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tdXNiaW5pdAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjY5OAojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2Fu
YXZpbkBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi11c2Jpbml0PSJBbGV4YW5kZXIg
S2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4tdXNidXRpbHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL21haW50YWluZXJzLmluYzo2OTkKIyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4Lmth
bmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tdXNidXRpbHM9IkFsZXhhbmRl
ciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi11dGlsLWxpbnV4CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8v
aW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzAwCiMgICAgICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRy
aXZlci5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi11dGlsLWxpbnV4PSJDaGVuIFFpIDxRaS5D
aGVuQHdpbmRyaXZlci5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXV0aWwtbWFjcm9z
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFp
bmVycy5pbmM6NzAxCiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIK
UkVDSVBFX01BSU5UQUlORVJfcG4tdXRpbC1tYWNyb3M9IkFybWluIEt1c3RlciA8YWt1c3Rlcjgw
OEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXY4NmQKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3MDIK
IyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBF
X01BSU5UQUlORVJfcG4tdjg2ZD0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFp
bC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXZhbGEKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3MDMKIyAgICAg
IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKUkVDSVBFX01BSU5U
QUlORVJfcG4tdmFsYT0iQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+
IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXZhbGdyaW5kCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzA0CiMgICAgICJB
bGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLXZhbGdyaW5kPSJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNv
bT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tdmltCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzA1CiMgICAgICJUb20g
UmluaSA8dHJpbmlAa29uc3Vsa28uY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tdmltPSJUb20g
UmluaSA8dHJpbmlAa29uc3Vsa28uY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi12aW0t
dGlueQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFp
bnRhaW5lcnMuaW5jOjcwNgojICAgICAiVG9tIFJpbmkgPHRyaW5pQGtvbnN1bGtvLmNvbT4iClJF
Q0lQRV9NQUlOVEFJTkVSX3BuLXZpbS10aW55PSJUb20gUmluaSA8dHJpbmlAa29uc3Vsa28uY29t
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi12aXJnbHJlbmRlcmVyCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzA3CiMg
ICAgICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLXZpcmdscmVuZGVyZXI9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2
aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi12b2xhdGlsZS1iaW5kcwoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5l
cnMuaW5jOjcwOAojICAgICAiQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKUkVDSVBF
X01BSU5UQUlORVJfcG4tdm9sYXRpbGUtYmluZHM9IkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVy
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4tdnRlCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzA5CiMgICAgICJB
bnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4t
dnRlPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi12dWxrYW4tZGVtb3MKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3MTAKIyAgICAgIlJvc3MgQnVydG9uIDxy
b3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi12dWxrYW4tZGVtb3M9
IlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLXZ1bGthbi1oZWFkZXJzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzExCiMgICAgICJBbnVqIE1pdHRhbCA8YW51
ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4tdnVsa2FuLWhlYWRlcnM9
IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLXZ1bGthbi1sb2FkZXIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3MTIKIyAgICAgIkFudWogTWl0dGFsIDxhbnVq
Lm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi12dWxrYW4tbG9hZGVyPSJB
bnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5F
Ul9wbi12dWxrYW4tdG9vbHMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzo3MTMKIyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1p
dHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi12dWxrYW4tdG9vbHM9IkFudWog
TWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LXdhZmZsZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
bWFpbnRhaW5lcnMuaW5jOjcxNAojICAgICAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVs
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXdhZmZsZT0iUm9zcyBCdXJ0b24gPHJvc3MuYnVy
dG9uQGludGVsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4td2F0Y2hkb2cKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmlu
Yzo3MTUKIyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIK
UkVDSVBFX01BSU5UQUlORVJfcG4td2F0Y2hkb2c9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4Lmth
bmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi13YXRjaGRvZy1jb25m
aWcKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50
YWluZXJzLmluYzo3MTYKIyAgICAgIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21h
aWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4td2F0Y2hkb2ctY29uZmlnPSJBbGV4YW5kZXIg
S2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4td2F5bGFuZAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjcxNwojICAgICAiRGVueXMgRG15dHJpeWVua28gPGRlbnlzQHRp
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXdheWxhbmQ9IkRlbnlzIERteXRyaXllbmtvIDxk
ZW55c0B0aS5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXdheWxhbmQtcHJvdG9jb2xz
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFp
bmVycy5pbmM6NzE4CiMgICAgICJEZW55cyBEbXl0cml5ZW5rbyA8ZGVueXNAdGkuY29tPiIKUkVD
SVBFX01BSU5UQUlORVJfcG4td2F5bGFuZC1wcm90b2NvbHM9IkRlbnlzIERteXRyaXllbmtvIDxk
ZW55c0B0aS5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXdlYmtpdGd0awojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
OjcxOQojICAgICAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi13ZWJraXRndGs9IkFsZXhhbmRlciBLYW5hdmluIDxhbGV4Lmth
bmF2aW5AZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi13ZXN0b24KIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmlu
Yzo3MjAKIyAgICAgIkRlbnlzIERteXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgpSRUNJUEVfTUFJ
TlRBSU5FUl9wbi13ZXN0b249IkRlbnlzIERteXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgojCiMg
JFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXdlc3Rvbi1pbml0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzIxCiMgICAgICJEZW55
cyBEbXl0cml5ZW5rbyA8ZGVueXNAdGkuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4td2VzdG9u
LWluaXQ9IkRlbnlzIERteXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgojCiMgJFJFQ0lQRV9NQUlO
VEFJTkVSX3BuLXdnZXQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL21haW50YWluZXJzLmluYzo3MjIKIyAgICAgIllpIFpoYW8gPHlpLnpoYW9Ad2luZHJp
dmVyLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXdnZXQ9IllpIFpoYW8gPHlpLnpoYW9Ad2lu
ZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4td2hpY2gKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3MjMK
IyAgICAgIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRB
SU5FUl9wbi13aGljaD0iQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4td2ljLXRvb2xzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzI0CiMgICAgICJBbnVqIE1p
dHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4td2ljLXRv
b2xzPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi13aXJlbGVzcy1yZWdkYgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjcyNQojICAgICAiQWRyaWFuIEJ1bmsg
PGJ1bmtAa2VybmVsLm9yZz4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXdpcmVsZXNzLXJlZ2RiPSJB
ZHJpYW4gQnVuayA8YnVua0BrZXJuZWwub3JnPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi13
cGEtc3VwcGxpY2FudAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjcyNgojICAgICAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHll
b2suYmFlQGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXdwYS1zdXBwbGljYW50PSJD
aGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi14MTFwZXJmCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0
cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzI3CiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0
ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4teDExcGVyZj0iQXJtaW4gS3Vz
dGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4teDI2
NAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRh
aW5lcnMuaW5jOjcyOAojICAgICAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4i
ClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXgyNjQ9IkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRl
bC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhhdXRoCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzI5CiMgICAg
ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJf
cG4teGF1dGg9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLXhjYi1wcm90bwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjczMAojICAgICAiQXJtaW4gS3VzdGVy
IDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhjYi1wcm90bz0i
QXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlO
RVJfcG4teGNiLXV0aWwKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL21haW50YWluZXJzLmluYzo3MzEKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3Rlcjgw
OEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi14Y2ItdXRpbD0iQXJtaW4gS3VzdGVy
IDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4teGNiLXV0
aWwtaW1hZ2UKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L21haW50YWluZXJzLmluYzo3MzIKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFp
bC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi14Y2ItdXRpbC1pbWFnZT0iQXJtaW4gS3VzdGVy
IDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4teGNiLXV0
aWwta2V5c3ltcwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjczMwojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdt
YWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhjYi11dGlsLWtleXN5bXM9IkFybWluIEt1
c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhj
Yi11dGlsLXJlbmRlcnV0aWwKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzo3MzQKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3Rl
cjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi14Y2ItdXRpbC1yZW5kZXJ1dGls
PSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRB
SU5FUl9wbi14Y2ItdXRpbC13bQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjczNQojICAgICAiQXJtaW4gS3VzdGVyIDxha3Vz
dGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhjYi11dGlsLXdtPSJBcm1p
biBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9w
bi14Y3Vyc29yLXRyYW5zcGFyZW50LXRoZW1lCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzM2CiMgICAgICJBcm1pbiBLdXN0
ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4teGN1cnNvci10
cmFuc3BhcmVudC10aGVtZT0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMK
IyAkUkVDSVBFX01BSU5UQUlORVJfcG4teGRnLXV0aWxzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzM3CiMgICAgICJBbnVq
IE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4teGRn
LXV0aWxzPSJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi14ZHB5aW5mbwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjczOAojICAgICAiQXJtaW4gS3VzdGVyIDxh
a3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhkcHlpbmZvPSJBcm1p
biBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9w
bi14ZXYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21h
aW50YWluZXJzLmluYzo3MzkKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5j
b20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi14ZXY9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBn
bWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhleWVzCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzQwCiMg
ICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4teGV5ZXM9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJF
Q0lQRV9NQUlOVEFJTkVSX3BuLXhmODYtaW5wdXQtZXZkZXYKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3NDEKIyAgICAgIkFy
bWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi14
Zjg2LWlucHV0LWV2ZGV2PSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwoj
ICRSRUNJUEVfTUFJTlRBSU5FUl9wbi14Zjg2LWlucHV0LWtleWJvYXJkCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzQyCiMg
ICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4teGY4Ni1pbnB1dC1rZXlib2FyZD0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWls
LmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4teGY4Ni1pbnB1dC1saWJpbnB1dAojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMu
aW5jOjc0MwojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLXhmODYtaW5wdXQtbGliaW5wdXQ9IkFybWluIEt1c3RlciA8YWt1c3Rl
cjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhmODYtaW5wdXQtbW91
c2UKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50
YWluZXJzLmluYzo3NDQKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+
IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi14Zjg2LWlucHV0LW1vdXNlPSJBcm1pbiBLdXN0ZXIgPGFr
dXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi14Zjg2LWlucHV0
LXN5bmFwdGljcwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjc0NQojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdt
YWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhmODYtaW5wdXQtc3luYXB0aWNzPSJBcm1p
biBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9w
bi14Zjg2LWlucHV0LXZtbW91c2UKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3NDYKIyAgICAgIkFybWluIEt1c3RlciA8YWt1
c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi14Zjg2LWlucHV0LXZtbW91
c2U9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlO
VEFJTkVSX3BuLXhmODYtdmlkZW8tY2lycnVzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzQ3CiMgICAgICJBcm1pbiBLdXN0
ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4teGY4Ni12aWRl
by1jaXJydXM9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQ
RV9NQUlOVEFJTkVSX3BuLXhmODYtdmlkZW8tZmJkZXYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3NDgKIyAgICAgIkFybWlu
IEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi14Zjg2
LXZpZGVvLWZiZGV2PSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRS
RUNJUEVfTUFJTlRBSU5FUl9wbi14Zjg2LXZpZGVvLWludGVsCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzQ5CiMgICAgICJB
cm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4t
eGY4Ni12aWRlby1pbnRlbD0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMK
IyAkUkVDSVBFX01BSU5UQUlORVJfcG4teGY4Ni12aWRlby12ZXNhCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzUwCiMgICAg
ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJf
cG4teGY4Ni12aWRlby12ZXNhPSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi14Zjg2LXZpZGVvLXZtd2FyZQojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjc1MQoj
ICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLXhmODYtdmlkZW8tdm13YXJlPSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwu
Y29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi14aG9zdAojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjc1MgojICAgICAi
QXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3Bu
LXhob3N0PSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVf
TUFJTlRBSU5FUl9wbi14aW5ldGQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rp
c3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3NTMKIyAgICAgIlJvc3MgQnVydG9uIDxyb3Nz
LmJ1cnRvbkBpbnRlbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi14aW5ldGQ9IlJvc3MgQnVy
dG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhp
bml0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWlu
dGFpbmVycy5pbmM6NzU0CiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29t
PiIKUkVDSVBFX01BSU5UQUlORVJfcG4teGluaXQ9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBn
bWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhpbnB1dAojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjc1NQoj
ICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJ
TkVSX3BuLXhpbnB1dD0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAk
UkVDSVBFX01BSU5UQUlORVJfcG4teGlucHV0LWNhbGlicmF0b3IKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3NTYKIyAgICAg
IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9w
bi14aW5wdXQtY2FsaWJyYXRvcj0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4teGtiY29tcAojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjc1NwojICAgICAiQXJt
aW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhr
YmNvbXA9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9N
QUlOVEFJTkVSX3BuLXhrZXlib2FyZC1jb25maWcKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3NTgKIyAgICAgIkFybWluIEt1
c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi14a2V5Ym9h
cmQtY29uZmlnPSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJ
UEVfTUFJTlRBSU5FUl9wbi14bWx0bwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjc1OQojICAgICAiSG9uZ3h1IEppYSA8aG9u
Z3h1LmppYUB3aW5kcml2ZXIuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4teG1sdG89Ikhvbmd4
dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJf
cG4teG1vZG1hcAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvbWFpbnRhaW5lcnMuaW5jOjc2MAojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdt
YWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhtb2RtYXA9IkFybWluIEt1c3RlciA8YWt1
c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhvcmctbWluaW1h
bC1mb250cwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
bWFpbnRhaW5lcnMuaW5jOjc2MQojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWls
LmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhvcmctbWluaW1hbC1mb250cz0iQXJtaW4gS3Vz
dGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4teG9y
Z3Byb3RvCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9t
YWludGFpbmVycy5pbmM6NzYyCiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwu
Y29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4teG9yZ3Byb3RvPSJBcm1pbiBLdXN0ZXIgPGFrdXN0
ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi14cHJvcAojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5j
Ojc2MwojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9N
QUlOVEFJTkVSX3BuLXhwcm9wPSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi14cmFuZHIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3NjQKIyAgICAgIkFybWlu
IEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi14cmFu
ZHI9IkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgojCiMgJFJFQ0lQRV9NQUlO
VEFJTkVSX3BuLXhyZXN0b3AKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ry
by9pbmNsdWRlL21haW50YWluZXJzLmluYzo3NjUKIyAgICAgIkFybWluIEt1c3RlciA8YWt1c3Rl
cjgwOEBnbWFpbC5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi14cmVzdG9wPSJBcm1pbiBLdXN0
ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi14c2Vy
dmVyLW5vZG0taW5pdAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjc2NgojICAgICAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4
QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhzZXJ2ZXItbm9kbS1pbml0PSJBcm1p
biBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9w
bi14c2VydmVyLXhmODYtY29uZmlnCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzY3CiMgICAgICJBcm1pbiBLdXN0ZXIgPGFr
dXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4teHNlcnZlci14Zjg2LWNv
bmZpZz0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01B
SU5UQUlORVJfcG4teHNlcnZlci14b3JnCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzY4CiMgICAgICJBcm1pbiBLdXN0ZXIg
PGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4teHNlcnZlci14b3Jn
PSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRB
SU5FUl9wbi14c2V0CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9tYWludGFpbmVycy5pbmM6NzY5CiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhA
Z21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4teHNldD0iQXJtaW4gS3VzdGVyIDxha3Vz
dGVyODA4QGdtYWlsLmNvbT4iCiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4teHRyYW5zCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5p
bmM6NzcwCiMgICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBF
X01BSU5UQUlORVJfcG4teHRyYW5zPSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29t
PiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi14dXNlci1hY2NvdW50CiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzcxCiMg
ICAgICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlO
RVJfcG4teHVzZXItYWNjb3VudD0iQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4i
CiMKIyAkUkVDSVBFX01BSU5UQUlORVJfcG4teHZpbmZvCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmM6NzcyCiMgICAgICJBcm1p
biBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKUkVDSVBFX01BSU5UQUlORVJfcG4teHZp
bmZvPSJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJ
TlRBSU5FUl9wbi14d2luaW5mbwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jOjc3MwojICAgICAiQXJtaW4gS3VzdGVyIDxha3Vz
dGVyODA4QGdtYWlsLmNvbT4iClJFQ0lQRV9NQUlOVEFJTkVSX3BuLXh3aW5pbmZvPSJBcm1pbiBL
dXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi14
egojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRh
aW5lcnMuaW5jOjc3NAojICAgICAiRGVueXMgRG15dHJpeWVua28gPGRlbnlzQHRpLmNvbT4iClJF
Q0lQRV9NQUlOVEFJTkVSX3BuLXh6PSJEZW55cyBEbXl0cml5ZW5rbyA8ZGVueXNAdGkuY29tPiIK
IwojICRSRUNJUEVfTUFJTlRBSU5FUl9wbi16aXAKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYzo3NzUKIyAgICAgIkRlbnlzIERt
eXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgpSRUNJUEVfTUFJTlRBSU5FUl9wbi16aXA9IkRlbnlz
IERteXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgojCiMgJFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXps
aWIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50
YWluZXJzLmluYzo3NzYKIyAgICAgIkRlbnlzIERteXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgpS
RUNJUEVfTUFJTlRBSU5FUl9wbi16bGliPSJEZW55cyBEbXl0cml5ZW5rbyA8ZGVueXNAdGkuY29t
PiIKIwojICRSRUNJUEVfU1lTUk9PVAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjM3NgojICAgICAiJHtXT1JLRElSfS9yZWNpcGUtc3lzcm9vdCIKUkVDSVBF
X1NZU1JPT1Q9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxp
bnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNyb290IgojCiMgJFJFQ0lQRV9TWVNST09UX05B
VElWRQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM3Nwoj
ICAgICAiJHtXT1JLRElSfS9yZWNpcGUtc3lzcm9vdC1uYXRpdmUiClJFQ0lQRV9TWVNST09UX05B
VElWRT0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgv
ZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlIgojCiMgJFJFTU9WRV9MSUJUT09M
X0xBCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvcmVtb3ZlLWxpYnRvb2wu
YmJjbGFzczozCiMgICAgICIxIgpSRU1PVkVfTElCVE9PTF9MQT0iMSIKIwojICRSRVFVSVJFRF9E
SVNUUk9fRkVBVFVSRVMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjozNDkKIyAgICAgW2RvY10gIldoZW4gYSByZWNpcGUgaW5oZXJpdHMgdGhlIGRp
c3Ryb19mZWF0dXJlc19jaGVjayBjbGFzcywgdGhpcyB2YXJpYWJsZSBpZGVudGlmaWVzIGRpc3Ry
aWJ1dGlvbiBmZWF0dXJlcyB0aGF0IG11c3QgZXhpc3QgaW4gdGhlIGN1cnJlbnQgY29uZmlndXJh
dGlvbiBpbiBvcmRlciBmb3IgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gdG8gYnVpbGQg
dGhlIHJlY2lwZS4iCiMKIyAkUkVRVUlSRURfUE9LWV9CQkxBWUVSU19DT05GX1ZFUlNJT04KIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZjoyMAojICAgICAi
MiIKUkVRVUlSRURfUE9LWV9CQkxBWUVSU19DT05GX1ZFUlNJT049IjIiCiMKIyAkUk1fV09SS19F
WENMVURFCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MzUwCiMgICAgIFtkb2NdICJXaXRoIHJtX3dvcmsgZW5hYmxlZCwgdGhpcyB2YXJpYWJsZSBz
cGVjaWZpZXMgYSBsaXN0IG9mIHBhY2thZ2VzIHdob3NlIHdvcmsgZGlyZWN0b3JpZXMgc2hvdWxk
IG5vdCBiZSByZW1vdmVkLiIKIwojICRST09URlMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNTEKIyAgICAgW2RvY10gIkluZGljYXRlcyBhIGZp
bGVzeXN0ZW0gaW1hZ2UgdG8gaW5jbHVkZSBhcyB0aGUgcm9vdCBmaWxlc3lzdGVtLiIKIwojICRS
T09URlNfUE9TVFBST0NFU1NfQ09NTUFORAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjM1MgojICAgICBbZG9jXSAiQWRkZWQgYnkgY2xhc3NlcyB0
byBydW4gcG9zdCBwcm9jZXNzaW5nIGNvbW1hbmRzIG9uY2UgdGhlIE9wZW5FbWJlZGRlZCBidWls
ZCBzeXN0ZW0gaGFzIGNyZWF0ZWQgdGhlIHJvb3QgZmlsZXN5c3RlbS4iCiMKIyAkUk9PVF9IT01F
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODYKIyAgICAg
W19kZWZhdWx0dmFsXSAiL2hvbWUvcm9vdCIKUk9PVF9IT01FPSIvaG9tZS9yb290IgojCiMgJFJQ
TQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZV9ycG0uYmJjbGFz
czo1CiMgICAgICJycG0iClJQTT0icnBtIgojCiMgJFJQTUJVSUxECiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzOjYKIyAgICAgInJwbWJ1aWxk
IgpSUE1CVUlMRD0icnBtYnVpbGQiCiMKIyAkUlBNREVQUwojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjE1MjAKIyAgICAgIiR7U1RBR0lOR19MSUJE
SVJfTkFUSVZFfS9ycG0vcnBtZGVwcyAtLWFsbGRlcHMiClJQTURFUFM9Ii9ob21lL3VzZXIvcG9r
eS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lw
ZS1zeXNyb290LW5hdGl2ZS91c3IvbGliL3JwbS9ycG1kZXBzIC0tYWxsZGVwcyIKIwojICRSUFJP
VklERVMgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjoyNzYKIyAgICAgIiIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjozNTMKIyAgICAgW2RvY10gIkEgbGlzdCBvZiBwYWNrYWdlIG5h
bWUgYWxpYXNlcyB0aGF0IGEgcGFja2FnZSBhbHNvIHByb3ZpZGVzLiBUaGVzZSBhbGlhc2VzIGFy
ZSB1c2VmdWwgZm9yIHNhdGlzZnlpbmcgcnVudGltZSBkZXBlbmRlbmNpZXMgb2Ygb3RoZXIgcGFj
a2FnZXMgYm90aCBkdXJpbmcgdGhlIGJ1aWxkIGFuZCBvbiB0aGUgdGFyZ2V0LiIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiIKUlBST1ZJREVTPSIiCiMKIyAkUlJFQ09NTUVORFMKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNTQKIyAgICAg
W2RvY10gIkEgbGlzdCBvZiBwYWNrYWdlcyB0aGF0IGV4dGVuZHMgdGhlIHVzYWJpbGl0eSBvZiBh
IHBhY2thZ2UgYmVpbmcgYnVpbHQuIFRoZSBwYWNrYWdlIGJlaW5nIGJ1aWx0IGRvZXMgbm90IGRl
cGVuZCBvbiB0aGlzIGxpc3Qgb2YgcGFja2FnZXMgaW4gb3JkZXIgdG8gc3VjY2Vzc2Z1bGx5IGJ1
aWxkLCBidXQgbmVlZHMgdGhlbSBmb3IgdGhlIGV4dGVuZGVkIHVzYWJpbGl0eS4iCiMKIyAkUlJF
UExBQ0VTCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MzU1CiMgICAgIFtkb2NdICJBIGxpc3Qgb2YgcGFja2FnZXMgcmVwbGFjZWQgYnkgYSBwYWNr
YWdlLiBUaGUgcGFja2FnZSBtYW5hZ2VyIHVzZXMgdGhpcyB2YXJpYWJsZSB0byBkZXRlcm1pbmUg
d2hpY2ggcGFja2FnZSBzaG91bGQgYmUgaW5zdGFsbGVkIHRvIHJlcGxhY2Ugb3RoZXIgcGFja2Fn
ZShzKSBkdXJpbmcgYW4gdXBncmFkZS4iCiMKIyAkUlNVR0dFU1RTCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzU2CiMgICAgIFtkb2NdICJBIGxp
c3Qgb2YgYWRkaXRpb25hbCBwYWNrYWdlcyB0aGF0IHlvdSBjYW4gc3VnZ2VzdCBmb3IgaW5zdGFs
bGF0aW9uIGJ5IHRoZSBwYWNrYWdlIG1hbmFnZXIgYXQgdGhlIHRpbWUgYSBwYWNrYWdlIGlzIGlu
c3RhbGxlZC4gTm90IGFsbCBwYWNrYWdlIG1hbmFnZXJzIHN1cHBvcnQgdGhpcyBmdW5jdGlvbmFs
aXR5LiIKIwojICRTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MzcxCiMgICAgICIke1dPUktESVJ9LyR7QlB9IgojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM2MAojICAgICBbZG9j
XSAiVGhlIGxvY2F0aW9uIGluIHRoZSBCdWlsZCBEaXJlY3Rvcnkgd2hlcmUgdW5wYWNrZWQgcGFj
a2FnZSBzb3VyY2UgY29kZSByZXNpZGVzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7
V09SS0RJUn0vJHtCUH0iClM9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02
NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL2V4YW1wbGUtMC4xIgojCiMgJFNBTklUWV9BQklG
SUxFCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9zYW5pdHkuY29uZjo4CiMgICAg
ICIke1RNUERJUn0vYWJpX3ZlcnNpb24iClNBTklUWV9BQklGSUxFPSIvaG9tZS91c2VyL3Bva3kv
YnVpbGQvdG1wL2FiaV92ZXJzaW9uIgojCiMgJFNBTklUWV9CQkxBWUVSQ09ORl9TQU1QTEUKIyAg
IHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zYW5pdHkuYmJjbGFzczo3OQojICAg
ICAiJHtDT1JFQkFTRX0vbWV0YSovY29uZi9iYmxheWVycy5jb25mLnNhbXBsZSIKU0FOSVRZX0JC
TEFZRVJDT05GX1NBTVBMRT0iL2hvbWUvdXNlci9wb2t5L21ldGEqL2NvbmYvYmJsYXllcnMuY29u
Zi5zYW1wbGUiCiMKIyAkU0FOSVRZX0RJRkZfVE9PTAojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzOjM3CiMgICAgICJtZWxkIgpTQU5JVFlfRElGRl9U
T09MPSJtZWxkIgojCiMgJFNBTklUWV9MT0NBTENPTkZfU0FNUExFCiMgICBzZXQ/IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3M6MzkKIyAgICAgIiR7Q09SRUJBU0V9
L21ldGEqL2NvbmYvbG9jYWwuY29uZi5zYW1wbGUiClNBTklUWV9MT0NBTENPTkZfU0FNUExFPSIv
aG9tZS91c2VyL3Bva3kvbWV0YSovY29uZi9sb2NhbC5jb25mLnNhbXBsZSIKIwojICRTQU5JVFlf
UkVRVUlSRURfVVRJTElUSUVTCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMv
c2FuaXR5LmJiY2xhc3M6NgojICAgICAicGF0Y2ggZGlmZnN0YXQgbWFrZWluZm8gZ2l0IGJ6aXAy
IHRhciAgICAgZ3ppcCBnYXdrIGNocnBhdGggd2dldCBjcGlvIHBlcmwgZmlsZSB3aGljaCIKU0FO
SVRZX1JFUVVJUkVEX1VUSUxJVElFUz0icGF0Y2ggZGlmZnN0YXQgbWFrZWluZm8gZ2l0IGJ6aXAy
IHRhciAgICAgZ3ppcCBnYXdrIGNocnBhdGggd2dldCBjcGlvIHBlcmwgZmlsZSB3aGljaCIKIwoj
ICRTQU5JVFlfU0lURUNPTkZfU0FNUExFCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2Ns
YXNzZXMvc2FuaXR5LmJiY2xhc3M6NTkKIyAgICAgIiR7Q09SRUJBU0V9L21ldGEqL2NvbmYvc2l0
ZS5jb25mLnNhbXBsZSIKU0FOSVRZX1NJVEVDT05GX1NBTVBMRT0iL2hvbWUvdXNlci9wb2t5L21l
dGEqL2NvbmYvc2l0ZS5jb25mLnNhbXBsZSIKIwojICRTQU5JVFlfVEVTVEVEX0RJU1RST1MgWzIg
b3BlcmF0aW9uc10KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ry
by9wb2t5LmNvbmY6NjYKIyAgICAgIiAgICAgICAgICAgICBwb2t5LTIuNyBcbiAgICAgICAgICAg
ICBwb2t5LTMuMCBcbiAgICAgICAgICAgICB1YnVudHUtMTYuMDQgXG4gICAgICAgICAgICAgdWJ1
bnR1LTE4LjA0IFxuICAgICAgICAgICAgIHVidW50dS0xOS4wNCBcbiAgICAgICAgICAgICBmZWRv
cmEtMjggXG4gICAgICAgICAgICAgZmVkb3JhLTI5IFxuICAgICAgICAgICAgIGZlZG9yYS0zMCBc
biAgICAgICAgICAgICBjZW50b3MtNyBcbiAgICAgICAgICAgICBkZWJpYW4tOCBcbiAgICAgICAg
ICAgICBkZWJpYW4tOSBcbiAgICAgICAgICAgICBkZWJpYW4tMTAgXG4gICAgICAgICAgICAgb3Bl
bnN1c2VsZWFwLTE1LjEgXG4gICAgICAgICAgICAgIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM2MQojICAgICBbZG9jXSAiQSBsaXN0IG9mIHRo
ZSBob3N0IGRpc3RyaWJ1dGlvbiBpZGVudGlmaWVycyB0aGF0IHRoZSBidWlsZCBzeXN0ZW0gaGFz
IGJlZW4gdGVzdGVkIGFnYWluc3QuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiICAgICAg
ICAgICAgIHBva3ktMi43IFxuICAgICAgICAgICAgIHBva3ktMy4wIFxuICAgICAgICAgICAgIHVi
dW50dS0xNi4wNCBcbiAgICAgICAgICAgICB1YnVudHUtMTguMDQgXG4gICAgICAgICAgICAgdWJ1
bnR1LTE5LjA0IFxuICAgICAgICAgICAgIGZlZG9yYS0yOCBcbiAgICAgICAgICAgICBmZWRvcmEt
MjkgXG4gICAgICAgICAgICAgZmVkb3JhLTMwIFxuICAgICAgICAgICAgIGNlbnRvcy03IFxuICAg
ICAgICAgICAgIGRlYmlhbi04IFxuICAgICAgICAgICAgIGRlYmlhbi05IFxuICAgICAgICAgICAg
IGRlYmlhbi0xMCBcbiAgICAgICAgICAgICBvcGVuc3VzZWxlYXAtMTUuMSBcbiAgICAgICAgICAg
ICAiClNBTklUWV9URVNURURfRElTVFJPUz0iICAgICAgICAgICAgIHBva3ktMi43IFxuICAgICAg
ICAgICAgIHBva3ktMy4wIFxuICAgICAgICAgICAgIHVidW50dS0xNi4wNCBcbiAgICAgICAgICAg
ICB1YnVudHUtMTguMDQgXG4gICAgICAgICAgICAgdWJ1bnR1LTE5LjA0IFxuICAgICAgICAgICAg
IGZlZG9yYS0yOCBcbiAgICAgICAgICAgICBmZWRvcmEtMjkgXG4gICAgICAgICAgICAgZmVkb3Jh
LTMwIFxuICAgICAgICAgICAgIGNlbnRvcy03IFxuICAgICAgICAgICAgIGRlYmlhbi04IFxuICAg
ICAgICAgICAgIGRlYmlhbi05IFxuICAgICAgICAgICAgIGRlYmlhbi0xMCBcbiAgICAgICAgICAg
ICBvcGVuc3VzZWxlYXAtMTUuMSBcbiAgICAgICAgICAgICAiCiMKIyAkU0FOSVRZX1ZFUlNJT04K
IyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9zYW5pdHkuY29uZjoxMAojICAgICAi
MSIKU0FOSVRZX1ZFUlNJT049IjEiCiMKIyAkU0FWQU5OQUhfR05VX01JUlJPUgojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY0NwojICAgICAiaHR0cHM6Ly9k
b3dubG9hZC5zYXZhbm5haC5nbnUub3JnL3JlbGVhc2VzIgpTQVZBTk5BSF9HTlVfTUlSUk9SPSJo
dHRwczovL2Rvd25sb2FkLnNhdmFubmFoLmdudS5vcmcvcmVsZWFzZXMiCiMKIyAkU0FWQU5OQUhf
Tk9OR05VX01JUlJPUgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjY0OAojICAgICAiaHR0cHM6Ly9kb3dubG9hZC5zYXZhbm5haC5ub25nbnUub3JnL3JlbGVh
c2VzIgpTQVZBTk5BSF9OT05HTlVfTUlSUk9SPSJodHRwczovL2Rvd25sb2FkLnNhdmFubmFoLm5v
bmdudS5vcmcvcmVsZWFzZXMiCiMKIyAkU0RLR0NDVkVSU0lPTgojICAgc2V0PyAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYzoyMAojICAg
ICAiJHtHQ0NWRVJTSU9OfSIKU0RLR0NDVkVSU0lPTj0iOS4lIgojCiMgJFNES0lNQUdFX0ZFQVRV
UkVTCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
MzY3CiMgICAgIFtkb2NdICJFcXVpdmFsZW50IHRvIElNQUdFX0ZFQVRVUkVTLiBIb3dldmVyLCB0
aGlzIHZhcmlhYmxlIGFwcGxpZXMgdG8gdGhlIFNESyBnZW5lcmF0ZWQgZnJvbSBhbiBpbWFnZSB1
c2luZyB0aGUgY29tbWFuZCAnYml0YmFrZSAtYyBwb3B1bGF0ZV9zZGsgaW1hZ2VuYW1lJy4iCiMK
IyAkU0RLTUFDSElORSBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvYml0YmFrZS5jb25mOjEzOAojICAgICBbX2RlZmF1bHR2YWxdICJ4ODZfNjQiCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzY4CiMgICAg
IFtkb2NdICJTcGVjaWZpZXMgdGhlIGFyY2hpdGVjdHVyZSAoaS5lLiBpNjg2IG9yIHg4Nl82NCkg
Zm9yIHdoaWNoIHRvIGJ1aWxkIFNESyBhbmQgQURUIGl0ZW1zLiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIng4Nl82NCIKU0RLTUFDSElORT0ieDg2XzY0IgojCiMgJFNES1BBVEggWzIgb3Bl
cmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0
MjIKIyAgICAgIi91c3IvbG9jYWwvJHtTREtfTkFNRV9QUkVGSVh9LSR7U0RLX0FSQ0h9IgojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjI3CiMg
ICAgICIvb3B0LyR7RElTVFJPfS8ke1NES19WRVJTSU9OfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIi9vcHQvJHtESVNUUk99LyR7U0RLX1ZFUlNJT059IgpTREtQQVRIPSIvb3B0L3Bva3kv
My4wLjEiCiMKIyAkU0RLUEFUSE5BVElWRQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjQyMwojICAgICAiJHtTREtQQVRIfS9zeXNyb290cy8ke1NES19TWVN9
IgpTREtQQVRITkFUSVZFPSIvb3B0L3Bva3kvMy4wLjEvc3lzcm9vdHMveDg2XzY0LXBva3lzZGst
bGludXgiCiMKIyAkU0RLUEtHU1VGRklYCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6MTQ0CiMgICAgICJuYXRpdmVzZGsiClNES1BLR1NVRkZJWD0ibmF0aXZl
c2RrIgojCiMgJFNES1VTRV9OTFMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjoxMjcKIyAgICAgW19kZWZhdWx0dmFsXSAieWVzIgpTREtVU0VfTkxTPSJ5ZXMi
CiMKIyAkU0RLX0FSQ0ggWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL21hY2hpbmUtc2RrL3g4Nl82NC5jb25mOjEKIyAgICAgIng4Nl82NCIKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNjIKIyAgICAgW2Rv
Y10gIlRoZSB0YXJnZXQgYXJjaGl0ZWN0dXJlIGZvciB0aGUgU0RLLiIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIng4Nl82NCIKU0RLX0FSQ0g9Ing4Nl82NCIKIwojICRTREtfQVNfQVJDSAoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjE0NwojICAgICAi
JHtCVUlMRF9BU19BUkNIfSIKU0RLX0FTX0FSQ0g9IiIKIwojICRTREtfQ0NfQVJDSAojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjE0MwojICAgICAiJHtCVUlM
RF9DQ19BUkNIfSIKU0RLX0NDX0FSQ0g9IiIKIwojICRTREtfREVQTE9ZCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzYzCiMgICAgIFtkb2NdICJU
aGUgZGlyZWN0b3J5IHNldCB1cCBhbmQgdXNlZCBieSB0aGUgcG9wdWxhdGVfc2RrX2Jhc2UgdG8g
d2hpY2ggdGhlIFNESyBpcyBkZXBsb3llZC4iCiMKIyAkU0RLX0RJUgojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM2NAojICAgICBbZG9jXSAiVGhl
IHBhcmVudCBkaXJlY3RvcnkgdXNlZCBieSB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSB3
aGVuIGNyZWF0aW5nIFNESyBvdXRwdXQuIgojCiMgJFNES19MRF9BUkNICiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTQ2CiMgICAgICIke0JVSUxEX0xEX0FS
Q0h9IgpTREtfTERfQVJDSD0iIgojCiMgJFNES19OQU1FIFszIG9wZXJhdGlvbnNdCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDIxCiMgICAgICIke1NES19O
QU1FX1BSRUZJWH0tJHtTREtfQVJDSH0tJHtUVU5FX1BLR0FSQ0h9IgojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjI2CiMgICAgICIke0RJU1RS
T30tJHtUQ0xJQkN9LSR7U0RLTUFDSElORX0tJHtJTUFHRV9CQVNFTkFNRX0tJHtUVU5FX1BLR0FS
Q0h9LSR7TUFDSElORX0iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVu
dGF0aW9uLmNvbmY6MzY1CiMgICAgIFtkb2NdICJUaGUgYmFzZSBuYW1lIGZvciBTREsgb3V0cHV0
IGZpbGVzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7RElTVFJPfS0ke1RDTElCQ30t
JHtTREtNQUNISU5FfS0ke0lNQUdFX0JBU0VOQU1FfS0ke1RVTkVfUEtHQVJDSH0tJHtNQUNISU5F
fSIKU0RLX05BTUU9InBva3ktZ2xpYmMteDg2XzY0LWV4YW1wbGUtY29yZTItNjQtcWVtdXg4Ni02
NCIKIwojICRTREtfTkFNRV9QUkVGSVgKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6NDIwCiMgICAgICJvZWNvcmUiClNES19OQU1FX1BSRUZJWD0ib2Vjb3Jl
IgojCiMgJFNES19PTERFU1RfS0VSTkVMCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6NDM4CiMgICAgICIzLjIuMCIKU0RLX09MREVTVF9LRVJORUw9IjMuMi4w
IgojCiMgJFNES19PUwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjEzOQojICAgICAiJHtCVUlMRF9PU30iClNES19PUz0ibGludXgiCiMKIyAkU0RLX09VVFBV
VAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM2
NgojICAgICBbZG9jXSAiVGhlIGxvY2F0aW9uIHVzZWQgYnkgdGhlIE9wZW5FbWJlZGRlZCBidWls
ZCBzeXN0ZW0gd2hlbiBjcmVhdGluZyBTREsgb3V0cHV0LiIKIwojICRTREtfUEFDS0FHRV9BUkNI
UwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjE0NQojICAg
ICAiYWxsIGFueSBub2FyY2ggJHtTREtfQVJDSH0tJHtTREtQS0dTVUZGSVh9IgpTREtfUEFDS0FH
RV9BUkNIUz0iYWxsIGFueSBub2FyY2ggeDg2XzY0LW5hdGl2ZXNkayIKIwojICRTREtfUFJFRklY
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTQyCiMgICAg
ICIke1NES19TWVN9LSIKU0RLX1BSRUZJWD0ieDg2XzY0LXBva3lzZGstbGludXgtIgojCiMgJFNE
S19TWVMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxNDEK
IyAgICAgIiR7U0RLX0FSQ0h9JHtTREtfVkVORE9SfSR7QFsnLScgKyBkLmdldFZhcignU0RLX09T
JyksICcnXVtkLmdldFZhcignU0RLX09TJykgPT0gKCcnIG9yICdjdXN0b20nKV19IgpTREtfU1lT
PSJ4ODZfNjQtcG9reXNkay1saW51eCIKIwojICRTREtfVkVORE9SIFsyIG9wZXJhdGlvbnNdCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTQwCiMgICAgICIt
b2VzZGsiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5
LmNvbmY6NQojICAgICAiLXBva3lzZGsiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICItcG9r
eXNkayIKU0RLX1ZFTkRPUj0iLXBva3lzZGsiCiMKIyAkU0RLX1ZFUlNJT04gWzMgb3BlcmF0aW9u
c10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29u
Zjo2CiMgICAgICIke0BkLmdldFZhcignRElTVFJPX1ZFUlNJT04nKS5yZXBsYWNlKCdzbmFwc2hv
dC0ke0RBVEV9JywgJ3NuYXBzaG90Jyl9IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhLXBv
a3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjE1CiMgICAgIFt2YXJkZXBzZXhjbHVkZV0gIkRBVEUi
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0
LWRpc3Ryb3ZhcnMuaW5jOjMyCiMgICAgIFtfZGVmYXVsdHZhbF0gIm5vZGlzdHJvLjAiCiMgcHJl
LWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0BkLmdldFZhcignRElTVFJPX1ZFUlNJT04nKS5yZXBs
YWNlKCdzbmFwc2hvdC0ke0RBVEV9JywgJ3NuYXBzaG90Jyl9IgpTREtfVkVSU0lPTj0iMy4wLjEi
CiMKIyAkU0VDVElPTiBbMTIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjoyMjkKIyAgICAgImJhc2UiCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzY5CiMgICAgIFtkb2NdICJUaGUgc2Vj
dGlvbiBpbiB3aGljaCBwYWNrYWdlcyBzaG91bGQgYmUgY2F0ZWdvcml6ZWQuIFBhY2thZ2UgbWFu
YWdlbWVudCB1dGlsaXRpZXMgY2FuIG1ha2UgdXNlIG9mIHRoaXMgdmFyaWFibGUuIgojICAgb3Zl
cnJpZGVbZXhhbXBsZS1kYmddOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjozMjgKIyAgICAgImRldmVsIgojICAgb3ZlcnJpZGVbZXhhbXBsZS1kYmddOnJlbmFtZSBm
cm9tIFNFQ1RJT05fJHtQTn0tZGJnIGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiZGV2
ZWwiCiMgICBvdmVycmlkZVtleGFtcGxlLWRldl06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjMxOQojICAgICAiZGV2ZWwiCiMgICBvdmVycmlkZVtleGFtcGxlLWRl
dl06cmVuYW1lIGZyb20gU0VDVElPTl8ke1BOfS1kZXYgZGF0YS5weToxMDQgW2V4cGFuZEtleXNd
CiMgICAgICJkZXZlbCIKIyAgIG92ZXJyaWRlW2V4YW1wbGUtZG9jXTpzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzExCiMgICAgICJkb2MiCiMgICBvdmVycmlkZVtl
eGFtcGxlLWRvY106cmVuYW1lIGZyb20gU0VDVElPTl8ke1BOfS1kb2MgZGF0YS5weToxMDQgW2V4
cGFuZEtleXNdCiMgICAgICJkb2MiCiMgICBvdmVycmlkZVtleGFtcGxlLXNyY106c2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjMzNAojICAgICAiZGV2ZWwiCiMgICBv
dmVycmlkZVtleGFtcGxlLXNyY106cmVuYW1lIGZyb20gU0VDVElPTl8ke1BOfS1zcmMgZGF0YS5w
eToxMDQgW2V4cGFuZEtleXNdCiMgICAgICJkZXZlbCIKIyAgIG92ZXJyaWRlW2V4YW1wbGUtc3Rh
dGljZGV2XTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzI0CiMg
ICAgICJkZXZlbCIKIyAgIG92ZXJyaWRlW2V4YW1wbGUtc3RhdGljZGV2XTpyZW5hbWUgZnJvbSBT
RUNUSU9OXyR7UE59LXN0YXRpY2RldiBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgImRl
dmVsIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiYmFzZSIKU0VDVElPTj0iYmFzZSIKIwoj
ICRTRUNUSU9OX2V4YW1wbGUtZGJnIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzI4CiMgICAgICJkZXZlbCIKIyAgIHJlbmFtZSBm
cm9tIFNFQ1RJT05fJHtQTn0tZGJnIGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiZGV2
ZWwiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJkZXZlbCIKU0VDVElPTl9leGFtcGxlLWRi
Zz0iZGV2ZWwiCiMKIyAkU0VDVElPTl9leGFtcGxlLWRldiBbMiBvcGVyYXRpb25zXQojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjMxOQojICAgICAiZGV2ZWwi
CiMgICByZW5hbWUgZnJvbSBTRUNUSU9OXyR7UE59LWRldiBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5
c10KIyAgICAgImRldmVsIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZGV2ZWwiClNFQ1RJ
T05fZXhhbXBsZS1kZXY9ImRldmVsIgojCiMgJFNFQ1RJT05fZXhhbXBsZS1kb2MgWzIgb3BlcmF0
aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMTEK
IyAgICAgImRvYyIKIyAgIHJlbmFtZSBmcm9tIFNFQ1RJT05fJHtQTn0tZG9jIGRhdGEucHk6MTA0
IFtleHBhbmRLZXlzXQojICAgICAiZG9jIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZG9j
IgpTRUNUSU9OX2V4YW1wbGUtZG9jPSJkb2MiCiMKIyAkU0VDVElPTl9leGFtcGxlLXNyYyBbMiBv
cGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjMzNAojICAgICAiZGV2ZWwiCiMgICByZW5hbWUgZnJvbSBTRUNUSU9OXyR7UE59LXNyYyBkYXRh
LnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgImRldmVsIgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiZGV2ZWwiClNFQ1RJT05fZXhhbXBsZS1zcmM9ImRldmVsIgojCiMgJFNFQ1RJT05fZXhh
bXBsZS1zdGF0aWNkZXYgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjozMjQKIyAgICAgImRldmVsIgojICAgcmVuYW1lIGZyb20gU0VD
VElPTl8ke1BOfS1zdGF0aWNkZXYgZGF0YS5weToxMDQgW2V4cGFuZEtleXNdCiMgICAgICJkZXZl
bCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImRldmVsIgpTRUNUSU9OX2V4YW1wbGUtc3Rh
dGljZGV2PSJkZXZlbCIKIwojICRTRUNVUklUWV9DRkxBR1MgWzE1IG9wZXJhdGlvbnNdCiMgICBz
ZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxh
Z3MuaW5jOjI2CiMgICAgICIke1NFQ1VSSVRZX1NUQUNLX1BST1RFQ1RPUn0gJHtTRUNVUklUWV9Q
SUVfQ0ZMQUdTfSAke2xjbF9tYXliZV9mb3J0aWZ5fSAke1NFQ1VSSVRZX1NUUklOR0ZPUk1BVH0i
CiMgICBfcmVtb3ZlW3Bvd2VycGNdIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2lu
Y2x1ZGUvc2VjdXJpdHlfZmxhZ3MuaW5jOjM1CiMgICAgICIke1NFQ1VSSVRZX1BJRV9DRkxBR1N9
IgojICAgb3ZlcnJpZGVbcG4tbGliZ2NjX3Bvd2VycGNdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzozNgojICAgICAiIgojICAg
b3ZlcnJpZGVbcG4tZ2xpYmNdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9p
bmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzozOAojICAgICAiIgojICAgb3ZlcnJpZGVbcG4tZ2xp
YmMtdGVzdHN1aXRlXTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9zZWN1cml0eV9mbGFncy5pbmM6MzkKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLWdjYy1ydW50
aW1lXTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9zZWN1cml0
eV9mbGFncy5pbmM6NDAKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLWdydWJdOnNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzo0MQoj
ICAgICAiIgojICAgb3ZlcnJpZGVbcG4tZ3J1Yi1lZmldOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzo0MgojICAgICAiIgojICAg
b3ZlcnJpZGVbcG4tZ3J1Yi1lZmktbmF0aXZlXTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmM6NDMKIyAgICAgIiIKIyAgIG92ZXJy
aWRlW3BuLWdydWItZWZpLXg4Ni1uYXRpdmVdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzo0NAojICAgICAiIgojICAgb3ZlcnJp
ZGVbcG4tZ3J1Yi1lZmktaTU4Ni1uYXRpdmVdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzo0NQojICAgICAiIgojICAgb3ZlcnJp
ZGVbcG4tZ3J1Yi1lZmkteDg2LTY0LW5hdGl2ZV06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZGlzdHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxhZ3MuaW5jOjQ2CiMgICAgICIiCiMgICBvdmVy
cmlkZVtwbi1ta2VsZmltYWdlX3g4Nl06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxhZ3MuaW5jOjQ3CiMgICAgICIiCiMgICBvdmVycmlkZVtw
bi12YWxncmluZF06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
c2VjdXJpdHlfZmxhZ3MuaW5jOjQ5CiMgICAgICIke1NFQ1VSSVRZX05PUElFX0NGTEFHU30iCiMg
ICBvdmVycmlkZVtwbi1zeXNrbG9nZF06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxhZ3MuaW5jOjUxCiMgICAgICIke1NFQ1VSSVRZX05PUElF
X0NGTEFHU30iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1NFQ1VSSVRZX1NUQUNLX1BS
T1RFQ1RPUn0gJHtTRUNVUklUWV9QSUVfQ0ZMQUdTfSAke2xjbF9tYXliZV9mb3J0aWZ5fSAke1NF
Q1VSSVRZX1NUUklOR0ZPUk1BVH0iClNFQ1VSSVRZX0NGTEFHUz0iLWZzdGFjay1wcm90ZWN0b3It
c3Ryb25nICAtRF9GT1JUSUZZX1NPVVJDRT0yIC1XZm9ybWF0IC1XZm9ybWF0LXNlY3VyaXR5IC1X
ZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IgojCiMgJFNFQ1VSSVRZX0NGTEFHU19wbi1nY2MtcnVudGlt
ZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvc2VjdXJp
dHlfZmxhZ3MuaW5jOjQwCiMgICAgICIiClNFQ1VSSVRZX0NGTEFHU19wbi1nY2MtcnVudGltZT0i
IgojCiMgJFNFQ1VSSVRZX0NGTEFHU19wbi1nbGliYwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxhZ3MuaW5jOjM4CiMgICAgICIiClNF
Q1VSSVRZX0NGTEFHU19wbi1nbGliYz0iIgojCiMgJFNFQ1VSSVRZX0NGTEFHU19wbi1nbGliYy10
ZXN0c3VpdGUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRl
L3NlY3VyaXR5X2ZsYWdzLmluYzozOQojICAgICAiIgpTRUNVUklUWV9DRkxBR1NfcG4tZ2xpYmMt
dGVzdHN1aXRlPSIiCiMKIyAkU0VDVVJJVFlfQ0ZMQUdTX3BuLWdydWIKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzo0MQoj
ICAgICAiIgpTRUNVUklUWV9DRkxBR1NfcG4tZ3J1Yj0iIgojCiMgJFNFQ1VSSVRZX0NGTEFHU19w
bi1ncnViLWVmaQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1
ZGUvc2VjdXJpdHlfZmxhZ3MuaW5jOjQyCiMgICAgICIiClNFQ1VSSVRZX0NGTEFHU19wbi1ncnVi
LWVmaT0iIgojCiMgJFNFQ1VSSVRZX0NGTEFHU19wbi1ncnViLWVmaS1pNTg2LW5hdGl2ZQojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxh
Z3MuaW5jOjQ1CiMgICAgICIiClNFQ1VSSVRZX0NGTEFHU19wbi1ncnViLWVmaS1pNTg2LW5hdGl2
ZT0iIgojCiMgJFNFQ1VSSVRZX0NGTEFHU19wbi1ncnViLWVmaS1uYXRpdmUKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzo0
MwojICAgICAiIgpTRUNVUklUWV9DRkxBR1NfcG4tZ3J1Yi1lZmktbmF0aXZlPSIiCiMKIyAkU0VD
VVJJVFlfQ0ZMQUdTX3BuLWdydWItZWZpLXg4Ni02NC1uYXRpdmUKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzo0NgojICAg
ICAiIgpTRUNVUklUWV9DRkxBR1NfcG4tZ3J1Yi1lZmkteDg2LTY0LW5hdGl2ZT0iIgojCiMgJFNF
Q1VSSVRZX0NGTEFHU19wbi1ncnViLWVmaS14ODYtbmF0aXZlCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmM6NDQKIyAgICAg
IiIKU0VDVVJJVFlfQ0ZMQUdTX3BuLWdydWItZWZpLXg4Ni1uYXRpdmU9IiIKIwojICRTRUNVUklU
WV9DRkxBR1NfcG4tbGliZ2NjX3Bvd2VycGMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzozNgojICAgICAiIgpTRUNVUklU
WV9DRkxBR1NfcG4tbGliZ2NjX3Bvd2VycGM9IiIKIwojICRTRUNVUklUWV9DRkxBR1NfcG4tbWtl
bGZpbWFnZV94ODYKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL3NlY3VyaXR5X2ZsYWdzLmluYzo0NwojICAgICAiIgpTRUNVUklUWV9DRkxBR1NfcG4tbWtl
bGZpbWFnZV94ODY9IiIKIwojICRTRUNVUklUWV9DRkxBR1NfcG4tc3lza2xvZ2QKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmlu
Yzo1MQojICAgICAiJHtTRUNVUklUWV9OT1BJRV9DRkxBR1N9IgpTRUNVUklUWV9DRkxBR1NfcG4t
c3lza2xvZ2Q9Ii1uby1waWUgLWZuby1QSUUiCiMKIyAkU0VDVVJJVFlfQ0ZMQUdTX3BuLXZhbGdy
aW5kCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9zZWN1
cml0eV9mbGFncy5pbmM6NDkKIyAgICAgIiR7U0VDVVJJVFlfTk9QSUVfQ0ZMQUdTfSIKU0VDVVJJ
VFlfQ0ZMQUdTX3BuLXZhbGdyaW5kPSItbm8tcGllIC1mbm8tUElFIgojCiMgJFNFQ1VSSVRZX0xE
RkxBR1MgWzQgb3BlcmF0aW9uc10KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmM6MjkKIyAgICAgIiR7U0VDVVJJVFlfU1RB
Q0tfUFJPVEVDVE9SfSAtV2wsLXoscmVscm8sLXosbm93IgojICAgb3ZlcnJpZGVbcG4tdmFsZ3Jp
bmRdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5
X2ZsYWdzLmluYzo1MAojICAgICAiIgojICAgb3ZlcnJpZGVbcG4tc3lza2xvZ2RdOnNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzo1
MgojICAgICAiIgojICAgb3ZlcnJpZGVbcG4teHNlcnZlci14b3JnXTpzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmM6NjYKIyAgICAg
IiR7U0VDVVJJVFlfWF9MREZMQUdTfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7U0VD
VVJJVFlfU1RBQ0tfUFJPVEVDVE9SfSAtV2wsLXoscmVscm8sLXosbm93IgpTRUNVUklUWV9MREZM
QUdTPSItZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcgLVdsLC16LHJlbHJvLC16LG5vdyIKIwojICRT
RUNVUklUWV9MREZMQUdTX3BuLXN5c2tsb2dkCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kaXN0cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmM6NTIKIyAgICAgIiIKU0VDVVJJ
VFlfTERGTEFHU19wbi1zeXNrbG9nZD0iIgojCiMgJFNFQ1VSSVRZX0xERkxBR1NfcG4tdmFsZ3Jp
bmQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3Vy
aXR5X2ZsYWdzLmluYzo1MAojICAgICAiIgpTRUNVUklUWV9MREZMQUdTX3BuLXZhbGdyaW5kPSIi
CiMKIyAkU0VDVVJJVFlfTERGTEFHU19wbi14c2VydmVyLXhvcmcKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzo2NgojICAg
ICAiJHtTRUNVUklUWV9YX0xERkxBR1N9IgpTRUNVUklUWV9MREZMQUdTX3BuLXhzZXJ2ZXIteG9y
Zz0iLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIC1XbCwteixyZWxybyIKIwojICRTRUNVUklUWV9O
T1BJRV9DRkxBR1MKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9zZWN1cml0eV9mbGFncy5pbmM6MjIKIyAgICAgIi1uby1waWUgLWZuby1QSUUiClNFQ1VS
SVRZX05PUElFX0NGTEFHUz0iLW5vLXBpZSAtZm5vLVBJRSIKIwojICRTRUNVUklUWV9OT19QSUVf
Q0ZMQUdTCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
c2VjdXJpdHlfZmxhZ3MuaW5jOjI3CiMgICAgICIke1NFQ1VSSVRZX1NUQUNLX1BST1RFQ1RPUn0g
JHtsY2xfbWF5YmVfZm9ydGlmeX0gJHtTRUNVUklUWV9TVFJJTkdGT1JNQVR9IgpTRUNVUklUWV9O
T19QSUVfQ0ZMQUdTPSItZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcgLURfRk9SVElGWV9TT1VSQ0U9
MiAtV2Zvcm1hdCAtV2Zvcm1hdC1zZWN1cml0eSAtV2Vycm9yPWZvcm1hdC1zZWN1cml0eSIKIwoj
ICRTRUNVUklUWV9QSUVfQ0ZMQUdTCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxhZ3MuaW5jOjIwCiMgICAgICIke0AnJyBpZiAnJHtH
Q0NQSUV9JyBlbHNlICctcGllIC1mUElFJ30iClNFQ1VSSVRZX1BJRV9DRkxBR1M9IiIKIwojICRT
RUNVUklUWV9TVEFDS19QUk9URUNUT1IgWzQgb3BlcmF0aW9uc10KIyAgIHNldD8gL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmM6MjQKIyAg
ICAgIi1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyIKIyAgIG92ZXJyaWRlW3BuLWdjYy1ydW50aW1l
XTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9zZWN1cml0eV9m
bGFncy5pbmM6NjEKIyAgICAgIiIKIyAgIG92ZXJyaWRlW3BuLWdsaWJjXTpzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmM6NjIKIyAg
ICAgIiIKIyAgIG92ZXJyaWRlW3BuLWdsaWJjLXRlc3RzdWl0ZV06c2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxhZ3MuaW5jOjYzCiMgICAgICIi
CiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICItZnN0YWNrLXByb3RlY3Rvci1zdHJvbmciClNF
Q1VSSVRZX1NUQUNLX1BST1RFQ1RPUj0iLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIgojCiMgJFNF
Q1VSSVRZX1NUQUNLX1BST1RFQ1RPUl9wbi1nY2MtcnVudGltZQojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxhZ3MuaW5jOjYxCiMgICAg
ICIiClNFQ1VSSVRZX1NUQUNLX1BST1RFQ1RPUl9wbi1nY2MtcnVudGltZT0iIgojCiMgJFNFQ1VS
SVRZX1NUQUNLX1BST1RFQ1RPUl9wbi1nbGliYwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZGlzdHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxhZ3MuaW5jOjYyCiMgICAgICIiClNFQ1VS
SVRZX1NUQUNLX1BST1RFQ1RPUl9wbi1nbGliYz0iIgojCiMgJFNFQ1VSSVRZX1NUQUNLX1BST1RF
Q1RPUl9wbi1nbGliYy10ZXN0c3VpdGUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzo2MwojICAgICAiIgpTRUNVUklUWV9T
VEFDS19QUk9URUNUT1JfcG4tZ2xpYmMtdGVzdHN1aXRlPSIiCiMKIyAkU0VDVVJJVFlfU1RSSU5H
Rk9STUFUIFszIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
ZGlzdHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxhZ3MuaW5jOjE2CiMgICAgICItV2Zvcm1hdCAtV2Zv
cm1hdC1zZWN1cml0eSAtV2Vycm9yPWZvcm1hdC1zZWN1cml0eSIKIyAgIG92ZXJyaWRlW3BuLWJ1
c3lib3hdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3Vy
aXR5X2ZsYWdzLmluYzo1NQojICAgICAiIgojICAgb3ZlcnJpZGVbcG4tZ2NjXTpzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmM6NTYK
IyAgICAgIiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi1XZm9ybWF0IC1XZm9ybWF0LXNl
Y3VyaXR5IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IgpTRUNVUklUWV9TVFJJTkdGT1JNQVQ9Ii1X
Zm9ybWF0IC1XZm9ybWF0LXNlY3VyaXR5IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IgojCiMgJFNF
Q1VSSVRZX1NUUklOR0ZPUk1BVF9wbi1idXN5Ym94CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9zZWN1cml0eV9mbGFncy5pbmM6NTUKIyAgICAgIiIKU0VD
VVJJVFlfU1RSSU5HRk9STUFUX3BuLWJ1c3lib3g9IiIKIwojICRTRUNVUklUWV9TVFJJTkdGT1JN
QVRfcG4tZ2NjCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVk
ZS9zZWN1cml0eV9mbGFncy5pbmM6NTYKIyAgICAgIiIKU0VDVVJJVFlfU1RSSU5HRk9STUFUX3Bu
LWdjYz0iIgojCiMgJFNFQ1VSSVRZX1hfTERGTEFHUwojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzozMAojICAgICAiJHtT
RUNVUklUWV9TVEFDS19QUk9URUNUT1J9IC1XbCwteixyZWxybyIKU0VDVVJJVFlfWF9MREZMQUdT
PSItZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcgLVdsLC16LHJlbHJvIgojCiMgJFNFTEVDVEVEX09Q
VElNSVpBVElPTiBbMyBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjYyMAojICAgICAiJHtAZC5nZXRWYXIob2UudXRpbHMudmFydHJ1ZSgn
REVCVUdfQlVJTEQnLCAnREVCVUdfT1BUSU1JWkFUSU9OJywgJ0ZVTExfT1BUSU1JWkFUSU9OJywg
ZCkpfSIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2
MjEKIyAgICAgW3ZhcmRlcHNdICJGVUxMX09QVElNSVpBVElPTiBERUJVR19PUFRJTUlaQVRJT04g
REVCVUdfQlVJTEQiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6MzcwCiMgICAgIFtkb2NdICJUaGUgdmFyaWFibGUgdGFrZXMgdGhlIHZhbHVlIG9m
IEZVTExfT1BUSU1JWkFUSU9OIHVubGVzcyBERUJVR19CVUlMRCA9ICcxJy4gSW4gdGhpcyBjYXNl
LCB0aGUgdmFsdWUgb2YgREVCVUdfT1BUSU1JWkFUSU9OIGlzIHVzZWQuIgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiJHtAZC5nZXRWYXIob2UudXRpbHMudmFydHJ1ZSgnREVCVUdfQlVJTEQn
LCAnREVCVUdfT1BUSU1JWkFUSU9OJywgJ0ZVTExfT1BUSU1JWkFUSU9OJywgZCkpfSIKU0VMRUNU
RURfT1BUSU1JWkFUSU9OPSItTzIgLXBpcGUgLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5
cGVzIC1mbWFjcm8tcHJlZml4LW1hcD0vaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29y
ZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMD0vdXNyL3NyYy9kZWJ1Zy9leGFtcGxlLzAu
MS1yMCAgICAgICAgICAgICAgICAgICAgICAtZmRlYnVnLXByZWZpeC1tYXA9L2hvbWUvdXNlci9w
b2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjA9L3Vz
ci9zcmMvZGVidWcvZXhhbXBsZS8wLjEtcjAgICAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1w
cmVmaXgtbWFwPS9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxp
bnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNyb290PSAgICAgICAgICAgICAgICAgICAgICAt
ZmRlYnVnLXByZWZpeC1tYXA9L2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0
LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlPSAiCiMKIyAk
U0VSSUFMX0NPTlNPTEUgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNzEKIyAgICAgW2RvY10gIlRoZSBzcGVlZCBhbmQg
ZGV2aWNlIGZvciB0aGUgc2VyaWFsIHBvcnQgdXNlZCB0byBhdHRhY2ggdGhlIHNlcmlhbCBjb25z
b2xlLiBUaGlzIHZhcmlhYmxlIGlzIGdpdmVuIHRvIHRoZSBrZXJuZWwgYXMgdGhlICdjb25zb2xl
JyBwYXJhbWV0ZXIuIEFmdGVyIGJvb3Rpbmcgb2NjdXJzLCBnZXR0eSBpcyBzdGFydGVkIG9uIHRo
YXQgcG9ydCBzbyByZW1vdGUgbG9naW4gaXMgcG9zc2libGUuIgojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjgzNgojICAgICBbX2RlZmF1bHR2YWxdICIiCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIiClNFUklBTF9DT05TT0xFPSIiCiMKIyAkU0VSSUFM
X0NPTlNPTEVTIFszIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvbWFjaGluZS9xZW11eDg2LTY0LmNvbmY6MTkKIyAgICAgIjExNTIwMDt0dHlTMCAxMTUyMDA7
dHR5UzEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6MzcyCiMgICAgIFtkb2NdICJEZWZpbmVzIHRoZSBzZXJpYWwgY29uc29sZXMgKFRUWXMpIHRv
IGVuYWJsZSB1c2luZyBnZXR0eS4iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6ODM3CiMgICAgIFtfZGVmYXVsdHZhbF0gIiR7QGQuZ2V0VmFyKCdTRVJJQUxf
Q09OU09MRScpLnJlcGxhY2UoJyAnLCAnOycpfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
IjExNTIwMDt0dHlTMCAxMTUyMDA7dHR5UzEiClNFUklBTF9DT05TT0xFUz0iMTE1MjAwO3R0eVMw
IDExNTIwMDt0dHlTMSIKIwojICRTRVJJQUxfQ09OU09MRVNfQ0hFQ0sKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNzMKIyAgICAgW2RvY10gIlNp
bWlsYXIgdG8gU0VSSUFMX0NPTlNPTEVTIGV4Y2VwdCB0aGUgZGV2aWNlIGlzIGNoZWNrZWQgZm9y
IGV4aXN0ZW5jZSBiZWZvcmUgYXR0ZW1wdGluZyB0byBlbmFibGUgaXQuIFN1cHBvcnRlZCBvbmx5
IGJ5IFN5c1Zpbml0LiIKIwojICRTSEVMTCBbNCBvcGVyYXRpb25zXQojICAgZnJvbSBlbnYgZGF0
YS5weToxMTIgW2luaGVyaXRGcm9tT1NdCiMgICAgICIvYmluL2Jhc2giCiMgICBhdXRvIGVudiBl
eHBvcnQgZGF0YS5weToxMTQgW2luaGVyaXRGcm9tT1NdCiMgICAgIFtleHBvcnRdICJUcnVlIgoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjg1OAojICAgICBb
dW5leHBvcnRdICIxIgojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3Rlcm1p
bmFsLmJiY2xhc3M6MTAKIyAgICAgImJhc2giCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIv
YmluL2Jhc2giCnVuc2V0IFNIRUxMCiMKIyAkU0hMSUJTRElSUwojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzOjE1NzkKIyAgICAgIiR7V09SS0RJUl9Q
S0dEQVRBfS8ke01MUFJFRklYfXNobGliczIiClNITElCU0RJUlM9Ii9ob21lL3VzZXIvcG9reS9i
dWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3BrZ2RhdGEt
c3lzcm9vdC9zaGxpYnMyIgojCiMgJFNITElCU1dPUktESVIKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzczoxNTgwCiMgICAgICIke1BLR0RFU1RXT1JL
fS8ke01MUFJFRklYfXNobGliczIiClNITElCU1dPUktESVI9Ii9ob21lL3VzZXIvcG9reS9idWls
ZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3BrZ2RhdGEvc2hs
aWJzMiIKIwojICRTSUdHRU5fRVhDTFVERVJFQ0lQRVNfQUJJU0FGRSBbMiBvcGVyYXRpb25zXQoj
ICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZjo0NgojICAgICAi
ICAgc3lzdmluaXQtaW5pdHRhYiAgIGJ1c3lib3gtaW5pdHRhYiAgIHNoYWRvdy1zZWN1cmV0dHkg
ICBvcGtnLWFyY2gtY29uZmlnICAgbmV0YmFzZSAgIGluaXQtaWZ1cGRvd24gICBjb25ubWFuLWNv
bmYgICBmb3JtZmFjdG9yICAgeHNlcnZlci14Zjg2LWNvbmZpZyAgIHBvaW50ZXJjYWwteGlucHV0
ICAgYmFzZS1maWxlcyAgIGtleW1hcHMgICB1ZGV2LWV4dHJhY29uZiAgIHBhY2thZ2Vncm91cC14
MTEteHNlcnZlciAgIHN5c3RlbWQtc2VyaWFsZ2V0dHkgICBpbml0c2NyaXB0cyAgIHNoYWRvdyAg
IHNoYWRvdy1zeXNyb290ICAgYmFzZS1wYXNzd2QgICBvcGtnLXV0aWxzICAgZ3N0cmVhbWVyMS4w
LW1ldGEtYmFzZSAgIGNhLWNlcnRpZmljYXRlcyAiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzc1CiMgICAgIFtkb2NdICJBIGxpc3Qgb2YgcmVj
aXBlcyB0aGF0IGFyZSBjb21wbGV0ZWx5IHN0YWJsZSBhbmQgd2lsbCBuZXZlciBjaGFuZ2UuIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiICAgIHN5c3Zpbml0LWluaXR0YWIgICBidXN5Ym94
LWluaXR0YWIgICBzaGFkb3ctc2VjdXJldHR5ICAgb3BrZy1hcmNoLWNvbmZpZyAgIG5ldGJhc2Ug
ICBpbml0LWlmdXBkb3duICAgY29ubm1hbi1jb25mICAgZm9ybWZhY3RvciAgIHhzZXJ2ZXIteGY4
Ni1jb25maWcgICBwb2ludGVyY2FsLXhpbnB1dCAgIGJhc2UtZmlsZXMgICBrZXltYXBzICAgdWRl
di1leHRyYWNvbmYgICBwYWNrYWdlZ3JvdXAteDExLXhzZXJ2ZXIgICBzeXN0ZW1kLXNlcmlhbGdl
dHR5ICAgaW5pdHNjcmlwdHMgICBzaGFkb3cgICBzaGFkb3ctc3lzcm9vdCAgIGJhc2UtcGFzc3dk
ICAgb3BrZy11dGlscyAgIGdzdHJlYW1lcjEuMC1tZXRhLWJhc2UgICBjYS1jZXJ0aWZpY2F0ZXMg
IgpTSUdHRU5fRVhDTFVERVJFQ0lQRVNfQUJJU0FGRT0iICAgIHN5c3Zpbml0LWluaXR0YWIgICBi
dXN5Ym94LWluaXR0YWIgICBzaGFkb3ctc2VjdXJldHR5ICAgb3BrZy1hcmNoLWNvbmZpZyAgIG5l
dGJhc2UgICBpbml0LWlmdXBkb3duICAgY29ubm1hbi1jb25mICAgZm9ybWZhY3RvciAgIHhzZXJ2
ZXIteGY4Ni1jb25maWcgICBwb2ludGVyY2FsLXhpbnB1dCAgIGJhc2UtZmlsZXMgICBrZXltYXBz
ICAgdWRldi1leHRyYWNvbmYgICBwYWNrYWdlZ3JvdXAteDExLXhzZXJ2ZXIgICBzeXN0ZW1kLXNl
cmlhbGdldHR5ICAgaW5pdHNjcmlwdHMgICBzaGFkb3cgICBzaGFkb3ctc3lzcm9vdCAgIGJhc2Ut
cGFzc3dkICAgb3BrZy11dGlscyAgIGdzdHJlYW1lcjEuMC1tZXRhLWJhc2UgICBjYS1jZXJ0aWZp
Y2F0ZXMgIgojCiMgJFNJR0dFTl9FWENMVURFX1NBRkVfUkVDSVBFX0RFUFMgWzIgb3BlcmF0aW9u
c10KIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmY6ODEKIyAg
ICAgIiAgICotPnF1aWx0LW5hdGl2ZSAgICotPnN1YnZlcnNpb24tbmF0aXZlICAgKi0+Z2l0LW5h
dGl2ZSAgICotPmljZWNjLWNyZWF0ZS1lbnYtbmF0aXZlICAgZ2NjLWNyb3NzLSR7VEFSR0VUX0FS
Q0h9LT5saW51eC1saWJjLWhlYWRlcnMgICBwcHAtZGlhbGluLT5wcHAgICByZXNvbHZjb25mLT5i
YXNoICAgZG9jYm9vay14c2wtc3R5bGVzaGVldHMtPnBlcmwgICBjYS1jZXJ0aWZpY2F0ZXMtPm9w
ZW5zc2wgICBpbml0cmFtZnMtZnJhbWV3b3JrLT4ke1ZJUlRVQUwtUlVOVElNRV9iYXNlLXV0aWxz
fSAgIGluaXRyYW1mcy1mcmFtZXdvcmstPmV1ZGV2ICAgaW5pdHJhbWZzLWZyYW1ld29yay0+c3lz
dGVtZCAgIGluaXRyYW1mcy1tb2R1bGUtaW5zdGFsbC1lZmktPmRvc2ZzdG9vbHMgICBpbml0cmFt
ZnMtbW9kdWxlLWluc3RhbGwtZWZpLT5lMmZzcHJvZ3MgICBpbml0cmFtZnMtbW9kdWxlLWluc3Rh
bGwtZWZpLT5wYXJ0ZWQgICBpbml0cmFtZnMtbW9kdWxlLWluc3RhbGwtZWZpLT51dGlsLWxpbnV4
ICAgaW5pdHJhbWZzLW1vZHVsZS1pbnN0YWxsLT5lMmZzcHJvZ3MgICBpbml0cmFtZnMtbW9kdWxl
LWluc3RhbGwtPmdydWIgICBpbml0cmFtZnMtbW9kdWxlLWluc3RhbGwtPnBhcnRlZCAgIGluaXRy
YW1mcy1tb2R1bGUtaW5zdGFsbC0+dXRpbC1saW51eCAgIGdydWItZWZpLT5ncnViLWJvb3Rjb25m
ICAgbGliZXJhdGlvbi1mb250cy0+Zm9udGNvbmZpZyAgIGNhbnRhcmVsbC1mb250cy0+Zm9udGNv
bmZpZyAgIGdub21lLWljb24tdGhlbWUtPmxpYnJzdmcgICBmb250LWFsaWFzLT5mb250LXV0aWwg
ICBzeXN0ZW1kLWJvb3QtPnN5c3RlbWQtYm9vdGNvbmYgICBzeXN0ZW1kLT5zeXN0ZW1kLWNvbmYg
ICB3ZXN0b24tPndlc3Rvbi1pbml0ICAgd2VzdG9uLWluaXQtPndlc3RvbiAgIHdlc3Rvbi1pbml0
LT5rYmQgICBjb25ubWFuLT54bDJ0cGQgICBsdHRuZy10b29scy0+bHR0bmctbW9kdWxlcyAiCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzc0CiMg
ICAgIFtkb2NdICJBIGxpc3Qgb2YgcmVjaXBlIGRlcGVuZGVuY2llcyB0aGF0IHNob3VsZCBub3Qg
YmUgdXNlZCB0byBkZXRlcm1pbmUgc2lnbmF0dXJlcyBvZiB0YXNrcyBmcm9tIG9uZSByZWNpcGUg
d2hlbiB0aGV5IGRlcGVuZCBvbiB0YXNrcyBmcm9tIGFub3RoZXIgcmVjaXBlLiIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIiAgICAqLT5xdWlsdC1uYXRpdmUgICAqLT5zdWJ2ZXJzaW9uLW5h
dGl2ZSAgICotPmdpdC1uYXRpdmUgICAqLT5pY2VjYy1jcmVhdGUtZW52LW5hdGl2ZSAgIGdjYy1j
cm9zcy0ke1RBUkdFVF9BUkNIfS0+bGludXgtbGliYy1oZWFkZXJzICAgcHBwLWRpYWxpbi0+cHBw
ICAgcmVzb2x2Y29uZi0+YmFzaCAgIGRvY2Jvb2steHNsLXN0eWxlc2hlZXRzLT5wZXJsICAgY2Et
Y2VydGlmaWNhdGVzLT5vcGVuc3NsICAgaW5pdHJhbWZzLWZyYW1ld29yay0+JHtWSVJUVUFMLVJV
TlRJTUVfYmFzZS11dGlsc30gICBpbml0cmFtZnMtZnJhbWV3b3JrLT5ldWRldiAgIGluaXRyYW1m
cy1mcmFtZXdvcmstPnN5c3RlbWQgICBpbml0cmFtZnMtbW9kdWxlLWluc3RhbGwtZWZpLT5kb3Nm
c3Rvb2xzICAgaW5pdHJhbWZzLW1vZHVsZS1pbnN0YWxsLWVmaS0+ZTJmc3Byb2dzICAgaW5pdHJh
bWZzLW1vZHVsZS1pbnN0YWxsLWVmaS0+cGFydGVkICAgaW5pdHJhbWZzLW1vZHVsZS1pbnN0YWxs
LWVmaS0+dXRpbC1saW51eCAgIGluaXRyYW1mcy1tb2R1bGUtaW5zdGFsbC0+ZTJmc3Byb2dzICAg
aW5pdHJhbWZzLW1vZHVsZS1pbnN0YWxsLT5ncnViICAgaW5pdHJhbWZzLW1vZHVsZS1pbnN0YWxs
LT5wYXJ0ZWQgICBpbml0cmFtZnMtbW9kdWxlLWluc3RhbGwtPnV0aWwtbGludXggICBncnViLWVm
aS0+Z3J1Yi1ib290Y29uZiAgIGxpYmVyYXRpb24tZm9udHMtPmZvbnRjb25maWcgICBjYW50YXJl
bGwtZm9udHMtPmZvbnRjb25maWcgICBnbm9tZS1pY29uLXRoZW1lLT5saWJyc3ZnICAgZm9udC1h
bGlhcy0+Zm9udC11dGlsICAgc3lzdGVtZC1ib290LT5zeXN0ZW1kLWJvb3Rjb25mICAgc3lzdGVt
ZC0+c3lzdGVtZC1jb25mICAgd2VzdG9uLT53ZXN0b24taW5pdCAgIHdlc3Rvbi1pbml0LT53ZXN0
b24gICB3ZXN0b24taW5pdC0+a2JkICAgY29ubm1hbi0+eGwydHBkICAgbHR0bmctdG9vbHMtPmx0
dG5nLW1vZHVsZXMgIgpTSUdHRU5fRVhDTFVERV9TQUZFX1JFQ0lQRV9ERVBTPSIgICAgKi0+cXVp
bHQtbmF0aXZlICAgKi0+c3VidmVyc2lvbi1uYXRpdmUgICAqLT5naXQtbmF0aXZlICAgKi0+aWNl
Y2MtY3JlYXRlLWVudi1uYXRpdmUgICBnY2MtY3Jvc3MteDg2XzY0LT5saW51eC1saWJjLWhlYWRl
cnMgICBwcHAtZGlhbGluLT5wcHAgICByZXNvbHZjb25mLT5iYXNoICAgZG9jYm9vay14c2wtc3R5
bGVzaGVldHMtPnBlcmwgICBjYS1jZXJ0aWZpY2F0ZXMtPm9wZW5zc2wgICBpbml0cmFtZnMtZnJh
bWV3b3JrLT5idXN5Ym94ICAgaW5pdHJhbWZzLWZyYW1ld29yay0+ZXVkZXYgICBpbml0cmFtZnMt
ZnJhbWV3b3JrLT5zeXN0ZW1kICAgaW5pdHJhbWZzLW1vZHVsZS1pbnN0YWxsLWVmaS0+ZG9zZnN0
b29scyAgIGluaXRyYW1mcy1tb2R1bGUtaW5zdGFsbC1lZmktPmUyZnNwcm9ncyAgIGluaXRyYW1m
cy1tb2R1bGUtaW5zdGFsbC1lZmktPnBhcnRlZCAgIGluaXRyYW1mcy1tb2R1bGUtaW5zdGFsbC1l
ZmktPnV0aWwtbGludXggICBpbml0cmFtZnMtbW9kdWxlLWluc3RhbGwtPmUyZnNwcm9ncyAgIGlu
aXRyYW1mcy1tb2R1bGUtaW5zdGFsbC0+Z3J1YiAgIGluaXRyYW1mcy1tb2R1bGUtaW5zdGFsbC0+
cGFydGVkICAgaW5pdHJhbWZzLW1vZHVsZS1pbnN0YWxsLT51dGlsLWxpbnV4ICAgZ3J1Yi1lZmkt
PmdydWItYm9vdGNvbmYgICBsaWJlcmF0aW9uLWZvbnRzLT5mb250Y29uZmlnICAgY2FudGFyZWxs
LWZvbnRzLT5mb250Y29uZmlnICAgZ25vbWUtaWNvbi10aGVtZS0+bGlicnN2ZyAgIGZvbnQtYWxp
YXMtPmZvbnQtdXRpbCAgIHN5c3RlbWQtYm9vdC0+c3lzdGVtZC1ib290Y29uZiAgIHN5c3RlbWQt
PnN5c3RlbWQtY29uZiAgIHdlc3Rvbi0+d2VzdG9uLWluaXQgICB3ZXN0b24taW5pdC0+d2VzdG9u
ICAgd2VzdG9uLWluaXQtPmtiZCAgIGNvbm5tYW4tPnhsMnRwZCAgIGx0dG5nLXRvb2xzLT5sdHRu
Zy1tb2R1bGVzICIKIwojICRTSUdHRU5fTE9DS0VEU0lHU19TU1RBVEVfRVhJU1RTX0NIRUNLCiMg
ICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6NzQKIyAg
ICAgImVycm9yIgpTSUdHRU5fTE9DS0VEU0lHU19TU1RBVEVfRVhJU1RTX0NIRUNLPSJlcnJvciIK
IwojICRTSUdHRU5fTE9DS0VEU0lHU19UQVNLU0lHX0NIRUNLCiMgICBzZXQ/IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6NzgKIyAgICAgImVycm9yIgpTSUdHRU5f
TE9DS0VEU0lHU19UQVNLU0lHX0NIRUNLPSJlcnJvciIKIwojICRTSVRFSU5GT19CSVRTCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzc2CiMgICAg
IFtkb2NdICJTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBiaXRzIGZvciB0aGUgdGFyZ2V0IHN5c3Rl
bSBDUFUuIgojCiMgJFNJVEVJTkZPX0VORElBTk5FU1MKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNzcKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0
aGUgZW5kaWFuIGJ5dGUgb3JkZXIgb2YgdGhlIHRhcmdldCBzeXN0ZW0uIFRoZSB2YWx1ZSBzaG91
bGQgYmUgZWl0aGVyICdsZScgZm9yICdsaXR0bGUtZW5kaWFuJyBvciAnYmUnIGZvciAnYmlnLWVu
ZGlhbicuIgojCiMgJFNJVEVfQ09ORl9WRVJTSU9OCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvc2FuaXR5LmNvbmY6MTMKIyAgICAgIjEiClNJVEVfQ09ORl9WRVJTSU9OPSIxIgoj
CiMgJFNPQ19GQU1JTFkKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjozNzgKIyAgICAgW2RvY10gIkdyb3VwcyB0b2dldGhlciBtYWNoaW5lcyBiYXNl
ZCB1cG9uIHRoZSBzYW1lIGZhbWlseSBvZiBTT0MgKFN5c3RlbSBPbiBDaGlwKS4gWW91IHR5cGlj
YWxseSBzZXQgdGhpcyB2YXJpYWJsZSBpbiBhIGNvbW1vbiAuaW5jIGZpbGUgdGhhdCB5b3UgaW5j
bHVkZSBpbiB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyBvZiBhbGwgdGhlIG1hY2hpbmVzLiIKIwoj
ICRTT0xJQlMgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjoyODAKIyAgICAgIi5zby4qIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM3OQojICAgICBbZG9jXSAiRGVmaW5lcyB0aGUg
c3VmZml4IGZvciBzaGFyZWQgbGlicmFyaWVzIHVzZWQgb24gdGhlIHRhcmdldCBwbGF0Zm9ybS4i
CiMgICBvdmVycmlkZVtkYXJ3aW5dOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjoyODEKIyAgICAgIi5keWxpYiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi5z
by4qIgpTT0xJQlM9Ii5zby4qIgojCiMgJFNPTElCU0RFViBbMyBvcGVyYXRpb25zXQojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI4MwojICAgICAiLnNvIgoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM4MAoj
ICAgICBbZG9jXSAiRGVmaW5lcyB0aGUgc3VmZml4IGZvciB0aGUgZGV2ZWxvcG1lbnQgc3ltYm9s
aWMgbGluayAoc3ltbGluaykgZm9yIHNoYXJlZCBsaWJyYXJpZXMgb24gdGhlIHRhcmdldCBwbGF0
Zm9ybS4iCiMgICBvdmVycmlkZVtkYXJ3aW5dOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjoyODcKIyAgICAgIi5keWxpYmJyb2tlbiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIi5zbyIKU09MSUJTREVWPSIuc28iCiMKIyAkU09MSUJTREVWX2RhcndpbgojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI4NwojICAgICAiLmR5
bGliYnJva2VuIgpTT0xJQlNERVZfZGFyd2luPSIuZHlsaWJicm9rZW4iCiMKIyAkU09MSUJTX2Rh
cndpbgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI4MQoj
ICAgICAiLmR5bGliIgpTT0xJQlNfZGFyd2luPSIuZHlsaWIiCiMKIyAkU09VUkNFRk9SR0VfTUlS
Uk9SCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjQ0CiMg
ICAgICJodHRwczovL2Rvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQiClNPVVJDRUZPUkdFX01JUlJP
Uj0iaHR0cHM6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0IgojCiMgJFNPVVJDRV9NSVJST1Jf
RkVUQ0gKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjozODEKIyAgICAgW2RvY10gIlN3aXRjaCBtYXJraW5nIGJ1aWxkIGFzIHNvdXJjZSBmZXRjaGVy
LiBVc2VkIHRvIHNraXAgQ09NUEFUSUJMRV8qIGNoZWNraW5nLiIKIwojICRTT1VSQ0VfTUlSUk9S
X1VSTAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25m
OjM4MgojICAgICBbZG9jXSAiVVJMIHRvIHNvdXJjZSBtaXJyb3IgdGhhdCB3aWxsIGJlIHVzZWQg
YmVmb3JlIGZldGNoaW5nIGZyb20gb3JpZ2luYWwgU1JDX1VSSS4iCiMKIyAkU1BEWExJQ0VOU0VN
QVAgWzM5IG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNl
bnNlcy5jb25mOjU0CiMgICAgIFtBR1BMLTNdICJBR1BMLTMuMCIKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6NTUKIyAgICAgW0FHUEx2M10gIkFHUEwtMy4w
IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo1NgojICAg
ICBbQUdQTHYzLjBdICJBR1BMLTMuMCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2xpY2Vuc2VzLmNvbmY6NTkKIyAgICAgW0dQTC0xXSAiR1BMLTEuMCIKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6NjAKIyAgICAgW0dQTHYxXSAiR1BMLTEu
MCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6NjEKIyAg
ICAgW0dQTHYxLjBdICJHUEwtMS4wIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
bGljZW5zZXMuY29uZjo2MgojICAgICBbR1BMLTJdICJHUEwtMi4wIgojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo2MwojICAgICBbR1BMdjJdICJHUEwtMi4w
IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo2NAojICAg
ICBbR1BMdjIuMF0gIkdQTC0yLjAiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9s
aWNlbnNlcy5jb25mOjY1CiMgICAgIFtHUEwtM10gIkdQTC0zLjAiCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjY2CiMgICAgIFtHUEx2M10gIkdQTC0zLjAi
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjY3CiMgICAg
IFtHUEx2My4wXSAiR1BMLTMuMCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xp
Y2Vuc2VzLmNvbmY6NzAKIyAgICAgW0xHUEx2Ml0gIkxHUEwtMi4wIgojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo3MQojICAgICBbTEdQTHYyLjBdICJMR1BM
LTIuMCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6NzIK
IyAgICAgW0xHUEwyLjFdICJMR1BMLTIuMSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2xpY2Vuc2VzLmNvbmY6NzMKIyAgICAgW0xHUEx2Mi4xXSAiTEdQTC0yLjEiCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjc0CiMgICAgIFtMR1BMdjNd
ICJMR1BMLTMuMCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNv
bmY6NzcKIyAgICAgW01QTC0xXSAiTVBMLTEuMCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2xpY2Vuc2VzLmNvbmY6NzgKIyAgICAgW01QTHYxXSAiTVBMLTEuMCIKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6NzkKIyAgICAgW01QTHYxLjFd
ICJNUEwtMS4xIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29u
Zjo4MAojICAgICBbTVBMdjJdICJNUEwtMi4wIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvbGljZW5zZXMuY29uZjo4MwojICAgICBbTUlULVhdICJNSVQiCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjg0CiMgICAgIFtNSVQtc3R5bGVdICJN
SVQiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjg3CiMg
ICAgIFtvcGVuc3NsXSAiT3BlblNTTCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2xpY2Vuc2VzLmNvbmY6OTAKIyAgICAgW1BTRl0gIlB5dGhvbi0yLjAiCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjkxCiMgICAgIFtQU0Z2Ml0gIlB5dGhv
bi0yLjAiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjky
CiMgICAgIFtQeXRob24tMl0gIlB5dGhvbi0yLjAiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9saWNlbnNlcy5jb25mOjk1CiMgICAgIFtBcGFjaGV2Ml0gIkFwYWNoZS0yLjAiCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjk2CiMgICAgIFtB
cGFjaGUtMl0gIkFwYWNoZS0yLjAiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9s
aWNlbnNlcy5jb25mOjk5CiMgICAgIFtBcnRpc3RpY3YxXSAiQXJ0aXN0aWMtMS4wIgojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxMDAKIyAgICAgW0FydGlz
dGljLTFdICJBcnRpc3RpYy0xLjAiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9s
aWNlbnNlcy5jb25mOjEwMwojICAgICBbQUZMLTJdICJBRkwtMi4wIgojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxMDQKIyAgICAgW0FGTC0xXSAiQUZMLTEu
MiIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MTA1CiMg
ICAgIFtBRkx2Ml0gIkFGTC0yLjAiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9s
aWNlbnNlcy5jb25mOjEwNgojICAgICBbQUZMdjFdICJBRkwtMS4yIgojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxMDkKIyAgICAgW0NEREx2MV0gIkNEREwt
MS4wIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxMTAK
IyAgICAgW0NEREwtMV0gIkNEREwtMS4wIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvbGljZW5zZXMuY29uZjoxMTMKIyAgICAgW0VQTHYxLjBdICJFUEwtMS4wIgojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxMTYKIyAgICAgW1NHSXYxXSAi
U0dJLTEiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJOb25lIgojCiMgJFNQRFhfTUFOSUZF
U1RfRElSCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjEz
MAojICAgICAiL2hvbWUveW9jdG8vZm9zc29sb2d5X3NjYW5zIgpTUERYX01BTklGRVNUX0RJUj0i
L2hvbWUveW9jdG8vZm9zc29sb2d5X3NjYW5zIgojCiMgJFNQRFhfVEVNUF9ESVIKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MTI5CiMgICAgICIke1dPUktE
SVJ9L3NwZHhfdGVtcCIKU1BEWF9URU1QX0RJUj0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93
b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvc3BkeF90ZW1wIgojCiMgJFNQ
RFhfVkVSU0lPTgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29u
ZjoxMzMKIyAgICAgIlNQRFgtMS4xIgpTUERYX1ZFUlNJT049IlNQRFgtMS4xIgojCiMgJFNQRUNJ
QUxfUEtHU1VGRklYIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6MjIzCiMgICAgICItbmF0aXZlIC1jcm9zcyAtaW5pdGlhbCAtaW50
ZXJtZWRpYXRlIC1jcm9zc3NkayAtY3Jvc3MtY2FuYWRpYW4iCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzgzCiMgICAgIFtkb2NdICJBIGxpc3Qg
b2YgcHJlZml4ZXMgZm9yIFBOIHVzZWQgYnkgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0g
dG8gY3JlYXRlIHZhcmlhbnRzIG9mIHJlY2lwZXMgb3IgcGFja2FnZXMuIFRoZSBsaXN0IHNwZWNp
ZmllcyB0aGUgcHJlZml4ZXMgdG8gc3RyaXAgb2ZmIGR1cmluZyBjZXJ0YWluIGNpcmN1bXN0YW5j
ZXMgc3VjaCBhcyB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgQlBOIHZhcmlhYmxlLiIKIyBwcmUtZXhw
YW5zaW9uIHZhbHVlOgojICAgIi1uYXRpdmUgLWNyb3NzIC1pbml0aWFsIC1pbnRlcm1lZGlhdGUg
LWNyb3Nzc2RrIC1jcm9zcy1jYW5hZGlhbiIKU1BFQ0lBTF9QS0dTVUZGSVg9Ii1uYXRpdmUgLWNy
b3NzIC1pbml0aWFsIC1pbnRlcm1lZGlhdGUgLWNyb3Nzc2RrIC1jcm9zcy1jYW5hZGlhbiIKIwoj
ICRTUkNEQVRFIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6NjczCiMgICAgICIke0RBVEV9IgojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM4NgojICAgICBbZG9jXSAiVGhlIGRhdGUg
b2YgdGhlIHNvdXJjZSBjb2RlIHVzZWQgdG8gYnVpbGQgdGhlIHBhY2thZ2UuIFRoaXMgdmFyaWFi
bGUgYXBwbGllcyBvbmx5IGlmIHRoZSBzb3VyY2Ugd2FzIGZldGNoZWQgZnJvbSBhIFNvdXJjZSBD
b2RlIE1hbmFnZXIgKFNDTSkuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtEQVRFfSIK
U1JDREFURT0iMjAyMDAxMjQiCiMKIyAkU1JDUFYgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NzkKIyAgICAgW3ZhcmRlcHZhbHVl
XSAiJHtTUkNQVn0iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0
aW9uLmNvbmY6Mzg3CiMgICAgIFtkb2NdICJSZXR1cm5zIHRoZSB2ZXJzaW9uIHN0cmluZyBvZiB0
aGUgY3VycmVudCBwYWNrYWdlLiBUaGlzIHN0cmluZyBpcyB1c2VkIHRvIGhlbHAgZGVmaW5lIHRo
ZSB2YWx1ZSBvZiBQVi4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJOb25lIgojCiMgJFNS
Q1JFViBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjY3NAojICAgICBbX2RlZmF1bHR2YWxdICJJTlZBTElEIgojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM4OAojICAgICBbZG9jXSAi
VGhlIHJldmlzaW9uIG9mIHRoZSBzb3VyY2UgY29kZSB1c2VkIHRvIGJ1aWxkIHRoZSBwYWNrYWdl
LiBUaGlzIHZhcmlhYmxlIGFwcGxpZXMgdG8gU3VidmVyc2lvbiwgR2l0LCBNZXJjdXJpYWwgYW5k
IEJhemFhciBvbmx5LiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIklOVkFMSUQiClNSQ1JF
Vj0iSU5WQUxJRCIKIwojICRTUkNfRElTVFJJQlVURV9MSUNFTlNFUyBbMzcgb3BlcmF0aW9uc10K
IyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6NAojICAg
ICAiQUFMIEFkb2JlIEFGTC0xLjIgQUZMLTIuMCBBRkwtMi4xIEFGTC0zLjAiCiMgICBhcHBlbmQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjUKIyAgICAgIkFHUEwtMy4w
IEFOVExSLVBEIEFwYWNoZS0xLjAgQXBhY2hlLTEuMSBBcGFjaGUtMi4wIgojICAgYXBwZW5kIC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo2CiMgICAgICJBUEwtMS4wIEFQ
U0wtMS4wIEFQU0wtMS4xIEFQU0wtMS4yIEFQU0wtMi4wIgojICAgYXBwZW5kIC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjo3CiMgICAgICJBcnRpc3RpYy0xLjAgQXJ0aXN0
aWMtMi4wIEJpdHN0cmVhbVZlcmEgQlNEIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvbGljZW5zZXMuY29uZjo4CiMgICAgICJCU0QtMi1DbGF1c2UgQlNELTMtQ2xhdXNlIEJT
RC00LUNsYXVzZSBCU0wtMS4wIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
bGljZW5zZXMuY29uZjo5CiMgICAgICJDQVRPU0wtMS4xIENDMC0xLjAgQ0MtQlktMS4wIENDLUJZ
LTIuMCBDQy1CWS0yLjUiCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNl
bnNlcy5jb25mOjEwCiMgICAgICJDQy1CWS0zLjAgQ0MtQlktTkMtMS4wIENDLUJZLU5DLTIuMCBD
Qy1CWS1OQy0yLjUiCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNl
cy5jb25mOjExCiMgICAgICJDQy1CWS1OQy0zLjAgQ0MtQlktTkMtTkQtMS4wIENDLUJZLU5DLU5E
LTIuMCIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6
MTIKIyAgICAgIkNDLUJZLU5DLU5ELTIuNSBDQy1CWS1OQy1ORC0zLjAgQ0MtQlktTkMtU0EtMS4w
IgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxMwoj
ICAgICAiQ0MtQlktTkMtU0EtMi4wIENDLUJZLU5DLVNBLTIuNSBDQy1CWS1OQy1TQS0zLjAiCiMg
ICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjE0CiMgICAg
ICJDQy1CWS1ORC0xLjAgQ0MtQlktTkQtMi4wIENDLUJZLU5ELTIuNSBDQy1CWS1ORC0zLjAiCiMg
ICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjE1CiMgICAg
ICJDQy1CWS1TQS0xLjAgQ0MtQlktU0EtMi4wIENDLUJZLVNBLTIuNSBDQy1CWS1TQS0zLjAgQ0Mt
QlktU0EtNC4wIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMu
Y29uZjoxNgojICAgICAiQ0RETC0xLjAgQ0VDSUxMLTEuMCBDRUNJTEwtMi4wIENFQ0lMTC1CIENF
Q0lMTC1DIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29u
ZjoxNwojICAgICAiQ2xBcnRpc3RpYyBDUEFMLTEuMCBDUEwtMS4wIENVQS1PUEwtMS4wIERTU1NM
IgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxOAoj
ICAgICAiRUNMLTEuMCBFQ0wtMi4wIGVDb3MtMi4wIEVETC0xLjAgRUZMLTEuMCBFRkwtMi4wIgoj
ICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoxOQojICAg
ICAiRW50ZXNzYSBFUEwtMS4wIEVQTC0yLjAgRXJsUEwtMS4xIgojICAgYXBwZW5kIC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvbGljZW5zZXMuY29uZjoyMAojICAgICAiRVVEYXRhZ3JpZCBFVVBM
LTEuMCBFVVBMLTEuMSBGYWlyIEZyYW1ld29yeC0xLjAiCiMgICBhcHBlbmQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjIxCiMgICAgICJGcmVlVHlwZSBHRkRMLTEuMSBH
RkRMLTEuMiBHRkRMLTEuMyBHUEwtMS4wIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvbGljZW5zZXMuY29uZjoyMgojICAgICAiR1BMLTIuMCBHUEwtMi4wLXdpdGgtYXV0b2Nv
bmYtZXhjZXB0aW9uIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbGljZW5z
ZXMuY29uZjoyMwojICAgICAiR1BMLTIuMC13aXRoLWNsYXNzcGF0aC1leGNlcHRpb24iCiMgICBh
cHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjI0CiMgICAgICJH
UEwtMi4wLXdpdGgtZm9udC1leGNlcHRpb24iCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9saWNlbnNlcy5jb25mOjI1CiMgICAgICJHUEwtMi4wLXdpdGgtR0NDLWV4Y2VwdGlv
biIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MjYK
IyAgICAgIkdQTC0yLXdpdGgtYmlzb24tZXhjZXB0aW9uIEdQTC0zLjAiCiMgICBhcHBlbmQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjI3CiMgICAgICJHUEwtMy4wLXdp
dGgtYXV0b2NvbmYtZXhjZXB0aW9uIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvbGljZW5zZXMuY29uZjoyOAojICAgICAiR1BMLTMuMC13aXRoLUdDQy1leGNlcHRpb24iCiMg
ICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjI5CiMgICAg
ICJnU09BUC0xIGdTT0FQLTEuM2IgSFBORCBJUEEgSVBMLTEuMCBJU0MgTEdQTC0yLjAiCiMgICBh
cHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjMwCiMgICAgICJM
R1BMLTIuMSBMR1BMLTMuMCBMaWJwbmcgTFBMLTEuMDIgTFBQTC0xLjAgTFBQTC0xLjEiCiMgICBh
cHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjMxCiMgICAgICJM
UFBMLTEuMiBMUFBMLTEuM2MgTWlyT1MgTUlUIE1vdG9zb3RvIE1QTC0xLjAiCiMgICBhcHBlbmQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjMyCiMgICAgICJNUEwtMS4x
IE1TLVBMIE1TLVJMIE11bHRpY3MgTkFTQS0xLjMgTmF1bWFuIE5DU0EiCiMgICBhcHBlbmQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjMzCiMgICAgICJOR1BMIE5va2lh
IE5QT1NMLTMuMCBOVFAgT0FTSVMgT0NMQy0yLjAgT0RiTC0xLjAiCiMgICBhcHBlbmQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjM0CiMgICAgICJPRkwtMS4xIE9HVFNM
IE9MREFQLTIuOCBPcGVuU1NMIE9TTC0xLjAgT1NMLTIuMCIKIyAgIGFwcGVuZCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2xpY2Vuc2VzLmNvbmY6MzUKIyAgICAgIk9TTC0zLjAgUEQgUEhQLTMu
MCBQb3N0Z3JlU1FMIFByb3ByaWV0YXJ5IgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvbGljZW5zZXMuY29uZjozNgojICAgICAiUHl0aG9uLTIuMCBRUEwtMS4wIFJIZUNvcy0x
IFJIZUNvcy0xLjEgUlBMLTEuNSIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2xpY2Vuc2VzLmNvbmY6MzcKIyAgICAgIlJQU0wtMS4wIFJTQ1BMIFJ1YnkgU0FYLVBEIFNHSS0x
IFNpbXBsZS0yLjAgU2xlZXB5Y2F0IgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvbGljZW5zZXMuY29uZjozOAojICAgICAiU1BMLTEuMCBTdWdhckNSTS0xIFN1Z2FyQ1JNLTEu
MS4zIFVDQiBWU0wtMS4wIFczQyIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2xpY2Vuc2VzLmNvbmY6MzkKIyAgICAgIldhdGNvbS0xLjAgV1h3aW5kb3dzIFhGcmVlODYtMS4w
IFhGcmVlODYtMS4xIFhuZXQgWFNMIFlQTC0xLjEiCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9saWNlbnNlcy5jb25mOjQwCiMgICAgICJaaW1icmEtMS4zIFpsaWIgWlBMLTEu
MSBaUEwtMi4wIFpQTC0yLjEiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgQUFMIEFkb2Jl
IEFGTC0xLjIgQUZMLTIuMCBBRkwtMi4xIEFGTC0zLjAgQUdQTC0zLjAgQU5UTFItUEQgQXBhY2hl
LTEuMCBBcGFjaGUtMS4xIEFwYWNoZS0yLjAgQVBMLTEuMCBBUFNMLTEuMCBBUFNMLTEuMSBBUFNM
LTEuMiBBUFNMLTIuMCBBcnRpc3RpYy0xLjAgQXJ0aXN0aWMtMi4wIEJpdHN0cmVhbVZlcmEgQlNE
IEJTRC0yLUNsYXVzZSBCU0QtMy1DbGF1c2UgQlNELTQtQ2xhdXNlIEJTTC0xLjAgQ0FUT1NMLTEu
MSBDQzAtMS4wIENDLUJZLTEuMCBDQy1CWS0yLjAgQ0MtQlktMi41IENDLUJZLTMuMCBDQy1CWS1O
Qy0xLjAgQ0MtQlktTkMtMi4wIENDLUJZLU5DLTIuNSBDQy1CWS1OQy0zLjAgQ0MtQlktTkMtTkQt
MS4wIENDLUJZLU5DLU5ELTIuMCBDQy1CWS1OQy1ORC0yLjUgQ0MtQlktTkMtTkQtMy4wIENDLUJZ
LU5DLVNBLTEuMCBDQy1CWS1OQy1TQS0yLjAgQ0MtQlktTkMtU0EtMi41IENDLUJZLU5DLVNBLTMu
MCBDQy1CWS1ORC0xLjAgQ0MtQlktTkQtMi4wIENDLUJZLU5ELTIuNSBDQy1CWS1ORC0zLjAgQ0Mt
QlktU0EtMS4wIENDLUJZLVNBLTIuMCBDQy1CWS1TQS0yLjUgQ0MtQlktU0EtMy4wIENDLUJZLVNB
LTQuMCBDRERMLTEuMCBDRUNJTEwtMS4wIENFQ0lMTC0yLjAgQ0VDSUxMLUIgQ0VDSUxMLUMgQ2xB
cnRpc3RpYyBDUEFMLTEuMCBDUEwtMS4wIENVQS1PUEwtMS4wIERTU1NMIEVDTC0xLjAgRUNMLTIu
MCBlQ29zLTIuMCBFREwtMS4wIEVGTC0xLjAgRUZMLTIuMCBFbnRlc3NhIEVQTC0xLjAgRVBMLTIu
MCBFcmxQTC0xLjEgRVVEYXRhZ3JpZCBFVVBMLTEuMCBFVVBMLTEuMSBGYWlyIEZyYW1ld29yeC0x
LjAgRnJlZVR5cGUgR0ZETC0xLjEgR0ZETC0xLjIgR0ZETC0xLjMgR1BMLTEuMCBHUEwtMi4wIEdQ
TC0yLjAtd2l0aC1hdXRvY29uZi1leGNlcHRpb24gR1BMLTIuMC13aXRoLWNsYXNzcGF0aC1leGNl
cHRpb24gR1BMLTIuMC13aXRoLWZvbnQtZXhjZXB0aW9uIEdQTC0yLjAtd2l0aC1HQ0MtZXhjZXB0
aW9uIEdQTC0yLXdpdGgtYmlzb24tZXhjZXB0aW9uIEdQTC0zLjAgR1BMLTMuMC13aXRoLWF1dG9j
b25mLWV4Y2VwdGlvbiBHUEwtMy4wLXdpdGgtR0NDLWV4Y2VwdGlvbiBnU09BUC0xIGdTT0FQLTEu
M2IgSFBORCBJUEEgSVBMLTEuMCBJU0MgTEdQTC0yLjAgTEdQTC0yLjEgTEdQTC0zLjAgTGlicG5n
IExQTC0xLjAyIExQUEwtMS4wIExQUEwtMS4xIExQUEwtMS4yIExQUEwtMS4zYyBNaXJPUyBNSVQg
TW90b3NvdG8gTVBMLTEuMCBNUEwtMS4xIE1TLVBMIE1TLVJMIE11bHRpY3MgTkFTQS0xLjMgTmF1
bWFuIE5DU0EgTkdQTCBOb2tpYSBOUE9TTC0zLjAgTlRQIE9BU0lTIE9DTEMtMi4wIE9EYkwtMS4w
IE9GTC0xLjEgT0dUU0wgT0xEQVAtMi44IE9wZW5TU0wgT1NMLTEuMCBPU0wtMi4wIE9TTC0zLjAg
UEQgUEhQLTMuMCBQb3N0Z3JlU1FMIFByb3ByaWV0YXJ5IFB5dGhvbi0yLjAgUVBMLTEuMCBSSGVD
b3MtMSBSSGVDb3MtMS4xIFJQTC0xLjUgUlBTTC0xLjAgUlNDUEwgUnVieSBTQVgtUEQgU0dJLTEg
U2ltcGxlLTIuMCBTbGVlcHljYXQgU1BMLTEuMCBTdWdhckNSTS0xIFN1Z2FyQ1JNLTEuMS4zIFVD
QiBWU0wtMS4wIFczQyBXYXRjb20tMS4wIFdYd2luZG93cyBYRnJlZTg2LTEuMCBYRnJlZTg2LTEu
MSBYbmV0IFhTTCBZUEwtMS4xIFppbWJyYS0xLjMgWmxpYiBaUEwtMS4xIFpQTC0yLjAgWlBMLTIu
MSIKU1JDX0RJU1RSSUJVVEVfTElDRU5TRVM9IiBBQUwgQWRvYmUgQUZMLTEuMiBBRkwtMi4wIEFG
TC0yLjEgQUZMLTMuMCBBR1BMLTMuMCBBTlRMUi1QRCBBcGFjaGUtMS4wIEFwYWNoZS0xLjEgQXBh
Y2hlLTIuMCBBUEwtMS4wIEFQU0wtMS4wIEFQU0wtMS4xIEFQU0wtMS4yIEFQU0wtMi4wIEFydGlz
dGljLTEuMCBBcnRpc3RpYy0yLjAgQml0c3RyZWFtVmVyYSBCU0QgQlNELTItQ2xhdXNlIEJTRC0z
LUNsYXVzZSBCU0QtNC1DbGF1c2UgQlNMLTEuMCBDQVRPU0wtMS4xIENDMC0xLjAgQ0MtQlktMS4w
IENDLUJZLTIuMCBDQy1CWS0yLjUgQ0MtQlktMy4wIENDLUJZLU5DLTEuMCBDQy1CWS1OQy0yLjAg
Q0MtQlktTkMtMi41IENDLUJZLU5DLTMuMCBDQy1CWS1OQy1ORC0xLjAgQ0MtQlktTkMtTkQtMi4w
IENDLUJZLU5DLU5ELTIuNSBDQy1CWS1OQy1ORC0zLjAgQ0MtQlktTkMtU0EtMS4wIENDLUJZLU5D
LVNBLTIuMCBDQy1CWS1OQy1TQS0yLjUgQ0MtQlktTkMtU0EtMy4wIENDLUJZLU5ELTEuMCBDQy1C
WS1ORC0yLjAgQ0MtQlktTkQtMi41IENDLUJZLU5ELTMuMCBDQy1CWS1TQS0xLjAgQ0MtQlktU0Et
Mi4wIENDLUJZLVNBLTIuNSBDQy1CWS1TQS0zLjAgQ0MtQlktU0EtNC4wIENEREwtMS4wIENFQ0lM
TC0xLjAgQ0VDSUxMLTIuMCBDRUNJTEwtQiBDRUNJTEwtQyBDbEFydGlzdGljIENQQUwtMS4wIENQ
TC0xLjAgQ1VBLU9QTC0xLjAgRFNTU0wgRUNMLTEuMCBFQ0wtMi4wIGVDb3MtMi4wIEVETC0xLjAg
RUZMLTEuMCBFRkwtMi4wIEVudGVzc2EgRVBMLTEuMCBFUEwtMi4wIEVybFBMLTEuMSBFVURhdGFn
cmlkIEVVUEwtMS4wIEVVUEwtMS4xIEZhaXIgRnJhbWV3b3J4LTEuMCBGcmVlVHlwZSBHRkRMLTEu
MSBHRkRMLTEuMiBHRkRMLTEuMyBHUEwtMS4wIEdQTC0yLjAgR1BMLTIuMC13aXRoLWF1dG9jb25m
LWV4Y2VwdGlvbiBHUEwtMi4wLXdpdGgtY2xhc3NwYXRoLWV4Y2VwdGlvbiBHUEwtMi4wLXdpdGgt
Zm9udC1leGNlcHRpb24gR1BMLTIuMC13aXRoLUdDQy1leGNlcHRpb24gR1BMLTItd2l0aC1iaXNv
bi1leGNlcHRpb24gR1BMLTMuMCBHUEwtMy4wLXdpdGgtYXV0b2NvbmYtZXhjZXB0aW9uIEdQTC0z
LjAtd2l0aC1HQ0MtZXhjZXB0aW9uIGdTT0FQLTEgZ1NPQVAtMS4zYiBIUE5EIElQQSBJUEwtMS4w
IElTQyBMR1BMLTIuMCBMR1BMLTIuMSBMR1BMLTMuMCBMaWJwbmcgTFBMLTEuMDIgTFBQTC0xLjAg
TFBQTC0xLjEgTFBQTC0xLjIgTFBQTC0xLjNjIE1pck9TIE1JVCBNb3Rvc290byBNUEwtMS4wIE1Q
TC0xLjEgTVMtUEwgTVMtUkwgTXVsdGljcyBOQVNBLTEuMyBOYXVtYW4gTkNTQSBOR1BMIE5va2lh
IE5QT1NMLTMuMCBOVFAgT0FTSVMgT0NMQy0yLjAgT0RiTC0xLjAgT0ZMLTEuMSBPR1RTTCBPTERB
UC0yLjggT3BlblNTTCBPU0wtMS4wIE9TTC0yLjAgT1NMLTMuMCBQRCBQSFAtMy4wIFBvc3RncmVT
UUwgUHJvcHJpZXRhcnkgUHl0aG9uLTIuMCBRUEwtMS4wIFJIZUNvcy0xIFJIZUNvcy0xLjEgUlBM
LTEuNSBSUFNMLTEuMCBSU0NQTCBSdWJ5IFNBWC1QRCBTR0ktMSBTaW1wbGUtMi4wIFNsZWVweWNh
dCBTUEwtMS4wIFN1Z2FyQ1JNLTEgU3VnYXJDUk0tMS4xLjMgVUNCIFZTTC0xLjAgVzNDIFdhdGNv
bS0xLjAgV1h3aW5kb3dzIFhGcmVlODYtMS4wIFhGcmVlODYtMS4xIFhuZXQgWFNMIFlQTC0xLjEg
WmltYnJhLTEuMyBabGliIFpQTC0xLjEgWlBMLTIuMCBaUEwtMi4xIgojCiMgJFNSQ19VUkkgWzMg
b3BlcmF0aW9uc10KIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo2NjcKIyAgICAgW3ZhcmRlcHNleGNsdWRlXSAiICAgIEFQQUNIRV9NSVJST1IgICAgIENQ
QU5fTUlSUk9SICAgICBERUJJQU5fTUlSUk9SICAgICBHRU5UT09fTUlSUk9SICAgICBHTk9NRV9H
SVQgICAgIEdOT01FX01JUlJPUiAgICAgR05VX01JUlJPUiAgICAgR05VUEdfTUlSUk9SICAgICBH
UEVfTUlSUk9SICAgICBLRVJORUxPUkdfTUlSUk9SICAgICBTQVZBTk5BSF9HTlVfTUlSUk9SICAg
ICBTQVZBTk5BSF9OT05HTlVfTUlSUk9SICAgICBTT1VSQ0VGT1JHRV9NSVJST1IgICAgIFhMSUJT
X01JUlJPUiAgICAgWE9SR19NSVJST1IgIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjY4MQojICAgICAiIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM4NAojICAgICBbZG9jXSAiVGhlIGxpc3Qgb2Ygc291
cmNlIGZpbGVzIC0gbG9jYWwgb3IgcmVtb3RlLiBUaGlzIHZhcmlhYmxlIHRlbGxzIHRoZSBPcGVu
RW1iZWRkZWQgYnVpbGQgc3lzdGVtIHdoYXQgYml0cyB0byBwdWxsIGluIGZvciB0aGUgYnVpbGQg
YW5kIGhvdyB0byBwdWxsIHRoZW0gaW4uIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiIgpT
UkNfVVJJPSIiCiMKIyAkU1JDX1VSSV9PVkVSUklERVNfUEFDS0FHRV9BUkNICiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6Mzg1CiMgICAgIFtkb2Nd
ICJCeSBkZWZhdWx0LCB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSBhdXRvbWF0aWNhbGx5
IGRldGVjdHMgd2hldGhlciBTUkNfVVJJIGNvbnRhaW5zIGZpbGVzIHRoYXQgYXJlIG1hY2hpbmUt
c3BlY2lmaWMuIElmIHNvLCB0aGUgYnVpbGQgc3lzdGVtIGF1dG9tYXRpY2FsbHkgY2hhbmdlcyBQ
QUNLQUdFX0FSQ0guIFNldHRpbmcgdGhpcyB2YXJpYWJsZSB0byAnMCcgZGlzYWJsZXMgdGhpcyBi
ZWhhdmlvci4iCiMKIyAkU1NIX0FHRU5UX1BJRAojICAgZnJvbSBlbnYgZGF0YS5weToxMTIgW2lu
aGVyaXRGcm9tT1NdCiMgICAgICIxNzk2IgpTU0hfQUdFTlRfUElEPSIxNzk2IgojCiMgJFNTSF9B
VVRIX1NPQ0sKIyAgIGZyb20gZW52IGRhdGEucHk6MTEyIFtpbmhlcml0RnJvbU9TXQojICAgICAi
L3J1bi91c2VyLzEwMDAva2V5cmluZy9zc2giClNTSF9BVVRIX1NPQ0s9Ii9ydW4vdXNlci8xMDAw
L2tleXJpbmcvc3NoIgojCiMgJFNTVEFURUNSRUFURUZVTkNTIFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczo2NAojICAgICAi
c3N0YXRlX2hhcmRjb2RlX3BhdGgiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nl
cy9zc3RhdGUuYmJjbGFzczo2NQojICAgICBbdmFyZGVwc10gIlNTVEFURV9TQ0FOX0ZJTEVTIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAic3N0YXRlX2hhcmRjb2RlX3BhdGgiClNTVEFURUNS
RUFURUZVTkNTPSJzc3RhdGVfaGFyZGNvZGVfcGF0aCIKIwojICRTU1RBVEVQT1NUQ1JFQVRFRlVO
Q1MKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjY2
CiMgICAgICIiClNTVEFURVBPU1RDUkVBVEVGVU5DUz0iIgojCiMgJFNTVEFURVBPU1RJTlNURlVO
Q1MKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjY5
CiMgICAgICIiClNTVEFURVBPU1RJTlNURlVOQ1M9IiIKIwojICRTU1RBVEVQT1NUVU5QQUNLRlVO
Q1MgWzMgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3Nz
dGF0ZS5iYmNsYXNzOjY4CiMgICAgICJzc3RhdGVfaGFyZGNvZGVfcGF0aF91bnBhY2siCiMgICBh
cHBlbmQgdW5pbmF0aXZlLmJiY2xhc3M6MTMxIFtlbmFibGVfdW5pbmF0aXZlXQojICAgICAiIHVu
aW5hdGl2ZV9jaGFuZ2VpbnRlcnAiCiMgICBhcHBlbmQgdW5pbmF0aXZlLmJiY2xhc3M6MTMyIFtl
bmFibGVfdW5pbmF0aXZlXQojICAgICBbdmFyZGVwdmFsdWVleGNsdWRlXSAifCB1bmluYXRpdmVf
Y2hhbmdlaW50ZXJwIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAic3N0YXRlX2hhcmRjb2Rl
X3BhdGhfdW5wYWNrIHVuaW5hdGl2ZV9jaGFuZ2VpbnRlcnAiClNTVEFURVBPU1RVTlBBQ0tGVU5D
Uz0ic3N0YXRlX2hhcmRjb2RlX3BhdGhfdW5wYWNrIHVuaW5hdGl2ZV9jaGFuZ2VpbnRlcnAiCiMK
IyAkU1NUQVRFUFJFSU5TVEZVTkNTCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nl
cy9zc3RhdGUuYmJjbGFzczo2NwojICAgICAiIgpTU1RBVEVQUkVJTlNURlVOQ1M9IiIKIwojICRT
U1RBVEVUQVNLUyBbNyBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRh
L2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjEyMAojICAgICAiZG9fcG9wdWxhdGVfc3lzcm9vdCIK
IyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2luc2FuZS5iYmNsYXNzOjEw
MjUKIyAgICAgImRvX3BhY2thZ2VfcWEiCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3M6MjI0OAojICAgICAiZG9fcGFja2FnZSIKIyAgIGFwcGVu
ZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzczoyMjY4CiMgICAg
ICJkb19wYWNrYWdlZGF0YSIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2Vz
L3BhY2thZ2VfcnBtLmJiY2xhc3M6NzIzCiMgICAgICJkb19wYWNrYWdlX3dyaXRlX3JwbSIKIyAg
IGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzczozOTkK
IyAgICAgImRvX3BvcHVsYXRlX2xpYyIKIyAgIHNldCBzc3RhdGUuYmJjbGFzczoxMjEgW19fYW5v
bl8xMjVfX2hvbWVfdXNlcl9wb2t5X21ldGFfY2xhc3Nlc19zc3RhdGVfYmJjbGFzc10KIyAgICAg
ImRvX3BhY2thZ2UgZG9fcGFja2FnZV9xYSBkb19wYWNrYWdlX3dyaXRlX3JwbSBkb19wYWNrYWdl
ZGF0YSBkb19wb3B1bGF0ZV9saWMgZG9fcG9wdWxhdGVfc3lzcm9vdCIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgImRvX3BhY2thZ2UgZG9fcGFja2FnZV9xYSBkb19wYWNrYWdlX3dyaXRlX3Jw
bSBkb19wYWNrYWdlZGF0YSBkb19wb3B1bGF0ZV9saWMgZG9fcG9wdWxhdGVfc3lzcm9vdCIKU1NU
QVRFVEFTS1M9ImRvX3BhY2thZ2UgZG9fcGFja2FnZV9xYSBkb19wYWNrYWdlX3dyaXRlX3JwbSBk
b19wYWNrYWdlZGF0YSBkb19wb3B1bGF0ZV9saWMgZG9fcG9wdWxhdGVfc3lzcm9vdCIKIwojICRT
U1RBVEVfQVJDSFMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5i
YmNsYXNzOjYwCiMgICAgICIgICAgICR7QlVJTERfQVJDSH0gICAgICR7QlVJTERfQVJDSH1fJHtT
REtfQVJDSH1fJHtTREtfT1N9ICAgICAke0JVSUxEX0FSQ0h9XyR7VEFSR0VUX0FSQ0h9ICAgICAk
e1NES19BUkNIfV8ke1NES19PU30gICAgICR7U0RLX0FSQ0h9XyR7UEFDS0FHRV9BUkNIfSAgICAg
YWxsYXJjaCAgICAgJHtQQUNLQUdFX0FSQ0h9ICAgICAke1BBQ0tBR0VfRVhUUkFfQVJDSFN9ICAg
ICAke01BQ0hJTkVfQVJDSH0iClNTVEFURV9BUkNIUz0iICAgICB4ODZfNjQgICAgIHg4Nl82NF94
ODZfNjRfbGludXggICAgIHg4Nl82NF94ODZfNjQgICAgIHg4Nl82NF9saW51eCAgICAgeDg2XzY0
X2NvcmUyLTY0ICAgICBhbGxhcmNoICAgICBjb3JlMi02NCAgICAgeDg2XzY0IGNvcmUyLTY0ICAg
ICBxZW11eDg2XzY0IgojCiMgJFNTVEFURV9ESVIgWzMgb3BlcmF0aW9uc10KIyAgIHNldD8gL2hv
bWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvbG9jYWwuY29uZjo2NwojICAgICAiL2hvbWUvdXNlci95
b2N0by1jYWNoZS9kb3dubG9hZHMiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6Mzg5CiMgICAgIFtkb2NdICJUaGUgZGlyZWN0b3J5IGZvciB0aGUg
c2hhcmVkIHN0YXRlIGNhY2hlLiIKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6NzY3CiMgICAgICIke1RPUERJUn0vc3N0YXRlLWNhY2hlIgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAiL2hvbWUvdXNlci95b2N0by1jYWNoZS9kb3dubG9hZHMiClNTVEFU
RV9ESVI9Ii9ob21lL3VzZXIveW9jdG8tY2FjaGUvZG93bmxvYWRzIgojCiMgJFNTVEFURV9EVVBX
SElURUxJU1QgWzEwIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xh
c3Nlcy9zc3RhdGUuYmJjbGFzczoyOQojICAgICAiJHtERVBMT1lfRElSfS9saWNlbnNlcy8iCiMg
ICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczozMQoj
ICAgICAiJHtTVEFHSU5HX0VUQ0RJUl9OQVRJVkV9L3NnbWwgJHtTVEFHSU5HX0RBVEFESVJfTkFU
SVZFfS9zZ21sIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRl
LmJiY2xhc3M6MzMKIyAgICAgIiR7REVQTE9ZX0RJUl9SUE19L3Nka19wcm92aWRlc19kdW1teV9u
YXRpdmVzZGsvICR7REVQTE9ZX0RJUl9JUEt9L3Nkay1wcm92aWRlcy1kdW1teS1uYXRpdmVzZGsv
IgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6
MzQKIyAgICAgIiR7REVQTE9ZX0RJUl9SUE19L2J1aWxkdG9vbHNfZHVtbXlfbmF0aXZlc2RrLyAk
e0RFUExPWV9ESVJfSVBLfS9idWlsZHRvb2xzLWR1bW15LW5hdGl2ZXNkay8iCiMgICBhcHBlbmQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczozNgojICAgICAiJHtD
T01QT05FTlRTX0RJUn0vc2RrLXByb3ZpZGVzLWR1bW15LXRhcmdldC8gJHtERVBMT1lfRElSX1JQ
TX0vc2RrX3Byb3ZpZGVzX2R1bW15X3RhcmdldC8gJHtERVBMT1lfRElSX0lQS30vc2RrLXByb3Zp
ZGVzLWR1bW15LXRhcmdldC8iCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nl
cy9zc3RhdGUuYmJjbGFzczozOAojICAgICAiJHtERVBMT1lfRElSX1NSQ30iCiMgICBhcHBlbmQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczo0MAojICAgICAiJHtE
RVBMT1lfRElSX0lNQUdFfS9vdm1mIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2Ns
YXNzZXMvc3N0YXRlLmJiY2xhc3M6NDEKIyAgICAgIiR7REVQTE9ZX0RJUl9JTUFHRX0vZ3J1Yi1l
ZmkiCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFz
czo0MgojICAgICAiJHtERVBMT1lfRElSX0lNQUdFfS9zeXN0ZW1kLWJvb3QiCiMgICBhcHBlbmQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczo0MwojICAgICAiJHtE
RVBMT1lfRElSX0lNQUdFfS9taWNyb2NvZGUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIk
e0RFUExPWV9ESVJ9L2xpY2Vuc2VzLyAke1NUQUdJTkdfRVRDRElSX05BVElWRX0vc2dtbCAke1NU
QUdJTkdfREFUQURJUl9OQVRJVkV9L3NnbWwgJHtERVBMT1lfRElSX1JQTX0vc2RrX3Byb3ZpZGVz
X2R1bW15X25hdGl2ZXNkay8gJHtERVBMT1lfRElSX0lQS30vc2RrLXByb3ZpZGVzLWR1bW15LW5h
dGl2ZXNkay8gJHtERVBMT1lfRElSX1JQTX0vYnVpbGR0b29sc19kdW1teV9uYXRpdmVzZGsvICR7
REVQTE9ZX0RJUl9JUEt9L2J1aWxkdG9vbHMtZHVtbXktbmF0aXZlc2RrLyAke0NPTVBPTkVOVFNf
RElSfS9zZGstcHJvdmlkZXMtZHVtbXktdGFyZ2V0LyAke0RFUExPWV9ESVJfUlBNfS9zZGtfcHJv
dmlkZXNfZHVtbXlfdGFyZ2V0LyAke0RFUExPWV9ESVJfSVBLfS9zZGstcHJvdmlkZXMtZHVtbXkt
dGFyZ2V0LyAke0RFUExPWV9ESVJfU1JDfSAke0RFUExPWV9ESVJfSU1BR0V9L292bWYgJHtERVBM
T1lfRElSX0lNQUdFfS9ncnViLWVmaSAke0RFUExPWV9ESVJfSU1BR0V9L3N5c3RlbWQtYm9vdCAk
e0RFUExPWV9ESVJfSU1BR0V9L21pY3JvY29kZSIKU1NUQVRFX0RVUFdISVRFTElTVD0iL2hvbWUv
dXNlci9wb2t5L2J1aWxkL3RtcC9kZXBsb3kvbGljZW5zZXMvIC9ob21lL3VzZXIvcG9reS9idWls
ZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNy
b290LW5hdGl2ZS9ldGMvc2dtbCAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTIt
NjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL3No
YXJlL3NnbWwgL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC9kZXBsb3kvcnBtL3Nka19wcm92aWRl
c19kdW1teV9uYXRpdmVzZGsvIC9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvZGVwbG95L2lway9z
ZGstcHJvdmlkZXMtZHVtbXktbmF0aXZlc2RrLyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL2Rl
cGxveS9ycG0vYnVpbGR0b29sc19kdW1teV9uYXRpdmVzZGsvIC9ob21lL3VzZXIvcG9reS9idWls
ZC90bXAvZGVwbG95L2lway9idWlsZHRvb2xzLWR1bW15LW5hdGl2ZXNkay8gL2hvbWUvdXNlci9w
b2t5L2J1aWxkL3RtcC9zeXNyb290cy1jb21wb25lbnRzL3Nkay1wcm92aWRlcy1kdW1teS10YXJn
ZXQvIC9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvZGVwbG95L3JwbS9zZGtfcHJvdmlkZXNfZHVt
bXlfdGFyZ2V0LyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL2RlcGxveS9pcGsvc2RrLXByb3Zp
ZGVzLWR1bW15LXRhcmdldC8gXCR7REVQTE9ZX0RJUl9TUkN9IC9ob21lL3VzZXIvcG9reS9idWls
ZC90bXAvZGVwbG95L2ltYWdlcy9xZW11eDg2LTY0L292bWYgL2hvbWUvdXNlci9wb2t5L2J1aWxk
L3RtcC9kZXBsb3kvaW1hZ2VzL3FlbXV4ODYtNjQvZ3J1Yi1lZmkgL2hvbWUvdXNlci9wb2t5L2J1
aWxkL3RtcC9kZXBsb3kvaW1hZ2VzL3FlbXV4ODYtNjQvc3lzdGVtZC1ib290IC9ob21lL3VzZXIv
cG9reS9idWlsZC90bXAvZGVwbG95L2ltYWdlcy9xZW11eDg2LTY0L21pY3JvY29kZSIKIwojICRT
U1RBVEVfRVhDTFVERURFUFNfU1lTUk9PVCBbMyBvcGVyYXRpb25zXQojICAgYXBwZW5kIC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZjo4OAojICAgICAiLiotPmJpc29uLW5hdGl2
ZSIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmY6OTQKIyAg
ICAgIiAgICAuKi0+LiotaW5pdGlhbC4qICAgICAuKihiYXNlLXBhc3N3ZHxzaGFkb3ctc3lzcm9v
dCktPi4qICIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmY6
OTcKIyAgICAgIi4qLT5hdXRvY29uZi1hcmNoaXZlLW5hdGl2ZSIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiAuKi0+Ymlzb24tbmF0aXZlICAgICAuKi0+LiotaW5pdGlhbC4qICAgICAuKihi
YXNlLXBhc3N3ZHxzaGFkb3ctc3lzcm9vdCktPi4qICAuKi0+YXV0b2NvbmYtYXJjaGl2ZS1uYXRp
dmUiClNTVEFURV9FWENMVURFREVQU19TWVNST09UPSIgLiotPmJpc29uLW5hdGl2ZSAgICAgLiot
Pi4qLWluaXRpYWwuKiAgICAgLiooYmFzZS1wYXNzd2R8c2hhZG93LXN5c3Jvb3QpLT4uKiAgLiot
PmF1dG9jb25mLWFyY2hpdmUtbmF0aXZlIgojCiMgJFNTVEFURV9FWFRSQVBBVEggWzIgb3BlcmF0
aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNz
OjE2CiMgICAgICIiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUu
YmJjbGFzczoyNQojICAgICBbdmFyZGVwdmFsdWVdICIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIiClNTVEFURV9FWFRSQVBBVEg9IiIKIwojICRTU1RBVEVfRVhUUkFQQVRIV0lMRENBUkQg
WzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0
ZS5iYmNsYXNzOjE3CiMgICAgICIiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nl
cy9zc3RhdGUuYmJjbGFzczoyNgojICAgICBbdmFyZGVwdmFsdWVdICIiCiMgcHJlLWV4cGFuc2lv
biB2YWx1ZToKIyAgICIiClNTVEFURV9FWFRSQVBBVEhXSUxEQ0FSRD0iIgojCiMgJFNTVEFURV9I
QVNIRVFVSVZfTUVUSE9EIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6ODcKIyAgICAgIm9lLnNzdGF0ZXNpZy5PRU91dGhh
c2hCYXNpYyIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNs
YXNzOjkwCiMgICAgIFtkb2NdICJUaGUgZnVsbHktcXVhbGlmaWVkIGZ1bmN0aW9uIHVzZWQgdG8g
Y2FsY3VsYXRlICAgICB0aGUgb3V0cHV0IGhhc2ggZm9yIGEgdGFzaywgd2hpY2ggaW4gdHVybiBp
cyB1c2VkIHRvIGRldGVybWluZSBlcXVpdmFsZW5jeS4gICAgICIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIm9lLnNzdGF0ZXNpZy5PRU91dGhhc2hCYXNpYyIKU1NUQVRFX0hBU0hFUVVJVl9N
RVRIT0Q9Im9lLnNzdGF0ZXNpZy5PRU91dGhhc2hCYXNpYyIKIwojICRTU1RBVEVfSEFTSEVRVUlW
X1JFUE9SVF9UQVNLREFUQSBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjkyCiMgICAgICIwIgojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6OTcKIyAgICAgW2RvY10gIlJlcG9y
dCBhZGRpdGlvbmFsIHVzZWZ1bCBkYXRhIHRvIHRoZSAgICAgaGFzaCBlcXVpdmFsZW5jeSBzZXJ2
ZXIsIHN1Y2ggYXMgUE4sIFBWLCB0YXNrbmFtZSwgZXRjLiBUaGlzIGluZm9ybWF0aW9uICAgICBp
cyB2ZXJ5IHVzZWZ1bCBmb3IgZGV2ZWxvcGVycyBsb29raW5nIGF0IHRhc2sgZGF0YSwgYnV0IG1h
eSBsZWFrIHNlbnNpdGl2ZSAgICAgZGF0YSBpZiB0aGUgZXF1aXZhbGVuY2Ugc2VydmVyIGlzIHB1
YmxpYy4gICAgICIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIjAiClNTVEFURV9IQVNIRVFV
SVZfUkVQT1JUX1RBU0tEQVRBPSIwIgojCiMgJFNTVEFURV9NQU5GSUxFUFJFRklYCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczo0CiMgICAgICIke1NT
VEFURV9NQU5JRkVTVFN9L21hbmlmZXN0LSR7U1NUQVRFX01BTk1BQ0h9LSR7UE59IgpTU1RBVEVf
TUFORklMRVBSRUZJWD0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC9zc3RhdGUtY29udHJvbC9t
YW5pZmVzdC1jb3JlMi02NC1leGFtcGxlIgojCiMgJFNTVEFURV9NQU5JRkVTVFMKIyAgIHNldD8g
L2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczozCiMgICAgICIke1RN
UERJUn0vc3N0YXRlLWNvbnRyb2wiClNTVEFURV9NQU5JRkVTVFM9Ii9ob21lL3VzZXIvcG9reS9i
dWlsZC90bXAvc3N0YXRlLWNvbnRyb2wiCiMKIyAkU1NUQVRFX01BTk1BQ0ggWzIgb3BlcmF0aW9u
c10KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczo2
MgojICAgICAiJHtTU1RBVEVfUEtHQVJDSH0iCiMgICBzZXQgc3N0YXRlLmJiY2xhc3M6MTEzIFtf
X2Fub25fMTI1X19ob21lX3VzZXJfcG9reV9tZXRhX2NsYXNzZXNfc3N0YXRlX2JiY2xhc3NdCiMg
ICAgICJjb3JlMi02NCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImNvcmUyLTY0IgpTU1RB
VEVfTUFOTUFDSD0iY29yZTItNjQiCiMKIyAkU1NUQVRFX01JUlJPUlMKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozOTAKIyAgICAgW2RvY10gIkNv
bmZpZ3VyZXMgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gdG8gc2VhcmNoIG90aGVyIG1p
cnJvciBsb2NhdGlvbnMgZm9yIHByZWJ1aWx0IGNhY2hlIGRhdGEgb2JqZWN0cyBiZWZvcmUgYnVp
bGRpbmcgb3V0IHRoZSBkYXRhLiBZb3UgY2FuIHNwZWNpZnkgYSBmaWxlc3lzdGVtIGRpcmVjdG9y
eSBvciBhIHJlbW90ZSBVUkwgc3VjaCBhcyBIVFRQIG9yIEZUUC4iCiMKIyAkU1NUQVRFX1BBVEhT
UEVDCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczox
OAojICAgICAiJHtTU1RBVEVfRElSfS8ke1NTVEFURV9FWFRSQVBBVEhXSUxEQ0FSRH0qLyR7U1NU
QVRFX1BLR1NQRUN9IgpTU1RBVEVfUEFUSFNQRUM9Ii9ob21lL3VzZXIveW9jdG8tY2FjaGUvZG93
bmxvYWRzLyovc3N0YXRlOmV4YW1wbGU6Y29yZTItNjQtcG9reS1saW51eDowLjE6cjA6Y29yZTIt
NjQ6MzoiCiMKIyAkU1NUQVRFX1BLRwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNz
ZXMvc3N0YXRlLmJiY2xhc3M6MTUKIyAgICAgIiR7U1NUQVRFX0RJUn0vJHtTU1RBVEVfUEtHTkFN
RX0iClNTVEFURV9QS0c9Ii9ob21lL3VzZXIveW9jdG8tY2FjaGUvZG93bmxvYWRzL1wkey9zc3Rh
dGU6ZXhhbXBsZTpjb3JlMi02NC1wb2t5LWxpbnV4OjAuMTpyMDpjb3JlMi02NDozOlwke0JCX1RB
U0tIQVNIfSIKIwojICRTU1RBVEVfUEtHQVJDSAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6MTEKIyAgICAgIiR7UEFDS0FHRV9BUkNIfSIKU1NUQVRF
X1BLR0FSQ0g9ImNvcmUyLTY0IgojCiMgJFNTVEFURV9QS0dOQU1FCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczoxNAojICAgICAiJHtTU1RBVEVfRVhU
UkFQQVRIfSR7QGdlbmVyYXRlX3NzdGF0ZWZuKGQuZ2V0VmFyKCdTU1RBVEVfUEtHU1BFQycpLCBk
LmdldFZhcignQkJfVU5JSEFTSCcpLCBkKX0iClNTVEFURV9QS0dOQU1FPSJcJHsvc3N0YXRlOmV4
YW1wbGU6Y29yZTItNjQtcG9reS1saW51eDowLjE6cjA6Y29yZTItNjQ6MzpcJHtCQl9UQVNLSEFT
SH0iCiMKIyAkU1NUQVRFX1BLR1NQRUMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFz
c2VzL3NzdGF0ZS5iYmNsYXNzOjEyCiMgICAgICJzc3RhdGU6JHtQTn06JHtQQUNLQUdFX0FSQ0h9
JHtUQVJHRVRfVkVORE9SfS0ke1RBUkdFVF9PU306JHtQVn06JHtQUn06JHtTU1RBVEVfUEtHQVJD
SH06JHtTU1RBVEVfVkVSU0lPTn06IgpTU1RBVEVfUEtHU1BFQz0ic3N0YXRlOmV4YW1wbGU6Y29y
ZTItNjQtcG9reS1saW51eDowLjE6cjA6Y29yZTItNjQ6MzoiCiMKIyAkU1NUQVRFX1BSVU5FX09C
U09MRVRFV09SS0RJUgojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0
ZS5iYmNsYXNzOjEwOTcKIyAgICAgIjEiClNTVEFURV9QUlVORV9PQlNPTEVURVdPUktESVI9IjEi
CiMKIyAkU1NUQVRFX1NDQU5fQ01ECiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nl
cy9zc3RhdGUuYmJjbGFzczo0NgojICAgICBbX2RlZmF1bHR2YWxdICJmaW5kICR7U1NUQVRFX0JV
SUxERElSfSBcKCAtbmFtZSAiJHtAIlwiIC1vIC1uYW1lIFwiIi5qb2luKGQuZ2V0VmFyKCJTU1RB
VEVfU0NBTl9GSUxFUyIpLnNwbGl0KCkpfSIgXCkgLXR5cGUgZiIKU1NUQVRFX1NDQU5fQ01EPSJm
aW5kIFwke1NTVEFURV9CVUlMRERJUn0gXCggLW5hbWUgXCIqLmxhXCIgLW8gLW5hbWUgXCIqLWNv
bmZpZ1wiIC1vIC1uYW1lIFwiKl9jb25maWdcIiAtbyAtbmFtZSBcInBvc3RpbnN0LSpcIiBcKSAt
dHlwZSBmIgojCiMgJFNTVEFURV9TQ0FOX0NNRF9OQVRJVkUKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjQ3CiMgICAgIFtfZGVmYXVsdHZhbF0gImdy
ZXAgLUlybCAtZSAke1JFQ0lQRV9TWVNST09UfSAtZSAke1JFQ0lQRV9TWVNST09UX05BVElWRX0g
LWUgJHtIT1NUVE9PTFNfRElSfSAke1NTVEFURV9CVUlMRERJUn0iClNTVEFURV9TQ0FOX0NNRF9O
QVRJVkU9ImdyZXAgLUlybCAtZSAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTIt
NjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdCAtZSAvaG9tZS91c2Vy
L3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9y
ZWNpcGUtc3lzcm9vdC1uYXRpdmUgLWUgL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC9ob3N0dG9v
bHMgXCR7U1NUQVRFX0JVSUxERElSfSIKIwojICRTU1RBVEVfU0NBTl9GSUxFUwojICAgc2V0PyAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjQ1CiMgICAgICIqLmxh
ICotY29uZmlnICpfY29uZmlnIHBvc3RpbnN0LSoiClNTVEFURV9TQ0FOX0ZJTEVTPSIqLmxhICot
Y29uZmlnICpfY29uZmlnIHBvc3RpbnN0LSoiCiMKIyAkU1NUQVRFX1NJR19LRVkKIyAgIHNldD8g
L2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczo4MgojICAgICAiIgpT
U1RBVEVfU0lHX0tFWT0iIgojCiMgJFNTVEFURV9TSUdfUEFTU1BIUkFTRQojICAgc2V0PyAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjgzCiMgICAgICIiClNTVEFU
RV9TSUdfUEFTU1BIUkFTRT0iIgojCiMgJFNTVEFURV9TV1NQRUMKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzOjEzCiMgICAgICJzc3RhdGU6JHtQTn06
OiR7UFZ9OiR7UFJ9Ojoke1NTVEFURV9WRVJTSU9OfToiClNTVEFURV9TV1NQRUM9InNzdGF0ZTpl
eGFtcGxlOjowLjE6cjA6OjM6IgojCiMgJFNTVEFURV9WRVJJRllfU0lHCiMgICBzZXQ/IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3M6ODUKIyAgICAgIjAiClNTVEFU
RV9WRVJJRllfU0lHPSIwIgojCiMgJFNTVEFURV9WRVJTSU9OCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY2xhc3Nlcy9zc3RhdGUuYmJjbGFzczoxCiMgICAgICIzIgpTU1RBVEVfVkVSU0lP
Tj0iMyIKIwojICRTVEFHSU5HX0JBU0VMSUJESVIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjozOTUKIyAgICAgIiR7U1RBR0lOR19ESVJfSE9TVH0ke2Jhc2Vf
bGliZGlyfSIKU1RBR0lOR19CQVNFTElCRElSPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dv
cmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdC9saWIi
CiMKIyAkU1RBR0lOR19CQVNFX0xJQkRJUl9OQVRJVkUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjozODUKIyAgICAgIiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7
YmFzZV9saWJkaXJfbmF0aXZlfSIKU1RBR0lOR19CQVNFX0xJQkRJUl9OQVRJVkU9Ii9ob21lL3Vz
ZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIw
L3JlY2lwZS1zeXNyb290LW5hdGl2ZS9saWIiCiMKIyAkU1RBR0lOR19CSU5ESVIKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozOTIKIyAgICAgIiR7U1RBR0lO
R19ESVJfSE9TVH0ke2JpbmRpcn0iClNUQUdJTkdfQklORElSPSIvaG9tZS91c2VyL3Bva3kvYnVp
bGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lz
cm9vdC91c3IvYmluIgojCiMgJFNUQUdJTkdfQklORElSX0NST1NTCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzgxCiMgICAgICIke1NUQUdJTkdfQklORElS
fS9jcm9zc3NjcmlwdHMiClNUQUdJTkdfQklORElSX0NST1NTPSIvaG9tZS91c2VyL3Bva3kvYnVp
bGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lz
cm9vdC91c3IvYmluL2Nyb3Nzc2NyaXB0cyIKIwojICRTVEFHSU5HX0JJTkRJUl9OQVRJVkUKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozODAKIyAgICAgIiR7
U1RBR0lOR19ESVJfTkFUSVZFfSR7YmluZGlyX25hdGl2ZX0iClNUQUdJTkdfQklORElSX05BVElW
RT0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhh
bXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9iaW4iCiMKIyAkU1RBR0lOR19C
SU5ESVJfVE9PTENIQUlOCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6MzgyCiMgICAgICIke1NUQUdJTkdfRElSX05BVElWRX0ke2JpbmRpcl9uYXRpdmV9LyR7
VEFSR0VUX0FSQ0h9JHtUQVJHRVRfVkVORE9SfS0ke1RBUkdFVF9PU30iClNUQUdJTkdfQklORElS
X1RPT0xDSEFJTj0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3kt
bGludXgvZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9iaW4veDg2XzY0
LXBva3ktbGludXgiCiMKIyAkU1RBR0lOR19EQVRBRElSCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mzk3CiMgICAgICIke1NUQUdJTkdfRElSX0hPU1R9JHtk
YXRhZGlyfSIKU1RBR0lOR19EQVRBRElSPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsv
Y29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3Ivc2hh
cmUiCiMKIyAkU1RBR0lOR19EQVRBRElSX05BVElWRQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjM4OQojICAgICAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtk
YXRhZGlyX25hdGl2ZX0iClNUQUdJTkdfREFUQURJUl9OQVRJVkU9Ii9ob21lL3VzZXIvcG9reS9i
dWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1z
eXNyb290LW5hdGl2ZS91c3Ivc2hhcmUiCiMKIyAkU1RBR0lOR19ESVIKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNzQKIyAgICAgIiR7VE1QRElSfS9zeXNy
b290cyIKU1RBR0lOR19ESVI9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvc3lzcm9vdHMiCiMK
IyAkU1RBR0lOR19ESVJfSE9TVAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjM5MQojICAgICAiJHtSRUNJUEVfU1lTUk9PVH0iClNUQUdJTkdfRElSX0hPU1Q9
Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1w
bGUvMC4xLXIwL3JlY2lwZS1zeXNyb290IgojCiMgJFNUQUdJTkdfRElSX05BVElWRQojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM3OQojICAgICAiJHtSRUNJ
UEVfU1lTUk9PVF9OQVRJVkV9IgpTVEFHSU5HX0RJUl9OQVRJVkU9Ii9ob21lL3VzZXIvcG9reS9i
dWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1z
eXNyb290LW5hdGl2ZSIKIwojICRTVEFHSU5HX0RJUl9UQVJHRVQKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo0MDIKIyAgICAgIiR7UkVDSVBFX1NZU1JPT1R9
IgpTVEFHSU5HX0RJUl9UQVJHRVQ9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3Jl
Mi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNyb290IgojCiMgJFNUQUdJ
TkdfRVRDRElSX05BVElWRQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjM4OAojICAgICAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtzeXNjb25mZGlyX25hdGl2
ZX0iClNUQUdJTkdfRVRDRElSX05BVElWRT0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3Jr
L2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZl
L2V0YyIKIwojICRTVEFHSU5HX0VYRUNQUkVGSVhESVIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjozOTgKIyAgICAgIiR7U1RBR0lOR19ESVJfSE9TVH0ke2V4
ZWNfcHJlZml4fSIKU1RBR0lOR19FWEVDUFJFRklYRElSPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQv
dG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9v
dC91c3IiCiMKIyAkU1RBR0lOR19GSVJNV0FSRV9ESVIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo0MDAKIyAgICAgIiR7U1RBR0lOR19ESVJfSE9TVH0vZmly
bXdhcmUiClNUQUdJTkdfRklSTVdBUkVfRElSPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dv
cmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdC9maXJt
d2FyZSIKIwojICRTVEFHSU5HX0lOQ0RJUgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjM5NgojICAgICAiJHtTVEFHSU5HX0RJUl9IT1NUfSR7aW5jbHVkZWRp
cn0iClNUQUdJTkdfSU5DRElSPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTIt
NjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3IvaW5jbHVkZSIK
IwojICRTVEFHSU5HX0lOQ0RJUl9OQVRJVkUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjozODcKIyAgICAgIiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7aW5jbHVk
ZWRpcl9uYXRpdmV9IgpTVEFHSU5HX0lOQ0RJUl9OQVRJVkU9Ii9ob21lL3VzZXIvcG9reS9idWls
ZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNy
b290LW5hdGl2ZS91c3IvaW5jbHVkZSIKIwojICRTVEFHSU5HX0tFUk5FTF9CVUlMRERJUgojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ0NQojICAgICAiJHtU
TVBESVJ9L3dvcmstc2hhcmVkLyR7TUFDSElORX0va2VybmVsLWJ1aWxkLWFydGlmYWN0cyIKU1RB
R0lOR19LRVJORUxfQlVJTERESVI9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay1zaGFy
ZWQvcWVtdXg4Ni02NC9rZXJuZWwtYnVpbGQtYXJ0aWZhY3RzIgojCiMgJFNUQUdJTkdfS0VSTkVM
X0RJUiBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjQ0NAojICAgICAiJHtUTVBESVJ9L3dvcmstc2hhcmVkLyR7TUFDSElORX0va2Vy
bmVsLXNvdXJjZSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjozOTEKIyAgICAgW2RvY10gIlRoZSBkaXJlY3Rvcnkgd2l0aCBrZXJuZWwgaGVhZGVy
cyB0aGF0IGFyZSByZXF1aXJlZCB0byBidWlsZCBvdXQtb2YtdHJlZSBtb2R1bGVzLiIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VE1QRElSfS93b3JrLXNoYXJlZC8ke01BQ0hJTkV9L2tl
cm5lbC1zb3VyY2UiClNUQUdJTkdfS0VSTkVMX0RJUj0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3Rt
cC93b3JrLXNoYXJlZC9xZW11eDg2LTY0L2tlcm5lbC1zb3VyY2UiCiMKIyAkU1RBR0lOR19MSUJE
SVIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozOTMKIyAg
ICAgIiR7U1RBR0lOR19ESVJfSE9TVH0ke2xpYmRpcn0iClNUQUdJTkdfTElCRElSPSIvaG9tZS91
c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1y
MC9yZWNpcGUtc3lzcm9vdC91c3IvbGliIgojCiMgJFNUQUdJTkdfTElCRElSX05BVElWRQojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM4MwojICAgICAiJHtT
VEFHSU5HX0RJUl9OQVRJVkV9JHtsaWJkaXJfbmF0aXZlfSIKU1RBR0lOR19MSUJESVJfTkFUSVZF
PSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFt
cGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL2xpYiIKIwojICRTVEFHSU5HX0xJ
QkVYRUNESVIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoz
OTQKIyAgICAgIiR7U1RBR0lOR19ESVJfSE9TVH0ke2xpYmV4ZWNkaXJ9IgpTVEFHSU5HX0xJQkVY
RUNESVI9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4
L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNyb290L3Vzci9saWJleGVjIgojCiMgJFNUQUdJTkdf
TElCRVhFQ0RJUl9OQVRJVkUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjozODQKIyAgICAgIiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7bGliZXhlY2Rpcl9uYXRp
dmV9IgpTVEFHSU5HX0xJQkVYRUNESVJfTkFUSVZFPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1w
L3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdC1u
YXRpdmUvdXNyL2xpYmV4ZWMiCiMKIyAkU1RBR0lOR19MT0FERVJfRElSCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6Mzk5CiMgICAgICIke1NUQUdJTkdfRElS
X0hPU1R9L2xvYWRlciIKU1RBR0lOR19MT0FERVJfRElSPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQv
dG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9v
dC9sb2FkZXIiCiMKIyAkU1RBR0lOR19TQklORElSX05BVElWRQojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM4NgojICAgICAiJHtTVEFHSU5HX0RJUl9OQVRJ
VkV9JHtzYmluZGlyX25hdGl2ZX0iClNUQUdJTkdfU0JJTkRJUl9OQVRJVkU9Ii9ob21lL3VzZXIv
cG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3Jl
Y2lwZS1zeXNyb290LW5hdGl2ZS91c3Ivc2JpbiIKIwojICRTVEFNUCBbMiBvcGVyYXRpb25zXQoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM2NQojICAgICAi
JHtTVEFNUFNfRElSfS8ke01VTFRJTUFDSF9UQVJHRVRfU1lTfS8ke1BOfS8ke0VYVEVORFBFfSR7
UFZ9LSR7UFJ9IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlv
bi5jb25mOjM5MgojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRoZSBiYXNlIHBhdGggdXNlZCB0byBj
cmVhdGUgcmVjaXBlIHN0YW1wIGZpbGVzLiBUaGUgcGF0aCB0byBhbiBhY3R1YWwgc3RhbXAgZmls
ZSBpcyBjb25zdHJ1Y3RlZCBieSBldmFsdWF0aW5nIHRoaXMgc3RyaW5nIGFuZCB0aGVuIGFwcGVu
ZGluZyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
IiR7U1RBTVBTX0RJUn0vJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU30vJHtQTn0vJHtFWFRFTkRQRX0k
e1BWfS0ke1BSfSIKU1RBTVA9Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvc3RhbXBzL2NvcmUy
LTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAiCiMKIyAkU1RBTVBDTEVBTgojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM2NgojICAgICAiJHtTVEFNUFNf
RElSfS8ke01VTFRJTUFDSF9UQVJHRVRfU1lTfS8ke1BOfS8qLSoiClNUQU1QQ0xFQU49Ii9ob21l
L3VzZXIvcG9reS9idWlsZC90bXAvc3RhbXBzL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8q
LSoiCiMKIyAkU1RBTVBTX0RJUiBbMiBvcGVyYXRpb25zXQojICAgc2V0PyAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozNjQKIyAgICAgIiR7VE1QRElSfS9zdGFtcHMiCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MzkzCiMg
ICAgIFtkb2NdICJTcGVjaWZpZXMgdGhlIGJhc2UgZGlyZWN0b3J5IGluIHdoaWNoIHRoZSBPcGVu
RW1iZWRkZWQgYnVpbGQgc3lzdGVtIHBsYWNlcyBzdGFtcHMuIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtUTVBESVJ9L3N0YW1wcyIKU1RBTVBTX0RJUj0iL2hvbWUvdXNlci9wb2t5L2J1
aWxkL3RtcC9zdGFtcHMiCiMKIyAkU1RSSU5HUyBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTMwCiMgICAgIFtleHBvcnRd
ICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUzMAoj
ICAgICAiJHtIT1NUX1BSRUZJWH1zdHJpbmdzIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
JHtIT1NUX1BSRUZJWH1zdHJpbmdzIgpleHBvcnQgU1RSSU5HUz0ieDg2XzY0LXBva3ktbGludXgt
c3RyaW5ncyIKIwojICRTVFJJUCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTI3CiMgICAgIFtleHBvcnRdICIxIgojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUyNwojICAgICAiJHtI
T1NUX1BSRUZJWH1zdHJpcCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7SE9TVF9QUkVG
SVh9c3RyaXAiCmV4cG9ydCBTVFJJUD0ieDg2XzY0LXBva3ktbGludXgtc3RyaXAiCiMKIyAkU1VN
TUFSWSBbMTMgb3BlcmF0aW9uc10KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6MjMxCiMgICAgICIke1BOfSB2ZXJzaW9uICR7UFZ9LSR7UFJ9IgojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM5NAojICAgICBb
ZG9jXSAiVGhlIHNob3J0ICg4MCBjaGFyYWN0ZXJzIG9yIGxlc3MpIHN1bW1hcnkgb2YgdGhlIGJp
bmFyeSBwYWNrYWdlIGZvciBwYWNrYWdpbmcgc3lzdGVtcyBzdWNoIGFzIG9wa2csIHJwbSBvciBk
cGtnLiBCeSBkZWZhdWx0LCBTVU1NQVJZIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBERVNDUklQVElP
TiB2YXJpYWJsZSBpZiBERVNDUklQVElPTiBpcyBub3Qgc2V0IGluIHRoZSByZWNpcGUuIgojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9idWlsZC9jdXN0b21fbGF5ZXIvcmVjaXBlcy1leGFtcGxlL2V4
YW1wbGUvZXhhbXBsZV8wLjEuYmI6MQojICAgICAiYml0YmFrZS1sYXllcnMgcmVjaXBlIgojICAg
b3ZlcnJpZGVbZXhhbXBsZS1kYmddOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6MjQ0CiMgICAgICIke1NVTU1BUll9IC0gRGVidWdnaW5nIGZpbGVzIgojICAgb3Zl
cnJpZGVbZXhhbXBsZS1kYmddOnJlbmFtZSBmcm9tIFNVTU1BUllfJHtQTn0tZGJnIGRhdGEucHk6
MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtTVU1NQVJZfSAtIERlYnVnZ2luZyBmaWxlcyIKIyAg
IG92ZXJyaWRlW2V4YW1wbGUtZGV2XTpzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjI0OAojICAgICAiJHtTVU1NQVJZfSAtIERldmVsb3BtZW50IGZpbGVzIgojICAg
b3ZlcnJpZGVbZXhhbXBsZS1kZXZdOnJlbmFtZSBmcm9tIFNVTU1BUllfJHtQTn0tZGV2IGRhdGEu
cHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtTVU1NQVJZfSAtIERldmVsb3BtZW50IGZpbGVz
IgojICAgb3ZlcnJpZGVbZXhhbXBsZS1kb2NdOnNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6MjU3CiMgICAgICIke1NVTU1BUll9IC0gRG9jdW1lbnRhdGlvbiBmaWxl
cyIKIyAgIG92ZXJyaWRlW2V4YW1wbGUtZG9jXTpyZW5hbWUgZnJvbSBTVU1NQVJZXyR7UE59LWRv
YyBkYXRhLnB5OjEwNCBbZXhwYW5kS2V5c10KIyAgICAgIiR7U1VNTUFSWX0gLSBEb2N1bWVudGF0
aW9uIGZpbGVzIgojICAgb3ZlcnJpZGVbZXhhbXBsZS1zcmNdOnNldD8gL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjQwCiMgICAgICIke1NVTU1BUll9IC0gU291cmNlIGZp
bGVzIgojICAgb3ZlcnJpZGVbZXhhbXBsZS1zcmNdOnJlbmFtZSBmcm9tIFNVTU1BUllfJHtQTn0t
c3JjIGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtTVU1NQVJZfSAtIFNvdXJjZSBm
aWxlcyIKIyAgIG92ZXJyaWRlW2V4YW1wbGUtc3RhdGljZGV2XTpzZXQ/IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI1MwojICAgICAiJHtTVU1NQVJZfSAtIERldmVsb3Bt
ZW50IGZpbGVzIChTdGF0aWMgTGlicmFyaWVzKSIKIyAgIG92ZXJyaWRlW2V4YW1wbGUtc3RhdGlj
ZGV2XTpyZW5hbWUgZnJvbSBTVU1NQVJZXyR7UE59LXN0YXRpY2RldiBkYXRhLnB5OjEwNCBbZXhw
YW5kS2V5c10KIyAgICAgIiR7U1VNTUFSWX0gLSBEZXZlbG9wbWVudCBmaWxlcyAoU3RhdGljIExp
YnJhcmllcykiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJiaXRiYWtlLWxheWVycyByZWNp
cGUiClNVTU1BUlk9ImJpdGJha2UtbGF5ZXJzIHJlY2lwZSIKIwojICRTVU1NQVJZX2V4YW1wbGUt
ZGJnIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjI0NAojICAgICAiJHtTVU1NQVJZfSAtIERlYnVnZ2luZyBmaWxlcyIKIyAgIHJl
bmFtZSBmcm9tIFNVTU1BUllfJHtQTn0tZGJnIGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAg
ICAiJHtTVU1NQVJZfSAtIERlYnVnZ2luZyBmaWxlcyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIiR7U1VNTUFSWX0gLSBEZWJ1Z2dpbmcgZmlsZXMiClNVTU1BUllfZXhhbXBsZS1kYmc9ImJp
dGJha2UtbGF5ZXJzIHJlY2lwZSAtIERlYnVnZ2luZyBmaWxlcyIKIwojICRTVU1NQVJZX2V4YW1w
bGUtZGV2IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjI0OAojICAgICAiJHtTVU1NQVJZfSAtIERldmVsb3BtZW50IGZpbGVzIgoj
ICAgcmVuYW1lIGZyb20gU1VNTUFSWV8ke1BOfS1kZXYgZGF0YS5weToxMDQgW2V4cGFuZEtleXNd
CiMgICAgICIke1NVTU1BUll9IC0gRGV2ZWxvcG1lbnQgZmlsZXMiCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIke1NVTU1BUll9IC0gRGV2ZWxvcG1lbnQgZmlsZXMiClNVTU1BUllfZXhhbXBs
ZS1kZXY9ImJpdGJha2UtbGF5ZXJzIHJlY2lwZSAtIERldmVsb3BtZW50IGZpbGVzIgojCiMgJFNV
TU1BUllfZXhhbXBsZS1kb2MgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjU3CiMgICAgICIke1NVTU1BUll9IC0gRG9jdW1lbnRh
dGlvbiBmaWxlcyIKIyAgIHJlbmFtZSBmcm9tIFNVTU1BUllfJHtQTn0tZG9jIGRhdGEucHk6MTA0
IFtleHBhbmRLZXlzXQojICAgICAiJHtTVU1NQVJZfSAtIERvY3VtZW50YXRpb24gZmlsZXMiCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1NVTU1BUll9IC0gRG9jdW1lbnRhdGlvbiBmaWxl
cyIKU1VNTUFSWV9leGFtcGxlLWRvYz0iYml0YmFrZS1sYXllcnMgcmVjaXBlIC0gRG9jdW1lbnRh
dGlvbiBmaWxlcyIKIwojICRTVU1NQVJZX2V4YW1wbGUtc3JjIFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI0MAojICAgICAiJHtT
VU1NQVJZfSAtIFNvdXJjZSBmaWxlcyIKIyAgIHJlbmFtZSBmcm9tIFNVTU1BUllfJHtQTn0tc3Jj
IGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAgICAiJHtTVU1NQVJZfSAtIFNvdXJjZSBmaWxl
cyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7U1VNTUFSWX0gLSBTb3VyY2UgZmlsZXMi
ClNVTU1BUllfZXhhbXBsZS1zcmM9ImJpdGJha2UtbGF5ZXJzIHJlY2lwZSAtIFNvdXJjZSBmaWxl
cyIKIwojICRTVU1NQVJZX2V4YW1wbGUtc3RhdGljZGV2IFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI1MwojICAgICAiJHtTVU1N
QVJZfSAtIERldmVsb3BtZW50IGZpbGVzIChTdGF0aWMgTGlicmFyaWVzKSIKIyAgIHJlbmFtZSBm
cm9tIFNVTU1BUllfJHtQTn0tc3RhdGljZGV2IGRhdGEucHk6MTA0IFtleHBhbmRLZXlzXQojICAg
ICAiJHtTVU1NQVJZfSAtIERldmVsb3BtZW50IGZpbGVzIChTdGF0aWMgTGlicmFyaWVzKSIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7U1VNTUFSWX0gLSBEZXZlbG9wbWVudCBmaWxlcyAo
U3RhdGljIExpYnJhcmllcykiClNVTU1BUllfZXhhbXBsZS1zdGF0aWNkZXY9ImJpdGJha2UtbGF5
ZXJzIHJlY2lwZSAtIERldmVsb3BtZW50IGZpbGVzIChTdGF0aWMgTGlicmFyaWVzKSIKIwojICRT
Vk5ESVIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29u
ZjozOTUKIyAgICAgW2RvY10gIlRoZSBkaXJlY3Rvcnkgd2hlcmUgU3VidmVyc2lvbiBjaGVja291
dHMgd2lsbCBiZSBzdG9yZWQuIgojCiMgJFNZU0xJTlVYX0RFRkFVTFRfQ09OU09MRQojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM5NgojICAgICBb
ZG9jXSAiU3BlY2lmaWVzIHRoZSBrZXJuZWwgYm9vdCBkZWZhdWx0IGNvbnNvbGUuIgojCiMgJFNZ
U0xJTlVYX09QVFMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjozOTcKIyAgICAgW2RvY10gIkxpc3RzIGFkZGl0aW9uYWwgb3B0aW9ucyB0byBhZGQg
dG8gdGhlIHN5c2xpbnV4IGZpbGUuIgojCiMgJFNZU0xJTlVYX1NFUklBTAojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjM5OAojICAgICBbZG9jXSAi
U3BlY2lmaWVzIHRoZSBhbHRlcm5hdGUgc2VyaWFsIHBvcnQgb3IgdHVybnMgaXQgb2ZmLiIKIwoj
ICRTWVNMSU5VWF9TRVJJQUxfVFRZCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6NDAwCiMgICAgIFtkb2NdICJTcGVjaWZpZXMgdGhlIGFsdGVybmF0
ZSBjb25zb2xlPXR0eS4uLiBrZXJuZWwgYm9vdCBhcmd1bWVudC4iCiMKIyAkU1lTTElOVVhfU1BM
QVNICiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6
Mzk5CiMgICAgIFtkb2NdICJBbiAuTFNTIGZpbGUgdXNlZCBhcyB0aGUgYmFja2dyb3VuZCBmb3Ig
dGhlIFZHQSBib290IG1lbnUgd2hlbiB5b3UgYXJlIHVzaW5nIHRoZSBib290IG1lbnUuIgojCiMg
JFNZU1JPT1RfREVTVERJUgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvc3Rh
Z2luZy5iYmNsYXNzOjkzCiMgICAgICIke1dPUktESVJ9L3N5c3Jvb3QtZGVzdGRpciIKU1lTUk9P
VF9ERVNURElSPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1s
aW51eC9leGFtcGxlLzAuMS1yMC9zeXNyb290LWRlc3RkaXIiCiMKIyAkU1lTUk9PVF9ESVJTIFs0
IG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9zdGFnaW5n
LmJiY2xhc3M6OAojICAgICAiICAgICAke2luY2x1ZGVkaXJ9ICAgICAke2xpYmRpcn0gICAgICR7
YmFzZV9saWJkaXJ9ICAgICAke25vbmFyY2hfYmFzZV9saWJkaXJ9ICAgICAke2RhdGFkaXJ9ICIK
IyAgIF9hcHBlbmRbY2xhc3MtbmF0aXZlXSAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3N0
YWdpbmcuYmJjbGFzczoyMQojICAgICAiICR7U1lTUk9PVF9ESVJTX05BVElWRX0iCiMgICBfYXBw
ZW5kW2NsYXNzLWNyb3NzXSAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJj
bGFzczoyMgojICAgICAiICR7U1lTUk9PVF9ESVJTX05BVElWRX0iCiMgICBfYXBwZW5kW2NsYXNz
LWNyb3Nzc2RrXSAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzczoy
MwojICAgICAiICR7U1lTUk9PVF9ESVJTX05BVElWRX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIgICAgICR7aW5jbHVkZWRpcn0gICAgICR7bGliZGlyfSAgICAgJHtiYXNlX2xpYmRpcn0g
ICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0gICAgICR7ZGF0YWRpcn0gIgpTWVNST09UX0RJUlM9
IiAgICAgL3Vzci9pbmNsdWRlICAgICAvdXNyL2xpYiAgICAgL2xpYiAgICAgL2xpYiAgICAgL3Vz
ci9zaGFyZSAiCiMKIyAkU1lTUk9PVF9ESVJTX0JMQUNLTElTVAojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjM2CiMgICAgICIgICAgICR7bWFuZGly
fSAgICAgJHtkb2NkaXJ9ICAgICAke2luZm9kaXJ9ICAgICAke2RhdGFkaXJ9L2FwcGxpY2F0aW9u
cyAgICAgJHtkYXRhZGlyfS9mb250cyAgICAgJHtkYXRhZGlyfS9ndGstZG9jL2h0bWwgICAgICR7
ZGF0YWRpcn0vbG9jYWxlICAgICAke2RhdGFkaXJ9L3BpeG1hcHMgICAgICR7bGliZGlyfS8ke1BO
fS9wdGVzdCAiClNZU1JPT1RfRElSU19CTEFDS0xJU1Q9IiAgICAgL3Vzci9zaGFyZS9tYW4gICAg
IC91c3Ivc2hhcmUvZG9jICAgICAvdXNyL3NoYXJlL2luZm8gICAgIC91c3Ivc2hhcmUvYXBwbGlj
YXRpb25zICAgICAvdXNyL3NoYXJlL2ZvbnRzICAgICAvdXNyL3NoYXJlL2d0ay1kb2MvaHRtbCAg
ICAgL3Vzci9zaGFyZS9sb2NhbGUgICAgIC91c3Ivc2hhcmUvcGl4bWFwcyAgICAgL3Vzci9saWIv
ZXhhbXBsZS9wdGVzdCAiCiMKIyAkU1lTUk9PVF9ESVJTX05BVElWRQojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzOjIwCiMgICAgICIgICAgICR7Ymlu
ZGlyfSAgICAgJHtzYmluZGlyfSAgICAgJHtiYXNlX2JpbmRpcn0gICAgICR7YmFzZV9zYmluZGly
fSAgICAgJHtsaWJleGVjZGlyfSAgICAgJHtzeXNjb25mZGlyfSAgICAgJHtsb2NhbHN0YXRlZGly
fSAiClNZU1JPT1RfRElSU19OQVRJVkU9IiAgICAgL3Vzci9iaW4gICAgIC91c3Ivc2JpbiAgICAg
L2JpbiAgICAgL3NiaW4gICAgIC91c3IvbGliZXhlYyAgICAgL2V0YyAgICAgL3ZhciAiCiMKIyAk
U1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDAxCiMgICAgIFtkb2NdICJBIGxp
c3Qgb2YgZnVuY3Rpb25zIHRvIGV4ZWN1dGUgYWZ0ZXIgZmlsZXMgYXJlIHN0YWdlZCBpbnRvIHRo
ZSBzeXNyb290LiBUaGVzZSBmdW5jdGlvbnMgYXJlIHVzdWFsbHkgdXNlZCB0byBhcHBseSBhZGRp
dGlvbmFsIHByb2Nlc3Npbmcgb24gdGhlIHN0YWdlZCBmaWxlcywgb3IgdG8gc3RhZ2UgYWRkaXRp
b25hbCBmaWxlcy4iCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2lu
Zy5iYmNsYXNzOjkyCiMgICAgICIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIiClNZU1JP
T1RfUFJFUFJPQ0VTU19GVU5DUz0iIgojCiMgJFNZU1RFTURfQVVUT19FTkFCTEUKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MDIKIyAgICAgW2Rv
Y10gIkZvciByZWNpcGVzIHRoYXQgaW5oZXJpdCB0aGUgc3lzdGVtZCBjbGFzcywgdGhpcyB2YXJp
YWJsZSBzcGVjaWZpZXMgd2hldGhlciB0aGUgc2VydmljZSB5b3UgaGF2ZSBzcGVjaWZpZWQgaW4g
U1lTVEVNRF9TRVJWSUNFIHNob3VsZCBiZSBzdGFydGVkIGF1dG9tYXRpY2FsbHkgb3Igbm90LiIK
IwojICRTWVNURU1EX1BBQ0tBR0VTCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6NDAzCiMgICAgIFtkb2NdICJGb3IgcmVjaXBlcyB0aGF0IGluaGVy
aXQgdGhlIHN5c3RlbWQgY2xhc3MsIHRoaXMgdmFyaWFibGUgbG9jYXRlcyB0aGUgc3lzdGVtZCB1
bml0IGZpbGVzIHdoZW4gdGhleSBhcmUgbm90IGZvdW5kIGluIHRoZSBtYWluIHJlY2lwZSdzIHBh
Y2thZ2UuIgojCiMgJFNZU1RFTURfU0VSVklDRQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQwNAojICAgICBbZG9jXSAiRm9yIHJlY2lwZXMgdGhh
dCBpbmhlcml0IHRoZSBzeXN0ZW1kIGNsYXNzLCB0aGlzIHZhcmlhYmxlIHNwZWNpZmllcyB0aGUg
c3lzdGVtZCBzZXJ2aWNlIG5hbWUgZm9yIGEgcGFja2FnZS4iCiMKIyAkU1lTVklOSVRfRU5BQkxF
RF9HRVRUWVMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24u
Y29uZjo0MDUKIyAgICAgW2RvY10gIlNwZWNpZmllcyB3aGljaCB2aXJ0dWFsIHRlcm1pbmFscyBz
aG91bGQgYmUgcnVubmluZyBhIGdldHR5LCB0aGUgZGVmYXVsdCBpcyAnMScuIgojCiMgJFQgWzMg
b3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZjozNjkKIyAgICAgIiR7V09SS0RJUn0vdGVtcCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MDkKIyAgICAgW2RvY10gIlRoaXMgdmFyaWFibGUg
cG9pbnRzIHRvIGEgZGlyZWN0b3J5IHdlcmUgQml0QmFrZSBwbGFjZXMgdGVtcG9yYXJ5IGZpbGVz
LCB3aGljaCBjb25zaXN0IG1vc3RseSBvZiB0YXNrIGxvZ3MgYW5kIHNjcmlwdHMsIHdoZW4gYnVp
bGRpbmcgYSBwYXJ0aWN1bGFyIHJlY2lwZS4iCiMgICBvdmVycmlkZVt0YXNrLWNsZWFuXTpzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy91dGlsaXR5LXRhc2tzLmJiY2xhc3M6MjIKIyAg
ICAgIiR7TE9HX0RJUn0vY2xlYW5sb2dzLyR7UE59IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMg
ICAiJHtXT1JLRElSfS90ZW1wIgpUPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29y
ZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC90ZW1wIgojCiMgJFRBUkdFVF9BUkNIIFsz
IG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6MTI5CiMgICAgICIke1RVTkVfQVJDSH0iCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDEwCiMgICAgIFtkb2NdICJUaGUgYXJjaGl0ZWN0dXJl
IG9mIHRoZSBkZXZpY2UgYmVpbmcgYnVpbHQuIFRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVt
IHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgYXJjaGl0ZWN0dXJlczogYXJtLCBtaXBzLCBwcGMsIHg4
NiwgeDg2LTY0LiIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo4NDkKIyAgICAgW3VuZXhwb3J0XSAiMSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7
VFVORV9BUkNIfSIKdW5zZXQgVEFSR0VUX0FSQ0gKIwojICRUQVJHRVRfQVNfQVJDSAojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEzNgojICAgICAiJHtUVU5F
X0FTQVJHU30iClRBUkdFVF9BU19BUkNIPSIgIgojCiMgJFRBUkdFVF9DQ19BUkNIIFs2IG9wZXJh
dGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTM0
CiMgICAgICIke1RVTkVfQ0NBUkdTfSIKIyAgIF9hcHBlbmRbY2xhc3MtdGFyZ2V0XSAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzo1OAoj
ICAgICAiICR7U0VDVVJJVFlfQ0ZMQUdTfSIKIyAgIF9hcHBlbmRbcG4tYmludXRpbHNdIC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxhZ3MuaW5jOjY4
CiMgICAgICIgJHtTRUxFQ1RFRF9PUFRJTUlaQVRJT059IgojICAgX2FwcGVuZFtwbi1nY2NdIC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxhZ3MuaW5j
OjY5CiMgICAgICIgJHtTRUxFQ1RFRF9PUFRJTUlaQVRJT059IgojICAgX2FwcGVuZFtwbi1nZGJd
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvc2VjdXJpdHlfZmxhZ3Mu
aW5jOjcwCiMgICAgICIgJHtTRUxFQ1RFRF9PUFRJTUlaQVRJT059IgojICAgX2FwcGVuZFtwbi1w
ZXJmXSAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2Zs
YWdzLmluYzo3MQojICAgICAiICR7U0VMRUNURURfT1BUSU1JWkFUSU9OfSIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgIiR7VFVORV9DQ0FSR1N9ICR7U0VDVVJJVFlfQ0ZMQUdTfSIKVEFSR0VU
X0NDX0FSQ0g9IiAtbTY0IC1tYXJjaD1jb3JlMiAtbXR1bmU9Y29yZTIgLW1zc2UzIC1tZnBtYXRo
PXNzZSAtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcgIC1EX0ZPUlRJRllfU09VUkNFPTIgLVdmb3Jt
YXQgLVdmb3JtYXQtc2VjdXJpdHkgLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkiCiMKIyAkVEFSR0VU
X0NGTEFHUyBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjU3MQojICAgICAiJHtUQVJHRVRfQ1BQRkxBR1N9ICR7U0VMRUNURURfT1BU
SU1JWkFUSU9OfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjo0MTEKIyAgICAgW2RvY10gIkZsYWdzIHBhc3NlZCB0byB0aGUgQyBjb21waWxlciBm
b3IgdGhlIHRhcmdldCBzeXN0ZW0uIFRoaXMgdmFyaWFibGUgZXZhbHVhdGVzIHRvIHRoZSBzYW1l
IGFzIENGTEFHUy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke1RBUkdFVF9DUFBGTEFH
U30gJHtTRUxFQ1RFRF9PUFRJTUlaQVRJT059IgpUQVJHRVRfQ0ZMQUdTPSIgLU8yIC1waXBlIC1n
IC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtZm1hY3JvLXByZWZpeC1tYXA9L2hvbWUv
dXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEt
cjA9L3Vzci9zcmMvZGVidWcvZXhhbXBsZS8wLjEtcjAgICAgICAgICAgICAgICAgICAgICAgLWZk
ZWJ1Zy1wcmVmaXgtbWFwPS9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1w
b2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwPS91c3Ivc3JjL2RlYnVnL2V4YW1wbGUvMC4xLXIwICAg
ICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJlZml4LW1hcD0vaG9tZS91c2VyL3Bva3kvYnVp
bGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lz
cm9vdD0gICAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPS9ob21lL3VzZXIv
cG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3Jl
Y2lwZS1zeXNyb290LW5hdGl2ZT0gIgojCiMgJFRBUkdFVF9DUFBGTEFHUwojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU2NgojICAgICAiIgpUQVJHRVRfQ1BQ
RkxBR1M9IiIKIwojICRUQVJHRVRfQ1hYRkxBR1MKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjo1NzYKIyAgICAgIiR7VEFSR0VUX0NGTEFHU30iClRBUkdFVF9D
WFhGTEFHUz0iIC1PMiAtcGlwZSAtZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMgLWZt
YWNyby1wcmVmaXgtbWFwPS9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1w
b2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwPS91c3Ivc3JjL2RlYnVnL2V4YW1wbGUvMC4xLXIwICAg
ICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJlZml4LW1hcD0vaG9tZS91c2VyL3Bva3kvYnVp
bGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMD0vdXNyL3NyYy9k
ZWJ1Zy9leGFtcGxlLzAuMS1yMCAgICAgICAgICAgICAgICAgICAgICAtZmRlYnVnLXByZWZpeC1t
YXA9L2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhh
bXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3Q9ICAgICAgICAgICAgICAgICAgICAgIC1mZGVidWct
cHJlZml4LW1hcD0vaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1s
aW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmU9ICIKIwojICRUQVJHRVRf
RlBVIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFj
aGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6NgojICAgICAiIgojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQxMgojICAgICBbZG9jXSAiU3Bl
Y2lmaWVzIHRoZSBtZXRob2QgZm9yIGhhbmRsaW5nIEZQVSBjb2RlLiBGb3IgRlBVLWxlc3MgdGFy
Z2V0cywgd2hpY2ggaW5jbHVkZSBtb3N0IEFSTSBDUFVzLCB0aGUgdmFyaWFibGUgbXVzdCBiZSBz
ZXQgdG8gJ3NvZnQnLiBJZiBub3QsIHRoZSBrZXJuZWwgZW11bGF0aW9uIGdldHMgdXNlZCwgd2hp
Y2ggcmVzdWx0cyBpbiBhIHBlcmZvcm1hbmNlIHBlbmFsdHkuIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiIgpUQVJHRVRfRlBVPSIiCiMKIyAkVEFSR0VUX0xERkxBR1MgWzIgb3BlcmF0aW9u
c10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1OTgKIyAg
ICAgIi1XbCwtTzEgJHtUQVJHRVRfTElOS19IQVNIX1NUWUxFfSAke0FTTkVFREVEfSIKIyAgIF9h
cHBlbmRbY2xhc3MtdGFyZ2V0XSAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL3NlY3VyaXR5X2ZsYWdzLmluYzo1OQojICAgICAiICR7U0VDVVJJVFlfTERGTEFHU30iCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICItV2wsLU8xICR7VEFSR0VUX0xJTktfSEFTSF9TVFlM
RX0gJHtBU05FRURFRH0gJHtTRUNVUklUWV9MREZMQUdTfSIKVEFSR0VUX0xERkxBR1M9Ii1XbCwt
TzEgLVdsLC0taGFzaC1zdHlsZT1nbnUgLVdsLC0tYXMtbmVlZGVkIC1mc3RhY2stcHJvdGVjdG9y
LXN0cm9uZyAtV2wsLXoscmVscm8sLXosbm93IgojCiMgJFRBUkdFVF9MRF9BUkNICiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTM1CiMgICAgICIke1RVTkVf
TERBUkdTfSIKVEFSR0VUX0xEX0FSQ0g9IiAiCiMKIyAkVEFSR0VUX0xJTktfSEFTSF9TVFlMRQoj
ICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1OTMKIyAgICAg
IiR7QFsnLVdsLC0taGFzaC1zdHlsZT1nbnUnLCcnXVtkLmdldFZhcignTElOS0VSX0hBU0hfU1RZ
TEUnKSAhPSAnZ251J119IgpUQVJHRVRfTElOS19IQVNIX1NUWUxFPSItV2wsLS1oYXNoLXN0eWxl
PWdudSIKIwojICRUQVJHRVRfT1MgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMzAKIyAgICAgImxpbnV4JHtMSUJDRVhURU5TSU9O
fSR7QUJJRVhURU5TSU9OfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjo0MTMKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgdGFyZ2V0J3Mgb3Bl
cmF0aW5nIHN5c3RlbS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJsaW51eCR7TElCQ0VY
VEVOU0lPTn0ke0FCSUVYVEVOU0lPTn0iClRBUkdFVF9PUz0ibGludXgiCiMKIyAkVEFSR0VUX1BS
RUZJWCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjEzMwojICAgICAiJHtUQVJHRVRfU1lTfS0iCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDE0CiMgICAgIFtkb2NdICJUaGUgcHJl
Zml4IGZvciB0aGUgY3Jvc3MtY29tcGlsZSB0b29sY2hhaW4gKGUuZy4gYXJtLWxpbnV4LSkuIgoj
IHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtUQVJHRVRfU1lTfS0iClRBUkdFVF9QUkVGSVg9
Ing4Nl82NC1wb2t5LWxpbnV4LSIKIwojICRUQVJHRVRfU1lTIFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTMyCiMgICAgICIke1RB
UkdFVF9BUkNIfSR7VEFSR0VUX1ZFTkRPUn0ke0BbJy0nICsgZC5nZXRWYXIoJ1RBUkdFVF9PUycp
LCAnJ11bZC5nZXRWYXIoJ1RBUkdFVF9PUycpID09ICgnJyBvciAnY3VzdG9tJyldfSIKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MTUKIyAgICAg
W2RvY10gIlRoZSB0YXJnZXQgc3lzdGVtIGlzIGNvbXByaXNlZCBvZiBUQVJHRVRfQVJDSCxUQVJH
RVRfVkVORE9SIGFuZCBUQVJHRVRfT1MuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtU
QVJHRVRfQVJDSH0ke1RBUkdFVF9WRU5ET1J9JHtAWyctJyArIGQuZ2V0VmFyKCdUQVJHRVRfT1Mn
KSwgJyddW2QuZ2V0VmFyKCdUQVJHRVRfT1MnKSA9PSAoJycgb3IgJ2N1c3RvbScpXX0iClRBUkdF
VF9TWVM9Ing4Nl82NC1wb2t5LWxpbnV4IgojCiMgJFRBUkdFVF9WRU5ET1IgWzIgb3BlcmF0aW9u
c10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMzEKIyAg
ICAgIi1vZSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bv
a3kuY29uZjoxMAojICAgICAiLXBva3kiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICItcG9r
eSIKVEFSR0VUX1ZFTkRPUj0iLXBva3kiCiMKIyAkVENMSUJDIFsyIG9wZXJhdGlvbnNdCiMgICBz
ZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mOjkK
IyAgICAgImdsaWJjIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjQxNgojICAgICBbZG9jXSAiU3BlY2lmaWVzIEMgbGlicmFyeSAobGliYykgdmFy
aWFudCB0byB1c2UgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLiBZb3UgY2FuIHNlbGVjdCAnYmFy
ZW1ldGFsJywgJ2dsaWJjJywgJ211c2wnIG9yICduZXdsaWInLiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgImdsaWJjIgpUQ0xJQkM9ImdsaWJjIgojCiMgJFRDTElCQ0FQUEVORCBbMiBvcGVy
YXRpb25zXQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9r
eS5jb25mOjQwCiMgICAgICIiCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlz
dHJvL2RlZmF1bHRzZXR1cC5jb25mOjE1CiMgICAgICItJHtUQ0xJQkN9IgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiIgpUQ0xJQkNBUFBFTkQ9IiIKIwojICRUQ01PREUgWzIgb3BlcmF0aW9u
c10KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVw
LmNvbmY6NgojICAgICAiZGVmYXVsdCIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjo0MTcKIyAgICAgW2RvY10gIkVuYWJsZXMgYW4gZXh0ZXJuYWwg
dG9vbGNoYWluICh3aGVyZSBwcm92aWRlZCBieSBhbiBhZGRpdGlvbmFsIGxheWVyKSBpZiBzZXQg
dG8gYSB2YWx1ZSBvdGhlciB0aGFuICdkZWZhdWx0Jy4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICJkZWZhdWx0IgpUQ01PREU9ImRlZmF1bHQiCiMKIyAkVEVSTSBbMiBvcGVyYXRpb25zXQoj
ICAgZnJvbSBlbnYgZGF0YS5weToxMTIgW2luaGVyaXRGcm9tT1NdCiMgICAgICJzY3JlZW4tMjU2
Y29sb3IiCiMgICBhdXRvIGVudiBleHBvcnQgZGF0YS5weToxMTQgW2luaGVyaXRGcm9tT1NdCiMg
ICAgIFtleHBvcnRdICJUcnVlIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAic2NyZWVuLTI1
NmNvbG9yIgpleHBvcnQgVEVSTT0ic2NyZWVuLTI1NmNvbG9yIgojCiMgJFRFU1RJTUFHRV9BVVRP
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDE4
CiMgICAgIFtkb2NdICJFbmFibGVzIHRlc3QgYm9vdGluZyBvZiB2aXJ0dWFsIG1hY2hpbmUgaW1h
Z2VzIHVuZGVyIHRoZSBRRU1VIGVtdWxhdG9yIGFmdGVyIGFueSByb290IGZpbGVzeXN0ZW1zIGFy
ZSBjcmVhdGVkIGFuZCBydW5zIHRlc3RzIGFnYWluc3QgdGhvc2UgaW1hZ2VzIGVhY2ggdGltZSBh
biBpbWFnZSBpcyBidWlsdC4iCiMKIyAkVEVTVF9QT1dFUkNPTlRST0xfQ01ECiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDIxCiMgICAgIFtkb2Nd
ICJGb3IgYXV0b21hdGVkIGhhcmR3YXJlIHRlc3RpbmcsIHNwZWNpZmllcyB0aGUgY29tbWFuZCB0
byB1c2UgdG8gY29udHJvbCB0aGUgcG93ZXIgb2YgdGhlIHRhcmdldCBtYWNoaW5lIHVuZGVyIHRl
c3QiCiMKIyAkVEVTVF9QT1dFUkNPTlRST0xfRVhUUkFfQVJHUwojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQyMgojICAgICBbZG9jXSAiRm9yIGF1
dG9tYXRlZCBoYXJkd2FyZSB0ZXN0aW5nLCBzcGVjaWZpZXMgYWRkaXRpb25hbCBhcmd1bWVudHMg
dG8gcGFzcyB0aHJvdWdoIHRvIHRoZSBjb21tYW5kIHNwZWNpZmllZCBpbiBURVNUX1BPV0VSQ09O
VFJPTF9DTUQiCiMKIyAkVEVTVF9RRU1VQk9PVF9USU1FT1VUCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDE5CiMgICAgIFtkb2NdICJUaGUgdGlt
ZSBpbiBzZWNvbmRzIGFsbG93ZWQgZm9yIGFuIGltYWdlIHRvIGJvb3QgYmVmb3JlIGF1dG9tYXRl
ZCBydW50aW1lIHRlc3RzIGJlZ2luIHRvIHJ1biBhZ2FpbnN0IGFuIGltYWdlLiIKIwojICRURVNU
X1NFUklBTENPTlRST0xfQ01ECiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6NDIzCiMgICAgIFtkb2NdICJGb3IgYXV0b21hdGVkIGhhcmR3YXJlIHRl
c3RpbmcsIHNwZWNpZmllcyB0aGUgY29tbWFuZCB0byB1c2UgdG8gY29ubmVjdCB0byB0aGUgc2Vy
aWFsIGNvbnNvbGUgb2YgdGhlIHRhcmdldCBtYWNoaW5lIHVuZGVyIHRlc3QiCiMKIyAkVEVTVF9T
RVJJQUxDT05UUk9MX0VYVFJBX0FSR1MKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjo0MjQKIyAgICAgW2RvY10gIkZvciBhdXRvbWF0ZWQgaGFyZHdh
cmUgdGVzdGluZywgc3BlY2lmaWVzIGFkZGl0aW9uYWwgYXJndW1lbnRzIHRvIHBhc3MgdGhyb3Vn
aCB0byB0aGUgY29tbWFuZCBzcGVjaWZpZWQgaW4gVEVTVF9TRVJJQUxDT05UUk9MX0NNRCIKIwoj
ICRURVNUX1NVSVRFUwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjQyMAojICAgICBbZG9jXSAiQW4gb3JkZXJlZCBsaXN0IG9mIHRlc3RzIChtb2R1
bGVzKSB0byBydW4gYWdhaW5zdCBhbiBpbWFnZSB3aGVuIHBlcmZvcm1pbmcgYXV0b21hdGVkIHJ1
bnRpbWUgdGVzdGluZy4iCiMKIyAkVEVTVF9UQVJHRVQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MjUKIyAgICAgW2RvY10gIkZvciBhdXRvbWF0
ZWQgcnVudGltZSB0ZXN0aW5nLCBzcGVjaWZpZXMgdGhlIG1ldGhvZCBvZiBkZXBsb3lpbmcgdGhl
IGltYWdlIGFuZCBydW5uaW5nIHRlc3RzIG9uIHRoZSB0YXJnZXQgbWFjaGluZSIKIwojICRUSElT
RElSIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1
bWVudGF0aW9uLmNvbmY6NDI2CiMgICAgIFtkb2NdICJUaGUgZGlyZWN0b3J5IGluIHdoaWNoIHRo
ZSBmaWxlIEJpdEJha2UgaXMgY3VycmVudGx5IHBhcnNpbmcgaXMgbG9jYXRlZC4iCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3M6ODUKIyAgICAgIiR7QG9z
LnBhdGguZGlybmFtZShkLmdldFZhcignRklMRScpKX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICIke0Bvcy5wYXRoLmRpcm5hbWUoZC5nZXRWYXIoJ0ZJTEUnKSl9IgpUSElTRElSPSIvaG9t
ZS91c2VyL3Bva3kvYnVpbGQvY3VzdG9tX2xheWVyL3JlY2lwZXMtZXhhbXBsZS9leGFtcGxlIgoj
CiMgJFRJTUUgWzIgb3BlcmF0aW9uc10KIyAgIGltbWVkaWF0ZSAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjoxNjUKIyAgICAgIiR7QHRpbWUuc3RyZnRpbWUoJyVIJU0lUycs
dGltZS5nbXRpbWUoKSl9IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjQyNwojICAgICBbZG9jXSAiVGhlIHRpbWUgdGhlIGJ1aWxkIHdhcyBzdGFy
dGVkIHVzaW5nIEhNUyBmb3JtYXQuIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiMTExNTA5
IgpUSU1FPSIxMTE1MDkiCiMKIyAkVE1QRElSIFs0IG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM1OAojICAgICAiJHtUT1BESVJ9L3Rt
cCIKIyAgIHBvc3Rkb3QgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vZGVmYXVsdHNl
dHVwLmNvbmY6MTYKIyAgICAgIiR7VENMSUJDQVBQRU5EfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MjgKIyAgICAgW2RvY10gIlRoZSB0ZW1w
b3JhcnkgZGlyZWN0b3J5IHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHVzZXMgd2hlbiBp
dCBkb2VzIGl0cyB3b3JrIGJ1aWxkaW5nIGltYWdlcy4gQnkgZGVmYXVsdCwgdGhlIFRNUERJUiB2
YXJpYWJsZSBpcyBuYW1lZCB0bXAgd2l0aGluIHRoZSBCdWlsZCBEaXJlY3RvcnkuIgojICAgc2V0
IGNhY2hlLnB5OjI4NCBbcGFyc2VfcmVjaXBlXQojICAgICAiL2hvbWUvdXNlci9wb2t5L2J1aWxk
L3RtcCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIi9ob21lL3VzZXIvcG9reS9idWlsZC90
bXAiClRNUERJUj0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcCIKIwojICRUT09MQ0hBSU5fSE9T
VF9UQVNLCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNv
bmY6NDI5CiMgICAgIFtkb2NdICJUaGlzIHZhcmlhYmxlIGxpc3RzIHBhY2thZ2VzIHRoZSBPcGVu
RW1iZWRkZWQgYnVpbGQgc3lzdGVtIHVzZXMgd2hlbiBidWlsZGluZyBhbiBTREssIHdoaWNoIGNv
bnRhaW5zIGEgY3Jvc3MtZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQuIgojCiMgJFRPT0xDSEFJTl9P
UFRJT05TCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTE2
CiMgICAgICIgLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSIKVE9PTENIQUlOX09QVElP
TlM9IiAtLXN5c3Jvb3Q9L2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBv
a3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3QiCiMKIyAkVE9PTENIQUlOX1RB
UkdFVF9UQVNLCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9u
LmNvbmY6NDMwCiMgICAgIFtkb2NdICJUaGlzIHZhcmlhYmxlIGxpc3RzIHBhY2thZ2VzIHRoZSBP
cGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHVzZXMgd2hlbiBpdCBjcmVhdGVzIHRoZSB0YXJnZXQg
cGFydCBvZiBhbiBTREssIHdoaWNoIGluY2x1ZGVzIGxpYnJhcmllcyBhbmQgaGVhZGVycy4iCiMK
IyAkVE9QRElSIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgY29va2VyZGF0YS5weTozNDUgW3BhcnNl
Q29uZmlndXJhdGlvbkZpbGVzXQojICAgICAiL2hvbWUvdXNlci9wb2t5L2J1aWxkIgojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQzMQojICAgICBb
ZG9jXSAiVGhlIEJ1aWxkIERpcmVjdG9yeS4gQml0QmFrZSBhdXRvbWF0aWNhbGx5IHNldHMgdGhp
cyB2YXJpYWJsZS4gVGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gdXNlcyB0aGUgQnVpbGQg
RGlyZWN0b3J5IHdoZW4gYnVpbGRpbmcgaW1hZ2VzLiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIi9ob21lL3VzZXIvcG9reS9idWlsZCIKVE9QRElSPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQi
CiMKIyAkVFJBTlNMQVRFRF9UQVJHRVRfQVJDSCBbMiBvcGVyYXRpb25zXQojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQzMgojICAgICBbZG9jXSAi
QSBzYW5pdGl6ZWQgdmVyc2lvbiBvZiBUQVJHRVRfQVJDSC4gVGhpcyB2YXJpYWJsZSBpcyB1c2Vk
IHdoZXJlIHRoZSBhcmNoaXRlY3R1cmUgaXMgbmVlZGVkIGluIGEgdmFsdWUgd2hlcmUgdW5kZXJz
Y29yZXMgYXJlIG5vdCBhbGxvd2VkLiIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjo4NjEKIyAgICAgW19kZWZhdWx0dmFsXSAiJHtAZC5nZXRWYXIoJ1RBUkdF
VF9BUkNIJykucmVwbGFjZSgiXyIsICItIil9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
JHtAZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJykucmVwbGFjZSgiXyIsICItIil9IgpUUkFOU0xBVEVE
X1RBUkdFVF9BUkNIPSJ4ODYtNjQiCiMKIyAkVFVORUFCSQojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQzNAojICAgICBbZG9jXSAiQW4gdW5kZXJs
eWluZyBBQkkgdXNlZCBieSBhIHBhcnRpY3VsYXIgdHVuaW5nIGluIGEgZ2l2ZW4gdG9vbGNoYWlu
IGxheWVyLiBUaGlzIGZlYXR1cmUgYWxsb3dzIHByb3ZpZGVycyB1c2luZyBwcmVidWlsdCBsaWJy
YXJpZXMgdG8gY2hlY2sgY29tcGF0aWJpbGl0eSBvZiBhIHR1bmluZyBhZ2FpbnN0IHRoZWlyIHNl
bGVjdGlvbiBvZiBsaWJyYXJpZXMuIgojCiMgJFRVTkVBQklfT1ZFUlJJREUKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MzUKIyAgICAgW2RvY10g
IklmIHNldCwgaWdub3JlcyBUVU5FQUJJX1dISVRFTElTVC4iCiMKIyAkVFVORUFCSV9XSElURUxJ
U1QKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0
MzYKIyAgICAgW2RvY10gIkEgd2hpdGVsaXN0IG9mIHBlcm1pc3NpYmxlIFRVTkVBQkkgdmFsdWVz
LiAgSWYgdGhlIHZhcmlhYmxlIGlzIG5vdCBzZXQsIGFsbCB2YWx1ZXMgYXJlIGFsbG93ZWQuIgoj
CiMgJFRVTkVDT05GTElDVFMgWzQgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjE0CiMgICAgIFttMzJd
ICJtNjQgbXgzMiIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5j
bHVkZS94ODYvYXJjaC14ODYuaW5jOjIxCiMgICAgIFtteDMyXSAibTY0IG0zMiIKIyAgIHNldCAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5j
OjMzCiMgICAgIFttNjRdICJtMzIgbXgzMiIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjo0MzcKIyAgICAgW2RvY10gIkxpc3Qgb2YgY29uZmxpY3Rp
bmcgZmVhdHVyZXMgZm9yIGEgZ2l2ZW4gZmVhdHVyZS4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToK
IyAgICJOb25lIgojCiMgJFRVTkVWQUxJRCBbNyBvcGVyYXRpb25zXQojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MTMKIyAg
ICAgW20zMl0gIklBMzIgRUxGMzIgc3RhbmRhcmQgQUJJIgojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MjAKIyAgICAgW214
MzJdICJJQTMyZSAoeDg2XzY0KSBFTEYzMiBzdGFuZGFyZCBBQkkiCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzozMgojICAg
ICBbbTY0XSAiSUEzMmUgKHg4Nl82NCkgRUxGNjQgc3RhbmRhcmQgQUJJIgojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTU4Ni5pbmM6NgojICAg
ICBbaTU4Nl0gIkVuYWJsZSBpNTg2IHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaTY4
Ni5pbmM6MTkKIyAgICAgW2k2ODZdICJFbmFibGUgaTY4NiBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0
aW1pemF0aW9ucyIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5j
bHVkZS90dW5lLWNvcmUyLmluYzoxNQojICAgICBbY29yZTJdICJFbmFibGUgY29yZTIgc3BlY2lm
aWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDM4CiMgICAgIFtkb2NdICJEZXNjcmlwdGlvbnMsIHN0
b3JlZCBhcyBmbGFncywgb2YgdmFsaWQgdHVuaW5nIGZlYXR1cmVzLiIKIyBwcmUtZXhwYW5zaW9u
IHZhbHVlOgojICAgIk5vbmUiCiMKIyAkVFVORV9BUkNIIFs0IG9wZXJhdGlvbnNdCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTE4CiMgICAgIFtfZGVmYXVs
dHZhbF0gIklOVkFMSUQiCiMgICBwb3N0ZG90IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFj
aGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MTUKIyAgICAgIiR7QGJiLnV0aWxzLmNvbnRh
aW5zKCdUVU5FX0ZFQVRVUkVTJywgJ20zMicsICcke1g4NkFSQ0gzMn0nLCAnJyAsZCl9IgojICAg
cG9zdGRvdCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJj
aC14ODYuaW5jOjIyCiMgICAgICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycs
ICdteDMyJywgJyR7WDg2QVJDSDY0fScsICcnICxkKX0iCiMgICBwb3N0ZG90IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MzQKIyAgICAg
IiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ202NCcsICcke1g4NkFSQ0g2
NH0nLCAnJyAsZCl9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtAYmIudXRpbHMuY29u
dGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbTMyJywgJyR7WDg2QVJDSDMyfScsICcnICxkKX0ke0Bi
Yi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdteDMyJywgJyR7WDg2QVJDSDY0fScs
ICcnICxkKX0ke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdtNjQnLCAnJHtY
ODZBUkNINjR9JywgJycgLGQpfSIKVFVORV9BUkNIPSJ4ODZfNjQiCiMKIyAkVFVORV9BU0FSR1Mg
WzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjoxMjIKIyAgICAgW19kZWZhdWx0dmFsXSAiIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MjYKIyAgICAgIiR7
QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ214MzInLCAnLXgzMicsICcnLCBk
KX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RV
TkVfRkVBVFVSRVMnLCAnbXgzMicsICcteDMyJywgJycsIGQpfSIKVFVORV9BU0FSR1M9IiAiCiMK
IyAkVFVORV9DQ0FSR1MgWzggb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjoxMTkKIyAgICAgW19kZWZhdWx0dmFsXSAiIgojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjEyMAojICAgICBbdmFyZGVwdmFs
dWVdICIke1RVTkVfQ0NBUkdTfSIKIyAgIHBvc3Rkb3QgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzoxNgojICAgICAiJHtAYmIudXRpbHMu
Y29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbTMyJywgJyAtbTMyJywgJycsIGQpfSIKIyAgIHBv
c3Rkb3QgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gt
eDg2LmluYzoyNAojICAgICAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAn
bXgzMicsICcgLW14MzInLCAnJywgZCl9IgojICAgcG9zdGRvdCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjM1CiMgICAgICIke0BiYi51
dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdtNjQnLCAnIC1tNjQnLCAnJywgZCl9Igoj
ICAgcG9zdGRvdCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5l
LWk1ODYuaW5jOjcKIyAgICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywg
J2k1ODYnLCAnIC1tYXJjaD1pNTg2JywgJycsIGQpfSIKIyAgIHBvc3Rkb3QgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNjg2LmluYzoyMAojICAgICAiJHtA
YmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnaTY4NicsICcgLW1hcmNoPWk2ODYn
LCAnJywgZCl9IgojICAgcG9zdGRvdCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
aW5jbHVkZS90dW5lLWNvcmUyLmluYzoxNgojICAgICAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RV
TkVfRkVBVFVSRVMnLCAnY29yZTInLCAnIC1tYXJjaD1jb3JlMiAtbXR1bmU9Y29yZTIgLW1zc2Uz
IC1tZnBtYXRoPXNzZScsICcnLCBkKX0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke0Bi
Yi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdtMzInLCAnIC1tMzInLCAnJywgZCl9
JHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbXgzMicsICcgLW14MzInLCAn
JywgZCl9JHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbTY0JywgJyAtbTY0
JywgJycsIGQpfSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2k1ODYnLCAn
IC1tYXJjaD1pNTg2JywgJycsIGQpfSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVT
JywgJ2k2ODYnLCAnIC1tYXJjaD1pNjg2JywgJycsIGQpfSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdU
VU5FX0ZFQVRVUkVTJywgJ2NvcmUyJywgJyAtbWFyY2g9Y29yZTIgLW10dW5lPWNvcmUyIC1tc3Nl
MyAtbWZwbWF0aD1zc2UnLCAnJywgZCl9IgpUVU5FX0NDQVJHUz0iIC1tNjQgLW1hcmNoPWNvcmUy
IC1tdHVuZT1jb3JlMiAtbXNzZTMgLW1mcG1hdGg9c3NlIgojCiMgJFRVTkVfRkVBVFVSRVMgWzkg
b3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
ZjoxMjMKIyAgICAgW19kZWZhdWx0dmFsXSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtJHtERUZBVUxU
VFVORX19IgojICAgb3ZlcnJpZGVbdHVuZS14ODZdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjM5CiMgICAgICJtMzIiCiMgICBv
dmVycmlkZVt0dW5lLXg4Ni02NF06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGlu
ZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6NDUKIyAgICAgIm02NCIKIyAgIG92ZXJyaWRlW3R1
bmUteDg2LTY0LXgzMl06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNs
dWRlL3g4Ni9hcmNoLXg4Ni5pbmM6NTEKIyAgICAgIm14MzIiCiMgICBvdmVycmlkZVt0dW5lLWk1
ODZdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWk1
ODYuaW5jOjExCiMgICAgICIke1RVTkVfRkVBVFVSRVNfdHVuZS14ODZ9IGk1ODYiCiMgICBvdmVy
cmlkZVt0dW5lLWk2ODZdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5j
bHVkZS90dW5lLWk2ODYuaW5jOjI0CiMgICAgICIke1RVTkVfRkVBVFVSRVNfdHVuZS14ODZ9IGk2
ODYiCiMgICBvdmVycmlkZVt0dW5lLWNvcmUyLTMyXTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5pbmM6MjAKIyAgICAgIiR7VFVORV9GRUFU
VVJFU190dW5lLXg4Nn0gY29yZTIiCiMgICBvdmVycmlkZVt0dW5lLWNvcmUyLTY0XTpzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5pbmM6MjcK
IyAgICAgIiR7VFVORV9GRUFUVVJFU190dW5lLXg4Ni02NH0gY29yZTIiCiMgICBvdmVycmlkZVt0
dW5lLWNvcmUyLTY0LXgzMl06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3R1bmUtY29yZTIuaW5jOjM0CiMgICAgICIke1RVTkVfRkVBVFVSRVNfdHVuZS14ODYt
NjQteDMyfSBjb3JlMiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VFVORV9GRUFUVVJF
U190dW5lLSR7REVGQVVMVFRVTkV9fSIKVFVORV9GRUFUVVJFUz0ibTY0IGNvcmUyIgojCiMgJFRV
TkVfRkVBVFVSRVNfdHVuZS1jb3JlMi0zMgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jOjIwCiMgICAgICIke1RVTkVfRkVBVFVS
RVNfdHVuZS14ODZ9IGNvcmUyIgpUVU5FX0ZFQVRVUkVTX3R1bmUtY29yZTItMzI9Im0zMiBjb3Jl
MiIKIwojICRUVU5FX0ZFQVRVUkVTX3R1bmUtY29yZTItNjQKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcmUyLmluYzoyNwojICAgICAiJHtU
VU5FX0ZFQVRVUkVTX3R1bmUteDg2LTY0fSBjb3JlMiIKVFVORV9GRUFUVVJFU190dW5lLWNvcmUy
LTY0PSJtNjQgY29yZTIiCiMKIyAkVFVORV9GRUFUVVJFU190dW5lLWNvcmUyLTY0LXgzMgojICAg
c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIu
aW5jOjM0CiMgICAgICIke1RVTkVfRkVBVFVSRVNfdHVuZS14ODYtNjQteDMyfSBjb3JlMiIKVFVO
RV9GRUFUVVJFU190dW5lLWNvcmUyLTY0LXgzMj0ibXgzMiBjb3JlMiIKIwojICRUVU5FX0ZFQVRV
UkVTX3R1bmUtaTU4NgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3R1bmUtaTU4Ni5pbmM6MTEKIyAgICAgIiR7VFVORV9GRUFUVVJFU190dW5lLXg4Nn0g
aTU4NiIKVFVORV9GRUFUVVJFU190dW5lLWk1ODY9Im0zMiBpNTg2IgojCiMgJFRVTkVfRkVBVFVS
RVNfdHVuZS1pNjg2CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2lu
Y2x1ZGUvdHVuZS1pNjg2LmluYzoyNAojICAgICAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUteDg2fSBp
Njg2IgpUVU5FX0ZFQVRVUkVTX3R1bmUtaTY4Nj0ibTMyIGk2ODYiCiMKIyAkVFVORV9GRUFUVVJF
U190dW5lLXg4NgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNs
dWRlL3g4Ni9hcmNoLXg4Ni5pbmM6MzkKIyAgICAgIm0zMiIKVFVORV9GRUFUVVJFU190dW5lLXg4
Nj0ibTMyIgojCiMgJFRVTkVfRkVBVFVSRVNfdHVuZS14ODYtNjQKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjQ1CiMgICAg
ICJtNjQiClRVTkVfRkVBVFVSRVNfdHVuZS14ODYtNjQ9Im02NCIKIwojICRUVU5FX0ZFQVRVUkVT
X3R1bmUteDg2LTY0LXgzMgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGlu
ZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6NTEKIyAgICAgIm14MzIiClRVTkVfRkVBVFVSRVNf
dHVuZS14ODYtNjQteDMyPSJteDMyIgojCiMgJFRVTkVfTERBUkdTIFsyIG9wZXJhdGlvbnNdCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTIxCiMgICAgIFtf
ZGVmYXVsdHZhbF0gIiIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hp
bmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjI1CiMgICAgICIke0BiYi51dGlscy5jb250YWlu
cygnVFVORV9GRUFUVVJFUycsICdteDMyJywgJy1tIGVsZjMyX3g4Nl82NCcsICcnLCBkKX0iCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVB
VFVSRVMnLCAnbXgzMicsICctbSBlbGYzMl94ODZfNjQnLCAnJywgZCl9IgpUVU5FX0xEQVJHUz0i
ICIKIwojICRUVU5FX1BLR0FSQ0ggWzExIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTQ5CiMgICAgIFtfZGVmYXVsdHZhbF0gIiIKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14
ODYuaW5jOjEwCiMgICAgICIke1RVTkVfUEtHQVJDSF90dW5lLSR7REVGQVVMVFRVTkV9fSIKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0MzMKIyAg
ICAgW2RvY10gIlRoZSBwYWNrYWdlIGFyY2hpdGVjdHVyZSB1bmRlcnN0b29kIGJ5IHRoZSBwYWNr
YWdpbmcgc3lzdGVtIHRvIGRlZmluZSB0aGUgYXJjaGl0ZWN0dXJlLCBBQkksIGFuZCB0dW5pbmcg
b2Ygb3V0cHV0IHBhY2thZ2VzLiIKIyAgIG92ZXJyaWRlW3R1bmUteDg2XTpzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2L2FyY2gteDg2LmluYzo0MQojICAg
ICAieDg2IgojICAgb3ZlcnJpZGVbdHVuZS14ODYtNjRdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjQ3CiMgICAgICJ4ODZfNjQi
CiMgICBvdmVycmlkZVt0dW5lLXg4Ni02NC14MzJdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjUzCiMgICAgICJ4ODZfNjRfeDMy
IgojICAgb3ZlcnJpZGVbdHVuZS1pNTg2XTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9t
YWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2LmluYzoxMwojICAgICAiaTU4NiIKIyAgIG92ZXJyaWRl
W3R1bmUtaTY4Nl06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRl
L3R1bmUtaTY4Ni5pbmM6MjYKIyAgICAgImk2ODYiCiMgICBvdmVycmlkZVt0dW5lLWNvcmUyLTMy
XTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3Jl
Mi5pbmM6MjIKIyAgICAgImNvcmUyLTMyIgojICAgb3ZlcnJpZGVbdHVuZS1jb3JlMi02NF06c2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5j
OjI5CiMgICAgICJjb3JlMi02NCIKIyAgIG92ZXJyaWRlW3R1bmUtY29yZTItNjQteDMyXTpzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5pbmM6
MzYKIyAgICAgImNvcmUyLTY0LXgzMiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7VFVO
RV9QS0dBUkNIX3R1bmUtJHtERUZBVUxUVFVORX19IgpUVU5FX1BLR0FSQ0g9ImNvcmUyLTY0Igoj
CiMgJFRVTkVfUEtHQVJDSF90dW5lLWNvcmUyLTMyCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3JlMi5pbmM6MjIKIyAgICAgImNvcmUyLTMy
IgpUVU5FX1BLR0FSQ0hfdHVuZS1jb3JlMi0zMj0iY29yZTItMzIiCiMKIyAkVFVORV9QS0dBUkNI
X3R1bmUtY29yZTItNjQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUv
aW5jbHVkZS90dW5lLWNvcmUyLmluYzoyOQojICAgICAiY29yZTItNjQiClRVTkVfUEtHQVJDSF90
dW5lLWNvcmUyLTY0PSJjb3JlMi02NCIKIwojICRUVU5FX1BLR0FSQ0hfdHVuZS1jb3JlMi02NC14
MzIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5l
LWNvcmUyLmluYzozNgojICAgICAiY29yZTItNjQteDMyIgpUVU5FX1BLR0FSQ0hfdHVuZS1jb3Jl
Mi02NC14MzI9ImNvcmUyLTY0LXgzMiIKIwojICRUVU5FX1BLR0FSQ0hfdHVuZS1pNTg2CiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pNTg2Lmlu
YzoxMwojICAgICAiaTU4NiIKVFVORV9QS0dBUkNIX3R1bmUtaTU4Nj0iaTU4NiIKIwojICRUVU5F
X1BLR0FSQ0hfdHVuZS1pNjg2CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNo
aW5lL2luY2x1ZGUvdHVuZS1pNjg2LmluYzoyNgojICAgICAiaTY4NiIKVFVORV9QS0dBUkNIX3R1
bmUtaTY4Nj0iaTY4NiIKIwojICRUVU5FX1BLR0FSQ0hfdHVuZS14ODYKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYvYXJjaC14ODYuaW5jOjQxCiMg
ICAgICJ4ODYiClRVTkVfUEtHQVJDSF90dW5lLXg4Nj0ieDg2IgojCiMgJFRVTkVfUEtHQVJDSF90
dW5lLXg4Ni02NAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNs
dWRlL3g4Ni9hcmNoLXg4Ni5pbmM6NDcKIyAgICAgIng4Nl82NCIKVFVORV9QS0dBUkNIX3R1bmUt
eDg2LTY0PSJ4ODZfNjQiCiMKIyAkVFVORV9QS0dBUkNIX3R1bmUteDg2LTY0LXgzMgojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5p
bmM6NTMKIyAgICAgIng4Nl82NF94MzIiClRVTkVfUEtHQVJDSF90dW5lLXg4Ni02NC14MzI9Ing4
Nl82NF94MzIiCiMKIyAkVFogWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjU1MQojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NTEKIyAgICAgIlVUQyIK
IyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIlVUQyIKZXhwb3J0IFRaPSJVVEMiCiMKIyAkVF90
YXNrLWNsZWFuCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy91dGlsaXR5LXRh
c2tzLmJiY2xhc3M6MjIKIyAgICAgIiR7TE9HX0RJUn0vY2xlYW5sb2dzLyR7UE59IgpUX3Rhc2st
Y2xlYW49Ii9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvbG9nL2NsZWFubG9ncy9leGFtcGxlIgoj
CiMgJFVCT09UX0NPTkZJRwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1l
bnRhdGlvbi5jb25mOjQ0MgojICAgICBbZG9jXSAiQ29uZmlndXJlcyB0aGUgVUJPT1RfTUFDSElO
RSBhbmQgY2FuIGFsc28gZGVmaW5lIElNQUdFX0ZTVFlQRVMgZm9yIGluZGl2aWR1YWwgY2FzZXMu
IgojCiMgJFVCT09UX0VOVFJZUE9JTlQKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2RvY3VtZW50YXRpb24uY29uZjo0NDMKIyAgICAgW2RvY10gIlNwZWNpZmllcyB0aGUgZW50cnkg
cG9pbnQgZm9yIHRoZSBVLUJvb3QgaW1hZ2UuIgojCiMgJFVCT09UX0xPQURBRERSRVNTCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDQ0CiMgICAg
IFtkb2NdICJTcGVjaWZpZXMgdGhlIGxvYWQgYWRkcmVzcyBmb3IgdGhlIFUtQm9vdCBpbWFnZS4i
CiMKIyAkVUJPT1RfTE9DQUxWRVJTSU9OCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6NDQ1CiMgICAgIFtkb2NdICJBcHBlbmRzIGEgc3RyaW5nIHRv
IHRoZSBuYW1lIG9mIHRoZSBsb2NhbCB2ZXJzaW9uIG9mIHRoZSBVLUJvb3QgaW1hZ2UuIgojCiMg
JFVCT09UX01BQ0hJTkUgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZjoxNQojICAgICAicWVtdS14ODZfNjRfZGVm
Y29uZmlnIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjQ0NgojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRoZSB2YWx1ZSBwYXNzZWQgb24gdGhlIG1h
a2UgY29tbWFuZCBsaW5lIHdoZW4gYnVpbGRpbmcgYSBVLUJvb3QgaW1hZ2UuIgojIHByZS1leHBh
bnNpb24gdmFsdWU6CiMgICAicWVtdS14ODZfNjRfZGVmY29uZmlnIgpVQk9PVF9NQUNISU5FPSJx
ZW11LXg4Nl82NF9kZWZjb25maWciCiMKIyAkVUJPT1RfTUFLRV9UQVJHRVQKIyAgIHNldCAvaG9t
ZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NDcKIyAgICAgW2RvY10g
IlNwZWNpZmllcyB0aGUgdGFyZ2V0IGNhbGxlZCBpbiB0aGUgTWFrZWZpbGUuIgojCiMgJFVCT09U
X1NVRkZJWAojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5j
b25mOjQ0OAojICAgICBbZG9jXSAiUG9pbnRzIHRvIHRoZSBnZW5lcmF0ZWQgVS1Cb290IGV4dGVu
c2lvbi4iCiMKIyAkVUJPT1RfVEFSR0VUCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6NDQ5CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgdGhlIHRhcmdl
dCB1c2VkIGZvciBidWlsZGluZyBVLUJvb3QuIgojCiMgJFVOSU5BVElWRV9DSEVDS1NVTSBbMyBv
cGVyYXRpb25zXQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNs
dWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmM6MTIKIyAgICAgW2FhcmNoNjRdICJlNzZhNDU4ODZlZThh
MGIzOTA0Yjc2MWMxN2FjOGZmOTFlZGY5ODExZWU0NTVmMTgzMmQxMDc2M2JhNzk0ZGZjIgojICAg
c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5h
dGl2ZS5pbmM6MTMKIyAgICAgW2k2ODZdICI4MTBkMDI3ZGZiMWM3Njc1MjI2YWZiY2VjMDc4MDg3
NzA1MTZjOTY5ZWU3Mzc4ZjZkODI0MDI4MTA4M2Y4OTI0IgojICAgc2V0PyAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmM6MTQKIyAgICAg
W3g4Nl82NF0gIjk0OThkOGJiYTA0NzQ5OTk5OWE3MzEwYWMyNTc2ZDA3OTY0NjExODQ5NjUzNTFh
NTZmNmQzMmM4ODhhMWYyMTYiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJOb25lIgojCiMg
JFVOSU5BVElWRV9ETERJUgojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jbGFzc2VzL3Vu
aW5hdGl2ZS5iYmNsYXNzOjEwCiMgICAgICIke0RMX0RJUn0vdW5pbmF0aXZlLyIKVU5JTkFUSVZF
X0RMRElSPSIvaG9tZS91c2VyL3lvY3RvLWNhY2hlL2Rvd25sb2Fkcy91bmluYXRpdmUvIgojCiMg
JFVOSU5BVElWRV9MT0FERVIKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy91
bmluYXRpdmUuYmJjbGFzczoxCiMgICAgICIke1VOSU5BVElWRV9TVEFHSU5HX0RJUn0tdW5pbmF0
aXZlLyR7QlVJTERfQVJDSH0tbGludXgvbGliLyR7QGJiLnV0aWxzLmNvbnRhaW5zKCdCVUlMRF9B
UkNIJywgJ3g4Nl82NCcsICdsZC1saW51eC14ODYtNjQuc28uMicsICcnLCBkKX0ke0BiYi51dGls
cy5jb250YWlucygnQlVJTERfQVJDSCcsICdpNjg2JywgJ2xkLWxpbnV4LnNvLjInLCAnJywgZCl9
JHtAYmIudXRpbHMuY29udGFpbnMoJ0JVSUxEX0FSQ0gnLCAnYWFyY2g2NCcsICdsZC1saW51eC1h
YXJjaDY0LnNvLjEnLCAnJywgZCl9IgpVTklOQVRJVkVfTE9BREVSPSIvaG9tZS91c2VyL3Bva3kv
YnVpbGQvdG1wL3N5c3Jvb3RzLXVuaW5hdGl2ZS94ODZfNjQtbGludXgvbGliL2xkLWxpbnV4LXg4
Ni02NC5zby4yIgojCiMgJFVOSU5BVElWRV9NQVhHTElCQ1ZFUlNJT04KIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3lvY3RvLXVuaW5hdGl2ZS5pbmM6OQoj
ICAgICAiMi4zMCIKVU5JTkFUSVZFX01BWEdMSUJDVkVSU0lPTj0iMi4zMCIKIwojICRVTklOQVRJ
VkVfU1RBR0lOR19ESVIKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy91bmlu
YXRpdmUuYmJjbGFzczoyCiMgICAgICIke1NUQUdJTkdfRElSfSIKVU5JTkFUSVZFX1NUQUdJTkdf
RElSPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3N5c3Jvb3RzIgojCiMgJFVOSU5BVElWRV9U
QVJCQUxMCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvdW5pbmF0aXZlLmJi
Y2xhc3M6NQojICAgICAiJHtCVUlMRF9BUkNIfS1uYXRpdmVzZGstbGliYy50YXIueHoiClVOSU5B
VElWRV9UQVJCQUxMPSJ4ODZfNjQtbmF0aXZlc2RrLWxpYmMudGFyLnh6IgojCiMgJFVOSU5BVElW
RV9VUkwgWzIgb3BlcmF0aW9uc10KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
aXN0cm8vaW5jbHVkZS95b2N0by11bmluYXRpdmUuaW5jOjExCiMgICAgICJodHRwOi8vZG93bmxv
YWRzLnlvY3RvcHJvamVjdC5vcmcvcmVsZWFzZXMvdW5pbmF0aXZlLzIuNy8iCiMgICBzZXQ/IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvdW5pbmF0aXZlLmJiY2xhc3M6NAojICAgICAidW5z
ZXQiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICJodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJv
amVjdC5vcmcvcmVsZWFzZXMvdW5pbmF0aXZlLzIuNy8iClVOSU5BVElWRV9VUkw9Imh0dHA6Ly9k
b3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9yZWxlYXNlcy91bmluYXRpdmUvMi43LyIKIwojICRV
TktOT1dOX0NPTkZJR1VSRV9XSElURUxJU1QKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEv
Y2xhc3Nlcy9pbnNhbmUuYmJjbGFzczo0OAojICAgICAiLS1lbmFibGUtbmxzIC0tZGlzYWJsZS1u
bHMgLS1kaXNhYmxlLXNpbGVudC1ydWxlcyAtLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZyAt
LXdpdGgtbGlidG9vbC1zeXNyb290IC0tZGlzYWJsZS1zdGF0aWMiClVOS05PV05fQ09ORklHVVJF
X1dISVRFTElTVD0iLS1lbmFibGUtbmxzIC0tZGlzYWJsZS1ubHMgLS1kaXNhYmxlLXNpbGVudC1y
dWxlcyAtLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZyAtLXdpdGgtbGlidG9vbC1zeXNyb290
IC0tZGlzYWJsZS1zdGF0aWMiCiMKIyAkVVNFUiBbMiBvcGVyYXRpb25zXQojICAgZnJvbSBlbnYg
ZGF0YS5weToxMTIgW2luaGVyaXRGcm9tT1NdCiMgICAgICJ1c2VyIgojICAgYXV0byBlbnYgZXhw
b3J0IGRhdGEucHk6MTE0IFtpbmhlcml0RnJvbU9TXQojICAgICBbZXhwb3J0XSAiVHJ1ZSIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgInVzZXIiCmV4cG9ydCBVU0VSPSJ1c2VyIgojCiMgJFVT
RVJBRERFWFRFTlNJT04KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjo0NTcKIyAgICAgW2RvY10gIldoZW4gc2V0IHRvICd1c2VyYWRkLXN0YXRpY2lk
cycsIGNhdXNlcyB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkIHN5c3RlbSB0byBiYXNlIGFsbCB1c2Vy
IGFuZCBncm91cCBhZGRpdGlvbnMgb24gZmlsZXMgbGlzdGVkIGluIFVTRVJBRERfVUlEX1RBQkxF
UyBhbmQgVVNFUkFERF9HSURfVEFCTEVTLiIKIwojICRVU0VSQUREX0VSUk9SX0RZTkFNSUMKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NTIKIyAg
ICAgW2RvY10gIklmIHNldCB0byAnZXJyb3InLCBmb3JjZXMgdGhlIE9wZW5FbWJlZGRlZCBidWls
ZCBzeXN0ZW0gdG8gcHJvZHVjZSBhbiBlcnJvciBpZiB0aGUgdXNlciBpZGVudGlmaWNhdGlvbiAo
dWlkKSBhbmQgZ3JvdXAgaWRlbnRpZmljYXRpb24gKGdpZCkgdmFsdWVzIGFyZSBub3QgZGVmaW5l
ZCBpbiBhbnkgb2YgdGhlIGZpbGVzIGxpc3RlZCBpbiBVU0VSQUREX1VJRF9UQUJMRVMgYW5kIFVT
RVJBRERfR0lEX1RBQkxFUy4gSWYgc2V0IHRvICd3YXJuJywgYSB3YXJuaW5nIHdpbGwgYmUgaXNz
dWVkIGluc3RlYWQuIgojCiMgJFVTRVJBRERfR0lEX1RBQkxFUwojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQ1MwojICAgICBbZG9jXSAiU3BlY2lm
aWVzIGEgcGFzc3dvcmQgZmlsZSB0byB1c2UgZm9yIG9idGFpbmluZyBzdGF0aWMgZ3JvdXAgaWRl
bnRpZmljYXRpb24gKGdpZCkgdmFsdWVzIHdoZW4gdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0
ZW0gYWRkcyBhIGdyb3VwIHRvIHRoZSBzeXN0ZW0gZHVyaW5nIHBhY2thZ2UgaW5zdGFsbGF0aW9u
LiIKIwojICRVU0VSQUREX1BBQ0tBR0VTCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6NDU0CiMgICAgIFtkb2NdICJXaGVuIGEgcmVjaXBlIGluaGVy
aXRzIHRoZSB1c2VyYWRkIGNsYXNzLCB0aGlzIHZhcmlhYmxlIHNwZWNpZmllcyB0aGUgaW5kaXZp
ZHVhbCBwYWNrYWdlcyB3aXRoaW4gdGhlIHJlY2lwZSB0aGF0IHJlcXVpcmUgdXNlcnMgYW5kL29y
IGdyb3VwcyB0byBiZSBhZGRlZC4iCiMKIyAkVVNFUkFERF9QQVJBTQojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQ1NQojICAgICBbZG9jXSAiV2hl
biBhIHJlY2lwZSBpbmhlcml0cyB0aGUgdXNlcmFkZCBjbGFzcywgdGhpcyB2YXJpYWJsZSBzcGVj
aWZpZXMgZm9yIGEgcGFja2FnZSB3aGF0IHBhcmFtZXRlcnMgc2hvdWxkIGJlIHBhc3NlZCB0byB0
aGUgdXNlcmFkZCBjb21tYW5kIGlmIHlvdSB3aXNoIHRvIGFkZCBhIHVzZXIgdG8gdGhlIHN5c3Rl
bSB3aGVuIHRoZSBwYWNrYWdlIGlzIGluc3RhbGxlZC4iCiMKIyAkVVNFUkFERF9VSURfVEFCTEVT
CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDU2
CiMgICAgIFtkb2NdICJTcGVjaWZpZXMgYSBwYXNzd29yZCBmaWxlIHRvIHVzZSBmb3Igb2J0YWlu
aW5nIHN0YXRpYyB1c2VyIGlkZW50aWZpY2F0aW9uICh1aWQpIHZhbHVlcyB3aGVuIHRoZSBPcGVu
RW1iZWRkZWQgYnVpbGQgc3lzdGVtIGFkZHMgYSB1c2VyIHRvIHRoZSBzeXN0ZW0gZHVyaW5nIHBh
Y2thZ2UgaW5zdGFsbGF0aW9uLiIKIwojICRVU0VSX0NMQVNTRVMgWzMgb3BlcmF0aW9uc10KIyAg
IHNldD8gL2hvbWUvdXNlci9wb2t5L2J1aWxkL2NvbmYvbG9jYWwuY29uZjoxNTYKIyAgICAgImJ1
aWxkc3RhdHMgaW1hZ2UtbWtsaWJzIGltYWdlLXByZWxpbmsiCiMgICBzZXQ/IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mOjIwCiMgICAgICIiCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDUxCiMgICAg
IFtkb2NdICJMaXN0IG9mIGFkZGl0aW9uYWwgY2xhc3NlcyB0byB1c2Ugd2hlbiBidWlsZGluZyBp
bWFnZXMgdGhhdCBlbmFibGUgZXh0cmEgZmVhdHVyZXMuIgojIHByZS1leHBhbnNpb24gdmFsdWU6
CiMgICAiYnVpbGRzdGF0cyBpbWFnZS1ta2xpYnMgaW1hZ2UtcHJlbGluayIKVVNFUl9DTEFTU0VT
PSJidWlsZHN0YXRzIGltYWdlLW1rbGlicyBpbWFnZS1wcmVsaW5rIgojCiMgJFVTRV9ERVZGUwoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQ1MAoj
ICAgICBbZG9jXSAiV2hlbiBidWlsZGluZyBpbWFnZXMsIHNwZWNpZmllcyB0byBwb3B1bGF0ZSBv
ciBub3QgL2Rldi4gVGhpcyB2YXJpYWJsZSBkZWZhdWx0cyB0byAnMScgKGxlYXZlIGRpcmVjdG9y
eSBlbXB0eSwgc3VyZWx5IGJlY2F1c2UgZGV2dG1wZnMgZG8gdGhlIGpvYikuIFNldCBpdCB0byAn
MCcgdG8gdXNlIG1ha2VkZXZzIChvciBjb25zaWRlciB1c2luZyBhIGN1c3RvbSBmaWxlIHdpdGgg
SU1BR0VfREVWSUNFX1RBQkxFUykuIgojCiMgJFVTRV9OTFMKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoxMjYKIyAgICAgW19kZWZhdWx0dmFsXSAieWVzIgpV
U0VfTkxTPSJ5ZXMiCiMKIyAkVVNSQklOUEFUSCBbMyBvcGVyYXRpb25zXQojICAgc2V0IC9ob21l
L3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjgxCiMgICAgICIke2JpbmRpcn0iCiMg
ICBvdmVycmlkZVtjbGFzcy1uYXRpdmVdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo4MgojICAgICAiL3Vzci9iaW4iCiMgICBvdmVycmlkZVtjbGFzcy1uYXRpdmVz
ZGtdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo4MwojICAgICAi
L3Vzci9iaW4iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2JpbmRpcn0iClVTUkJJTlBB
VEg9Ii91c3IvYmluIgojCiMgJFVTUkJJTlBBVEhfY2xhc3MtbmF0aXZlCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6ODIKIyAgICAgIi91c3IvYmluIgpVU1JC
SU5QQVRIX2NsYXNzLW5hdGl2ZT0iL3Vzci9iaW4iCiMKIyAkVVNSQklOUEFUSF9jbGFzcy1uYXRp
dmVzZGsKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo4Mwoj
ICAgICAiL3Vzci9iaW4iClVTUkJJTlBBVEhfY2xhc3MtbmF0aXZlc2RrPSIvdXNyL2JpbiIKIwoj
ICRVVkVTQV9NT0RFCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9p
bmNsdWRlL3FlbXVib290LXg4Ni5pbmM6MTYKIyAgICAgIjY0MHg0ODAtMzIiClVWRVNBX01PREU9
IjY0MHg0ODAtMzIiCiMKIyAkVklSVFVBTC1SVU5USU1FX2Fsc2Etc3RhdGUKIyAgIHNldD8gL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5p
bmM6MjYKIyAgICAgImFsc2Etc3RhdGUiClZJUlRVQUwtUlVOVElNRV9hbHNhLXN0YXRlPSJhbHNh
LXN0YXRlIgojCiMgJFZJUlRVQUwtUlVOVElNRV9hcG0KIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MjUKIyAgICAg
ImFwbSIKVklSVFVBTC1SVU5USU1FX2FwbT0iYXBtIgojCiMgJFZJUlRVQUwtUlVOVElNRV9iYXNl
LXV0aWxzCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUv
ZGVmYXVsdC1wcm92aWRlcnMuaW5jOjI4CiMgICAgICJidXN5Ym94IgpWSVJUVUFMLVJVTlRJTUVf
YmFzZS11dGlscz0iYnVzeWJveCIKIwojICRWSVJUVUFMLVJVTlRJTUVfYmFzZS11dGlscy1od2Ns
b2NrCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVm
YXVsdC1wcm92aWRlcnMuaW5jOjI5CiMgICAgICJidXN5Ym94LWh3Y2xvY2siClZJUlRVQUwtUlVO
VElNRV9iYXNlLXV0aWxzLWh3Y2xvY2s9ImJ1c3lib3gtaHdjbG9jayIKIwojICRWSVJUVUFMLVJV
TlRJTUVfYmFzZS11dGlscy1zeXNsb2cKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MzAKIyAgICAgImJ1c3lib3gt
c3lzbG9nIgpWSVJUVUFMLVJVTlRJTUVfYmFzZS11dGlscy1zeXNsb2c9ImJ1c3lib3gtc3lzbG9n
IgojCiMgJFZJUlRVQUwtUlVOVElNRV9nZXRvcHQKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MjcKIyAgICAgInV0
aWwtbGludXgtZ2V0b3B0IgpWSVJUVUFMLVJVTlRJTUVfZ2V0b3B0PSJ1dGlsLWxpbnV4LWdldG9w
dCIKIwojICRWSVJUVUFMLVJVTlRJTUVfaW5pdF9tYW5hZ2VyCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9pbml0LW1hbmFnZXItbm9uZS5pbmM6MQojICAg
ICBbX2RlZmF1bHR2YWxdICJzeXN2aW5pdCIKVklSVFVBTC1SVU5USU1FX2luaXRfbWFuYWdlcj0i
c3lzdmluaXQiCiMKIyAkVklSVFVBTC1SVU5USU1FX2luaXRzY3JpcHRzCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9pbml0LW1hbmFnZXItbm9uZS5pbmM6
MgojICAgICBbX2RlZmF1bHR2YWxdICJpbml0c2NyaXB0cyIKVklSVFVBTC1SVU5USU1FX2luaXRz
Y3JpcHRzPSJpbml0c2NyaXB0cyIKIwojICRWSVJUVUFMLVJVTlRJTUVfbG9naW5fbWFuYWdlcgoj
ICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvaW5pdC1tYW5h
Z2VyLW5vbmUuaW5jOjMKIyAgICAgW19kZWZhdWx0dmFsXSAiYnVzeWJveCIKVklSVFVBTC1SVU5U
SU1FX2xvZ2luX21hbmFnZXI9ImJ1c3lib3giCiMKIyAkVklSVFVBTC1SVU5USU1FX3VwZGF0ZS1h
bHRlcm5hdGl2ZXMKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5j
bHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmM6MjQKIyAgICAgInVwZGF0ZS1hbHRlcm5hdGl2ZXMt
b3BrZyIKVklSVFVBTC1SVU5USU1FX3VwZGF0ZS1hbHRlcm5hdGl2ZXM9InVwZGF0ZS1hbHRlcm5h
dGl2ZXMtb3BrZyIKIwojICRWT0xBVElMRV9MT0dfRElSCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjkwCiMgICAgICJ5ZXMiClZPTEFUSUxFX0xPR19ESVI9
InllcyIKIwojICRXQVJOX1FBIFszIG9wZXJhdGlvbnNdCiMgICBfcmVtb3ZlIC9ob21lL3VzZXIv
cG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mOjgyCiMgICAgICIke1dBUk5fVE9f
RVJST1JfUUF9IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlv
bi5jb25mOjQ2MQojICAgICBbZG9jXSAiU3BlY2lmaWVzIHRoZSBxdWFsaXR5IGFzc3VyYW5jZSBj
aGVja3Mgd2hvc2UgZmFpbHVyZXMgYXJlIHJlcG9ydGVkIGFzIHdhcm5pbmdzIGJ5IHRoZSBPcGVu
RW1iZWRkZWQgYnVpbGQgc3lzdGVtLiIKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY2xh
c3Nlcy9pbnNhbmUuYmJjbGFzczozMQojICAgICAibGRmbGFncyB1c2VsZXNzLXJwYXRocyBycGF0
aHMgc3RhdGljZGV2IGxpYmRpciB4b3JnLWRyaXZlci1hYmkgICAgICAgICAgICAgdGV4dHJlbCBh
bHJlYWR5LXN0cmlwcGVkIGluY29tcGF0aWJsZS1saWNlbnNlIGZpbGVzLWludmFsaWQgICAgICAg
ICAgICAgaW5zdGFsbGVkLXZzLXNoaXBwZWQgY29tcGlsZS1ob3N0LXBhdGggaW5zdGFsbC1ob3N0
LXBhdGggICAgICAgICAgICAgcG4tb3ZlcnJpZGVzIGluZm9kaXIgYnVpbGQtZGVwcyBzcmMtdXJp
LWJhZCAgICAgICAgICAgICB1bmtub3duLWNvbmZpZ3VyZS1vcHRpb24gc3ltbGluay10by1zeXNy
b290IG11bHRpbGliICAgICAgICAgICAgIGludmFsaWQtcGFja2FnZWNvbmZpZyBob3N0LXVzZXIt
Y29udGFtaW5hdGVkIHVwcGVyY2FzZS1wbiBwYXRjaC1mdXp6ICAgICAgICAgICAgICIKIyBwcmUt
ZXhwYW5zaW9uIHZhbHVlOgojICAgImxkZmxhZ3MgdXNlbGVzcy1ycGF0aHMgcnBhdGhzIHN0YXRp
Y2RldiBsaWJkaXIgeG9yZy1kcml2ZXItYWJpICAgICAgICAgICAgIHRleHRyZWwgYWxyZWFkeS1z
dHJpcHBlZCBpbmNvbXBhdGlibGUtbGljZW5zZSBmaWxlcy1pbnZhbGlkICAgICAgICAgICAgIGlu
c3RhbGxlZC12cy1zaGlwcGVkIGNvbXBpbGUtaG9zdC1wYXRoIGluc3RhbGwtaG9zdC1wYXRoICAg
ICAgICAgICAgIHBuLW92ZXJyaWRlcyBpbmZvZGlyIGJ1aWxkLWRlcHMgc3JjLXVyaS1iYWQgICAg
ICAgICAgICAgdW5rbm93bi1jb25maWd1cmUtb3B0aW9uIHN5bWxpbmstdG8tc3lzcm9vdCBtdWx0
aWxpYiAgICAgICAgICAgICBpbnZhbGlkLXBhY2thZ2Vjb25maWcgaG9zdC11c2VyLWNvbnRhbWlu
YXRlZCB1cHBlcmNhc2UtcG4gcGF0Y2gtZnV6eiAgICAgICAgICAgICAiCldBUk5fUUE9IiAgICBs
aWJkaXIgeG9yZy1kcml2ZXItYWJpICAgICAgICAgICAgIHRleHRyZWwgIGluY29tcGF0aWJsZS1s
aWNlbnNlIGZpbGVzLWludmFsaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm9kaXIg
YnVpbGQtZGVwcyBzcmMtdXJpLWJhZCAgICAgICAgICAgICAgc3ltbGluay10by1zeXNyb290IG11
bHRpbGliICAgICAgICAgICAgIGludmFsaWQtcGFja2FnZWNvbmZpZyBob3N0LXVzZXItY29udGFt
aW5hdGVkIHVwcGVyY2FzZS1wbiBwYXRjaC1mdXp6ICAgICAgICAgICAgICIKIwojICRXQVJOX1RP
X0VSUk9SX1FBCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9w
b2t5LmNvbmY6ODEKIyAgICAgImFscmVhZHktc3RyaXBwZWQgY29tcGlsZS1ob3N0LXBhdGggaW5z
dGFsbC1ob3N0LXBhdGggICAgICAgICAgICAgICAgICAgICBpbnN0YWxsZWQtdnMtc2hpcHBlZCBs
ZGZsYWdzIHBuLW92ZXJyaWRlcyBycGF0aHMgc3RhdGljZGV2ICAgICAgICAgICAgICAgICAgICAg
dW5rbm93bi1jb25maWd1cmUtb3B0aW9uIHVzZWxlc3MtcnBhdGhzIgpXQVJOX1RPX0VSUk9SX1FB
PSJhbHJlYWR5LXN0cmlwcGVkIGNvbXBpbGUtaG9zdC1wYXRoIGluc3RhbGwtaG9zdC1wYXRoICAg
ICAgICAgICAgICAgICAgICAgaW5zdGFsbGVkLXZzLXNoaXBwZWQgbGRmbGFncyBwbi1vdmVycmlk
ZXMgcnBhdGhzIHN0YXRpY2RldiAgICAgICAgICAgICAgICAgICAgIHVua25vd24tY29uZmlndXJl
LW9wdGlvbiB1c2VsZXNzLXJwYXRocyIKIwojICRXSElURUxJU1RfR1BMLTMuMAojICAgc2V0PyAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFy
cy5pbmM6MTcKIyAgICAgIiIKV0hJVEVMSVNUX0dQTC0zLjA9IiIKIwojICRXS1NfRklMRQojICAg
c2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni02NC5jb25mOjQ0
CiMgICAgICJxZW11eDg2LWRpcmVjdGRpc2sud2tzIgpXS1NfRklMRT0icWVtdXg4Ni1kaXJlY3Rk
aXNrLndrcyIKIwojICRXT1JLRElSIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzY4CiMgICAgICIke0JBU0VfV09SS0RJUn0vJHtN
VUxUSU1BQ0hfVEFSR0VUX1NZU30vJHtQTn0vJHtFWFRFTkRQRX0ke1BWfS0ke1BSfSIKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NjIKIyAgICAg
W2RvY10gIlRoZSBwYXRobmFtZSBvZiB0aGUgd29ya2luZyBkaXJlY3RvcnkgaW4gd2hpY2ggdGhl
IE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gYnVpbGRzIGEgcmVjaXBlLiBUaGlzIGRpcmVjdG9y
eSBpcyBsb2NhdGVkIHdpdGhpbiB0aGUgVE1QRElSIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgYW5kIGNo
YW5nZXMgYXMgZGlmZmVyZW50IHBhY2thZ2VzIGFyZSBidWlsdC4iCiMgcHJlLWV4cGFuc2lvbiB2
YWx1ZToKIyAgICIke0JBU0VfV09SS0RJUn0vJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU30vJHtQTn0v
JHtFWFRFTkRQRX0ke1BWfS0ke1BSfSIKV09SS0RJUj0iL2hvbWUvdXNlci9wb2t5L2J1aWxkL3Rt
cC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAiCiMKIyAkV09SS0RJUl9Q
S0dEQVRBCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3BrZ2Rh
dGEuYmJjbGFzczoxCiMgICAgICIke1dPUktESVJ9L3BrZ2RhdGEtc3lzcm9vdCIKV09SS0RJUl9Q
S0dEQVRBPSIvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51
eC9leGFtcGxlLzAuMS1yMC9wa2dkYXRhLXN5c3Jvb3QiCiMKIyAkWDg2QVJDSDMyIFsyIG9wZXJh
dGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRl
L3R1bmUtaTY4Ni5pbmM6MTMKIyAgICAgImk2ODYiCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni9hcmNoLXg4Ni5pbmM6NwojICAgICAiaTU4NiIK
IyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgImk2ODYiClg4NkFSQ0gzMj0iaTY4NiIKIwojICRY
ODZBUkNINjQKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1
ZGUveDg2L2FyY2gteDg2LmluYzo4CiMgICAgICJ4ODZfNjQiClg4NkFSQ0g2ND0ieDg2XzY0Igoj
CiMgJFhBVVRIT1JJVFkKIyAgIHNldD8gL2hvbWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy90ZXJt
aW5hbC5iYmNsYXNzOjkKIyAgICAgIiR7SE9NRX0vLlhhdXRob3JpdHkiClhBVVRIT1JJVFk9Ii9o
b21lL3VzZXIvLlhhdXRob3JpdHkiCiMKIyAkWExJQlNfTUlSUk9SCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjQ1CiMgICAgICJodHRwczovL3hsaWJzLmZy
ZWVkZXNrdG9wLm9yZy9yZWxlYXNlIgpYTElCU19NSVJST1I9Imh0dHBzOi8veGxpYnMuZnJlZWRl
c2t0b3Aub3JnL3JlbGVhc2UiCiMKIyAkWE9SR19NSVJST1IKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2NDYKIyAgICAgImh0dHBzOi8vd3d3Lngub3JnL3Jl
bGVhc2VzLyIKWE9SR19NSVJST1I9Imh0dHBzOi8vd3d3Lngub3JnL3JlbGVhc2VzLyIKIwojICRY
U0VSVkVSIFsyIG9wZXJhdGlvbnNdCiMgICBzZXQ/IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
bWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jOjEwCiMgICAgICJ4c2VydmVyLXhvcmcgICAgICAgICAg
ICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnbWVz
YS1kcml2ZXItc3dyYXN0IHhzZXJ2ZXIteG9yZy1leHRlbnNpb24tZ2x4JywgJycsIGQpfSAgICAg
ICAgICAgICB4Zjg2LXZpZGVvLWZiZGV2ICAgICAgICAgICAgICIKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni02NC5jb25mOjMyCiMgICAgICJ4c2VydmVy
LXhvcmcgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywg
J29wZW5nbCcsICAgICAgICAgICAgYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAn
bXgzMicsICcnLCAnbWVzYS1kcml2ZXItc3dyYXN0IHhzZXJ2ZXIteG9yZy1leHRlbnNpb24tZ2x4
JywgZCksICcnLCBkKX0gICAgICAgICAgICB4Zjg2LXZpZGVvLWNpcnJ1cyAgICAgICAgICAgIHhm
ODYtdmlkZW8tZmJkZXYgICAgICAgICAgICB4Zjg2LXZpZGVvLXZtd2FyZSAgICAgICAgICAgIHhm
ODYtdmlkZW8tbW9kZXNldHRpbmcgICAgICAgICAgICB4Zjg2LXZpZGVvLXZlc2EgICAgICAgICAg
ICB4c2VydmVyLXhvcmctbW9kdWxlLWxpYmludDEwICAgICAgICAgICAgIgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAieHNlcnZlci14b3JnICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFp
bnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAgICAgICAgICAgIGJiLnV0aWxzLmNvbnRh
aW5zKCdUVU5FX0ZFQVRVUkVTJywgJ214MzInLCAnJywgJ21lc2EtZHJpdmVyLXN3cmFzdCB4c2Vy
dmVyLXhvcmctZXh0ZW5zaW9uLWdseCcsIGQpLCAnJywgZCl9ICAgICAgICAgICAgeGY4Ni12aWRl
by1jaXJydXMgICAgICAgICAgICB4Zjg2LXZpZGVvLWZiZGV2ICAgICAgICAgICAgeGY4Ni12aWRl
by12bXdhcmUgICAgICAgICAgICB4Zjg2LXZpZGVvLW1vZGVzZXR0aW5nICAgICAgICAgICAgeGY4
Ni12aWRlby12ZXNhICAgICAgICAgICAgeHNlcnZlci14b3JnLW1vZHVsZS1saWJpbnQxMCAgICAg
ICAgICAgICIKWFNFUlZFUj0ieHNlcnZlci14b3JnICAgICAgICAgICAgbWVzYS1kcml2ZXItc3dy
YXN0IHhzZXJ2ZXIteG9yZy1leHRlbnNpb24tZ2x4ICAgICAgICAgICAgeGY4Ni12aWRlby1jaXJy
dXMgICAgICAgICAgICB4Zjg2LXZpZGVvLWZiZGV2ICAgICAgICAgICAgeGY4Ni12aWRlby12bXdh
cmUgICAgICAgICAgICB4Zjg2LXZpZGVvLW1vZGVzZXR0aW5nICAgICAgICAgICAgeGY4Ni12aWRl
by12ZXNhICAgICAgICAgICAgeHNlcnZlci14b3JnLW1vZHVsZS1saWJpbnQxMCAgICAgICAgICAg
ICIKIwojICRYWl9ERUZBVUxUUwojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo3OTYKIyAgICAgIi0tbWVtbGltaXQ9NTAlIC0tdGhyZWFkcz0ke0BvZS51dGls
cy5jcHVfY291bnQoKX0iClhaX0RFRkFVTFRTPSItLW1lbWxpbWl0PTUwJSAtLXRocmVhZHM9NCIK
IwojICRfdGFza19kZXBzCiMgICBzZXQgYnVpbGQucHk6ODI3IFthZGRfdGFza3NdCiMgICAgICJ7
J3Rhc2tzJzogWydkb19wYXRjaCcsICdkb19wb3B1bGF0ZV9zeXNyb290JywgJ2RvX3BvcHVsYXRl
X3N5c3Jvb3Rfc2V0c2NlbmUnLCAnZG9fcHJlcGFyZV9yZWNpcGVfc3lzcm9vdCcsICdkb19saXN0
dGFza3MnLCAnZG9fY2xlYW4nLCAnZG9fY2hlY2t1cmknLCAnZG9fZmV0Y2gnLCAnZG9fdW5wYWNr
JywgJ2RvX2NvbmZpZ3VyZScsICdkb19jb21waWxlJywgJ2RvX2luc3RhbGwnLCAnZG9fYnVpbGQn
LCAnZG9fY2xlYW5zc3RhdGUnLCAnZG9fY2xlYW5hbGwnLCAnZG9fcGFja2FnZV9xYScsICdkb19w
YWNrYWdlX3FhX3NldHNjZW5lJywgJ2RvX3BhY2thZ2UnLCAnZG9fcGFja2FnZV9zZXRzY2VuZScs
ICdkb19wYWNrYWdlZGF0YScsICdkb19wYWNrYWdlZGF0YV9zZXRzY2VuZScsICdkb19wYWNrYWdl
X3dyaXRlX3JwbV9zZXRzY2VuZScsICdkb19wYWNrYWdlX3dyaXRlX3JwbScsICdkb19kZXZzaGVs
bCcsICdkb19kZXZweXNoZWxsJywgJ2RvX3BvcHVsYXRlX2xpYycsICdkb19wb3B1bGF0ZV9saWNf
c2V0c2NlbmUnXSwgJ3BhcmVudHMnOiB7J2RvX3BhdGNoJzogWydkb191bnBhY2snXSwgJ2RvX3Bv
cHVsYXRlX3N5c3Jvb3QnOiBbJ2RvX2luc3RhbGwnXSwgJ2RvX3BvcHVsYXRlX3N5c3Jvb3Rfc2V0
c2NlbmUnOiBbXSwgJ2RvX3ByZXBhcmVfcmVjaXBlX3N5c3Jvb3QnOiBbJ2RvX2ZldGNoJ10sICdk
b19saXN0dGFza3MnOiBbXSwgJ2RvX2NsZWFuJzogW10sICdkb19jaGVja3VyaSc6IFtdLCAnZG9f
ZmV0Y2gnOiBbXSwgJ2RvX3VucGFjayc6IFsnZG9fZmV0Y2gnXSwgJ2RvX2NvbmZpZ3VyZSc6IFsn
ZG9fcHJlcGFyZV9yZWNpcGVfc3lzcm9vdCcsICdkb19wYXRjaCddLCAnZG9fY29tcGlsZSc6IFsn
ZG9fY29uZmlndXJlJ10sICdkb19pbnN0YWxsJzogWydkb19jb21waWxlJ10sICdkb19idWlsZCc6
IFsnZG9fcG9wdWxhdGVfbGljJywgJ2RvX3BhY2thZ2VkYXRhJywgJ2RvX3BhY2thZ2VfcWEnLCAn
ZG9fcG9wdWxhdGVfc3lzcm9vdCddLCAnZG9fY2xlYW5zc3RhdGUnOiBbJ2RvX2NsZWFuJ10sICdk
b19jbGVhbmFsbCc6IFsnZG9fY2xlYW5zc3RhdGUnXSwgJ2RvX3BhY2thZ2VfcWEnOiBbJ2RvX3Bh
Y2thZ2VkYXRhJywgJ2RvX3BhY2thZ2UnXSwgJ2RvX3BhY2thZ2VfcWFfc2V0c2NlbmUnOiBbXSwg
J2RvX3BhY2thZ2UnOiBbJ2RvX2luc3RhbGwnXSwgJ2RvX3BhY2thZ2Vfc2V0c2NlbmUnOiBbXSwg
J2RvX3BhY2thZ2VkYXRhJzogWydkb19wYWNrYWdlJ10sICdkb19wYWNrYWdlZGF0YV9zZXRzY2Vu
ZSc6IFtdLCAnZG9fcGFja2FnZV93cml0ZV9ycG1fc2V0c2NlbmUnOiBbXSwgJ2RvX3BhY2thZ2Vf
d3JpdGVfcnBtJzogWydkb19wYWNrYWdlZGF0YScsICdkb19wYWNrYWdlJ10sICdkb19kZXZzaGVs
bCc6IFsnZG9fcGF0Y2gnLCAnZG9fcHJlcGFyZV9yZWNpcGVfc3lzcm9vdCddLCAnZG9fZGV2cHlz
aGVsbCc6IFsnZG9fcGF0Y2gnXSwgJ2RvX3BvcHVsYXRlX2xpYyc6IFsnZG9fcGF0Y2gnXSwgJ2Rv
X3BvcHVsYXRlX2xpY19zZXRzY2VuZSc6IFtdfSwgJ21jZGVwZW5kcyc6IHt9LCAnZGVwZW5kcyc6
IHsnZG9fcGF0Y2gnOiAncXVpbHQtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fcG9w
dWxhdGVfc3lzcm9vdCc6ICcgdmlydHVhbC94ODZfNjQtcG9reS1saW51eC1iaW51dGlsczpkb19w
b3B1bGF0ZV9zeXNyb290JywgJ2RvX3ByZXBhcmVfcmVjaXBlX3N5c3Jvb3QnOiAnIHZpcnR1YWwv
ZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9faW5zdGFsbCc6ICcgdmly
dHVhbC9mYWtlcm9vdC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcsICdkb19wYWNrYWdlX3Fh
JzogJyB2aXJ0dWFsL3g4Nl82NC1wb2t5LWxpbnV4LWJpbnV0aWxzOmRvX3BvcHVsYXRlX3N5c3Jv
b3QgdmlydHVhbC9mYWtlcm9vdC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcsICdkb19wYWNr
YWdlJzogJyB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IHJwbS1u
YXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCBkd2FyZnNyY2ZpbGVzLW5hdGl2ZTpkb19wb3B1bGF0
ZV9zeXNyb290IGZpbGUtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fcGFja2FnZV9z
ZXRzY2VuZSc6ICcgdmlydHVhbC9mYWtlcm9vdC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcs
ICdkb19wYWNrYWdlX3dyaXRlX3JwbSc6ICcgIHJwbS1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9v
dCB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290JywgJ2RvX2RldnNo
ZWxsJzogJyB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290J30sICdy
ZGVwZW5kcyc6IHt9LCAnZGVwdGFzayc6IHsnZG9fcHJlcGFyZV9yZWNpcGVfc3lzcm9vdCc6ICdk
b19wb3B1bGF0ZV9zeXNyb290JywgJ2RvX3BhY2thZ2UnOiAnIGRvX3BhY2thZ2VkYXRhJ30sICdy
ZGVwdGFzayc6IHsnZG9fcGFja2FnZV9xYSc6ICdkb19wYWNrYWdlZGF0YScsICdkb19wYWNrYWdl
X3dyaXRlX3JwbSc6ICdkb19wYWNrYWdlZGF0YSd9LCAncmVjcmRlcHRhc2snOiB7J2RvX2J1aWxk
JzogJyBkb19kZXBsb3kgZG9fcGFja2FnZV93cml0ZV9ycG0nfSwgJ3JlY2lkZXB0YXNrJzoge30s
ICdub3N0YW1wJzogeydkb19saXN0dGFza3MnOiAnMScsICdkb19jbGVhbic6ICcxJywgJ2RvX2No
ZWNrdXJpJzogJzEnLCAnZG9fYnVpbGQnOiAnMScsICdkb19jbGVhbnNzdGF0ZSc6ICcxJywgJ2Rv
X2NsZWFuYWxsJzogJzEnLCAnZG9fZGV2c2hlbGwnOiAnMScsICdkb19kZXZweXNoZWxsJzogJzEn
fSwgJ2Zha2Vyb290Jzogeydkb19pbnN0YWxsJzogJzEnLCAnZG9fcGFja2FnZV9xYSc6ICcxJywg
J2RvX3BhY2thZ2UnOiAnMScsICdkb19wYWNrYWdlX3NldHNjZW5lJzogJzEnLCAnZG9fcGFja2Fn
ZV93cml0ZV9ycG0nOiAnMSd9LCAnbm9leGVjJzogeydkb19idWlsZCc6ICcxJ30sICd1bWFzayc6
IHsnZG9fcGF0Y2gnOiAnMDIyJywgJ2RvX3BvcHVsYXRlX3N5c3Jvb3QnOiAnMDIyJywgJ2RvX3Vu
cGFjayc6ICcwMjInLCAnZG9fY29uZmlndXJlJzogJzAyMicsICdkb19jb21waWxlJzogJzAyMics
ICdkb19pbnN0YWxsJzogJzAyMicsICdkb19wYWNrYWdlJzogJzAyMicsICdkb19wYWNrYWdlX3dy
aXRlX3JwbSc6ICcwMjInfX0iCl90YXNrX2RlcHM9InsndGFza3MnOiBbJ2RvX3BhdGNoJywgJ2Rv
X3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fcG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZScsICdkb19w
cmVwYXJlX3JlY2lwZV9zeXNyb290JywgJ2RvX2xpc3R0YXNrcycsICdkb19jbGVhbicsICdkb19j
aGVja3VyaScsICdkb19mZXRjaCcsICdkb191bnBhY2snLCAnZG9fY29uZmlndXJlJywgJ2RvX2Nv
bXBpbGUnLCAnZG9faW5zdGFsbCcsICdkb19idWlsZCcsICdkb19jbGVhbnNzdGF0ZScsICdkb19j
bGVhbmFsbCcsICdkb19wYWNrYWdlX3FhJywgJ2RvX3BhY2thZ2VfcWFfc2V0c2NlbmUnLCAnZG9f
cGFja2FnZScsICdkb19wYWNrYWdlX3NldHNjZW5lJywgJ2RvX3BhY2thZ2VkYXRhJywgJ2RvX3Bh
Y2thZ2VkYXRhX3NldHNjZW5lJywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtX3NldHNjZW5lJywgJ2Rv
X3BhY2thZ2Vfd3JpdGVfcnBtJywgJ2RvX2RldnNoZWxsJywgJ2RvX2RldnB5c2hlbGwnLCAnZG9f
cG9wdWxhdGVfbGljJywgJ2RvX3BvcHVsYXRlX2xpY19zZXRzY2VuZSddLCAncGFyZW50cyc6IHsn
ZG9fcGF0Y2gnOiBbJ2RvX3VucGFjayddLCAnZG9fcG9wdWxhdGVfc3lzcm9vdCc6IFsnZG9faW5z
dGFsbCddLCAnZG9fcG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZSc6IFtdLCAnZG9fcHJlcGFyZV9y
ZWNpcGVfc3lzcm9vdCc6IFsnZG9fZmV0Y2gnXSwgJ2RvX2xpc3R0YXNrcyc6IFtdLCAnZG9fY2xl
YW4nOiBbXSwgJ2RvX2NoZWNrdXJpJzogW10sICdkb19mZXRjaCc6IFtdLCAnZG9fdW5wYWNrJzog
Wydkb19mZXRjaCddLCAnZG9fY29uZmlndXJlJzogWydkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290
JywgJ2RvX3BhdGNoJ10sICdkb19jb21waWxlJzogWydkb19jb25maWd1cmUnXSwgJ2RvX2luc3Rh
bGwnOiBbJ2RvX2NvbXBpbGUnXSwgJ2RvX2J1aWxkJzogWydkb19wb3B1bGF0ZV9saWMnLCAnZG9f
cGFja2FnZWRhdGEnLCAnZG9fcGFja2FnZV9xYScsICdkb19wb3B1bGF0ZV9zeXNyb290J10sICdk
b19jbGVhbnNzdGF0ZSc6IFsnZG9fY2xlYW4nXSwgJ2RvX2NsZWFuYWxsJzogWydkb19jbGVhbnNz
dGF0ZSddLCAnZG9fcGFja2FnZV9xYSc6IFsnZG9fcGFja2FnZWRhdGEnLCAnZG9fcGFja2FnZSdd
LCAnZG9fcGFja2FnZV9xYV9zZXRzY2VuZSc6IFtdLCAnZG9fcGFja2FnZSc6IFsnZG9faW5zdGFs
bCddLCAnZG9fcGFja2FnZV9zZXRzY2VuZSc6IFtdLCAnZG9fcGFja2FnZWRhdGEnOiBbJ2RvX3Bh
Y2thZ2UnXSwgJ2RvX3BhY2thZ2VkYXRhX3NldHNjZW5lJzogW10sICdkb19wYWNrYWdlX3dyaXRl
X3JwbV9zZXRzY2VuZSc6IFtdLCAnZG9fcGFja2FnZV93cml0ZV9ycG0nOiBbJ2RvX3BhY2thZ2Vk
YXRhJywgJ2RvX3BhY2thZ2UnXSwgJ2RvX2RldnNoZWxsJzogWydkb19wYXRjaCcsICdkb19wcmVw
YXJlX3JlY2lwZV9zeXNyb290J10sICdkb19kZXZweXNoZWxsJzogWydkb19wYXRjaCddLCAnZG9f
cG9wdWxhdGVfbGljJzogWydkb19wYXRjaCddLCAnZG9fcG9wdWxhdGVfbGljX3NldHNjZW5lJzog
W119LCAnbWNkZXBlbmRzJzoge30sICdkZXBlbmRzJzogeydkb19wYXRjaCc6ICdxdWlsdC1uYXRp
dmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcsICdkb19wb3B1bGF0ZV9zeXNyb290JzogJyB2aXJ0dWFs
L3g4Nl82NC1wb2t5LWxpbnV4LWJpbnV0aWxzOmRvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fcHJl
cGFyZV9yZWNpcGVfc3lzcm9vdCc6ICcgdmlydHVhbC9mYWtlcm9vdC1uYXRpdmU6ZG9fcG9wdWxh
dGVfc3lzcm9vdCcsICdkb19pbnN0YWxsJzogJyB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19w
b3B1bGF0ZV9zeXNyb290JywgJ2RvX3BhY2thZ2VfcWEnOiAnIHZpcnR1YWwveDg2XzY0LXBva3kt
bGludXgtYmludXRpbHM6ZG9fcG9wdWxhdGVfc3lzcm9vdCB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2
ZTpkb19wb3B1bGF0ZV9zeXNyb290JywgJ2RvX3BhY2thZ2UnOiAnIHZpcnR1YWwvZmFrZXJvb3Qt
bmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QgcnBtLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290
IGR3YXJmc3JjZmlsZXMtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QgZmlsZS1uYXRpdmU6ZG9f
cG9wdWxhdGVfc3lzcm9vdCcsICdkb19wYWNrYWdlX3NldHNjZW5lJzogJyB2aXJ0dWFsL2Zha2Vy
b290LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290JywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJzog
JyAgcnBtLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZl
OmRvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9fZGV2c2hlbGwnOiAnIHZpcnR1YWwvZmFrZXJvb3Qt
bmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnfSwgJ3JkZXBlbmRzJzoge30sICdkZXB0YXNrJzog
eydkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290JzogJ2RvX3BvcHVsYXRlX3N5c3Jvb3QnLCAnZG9f
cGFja2FnZSc6ICcgZG9fcGFja2FnZWRhdGEnfSwgJ3JkZXB0YXNrJzogeydkb19wYWNrYWdlX3Fh
JzogJ2RvX3BhY2thZ2VkYXRhJywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJzogJ2RvX3BhY2thZ2Vk
YXRhJ30sICdyZWNyZGVwdGFzayc6IHsnZG9fYnVpbGQnOiAnIGRvX2RlcGxveSBkb19wYWNrYWdl
X3dyaXRlX3JwbSd9LCAncmVjaWRlcHRhc2snOiB7fSwgJ25vc3RhbXAnOiB7J2RvX2xpc3R0YXNr
cyc6ICcxJywgJ2RvX2NsZWFuJzogJzEnLCAnZG9fY2hlY2t1cmknOiAnMScsICdkb19idWlsZCc6
ICcxJywgJ2RvX2NsZWFuc3N0YXRlJzogJzEnLCAnZG9fY2xlYW5hbGwnOiAnMScsICdkb19kZXZz
aGVsbCc6ICcxJywgJ2RvX2RldnB5c2hlbGwnOiAnMSd9LCAnZmFrZXJvb3QnOiB7J2RvX2luc3Rh
bGwnOiAnMScsICdkb19wYWNrYWdlX3FhJzogJzEnLCAnZG9fcGFja2FnZSc6ICcxJywgJ2RvX3Bh
Y2thZ2Vfc2V0c2NlbmUnOiAnMScsICdkb19wYWNrYWdlX3dyaXRlX3JwbSc6ICcxJ30sICdub2V4
ZWMnOiB7J2RvX2J1aWxkJzogJzEnfSwgJ3VtYXNrJzogeydkb19wYXRjaCc6ICcwMjInLCAnZG9f
cG9wdWxhdGVfc3lzcm9vdCc6ICcwMjInLCAnZG9fdW5wYWNrJzogJzAyMicsICdkb19jb25maWd1
cmUnOiAnMDIyJywgJ2RvX2NvbXBpbGUnOiAnMDIyJywgJ2RvX2luc3RhbGwnOiAnMDIyJywgJ2Rv
X3BhY2thZ2UnOiAnMDIyJywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJzogJzAyMid9fSIKIwojICRi
YXNlX2JpbmRpciBbNCBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6MjMKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MjMKIyAgICAgIiR7cm9vdF9wcmVmaXh9
L2JpbiIKIyAgIG92ZXJyaWRlW25hdGl2ZV06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjUyCiMgICAgICIvYmluIgojICAgb3ZlcnJpZGVbbmF0aXZlc2RrXTpzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjgKIyAgICAgIi9iaW4iCiMg
cHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke3Jvb3RfcHJlZml4fS9iaW4iCmV4cG9ydCBiYXNl
X2JpbmRpcj0iL2JpbiIKIwojICRiYXNlX2JpbmRpcl9uYXRpdmUKIyAgIHNldCAvaG9tZS91c2Vy
L3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MgojICAgICAiL2JpbiIKYmFzZV9iaW5kaXJf
bmF0aXZlPSIvYmluIgojCiMgJGJhc2VfYmluZGlyX25hdGl2ZXNkawojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY4CiMgICAgICIvYmluIgpiYXNlX2JpbmRp
cl9uYXRpdmVzZGs9Ii9iaW4iCiMKIyAkYmFzZV9kZXAKIyAgIF9wcmVwZW5kIGFzdC5weToyMDEg
W2V2YWxdCiMgICAgICJkZWYgYmFzZV9kZXBfcHJlcGVuZChkKToKIyAgICAgICAgIGlmIGQuZ2V0
VmFyKCdJTkhJQklUX0RFRkFVTFRfREVQUycsIEZhbHNlKToKIyAgICAgICAgICAgICByZXR1cm4g
IiIKIyAgICAgICAgIHJldHVybiAiJHtCQVNFX0RFRkFVTFRfREVQU30iCiMgICAgICIKYmFzZV9k
ZXA9ImRlZiBiYXNlX2RlcF9wcmVwZW5kKGQpOiBcCiAgICBpZiBkLmdldFZhcignSU5ISUJJVF9E
RUZBVUxUX0RFUFMnLCBGYWxzZSk6IFwKICAgICAgICByZXR1cm4gXCJcIiBcCiAgICByZXR1cm4g
XCJ2aXJ0dWFsL3g4Nl82NC1wb2t5LWxpbnV4LWdjYyB2aXJ0dWFsL3g4Nl82NC1wb2t5LWxpbnV4
LWNvbXBpbGVybGlicyB2aXJ0dWFsL2xpYmNcIiBcCiIKIwojICRiYXNlX2xpYmRpciBbNCBvcGVy
YXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6MjUKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6MjUKIyAgICAgIiR7cm9vdF9wcmVmaXh9LyR7YmFzZWxpYn0iCiMgICBv
dmVycmlkZVtuYXRpdmVdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29u
Zjo2MQojICAgICAiL2xpYiIKIyAgIG92ZXJyaWRlW25hdGl2ZXNka106c2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjcyCiMgICAgICIvbGliIgojIHByZS1leHBhbnNp
b24gdmFsdWU6CiMgICAiJHtyb290X3ByZWZpeH0vJHtiYXNlbGlifSIKZXhwb3J0IGJhc2VfbGli
ZGlyPSIvbGliIgojCiMgJGJhc2VfbGliZGlyX25hdGl2ZQojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjYxCiMgICAgICIvbGliIgpiYXNlX2xpYmRpcl9uYXRp
dmU9Ii9saWIiCiMKIyAkYmFzZV9saWJkaXJfbmF0aXZlc2RrCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzIKIyAgICAgIi9saWIiCmJhc2VfbGliZGlyX25h
dGl2ZXNkaz0iL2xpYiIKIwojICRiYXNlX3ByZWZpeCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0
ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTYKIyAgICAgW2V4cG9y
dF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTYK
IyAgICAgIiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiIKZXhwb3J0IGJhc2VfcHJlZml4
PSIiCiMKIyAkYmFzZV9zYmluZGlyIFs0IG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNAojICAgICBbZXhwb3J0XSAiMSIKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjoyNAojICAgICAiJHty
b290X3ByZWZpeH0vc2JpbiIKIyAgIG92ZXJyaWRlW25hdGl2ZV06c2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjUzCiMgICAgICIvc2JpbiIKIyAgIG92ZXJyaWRlW25h
dGl2ZXNka106c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY5CiMg
ICAgICIvc2JpbiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7cm9vdF9wcmVmaXh9L3Ni
aW4iCmV4cG9ydCBiYXNlX3NiaW5kaXI9Ii9zYmluIgojCiMgJGJhc2Vfc2JpbmRpcl9uYXRpdmUK
IyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1MwojICAgICAi
L3NiaW4iCmJhc2Vfc2JpbmRpcl9uYXRpdmU9Ii9zYmluIgojCiMgJGJhc2Vfc2JpbmRpcl9uYXRp
dmVzZGsKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo2OQoj
ICAgICAiL3NiaW4iCmJhc2Vfc2JpbmRpcl9uYXRpdmVzZGs9Ii9zYmluIgojCiMgJGJhc2VsaWIg
WzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjoxMAojICAgICAiJHtCQVNFTElCfSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjoxMQojICAgICBbdmFyZGVwdmFsdWVdICIke2Jhc2VsaWJ9IgojIHBy
ZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtCQVNFTElCfSIKYmFzZWxpYj0ibGliIgojCiMgJGJp
bmRpciBbNiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6NDMKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDMKIyAgICAgIiR7ZXhlY19wcmVmaXh9L2JpbiIK
IyAgIG92ZXJyaWRlW25hdGl2ZV06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFr
ZS5jb25mOjU2CiMgICAgICIke3ByZWZpeF9uYXRpdmV9L2JpbiIKIyAgIG92ZXJyaWRlW2Nyb3Nz
XTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjMKIyAgICAgIi9i
aW4iCiMgICBvdmVycmlkZVtjcm9zc3NjcmlwdHNdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo2NAojICAgICAiJHtiaW5kaXJ9L2Nyb3Nzc2NyaXB0cyIKIyAgIG92
ZXJyaWRlW25hdGl2ZXNka106c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjY2CiMgICAgICIke3ByZWZpeF9uYXRpdmVzZGt9L2JpbiIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiR7ZXhlY19wcmVmaXh9L2JpbiIKZXhwb3J0IGJpbmRpcj0iL3Vzci9iaW4iCiMK
IyAkYmluZGlyX2Nyb3NzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NjMKIyAgICAgIi9iaW4iCmJpbmRpcl9jcm9zcz0iL2JpbiIKIwojICRiaW5kaXJfY3Jv
c3NzY3JpcHRzCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
NjQKIyAgICAgIiR7YmluZGlyfS9jcm9zc3NjcmlwdHMiCmJpbmRpcl9jcm9zc3NjcmlwdHM9Ii91
c3IvYmluL2Nyb3Nzc2NyaXB0cyIKIwojICRiaW5kaXJfbmF0aXZlCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTYKIyAgICAgIiR7cHJlZml4X25hdGl2ZX0v
YmluIgpiaW5kaXJfbmF0aXZlPSIvdXNyL2JpbiIKIwojICRiaW5kaXJfbmF0aXZlc2RrCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjYKIyAgICAgIiR7cHJl
Zml4X25hdGl2ZXNka30vYmluIgpiaW5kaXJfbmF0aXZlc2RrPSIvdXNyL2JpbiIKIwojICRkYXRh
ZGlyIFszIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L2JpdGJha2UuY29uZjozMwojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMwojICAgICAiJHtwcmVmaXh9L3NoYXJlIgojICAg
b3ZlcnJpZGVbbmF0aXZlXTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6NjIKIyAgICAgIiR7cHJlZml4X25hdGl2ZX0vc2hhcmUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1
ZToKIyAgICIke3ByZWZpeH0vc2hhcmUiCmV4cG9ydCBkYXRhZGlyPSIvdXNyL3NoYXJlIgojCiMg
JGRhdGFkaXJfbmF0aXZlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6NjIKIyAgICAgIiR7cHJlZml4X25hdGl2ZX0vc2hhcmUiCmRhdGFkaXJfbmF0aXZlPSIv
dXNyL3NoYXJlIgojCiMgJGRvX2Jvb3RpbWcKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjo3CiMgICAgIFtkb2NdICJDcmVhdGVzIGEgYm9vdGFibGUg
bGl2ZSBpbWFnZSIKIwojICRkb19idW5kbGVfaW5pdHJhbWZzCiMgICBzZXQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6OQojICAgICBbZG9jXSAiQ29tYmluZXMg
YW4gaW5pdGlhbCByYW1kaXNrIGltYWdlIGFuZCBrZXJuZWwgdG9nZXRoZXIgdG8gZm9ybSBhIHNp
bmdsZSBpbWFnZSIKIwojICRkb19jb21waWxlX2tlcm5lbG1vZHVsZXMKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxNQojICAgICBbZG9jXSAiQ29t
cGlsZXMgbG9hZGFibGUgbW9kdWxlcyBmb3IgdGhlIExpbnV4IGtlcm5lbCIKIwojICRkb19jb21w
aWxlX3B0ZXN0X2Jhc2UKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjoxNgojICAgICBbZG9jXSAiQ29tcGlsZXMgdGhlIHJ1bnRpbWUgdGVzdCBzdWl0
ZSBpbmNsdWRlZCBpbiB0aGUgc29mdHdhcmUgYmVpbmcgYnVpbHQiCiMKIyAkZG9fY29uZmlndXJl
X3B0ZXN0X2Jhc2UKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjoxOAojICAgICBbZG9jXSAiQ29uZmlndXJlcyB0aGUgcnVudGltZSB0ZXN0IHN1aXRl
IGluY2x1ZGVkIGluIHRoZSBzb2Z0d2FyZSBiZWluZyBidWlsdCIKIwojICRkb19kZXBsb3kKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoxOQojICAg
ICBbZG9jXSAiV3JpdGVzIGRlcGxveWFibGUgb3V0cHV0IGZpbGVzIHRvIHRoZSBkZXBsb3kgZGly
ZWN0b3J5IgojCiMgJGRvX2RpZmZjb25maWcKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2RvY3VtZW50YXRpb24uY29uZjoyMgojICAgICBbZG9jXSAiQ29tcGFyZXMgdGhlIG9sZCBh
bmQgbmV3IGNvbmZpZyBmaWxlcyBhZnRlciBydW5uaW5nIGRvX21lbnVjb25maWcgZm9yIHRoZSBr
ZXJuZWwiCiMKIyAkZG9faW1hZ2Vfd2ljCiMgICBhcHBlbmQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZjo0NQojICAgICBbZGVwZW5kc10gInN5c2xpbnV4
OmRvX3BvcHVsYXRlX3N5c3Jvb3Qgc3lzbGludXgtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3Qg
bXRvb2xzLW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IGRvc2ZzdG9vbHMtbmF0aXZlOmRvX3Bv
cHVsYXRlX3N5c3Jvb3QiCiMKIyAkZG9faW5zdGFsbF9wdGVzdF9iYXNlCiMgICBzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjUKIyAgICAgW2RvY10gIkNv
cGllcyB0aGUgcnVudGltZSB0ZXN0IHN1aXRlIGZpbGVzIGZyb20gdGhlIGNvbXBpbGF0aW9uIGRp
cmVjdG9yeSB0byBhIGhvbGRpbmcgYXJlYSIKIwojICRkb19rZXJuZWxfY2hlY2tvdXQKIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjoyNgojICAgICBb
ZG9jXSAiQ2hlY2tzIG91dCBzb3VyY2UvbWV0YSBicmFuY2hlcyBmb3IgYSBsaW51eC15b2N0byBz
dHlsZSBrZXJuZWwiCiMKIyAkZG9fa2VybmVsX2NvbmZpZ2NoZWNrCiMgICBzZXQgL2hvbWUvdXNl
ci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6MjcKIyAgICAgW2RvY10gIlZhbGlk
YXRlcyB0aGUga2VybmVsIGNvbmZpZ3VyYXRpb24gZm9yIGEgbGludXgteW9jdG8gc3R5bGUga2Vy
bmVsIgojCiMgJGRvX2tlcm5lbF9jb25maWdtZQojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRh
L2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjI4CiMgICAgIFtkb2NdICJBc3NlbWJsZXMgdGhlIGtl
cm5lbCBjb25maWd1cmF0aW9uIGZvciBhIGxpbnV4LXlvY3RvIHN0eWxlIGtlcm5lbCIKIwojICRk
b19rZXJuZWxfbGlua19pbWFnZXMKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Rv
Y3VtZW50YXRpb24uY29uZjoyOQojICAgICBbZG9jXSAiQ3JlYXRlcyBhIHN5bWJvbGljIGxpbmsg
aW4gYXJjaC8kYXJjaC9ib290IGZvciB2bWxpbnV4IGFuZCB2bWxpbnV6IGtlcm5lbCBpbWFnZXMi
CiMKIyAkZG9fbWVudWNvbmZpZwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9j
dW1lbnRhdGlvbi5jb25mOjMxCiMgICAgIFtkb2NdICJSdW5zICdtYWtlIG1lbnVjb25maWcnIGZv
ciB0aGUga2VybmVsIgojCiMgJGRvX3BhY2thZ2VfaW5kZXgKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozMwojICAgICBbZG9jXSAiQ3JlYXRlcyBv
ciB1cGRhdGVzIHRoZSBpbmRleCBpbiB0aGUgUGFja2FnZSBGZWVkIGFyZWEiCiMKIyAkZG9fcGFj
a2FnZV93cml0ZV9kZWIgWzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNQojICAgICBbZG9jXSAiQ3JlYXRlcyB0aGUgYWN0
dWFsIERFQiBwYWNrYWdlcyBhbmQgcGxhY2VzIHRoZW0gaW4gdGhlIFBhY2thZ2UgRmVlZCBhcmVh
IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3M6MTgK
IyAgICAgW3JkZXB0YXNrXSAiJHtERUJJQU5SREVQfSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIk5vbmUiCiMKIyAkZG9fcGFja2FnZV93cml0ZV9pcGsgWzIgb3BlcmF0aW9uc10KIyAgIHNl
dCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjozNgojICAgICBb
ZG9jXSAiQ3JlYXRlcyB0aGUgYWN0dWFsIElQSyBwYWNrYWdlcyBhbmQgcGxhY2VzIHRoZW0gaW4g
dGhlIFBhY2thZ2UgRmVlZCBhcmVhIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NsYXNz
ZXMvZGViaWFuLmJiY2xhc3M6MTcKIyAgICAgW3JkZXB0YXNrXSAiJHtERUJJQU5SREVQfSIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIk5vbmUiCiMKIyAkZG9fcGFja2FnZV93cml0ZV90YXIg
WzIgb3BlcmF0aW9uc10KIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50
YXRpb24uY29uZjozOAojICAgICBbZG9jXSAiQ3JlYXRlcyB0YXIgYXJjaGl2ZXMgZm9yIHBhY2th
Z2VzIGFuZCBwbGFjZXMgdGhlbSBpbiB0aGUgUGFja2FnZSBGZWVkIGFyZWEiCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY2xhc3Nlcy9kZWJpYW4uYmJjbGFzczoxOQojICAgICBbcmRlcHRh
c2tdICIke0RFQklBTlJERVB9IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiTm9uZSIKIwoj
ICRkb19wb3B1bGF0ZV9zZGsKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3Vt
ZW50YXRpb24uY29uZjo0MgojICAgICBbZG9jXSAiQ3JlYXRlcyB0aGUgZmlsZSBhbmQgZGlyZWN0
b3J5IHN0cnVjdHVyZSBmb3IgYW4gaW5zdGFsbGFibGUgU0RLIgojCiMgJGRvX3JtX3dvcmsKIyAg
IHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0NAojICAg
ICBbZG9jXSAiUmVtb3ZlcyB3b3JrIGZpbGVzIGFmdGVyIHRoZSBidWlsZCBzeXN0ZW0gaGFzIGZp
bmlzaGVkIHdpdGggdGhlbSIKIwojICRkb19ybV93b3JrX2FsbAojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQ1CiMgICAgIFtkb2NdICJUb3AtbGV2
ZWwgdGFzayBmb3IgcmVtb3Zpbmcgd29yayBmaWxlcyBhZnRlciB0aGUgYnVpbGQgc3lzdGVtIGhh
cyBmaW5pc2hlZCB3aXRoIHRoZW0iCiMKIyAkZG9fcm9vdGZzIFszIG9wZXJhdGlvbnNdCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmY6NDYKIyAgICAg
W2RvY10gIkNyZWF0ZXMgdGhlIHJvb3QgZmlsZXN5c3RlbSAoZmlsZSBhbmQgZGlyZWN0b3J5IHN0
cnVjdHVyZSkgZm9yIGFuIGltYWdlIgojICAgYXBwZW5kIC9ob21lL3VzZXIvcG9reS9tZXRhL2Ns
YXNzZXMvaW1hZ2UtbWtsaWJzLmJiY2xhc3M6MQojICAgICBbZGVwZW5kc10gIm1rbGlicy1uYXRp
dmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKIyAgIGFwcGVuZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
bGFzc2VzL2ltYWdlLXByZWxpbmsuYmJjbGFzczoxCiMgICAgIFtkZXBlbmRzXSAicHJlbGluay1u
YXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIk5v
bmUiCiMKIyAkZG9fc2F2ZWRlZmNvbmZpZwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvZG9jdW1lbnRhdGlvbi5jb25mOjQ3CiMgICAgIFtkb2NdICJDcmVhdGVzIGEgbWluaW1hbCBM
aW51eCBrZXJuZWwgY29uZmlndXJhdGlvbiBmaWxlIgojCiMgJGRvX3NpemVjaGVjawojICAgc2V0
IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjQ4CiMgICAgIFtk
b2NdICJDaGVja3MgdGhlIHNpemUgb2YgdGhlIGtlcm5lbCBpbWFnZSBhZ2FpbnN0IEtFUk5FTF9J
TUFHRV9NQVhTSVpFIChpZiBzZXQpIgojCiMgJGRvX3NwZHgKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZjo0OQojICAgICBbZG9jXSAiQSBidWlsZCBz
dGFnZSB0aGF0IHRha2VzIHRoZSBzb3VyY2UgY29kZSBhbmQgc2NhbnMgaXQgb24gYSByZW1vdGUg
Rk9TU09MT0dZIHNlcnZlciBpbiBvcmRlciB0byBwcm9kdWNlIGFuIFNQRFggZG9jdW1lbnQiCiMK
IyAkZG9fc3RyaXAKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRp
b24uY29uZjo1MAojICAgICBbZG9jXSAiU3RyaXBzIHVubmVlZGVkIHNlY3Rpb25zIG91dCBvZiB0
aGUgTGludXgga2VybmVsIGltYWdlIgojCiMgJGRvX3Rlc3RpbWFnZQojICAgc2V0IC9ob21lL3Vz
ZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjUxCiMgICAgIFtkb2NdICJCb290
cyBhbiBpbWFnZSBhbmQgcGVyZm9ybXMgcnVudGltZSB0ZXN0cyB3aXRoaW4gdGhlIGltYWdlIgoj
CiMgJGRvX3Rlc3RpbWFnZV9hdXRvCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9k
b2N1bWVudGF0aW9uLmNvbmY6NTIKIyAgICAgW2RvY10gIkJvb3RzIGFuIGltYWdlIGFuZCBwZXJm
b3JtcyBydW50aW1lIHRlc3RzIHdpdGhpbiB0aGUgaW1hZ2UgaW1tZWRpYXRlbHkgYWZ0ZXIgaXQg
aGFzIGJlZW4gYnVpbHQiCiMKIyAkZG9fdGVzdHNkawojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mOjUzCiMgICAgIFtkb2NdICJJbnN0YWxscyBhbiBT
REsgYW5kIHBlcmZvcm1zIHJ1bnRpbWUgdGVzdHMgb24gdGhlIHRvb2xzIGluc3RhbGxlZCBieSBp
dCIKIwojICRkb191Ym9vdF9ta2ltYWdlCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9kb2N1bWVudGF0aW9uLmNvbmY6NTQKIyAgICAgW2RvY10gIkNyZWF0ZXMgYSB1SW1hZ2UgZmls
ZSBmcm9tIHRoZSBrZXJuZWwgZm9yIHRoZSBVLUJvb3QgYm9vdGxvYWRlciIKIwojICRkb192YWxp
ZGF0ZV9icmFuY2hlcwojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRh
dGlvbi5jb25mOjU2CiMgICAgIFtkb2NdICJFbnN1cmVzIHRoYXQgdGhlIHNvdXJjZS9tZXRhIGJy
YW5jaGVzIGFyZSBvbiB0aGUgbG9jYXRpb25zIHNwZWNpZmllZCBieSB0aGVpciBTUkNSRVYgdmFs
dWVzIGZvciBhIGxpbnV4LXlvY3RvIHN0eWxlIGtlcm5lbCIKIwojICRkb2NkaXIgWzIgb3BlcmF0
aW9uc10KIyAgIGV4cG9ydGVkIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25m
OjM2CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjM2CiMgICAgICIke2RhdGFkaXJ9L2RvYyIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiR7ZGF0YWRpcn0vZG9jIgpleHBvcnQgZG9jZGlyPSIvdXNyL3NoYXJlL2RvYyIK
IwojICRleGVjX3ByZWZpeCBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTgKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MTgKIyAgICAgIiR7cHJlZml4
fSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7cHJlZml4fSIKZXhwb3J0IGV4ZWNfcHJl
Zml4PSIvdXNyIgojCiMgJGluY2x1ZGVkaXIgWzQgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ3CiMgICAgIFtleHBvcnRdICIx
IgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ3CiMgICAg
ICIke2V4ZWNfcHJlZml4fS9pbmNsdWRlIgojICAgb3ZlcnJpZGVbbmF0aXZlXTpzZXQgL2hvbWUv
dXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTgKIyAgICAgIiR7cHJlZml4X25hdGl2
ZX0vaW5jbHVkZSIKIyAgIG92ZXJyaWRlW25hdGl2ZXNka106c2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjcwCiMgICAgICIke3ByZWZpeF9uYXRpdmVzZGt9L2luY2x1
ZGUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2V4ZWNfcHJlZml4fS9pbmNsdWRlIgpl
eHBvcnQgaW5jbHVkZWRpcj0iL3Vzci9pbmNsdWRlIgojCiMgJGluY2x1ZGVkaXJfbmF0aXZlCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTgKIyAgICAgIiR7
cHJlZml4X25hdGl2ZX0vaW5jbHVkZSIKaW5jbHVkZWRpcl9uYXRpdmU9Ii91c3IvaW5jbHVkZSIK
IwojICRpbmNsdWRlZGlyX25hdGl2ZXNkawojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2Nv
bmYvYml0YmFrZS5jb25mOjcwCiMgICAgICIke3ByZWZpeF9uYXRpdmVzZGt9L2luY2x1ZGUiCmlu
Y2x1ZGVkaXJfbmF0aXZlc2RrPSIvdXNyL2luY2x1ZGUiCiMKIyAkaW5mb2RpciBbMiBvcGVyYXRp
b25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
MzQKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6MzQKIyAgICAgIiR7ZGF0YWRpcn0vaW5mbyIKIyBwcmUtZXhwYW5zaW9uIHZh
bHVlOgojICAgIiR7ZGF0YWRpcn0vaW5mbyIKZXhwb3J0IGluZm9kaXI9Ii91c3Ivc2hhcmUvaW5m
byIKIwojICRsY2xfbWF5YmVfZm9ydGlmeQojICAgc2V0PyAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2Rpc3Ryby9pbmNsdWRlL3NlY3VyaXR5X2ZsYWdzLmluYzoxMwojICAgICAiJHtAb2UudXRp
bHMuY29uZGl0aW9uYWwoJ0RFQlVHX0JVSUxEJywnMScsJycsJy1EX0ZPUlRJRllfU09VUkNFPTIn
LGQpfSIKbGNsX21heWJlX2ZvcnRpZnk9Ii1EX0ZPUlRJRllfU09VUkNFPTIiCiMKIyAkbGliZGly
IFs0IG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2Jp
dGJha2UuY29uZjo0NQojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kv
bWV0YS9jb25mL2JpdGJha2UuY29uZjo0NQojICAgICAiJHtleGVjX3ByZWZpeH0vJHtiYXNlbGli
fSIKIyAgIG92ZXJyaWRlW25hdGl2ZV06c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjU5CiMgICAgICIke3ByZWZpeF9uYXRpdmV9L2xpYiIKIyAgIG92ZXJyaWRlW25h
dGl2ZXNka106c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjcxCiMg
ICAgICIke3ByZWZpeF9uYXRpdmVzZGt9L2xpYiIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAg
IiR7ZXhlY19wcmVmaXh9LyR7YmFzZWxpYn0iCmV4cG9ydCBsaWJkaXI9Ii91c3IvbGliIgojCiMg
JGxpYmRpcl9uYXRpdmUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo1OQojICAgICAiJHtwcmVmaXhfbmF0aXZlfS9saWIiCmxpYmRpcl9uYXRpdmU9Ii91c3Iv
bGliIgojCiMgJGxpYmRpcl9uYXRpdmVzZGsKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo3MQojICAgICAiJHtwcmVmaXhfbmF0aXZlc2RrfS9saWIiCmxpYmRp
cl9uYXRpdmVzZGs9Ii91c3IvbGliIgojCiMgJGxpYmV4ZWNkaXIgWzMgb3BlcmF0aW9uc10KIyAg
IGV4cG9ydGVkIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ2CiMgICAg
IFtleHBvcnRdICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5j
b25mOjQ2CiMgICAgICIke2V4ZWNfcHJlZml4fS9saWJleGVjIgojICAgb3ZlcnJpZGVbbmF0aXZl
XTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjAKIyAgICAgIiR7
cHJlZml4X25hdGl2ZX0vbGliZXhlYyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7ZXhl
Y19wcmVmaXh9L2xpYmV4ZWMiCmV4cG9ydCBsaWJleGVjZGlyPSIvdXNyL2xpYmV4ZWMiCiMKIyAk
bGliZXhlY2Rpcl9uYXRpdmUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjo2MAojICAgICAiJHtwcmVmaXhfbmF0aXZlfS9saWJleGVjIgpsaWJleGVjZGlyX25h
dGl2ZT0iL3Vzci9saWJleGVjIgojCiMgJGxvY2FsZWRpcgojICAgc2V0IC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjQ5CiMgICAgICIke2xpYmRpcn0vbG9jYWxlIgpsb2Nh
bGVkaXI9Ii91c3IvbGliL2xvY2FsZSIKIwojICRsb2NhbHN0YXRlZGlyIFszIG9wZXJhdGlvbnNd
CiMgICBleHBvcnRlZCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMgoj
ICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJh
a2UuY29uZjozMgojICAgICAiJHtiYXNlX3ByZWZpeH0vdmFyIgojICAgb3ZlcnJpZGVbbmF0aXZl
c2RrXTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzMKIyAgICAg
Ii92YXIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2Jhc2VfcHJlZml4fS92YXIiCmV4
cG9ydCBsb2NhbHN0YXRlZGlyPSIvdmFyIgojCiMgJGxvY2Fsc3RhdGVkaXJfbmF0aXZlc2RrCiMg
ICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NzMKIyAgICAgIi92
YXIiCmxvY2Fsc3RhdGVkaXJfbmF0aXZlc2RrPSIvdmFyIgojCiMgJG1hbmRpciBbMiBvcGVyYXRp
b25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6
MzUKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6MzUKIyAgICAgIiR7ZGF0YWRpcn0vbWFuIgojIHByZS1leHBhbnNpb24gdmFs
dWU6CiMgICAiJHtkYXRhZGlyfS9tYW4iCmV4cG9ydCBtYW5kaXI9Ii91c3Ivc2hhcmUvbWFuIgoj
CiMgJG1vZHVsZV9jb25mX3V2ZXNhZmIKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25m
L21hY2hpbmUvcWVtdXg4Ni02NC5jb25mOjQyCiMgICAgICJvcHRpb25zIHV2ZXNhZmIgbW9kZV9v
cHRpb249JHtVVkVTQV9NT0RFfSIKbW9kdWxlX2NvbmZfdXZlc2FmYj0ib3B0aW9ucyB1dmVzYWZi
IG1vZGVfb3B0aW9uPTY0MHg0ODAtMzIiCiMKIyAkbm9uYXJjaF9iYXNlX2xpYmRpciBbMiBvcGVy
YXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNv
bmY6MjYKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29u
Zi9iaXRiYWtlLmNvbmY6MjYKIyAgICAgIiR7cm9vdF9wcmVmaXh9L2xpYiIKIyBwcmUtZXhwYW5z
aW9uIHZhbHVlOgojICAgIiR7cm9vdF9wcmVmaXh9L2xpYiIKZXhwb3J0IG5vbmFyY2hfYmFzZV9s
aWJkaXI9Ii9saWIiCiMKIyAkbm9uYXJjaF9saWJkaXIgWzIgb3BlcmF0aW9uc10KIyAgIGV4cG9y
dGVkIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM5CiMgICAgIFtleHBv
cnRdICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjM5
CiMgICAgICIke2V4ZWNfcHJlZml4fS9saWIiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIk
e2V4ZWNfcHJlZml4fS9saWIiCmV4cG9ydCBub25hcmNoX2xpYmRpcj0iL3Vzci9saWIiCiMKIyAk
b2xkaW5jbHVkZWRpciBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5
L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDgKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDgKIyAgICAgIiR7ZXhlY19wcmVm
aXh9L2luY2x1ZGUiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke2V4ZWNfcHJlZml4fS9p
bmNsdWRlIgpleHBvcnQgb2xkaW5jbHVkZWRpcj0iL3Vzci9pbmNsdWRlIgojCiMgJHByZWZpeCBb
NCBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRi
YWtlLmNvbmY6MTcKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21l
dGEvY29uZi9iaXRiYWtlLmNvbmY6MTcKIyAgICAgIi91c3IiCiMgICBvdmVycmlkZVtuYXRpdmVd
OnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NQojICAgICAiL3Vz
ciIKIyAgIG92ZXJyaWRlW25hdGl2ZXNka106c2V0IC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYv
Yml0YmFrZS5jb25mOjY1CiMgICAgICIvdXNyIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAi
L3VzciIKZXhwb3J0IHByZWZpeD0iL3VzciIKIwojICRwcmVmaXhfbmF0aXZlCiMgICBzZXQgL2hv
bWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NTUKIyAgICAgIi91c3IiCnByZWZp
eF9uYXRpdmU9Ii91c3IiCiMKIyAkcHJlZml4X25hdGl2ZXNkawojICAgc2V0IC9ob21lL3VzZXIv
cG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjY1CiMgICAgICIvdXNyIgpwcmVmaXhfbmF0aXZl
c2RrPSIvdXNyIgojCiMgJHByb2Nlc3NfZmlsZSBbMiBvcGVyYXRpb25zXQojICAgb3ZlcnJpZGVb
bGludXhdOnNldCBhc3QucHk6MjAxIFtldmFsXQojICAgICAiZGVmIHByb2Nlc3NfZmlsZV9saW51
eChjbWQsIGZwYXRoLCByb290ZGlyLCBiYXNlcHJlZml4LCB0bXBkaXIsIGQsIGJyZWFrX2hhcmRs
aW5rcyA9IEZhbHNlKToKIyAgICAgICAgIGltcG9ydCBzdWJwcm9jZXNzIGFzIHN1YgojICAgICAK
IyAgICAgICAgIHAgPSBzdWIuUG9wZW4oW2NtZCwgJy1sJywgZnBhdGhdLHN0ZG91dD1zdWIuUElQ
RSxzdGRlcnI9c3ViLlBJUEUpCiMgICAgICAgICBvdXQsIGVyciA9IHAuY29tbXVuaWNhdGUoKQoj
ICAgICAgICAgIyBJZiByZXR1cm5lZCBzdWNjZXNzZnVsbHksIHByb2Nlc3Mgc3Rkb3V0IGZvciBy
ZXN1bHRzCiMgICAgICAgICBpZiBwLnJldHVybmNvZGUgIT0gMDoKIyAgICAgICAgICAgICByZXR1
cm4KIyAgICAgCiMgICAgICAgICBvdXQgPSBvdXQuZGVjb2RlKCd1dGYtOCcpCiMgICAgIAojICAg
ICAgICAgIyBIYW5kbGUgUlVOUEFUSCBhcyB3ZWxsIGFzIFJQQVRICiMgICAgICAgICBvdXQgPSBv
dXQucmVwbGFjZSgiUlVOUEFUSD0iLCJSUEFUSD0iKQojICAgICAgICAgIyBUaHJvdyBhd2F5IGV2
ZXJ5dGhpbmcgb3RoZXIgdGhhbiB0aGUgcnBhdGggbGlzdAojICAgICAgICAgY3Vycl9ycGF0aCA9
IG91dC5wYXJ0aXRpb24oIlJQQVRIPSIpWzJdCiMgICAgICAgICAjYmIubm90ZSgiQ3VycmVudCBy
cGF0aCBmb3IgJXMgaXMgJXMiICUgKGZwYXRoLCBjdXJyX3JwYXRoLnN0cmlwKCkpKQojICAgICAg
ICAgcnBhdGhzID0gY3Vycl9ycGF0aC5zdHJpcCgpLnNwbGl0KCI6IikKIyAgICAgICAgIG5ld19y
cGF0aHMgPSBbXQojICAgICAgICAgbW9kaWZpZWQgPSBGYWxzZQojICAgICAgICAgZm9yIHJwYXRo
IGluIHJwYXRoczoKIyAgICAgICAgICAgICAjIElmIHJwYXRoIGlzIGFscmVhZHkgZHluYW1pYyBj
b3B5IGl0IHRvIG5ld19ycGF0aCBhbmQgY29udGludWUKIyAgICAgICAgICAgICBpZiBycGF0aC5m
aW5kKCIkT1JJR0lOIikgIT0gLTE6CiMgICAgICAgICAgICAgICAgIG5ld19ycGF0aHMuYXBwZW5k
KHJwYXRoKQojICAgICAgICAgICAgICAgICBjb250aW51ZQojICAgICAgICAgICAgIHJwYXRoID0g
IG9zLnBhdGgubm9ybXBhdGgocnBhdGgpCiMgICAgICAgICAgICAgaWYgYmFzZXByZWZpeCBub3Qg
aW4gcnBhdGggYW5kIHRtcGRpciBub3QgaW4gcnBhdGg6CiMgICAgICAgICAgICAgICAgICMgU2tp
cCBzdGFuZGFyZCBzZWFyY2ggcGF0aHMKIyAgICAgICAgICAgICAgICAgaWYgcnBhdGggaW4gWycv
bGliJywgJy91c3IvbGliJywgJy9saWI2NC8nLCAnL3Vzci9saWI2NCddOgojICAgICAgICAgICAg
ICAgICAgICAgYmIud2FybigiU2tpcHBpbmcgUlBBVEggJXMgYXMgaXMgYSBzdGFuZGFyZCBzZWFy
Y2ggcGF0aCBmb3IgJXMiICUgKHJwYXRoLCBmcGF0aCkpCiMgICAgICAgICAgICAgICAgICAgICBt
b2RpZmllZCA9IFRydWUKIyAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiMgICAgICAgICAg
ICAgICAgIG5ld19ycGF0aHMuYXBwZW5kKHJwYXRoKQojICAgICAgICAgICAgICAgICBjb250aW51
ZQojICAgICAgICAgICAgIG5ld19ycGF0aHMuYXBwZW5kKCIkT1JJR0lOLyIgKyBvcy5wYXRoLnJl
bHBhdGgocnBhdGgsIG9zLnBhdGguZGlybmFtZShmcGF0aC5yZXBsYWNlKHJvb3RkaXIsICIvIikp
KSkKIyAgICAgICAgICAgICBtb2RpZmllZCA9IFRydWUKIyAgICAgCiMgICAgICAgICAjIGlmIHdl
IGhhdmUgbW9kaWZpZWQgc29tZSBycGF0aHMgY2FsbCBjaHJwYXRoIHRvIHVwZGF0ZSB0aGUgYmlu
YXJ5CiMgICAgICAgICBpZiBtb2RpZmllZDoKIyAgICAgICAgICAgICBpZiBicmVha19oYXJkbGlu
a3M6CiMgICAgICAgICAgICAgICAgIGJiLnV0aWxzLmJyZWFrX2hhcmRsaW5rcyhmcGF0aCkKIyAg
ICAgCiMgICAgICAgICAgICAgYXJncyA9ICI6Ii5qb2luKG5ld19ycGF0aHMpCiMgICAgICAgICAg
ICAgI2JiLm5vdGUoIlNldHRpbmcgcnBhdGggZm9yICVzIHRvICVzIiAlKGZwYXRoLCBhcmdzKSkK
IyAgICAgICAgICAgICBwID0gc3ViLlBvcGVuKFtjbWQsICctcicsIGFyZ3MsIGZwYXRoXSxzdGRv
dXQ9c3ViLlBJUEUsc3RkZXJyPXN1Yi5QSVBFKQojICAgICAgICAgICAgIG91dCwgZXJyID0gcC5j
b21tdW5pY2F0ZSgpCiMgICAgICAgICAgICAgaWYgcC5yZXR1cm5jb2RlICE9IDA6CiMgICAgICAg
ICAgICAgICAgIGJiLmZhdGFsKCIlczogY2hycGF0aCBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQg
Y29kZSAlZDpcbiVzJXMiICUgKGQuZ2V0VmFyKCdQTicpLCBwLnJldHVybmNvZGUsIG91dCwgZXJy
KSkKIyAgICAgIgojICAgb3ZlcnJpZGVbZGFyd2luXTpzZXQgYXN0LnB5OjIwMSBbZXZhbF0KIyAg
ICAgImRlZiBwcm9jZXNzX2ZpbGVfZGFyd2luKGNtZCwgZnBhdGgsIHJvb3RkaXIsIGJhc2VwcmVm
aXgsIHRtcGRpciwgZCwgYnJlYWtfaGFyZGxpbmtzID0gRmFsc2UpOgojICAgICAgICAgaW1wb3J0
IHN1YnByb2Nlc3MgYXMgc3ViCiMgICAgIAojICAgICAgICAgcCA9IHN1Yi5Qb3BlbihbZC5leHBh
bmQoIiR7SE9TVF9QUkVGSVh9b3Rvb2wiKSwgJy1MJywgZnBhdGhdLHN0ZG91dD1zdWIuUElQRSxz
dGRlcnI9c3ViLlBJUEUpCiMgICAgICAgICBvdXQsIGVyciA9IHAuY29tbXVuaWNhdGUoKQojICAg
ICAgICAgIyBJZiByZXR1cm5lZCBzdWNjZXNzZnVsbHksIHByb2Nlc3Mgc3Rkb3V0IGZvciByZXN1
bHRzCiMgICAgICAgICBpZiBwLnJldHVybmNvZGUgIT0gMDoKIyAgICAgICAgICAgICByZXR1cm4K
IyAgICAgICAgIGZvciBsIGluIG91dC5zcGxpdCgiXG4iKToKIyAgICAgICAgICAgICBpZiAiKGNv
bXBhdGliaWxpdHkiIG5vdCBpbiBsOgojICAgICAgICAgICAgICAgICBjb250aW51ZQojICAgICAg
ICAgICAgIHJwYXRoID0gbC5wYXJ0aXRpb24oIihjb21wYXRpYmlsaXR5IilbMF0uc3RyaXAoKQoj
ICAgICAgICAgICAgIGlmIGJhc2VwcmVmaXggbm90IGluIHJwYXRoOgojICAgICAgICAgICAgICAg
ICBjb250aW51ZQojICAgICAKIyAgICAgICAgICAgICBpZiBicmVha19oYXJkbGlua3M6CiMgICAg
ICAgICAgICAgICAgIGJiLnV0aWxzLmJyZWFrX2hhcmRsaW5rcyhmcGF0aCkKIyAgICAgCiMgICAg
ICAgICAgICAgbmV3cGF0aCA9ICJAbG9hZGVyX3BhdGgvIiArIG9zLnBhdGgucmVscGF0aChycGF0
aCwgb3MucGF0aC5kaXJuYW1lKGZwYXRoLnJlcGxhY2Uocm9vdGRpciwgIi8iKSkpCiMgICAgICAg
ICAgICAgcCA9IHN1Yi5Qb3BlbihbZC5leHBhbmQoIiR7SE9TVF9QUkVGSVh9aW5zdGFsbF9uYW1l
X3Rvb2wiKSwgJy1jaGFuZ2UnLCBycGF0aCwgbmV3cGF0aCwgZnBhdGhdLHN0ZG91dD1zdWIuUElQ
RSxzdGRlcnI9c3ViLlBJUEUpCiMgICAgICAgICAgICAgb3V0LCBlcnIgPSBwLmNvbW11bmljYXRl
KCkKIyAgICAgIgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiZGVmIHByb2Nlc3NfZmlsZV9s
aW51eChjbWQsIGZwYXRoLCByb290ZGlyLCBiYXNlcHJlZml4LCB0bXBkaXIsIGQsIGJyZWFrX2hh
cmRsaW5rcyA9IEZhbHNlKToKIyAgICBpbXBvcnQgc3VicHJvY2VzcyBhcyBzdWIKIwojICAgIHAg
PSBzdWIuUG9wZW4oW2NtZCwgJy1sJywgZnBhdGhdLHN0ZG91dD1zdWIuUElQRSxzdGRlcnI9c3Vi
LlBJUEUpCiMgICAgb3V0LCBlcnIgPSBwLmNvbW11bmljYXRlKCkKIyAgICAjIElmIHJldHVybmVk
IHN1Y2Nlc3NmdWxseSwgcHJvY2VzcyBzdGRvdXQgZm9yIHJlc3VsdHMKIyAgICBpZiBwLnJldHVy
bmNvZGUgIT0gMDoKIyAgICAgICAgcmV0dXJuCiMKIyAgICBvdXQgPSBvdXQuZGVjb2RlKCd1dGYt
OCcpCiMKIyAgICAjIEhhbmRsZSBSVU5QQVRIIGFzIHdlbGwgYXMgUlBBVEgKIyAgICBvdXQgPSBv
dXQucmVwbGFjZSgiUlVOUEFUSD0iLCJSUEFUSD0iKQojICAgICMgVGhyb3cgYXdheSBldmVyeXRo
aW5nIG90aGVyIHRoYW4gdGhlIHJwYXRoIGxpc3QKIyAgICBjdXJyX3JwYXRoID0gb3V0LnBhcnRp
dGlvbigiUlBBVEg9IilbMl0KIyAgICAjYmIubm90ZSgiQ3VycmVudCBycGF0aCBmb3IgJXMgaXMg
JXMiICUgKGZwYXRoLCBjdXJyX3JwYXRoLnN0cmlwKCkpKQojICAgIHJwYXRocyA9IGN1cnJfcnBh
dGguc3RyaXAoKS5zcGxpdCgiOiIpCiMgICAgbmV3X3JwYXRocyA9IFtdCiMgICAgbW9kaWZpZWQg
PSBGYWxzZQojICAgIGZvciBycGF0aCBpbiBycGF0aHM6CiMgICAgICAgICMgSWYgcnBhdGggaXMg
YWxyZWFkeSBkeW5hbWljIGNvcHkgaXQgdG8gbmV3X3JwYXRoIGFuZCBjb250aW51ZQojICAgICAg
ICBpZiBycGF0aC5maW5kKCIkT1JJR0lOIikgIT0gLTE6CiMgICAgICAgICAgICBuZXdfcnBhdGhz
LmFwcGVuZChycGF0aCkKIyAgICAgICAgICAgIGNvbnRpbnVlCiMgICAgICAgIHJwYXRoID0gIG9z
LnBhdGgubm9ybXBhdGgocnBhdGgpCiMgICAgICAgIGlmIGJhc2VwcmVmaXggbm90IGluIHJwYXRo
IGFuZCB0bXBkaXIgbm90IGluIHJwYXRoOgojICAgICAgICAgICAgIyBTa2lwIHN0YW5kYXJkIHNl
YXJjaCBwYXRocwojICAgICAgICAgICAgaWYgcnBhdGggaW4gWycvbGliJywgJy91c3IvbGliJywg
Jy9saWI2NC8nLCAnL3Vzci9saWI2NCddOgojICAgICAgICAgICAgICAgIGJiLndhcm4oIlNraXBw
aW5nIFJQQVRIICVzIGFzIGlzIGEgc3RhbmRhcmQgc2VhcmNoIHBhdGggZm9yICVzIiAlIChycGF0
aCwgZnBhdGgpKQojICAgICAgICAgICAgICAgIG1vZGlmaWVkID0gVHJ1ZQojICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCiMgICAgICAgICAgICBuZXdfcnBhdGhzLmFwcGVuZChycGF0aCkKIyAgICAg
ICAgICAgIGNvbnRpbnVlCiMgICAgICAgIG5ld19ycGF0aHMuYXBwZW5kKCIkT1JJR0lOLyIgKyBv
cy5wYXRoLnJlbHBhdGgocnBhdGgsIG9zLnBhdGguZGlybmFtZShmcGF0aC5yZXBsYWNlKHJvb3Rk
aXIsICIvIikpKSkKIyAgICAgICAgbW9kaWZpZWQgPSBUcnVlCiMKIyAgICAjIGlmIHdlIGhhdmUg
bW9kaWZpZWQgc29tZSBycGF0aHMgY2FsbCBjaHJwYXRoIHRvIHVwZGF0ZSB0aGUgYmluYXJ5CiMg
ICAgaWYgbW9kaWZpZWQ6CiMgICAgICAgIGlmIGJyZWFrX2hhcmRsaW5rczoKIyAgICAgICAgICAg
IGJiLnV0aWxzLmJyZWFrX2hhcmRsaW5rcyhmcGF0aCkKIwojICAgICAgICBhcmdzID0gIjoiLmpv
aW4obmV3X3JwYXRocykKIyAgICAgICAgI2JiLm5vdGUoIlNldHRpbmcgcnBhdGggZm9yICVzIHRv
ICVzIiAlKGZwYXRoLCBhcmdzKSkKIyAgICAgICAgcCA9IHN1Yi5Qb3BlbihbY21kLCAnLXInLCBh
cmdzLCBmcGF0aF0sc3Rkb3V0PXN1Yi5QSVBFLHN0ZGVycj1zdWIuUElQRSkKIyAgICAgICAgb3V0
LCBlcnIgPSBwLmNvbW11bmljYXRlKCkKIyAgICAgICAgaWYgcC5yZXR1cm5jb2RlICE9IDA6CiMg
ICAgICAgICAgICBiYi5mYXRhbCgiJXM6IGNocnBhdGggY29tbWFuZCBmYWlsZWQgd2l0aCBleGl0
IGNvZGUgJWQ6XG4lcyVzIiAlIChkLmdldFZhcignUE4nKSwgcC5yZXR1cm5jb2RlLCBvdXQsIGVy
cikpCiMiCnByb2Nlc3NfZmlsZT0iZGVmIHByb2Nlc3NfZmlsZV9saW51eChjbWQsIGZwYXRoLCBy
b290ZGlyLCBiYXNlcHJlZml4LCB0bXBkaXIsIGQsIGJyZWFrX2hhcmRsaW5rcyA9IEZhbHNlKTog
XAogICAgaW1wb3J0IHN1YnByb2Nlc3MgYXMgc3ViIFwKIFwKICAgIHAgPSBzdWIuUG9wZW4oW2Nt
ZCwgJy1sJywgZnBhdGhdLHN0ZG91dD1zdWIuUElQRSxzdGRlcnI9c3ViLlBJUEUpIFwKICAgIG91
dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpIFwKICAgICMgSWYgcmV0dXJuZWQgc3VjY2Vzc2Z1bGx5
LCBwcm9jZXNzIHN0ZG91dCBmb3IgcmVzdWx0cyBcCiAgICBpZiBwLnJldHVybmNvZGUgIT0gMDog
XAogICAgICAgIHJldHVybiBcCiBcCiAgICBvdXQgPSBvdXQuZGVjb2RlKCd1dGYtOCcpIFwKIFwK
ICAgICMgSGFuZGxlIFJVTlBBVEggYXMgd2VsbCBhcyBSUEFUSCBcCiAgICBvdXQgPSBvdXQucmVw
bGFjZShcIlJVTlBBVEg9XCIsXCJSUEFUSD1cIikgXAogICAgIyBUaHJvdyBhd2F5IGV2ZXJ5dGhp
bmcgb3RoZXIgdGhhbiB0aGUgcnBhdGggbGlzdCBcCiAgICBjdXJyX3JwYXRoID0gb3V0LnBhcnRp
dGlvbihcIlJQQVRIPVwiKVsyXSBcCiAgICAjYmIubm90ZShcIkN1cnJlbnQgcnBhdGggZm9yICVz
IGlzICVzXCIgJSAoZnBhdGgsIGN1cnJfcnBhdGguc3RyaXAoKSkpIFwKICAgIHJwYXRocyA9IGN1
cnJfcnBhdGguc3RyaXAoKS5zcGxpdChcIjpcIikgXAogICAgbmV3X3JwYXRocyA9IFtdIFwKICAg
IG1vZGlmaWVkID0gRmFsc2UgXAogICAgZm9yIHJwYXRoIGluIHJwYXRoczogXAogICAgICAgICMg
SWYgcnBhdGggaXMgYWxyZWFkeSBkeW5hbWljIGNvcHkgaXQgdG8gbmV3X3JwYXRoIGFuZCBjb250
aW51ZSBcCiAgICAgICAgaWYgcnBhdGguZmluZChcIlwkT1JJR0lOXCIpICE9IC0xOiBcCiAgICAg
ICAgICAgIG5ld19ycGF0aHMuYXBwZW5kKHJwYXRoKSBcCiAgICAgICAgICAgIGNvbnRpbnVlIFwK
ICAgICAgICBycGF0aCA9ICBvcy5wYXRoLm5vcm1wYXRoKHJwYXRoKSBcCiAgICAgICAgaWYgYmFz
ZXByZWZpeCBub3QgaW4gcnBhdGggYW5kIHRtcGRpciBub3QgaW4gcnBhdGg6IFwKICAgICAgICAg
ICAgIyBTa2lwIHN0YW5kYXJkIHNlYXJjaCBwYXRocyBcCiAgICAgICAgICAgIGlmIHJwYXRoIGlu
IFsnL2xpYicsICcvdXNyL2xpYicsICcvbGliNjQvJywgJy91c3IvbGliNjQnXTogXAogICAgICAg
ICAgICAgICAgYmIud2FybihcIlNraXBwaW5nIFJQQVRIICVzIGFzIGlzIGEgc3RhbmRhcmQgc2Vh
cmNoIHBhdGggZm9yICVzXCIgJSAocnBhdGgsIGZwYXRoKSkgXAogICAgICAgICAgICAgICAgbW9k
aWZpZWQgPSBUcnVlIFwKICAgICAgICAgICAgICAgIGNvbnRpbnVlIFwKICAgICAgICAgICAgbmV3
X3JwYXRocy5hcHBlbmQocnBhdGgpIFwKICAgICAgICAgICAgY29udGludWUgXAogICAgICAgIG5l
d19ycGF0aHMuYXBwZW5kKFwiXCRPUklHSU4vXCIgKyBvcy5wYXRoLnJlbHBhdGgocnBhdGgsIG9z
LnBhdGguZGlybmFtZShmcGF0aC5yZXBsYWNlKHJvb3RkaXIsIFwiL1wiKSkpKSBcCiAgICAgICAg
bW9kaWZpZWQgPSBUcnVlIFwKIFwKICAgICMgaWYgd2UgaGF2ZSBtb2RpZmllZCBzb21lIHJwYXRo
cyBjYWxsIGNocnBhdGggdG8gdXBkYXRlIHRoZSBiaW5hcnkgXAogICAgaWYgbW9kaWZpZWQ6IFwK
ICAgICAgICBpZiBicmVha19oYXJkbGlua3M6IFwKICAgICAgICAgICAgYmIudXRpbHMuYnJlYWtf
aGFyZGxpbmtzKGZwYXRoKSBcCiBcCiAgICAgICAgYXJncyA9IFwiOlwiLmpvaW4obmV3X3JwYXRo
cykgXAogICAgICAgICNiYi5ub3RlKFwiU2V0dGluZyBycGF0aCBmb3IgJXMgdG8gJXNcIiAlKGZw
YXRoLCBhcmdzKSkgXAogICAgICAgIHAgPSBzdWIuUG9wZW4oW2NtZCwgJy1yJywgYXJncywgZnBh
dGhdLHN0ZG91dD1zdWIuUElQRSxzdGRlcnI9c3ViLlBJUEUpIFwKICAgICAgICBvdXQsIGVyciA9
IHAuY29tbXVuaWNhdGUoKSBcCiAgICAgICAgaWYgcC5yZXR1cm5jb2RlICE9IDA6IFwKICAgICAg
ICAgICAgYmIuZmF0YWwoXCIlczogY2hycGF0aCBjb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29k
ZSAlZDpcbiVzJXNcIiAlIChkLmdldFZhcignUE4nKSwgcC5yZXR1cm5jb2RlLCBvdXQsIGVycikp
IFwKIgojCiMgJHJvb3RfcHJlZml4CiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9i
aXRiYWtlLmNvbmY6MjAKIyAgICAgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVS
RVMnLCAndXNybWVyZ2UnLCAnJHtleGVjX3ByZWZpeH0nLCAnJHtiYXNlX3ByZWZpeH0nLCBkKX0i
CnJvb3RfcHJlZml4PSIiCiMKIyAkc2JpbmRpciBbNCBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDQKIyAgICAgW2V4cG9ydF0g
IjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDQKIyAg
ICAgIiR7ZXhlY19wcmVmaXh9L3NiaW4iCiMgICBvdmVycmlkZVtuYXRpdmVdOnNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NwojICAgICAiJHtwcmVmaXhfbmF0aXZl
fS9zYmluIgojICAgb3ZlcnJpZGVbbmF0aXZlc2RrXTpzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEv
Y29uZi9iaXRiYWtlLmNvbmY6NjcKIyAgICAgIiR7cHJlZml4X25hdGl2ZXNka30vc2JpbiIKIyBw
cmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7ZXhlY19wcmVmaXh9L3NiaW4iCmV4cG9ydCBzYmlu
ZGlyPSIvdXNyL3NiaW4iCiMKIyAkc2JpbmRpcl9uYXRpdmUKIyAgIHNldCAvaG9tZS91c2VyL3Bv
a3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo1NwojICAgICAiJHtwcmVmaXhfbmF0aXZlfS9zYmlu
IgpzYmluZGlyX25hdGl2ZT0iL3Vzci9zYmluIgojCiMgJHNiaW5kaXJfbmF0aXZlc2RrCiMgICBz
ZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NjcKIyAgICAgIiR7cHJl
Zml4X25hdGl2ZXNka30vc2JpbiIKc2JpbmRpcl9uYXRpdmVzZGs9Ii91c3Ivc2JpbiIKIwojICRz
ZXJ2aWNlZGlyIFsyIG9wZXJhdGlvbnNdCiMgICBleHBvcnRlZCAvaG9tZS91c2VyL3Bva3kvbWV0
YS9jb25mL2JpdGJha2UuY29uZjozMAojICAgICBbZXhwb3J0XSAiMSIKIyAgIHNldCAvaG9tZS91
c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjozMAojICAgICAiJHtiYXNlX3ByZWZpeH0v
c3J2IgojIHByZS1leHBhbnNpb24gdmFsdWU6CiMgICAiJHtiYXNlX3ByZWZpeH0vc3J2IgpleHBv
cnQgc2VydmljZWRpcj0iL3NydiIKIwojICRzaGFyZWRzdGF0ZWRpciBbMiBvcGVyYXRpb25zXQoj
ICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzEKIyAg
ICAgW2V4cG9ydF0gIjEiCiMgICBzZXQgL2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtl
LmNvbmY6MzEKIyAgICAgIiR7YmFzZV9wcmVmaXh9L2NvbSIKIyBwcmUtZXhwYW5zaW9uIHZhbHVl
OgojICAgIiR7YmFzZV9wcmVmaXh9L2NvbSIKZXhwb3J0IHNoYXJlZHN0YXRlZGlyPSIvY29tIgoj
CiMgJHN5c2NvbmZkaXIgWzMgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9ob21lL3VzZXIvcG9r
eS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI5CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9o
b21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mOjI5CiMgICAgICIke2Jhc2VfcHJl
Zml4fS9ldGMiCiMgICBvdmVycmlkZVtuYXRpdmVdOnNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9j
b25mL2JpdGJha2UuY29uZjo1NAojICAgICAiL2V0YyIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgoj
ICAgIiR7YmFzZV9wcmVmaXh9L2V0YyIKZXhwb3J0IHN5c2NvbmZkaXI9Ii9ldGMiCiMKIyAkc3lz
Y29uZmRpcl9uYXRpdmUKIyAgIHNldCAvaG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2Uu
Y29uZjo1NAojICAgICAiL2V0YyIKc3lzY29uZmRpcl9uYXRpdmU9Ii9ldGMiCiMKIyAkc3lzdGVt
ZF9zeXN0ZW1fdW5pdGRpciBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzgKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6MzgKIyAgICAgIiR7bm9uYXJj
aF9iYXNlX2xpYmRpcn0vc3lzdGVtZC9zeXN0ZW0iCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAg
ICIke25vbmFyY2hfYmFzZV9saWJkaXJ9L3N5c3RlbWQvc3lzdGVtIgpleHBvcnQgc3lzdGVtZF9z
eXN0ZW1fdW5pdGRpcj0iL2xpYi9zeXN0ZW1kL3N5c3RlbSIKIwojICRzeXN0ZW1kX3VuaXRkaXIg
WzIgb3BlcmF0aW9uc10KIyAgIGV4cG9ydGVkIC9ob21lL3VzZXIvcG9reS9tZXRhL2NvbmYvYml0
YmFrZS5jb25mOjM3CiMgICAgIFtleHBvcnRdICIxIgojICAgc2V0IC9ob21lL3VzZXIvcG9reS9t
ZXRhL2NvbmYvYml0YmFrZS5jb25mOjM3CiMgICAgICIke25vbmFyY2hfYmFzZV9saWJkaXJ9L3N5
c3RlbWQiCiMgcHJlLWV4cGFuc2lvbiB2YWx1ZToKIyAgICIke25vbmFyY2hfYmFzZV9saWJkaXJ9
L3N5c3RlbWQiCmV4cG9ydCBzeXN0ZW1kX3VuaXRkaXI9Ii9saWIvc3lzdGVtZCIKIwojICRzeXN0
ZW1kX3VzZXJfdW5pdGRpciBbMiBvcGVyYXRpb25zXQojICAgZXhwb3J0ZWQgL2hvbWUvdXNlci9w
b2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDAKIyAgICAgW2V4cG9ydF0gIjEiCiMgICBzZXQg
L2hvbWUvdXNlci9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmY6NDAKIyAgICAgIiR7bm9uYXJj
aF9saWJkaXJ9L3N5c3RlbWQvdXNlciIKIyBwcmUtZXhwYW5zaW9uIHZhbHVlOgojICAgIiR7bm9u
YXJjaF9saWJkaXJ9L3N5c3RlbWQvdXNlciIKZXhwb3J0IHN5c3RlbWRfdXNlcl91bml0ZGlyPSIv
dXNyL2xpYi9zeXN0ZW1kL3VzZXIiCiMKIyAkdGFyZ2V0X2RhdGFkaXIKIyAgIGltbWVkaWF0ZSAv
aG9tZS91c2VyL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZjo3OQojICAgICAiJHtkYXRhZGly
fSIKdGFyZ2V0X2RhdGFkaXI9Ii91c3Ivc2hhcmUiCmJhc2VfZG9fY29tcGlsZSgpIHsKCWlmIFsg
LWUgTWFrZWZpbGUgLW8gLWUgbWFrZWZpbGUgLW8gLWUgR05VbWFrZWZpbGUgXTsgdGhlbgoJCW9l
X3J1bm1ha2UgfHwgZGllICJtYWtlIGZhaWxlZCIKCWVsc2UKCQliYm5vdGUgIm5vdGhpbmcgdG8g
Y29tcGlsZSIKCWZpCn0KCmJhc2VfZG9fY29uZmlndXJlKCkgewoJaWYgWyAtbiAiL2hvbWUvdXNl
ci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAv
Y29uZmlndXJlLnNzdGF0ZSIgLWEgLWUgIi9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9j
b3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL2NvbmZpZ3VyZS5zc3RhdGUiIF07IHRo
ZW4KCQlpZiBbICJgY2F0IC9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1w
b2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL2NvbmZpZ3VyZS5zc3RhdGVgIiAhPSAiJHtCQl9UQVNL
SEFTSH0iIF07IHRoZW4KCQkJY2QgL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUy
LTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvZXhhbXBsZS0wLjEKCQkJaWYgWyAiMCIgIT0g
IjEiIC1hIFwoIC1lIE1ha2VmaWxlIC1vIC1lIG1ha2VmaWxlIC1vIC1lIEdOVW1ha2VmaWxlIFwp
IF07IHRoZW4KCQkJCW9lX3J1bm1ha2UgY2xlYW4KCQkJZmkKCQkJIyAtaWdub3JlX3JlYWRkaXJf
cmFjZSBkb2VzIG5vdCB3b3JrIGNvcnJlY3RseSB3aXRoIC1kZWxldGU7CgkJCSMgdXNlIHhhcmdz
IHRvIGF2b2lkIHNwdXJpb3VzIGJ1aWxkIGZhaWx1cmVzCgkJCWZpbmQgL2hvbWUvdXNlci9wb2t5
L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvZXhhbXBs
ZS0wLjEgLWlnbm9yZV9yZWFkZGlyX3JhY2UgLW5hbWUgXCoubGEgLXR5cGUgZiAtcHJpbnQwIHwg
eGFyZ3MgLTAgcm0gLWYKCQlmaQoJZmkKCWlmIFsgLW4gIi9ob21lL3VzZXIvcG9reS9idWlsZC90
bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL2NvbmZpZ3VyZS5zc3Rh
dGUiIF07IHRoZW4KCQlta2RpciAtcCBgZGlybmFtZSAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1w
L3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9jb25maWd1cmUuc3N0YXRl
YAoJCWVjaG8gJHtCQl9UQVNLSEFTSH0gPiAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsv
Y29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9jb25maWd1cmUuc3N0YXRlCglmaQp9
CgpiYXNlX2RvX2luc3RhbGwoKSB7Cgk6Cn0KCmJhc2VfZG9fcGFja2FnZSgpIHsKCToKfQoKYmJk
ZWJ1ZygpIHsKCVVTQUdFPSdVc2FnZTogYmJkZWJ1ZyBbMTIzXSAibWVzc2FnZSInCglpZiBbICQj
IC1sdCAyIF07IHRoZW4KCQliYmZhdGFsICIkVVNBR0UiCglmaQoKCSMgU3RyaXAgb2ZmIHRoZSBk
ZWJ1ZyBsZXZlbCBhbmQgZW5zdXJlIGl0IGlzIGFuIGludGVnZXIKCURCR0xWTD0kMTsgc2hpZnQK
CU5PTkRJR0lUUz0kKGVjaG8gIiREQkdMVkwiIHwgdHIgLWQgIls6ZGlnaXQ6XSIpCglpZiBbICIk
Tk9ORElHSVRTIiBdOyB0aGVuCgkJYmJmYXRhbCAiJFVTQUdFIgoJZmkKCgkjIEFsbCBkZWJ1ZyBv
dXRwdXQgaXMgcHJpbnRlZCB0byB0aGUgbG9ncwoJaWYgWyAtcCAvaG9tZS91c2VyL3Bva3kvYnVp
bGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC90ZW1wL2ZpZm8u
Mjk5OTQgXSA7IHRoZW4KCQlwcmludGYgIiViXDAiICJiYmRlYnVnICREQkdMVkwgJCoiID4gL2hv
bWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8w
LjEtcjAvdGVtcC9maWZvLjI5OTk0CgllbHNlCgkJZWNobyAiREVCVUc6ICQqIgoJZmkKfQoKYmJl
cnJvcigpIHsKCWlmIFsgLXAgL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0
LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvdGVtcC9maWZvLjI5OTk0IF0gOyB0aGVuCgkJcHJp
bnRmICIlYlwwIiAiYmJlcnJvciAkKiIgPiAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsv
Y29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC90ZW1wL2ZpZm8uMjk5OTQKCWVsc2UK
CQllY2hvICJFUlJPUjogJCoiCglmaQp9CgpiYmZhdGFsKCkgewoJaWYgWyAtcCAvaG9tZS91c2Vy
L3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC90
ZW1wL2ZpZm8uMjk5OTQgXSA7IHRoZW4KCQlwcmludGYgIiViXDAiICJiYmZhdGFsICQqIiA+IC9o
b21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUv
MC4xLXIwL3RlbXAvZmlmby4yOTk5NAoJZWxzZQoJCWVjaG8gIkVSUk9SOiAkKiIKCWZpCglleGl0
IDEKfQoKYmJmYXRhbF9sb2coKSB7CglpZiBbIC1wIC9ob21lL3VzZXIvcG9reS9idWlsZC90bXAv
d29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3RlbXAvZmlmby4yOTk5NCBd
IDsgdGhlbgoJCXByaW50ZiAiJWJcMCIgImJiZmF0YWxfbG9nICQqIiA+IC9ob21lL3VzZXIvcG9r
eS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3RlbXAv
Zmlmby4yOTk5NAoJZWxzZQoJCWVjaG8gIkVSUk9SOiAkKiIKCWZpCglleGl0IDEKfQoKYmJub3Rl
KCkgewoJaWYgWyAtcCAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9r
eS1saW51eC9leGFtcGxlLzAuMS1yMC90ZW1wL2ZpZm8uMjk5OTQgXSA7IHRoZW4KCQlwcmludGYg
IiViXDAiICJiYm5vdGUgJCoiID4gL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUy
LTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvdGVtcC9maWZvLjI5OTk0CgllbHNlCgkJZWNo
byAiTk9URTogJCoiCglmaQp9CgpiYnBsYWluKCkgewoJaWYgWyAtcCAvaG9tZS91c2VyL3Bva3kv
YnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC90ZW1wL2Zp
Zm8uMjk5OTQgXSA7IHRoZW4KCQlwcmludGYgIiViXDAiICJiYnBsYWluICQqIiA+IC9ob21lL3Vz
ZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIw
L3RlbXAvZmlmby4yOTk5NAoJZWxzZQoJCWVjaG8gIiQqIgoJZmkKfQoKYmJ3YXJuKCkgewoJaWYg
WyAtcCAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9l
eGFtcGxlLzAuMS1yMC90ZW1wL2ZpZm8uMjk5OTQgXSA7IHRoZW4KCQlwcmludGYgIiViXDAiICJi
Yndhcm4gJCoiID4gL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3kt
bGludXgvZXhhbXBsZS8wLjEtcjAvdGVtcC9maWZvLjI5OTk0CgllbHNlCgkJZWNobyAiV0FSTklO
RzogJCoiCglmaQp9CgpjaGVja19naXRfY29uZmlnKCkgewoJaWYgISBnaXQgY29uZmlnIHVzZXIu
ZW1haWwgPiAvZGV2L251bGwgOyB0aGVuCgkJZ2l0IGNvbmZpZyAtLWxvY2FsIHVzZXIuZW1haWwg
Im9lLnBhdGNoQG9lIgoJZmkKCWlmICEgZ2l0IGNvbmZpZyB1c2VyLm5hbWUgPiAvZGV2L251bGwg
OyB0aGVuCgkJZ2l0IGNvbmZpZyAtLWxvY2FsIHVzZXIubmFtZSAiT3BlbkVtYmVkZGVkIgoJZmkK
fQoKY3JlYXRlX2NtZGxpbmVfd3JhcHBlcigpIHsKCSMgQ3JlYXRlIGEgd3JhcHBlciBzY3JpcHQg
d2hlcmUgY29tbWFuZGxpbmUgb3B0aW9ucyBhcmUgbmVlZGVkCgkjCgkjIFRoZXNlIGFyZSB1c2Vm
dWwgdG8gd29yayBhcm91bmQgcmVsb2NhdGlvbiBpc3N1ZXMsIGJ5IHBhc3NpbmcgZXh0cmEgb3B0
aW9ucwoJIyB0byBhIHByb2dyYW0KCSMKCSMgVXNhZ2U6IGNyZWF0ZV9jbWRsaW5lX3dyYXBwZXIg
RklMRU5BTUUgPGV4dHJhLW9wdGlvbnM+CgoJY21kPSQxCglzaGlmdAoKCWVjaG8gIkdlbmVyYXRp
bmcgd3JhcHBlciBzY3JpcHQgZm9yICRjbWQiCgoJbXYgJGNtZCAkY21kLnJlYWwKCWNtZG5hbWU9
YGJhc2VuYW1lICRjbWRgCglkaXJuYW1lPWBkaXJuYW1lICRjbWRgCgljbWRvcHRpb25zPSRACglp
ZiBbICIiICE9ICIiIF07IHRoZW4KCQlyZWxwYXRoPWBweXRob24zIC1jICJpbXBvcnQgb3M7IHBy
aW50KG9zLnBhdGgucmVscGF0aCgnL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUy
LTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvaW1hZ2UnLCAnJGRpcm5hbWUnKSkiYAoJCWNt
ZG9wdGlvbnM9YGVjaG8gJEAgfCBzZWQgLWUgInM6OlxcJHJlYWxkaXIvJHJlbHBhdGg6ZyJgCglm
aQoJY2F0IDw8RU5EID4kY21kCiMhL2Jpbi9iYXNoCnJlYWxwYXRoPVxgcmVhZGxpbmsgLWZuIFwk
MFxgCnJlYWxkaXI9XGBkaXJuYW1lIFwkcmVhbHBhdGhcYApleGVjIC1hIFxgZGlybmFtZSBcJHJl
YWxwYXRoXGAvJGNtZG5hbWUgXGBkaXJuYW1lIFwkcmVhbHBhdGhcYC8kY21kbmFtZS5yZWFsICRj
bWRvcHRpb25zICJcJEAiCkVORAoJY2htb2QgK3ggJGNtZAp9CgpjcmVhdGVfd3JhcHBlcigpIHsK
CSMgQ3JlYXRlIGEgd3JhcHBlciBzY3JpcHQgd2hlcmUgZXh0cmEgZW52aXJvbm1lbnQgdmFyaWFi
bGVzIGFyZSBuZWVkZWQKCSMKCSMgVGhlc2UgYXJlIHVzZWZ1bCB0byB3b3JrIGFyb3VuZCByZWxv
Y2F0aW9uIGlzc3VlcywgYnkgc2V0dGluZyBlbnZpcm9ubWVudAoJIyB2YXJpYWJsZXMgd2hpY2gg
cG9pbnQgdG8gcGF0aHMgaW4gdGhlIGZpbGVzeXN0ZW0uCgkjCgkjIFVzYWdlOiBjcmVhdGVfd3Jh
cHBlciBGSUxFTkFNRSBbW1ZBUj1WQUxVRV0uLl0KCgljbWQ9JDEKCXNoaWZ0CgoJZWNobyAiR2Vu
ZXJhdGluZyB3cmFwcGVyIHNjcmlwdCBmb3IgJGNtZCIKCgltdiAkY21kICRjbWQucmVhbAoJY21k
bmFtZT1gYmFzZW5hbWUgJGNtZGAKCWRpcm5hbWU9YGRpcm5hbWUgJGNtZGAKCWV4cG9ydHN0cmlu
Zz0kQAoJaWYgWyAiIiAhPSAiIiBdOyB0aGVuCgkJcmVscGF0aD1gcHl0aG9uMyAtYyAiaW1wb3J0
IG9zOyBwcmludChvcy5wYXRoLnJlbHBhdGgoJy9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29y
ay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL2ltYWdlJywgJyRkaXJuYW1lJykp
ImAKCQlleHBvcnRzdHJpbmc9YGVjaG8gJEAgfCBzZWQgLWUgInM6OlxcJHJlYWxkaXIvJHJlbHBh
dGg6ZyJgCglmaQoJY2F0IDw8RU5EID4kY21kCiMhL2Jpbi9iYXNoCnJlYWxwYXRoPVxgcmVhZGxp
bmsgLWZuIFwkMFxgCnJlYWxkaXI9XGBkaXJuYW1lIFwkcmVhbHBhdGhcYApleHBvcnQgJGV4cG9y
dHN0cmluZwpleGVjIC1hICJcJDAiIFwkcmVhbGRpci8kY21kbmFtZS5yZWFsICJcJEAiCkVORAoJ
Y2htb2QgK3ggJGNtZAp9CgpkaWUoKSB7CgliYmZhdGFsX2xvZyAiJCoiCn0KCmRvX2NvbXBpbGUo
KSB7CiAgICBiYXNlX2RvX2NvbXBpbGUKfQoKZG9fY29uZmlndXJlKCkgewogICAgYmFzZV9kb19j
b25maWd1cmUKfQoKZG9faW5zdGFsbCgpIHsKICAgIGJhc2VfZG9faW5zdGFsbAp9CgpoYXJkbGlu
a2RpcigpIHsKCWZyb209JDEKCXRvPSQyCgkoY2QgJGZyb207IGZpbmQgLiAtcHJpbnQwIHwgY3Bp
byAtLW51bGwgLXBkbHUgJHRvKQp9CgpsZGNvbmZpZ19wb3N0aW5zdF9mcmFnbWVudCgpIHsKaWYg
WyB4IiREIiA9ICJ4IiBdOyB0aGVuCglpZiBbIC14IC9zYmluL2xkY29uZmlnIF07IHRoZW4gL3Ni
aW4vbGRjb25maWcgOyBmaQpmaQp9Cgpta2xpYnNfb3B0aW1pemVfaW1hZ2UoKSB7Cglmb3IgaW1n
IGluICR7TUtMSUJTX09QVElNSVpFRF9JTUFHRVN9CglkbwoJCWlmIFsgIiR7aW1nfSIgPSAiZXhh
bXBsZSIgXSB8fCBbICIke2ltZ30iID0gImFsbCIgXQoJCXRoZW4KCQkJbWtsaWJzX29wdGltaXpl
X2ltYWdlX2RvaXQKCQkJYnJlYWsKCQlmaQoJZG9uZQp9Cgpta2xpYnNfb3B0aW1pemVfaW1hZ2Vf
ZG9pdCgpIHsKCXJtIC1yZiAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQt
cG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9ta2xpYnMKCW1rZGlyIC1wIC9ob21lL3VzZXIvcG9r
eS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL21rbGli
cy9kZXN0CgljZCAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1s
aW51eC9leGFtcGxlLzAuMS1yMC9yb290ZnMKCWR1IC1icyA+IC9ob21lL3VzZXIvcG9reS9idWls
ZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL21rbGlicy9kdS5i
ZWZvcmUubWtsaWJzLnR4dAoKCSMgQnVpbGQgYSBsaXN0IG9mIGR5bmFtaWNhbGx5IGxpbmtlZCBl
eGVjdXRhYmxlIEVMRiBmaWxlcy4KCSMgT21pdCBsaWJjL2xpYnB0aHJlYWQgYXMgYSBzcGVjaWFs
IGNhc2UgYmVjYXVzZSBpdCBoYXMgYW4gaW50ZXJwcmV0ZXIKCSMgYnV0IGlzIHByaW1hcmlseSB3
aGF0IHdlIGludGVuZCB0byBzdHJpcCBkb3duLgoJZm9yIGkgaW4gYGZpbmQgLiAtdHlwZSBmIC1l
eGVjdXRhYmxlICEgLW5hbWUgJ2xpYmMtKicgISAtbmFtZSAnbGlicHRocmVhZC0qJ2A7IGRvCgkJ
ZmlsZSAkaSB8IGdyZXAgLXEgRUxGIHx8IGNvbnRpbnVlCgkJeDg2XzY0LXBva3ktbGludXgtcmVh
ZGVsZiAtbCAkaSB8IGdyZXAgLXEgSU5URVJQIHx8IGNvbnRpbnVlCgkJZWNobyAkaQoJZG9uZSA+
IC9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1w
bGUvMC4xLXIwL21rbGlicy9leGVjdXRhYmxlcy5saXN0CgoJZHluYW1pY19sb2FkZXI9L2xpYi9s
ZC1saW51eC14ODYtNjQuc28uMgoKCW1rbGlicyAtdiBcCgkJLS1sZGxpYiAke2R5bmFtaWNfbG9h
ZGVyfSBcCgkJLS1saWJkaXIgbGliIFwKCQktLXN5c3Jvb3QgL2hvbWUvdXNlci9wb2t5L2J1aWxk
L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jv
b3QgXAoJCS0tZ2NjLW9wdGlvbnMgIi0tc3lzcm9vdD0vaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1w
L3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdCIg
XAoJCS0tcm9vdCAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1s
aW51eC9leGFtcGxlLzAuMS1yMC9yb290ZnMgXAoJCS0tdGFyZ2V0IGBlY2hvIHg4Nl82NC1wb2t5
LWxpbnV4LSB8IHNlZCAncy8tJC8vJyBgIFwKCQktZCAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1w
L3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9ta2xpYnMvZGVzdCBcCgkJ
YGNhdCAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9l
eGFtcGxlLzAuMS1yMC9ta2xpYnMvZXhlY3V0YWJsZXMubGlzdGAKCgljZCAvaG9tZS91c2VyL3Bv
a3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9ta2xp
YnMvZGVzdAoJZm9yIGkgaW4gKgoJZG8KCQljcCAkaSBgZmluZCAvaG9tZS91c2VyL3Bva3kvYnVp
bGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yb290ZnMgLW5h
bWUgJGlgCglkb25lCgoJY2QgL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0
LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcm9vdGZzCglkdSAtYnMgPiAvaG9tZS91c2VyL3Bv
a3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9ta2xp
YnMvZHUuYWZ0ZXIubWtsaWJzLnR4dAoKCWVjaG8gcm9vdGZzIHNpemUgYmVmb3JlIG1rbGlicyBv
cHRpbWl6YXRpb246IGBjYXQgL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0
LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvbWtsaWJzL2R1LmJlZm9yZS5ta2xpYnMudHh0YAoJ
ZWNobyByb290ZnMgc2l6ZSBhZnRlciBta2xpYnMgb3B0aW1pemF0aW9uOiBgY2F0IC9ob21lL3Vz
ZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIw
L21rbGlicy9kdS5hZnRlci5ta2xpYnMudHh0YAp9CgpvZV9saWJpbnN0YWxsKCkgewoJIyBQdXJw
b3NlOiBJbnN0YWxsIGEgbGlicmFyeSwgaW4gYWxsIGl0cyBmb3JtcwoJIyBFeGFtcGxlCgkjCgkj
IG9lX2xpYmluc3RhbGwgbGlibHRkbCAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29y
ZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lzcm9vdC91c3IvbGliLwoJ
IyBvZV9saWJpbnN0YWxsIC1DIHNyYy9saWJibGFoIGxpYmJsYWggL2hvbWUvdXNlci9wb2t5L2J1
aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvaW1hZ2UvL3Vz
ci9saWIvCglkaXI9IiIKCWxpYnRvb2w9IiIKCXNpbGVudD0iIgoJcmVxdWlyZV9zdGF0aWM9IiIK
CXJlcXVpcmVfc2hhcmVkPSIiCglzdGFnaW5nX2luc3RhbGw9IiIKCXdoaWxlIFsgIiQjIiAtZ3Qg
MCBdOyBkbwoJCWNhc2UgIiQxIiBpbgoJCS1DKQoJCQlzaGlmdAoJCQlkaXI9IiQxIgoJCQk7OwoJ
CS1zKQoJCQlzaWxlbnQ9MQoJCQk7OwoJCS1hKQoJCQlyZXF1aXJlX3N0YXRpYz0xCgkJCTs7CgkJ
LXNvKQoJCQlyZXF1aXJlX3NoYXJlZD0xCgkJCTs7CgkJLSopCgkJCWJiZmF0YWwgIm9lX2xpYmlu
c3RhbGw6IHVua25vd24gb3B0aW9uOiAkMSIKCQkJOzsKCQkqKQoJCQlicmVhazsKCQkJOzsKCQll
c2FjCgkJc2hpZnQKCWRvbmUKCglsaWJuYW1lPSIkMSIKCXNoaWZ0CglkZXN0cGF0aD0iJDEiCglp
ZiBbIC16ICIkZGVzdHBhdGgiIF07IHRoZW4KCQliYmZhdGFsICJvZV9saWJpbnN0YWxsOiBubyBk
ZXN0aW5hdGlvbiBwYXRoIHNwZWNpZmllZCIKCWZpCglpZiBlY2hvICIkZGVzdHBhdGgvIiB8IGVn
cmVwICdeL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgv
ZXhhbXBsZS8wLjEtcjAvcmVjaXBlLXN5c3Jvb3QvdXNyL2xpYi8nID4vZGV2L251bGwKCXRoZW4K
CQlzdGFnaW5nX2luc3RhbGw9MQoJZmkKCglfX3J1bmNtZCAoKSB7CgkJaWYgWyAteiAiJHNpbGVu
dCIgXTsgdGhlbgoJCQllY2hvID4mMiAib2VfbGliaW5zdGFsbDogJCoiCgkJZmkKCQkkKgoJfQoK
CWlmIFsgLXogIiRkaXIiIF07IHRoZW4KCQlkaXI9YHB3ZGAKCWZpCgoJZG90bGFpPSRsaWJuYW1l
LmxhaQoKCSMgU2FuaXR5IGNoZWNrIHRoYXQgdGhlIGxpYm5hbWUubGFpIGlzIHVuaXF1ZQoJbnVt
YmVyX29mX2ZpbGVzPWAoY2QgJGRpcjsgZmluZCAuIC1uYW1lICIkZG90bGFpIikgfCB3YyAtbGAK
CWlmIFsgJG51bWJlcl9vZl9maWxlcyAtZ3QgMSBdOyB0aGVuCgkJYmJmYXRhbCAib2VfbGliaW5z
dGFsbDogJGRvdGxhaSBpcyBub3QgdW5pcXVlIGluICRkaXIiCglmaQoKCglkaXI9JGRpcmAoY2Qg
JGRpcjtmaW5kIC4gLW5hbWUgIiRkb3RsYWkiKSB8IHNlZCAicy9eXC4vLztzL1wvJGRvdGxhaVwk
Ly87cSJgCglvbGRkaXI9YHB3ZGAKCV9fcnVuY21kIGNkICRkaXIKCglsYWZpbGU9JGxpYm5hbWUu
bGEKCgkjIElmIHN1Y2ggZmlsZSBkb2Vzbid0IGV4aXN0LCB0cnkgdG8gY3V0IHZlcnNpb24gc3Vm
Zml4CglpZiBbICEgLWYgIiRsYWZpbGUiIF07IHRoZW4KCQlsaWJuYW1lMT1gZWNobyAiJGxpYm5h
bWUiIHwgc2VkICdzLy1bMC05Ll0qJC8vJ2AKCQlsYWZpbGUxPSRsaWJuYW1lLmxhCgkJaWYgWyAt
ZiAiJGxhZmlsZTEiIF07IHRoZW4KCQkJbGlibmFtZT0kbGlibmFtZTEKCQkJbGFmaWxlPSRsYWZp
bGUxCgkJZmkKCWZpCgoJaWYgWyAtZiAiJGxhZmlsZSIgXTsgdGhlbgoJCSMgbGlidG9vbCBhcmNo
aXZlCgkJZXZhbCBgY2F0ICRsYWZpbGV8Z3JlcCAiXmxpYnJhcnlfbmFtZXM9ImAKCQlsaWJ0b29s
PTEKCWVsc2UKCQlsaWJyYXJ5X25hbWVzPSIkbGlibmFtZS5zbyogJGxpYm5hbWUuZGxsLmEgJGxp
Ym5hbWUuKi5keWxpYiIKCWZpCgoJX19ydW5jbWQgaW5zdGFsbCAtZCAkZGVzdHBhdGgvCglkb3Rh
PSRsaWJuYW1lLmEKCWlmIFsgLWYgIiRkb3RhIiAtbyAtbiAiJHJlcXVpcmVfc3RhdGljIiBdOyB0
aGVuCgkJcm0gLWYgJGRlc3RwYXRoLyRkb3RhCgkJX19ydW5jbWQgaW5zdGFsbCAtbSAwNjQ0ICRk
b3RhICRkZXN0cGF0aC8KCWZpCglpZiBbIC1mICIkZG90bGFpIiAtYSAtbiAiJGxpYnRvb2wiIF07
IHRoZW4KCQlybSAtZiAkZGVzdHBhdGgvJGxpYm5hbWUubGEKCQlfX3J1bmNtZCBpbnN0YWxsIC1t
IDA2NDQgJGRvdGxhaSAkZGVzdHBhdGgvJGxpYm5hbWUubGEKCWZpCgoJZm9yIG5hbWUgaW4gJGxp
YnJhcnlfbmFtZXM7IGRvCgkJZmlsZXM9YGV2YWwgZWNobyAkbmFtZWAKCQlmb3IgZiBpbiAkZmls
ZXM7IGRvCgkJCWlmIFsgISAtZSAiJGYiIF07IHRoZW4KCQkJCWlmIFsgLW4gIiRsaWJ0b29sIiBd
OyB0aGVuCgkJCQkJYmJmYXRhbCAib2VfbGliaW5zdGFsbDogJGRpci8kZiBub3QgZm91bmQuIgoJ
CQkJZmkKCQkJZWxpZiBbIC1MICIkZiIgXTsgdGhlbgoJCQkJX19ydW5jbWQgY3AgLVAgIiRmIiAk
ZGVzdHBhdGgvCgkJCWVsaWYgWyAhIC1MICIkZiIgXTsgdGhlbgoJCQkJbGliZmlsZT0iJGYiCgkJ
CQlybSAtZiAkZGVzdHBhdGgvJGxpYmZpbGUKCQkJCV9fcnVuY21kIGluc3RhbGwgLW0gMDc1NSAk
bGliZmlsZSAkZGVzdHBhdGgvCgkJCWZpCgkJZG9uZQoJZG9uZQoKCWlmIFsgLXogIiRsaWJmaWxl
IiBdOyB0aGVuCgkJaWYgIFsgLW4gIiRyZXF1aXJlX3NoYXJlZCIgXTsgdGhlbgoJCQliYmZhdGFs
ICJvZV9saWJpbnN0YWxsOiB1bmFibGUgdG8gbG9jYXRlIHNoYXJlZCBsaWJyYXJ5IgoJCWZpCgll
bGlmIFsgLXogIiRsaWJ0b29sIiBdOyB0aGVuCgkJIyBzcGVjaWFsIGNhc2UgaGFjayBmb3Igbm9u
LWxpYnRvb2wgLnNvLiMuIy4jIGxpbmtzCgkJYmFzZWxpYmZpbGU9YGJhc2VuYW1lICIkbGliZmls
ZSJgCgkJaWYgKGVjaG8gJGJhc2VsaWJmaWxlIHwgZ3JlcCAtcUUgJ15saWIuKlwuc29cLlswLTku
XSokJyk7IHRoZW4KCQkJc29uYW1lbGluaz1geDg2XzY0LXBva3ktbGludXgtcmVhZGVsZiAtZCAk
bGliZmlsZSB8Z3JlcCAnTGlicmFyeSBzb25hbWU6JyB8c2VkIC1lICdzLy4qXFtcKC4qXClcXS4q
L1wxLydgCgkJCXNvbGluaz1gZWNobyAkYmFzZWxpYmZpbGUgfCBzZWQgLWUgJ3MvXC5zb1wuLiov
LnNvLydgCgkJCWlmIFsgLW4gIiRzb25hbWVsaW5rIiAtYSB4IiRiYXNlbGliZmlsZSIgIT0geCIk
c29uYW1lbGluayIgXTsgdGhlbgoJCQkJX19ydW5jbWQgbG4gLXNmICRiYXNlbGliZmlsZSAkZGVz
dHBhdGgvJHNvbmFtZWxpbmsKCQkJZmkKCQkJX19ydW5jbWQgbG4gLXNmICRiYXNlbGliZmlsZSAk
ZGVzdHBhdGgvJHNvbGluawoJCWZpCglmaQoKCV9fcnVuY21kIGNkICIkb2xkZGlyIgp9CgpvZV9t
YWNoaW5zdGFsbCgpIHsKCSMgUHVycG9zZTogSW5zdGFsbCBtYWNoaW5lIGRlcGVuZGVudCBmaWxl
cywgaWYgYXZhaWxhYmxlCgkjICAgICAgICAgIElmIG5vdCBhdmFpbGFibGUsIGNoZWNrIGlmIHRo
ZXJlIGlzIGEgZGVmYXVsdAoJIyAgICAgICAgICBJZiBubyBkZWZhdWx0LCBqdXN0IHRvdWNoIHRo
ZSBkZXN0aW5hdGlvbgoJIyBFeGFtcGxlOgoJIyAgICAgICAgICAgICAgICAkMSAgJDIgICAkMyAg
ICAgICAgICQ0CgkjIG9lX21hY2hpbnN0YWxsIC1tIDA2NDQgZnN0YWIgL2hvbWUvdXNlci9wb2t5
L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvaW1hZ2Uv
ZXRjL2ZzdGFiCgkjCgkjIFRPRE86IENoZWNrIGFyZ3VtZW50IG51bWJlcj8KCSMKCWZpbGVuYW1l
PWBiYXNlbmFtZSAkM2AKCWRpcm5hbWU9YGRpcm5hbWUgJDNgCgoJZm9yIG8gaW4gYGVjaG8gbGlu
dXg6eDg2LTY0OnBuLWV4YW1wbGU6cWVtdWFsbDpxZW11eDg2LTY0OnBva3k6Y2xhc3MtdGFyZ2V0
OmxpYmMtZ2xpYmM6Zm9yY2V2YXJpYWJsZSB8IHRyICc6JyAnICdgOyBkbwoJCWlmIFsgLWUgJGRp
cm5hbWUvJG8vJGZpbGVuYW1lIF07IHRoZW4KCQkJYmJub3RlICRkaXJuYW1lLyRvLyRmaWxlbmFt
ZSBwcmVzZW50LCBpbnN0YWxsaW5nIHRvICQ0CgkJCWluc3RhbGwgJDEgJDIgJGRpcm5hbWUvJG8v
JGZpbGVuYW1lICQ0CgkJCXJldHVybgoJCWZpCglkb25lCiMJYmJub3RlIG92ZXJyaWRlcyBzcGVj
aWZpYyBmaWxlIE5PVCBwcmVzZW50LCB0cnlpbmcgZGVmYXVsdD0kMy4uLgoJaWYgWyAtZSAkMyBd
OyB0aGVuCgkJYmJub3RlICQzIHByZXNlbnQsIGluc3RhbGxpbmcgdG8gJDQKCQlpbnN0YWxsICQx
ICQyICQzICQ0CgllbHNlCgkJYmJub3RlICQzIE5PVCBwcmVzZW50LCB0b3VjaGluZyBlbXB0eSAk
NAoJCXRvdWNoICQ0CglmaQp9CgpvZV9ydW5tYWtlKCkgewoJb2VfcnVubWFrZV9jYWxsICIkQCIg
fHwgZGllICJvZV9ydW5tYWtlIGZhaWxlZCIKfQoKb2VfcnVubWFrZV9jYWxsKCkgewoJYmJub3Rl
IG1ha2UgICIkQCIKCW1ha2UgICIkQCIKfQoKb2Vfc29pbnN0YWxsKCkgewoJIyBQdXJwb3NlOiBJ
bnN0YWxsIHNoYXJlZCBsaWJyYXJ5IGZpbGUgYW5kCgkjICAgICAgICAgIGNyZWF0ZSB0aGUgbmVj
ZXNzYXJ5IGxpbmtzCgkjIEV4YW1wbGU6IG9lX3NvaW5zdGFsbCBsaWJmb28uc28uMS4yLjMgL2hv
bWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8w
LjEtcjAvaW1hZ2UvdXNyL2xpYgoJbGlibmFtZT1gYmFzZW5hbWUgJDFgCgljYXNlICIkbGlibmFt
ZSIgaW4KCSAgICAqLnNvKQoJICAgICAgICBiYmZhdGFsICJvZV9zb2luc3RhbGw6IFNoYXJlZCBs
aWJyYXJ5IG11c3QgaGF2ZWQgdmVyc2lvbmVkIGZpbGVuYW1lIChlLmcuIGxpYmZvby5zby4xLjIu
MykiCgkgICAgICAgIDs7Cgllc2FjCglpbnN0YWxsIC1tIDc1NSAkMSAkMi8kbGlibmFtZQoJc29u
YW1lbGluaz1geDg2XzY0LXBva3ktbGludXgtcmVhZGVsZiAtZCAkMSB8Z3JlcCAnTGlicmFyeSBz
b25hbWU6JyB8c2VkIC1lICdzLy4qXFtcKC4qXClcXS4qL1wxLydgCglpZiBbIC16ICRzb25hbWVs
aW5rIF07IHRoZW4KCQliYmZhdGFsICJvZV9zb2luc3RhbGw6ICRsaWJuYW1lIGlzIG1pc3Npbmcg
RUxGIHRhZyAnU09OQU1FJy4iCglmaQoJc29saW5rPWBlY2hvICRsaWJuYW1lIHwgc2VkIC1lICdz
L1wuc29cLi4qLy5zby8nYAoJbG4gLXNmICRsaWJuYW1lICQyLyRzb25hbWVsaW5rCglsbiAtc2Yg
JGxpYm5hbWUgJDIvJHNvbGluawp9CgpwcmVsaW5rX2ltYWdlKCkgewojCWV4cG9ydCBQU0VVRE9f
REVCVUc9NAojCS9iaW4vZW52IHwgL2Jpbi9ncmVwIFBTRVVETwojCWVjaG8gIkxEX0xJQlJBUllf
UEFUSD0kTERfTElCUkFSWV9QQVRIIgojCWVjaG8gIkxEX1BSRUxPQUQ9JExEX1BSRUxPQUQiCgoJ
cHJlX3ByZWxpbmtfc2l6ZT1gZHUgLWtzIC9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9j
b3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3Jvb3RmcyB8IGF3ayAne3NpemUgPSAk
MSA7IHByaW50IHNpemUgfSdgCgllY2hvICJTaXplIGJlZm9yZSBwcmVsaW5raW5nICRwcmVfcHJl
bGlua19zaXplLiIKCgkjIFdlIG5lZWQgYSBwcmVsaW5rIGNvbmYgb24gdGhlIGZpbGVzeXN0ZW0s
IGFkZCBvbmUgaWYgaXQncyBtaXNzaW5nCglpZiBbICEgLWUgL2hvbWUvdXNlci9wb2t5L2J1aWxk
L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcm9vdGZzL2V0Yy9w
cmVsaW5rLmNvbmYgXTsgdGhlbgoJCWNwIC9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9j
b3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS9l
dGMvcHJlbGluay5jb25mIFwKCQkJL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUy
LTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcm9vdGZzL2V0Yy9wcmVsaW5rLmNvbmYKCQlk
dW1teV9wcmVsaW5rX2NvbmY9dHJ1ZTsKCWVsc2UKCQlkdW1teV9wcmVsaW5rX2NvbmY9ZmFsc2U7
CglmaQoKCSMgV2UgbmVlZCBhIGxkLnNvLmNvbmYgd2l0aCBwYXRobmFtZXMgaW4scHJlbGluayBj
b25mIG9uIHRoZSBmaWxlc3lzdGVtLCBhZGQgb25lIGlmIGl0J3MgbWlzc2luZwoJbGRzb2NvbmY9
L2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBs
ZS8wLjEtcjAvcm9vdGZzL2V0Yy9sZC5zby5jb25mCglpZiBbIC1lICRsZHNvY29uZiBdOyB0aGVu
CgkJY3AgJGxkc29jb25mICRsZHNvY29uZi5wcmVsaW5rCglmaQoJY2F0IC9ob21lL3VzZXIvcG9r
eS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIwL3JlY2lw
ZS1zeXNyb290L2V0Yy9sZC5zby5jb25mID4+ICRsZHNvY29uZgoKCWR5bmFtaWNfbG9hZGVyPS9s
aWIvbGQtbGludXgteDg2LTY0LnNvLjIKCgkjIHByZWxpbmshCglpZiBbICIke0JVSUxEX1JFUFJP
RFVDSUJMRV9CSU5BUklFU30iID0gIjEiIF07IHRoZW4KCQliYm5vdGUgIiBwcmVsaW5rOiBCVUlM
RF9SRVBST0RVQ0lCTEVfQklOQVJJRVMuLi4iCgkJaWYgWyAiJFJFUFJPRFVDSUJMRV9USU1FU1RB
TVBfUk9PVEZTIiA9ICIiIF07IHRoZW4KCQkJZXhwb3J0IFBSRUxJTktfVElNRVNUQU1QPWBnaXQg
bG9nIC0xIC0tcHJldHR5PSVjdCBgCgkJZWxzZQoJCQlleHBvcnQgUFJFTElOS19USU1FU1RBTVA9
JFJFUFJPRFVDSUJMRV9USU1FU1RBTVBfUk9PVEZTCgkJZmkKCQkvaG9tZS91c2VyL3Bva3kvYnVp
bGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9leGFtcGxlLzAuMS1yMC9yZWNpcGUtc3lz
cm9vdC1uYXRpdmUvdXNyL3NiaW4vcHJlbGluayAtLXJvb3QgL2hvbWUvdXNlci9wb2t5L2J1aWxk
L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcm9vdGZzIC1hbSAt
TiAtYyAvZXRjL3ByZWxpbmsuY29uZiAtLWR5bmFtaWMtbGlua2VyICRkeW5hbWljX2xvYWRlcgoJ
ZWxzZQoJCS9ob21lL3VzZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4
L2V4YW1wbGUvMC4xLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3Ivc2Jpbi9wcmVsaW5rIC0t
cm9vdCAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9l
eGFtcGxlLzAuMS1yMC9yb290ZnMgLWFtUiAtTiAtYyAvZXRjL3ByZWxpbmsuY29uZiAtLWR5bmFt
aWMtbGlua2VyICRkeW5hbWljX2xvYWRlcgoJZmkKCgkjIFJlbW92ZSB0aGUgcHJlbGluay5jb25m
IGlmIHdlIGhhZCB0byBhZGQgaXQuCglpZiBbICIkZHVtbXlfcHJlbGlua19jb25mIiA9ICJ0cnVl
IiBdOyB0aGVuCgkJcm0gLWYgL2hvbWUvdXNlci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0
LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvcm9vdGZzL2V0Yy9wcmVsaW5rLmNvbmYKCWZpCgoJ
aWYgWyAtZSAkbGRzb2NvbmYucHJlbGluayBdOyB0aGVuCgkJbXYgJGxkc29jb25mLnByZWxpbmsg
JGxkc29jb25mCgllbHNlCgkJcm0gJGxkc29jb25mCglmaQoKCXByZV9wcmVsaW5rX3NpemU9YGR1
IC1rcyAvaG9tZS91c2VyL3Bva3kvYnVpbGQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9l
eGFtcGxlLzAuMS1yMC9yb290ZnMgfCBhd2sgJ3tzaXplID0gJDEgOyBwcmludCBzaXplIH0nYAoJ
ZWNobyAiU2l6ZSBhZnRlciBwcmVsaW5raW5nICRwcmVfcHJlbGlua19zaXplLiIKfQoKcmVtb3Zl
X2xpYnRvb2xfbGEoKSB7CglpZiBbICIxIiAhPSAiMCIgXTsgdGhlbgoJCWZpbmQgIi9ob21lL3Vz
ZXIvcG9reS9idWlsZC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2V4YW1wbGUvMC4xLXIw
L2ltYWdlIiAtaWdub3JlX3JlYWRkaXJfcmFjZSAtbmFtZSAiKi5sYSIgLWRlbGV0ZQoJZmkKfQoK
c3N0YXRlX2NyZWF0ZV9wYWNrYWdlKCkgewoJIyBFeGl0IGVhcmx5IGlmIGl0IGFscmVhZHkgZXhp
c3RzCglpZiBbIC1lIC9ob21lL3VzZXIveW9jdG8tY2FjaGUvZG93bmxvYWRzLyR7L3NzdGF0ZTpl
eGFtcGxlOmNvcmUyLTY0LXBva3ktbGludXg6MC4xOnIwOmNvcmUyLTY0OjM6JHtCQl9UQVNLSEFT
SH0gXTsgdGhlbgoJCXJldHVybgoJZmkKCglta2RpciAtcCBgZGlybmFtZSAvaG9tZS91c2VyL3lv
Y3RvLWNhY2hlL2Rvd25sb2Fkcy8key9zc3RhdGU6ZXhhbXBsZTpjb3JlMi02NC1wb2t5LWxpbnV4
OjAuMTpyMDpjb3JlMi02NDozOiR7QkJfVEFTS0hBU0h9YAoJVEZJTEU9YG1rdGVtcCAvaG9tZS91
c2VyL3lvY3RvLWNhY2hlL2Rvd25sb2Fkcy8key9zc3RhdGU6ZXhhbXBsZTpjb3JlMi02NC1wb2t5
LWxpbnV4OjAuMTpyMDpjb3JlMi02NDozOiR7QkJfVEFTS0hBU0h9LlhYWFhYWFhYYAoKCSMgVXNl
IHBpZ3ogaWYgYXZhaWxhYmxlCglPUFQ9Ii1jelMiCglpZiBbIC14ICIkKGNvbW1hbmQgLXYgcGln
eikiIF07IHRoZW4KCQlPUFQ9Ii1JIHBpZ3ogLWNTIgoJZmkKCgkjIE5lZWQgdG8gaGFuZGxlIGVt
cHR5IGRpcmVjdG9yaWVzCglpZiBbICIkKGxzIC1BKSIgXTsgdGhlbgoJCXNldCArZQoJCXRhciAk
T1BUIC1mICRURklMRSAqCgkJcmV0PSQ/CgkJaWYgWyAkcmV0IC1uZSAwIF0gJiYgWyAkcmV0IC1u
ZSAxIF07IHRoZW4KCQkJZXhpdCAxCgkJZmkKCQlzZXQgLWUKCWVsc2UKCQl0YXIgJE9QVCAtLWZp
bGU9JFRGSUxFIC0tZmlsZXMtZnJvbT0vZGV2L251bGwKCWZpCgljaG1vZCAwNjY0ICRURklMRQoJ
IyBTa2lwIGlmIGl0IHdhcyBhbHJlYWR5IGNyZWF0ZWQgYnkgc29tZSBvdGhlciBwcm9jZXNzCglp
ZiBbICEgLWUgL2hvbWUvdXNlci95b2N0by1jYWNoZS9kb3dubG9hZHMvJHsvc3N0YXRlOmV4YW1w
bGU6Y29yZTItNjQtcG9reS1saW51eDowLjE6cjA6Y29yZTItNjQ6Mzoke0JCX1RBU0tIQVNIfSBd
OyB0aGVuCgkJbXYgLWYgJFRGSUxFIC9ob21lL3VzZXIveW9jdG8tY2FjaGUvZG93bmxvYWRzLyR7
L3NzdGF0ZTpleGFtcGxlOmNvcmUyLTY0LXBva3ktbGludXg6MC4xOnIwOmNvcmUyLTY0OjM6JHtC
Ql9UQVNLSEFTSH0KCWVsc2UKCQlybSAkVEZJTEUKCWZpCn0KCnNzdGF0ZV91bnBhY2tfcGFja2Fn
ZSgpIHsKCXRhciAteHZ6ZiAvaG9tZS91c2VyL3lvY3RvLWNhY2hlL2Rvd25sb2Fkcy8key9zc3Rh
dGU6ZXhhbXBsZTpjb3JlMi02NC1wb2t5LWxpbnV4OjAuMTpyMDpjb3JlMi02NDozOiR7QkJfVEFT
S0hBU0h9CgkjIHVwZGF0ZSAuc2lnaW5mbyBhdGltZSBvbiBsb2NhbC9ORlMgbWlycm9yCglbIC13
IC9ob21lL3VzZXIveW9jdG8tY2FjaGUvZG93bmxvYWRzLyR7L3NzdGF0ZTpleGFtcGxlOmNvcmUy
LTY0LXBva3ktbGludXg6MC4xOnIwOmNvcmUyLTY0OjM6JHtCQl9UQVNLSEFTSH0uc2lnaW5mbyBd
ICYmIFsgLWggL2hvbWUvdXNlci95b2N0by1jYWNoZS9kb3dubG9hZHMvJHsvc3N0YXRlOmV4YW1w
bGU6Y29yZTItNjQtcG9reS1saW51eDowLjE6cjA6Y29yZTItNjQ6Mzoke0JCX1RBU0tIQVNIfS5z
aWdpbmZvIF0gJiYgdG91Y2ggLWEgL2hvbWUvdXNlci95b2N0by1jYWNoZS9kb3dubG9hZHMvJHsv
c3N0YXRlOmV4YW1wbGU6Y29yZTItNjQtcG9reS1saW51eDowLjE6cjA6Y29yZTItNjQ6Mzoke0JC
X1RBU0tIQVNIfS5zaWdpbmZvCgkjIFVzZSAiISAtdyB8fCIgdG8gcmV0dXJuIHRydWUgZm9yIHJl
YWQgb25seSBmaWxlcwoJWyAhIC13IC9ob21lL3VzZXIveW9jdG8tY2FjaGUvZG93bmxvYWRzLyR7
L3NzdGF0ZTpleGFtcGxlOmNvcmUyLTY0LXBva3ktbGludXg6MC4xOnIwOmNvcmUyLTY0OjM6JHtC
Ql9UQVNLSEFTSH0gXSB8fCB0b3VjaCAtLW5vLWRlcmVmZXJlbmNlIC9ob21lL3VzZXIveW9jdG8t
Y2FjaGUvZG93bmxvYWRzLyR7L3NzdGF0ZTpleGFtcGxlOmNvcmUyLTY0LXBva3ktbGludXg6MC4x
OnIwOmNvcmUyLTY0OjM6JHtCQl9UQVNLSEFTSH0KCVsgISAtdyAvaG9tZS91c2VyL3lvY3RvLWNh
Y2hlL2Rvd25sb2Fkcy8key9zc3RhdGU6ZXhhbXBsZTpjb3JlMi02NC1wb2t5LWxpbnV4OjAuMTpy
MDpjb3JlMi02NDozOiR7QkJfVEFTS0hBU0h9LnNpZyBdIHx8IFsgISAtZSAvaG9tZS91c2VyL3lv
Y3RvLWNhY2hlL2Rvd25sb2Fkcy8key9zc3RhdGU6ZXhhbXBsZTpjb3JlMi02NC1wb2t5LWxpbnV4
OjAuMTpyMDpjb3JlMi02NDozOiR7QkJfVEFTS0hBU0h9LnNpZyBdIHx8IHRvdWNoIC0tbm8tZGVy
ZWZlcmVuY2UgL2hvbWUvdXNlci95b2N0by1jYWNoZS9kb3dubG9hZHMvJHsvc3N0YXRlOmV4YW1w
bGU6Y29yZTItNjQtcG9reS1saW51eDowLjE6cjA6Y29yZTItNjQ6Mzoke0JCX1RBU0tIQVNIfS5z
aWcKCVsgISAtdyAvaG9tZS91c2VyL3lvY3RvLWNhY2hlL2Rvd25sb2Fkcy8key9zc3RhdGU6ZXhh
bXBsZTpjb3JlMi02NC1wb2t5LWxpbnV4OjAuMTpyMDpjb3JlMi02NDozOiR7QkJfVEFTS0hBU0h9
LnNpZ2luZm8gXSB8fCBbICEgLWUgL2hvbWUvdXNlci95b2N0by1jYWNoZS9kb3dubG9hZHMvJHsv
c3N0YXRlOmV4YW1wbGU6Y29yZTItNjQtcG9reS1saW51eDowLjE6cjA6Y29yZTItNjQ6Mzoke0JC
X1RBU0tIQVNIfS5zaWdpbmZvIF0gfHwgdG91Y2ggLS1uby1kZXJlZmVyZW5jZSAvaG9tZS91c2Vy
L3lvY3RvLWNhY2hlL2Rvd25sb2Fkcy8key9zc3RhdGU6ZXhhbXBsZTpjb3JlMi02NC1wb2t5LWxp
bnV4OjAuMTpyMDpjb3JlMi02NDozOiR7QkJfVEFTS0hBU0h9LnNpZ2luZm8KfQoKc3lzcm9vdF9z
dGFnZV9hbGwoKSB7CglzeXNyb290X3N0YWdlX2RpcnMgL2hvbWUvdXNlci9wb2t5L2J1aWxkL3Rt
cC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAvaW1hZ2UgL2hvbWUvdXNl
ci9wb2t5L2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvZXhhbXBsZS8wLjEtcjAv
c3lzcm9vdC1kZXN0ZGlyCn0KCnN5c3Jvb3Rfc3RhZ2VfZGlyKCkgewoJc3JjPSIkMSIKCWRlc3Q9
IiQyIgoJIyBpZiB0aGUgc3JjIGRvZXNuJ3QgZXhpc3QgZG9uJ3QgZG8gYW55dGhpbmcKCWlmIFsg
ISAtZCAiJHNyYyIgXTsgdGhlbgoJCSByZXR1cm4KCWZpCgoJbWtkaXIgLXAgIiRkZXN0IgoJKAoJ
CWNkICRzcmMKCQlmaW5kIC4gLXByaW50MCB8IGNwaW8gLS1udWxsIC1wZGx1ICRkZXN0CgkpCn0K
CnN5c3Jvb3Rfc3RhZ2VfZGlycygpIHsKCWZyb209IiQxIgoJdG89IiQyIgoKCWZvciBkaXIgaW4g
ICAgICAvdXNyL2luY2x1ZGUgICAgIC91c3IvbGliICAgICAvbGliICAgICAvbGliICAgICAvdXNy
L3NoYXJlIDsgZG8KCQlzeXNyb290X3N0YWdlX2RpciAiJGZyb20kZGlyIiAiJHRvJGRpciIKCWRv
bmUKCgkjIFJlbW92ZSBkaXJlY3RvcmllcyB3ZSBkbyBub3QgY2FyZSBhYm91dAoJZm9yIGRpciBp
biAgICAgIC91c3Ivc2hhcmUvbWFuICAgICAvdXNyL3NoYXJlL2RvYyAgICAgL3Vzci9zaGFyZS9p
bmZvICAgICAvdXNyL3NoYXJlL2FwcGxpY2F0aW9ucyAgICAgL3Vzci9zaGFyZS9mb250cyAgICAg
L3Vzci9zaGFyZS9ndGstZG9jL2h0bWwgICAgIC91c3Ivc2hhcmUvbG9jYWxlICAgICAvdXNyL3No
YXJlL3BpeG1hcHMgICAgIC91c3IvbGliL2V4YW1wbGUvcHRlc3QgOyBkbwoJCXJtIC1yZiAiJHRv
JGRpciIKCWRvbmUKfQoKCgpweXRob24gX19hbm9uXzEwMjNfX2hvbWVfdXNlcl9wb2t5X21ldGFf
Y2xhc3Nlc19pbnNhbmVfYmJjbGFzcyAoKSB7CmRlZiBfX2Fub25fMTAyM19faG9tZV91c2VyX3Bv
a3lfbWV0YV9jbGFzc2VzX2luc2FuZV9iYmNsYXNzKGQpOgogICAgcGtncyA9IChkLmdldFZhcign
UEFDS0FHRVMnKSBvciAnJykuc3BsaXQoKQogICAgZm9yIHBrZyBpbiBwa2dzOgogICAgICAgIGQu
YXBwZW5kVmFyRmxhZygiZG9fcGFja2FnZV9xYSIsICJ2YXJkZXBzIiwgIiBJTlNBTkVfU0tJUF97
fSIuZm9ybWF0KHBrZykpCn0KCgpweXRob24gX19hbm9uXzEyNV9faG9tZV91c2VyX3Bva3lfbWV0
YV9jbGFzc2VzX3NzdGF0ZV9iYmNsYXNzICgpIHsKZGVmIF9fYW5vbl8xMjVfX2hvbWVfdXNlcl9w
b2t5X21ldGFfY2xhc3Nlc19zc3RhdGVfYmJjbGFzcyhkKToKICAgIGlmIGJiLmRhdGEuaW5oZXJp
dHNfY2xhc3MoJ25hdGl2ZScsIGQpOgogICAgICAgIGQuc2V0VmFyKCdTU1RBVEVfUEtHQVJDSCcs
IGQuZ2V0VmFyKCdCVUlMRF9BUkNIJywgRmFsc2UpKQogICAgZWxpZiBiYi5kYXRhLmluaGVyaXRz
X2NsYXNzKCdjcm9zc3NkaycsIGQpOgogICAgICAgIGQuc2V0VmFyKCdTU1RBVEVfUEtHQVJDSCcs
IGQuZXhwYW5kKCIke0JVSUxEX0FSQ0h9XyR7U0RLX0FSQ0h9XyR7U0RLX09TfSIpKQogICAgZWxp
ZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zcycsIGQpOgogICAgICAgIGQuc2V0VmFyKCdT
U1RBVEVfUEtHQVJDSCcsIGQuZXhwYW5kKCIke0JVSUxEX0FSQ0h9XyR7VEFSR0VUX0FSQ0h9Iikp
CiAgICBlbGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZXNkaycsIGQpOgogICAgICAg
IGQuc2V0VmFyKCdTU1RBVEVfUEtHQVJDSCcsIGQuZXhwYW5kKCIke1NES19BUkNIfV8ke1NES19P
U30iKSkKICAgIGVsaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3MtY2FuYWRpYW4nLCBk
KToKICAgICAgICBkLnNldFZhcignU1NUQVRFX1BLR0FSQ0gnLCBkLmV4cGFuZCgiJHtTREtfQVJD
SH1fJHtQQUNLQUdFX0FSQ0h9IikpCiAgICBlbGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Fs
bGFyY2gnLCBkKSBhbmQgZC5nZXRWYXIoIlBBQ0tBR0VfQVJDSCIpID09ICJhbGwiOgogICAgICAg
IGQuc2V0VmFyKCdTU1RBVEVfUEtHQVJDSCcsICJhbGxhcmNoIikKICAgIGVsc2U6CiAgICAgICAg
ZC5zZXRWYXIoJ1NTVEFURV9NQU5NQUNIJywgZC5leHBhbmQoIiR7UEFDS0FHRV9BUkNIfSIpKQoK
ICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZScsIGQpIG9yIGJiLmRhdGEuaW5o
ZXJpdHNfY2xhc3MoJ2Nyb3Nzc2RrJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jv
c3MnLCBkKToKICAgICAgICBkLnNldFZhcignU1NUQVRFX0VYVFJBUEFUSCcsICIke05BVElWRUxT
QlNUUklOR30vIikKICAgICAgICBkLnNldFZhcignQkJfSEFTSEZJTEVOQU1FJywgIlRydWUgJHtT
U1RBVEVfUEtHU1BFQ30gJHtTU1RBVEVfU1dTUEVDfSIpCiAgICAgICAgZC5zZXRWYXIoJ1NTVEFU
RV9FWFRSQVBBVEhXSUxEQ0FSRCcsICIke05BVElWRUxTQlNUUklOR30vIikKCiAgICB1bmlxdWVf
dGFza3MgPSBzb3J0ZWQoc2V0KChkLmdldFZhcignU1NUQVRFVEFTS1MnKSBvciAiIikuc3BsaXQo
KSkpCiAgICBkLnNldFZhcignU1NUQVRFVEFTS1MnLCAiICIuam9pbih1bmlxdWVfdGFza3MpKQog
ICAgZm9yIHRhc2sgaW4gdW5pcXVlX3Rhc2tzOgogICAgICAgIGQucHJlcGVuZFZhckZsYWcodGFz
aywgJ3ByZWZ1bmNzJywgInNzdGF0ZV90YXNrX3ByZWZ1bmMgIikKICAgICAgICBkLmFwcGVuZFZh
ckZsYWcodGFzaywgJ3Bvc3RmdW5jcycsICIgc3N0YXRlX3Rhc2tfcG9zdGZ1bmMiKQp9CgoKcHl0
aG9uIF9fYW5vbl8xMjYzX19ob21lX3VzZXJfcG9reV9tZXRhX2NsYXNzZXNfaW5zYW5lX2JiY2xh
c3MgKCkgewpkZWYgX19hbm9uXzEyNjNfX2hvbWVfdXNlcl9wb2t5X21ldGFfY2xhc3Nlc19pbnNh
bmVfYmJjbGFzcyhkKToKICAgIGltcG9ydCByZQoKICAgIHRlc3RzID0gZC5nZXRWYXIoJ0FMTF9R
QScpLnNwbGl0KCkKICAgIGlmICJkZXNrdG9wIiBpbiB0ZXN0czoKICAgICAgICBkLmFwcGVuZFZh
cigiUEFDS0FHRV9ERVBFTkRTIiwgIiBkZXNrdG9wLWZpbGUtdXRpbHMtbmF0aXZlIikKCiAgICAj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMKICAgICMgQ2hlY2sgdmFyaW91cyB2YXJpYWJsZXMKICAgICMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIwoKICAgICMgQ2hlY2tpbmcgJHtGSUxFU0VYVFJBUEFUSFN9CiAgICBleHRy
YXBhdGhzID0gKGQuZ2V0VmFyKCJGSUxFU0VYVFJBUEFUSFMiKSBvciAiIikKICAgIGlmICdfX2Rl
ZmF1bHQnIG5vdCBpbiBleHRyYXBhdGhzLnNwbGl0KCI6Iik6CiAgICAgICAgbXNnID0gIkZJTEVT
RVhUUkFQQVRIUy12YXJpYWJsZSwgbXVzdCBhbHdheXMgdXNlIF9wcmVwZW5kIChvciBfYXBwZW5k
KVxuIgogICAgICAgIG1zZyArPSAidHlwZSBvZiBhc3NpZ25tZW50LCBhbmQgZG9uJ3QgZm9yZ2V0
IHRoZSBjb2xvbi5cbiIKICAgICAgICBtc2cgKz0gIlBsZWFzZSBhc3NpZ24gaXQgd2l0aCB0aGUg
Zm9ybWF0IG9mOlxuIgogICAgICAgIG1zZyArPSAiICBGSUxFU0VYVFJBUEFUSFNfYXBwZW5kIDo9
IFwiOiR7VEhJU0RJUn0vWW91cl9GaWxlc19QYXRoXCIgb3JcbiIKICAgICAgICBtc2cgKz0gIiAg
RklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gXCIke1RISVNESVJ9L1lvdXJfRmlsZXNfUGF0aDpc
IlxuIgogICAgICAgIG1zZyArPSAiaW4geW91ciBiYmFwcGVuZCBmaWxlXG5cbiIKICAgICAgICBt
c2cgKz0gIllvdXIgaW5jb3JyZWN0IGFzc2lnbm1lbnQgaXM6XG4iCiAgICAgICAgbXNnICs9ICIl
c1xuIiAlIGV4dHJhcGF0aHMKICAgICAgICBiYi53YXJuKG1zZykKCiAgICBvdmVycmlkZXMgPSBk
LmdldFZhcignT1ZFUlJJREVTJykuc3BsaXQoJzonKQogICAgcG4gPSBkLmdldFZhcignUE4nKQog
ICAgaWYgcG4gaW4gb3ZlcnJpZGVzOgogICAgICAgIG1zZyA9ICdSZWNpcGUgJXMgaGFzIFBOIG9m
ICIlcyIgd2hpY2ggaXMgaW4gT1ZFUlJJREVTLCB0aGlzIGNhbiByZXN1bHQgaW4gdW5leHBlY3Rl
ZCBiZWhhdmlvdXIuJyAlIChkLmdldFZhcigiRklMRSIpLCBwbikKICAgICAgICBwYWNrYWdlX3Fh
X2hhbmRsZV9lcnJvcigicG4tb3ZlcnJpZGVzIiwgbXNnLCBkKQogICAgcHJvZyA9IHJlLmNvbXBp
bGUocidbQS1aXScpCiAgICBpZiBwcm9nLnNlYXJjaChwbik6CiAgICAgICAgcGFja2FnZV9xYV9o
YW5kbGVfZXJyb3IoInVwcGVyY2FzZS1wbiIsICdQTjogJXMgaXMgdXBwZXIgY2FzZSwgdGhpcyBj
YW4gcmVzdWx0IGluIHVuZXhwZWN0ZWQgYmVoYXZpb3IuJyAlIHBuLCBkKQoKICAgICMgU29tZSBw
ZW9wbGUgbWlzdGFrZW5seSB1c2UgREVQRU5EU18ke1BOfSBpbnN0ZWFkIG9mIERFUEVORFMgYW5k
IHdvbmRlcgogICAgIyB3aHkgaXQgZG9lc24ndCB3b3JrLgogICAgaWYgKGQuZ2V0VmFyKGQuZXhw
YW5kKCdERVBFTkRTXyR7UE59JykpKToKICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigi
cGtndmFyY2hlY2siLCAicmVjaXBlIHVzZXMgREVQRU5EU18ke1BOfSwgc2hvdWxkIHVzZSBERVBF
TkRTIiwgZCkKCiAgICBpc3N1ZXMgPSBbXQogICAgaWYgKGQuZ2V0VmFyKCdQQUNLQUdFUycpIG9y
ICIiKS5zcGxpdCgpOgogICAgICAgIGZvciBkZXAgaW4gKGQuZ2V0VmFyKCdRQURFUEVORFMnKSBv
ciAiIikuc3BsaXQoKToKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3Fh
JywgJ2RlcGVuZHMnLCAiICVzOmRvX3BvcHVsYXRlX3N5c3Jvb3QiICUgZGVwKQogICAgICAgIGZv
ciB2YXIgaW4gJ1JERVBFTkRTJywgJ1JSRUNPTU1FTkRTJywgJ1JTVUdHRVNUUycsICdSQ09ORkxJ
Q1RTJywgJ1JQUk9WSURFUycsICdSUkVQTEFDRVMnLCAnRklMRVMnLCAncGtnX3ByZWluc3QnLCAn
cGtnX3Bvc3RpbnN0JywgJ3BrZ19wcmVybScsICdwa2dfcG9zdHJtJywgJ0FMTE9XX0VNUFRZJzoK
ICAgICAgICAgICAgaWYgZC5nZXRWYXIodmFyLCBGYWxzZSk6CiAgICAgICAgICAgICAgICBpc3N1
ZXMuYXBwZW5kKHZhcikKCiAgICAgICAgZmFrZXJvb3RfdGVzdHMgPSBkLmdldFZhcignRkFLRVJP
T1RfUUEnKS5zcGxpdCgpCiAgICAgICAgaWYgc2V0KHRlc3RzKSAmIHNldChmYWtlcm9vdF90ZXN0
cyk6CiAgICAgICAgICAgIGQuc2V0VmFyRmxhZygnZG9fcGFja2FnZV9xYScsICdmYWtlcm9vdCcs
ICcxJykKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3FhJywgJ2RlcGVu
ZHMnLCAnIHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQogICAg
ZWxzZToKICAgICAgICBkLnNldFZhckZsYWcoJ2RvX3BhY2thZ2VfcWEnLCAncmRlcHRhc2snLCAn
JykKICAgIGZvciBpIGluIGlzc3VlczoKICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigi
cGtndmFyY2hlY2siLCAiJXM6IFZhcmlhYmxlICVzIGlzIHNldCBhcyBub3QgYmVpbmcgcGFja2Fn
ZSBzcGVjaWZpYywgcGxlYXNlIGZpeCB0aGlzLiIgJSAoZC5nZXRWYXIoIkZJTEUiKSwgaSksIGQp
CiAgICBxYV9zYW5lID0gZC5nZXRWYXIoIlFBX1NBTkUiKQogICAgaWYgbm90IHFhX3NhbmU6CiAg
ICAgICAgYmIuZmF0YWwoIkZhdGFsIFFBIGVycm9ycyBmb3VuZCwgZmFpbGluZyB0YXNrLiIpCn0K
CgpweXRob24gX19hbm9uXzIwX19ob21lX3VzZXJfcG9reV9tZXRhX2NsYXNzZXNfYmxhY2tsaXN0
X2JiY2xhc3MgKCkgewpkZWYgX19hbm9uXzIwX19ob21lX3VzZXJfcG9reV9tZXRhX2NsYXNzZXNf
YmxhY2tsaXN0X2JiY2xhc3MoZCk6CiAgICBibGFja2xpc3QgPSBkLmdldFZhckZsYWcoJ1BOQkxB
Q0tMSVNUJywgZC5nZXRWYXIoJ1BOJykpCgogICAgaWYgYmxhY2tsaXN0OgogICAgICAgIHJhaXNl
IGJiLnBhcnNlLlNraXBSZWNpcGUoIlJlY2lwZSBpcyBibGFja2xpc3RlZDogJXMiICUgKGJsYWNr
bGlzdCkpCn0KCgpweXRob24gX19hbm9uXzI1Ml9faG9tZV91c2VyX3Bva3lfbWV0YV9jbGFzc2Vz
X3BhY2thZ2VfYmJjbGFzcyAoKSB7CmRlZiBfX2Fub25fMjUyX19ob21lX3VzZXJfcG9reV9tZXRh
X2NsYXNzZXNfcGFja2FnZV9iYmNsYXNzKGQpOgogICAgaWYgZC5nZXRWYXIoJ1BBQ0tBR0VTJykg
IT0gJyc6CiAgICAgICAgZGVwcyA9ICIiCiAgICAgICAgZm9yIGRlcCBpbiAoZC5nZXRWYXIoJ1BB
Q0tBR0VfREVQRU5EUycpIG9yICIiKS5zcGxpdCgpOgogICAgICAgICAgICBkZXBzICs9ICIgJXM6
ZG9fcG9wdWxhdGVfc3lzcm9vdCIgJSBkZXAKICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX3Bh
Y2thZ2UnLCAnZGVwZW5kcycsIGRlcHMpCgogICAgICAgICMgc2hsaWJzIHJlcXVpcmVzIGFueSBE
RVBFTkRTIHRvIGhhdmUgYWxyZWFkeSBwYWNrYWdlZCBmb3IgdGhlICoubGlzdCBmaWxlcwogICAg
ICAgIGQuYXBwZW5kVmFyRmxhZygnZG9fcGFja2FnZScsICdkZXB0YXNrJywgIiBkb19wYWNrYWdl
ZGF0YSIpCn0KCgpweXRob24gX19hbm9uXzI1X19ob21lX3VzZXJfcG9reV9tZXRhX2NsYXNzZXNf
ZGViaWFuX2JiY2xhc3MgKCkgewpkZWYgX19hbm9uXzI1X19ob21lX3VzZXJfcG9reV9tZXRhX2Ns
YXNzZXNfZGViaWFuX2JiY2xhc3MoZCk6CiAgICBpZiBub3QgZC5nZXRWYXIoIlBBQ0tBR0VTIik6
CiAgICAgICAgZC5zZXRWYXIoIkRFQklBTlJERVAiLCAiIikKfQoKCnB5dGhvbiBfX2Fub25fMjVf
X2hvbWVfdXNlcl9wb2t5X21ldGFfY2xhc3Nlc19wYXRjaF9iYmNsYXNzICgpIHsKZGVmIF9fYW5v
bl8yNV9faG9tZV91c2VyX3Bva3lfbWV0YV9jbGFzc2VzX3BhdGNoX2JiY2xhc3MoZCk6CiAgICBp
ZiBkLmdldFZhcignUEFUQ0hUT09MJykgPT0gJ2dpdCcgYW5kIGQuZ2V0VmFyKCdQQVRDSF9DT01N
SVRfRlVOQ1RJT05TJykgPT0gJzEnOgogICAgICAgIGV4dHJhdGFza3MgPSBiYi5idWlsZC50YXNr
c2JldHdlZW4oJ2RvX3VucGFjaycsICdkb19wYXRjaCcsIGQpCiAgICAgICAgdHJ5OgogICAgICAg
ICAgICBleHRyYXRhc2tzLnJlbW92ZSgnZG9fdW5wYWNrJykKICAgICAgICBleGNlcHQgVmFsdWVF
cnJvcjoKICAgICAgICAgICAgIyBGb3Igc29tZSByZWNpcGVzIGRvX3VucGFjayBkb2Vzbid0IGV4
aXN0LCBpZ25vcmUgaXQKICAgICAgICAgICAgcGFzcwoKICAgICAgICBkLmFwcGVuZFZhckZsYWco
J2RvX3BhdGNoJywgJ3ByZWZ1bmNzJywgJyBwYXRjaF90YXNrX3BhdGNoX3ByZWZ1bmMnKQogICAg
ICAgIGZvciB0YXNrIGluIGV4dHJhdGFza3M6CiAgICAgICAgICAgIGQuYXBwZW5kVmFyRmxhZyh0
YXNrLCAncG9zdGZ1bmNzJywgJyBwYXRjaF90YXNrX3Bvc3RmdW5jJykKfQoKCnB5dGhvbiBfX2Fu
b25fMzVfX2hvbWVfdXNlcl9wb2t5X21ldGFfY2xhc3Nlc19kZXZzaGVsbF9iYmNsYXNzICgpIHsK
ZGVmIF9fYW5vbl8zNV9faG9tZV91c2VyX3Bva3lfbWV0YV9jbGFzc2VzX2RldnNoZWxsX2JiY2xh
c3MoZCk6CiAgICBpZiBkLmdldFZhckZsYWcoImRvX2RldnNoZWxsIiwgImZha2Vyb290Iik6CiAg
ICAgICAjIFdlIG5lZWQgdG8gc2lnbmFsIG91ciBjb2RlIHRoYXQgd2Ugd2FudCBmYWtlcm9vdCBo
b3dldmVyIHdlCiAgICAgICAjIGNhbid0IG1hbmlwdWxhdGUgdGhlIGVudmlyb25tZW50IGFuZCB2
YXJpYWJsZXMgaGVyZSB5ZXQgKHNlZSBZT0NUTyAjNDc5NSkKICAgICAgIGQuc2V0VmFyRmxhZygi
ZG9fZGV2c2hlbGwiLCAibWFudWFsZmFrZXJvb3QiLCAiMSIpCiAgICAgICBkLmRlbFZhckZsYWco
ImRvX2RldnNoZWxsIiwgImZha2Vyb290IikKfQoKCnB5dGhvbiBfX2Fub25fNzA2X19ob21lX3Vz
ZXJfcG9reV9tZXRhX2NsYXNzZXNfYmFzZV9iYmNsYXNzICgpIHsKZGVmIF9fYW5vbl83MDZfX2hv
bWVfdXNlcl9wb2t5X21ldGFfY2xhc3Nlc19iYXNlX2JiY2xhc3MoZCk6CiAgICBpbXBvcnQgc3Ry
aW5nLCByZQoKICAgICMgSGFuZGxlIGJhY2tmaWxsaW5nCiAgICBvZS51dGlscy5mZWF0dXJlc19i
YWNrZmlsbCgiRElTVFJPX0ZFQVRVUkVTIiwgZCkKICAgIG9lLnV0aWxzLmZlYXR1cmVzX2JhY2tm
aWxsKCJNQUNISU5FX0ZFQVRVUkVTIiwgZCkKCiAgICAjIEhhbmRsZSBQQUNLQUdFQ09ORklHCiAg
ICAjCiAgICAjIFRoZXNlIHRha2UgdGhlIGZvcm06CiAgICAjCiAgICAjIFBBQ0tBR0VDT05GSUcg
Pz89ICI8ZGVmYXVsdCBvcHRpb25zPiIKICAgICMgUEFDS0FHRUNPTkZJR1tmb29dID0gIi0tZW5h
YmxlLWZvbywtLWRpc2FibGUtZm9vLGZvb19kZXBlbmRzLGZvb19ydW50aW1lX2RlcGVuZHMsZm9v
X3J1bnRpbWVfcmVjb21tZW5kcyIKICAgIHBrZ2NvbmZpZ2ZsYWdzID0gZC5nZXRWYXJGbGFncygi
UEFDS0FHRUNPTkZJRyIpIG9yIHt9CiAgICBpZiBwa2djb25maWdmbGFnczoKICAgICAgICBwa2dj
b25maWcgPSAoZC5nZXRWYXIoJ1BBQ0tBR0VDT05GSUcnKSBvciAiIikuc3BsaXQoKQogICAgICAg
IHBuID0gZC5nZXRWYXIoIlBOIikKCiAgICAgICAgbWxwcmVmaXggPSBkLmdldFZhcigiTUxQUkVG
SVgiKQoKICAgICAgICBkZWYgZXhwYW5kRmlsdGVyKGFwcGVuZHMsIGV4dGVuc2lvbiwgcHJlZml4
KToKICAgICAgICAgICAgYXBwZW5kcyA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwcyhkLmV4cGFuZCgi
ICIuam9pbihhcHBlbmRzKSkpCiAgICAgICAgICAgIG5ld2FwcGVuZHMgPSBbXQogICAgICAgICAg
ICBmb3IgYSBpbiBhcHBlbmRzOgogICAgICAgICAgICAgICAgaWYgYS5lbmRzd2l0aCgiLW5hdGl2
ZSIpIG9yICgiLWNyb3NzLSIgaW4gYSk6CiAgICAgICAgICAgICAgICAgICAgbmV3YXBwZW5kcy5h
cHBlbmQoYSkKICAgICAgICAgICAgICAgIGVsaWYgYS5zdGFydHN3aXRoKCJ2aXJ0dWFsLyIpOgog
ICAgICAgICAgICAgICAgICAgIHN1YnMgPSBhLnNwbGl0KCIvIiwgMSlbMV0KICAgICAgICAgICAg
ICAgICAgICBpZiBzdWJzLnN0YXJ0c3dpdGgocHJlZml4KToKICAgICAgICAgICAgICAgICAgICAg
ICAgbmV3YXBwZW5kcy5hcHBlbmQoYSArIGV4dGVuc2lvbikKICAgICAgICAgICAgICAgICAgICBl
bHNlOgogICAgICAgICAgICAgICAgICAgICAgICBuZXdhcHBlbmRzLmFwcGVuZCgidmlydHVhbC8i
ICsgcHJlZml4ICsgc3VicyArIGV4dGVuc2lvbikKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAg
ICAgICAgICAgICAgICAgaWYgYS5zdGFydHN3aXRoKHByZWZpeCk6CiAgICAgICAgICAgICAgICAg
ICAgICAgIG5ld2FwcGVuZHMuYXBwZW5kKGEgKyBleHRlbnNpb24pCiAgICAgICAgICAgICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgbmV3YXBwZW5kcy5hcHBlbmQocHJlZml4
ICsgYSArIGV4dGVuc2lvbikKICAgICAgICAgICAgcmV0dXJuIG5ld2FwcGVuZHMKCiAgICAgICAg
ZGVmIGFwcGVuZFZhcih2YXJuYW1lLCBhcHBlbmRzKToKICAgICAgICAgICAgaWYgbm90IGFwcGVu
ZHM6CiAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgaWYgdmFybmFtZS5maW5kKCJE
RVBFTkRTIikgIT0gLTE6CiAgICAgICAgICAgICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNz
KCduYXRpdmVzZGsnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zcy1jYW5hZGlh
bicsIGQpIDoKICAgICAgICAgICAgICAgICAgICBhcHBlbmRzID0gZXhwYW5kRmlsdGVyKGFwcGVu
ZHMsICIiLCAibmF0aXZlc2RrLSIpCiAgICAgICAgICAgICAgICBlbGlmIGJiLmRhdGEuaW5oZXJp
dHNfY2xhc3MoJ25hdGl2ZScsIGQpOgogICAgICAgICAgICAgICAgICAgIGFwcGVuZHMgPSBleHBh
bmRGaWx0ZXIoYXBwZW5kcywgIi1uYXRpdmUiLCAiIikKICAgICAgICAgICAgICAgIGVsaWYgbWxw
cmVmaXg6CiAgICAgICAgICAgICAgICAgICAgYXBwZW5kcyA9IGV4cGFuZEZpbHRlcihhcHBlbmRz
LCAiIiwgbWxwcmVmaXgpCiAgICAgICAgICAgIHZhcm5hbWUgPSBkLmV4cGFuZCh2YXJuYW1lKQog
ICAgICAgICAgICBkLmFwcGVuZFZhcih2YXJuYW1lLCAiICIgKyAiICIuam9pbihhcHBlbmRzKSkK
CiAgICAgICAgZXh0cmFkZXBzID0gW10KICAgICAgICBleHRyYXJkZXBzID0gW10KICAgICAgICBl
eHRyYXJyZWNzID0gW10KICAgICAgICBleHRyYWNvbmYgPSBbXQogICAgICAgIGZvciBmbGFnLCBm
bGFndmFsIGluIHNvcnRlZChwa2djb25maWdmbGFncy5pdGVtcygpKToKICAgICAgICAgICAgaXRl
bXMgPSBmbGFndmFsLnNwbGl0KCIsIikKICAgICAgICAgICAgbnVtID0gbGVuKGl0ZW1zKQogICAg
ICAgICAgICBpZiBudW0gPiA1OgogICAgICAgICAgICAgICAgYmIuZXJyb3IoIiVzOiBQQUNLQUdF
Q09ORklHWyVzXSBPbmx5IGVuYWJsZSxkaXNhYmxlLGRlcGVuZCxyZGVwZW5kLHJyZWNvbW1lbmQg
Y2FuIGJlIHNwZWNpZmllZCEiCiAgICAgICAgICAgICAgICAgICAgJSAoZC5nZXRWYXIoJ1BOJyks
IGZsYWcpKQoKICAgICAgICAgICAgaWYgZmxhZyBpbiBwa2djb25maWc6CiAgICAgICAgICAgICAg
ICBpZiBudW0gPj0gMyBhbmQgaXRlbXNbMl06CiAgICAgICAgICAgICAgICAgICAgZXh0cmFkZXBz
LmFwcGVuZChpdGVtc1syXSkKICAgICAgICAgICAgICAgIGlmIG51bSA+PSA0IGFuZCBpdGVtc1sz
XToKICAgICAgICAgICAgICAgICAgICBleHRyYXJkZXBzLmFwcGVuZChpdGVtc1szXSkKICAgICAg
ICAgICAgICAgIGlmIG51bSA+PSA1IGFuZCBpdGVtc1s0XToKICAgICAgICAgICAgICAgICAgICBl
eHRyYXJyZWNzLmFwcGVuZChpdGVtc1s0XSkKICAgICAgICAgICAgICAgIGlmIG51bSA+PSAxIGFu
ZCBpdGVtc1swXToKICAgICAgICAgICAgICAgICAgICBleHRyYWNvbmYuYXBwZW5kKGl0ZW1zWzBd
KQogICAgICAgICAgICBlbGlmIG51bSA+PSAyIGFuZCBpdGVtc1sxXToKICAgICAgICAgICAgICAg
ICAgICBleHRyYWNvbmYuYXBwZW5kKGl0ZW1zWzFdKQogICAgICAgIGFwcGVuZFZhcignREVQRU5E
UycsIGV4dHJhZGVwcykKICAgICAgICBhcHBlbmRWYXIoJ1JERVBFTkRTXyR7UE59JywgZXh0cmFy
ZGVwcykKICAgICAgICBhcHBlbmRWYXIoJ1JSRUNPTU1FTkRTXyR7UE59JywgZXh0cmFycmVjcykK
ICAgICAgICBhcHBlbmRWYXIoJ1BBQ0tBR0VDT05GSUdfQ09ORkFSR1MnLCBleHRyYWNvbmYpCgog
ICAgcG4gPSBkLmdldFZhcignUE4nKQogICAgbGljZW5zZSA9IGQuZ2V0VmFyKCdMSUNFTlNFJykK
ICAgIGlmIGxpY2Vuc2UgPT0gIklOVkFMSUQiIGFuZCBwbiAhPSAiZGVmYXVsdHBrZ25hbWUiOgog
ICAgICAgIGJiLmZhdGFsKCdUaGlzIHJlY2lwZSBkb2VzIG5vdCBoYXZlIHRoZSBMSUNFTlNFIGZp
ZWxkIHNldCAoJXMpJyAlIHBuKQoKICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2xpY2Vu
c2UnLCBkKToKICAgICAgICBjaGVja19saWNlbnNlX2Zvcm1hdChkKQogICAgICAgIHVubWF0Y2hl
ZF9saWNlbnNlX2ZsYWdzID0gY2hlY2tfbGljZW5zZV9mbGFncyhkKQogICAgICAgIGlmIHVubWF0
Y2hlZF9saWNlbnNlX2ZsYWdzOgogICAgICAgICAgICBpZiBsZW4odW5tYXRjaGVkX2xpY2Vuc2Vf
ZmxhZ3MpID09IDE6CiAgICAgICAgICAgICAgICBtZXNzYWdlID0gImJlY2F1c2UgaXQgaGFzIGEg
cmVzdHJpY3RlZCBsaWNlbnNlICd7MH0nLiBXaGljaCBpcyBub3Qgd2hpdGVsaXN0ZWQgaW4gTElD
RU5TRV9GTEFHU19XSElURUxJU1QiLmZvcm1hdCh1bm1hdGNoZWRfbGljZW5zZV9mbGFnc1swXSkK
ICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAiYmVjYXVzZSBpdCBo
YXMgcmVzdHJpY3RlZCBsaWNlbnNlcyB7MH0uIFdoaWNoIGFyZSBub3Qgd2hpdGVsaXN0ZWQgaW4g
TElDRU5TRV9GTEFHU19XSElURUxJU1QiLmZvcm1hdCgKICAgICAgICAgICAgICAgICAgICAiLCAi
LmpvaW4oIid7MH0nIi5mb3JtYXQoZikgZm9yIGYgaW4gdW5tYXRjaGVkX2xpY2Vuc2VfZmxhZ3Mp
KQogICAgICAgICAgICBiYi5kZWJ1ZygxLCAiU2tpcHBpbmcgJXMgJXMiICUgKHBuLCBtZXNzYWdl
KSkKICAgICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZShtZXNzYWdlKQoKICAgICMg
SWYgd2UncmUgYnVpbGRpbmcgYSB0YXJnZXQgcGFja2FnZSB3ZSBuZWVkIHRvIHVzZSBmYWtlcm9v
dCAocHNldWRvKQogICAgIyBpbiBvcmRlciB0byBjYXB0dXJlIHBlcm1pc3Npb25zLCBvd25lcnMs
IGdyb3VwcyBhbmQgc3BlY2lhbCBmaWxlcwogICAgaWYgbm90IGJiLmRhdGEuaW5oZXJpdHNfY2xh
c3MoJ25hdGl2ZScsIGQpIGFuZCBub3QgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3MnLCBk
KToKICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX3ByZXBhcmVfcmVjaXBlX3N5c3Jvb3QnLCAn
ZGVwZW5kcycsICcgdmlydHVhbC9mYWtlcm9vdC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcp
CiAgICAgICAgZC5zZXRWYXJGbGFnKCdkb191bnBhY2snLCAndW1hc2snLCAnMDIyJykKICAgICAg
ICBkLnNldFZhckZsYWcoJ2RvX2NvbmZpZ3VyZScsICd1bWFzaycsICcwMjInKQogICAgICAgIGQu
c2V0VmFyRmxhZygnZG9fY29tcGlsZScsICd1bWFzaycsICcwMjInKQogICAgICAgIGQuYXBwZW5k
VmFyRmxhZygnZG9faW5zdGFsbCcsICdkZXBlbmRzJywgJyB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2
ZTpkb19wb3B1bGF0ZV9zeXNyb290JykKICAgICAgICBkLnNldFZhckZsYWcoJ2RvX2luc3RhbGwn
LCAnZmFrZXJvb3QnLCAnMScpCiAgICAgICAgZC5zZXRWYXJGbGFnKCdkb19pbnN0YWxsJywgJ3Vt
YXNrJywgJzAyMicpCiAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlJywgJ2RlcGVu
ZHMnLCAnIHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQogICAg
ICAgIGQuc2V0VmFyRmxhZygnZG9fcGFja2FnZScsICdmYWtlcm9vdCcsICcxJykKICAgICAgICBk
LnNldFZhckZsYWcoJ2RvX3BhY2thZ2UnLCAndW1hc2snLCAnMDIyJykKICAgICAgICBkLnNldFZh
ckZsYWcoJ2RvX3BhY2thZ2Vfc2V0c2NlbmUnLCAnZmFrZXJvb3QnLCAnMScpCiAgICAgICAgZC5h
cHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3NldHNjZW5lJywgJ2RlcGVuZHMnLCAnIHZpcnR1YWwv
ZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQogICAgICAgIGQuc2V0VmFyRmxh
ZygnZG9fZGV2c2hlbGwnLCAnZmFrZXJvb3QnLCAnMScpCiAgICAgICAgZC5hcHBlbmRWYXJGbGFn
KCdkb19kZXZzaGVsbCcsICdkZXBlbmRzJywgJyB2aXJ0dWFsL2Zha2Vyb290LW5hdGl2ZTpkb19w
b3B1bGF0ZV9zeXNyb290JykKCiAgICBuZWVkX21hY2hpbmUgPSBkLmdldFZhcignQ09NUEFUSUJM
RV9NQUNISU5FJykKICAgIGlmIG5lZWRfbWFjaGluZToKICAgICAgICBpbXBvcnQgcmUKICAgICAg
ICBjb21wYXRfbWFjaGluZXMgPSAoZC5nZXRWYXIoJ01BQ0hJTkVPVkVSUklERVMnKSBvciAiIiku
c3BsaXQoIjoiKQogICAgICAgIGZvciBtIGluIGNvbXBhdF9tYWNoaW5lczoKICAgICAgICAgICAg
aWYgcmUubWF0Y2gobmVlZF9tYWNoaW5lLCBtKToKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAg
ICAgZWxzZToKICAgICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiaW5jb21wYXRp
YmxlIHdpdGggbWFjaGluZSAlcyAobm90IGluIENPTVBBVElCTEVfTUFDSElORSkiICUgZC5nZXRW
YXIoJ01BQ0hJTkUnKSkKCiAgICBzb3VyY2VfbWlycm9yX2ZldGNoID0gZC5nZXRWYXIoJ1NPVVJD
RV9NSVJST1JfRkVUQ0gnLCBGYWxzZSkKICAgIGlmIG5vdCBzb3VyY2VfbWlycm9yX2ZldGNoOgog
ICAgICAgIG5lZWRfaG9zdCA9IGQuZ2V0VmFyKCdDT01QQVRJQkxFX0hPU1QnKQogICAgICAgIGlm
IG5lZWRfaG9zdDoKICAgICAgICAgICAgaW1wb3J0IHJlCiAgICAgICAgICAgIHRoaXNfaG9zdCA9
IGQuZ2V0VmFyKCdIT1NUX1NZUycpCiAgICAgICAgICAgIGlmIG5vdCByZS5tYXRjaChuZWVkX2hv
c3QsIHRoaXNfaG9zdCk6CiAgICAgICAgICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBl
KCJpbmNvbXBhdGlibGUgd2l0aCBob3N0ICVzIChub3QgaW4gQ09NUEFUSUJMRV9IT1NUKSIgJSB0
aGlzX2hvc3QpCgogICAgICAgIGJhZF9saWNlbnNlcyA9IChkLmdldFZhcignSU5DT01QQVRJQkxF
X0xJQ0VOU0UnKSBvciAiIikuc3BsaXQoKQoKICAgICAgICBjaGVja19saWNlbnNlID0gRmFsc2Ug
aWYgcG4uc3RhcnRzd2l0aCgibmF0aXZlc2RrLSIpIGVsc2UgVHJ1ZQogICAgICAgIGZvciB0IGlu
IFsiLW5hdGl2ZSIsICItY3Jvc3MtJHtUQVJHRVRfQVJDSH0iLCAiLWNyb3NzLWluaXRpYWwtJHtU
QVJHRVRfQVJDSH0iLAogICAgICAgICAgICAgICItY3Jvc3NzZGstJHtTREtfU1lTfSIsICItY3Jv
c3NzZGstaW5pdGlhbC0ke1NES19TWVN9IiwKICAgICAgICAgICAgICAiLWNyb3NzLWNhbmFkaWFu
LSR7VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH0iXToKICAgICAgICAgICAgaWYgcG4uZW5kc3dpdGgo
ZC5leHBhbmQodCkpOgogICAgICAgICAgICAgICAgY2hlY2tfbGljZW5zZSA9IEZhbHNlCiAgICAg
ICAgaWYgcG4uc3RhcnRzd2l0aCgiZ2NjLXNvdXJjZS0iKToKICAgICAgICAgICAgY2hlY2tfbGlj
ZW5zZSA9IEZhbHNlCgogICAgICAgIGlmIGNoZWNrX2xpY2Vuc2UgYW5kIGJhZF9saWNlbnNlczoK
ICAgICAgICAgICAgYmFkX2xpY2Vuc2VzID0gZXhwYW5kX3dpbGRjYXJkX2xpY2Vuc2VzKGQsIGJh
ZF9saWNlbnNlcykKCiAgICAgICAgICAgIHdoaXRlbGlzdCA9IFtdCiAgICAgICAgICAgIGluY29t
cGF0d2wgPSBbXQogICAgICAgICAgICBmb3IgbGljIGluIGJhZF9saWNlbnNlczoKICAgICAgICAg
ICAgICAgIHNwZHhfbGljZW5zZSA9IHJldHVybl9zcGR4KGQsIGxpYykKICAgICAgICAgICAgICAg
IHdoaXRlbGlzdC5leHRlbmQoKGQuZ2V0VmFyKCJXSElURUxJU1RfIiArIGxpYykgb3IgIiIpLnNw
bGl0KCkpCiAgICAgICAgICAgICAgICBpZiBzcGR4X2xpY2Vuc2U6CiAgICAgICAgICAgICAgICAg
ICAgd2hpdGVsaXN0LmV4dGVuZCgoZC5nZXRWYXIoIldISVRFTElTVF8iICsgc3BkeF9saWNlbnNl
KSBvciAiIikuc3BsaXQoKSkKICAgICAgICAgICAgICAgICcnJwogICAgICAgICAgICAgICAgV2Ug
bmVlZCB0byB0cmFjayB3aGF0IHdlIGFyZSB3aGl0ZWxpc3RpbmcgYW5kIHdoeS4gSWYgcG4gaXMK
ICAgICAgICAgICAgICAgIGluY29tcGF0aWJsZSB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gbm90ZSB0
aGF0IHRoZSBpbWFnZSB0aGF0CiAgICAgICAgICAgICAgICBpcyBjcmVhdGVkIG1heSBpbmZhY3Qg
Y29udGFpbiBpbmNvbXBhdGlibGUgbGljZW5zZXMgZGVzcGl0ZQogICAgICAgICAgICAgICAgSU5D
T01QQVRJQkxFX0xJQ0VOU0UgYmVpbmcgc2V0LgogICAgICAgICAgICAgICAgJycnCiAgICAgICAg
ICAgICAgICBpbmNvbXBhdHdsLmV4dGVuZCgoZC5nZXRWYXIoIldISVRFTElTVF8iICsgbGljKSBv
ciAiIikuc3BsaXQoKSkKICAgICAgICAgICAgICAgIGlmIHNwZHhfbGljZW5zZToKICAgICAgICAg
ICAgICAgICAgICBpbmNvbXBhdHdsLmV4dGVuZCgoZC5nZXRWYXIoIldISVRFTElTVF8iICsgc3Bk
eF9saWNlbnNlKSBvciAiIikuc3BsaXQoKSkKCiAgICAgICAgICAgIGlmIG5vdCBwbiBpbiB3aGl0
ZWxpc3Q6CiAgICAgICAgICAgICAgICBwa2dzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQo
KQogICAgICAgICAgICAgICAgc2tpcHBlZF9wa2dzID0gW10KICAgICAgICAgICAgICAgIHVuc2tp
cHBlZF9wa2dzID0gW10KICAgICAgICAgICAgICAgIGZvciBwa2cgaW4gcGtnczoKICAgICAgICAg
ICAgICAgICAgICBpZiBpbmNvbXBhdGlibGVfbGljZW5zZShkLCBiYWRfbGljZW5zZXMsIHBrZyk6
CiAgICAgICAgICAgICAgICAgICAgICAgIHNraXBwZWRfcGtncy5hcHBlbmQocGtnKQogICAgICAg
ICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2tpcHBlZF9wa2dz
LmFwcGVuZChwa2cpCiAgICAgICAgICAgICAgICBhbGxfc2tpcHBlZCA9IHNraXBwZWRfcGtncyBh
bmQgbm90IHVuc2tpcHBlZF9wa2dzCiAgICAgICAgICAgICAgICBpZiB1bnNraXBwZWRfcGtnczoK
ICAgICAgICAgICAgICAgICAgICBmb3IgcGtnIGluIHNraXBwZWRfcGtnczoKICAgICAgICAgICAg
ICAgICAgICAgICAgYmIuZGVidWcoMSwgIlNLSVBQSU5HIHRoZSBwYWNrYWdlICIgKyBwa2cgKyAi
IGF0IGRvX3Jvb3RmcyBiZWNhdXNlIGl0J3MgIiArIGxpY2Vuc2UpCiAgICAgICAgICAgICAgICAg
ICAgICAgIG1scHJlZml4ID0gZC5nZXRWYXIoJ01MUFJFRklYJykKICAgICAgICAgICAgICAgICAg
ICAgICAgZC5zZXRWYXIoJ0xJQ0VOU0VfRVhDTFVTSU9OLScgKyBtbHByZWZpeCArIHBrZywgMSkK
ICAgICAgICAgICAgICAgICAgICBmb3IgcGtnIGluIHVuc2tpcHBlZF9wa2dzOgogICAgICAgICAg
ICAgICAgICAgICAgICBiYi5kZWJ1ZygxLCAiSU5DTFVESU5HIHRoZSBwYWNrYWdlICIgKyBwa2cp
CiAgICAgICAgICAgICAgICBlbGlmIGFsbF9za2lwcGVkIG9yIGluY29tcGF0aWJsZV9saWNlbnNl
KGQsIGJhZF9saWNlbnNlcyk6CiAgICAgICAgICAgICAgICAgICAgYmIuZGVidWcoMSwgIlNLSVBQ
SU5HIHJlY2lwZSAlcyBiZWNhdXNlIGl0J3MgJXMiICUgKHBuLCBsaWNlbnNlKSkKICAgICAgICAg
ICAgICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJpdCBoYXMgYW4gaW5jb21wYXRp
YmxlIGxpY2Vuc2U6ICVzIiAlIGxpY2Vuc2UpCiAgICAgICAgICAgIGVsaWYgcG4gaW4gd2hpdGVs
aXN0OgogICAgICAgICAgICAgICAgaWYgcG4gaW4gaW5jb21wYXR3bDoKICAgICAgICAgICAgICAg
ICAgICBiYi5ub3RlKCJJTkNMVURJTkcgIiArIHBuICsgIiBhcyBidWlsZGFibGUgZGVzcGl0ZSBJ
TkNPTVBBVElCTEVfTElDRU5TRSBiZWNhdXNlIGl0IGhhcyBiZWVuIHdoaXRlbGlzdGVkIikKCiAg
ICAgICAgIyBUcnkgdG8gdmVyaWZ5IHBlci1wYWNrYWdlIChMSUNFTlNFXzxwa2c+KSB2YWx1ZXMu
IExJQ0VOU0Ugc2hvdWxkIGJlIGEKICAgICAgICAjIHN1cGVyc2V0IG9mIGFsbCBwZXItcGFja2Fn
ZSBsaWNlbnNlcy4gV2UgZG8gbm90IGRvIGFkdmFuY2VkIChwYXR0ZXJuKQogICAgICAgICMgbWF0
Y2hpbmcgb2YgbGljZW5zZSBleHByZXNzaW9ucyAtIGp1c3QgY2hlY2sgdGhhdCBhbGwgbGljZW5z
ZSBzdHJpbmdzCiAgICAgICAgIyBpbiBMSUNFTlNFXzxwa2c+IGFyZSBmb3VuZCBpbiBMSUNFTlNF
LgogICAgICAgIGxpY2Vuc2Vfc2V0ID0gb2UubGljZW5zZS5saXN0X2xpY2Vuc2VzKGxpY2Vuc2Up
CiAgICAgICAgZm9yIHBrZyBpbiBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpOgogICAgICAg
ICAgICBwa2dfbGljZW5zZSA9IGQuZ2V0VmFyKCdMSUNFTlNFXycgKyBwa2cpCiAgICAgICAgICAg
IGlmIHBrZ19saWNlbnNlOgogICAgICAgICAgICAgICAgdW5saXN0ZWQgPSBvZS5saWNlbnNlLmxp
c3RfbGljZW5zZXMocGtnX2xpY2Vuc2UpIC0gbGljZW5zZV9zZXQKICAgICAgICAgICAgICAgIGlm
IHVubGlzdGVkOgogICAgICAgICAgICAgICAgICAgIGJiLndhcm4oIkxJQ0VOU0VfJXMgaW5jbHVk
ZXMgbGljZW5zZXMgKCVzKSB0aGF0IGFyZSBub3QgIgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgImxpc3RlZCBpbiBMSUNFTlNFIiAlIChwa2csICcgJy5qb2luKHVubGlzdGVkKSkpCgogICAg
bmVlZHNyY3JldiA9IEZhbHNlCiAgICBzcmN1cmkgPSBkLmdldFZhcignU1JDX1VSSScpCiAgICBm
b3IgdXJpIGluIHNyY3VyaS5zcGxpdCgpOgogICAgICAgIChzY2hlbWUsIF8gLCBwYXRoKSA9IGJi
LmZldGNoLmRlY29kZXVybCh1cmkpWzozXQoKICAgICAgICAjIEhUVFAvRlRQIHVzZSB0aGUgd2dl
dCBmZXRjaGVyCiAgICAgICAgaWYgc2NoZW1lIGluICgiaHR0cCIsICJodHRwcyIsICJmdHAiKToK
ICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19mZXRjaCcsICdkZXBlbmRzJywgJyB3Z2V0
LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290JykKCiAgICAgICAgIyBTdm4gcGFja2FnZXMgc2hv
dWxkIERFUEVORCBvbiBzdWJ2ZXJzaW9uLW5hdGl2ZQogICAgICAgIGlmIHNjaGVtZSA9PSAic3Zu
IjoKICAgICAgICAgICAgbmVlZHNyY3JldiA9IFRydWUKICAgICAgICAgICAgZC5hcHBlbmRWYXJG
bGFnKCdkb19mZXRjaCcsICdkZXBlbmRzJywgJyBzdWJ2ZXJzaW9uLW5hdGl2ZTpkb19wb3B1bGF0
ZV9zeXNyb290JykKCiAgICAgICAgIyBHaXQgcGFja2FnZXMgc2hvdWxkIERFUEVORCBvbiBnaXQt
bmF0aXZlCiAgICAgICAgZWxpZiBzY2hlbWUgaW4gKCJnaXQiLCAiZ2l0c20iKToKICAgICAgICAg
ICAgbmVlZHNyY3JldiA9IFRydWUKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19mZXRj
aCcsICdkZXBlbmRzJywgJyBnaXQtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQoKICAgICAg
ICAjIE1lcmN1cmlhbCBwYWNrYWdlcyBzaG91bGQgREVQRU5EIG9uIG1lcmN1cmlhbC1uYXRpdmUK
ICAgICAgICBlbGlmIHNjaGVtZSA9PSAiaGciOgogICAgICAgICAgICBuZWVkc3JjcmV2ID0gVHJ1
ZQogICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX2ZldGNoJywgJ2RlcGVuZHMnLCAnIG1l
cmN1cmlhbC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCcpCgogICAgICAgICMgUGVyZm9yY2Ug
cGFja2FnZXMgc3VwcG9ydCBTUkNSRVYgPSAiJHtBVVRPUkVWfSIKICAgICAgICBlbGlmIHNjaGVt
ZSA9PSAicDQiOgogICAgICAgICAgICBuZWVkc3JjcmV2ID0gVHJ1ZQoKICAgICAgICAjIE9TQyBw
YWNrYWdlcyBzaG91bGQgREVQRU5EIG9uIG9zYy1uYXRpdmUKICAgICAgICBlbGlmIHNjaGVtZSA9
PSAib3NjIjoKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19mZXRjaCcsICdkZXBlbmRz
JywgJyBvc2MtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQoKICAgICAgICBlbGlmIHNjaGVt
ZSA9PSAibnBtIjoKICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19mZXRjaCcsICdkZXBl
bmRzJywgJyBub2RlanMtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQoKICAgICAgICAjICou
bHo0IHNob3VsZCBERVBFTkQgb24gbHo0LW5hdGl2ZSBmb3IgdW5wYWNraW5nCiAgICAgICAgaWYg
cGF0aC5lbmRzd2l0aCgnLmx6NCcpOgogICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX3Vu
cGFjaycsICdkZXBlbmRzJywgJyBsejQtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnKQoKICAg
ICAgICAjICoubHogc2hvdWxkIERFUEVORCBvbiBsemlwLW5hdGl2ZSBmb3IgdW5wYWNraW5nCiAg
ICAgICAgZWxpZiBwYXRoLmVuZHN3aXRoKCcubHonKToKICAgICAgICAgICAgZC5hcHBlbmRWYXJG
bGFnKCdkb191bnBhY2snLCAnZGVwZW5kcycsICcgbHppcC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lz
cm9vdCcpCgogICAgICAgICMgKi54eiBzaG91bGQgREVQRU5EIG9uIHh6LW5hdGl2ZSBmb3IgdW5w
YWNraW5nCiAgICAgICAgZWxpZiBwYXRoLmVuZHN3aXRoKCcueHonKSBvciBwYXRoLmVuZHN3aXRo
KCcudHh6Jyk6CiAgICAgICAgICAgIGQuYXBwZW5kVmFyRmxhZygnZG9fdW5wYWNrJywgJ2RlcGVu
ZHMnLCAnIHh6LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290JykKCiAgICAgICAgIyAuemlwIHNo
b3VsZCBERVBFTkQgb24gdW56aXAtbmF0aXZlIGZvciB1bnBhY2tpbmcKICAgICAgICBlbGlmIHBh
dGguZW5kc3dpdGgoJy56aXAnKSBvciBwYXRoLmVuZHN3aXRoKCcuamFyJyk6CiAgICAgICAgICAg
IGQuYXBwZW5kVmFyRmxhZygnZG9fdW5wYWNrJywgJ2RlcGVuZHMnLCAnIHVuemlwLW5hdGl2ZTpk
b19wb3B1bGF0ZV9zeXNyb290JykKCiAgICAgICAgIyBTb21lIHJwbSBmaWxlcyBtYXkgYmUgY29t
cHJlc3NlZCBpbnRlcm5hbGx5IHVzaW5nIHh6IChmb3IgZXhhbXBsZSwgcnBtcyBmcm9tIEZlZG9y
YSkKICAgICAgICBlbGlmIHBhdGguZW5kc3dpdGgoJy5ycG0nKToKICAgICAgICAgICAgZC5hcHBl
bmRWYXJGbGFnKCdkb191bnBhY2snLCAnZGVwZW5kcycsICcgeHotbmF0aXZlOmRvX3BvcHVsYXRl
X3N5c3Jvb3QnKQoKICAgICAgICAjICouZGViIHNob3VsZCBERVBFTkQgb24geHotbmF0aXZlIGZv
ciB1bnBhY2tpbmcKICAgICAgICBlbGlmIHBhdGguZW5kc3dpdGgoJy5kZWInKToKICAgICAgICAg
ICAgZC5hcHBlbmRWYXJGbGFnKCdkb191bnBhY2snLCAnZGVwZW5kcycsICcgeHotbmF0aXZlOmRv
X3BvcHVsYXRlX3N5c3Jvb3QnKQoKICAgIGlmIG5lZWRzcmNyZXY6CiAgICAgICAgZC5zZXRWYXIo
IlNSQ1BWIiwgIiR7QGJiLmZldGNoMi5nZXRfc3JjcmV2KGQpfSIpCgogICAgICAgICMgR2F0aGVy
IGFsbCBuYW1lZCBTUkNSRVZzIHRvIGFkZCB0byB0aGUgc3N0YXRlIGhhc2ggY2FsY3VsYXRpb24K
ICAgICAgICAjIFRoaXMgYW5vbnltb3VzIHB5dGhvbiBzbmlwcGV0IGlzIGNhbGxlZCBtdWx0aXBs
ZSB0aW1lcyBzbyB3ZQogICAgICAgICMgbmVlZCB0byBiZSBjYXJlZnVsIHRvIG5vdCBkb3VibGUg
dXAgdGhlIGFwcGVuZHMgaGVyZSBhbmQgY2F1c2UKICAgICAgICAjIHRoZSBiYXNlIGhhc2ggdG8g
bWlzbWF0Y2ggdGhlIHRhc2sgaGFzaAogICAgICAgIGZvciB1cmkgaW4gc3JjdXJpLnNwbGl0KCk6
CiAgICAgICAgICAgIHBhcm0gPSBiYi5mZXRjaC5kZWNvZGV1cmwodXJpKVs1XQogICAgICAgICAg
ICB1cmlfbmFtZXMgPSBwYXJtLmdldCgibmFtZSIsICIiKS5zcGxpdCgiLCIpCiAgICAgICAgICAg
IGZvciB1cmlfbmFtZSBpbiBmaWx0ZXIoTm9uZSwgdXJpX25hbWVzKToKICAgICAgICAgICAgICAg
IHNyY3Jldl9uYW1lID0gIlNSQ1JFVl97fSIuZm9ybWF0KHVyaV9uYW1lKQogICAgICAgICAgICAg
ICAgaWYgc3JjcmV2X25hbWUgbm90IGluIChkLmdldFZhckZsYWcoImRvX2ZldGNoIiwgInZhcmRl
cHMiKSBvciAiIikuc3BsaXQoKToKICAgICAgICAgICAgICAgICAgICBkLmFwcGVuZFZhckZsYWco
ImRvX2ZldGNoIiwgInZhcmRlcHMiLCAiIHt9Ii5mb3JtYXQoc3JjcmV2X25hbWUpKQoKICAgIHNl
dF9wYWNrYWdldHJpcGxldChkKQoKICAgICMgJ211bHRpbWFjaGluZScgaGFuZGxpbmcKICAgIG1h
Y2hfYXJjaCA9IGQuZ2V0VmFyKCdNQUNISU5FX0FSQ0gnKQogICAgcGtnX2FyY2ggPSBkLmdldFZh
cignUEFDS0FHRV9BUkNIJykKCiAgICBpZiAocGtnX2FyY2ggPT0gbWFjaF9hcmNoKToKICAgICAg
ICAjIEFscmVhZHkgbWFjaGluZSBzcGVjaWZpYyAtIG5vdGhpbmcgZnVydGhlciB0byBkbwogICAg
ICAgIHJldHVybgoKICAgICMKICAgICMgV2UgYWx3YXlzIHRyeSB0byBzY2FuIFNSQ19VUkkgZm9y
IHVybHMgd2l0aCBtYWNoaW5lIG92ZXJyaWRlcwogICAgIyB1bmxlc3MgdGhlIHBhY2thZ2Ugc2V0
cyBTUkNfVVJJX09WRVJSSURFU19QQUNLQUdFX0FSQ0g9MAogICAgIwogICAgb3ZlcnJpZGUgPSBk
LmdldFZhcignU1JDX1VSSV9PVkVSUklERVNfUEFDS0FHRV9BUkNIJykKICAgIGlmIG92ZXJyaWRl
ICE9ICcwJzoKICAgICAgICBwYXRocyA9IFtdCiAgICAgICAgZnBhdGhzID0gKGQuZ2V0VmFyKCdG
SUxFU1BBVEgnKSBvciAnJykuc3BsaXQoJzonKQogICAgICAgIG1hY2hpbmUgPSBkLmdldFZhcign
TUFDSElORScpCiAgICAgICAgZm9yIHAgaW4gZnBhdGhzOgogICAgICAgICAgICBpZiBvcy5wYXRo
LmJhc2VuYW1lKHApID09IG1hY2hpbmUgYW5kIG9zLnBhdGguaXNkaXIocCk6CiAgICAgICAgICAg
ICAgICBwYXRocy5hcHBlbmQocCkKCiAgICAgICAgaWYgbGVuKHBhdGhzKSAhPSAwOgogICAgICAg
ICAgICBmb3IgcyBpbiBzcmN1cmkuc3BsaXQoKToKICAgICAgICAgICAgICAgIGlmIG5vdCBzLnN0
YXJ0c3dpdGgoImZpbGU6Ly8iKToKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAg
ICAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChbc10sIGQpCiAgICAgICAgICAgICAg
ICBsb2NhbCA9IGZldGNoZXIubG9jYWxwYXRoKHMpCiAgICAgICAgICAgICAgICBmb3IgbXAgaW4g
cGF0aHM6CiAgICAgICAgICAgICAgICAgICAgaWYgbG9jYWwuc3RhcnRzd2l0aChtcCk6CiAgICAg
ICAgICAgICAgICAgICAgICAgICNiYi5ub3RlKCJvdmVycmlkaW5nIFBBQ0tBR0VfQVJDSCBmcm9t
ICVzIHRvICVzIGZvciAlcyIgJSAocGtnX2FyY2gsIG1hY2hfYXJjaCwgcG4pKQogICAgICAgICAg
ICAgICAgICAgICAgICBkLnNldFZhcignUEFDS0FHRV9BUkNIJywgIiR7TUFDSElORV9BUkNIfSIp
CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybgoKICAgIHBhY2thZ2VzID0gZC5nZXRWYXIo
J1BBQ0tBR0VTJykuc3BsaXQoKQogICAgZm9yIHBrZyBpbiBwYWNrYWdlczoKICAgICAgICBwa2dh
cmNoID0gZC5nZXRWYXIoIlBBQ0tBR0VfQVJDSF8lcyIgJSBwa2cpCgogICAgICAgICMgV2UgY291
bGQgbG9vayBmb3IgIT0gUEFDS0FHRV9BUkNIIGhlcmUgYnV0IGhvdyB0byBjaG9vc2UKICAgICAg
ICAjIGlmIG11bHRpcGxlIGRpZmZlcmVuY2VzIGFyZSBwcmVzZW50PwogICAgICAgICMgTG9vayB0
aHJvdWdoIFBBQ0tBR0VfQVJDSFMgZm9yIHRoZSBwcmlvcml0eSBvcmRlcj8KICAgICAgICBpZiBw
a2dhcmNoIGFuZCBwa2dhcmNoID09IG1hY2hfYXJjaDoKICAgICAgICAgICAgZC5zZXRWYXIoJ1BB
Q0tBR0VfQVJDSCcsICIke01BQ0hJTkVfQVJDSH0iKQogICAgICAgICAgICBiYi53YXJuKCJSZWNp
cGUgJXMgaXMgbWFya2VkIGFzIG9ubHkgYmVpbmcgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGJ1dCBz
ZWVtcyB0byBoYXZlIG1hY2hpbmUgc3BlY2lmaWMgcGFja2FnZXM/ISBUaGUgcmVjaXBlIG1heSBh
cyB3ZWxsIG1hcmsgaXRzZWxmIGFzIG1hY2hpbmUgc3BlY2lmaWMgZGlyZWN0bHkuIiAlIGQuZ2V0
VmFyKCJQTiIpKQp9CgoKcHl0aG9uIF9fYW5vbl83MjFfX2hvbWVfdXNlcl9wb2t5X21ldGFfY2xh
c3Nlc19wYWNrYWdlX3JwbV9iYmNsYXNzICgpIHsKZGVmIF9fYW5vbl83MjFfX2hvbWVfdXNlcl9w
b2t5X21ldGFfY2xhc3Nlc19wYWNrYWdlX3JwbV9iYmNsYXNzKGQpOgogICAgaWYgZC5nZXRWYXIo
J1BBQ0tBR0VTJykgIT0gJyc6CiAgICAgICAgZGVwcyA9ICcgcnBtLW5hdGl2ZTpkb19wb3B1bGF0
ZV9zeXNyb290IHZpcnR1YWwvZmFrZXJvb3QtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QnCiAg
ICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3dyaXRlX3JwbScsICdkZXBlbmRzJywg
ZGVwcykKICAgICAgICBkLnNldFZhckZsYWcoJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJywgJ2Zha2Vy
b290JywgJzEnKQp9CgoKcHl0aG9uIGFkZF9wYWNrYWdlX2FuZF9maWxlcyAoKSB7CmRlZiBhZGRf
cGFja2FnZV9hbmRfZmlsZXMoZCk6CiAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycp
CiAgICBmaWxlcyA9IGQuZ2V0VmFyKCdMSUNFTlNFX0ZJTEVTX0RJUkVDVE9SWScpCiAgICBwbiA9
IGQuZ2V0VmFyKCdQTicpCiAgICBwbl9saWMgPSAiJXMlcyIgJSAocG4sIGQuZ2V0VmFyKCdMSUNF
TlNFX1BBQ0tBR0VfU1VGRklYJywgRmFsc2UpKQogICAgaWYgcG5fbGljIGluIHBhY2thZ2VzLnNw
bGl0KCk6CiAgICAgICAgYmIud2FybigiJXMgcGFja2FnZSBhbHJlYWR5IGV4aXN0ZWQgaW4gJXMu
IiAlIChwbl9saWMsIHBuKSkKICAgIGVsc2U6CiAgICAgICAgIyBmaXJzdCBpbiBQQUNLQUdFUyB0
byBiZSBzdXJlIHRoYXQgbm90aGluZyBlbHNlIGdldHMgTElDRU5TRV9GSUxFU19ESVJFQ1RPUlkK
ICAgICAgICBkLnNldFZhcignUEFDS0FHRVMnLCAiJXMgJXMiICUgKHBuX2xpYywgcGFja2FnZXMp
KQogICAgICAgIGQuc2V0VmFyKCdGSUxFU18nICsgcG5fbGljLCBmaWxlcykKICAgIGZvciBwbiBp
biBwYWNrYWdlcy5zcGxpdCgpOgogICAgICAgIGlmIHBuID09IHBuX2xpYzoKICAgICAgICAgICAg
Y29udGludWUKICAgICAgICBycmVjb21tZW5kc19wbiA9IGQuZ2V0VmFyKCdSUkVDT01NRU5EU18n
ICsgcG4pCiAgICAgICAgaWYgcnJlY29tbWVuZHNfcG46CiAgICAgICAgICAgIGQuc2V0VmFyKCdS
UkVDT01NRU5EU18nICsgcG4sICIlcyAlcyIgJSAocG5fbGljLCBycmVjb21tZW5kc19wbikpCiAg
ICAgICAgZWxzZToKICAgICAgICAgICAgZC5zZXRWYXIoJ1JSRUNPTU1FTkRTXycgKyBwbiwgIiVz
IiAlIChwbl9saWMpKQp9CgoKcHl0aG9uIGFsbF9tdWx0aWxpYl90dW5lX2xpc3QgKCkgewpkZWYg
YWxsX211bHRpbGliX3R1bmVfbGlzdCh2YXJzLCBkKToKICAgICIiIgogICAgUmV0dXJuIGEgbGlz
dCBvZiAke1ZBUn0gZm9yIGVhY2ggdmFyaWFibGUgVkFSIGluIHZhcnMgZnJvbSBlYWNoCiAgICBt
dWx0aWxpYiB0dW5lIGNvbmZpZ3VyYXRpb24uCiAgICBJcyBzYWZlIHRvIGJlIGNhbGxlZCBmcm9t
IGEgbXVsdGlsaWIgcmVjaXBlL2NvbnRleHQgYXMgaXQgY2FuCiAgICBmaWd1cmUgb3V0IHRoZSBv
cmlnaW5hbCB0dW5lIGFuZCByZW1vdmUgdGhlIG11bHRpbGliIG92ZXJyaWRlcy4KICAgICIiIgog
ICAgdmFsdWVzID0ge30KICAgIGZvciB2IGluIHZhcnM6CiAgICAgICAgdmFsdWVzW3ZdID0gW10K
ICAgIHZhbHVlc1snbWwnXSA9IFsnJ10KCiAgICB2YXJpYW50cyA9IChkLmdldFZhcigiTVVMVElM
SUJfVkFSSUFOVFMiKSBvciAiIikuc3BsaXQoKSArIFsnJ10KICAgIGZvciBpdGVtIGluIHZhcmlh
bnRzOgogICAgICAgIGxvY2FsZGF0YSA9IGdldF9tdWx0aWxpYl9kYXRhc3RvcmUoaXRlbSwgZCkK
ICAgICAgICB2YWx1ZXNbdl0uYXBwZW5kKGxvY2FsZGF0YS5nZXRWYXIodikpCiAgICAgICAgdmFs
dWVzWydtbCddLmFwcGVuZChpdGVtKQogICAgcmV0dXJuIHZhbHVlc30KCgpweXRob24gYWxsX211
bHRpbGliX3R1bmVfdmFsdWVzICgpIHsKZGVmIGFsbF9tdWx0aWxpYl90dW5lX3ZhbHVlcyhkLCB2
YXIsIHVuaXF1ZSA9IFRydWUsIG5lZWRfc3BsaXQgPSBUcnVlLCBkZWxpbSA9ICcgJyk6CiAgICAi
IiJSZXR1cm4gYSBzdHJpbmcgb2YgYWxsICR7dmFyfSBpbiBhbGwgbXVsdGlsaWIgdHVuZSBjb25m
aWd1cmF0aW9uIiIiCiAgICB2YWx1ZXMgPSBbXQogICAgdmFyaWFudHMgPSAoZC5nZXRWYXIoIk1V
TFRJTElCX1ZBUklBTlRTIikgb3IgIiIpLnNwbGl0KCkgKyBbJyddCiAgICBmb3IgaXRlbSBpbiB2
YXJpYW50czoKICAgICAgICBsb2NhbGRhdGEgPSBnZXRfbXVsdGlsaWJfZGF0YXN0b3JlKGl0ZW0s
IGQpCiAgICAgICAgIyBXZSBuZWVkIFdPUktESVIgdG8gYmUgY29uc2lzdGVudCB3aXRoIHRoZSBv
cmlnaW5hbCBkYXRhc3RvcmUKICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCJXT1JLRElSIiwgZC5n
ZXRWYXIoIldPUktESVIiKSkKICAgICAgICB2YWx1ZSA9IGxvY2FsZGF0YS5nZXRWYXIodmFyKSBv
ciAiIgogICAgICAgIGlmIHZhbHVlICE9ICIiOgogICAgICAgICAgICBpZiBuZWVkX3NwbGl0Ogog
ICAgICAgICAgICAgICAgZm9yIGl0ZW0gaW4gdmFsdWUuc3BsaXQoZGVsaW0pOgogICAgICAgICAg
ICAgICAgICAgIHZhbHVlcy5hcHBlbmQoaXRlbSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAg
ICAgICAgIHZhbHVlcy5hcHBlbmQodmFsdWUpCiAgICBpZiB1bmlxdWU6CiAgICAgICAgI3dlIGRv
IHRoaXMgdG8ga2VlcCBvcmRlciBhcyBtdWNoIGFzIHBvc3NpYmxlCiAgICAgICAgcmV0ID0gW10K
ICAgICAgICBmb3IgdmFsdWUgaW4gdmFsdWVzOgogICAgICAgICAgICBpZiBub3QgdmFsdWUgaW4g
cmV0OgogICAgICAgICAgICAgICAgcmV0LmFwcGVuZCh2YWx1ZSkKICAgIGVsc2U6CiAgICAgICAg
cmV0ID0gdmFsdWVzCiAgICByZXR1cm4gIiAiLmpvaW4ocmV0KQp9CgoKcHl0aG9uIGJhc2VfZGVw
X3ByZXBlbmQgKCkgewpOb25lfQoKCnB5dGhvbiBiYXNlX2RldGVjdF9icmFuY2ggKCkgewpkZWYg
YmFzZV9kZXRlY3RfYnJhbmNoKGQpOgogICAgcGF0aCA9IGJhc2VfZ2V0X3NjbWJhc2VwYXRoKGQp
CiAgICByZXR1cm4gYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X2JyYW5jaChwYXRoLCBkKQp9CgoKcHl0
aG9uIGJhc2VfZGV0ZWN0X3JldmlzaW9uICgpIHsKZGVmIGJhc2VfZGV0ZWN0X3JldmlzaW9uKGQp
OgogICAgcGF0aCA9IGJhc2VfZ2V0X3NjbWJhc2VwYXRoKGQpCiAgICByZXR1cm4gYmFzZV9nZXRf
bWV0YWRhdGFfZ2l0X3JldmlzaW9uKHBhdGgsIGQpCn0KCgpweXRob24gYmFzZV9kb19mZXRjaCAo
KSB7CgogICAgc3JjX3VyaSA9IChkLmdldFZhcignU1JDX1VSSScpIG9yICIiKS5zcGxpdCgpCiAg
ICBpZiBsZW4oc3JjX3VyaSkgPT0gMDoKICAgICAgICByZXR1cm4KCiAgICB0cnk6CiAgICAgICAg
ZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChzcmNfdXJpLCBkKQogICAgICAgIGZldGNoZXIuZG93
bmxvYWQoKQogICAgZXhjZXB0IGJiLmZldGNoMi5CQkZldGNoRXhjZXB0aW9uIGFzIGU6CiAgICAg
ICAgYmIuZmF0YWwoc3RyKGUpKQp9CgoKcHl0aG9uIGJhc2VfZG9fdW5wYWNrICgpIHsKICAgIHNy
Y191cmkgPSAoZC5nZXRWYXIoJ1NSQ19VUkknKSBvciAiIikuc3BsaXQoKQogICAgaWYgbGVuKHNy
Y191cmkpID09IDA6CiAgICAgICAgcmV0dXJuCgogICAgdHJ5OgogICAgICAgIGZldGNoZXIgPSBi
Yi5mZXRjaDIuRmV0Y2goc3JjX3VyaSwgZCkKICAgICAgICBmZXRjaGVyLnVucGFjayhkLmdldFZh
cignV09SS0RJUicpKQogICAgZXhjZXB0IGJiLmZldGNoMi5CQkZldGNoRXhjZXB0aW9uIGFzIGU6
CiAgICAgICAgYmIuZmF0YWwoc3RyKGUpKQp9CgoKcHl0aG9uIGJhc2VfZXZlbnRoYW5kbGVyICgp
IHsKICAgIGltcG9ydCBiYi5ydW5xdWV1ZQoKICAgIGlmIGlzaW5zdGFuY2UoZSwgYmIuZXZlbnQu
Q29uZmlnUGFyc2VkKToKICAgICAgICBpZiBub3QgZC5nZXRWYXIoIk5BVElWRUxTQlNUUklORyIs
IEZhbHNlKToKICAgICAgICAgICAgZC5zZXRWYXIoIk5BVElWRUxTQlNUUklORyIsIGxzYl9kaXN0
cm9faWRlbnRpZmllcihkKSkKICAgICAgICBkLnNldFZhcignQkJfVkVSU0lPTicsIGJiLl9fdmVy
c2lvbl9fKQoKICAgICMgVGhlcmUgbWlnaHQgYmUgbm8gYmIuZXZlbnQuQ29uZmlnUGFyc2VkIGV2
ZW50IGlmIGJpdGJha2Ugc2VydmVyIGlzCiAgICAjIHJ1bm5pbmcsIHNvIGNoZWNrIGJiLmV2ZW50
LkJ1aWxkU3RhcnRlZCB0b28gdG8gbWFrZSBzdXJlICR7SE9TVFRPT0xTX0RJUn0KICAgICMgZXhp
c3RzLgogICAgaWYgaXNpbnN0YW5jZShlLCBiYi5ldmVudC5Db25maWdQYXJzZWQpIG9yIFwKICAg
ICAgICAgICAgKGlzaW5zdGFuY2UoZSwgYmIuZXZlbnQuQnVpbGRTdGFydGVkKSBhbmQgbm90IG9z
LnBhdGguZXhpc3RzKGQuZ2V0VmFyKCdIT1NUVE9PTFNfRElSJykpKToKICAgICAgICAjIFdvcmtz
IHdpdGggdGhlIGxpbmUgaW4gbGF5ZXIuY29uZiB3aGljaCBjaGFuZ2VzIFBBVEggdG8gcG9pbnQg
aGVyZQogICAgICAgIHNldHVwX2hvc3R0b29sc19kaXIoZC5nZXRWYXIoJ0hPU1RUT09MU19ESVIn
KSwgJ0hPU1RUT09MUycsIGQpCiAgICAgICAgc2V0dXBfaG9zdHRvb2xzX2RpcihkLmdldFZhcign
SE9TVFRPT0xTX0RJUicpLCAnSE9TVFRPT0xTX05PTkZBVEFMJywgZCwgZmF0YWw9RmFsc2UpCgog
ICAgaWYgaXNpbnN0YW5jZShlLCBiYi5ldmVudC5NdWx0aUNvbmZpZ1BhcnNlZCk6CiAgICAgICAg
IyBXZSBuZWVkIHRvIGV4cGFuZCBTSUdHRU5fRVhDTFVERV9TQUZFX1JFQ0lQRV9ERVBTIGluIGVh
Y2ggb2YgdGhlIG11bHRpY29uZmlnIGRhdGEgc3RvcmVzCiAgICAgICAgIyBvd24gY29udGV4dHMg
c28gdGhlIHZhcmlhYmxlcyBnZXQgZXhwYW5kZWQgY29ycmVjdGx5IGZvciB0aGF0IGFyY2gsIHRo
ZW4gaW5qZWN0IGJhY2sgaW50bwogICAgICAgICMgdGhlIG1haW4gZGF0YSBzdG9yZS4KICAgICAg
ICBkZXBzID0gW10KICAgICAgICBmb3IgY29uZmlnIGluIGUubWNkYXRhOgogICAgICAgICAgICBk
ZXBzLmFwcGVuZChlLm1jZGF0YVtjb25maWddLmdldFZhcigiU0lHR0VOX0VYQ0xVREVfU0FGRV9S
RUNJUEVfREVQUyIpKQogICAgICAgIGRlcHMgPSAiICIuam9pbihkZXBzKQogICAgICAgIGUubWNk
YXRhWycnXS5zZXRWYXIoIlNJR0dFTl9FWENMVURFX1NBRkVfUkVDSVBFX0RFUFMiLCBkZXBzKQoK
ICAgIGlmIGlzaW5zdGFuY2UoZSwgYmIuZXZlbnQuQnVpbGRTdGFydGVkKToKICAgICAgICBsb2Nh
bGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkKICAgICAgICBzdGF0dXNsaW5lcyA9IFtdCiAg
ICAgICAgZm9yIGZ1bmMgaW4gb2UuZGF0YS50eXBlZF92YWx1ZSgnQlVJTERDRkdfRlVOQ1MnLCBs
b2NhbGRhdGEpOgogICAgICAgICAgICBnID0gZ2xvYmFscygpCiAgICAgICAgICAgIGlmIGZ1bmMg
bm90IGluIGc6CiAgICAgICAgICAgICAgICBiYi53YXJuKCJCdWlsZCBjb25maWd1cmF0aW9uIGZ1
bmN0aW9uICclcycgZG9lcyBub3QgZXhpc3QiICUgZnVuYykKICAgICAgICAgICAgZWxzZToKICAg
ICAgICAgICAgICAgIGZsaW5lcyA9IGdbZnVuY10obG9jYWxkYXRhKQogICAgICAgICAgICAgICAg
aWYgZmxpbmVzOgogICAgICAgICAgICAgICAgICAgIHN0YXR1c2xpbmVzLmV4dGVuZChmbGluZXMp
CgogICAgICAgIHN0YXR1c2hlYWRlciA9IGQuZ2V0VmFyKCdCVUlMRENGR19IRUFERVInKQogICAg
ICAgIGlmIHN0YXR1c2hlYWRlcjoKICAgICAgICAgICAgYmIucGxhaW4oJ1xuJXNcbiVzXG4nICUg
KHN0YXR1c2hlYWRlciwgJ1xuJy5qb2luKHN0YXR1c2xpbmVzKSkpCgogICAgIyBUaGlzIGNvZGUg
aXMgdG8gc2lsZW5jZSB3YXJuaW5ncyB3aGVyZSB0aGUgU0RLIHZhcmlhYmxlcyBvdmVyd3JpdGUg
dGhlCiAgICAjIHRhcmdldCBvbmVzIGFuZCB3ZSdkIHNlZSBkdWxwaWNhdGUga2V5IG5hbWVzIG92
ZXJ3cml0aW5nIGVhY2ggb3RoZXIKICAgICMgZm9yIHZhcmlvdXMgUFJFRkVSUkVEX1BST1ZJREVS
UwogICAgaWYgaXNpbnN0YW5jZShlLCBiYi5ldmVudC5SZWNpcGVQcmVGaW5hbGlzZSk6CiAgICAg
ICAgaWYgZC5nZXRWYXIoIlRBUkdFVF9QUkVGSVgiKSA9PSBkLmdldFZhcigiU0RLX1BSRUZJWCIp
OgogICAgICAgICAgICBkLmRlbFZhcigiUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJH
RVRfUFJFRklYfWJpbnV0aWxzIikKICAgICAgICAgICAgZC5kZWxWYXIoIlBSRUZFUlJFRF9QUk9W
SURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MiKQogICAgICAgICAgICBkLmRlbFZhcigi
UFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWcrKyIpCiAgICAgICAg
ICAgIGQuZGVsVmFyKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9
Y29tcGlsZXJsaWJzIikKCiAgICBpZiBpc2luc3RhbmNlKGUsIGJiLmV2ZW50LlJlY2lwZVBhcnNl
ZCk6CiAgICAgICAgIwogICAgICAgICMgSWYgd2UgaGF2ZSBtdWx0aXBsZSBwcm92aWRlcnMgb2Yg
dmlydHVhbC9YIGFuZCBhIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL1ggaXMgc2V0CiAgICAg
ICAgIyBza2lwIHBhcnNpbmcgZm9yIGFsbCB0aGUgb3RoZXIgcHJvdmlkZXJzIHdoaWNoIHdpbGwg
bWVhbiB0aGV5IGdldCB1bmluc3RhbGxlZCBmcm9tIHRoZQogICAgICAgICMgc3lzcm9vdCBzaW5j
ZSB0aGV5J3JlIG5vdyAidW5yZWFjaGFibGUiLiBUaGlzIG1ha2VzIHN3aXRjaGluZyB2aXJ0dWFs
L2tlcm5lbCB3b3JrIGluCiAgICAgICAgIyBwYXJ0aWN1bGFyLgogICAgICAgICMKICAgICAgICBw
biA9IGQuZ2V0VmFyKCdQTicpCiAgICAgICAgc291cmNlX21pcnJvcl9mZXRjaCA9IGQuZ2V0VmFy
KCdTT1VSQ0VfTUlSUk9SX0ZFVENIJywgRmFsc2UpCiAgICAgICAgaWYgbm90IHNvdXJjZV9taXJy
b3JfZmV0Y2g6CiAgICAgICAgICAgIHByb3ZzID0gKGQuZ2V0VmFyKCJQUk9WSURFUyIpIG9yICIi
KS5zcGxpdCgpCiAgICAgICAgICAgIG11bHRpd2hpdGVsaXN0ID0gKGQuZ2V0VmFyKCJNVUxUSV9Q
Uk9WSURFUl9XSElURUxJU1QiKSBvciAiIikuc3BsaXQoKQogICAgICAgICAgICBmb3IgcCBpbiBw
cm92czoKICAgICAgICAgICAgICAgIGlmIHAuc3RhcnRzd2l0aCgidmlydHVhbC8iKSBhbmQgcCBu
b3QgaW4gbXVsdGl3aGl0ZWxpc3Q6CiAgICAgICAgICAgICAgICAgICAgcHJvZnByb3YgPSBkLmdl
dFZhcigiUFJFRkVSUkVEX1BST1ZJREVSXyIgKyBwKQogICAgICAgICAgICAgICAgICAgIGlmIHBy
b2Zwcm92IGFuZCBwbiAhPSBwcm9mcHJvdjoKICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Ug
YmIucGFyc2UuU2tpcFJlY2lwZSgiUFJFRkVSUkVEX1BST1ZJREVSXyVzIHNldCB0byAlcywgbm90
ICVzIiAlIChwLCBwcm9mcHJvdiwgcG4pKQp9CgoKcHl0aG9uIGJhc2VfZ2V0X21ldGFkYXRhX2dp
dF9icmFuY2ggKCkgewpkZWYgYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X2JyYW5jaChwYXRoLCBkKToK
ICAgIGltcG9ydCBiYi5wcm9jZXNzCgogICAgdHJ5OgogICAgICAgIHJldiwgXyA9IGJiLnByb2Nl
c3MucnVuKCdnaXQgcmV2LXBhcnNlIC0tYWJicmV2LXJlZiBIRUFEJywgY3dkPXBhdGgpCiAgICBl
eGNlcHQgYmIucHJvY2Vzcy5FeGVjdXRpb25FcnJvcjoKICAgICAgICByZXYgPSAnPHVua25vd24+
JwogICAgcmV0dXJuIHJldi5zdHJpcCgpCn0KCgpweXRob24gYmFzZV9nZXRfbWV0YWRhdGFfZ2l0
X3JldmlzaW9uICgpIHsKZGVmIGJhc2VfZ2V0X21ldGFkYXRhX2dpdF9yZXZpc2lvbihwYXRoLCBk
KToKICAgIGltcG9ydCBiYi5wcm9jZXNzCgogICAgdHJ5OgogICAgICAgIHJldiwgXyA9IGJiLnBy
b2Nlc3MucnVuKCdnaXQgcmV2LXBhcnNlIEhFQUQnLCBjd2Q9cGF0aCkKICAgIGV4Y2VwdCBiYi5w
cm9jZXNzLkV4ZWN1dGlvbkVycm9yOgogICAgICAgIHJldiA9ICc8dW5rbm93bj4nCiAgICByZXR1
cm4gcmV2LnN0cmlwKCl9CgoKcHl0aG9uIGJhc2VfZ2V0X21ldGFkYXRhX3N2bl9yZXZpc2lvbiAo
KSB7CmRlZiBiYXNlX2dldF9tZXRhZGF0YV9zdm5fcmV2aXNpb24ocGF0aCwgZCk6CiAgICAjIFRo
aXMgb25seSB3b3JrcyB3aXRoIG9sZGVyIHN1YnZlcnNpb24uIEZvciBuZXdlciB2ZXJzaW9ucwog
ICAgIyB0aGlzIGZ1bmN0aW9uIHdpbGwgbmVlZCB0byBiZSBmaXhlZCBieSBzb21lb25lIGludGVy
ZXN0ZWQKICAgIHJldmlzaW9uID0gIjx1bmtub3duPiIKICAgIHRyeToKICAgICAgICB3aXRoIG9w
ZW4oIiVzLy5zdm4vZW50cmllcyIgJSBwYXRoKSBhcyBmOgogICAgICAgICAgICByZXZpc2lvbiA9
IGYucmVhZGxpbmVzKClbM10uc3RyaXAoKQogICAgZXhjZXB0IChJT0Vycm9yLCBJbmRleEVycm9y
KToKICAgICAgICBwYXNzCiAgICByZXR1cm4gcmV2aXNpb24KfQoKCnB5dGhvbiBiYXNlX2dldF9z
Y21iYXNlcGF0aCAoKSB7CmRlZiBiYXNlX2dldF9zY21iYXNlcGF0aChkKToKICAgIHJldHVybiBv
cy5wYXRoLmpvaW4oZC5nZXRWYXIoJ0NPUkVCQVNFJyksICdtZXRhJykKfQoKCnB5dGhvbiBiYXNl
X3NldF9maWxlc3BhdGggKCkgewpkZWYgYmFzZV9zZXRfZmlsZXNwYXRoKHBhdGgsIGQpOgogICAg
ZmlsZXNwYXRoID0gW10KICAgIGV4dHJhcGF0aHMgPSAoZC5nZXRWYXIoIkZJTEVTRVhUUkFQQVRI
UyIpIG9yICIiKQogICAgIyBSZW1vdmUgZGVmYXVsdCBmbGFnIHdoaWNoIHdhcyB1c2VkIGZvciBj
aGVja2luZwogICAgZXh0cmFwYXRocyA9IGV4dHJhcGF0aHMucmVwbGFjZSgiX19kZWZhdWx0OiIs
ICIiKQogICAgIyBEb24ndCBwcmVwZW5kIGVtcHR5IHN0cmluZ3MgdG8gdGhlIHBhdGggbGlzdAog
ICAgaWYgZXh0cmFwYXRocyAhPSAiIjoKICAgICAgICBwYXRoID0gZXh0cmFwYXRocy5zcGxpdCgi
OiIpICsgcGF0aAogICAgIyBUaGUgIjoiIGVuc3VyZXMgd2UgaGF2ZSBhbiAnZW1wdHknIG92ZXJy
aWRlCiAgICBvdmVycmlkZXMgPSAoIjoiICsgKGQuZ2V0VmFyKCJGSUxFU09WRVJSSURFUyIpIG9y
ICIiKSkuc3BsaXQoIjoiKQogICAgb3ZlcnJpZGVzLnJldmVyc2UoKQogICAgZm9yIG8gaW4gb3Zl
cnJpZGVzOgogICAgICAgIGZvciBwIGluIHBhdGg6CiAgICAgICAgICAgIGlmIHAgIT0gIiI6CiAg
ICAgICAgICAgICAgICBmaWxlc3BhdGguYXBwZW5kKG9zLnBhdGguam9pbihwLCBvKSkKICAgIHJl
dHVybiAiOiIuam9pbihmaWxlc3BhdGgpCn0KCgpweXRob24gYmJsYXllcnNfY29uZl9maWxlICgp
IHsKZGVmIGJibGF5ZXJzX2NvbmZfZmlsZShkKToKICAgIHJldHVybiBvcy5wYXRoLmpvaW4oZC5n
ZXRWYXIoJ1RPUERJUicpLCAnY29uZi9iYmxheWVycy5jb25mJykKfQoKCnB5dGhvbiBidWlsZGNm
Z19uZWVkZWR2YXJzICgpIHsKZGVmIGJ1aWxkY2ZnX25lZWRlZHZhcnMoZCk6CiAgICBuZWVkZWRf
dmFycyA9IG9lLmRhdGEudHlwZWRfdmFsdWUoIkJVSUxEQ0ZHX05FRURFRFZBUlMiLCBkKQogICAg
cGVzdGVydXNlciA9IFtdCiAgICBmb3IgdiBpbiBuZWVkZWRfdmFyczoKICAgICAgICB2YWwgPSBk
LmdldFZhcih2KQogICAgICAgIGlmIG5vdCB2YWwgb3IgdmFsID09ICdJTlZBTElEJzoKICAgICAg
ICAgICAgcGVzdGVydXNlci5hcHBlbmQodikKCiAgICBpZiBwZXN0ZXJ1c2VyOgogICAgICAgIGJi
LmZhdGFsKCdUaGUgZm9sbG93aW5nIHZhcmlhYmxlKHMpIHdlcmUgbm90IHNldDogJXNcblBsZWFz
ZSBzZXQgdGhlbSBkaXJlY3RseSwgb3IgY2hvb3NlIGEgTUFDSElORSBvciBESVNUUk8gdGhhdCBz
ZXRzIHRoZW0uJyAlICcsICcuam9pbihwZXN0ZXJ1c2VyKSkKfQoKCnB5dGhvbiBidWlsZGNmZ192
YXJzICgpIHsKZGVmIGJ1aWxkY2ZnX3ZhcnMoZCk6CiAgICBzdGF0dXN2YXJzID0gb2UuZGF0YS50
eXBlZF92YWx1ZSgnQlVJTERDRkdfVkFSUycsIGQpCiAgICBmb3IgdmFyIGluIHN0YXR1c3ZhcnM6
CiAgICAgICAgdmFsdWUgPSBkLmdldFZhcih2YXIpCiAgICAgICAgaWYgdmFsdWUgaXMgbm90IE5v
bmU6CiAgICAgICAgICAgIHlpZWxkICclLTIwcyA9ICIlcyInICUgKHZhciwgdmFsdWUpCn0KCgpw
eXRob24gY2Fub25pY2FsX2xpY2Vuc2UgKCkgewpkZWYgY2Fub25pY2FsX2xpY2Vuc2UoZCwgbGlj
ZW5zZSk6CiAgICAiIiIKICAgIFJldHVybiB0aGUgY2Fub25pY2FsIChTUERYKSBmb3JtIG9mIHRo
ZSBsaWNlbnNlIGlmIGF2YWlsYWJsZSAoc28gR1BMdjMKICAgIGJlY29tZXMgR1BMLTMuMCksIGZv
ciB0aGUgbGljZW5zZSBuYW1lZCAnWCsnLCByZXR1cm4gY2Fub25pY2FsIGZvcm0gb2YKICAgICdY
JyBpZiBhdmFpbGFiZWwgYW5kIHRoZSB0YWlsaW5nICcrJyAoc28gR1BMdjMrIGJlY29tZXMgR1BM
LTMuMCspLAogICAgb3IgdGhlIHBhc3NlZCBsaWNlbnNlIGlmIHRoZXJlIGlzIG5vIGNhbm9uaWNh
bCBmb3JtLgogICAgIiIiCiAgICBsaWMgPSBkLmdldFZhckZsYWcoJ1NQRFhMSUNFTlNFTUFQJywg
bGljZW5zZSkgb3IgIiIKICAgIGlmIG5vdCBsaWMgYW5kIGxpY2Vuc2UuZW5kc3dpdGgoJysnKToK
ICAgICAgICBsaWMgPSBkLmdldFZhckZsYWcoJ1NQRFhMSUNFTlNFTUFQJywgbGljZW5zZS5yc3Ry
aXAoJysnKSkKICAgICAgICBpZiBsaWM6CiAgICAgICAgICAgIGxpYyArPSAnKycKICAgIHJldHVy
biBsaWMgb3IgbGljZW5zZQp9CgoKcHl0aG9uIGNoZWNrX2FwcF9leGlzdHMgKCkgewpkZWYgY2hl
Y2tfYXBwX2V4aXN0cyhhcHAsIGQpOgogICAgYXBwID0gZC5leHBhbmQoYXBwKS5zcGxpdCgpWzBd
LnN0cmlwKCkKICAgIHBhdGggPSBkLmdldFZhcignUEFUSCcpCiAgICByZXR1cm4gYm9vbChiYi51
dGlscy53aGljaChwYXRoLCBhcHApKQp9CgoKcHl0aG9uIGNoZWNrX2Nhc2Vfc2Vuc2l0aXZlICgp
IHsKZGVmIGNoZWNrX2Nhc2Vfc2Vuc2l0aXZlKHBhdGgsIG5hbWUpOgogICAgaW1wb3J0IHRlbXBm
aWxlCiAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZShwcmVmaXg9J1RtUCcsIGRp
cj1wYXRoKSBhcyB0bXBfZmlsZToKICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh0bXBfZmlsZS5u
YW1lLmxvd2VyKCkpOgogICAgICAgICAgICByZXR1cm4gIlRoZSAlcyAoJXMpIGNhbid0IGJlIG9u
IGEgY2FzZS1pbnNlbnNpdGl2ZSBmaWxlIHN5c3RlbS5cbiIgJSAobmFtZSwgcGF0aCkKICAgICAg
ICByZXR1cm4gIiIKCiMgQ2hlY2sgdGhhdCBwYXRoIGlzbid0IGEgYnJva2VuIHN5bWxpbmt9CgoK
cHl0aG9uIGNoZWNrX2NvbmZfZXhpc3RzICgpIHsKZGVmIGNoZWNrX2NvbmZfZXhpc3RzKGZuLCBk
YXRhKToKICAgIGJicGF0aCA9IFtdCiAgICBmbiA9IGRhdGEuZXhwYW5kKGZuKQogICAgdmJicGF0
aCA9IGRhdGEuZ2V0VmFyKCJCQlBBVEgiLCBGYWxzZSkKICAgIGlmIHZiYnBhdGg6CiAgICAgICAg
YmJwYXRoICs9IHZiYnBhdGguc3BsaXQoIjoiKQogICAgZm9yIHAgaW4gYmJwYXRoOgogICAgICAg
IGN1cnJuYW1lID0gb3MucGF0aC5qb2luKGRhdGEuZXhwYW5kKHApLCBmbikKICAgICAgICBpZiBv
cy5hY2Nlc3MoY3Vycm5hbWUsIG9zLlJfT0spOgogICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAg
cmV0dXJuIEZhbHNlCn0KCgpweXRob24gY2hlY2tfY29ubmVjdGl2aXR5ICgpIHsKZGVmIGNoZWNr
X2Nvbm5lY3Rpdml0eShkKToKICAgICMgVVJJJ3MgdG8gY2hlY2sgY2FuIGJlIHNldCBpbiB0aGUg
Q09OTkVDVElWSVRZX0NIRUNLX1VSSVMgdmFyaWFibGUKICAgICMgdXNpbmcgdGhlIHNhbWUgc3lu
dGF4IGFzIGZvciBTUkNfVVJJLiBJZiB0aGUgdmFyaWFibGUgaXMgbm90IHNldAogICAgIyB0aGUg
Y2hlY2sgaXMgc2tpcHBlZAogICAgdGVzdF91cmlzID0gKGQuZ2V0VmFyKCdDT05ORUNUSVZJVFlf
Q0hFQ0tfVVJJUycpIG9yICIiKS5zcGxpdCgpCiAgICByZXR2YWwgPSAiIgoKICAgIGJibiA9IGQu
Z2V0VmFyKCdCQl9OT19ORVRXT1JLJykKICAgIGlmIGJibiBub3QgaW4gKE5vbmUsICcwJywgJzEn
KToKICAgICAgICByZXR1cm4gJ0JCX05PX05FVFdPUksgc2hvdWxkIGJlICIwIiBvciAiMSIsIGJ1
dCBpdCBpcyAiJXMiJyAlIGJibgoKICAgICMgT25seSBjaGVjayBjb25uZWN0aXZpdHkgaWYgbmV0
d29yayBlbmFibGVkIGFuZCB0aGUKICAgICMgQ09OTkVDVElWSVRZX0NIRUNLX1VSSVMgYXJlIHNl
dAogICAgbmV0d29ya19lbmFibGVkID0gbm90IChiYm4gPT0gJzEnKQogICAgY2hlY2tfZW5hYmxl
ZCA9IGxlbih0ZXN0X3VyaXMpCiAgICBpZiBjaGVja19lbmFibGVkIGFuZCBuZXR3b3JrX2VuYWJs
ZWQ6CiAgICAgICAgIyBUYWtlIGEgY29weSBvZiB0aGUgZGF0YSBzdG9yZSBhbmQgdW5zZXQgTUlS
Uk9SUyBhbmQgUFJFTUlSUk9SUwogICAgICAgIGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkK
ICAgICAgICBkYXRhLmRlbFZhcignUFJFTUlSUk9SUycpCiAgICAgICAgZGF0YS5kZWxWYXIoJ01J
UlJPUlMnKQogICAgICAgIHRyeToKICAgICAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRj
aCh0ZXN0X3VyaXMsIGRhdGEpCiAgICAgICAgICAgIGZldGNoZXIuY2hlY2tzdGF0dXMoKQogICAg
ICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgogICAgICAgICAgICAjIEFsbG93IHRoZSBtZXNz
YWdlIHRvIGJlIGNvbmZpZ3VyZWQgc28gdGhhdCB1c2VycyBjYW4gYmUKICAgICAgICAgICAgIyBw
b2ludGVkIHRvIGEgc3VwcG9ydCBtZWNoYW5pc20uCiAgICAgICAgICAgIG1zZyA9IGRhdGEuZ2V0
VmFyKCdDT05ORUNUSVZJVFlfQ0hFQ0tfTVNHJykgb3IgIiIKICAgICAgICAgICAgaWYgbGVuKG1z
ZykgPT0gMDoKICAgICAgICAgICAgICAgIG1zZyA9ICIlcy5cbiIgJSBlcnIKICAgICAgICAgICAg
ICAgIG1zZyArPSAiICAgIFBsZWFzZSBlbnN1cmUgeW91ciBob3N0J3MgbmV0d29yayBpcyBjb25m
aWd1cmVkIGNvcnJlY3RseSxcbiIKICAgICAgICAgICAgICAgIG1zZyArPSAiICAgIG9yIHNldCBC
Ql9OT19ORVRXT1JLID0gXCIxXCIgdG8gZGlzYWJsZSBuZXR3b3JrIGFjY2VzcyBpZlxuIgogICAg
ICAgICAgICAgICAgbXNnICs9ICIgICAgYWxsIHJlcXVpcmVkIHNvdXJjZXMgYXJlIG9uIGxvY2Fs
IGRpc2suXG4iCiAgICAgICAgICAgIHJldHZhbCA9IG1zZwoKICAgIHJldHVybiByZXR2YWwKfQoK
CnB5dGhvbiBjaGVja19jcmVhdGVfbG9uZ19maWxlbmFtZSAoKSB7CmRlZiBjaGVja19jcmVhdGVf
bG9uZ19maWxlbmFtZShmaWxlcGF0aCwgcGF0aG5hbWUpOgogICAgaW1wb3J0IHN0cmluZywgcmFu
ZG9tCiAgICB0ZXN0ZmlsZSA9IG9zLnBhdGguam9pbihmaWxlcGF0aCwgJycuam9pbihyYW5kb20u
Y2hvaWNlKHN0cmluZy5hc2NpaV9sZXR0ZXJzKSBmb3IgeCBpbiByYW5nZSgyMDApKSkKICAgIHRy
eToKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBi
Yi51dGlscy5ta2RpcmhpZXIoZmlsZXBhdGgpCiAgICAgICAgZiA9IG9wZW4odGVzdGZpbGUsICJ3
IikKICAgICAgICBmLmNsb3NlKCkKICAgICAgICBvcy5yZW1vdmUodGVzdGZpbGUpCiAgICBleGNl
cHQgSU9FcnJvciBhcyBlOgogICAgICAgIGltcG9ydCBlcnJubwogICAgICAgIGVyciwgc3RyZXJy
b3IgPSBlLmFyZ3MKICAgICAgICBpZiBlcnIgPT0gZXJybm8uRU5BTUVUT09MT05HOgogICAgICAg
ICAgICByZXR1cm4gIkZhaWxlZCB0byBjcmVhdGUgYSBmaWxlIHdpdGggYSBsb25nIG5hbWUgaW4g
JXMuIFBsZWFzZSB1c2UgYSBmaWxlc3lzdGVtIHRoYXQgZG9lcyBub3QgdW5yZWFzb25hYmx5IGxp
bWl0IGZpbGVuYW1lIGxlbmd0aC5cbiIgJSBwYXRobmFtZQogICAgICAgIGVsc2U6CiAgICAgICAg
ICAgIHJldHVybiAiRmFpbGVkIHRvIGNyZWF0ZSBhIGZpbGUgaW4gJXM6ICVzLlxuIiAlIChwYXRo
bmFtZSwgc3RyZXJyb3IpCiAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgIGVycm5vLCBz
dHJlcnJvciA9IGUuYXJncwogICAgICAgIHJldHVybiAiRmFpbGVkIHRvIGNyZWF0ZSAlcyBkaXJl
Y3RvcnkgaW4gd2hpY2ggdG8gcnVuIGxvbmcgbmFtZSBzYW5pdHkgY2hlY2s6ICVzLlxuIiAlIChw
YXRobmFtZSwgc3RyZXJyb3IpCiAgICByZXR1cm4gIiIKfQoKCnB5dGhvbiBjaGVja19naXRfdmVy
c2lvbiAoKSB7CmRlZiBjaGVja19naXRfdmVyc2lvbihzYW5pdHlfZGF0YSk6CiAgICBmcm9tIGRp
c3R1dGlscy52ZXJzaW9uIGltcG9ydCBMb29zZVZlcnNpb24KICAgIGltcG9ydCBzdWJwcm9jZXNz
CiAgICB0cnk6CiAgICAgICAgcmVzdWx0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJnaXQi
LCAiLS12ZXJzaW9uIl0sIHN0ZGVycj1zdWJwcm9jZXNzLkRFVk5VTEwpLmRlY29kZSgndXRmLTgn
KQogICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6CiAgICAgICAg
cmV0dXJuICJVbmFibGUgdG8gZXhlY3V0ZSBnaXQgLS12ZXJzaW9uLCBleGl0IGNvZGUgJWRcbiVz
XG4iICUgKGUucmV0dXJuY29kZSwgZS5vdXRwdXQpCiAgICB2ZXJzaW9uID0gcmVzdWx0LnNwbGl0
KClbMl0KICAgIGlmIExvb3NlVmVyc2lvbih2ZXJzaW9uKSA8IExvb3NlVmVyc2lvbigiMS44LjMu
MSIpOgogICAgICAgIHJldHVybiAiWW91ciB2ZXJzaW9uIG9mIGdpdCBpcyBvbGRlciB0aGFuIDEu
OC4zLjEgYW5kIGhhcyBidWdzIHdoaWNoIHdpbGwgYnJlYWsgYnVpbGRzLiBQbGVhc2UgaW5zdGFs
bCBhIG5ld2VyIHZlcnNpb24gb2YgZ2l0LlxuIgogICAgcmV0dXJuIE5vbmUKCiMgQ2hlY2sgdGhl
IHJlcXVpcmVkIHBlcmwgbW9kdWxlcyB3aGljaCBtYXkgbm90IGJlIGluc3RhbGxlZCBieSBkZWZh
dWx0fQoKCnB5dGhvbiBjaGVja19saWNlbnNlX2ZsYWdzICgpIHsKZGVmIGNoZWNrX2xpY2Vuc2Vf
ZmxhZ3MoZCk6CiAgICAiIiIKICAgIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIGEgcmVjaXBlIGhh
cyBhbnkgTElDRU5TRV9GTEFHUyB0aGF0CiAgICBhcmVuJ3Qgd2hpdGVsaXN0ZWQuCgogICAgSWYg
aXQgZG9lcywgaXQgcmV0dXJucyB0aGUgYWxsIExJQ0VOU0VfRkxBR1MgbWlzc2luZyBmcm9tIHRo
ZSB3aGl0ZWxpc3QsIG9yCiAgICBhbGwgb2YgdGhlIExJQ0VOU0VfRkxBR1MgaWYgdGhlcmUgaXMg
bm8gd2hpdGVsaXN0LgoKICAgIElmIGV2ZXJ5dGhpbmcgaXMgaXMgcHJvcGVybHkgd2hpdGVsaXN0
ZWQsIGl0IHJldHVybnMgTm9uZS4KICAgICIiIgoKICAgIGRlZiBsaWNlbnNlX2ZsYWdfbWF0Y2hl
cyhmbGFnLCB3aGl0ZWxpc3QsIHBuKToKICAgICAgICAiIiIKICAgICAgICBSZXR1cm4gVHJ1ZSBp
ZiBmbGFnIG1hdGNoZXMgc29tZXRoaW5nIGluIHdoaXRlbGlzdCwgTm9uZSBpZiBub3QuCgogICAg
ICAgIEJlZm9yZSB3ZSB0ZXN0IGEgZmxhZyBhZ2FpbnN0IHRoZSB3aGl0ZWxpc3QsIHdlIGFwcGVu
ZCBfJHtQTn0KICAgICAgICB0byBpdC4gIFdlIHRoZW4gdHJ5IHRvIG1hdGNoIHRoYXQgc3RyaW5n
IGFnYWluc3QgdGhlCiAgICAgICAgd2hpdGVsaXN0LiAgVGhpcyBjb3ZlcnMgdGhlIG5vcm1hbCBj
YXNlLCB3aGVyZSB3ZSBleHBlY3QKICAgICAgICBMSUNFTlNFX0ZMQUdTIHRvIGJlIGEgc2ltcGxl
IHN0cmluZyBsaWtlICdjb21tZXJjaWFsJywgd2hpY2gKICAgICAgICB0aGUgdXNlciB0eXBpY2Fs
bHkgbWF0Y2hlcyBleGFjdGx5IGluIHRoZSB3aGl0ZWxpc3QgYnkKICAgICAgICBleHBsaWNpdGx5
IGFwcGVuZGluZyB0aGUgcGFja2FnZSBuYW1lIGUuZyAnY29tbWVyY2lhbF9mb28nLgogICAgICAg
IElmIHdlIGZhaWwgdGhlIG1hdGNoIGhvd2V2ZXIsIHdlIHRoZW4gc3BsaXQgdGhlIGZsYWcgYWNy
b3NzCiAgICAgICAgJ18nIGFuZCBhcHBlbmQgZWFjaCBmcmFnbWVudCBhbmQgdGVzdCB1bnRpbCB3
ZSBlaXRoZXIgbWF0Y2ggb3IKICAgICAgICBydW4gb3V0IG9mIGZyYWdtZW50cy4KICAgICAgICAi
IiIKICAgICAgICBmbGFnX3BuID0gKCIlc18lcyIgJSAoZmxhZywgcG4pKQogICAgICAgIGZvciBj
YW5kaWRhdGUgaW4gd2hpdGVsaXN0OgogICAgICAgICAgICBpZiBmbGFnX3BuID09IGNhbmRpZGF0
ZToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQoKICAgICAgICBmbGFnX2N1ciA9ICIi
CiAgICAgICAgZmxhZ21lbnRzID0gZmxhZ19wbi5zcGxpdCgiXyIpCiAgICAgICAgZmxhZ21lbnRz
LnBvcCgpICMgd2UndmUgYWxyZWFkeSB0ZXN0ZWQgdGhlIGZ1bGwgc3RyaW5nCiAgICAgICAgZm9y
IGZsYWdtZW50IGluIGZsYWdtZW50czoKICAgICAgICAgICAgaWYgZmxhZ19jdXI6CiAgICAgICAg
ICAgICAgICBmbGFnX2N1ciArPSAiXyIKICAgICAgICAgICAgZmxhZ19jdXIgKz0gZmxhZ21lbnQK
ICAgICAgICAgICAgZm9yIGNhbmRpZGF0ZSBpbiB3aGl0ZWxpc3Q6CiAgICAgICAgICAgICAgICBp
ZiBmbGFnX2N1ciA9PSBjYW5kaWRhdGU6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUK
ICAgICAgICByZXR1cm4gRmFsc2UKCiAgICBkZWYgYWxsX2xpY2Vuc2VfZmxhZ3NfbWF0Y2gobGlj
ZW5zZV9mbGFncywgd2hpdGVsaXN0KToKICAgICAgICAiIiIgUmV0dXJuIGFsbCB1bm1hdGNoZWQg
ZmxhZ3MsIE5vbmUgaWYgYWxsIGZsYWdzIG1hdGNoICIiIgogICAgICAgIHBuID0gZC5nZXRWYXIo
J1BOJykKICAgICAgICBzcGxpdF93aGl0ZWxpc3QgPSB3aGl0ZWxpc3Quc3BsaXQoKQogICAgICAg
IGZsYWdzID0gW10KICAgICAgICBmb3IgZmxhZyBpbiBsaWNlbnNlX2ZsYWdzLnNwbGl0KCk6CiAg
ICAgICAgICAgIGlmIG5vdCBsaWNlbnNlX2ZsYWdfbWF0Y2hlcyhmbGFnLCBzcGxpdF93aGl0ZWxp
c3QsIHBuKToKICAgICAgICAgICAgICAgIGZsYWdzLmFwcGVuZChmbGFnKQogICAgICAgIHJldHVy
biBmbGFncyBpZiBmbGFncyBlbHNlIE5vbmUKCiAgICBsaWNlbnNlX2ZsYWdzID0gZC5nZXRWYXIo
J0xJQ0VOU0VfRkxBR1MnKQogICAgaWYgbGljZW5zZV9mbGFnczoKICAgICAgICB3aGl0ZWxpc3Qg
PSBkLmdldFZhcignTElDRU5TRV9GTEFHU19XSElURUxJU1QnKQogICAgICAgIGlmIG5vdCB3aGl0
ZWxpc3Q6CiAgICAgICAgICAgIHJldHVybiBsaWNlbnNlX2ZsYWdzLnNwbGl0KCkKICAgICAgICB1
bm1hdGNoZWRfZmxhZ3MgPSBhbGxfbGljZW5zZV9mbGFnc19tYXRjaChsaWNlbnNlX2ZsYWdzLCB3
aGl0ZWxpc3QpCiAgICAgICAgaWYgdW5tYXRjaGVkX2ZsYWdzOgogICAgICAgICAgICByZXR1cm4g
dW5tYXRjaGVkX2ZsYWdzCiAgICByZXR1cm4gTm9uZQp9CgoKcHl0aG9uIGNoZWNrX2xpY2Vuc2Vf
Zm9ybWF0ICgpIHsKZGVmIGNoZWNrX2xpY2Vuc2VfZm9ybWF0KGQpOgogICAgIiIiCiAgICBUaGlz
IGZ1bmN0aW9uIGNoZWNrcyBpZiBMSUNFTlNFIGlzIHdlbGwgZGVmaW5lZCwKICAgICAgICBWYWxp
ZGF0ZSBvcGVyYXRvcnMgaW4gTElDRU5TRVMuCiAgICAgICAgTm8gc3BhY2VzIGFyZSBhbGxvd2Vk
IGJldHdlZW4gTElDRU5TRVMuCiAgICAiIiIKICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKICAgIGxp
Y2Vuc2VzID0gZC5nZXRWYXIoJ0xJQ0VOU0UnKQogICAgZnJvbSBvZS5saWNlbnNlIGltcG9ydCBs
aWNlbnNlX29wZXJhdG9yLCBsaWNlbnNlX29wZXJhdG9yX2NoYXJzLCBsaWNlbnNlX3BhdHRlcm4K
CiAgICBlbGVtZW50cyA9IGxpc3QoZmlsdGVyKGxhbWJkYSB4OiB4LnN0cmlwKCksIGxpY2Vuc2Vf
b3BlcmF0b3Iuc3BsaXQobGljZW5zZXMpKSkKICAgIGZvciBwb3MsIGVsZW1lbnQgaW4gZW51bWVy
YXRlKGVsZW1lbnRzKToKICAgICAgICBpZiBsaWNlbnNlX3BhdHRlcm4ubWF0Y2goZWxlbWVudCk6
CiAgICAgICAgICAgIGlmIHBvcyA+IDAgYW5kIGxpY2Vuc2VfcGF0dGVybi5tYXRjaChlbGVtZW50
c1twb3MgLSAxXSk6CiAgICAgICAgICAgICAgICBiYi53YXJuKCclczogTElDRU5TRSB2YWx1ZSAi
JXMiIGhhcyBhbiBpbnZhbGlkIGZvcm1hdCAtIGxpY2Vuc2UgbmFtZXMgJyBcCiAgICAgICAgICAg
ICAgICAgICAgICAgICdtdXN0IGJlIHNlcGFyYXRlZCBieSB0aGUgZm9sbG93aW5nIGNoYXJhY3Rl
cnMgdG8gaW5kaWNhdGUgJyBcCiAgICAgICAgICAgICAgICAgICAgICAgICd0aGUgbGljZW5zZSBz
ZWxlY3Rpb246ICVzJyAlCiAgICAgICAgICAgICAgICAgICAgICAgIChwbiwgbGljZW5zZXMsIGxp
Y2Vuc2Vfb3BlcmF0b3JfY2hhcnMpKQogICAgICAgIGVsaWYgbm90IGxpY2Vuc2Vfb3BlcmF0b3Iu
bWF0Y2goZWxlbWVudCk6CiAgICAgICAgICAgIGJiLndhcm4oJyVzOiBMSUNFTlNFIHZhbHVlICIl
cyIgaGFzIGFuIGludmFsaWQgc2VwYXJhdG9yICIlcyIgdGhhdCBpcyBub3QgJyBcCiAgICAgICAg
ICAgICAgICAgICAgJ2luIHRoZSB2YWxpZCBsaXN0IG9mIHNlcGFyYXRvcnMgKCVzKScgJQogICAg
ICAgICAgICAgICAgICAgIChwbiwgbGljZW5zZXMsIGVsZW1lbnQsIGxpY2Vuc2Vfb3BlcmF0b3Jf
Y2hhcnMpKQp9CgoKcHl0aG9uIGNoZWNrX21ha2VfdmVyc2lvbiAoKSB7CmRlZiBjaGVja19tYWtl
X3ZlcnNpb24oc2FuaXR5X2RhdGEpOgogICAgZnJvbSBkaXN0dXRpbHMudmVyc2lvbiBpbXBvcnQg
TG9vc2VWZXJzaW9uCiAgICBpbXBvcnQgc3VicHJvY2VzcwoKICAgIHRyeToKICAgICAgICByZXN1
bHQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbJ21ha2UnLCAnLS12ZXJzaW9uJ10sIHN0ZGVy
cj1zdWJwcm9jZXNzLlNURE9VVCkuZGVjb2RlKCd1dGYtOCcpCiAgICBleGNlcHQgc3VicHJvY2Vz
cy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKICAgICAgICByZXR1cm4gIlVuYWJsZSB0byBleGVj
dXRlIG1ha2UgLS12ZXJzaW9uLCBleGl0IGNvZGUgJWRcbiVzXG4iICUgKGUucmV0dXJuY29kZSwg
ZS5vdXRwdXQpCiAgICB2ZXJzaW9uID0gcmVzdWx0LnNwbGl0KClbMl0KICAgIGlmIExvb3NlVmVy
c2lvbih2ZXJzaW9uKSA9PSBMb29zZVZlcnNpb24oIjMuODIiKToKICAgICAgICAjIENvbnN0cnVj
dCBhIHRlc3QgZmlsZQogICAgICAgIGYgPSBvcGVuKCJtYWtlZmlsZV90ZXN0IiwgInciKQogICAg
ICAgIGYud3JpdGUoIm1ha2VmaWxlX3Rlc3QuYTogbWFrZWZpbGVfdGVzdF9hLmMgbWFrZWZpbGVf
dGVzdF9iLmMgbWFrZWZpbGVfdGVzdC5hKCBtYWtlZmlsZV90ZXN0X2EuYyBtYWtlZmlsZV90ZXN0
X2IuYylcbiIpCiAgICAgICAgZi53cml0ZSgiXG4iKQogICAgICAgIGYud3JpdGUoIm1ha2VmaWxl
X3Rlc3RfYS5jOlxuIikKICAgICAgICBmLndyaXRlKCIJdG91Y2ggJEBcbiIpCiAgICAgICAgZi53
cml0ZSgiXG4iKQogICAgICAgIGYud3JpdGUoIm1ha2VmaWxlX3Rlc3RfYi5jOlxuIikKICAgICAg
ICBmLndyaXRlKCIJdG91Y2ggJEBcbiIpCiAgICAgICAgZi5jbG9zZSgpCgogICAgICAgICMgQ2hl
Y2sgaWYgbWFrZSAzLjgyIGhhcyBiZWVuIHBhdGNoZWQKICAgICAgICB0cnk6CiAgICAgICAgICAg
IHN1YnByb2Nlc3MuY2hlY2tfY2FsbChbJ21ha2UnLCAnLWYnLCAnbWFrZWZpbGVfdGVzdCddKQog
ICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgogICAgICAg
ICAgICByZXR1cm4gIllvdXIgdmVyc2lvbiBvZiBtYWtlIDMuODIgaXMgYnJva2VuLiBQbGVhc2Ug
cmV2ZXJ0IHRvIDMuODEgb3IgaW5zdGFsbCBhIHBhdGNoZWQgdmVyc2lvbi5cbiIKICAgICAgICBm
aW5hbGx5OgogICAgICAgICAgICBvcy5yZW1vdmUoIm1ha2VmaWxlX3Rlc3QiKQogICAgICAgICAg
ICBpZiBvcy5wYXRoLmV4aXN0cygibWFrZWZpbGVfdGVzdF9hLmMiKToKICAgICAgICAgICAgICAg
IG9zLnJlbW92ZSgibWFrZWZpbGVfdGVzdF9hLmMiKQogICAgICAgICAgICBpZiBvcy5wYXRoLmV4
aXN0cygibWFrZWZpbGVfdGVzdF9iLmMiKToKICAgICAgICAgICAgICAgIG9zLnJlbW92ZSgibWFr
ZWZpbGVfdGVzdF9iLmMiKQogICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cygibWFrZWZpbGVf
dGVzdC5hIik6CiAgICAgICAgICAgICAgICBvcy5yZW1vdmUoIm1ha2VmaWxlX3Rlc3QuYSIpCiAg
ICByZXR1cm4gTm9uZQoKCiMgQ2hlY2sgaWYgd2UncmUgcnVubmluZyBvbiBXU0wgKFdpbmRvd3Mg
U3Vic3lzdGVtIGZvciBMaW51eCkuIEl0cyBrbm93biBub3QgdG8KIyB3b3JrIGJ1dCB3ZSBzaG91
bGQgdGVsbCB0aGUgdXNlciB0aGF0IHVwZnJvbnQufQoKCnB5dGhvbiBjaGVja19ub3RfbmZzICgp
IHsKZGVmIGNoZWNrX25vdF9uZnMocGF0aCwgbmFtZSk6CiAgICAjIFRoZSBuZnMnIGZpbGVzeXN0
ZW0gaWQgaXMgNjk2OQogICAgaWYgZ2V0X2ZpbGVzeXN0ZW1faWQocGF0aCkgPT0gIjY5NjkiOgog
ICAgICAgIHJldHVybiAiVGhlICVzOiAlcyBjYW4ndCBiZSBsb2NhdGVkIG9uIG5mcy5cbiIgJSAo
bmFtZSwgcGF0aCkKICAgIHJldHVybiAiIgoKIyBDaGVjayB0aGF0IHRoZSBwYXRoIGlzIG9uIGEg
Y2FzZS1zZW5zaXRpdmUgZmlsZSBzeXN0ZW19CgoKcHl0aG9uIGNoZWNrX3BhdGNoX3ZlcnNpb24g
KCkgewpkZWYgY2hlY2tfcGF0Y2hfdmVyc2lvbihzYW5pdHlfZGF0YSk6CiAgICBmcm9tIGRpc3R1
dGlscy52ZXJzaW9uIGltcG9ydCBMb29zZVZlcnNpb24KICAgIGltcG9ydCByZSwgc3VicHJvY2Vz
cwoKICAgIHRyeToKICAgICAgICByZXN1bHQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbInBh
dGNoIiwgIi0tdmVyc2lvbiJdLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpLmRlY29kZSgndXRm
LTgnKQogICAgICAgIHZlcnNpb24gPSByZS5zZWFyY2gociJbMC05Ll0rIiwgcmVzdWx0LnNwbGl0
bGluZXMoKVswXSkuZ3JvdXAoKQogICAgICAgIGlmIExvb3NlVmVyc2lvbih2ZXJzaW9uKSA8IExv
b3NlVmVyc2lvbigiMi43Iik6CiAgICAgICAgICAgIHJldHVybiAiWW91ciB2ZXJzaW9uIG9mIHBh
dGNoIGlzIG9sZGVyIHRoYW4gMi43IGFuZCBoYXMgYnVncyB3aGljaCB3aWxsIGJyZWFrIGJ1aWxk
cy4gUGxlYXNlIGluc3RhbGwgYSBuZXdlciB2ZXJzaW9uIG9mIHBhdGNoLlxuIgogICAgICAgIGVs
c2U6CiAgICAgICAgICAgIHJldHVybiBOb25lCiAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQ
cm9jZXNzRXJyb3IgYXMgZToKICAgICAgICByZXR1cm4gIlVuYWJsZSB0byBleGVjdXRlIHBhdGNo
IC0tdmVyc2lvbiwgZXhpdCBjb2RlICVkOlxuJXNcbiIgJSAoZS5yZXR1cm5jb2RlLCBlLm91dHB1
dCkKCiMgVW5wYXRjaGVkIHZlcnNpb25zIG9mIG1ha2UgMy44MiBhcmUga25vd24gdG8gYmUgYnJv
a2VuLiAgU2VlIEdOVSBTYXZhbm5haCBCdWcgMzA2MTIuCiMgVXNlIGEgbW9kaWZpZWQgcmVwcm9k
dWNlciBmcm9tIGh0dHA6Ly9zYXZhbm5haC5nbnUub3JnL2J1Z3MvPzMwNjEyIHRvIHZhbGlkYXRl
Ln0KCgpweXRob24gY2hlY2tfcGF0aF9sZW5ndGggKCkgewpkZWYgY2hlY2tfcGF0aF9sZW5ndGgo
ZmlsZXBhdGgsIHBhdGhuYW1lLCBsaW1pdCk6CiAgICBpZiBsZW4oZmlsZXBhdGgpID4gbGltaXQ6
CiAgICAgICAgcmV0dXJuICJUaGUgbGVuZ3RoIG9mICVzIGlzIGxvbmdlciB0aGFuICVzLCB0aGlz
IHdvdWxkIGNhdXNlIHVuZXhwZWN0ZWQgZXJyb3JzLCBwbGVhc2UgdXNlIGEgc2hvcnRlciBwYXRo
LlxuIiAlIChwYXRobmFtZSwgbGltaXQpCiAgICByZXR1cm4gIiIKfQoKCnB5dGhvbiBjaGVja19w
ZXJsX21vZHVsZXMgKCkgewpkZWYgY2hlY2tfcGVybF9tb2R1bGVzKHNhbml0eV9kYXRhKToKICAg
IGltcG9ydCBzdWJwcm9jZXNzCiAgICByZXQgPSAiIgogICAgbW9kdWxlcyA9ICggIlRleHQ6OlBh
cnNlV29yZHMiLCAiVGhyZWFkOjpRdWV1ZSIsICJEYXRhOjpEdW1wZXIiICkKICAgIGVycnJlc3Vs
dCA9ICcnCiAgICBmb3IgbSBpbiBtb2R1bGVzOgogICAgICAgIHRyeToKICAgICAgICAgICAgc3Vi
cHJvY2Vzcy5jaGVja19vdXRwdXQoWyJwZXJsIiwgIi1lIiwgInVzZSAlcyIgJSBtXSkKICAgICAg
ICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKICAgICAgICAgICAg
ZXJycmVzdWx0ICs9IGJ5dGVzLmRlY29kZShlLm91dHB1dCkKICAgICAgICAgICAgcmV0ICs9ICIl
cyAiICUgbQogICAgaWYgcmV0OgogICAgICAgIHJldHVybiAiUmVxdWlyZWQgcGVybCBtb2R1bGUo
cykgbm90IGZvdW5kOiAlc1xuXG4lc1xuIiAlIChyZXQsIGVycnJlc3VsdCkKICAgIHJldHVybiBO
b25lCn0KCgpweXRob24gY2hlY2tfc2FuaXR5ICgpIHsKZGVmIGNoZWNrX3Nhbml0eShzYW5pdHlf
ZGF0YSk6CiAgICBjbGFzcyBTYW5pdHlTdGF0dXMob2JqZWN0KToKICAgICAgICBkZWYgX19pbml0
X18oc2VsZik6CiAgICAgICAgICAgIHNlbGYubWVzc2FnZXMgPSAiIgogICAgICAgICAgICBzZWxm
Lm5ldHdvcmtfZXJyb3IgPSBGYWxzZQoKICAgICAgICBkZWYgYWRkcmVzdWx0KHNlbGYsIG1lc3Nh
Z2UpOgogICAgICAgICAgICBpZiBtZXNzYWdlOgogICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdl
cyA9IHNlbGYubWVzc2FnZXMgKyBtZXNzYWdlCgogICAgc3RhdHVzID0gU2FuaXR5U3RhdHVzKCkK
CiAgICB0bXBkaXIgPSBzYW5pdHlfZGF0YS5nZXRWYXIoJ1RNUERJUicpCiAgICBzc3RhdGVfZGly
ID0gc2FuaXR5X2RhdGEuZ2V0VmFyKCdTU1RBVEVfRElSJykKCiAgICBjaGVja19zeW1saW5rKHNz
dGF0ZV9kaXIsIHNhbml0eV9kYXRhKQoKICAgICMgQ2hlY2sgc2F2ZWQgc2FuaXR5IGluZm8KICAg
IGxhc3Rfc2FuaXR5X3ZlcnNpb24gPSAwCiAgICBsYXN0X3RtcGRpciA9ICIiCiAgICBsYXN0X3Nz
dGF0ZV9kaXIgPSAiIgogICAgbGFzdF9uYXRpdmVsc2JzdHIgPSAiIgogICAgc2FuaXR5dmVyZmls
ZSA9IHNhbml0eV9kYXRhLmV4cGFuZCgiJHtUT1BESVJ9L2NvbmYvc2FuaXR5X2luZm8iKQogICAg
aWYgb3MucGF0aC5leGlzdHMoc2FuaXR5dmVyZmlsZSk6CiAgICAgICAgd2l0aCBvcGVuKHNhbml0
eXZlcmZpbGUsICdyJykgYXMgZjoKICAgICAgICAgICAgZm9yIGxpbmUgaW4gZjoKICAgICAgICAg
ICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnU0FOSVRZX1ZFUlNJT04nKToKICAgICAgICAgICAg
ICAgICAgICBsYXN0X3Nhbml0eV92ZXJzaW9uID0gaW50KGxpbmUuc3BsaXQoKVsxXSkKICAgICAg
ICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnVE1QRElSJyk6CiAgICAgICAgICAgICAgICAg
ICAgbGFzdF90bXBkaXIgPSBsaW5lLnNwbGl0KClbMV0KICAgICAgICAgICAgICAgIGlmIGxpbmUu
c3RhcnRzd2l0aCgnU1NUQVRFX0RJUicpOgogICAgICAgICAgICAgICAgICAgIGxhc3Rfc3N0YXRl
X2RpciA9IGxpbmUuc3BsaXQoKVsxXQogICAgICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRo
KCdOQVRJVkVMU0JTVFJJTkcnKToKICAgICAgICAgICAgICAgICAgICBsYXN0X25hdGl2ZWxzYnN0
ciA9IGxpbmUuc3BsaXQoKVsxXQoKICAgIGNoZWNrX3Nhbml0eV9ldmVyeWJ1aWxkKHN0YXR1cywg
c2FuaXR5X2RhdGEpCgogICAgc2FuaXR5X3ZlcnNpb24gPSBpbnQoc2FuaXR5X2RhdGEuZ2V0VmFy
KCdTQU5JVFlfVkVSU0lPTicpIG9yIDEpCiAgICBuZXR3b3JrX2Vycm9yID0gRmFsc2UKICAgICMg
TkFUSVZFTFNCU1RSSU5HIHZhciBtYXkgaGF2ZSBiZWVuIG92ZXJyaWRkZW4gd2l0aCAidW5pdmVy
c2FsIiwgc28KICAgICMgZ2V0IGFjdHVhbCBob3N0IGRpc3RyaWJ1dGlvbiBpZCBhbmQgdmVyc2lv
bgogICAgbmF0aXZlbHNic3RyID0gbHNiX2Rpc3Ryb19pZGVudGlmaWVyKHNhbml0eV9kYXRhKQog
ICAgaWYgbGFzdF9zYW5pdHlfdmVyc2lvbiA8IHNhbml0eV92ZXJzaW9uIG9yIGxhc3RfbmF0aXZl
bHNic3RyICE9IG5hdGl2ZWxzYnN0cjoKICAgICAgICBjaGVja19zYW5pdHlfdmVyc2lvbl9jaGFu
Z2Uoc3RhdHVzLCBzYW5pdHlfZGF0YSkKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KGNoZWNrX3Nh
bml0eV9zc3RhdGVfZGlyX2NoYW5nZShzc3RhdGVfZGlyLCBzYW5pdHlfZGF0YSkpCiAgICBlbHNl
OgogICAgICAgIGlmIGxhc3Rfc3N0YXRlX2RpciAhPSBzc3RhdGVfZGlyOgogICAgICAgICAgICBz
dGF0dXMuYWRkcmVzdWx0KGNoZWNrX3Nhbml0eV9zc3RhdGVfZGlyX2NoYW5nZShzc3RhdGVfZGly
LCBzYW5pdHlfZGF0YSkpCgogICAgaWYgb3MucGF0aC5leGlzdHMob3MucGF0aC5kaXJuYW1lKHNh
bml0eXZlcmZpbGUpKSBhbmQgbm90IHN0YXR1cy5tZXNzYWdlczoKICAgICAgICB3aXRoIG9wZW4o
c2FuaXR5dmVyZmlsZSwgJ3cnKSBhcyBmOgogICAgICAgICAgICBmLndyaXRlKCJTQU5JVFlfVkVS
U0lPTiAlc1xuIiAlIHNhbml0eV92ZXJzaW9uKQogICAgICAgICAgICBmLndyaXRlKCJUTVBESVIg
JXNcbiIgJSB0bXBkaXIpCiAgICAgICAgICAgIGYud3JpdGUoIlNTVEFURV9ESVIgJXNcbiIgJSBz
c3RhdGVfZGlyKQogICAgICAgICAgICBmLndyaXRlKCJOQVRJVkVMU0JTVFJJTkcgJXNcbiIgJSBu
YXRpdmVsc2JzdHIpCgogICAgc2FuaXR5X2hhbmRsZV9hYmljaGFuZ2VzKHN0YXR1cywgc2FuaXR5
X2RhdGEpCgogICAgaWYgc3RhdHVzLm1lc3NhZ2VzICE9ICIiOgogICAgICAgIHJhaXNlX3Nhbml0
eV9lcnJvcihzYW5pdHlfZGF0YS5leHBhbmQoc3RhdHVzLm1lc3NhZ2VzKSwgc2FuaXR5X2RhdGEs
IHN0YXR1cy5uZXR3b3JrX2Vycm9yKQoKIyBDcmVhdGUgYSBjb3B5IG9mIHRoZSBkYXRhc3RvcmUg
YW5kIGZpbmFsaXNlIGl0IHRvIGVuc3VyZSBhcHBlbmRzIGFuZAojIG92ZXJyaWRlcyBhcmUgc2V0
IC0gdGhlIGRhdGFzdG9yZSBoYXMgeWV0IHRvIGJlIGZpbmFsaXNlZCBhdCBDb25maWdQYXJzZWR9
CgoKcHl0aG9uIGNoZWNrX3Nhbml0eV9ldmVudGhhbmRsZXIgKCkgewogICAgaWYgYmIuZXZlbnQu
Z2V0TmFtZShlKSA9PSAiU2FuaXR5Q2hlY2siOgogICAgICAgIHNhbml0eV9kYXRhID0gY29weV9k
YXRhKGUpCiAgICAgICAgY2hlY2tfc2FuaXR5KHNhbml0eV9kYXRhKQogICAgICAgIGlmIGUuZ2Vu
ZXJhdGVldmVudHM6CiAgICAgICAgICAgIHNhbml0eV9kYXRhLnNldFZhcigiU0FOSVRZX1VTRV9F
VkVOVFMiLCAiMSIpCiAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5TYW5pdHlDaGVja1Bh
c3NlZCgpLCBlLmRhdGEpCiAgICBlbGlmIGJiLmV2ZW50LmdldE5hbWUoZSkgPT0gIk5ldHdvcmtU
ZXN0IjoKICAgICAgICBzYW5pdHlfZGF0YSA9IGNvcHlfZGF0YShlKQogICAgICAgIGlmIGUuZ2Vu
ZXJhdGVldmVudHM6CiAgICAgICAgICAgIHNhbml0eV9kYXRhLnNldFZhcigiU0FOSVRZX1VTRV9F
VkVOVFMiLCAiMSIpCiAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5OZXR3b3JrVGVzdEZh
aWxlZCgpIGlmIGNoZWNrX2Nvbm5lY3Rpdml0eShzYW5pdHlfZGF0YSkgZWxzZSBiYi5ldmVudC5O
ZXR3b3JrVGVzdFBhc3NlZCgpLCBlLmRhdGEpCgogICAgcmV0dXJuCn0KCgpweXRob24gY2hlY2tf
c2FuaXR5X2V2ZXJ5YnVpbGQgKCkgewpkZWYgY2hlY2tfc2FuaXR5X2V2ZXJ5YnVpbGQoc3RhdHVz
LCBkKToKICAgIGltcG9ydCBvcywgc3RhdAogICAgIyBTYW5pdHkgdGVzdHMgd2hpY2ggdGVzdCB0
aGUgdXNlcnMgZW52aXJvbm1lbnQgc28gbmVlZCB0byBydW4gYXQgZWFjaCBidWlsZCAob3IgYXJl
IHNvIGNoZWFwCiAgICAjIGl0IG1ha2VzIHNlbnNlIHRvIGFsd2F5cyBydW4gdGhlbS4KCiAgICBp
ZiAwID09IG9zLmdldHVpZCgpOgogICAgICAgIHJhaXNlX3Nhbml0eV9lcnJvcigiRG8gbm90IHVz
ZSBCaXRiYWtlIGFzIHJvb3QuIiwgZCkKCiAgICAjIENoZWNrIHRoZSBQeXRob24gdmVyc2lvbiwg
d2Ugbm93IGhhdmUgYSBtaW5pbXVtIG9mIFB5dGhvbiAzLjQKICAgIGltcG9ydCBzeXMKICAgIGlm
IHN5cy5oZXh2ZXJzaW9uIDwgMHgwMzA0MDAwMDoKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCdU
aGUgc3lzdGVtIHJlcXVpcmVzIGF0IGxlYXN0IFB5dGhvbiAzLjQgdG8gcnVuLiBQbGVhc2UgdXBk
YXRlIHlvdXIgUHl0aG9uIGludGVycHJldGVyLlxuJykKCiAgICAjIENoZWNrIHRoZSBiaXRiYWtl
IHZlcnNpb24gbWVldHMgbWluaW11bSByZXF1aXJlbWVudHMKICAgIGZyb20gZGlzdHV0aWxzLnZl
cnNpb24gaW1wb3J0IExvb3NlVmVyc2lvbgogICAgbWludmVyc2lvbiA9IGQuZ2V0VmFyKCdCQl9N
SU5fVkVSU0lPTicpCiAgICBpZiAoTG9vc2VWZXJzaW9uKGJiLl9fdmVyc2lvbl9fKSA8IExvb3Nl
VmVyc2lvbihtaW52ZXJzaW9uKSk6CiAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgnQml0YmFrZSB2
ZXJzaW9uICVzIGlzIHJlcXVpcmVkIGFuZCB2ZXJzaW9uICVzIHdhcyBmb3VuZFxuJyAlIChtaW52
ZXJzaW9uLCBiYi5fX3ZlcnNpb25fXykpCgogICAgc2FuaXR5X2NoZWNrX2xvY2FsZShkKQoKICAg
IHBhdGhzID0gZC5nZXRWYXIoJ1BBVEgnKS5zcGxpdCgiOiIpCiAgICBpZiAiLiIgaW4gcGF0aHMg
b3IgIi4vIiBpbiBwYXRocyBvciAiIiBpbiBwYXRoczoKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0
KCJQQVRIIGNvbnRhaW5zICcuJywgJy4vJyBvciAnJyAoZW1wdHkgZWxlbWVudCksIHdoaWNoIHdp
bGwgYnJlYWsgdGhlIGJ1aWxkLCBwbGVhc2UgcmVtb3ZlIHRoaXMuXG5QYXJzZWQgUEFUSCBpcyAi
ICsgc3RyKHBhdGhzKSArICJcbiIpCgogICAgIyBDaGVjayB0aGF0IHRoZSBESVNUUk8gaXMgdmFs
aWQsIGlmIHNldAogICAgIyBuZWVkIHRvIHRha2UgaW50byBhY2NvdW50IERJU1RSTyByZW5hbWlu
ZyBESVNUUk8KICAgIGRpc3RybyA9IGQuZ2V0VmFyKCdESVNUUk8nKQogICAgaWYgZGlzdHJvIGFu
ZCBkaXN0cm8gIT0gIm5vZGlzdHJvIjoKICAgICAgICBpZiBub3QgKCBjaGVja19jb25mX2V4aXN0
cygiY29uZi9kaXN0cm8vJHtESVNUUk99LmNvbmYiLCBkKSBvciBjaGVja19jb25mX2V4aXN0cygi
Y29uZi9kaXN0cm8vaW5jbHVkZS8ke0RJU1RST30uaW5jIiwgZCkgKToKICAgICAgICAgICAgc3Rh
dHVzLmFkZHJlc3VsdCgiRElTVFJPICclcycgbm90IGZvdW5kLiBQbGVhc2Ugc2V0IGEgdmFsaWQg
RElTVFJPIGluIHlvdXIgbG9jYWwuY29uZlxuIiAlIGQuZ2V0VmFyKCJESVNUUk8iKSkKCiAgICAj
IENoZWNrIHRoYXQgdGhlc2UgdmFyaWFibGVzIGRvbid0IHVzZSB0aWxkZS1leHBhbnNpb24gYXMg
d2UgZG9uJ3QgZG8gdGhhdAogICAgZm9yIHYgaW4gKCJUTVBESVIiLCAiRExfRElSIiwgIlNTVEFU
RV9ESVIiKToKICAgICAgICBpZiBkLmdldFZhcih2KS5zdGFydHN3aXRoKCJ+Iik6CiAgICAgICAg
ICAgIHN0YXR1cy5hZGRyZXN1bHQoIiVzIHVzZXMgfiBidXQgQml0YmFrZSB3aWxsIG5vdCBleHBh
bmQgdGhpcywgdXNlIGFuIGFic29sdXRlIHBhdGggb3IgdmFyaWFibGVzLiIgJSB2KQoKICAgICMg
Q2hlY2sgdGhhdCBETF9ESVIgaXMgc2V0LCBleGlzdHMgYW5kIGlzIHdyaXRhYmxlLiBJbiB0aGVv
cnksIHdlIHNob3VsZCBuZXZlciBldmVuIGhpdCB0aGUgY2hlY2sgaWYgRExfRElSIGlzbid0CiAg
ICAjIHNldCwgc2luY2Ugc28gbXVjaCByZWxpZXMgb24gaXQgYmVpbmcgc2V0LgogICAgZGxkaXIg
PSBkLmdldFZhcignRExfRElSJykKICAgIGlmIG5vdCBkbGRpcjoKICAgICAgICBzdGF0dXMuYWRk
cmVzdWx0KCJETF9ESVIgaXMgbm90IHNldC4gWW91ciBlbnZpcm9ubWVudCBpcyBtaXNjb25maWd1
cmVkLCBjaGVjayB0aGF0IERMX0RJUiBpcyBzZXQsIGFuZCBpZiB0aGUgZGlyZWN0b3J5IGV4aXN0
cywgdGhhdCBpdCBpcyB3cml0YWJsZS4gXG4iKQogICAgaWYgb3MucGF0aC5leGlzdHMoZGxkaXIp
IGFuZCBub3Qgb3MuYWNjZXNzKGRsZGlyLCBvcy5XX09LKToKICAgICAgICBzdGF0dXMuYWRkcmVz
dWx0KCJETF9ESVI6ICVzIGV4aXN0cyBidXQgeW91IGRvIG5vdCBhcHBlYXIgdG8gaGF2ZSB3cml0
ZSBhY2Nlc3MgdG8gaXQuIFxuIiAlIGRsZGlyKQogICAgY2hlY2tfc3ltbGluayhkbGRpciwgZCkK
CiAgICAjIENoZWNrIHRoYXQgdGhlIE1BQ0hJTkUgaXMgdmFsaWQsIGlmIGl0IGlzIHNldAogICAg
bWFjaGluZXZhbGlkID0gVHJ1ZQogICAgaWYgZC5nZXRWYXIoJ01BQ0hJTkUnKToKICAgICAgICBp
ZiBub3QgY2hlY2tfY29uZl9leGlzdHMoImNvbmYvbWFjaGluZS8ke01BQ0hJTkV9LmNvbmYiLCBk
KToKICAgICAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgnTUFDSElORT0lcyBpcyBpbnZhbGlkLiBQ
bGVhc2Ugc2V0IGEgdmFsaWQgTUFDSElORSBpbiB5b3VyIGxvY2FsLmNvbmYsIGVudmlyb25tZW50
IG9yIG90aGVyIGNvbmZpZ3VyYXRpb24gZmlsZS5cbicgJSAoZC5nZXRWYXIoJ01BQ0hJTkUnKSkp
CiAgICAgICAgICAgIG1hY2hpbmV2YWxpZCA9IEZhbHNlCiAgICAgICAgZWxzZToKICAgICAgICAg
ICAgc3RhdHVzLmFkZHJlc3VsdChjaGVja19zYW5pdHlfdmFsaWRtYWNoaW5lKGQpKQogICAgZWxz
ZToKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCdQbGVhc2Ugc2V0IGEgTUFDSElORSBpbiB5b3Vy
IGxvY2FsLmNvbmYgb3IgZW52aXJvbm1lbnRcbicpCiAgICAgICAgbWFjaGluZXZhbGlkID0gRmFs
c2UKICAgIGlmIG1hY2hpbmV2YWxpZDoKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KGNoZWNrX3Rv
b2xjaGFpbihkKSkKCiAgICAjIENoZWNrIHRoYXQgdGhlIFNES01BQ0hJTkUgaXMgdmFsaWQsIGlm
IGl0IGlzIHNldAogICAgaWYgZC5nZXRWYXIoJ1NES01BQ0hJTkUnKToKICAgICAgICBpZiBub3Qg
Y2hlY2tfY29uZl9leGlzdHMoImNvbmYvbWFjaGluZS1zZGsvJHtTREtNQUNISU5FfS5jb25mIiwg
ZCk6CiAgICAgICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoJ1NwZWNpZmllZCBTREtNQUNISU5FIHZh
bHVlIGlzIG5vdCB2YWxpZFxuJykKICAgICAgICBlbGlmIGQuZ2V0VmFyKCdTREtfQVJDSCcsIEZh
bHNlKSA9PSAiJHtCVUlMRF9BUkNIfSI6CiAgICAgICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoJ1NE
S01BQ0hJTkUgaXMgc2V0LCBidXQgU0RLX0FSQ0ggaGFzIG5vdCBiZWVuIGNoYW5nZWQgYXMgYSBy
ZXN1bHQgLSBTREtNQUNISU5FIG1heSBoYXZlIGJlZW4gc2V0IHRvbyBsYXRlIChlLmcuIGluIHRo
ZSBkaXN0cm8gY29uZmlndXJhdGlvbilcbicpCgogICAgIyBJZiBTREtfVkVORE9SIGxvb2tzIGxp
a2UgIi1teS1zZGsiIHRoZW4gdGhlIHRyaXBsZXMgYXJlIGJhZGx5IGZvcm1lZCBzbyBmYWlsIGVh
cmx5CiAgICBzZGt2ZW5kb3IgPSBkLmdldFZhcigiU0RLX1ZFTkRPUiIpCiAgICBpZiBub3QgKHNk
a3ZlbmRvci5zdGFydHN3aXRoKCItIikgYW5kIHNka3ZlbmRvci5jb3VudCgiLSIpID09IDEpOgog
ICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoIlNES19WRU5ET1Igc2hvdWxkIGJlIG9mIHRoZSBmb3Jt
ICctZm9vc2RrJyB3aXRoIGEgc2luZ2xlIGRhc2hcbiIpCgogICAgY2hlY2tfc3VwcG9ydGVkX2Rp
c3RybyhkKQoKICAgIG9tYXNrID0gb3MudW1hc2soMG8wMjIpCiAgICBpZiBvbWFzayAmIDBvNzU1
OgogICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoIlBsZWFzZSB1c2UgYSB1bWFzayB3aGljaCBhbGxv
d3MgYStyeCBhbmQgdStyd3hcbiIpCiAgICBvcy51bWFzayhvbWFzaykKCiAgICBpZiBkLmdldFZh
cignVEFSR0VUX0FSQ0gnKSA9PSAiYXJtIjoKICAgICAgICAjIFRoaXMgcGF0aCBpcyBubyBsb25n
ZXIgdXNlci1yZWFkYWJsZSBpbiBtb2Rlcm4gKHZlcnkgcmVjZW50KSBMaW51eAogICAgICAgIHRy
eToKICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoIi9wcm9jL3N5cy92bS9tbWFwX21pbl9h
ZGRyIik6CiAgICAgICAgICAgICAgICBmID0gb3BlbigiL3Byb2Mvc3lzL3ZtL21tYXBfbWluX2Fk
ZHIiLCAiciIpCiAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgaWYgKGlu
dChmLnJlYWQoKS5zdHJpcCgpKSA+IDY1NTM2KToKICAgICAgICAgICAgICAgICAgICAgICAgc3Rh
dHVzLmFkZHJlc3VsdCgiL3Byb2Mvc3lzL3ZtL21tYXBfbWluX2FkZHIgaXMgbm90IDw9IDY1NTM2
LiBUaGlzIHdpbGwgY2F1c2UgcHJvYmxlbXMgd2l0aCBxZW11IHNvIHBsZWFzZSBmaXggdGhlIHZh
bHVlIChhcyByb290KS5cblxuVG8gZml4IHRoaXMgaW4gbGF0ZXIgcmVib290cywgc2V0IHZtLm1t
YXBfbWluX2FkZHIgPSA2NTUzNiBpbiAvZXRjL3N5c2N0bC5jb25mLlxuIikKICAgICAgICAgICAg
ICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgZXhjZXB0
OgogICAgICAgICAgICBwYXNzCgogICAgb2Vyb290ID0gZC5nZXRWYXIoJ0NPUkVCQVNFJykKICAg
IGlmIG9lcm9vdC5maW5kKCcrJykgIT0gLTE6CiAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgiRXJy
b3IsIHlvdSBoYXZlIGFuIGludmFsaWQgY2hhcmFjdGVyICgrKSBpbiB5b3VyIENPUkVCQVNFIGRp
cmVjdG9yeSBwYXRoLiBQbGVhc2UgbW92ZSB0aGUgaW5zdGFsbGF0aW9uIHRvIGEgZGlyZWN0b3J5
IHdoaWNoIGRvZXNuJ3QgaW5jbHVkZSBhbnkgKyBjaGFyYWN0ZXJzLiIpCiAgICBpZiBvZXJvb3Qu
ZmluZCgnQCcpICE9IC0xOgogICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoIkVycm9yLCB5b3UgaGF2
ZSBhbiBpbnZhbGlkIGNoYXJhY3RlciAoQCkgaW4geW91ciBDT1JFQkFTRSBkaXJlY3RvcnkgcGF0
aC4gUGxlYXNlIG1vdmUgdGhlIGluc3RhbGxhdGlvbiB0byBhIGRpcmVjdG9yeSB3aGljaCBkb2Vz
bid0IGluY2x1ZGUgYW55IEAgY2hhcmFjdGVycy4iKQogICAgaWYgb2Vyb290LmZpbmQoJyAnKSAh
PSAtMToKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCJFcnJvciwgeW91IGhhdmUgYSBzcGFjZSBp
biB5b3VyIENPUkVCQVNFIGRpcmVjdG9yeSBwYXRoLiBQbGVhc2UgbW92ZSB0aGUgaW5zdGFsbGF0
aW9uIHRvIGEgZGlyZWN0b3J5IHdoaWNoIGRvZXNuJ3QgaW5jbHVkZSBhIHNwYWNlIHNpbmNlIGF1
dG90b29scyBkb2Vzbid0IHN1cHBvcnQgdGhpcy4iKQoKICAgICMgQ2hlY2sgdGhlIGZvcm1hdCBv
ZiBNSVJST1JTLCBQUkVNSVJST1JTIGFuZCBTU1RBVEVfTUlSUk9SUwogICAgaW1wb3J0IHJlCiAg
ICBtaXJyb3JfdmFycyA9IFsnTUlSUk9SUycsICdQUkVNSVJST1JTJywgJ1NTVEFURV9NSVJST1JT
J10KICAgIHByb3RvY29scyA9IFsnaHR0cCcsICdmdHAnLCAnZmlsZScsICdodHRwcycsIFwKICAg
ICAgICAgICAgICAgICAnZ2l0JywgJ2dpdHNtJywgJ2hnJywgJ29zYycsICdwNCcsICdzdm4nLCBc
CiAgICAgICAgICAgICAgICAgJ2J6cicsICdjdnMnLCAnbnBtJywgJ3NmdHAnLCAnc3NoJywgJ3Mz
JyBdCiAgICBmb3IgbWlycm9yX3ZhciBpbiBtaXJyb3JfdmFyczoKICAgICAgICBtaXJyb3JzID0g
KGQuZ2V0VmFyKG1pcnJvcl92YXIpIG9yICcnKS5yZXBsYWNlKCdcXG4nLCAnICcpLnNwbGl0KCkK
CiAgICAgICAgIyBTcGxpdCBpbnRvIHBhaXJzCiAgICAgICAgaWYgbGVuKG1pcnJvcnMpICUgMiAh
PSAwOgogICAgICAgICAgICBiYi53YXJuKCdJbnZhbGlkIG1pcnJvciB2YXJpYWJsZSB2YWx1ZSBm
b3IgJXM6ICVzLCBzaG91bGQgY29udGFpbiBwYWlyZWQgbWVtYmVycy4nICUgKG1pcnJvcl92YXIs
IHN0cihtaXJyb3JzKSkpCiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgbWlycm9ycyA9IGxp
c3QoemlwKCpbaXRlcihtaXJyb3JzKV0qMikpCgogICAgICAgIGZvciBtaXJyb3JfZW50cnkgaW4g
bWlycm9yczoKICAgICAgICAgICAgcGF0dGVybiwgbWlycm9yID0gbWlycm9yX2VudHJ5CgogICAg
ICAgICAgICBkZWNvZGVkID0gYmIuZmV0Y2gyLmRlY29kZXVybChwYXR0ZXJuKQogICAgICAgICAg
ICB0cnk6CiAgICAgICAgICAgICAgICBwYXR0ZXJuX3NjaGVtZSA9IHJlLmNvbXBpbGUoZGVjb2Rl
ZFswXSkKICAgICAgICAgICAgZXhjZXB0IHJlLmVycm9yIGFzIGV4YzoKICAgICAgICAgICAgICAg
IGJiLndhcm4oJ0ludmFsaWQgc2NoZW1lIHJlZ2V4ICglcykgaW4gJXM7ICVzJyAlIChwYXR0ZXJu
LCBtaXJyb3JfdmFyLCBtaXJyb3JfZW50cnkpKQogICAgICAgICAgICAgICAgY29udGludWUKCiAg
ICAgICAgICAgIGlmIG5vdCBhbnkocGF0dGVybl9zY2hlbWUubWF0Y2gocHJvdG9jb2wpIGZvciBw
cm90b2NvbCBpbiBwcm90b2NvbHMpOgogICAgICAgICAgICAgICAgYmIud2FybignSW52YWxpZCBw
cm90b2NvbCAoJXMpIGluICVzOiAlcycgJSAoZGVjb2RlZFswXSwgbWlycm9yX3ZhciwgbWlycm9y
X2VudHJ5KSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgICAgICBpZiBub3QgYW55
KG1pcnJvci5zdGFydHN3aXRoKHByb3RvY29sICsgJzovLycpIGZvciBwcm90b2NvbCBpbiBwcm90
b2NvbHMpOgogICAgICAgICAgICAgICAgYmIud2FybignSW52YWxpZCBwcm90b2NvbCBpbiAlczog
JXMnICUgKG1pcnJvcl92YXIsIG1pcnJvcl9lbnRyeSkpCiAgICAgICAgICAgICAgICBjb250aW51
ZQoKICAgICAgICAgICAgaWYgbWlycm9yLnN0YXJ0c3dpdGgoJ2ZpbGU6Ly8nKToKICAgICAgICAg
ICAgICAgIGltcG9ydCB1cmxsaWIKICAgICAgICAgICAgICAgIGNoZWNrX3N5bWxpbmsodXJsbGli
LnBhcnNlLnVybHBhcnNlKG1pcnJvcikucGF0aCwgZCkKICAgICAgICAgICAgICAgICMgU1NUQVRF
X01JUlJPUiBlbmRzIHdpdGggYSAvUEFUSCBzdHJpbmcKICAgICAgICAgICAgICAgIGlmIG1pcnJv
ci5lbmRzd2l0aCgnL1BBVEgnKToKICAgICAgICAgICAgICAgICAgICAjIHJlbW92ZSAvUEFUSCQg
ZnJvbSBTU1RBVEVfTUlSUk9SIHRvIGdldCBhIHdvcmtpbmcKICAgICAgICAgICAgICAgICAgICAj
IGJhc2UgZGlyZWN0b3J5IHBhdGgKICAgICAgICAgICAgICAgICAgICBtaXJyb3JfYmFzZSA9IHVy
bGxpYi5wYXJzZS51cmxwYXJzZShtaXJyb3JbOi0xKmxlbignL1BBVEgnKV0pLnBhdGgKICAgICAg
ICAgICAgICAgICAgICBjaGVja19zeW1saW5rKG1pcnJvcl9iYXNlLCBkKQoKICAgICMgQ2hlY2sg
dGhhdCBUTVBESVIgaGFzbid0IGNoYW5nZWQgbG9jYXRpb24gc2luY2UgdGhlIGxhc3QgdGltZSB3
ZSB3ZXJlIHJ1bgogICAgdG1wZGlyID0gZC5nZXRWYXIoJ1RNUERJUicpCiAgICBjaGVja2ZpbGUg
PSBvcy5wYXRoLmpvaW4odG1wZGlyLCAic2F2ZWRfdG1wZGlyIikKICAgIGlmIG9zLnBhdGguZXhp
c3RzKGNoZWNrZmlsZSk6CiAgICAgICAgd2l0aCBvcGVuKGNoZWNrZmlsZSwgInIiKSBhcyBmOgog
ICAgICAgICAgICBzYXZlZF90bXBkaXIgPSBmLnJlYWQoKS5zdHJpcCgpCiAgICAgICAgICAgIGlm
IChzYXZlZF90bXBkaXIgIT0gdG1wZGlyKToKICAgICAgICAgICAgICAgIHN0YXR1cy5hZGRyZXN1
bHQoIkVycm9yLCBUTVBESVIgaGFzIGNoYW5nZWQgbG9jYXRpb24uIFlvdSBuZWVkIHRvIGVpdGhl
ciBtb3ZlIGl0IGJhY2sgdG8gJXMgb3IgZGVsZXRlIGl0IGFuZCByZWJ1aWxkXG4iICUgc2F2ZWRf
dG1wZGlyKQogICAgZWxzZToKICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIodG1wZGlyKQogICAg
ICAgICMgUmVtb3ZlIHNldHVpZCwgc2V0Z2lkIGFuZCBzdGlja3kgYml0cyBmcm9tIFRNUERJUgog
ICAgICAgIHRyeToKICAgICAgICAgICAgb3MuY2htb2QodG1wZGlyLCBvcy5zdGF0KHRtcGRpciku
c3RfbW9kZSAmIH4gc3RhdC5TX0lTVUlEKQogICAgICAgICAgICBvcy5jaG1vZCh0bXBkaXIsIG9z
LnN0YXQodG1wZGlyKS5zdF9tb2RlICYgfiBzdGF0LlNfSVNHSUQpCiAgICAgICAgICAgIG9zLmNo
bW9kKHRtcGRpciwgb3Muc3RhdCh0bXBkaXIpLnN0X21vZGUgJiB+IHN0YXQuU19JU1ZUWCkKICAg
ICAgICBleGNlcHQgT1NFcnJvciBhcyBleGM6CiAgICAgICAgICAgIGJiLndhcm4oIlVuYWJsZSB0
byBjaG1vZCBUTVBESVI6ICVzIiAlIGV4YykKICAgICAgICB3aXRoIG9wZW4oY2hlY2tmaWxlLCAi
dyIpIGFzIGY6CiAgICAgICAgICAgIGYud3JpdGUodG1wZGlyKQoKICAgICMgSWYgL2Jpbi9zaCBp
cyBhIHN5bWxpbmssIGNoZWNrIHRoYXQgaXQgcG9pbnRzIHRvIGRhc2ggb3IgYmFzaAogICAgaWYg
b3MucGF0aC5pc2xpbmsoJy9iaW4vc2gnKToKICAgICAgICByZWFsX3NoID0gb3MucGF0aC5yZWFs
cGF0aCgnL2Jpbi9zaCcpCiAgICAgICAgIyBEdWUgdG8gdXBkYXRlLWFsdGVybmF0aXZlcywgdGhl
IHNoZWxsIG5hbWUgbWF5IHRha2UgdmFyaW91cwogICAgICAgICMgZm9ybXMsIHN1Y2ggYXMgL2Jp
bi9kYXNoLCBiaW4vYmFzaCwgL2Jpbi9iYXNoLmJhc2ggLi4uCiAgICAgICAgaWYgJy9kYXNoJyBu
b3QgaW4gcmVhbF9zaCBhbmQgJy9iYXNoJyBub3QgaW4gcmVhbF9zaDoKICAgICAgICAgICAgc3Rh
dHVzLmFkZHJlc3VsdCgiRXJyb3IsIC9iaW4vc2ggbGlua3MgdG8gJXMsIG11c3QgYmUgZGFzaCBv
ciBiYXNoXG4iICUgcmVhbF9zaCkKfQoKCnB5dGhvbiBjaGVja19zYW5pdHlfc3N0YXRlX2Rpcl9j
aGFuZ2UgKCkgewpkZWYgY2hlY2tfc2FuaXR5X3NzdGF0ZV9kaXJfY2hhbmdlKHNzdGF0ZV9kaXIs
IGRhdGEpOgogICAgIyBTYW5pdHkgY2hlY2tzIHRvIGJlIGRvbmUgd2hlbiB0aGUgdmFsdWUgb2Yg
U1NUQVRFX0RJUiBjaGFuZ2VzCgogICAgIyBDaGVjayB0aGF0IFNTVEFURV9ESVIgaXNuJ3Qgb24g
YSBmaWxlc3lzdGVtIHdpdGggbGltaXRlZCBmaWxlbmFtZSBsZW5ndGggKGVnLiBlQ3J5cHRGUykK
ICAgIHRlc3Rtc2cgPSAiIgogICAgaWYgc3N0YXRlX2RpciAhPSAiIjoKICAgICAgICB0ZXN0bXNn
ID0gY2hlY2tfY3JlYXRlX2xvbmdfZmlsZW5hbWUoc3N0YXRlX2RpciwgIlNTVEFURV9ESVIiKQog
ICAgICAgICMgSWYgd2UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9ucyB0byBTU1RBVEVfRElSLCBzdWdn
ZXN0IHRoZSB1c2VyIHNldCBpdCBhcyBhbiBTU1RBVEVfTUlSUk9SUwogICAgICAgIHRyeToKICAg
ICAgICAgICAgZXJyID0gdGVzdG1zZy5zcGxpdCgnOiAnKVsxXS5zdHJpcCgpCiAgICAgICAgICAg
IGlmIGVyciA9PSAiUGVybWlzc2lvbiBkZW5pZWQuIjoKICAgICAgICAgICAgICAgIHRlc3Rtc2cg
PSB0ZXN0bXNnICsgIllvdSBjb3VsZCB0cnkgdXNpbmcgJXMgaW4gU1NUQVRFX01JUlJPUlMgcmF0
aGVyIHRoYW4gYXMgYW4gU1NUQVRFX0NBQ0hFLlxuIiAlIChzc3RhdGVfZGlyKQogICAgICAgIGV4
Y2VwdCBJbmRleEVycm9yOgogICAgICAgICAgICBwYXNzCiAgICByZXR1cm4gdGVzdG1zZwp9CgoK
cHl0aG9uIGNoZWNrX3Nhbml0eV92YWxpZG1hY2hpbmUgKCkgewpkZWYgY2hlY2tfc2FuaXR5X3Zh
bGlkbWFjaGluZShzYW5pdHlfZGF0YSk6CiAgICBtZXNzYWdlcyA9ICIiCgogICAgIyBDaGVjayBU
VU5FX0FSQ0ggaXMgc2V0CiAgICBpZiBzYW5pdHlfZGF0YS5nZXRWYXIoJ1RVTkVfQVJDSCcpID09
ICdJTlZBTElEJzoKICAgICAgICBtZXNzYWdlcyA9IG1lc3NhZ2VzICsgJ1RVTkVfQVJDSCBpcyB1
bnNldC4gUGxlYXNlIGVuc3VyZSB5b3VyIE1BQ0hJTkUgY29uZmlndXJhdGlvbiBpbmNsdWRlcyBh
IHZhbGlkIHR1bmUgY29uZmlndXJhdGlvbiBmaWxlIHdoaWNoIHdpbGwgc2V0IHRoaXMgY29ycmVj
dGx5LlxuJwoKICAgICMgQ2hlY2sgVEFSR0VUX09TIGlzIHNldAogICAgaWYgc2FuaXR5X2RhdGEu
Z2V0VmFyKCdUQVJHRVRfT1MnKSA9PSAnSU5WQUxJRCc6CiAgICAgICAgbWVzc2FnZXMgPSBtZXNz
YWdlcyArICdQbGVhc2Ugc2V0IFRBUkdFVF9PUyBkaXJlY3RseSwgb3IgY2hvb3NlIGEgTUFDSElO
RSBvciBESVNUUk8gdGhhdCBkb2VzIHNvLlxuJwoKICAgICMgQ2hlY2sgdGhhdCB3ZSBkb24ndCBo
YXZlIGR1cGxpY2F0ZSBlbnRyaWVzIGluIFBBQ0tBR0VfQVJDSFMgJiB0aGF0IFRVTkVfUEtHQVJD
SCBpcyBpbiBQQUNLQUdFX0FSQ0hTCiAgICBwa2dhcmNocyA9IHNhbml0eV9kYXRhLmdldFZhcign
UEFDS0FHRV9BUkNIUycpCiAgICB0dW5lcGtnID0gc2FuaXR5X2RhdGEuZ2V0VmFyKCdUVU5FX1BL
R0FSQ0gnKQogICAgZGVmYXVsdHR1bmUgPSBzYW5pdHlfZGF0YS5nZXRWYXIoJ0RFRkFVTFRUVU5F
JykKICAgIHR1bmVmb3VuZCA9IEZhbHNlCiAgICBzZWVuID0ge30KICAgIGR1cHMgPSBbXQoKICAg
IGZvciBwYSBpbiBwa2dhcmNocy5zcGxpdCgpOgogICAgICAgIGlmIHNlZW4uZ2V0KHBhLCAwKSA9
PSAxOgogICAgICAgICAgICBkdXBzLmFwcGVuZChwYSkKICAgICAgICBlbHNlOgogICAgICAgICAg
ICBzZWVuW3BhXSA9IDEKICAgICAgICBpZiBwYSA9PSB0dW5lcGtnOgogICAgICAgICAgICB0dW5l
Zm91bmQgPSBUcnVlCgogICAgaWYgbGVuKGR1cHMpOgogICAgICAgIG1lc3NhZ2VzID0gbWVzc2Fn
ZXMgKyAiRXJyb3IsIHRoZSBQQUNLQUdFX0FSQ0hTIHZhcmlhYmxlIGNvbnRhaW5zIGR1cGxpY2F0
ZXMuIFRoZSBmb2xsb3dpbmcgYXJjaHMgYXJlIGxpc3RlZCBtb3JlIHRoYW4gb25jZTogJXMiICUg
IiAiLmpvaW4oZHVwcykKCiAgICBpZiB0dW5lZm91bmQgPT0gRmFsc2U6CiAgICAgICAgbWVzc2Fn
ZXMgPSBtZXNzYWdlcyArICJFcnJvciwgdGhlIFBBQ0tBR0VfQVJDSFMgdmFyaWFibGUgKCVzKSBm
b3IgREVGQVVMVFRVTkUgKCVzKSBkb2VzIG5vdCBjb250YWluIFRVTkVfUEtHQVJDSCAoJXMpLiIg
JSAocGtnYXJjaHMsIGRlZmF1bHR0dW5lLCB0dW5lcGtnKQoKICAgIHJldHVybiBtZXNzYWdlcwoK
IyBQYXRjaCBiZWZvcmUgMi43IGNhbid0IGhhbmRsZSBhbGwgdGhlIGZlYXR1cmVzIGluIGdpdC1z
dHlsZSBkaWZmcy4gIFNvbWUKIyBwYXRjaGVzIG1heSBpbmNvcnJlY3RseSBhcHBseSwgYW5kIG90
aGVycyB3b24ndCBhcHBseSBhdCBhbGwufQoKCnB5dGhvbiBjaGVja19zYW5pdHlfdmVyc2lvbl9j
aGFuZ2UgKCkgewpkZWYgY2hlY2tfc2FuaXR5X3ZlcnNpb25fY2hhbmdlKHN0YXR1cywgZCk6CiAg
ICAjIFNhbml0eSBjaGVja3MgdG8gYmUgZG9uZSB3aGVuIFNBTklUWV9WRVJTSU9OIG9yIE5BVElW
RUxTQlNUUklORyBjaGFuZ2VzCiAgICAjIEluIG90aGVyIHdvcmRzLCB0aGVzZSB0ZXN0cyBydW4g
b25jZSBpbiBhIGdpdmVuIGJ1aWxkIGRpcmVjdG9yeSBhbmQgdGhlbgogICAgIyBuZXZlciBhZ2Fp
biB1bnRpbCB0aGUgc2FuaXR5IHZlcnNpb24gb3IgaG9zdCBkaXN0cnVidXRpb24gaWQvdmVyc2lv
biBjaGFuZ2VzLgoKICAgICMgQ2hlY2sgdGhlIHB5dGhvbiBpbnN0YWxsIGlzIGNvbXBsZXRlLiBn
bGliLTIuMC1uYXRpdmVzIHJlcXVyaWVzCiAgICAjIHhtbC5wYXJzZXJzLmV4cGF0CiAgICB0cnk6
CiAgICAgICAgaW1wb3J0IHhtbC5wYXJzZXJzLmV4cGF0CiAgICBleGNlcHQgSW1wb3J0RXJyb3I6
CiAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgnWW91ciBweXRob24gaXMgbm90IGEgZnVsbCBpbnN0
YWxsLiBQbGVhc2UgaW5zdGFsbCB0aGUgbW9kdWxlIHhtbC5wYXJzZXJzLmV4cGF0IChweXRob24t
eG1sIG9uIG9wZW5TVVNFIGFuZCBTVVNFIExpbnV4KS5cbicpCiAgICBpbXBvcnQgc3RhdAoKICAg
IHN0YXR1cy5hZGRyZXN1bHQoY2hlY2tfbWFrZV92ZXJzaW9uKGQpKQogICAgc3RhdHVzLmFkZHJl
c3VsdChjaGVja19wYXRjaF92ZXJzaW9uKGQpKQogICAgc3RhdHVzLmFkZHJlc3VsdChjaGVja190
YXJfdmVyc2lvbihkKSkKICAgIHN0YXR1cy5hZGRyZXN1bHQoY2hlY2tfZ2l0X3ZlcnNpb24oZCkp
CiAgICBzdGF0dXMuYWRkcmVzdWx0KGNoZWNrX3BlcmxfbW9kdWxlcyhkKSkKICAgIHN0YXR1cy5h
ZGRyZXN1bHQoY2hlY2tfd3NsKGQpKQoKICAgIG1pc3NpbmcgPSAiIgoKICAgIGlmIG5vdCBjaGVj
a19hcHBfZXhpc3RzKCIke01BS0V9IiwgZCk6CiAgICAgICAgbWlzc2luZyA9IG1pc3NpbmcgKyAi
R05VIG1ha2UsIgoKICAgIGlmIG5vdCBjaGVja19hcHBfZXhpc3RzKCcke0JVSUxEX0NDfScsIGQp
OgogICAgICAgIG1pc3NpbmcgPSBtaXNzaW5nICsgIkMgQ29tcGlsZXIgKCVzKSwiICUgZC5nZXRW
YXIoIkJVSUxEX0NDIikKCiAgICBpZiBub3QgY2hlY2tfYXBwX2V4aXN0cygnJHtCVUlMRF9DWFh9
JywgZCk6CiAgICAgICAgbWlzc2luZyA9IG1pc3NpbmcgKyAiQysrIENvbXBpbGVyICglcyksIiAl
IGQuZ2V0VmFyKCJCVUlMRF9DWFgiKQoKICAgIHJlcXVpcmVkX3V0aWxpdGllcyA9IGQuZ2V0VmFy
KCdTQU5JVFlfUkVRVUlSRURfVVRJTElUSUVTJykKCiAgICBmb3IgdXRpbCBpbiByZXF1aXJlZF91
dGlsaXRpZXMuc3BsaXQoKToKICAgICAgICBpZiBub3QgY2hlY2tfYXBwX2V4aXN0cyh1dGlsLCBk
KToKICAgICAgICAgICAgbWlzc2luZyA9IG1pc3NpbmcgKyAiJXMsIiAlIHV0aWwKCiAgICBpZiBt
aXNzaW5nOgogICAgICAgIG1pc3NpbmcgPSBtaXNzaW5nLnJzdHJpcCgnLCcpCiAgICAgICAgc3Rh
dHVzLmFkZHJlc3VsdCgiUGxlYXNlIGluc3RhbGwgdGhlIGZvbGxvd2luZyBtaXNzaW5nIHV0aWxp
dGllczogJXNcbiIgJSBtaXNzaW5nKQoKICAgIGFzc3VtZV9wcm92aWRlZCA9IGQuZ2V0VmFyKCdB
U1NVTUVfUFJPVklERUQnKS5zcGxpdCgpCiAgICAjIENoZWNrIHVzZXIgZG9lc24ndCBoYXZlIEFT
U1VNRV9QUk9WSURFRCA9IGluc3RlYWQgb2YgKz0gaW4gbG9jYWwuY29uZgogICAgaWYgImRpZmZz
dGF0LW5hdGl2ZSIgbm90IGluIGFzc3VtZV9wcm92aWRlZDoKICAgICAgICBzdGF0dXMuYWRkcmVz
dWx0KCdQbGVhc2UgdXNlIEFTU1VNRV9QUk9WSURFRCArPSwgbm90IEFTU1VNRV9QUk9WSURFRCA9
IGluIHlvdXIgbG9jYWwuY29uZlxuJykKCiAgICAjIENoZWNrIHRoYXQgVE1QRElSIGlzbid0IG9u
IGEgZmlsZXN5c3RlbSB3aXRoIGxpbWl0ZWQgZmlsZW5hbWUgbGVuZ3RoIChlZy4gZUNyeXB0RlMp
CiAgICB0bXBkaXIgPSBkLmdldFZhcignVE1QRElSJykKICAgIHN0YXR1cy5hZGRyZXN1bHQoY2hl
Y2tfY3JlYXRlX2xvbmdfZmlsZW5hbWUodG1wZGlyLCAiVE1QRElSIikpCiAgICB0bXBkaXJtb2Rl
ID0gb3Muc3RhdCh0bXBkaXIpLnN0X21vZGUKICAgIGlmICh0bXBkaXJtb2RlICYgc3RhdC5TX0lT
R0lEKToKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCJUTVBESVIgaXMgc2V0Z2lkLCBwbGVhc2Ug
ZG9uJ3QgYnVpbGQgaW4gYSBzZXRnaWQgZGlyZWN0b3J5IikKICAgIGlmICh0bXBkaXJtb2RlICYg
c3RhdC5TX0lTVUlEKToKICAgICAgICBzdGF0dXMuYWRkcmVzdWx0KCJUTVBESVIgaXMgc2V0dWlk
LCBwbGVhc2UgZG9uJ3QgYnVpbGQgaW4gYSBzZXR1aWQgZGlyZWN0b3J5IikKCiAgICAjIFNvbWUg
dGhpcmQtcGFydHkgc29mdHdhcmUgYXBwYXJlbnRseSByZWxpZXMgb24gY2htb2QgZXRjLiBiZWlu
ZyBzdWlkIHJvb3QgKCEhKQogICAgaW1wb3J0IHN0YXQKICAgIHN1aWRfY2hlY2tfYmlucyA9ICJj
aG93biBjaG1vZCBta25vZCIuc3BsaXQoKQogICAgZm9yIGJpbl9jbWQgaW4gc3VpZF9jaGVja19i
aW5zOgogICAgICAgIGJpbl9wYXRoID0gYmIudXRpbHMud2hpY2gob3MuZW52aXJvblsiUEFUSCJd
LCBiaW5fY21kKQogICAgICAgIGlmIGJpbl9wYXRoOgogICAgICAgICAgICBiaW5fc3RhdCA9IG9z
LnN0YXQoYmluX3BhdGgpCiAgICAgICAgICAgIGlmIGJpbl9zdGF0LnN0X3VpZCA9PSAwIGFuZCBi
aW5fc3RhdC5zdF9tb2RlICYgc3RhdC5TX0lTVUlEOgogICAgICAgICAgICAgICAgc3RhdHVzLmFk
ZHJlc3VsdCgnJXMgaGFzIHRoZSBzZXR1aWQgYml0IHNldC4gVGhpcyBpbnRlcmZlcmVzIHdpdGgg
cHNldWRvIGFuZCBtYXkgY2F1c2Ugb3RoZXIgaXNzdWVzIHRoYXQgYnJlYWsgdGhlIGJ1aWxkIHBy
b2Nlc3MuXG4nICUgYmluX3BhdGgpCgogICAgIyBDaGVjayB0aGF0IHdlIGNhbiBmZXRjaCBmcm9t
IHZhcmlvdXMgbmV0d29yayB0cmFuc3BvcnRzCiAgICBuZXRjaGVjayA9IGNoZWNrX2Nvbm5lY3Rp
dml0eShkKQogICAgc3RhdHVzLmFkZHJlc3VsdChuZXRjaGVjaykKICAgIGlmIG5ldGNoZWNrOgog
ICAgICAgIHN0YXR1cy5uZXR3b3JrX2Vycm9yID0gVHJ1ZQoKICAgIG5vbGlicyA9IGQuZ2V0VmFy
KCdOTzMyTElCUycpCiAgICBpZiBub3Qgbm9saWJzOgogICAgICAgIGxpYjMycGF0aCA9ICcvbGli
JwogICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKCcvbGliNjQnKSBhbmQgKCBvcy5wYXRoLmlzbGlu
aygnL2xpYjY0Jykgb3Igb3MucGF0aC5pc2xpbmsoJy9saWInKSApOgogICAgICAgICAgIGxpYjMy
cGF0aCA9ICcvbGliMzInCgogICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKCclcy9saWJjLnNvLjYn
ICUgbGliMzJwYXRoKSBhbmQgbm90IG9zLnBhdGguZXhpc3RzKCcvdXNyL2luY2x1ZGUvZ251L3N0
dWJzLTMyLmgnKToKICAgICAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgiWW91IGhhdmUgYSAzMi1i
aXQgbGliYywgYnV0IG5vIDMyLWJpdCBoZWFkZXJzLiAgWW91IG11c3QgaW5zdGFsbCB0aGUgMzIt
Yml0IGxpYmMgaGVhZGVycy5cbiIpCgogICAgYmJwYXRocyA9IGQuZ2V0VmFyKCdCQlBBVEgnKS5z
cGxpdCgiOiIpCiAgICBpZiAoIi4iIGluIGJicGF0aHMgb3IgIi4vIiBpbiBiYnBhdGhzIG9yICIi
IGluIGJicGF0aHMpOgogICAgICAgIHN0YXR1cy5hZGRyZXN1bHQoIkJCUEFUSCByZWZlcmVuY2Vz
IHRoZSBjdXJyZW50IGRpcmVjdG9yeSwgZWl0aGVyIHRocm91Z2ggIiAgICBcCiAgICAgICAgICAg
ICAgICAiYW4gZW1wdHkgZW50cnksIGEgJy4vJyBvciBhICcuJy5cblx0IFRoaXMgaXMgdW5zYWZl
IGFuZCBtZWFucyB5b3VyICJcCiAgICAgICAgICAgICAgICAibGF5ZXIgY29uZmlndXJhdGlvbiBp
cyBhZGRpbmcgZW1wdHkgZWxlbWVudHMgdG8gQkJQQVRILlxuXHQgIlwKICAgICAgICAgICAgICAg
ICJQbGVhc2UgY2hlY2sgeW91ciBsYXllci5jb25mIGZpbGVzIGFuZCBvdGhlciBCQlBBVEggIiAg
ICAgICAgXAogICAgICAgICAgICAgICAgInNldHRpbmdzIHRvIHJlbW92ZSB0aGUgY3VycmVudCB3
b3JraW5nIGRpcmVjdG9yeSAiICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAicmVmZXJlbmNl
cy5cbiIgXAogICAgICAgICAgICAgICAgIlBhcnNlZCBCQlBBVEggaXMiICsgc3RyKGJicGF0aHMp
KTsKCiAgICBvZXNfYmJfY29uZiA9IGQuZ2V0VmFyKCAnT0VTX0JJVEJBS0VfQ09ORicpCiAgICBp
ZiBub3Qgb2VzX2JiX2NvbmY6CiAgICAgICAgc3RhdHVzLmFkZHJlc3VsdCgnWW91IGFyZSBub3Qg
dXNpbmcgdGhlIE9wZW5FbWJlZGRlZCB2ZXJzaW9uIG9mIGNvbmYvYml0YmFrZS5jb25mLiBUaGlz
IG1lYW5zIHlvdXIgZW52aXJvbm1lbnQgaXMgbWlzY29uZmlndXJlZCwgaW4gcGFydGljdWxhciBj
aGVjayBCQlBBVEguXG4nKQoKICAgICMgVGhlIGxlbmd0aCBvZiBUTVBESVIgY2FuJ3QgYmUgbG9u
Z2VyIHRoYW4gNDEwCiAgICBzdGF0dXMuYWRkcmVzdWx0KGNoZWNrX3BhdGhfbGVuZ3RoKHRtcGRp
ciwgIlRNUERJUiIsIDQxMCkpCgogICAgIyBDaGVjayB0aGF0IFRNUERJUiBpc24ndCBsb2NhdGVk
IG9uIG5mcwogICAgc3RhdHVzLmFkZHJlc3VsdChjaGVja19ub3RfbmZzKHRtcGRpciwgIlRNUERJ
UiIpKQoKICAgICMgQ2hlY2sgZm9yIGNhc2UtaW5zZW5zaXRpdmUgZmlsZSBzeXN0ZW1zIChzdWNo
IGFzIExpbnV4IGluIERvY2tlciBvbgogICAgIyBtYWNPUyB3aXRoIGRlZmF1bHQgSEZTKyBmaWxl
IHN5c3RlbSkKICAgIHN0YXR1cy5hZGRyZXN1bHQoY2hlY2tfY2FzZV9zZW5zaXRpdmUodG1wZGly
LCAiVE1QRElSIikpCn0KCgpweXRob24gY2hlY2tfc3VwcG9ydGVkX2Rpc3RybyAoKSB7CmRlZiBj
aGVja19zdXBwb3J0ZWRfZGlzdHJvKHNhbml0eV9kYXRhKToKICAgIGZyb20gZm5tYXRjaCBpbXBv
cnQgZm5tYXRjaAoKICAgIHRlc3RlZF9kaXN0cm9zID0gc2FuaXR5X2RhdGEuZ2V0VmFyKCdTQU5J
VFlfVEVTVEVEX0RJU1RST1MnKQogICAgaWYgbm90IHRlc3RlZF9kaXN0cm9zOgogICAgICAgIHJl
dHVybgoKICAgIHRyeToKICAgICAgICBkaXN0cm8gPSBvZS5sc2IuZGlzdHJvX2lkZW50aWZpZXIo
KQogICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICBkaXN0cm8gPSBOb25lCgogICAgaWYgbm90
IGRpc3RybzoKICAgICAgICBiYi53YXJuKCdIb3N0IGRpc3RyaWJ1dGlvbiBjb3VsZCBub3QgYmUg
ZGV0ZXJtaW5lZDsgeW91IG1heSBwb3NzaWJseSBleHBlcmllbmNlIHVuZXhwZWN0ZWQgZmFpbHVy
ZXMuIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IHVzZSBhIHRlc3RlZCBkaXN0cmlidXRpb24u
JykKCiAgICBmb3Igc3VwcG9ydGVkIGluIFt4LnN0cmlwKCkgZm9yIHggaW4gdGVzdGVkX2Rpc3Ry
b3Muc3BsaXQoJ1xcbicpXToKICAgICAgICBpZiBmbm1hdGNoKGRpc3Rybywgc3VwcG9ydGVkKToK
ICAgICAgICAgICAgcmV0dXJuCgogICAgYmIud2FybignSG9zdCBkaXN0cmlidXRpb24gIiVzIiBo
YXMgbm90IGJlZW4gdmFsaWRhdGVkIHdpdGggdGhpcyB2ZXJzaW9uIG9mIHRoZSBidWlsZCBzeXN0
ZW07IHlvdSBtYXkgcG9zc2libHkgZXhwZXJpZW5jZSB1bmV4cGVjdGVkIGZhaWx1cmVzLiBJdCBp
cyByZWNvbW1lbmRlZCB0aGF0IHlvdSB1c2UgYSB0ZXN0ZWQgZGlzdHJpYnV0aW9uLicgJSBkaXN0
cm8pCgojIENoZWNrcyB3ZSBzaG91bGQgb25seSBtYWtlIGlmIE1BQ0hJTkUgaXMgc2V0IGNvcnJl
Y3RseX0KCgpweXRob24gY2hlY2tfc3ltbGluayAoKSB7CmRlZiBjaGVja19zeW1saW5rKGxuaywg
ZGF0YSk6CiAgICBpZiBvcy5wYXRoLmlzbGluayhsbmspIGFuZCBub3Qgb3MucGF0aC5leGlzdHMo
bG5rKToKICAgICAgICByYWlzZV9zYW5pdHlfZXJyb3IoIiVzIGlzIGEgYnJva2VuIHN5bWxpbmsu
IiAlIGxuaywgZGF0YSkKfQoKCnB5dGhvbiBjaGVja190YXJfdmVyc2lvbiAoKSB7CmRlZiBjaGVj
a190YXJfdmVyc2lvbihzYW5pdHlfZGF0YSk6CiAgICBmcm9tIGRpc3R1dGlscy52ZXJzaW9uIGlt
cG9ydCBMb29zZVZlcnNpb24KICAgIGltcG9ydCBzdWJwcm9jZXNzCiAgICB0cnk6CiAgICAgICAg
cmVzdWx0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJ0YXIiLCAiLS12ZXJzaW9uIl0sIHN0
ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkuZGVjb2RlKCd1dGYtOCcpCiAgICBleGNlcHQgc3VicHJv
Y2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKICAgICAgICByZXR1cm4gIlVuYWJsZSB0byBl
eGVjdXRlIHRhciAtLXZlcnNpb24sIGV4aXQgY29kZSAlZFxuJXNcbiIgJSAoZS5yZXR1cm5jb2Rl
LCBlLm91dHB1dCkKICAgIHZlcnNpb24gPSByZXN1bHQuc3BsaXQoKVszXQogICAgaWYgTG9vc2VW
ZXJzaW9uKHZlcnNpb24pIDwgTG9vc2VWZXJzaW9uKCIxLjI0Iik6CiAgICAgICAgcmV0dXJuICJZ
b3VyIHZlcnNpb24gb2YgdGFyIGlzIG9sZGVyIHRoYW4gMS4yNCBhbmQgaGFzIGJ1Z3Mgd2hpY2gg
d2lsbCBicmVhayBidWlsZHMuIFBsZWFzZSBpbnN0YWxsIGEgbmV3ZXIgdmVyc2lvbiBvZiB0YXIg
KDEuMjgrKS5cbiIKICAgIGlmIExvb3NlVmVyc2lvbih2ZXJzaW9uKSA8IExvb3NlVmVyc2lvbigi
MS4yOCIpOgogICAgICAgIHJldHVybiAiWW91ciB2ZXJzaW9uIG9mIHRhciBpcyBvbGRlciB0aGFu
IDEuMjggYW5kIGRvZXMgbm90IGhhdmUgdGhlIHN1cHBvcnQgbmVlZGVkIHRvIGVuYWJsZSByZXBy
b2R1Y2libGUgYnVpbGRzLiBQbGVhc2UgaW5zdGFsbCBhIG5ld2VyIHZlcnNpb24gb2YgdGFyICh5
b3UgY291bGQgdXNlIHRoZSBwcm9qZWN0cyBidWlsZHRvb2xzLXRhcmJhbGwgZnJvbSBvdXIgbGFz
dCByZWxlYXNlKS5cbiIKICAgIHJldHVybiBOb25lCgojIFdlIHVzZSBnaXQgcGFyYW1ldGVycyBh
bmQgZnVuY3Rpb25hbGl0eSBvbmx5IGZvdW5kIGluIDEuNy44IG9yIGxhdGVyCiMgVGhlIGtlcm5l
bCB0b29scyBhc3N1bWUgZ2l0ID49IDEuOC4zLjEgKHZlcmlmaWVkIG5lZWRlZCA+IDEuNy45LjUp
IHNlZSAjNjE2MgojIFRoZSBnaXQgZmV0Y2hlciBhbHNvIGhhZCB3b3JrYXJvdW5kcyBmb3IgZ2l0
IDwgMS43LjkuMiB3aGljaCB3ZSd2ZSBkcm9wcGVkfQoKCnB5dGhvbiBjaGVja190b29sY2hhaW4g
KCkgewpkZWYgY2hlY2tfdG9vbGNoYWluKGRhdGEpOgogICAgdHVuZV9lcnJvcl9zZXQgPSBbXQog
ICAgZGVmdHVuZSA9IGRhdGEuZ2V0VmFyKCJERUZBVUxUVFVORSIpCiAgICB0dW5lX2Vycm9ycyA9
IGNoZWNrX3Rvb2xjaGFpbl90dW5lKGRhdGEsIGRlZnR1bmUsICdkZWZhdWx0JykKICAgIGlmIHR1
bmVfZXJyb3JzOgogICAgICAgIHR1bmVfZXJyb3Jfc2V0LmFwcGVuZCh0dW5lX2Vycm9ycykKCiAg
ICBtdWx0aWxpYnMgPSAoZGF0YS5nZXRWYXIoIk1VTFRJTElCX1ZBUklBTlRTIikgb3IgIiIpLnNw
bGl0KCkKICAgIGdsb2JhbF9tdWx0aWxpYnMgPSAoZGF0YS5nZXRWYXIoIk1VTFRJTElCX0dMT0JB
TF9WQVJJQU5UUyIpIG9yICIiKS5zcGxpdCgpCgogICAgaWYgbXVsdGlsaWJzOgogICAgICAgIHNl
ZW5fbGlicyA9IFtdCiAgICAgICAgc2Vlbl90dW5lcyA9IFtdCiAgICAgICAgZm9yIGxpYiBpbiBt
dWx0aWxpYnM6CiAgICAgICAgICAgIGlmIGxpYiBpbiBzZWVuX2xpYnM6CiAgICAgICAgICAgICAg
ICB0dW5lX2Vycm9yX3NldC5hcHBlbmQoIlRoZSBtdWx0aWxpYiAnJXMnIGFwcGVhcnMgbW9yZSB0
aGFuIG9uY2UuIiAlIGxpYikKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHNlZW5f
bGlicy5hcHBlbmQobGliKQogICAgICAgICAgICBpZiBub3QgbGliIGluIGdsb2JhbF9tdWx0aWxp
YnM6CiAgICAgICAgICAgICAgICB0dW5lX2Vycm9yX3NldC5hcHBlbmQoIk11bHRpbGliICVzIGlz
IG5vdCBwcmVzZW50IGluIE1VTFRJTElCX0dMT0JBTF9WQVJJQU5UUyIgJSBsaWIpCiAgICAgICAg
ICAgIHR1bmUgPSBkYXRhLmdldFZhcigiREVGQVVMVFRVTkVfdmlydGNsYXNzLW11bHRpbGliLSVz
IiAlIGxpYikKICAgICAgICAgICAgaWYgdHVuZSBpbiBzZWVuX3R1bmVzOgogICAgICAgICAgICAg
ICAgdHVuZV9lcnJvcl9zZXQuYXBwZW5kKCJUaGUgdHVuaW5nICclcycgYXBwZWFycyBpbiBtb3Jl
IHRoYW4gb25lIG11bHRpbGliLiIgJSB0dW5lKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAg
ICAgICAgc2Vlbl9saWJzLmFwcGVuZCh0dW5lKQogICAgICAgICAgICBpZiB0dW5lID09IGRlZnR1
bmU6CiAgICAgICAgICAgICAgICB0dW5lX2Vycm9yX3NldC5hcHBlbmQoIk11bHRpbGliICclcycg
KCVzKSBpcyBhbHNvIHRoZSBkZWZhdWx0IHR1bmluZy4iICUgKGxpYiwgZGVmdHVuZSkpCiAgICAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICB0dW5lX2Vycm9ycyA9IGNoZWNrX3Rvb2xjaGFp
bl90dW5lKGRhdGEsIHR1bmUsIGxpYikKICAgICAgICAgICAgaWYgdHVuZV9lcnJvcnM6CiAgICAg
ICAgICAgICAgICB0dW5lX2Vycm9yX3NldC5hcHBlbmQodHVuZV9lcnJvcnMpCiAgICBpZiB0dW5l
X2Vycm9yX3NldDoKICAgICAgICByZXR1cm4gIlRvb2xjaGFpbiB0dW5pbmdzIGludmFsaWQ6XG4i
ICsgJ1xuJy5qb2luKHR1bmVfZXJyb3Jfc2V0KSArICJcbiIKCiAgICByZXR1cm4gIiIKfQoKCnB5
dGhvbiBjaGVja190b29sY2hhaW5fYXJnc19wcmVzZW50ICgpIHsKZGVmIGNoZWNrX3Rvb2xjaGFp
bl9hcmdzX3ByZXNlbnQoZGF0YSwgdHVuZSwgbXVsdGlsaWIsIHR1bmVfZXJyb3JzLCB3aGljaCk6
CiAgICBhcmdzX3NldCA9IChkYXRhLmdldFZhcigiVFVORV8lcyIgJSB3aGljaCkgb3IgIiIpLnNw
bGl0KCkKICAgIGFyZ3Nfd2FudGVkID0gKGRhdGEuZ2V0VmFyKCJUVU5FQUJJX1JFUVVJUkVEXyVz
X3R1bmUtJXMiICUgKHdoaWNoLCB0dW5lKSkgb3IgIiIpLnNwbGl0KCkKICAgIGFyZ3NfbWlzc2lu
ZyA9IFtdCgogICAgIyBJZiBubyBhcmdzIGFyZSBsaXN0ZWQvcmVxdWlyZWQsIHdlIGFyZSBkb25l
LgogICAgaWYgbm90IGFyZ3Nfd2FudGVkOgogICAgICAgIHJldHVybgogICAgZm9yIGFyZyBpbiBh
cmdzX3dhbnRlZDoKICAgICAgICBpZiBhcmcgbm90IGluIGFyZ3Nfc2V0OgogICAgICAgICAgICBh
cmdzX21pc3NpbmcuYXBwZW5kKGFyZykKCiAgICBmb3VuZF9lcnJvcnMgPSBGYWxzZQogICAgaWYg
YXJnc19taXNzaW5nOgogICAgICAgIGZvdW5kX2Vycm9ycyA9IFRydWUKICAgICAgICB0dW5lX2Vy
cm9ycy5hcHBlbmQoIlRVTkVBQkkgZm9yICVzIHJlcXVpcmVzICclcycgaW4gVFVORV8lcyAoJXMp
LiIgJQogICAgICAgICAgICAgICAgICAgICAgICh0dW5lLCAnICcuam9pbihhcmdzX21pc3Npbmcp
LCB3aGljaCwgJyAnLmpvaW4oYXJnc19zZXQpKSkKICAgIHJldHVybiBmb3VuZF9lcnJvcnMKCiMg
Q2hlY2sgYSBzaW5nbGUgdHVuZSBmb3IgdmFsaWRpdHkufQoKCnB5dGhvbiBjaGVja190b29sY2hh
aW5fdHVuZSAoKSB7CmRlZiBjaGVja190b29sY2hhaW5fdHVuZShkYXRhLCB0dW5lLCBtdWx0aWxp
Yik6CiAgICB0dW5lX2Vycm9ycyA9IFtdCiAgICBpZiBub3QgdHVuZToKICAgICAgICByZXR1cm4g
Ik5vIHR1bmluZyBmb3VuZCBmb3IgJXMgbXVsdGlsaWIuIiAlIG11bHRpbGliCiAgICBsb2NhbGRh
dGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZGF0YSkKICAgIGlmIG11bHRpbGliICE9ICJkZWZhdWx0
IjoKICAgICAgICAjIEFwcGx5IHRoZSBvdmVycmlkZXMgc28gd2UgY2FuIGxvb2sgYXQgdGhlIGRl
dGFpbHMuCiAgICAgICAgb3ZlcnJpZGVzID0gbG9jYWxkYXRhLmdldFZhcigiT1ZFUlJJREVTIiwg
RmFsc2UpICsgIjp2aXJ0Y2xhc3MtbXVsdGlsaWItIiArIG11bHRpbGliCiAgICAgICAgbG9jYWxk
YXRhLnNldFZhcigiT1ZFUlJJREVTIiwgb3ZlcnJpZGVzKQogICAgYmIuZGVidWcoMiwgIlNhbml0
eS1jaGVja2luZyB0dW5pbmcgJyVzJyAoJXMpIGZlYXR1cmVzOiIgJSAodHVuZSwgbXVsdGlsaWIp
KQogICAgZmVhdHVyZXMgPSAobG9jYWxkYXRhLmdldFZhcigiVFVORV9GRUFUVVJFU190dW5lLSVz
IiAlIHR1bmUpIG9yICIiKS5zcGxpdCgpCiAgICBpZiBub3QgZmVhdHVyZXM6CiAgICAgICAgcmV0
dXJuICJUdW5pbmcgJyVzJyBoYXMgbm8gZGVmaW5lZCBmZWF0dXJlcywgYW5kIGNhbm5vdCBiZSB1
c2VkLiIgJSB0dW5lCiAgICB2YWxpZF90dW5lcyA9IGxvY2FsZGF0YS5nZXRWYXJGbGFncygnVFVO
RVZBTElEJykgb3Ige30KICAgIGNvbmZsaWN0cyA9IGxvY2FsZGF0YS5nZXRWYXJGbGFncygnVFVO
RUNPTkZMSUNUUycpIG9yIHt9CiAgICAjIFtkb2NdIGlzIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0
aGUgdmFyaWFibGUsIG5vdCBhIHJlYWwgZmVhdHVyZQogICAgaWYgJ2RvYycgaW4gdmFsaWRfdHVu
ZXM6CiAgICAgICAgZGVsIHZhbGlkX3R1bmVzWydkb2MnXQogICAgaWYgJ2RvYycgaW4gY29uZmxp
Y3RzOgogICAgICAgIGRlbCBjb25mbGljdHNbJ2RvYyddCiAgICBmb3IgZmVhdHVyZSBpbiBmZWF0
dXJlczoKICAgICAgICBpZiBmZWF0dXJlIGluIGNvbmZsaWN0czoKICAgICAgICAgICAgZm9yIGNv
bmZsaWN0IGluIGNvbmZsaWN0c1tmZWF0dXJlXS5zcGxpdCgpOgogICAgICAgICAgICAgICAgaWYg
Y29uZmxpY3QgaW4gZmVhdHVyZXM6CiAgICAgICAgICAgICAgICAgICAgdHVuZV9lcnJvcnMuYXBw
ZW5kKCJGZWF0dXJlICclcycgY29uZmxpY3RzIHdpdGggJyVzJy4iICUKICAgICAgICAgICAgICAg
ICAgICAgICAgKGZlYXR1cmUsIGNvbmZsaWN0KSkKICAgICAgICBpZiBmZWF0dXJlIGluIHZhbGlk
X3R1bmVzOgogICAgICAgICAgICBiYi5kZWJ1ZygyLCAiICAlczogJXMiICUgKGZlYXR1cmUsIHZh
bGlkX3R1bmVzW2ZlYXR1cmVdKSkKICAgICAgICBlbHNlOgogICAgICAgICAgICB0dW5lX2Vycm9y
cy5hcHBlbmQoIkZlYXR1cmUgJyVzJyBpcyBub3QgZGVmaW5lZC4iICUgZmVhdHVyZSkKICAgIHdo
aXRlbGlzdCA9IGxvY2FsZGF0YS5nZXRWYXIoIlRVTkVBQklfV0hJVEVMSVNUIikKICAgIGlmIHdo
aXRlbGlzdDoKICAgICAgICB0dW5lYWJpID0gbG9jYWxkYXRhLmdldFZhcigiVFVORUFCSV90dW5l
LSVzIiAlIHR1bmUpCiAgICAgICAgaWYgbm90IHR1bmVhYmk6CiAgICAgICAgICAgIHR1bmVhYmkg
PSB0dW5lCiAgICAgICAgaWYgVHJ1ZSBub3QgaW4gW3ggaW4gd2hpdGVsaXN0LnNwbGl0KCkgZm9y
IHggaW4gdHVuZWFiaS5zcGxpdCgpXToKICAgICAgICAgICAgdHVuZV9lcnJvcnMuYXBwZW5kKCJU
dW5pbmcgJyVzJyAoJXMpIGNhbm5vdCBiZSB1c2VkIHdpdGggYW55IHN1cHBvcnRlZCB0dW5pbmcv
QUJJLiIgJQogICAgICAgICAgICAgICAgKHR1bmUsIHR1bmVhYmkpKQogICAgICAgIGVsc2U6CiAg
ICAgICAgICAgIGlmIG5vdCBjaGVja190b29sY2hhaW5fdHVuZV9hcmdzKGxvY2FsZGF0YSwgdHVu
ZWFiaSwgbXVsdGlsaWIsIHR1bmVfZXJyb3JzKToKICAgICAgICAgICAgICAgIGJiLmRlYnVnKDIs
ICJTYW5pdHkgY2hlY2s6IENvbXBpbGVyIGFyZ3MgT0sgZm9yICVzLiIgJSB0dW5lKQogICAgaWYg
dHVuZV9lcnJvcnM6CiAgICAgICAgcmV0dXJuICJUdW5pbmcgJyVzJyBoYXMgdGhlIGZvbGxvd2lu
ZyBlcnJvcnM6XG4iICUgdHVuZSArICdcbicuam9pbih0dW5lX2Vycm9ycykKfQoKCnB5dGhvbiBj
aGVja190b29sY2hhaW5fdHVuZV9hcmdzICgpIHsKZGVmIGNoZWNrX3Rvb2xjaGFpbl90dW5lX2Fy
Z3MoZGF0YSwgdHVuZSwgbXVsdGlsaWIsIGVycnMpOgogICAgZm91bmRfZXJyb3JzID0gRmFsc2UK
ICAgIGlmIGNoZWNrX3Rvb2xjaGFpbl9hcmdzX3ByZXNlbnQoZGF0YSwgdHVuZSwgbXVsdGlsaWIs
IGVycnMsICdDQ0FSR1MnKToKICAgICAgICBmb3VuZF9lcnJvcnMgPSBUcnVlCiAgICBpZiBjaGVj
a190b29sY2hhaW5fYXJnc19wcmVzZW50KGRhdGEsIHR1bmUsIG11bHRpbGliLCBlcnJzLCAnQVNB
UkdTJyk6CiAgICAgICAgZm91bmRfZXJyb3JzID0gVHJ1ZQogICAgaWYgY2hlY2tfdG9vbGNoYWlu
X2FyZ3NfcHJlc2VudChkYXRhLCB0dW5lLCBtdWx0aWxpYiwgZXJycywgJ0xEQVJHUycpOgogICAg
ICAgIGZvdW5kX2Vycm9ycyA9IFRydWUKCiAgICByZXR1cm4gZm91bmRfZXJyb3JzCn0KCgpweXRo
b24gY2hlY2tfd3NsICgpIHsKZGVmIGNoZWNrX3dzbChkKToKICAgIHdpdGggb3BlbigiL3Byb2Mv
dmVyc2lvbiIsICJyIikgYXMgZjoKICAgICAgICB2ZXJkYXRhID0gZi5yZWFkbGluZXMoKQogICAg
Zm9yIGwgaW4gdmVyZGF0YToKICAgICAgICBpZiAiTWljcm9zb2Z0IiBpbiBsOgogICAgICAgICAg
ICByZXR1cm4gIk9wZW5FbWJlZGRlZCBkb2Vzbid0IHdvcmsgdW5kZXIgV1NMIGF0IHRoaXMgdGlt
ZSwgc29ycnkiCiAgICByZXR1cm4gTm9uZQoKIyBUYXIgdmVyc2lvbiAxLjI0IGFuZCBvbndhcmRz
IGhhbmRsZSBvdmVyd3JpdGluZyBzeW1saW5rcyBjb3JyZWN0bHkKIyBidXQgZWFybGllciB2ZXJz
aW9ucyBkbyBub3Q7IHRoaXMgbmVlZHMgdG8gd29yayBwcm9wZXJseSBmb3Igc3N0YXRlCiMgVmVy
c2lvbiAxLjI4IGlzIG5lZWRlZCBzbyBvcGtnLWJ1aWxkIHdvcmtzIGNvcnJlY3RseSB3aGVuIHJl
cHJvZHVjaWJpbGUgYnVpbGRzIGFyZSBlbmFibGVkfQoKCnB5dGhvbiBjaGVja2J1aWxkcGF0aCAo
KSB7CmRlZiBjaGVja2J1aWxkcGF0aChmaWxlLCBkKToKICAgIHRtcGRpciA9IGQuZ2V0VmFyKCdU
TVBESVInKQogICAgd2l0aCBvcGVuKGZpbGUpIGFzIGY6CiAgICAgICAgZmlsZV9jb250ZW50ID0g
Zi5yZWFkKCkKICAgICAgICBpZiB0bXBkaXIgaW4gZmlsZV9jb250ZW50OgogICAgICAgICAgICBy
ZXR1cm4gVHJ1ZQoKICAgIHJldHVybiBGYWxzZQp9CgoKcHl0aG9uIGNvbmZpZ19yZXBhcnNlX2V2
ZW50aGFuZGxlciAoKSB7CiAgICBzYW5pdHlfY2hlY2tfY29uZmZpbGVzKGUuZGF0YSkKfQoKCnB5
dGhvbiBjb3B5X2RhdGEgKCkgewpkZWYgY29weV9kYXRhKGUpOgogICAgc2FuaXR5X2RhdGEgPSBi
Yi5kYXRhLmNyZWF0ZUNvcHkoZS5kYXRhKQogICAgc2FuaXR5X2RhdGEuZmluYWxpemUoKQogICAg
cmV0dXJuIHNhbml0eV9kYXRhCn0KCgpweXRob24gY29weV9saWNlbnNlX2ZpbGVzICgpIHsKZGVm
IGNvcHlfbGljZW5zZV9maWxlcyhsaWNfZmlsZXNfcGF0aHMsIGRlc3RkaXIpOgogICAgaW1wb3J0
IHNodXRpbAogICAgaW1wb3J0IGVycm5vCgogICAgYmIudXRpbHMubWtkaXJoaWVyKGRlc3RkaXIp
CiAgICBmb3IgKGJhc2VuYW1lLCBwYXRoLCBiZWdpbmxpbmUsIGVuZGxpbmUpIGluIGxpY19maWxl
c19wYXRoczoKICAgICAgICB0cnk6CiAgICAgICAgICAgIHNyYyA9IHBhdGgKICAgICAgICAgICAg
ZHN0ID0gb3MucGF0aC5qb2luKGRlc3RkaXIsIGJhc2VuYW1lKQogICAgICAgICAgICBpZiBvcy5w
YXRoLmV4aXN0cyhkc3QpOgogICAgICAgICAgICAgICAgb3MucmVtb3ZlKGRzdCkKICAgICAgICAg
ICAgaWYgb3MucGF0aC5pc2xpbmsoc3JjKToKICAgICAgICAgICAgICAgIHNyYyA9IG9zLnBhdGgu
cmVhbHBhdGgoc3JjKQogICAgICAgICAgICBjYW5saW5rID0gb3MuYWNjZXNzKHNyYywgb3MuV19P
SykgYW5kIChvcy5zdGF0KHNyYykuc3RfZGV2ID09IG9zLnN0YXQoZGVzdGRpcikuc3RfZGV2KSBh
bmQgYmVnaW5saW5lIGlzIE5vbmUgYW5kIGVuZGxpbmUgaXMgTm9uZQogICAgICAgICAgICBpZiBj
YW5saW5rOgogICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgIG9zLmxpbmso
c3JjLCBkc3QpCiAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CiAgICAgICAg
ICAgICAgICAgICAgaWYgZXJyLmVycm5vID09IGVycm5vLkVYREVWOgogICAgICAgICAgICAgICAg
ICAgICAgICAjIENvcHkgbGljZW5zZSBmaWxlcyBpZiBoYXJkLWxpbmsgaXMgbm90IHBvc3NpYmxl
IGV2ZW4gaWYgc3RfZGV2IGlzIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAjIHNhbWUgb24g
c291cmNlIGFuZCBkZXN0aW5hdGlvbiAoZG9ja2VyIGNvbnRhaW5lciB3aXRoIGRldmljZS1tYXBw
ZXI/KQogICAgICAgICAgICAgICAgICAgICAgICBjYW5saW5rID0gRmFsc2UKICAgICAgICAgICAg
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAg
ICAgIyBPbmx5IGNob3duIGlmIHdlIGRpZCBoYXJkbGluZywgYW5kLCB3ZSdyZSBydW5uaW5nIHVu
ZGVyIHBzZXVkbwogICAgICAgICAgICAgICAgaWYgY2FubGluayBhbmQgb3MuZW52aXJvbi5nZXQo
J1BTRVVET19ESVNBQkxFRCcpID09ICcwJzoKICAgICAgICAgICAgICAgICAgICBvcy5jaG93bihk
c3QsMCwwKQogICAgICAgICAgICBpZiBub3QgY2FubGluazoKICAgICAgICAgICAgICAgIGJlZ2lu
X2lkeCA9IGludChiZWdpbmxpbmUpLTEgaWYgYmVnaW5saW5lIGlzIG5vdCBOb25lIGVsc2UgTm9u
ZQogICAgICAgICAgICAgICAgZW5kX2lkeCA9IGludChlbmRsaW5lKSBpZiBlbmRsaW5lIGlzIG5v
dCBOb25lIGVsc2UgTm9uZQogICAgICAgICAgICAgICAgaWYgYmVnaW5faWR4IGlzIE5vbmUgYW5k
IGVuZF9pZHggaXMgTm9uZToKICAgICAgICAgICAgICAgICAgICBzaHV0aWwuY29weWZpbGUoc3Jj
LCBkc3QpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIHdpdGggb3Bl
bihzcmMsICdyYicpIGFzIHNyY19mOgogICAgICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4o
ZHN0LCAnd2InKSBhcyBkc3RfZjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRzdF9mLndy
aXRlKGInJy5qb2luKHNyY19mLnJlYWRsaW5lcygpW2JlZ2luX2lkeDplbmRfaWR4XSkpCgogICAg
ICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgYmIud2FybigiQ291bGQgbm90
IGNvcHkgbGljZW5zZSBmaWxlICVzIHRvICVzOiAlcyIgJSAoc3JjLCBkc3QsIGUpKQp9CgoKcHl0
aG9uIGNvcHlkZWJ1Z3NvdXJjZXMgKCkgewpkZWYgY29weWRlYnVnc291cmNlcyhkZWJ1Z3NyY2Rp
ciwgc291cmNlcywgZCk6CiAgICAjIFRoZSBkZWJ1ZyBzcmMgaW5mb3JtYXRpb24gd3JpdHRlbiBv
dXQgdG8gc291cmNlZmlsZSBpcyBmdXJ0aGVyIHByb2Nlc3NlZAogICAgIyBhbmQgY29waWVkIHRv
IHRoZSBkZXN0aW5hdGlvbiBoZXJlLgoKICAgIGltcG9ydCBzdGF0CiAgICBpbXBvcnQgc3VicHJv
Y2VzcwoKICAgIGlmIGRlYnVnc3JjZGlyIGFuZCBzb3VyY2VzOgogICAgICAgIHNvdXJjZWZpbGUg
PSBkLmV4cGFuZCgiJHtXT1JLRElSfS9kZWJ1Z3NvdXJjZXMubGlzdCIpCiAgICAgICAgYmIudXRp
bHMucmVtb3ZlKHNvdXJjZWZpbGUpCgogICAgICAgICMgZmlsZW5hbWVzIGFyZSBudWxsLXNlcGFy
YXRlZCAtIHRoaXMgaXMgYW4gYXJ0ZWZhY3Qgb2YgdGhlIHByZXZpb3VzIHVzZQogICAgICAgICMg
b2YgcnBtJ3MgZGVidWdlZGl0LCB3aGljaCB3YXMgd3JpdGluZyB0aGVtIG91dCB0aGF0IHdheSwg
YW5kIHRoZSBjb2RlIGVsc2V3aGVyZQogICAgICAgICMgaXMgc3RpbGwgYXNzdW1pbmcgdGhhdC4K
ICAgICAgICBkZWJ1Z2xpc3RvdXRwdXQgPSAnXDAnLmpvaW4oc291cmNlcykgKyAnXDAnCiAgICAg
ICAgd2l0aCBvcGVuKHNvdXJjZWZpbGUsICdhJykgYXMgc2Y6CiAgICAgICAgICAgc2Yud3JpdGUo
ZGVidWdsaXN0b3V0cHV0KQoKICAgICAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0QnKQogICAgICAg
IHN0cmlwID0gZC5nZXRWYXIoIlNUUklQIikKICAgICAgICBvYmpjb3B5ID0gZC5nZXRWYXIoIk9C
SkNPUFkiKQogICAgICAgIHdvcmtkaXIgPSBkLmdldFZhcigiV09SS0RJUiIpCiAgICAgICAgd29y
a3BhcmVudGRpciA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUod29ya2RpcikpCiAg
ICAgICAgd29ya2Jhc2VkaXIgPSBvcy5wYXRoLmJhc2VuYW1lKG9zLnBhdGguZGlybmFtZSh3b3Jr
ZGlyKSkgKyAiLyIgKyBvcy5wYXRoLmJhc2VuYW1lKHdvcmtkaXIpCgogICAgICAgICMgSWYgYnVp
bGQgcGF0aCBleGlzdHMgaW4gc291cmNlZmlsZSwgaXQgbWVhbnMgdG9vbGNoYWluIGRpZCBub3Qg
dXNlCiAgICAgICAgIyAtZmRlYnVnLXByZWZpeC1tYXAgdG8gY29tcGlsZQogICAgICAgIGlmIGNo
ZWNrYnVpbGRwYXRoKHNvdXJjZWZpbGUsIGQpOgogICAgICAgICAgICBsb2NhbHNyY19wcmVmaXgg
PSB3b3JrcGFyZW50ZGlyICsgIi8iCiAgICAgICAgZWxzZToKICAgICAgICAgICAgbG9jYWxzcmNf
cHJlZml4ID0gIi91c3Ivc3JjL2RlYnVnLyIKCiAgICAgICAgbm9zdWNoZGlyID0gW10KICAgICAg
ICBiYXNlcGF0aCA9IGR2YXIKICAgICAgICBmb3IgcCBpbiBkZWJ1Z3NyY2Rpci5zcGxpdCgiLyIp
OgogICAgICAgICAgICBiYXNlcGF0aCA9IGJhc2VwYXRoICsgIi8iICsgcAogICAgICAgICAgICBp
ZiBub3QgY3BhdGguZXhpc3RzKGJhc2VwYXRoKToKICAgICAgICAgICAgICAgIG5vc3VjaGRpci5h
cHBlbmQoYmFzZXBhdGgpCiAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKGJhc2VwYXRoKQogICAg
ICAgIGNwYXRoLnVwZGF0ZWNhY2hlKGJhc2VwYXRoKQoKICAgICAgICAjIElnbm9yZSBmaWxlcyBm
cm9tIHRoZSByZWNpcGUgc3lzcm9vdHMgKHRhcmdldCBhbmQgbmF0aXZlKQogICAgICAgIHByb2Nl
c3NkZWJ1Z3NyYyA9ICAiTENfQUxMPUMgOyBzb3J0IC16IC11ICclcycgfCBlZ3JlcCAtdiAteiAn
KCg8aW50ZXJuYWw+fDxidWlsdC1pbj4pJHwvLipyZWNpcGUtc3lzcm9vdC4qLyknIHwgIgogICAg
ICAgICMgV2UgbmVlZCB0byBpZ25vcmUgZmlsZXMgdGhhdCBhcmUgbm90IGFjdHVhbGx5IG91cnMK
ICAgICAgICAjIHdlIGRvIHRoaXMgYnkgb25seSBwYXlpbmcgYXR0ZW50aW9uIHRvIGl0ZW1zIGZy
b20gdGhpcyBwYWNrYWdlCiAgICAgICAgcHJvY2Vzc2RlYnVnc3JjICs9ICJmZ3JlcCAtencgJyVz
JyB8ICIKICAgICAgICAjIFJlbW92ZSBwcmVmaXggaW4gdGhlIHNvdXJjZSBwYXRocwogICAgICAg
IHByb2Nlc3NkZWJ1Z3NyYyArPSAic2VkICdzIyVzIyNnJyB8ICIKICAgICAgICBwcm9jZXNzZGVi
dWdzcmMgKz0gIihjZCAnJXMnIDsgY3BpbyAtcGQwbWxMIC0tbm8tcHJlc2VydmUtb3duZXIgJyVz
JXMnIDI+L2Rldi9udWxsKSIKCiAgICAgICAgY21kID0gcHJvY2Vzc2RlYnVnc3JjICUgKHNvdXJj
ZWZpbGUsIHdvcmtiYXNlZGlyLCBsb2NhbHNyY19wcmVmaXgsIHdvcmtwYXJlbnRkaXIsIGR2YXIs
IGRlYnVnc3JjZGlyKQogICAgICAgIHRyeToKICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19v
dXRwdXQoY21kLCBzaGVsbD1UcnVlLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpCiAgICAgICAg
ZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yOgogICAgICAgICAgICAjIENhbiAi
ZmFpbCIgaWYgaW50ZXJuYWwgaGVhZGVycy90cmFuc2llbnQgc291cmNlcyBhcmUgYXR0ZW1wdGVk
CiAgICAgICAgICAgIHBhc3MKCiAgICAgICAgIyBjcGlvIHNlZW1zIHRvIGhhdmUgYSBidWcgd2l0
aCAtbEwgdG9nZXRoZXIgYW5kIHN5bWJvbGljIGxpbmtzIGFyZSBqdXN0IGNvcGllZCwgbm90IGRl
cmVmZXJlbmNlZC4KICAgICAgICAjIFdvcmsgYXJvdW5kIHRoaXMgYnkgbWFudWFsbHkgZmluZGlu
ZyBhbmQgY29weWluZyBhbnkgc3ltYm9saWMgbGlua3MgdGhhdCBtYWRlIGl0IHRocm91Z2guCiAg
ICAgICAgY21kID0gImZpbmQgJXMlcyAtdHlwZSBsIC1wcmludDAgLWRlbGV0ZSB8IHNlZCBzIyVz
JXMvIyNnIHwgKGNkICclcycgOyBjcGlvIC1wZDBtTCAtLW5vLXByZXNlcnZlLW93bmVyICclcyVz
JykiICUgXAogICAgICAgICAgICAgICAgKGR2YXIsIGRlYnVnc3JjZGlyLCBkdmFyLCBkZWJ1Z3Ny
Y2Rpciwgd29ya3BhcmVudGRpciwgZHZhciwgZGVidWdzcmNkaXIpCiAgICAgICAgc3VicHJvY2Vz
cy5jaGVja19vdXRwdXQoY21kLCBzaGVsbD1UcnVlLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQp
CgogICAgICAgICMgVGhlIGNvcHkgYnkgY3BpbyBtYXkgaGF2ZSByZXN1bHRlZCBpbiBzb21lIGVt
cHR5IGRpcmVjdG9yaWVzISAgUmVtb3ZlIHRoZXNlCiAgICAgICAgY21kID0gImZpbmQgJXMlcyAt
ZW1wdHkgLXR5cGUgZCAtZGVsZXRlIiAlIChkdmFyLCBkZWJ1Z3NyY2RpcikKICAgICAgICBzdWJw
cm9jZXNzLmNoZWNrX291dHB1dChjbWQsIHNoZWxsPVRydWUsIHN0ZGVycj1zdWJwcm9jZXNzLlNU
RE9VVCkKCiAgICAgICAgIyBBbHNvIHJlbW92ZSBkZWJ1Z3NyY2RpciBpZiBpdHMgZW1wdHkKICAg
ICAgICBmb3IgcCBpbiBub3N1Y2hkaXJbOjotMV06CiAgICAgICAgICAgIGlmIG9zLnBhdGguZXhp
c3RzKHApIGFuZCBub3Qgb3MubGlzdGRpcihwKToKICAgICAgICAgICAgICAgIG9zLnJtZGlyKHAp
CgojCiMgUGFja2FnZSBkYXRhIGhhbmRsaW5nIHJvdXRpbmVzCiMKfQoKCnB5dGhvbiBkZWJpYW5f
cGFja2FnZV9uYW1lX2hvb2sgKCkgewogICAgaW1wb3J0IGdsb2IsIGNvcHksIHN0YXQsIGVycm5v
LCByZSwgcGF0aGxpYiwgc3VicHJvY2VzcwoKICAgIHBrZ2Rlc3QgPSBkLmdldFZhcigiUEtHREVT
VCIpCiAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpCiAgICBzb19yZSA9IHJlLmNv
bXBpbGUociJsaWIuKlwuc28iKQoKICAgIGRlZiBzb2NydW5jaChzKToKICAgICAgICBzID0gcy5s
b3dlcigpLnJlcGxhY2UoJ18nLCAnLScpCiAgICAgICAgbSA9IHJlLm1hdGNoKHIiXiguKikoLilc
LnNvXC4oLiopJCIsIHMpCiAgICAgICAgaWYgbSBpcyBOb25lOgogICAgICAgICAgICByZXR1cm4g
Tm9uZQogICAgICAgIGlmIG0uZ3JvdXAoMikgaW4gJzAxMjM0NTY3ODknOgogICAgICAgICAgICBi
aW4gPSAnJXMlcy0lcycgJSAobS5ncm91cCgxKSwgbS5ncm91cCgyKSwgbS5ncm91cCgzKSkKICAg
ICAgICBlbHNlOgogICAgICAgICAgICBiaW4gPSBtLmdyb3VwKDEpICsgbS5ncm91cCgyKSArIG0u
Z3JvdXAoMykKICAgICAgICBkZXYgPSBtLmdyb3VwKDEpICsgbS5ncm91cCgyKQogICAgICAgIHJl
dHVybiAoYmluLCBkZXYpCgogICAgZGVmIGlzZXhlYyhwYXRoKToKICAgICAgICB0cnk6CiAgICAg
ICAgICAgIHMgPSBvcy5zdGF0KHBhdGgpCiAgICAgICAgZXhjZXB0IChvcy5lcnJvciwgQXR0cmli
dXRlRXJyb3IpOgogICAgICAgICAgICByZXR1cm4gMAogICAgICAgIHJldHVybiAoc1tzdGF0LlNU
X01PREVdICYgc3RhdC5TX0lFWEVDKQoKICAgIGRlZiBhZGRfcnByb3ZpZGVzKHBrZywgZCk6CiAg
ICAgICAgbmV3cGtnID0gZC5nZXRWYXIoJ1BLR18nICsgcGtnKQogICAgICAgIGlmIG5ld3BrZyBh
bmQgbmV3cGtnICE9IHBrZzoKICAgICAgICAgICAgcHJvdnMgPSAoZC5nZXRWYXIoJ1JQUk9WSURF
U18nICsgcGtnKSBvciAiIikuc3BsaXQoKQogICAgICAgICAgICBpZiBwa2cgbm90IGluIHByb3Zz
OgogICAgICAgICAgICAgICAgZC5hcHBlbmRWYXIoJ1JQUk9WSURFU18nICsgcGtnLCAiICIgKyBw
a2cgKyAiICg9IiArIGQuZ2V0VmFyKCJQS0dWIikgKyAiKSIpCgogICAgZGVmIGF1dG9fbGlibmFt
ZShwYWNrYWdlcywgb3JpZ19wa2cpOgogICAgICAgIHAgPSBsYW1iZGEgdmFyOiBwYXRobGliLlB1
cmVQYXRoKGQuZ2V0VmFyKHZhcikpCiAgICAgICAgbGliZGlycyA9IChwKCJiYXNlX2xpYmRpciIp
LCBwKCJsaWJkaXIiKSkKICAgICAgICBiaW5kaXJzID0gKHAoImJhc2VfYmluZGlyIiksIHAoImJh
c2Vfc2JpbmRpciIpLCBwKCJiaW5kaXIiKSwgcCgic2JpbmRpciIpKQoKICAgICAgICBzb25hbWVz
ID0gW10KICAgICAgICBoYXNfYmlucyA9IDAKICAgICAgICBoYXNfbGlicyA9IDAKICAgICAgICBm
b3IgZiBpbiBwa2dmaWxlc1tvcmlnX3BrZ106CiAgICAgICAgICAgICMgVGhpcyBpcyAuLi4vcGFj
a2FnZXMtc3BsaXQvb3JpZ19wa2cvCiAgICAgICAgICAgIHBrZ3BhdGggPSBwYXRobGliLlB1cmVQ
YXRoKHBrZ2Rlc3QsIG9yaWdfcGtnKQogICAgICAgICAgICAjIFN0cmlwIHBrZ3BhdGggb2ZmIHRo
ZSBmdWxsIHBhdGggdG8gYSBmaWxlIGluIHRoZSBwYWNrYWdlLCByZS1yb290CiAgICAgICAgICAg
ICMgc28gaXQgaXMgYWJzb2x1dGUsIGFuZCB0aGVuIGdldCB0aGUgcGFyZW50IGRpcmVjdG9yeSBv
ZiB0aGUgZmlsZS4KICAgICAgICAgICAgcGF0aCA9IHBhdGhsaWIuUHVyZVBhdGgoIi8iKSAvIChw
YXRobGliLlB1cmVQYXRoKGYpLnJlbGF0aXZlX3RvKHBrZ3BhdGgpLnBhcmVudCkKICAgICAgICAg
ICAgaWYgcGF0aCBpbiBiaW5kaXJzOgogICAgICAgICAgICAgICAgaGFzX2JpbnMgPSAxCiAgICAg
ICAgICAgIGlmIHBhdGggaW4gbGliZGlyczoKICAgICAgICAgICAgICAgIGhhc19saWJzID0gMQog
ICAgICAgICAgICAgICAgaWYgc29fcmUubWF0Y2gob3MucGF0aC5iYXNlbmFtZShmKSk6CiAgICAg
ICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICBjbWQgPSBbZC5leHBh
bmQoIiR7VEFSR0VUX1BSRUZJWH1vYmpkdW1wIiksICItcCIsIGZdCiAgICAgICAgICAgICAgICAg
ICAgICAgIG91dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGNtZCkuZGVjb2RlKCJ1dGYt
OCIpCiAgICAgICAgICAgICAgICAgICAgICAgIGZvciBtIGluIHJlLmZpbmRpdGVyKHIiXHMrU09O
QU1FXHMrKFteXHNdKykiLCBvdXRwdXQpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg
bS5ncm91cCgxKSBub3QgaW4gc29uYW1lczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzb25hbWVzLmFwcGVuZChtLmdyb3VwKDEpKQogICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBz
dWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgICAgcGFz
cwogICAgICAgIGJiLmRlYnVnKDEsICdMSUJOQU1FUzogcGtnICVzIGxpYnMgJWQgYmlucyAlZCBz
b25hbWVzICVzJyAlIChvcmlnX3BrZywgaGFzX2xpYnMsIGhhc19iaW5zLCBzb25hbWVzKSkKICAg
ICAgICBzb25hbWUgPSBOb25lCiAgICAgICAgaWYgbGVuKHNvbmFtZXMpID09IDE6CiAgICAgICAg
ICAgIHNvbmFtZSA9IHNvbmFtZXNbMF0KICAgICAgICBlbGlmIGxlbihzb25hbWVzKSA+IDE6CiAg
ICAgICAgICAgIGxlYWQgPSBkLmdldFZhcignTEVBRF9TT05BTUUnKQogICAgICAgICAgICBpZiBs
ZWFkOgogICAgICAgICAgICAgICAgciA9IHJlLmNvbXBpbGUobGVhZCkKICAgICAgICAgICAgICAg
IGZpbHRlcmVkID0gW10KICAgICAgICAgICAgICAgIGZvciBzIGluIHNvbmFtZXM6CiAgICAgICAg
ICAgICAgICAgICAgaWYgci5tYXRjaChzKToKICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVy
ZWQuYXBwZW5kKHMpCiAgICAgICAgICAgICAgICBpZiBsZW4oZmlsdGVyZWQpID09IDE6CiAgICAg
ICAgICAgICAgICAgICAgc29uYW1lID0gZmlsdGVyZWRbMF0KICAgICAgICAgICAgICAgIGVsaWYg
bGVuKGZpbHRlcmVkKSA+IDE6CiAgICAgICAgICAgICAgICAgICAgYmIubm90ZSgiTXVsdGlwbGUg
bWF0Y2hlcyAoJXMpIGZvciBMRUFEX1NPTkFNRSAnJXMnIiAlICgiLCAiLmpvaW4oZmlsdGVyZWQp
LCBsZWFkKSkKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgYmIubm90
ZSgiTXVsdGlwbGUgbGlicmFyaWVzICglcykgZm91bmQsIGJ1dCBMRUFEX1NPTkFNRSAnJXMnIGRv
ZXNuJ3QgbWF0Y2ggYW55IG9mIHRoZW0iICUgKCIsICIuam9pbihzb25hbWVzKSwgbGVhZCkpCiAg
ICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBiYi5ub3RlKCJNdWx0aXBsZSBsaWJyYXJp
ZXMgKCVzKSBmb3VuZCBhbmQgTEVBRF9TT05BTUUgbm90IGRlZmluZWQiICUgIiwgIi5qb2luKHNv
bmFtZXMpKQoKICAgICAgICBpZiBoYXNfbGlicyBhbmQgbm90IGhhc19iaW5zIGFuZCBzb25hbWU6
CiAgICAgICAgICAgIHNvbmFtZV9yZXN1bHQgPSBzb2NydW5jaChzb25hbWUpCiAgICAgICAgICAg
IGlmIHNvbmFtZV9yZXN1bHQ6CiAgICAgICAgICAgICAgICAocGtnbmFtZSwgZGV2bmFtZSkgPSBz
b25hbWVfcmVzdWx0CiAgICAgICAgICAgICAgICBmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6
CiAgICAgICAgICAgICAgICAgICAgaWYgKGQuZ2V0VmFyKCdQS0dfJyArIHBrZywgRmFsc2UpIG9y
IGQuZ2V0VmFyKCdERUJJQU5fTk9BVVRPTkFNRV8nICsgcGtnLCBGYWxzZSkpOgogICAgICAgICAg
ICAgICAgICAgICAgICBhZGRfcnByb3ZpZGVzKHBrZywgZCkKICAgICAgICAgICAgICAgICAgICAg
ICAgY29udGludWUKICAgICAgICAgICAgICAgICAgICBkZWJpYW5fcG4gPSBkLmdldFZhcignREVC
SUFOTkFNRV8nICsgcGtnLCBGYWxzZSkKICAgICAgICAgICAgICAgICAgICBpZiBkZWJpYW5fcG46
CiAgICAgICAgICAgICAgICAgICAgICAgIG5ld3BrZyA9IGRlYmlhbl9wbgogICAgICAgICAgICAg
ICAgICAgIGVsaWYgcGtnID09IG9yaWdfcGtnOgogICAgICAgICAgICAgICAgICAgICAgICBuZXdw
a2cgPSBwa2duYW1lCiAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAg
ICAgICAgbmV3cGtnID0gcGtnLnJlcGxhY2Uob3JpZ19wa2csIGRldm5hbWUsIDEpCiAgICAgICAg
ICAgICAgICAgICAgbWxwcmU9ZC5nZXRWYXIoJ01MUFJFRklYJykKICAgICAgICAgICAgICAgICAg
ICBpZiBtbHByZToKICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IG5ld3BrZy5maW5kKG1s
cHJlKSA9PSAwOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3cGtnID0gbWxwcmUgKyBu
ZXdwa2cKICAgICAgICAgICAgICAgICAgICBpZiBuZXdwa2cgIT0gcGtnOgogICAgICAgICAgICAg
ICAgICAgICAgICBiYi5ub3RlKCJkZWJpYW46IHJlbmFtaW5nICVzIHRvICVzIiAlIChwa2csIG5l
d3BrZykpCiAgICAgICAgICAgICAgICAgICAgICAgIGQuc2V0VmFyKCdQS0dfJyArIHBrZywgbmV3
cGtnKQogICAgICAgICAgICAgICAgICAgICAgICBhZGRfcnByb3ZpZGVzKHBrZywgZCkKICAgICAg
ICBlbHNlOgogICAgICAgICAgICBhZGRfcnByb3ZpZGVzKG9yaWdfcGtnLCBkKQoKICAgICMgcmV2
ZXJzZWQgc29ydCBpcyBuZWVkZWQgd2hlbiBzb21lIHBhY2thZ2UgaXMgc3Vic3RyaW5nIG9mIGFu
b3RoZXIKICAgICMgaWUgaW4gbmN1cnNlcyB3ZSBnZXQgd2l0aG91dCByZXZlcnNlIHNvcnQ6CiAg
ICAjIERFQlVHOiBMSUJOQU1FUzogcGtnbmFtZSBsaWJ0aWM1IGRldm5hbWUgbGlidGljIHBrZyBu
Y3Vyc2VzLWxpYnRpYyBvcmlnX3BrZyBuY3Vyc2VzLWxpYnRpYyBkZWJpYW5fcG4gTm9uZSBuZXdw
a2cgbGlidGljNQogICAgIyBhbmQgbGF0ZXIKICAgICMgREVCVUc6IExJQk5BTUVTOiBwa2duYW1l
IGxpYnRpYzUgZGV2bmFtZSBsaWJ0aWMgcGtnIG5jdXJzZXMtbGlidGljdyBvcmlnX3BrZyBuY3Vy
c2VzLWxpYnRpYyBkZWJpYW5fcG4gTm9uZSBuZXdwa2cgbGlidGljdwogICAgIyBzbyB3ZSBuZWVk
IHRvIGhhbmRsZSBuY3Vyc2VzLWxpYnRpY3ctPmxpYnRpY3c1IGJlZm9yZSBuY3Vyc2VzLWxpYnRp
Yy0+bGlidGljNQogICAgZm9yIHBrZyBpbiBzb3J0ZWQoKGQuZ2V0VmFyKCdBVVRPX0xJQk5BTUVf
UEtHUycpIG9yICIiKS5zcGxpdCgpLCByZXZlcnNlPVRydWUpOgogICAgICAgIGF1dG9fbGlibmFt
ZShwYWNrYWdlcywgcGtnKQp9CgoKcHl0aG9uIGRldnB5c2hlbGwgKCkgewpkZWYgZGV2cHlzaGVs
bChkKToKCiAgICBpbXBvcnQgY29kZQogICAgaW1wb3J0IHNlbGVjdAogICAgaW1wb3J0IHNpZ25h
bAogICAgaW1wb3J0IHRlcm1pb3MKCiAgICBtLCBzID0gb3Mub3BlbnB0eSgpCiAgICBzbmFtZSA9
IG9zLnR0eW5hbWUocykKCiAgICBkZWYgbm9lY2hvaWNhbm9uKGZkKToKICAgICAgICBvbGQgPSB0
ZXJtaW9zLnRjZ2V0YXR0cihmZCkKICAgICAgICBvbGRbM10gPSBvbGRbM10gJn4gdGVybWlvcy5F
Q0hPICZ+IHRlcm1pb3MuSUNBTk9OCiAgICAgICAgIyAmfiB0ZXJtaW9zLklTSUcKICAgICAgICB0
ZXJtaW9zLnRjc2V0YXR0cihmZCwgdGVybWlvcy5UQ1NBRFJBSU4sIG9sZCkKCiAgICAjIE5vIGVj
aG8gb3IgYnVmZmVyaW5nIG92ZXIgdGhlIHB0eQogICAgbm9lY2hvaWNhbm9uKHMpCgogICAgcGlk
ID0gb3MuZm9yaygpCiAgICBpZiBwaWQ6CiAgICAgICAgb3MuY2xvc2UobSkKICAgICAgICBvZV90
ZXJtaW5hbCgib2VweWRldnNoZWxsLWludGVybmFsLnB5ICVzICVkIiAlIChzbmFtZSwgcGlkKSwg
J09wZW5FbWJlZGRlZCBEZXZlbG9wZXIgUHlTaGVsbCcsIGQpCiAgICAgICAgb3MuX2V4aXQoMCkK
ICAgIGVsc2U6CiAgICAgICAgb3MuY2xvc2UocykKCiAgICAgICAgb3MuZHVwMihtLCBzeXMuc3Rk
aW4uZmlsZW5vKCkpCiAgICAgICAgb3MuZHVwMihtLCBzeXMuc3Rkb3V0LmZpbGVubygpKQogICAg
ICAgIG9zLmR1cDIobSwgc3lzLnN0ZGVyci5maWxlbm8oKSkKCiAgICAgICAgYmIudXRpbHMubm9u
YmxvY2tpbmdmZChzeXMuc3Rkb3V0KQogICAgICAgIGJiLnV0aWxzLm5vbmJsb2NraW5nZmQoc3lz
LnN0ZGVycikKICAgICAgICBiYi51dGlscy5ub25ibG9ja2luZ2ZkKHN5cy5zdGRpbikKCiAgICAg
ICAgX2NvbnRleHQgPSB7CiAgICAgICAgICAgICJvcyI6IG9zLAogICAgICAgICAgICAiYmIiOiBi
YiwKICAgICAgICAgICAgInRpbWUiOiB0aW1lLAogICAgICAgICAgICAiZCI6IGQsCiAgICAgICAg
fQoKICAgICAgICBwczEgPSAicHlkZXZzaGVsbD4gIgogICAgICAgIHBzMiA9ICIuLi4gIgogICAg
ICAgIGJ1ZiA9IFtdCiAgICAgICAgbW9yZSA9IEZhbHNlCgogICAgICAgIGkgPSBjb2RlLkludGVy
YWN0aXZlSW50ZXJwcmV0ZXIobG9jYWxzPV9jb250ZXh0KQogICAgICAgIHByaW50KCJPRSBQeVNo
ZWxsIChQTiA9ICVzKVxuIiAlIGQuZ2V0VmFyKCJQTiIpKQoKICAgICAgICBkZWYgcHJvbXB0KG1v
cmUpOgogICAgICAgICAgICBpZiBtb3JlOgogICAgICAgICAgICAgICAgcHJvbXB0ID0gcHMyCiAg
ICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBwcm9tcHQgPSBwczEKICAgICAgICAgICAg
c3lzLnN0ZG91dC53cml0ZShwcm9tcHQpCiAgICAgICAgICAgIHN5cy5zdGRvdXQuZmx1c2goKQoK
ICAgICAgICAjIFJlc3RvcmUgQ3RybCtDIHNpbmNlIGJpdGJha2UgbWFza3MgdGhpcwogICAgICAg
IGRlZiBzaWduYWxfaGFuZGxlcihzaWduYWwsIGZyYW1lKToKICAgICAgICAgICAgcmFpc2UgS2V5
Ym9hcmRJbnRlcnJ1cHQKICAgICAgICBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdJTlQsIHNpZ25h
bF9oYW5kbGVyKQoKICAgICAgICBjaGlsZCA9IE5vbmUKCiAgICAgICAgcHJvbXB0KG1vcmUpCiAg
ICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgdHJ5Ogog
ICAgICAgICAgICAgICAgICAgIChyLCBfLCBfKSA9IHNlbGVjdC5zZWxlY3QoW3N5cy5zdGRpbl0s
IFtdLCBbXSwgMSkKICAgICAgICAgICAgICAgICAgICBpZiBub3QgcjoKICAgICAgICAgICAgICAg
ICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICAgICBsaW5lID0gc3lzLnN0ZGluLnJl
YWRsaW5lKCkuc3RyaXAoKQogICAgICAgICAgICAgICAgICAgIGlmIG5vdCBsaW5lOgogICAgICAg
ICAgICAgICAgICAgICAgICBwcm9tcHQobW9yZSkKICAgICAgICAgICAgICAgICAgICAgICAgY29u
dGludWUKICAgICAgICAgICAgICAgIGV4Y2VwdCBFT0ZFcnJvciBhcyBlOgogICAgICAgICAgICAg
ICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIlxuIikKICAgICAgICAgICAgICAgICAgICBzeXMuc3Rk
b3V0LmZsdXNoKCkKICAgICAgICAgICAgICAgIGV4Y2VwdCAoT1NFcnJvciwgSU9FcnJvcikgYXMg
ZToKICAgICAgICAgICAgICAgICAgICBpZiBlLmVycm5vID09IDExOgogICAgICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gNToKICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAg
ICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgaWYgbm90IGNoaWxkOgogICAg
ICAgICAgICAgICAgICAgICAgICBjaGlsZCA9IGludChsaW5lKQogICAgICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgIGJ1Zi5hcHBlbmQobGluZSkKICAgICAg
ICAgICAgICAgICAgICBzb3VyY2UgPSAiXG4iLmpvaW4oYnVmKQogICAgICAgICAgICAgICAgICAg
IG1vcmUgPSBpLnJ1bnNvdXJjZShzb3VyY2UsICI8cHlzaGVsbD4iKQogICAgICAgICAgICAgICAg
ICAgIGlmIG5vdCBtb3JlOgogICAgICAgICAgICAgICAgICAgICAgICBidWYgPSBbXQogICAgICAg
ICAgICAgICAgICAgIHByb21wdChtb3JlKQogICAgICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRl
cnJ1cHQ6CiAgICAgICAgICAgICAgICBpLndyaXRlKCJcbktleWJvYXJkSW50ZXJydXB0XG4iKQog
ICAgICAgICAgICAgICAgYnVmID0gW10KICAgICAgICAgICAgICAgIG1vcmUgPSBGYWxzZQogICAg
ICAgICAgICAgICAgcHJvbXB0KG1vcmUpCiAgICAgICAgICAgIGV4Y2VwdCBTeXN0ZW1FeGl0Ogog
ICAgICAgICAgICAgICAgIyBFYXNpZXN0IHdheSB0byBlbnN1cmUgZXZlcnl0aGluZyBleGl0cwog
ICAgICAgICAgICAgICAgb3Mua2lsbChjaGlsZCwgc2lnbmFsLlNJR1RFUk0pCiAgICAgICAgICAg
ICAgICBicmVhawp9CgoKcHl0aG9uIGRvX2J1aWxkICgpIHsKICAgIGJiLnBsYWluKCIqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiIpOwogICAgYmIucGxhaW4o
IiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIik7CiAgICBi
Yi5wbGFpbigiKiAgRXhhbXBsZSByZWNpcGUgY3JlYXRlZCBieSBiaXRiYWtlLWxheWVycyAgICoi
KTsKICAgIGJiLnBsYWluKCIqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKiIpOwogICAgYmIucGxhaW4oIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqIik7Cn0KCgpweXRob24gZG9fY2hlY2t1cmkgKCkgewogICAgc3JjX3Vy
aSA9IChkLmdldFZhcignU1JDX1VSSScpIG9yICIiKS5zcGxpdCgpCiAgICBpZiBsZW4oc3JjX3Vy
aSkgPT0gMDoKICAgICAgICByZXR1cm4KCiAgICB0cnk6CiAgICAgICAgZmV0Y2hlciA9IGJiLmZl
dGNoMi5GZXRjaChzcmNfdXJpLCBkKQogICAgICAgIGZldGNoZXIuY2hlY2tzdGF0dXMoKQogICAg
ZXhjZXB0IGJiLmZldGNoMi5CQkZldGNoRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgYmIuZmF0YWwo
c3RyKGUpKQp9CgoKcHl0aG9uIGRvX2NsZWFuICgpIHsKICAgICIiImNsZWFyIHRoZSBidWlsZCBh
bmQgdGVtcCBkaXJlY3RvcmllcyIiIgogICAgZGlyID0gZC5leHBhbmQoIiR7V09SS0RJUn0iKQog
ICAgYmIubm90ZSgiUmVtb3ZpbmcgIiArIGRpcikKICAgIG9lLnBhdGgucmVtb3ZlKGRpcikKCiAg
ICBkaXIgPSAiJXMuKiIgJSBkLmdldFZhcignU1RBTVAnKQogICAgYmIubm90ZSgiUmVtb3Zpbmcg
IiArIGRpcikKICAgIG9lLnBhdGgucmVtb3ZlKGRpcikKCiAgICBmb3IgZiBpbiAoZC5nZXRWYXIo
J0NMRUFORlVOQ1MnKSBvciAnJykuc3BsaXQoKToKICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMo
ZiwgZCkKfQoKCnB5dGhvbiBkb19jbGVhbmFsbCAoKSB7CiAgICBzcmNfdXJpID0gKGQuZ2V0VmFy
KCdTUkNfVVJJJykgb3IgIiIpLnNwbGl0KCkKICAgIGlmIGxlbihzcmNfdXJpKSA9PSAwOgogICAg
ICAgIHJldHVybgoKICAgIHRyeToKICAgICAgICBmZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNoKHNy
Y191cmksIGQpCiAgICAgICAgZmV0Y2hlci5jbGVhbigpCiAgICBleGNlcHQgYmIuZmV0Y2gyLkJC
RmV0Y2hFeGNlcHRpb24gYXMgZToKICAgICAgICBiYi5mYXRhbChzdHIoZSkpCn0KCgpweXRob24g
ZG9fY2xlYW5zc3RhdGUgKCkgewogICAgICAgIHNzdGF0ZV9jbGVhbl9jYWNoZWZpbGVzKGQpCn0K
CgpweXRob24gZG9fZGV2cHlzaGVsbCAoKSB7CiAgICBpbXBvcnQgc2lnbmFsCgogICAgdHJ5Ogog
ICAgICAgIGRldnB5c2hlbGwoZCkKICAgIGV4Y2VwdCBTeXN0ZW1FeGl0OgogICAgICAgICMgU3Rv
cCB0aGUgU0lHVEVSTSBhYm92ZSBjYXVzaW5nIGFuIGVycm9yIGV4aXQgY29kZQogICAgICAgIHJl
dHVybgogICAgZmluYWxseToKICAgICAgICByZXR1cm4KfQoKCnB5dGhvbiBkb19kZXZzaGVsbCAo
KSB7CiAgICBpZiBkLmdldFZhckZsYWcoImRvX2RldnNoZWxsIiwgIm1hbnVhbGZha2Vyb290Iik6
CiAgICAgICBkLnByZXBlbmRWYXIoIkRFVlNIRUxMIiwgInBzZXVkbyAiKQogICAgICAgZmFrZWVu
diA9IGQuZ2V0VmFyKCJGQUtFUk9PVEVOViIpLnNwbGl0KCkKICAgICAgIGZvciBmIGluIGZha2Vl
bnY6CiAgICAgICAgICAgIGsgPSBmLnNwbGl0KCI9IikKICAgICAgICAgICAgZC5zZXRWYXIoa1sw
XSwga1sxXSkKICAgICAgICAgICAgZC5hcHBlbmRWYXIoIk9FX1RFUk1JTkFMX0VYUE9SVFMiLCAi
ICIgKyBrWzBdKQogICAgICAgZC5kZWxWYXJGbGFnKCJkb19kZXZzaGVsbCIsICJmYWtlcm9vdCIp
CgogICAgb2VfdGVybWluYWwoZC5nZXRWYXIoJ0RFVlNIRUxMJyksICdPcGVuRW1iZWRkZWQgRGV2
ZWxvcGVyIFNoZWxsJywgZCkKfQoKCnB5dGhvbiBkb19mZXRjaCAoKSB7CiAgICBiYi5idWlsZC5l
eGVjX2Z1bmMoJ2Jhc2VfZG9fZmV0Y2gnLCBkKQp9CgoKcHl0aG9uIGRvX2xpc3R0YXNrcyAoKSB7
CiAgICB0YXNrZGVzY3MgPSB7fQogICAgbWF4bGVuID0gMAogICAgZm9yIGUgaW4gZC5rZXlzKCk6
CiAgICAgICAgaWYgZC5nZXRWYXJGbGFnKGUsICd0YXNrJyk6CiAgICAgICAgICAgIG1heGxlbiA9
IG1heChtYXhsZW4sIGxlbihlKSkKICAgICAgICAgICAgaWYgZS5lbmRzd2l0aCgnX3NldHNjZW5l
Jyk6CiAgICAgICAgICAgICAgICBkZXNjID0gIiVzIChzZXRzY2VuZSB2ZXJzaW9uKSIgJSAoZC5n
ZXRWYXJGbGFnKGVbOi05XSwgJ2RvYycpIG9yICcnKQogICAgICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgICAgZGVzYyA9IGQuZ2V0VmFyRmxhZyhlLCAnZG9jJykgb3IgJycKICAgICAgICAgICAg
dGFza2Rlc2NzW2VdID0gZGVzYwoKICAgIHRhc2tzID0gc29ydGVkKHRhc2tkZXNjcy5rZXlzKCkp
CiAgICBmb3IgdGFza25hbWUgaW4gdGFza3M6CiAgICAgICAgYmIucGxhaW4oIiVzICAlcyIgJSAo
dGFza25hbWUubGp1c3QobWF4bGVuKSwgdGFza2Rlc2NzW3Rhc2tuYW1lXSkpCn0KCgpweXRob24g
ZG9fcGFja2FnZSAoKSB7CiAgICAjIENoYW5nZSB0aGUgZm9sbG93aW5nIHZlcnNpb24gdG8gY2F1
c2Ugc3N0YXRlIHRvIGludmFsaWRhdGUgdGhlIHBhY2thZ2UKICAgICMgY2FjaGUuICBUaGlzIGlz
IHVzZWZ1bCBpZiBhbiBpdGVtIHRoaXMgY2xhc3MgZGVwZW5kcyBvbiBjaGFuZ2VzIGluIGEKICAg
ICMgd2F5IHRoYXQgdGhlIG91dHB1dCBvZiB0aGlzIGNsYXNzIGNoYW5nZXMuICBycG1kZXBzIGlz
IGEgZ29vZCBleGFtcGxlCiAgICAjIGFzIGFueSBjaGFuZ2UgdG8gcnBtZGVwcyByZXF1aXJlcyB0
aGlzIHRvIGJlIHJlcnVuLgogICAgIyBQQUNLQUdFX0JCQ0xBU1NfVkVSU0lPTiA9ICIyIgoKICAg
ICMgSW5pdCBjYWNoZWRwYXRoCiAgICBnbG9iYWwgY3BhdGgKICAgIGNwYXRoID0gb2UuY2FjaGVk
cGF0aC5DYWNoZWRQYXRoKCkKCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICMgU2FuaXR5IHRl
c3QgdGhlIHNldHVwCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiAgICBwYWNrYWdlcyA9IChkLmdl
dFZhcignUEFDS0FHRVMnKSBvciAiIikuc3BsaXQoKQogICAgaWYgbGVuKHBhY2thZ2VzKSA8IDE6
CiAgICAgICAgYmIuZGVidWcoMSwgIk5vIHBhY2thZ2VzIHRvIGJ1aWxkLCBza2lwcGluZyBkb19w
YWNrYWdlIikKICAgICAgICByZXR1cm4KCiAgICB3b3JrZGlyID0gZC5nZXRWYXIoJ1dPUktESVIn
KQogICAgb3V0ZGlyID0gZC5nZXRWYXIoJ0RFUExPWV9ESVInKQogICAgZGVzdCA9IGQuZ2V0VmFy
KCdEJykKICAgIGR2YXIgPSBkLmdldFZhcignUEtHRCcpCiAgICBwbiA9IGQuZ2V0VmFyKCdQTicp
CgogICAgaWYgbm90IHdvcmtkaXIgb3Igbm90IG91dGRpciBvciBub3QgZGVzdCBvciBub3QgZHZh
ciBvciBub3QgcG46CiAgICAgICAgbXNnID0gIldPUktESVIsIERFUExPWV9ESVIsIEQsIFBOIGFu
ZCBQS0dEIGFsbCBtdXN0IGJlIGRlZmluZWQsIHVuYWJsZSB0byBwYWNrYWdlIgogICAgICAgIHBh
Y2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJ2YXItdW5kZWZpbmVkIiwgbXNnLCBkKQogICAgICAgIHJl
dHVybgoKICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygicGFja2FnZV9nZXRfYXV0b19wciIsIGQpCgog
ICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAjIE9wdGltaXNhdGlvbnMKICAgICMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwoKICAgICMgQ29udGludWFsbHkgZXhwYW5kaW5nIGNvbXBsZXggZXhwcmVzc2lvbnMg
aXMgaW5lZmZpY2llbnQsIHBhcnRpY3VsYXJseQogICAgIyB3aGVuIHdlIHdyaXRlIHRvIHRoZSBk
YXRhc3RvcmUgYW5kIGludmFsaWRhdGUgdGhlIGV4cGFuc2lvbiBjYWNoZS4gVGhpcwogICAgIyBj
b2RlIHByZS1leHBhbmRzIHNvbWUgZnJlcXVlbnRseSB1c2VkIHZhcmlhYmxlcwoKICAgIGRlZiBl
eHBhbmRWYXIoeCwgZCk6CiAgICAgICAgZC5zZXRWYXIoeCwgZC5nZXRWYXIoeCkpCgogICAgZm9y
IHggaW4gJ1BOJywgJ1BWJywgJ0JQTicsICdUQVJHRVRfU1lTJywgJ0VYVEVORFBSQVVUTyc6CiAg
ICAgICAgZXhwYW5kVmFyKHgsIGQpCgogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAjIFNldHVw
IFBLR0QgKGZyb20gRCkKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKICAgIGZvciBmIGluIChkLmdl
dFZhcignUEFDS0FHRUJVSUxEUEtHRCcpIG9yICcnKS5zcGxpdCgpOgogICAgICAgIGJiLmJ1aWxk
LmV4ZWNfZnVuYyhmLCBkKQoKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgIyBTcGxpdCB1cCBQ
S0dEIGludG8gUEtHREVTVAogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgogICAgY3BhdGggPSBvZS5j
YWNoZWRwYXRoLkNhY2hlZFBhdGgoKQoKICAgIGZvciBmIGluIChkLmdldFZhcignUEFDS0FHRVNQ
TElURlVOQ1MnKSBvciAnJykuc3BsaXQoKToKICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoZiwg
ZCkKCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICMgUHJvY2VzcyBQS0dERVNUCiAgICAjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKCiAgICAjIEJ1aWxkIGdsb2JhbCBsaXN0IG9mIGZpbGVzIGluIGVhY2gg
c3BsaXQgcGFja2FnZQogICAgZ2xvYmFsIHBrZ2ZpbGVzCiAgICBwa2dmaWxlcyA9IHt9CiAgICBw
YWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCkKICAgIHBrZ2Rlc3QgPSBkLmdl
dFZhcignUEtHREVTVCcpCiAgICBmb3IgcGtnIGluIHBhY2thZ2VzOgogICAgICAgIHBrZ2ZpbGVz
W3BrZ10gPSBbXQogICAgICAgIGZvciB3YWxrcm9vdCwgZGlycywgZmlsZXMgaW4gY3BhdGgud2Fs
ayhwa2dkZXN0ICsgIi8iICsgcGtnKToKICAgICAgICAgICAgZm9yIGZpbGUgaW4gZmlsZXM6CiAg
ICAgICAgICAgICAgICBwa2dmaWxlc1twa2ddLmFwcGVuZCh3YWxrcm9vdCArIG9zLnNlcCArIGZp
bGUpCgogICAgZm9yIGYgaW4gKGQuZ2V0VmFyKCdQQUNLQUdFRlVOQ1MnKSBvciAnJykuc3BsaXQo
KToKICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoZiwgZCkKCiAgICBxYV9zYW5lID0gZC5nZXRW
YXIoIlFBX1NBTkUiKQogICAgaWYgbm90IHFhX3NhbmU6CiAgICAgICAgYmIuZmF0YWwoIkZhdGFs
IFFBIGVycm9ycyBmb3VuZCwgZmFpbGluZyB0YXNrLiIpCn0KCgpweXRob24gZG9fcGFja2FnZV9x
YSAoKSB7CiAgICBpbXBvcnQgc3VicHJvY2VzcwogICAgaW1wb3J0IG9lLnBhY2thZ2VkYXRhCgog
ICAgYmIubm90ZSgiRE8gUEFDS0FHRSBRQSIpCgogICAgYmIuYnVpbGQuZXhlY19mdW5jKCJyZWFk
X3N1YnBhY2thZ2VfbWV0YWRhdGEiLCBkKQoKICAgICMgQ2hlY2sgbm9uIFVURi04IGNoYXJhY3Rl
cnMgb24gcmVjaXBlJ3MgbWV0YWRhdGEKICAgIHBhY2thZ2VfcWFfY2hlY2tfZW5jb2RpbmcoWydE
RVNDUklQVElPTicsICdTVU1NQVJZJywgJ0xJQ0VOU0UnLCAnU0VDVElPTiddLCAndXRmLTgnLCBk
KQoKICAgIGxvZ2RpciA9IGQuZ2V0VmFyKCdUJykKICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKCiAg
ICAjIENoZWNrIHRoZSBjb21waWxlIGxvZyBmb3IgaG9zdCBjb250YW1pbmF0aW9uCiAgICBjb21w
aWxlbG9nID0gb3MucGF0aC5qb2luKGxvZ2RpciwibG9nLmRvX2NvbXBpbGUiKQoKICAgIGlmIG9z
LnBhdGguZXhpc3RzKGNvbXBpbGVsb2cpOgogICAgICAgIHN0YXRlbWVudCA9ICJncmVwIC1lICdD
Uk9TUyBDT01QSUxFIEJhZG5lc3M6JyAtZSAnaXMgdW5zYWZlIGZvciBjcm9zcy1jb21waWxhdGlv
bicgJXMgPiAvZGV2L251bGwiICUgY29tcGlsZWxvZwogICAgICAgIGlmIHN1YnByb2Nlc3MuY2Fs
bChzdGF0ZW1lbnQsIHNoZWxsPVRydWUpID09IDA6CiAgICAgICAgICAgIG1zZyA9ICIlczogVGhl
IGNvbXBpbGUgbG9nIGluZGljYXRlcyB0aGF0IGhvc3QgaW5jbHVkZSBhbmQvb3IgbGlicmFyeSBw
YXRocyB3ZXJlIHVzZWQuXG4gXAogICAgICAgIFBsZWFzZSBjaGVjayB0aGUgbG9nICclcycgZm9y
IG1vcmUgaW5mb3JtYXRpb24uIiAlIChwbiwgY29tcGlsZWxvZykKICAgICAgICAgICAgcGFja2Fn
ZV9xYV9oYW5kbGVfZXJyb3IoImNvbXBpbGUtaG9zdC1wYXRoIiwgbXNnLCBkKQoKICAgICMgQ2hl
Y2sgdGhlIGluc3RhbGwgbG9nIGZvciBob3N0IGNvbnRhbWluYXRpb24KICAgIGluc3RhbGxsb2cg
PSBvcy5wYXRoLmpvaW4obG9nZGlyLCJsb2cuZG9faW5zdGFsbCIpCgogICAgaWYgb3MucGF0aC5l
eGlzdHMoaW5zdGFsbGxvZyk6CiAgICAgICAgc3RhdGVtZW50ID0gImdyZXAgLWUgJ0NST1NTIENP
TVBJTEUgQmFkbmVzczonIC1lICdpcyB1bnNhZmUgZm9yIGNyb3NzLWNvbXBpbGF0aW9uJyAlcyA+
IC9kZXYvbnVsbCIgJSBpbnN0YWxsbG9nCiAgICAgICAgaWYgc3VicHJvY2Vzcy5jYWxsKHN0YXRl
bWVudCwgc2hlbGw9VHJ1ZSkgPT0gMDoKICAgICAgICAgICAgbXNnID0gIiVzOiBUaGUgaW5zdGFs
bCBsb2cgaW5kaWNhdGVzIHRoYXQgaG9zdCBpbmNsdWRlIGFuZC9vciBsaWJyYXJ5IHBhdGhzIHdl
cmUgdXNlZC5cbiBcCiAgICAgICAgUGxlYXNlIGNoZWNrIHRoZSBsb2cgJyVzJyBmb3IgbW9yZSBp
bmZvcm1hdGlvbi4iICUgKHBuLCBpbnN0YWxsbG9nKQogICAgICAgICAgICBwYWNrYWdlX3FhX2hh
bmRsZV9lcnJvcigiaW5zdGFsbC1ob3N0LXBhdGgiLCBtc2csIGQpCgogICAgIyBTY2FuIHRoZSBw
YWNrYWdlcy4uLgogICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJykKICAgIHBhY2thZ2Vz
ID0gc2V0KChkLmdldFZhcignUEFDS0FHRVMnKSBvciAnJykuc3BsaXQoKSkKCiAgICBjcGF0aCA9
IG9lLmNhY2hlZHBhdGguQ2FjaGVkUGF0aCgpCiAgICBnbG9iYWwgcGtnZmlsZXMKICAgIHBrZ2Zp
bGVzID0ge30KICAgIGZvciBwa2cgaW4gcGFja2FnZXM6CiAgICAgICAgcGtnZmlsZXNbcGtnXSA9
IFtdCiAgICAgICAgZm9yIHdhbGtyb290LCBkaXJzLCBmaWxlcyBpbiBjcGF0aC53YWxrKHBrZ2Rl
c3QgKyAiLyIgKyBwa2cpOgogICAgICAgICAgICBmb3IgZmlsZSBpbiBmaWxlczoKICAgICAgICAg
ICAgICAgIHBrZ2ZpbGVzW3BrZ10uYXBwZW5kKHdhbGtyb290ICsgb3Muc2VwICsgZmlsZSkKCiAg
ICAjIG5vIHBhY2thZ2VzIHNob3VsZCBiZSBzY2FubmVkCiAgICBpZiBub3QgcGFja2FnZXM6CiAg
ICAgICAgcmV0dXJuCgogICAgaW1wb3J0IHJlCiAgICAjIFRoZSBwYWNrYWdlIG5hbWUgbWF0Y2hl
cyB0aGUgW2EtejAtOS4rLV0rIHJlZ3VsYXIgZXhwcmVzc2lvbgogICAgcGtnbmFtZV9wYXR0ZXJu
ID0gcmUuY29tcGlsZShyIl5bYS16MC05ListXSskIikKCiAgICB0YXNrZGVwZGF0YSA9IGQuZ2V0
VmFyKCJCQl9UQVNLREVQREFUQSIsIEZhbHNlKQogICAgdGFza2RlcHMgPSBzZXQoKQogICAgZm9y
IGRlcCBpbiB0YXNrZGVwZGF0YToKICAgICAgICB0YXNrZGVwcy5hZGQodGFza2RlcGRhdGFbZGVw
XVswXSkKCiAgICBkZWYgcGFyc2VfdGVzdF9tYXRyaXgobWF0cml4X25hbWUpOgogICAgICAgIHRl
c3RtYXRyaXggPSBkLmdldFZhckZsYWdzKG1hdHJpeF9uYW1lKSBvciB7fQogICAgICAgIGcgPSBn
bG9iYWxzKCkKICAgICAgICB3YXJuY2hlY2tzID0gW10KICAgICAgICBmb3IgdyBpbiAoZC5nZXRW
YXIoIldBUk5fUUEiKSBvciAiIikuc3BsaXQoKToKICAgICAgICAgICAgaWYgdyBpbiBza2lwOgog
ICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICBpZiB3IGluIHRlc3RtYXRyaXggYW5k
IHRlc3RtYXRyaXhbd10gaW4gZzoKICAgICAgICAgICAgICAgIHdhcm5jaGVja3MuYXBwZW5kKGdb
dGVzdG1hdHJpeFt3XV0pCgogICAgICAgIGVycm9yY2hlY2tzID0gW10KICAgICAgICBmb3IgZSBp
biAoZC5nZXRWYXIoIkVSUk9SX1FBIikgb3IgIiIpLnNwbGl0KCk6CiAgICAgICAgICAgIGlmIGUg
aW4gc2tpcDoKICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgaWYgZSBpbiB0ZXN0
bWF0cml4IGFuZCB0ZXN0bWF0cml4W2VdIGluIGc6CiAgICAgICAgICAgICAgICBlcnJvcmNoZWNr
cy5hcHBlbmQoZ1t0ZXN0bWF0cml4W2VdXSkKICAgICAgICByZXR1cm4gd2FybmNoZWNrcywgZXJy
b3JjaGVja3MKCiAgICBmb3IgcGFja2FnZSBpbiBwYWNrYWdlczoKICAgICAgICBza2lwID0gc2V0
KChkLmdldFZhcignSU5TQU5FX1NLSVAnKSBvciAiIikuc3BsaXQoKSArCiAgICAgICAgICAgICAg
ICAgICAoZC5nZXRWYXIoJ0lOU0FORV9TS0lQXycgKyBwYWNrYWdlKSBvciAiIikuc3BsaXQoKSkK
ICAgICAgICBpZiBza2lwOgogICAgICAgICAgICBiYi5ub3RlKCJQYWNrYWdlICVzIHNraXBwaW5n
IFFBIHRlc3RzOiAlcyIgJSAocGFja2FnZSwgc3RyKHNraXApKSkKCiAgICAgICAgYmIubm90ZSgi
Q2hlY2tpbmcgUGFja2FnZTogJXMiICUgcGFja2FnZSkKICAgICAgICAjIENoZWNrIHBhY2thZ2Ug
bmFtZQogICAgICAgIGlmIG5vdCBwa2duYW1lX3BhdHRlcm4ubWF0Y2gocGFja2FnZSk6CiAgICAg
ICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJwa2duYW1lIiwKICAgICAgICAgICAgICAg
ICAgICAiJXMgZG9lc24ndCBtYXRjaCB0aGUgW2EtejAtOS4rLV0rIHJlZ2V4IiAlIHBhY2thZ2Us
IGQpCgogICAgICAgIHdhcm5fY2hlY2tzLCBlcnJvcl9jaGVja3MgPSBwYXJzZV90ZXN0X21hdHJp
eCgiUUFQQVRIVEVTVCIpCiAgICAgICAgcGFja2FnZV9xYV93YWxrKHdhcm5fY2hlY2tzLCBlcnJv
cl9jaGVja3MsIHBhY2thZ2UsIGQpCgogICAgICAgIHdhcm5fY2hlY2tzLCBlcnJvcl9jaGVja3Mg
PSBwYXJzZV90ZXN0X21hdHJpeCgiUUFQS0dURVNUIikKICAgICAgICBwYWNrYWdlX3FhX3BhY2th
Z2Uod2Fybl9jaGVja3MsIGVycm9yX2NoZWNrcywgcGFja2FnZSwgZCkKCiAgICAgICAgcGFja2Fn
ZV9xYV9jaGVja19yZGVwZW5kcyhwYWNrYWdlLCBwa2dkZXN0LCBza2lwLCB0YXNrZGVwcywgcGFj
a2FnZXMsIGQpCiAgICAgICAgcGFja2FnZV9xYV9jaGVja19kZXBzKHBhY2thZ2UsIHBrZ2Rlc3Qs
IGQpCgogICAgd2Fybl9jaGVja3MsIGVycm9yX2NoZWNrcyA9IHBhcnNlX3Rlc3RfbWF0cml4KCJR
QVJFQ0lQRVRFU1QiKQogICAgcGFja2FnZV9xYV9yZWNpcGUod2Fybl9jaGVja3MsIGVycm9yX2No
ZWNrcywgcG4sIGQpCgogICAgaWYgJ2xpYmRpcicgaW4gZC5nZXRWYXIoIkFMTF9RQSIpLnNwbGl0
KCk6CiAgICAgICAgcGFja2FnZV9xYV9jaGVja19saWJkaXIoZCkKCiAgICBxYV9zYW5lID0gZC5n
ZXRWYXIoIlFBX1NBTkUiKQogICAgaWYgbm90IHFhX3NhbmU6CiAgICAgICAgYmIuZmF0YWwoIlFB
IHJ1biBmb3VuZCBmYXRhbCBlcnJvcnMuIFBsZWFzZSBjb25zaWRlciBmaXhpbmcgdGhlbS4iKQog
ICAgYmIubm90ZSgiRE9ORSB3aXRoIFBBQ0tBR0UgUUEiKQp9CgoKcHl0aG9uIGRvX3BhY2thZ2Vf
cWFfc2V0c2NlbmUgKCkgewogICAgc3N0YXRlX3NldHNjZW5lKGQpCn0KCgpweXRob24gZG9fcGFj
a2FnZV9ycG0gKCkgewogICAgd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJykKICAgIHRtcGRp
ciA9IGQuZ2V0VmFyKCdUTVBESVInKQogICAgcGtnZCA9IGQuZ2V0VmFyKCdQS0dEJykKICAgIHBr
Z2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcpCiAgICBpZiBub3Qgd29ya2RpciBvciBub3QgcGtn
ZCBvciBub3QgdG1wZGlyOgogICAgICAgIGJiLmVycm9yKCJWYXJpYWJsZXMgaW5jb3JyZWN0bHkg
c2V0LCB1bmFibGUgdG8gcGFja2FnZSIpCiAgICAgICAgcmV0dXJuCgogICAgcGFja2FnZXMgPSBk
LmdldFZhcignUEFDS0FHRVMnKQogICAgaWYgbm90IHBhY2thZ2VzIG9yIHBhY2thZ2VzID09ICcn
OgogICAgICAgIGJiLmRlYnVnKDEsICJObyBwYWNrYWdlczsgbm90aGluZyB0byBkbyIpCiAgICAg
ICAgcmV0dXJuCgogICAgIyBDb25zdHJ1Y3QgdGhlIHNwZWMgZmlsZS4uLgogICAgIyBJZiB0aGUg
c3BlYyBmaWxlIGFscmVhZHkgZXhpc3QsIGFuZCBoYXMgbm90IGJlZW4gc3RvcmVkIGludG8KICAg
ICMgcHNldWRvJ3MgZmlsZXMuZGIsIGl0IG1heWJlIGNhdXNlIHJwbWJ1aWxkIHNyYy5ycG0gZmFp
bCwKICAgICMgc28gcmVtb3ZlIGl0IGJlZm9yZSBkb2luZyBycG1idWlsZCBzcmMucnBtLgogICAg
c3JjbmFtZSAgICA9IGQuZ2V0VmFyKCdQTicpCiAgICBvdXRzcGVjZmlsZSA9IHdvcmtkaXIgKyAi
LyIgKyBzcmNuYW1lICsgIi5zcGVjIgogICAgaWYgb3MucGF0aC5pc2ZpbGUob3V0c3BlY2ZpbGUp
OgogICAgICAgIG9zLnJlbW92ZShvdXRzcGVjZmlsZSkKICAgIGQuc2V0VmFyKCdPVVRTUEVDRklM
RScsIG91dHNwZWNmaWxlKQogICAgYmIuYnVpbGQuZXhlY19mdW5jKCd3cml0ZV9zcGVjZmlsZScs
IGQpCgogICAgcGVyZmlsZWRlcHMgPSAoZC5nZXRWYXIoIk1FUkdFUEVSRklMRURFUFMiKSBvciAi
MCIpID09ICIwIgogICAgaWYgcGVyZmlsZWRlcHM6CiAgICAgICAgb3V0ZGVwZW5kcywgb3V0cHJv
dmlkZXMgPSB3cml0ZV9ycG1fcGVyZmlsZWRhdGEoc3JjbmFtZSwgZCkKCiAgICAjIFNldHVwIHRo
ZSBycG1idWlsZCBhcmd1bWVudHMuLi4KICAgIHJwbWJ1aWxkID0gZC5nZXRWYXIoJ1JQTUJVSUxE
JykKICAgIHRhcmdldHN5cyA9IGQuZ2V0VmFyKCdUQVJHRVRfU1lTJykKICAgIHRhcmdldHZlbmRv
ciA9IGQuZ2V0VmFyKCdIT1NUX1ZFTkRPUicpCgogICAgIyBUb28gbWFueSBwbGFjZXMgaW4gZG5m
IHN0YWNrIGFzc3VtZSB0aGF0IGFyY2gtaW5kZXBlbmRlbnQgcGFja2FnZXMgYXJlICJub2FyY2gi
LgogICAgIyBMZXQncyBub3QgZmlnaHQgYWdhaW5zdCB0aGlzLgogICAgcGFja2FnZV9hcmNoID0g
KGQuZ2V0VmFyKCdQQUNLQUdFX0FSQ0gnKSBvciAiIikucmVwbGFjZSgiLSIsICJfIikKICAgIGlm
IHBhY2thZ2VfYXJjaCA9PSAiYWxsIjoKICAgICAgICBwYWNrYWdlX2FyY2ggPSAibm9hcmNoIgoK
ICAgIHNka3BrZ3N1ZmZpeCA9IChkLmdldFZhcignU0RLUEtHU1VGRklYJykgb3IgIm5hdGl2ZXNk
ayIpLnJlcGxhY2UoIi0iLCAiXyIpCiAgICBkLnNldFZhcignUEFDS0FHRV9BUkNIX0VYVEVORCcs
IHBhY2thZ2VfYXJjaCkKICAgIHBrZ3dyaXRlZGlyID0gZC5leHBhbmQoJyR7UEtHV1JJVEVESVJS
UE19LyR7UEFDS0FHRV9BUkNIX0VYVEVORH0nKQogICAgZC5zZXRWYXIoJ1JQTV9QS0dXUklURURJ
UicsIHBrZ3dyaXRlZGlyKQogICAgYmIuZGVidWcoMSwgJ1BLR1dSSVRFRElSOiAlcycgJSBkLmdl
dFZhcignUlBNX1BLR1dSSVRFRElSJykpCiAgICBwa2dhcmNoID0gZC5leHBhbmQoJyR7UEFDS0FH
RV9BUkNIX0VYVEVORH0ke0hPU1RfVkVORE9SfS1saW51eCcpCiAgICBiYi51dGlscy5ta2Rpcmhp
ZXIocGtnd3JpdGVkaXIpCiAgICBvcy5jaG1vZChwa2d3cml0ZWRpciwgMG83NTUpCgogICAgY21k
ID0gcnBtYnVpbGQKICAgIGNtZCA9IGNtZCArICIgLS1ub2NsZWFuIC0tbm9kZXBzIC0tc2hvcnQt
Y2lyY3VpdCAtLXRhcmdldCAiICsgcGtnYXJjaCArICIgLS1idWlsZHJvb3QgIiArIHBrZ2QKICAg
IGNtZCA9IGNtZCArICIgLS1kZWZpbmUgJ190b3BkaXIgIiArIHdvcmtkaXIgKyAiJyAtLWRlZmlu
ZSAnX3JwbWRpciAiICsgcGtnd3JpdGVkaXIgKyAiJyIKICAgIGNtZCA9IGNtZCArICIgLS1kZWZp
bmUgJ19idWlsZGRpciAiICsgZC5nZXRWYXIoJ0InKSArICInIgogICAgY21kID0gY21kICsgIiAt
LWRlZmluZSAnX2J1aWxkX25hbWVfZm10ICUle05BTUV9LSUle1ZFUlNJT059LSUle1JFTEVBU0V9
LiUle0FSQ0h9LnJwbSciCiAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdfdXNlX2ludGVybmFs
X2RlcGVuZGVuY3lfZ2VuZXJhdG9yIDAnIgogICAgY21kID0gY21kICsgIiAtLWRlZmluZSAnX2Jp
bmFyaWVzX2luX25vYXJjaF9wYWNrYWdlc190ZXJtaW5hdGVfYnVpbGQgMCciCiAgICBjbWQgPSBj
bWQgKyAiIC0tZGVmaW5lICdfYnVpbGRfaWRfbGlua3Mgbm9uZSciCiAgICBjbWQgPSBjbWQgKyAi
IC0tZGVmaW5lICdfYmluYXJ5X3BheWxvYWQgdzZULnh6ZGlvJyIKICAgIGNtZCA9IGNtZCArICIg
LS1kZWZpbmUgJ19zb3VyY2VfcGF5bG9hZCB3NlQueHpkaW8nIgogICAgY21kID0gY21kICsgIiAt
LWRlZmluZSAnY2xhbXBfbXRpbWVfdG9fc291cmNlX2RhdGVfZXBvY2ggMSciCiAgICBjbWQgPSBj
bWQgKyAiIC0tZGVmaW5lICdfYnVpbGRob3N0IHJlcHJvZHVjaWJsZSciCiAgICBpZiBwZXJmaWxl
ZGVwczoKICAgICAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdfX2ZpbmRfcmVxdWlyZXMgIiAr
IG91dGRlcGVuZHMgKyAiJyIKICAgICAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdfX2ZpbmRf
cHJvdmlkZXMgIiArIG91dHByb3ZpZGVzICsgIiciCiAgICBlbHNlOgogICAgICAgIGNtZCA9IGNt
ZCArICIgLS1kZWZpbmUgJ19fZmluZF9yZXF1aXJlcyAle25pbH0nIgogICAgICAgIGNtZCA9IGNt
ZCArICIgLS1kZWZpbmUgJ19fZmluZF9wcm92aWRlcyAle25pbH0nIgogICAgY21kID0gY21kICsg
IiAtLWRlZmluZSAnX3VucGFja2FnZWRfZmlsZXNfdGVybWluYXRlX2J1aWxkIDAnIgogICAgY21k
ID0gY21kICsgIiAtLWRlZmluZSAnZGVidWdfcGFja2FnZSAle25pbH0nIgogICAgY21kID0gY21k
ICsgIiAtLWRlZmluZSAnX3RtcHBhdGggIiArIHdvcmtkaXIgKyAiJyIKICAgIGlmIGQuZ2V0VmFy
RmxhZygnQVJDSElWRVJfTU9ERScsICdzcnBtJykgPT0gJzEnIGFuZCBiYi5kYXRhLmluaGVyaXRz
X2NsYXNzKCdhcmNoaXZlcicsIGQpOgogICAgICAgIGNtZCA9IGNtZCArICIgLS1kZWZpbmUgJ19z
b3VyY2VkaXIgIiArIGQuZ2V0VmFyKCdBUkNISVZFUl9PVVRESVInKSArICInIgogICAgICAgIGNt
ZHNycG0gPSBjbWQgKyAiIC0tZGVmaW5lICdfc3JjcnBtZGlyICIgKyBkLmdldFZhcignQVJDSElW
RVJfUlBNT1VURElSJykgKyAiJyIKICAgICAgICBjbWRzcnBtID0gY21kc3JwbSArICIgLWJzICIg
KyBvdXRzcGVjZmlsZQogICAgICAgICMgQnVpbGQgdGhlIC5zcmMucnBtCiAgICAgICAgZC5zZXRW
YXIoJ1NCVUlMRFNQRUMnLCBjbWRzcnBtICsgIlxuIikKICAgICAgICBkLnNldFZhckZsYWcoJ1NC
VUlMRFNQRUMnLCAnZnVuYycsICcxJykKICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ1NCVUlM
RFNQRUMnLCBkKQogICAgY21kID0gY21kICsgIiAtYmIgIiArIG91dHNwZWNmaWxlCgogICAgIyBy
cG0gNCBjcmVhdGVzIHZhcmlvdXMgZW1wdHkgZGlyZWN0b3JpZXMgaW4gX3RvcGRpciwgbGV0J3Mg
Y2xlYW4gdGhlbSB1cAogICAgY2xlYW51cGNtZCA9ICJybSAtcmYgJXMvQlVJTERST09UICVzL1NP
VVJDRVMgJXMvU1BFQ1MgJXMvU1JQTVMiICUgKHdvcmtkaXIsIHdvcmtkaXIsIHdvcmtkaXIsIHdv
cmtkaXIpCgogICAgIyBCdWlsZCB0aGUgcnBtIHBhY2thZ2UhCiAgICBkLnNldFZhcignQlVJTERT
UEVDJywgY21kICsgIlxuIiArIGNsZWFudXBjbWQgKyAiXG4iKQogICAgZC5zZXRWYXJGbGFnKCdC
VUlMRFNQRUMnLCAnZnVuYycsICcxJykKICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnQlVJTERTUEVD
JywgZCkKCiAgICBpZiBkLmdldFZhcignUlBNX1NJR05fUEFDS0FHRVMnKSA9PSAnMSc6CiAgICAg
ICAgYmIuYnVpbGQuZXhlY19mdW5jKCJzaWduX3JwbSIsIGQpCn0KCgpweXRob24gZG9fcGFja2Fn
ZV9zZXRzY2VuZSAoKSB7CiAgICBzc3RhdGVfc2V0c2NlbmUoZCkKfQoKCnB5dGhvbiBkb19wYWNr
YWdlX3dyaXRlX3JwbSAoKSB7CiAgICBiYi5idWlsZC5leGVjX2Z1bmMoInJlYWRfc3VicGFja2Fn
ZV9tZXRhZGF0YSIsIGQpCiAgICBiYi5idWlsZC5leGVjX2Z1bmMoImRvX3BhY2thZ2VfcnBtIiwg
ZCkKfQoKCnB5dGhvbiBkb19wYWNrYWdlX3dyaXRlX3JwbV9zZXRzY2VuZSAoKSB7CiAgICBzc3Rh
dGVfc2V0c2NlbmUoZCkKfQoKCnB5dGhvbiBkb19wYWNrYWdlZGF0YSAoKSB7CiAgICBzcmMgPSBk
LmV4cGFuZCgiJHtQS0dERVNUV09SS30iKQogICAgZGVzdCA9IGQuZXhwYW5kKCIke1dPUktESVJ9
L3BrZ2RhdGEtcGRhdGEtaW5wdXQiKQogICAgb2UucGF0aC5jb3B5aGFyZGxpbmt0cmVlKHNyYywg
ZGVzdCkKfQoKCnB5dGhvbiBkb19wYWNrYWdlZGF0YV9zZXRzY2VuZSAoKSB7CiAgICBzc3RhdGVf
c2V0c2NlbmUoZCkKfQoKCnB5dGhvbiBkb19wYXRjaCAoKSB7CiAgICBiYi5idWlsZC5leGVjX2Z1
bmMoJ3BhdGNoX2RvX3BhdGNoJywgZCkKfQoKCnB5dGhvbiBkb19wb3B1bGF0ZV9saWMgKCkgewog
ICAgIiIiCiAgICBQb3B1bGF0ZSBMSUNFTlNFX0RJUkVDVE9SWSB3aXRoIGxpY2Vuc2VzLgogICAg
IiIiCiAgICBsaWNfZmlsZXNfcGF0aHMgPSBmaW5kX2xpY2Vuc2VfZmlsZXMoZCkKCiAgICAjIFRo
ZSBiYXNlIGRpcmVjdG9yeSB3ZSB3cmFuZ2xlIGxpY2Vuc2VzIHRvCiAgICBkZXN0ZGlyID0gb3Mu
cGF0aC5qb2luKGQuZ2V0VmFyKCdMSUNTU1RBVEVESVInKSwgZC5nZXRWYXIoJ1BOJykpCiAgICBj
b3B5X2xpY2Vuc2VfZmlsZXMobGljX2ZpbGVzX3BhdGhzLCBkZXN0ZGlyKQogICAgaW5mbyA9IGdl
dF9yZWNpcGVfaW5mbyhkKQogICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihkZXN0ZGlyLCAicmVj
aXBlaW5mbyIpLCAidyIpIGFzIGY6CiAgICAgICAgZm9yIGtleSBpbiBzb3J0ZWQoaW5mby5rZXlz
KCkpOgogICAgICAgICAgICBmLndyaXRlKCIlczogJXNcbiIgJSAoa2V5LCBpbmZvW2tleV0pKQp9
CgoKcHl0aG9uIGRvX3BvcHVsYXRlX2xpY19zZXRzY2VuZSAoKSB7CiAgICBzc3RhdGVfc2V0c2Nl
bmUoZCkKfQoKCnB5dGhvbiBkb19wb3B1bGF0ZV9zeXNyb290ICgpIHsKICAgIGJiLmJ1aWxkLmV4
ZWNfZnVuYygic3lzcm9vdF9zdGFnZV9hbGwiLCBkKQogICAgYmIuYnVpbGQuZXhlY19mdW5jKCJz
eXNyb290X3N0cmlwIiwgZCkKICAgIGZvciBmIGluIChkLmdldFZhcignU1lTUk9PVF9QUkVQUk9D
RVNTX0ZVTkNTJykgb3IgJycpLnNwbGl0KCk6CiAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKGYs
IGQpCiAgICBwbiA9IGQuZ2V0VmFyKCJQTiIpCiAgICBtdWx0aXByb3YgPSBkLmdldFZhcigiTVVM
VElfUFJPVklERVJfV0hJVEVMSVNUIikuc3BsaXQoKQogICAgcHJvdmRpciA9IGQuZXhwYW5kKCIk
e1NZU1JPT1RfREVTVERJUn0ke2Jhc2VfcHJlZml4fS9zeXNyb290LXByb3ZpZGVycy8iKQogICAg
YmIudXRpbHMubWtkaXJoaWVyKHByb3ZkaXIpCiAgICBmb3IgcCBpbiBkLmdldFZhcigiUFJPVklE
RVMiKS5zcGxpdCgpOgogICAgICAgIGlmIHAgaW4gbXVsdGlwcm92OgogICAgICAgICAgICBjb250
aW51ZQogICAgICAgIHAgPSBwLnJlcGxhY2UoIi8iLCAiXyIpCiAgICAgICAgd2l0aCBvcGVuKHBy
b3ZkaXIgKyBwLCAidyIpIGFzIGY6CiAgICAgICAgICAgIGYud3JpdGUocG4pCn0KCgpweXRob24g
ZG9fcG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZSAoKSB7CiAgICBzc3RhdGVfc2V0c2NlbmUoZCkK
fQoKCnB5dGhvbiBkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290ICgpIHsKICAgIGJiLmJ1aWxkLmV4
ZWNfZnVuYygiZXh0ZW5kX3JlY2lwZV9zeXNyb290IiwgZCkKfQoKCnB5dGhvbiBkb19xYV9jb25m
aWd1cmUgKCkgewogICAgaW1wb3J0IHN1YnByb2Nlc3MKCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
ICAgICMgQ2hlY2sgY29uZmlnLmxvZyBmb3IgY3Jvc3MgY29tcGlsZSBpc3N1ZXMKICAgICMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIwoKICAgIGNvbmZpZ3MgPSBbXQogICAgd29ya2RpciA9IGQuZ2V0VmFyKCdX
T1JLRElSJykKCiAgICBza2lwID0gKGQuZ2V0VmFyKCdJTlNBTkVfU0tJUCcpIG9yICIiKS5zcGxp
dCgpCiAgICBza2lwX2NvbmZpZ3VyZV91bnNhZmUgPSBGYWxzZQogICAgaWYgJ2NvbmZpZ3VyZS11
bnNhZmUnIGluIHNraXA6CiAgICAgICAgYmIubm90ZSgiUmVjaXBlICVzIHNraXBwaW5nIHFhIGNo
ZWNraW5nOiBjb25maWd1cmUtdW5zYWZlIiAlIGQuZ2V0VmFyKCdQTicpKQogICAgICAgIHNraXBf
Y29uZmlndXJlX3Vuc2FmZSA9IFRydWUKCiAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdh
dXRvdG9vbHMnLCBkKSBhbmQgbm90IHNraXBfY29uZmlndXJlX3Vuc2FmZToKICAgICAgICBiYi5u
b3RlKCJDaGVja2luZyBhdXRvdG9vbHMgZW52aXJvbm1lbnQgZm9yIGNvbW1vbiBtaXNjb25maWd1
cmF0aW9uIikKICAgICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2Fsayh3b3JrZGly
KToKICAgICAgICAgICAgc3RhdGVtZW50ID0gImdyZXAgLXEgLUYgLWUgJ0NST1NTIENPTVBJTEUg
QmFkbmVzczonIC1lICdpcyB1bnNhZmUgZm9yIGNyb3NzLWNvbXBpbGF0aW9uJyAlcyIgJSBcCiAg
ICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihyb290LCJjb25maWcubG9nIikKICAg
ICAgICAgICAgaWYgImNvbmZpZy5sb2ciIGluIGZpbGVzOgogICAgICAgICAgICAgICAgaWYgc3Vi
cHJvY2Vzcy5jYWxsKHN0YXRlbWVudCwgc2hlbGw9VHJ1ZSkgPT0gMDoKICAgICAgICAgICAgICAg
ICAgICBlcnJvcl9tc2cgPSAiIiJUaGlzIGF1dG9jb25mIGxvZyBpbmRpY2F0ZXMgZXJyb3JzLCBp
dCBsb29rZWQgYXQgaG9zdCBpbmNsdWRlIGFuZC9vciBsaWJyYXJ5IHBhdGhzIHdoaWxlIGRldGVy
bWluaW5nIHN5c3RlbSBjYXBhYmlsaXRpZXMuClJlcnVuIGNvbmZpZ3VyZSB0YXNrIGFmdGVyIGZp
eGluZyB0aGlzLiIiIgogICAgICAgICAgICAgICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9y
KCJjb25maWd1cmUtdW5zYWZlIiwgZXJyb3JfbXNnLCBkKQoKICAgICAgICAgICAgaWYgImNvbmZp
Z3VyZS5hYyIgaW4gZmlsZXM6CiAgICAgICAgICAgICAgICBjb25maWdzLmFwcGVuZChvcy5wYXRo
LmpvaW4ocm9vdCwiY29uZmlndXJlLmFjIikpCiAgICAgICAgICAgIGlmICJjb25maWd1cmUuaW4i
IGluIGZpbGVzOgogICAgICAgICAgICAgICAgY29uZmlncy5hcHBlbmQob3MucGF0aC5qb2luKHJv
b3QsICJjb25maWd1cmUuaW4iKSkKCiAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICMgQ2hlY2sg
Z2V0dGV4dCBjb25maWd1cmF0aW9uIGFuZCBkZXBlbmRlbmNpZXMgYXJlIGNvcnJlY3QKICAgICMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIwoKICAgIHNraXBfY29uZmlndXJlX2dldHRleHQgPSBGYWxzZQogICAg
aWYgJ2NvbmZpZ3VyZS1nZXR0ZXh0JyBpbiBza2lwOgogICAgICAgIGJiLm5vdGUoIlJlY2lwZSAl
cyBza2lwcGluZyBxYSBjaGVja2luZzogY29uZmlndXJlLWdldHRleHQiICUgZC5nZXRWYXIoJ1BO
JykpCiAgICAgICAgc2tpcF9jb25maWd1cmVfZ2V0dGV4dCA9IFRydWUKCiAgICBjbmYgPSBkLmdl
dFZhcignRVhUUkFfT0VDT05GJykgb3IgIiIKICAgIGlmIG5vdCAoImdldHRleHQiIGluIGQuZ2V0
VmFyKCdQJykgb3IgImdjYy1ydW50aW1lIiBpbiBkLmdldFZhcignUCcpIG9yIFwKICAgICAgICAg
ICAgIi0tZGlzYWJsZS1ubHMiIGluIGNuZiBvciBza2lwX2NvbmZpZ3VyZV9nZXR0ZXh0KToKICAg
ICAgICBtbCA9IGQuZ2V0VmFyKCJNTFBSRUZJWCIpIG9yICIiCiAgICAgICAgaWYgYmIuZGF0YS5p
bmhlcml0c19jbGFzcygnY3Jvc3MtY2FuYWRpYW4nLCBkKToKICAgICAgICAgICAgZ3QgPSAibmF0
aXZlc2RrLWdldHRleHQiCiAgICAgICAgZWxzZToKICAgICAgICAgICAgZ3QgPSAiZ2V0dGV4dC1u
YXRpdmUiCiAgICAgICAgZGVwcyA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwcyhkLmdldFZhcignREVQ
RU5EUycpIG9yICIiKQogICAgICAgIGlmIGd0IG5vdCBpbiBkZXBzOgogICAgICAgICAgICBmb3Ig
Y29uZmlnIGluIGNvbmZpZ3M6CiAgICAgICAgICAgICAgICBnbnUgPSAiZ3JlcCBcIl5bWzpzcGFj
ZTpdXSpBTV9HTlVfR0VUVEVYVFwiICVzID4vZGV2L251bGwiICUgY29uZmlnCiAgICAgICAgICAg
ICAgICBpZiBzdWJwcm9jZXNzLmNhbGwoZ251LCBzaGVsbD1UcnVlKSA9PSAwOgogICAgICAgICAg
ICAgICAgICAgIGVycm9yX21zZyA9ICJBTV9HTlVfR0VUVEVYVCB1c2VkIGJ1dCBubyBpbmhlcml0
IGdldHRleHQiCiAgICAgICAgICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImNv
bmZpZ3VyZS1nZXR0ZXh0IiwgZXJyb3JfbXNnLCBkKQoKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwog
ICAgIyBDaGVjayB1bnJlY29nbmlzZWQgY29uZmlndXJlIG9wdGlvbnMgKHdpdGggYSB3aGl0ZSBs
aXN0KQogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNz
KCJhdXRvdG9vbHMiLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCJtZXNvbiIsIGQpOgog
ICAgICAgIGJiLm5vdGUoIkNoZWNraW5nIGNvbmZpZ3VyZSBvdXRwdXQgZm9yIHVucmVjb2duaXNl
ZCBvcHRpb25zIikKICAgICAgICB0cnk6CiAgICAgICAgICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNf
Y2xhc3MoImF1dG90b29scyIsIGQpOgogICAgICAgICAgICAgICAgZmxhZyA9ICJXQVJOSU5HOiB1
bnJlY29nbml6ZWQgb3B0aW9uczoiCiAgICAgICAgICAgICAgICBsb2cgPSBvcy5wYXRoLmpvaW4o
ZC5nZXRWYXIoJ0InKSwgJ2NvbmZpZy5sb2cnKQogICAgICAgICAgICBpZiBiYi5kYXRhLmluaGVy
aXRzX2NsYXNzKCJtZXNvbiIsIGQpOgogICAgICAgICAgICAgICAgZmxhZyA9ICJXQVJOSU5HOiBV
bmtub3duIG9wdGlvbnM6IgogICAgICAgICAgICAgICAgbG9nID0gb3MucGF0aC5qb2luKGQuZ2V0
VmFyKCdUJyksICdsb2cuZG9fY29uZmlndXJlJykKICAgICAgICAgICAgb3V0cHV0ID0gc3VicHJv
Y2Vzcy5jaGVja19vdXRwdXQoWydncmVwJywgJy1GJywgZmxhZywgbG9nXSkuZGVjb2RlKCJ1dGYt
OCIpLnJlcGxhY2UoJywgJywgJyAnKS5yZXBsYWNlKCciJywgJycpCiAgICAgICAgICAgIG9wdGlv
bnMgPSBzZXQoKQogICAgICAgICAgICBmb3IgbGluZSBpbiBvdXRwdXQuc3BsaXRsaW5lcygpOgog
ICAgICAgICAgICAgICAgb3B0aW9ucyB8PSBzZXQobGluZS5wYXJ0aXRpb24oZmxhZylbMl0uc3Bs
aXQoKSkKICAgICAgICAgICAgd2hpdGVsaXN0ID0gc2V0KGQuZ2V0VmFyKCJVTktOT1dOX0NPTkZJ
R1VSRV9XSElURUxJU1QiKS5zcGxpdCgpKQogICAgICAgICAgICBvcHRpb25zIC09IHdoaXRlbGlz
dAogICAgICAgICAgICBpZiBvcHRpb25zOgogICAgICAgICAgICAgICAgcG4gPSBkLmdldFZhcign
UE4nKQogICAgICAgICAgICAgICAgZXJyb3JfbXNnID0gcG4gKyAiOiBjb25maWd1cmUgd2FzIHBh
c3NlZCB1bnJlY29nbmlzZWQgb3B0aW9uczogIiArICIgIi5qb2luKG9wdGlvbnMpCiAgICAgICAg
ICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigidW5rbm93bi1jb25maWd1cmUtb3B0aW9u
IiwgZXJyb3JfbXNnLCBkKQogICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NF
cnJvcjoKICAgICAgICAgICAgcGFzcwoKICAgICMgQ2hlY2sgaW52YWxpZCBQQUNLQUdFQ09ORklH
CiAgICBwa2djb25maWcgPSAoZC5nZXRWYXIoIlBBQ0tBR0VDT05GSUciKSBvciAiIikuc3BsaXQo
KQogICAgaWYgcGtnY29uZmlnOgogICAgICAgIHBrZ2NvbmZpZ2ZsYWdzID0gZC5nZXRWYXJGbGFn
cygiUEFDS0FHRUNPTkZJRyIpIG9yIHt9CiAgICAgICAgZm9yIHBjb25maWcgaW4gcGtnY29uZmln
OgogICAgICAgICAgICBpZiBwY29uZmlnIG5vdCBpbiBwa2djb25maWdmbGFnczoKICAgICAgICAg
ICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKICAgICAgICAgICAgICAgIGVycm9yX21zZyA9ICIl
czogaW52YWxpZCBQQUNLQUdFQ09ORklHOiAlcyIgJSAocG4sIHBjb25maWcpCiAgICAgICAgICAg
ICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigiaW52YWxpZC1wYWNrYWdlY29uZmlnIiwgZXJy
b3JfbXNnLCBkKQoKICAgIHFhX3NhbmUgPSBkLmdldFZhcigiUUFfU0FORSIpCiAgICBpZiBub3Qg
cWFfc2FuZToKICAgICAgICBiYi5mYXRhbCgiRmF0YWwgUUEgZXJyb3JzIGZvdW5kLCBmYWlsaW5n
IHRhc2suIikKfQoKCnB5dGhvbiBkb19xYV9wYXRjaCAoKSB7CiAgICBpbXBvcnQgc3VicHJvY2Vz
cwoKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAgIyBDaGVjayBwYXRjaC5sb2cgZm9yIGZ1enog
d2FybmluZ3MKICAgICMKICAgICMgRnVydGhlciBpbmZvcm1hdGlvbiBvbiB3aHkgd2UgY2hlY2sg
Zm9yIHBhdGNoIGZ1enogd2FybmluZ3M6CiAgICAjIGh0dHA6Ly9saXN0cy5vcGVuZW1iZWRkZWQu
b3JnL3BpcGVybWFpbC9vcGVuZW1iZWRkZWQtY29yZS8yMDE4LU1hcmNoLzE0ODY3NS5odG1sCiAg
ICAjIGh0dHBzOi8vYnVnemlsbGEueW9jdG9wcm9qZWN0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0
NTAKICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKICAgIGxvZ2RpciA9IGQuZ2V0VmFyKCdUJykKICAg
IHBhdGNobG9nID0gb3MucGF0aC5qb2luKGxvZ2RpciwibG9nLmRvX3BhdGNoIikKCiAgICBpZiBv
cy5wYXRoLmV4aXN0cyhwYXRjaGxvZyk6CiAgICAgICAgZnV6emhlYWRlciA9ICctLS0gUGF0Y2gg
ZnV6eiBzdGFydCAtLS0nCiAgICAgICAgZnV6emZvb3RlciA9ICctLS0gUGF0Y2ggZnV6eiBlbmQg
LS0tJwogICAgICAgIHN0YXRlbWVudCA9ICJncmVwIC1lICclcycgJXMgPiAvZGV2L251bGwiICUg
KGZ1enpoZWFkZXIsIHBhdGNobG9nKQogICAgICAgIGlmIHN1YnByb2Nlc3MuY2FsbChzdGF0ZW1l
bnQsIHNoZWxsPVRydWUpID09IDA6CiAgICAgICAgICAgIG1zZyA9ICJGdXp6IGRldGVjdGVkOlxu
XG4iCiAgICAgICAgICAgIGZ1enptc2cgPSAiIgogICAgICAgICAgICBpbkZ1enpJbmZvID0gRmFs
c2UKICAgICAgICAgICAgZiA9IG9wZW4ocGF0Y2hsb2csICJyIikKICAgICAgICAgICAgZm9yIGxp
bmUgaW4gZjoKICAgICAgICAgICAgICAgIGlmIGZ1enpoZWFkZXIgaW4gbGluZToKICAgICAgICAg
ICAgICAgICAgICBpbkZ1enpJbmZvID0gVHJ1ZQogICAgICAgICAgICAgICAgICAgIGZ1enptc2cg
PSAiIgogICAgICAgICAgICAgICAgZWxpZiBmdXp6Zm9vdGVyIGluIGxpbmU6CiAgICAgICAgICAg
ICAgICAgICAgZnV6em1zZyA9IGZ1enptc2cucmVwbGFjZSgnXG5cbicsICdcbicpCiAgICAgICAg
ICAgICAgICAgICAgbXNnICs9IGZ1enptc2cKICAgICAgICAgICAgICAgICAgICBtc2cgKz0gIlxu
IgogICAgICAgICAgICAgICAgICAgIGluRnV6ekluZm8gPSBGYWxzZQogICAgICAgICAgICAgICAg
ZWxpZiBpbkZ1enpJbmZvIGFuZCBub3QgJ05vdyBhdCBwYXRjaCcgaW4gbGluZToKICAgICAgICAg
ICAgICAgICAgICBmdXp6bXNnICs9IGxpbmUKICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAg
ICAgIG1zZyArPSAiVGhlIGNvbnRleHQgbGluZXMgaW4gdGhlIHBhdGNoZXMgY2FuIGJlIHVwZGF0
ZWQgd2l0aCBkZXZ0b29sOlxuIgogICAgICAgICAgICBtc2cgKz0gIlxuIgogICAgICAgICAgICBt
c2cgKz0gIiAgICBkZXZ0b29sIG1vZGlmeSAlc1xuIiAlIGQuZ2V0VmFyKCdQTicpCiAgICAgICAg
ICAgIG1zZyArPSAiICAgIGRldnRvb2wgZmluaXNoIC0tZm9yY2UtcGF0Y2gtcmVmcmVzaCAlcyA8
bGF5ZXJfcGF0aD5cblxuIiAlIGQuZ2V0VmFyKCdQTicpCiAgICAgICAgICAgIG1zZyArPSAiRG9u
J3QgZm9yZ2V0IHRvIHJldmlldyBjaGFuZ2VzIGRvbmUgYnkgZGV2dG9vbCFcbiIKICAgICAgICAg
ICAgaWYgJ3BhdGNoLWZ1enonIGluIGQuZ2V0VmFyKCdFUlJPUl9RQScpOgogICAgICAgICAgICAg
ICAgYmIuZXJyb3IobXNnKQogICAgICAgICAgICBlbGlmICdwYXRjaC1mdXp6JyBpbiBkLmdldFZh
cignV0FSTl9RQScpOgogICAgICAgICAgICAgICAgYmIud2Fybihtc2cpCiAgICAgICAgICAgIG1z
ZyA9ICJQYXRjaCBsb2cgaW5kaWNhdGVzIHRoYXQgcGF0Y2hlcyBkbyBub3QgYXBwbHkgY2xlYW5s
eS4iCiAgICAgICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJwYXRjaC1mdXp6IiwgbXNn
LCBkKQp9CgoKcHl0aG9uIGRvX3FhX3N0YWdpbmcgKCkgewogICAgYmIubm90ZSgiUUEgY2hlY2tp
bmcgc3RhZ2luZyIpCiAgICBpZiBub3QgcWFfY2hlY2tfc3RhZ2VkKGQuZXhwYW5kKCcke1NZU1JP
T1RfREVTVERJUn0ke2xpYmRpcn0nKSwgZCk6CiAgICAgICAgYmIuZmF0YWwoIlFBIHN0YWdpbmcg
d2FzIGJyb2tlbiBieSB0aGUgcGFja2FnZSBidWlsdCBhYm92ZSIpCn0KCgpweXRob24gZG9fcWFf
dW5wYWNrICgpIHsKICAgIHNyY191cmkgPSBkLmdldFZhcignU1JDX1VSSScpCiAgICBzX2RpciA9
IGQuZ2V0VmFyKCdTJykKICAgIGlmIHNyY191cmkgYW5kIG5vdCBvcy5wYXRoLmV4aXN0cyhzX2Rp
cik6CiAgICAgICAgYmIud2FybignJXM6IHRoZSBkaXJlY3RvcnkgJXMgKCVzKSBwb2ludGVkIHRv
IGJ5IHRoZSBTIHZhcmlhYmxlIGRvZXNuXCd0IGV4aXN0IC0gcGxlYXNlIHNldCBTIHdpdGhpbiB0
aGUgcmVjaXBlIHRvIHBvaW50IHRvIHdoZXJlIHRoZSBzb3VyY2UgaGFzIGJlZW4gdW5wYWNrZWQg
dG8nICUgKGQuZ2V0VmFyKCdQTicpLCBkLmdldFZhcignUycsIEZhbHNlKSwgc19kaXIpKQp9CgoK
cHl0aG9uIGRvX3NwbGl0X3BhY2thZ2VzICgpIHsKZGVmIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHJv
b3QsIGZpbGVfcmVnZXgsIG91dHB1dF9wYXR0ZXJuLCBkZXNjcmlwdGlvbiwgcG9zdGluc3Q9Tm9u
ZSwgcmVjdXJzaXZlPUZhbHNlLCBob29rPU5vbmUsIGV4dHJhX2RlcGVuZHM9Tm9uZSwgYXV4X2Zp
bGVzX3BhdHRlcm49Tm9uZSwgcG9zdHJtPU5vbmUsIGFsbG93X2RpcnM9RmFsc2UsIHByZXBlbmQ9
RmFsc2UsIG1hdGNoX3BhdGg9RmFsc2UsIGF1eF9maWxlc19wYXR0ZXJuX3ZlcmJhdGltPU5vbmUs
IGFsbG93X2xpbmtzPUZhbHNlLCBzdW1tYXJ5PU5vbmUpOgogICAgIiIiCiAgICBVc2VkIGluIC5i
YiBmaWxlcyB0byBzcGxpdCB1cCBkeW5hbWljYWxseSBnZW5lcmF0ZWQgc3VicGFja2FnZXMgb2Yg
YQogICAgZ2l2ZW4gcGFja2FnZSwgdXN1YWxseSBwbHVnaW5zIG9yIG1vZHVsZXMuCgogICAgQXJn
dW1lbnRzOgogICAgcm9vdCAgICAgICAgICAgLS0gdGhlIHBhdGggaW4gd2hpY2ggdG8gc2VhcmNo
CiAgICBmaWxlX3JlZ2V4ICAgICAtLSByZWd1bGFyIGV4cHJlc3Npb24gdG8gbWF0Y2ggc2VhcmNo
ZWQgZmlsZXMuIFVzZQogICAgICAgICAgICAgICAgICAgICAgcGFyZW50aGVzZXMgKCkgdG8gbWFy
ayB0aGUgcGFydCBvZiB0aGlzIGV4cHJlc3Npb24KICAgICAgICAgICAgICAgICAgICAgIHRoYXQg
c2hvdWxkIGJlIHVzZWQgdG8gZGVyaXZlIHRoZSBtb2R1bGUgbmFtZSAodG8gYmUKICAgICAgICAg
ICAgICAgICAgICAgIHN1YnN0aXR1dGVkIHdoZXJlICVzIGlzIHVzZWQgaW4gb3RoZXIgZnVuY3Rp
b24KICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50cyBhcyBub3RlZCBiZWxvdykKICAgIG91
dHB1dF9wYXR0ZXJuIC0tIHBhdHRlcm4gdG8gdXNlIGZvciB0aGUgcGFja2FnZSBuYW1lcy4gTXVz
dCBpbmNsdWRlICVzLgogICAgZGVzY3JpcHRpb24gICAgLS0gZGVzY3JpcHRpb24gdG8gc2V0IGZv
ciBlYWNoIHBhY2thZ2UuIE11c3QgaW5jbHVkZSAlcy4KICAgIHBvc3RpbnN0ICAgICAgIC0tIHBv
c3RpbnN0YWxsIHNjcmlwdCB0byB1c2UgZm9yIGFsbCBwYWNrYWdlcyAoYXMgYQogICAgICAgICAg
ICAgICAgICAgICAgc3RyaW5nKQogICAgcmVjdXJzaXZlICAgICAgLS0gVHJ1ZSB0byBwZXJmb3Jt
IGEgcmVjdXJzaXZlIHNlYXJjaCAtIGRlZmF1bHQgRmFsc2UKICAgIGhvb2sgICAgICAgICAgIC0t
IGEgaG9vayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgZm9yIGV2ZXJ5IG1hdGNoLiBUaGUKICAgICAg
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIGZvbGxvd2lu
ZyBhcmd1bWVudHMKICAgICAgICAgICAgICAgICAgICAgIChpbiB0aGUgb3JkZXIgbGlzdGVkKToK
ICAgICAgICAgICAgICAgICAgICAgICAgZjogZnVsbCBwYXRoIHRvIHRoZSBmaWxlL2RpcmVjdG9y
eSBtYXRjaAogICAgICAgICAgICAgICAgICAgICAgICBwa2c6IHRoZSBwYWNrYWdlIG5hbWUKICAg
ICAgICAgICAgICAgICAgICAgICAgZmlsZV9yZWdleDogYXMgYWJvdmUKICAgICAgICAgICAgICAg
ICAgICAgICAgb3V0cHV0X3BhdHRlcm46IGFzIGFib3ZlCiAgICAgICAgICAgICAgICAgICAgICAg
IG1vZHVsZW5hbWU6IHRoZSBtb2R1bGUgbmFtZSBkZXJpdmVkIHVzaW5nIGZpbGVfcmVnZXgKICAg
IGV4dHJhX2RlcGVuZHMgIC0tIGV4dHJhIHJ1bnRpbWUgZGVwZW5kZW5jaWVzIChSREVQRU5EUykg
dG8gYmUgc2V0IGZvcgogICAgICAgICAgICAgICAgICAgICAgYWxsIHBhY2thZ2VzLiBUaGUgZGVm
YXVsdCB2YWx1ZSBvZiBOb25lIGNhdXNlcyBhCiAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRl
bmN5IG9uIHRoZSBtYWluIHBhY2thZ2UgKCR7UE59KSAtIGlmIHlvdSBkbwogICAgICAgICAgICAg
ICAgICAgICAgbm90IHdhbnQgdGhpcywgcGFzcyAnJyBmb3IgdGhpcyBwYXJhbWV0ZXIuCiAgICBh
dXhfZmlsZXNfcGF0dGVybiAtLSBleHRyYSBpdGVtKHMpIHRvIGJlIGFkZGVkIHRvIEZJTEVTIGZv
ciBlYWNoCiAgICAgICAgICAgICAgICAgICAgICBwYWNrYWdlLiBDYW4gYmUgYSBzaW5nbGUgc3Ry
aW5nIGl0ZW0gb3IgYSBsaXN0IG9mCiAgICAgICAgICAgICAgICAgICAgICBzdHJpbmdzIGZvciBt
dWx0aXBsZSBpdGVtcy4gIE11c3QgaW5jbHVkZSAlcy4KICAgIHBvc3RybSAgICAgICAgIC0tIHBv
c3RybSBzY3JpcHQgdG8gdXNlIGZvciBhbGwgcGFja2FnZXMgKGFzIGEgc3RyaW5nKQogICAgYWxs
b3dfZGlycyAgICAgLS0gVHJ1ZSBhbGxvdyBkaXJlY3RvcmllcyB0byBiZSBtYXRjaGVkIC0gZGVm
YXVsdCBGYWxzZQogICAgcHJlcGVuZCAgICAgICAgLS0gaWYgVHJ1ZSwgcHJlcGVuZCBjcmVhdGVk
IHBhY2thZ2VzIHRvIFBBQ0tBR0VTIGluc3RlYWQKICAgICAgICAgICAgICAgICAgICAgIG9mIHRo
ZSBkZWZhdWx0IEZhbHNlIHdoaWNoIGFwcGVuZHMgdGhlbQogICAgbWF0Y2hfcGF0aCAgICAgLS0g
bWF0Y2ggZmlsZV9yZWdleCBvbiB0aGUgd2hvbGUgcmVsYXRpdmUgcGF0aCB0byB0aGUKICAgICAg
ICAgICAgICAgICAgICAgIHJvb3QgcmF0aGVyIHRoYW4ganVzdCB0aGUgZmlsZSBuYW1lCiAgICBh
dXhfZmlsZXNfcGF0dGVybl92ZXJiYXRpbSAtLSBleHRyYSBpdGVtKHMpIHRvIGJlIGFkZGVkIHRv
IEZJTEVTIGZvcgogICAgICAgICAgICAgICAgICAgICAgZWFjaCBwYWNrYWdlLCB1c2luZyB0aGUg
YWN0dWFsIGRlcml2ZWQgbW9kdWxlIG5hbWUKICAgICAgICAgICAgICAgICAgICAgIHJhdGhlciB0
aGFuIGNvbnZlcnRpbmcgaXQgdG8gc29tZXRoaW5nIGxlZ2FsIGZvciBhCiAgICAgICAgICAgICAg
ICAgICAgICBwYWNrYWdlIG5hbWUuIENhbiBiZSBhIHNpbmdsZSBzdHJpbmcgaXRlbSBvciBhIGxp
c3QKICAgICAgICAgICAgICAgICAgICAgIG9mIHN0cmluZ3MgZm9yIG11bHRpcGxlIGl0ZW1zLiBN
dXN0IGluY2x1ZGUgJXMuCiAgICBhbGxvd19saW5rcyAgICAtLSBUcnVlIHRvIGFsbG93IHN5bWxp
bmtzIHRvIGJlIG1hdGNoZWQgLSBkZWZhdWx0IEZhbHNlCiAgICBzdW1tYXJ5ICAgICAgICAtLSBT
dW1tYXJ5IHRvIHNldCBmb3IgZWFjaCBwYWNrYWdlLiBNdXN0IGluY2x1ZGUgJXM7CiAgICAgICAg
ICAgICAgICAgICAgICBkZWZhdWx0cyB0byBkZXNjcmlwdGlvbiBpZiBub3Qgc2V0LgoKICAgICIi
IgoKICAgIGR2YXIgPSBkLmdldFZhcignUEtHRCcpCiAgICByb290ID0gZC5leHBhbmQocm9vdCkK
ICAgIG91dHB1dF9wYXR0ZXJuID0gZC5leHBhbmQob3V0cHV0X3BhdHRlcm4pCiAgICBleHRyYV9k
ZXBlbmRzID0gZC5leHBhbmQoZXh0cmFfZGVwZW5kcykKCiAgICAjIElmIHRoZSByb290IGRpcmVj
dG9yeSBkb2Vzbid0IGV4aXN0LCBkb24ndCBlcnJvciBvdXQgbGF0ZXIgYnV0IHNpbGVudGx5IGRv
CiAgICAjIG5vIHNwbGl0dGluZy4KICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhkdmFyICsgcm9v
dCk6CiAgICAgICAgcmV0dXJuIFtdCgogICAgbWwgPSBkLmdldFZhcigiTUxQUkVGSVgiKQogICAg
aWYgbWw6CiAgICAgICAgaWYgbm90IG91dHB1dF9wYXR0ZXJuLnN0YXJ0c3dpdGgobWwpOgogICAg
ICAgICAgICBvdXRwdXRfcGF0dGVybiA9IG1sICsgb3V0cHV0X3BhdHRlcm4KCiAgICAgICAgbmV3
ZGVwcyA9IFtdCiAgICAgICAgZm9yIGRlcCBpbiAoZXh0cmFfZGVwZW5kcyBvciAiIikuc3BsaXQo
KToKICAgICAgICAgICAgaWYgZGVwLnN0YXJ0c3dpdGgobWwpOgogICAgICAgICAgICAgICAgbmV3
ZGVwcy5hcHBlbmQoZGVwKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgbmV3ZGVw
cy5hcHBlbmQobWwgKyBkZXApCiAgICAgICAgaWYgbmV3ZGVwczoKICAgICAgICAgICAgZXh0cmFf
ZGVwZW5kcyA9ICIgIi5qb2luKG5ld2RlcHMpCgoKICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BB
Q0tBR0VTJykuc3BsaXQoKQogICAgc3BsaXRfcGFja2FnZXMgPSBzZXQoKQoKICAgIGlmIHBvc3Rp
bnN0OgogICAgICAgIHBvc3RpbnN0ID0gJyMhL2Jpbi9zaFxuJyArIHBvc3RpbnN0ICsgJ1xuJwog
ICAgaWYgcG9zdHJtOgogICAgICAgIHBvc3RybSA9ICcjIS9iaW4vc2hcbicgKyBwb3N0cm0gKyAn
XG4nCiAgICBpZiBub3QgcmVjdXJzaXZlOgogICAgICAgIG9ianMgPSBvcy5saXN0ZGlyKGR2YXIg
KyByb290KQogICAgZWxzZToKICAgICAgICBvYmpzID0gW10KICAgICAgICBmb3Igd2Fsa3Jvb3Qs
IGRpcnMsIGZpbGVzIGluIG9zLndhbGsoZHZhciArIHJvb3QpOgogICAgICAgICAgICBmb3IgZmls
ZSBpbiBmaWxlczoKICAgICAgICAgICAgICAgIHJlbHBhdGggPSBvcy5wYXRoLmpvaW4od2Fsa3Jv
b3QsIGZpbGUpLnJlcGxhY2UoZHZhciArIHJvb3QgKyAnLycsICcnLCAxKQogICAgICAgICAgICAg
ICAgaWYgcmVscGF0aDoKICAgICAgICAgICAgICAgICAgICBvYmpzLmFwcGVuZChyZWxwYXRoKQoK
ICAgIGlmIGV4dHJhX2RlcGVuZHMgPT0gTm9uZToKICAgICAgICBleHRyYV9kZXBlbmRzID0gZC5n
ZXRWYXIoIlBOIikKCiAgICBpZiBub3Qgc3VtbWFyeToKICAgICAgICBzdW1tYXJ5ID0gZGVzY3Jp
cHRpb24KCiAgICBmb3IgbyBpbiBzb3J0ZWQob2Jqcyk6CiAgICAgICAgaW1wb3J0IHJlLCBzdGF0
CiAgICAgICAgaWYgbWF0Y2hfcGF0aDoKICAgICAgICAgICAgbSA9IHJlLm1hdGNoKGZpbGVfcmVn
ZXgsIG8pCiAgICAgICAgZWxzZToKICAgICAgICAgICAgbSA9IHJlLm1hdGNoKGZpbGVfcmVnZXgs
IG9zLnBhdGguYmFzZW5hbWUobykpCgogICAgICAgIGlmIG5vdCBtOgogICAgICAgICAgICBjb250
aW51ZQogICAgICAgIGYgPSBvcy5wYXRoLmpvaW4oZHZhciArIHJvb3QsIG8pCiAgICAgICAgbW9k
ZSA9IG9zLmxzdGF0KGYpLnN0X21vZGUKICAgICAgICBpZiBub3QgKHN0YXQuU19JU1JFRyhtb2Rl
KSBvciAoYWxsb3dfbGlua3MgYW5kIHN0YXQuU19JU0xOSyhtb2RlKSkgb3IgKGFsbG93X2RpcnMg
YW5kIHN0YXQuU19JU0RJUihtb2RlKSkpOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgIG9u
ID0gbGVnaXRpbWl6ZV9wYWNrYWdlX25hbWUobS5ncm91cCgxKSkKICAgICAgICBwa2cgPSBvdXRw
dXRfcGF0dGVybiAlIG9uCiAgICAgICAgc3BsaXRfcGFja2FnZXMuYWRkKHBrZykKICAgICAgICBp
ZiBub3QgcGtnIGluIHBhY2thZ2VzOgogICAgICAgICAgICBpZiBwcmVwZW5kOgogICAgICAgICAg
ICAgICAgcGFja2FnZXMgPSBbcGtnXSArIHBhY2thZ2VzCiAgICAgICAgICAgIGVsc2U6CiAgICAg
ICAgICAgICAgICBwYWNrYWdlcy5hcHBlbmQocGtnKQogICAgICAgIG9sZGZpbGVzID0gZC5nZXRW
YXIoJ0ZJTEVTXycgKyBwa2cpCiAgICAgICAgbmV3ZmlsZSA9IG9zLnBhdGguam9pbihyb290LCBv
KQogICAgICAgICMgVGhlc2UgbmFtZXMgd2lsbCBiZSBwYXNzZWQgdGhyb3VnaCBnbG9iKCkgc28g
aWYgdGhlIGZpbGVuYW1lIGFjdHVhbGx5CiAgICAgICAgIyBjb250YWlucyAqIG9yID8gKHJhcmUs
IGJ1dCBwb3NzaWJsZSkgd2UgbmVlZCB0byBoYW5kbGUgdGhhdCBzcGVjaWFsbHkKICAgICAgICBu
ZXdmaWxlID0gbmV3ZmlsZS5yZXBsYWNlKCcqJywgJ1sqXScpCiAgICAgICAgbmV3ZmlsZSA9IG5l
d2ZpbGUucmVwbGFjZSgnPycsICdbP10nKQogICAgICAgIGlmIG5vdCBvbGRmaWxlczoKICAgICAg
ICAgICAgdGhlX2ZpbGVzID0gW25ld2ZpbGVdCiAgICAgICAgICAgIGlmIGF1eF9maWxlc19wYXR0
ZXJuOgogICAgICAgICAgICAgICAgaWYgdHlwZShhdXhfZmlsZXNfcGF0dGVybikgaXMgbGlzdDoK
ICAgICAgICAgICAgICAgICAgICBmb3IgZnAgaW4gYXV4X2ZpbGVzX3BhdHRlcm46CiAgICAgICAg
ICAgICAgICAgICAgICAgIHRoZV9maWxlcy5hcHBlbmQoZnAgJSBvbikKICAgICAgICAgICAgICAg
IGVsc2U6CiAgICAgICAgICAgICAgICAgICAgdGhlX2ZpbGVzLmFwcGVuZChhdXhfZmlsZXNfcGF0
dGVybiAlIG9uKQogICAgICAgICAgICBpZiBhdXhfZmlsZXNfcGF0dGVybl92ZXJiYXRpbToKICAg
ICAgICAgICAgICAgIGlmIHR5cGUoYXV4X2ZpbGVzX3BhdHRlcm5fdmVyYmF0aW0pIGlzIGxpc3Q6
CiAgICAgICAgICAgICAgICAgICAgZm9yIGZwIGluIGF1eF9maWxlc19wYXR0ZXJuX3ZlcmJhdGlt
OgogICAgICAgICAgICAgICAgICAgICAgICB0aGVfZmlsZXMuYXBwZW5kKGZwICUgbS5ncm91cCgx
KSkKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgdGhlX2ZpbGVzLmFw
cGVuZChhdXhfZmlsZXNfcGF0dGVybl92ZXJiYXRpbSAlIG0uZ3JvdXAoMSkpCiAgICAgICAgICAg
IGQuc2V0VmFyKCdGSUxFU18nICsgcGtnLCAiICIuam9pbih0aGVfZmlsZXMpKQogICAgICAgIGVs
c2U6CiAgICAgICAgICAgIGQuc2V0VmFyKCdGSUxFU18nICsgcGtnLCBvbGRmaWxlcyArICIgIiAr
IG5ld2ZpbGUpCiAgICAgICAgaWYgZXh0cmFfZGVwZW5kcyAhPSAnJzoKICAgICAgICAgICAgZC5h
cHBlbmRWYXIoJ1JERVBFTkRTXycgKyBwa2csICcgJyArIGV4dHJhX2RlcGVuZHMpCiAgICAgICAg
aWYgbm90IGQuZ2V0VmFyKCdERVNDUklQVElPTl8nICsgcGtnKToKICAgICAgICAgICAgZC5zZXRW
YXIoJ0RFU0NSSVBUSU9OXycgKyBwa2csIGRlc2NyaXB0aW9uICUgb24pCiAgICAgICAgaWYgbm90
IGQuZ2V0VmFyKCdTVU1NQVJZXycgKyBwa2cpOgogICAgICAgICAgICBkLnNldFZhcignU1VNTUFS
WV8nICsgcGtnLCBzdW1tYXJ5ICUgb24pCiAgICAgICAgaWYgcG9zdGluc3Q6CiAgICAgICAgICAg
IGQuc2V0VmFyKCdwa2dfcG9zdGluc3RfJyArIHBrZywgcG9zdGluc3QpCiAgICAgICAgaWYgcG9z
dHJtOgogICAgICAgICAgICBkLnNldFZhcigncGtnX3Bvc3RybV8nICsgcGtnLCBwb3N0cm0pCiAg
ICAgICAgaWYgY2FsbGFibGUoaG9vayk6CiAgICAgICAgICAgIGhvb2soZiwgcGtnLCBmaWxlX3Jl
Z2V4LCBvdXRwdXRfcGF0dGVybiwgbS5ncm91cCgxKSkKCiAgICBkLnNldFZhcignUEFDS0FHRVMn
LCAnICcuam9pbihwYWNrYWdlcykpCiAgICByZXR1cm4gbGlzdChzcGxpdF9wYWNrYWdlcykKfQoK
CnB5dGhvbiBkb191bnBhY2sgKCkgewogICAgYmIuYnVpbGQuZXhlY19mdW5jKCdiYXNlX2RvX3Vu
cGFjaycsIGQpCn0KCgpweXRob24gZW1pdF9wa2dkYXRhICgpIHsKICAgIGZyb20gZ2xvYiBpbXBv
cnQgZ2xvYgogICAgaW1wb3J0IGpzb24KCiAgICBkZWYgcHJvY2Vzc19wb3N0aW5zdF9vbl90YXJn
ZXQocGtnLCBtbHByZWZpeCk6CiAgICAgICAgcGtndmFsID0gZC5nZXRWYXIoJ1BLR18lcycgJSBw
a2cpCiAgICAgICAgaWYgcGtndmFsIGlzIE5vbmU6CiAgICAgICAgICAgIHBrZ3ZhbCA9IHBrZwoK
ICAgICAgICBkZWZlcl9mcmFnbWVudCA9ICIiIgppZiBbIC1uICIkRCIgXTsgdGhlbgogICAgJElO
VEVSQ0VQVF9ESVIvcG9zdGluc3RfaW50ZXJjZXB0IGRlbGF5X3RvX2ZpcnN0X2Jvb3QgJXMgbWxw
cmVmaXg9JXMKICAgIGV4aXQgMApmaQoiIiIgJSAocGtndmFsLCBtbHByZWZpeCkKCiAgICAgICAg
cG9zdGluc3QgPSBkLmdldFZhcigncGtnX3Bvc3RpbnN0XyVzJyAlIHBrZykKICAgICAgICBwb3N0
aW5zdF9vbnRhcmdldCA9IGQuZ2V0VmFyKCdwa2dfcG9zdGluc3Rfb250YXJnZXRfJXMnICUgcGtn
KQoKICAgICAgICBpZiBwb3N0aW5zdF9vbnRhcmdldDoKICAgICAgICAgICAgYmIuZGVidWcoMSwg
J2FkZGluZyBkZWZlcnJlZCBwa2dfcG9zdGluc3Rfb250YXJnZXQoKSB0byBwa2dfcG9zdGluc3Qo
KSBmb3IgJXMnICUgcGtnKQogICAgICAgICAgICBpZiBub3QgcG9zdGluc3Q6CiAgICAgICAgICAg
ICAgICBwb3N0aW5zdCA9ICcjIS9iaW4vc2hcbicKICAgICAgICAgICAgcG9zdGluc3QgKz0gZGVm
ZXJfZnJhZ21lbnQKICAgICAgICAgICAgcG9zdGluc3QgKz0gcG9zdGluc3Rfb250YXJnZXQKICAg
ICAgICAgICAgZC5zZXRWYXIoJ3BrZ19wb3N0aW5zdF8lcycgJSBwa2csIHBvc3RpbnN0KQoKICAg
IGRlZiBhZGRfc2V0X2VfdG9fc2NyaXB0bGV0cyhwa2cpOgogICAgICAgIGZvciBzY3JpcHRsZXRf
bmFtZSBpbiAoJ3BrZ19wcmVpbnN0JywgJ3BrZ19wb3N0aW5zdCcsICdwa2dfcHJlcm0nLCAncGtn
X3Bvc3RybScpOgogICAgICAgICAgICBzY3JpcHRsZXQgPSBkLmdldFZhcignJXNfJXMnICUgKHNj
cmlwdGxldF9uYW1lLCBwa2cpKQogICAgICAgICAgICBpZiBzY3JpcHRsZXQ6CiAgICAgICAgICAg
ICAgICBzY3JpcHRsZXRfc3BsaXQgPSBzY3JpcHRsZXQuc3BsaXQoJ1xuJykKICAgICAgICAgICAg
ICAgIGlmIHNjcmlwdGxldF9zcGxpdFswXS5zdGFydHN3aXRoKCIjISIpOgogICAgICAgICAgICAg
ICAgICAgIHNjcmlwdGxldCA9IHNjcmlwdGxldF9zcGxpdFswXSArICJcbnNldCAtZVxuIiArICJc
biIuam9pbihzY3JpcHRsZXRfc3BsaXRbMTpdKQogICAgICAgICAgICAgICAgZWxzZToKICAgICAg
ICAgICAgICAgICAgICBzY3JpcHRsZXQgPSAic2V0IC1lXG4iICsgIlxuIi5qb2luKHNjcmlwdGxl
dF9zcGxpdFswOl0pCiAgICAgICAgICAgIGQuc2V0VmFyKCclc18lcycgJSAoc2NyaXB0bGV0X25h
bWUsIHBrZyksIHNjcmlwdGxldCkKCiAgICBkZWYgd3JpdGVfaWZfZXhpc3RzKGYsIHBrZywgdmFy
KToKICAgICAgICBkZWYgZW5jb2RlKHN0cik6CiAgICAgICAgICAgIGltcG9ydCBjb2RlY3MKICAg
ICAgICAgICAgYyA9IGNvZGVjcy5nZXRlbmNvZGVyKCJ1bmljb2RlX2VzY2FwZSIpCiAgICAgICAg
ICAgIHJldHVybiBjKHN0cilbMF0uZGVjb2RlKCJsYXRpbjEiKQoKICAgICAgICB2YWwgPSBkLmdl
dFZhcignJXNfJXMnICUgKHZhciwgcGtnKSkKICAgICAgICBpZiB2YWw6CiAgICAgICAgICAgIGYu
d3JpdGUoJyVzXyVzOiAlc1xuJyAlICh2YXIsIHBrZywgZW5jb2RlKHZhbCkpKQogICAgICAgICAg
ICByZXR1cm4gdmFsCiAgICAgICAgdmFsID0gZC5nZXRWYXIoJyVzJyAlICh2YXIpKQogICAgICAg
IGlmIHZhbDoKICAgICAgICAgICAgZi53cml0ZSgnJXM6ICVzXG4nICUgKHZhciwgZW5jb2RlKHZh
bCkpKQogICAgICAgIHJldHVybiB2YWwKCiAgICBkZWYgd3JpdGVfZXh0cmFfcGtncyh2YXJpYW50
cywgcG4sIHBhY2thZ2VzLCBwa2dkYXRhZGlyKToKICAgICAgICBmb3IgdmFyaWFudCBpbiB2YXJp
YW50czoKICAgICAgICAgICAgd2l0aCBvcGVuKCIlcy8lcy0lcyIgJSAocGtnZGF0YWRpciwgdmFy
aWFudCwgcG4pLCAndycpIGFzIGZkOgogICAgICAgICAgICAgICAgZmQud3JpdGUoIlBBQ0tBR0VT
OiAlc1xuIiAlICcgJy5qb2luKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwKGxhbWJk
YSBwa2c6ICclcy0lcycgJSAodmFyaWFudCwgcGtnKSwgcGFja2FnZXMuc3BsaXQoKSkpKQoKICAg
IGRlZiB3cml0ZV9leHRyYV9ydW50aW1lX3BrZ3ModmFyaWFudHMsIHBhY2thZ2VzLCBwa2dkYXRh
ZGlyKToKICAgICAgICBmb3IgdmFyaWFudCBpbiB2YXJpYW50czoKICAgICAgICAgICAgZm9yIHBr
ZyBpbiBwYWNrYWdlcy5zcGxpdCgpOgogICAgICAgICAgICAgICAgbWxfcGtnID0gIiVzLSVzIiAl
ICh2YXJpYW50LCBwa2cpCiAgICAgICAgICAgICAgICBzdWJkYXRhX2ZpbGUgPSAiJXMvcnVudGlt
ZS8lcyIgJSAocGtnZGF0YWRpciwgbWxfcGtnKQogICAgICAgICAgICAgICAgd2l0aCBvcGVuKHN1
YmRhdGFfZmlsZSwgJ3cnKSBhcyBmZDoKICAgICAgICAgICAgICAgICAgICBmZC53cml0ZSgiUEtH
XyVzOiAlcyIgJSAobWxfcGtnLCBwa2cpKQoKICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tB
R0VTJykKICAgIHBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcpCiAgICBwa2dkYXRhZGlyID0g
ZC5nZXRWYXIoJ1BLR0RFU1RXT1JLJykKCiAgICBkYXRhX2ZpbGUgPSBwa2dkYXRhZGlyICsgZC5l
eHBhbmQoIi8ke1BOfSIgKQogICAgZiA9IG9wZW4oZGF0YV9maWxlLCAndycpCiAgICBmLndyaXRl
KCJQQUNLQUdFUzogJXNcbiIgJSBwYWNrYWdlcykKICAgIGYuY2xvc2UoKQoKICAgIHBuID0gZC5n
ZXRWYXIoJ1BOJykKICAgIGdsb2JhbF92YXJpYW50cyA9IChkLmdldFZhcignTVVMVElMSUJfR0xP
QkFMX1ZBUklBTlRTJykgb3IgIiIpLnNwbGl0KCkKICAgIHZhcmlhbnRzID0gKGQuZ2V0VmFyKCdN
VUxUSUxJQl9WQVJJQU5UUycpIG9yICIiKS5zcGxpdCgpCgogICAgaWYgYmIuZGF0YS5pbmhlcml0
c19jbGFzcygna2VybmVsJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbW9kdWxlLWJh
c2UnLCBkKToKICAgICAgICB3cml0ZV9leHRyYV9wa2dzKHZhcmlhbnRzLCBwbiwgcGFja2FnZXMs
IHBrZ2RhdGFkaXIpCgogICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnYWxsYXJjaCcsIGQp
IGFuZCBub3QgdmFyaWFudHMgXAogICAgICAgIGFuZCBub3QgYmIuZGF0YS5pbmhlcml0c19jbGFz
cygncGFja2FnZWdyb3VwJywgZCk6CiAgICAgICAgd3JpdGVfZXh0cmFfcGtncyhnbG9iYWxfdmFy
aWFudHMsIHBuLCBwYWNrYWdlcywgcGtnZGF0YWRpcikKCiAgICB3b3JrZGlyID0gZC5nZXRWYXIo
J1dPUktESVInKQoKICAgIGZvciBwa2cgaW4gcGFja2FnZXMuc3BsaXQoKToKICAgICAgICBwa2d2
YWwgPSBkLmdldFZhcignUEtHXyVzJyAlIHBrZykKICAgICAgICBpZiBwa2d2YWwgaXMgTm9uZToK
ICAgICAgICAgICAgcGtndmFsID0gcGtnCiAgICAgICAgICAgIGQuc2V0VmFyKCdQS0dfJXMnICUg
cGtnLCBwa2cpCgogICAgICAgIHBrZ2Rlc3Rwa2cgPSBvcy5wYXRoLmpvaW4ocGtnZGVzdCwgcGtn
KQogICAgICAgIGZpbGVzID0ge30KICAgICAgICB0b3RhbF9zaXplID0gMAogICAgICAgIHNlZW4g
PSBzZXQoKQogICAgICAgIGZvciBmIGluIHBrZ2ZpbGVzW3BrZ106CiAgICAgICAgICAgIHJlbHB0
aCA9IG9zLnBhdGgucmVscGF0aChmLCBwa2dkZXN0cGtnKQogICAgICAgICAgICBmc3RhdCA9IG9z
LmxzdGF0KGYpCiAgICAgICAgICAgIGZpbGVzW29zLnNlcCArIHJlbHB0aF0gPSBmc3RhdC5zdF9z
aXplCiAgICAgICAgICAgIGlmIGZzdGF0LnN0X2lubyBub3QgaW4gc2VlbjoKICAgICAgICAgICAg
ICAgIHNlZW4uYWRkKGZzdGF0LnN0X2lubykKICAgICAgICAgICAgICAgIHRvdGFsX3NpemUgKz0g
ZnN0YXQuc3Rfc2l6ZQogICAgICAgIGQuc2V0VmFyKCdGSUxFU19JTkZPJywganNvbi5kdW1wcyhm
aWxlcywgc29ydF9rZXlzPVRydWUpKQoKICAgICAgICBwcm9jZXNzX3Bvc3RpbnN0X29uX3Rhcmdl
dChwa2csIGQuZ2V0VmFyKCJNTFBSRUZJWCIpKQogICAgICAgIGFkZF9zZXRfZV90b19zY3JpcHRs
ZXRzKHBrZykKCiAgICAgICAgc3ViZGF0YV9maWxlID0gcGtnZGF0YWRpciArICIvcnVudGltZS8l
cyIgJSBwa2cKICAgICAgICB3aXRoIG9wZW4oc3ViZGF0YV9maWxlLCAndycpIGFzIHNmOgogICAg
ICAgICAgICBmb3IgdmFyIGluIChkLmdldFZhcignUEtHREFUQV9WQVJTJykgb3IgIiIpLnNwbGl0
KCk6CiAgICAgICAgICAgICAgICB2YWwgPSB3cml0ZV9pZl9leGlzdHMoc2YsIHBrZywgdmFyKQoK
ICAgICAgICAgICAgd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdGSUxFUlBST1ZJREVTRkxJU1Qn
KQogICAgICAgICAgICBmb3IgZGZpbGUgaW4gKGQuZ2V0VmFyKCdGSUxFUlBST1ZJREVTRkxJU1Rf
JyArIHBrZykgb3IgIiIpLnNwbGl0KCk6CiAgICAgICAgICAgICAgICB3cml0ZV9pZl9leGlzdHMo
c2YsIHBrZywgJ0ZJTEVSUFJPVklERVNfJyArIGRmaWxlKQoKICAgICAgICAgICAgd3JpdGVfaWZf
ZXhpc3RzKHNmLCBwa2csICdGSUxFUkRFUEVORFNGTElTVCcpCiAgICAgICAgICAgIGZvciBkZmls
ZSBpbiAoZC5nZXRWYXIoJ0ZJTEVSREVQRU5EU0ZMSVNUXycgKyBwa2cpIG9yICIiKS5zcGxpdCgp
OgogICAgICAgICAgICAgICAgd3JpdGVfaWZfZXhpc3RzKHNmLCBwa2csICdGSUxFUkRFUEVORFNf
JyArIGRmaWxlKQoKICAgICAgICAgICAgc2Yud3JpdGUoJyVzXyVzOiAlZFxuJyAlICgnUEtHU0la
RScsIHBrZywgdG90YWxfc2l6ZSkpCgogICAgICAgICMgU3ltbGlua3MgbmVlZGVkIGZvciBycHJv
dmlkZXMgbG9va3VwCiAgICAgICAgcnByb3YgPSBkLmdldFZhcignUlBST1ZJREVTXyVzJyAlIHBr
Zykgb3IgZC5nZXRWYXIoJ1JQUk9WSURFUycpCiAgICAgICAgaWYgcnByb3Y6CiAgICAgICAgICAg
IGZvciBwIGluIHJwcm92LnN0cmlwKCkuc3BsaXQoKToKICAgICAgICAgICAgICAgIHN1YmRhdGFf
c3ltID0gcGtnZGF0YWRpciArICIvcnVudGltZS1ycHJvdmlkZXMvJXMvJXMiICUgKHAsIHBrZykK
ICAgICAgICAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihvcy5wYXRoLmRpcm5hbWUoc3ViZGF0
YV9zeW0pKQogICAgICAgICAgICAgICAgb2UucGF0aC5zeW1saW5rKCIuLi8uLi9ydW50aW1lLyVz
IiAlIHBrZywgc3ViZGF0YV9zeW0sIFRydWUpCgogICAgICAgIGFsbG93X2VtcHR5ID0gZC5nZXRW
YXIoJ0FMTE9XX0VNUFRZXyVzJyAlIHBrZykKICAgICAgICBpZiBub3QgYWxsb3dfZW1wdHk6CiAg
ICAgICAgICAgIGFsbG93X2VtcHR5ID0gZC5nZXRWYXIoJ0FMTE9XX0VNUFRZJykKICAgICAgICBy
b290ID0gIiVzLyVzIiAlIChwa2dkZXN0LCBwa2cpCiAgICAgICAgb3MuY2hkaXIocm9vdCkKICAg
ICAgICBnID0gZ2xvYignKicpCiAgICAgICAgaWYgZyBvciBhbGxvd19lbXB0eSA9PSAiMSI6CiAg
ICAgICAgICAgICMgU3ltbGlua3MgbmVlZGVkIGZvciByZXZlcnNlIGxvb2t1cHMgKGZyb20gdGhl
IGZpbmFsIHBhY2thZ2UgbmFtZSkKICAgICAgICAgICAgc3ViZGF0YV9zeW0gPSBwa2dkYXRhZGly
ICsgIi9ydW50aW1lLXJldmVyc2UvJXMiICUgcGtndmFsCiAgICAgICAgICAgIG9lLnBhdGguc3lt
bGluaygiLi4vcnVudGltZS8lcyIgJSBwa2csIHN1YmRhdGFfc3ltLCBUcnVlKQoKICAgICAgICAg
ICAgcGFja2FnZWRmaWxlID0gcGtnZGF0YWRpciArICcvcnVudGltZS8lcy5wYWNrYWdlZCcgJSBw
a2cKICAgICAgICAgICAgb3BlbihwYWNrYWdlZGZpbGUsICd3JykuY2xvc2UoKQoKICAgIGlmIGJi
LmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2tlcm5lbCcsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xh
c3MoJ21vZHVsZS1iYXNlJywgZCk6CiAgICAgICAgd3JpdGVfZXh0cmFfcnVudGltZV9wa2dzKHZh
cmlhbnRzLCBwYWNrYWdlcywgcGtnZGF0YWRpcikKCiAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2Ns
YXNzKCdhbGxhcmNoJywgZCkgYW5kIG5vdCB2YXJpYW50cyBcCiAgICAgICAgYW5kIG5vdCBiYi5k
YXRhLmluaGVyaXRzX2NsYXNzKCdwYWNrYWdlZ3JvdXAnLCBkKToKICAgICAgICB3cml0ZV9leHRy
YV9ydW50aW1lX3BrZ3MoZ2xvYmFsX3ZhcmlhbnRzLCBwYWNrYWdlcywgcGtnZGF0YWRpcikKCn0K
CgpweXRob24gZW1pdF90ZXJtaW5hbF9mdW5jICgpIHsKZGVmIGVtaXRfdGVybWluYWxfZnVuYyhj
b21tYW5kLCBlbnZkYXRhLCBkKToKICAgIGltcG9ydCBiYi5idWlsZAogICAgY21kX2Z1bmMgPSAn
ZG9fdGVybWluYWwnCgogICAgZW52ZGF0YS5zZXRWYXIoY21kX2Z1bmMsICdleGVjICcgKyBjb21t
YW5kKQogICAgZW52ZGF0YS5zZXRWYXJGbGFnKGNtZF9mdW5jLCAnZnVuYycsICcxJykKCiAgICBy
dW5mbXQgPSBkLmdldFZhcignQkJfUlVORk1UJykgb3IgInJ1bi57ZnVuY30ue3BpZH0iCiAgICBy
dW5maWxlID0gcnVuZm10LmZvcm1hdChmdW5jPWNtZF9mdW5jLCB0YXNrPWNtZF9mdW5jLCB0YXNr
ZnVuYz1jbWRfZnVuYywgcGlkPW9zLmdldHBpZCgpKQogICAgcnVuZmlsZSA9IG9zLnBhdGguam9p
bihkLmdldFZhcignVCcpLCBydW5maWxlKQogICAgYmIudXRpbHMubWtkaXJoaWVyKG9zLnBhdGgu
ZGlybmFtZShydW5maWxlKSkKCiAgICB3aXRoIG9wZW4ocnVuZmlsZSwgJ3cnKSBhcyBzY3JpcHQ6
CiAgICAgICAgc2NyaXB0LndyaXRlKGJiLmJ1aWxkLnNoZWxsX3RyYXBfY29kZSgpKQogICAgICAg
IGJiLmRhdGEuZW1pdF9mdW5jKGNtZF9mdW5jLCBzY3JpcHQsIGVudmRhdGEpCiAgICAgICAgc2Ny
aXB0LndyaXRlKGNtZF9mdW5jKQogICAgICAgIHNjcmlwdC53cml0ZSgiXG4iKQogICAgb3MuY2ht
b2QocnVuZmlsZSwgMG83NTUpCgogICAgcmV0dXJuIHJ1bmZpbGUKfQoKCnB5dGhvbiBlbmFibGVf
dW5pbmF0aXZlICgpIHsKZGVmIGVuYWJsZV91bmluYXRpdmUoZCk6CiAgICBsb2FkZXIgPSBkLmdl
dFZhcigiVU5JTkFUSVZFX0xPQURFUiIpCiAgICBpZiBvcy5wYXRoLmV4aXN0cyhsb2FkZXIpOgog
ICAgICAgIGJiLmRlYnVnKDIsICJFbmFibGluZyB1bmluYXRpdmUiKQogICAgICAgIGQuc2V0VmFy
KCJOQVRJVkVMU0JTVFJJTkciLCAidW5pdmVyc2FsJXMiICUgb2UudXRpbHMuaG9zdF9nY2NfdmVy
c2lvbihkKSkKICAgICAgICBkLmFwcGVuZFZhcigiU1NUQVRFUE9TVFVOUEFDS0ZVTkNTIiwgIiB1
bmluYXRpdmVfY2hhbmdlaW50ZXJwIikKICAgICAgICBkLmFwcGVuZFZhckZsYWcoIlNTVEFURVBP
U1RVTlBBQ0tGVU5DUyIsICJ2YXJkZXB2YWx1ZWV4Y2x1ZGUiLCAifCB1bmluYXRpdmVfY2hhbmdl
aW50ZXJwIikKICAgICAgICBkLmFwcGVuZFZhcigiQlVJTERfTERGTEFHUyIsICIgLVdsLC0tYWxs
b3ctc2hsaWItdW5kZWZpbmVkIC1XbCwtLWR5bmFtaWMtbGlua2VyPSR7VU5JTkFUSVZFX0xPQURF
Un0iKQogICAgICAgIGQuYXBwZW5kVmFyRmxhZygiQlVJTERfTERGTEFHUyIsICJ2YXJkZXB2YWx1
ZWV4Y2x1ZGUiLCAifCAtV2wsLS1hbGxvdy1zaGxpYi11bmRlZmluZWQgLVdsLC0tZHluYW1pYy1s
aW5rZXI9JHtVTklOQVRJVkVfTE9BREVSfSIpCiAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCJCVUlM
RF9MREZMQUdTIiwgInZhcmRlcHNleGNsdWRlIiwgIlVOSU5BVElWRV9MT0FERVIiKQogICAgICAg
IGQucHJlcGVuZFZhcigiUEFUSCIsICIke1NUQUdJTkdfRElSfS11bmluYXRpdmUvJHtCVUlMRF9B
UkNIfS1saW51eCR7YmluZGlyX25hdGl2ZX06IikKfQoKCnB5dGhvbiBleHBhbmRfd2lsZGNhcmRf
bGljZW5zZXMgKCkgewpkZWYgZXhwYW5kX3dpbGRjYXJkX2xpY2Vuc2VzKGQsIHdpbGRjYXJkX2xp
Y2Vuc2VzKToKICAgICIiIgogICAgUmV0dXJuIGFjdHVhbCBzcGR4IGZvcm1hdCBsaWNlbnNlIG5h
bWVzIGlmIHdpbGRjYXJkIHVzZWQuIFdlIGV4cGFuZAogICAgd2lsZGNhcmRzIGZyb20gU1BEWExJ
Q0VOU0VNQVAgZmxhZ3MgYW5kIFNSQ19ESVNUUklCVVRFX0xJQ0VOU0VTIHZhbHVlcy4KICAgICIi
IgogICAgaW1wb3J0IGZubWF0Y2gKICAgIGxpY2Vuc2VzID0gd2lsZGNhcmRfbGljZW5zZXNbOl0K
ICAgIHNwZHhtYXBrZXlzID0gZC5nZXRWYXJGbGFncygnU1BEWExJQ0VOU0VNQVAnKS5rZXlzKCkK
ICAgIGZvciB3bGRfbGljIGluIHdpbGRjYXJkX2xpY2Vuc2VzOgogICAgICAgIHNwZHhmbGFncyA9
IGZubWF0Y2guZmlsdGVyKHNwZHhtYXBrZXlzLCB3bGRfbGljKQogICAgICAgIGxpY2Vuc2VzICs9
IFtkLmdldFZhckZsYWcoJ1NQRFhMSUNFTlNFTUFQJywgZmxhZykgZm9yIGZsYWcgaW4gc3BkeGZs
YWdzXQoKICAgIHNwZHhfbGljcyA9IChkLmdldFZhcignU1JDX0RJU1RSSUJVVEVfTElDRU5TRVMn
LCBGYWxzZSkgb3IgJycpLnNwbGl0KCkKICAgIGZvciB3bGRfbGljIGluIHdpbGRjYXJkX2xpY2Vu
c2VzOgogICAgICAgIGxpY2Vuc2VzICs9IGZubWF0Y2guZmlsdGVyKHNwZHhfbGljcywgd2xkX2xp
YykKCiAgICBsaWNlbnNlcyA9IGxpc3Qoc2V0KGxpY2Vuc2VzKSkKICAgIHJldHVybiBsaWNlbnNl
cwp9CgoKcHl0aG9uIGV4cGxvZGVfZGVwcyAoKSB7CmRlZiBleHBsb2RlX2RlcHMocyk6CiAgICBy
ZXR1cm4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKHMpCn0KCgpweXRob24gZXh0ZW5kX3JlY2lwZV9z
eXNyb290ICgpIHsKICAgIGltcG9ydCBjb3B5CiAgICBpbXBvcnQgc3VicHJvY2VzcwogICAgaW1w
b3J0IGVycm5vCiAgICBpbXBvcnQgY29sbGVjdGlvbnMKICAgIGltcG9ydCBnbG9iCgogICAgdGFz
a2RlcGRhdGEgPSBkLmdldFZhcigiQkJfVEFTS0RFUERBVEEiLCBGYWxzZSkKICAgIG15dGFza25h
bWUgPSBkLmdldFZhcigiQkJfUlVOVEFTSyIpCiAgICBpZiBteXRhc2tuYW1lLmVuZHN3aXRoKCJf
c2V0c2NlbmUiKToKICAgICAgICBteXRhc2tuYW1lID0gbXl0YXNrbmFtZS5yZXBsYWNlKCJfc2V0
c2NlbmUiLCAiIikKICAgIHdvcmtkaXIgPSBkLmdldFZhcigiV09SS0RJUiIpCiAgICAjYmIud2Fy
bihzdHIodGFza2RlcGRhdGEpKQogICAgcG4gPSBkLmdldFZhcigiUE4iKQogICAgc3RhZ2luZ2Rp
ciA9IGQuZ2V0VmFyKCJTVEFHSU5HX0RJUiIpCiAgICBzaGFyZWRtYW5pZmVzdHMgPSBkLmdldFZh
cigiQ09NUE9ORU5UU19ESVIiKSArICIvbWFuaWZlc3RzIgogICAgcmVjaXBlc3lzcm9vdCA9IGQu
Z2V0VmFyKCJSRUNJUEVfU1lTUk9PVCIpCiAgICByZWNpcGVzeXNyb290bmF0aXZlID0gZC5nZXRW
YXIoIlJFQ0lQRV9TWVNST09UX05BVElWRSIpCgogICAgIyBEZXRlY3QgYml0YmFrZSAtYiB1c2Fn
ZQogICAgbm9kZXBzID0gZC5nZXRWYXIoIkJCX0xJTUlURURERVBTIikgb3IgRmFsc2UKICAgIGlm
IG5vZGVwczoKICAgICAgICBsb2NrID0gYmIudXRpbHMubG9ja2ZpbGUocmVjaXBlc3lzcm9vdCAr
ICIvc3lzcm9vdC5sb2NrIikKICAgICAgICBzdGFnaW5nX3BvcHVsYXRlX3N5c3Jvb3RfZGlyKHJl
Y2lwZXN5c3Jvb3QsIHJlY2lwZXN5c3Jvb3RuYXRpdmUsIFRydWUsIGQpCiAgICAgICAgc3RhZ2lu
Z19wb3B1bGF0ZV9zeXNyb290X2RpcihyZWNpcGVzeXNyb290LCByZWNpcGVzeXNyb290bmF0aXZl
LCBGYWxzZSwgZCkKICAgICAgICBiYi51dGlscy51bmxvY2tmaWxlKGxvY2spCiAgICAgICAgcmV0
dXJuCgogICAgc3RhcnQgPSBOb25lCiAgICBjb25maWd1cmVkZXBzID0gW10KICAgIGZvciBkZXAg
aW4gdGFza2RlcGRhdGE6CiAgICAgICAgZGF0YSA9IHRhc2tkZXBkYXRhW2RlcF0KICAgICAgICBp
ZiBkYXRhWzFdID09IG15dGFza25hbWUgYW5kIGRhdGFbMF0gPT0gcG46CiAgICAgICAgICAgIHN0
YXJ0ID0gZGVwCiAgICAgICAgICAgIGJyZWFrCiAgICBpZiBzdGFydCBpcyBOb25lOgogICAgICAg
IGJiLmZhdGFsKCJDb3VsZG4ndCBmaW5kIG91cnNlbGYgaW4gQkJfVEFTS0RFUERBVEE/IikKCiAg
ICAjIFdlIG5lZWQgdG8gZmlndXJlIG91dCB3aGljaCBzeXNyb290IGZpbGVzIHdlIG5lZWQgdG8g
ZXhwb3NlIHRvIHRoaXMgdGFzay4KICAgICMgVGhpcyBuZWVkcyB0byBtYXRjaCB3aGF0IHdvdWxk
IGdldCByZXN0b3JlZCBmcm9tIHNzdGF0ZSwgd2hpY2ggaXMgY29udHJvbGxlZAogICAgIyB1bHRp
bWF0ZWx5IGJ5IGNhbGxzIGZyb20gYml0YmFrZSB0byBzZXRzY2VuZV9kZXB2YWxpZCgpLgogICAg
IyBUaGF0IGZ1bmN0aW9uIGV4cGVjdHMgYSBzZXRzY2VuZSBkZXBlbmRlbmN5IHRyZWUuIFdlIGJ1
aWxkIGEgZGVwZW5kZW5jeSB0cmVlCiAgICAjIGNvbmRlbnNlZCB0byBpbnRlci1zc3RhdGUgdGFz
ayBkZXBlbmRlbmNpZXMsIHNpbWlsYXIgdG8gdGhhdCB1c2VkIGJ5IHNldHNjZW5lCiAgICAjIHRh
c2tzLiBXZSBjYW4gdGhlbiBjYWxsIGludG8gc2V0c2NlbmVfZGVwdmFsaWQoKSBhbmQgZGVjaWRl
CiAgICAjIHdoaWNoIGRlcGVuZGVuY2llcyB3ZSBjYW4gInNlZSIgYW5kIHNob3VsZCBleHBvc2Ug
aW4gdGhlIHJlY2lwZSBzcGVjaWZpYyBzeXNyb290LgogICAgc2V0c2NlbmVkZXBzID0gY29weS5k
ZWVwY29weSh0YXNrZGVwZGF0YSkKCiAgICBzdGFydCA9IHNldChbc3RhcnRdKQoKICAgIHNzdGF0
ZXRhc2tzID0gZC5nZXRWYXIoIlNTVEFURVRBU0tTIikuc3BsaXQoKQogICAgIyBBZGQgcmVjaXBl
IHNwZWNpZmljIHRhc2tzIHJlZmVyZW5jZWQgYnkgc2V0c2NlbmVfZGVwdmFsaWQoKQogICAgc3N0
YXRldGFza3MuYXBwZW5kKCJkb19zdGFzaF9sb2NhbGUiKQoKICAgIGRlZiBwcmludF9kZXBfdHJl
ZShkZXB0cmVlKToKICAgICAgICBkYXRhID0gIiIKICAgICAgICBmb3IgZGVwIGluIGRlcHRyZWU6
CiAgICAgICAgICAgIGRlcHMgPSAiICAgICIgKyAiXG4gICAgIi5qb2luKGRlcHRyZWVbZGVwXVsz
XSkgKyAiXG4iCiAgICAgICAgICAgIGRhdGEgPSBkYXRhICsgIiVzOlxuICAlc1xuICAlc1xuJXMg
ICVzXG4gICVzXG4iICUgKGRlcHRyZWVbZGVwXVswXSwgZGVwdHJlZVtkZXBdWzFdLCBkZXB0cmVl
W2RlcF1bMl0sIGRlcHMsIGRlcHRyZWVbZGVwXVs0XSwgZGVwdHJlZVtkZXBdWzVdKQogICAgICAg
IHJldHVybiBkYXRhCgogICAgI2JiLm5vdGUoIkZ1bGwgZGVwIHRyZWUgaXM6XG4lcyIgJSBwcmlu
dF9kZXBfdHJlZSh0YXNrZGVwZGF0YSkpCgogICAgI2JiLm5vdGUoIiBzdGFydDIgaXMgJXMiICUg
c3RyKHN0YXJ0KSkKCiAgICAjIElmIHN0YXJ0IGlzIGFuIHNzdGF0ZSB0YXNrIChsaWtlIGRvX3Bh
Y2thZ2UpIHdlIG5lZWQgdG8gYWRkIGluIGl0cyBkaXJlY3QgZGVwZW5kZW5jaWVzCiAgICAjIGVs
c2UgdGhlIGNvZGUgYmVsb3cgd29uJ3QgcmVjdXJzZSBpbnRvIHRoZW0uCiAgICBmb3IgZGVwIGlu
IHNldChzdGFydCk6CiAgICAgICAgZm9yIGRlcDIgaW4gc2V0c2NlbmVkZXBzW2RlcF1bM106CiAg
ICAgICAgICAgIHN0YXJ0LmFkZChkZXAyKQogICAgICAgIHN0YXJ0LnJlbW92ZShkZXApCgogICAg
I2JiLm5vdGUoIiBzdGFydDMgaXMgJXMiICUgc3RyKHN0YXJ0KSkKCiAgICAjIENyZWF0ZSBjb2xs
YXBzZWQgZG9fcG9wdWxhdGVfc3lzcm9vdCAtPiBkb19wb3B1bGF0ZV9zeXNyb290IHRyZWUKICAg
IGZvciBkZXAgaW4gdGFza2RlcGRhdGE6CiAgICAgICAgZGF0YSA9IHNldHNjZW5lZGVwc1tkZXBd
CiAgICAgICAgaWYgZGF0YVsxXSBub3QgaW4gc3N0YXRldGFza3M6CiAgICAgICAgICAgIGZvciBk
ZXAyIGluIHNldHNjZW5lZGVwczoKICAgICAgICAgICAgICAgIGRhdGEyID0gc2V0c2NlbmVkZXBz
W2RlcDJdCiAgICAgICAgICAgICAgICBpZiBkZXAgaW4gZGF0YTJbM106CiAgICAgICAgICAgICAg
ICAgICAgZGF0YTJbM10udXBkYXRlKHNldHNjZW5lZGVwc1tkZXBdWzNdKQogICAgICAgICAgICAg
ICAgICAgIGRhdGEyWzNdLnJlbW92ZShkZXApCiAgICAgICAgICAgIGlmIGRlcCBpbiBzdGFydDoK
ICAgICAgICAgICAgICAgIHN0YXJ0LnVwZGF0ZShzZXRzY2VuZWRlcHNbZGVwXVszXSkKICAgICAg
ICAgICAgICAgIHN0YXJ0LnJlbW92ZShkZXApCiAgICAgICAgICAgIGRlbCBzZXRzY2VuZWRlcHNb
ZGVwXQoKICAgICMgUmVtb3ZlIGNpcmN1bGFyIHJlZmVyZW5jZXMKICAgIGZvciBkZXAgaW4gc2V0
c2NlbmVkZXBzOgogICAgICAgIGlmIGRlcCBpbiBzZXRzY2VuZWRlcHNbZGVwXVszXToKICAgICAg
ICAgICAgc2V0c2NlbmVkZXBzW2RlcF1bM10ucmVtb3ZlKGRlcCkKCiAgICAjYmIubm90ZSgiQ29t
cHV0ZWQgZGVwIHRyZWUgaXM6XG4lcyIgJSBwcmludF9kZXBfdHJlZShzZXRzY2VuZWRlcHMpKQog
ICAgI2JiLm5vdGUoIiBzdGFydCBpcyAlcyIgJSBzdHIoc3RhcnQpKQoKICAgICMgRGlyZWN0IGRl
cGVuZGVuY2llcyBzaG91bGQgYmUgcHJlc2VudCBhbmQgY2FuIGJlIGRlcGVuZGVkIHVwb24KICAg
IGZvciBkZXAgaW4gc2V0KHN0YXJ0KToKICAgICAgICBpZiBzZXRzY2VuZWRlcHNbZGVwXVsxXSA9
PSAiZG9fcG9wdWxhdGVfc3lzcm9vdCI6CiAgICAgICAgICAgIGlmIGRlcCBub3QgaW4gY29uZmln
dXJlZGVwczoKICAgICAgICAgICAgICAgIGNvbmZpZ3VyZWRlcHMuYXBwZW5kKGRlcCkKICAgIGJi
Lm5vdGUoIkRpcmVjdCBkZXBlbmRlbmNpZXMgYXJlICVzIiAlIHN0cihjb25maWd1cmVkZXBzKSkK
ICAgICNiYi5ub3RlKCIgb3IgJXMiICUgc3RyKHN0YXJ0KSkKCiAgICBtc2didWYgPSBbXQogICAg
IyBDYWxsIGludG8gc2V0c2NlbmVfZGVwdmFsaWQgZm9yIGVhY2ggc3ViLWRlcGVuZGVuY3kgYW5k
IG9ubHkgY29weSBzeXNyb290IGZpbGVzCiAgICAjIGZvciBvbmVzIHRoYXQgd291bGQgYmUgcmVz
dG9yZWQgZnJvbSBzc3RhdGUuCiAgICBkb25lID0gbGlzdChzdGFydCkKICAgIG5leHQgPSBsaXN0
KHN0YXJ0KQogICAgd2hpbGUgbmV4dDoKICAgICAgICBuZXcgPSBbXQogICAgICAgIGZvciBkZXAg
aW4gbmV4dDoKICAgICAgICAgICAgZGF0YSA9IHNldHNjZW5lZGVwc1tkZXBdCiAgICAgICAgICAg
IGZvciBkYXRhZGVwIGluIGRhdGFbM106CiAgICAgICAgICAgICAgICBpZiBkYXRhZGVwIGluIGRv
bmU6CiAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgIHRhc2tkZXBz
ID0ge30KICAgICAgICAgICAgICAgIHRhc2tkZXBzW2RlcF0gPSBzZXRzY2VuZWRlcHNbZGVwXVs6
Ml0KICAgICAgICAgICAgICAgIHRhc2tkZXBzW2RhdGFkZXBdID0gc2V0c2NlbmVkZXBzW2RhdGFk
ZXBdWzoyXQogICAgICAgICAgICAgICAgcmV0dmFsID0gc2V0c2NlbmVfZGVwdmFsaWQoZGF0YWRl
cCwgdGFza2RlcHMsIFtdLCBkLCBtc2didWYpCiAgICAgICAgICAgICAgICBpZiByZXR2YWw6CiAg
ICAgICAgICAgICAgICAgICAgbXNnYnVmLmFwcGVuZCgiU2tpcHBpbmcgc2V0c2NlbmUgZGVwZW5k
ZW5jeSAlcyBmb3IgaW5zdGFsbGF0aW9uIGludG8gdGhlIHN5c3Jvb3QiICUgZGF0YWRlcCkKICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgZG9uZS5hcHBlbmQoZGF0
YWRlcCkKICAgICAgICAgICAgICAgIG5ldy5hcHBlbmQoZGF0YWRlcCkKICAgICAgICAgICAgICAg
IGlmIGRhdGFkZXAgbm90IGluIGNvbmZpZ3VyZWRlcHMgYW5kIHNldHNjZW5lZGVwc1tkYXRhZGVw
XVsxXSA9PSAiZG9fcG9wdWxhdGVfc3lzcm9vdCI6CiAgICAgICAgICAgICAgICAgICAgY29uZmln
dXJlZGVwcy5hcHBlbmQoZGF0YWRlcCkKICAgICAgICAgICAgICAgICAgICBtc2didWYuYXBwZW5k
KCJBZGRpbmcgZGVwZW5kZW5jeSBvbiAlcyIgJSBzZXRzY2VuZWRlcHNbZGF0YWRlcF1bMF0pCiAg
ICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIG1zZ2J1Zi5hcHBlbmQoIkZv
bGxvd2luZyBkZXBlbmRlbmN5IG9uICVzIiAlIHNldHNjZW5lZGVwc1tkYXRhZGVwXVswXSkKICAg
ICAgICBuZXh0ID0gbmV3CgogICAgIyBUaGlzIGxvZ2dpbmcgaXMgdG9vIHZlcmJvc2UgZm9yIGRh
eSB0byBkYXkgdXNlIHNhZGx5CiAgICAjYmIuZGVidWcoMiwgIlxuIi5qb2luKG1zZ2J1ZikpCgog
ICAgZGVwZGlyID0gcmVjaXBlc3lzcm9vdG5hdGl2ZSArICIvaW5zdGFsbGVkZGVwcyIKICAgIGJi
LnV0aWxzLm1rZGlyaGllcihkZXBkaXIpCiAgICBiYi51dGlscy5ta2RpcmhpZXIoc2hhcmVkbWFu
aWZlc3RzKQoKICAgIGxvY2sgPSBiYi51dGlscy5sb2NrZmlsZShyZWNpcGVzeXNyb290ICsgIi9z
eXNyb290LmxvY2siKQoKICAgIGZpeG1lID0ge30KICAgIHNlZW5kaXJzID0gc2V0KCkKICAgIHBv
c3RpbnN0cyA9IFtdCiAgICBtdWx0aWxpYnMgPSB7fQogICAgbWFuaWZlc3RzID0ge30KICAgICMg
QWxsIGZpbGVzIHRoYXQgd2UncmUgZ29pbmcgdG8gYmUgaW5zdGFsbGluZywgdG8gZmluZCBjb25m
bGljdHMuCiAgICBmaWxlc2V0ID0ge30KCiAgICBmb3IgZiBpbiBvcy5saXN0ZGlyKGRlcGRpcik6
CiAgICAgICAgaWYgbm90IGYuZW5kc3dpdGgoIi5jb21wbGV0ZSIpOgogICAgICAgICAgICBjb250
aW51ZQogICAgICAgIGYgPSBkZXBkaXIgKyAiLyIgKyBmCiAgICAgICAgaWYgb3MucGF0aC5pc2xp
bmsoZikgYW5kIG5vdCBvcy5wYXRoLmV4aXN0cyhmKToKICAgICAgICAgICAgYmIubm90ZSgiJXMg
bm8gbG9uZ2VyIGV4aXN0cywgcmVtb3ZpbmcgZnJvbSBzeXNyb290IiAlIGYpCiAgICAgICAgICAg
IGxuayA9IG9zLnJlYWRsaW5rKGYucmVwbGFjZSgiLmNvbXBsZXRlIiwgIiIpKQogICAgICAgICAg
ICBzc3RhdGVfY2xlYW5fbWFuaWZlc3QoZGVwZGlyICsgIi8iICsgbG5rLCBkLCB3b3JrZGlyKQog
ICAgICAgICAgICBvcy51bmxpbmsoZikKICAgICAgICAgICAgb3MudW5saW5rKGYucmVwbGFjZSgi
LmNvbXBsZXRlIiwgIiIpKQoKICAgIGluc3RhbGxlZCA9IFtdCiAgICBmb3IgZGVwIGluIGNvbmZp
Z3VyZWRlcHM6CiAgICAgICAgYyA9IHNldHNjZW5lZGVwc1tkZXBdWzBdCiAgICAgICAgaWYgbXl0
YXNrbmFtZSBpbiBbImRvX3Nka19kZXBlbmRzIiwgImRvX3BvcHVsYXRlX3Nka19leHQiXSBhbmQg
Yy5lbmRzd2l0aCgiLWluaXRpYWwiKToKICAgICAgICAgICAgYmIubm90ZSgiU2tpcHBpbmcgaW5p
dGlhbCBzZXRzY2VuZSBkZXBlbmRlbmN5ICVzIGZvciBpbnN0YWxsYXRpb24gaW50byB0aGUgc3lz
cm9vdCIgJSBjKQogICAgICAgICAgICBjb250aW51ZQogICAgICAgIGluc3RhbGxlZC5hcHBlbmQo
YykKCiAgICAjIFdlIHdhbnQgdG8gcmVtb3ZlIGFueXRoaW5nIHdoaWNoIHRoaXMgdGFzayBwcmV2
aW91c2x5IGluc3RhbGxlZCBidXQgaXMgbm8gbG9uZ2VyIGEgZGVwZW5kZW5jeQogICAgdGFza2lu
ZGV4ID0gZGVwZGlyICsgIi8iICsgImluZGV4LiIgKyBteXRhc2tuYW1lCiAgICBpZiBvcy5wYXRo
LmV4aXN0cyh0YXNraW5kZXgpOgogICAgICAgIHBvdGVudGlhbCA9IFtdCiAgICAgICAgd2l0aCBv
cGVuKHRhc2tpbmRleCwgInIiKSBhcyBmOgogICAgICAgICAgICBmb3IgbCBpbiBmOgogICAgICAg
ICAgICAgICAgbCA9IGwuc3RyaXAoKQogICAgICAgICAgICAgICAgaWYgbCBub3QgaW4gaW5zdGFs
bGVkOgogICAgICAgICAgICAgICAgICAgIGZsID0gZGVwZGlyICsgIi8iICsgbAogICAgICAgICAg
ICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhmbCk6CiAgICAgICAgICAgICAgICAgICAg
ICAgICMgV2FzIGxpa2VseSBhbHJlYWR5IHVuaW5zdGFsbGVkCiAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgcG90ZW50aWFsLmFwcGVuZChsKQogICAg
ICAgICMgV2UgbmVlZCB0byBlbnN1cmUgbm90IG90aGVyIHRhc2sgbmVlZHMgdGhpcyBkZXBlbmRl
bmN5LiBXZSBob2xkIHRoZSBzeXNyb290CiAgICAgICAgIyBsb2NrIHNvIHdlIGNhIHNlYXJjaCB0
aGUgaW5kZXhlcyB0byBjaGVjawogICAgICAgIGlmIHBvdGVudGlhbDoKICAgICAgICAgICAgZm9y
IGkgaW4gZ2xvYi5nbG9iKGRlcGRpciArICIvaW5kZXguKiIpOgogICAgICAgICAgICAgICAgaWYg
aS5lbmRzd2l0aCgiLiIgKyBteXRhc2tuYW1lKToKICAgICAgICAgICAgICAgICAgICBjb250aW51
ZQogICAgICAgICAgICAgICAgd2l0aCBvcGVuKGksICJyIikgYXMgZjoKICAgICAgICAgICAgICAg
ICAgICBmb3IgbCBpbiBmOgogICAgICAgICAgICAgICAgICAgICAgICBsID0gbC5zdHJpcCgpCiAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIGwgaW4gcG90ZW50aWFsOgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcG90ZW50aWFsLnJlbW92ZShsKQogICAgICAgIGZvciBsIGluIHBvdGVudGlh
bDoKICAgICAgICAgICAgZmwgPSBkZXBkaXIgKyAiLyIgKyBsCiAgICAgICAgICAgIGJiLm5vdGUo
IlRhc2sgJXMgbm8gbG9uZ2VyIGRlcGVuZHMgb24gJXMsIHJlbW92aW5nIGZyb20gc3lzcm9vdCIg
JSAobXl0YXNrbmFtZSwgbCkpCiAgICAgICAgICAgIGxuayA9IG9zLnJlYWRsaW5rKGZsKQogICAg
ICAgICAgICBzc3RhdGVfY2xlYW5fbWFuaWZlc3QoZGVwZGlyICsgIi8iICsgbG5rLCBkLCB3b3Jr
ZGlyKQogICAgICAgICAgICBvcy51bmxpbmsoZmwpCiAgICAgICAgICAgIG9zLnVubGluayhmbCAr
ICIuY29tcGxldGUiKQoKICAgIG1zZ19leGlzdHMgPSBbXQogICAgbXNnX2FkZGluZyA9IFtdCgog
ICAgZm9yIGRlcCBpbiBjb25maWd1cmVkZXBzOgogICAgICAgIGMgPSBzZXRzY2VuZWRlcHNbZGVw
XVswXQogICAgICAgIGlmIGMgbm90IGluIGluc3RhbGxlZDoKICAgICAgICAgICAgY29udGludWUK
ICAgICAgICB0YXNraGFzaCA9IHNldHNjZW5lZGVwc1tkZXBdWzVdCiAgICAgICAgdGFza21hbmlm
ZXN0ID0gZGVwZGlyICsgIi8iICsgYyArICIuIiArIHRhc2toYXNoCgogICAgICAgIGlmIG9zLnBh
dGguZXhpc3RzKGRlcGRpciArICIvIiArIGMpOgogICAgICAgICAgICBsbmsgPSBvcy5yZWFkbGlu
ayhkZXBkaXIgKyAiLyIgKyBjKQogICAgICAgICAgICBpZiBsbmsgPT0gYyArICIuIiArIHRhc2to
YXNoIGFuZCBvcy5wYXRoLmV4aXN0cyhkZXBkaXIgKyAiLyIgKyBjICsgIi5jb21wbGV0ZSIpOgog
ICAgICAgICAgICAgICAgbXNnX2V4aXN0cy5hcHBlbmQoYykKICAgICAgICAgICAgICAgIGNvbnRp
bnVlCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBiYi5ub3RlKCIlcyBleGlzdHMg
aW4gc3lzcm9vdCwgYnV0IGlzIHN0YWxlICglcyB2cy4gJXMpLCByZW1vdmluZy4iICUgKGMsIGxu
aywgYyArICIuIiArIHRhc2toYXNoKSkKICAgICAgICAgICAgICAgIHNzdGF0ZV9jbGVhbl9tYW5p
ZmVzdChkZXBkaXIgKyAiLyIgKyBsbmssIGQsIHdvcmtkaXIpCiAgICAgICAgICAgICAgICBvcy51
bmxpbmsoZGVwZGlyICsgIi8iICsgYykKICAgICAgICAgICAgICAgIGlmIG9zLnBhdGgubGV4aXN0
cyhkZXBkaXIgKyAiLyIgKyBjICsgIi5jb21wbGV0ZSIpOgogICAgICAgICAgICAgICAgICAgIG9z
LnVubGluayhkZXBkaXIgKyAiLyIgKyBjICsgIi5jb21wbGV0ZSIpCiAgICAgICAgZWxpZiBvcy5w
YXRoLmxleGlzdHMoZGVwZGlyICsgIi8iICsgYyk6CiAgICAgICAgICAgIG9zLnVubGluayhkZXBk
aXIgKyAiLyIgKyBjKQoKICAgICAgICBtc2dfYWRkaW5nLmFwcGVuZChjKQoKICAgICAgICBvcy5z
eW1saW5rKGMgKyAiLiIgKyB0YXNraGFzaCwgZGVwZGlyICsgIi8iICsgYykKCiAgICAgICAgbWFu
aWZlc3QsIGQyID0gb2Uuc3N0YXRlc2lnLmZpbmRfc3N0YXRlX21hbmlmZXN0KGMsIHNldHNjZW5l
ZGVwc1tkZXBdWzJdLCAicG9wdWxhdGVfc3lzcm9vdCIsIGQsIG11bHRpbGlicykKICAgICAgICBp
ZiBkMiBpcyBub3QgZDoKICAgICAgICAgICAgIyBJZiB3ZSBkb24ndCBkbyB0aGlzLCB0aGUgcmVj
aXBlIHN5c3Jvb3Qgd2lsbCBiZSBwbGFjZWQgaW4gdGhlIHdyb25nIFdPUktESVIgZm9yIG11bHRp
bGlicwogICAgICAgICAgICAjIFdlIG5lZWQgYSBjb25zaXN0ZW50IFdPUktESVIgZm9yIHRoZSBp
bWFnZQogICAgICAgICAgICBkMi5zZXRWYXIoIldPUktESVIiLCBkLmdldFZhcigiV09SS0RJUiIp
KQogICAgICAgIGRlc3RzeXNyb290ID0gZDIuZ2V0VmFyKCJSRUNJUEVfU1lTUk9PVCIpCiAgICAg
ICAgIyBXZSBwdXQgYWxsYXJjaCByZWNpcGVzIGludG8gdGhlIGRlZmF1bHQgc3lzcm9vdAogICAg
ICAgIGlmIG1hbmlmZXN0IGFuZCAiYWxsYXJjaCIgaW4gbWFuaWZlc3Q6CiAgICAgICAgICAgIGRl
c3RzeXNyb290ID0gZC5nZXRWYXIoIlJFQ0lQRV9TWVNST09UIikKCiAgICAgICAgbmF0aXZlID0g
RmFsc2UKICAgICAgICBpZiBjLmVuZHN3aXRoKCItbmF0aXZlIikgb3IgIi1jcm9zcy0iIGluIGMg
b3IgIi1jcm9zc3NkayIgaW4gYzoKICAgICAgICAgICAgbmF0aXZlID0gVHJ1ZQoKICAgICAgICBp
ZiBtYW5pZmVzdDoKICAgICAgICAgICAgbmV3bWFuaWZlc3QgPSBjb2xsZWN0aW9ucy5PcmRlcmVk
RGljdCgpCiAgICAgICAgICAgIHRhcmdldGRpciA9IGRlc3RzeXNyb290CiAgICAgICAgICAgIGlm
IG5hdGl2ZToKICAgICAgICAgICAgICAgIHRhcmdldGRpciA9IHJlY2lwZXN5c3Jvb3RuYXRpdmUK
ICAgICAgICAgICAgaWYgdGFyZ2V0ZGlyIG5vdCBpbiBmaXhtZToKICAgICAgICAgICAgICAgIGZp
eG1lW3RhcmdldGRpcl0gPSBbXQogICAgICAgICAgICBmbSA9IGZpeG1lW3RhcmdldGRpcl0KCiAg
ICAgICAgICAgIHdpdGggb3BlbihtYW5pZmVzdCwgInIiKSBhcyBmOgogICAgICAgICAgICAgICAg
bWFuaWZlc3RzW2RlcF0gPSBtYW5pZmVzdAogICAgICAgICAgICAgICAgZm9yIGwgaW4gZjoKICAg
ICAgICAgICAgICAgICAgICBsID0gbC5zdHJpcCgpCiAgICAgICAgICAgICAgICAgICAgaWYgbC5l
bmRzd2l0aCgiL2ZpeG1lcGF0aCIpOgogICAgICAgICAgICAgICAgICAgICAgICBmbS5hcHBlbmQo
bCkKICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICAgICBp
ZiBsLmVuZHN3aXRoKCIvZml4bWVwYXRoLmNtZCIpOgogICAgICAgICAgICAgICAgICAgICAgICBj
b250aW51ZQogICAgICAgICAgICAgICAgICAgIGRlc3QgPSBsLnJlcGxhY2Uoc3RhZ2luZ2Rpciwg
IiIpCiAgICAgICAgICAgICAgICAgICAgZGVzdCA9ICIvIiArICIvIi5qb2luKGRlc3Quc3BsaXQo
Ii8iKVszOl0pCiAgICAgICAgICAgICAgICAgICAgbmV3bWFuaWZlc3RbbF0gPSB0YXJnZXRkaXIg
KyBkZXN0CgogICAgICAgICAgICAgICAgICAgICMgQ2hlY2sgaWYgZmlsZXMgaGF2ZSBhbHJlYWR5
IGJlZW4gaW5zdGFsbGVkIGJ5IGFub3RoZXIKICAgICAgICAgICAgICAgICAgICAjIHJlY2lwZSBh
bmQgYWJvcnQgaWYgdGhleSBoYXZlLCBleHBsYWluaW5nIHdoYXQgcmVjaXBlcyBhcmUKICAgICAg
ICAgICAgICAgICAgICAjIGNvbmZsaWN0aW5nLgogICAgICAgICAgICAgICAgICAgIGhhc2huYW1l
ID0gdGFyZ2V0ZGlyICsgZGVzdAogICAgICAgICAgICAgICAgICAgIGlmIG5vdCBoYXNobmFtZS5l
bmRzd2l0aCgiLyIpOgogICAgICAgICAgICAgICAgICAgICAgICBpZiBoYXNobmFtZSBpbiBmaWxl
c2V0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmIuZmF0YWwoIlRoZSBmaWxlICVzIGlz
IGluc3RhbGxlZCBieSBib3RoICVzIGFuZCAlcywgYWJvcnRpbmciICUgKGRlc3QsIGMsIGZpbGVz
ZXRbaGFzaG5hbWVdKSkKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZpbGVzZXRbaGFzaG5hbWVdID0gYwoKICAgICAgICAgICAgIyBIYXZp
bmcgbXVsdGlwbGUgaWRlbnRpY2FsIG1hbmlmZXN0cyBpbiBlYWNoIHN5c3Jvb3QgZWF0cyBkaXNr
c3BhY2Ugc28KICAgICAgICAgICAgIyBjcmVhdGUgYSBzaGFyZWQgcG9vbCBvZiB0aGVtIGFuZCBo
YXJkbGluayBpZiB3ZSBjYW4uCiAgICAgICAgICAgICMgV2UgY3JlYXRlIHRoZSBtYW5pZmVzdCBp
biBhZHZhbmNlIHNvIHRoYXQgaWYgc29tZXRoaW5nIGZhaWxzIGR1cmluZyBpbnN0YWxsYXRpb24s
CiAgICAgICAgICAgICMgb3IgdGhlIGJ1aWxkIGlzIGludGVycnVwdGVkLCBzdWJzZXF1ZW50IGV4
ZXVjdGlvbiBjYW4gY2xlYW51cC4KICAgICAgICAgICAgc2hhcmVkbSA9IHNoYXJlZG1hbmlmZXN0
cyArICIvIiArIG9zLnBhdGguYmFzZW5hbWUodGFza21hbmlmZXN0KQogICAgICAgICAgICBpZiBu
b3Qgb3MucGF0aC5leGlzdHMoc2hhcmVkbSk6CiAgICAgICAgICAgICAgICBzbWxvY2sgPSBiYi51
dGlscy5sb2NrZmlsZShzaGFyZWRtICsgIi5sb2NrIikKICAgICAgICAgICAgICAgICMgQ2FuIHJh
Y2UgaGVyZS4gWW91J2QgdGhpbmsgaXQganVzdCBtZWFucyB3ZSBtYXkgbm90IGVuZCB1cCB3aXRo
IGFsbCBjb3BpZXMgaGFyZGxpbmtlZCB0byBlYWNoIG90aGVyCiAgICAgICAgICAgICAgICAjIGJ1
dCBweXRob24gY2FuIGxvc2UgZmlsZSBoYW5kbGVzIHNvIHdlIG5lZWQgdG8gZG8gdGhpcyB1bmRl
ciBhIGxvY2suCiAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc2hhcmVkbSk6
CiAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKHNoYXJlZG0sICd3JykgYXMgbToKICAgICAg
ICAgICAgICAgICAgICAgICBmb3IgbCBpbiBuZXdtYW5pZmVzdDoKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGVzdCA9IG5ld21hbmlmZXN0W2xdCiAgICAgICAgICAgICAgICAgICAgICAgICAg
IG0ud3JpdGUoZGVzdC5yZXBsYWNlKHdvcmtkaXIgKyAiLyIsICIiKSArICJcbiIpCiAgICAgICAg
ICAgICAgICBiYi51dGlscy51bmxvY2tmaWxlKHNtbG9jaykKICAgICAgICAgICAgdHJ5OgogICAg
ICAgICAgICAgICAgb3MubGluayhzaGFyZWRtLCB0YXNrbWFuaWZlc3QpCiAgICAgICAgICAgIGV4
Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgICAgIGlmIGVyci5lcnJubyA9PSBlcnJu
by5FWERFVjoKICAgICAgICAgICAgICAgICAgICBiYi51dGlscy5jb3B5ZmlsZShzaGFyZWRtLCB0
YXNrbWFuaWZlc3QpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIHJh
aXNlCiAgICAgICAgICAgICMgRmluYWxseSBhY3R1YWxseSBpbnN0YWxsIHRoZSBmaWxlcwogICAg
ICAgICAgICBmb3IgbCBpbiBuZXdtYW5pZmVzdDoKICAgICAgICAgICAgICAgICAgICBkZXN0ID0g
bmV3bWFuaWZlc3RbbF0KICAgICAgICAgICAgICAgICAgICBpZiBsLmVuZHN3aXRoKCIvIik6CiAg
ICAgICAgICAgICAgICAgICAgICAgIHN0YWdpbmdfY29weWRpcihsLCB0YXJnZXRkaXIsIGRlc3Qs
IHNlZW5kaXJzKQogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAg
ICAgICAgIHN0YWdpbmdfY29weWZpbGUobCwgdGFyZ2V0ZGlyLCBkZXN0LCBwb3N0aW5zdHMsIHNl
ZW5kaXJzKQoKICAgIGJiLm5vdGUoIkluc3RhbGxlZCBpbnRvIHN5c3Jvb3Q6ICVzIiAlIHN0ciht
c2dfYWRkaW5nKSkKICAgIGJiLm5vdGUoIlNraXBwaW5nIGFzIGFscmVhZHkgZXhpc3RzIGluIHN5
c3Jvb3Q6ICVzIiAlIHN0cihtc2dfZXhpc3RzKSkKCiAgICBmb3IgZiBpbiBmaXhtZToKICAgICAg
ICBzdGFnaW5nX3Byb2Nlc3NmaXhtZShmaXhtZVtmXSwgZiwgcmVjaXBlc3lzcm9vdCwgcmVjaXBl
c3lzcm9vdG5hdGl2ZSwgZCkKCiAgICBmb3IgcCBpbiBwb3N0aW5zdHM6CiAgICAgICAgc3VicHJv
Y2Vzcy5jaGVja19vdXRwdXQocCwgc2hlbGw9VHJ1ZSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VU
KQoKICAgIGZvciBkZXAgaW4gbWFuaWZlc3RzOgogICAgICAgIGMgPSBzZXRzY2VuZWRlcHNbZGVw
XVswXQogICAgICAgIG9zLnN5bWxpbmsobWFuaWZlc3RzW2RlcF0sIGRlcGRpciArICIvIiArIGMg
KyAiLmNvbXBsZXRlIikKCiAgICB3aXRoIG9wZW4odGFza2luZGV4LCAidyIpIGFzIGY6CiAgICAg
ICAgZm9yIGwgaW4gc29ydGVkKGluc3RhbGxlZCk6CiAgICAgICAgICAgIGYud3JpdGUobCArICJc
biIpCgogICAgYmIudXRpbHMudW5sb2NrZmlsZShsb2NrKQp9CgoKcHl0aG9uIGV4dGVuZF92YXJp
YW50cyAoKSB7CmRlZiBleHRlbmRfdmFyaWFudHMoZCwgdmFyLCBleHRlbmQsIGRlbGltPSc6Jyk6
CiAgICAiIiJSZXR1cm4gYSBzdHJpbmcgb2YgYWxsIGJiIGNsYXNzIGV4dGVuZCB2YXJpYW50cyBm
b3IgdGhlIGdpdmVuIGV4dGVuZCIiIgogICAgdmFyaWFudHMgPSBbXQogICAgd2hvbGUgPSBkLmdl
dFZhcih2YXIpIG9yICIiCiAgICBmb3IgZXh0IGluIHdob2xlLnNwbGl0KCk6CiAgICAgICAgZWV4
dCA9IGV4dC5zcGxpdChkZWxpbSkKICAgICAgICBpZiBsZW4oZWV4dCkgPiAxIGFuZCBlZXh0WzBd
ID09IGV4dGVuZDoKICAgICAgICAgICAgdmFyaWFudHMuYXBwZW5kKGVleHRbMV0pCiAgICByZXR1
cm4gIiAiLmpvaW4odmFyaWFudHMpCn0KCgpweXRob24gZXh0cmFfcGF0aF9lbGVtZW50cyAoKSB7
CmRlZiBleHRyYV9wYXRoX2VsZW1lbnRzKGQpOgogICAgcGF0aCA9ICIiCiAgICBlbGVtZW50cyA9
IChkLmdldFZhcignRVhUUkFOQVRJVkVQQVRIJykgb3IgIiIpLnNwbGl0KCkKICAgIGZvciBlIGlu
IGVsZW1lbnRzOgogICAgICAgIHBhdGggPSBwYXRoICsgIiR7U1RBR0lOR19CSU5ESVJfTkFUSVZF
fS8iICsgZSArICI6IgogICAgcmV0dXJuIHBhdGgKfQoKCnB5dGhvbiBmaWxlc19mcm9tX2ZpbGV2
YXJzICgpIHsKZGVmIGZpbGVzX2Zyb21fZmlsZXZhcnMoZmlsZXZhcnMpOgogICAgaW1wb3J0IG9z
LGdsb2IKICAgIGNwYXRoID0gb2UuY2FjaGVkcGF0aC5DYWNoZWRQYXRoKCkKICAgIGZpbGVzID0g
W10KICAgIGZvciBmIGluIGZpbGV2YXJzOgogICAgICAgIGlmIG9zLnBhdGguaXNhYnMoZik6CiAg
ICAgICAgICAgIGYgPSAnLicgKyBmCiAgICAgICAgaWYgbm90IGYuc3RhcnRzd2l0aCgiLi8iKToK
ICAgICAgICAgICAgZiA9ICcuLycgKyBmCiAgICAgICAgZ2xvYmJlZCA9IGdsb2IuZ2xvYihmKQog
ICAgICAgIGlmIGdsb2JiZWQ6CiAgICAgICAgICAgIGlmIFsgZiBdICE9IGdsb2JiZWQ6CiAgICAg
ICAgICAgICAgICBmaWxlcyArPSBnbG9iYmVkCiAgICAgICAgICAgICAgICBjb250aW51ZQogICAg
ICAgIGZpbGVzLmFwcGVuZChmKQoKICAgIHN5bWxpbmtfcGF0aHMgPSBbXQogICAgZm9yIGluZCwg
ZiBpbiBlbnVtZXJhdGUoZmlsZXMpOgogICAgICAgICMgSGFuZGxlIGRpcmVjdG9yeSBzeW1saW5r
cy4gVHJ1bmNhdGUgcGF0aCB0byB0aGUgbG93ZXN0IGxldmVsIHN5bWxpbmsKICAgICAgICBwYXJl
bnQgPSAnJwogICAgICAgIGZvciBkaXJuYW1lIGluIGYuc3BsaXQoJy8nKVs6LTFdOgogICAgICAg
ICAgICBwYXJlbnQgPSBvcy5wYXRoLmpvaW4ocGFyZW50LCBkaXJuYW1lKQogICAgICAgICAgICBp
ZiBkaXJuYW1lID09ICcuJzoKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIGlm
IGNwYXRoLmlzbGluayhwYXJlbnQpOgogICAgICAgICAgICAgICAgYmIud2FybigiRklMRVMgY29u
dGFpbnMgZmlsZSAnJXMnIHdoaWNoIHJlc2lkZXMgdW5kZXIgYSAiCiAgICAgICAgICAgICAgICAg
ICAgICAgICJkaXJlY3Rvcnkgc3ltbGluay4gUGxlYXNlIGZpeCB0aGUgcmVjaXBlIGFuZCB1c2Ug
dGhlICIKICAgICAgICAgICAgICAgICAgICAgICAgInJlYWwgcGF0aCBmb3IgdGhlIGZpbGUuIiAl
IGZbMTpdKQogICAgICAgICAgICAgICAgc3ltbGlua19wYXRocy5hcHBlbmQoZikKICAgICAgICAg
ICAgICAgIGZpbGVzW2luZF0gPSBwYXJlbnQKICAgICAgICAgICAgICAgIGYgPSBwYXJlbnQKICAg
ICAgICAgICAgICAgIGJyZWFrCgogICAgICAgIGlmIG5vdCBjcGF0aC5pc2xpbmsoZik6CiAgICAg
ICAgICAgIGlmIGNwYXRoLmlzZGlyKGYpOgogICAgICAgICAgICAgICAgbmV3ZmlsZXMgPSBbIG9z
LnBhdGguam9pbihmLHgpIGZvciB4IGluIG9zLmxpc3RkaXIoZikgXQogICAgICAgICAgICAgICAg
aWYgbmV3ZmlsZXM6CiAgICAgICAgICAgICAgICAgICAgZmlsZXMgKz0gbmV3ZmlsZXMKCiAgICBy
ZXR1cm4gZmlsZXMsIHN5bWxpbmtfcGF0aHMKCiMgQ2FsbGVkIGluIHBhY2thZ2VfPHJwbSxpcGss
ZGViPi5iYmNsYXNzIHRvIGdldCB0aGUgY29ycmVjdCBsaXN0IG9mIGNvbmZpZ3VyYXRpb24gZmls
ZXN9CgoKcHl0aG9uIGZpbHRlcl9kZXBzICgpIHsKZGVmIGZpbHRlcl9kZXBzKHZhciwgZik6CiAg
ICBpbXBvcnQgY29sbGVjdGlvbnMKCiAgICBkZXBlbmRzX2RpY3QgPSBiYi51dGlscy5leHBsb2Rl
X2RlcF92ZXJzaW9uczIodmFyKQogICAgbmV3ZGVwc19kaWN0ID0gY29sbGVjdGlvbnMuT3JkZXJl
ZERpY3QoKQogICAgZm9yIGRlcCBpbiBkZXBlbmRzX2RpY3Q6CiAgICAgICAgaWYgZihkZXApOgog
ICAgICAgICAgICBuZXdkZXBzX2RpY3RbZGVwXSA9IGRlcGVuZHNfZGljdFtkZXBdCiAgICByZXR1
cm4gYmIudXRpbHMuam9pbl9kZXBzKG5ld2RlcHNfZGljdCwgY29tbWFzZXA9RmFsc2UpCgojIEZp
bHRlciBvdXQgYWJzb2x1dGUgcGF0aHMgKHR5cGljYWxseSAvYmluL3NoIGFuZCAvdXNyL2Jpbi9l
bnYpIGFuZCBhbnkgcGVybAojIGRlcGVuZGVuY2llcyBmb3IgbmF0aXZlc2RrIHBhY2thZ2VzLn0K
CgpweXRob24gZmlsdGVyX25hdGl2ZXNka19kZXBzICgpIHsKZGVmIGZpbHRlcl9uYXRpdmVzZGtf
ZGVwcyhzcmNuYW1lLCB2YXIpOgogICAgaWYgdmFyIGFuZCBzcmNuYW1lLnN0YXJ0c3dpdGgoIm5h
dGl2ZXNkay0iKToKICAgICAgICB2YXIgPSBmaWx0ZXJfZGVwcyh2YXIsIGxhbWJkYSBkZXA6IG5v
dCBkZXAuc3RhcnRzd2l0aCgnLycpIGFuZCBkZXAgIT0gJ3BlcmwnIGFuZCBub3QgZGVwLnN0YXJ0
c3dpdGgoJ3BlcmwoJykpCiAgICByZXR1cm4gdmFyCgojIENvbnN0cnVjdCBwZXIgZmlsZSBkZXBl
bmRlbmNpZXMgZmlsZX0KCgpweXRob24gZmluZF9saWNlbnNlX2ZpbGVzICgpIHsKZGVmIGZpbmRf
bGljZW5zZV9maWxlcyhkKToKICAgICIiIgogICAgQ3JlYXRlcyBsaXN0IG9mIGZpbGVzIHVzZWQg
aW4gTElDX0ZJTEVTX0NIS1NVTSBhbmQgZ2VuZXJpYyBMSUNFTlNFIGZpbGVzLgogICAgIiIiCiAg
ICBpbXBvcnQgc2h1dGlsCiAgICBpbXBvcnQgb2UubGljZW5zZQogICAgZnJvbSBjb2xsZWN0aW9u
cyBpbXBvcnQgZGVmYXVsdGRpY3QsIE9yZGVyZWREaWN0CgogICAgIyBBbGwgdGhlIGxpY2Vuc2Ug
ZmlsZXMgZm9yIHRoZSBwYWNrYWdlCiAgICBsaWNfZmlsZXMgPSBkLmdldFZhcignTElDX0ZJTEVT
X0NIS1NVTScpIG9yICIiCiAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICAjIFRoZSBsaWNlbnNl
IGZpbGVzIGFyZSBsb2NhdGVkIGluIFMvTElDX0ZJTEVfQ0hFQ0tTVU0uCiAgICBzcmNkaXIgPSBk
LmdldFZhcignUycpCiAgICAjIERpcmVjdG9yeSB3ZSBzdG9yZSB0aGUgZ2VuZXJpYyBsaWNlbnNl
cyBhcyBzZXQgaW4gdGhlIGRpc3RybyBjb25maWd1cmF0aW9uCiAgICBnZW5lcmljX2RpcmVjdG9y
eSA9IGQuZ2V0VmFyKCdDT01NT05fTElDRU5TRV9ESVInKQogICAgIyBMaXN0IG9mIGJhc2VuYW1l
LCBwYXRoIHR1cGxlcwogICAgbGljX2ZpbGVzX3BhdGhzID0gW10KICAgICMgaGFzaCBmb3Iga2Vl
cCB0cmFjayBnZW5lcmljIGxpY3MgbWFwcGluZ3MKICAgIG5vbl9nZW5lcmljX2xpY3MgPSB7fQog
ICAgIyBFbnRyaWVzIGZyb20gTElDX0ZJTEVTX0NIS1NVTQogICAgbGljX2Noa3N1bXMgPSB7fQog
ICAgbGljZW5zZV9zb3VyY2VfZGlycyA9IFtdCiAgICBsaWNlbnNlX3NvdXJjZV9kaXJzLmFwcGVu
ZChnZW5lcmljX2RpcmVjdG9yeSkKICAgIHRyeToKICAgICAgICBhZGRpdGlvbmFsX2xpY19kaXJz
ID0gZC5nZXRWYXIoJ0xJQ0VOU0VfUEFUSCcpLnNwbGl0KCkKICAgICAgICBmb3IgbGljX2RpciBp
biBhZGRpdGlvbmFsX2xpY19kaXJzOgogICAgICAgICAgICBsaWNlbnNlX3NvdXJjZV9kaXJzLmFw
cGVuZChsaWNfZGlyKQogICAgZXhjZXB0OgogICAgICAgIHBhc3MKCiAgICBjbGFzcyBGaW5kVmlz
aXRvcihvZS5saWNlbnNlLkxpY2Vuc2VWaXNpdG9yKToKICAgICAgICBkZWYgdmlzaXRfU3RyKHNl
bGYsIG5vZGUpOgogICAgICAgICAgICAjCiAgICAgICAgICAgICMgVW50aWwgSSBmaWd1cmUgb3V0
IHdoYXQgdG8gZG8gd2l0aAogICAgICAgICAgICAjIHRoZSB0d28gbW9kaWZpZXJzIEkgc3VwcG9y
dCAob3IgZ3JlYXRlciA9ICsKICAgICAgICAgICAgIyBhbmQgIndpdGggZXhjZXB0aW9ucyIgYmVp
bmcgKgogICAgICAgICAgICAjIHdlJ2xsIGp1c3Qgc3RyaXAgb3V0IHRoZSBtb2RpZmllciBhbmQg
cHV0CiAgICAgICAgICAgICMgdGhlIGJhc2UgbGljZW5zZS4KICAgICAgICAgICAgZmluZF9saWNl
bnNlKG5vZGUucy5yZXBsYWNlKCIrIiwgIiIpLnJlcGxhY2UoIioiLCAiIikpCiAgICAgICAgICAg
IHNlbGYuZ2VuZXJpY192aXNpdChub2RlKQoKICAgIGRlZiBmaW5kX2xpY2Vuc2UobGljZW5zZV90
eXBlKToKICAgICAgICB0cnk6CiAgICAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihnZW5fbGlj
X2Rlc3QpCiAgICAgICAgZXhjZXB0OgogICAgICAgICAgICBwYXNzCiAgICAgICAgc3BkeF9nZW5l
cmljID0gTm9uZQogICAgICAgIGxpY2Vuc2Vfc291cmNlID0gTm9uZQogICAgICAgICMgSWYgdGhl
IGdlbmVyaWMgZG9lcyBub3QgZXhpc3Qgd2UgbmVlZCB0byBjaGVjayB0byBzZWUgaWYgdGhlcmUg
aXMgYW4gU1BEWCBtYXBwaW5nIHRvIGl0LAogICAgICAgICMgdW5sZXNzIE5PX0dFTkVSSUNfTElD
RU5TRSBpcyBzZXQuCiAgICAgICAgZm9yIGxpY19kaXIgaW4gbGljZW5zZV9zb3VyY2VfZGlyczoK
ICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihsaWNfZGlyLCBs
aWNlbnNlX3R5cGUpKToKICAgICAgICAgICAgICAgIGlmIGQuZ2V0VmFyRmxhZygnU1BEWExJQ0VO
U0VNQVAnLCBsaWNlbnNlX3R5cGUpICE9IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIyBHcmVh
dCwgdGhlcmUgaXMgYW4gU1BEWExJQ0VOU0VNQVAuIFdlIGNhbiBjb3B5IQogICAgICAgICAgICAg
ICAgICAgIGJiLmRlYnVnKDEsICJXZSBuZWVkIHRvIHVzZSBhIFNQRFhMSUNFTlNFTUFQIGZvciAl
cyIgJSAobGljZW5zZV90eXBlKSkKICAgICAgICAgICAgICAgICAgICBzcGR4X2dlbmVyaWMgPSBk
LmdldFZhckZsYWcoJ1NQRFhMSUNFTlNFTUFQJywgbGljZW5zZV90eXBlKQogICAgICAgICAgICAg
ICAgICAgIGxpY2Vuc2Vfc291cmNlID0gbGljX2RpcgogICAgICAgICAgICAgICAgICAgIGJyZWFr
CiAgICAgICAgICAgIGVsaWYgb3MucGF0aC5pc2ZpbGUob3MucGF0aC5qb2luKGxpY19kaXIsIGxp
Y2Vuc2VfdHlwZSkpOgogICAgICAgICAgICAgICAgc3BkeF9nZW5lcmljID0gbGljZW5zZV90eXBl
CiAgICAgICAgICAgICAgICBsaWNlbnNlX3NvdXJjZSA9IGxpY19kaXIKICAgICAgICAgICAgICAg
IGJyZWFrCgogICAgICAgIG5vbl9nZW5lcmljX2xpYyA9IGQuZ2V0VmFyRmxhZygnTk9fR0VORVJJ
Q19MSUNFTlNFJywgbGljZW5zZV90eXBlKQogICAgICAgIGlmIHNwZHhfZ2VuZXJpYyBhbmQgbGlj
ZW5zZV9zb3VyY2U6CiAgICAgICAgICAgICMgd2UgcmVhbGx5IHNob3VsZCBjb3B5IHRvIGdlbmVy
aWNfICsgc3BkeF9nZW5lcmljLCBob3dldmVyLCB0aGF0IGVuZHMgdXAgbWVzc2luZyB0aGUgbWFu
aWZlc3QKICAgICAgICAgICAgIyBhdWRpdCB1cC4gVGhpcyBzaG91bGQgYmUgZml4ZWQgaW4gZW1p
dF9wa2dkYXRhIChvciwgd2UgYWN0dWFsbHkgZ290IGFuZCBmaXggYWxsIHRoZSByZWNpcGVzKQoK
ICAgICAgICAgICAgbGljX2ZpbGVzX3BhdGhzLmFwcGVuZCgoImdlbmVyaWNfIiArIGxpY2Vuc2Vf
dHlwZSwgb3MucGF0aC5qb2luKGxpY2Vuc2Vfc291cmNlLCBzcGR4X2dlbmVyaWMpLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb25lLCBOb25lKSkKCiAgICAgICAgICAgICMg
VGhlIHVzZXIgbWF5IGF0dGVtcHQgdG8gdXNlIE5PX0dFTkVSSUNfTElDRU5TRSBmb3IgYSBnZW5l
cmljIGxpY2Vuc2Ugd2hpY2ggZG9lc24ndCBtYWtlIHNlbnNlCiAgICAgICAgICAgICMgYW5kIHNo
b3VsZCBub3QgYmUgYWxsb3dlZCwgd2FybiB0aGUgdXNlciBpbiB0aGlzIGNhc2UuCiAgICAgICAg
ICAgIGlmIGQuZ2V0VmFyRmxhZygnTk9fR0VORVJJQ19MSUNFTlNFJywgbGljZW5zZV90eXBlKToK
ICAgICAgICAgICAgICAgIGJiLndhcm4oIiVzOiAlcyBpcyBhIGdlbmVyaWMgbGljZW5zZSwgcGxl
YXNlIGRvbid0IHVzZSBOT19HRU5FUklDX0xJQ0VOU0UgZm9yIGl0LiIgJSAocG4sIGxpY2Vuc2Vf
dHlwZSkpCgogICAgICAgIGVsaWYgbm9uX2dlbmVyaWNfbGljIGFuZCBub25fZ2VuZXJpY19saWMg
aW4gbGljX2Noa3N1bXM6CiAgICAgICAgICAgICMgaWYgTk9fR0VORVJJQ19MSUNFTlNFIGlzIHNl
dCwgd2UgY29weSB0aGUgbGljZW5zZSBmaWxlcyBmcm9tIHRoZSBmZXRjaGVkIHNvdXJjZQogICAg
ICAgICAgICAjIG9mIHRoZSBwYWNrYWdlIHJhdGhlciB0aGFuIHRoZSBsaWNlbnNlX3NvdXJjZV9k
aXJzLgogICAgICAgICAgICBsaWNfZmlsZXNfcGF0aHMuYXBwZW5kKCgiZ2VuZXJpY18iICsgbGlj
ZW5zZV90eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpv
aW4oc3JjZGlyLCBub25fZ2VuZXJpY19saWMpLCBOb25lLCBOb25lKSkKICAgICAgICAgICAgbm9u
X2dlbmVyaWNfbGljc1tub25fZ2VuZXJpY19saWNdID0gbGljZW5zZV90eXBlCiAgICAgICAgZWxz
ZToKICAgICAgICAgICAgIyBBZGQgZXhwbGljaXR5IGF2b2lkIG9mIENMT1NFRCBsaWNlbnNlIGJl
Y2F1c2UgdGhpcyBpc24ndCBnZW5lcmljCiAgICAgICAgICAgIGlmIGxpY2Vuc2VfdHlwZSAhPSAn
Q0xPU0VEJzoKICAgICAgICAgICAgICAgICMgQW5kIGhlcmUgaXMgd2hlcmUgd2Ugd2FybiBwZW9w
bGUgdGhhdCB0aGVpciBsaWNlbnNlcyBhcmUgbG91c3kKICAgICAgICAgICAgICAgIGJiLndhcm4o
IiVzOiBObyBnZW5lcmljIGxpY2Vuc2UgZmlsZSBleGlzdHMgZm9yOiAlcyBpbiBhbnkgcHJvdmlk
ZXIiICUgKHBuLCBsaWNlbnNlX3R5cGUpKQogICAgICAgICAgICBwYXNzCgogICAgaWYgbm90IGdl
bmVyaWNfZGlyZWN0b3J5OgogICAgICAgIGJiLmZhdGFsKCJDT01NT05fTElDRU5TRV9ESVIgaXMg
dW5zZXQuIFBsZWFzZSBzZXQgdGhpcyBpbiB5b3VyIGRpc3RybyBjb25maWciKQoKICAgIGZvciB1
cmwgaW4gbGljX2ZpbGVzLnNwbGl0KCk6CiAgICAgICAgdHJ5OgogICAgICAgICAgICAobWV0aG9k
LCBob3N0LCBwYXRoLCB1c2VyLCBwc3dkLCBwYXJtKSA9IGJiLmZldGNoLmRlY29kZXVybCh1cmwp
CiAgICAgICAgICAgIGlmIG1ldGhvZCAhPSAiZmlsZSIgb3Igbm90IHBhdGg6CiAgICAgICAgICAg
ICAgICByYWlzZSBiYi5mZXRjaC5NYWxmb3JtZWRVcmwoKQogICAgICAgIGV4Y2VwdCBiYi5mZXRj
aC5NYWxmb3JtZWRVcmw6CiAgICAgICAgICAgIGJiLmZhdGFsKCIlczogTElDX0ZJTEVTX0NIS1NV
TSBjb250YWlucyBhbiBpbnZhbGlkIFVSTDogICVzIiAlIChkLmdldFZhcignUEYnKSwgdXJsKSkK
ICAgICAgICAjIFdlIHdhbnQgdGhlIGxpY2Vuc2UgZmlsZW5hbWUgYW5kIHBhdGgKICAgICAgICBj
aGtzdW0gPSBwYXJtLmdldCgnbWQ1JywgTm9uZSkKICAgICAgICBiZWdpbmxpbmUgPSBwYXJtLmdl
dCgnYmVnaW5saW5lJykKICAgICAgICBlbmRsaW5lID0gcGFybS5nZXQoJ2VuZGxpbmUnKQogICAg
ICAgIGxpY19jaGtzdW1zW3BhdGhdID0gKGNoa3N1bSwgYmVnaW5saW5lLCBlbmRsaW5lKQoKICAg
IHYgPSBGaW5kVmlzaXRvcigpCiAgICB0cnk6CiAgICAgICAgdi52aXNpdF9zdHJpbmcoZC5nZXRW
YXIoJ0xJQ0VOU0UnKSkKICAgIGV4Y2VwdCBvZS5saWNlbnNlLkludmFsaWRMaWNlbnNlIGFzIGV4
YzoKICAgICAgICBiYi5mYXRhbCgnJXM6ICVzJyAlIChkLmdldFZhcignUEYnKSwgZXhjKSkKICAg
IGV4Y2VwdCBTeW50YXhFcnJvcjoKICAgICAgICBiYi53YXJuKCIlczogRmFpbGVkIHRvIHBhcnNl
IGl0J3MgTElDRU5TRSBmaWVsZC4iICUgKGQuZ2V0VmFyKCdQRicpKSkKICAgICMgQWRkIGZpbGVz
IGZyb20gTElDX0ZJTEVTX0NIS1NVTSB0byBsaXN0IG9mIGxpY2Vuc2UgZmlsZXMKICAgIGxpY19j
aGtzdW1fcGF0aHMgPSBkZWZhdWx0ZGljdChPcmRlcmVkRGljdCkKICAgIGZvciBwYXRoLCBkYXRh
IGluIHNvcnRlZChsaWNfY2hrc3Vtcy5pdGVtcygpKToKICAgICAgICBsaWNfY2hrc3VtX3BhdGhz
W29zLnBhdGguYmFzZW5hbWUocGF0aCldW2RhdGFdID0gKG9zLnBhdGguam9pbihzcmNkaXIsIHBh
dGgpLCBkYXRhWzFdLCBkYXRhWzJdKQogICAgZm9yIGJhc2VuYW1lLCBmaWxlcyBpbiBsaWNfY2hr
c3VtX3BhdGhzLml0ZW1zKCk6CiAgICAgICAgaWYgbGVuKGZpbGVzKSA9PSAxOgogICAgICAgICAg
ICAjIERvbid0IGNvcHkgYWdhaW4gYSBMSUNFTlNFIGFscmVhZHkgaGFuZGxlZCBhcyBub24tZ2Vu
ZXJpYwogICAgICAgICAgICBpZiBiYXNlbmFtZSBpbiBub25fZ2VuZXJpY19saWNzOgogICAgICAg
ICAgICAgICAgY29udGludWUKICAgICAgICAgICAgZGF0YSA9IGxpc3QoZmlsZXMudmFsdWVzKCkp
WzBdCiAgICAgICAgICAgIGxpY19maWxlc19wYXRocy5hcHBlbmQodHVwbGUoW2Jhc2VuYW1lXSAr
IGxpc3QoZGF0YSkpKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgICMgSWYgdGhlcmUgYXJlIG11
bHRpcGxlIGRpZmZlcmVudCBsaWNlbnNlIGZpbGVzIHdpdGggaWRlbnRpY2FsCiAgICAgICAgICAg
ICMgYmFzZW5hbWVzIHdlIHJlbmFtZSB0aGVtIHRvIDxmaWxlPi4wLCA8ZmlsZT4uMSwgLi4uCiAg
ICAgICAgICAgIGZvciBpLCBkYXRhIGluIGVudW1lcmF0ZShmaWxlcy52YWx1ZXMoKSk6CiAgICAg
ICAgICAgICAgICBsaWNfZmlsZXNfcGF0aHMuYXBwZW5kKHR1cGxlKFsiJXMuJWQiICUgKGJhc2Vu
YW1lLCBpKV0gKyBsaXN0KGRhdGEpKSkKCiAgICByZXR1cm4gbGljX2ZpbGVzX3BhdGhzCn0KCgpw
eXRob24gZml4dXBfcGVybXMgKCkgewogICAgaW1wb3J0IHB3ZCwgZ3JwCgogICAgIyBpbml0IHVz
aW5nIGEgc3RyaW5nIHdpdGggdGhlIHNhbWUgZm9ybWF0IGFzIGEgbGluZSBhcyBkb2N1bWVudGVk
IGluCiAgICAjIHRoZSBmcy1wZXJtcy50eHQgZmlsZQogICAgIyA8cGF0aD4gPG1vZGU+IDx1aWQ+
IDxnaWQ+IDx3YWxrPiA8Zm1vZGU+IDxmdWlkPiA8ZmdpZD4KICAgICMgPHBhdGg+IGxpbmsgPGxp
bmsgdGFyZ2V0PgogICAgIwogICAgIyBfX3N0cl9fIGNhbiBiZSB1c2VkIHRvIHByaW50IG91dCBh
biBlbnRyeSBpbiB0aGUgaW5wdXQgZm9ybWF0CiAgICAjCiAgICAjIGlmIGZzX3Blcm1zX2VudHJ5
LnBhdGggaXMgTm9uZToKICAgICMgICAgYW4gZXJyb3Igb2NjdXJyZWQKICAgICMgaWYgZnNfcGVy
bXNfZW50cnkubGluaywgeW91IGNhbiByZXRyaWV2ZToKICAgICMgICAgZnNfcGVybXNfZW50cnku
cGF0aCA9IHBhdGgKICAgICMgICAgZnNfcGVybXNfZW50cnkubGluayA9IHRhcmdldCBvZiBsaW5r
CiAgICAjIGlmIG5vdCBmc19wZXJtc19lbnRyeS5saW5rLCB5b3UgY2FuIHJldHJpZXZlOgogICAg
IyAgICBmc19wZXJtc19lbnRyeS5wYXRoID0gcGF0aAogICAgIyAgICBmc19wZXJtc19lbnRyeS5t
b2RlID0gZXhwZWN0ZWQgZGlyIG1vZGUgb3IgTm9uZQogICAgIyAgICBmc19wZXJtc19lbnRyeS51
aWQgPSBleHBlY3RlZCB1aWQgb3IgLTEKICAgICMgICAgZnNfcGVybXNfZW50cnkuZ2lkID0gZXhw
ZWN0ZWQgZ2lkIG9yIC0xCiAgICAjICAgIGZzX3Blcm1zX2VudHJ5LndhbGsgPSAndHJ1ZScgb3Ig
c29tZXRoaW5nIGVsc2UKICAgICMgICAgZnNfcGVybXNfZW50cnkuZm1vZGUgPSBleHBlY3RlZCBm
aWxlIG1vZGUgb3IgTm9uZQogICAgIyAgICBmc19wZXJtc19lbnRyeS5mdWlkID0gZXhwZWN0ZWQg
ZmlsZSB1aWQgb3IgLTEKICAgICMgICAgZnNfcGVybXNfZW50cnlfZmdpZCA9IGV4cGVjdGVkIGZp
bGUgZ2lkIG9yIC0xCiAgICBjbGFzcyBmc19wZXJtc19lbnRyeSgpOgogICAgICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBsaW5lKToKICAgICAgICAgICAgbHNwbGl0ID0gbGluZS5zcGxpdCgpCiAgICAg
ICAgICAgIGlmIGxlbihsc3BsaXQpID09IDMgYW5kIGxzcGxpdFsxXS5sb3dlcigpID09ICJsaW5r
IjoKICAgICAgICAgICAgICAgIHNlbGYuX3NldGxpbmsobHNwbGl0WzBdLCBsc3BsaXRbMl0pCiAg
ICAgICAgICAgIGVsaWYgbGVuKGxzcGxpdCkgPT0gODoKICAgICAgICAgICAgICAgIHNlbGYuX3Nl
dGRpcihsc3BsaXRbMF0sIGxzcGxpdFsxXSwgbHNwbGl0WzJdLCBsc3BsaXRbM10sIGxzcGxpdFs0
XSwgbHNwbGl0WzVdLCBsc3BsaXRbNl0sIGxzcGxpdFs3XSkKICAgICAgICAgICAgZWxzZToKICAg
ICAgICAgICAgICAgIG1zZyA9ICJGaXh1cCBQZXJtczogaW52YWxpZCBjb25maWcgbGluZSAlcyIg
JSBsaW5lCiAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigicGVybS1jb25m
aWciLCBtc2csIGQpCiAgICAgICAgICAgICAgICBzZWxmLnBhdGggPSBOb25lCiAgICAgICAgICAg
ICAgICBzZWxmLmxpbmsgPSBOb25lCgogICAgICAgIGRlZiBfc2V0ZGlyKHNlbGYsIHBhdGgsIG1v
ZGUsIHVpZCwgZ2lkLCB3YWxrLCBmbW9kZSwgZnVpZCwgZmdpZCk6CiAgICAgICAgICAgIHNlbGYu
cGF0aCA9IG9zLnBhdGgubm9ybXBhdGgocGF0aCkKICAgICAgICAgICAgc2VsZi5saW5rID0gTm9u
ZQogICAgICAgICAgICBzZWxmLm1vZGUgPSBzZWxmLl9wcm9jbW9kZShtb2RlKQogICAgICAgICAg
ICBzZWxmLnVpZCAgPSBzZWxmLl9wcm9jdWlkKHVpZCkKICAgICAgICAgICAgc2VsZi5naWQgID0g
c2VsZi5fcHJvY2dpZChnaWQpCiAgICAgICAgICAgIHNlbGYud2FsayA9IHdhbGsubG93ZXIoKQog
ICAgICAgICAgICBzZWxmLmZtb2RlID0gc2VsZi5fcHJvY21vZGUoZm1vZGUpCiAgICAgICAgICAg
IHNlbGYuZnVpZCA9IHNlbGYuX3Byb2N1aWQoZnVpZCkKICAgICAgICAgICAgc2VsZi5mZ2lkID0g
c2VsZi5fcHJvY2dpZChmZ2lkKQoKICAgICAgICBkZWYgX3NldGxpbmsoc2VsZiwgcGF0aCwgbGlu
ayk6CiAgICAgICAgICAgIHNlbGYucGF0aCA9IG9zLnBhdGgubm9ybXBhdGgocGF0aCkKICAgICAg
ICAgICAgc2VsZi5saW5rID0gbGluawoKICAgICAgICBkZWYgX3Byb2Ntb2RlKHNlbGYsIG1vZGUp
OgogICAgICAgICAgICBpZiBub3QgbW9kZSBvciAobW9kZSBhbmQgbW9kZSA9PSAiLSIpOgogICAg
ICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAg
IHJldHVybiBpbnQobW9kZSw4KQoKICAgICAgICAjIE5vdGUgdWlkL2dpZCAtMSBoYXMgc3BlY2lh
bCBzaWduaWZpY2FuY2UgaW4gb3MubGNob3duCiAgICAgICAgZGVmIF9wcm9jdWlkKHNlbGYsIHVp
ZCk6CiAgICAgICAgICAgIGlmIHVpZCBpcyBOb25lIG9yIHVpZCA9PSAiLSI6CiAgICAgICAgICAg
ICAgICByZXR1cm4gLTEKICAgICAgICAgICAgZWxpZiB1aWQuaXNkaWdpdCgpOgogICAgICAgICAg
ICAgICAgcmV0dXJuIGludCh1aWQpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBy
ZXR1cm4gcHdkLmdldHB3bmFtKHVpZCkucHdfdWlkCgogICAgICAgIGRlZiBfcHJvY2dpZChzZWxm
LCBnaWQpOgogICAgICAgICAgICBpZiBnaWQgaXMgTm9uZSBvciBnaWQgPT0gIi0iOgogICAgICAg
ICAgICAgICAgcmV0dXJuIC0xCiAgICAgICAgICAgIGVsaWYgZ2lkLmlzZGlnaXQoKToKICAgICAg
ICAgICAgICAgIHJldHVybiBpbnQoZ2lkKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAg
ICAgcmV0dXJuIGdycC5nZXRncm5hbShnaWQpLmdyX2dpZAoKICAgICAgICAjIFVzZSBmb3IgZGVi
dWdnaW5nIHRoZSBlbnRyaWVzCiAgICAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgICAg
IGlmIHNlbGYubGluazoKICAgICAgICAgICAgICAgIHJldHVybiAiJXMgbGluayAlcyIgJSAoc2Vs
Zi5wYXRoLCBzZWxmLmxpbmspCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBtb2Rl
ID0gIi0iCiAgICAgICAgICAgICAgICBpZiBzZWxmLm1vZGU6CiAgICAgICAgICAgICAgICAgICAg
bW9kZSA9ICIwJW8iICUgc2VsZi5tb2RlCiAgICAgICAgICAgICAgICBmbW9kZSA9ICItIgogICAg
ICAgICAgICAgICAgaWYgc2VsZi5mbW9kZToKICAgICAgICAgICAgICAgICAgICBmbW9kZSA9ICIw
JW8iICUgc2VsZi5mbW9kZQogICAgICAgICAgICAgICAgdWlkID0gc2VsZi5fbWFwdWdpZChzZWxm
LnVpZCkKICAgICAgICAgICAgICAgIGdpZCA9IHNlbGYuX21hcHVnaWQoc2VsZi5naWQpCiAgICAg
ICAgICAgICAgICBmdWlkID0gc2VsZi5fbWFwdWdpZChzZWxmLmZ1aWQpCiAgICAgICAgICAgICAg
ICBmZ2lkID0gc2VsZi5fbWFwdWdpZChzZWxmLmZnaWQpCiAgICAgICAgICAgICAgICByZXR1cm4g
IiVzICVzICVzICVzICVzICVzICVzICVzIiAlIChzZWxmLnBhdGgsIG1vZGUsIHVpZCwgZ2lkLCBz
ZWxmLndhbGssIGZtb2RlLCBmdWlkLCBmZ2lkKQoKICAgICAgICBkZWYgX21hcHVnaWQoc2VsZiwg
aWQpOgogICAgICAgICAgICBpZiBpZCBpcyBOb25lIG9yIGlkID09IC0xOgogICAgICAgICAgICAg
ICAgcmV0dXJuICItIgogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgcmV0dXJuICIl
ZCIgJSBpZAoKICAgICMgRml4IHRoZSBwZXJtaXNzaW9uLCBvd25lciBhbmQgZ3JvdXAgb2YgcGF0
aAogICAgZGVmIGZpeF9wZXJtcyhwYXRoLCBtb2RlLCB1aWQsIGdpZCwgZGlyKToKICAgICAgICBp
ZiBtb2RlIGFuZCBub3Qgb3MucGF0aC5pc2xpbmsocGF0aCk6CiAgICAgICAgICAgICNiYi5ub3Rl
KCJGaXh1cCBQZXJtczogY2htb2QgMCVvICVzIiAlIChtb2RlLCBkaXIpKQogICAgICAgICAgICBv
cy5jaG1vZChwYXRoLCBtb2RlKQogICAgICAgICMgLTEgaXMgYSBzcGVjaWFsIHZhbHVlIHRoYXQg
bWVhbnMgZG9uJ3QgY2hhbmdlIHRoZSB1aWQvZ2lkCiAgICAgICAgIyBpZiB0aGV5IGFyZSBCT1RI
IC0xLCBkb24ndCBib3RoZXIgdG8gbGNob3duCiAgICAgICAgaWYgbm90ICh1aWQgPT0gLTEgYW5k
IGdpZCA9PSAtMSk6CiAgICAgICAgICAgICNiYi5ub3RlKCJGaXh1cCBQZXJtczogbGNob3duICVk
OiVkICVzIiAlICh1aWQsIGdpZCwgZGlyKSkKICAgICAgICAgICAgb3MubGNob3duKHBhdGgsIHVp
ZCwgZ2lkKQoKICAgICMgUmV0dXJuIGEgbGlzdCBvZiBjb25maWd1cmF0aW9uIGZpbGVzIGJhc2Vk
IG9uIGVpdGhlciB0aGUgZGVmYXVsdAogICAgIyBmaWxlcy9mcy1wZXJtcy50eHQgb3IgdGhlIGNv
bnRlbnRzIG9mIEZJTEVTWVNURU1fUEVSTVNfVEFCTEVTCiAgICAjIHBhdGhzIGFyZSByZXNvbHZl
ZCB2aWEgQkJQQVRICiAgICBkZWYgZ2V0X2ZzX3Blcm1zX2xpc3QoZCk6CiAgICAgICAgc3RyID0g
IiIKICAgICAgICBiYnBhdGggPSBkLmdldFZhcignQkJQQVRIJykKICAgICAgICBmc19wZXJtc190
YWJsZXMgPSBkLmdldFZhcignRklMRVNZU1RFTV9QRVJNU19UQUJMRVMnKSBvciAiIgogICAgICAg
IGZvciBjb25mX2ZpbGUgaW4gZnNfcGVybXNfdGFibGVzLnNwbGl0KCk6CiAgICAgICAgICAgIGNv
bmZwYXRoID0gYmIudXRpbHMud2hpY2goYmJwYXRoLCBjb25mX2ZpbGUpCiAgICAgICAgICAgIGlm
IGNvbmZwYXRoOgogICAgICAgICAgICAgICAgc3RyICs9ICIgJXMiICUgYmIudXRpbHMud2hpY2go
YmJwYXRoLCBjb25mX2ZpbGUpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBiYi53
YXJuKCJjYW5ub3QgZmluZCAlcyBzcGVjaWZpZWQgaW4gRklMRVNZU1RFTV9QRVJNU19UQUJMRVMi
ICUgY29uZl9maWxlKQogICAgICAgIHJldHVybiBzdHIKCgoKICAgIGR2YXIgPSBkLmdldFZhcign
UEtHRCcpCgogICAgZnNfcGVybXNfdGFibGUgPSB7fQogICAgZnNfbGlua190YWJsZSA9IHt9Cgog
ICAgIyBCeSBkZWZhdWx0IGFsbCBvZiB0aGUgc3RhbmRhcmQgZGlyZWN0b3JpZXMgc3BlY2lmaWVk
IGluCiAgICAjIGJpdGJha2UuY29uZiB3aWxsIGdldCAwNzU1IHJvb3Q6cm9vdC4KICAgIHRhcmdl
dF9wYXRoX3ZhcnMgPSBbICAgICdiYXNlX3ByZWZpeCcsCiAgICAgICAgICAgICAgICAncHJlZml4
JywKICAgICAgICAgICAgICAgICdleGVjX3ByZWZpeCcsCiAgICAgICAgICAgICAgICAnYmFzZV9i
aW5kaXInLAogICAgICAgICAgICAgICAgJ2Jhc2Vfc2JpbmRpcicsCiAgICAgICAgICAgICAgICAn
YmFzZV9saWJkaXInLAogICAgICAgICAgICAgICAgJ2RhdGFkaXInLAogICAgICAgICAgICAgICAg
J3N5c2NvbmZkaXInLAogICAgICAgICAgICAgICAgJ3NlcnZpY2VkaXInLAogICAgICAgICAgICAg
ICAgJ3NoYXJlZHN0YXRlZGlyJywKICAgICAgICAgICAgICAgICdsb2NhbHN0YXRlZGlyJywKICAg
ICAgICAgICAgICAgICdpbmZvZGlyJywKICAgICAgICAgICAgICAgICdtYW5kaXInLAogICAgICAg
ICAgICAgICAgJ2RvY2RpcicsCiAgICAgICAgICAgICAgICAnYmluZGlyJywKICAgICAgICAgICAg
ICAgICdzYmluZGlyJywKICAgICAgICAgICAgICAgICdsaWJleGVjZGlyJywKICAgICAgICAgICAg
ICAgICdsaWJkaXInLAogICAgICAgICAgICAgICAgJ2luY2x1ZGVkaXInLAogICAgICAgICAgICAg
ICAgJ29sZGluY2x1ZGVkaXInIF0KCiAgICBmb3IgcGF0aCBpbiB0YXJnZXRfcGF0aF92YXJzOgog
ICAgICAgIGRpciA9IGQuZ2V0VmFyKHBhdGgpIG9yICIiCiAgICAgICAgaWYgZGlyID09ICIiOgog
ICAgICAgICAgICBjb250aW51ZQogICAgICAgIGZzX3Blcm1zX3RhYmxlW2Rpcl0gPSBmc19wZXJt
c19lbnRyeShkLmV4cGFuZCgiJXMgMDc1NSByb290IHJvb3QgZmFsc2UgLSAtIC0iICUgKGRpcikp
KQoKICAgICMgTm93IHdlIGFjdHVhbGx5IGxvYWQgZnJvbSB0aGUgY29uZmlndXJhdGlvbiBmaWxl
cwogICAgZm9yIGNvbmYgaW4gZ2V0X2ZzX3Blcm1zX2xpc3QoZCkuc3BsaXQoKToKICAgICAgICBp
ZiBvcy5wYXRoLmV4aXN0cyhjb25mKToKICAgICAgICAgICAgZiA9IG9wZW4oY29uZikKICAgICAg
ICAgICAgZm9yIGxpbmUgaW4gZjoKICAgICAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgn
IycpOgogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBsc3BsaXQg
PSBsaW5lLnNwbGl0KCkKICAgICAgICAgICAgICAgIGlmIGxlbihsc3BsaXQpID09IDA6CiAgICAg
ICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgIGlmIGxlbihsc3BsaXQpICE9
IDggYW5kIG5vdCAobGVuKGxzcGxpdCkgPT0gMyBhbmQgbHNwbGl0WzFdLmxvd2VyKCkgPT0gImxp
bmsiKToKICAgICAgICAgICAgICAgICAgICBtc2cgPSAiRml4dXAgcGVybXM6ICVzIGludmFsaWQg
bGluZTogJXMiICUgKGNvbmYsIGxpbmUpCiAgICAgICAgICAgICAgICAgICAgcGFja2FnZV9xYV9o
YW5kbGVfZXJyb3IoInBlcm0tbGluZSIsIG1zZywgZCkKICAgICAgICAgICAgICAgICAgICBjb250
aW51ZQogICAgICAgICAgICAgICAgZW50cnkgPSBmc19wZXJtc19lbnRyeShkLmV4cGFuZChsaW5l
KSkKICAgICAgICAgICAgICAgIGlmIGVudHJ5IGFuZCBlbnRyeS5wYXRoOgogICAgICAgICAgICAg
ICAgICAgIGlmIGVudHJ5Lmxpbms6CiAgICAgICAgICAgICAgICAgICAgICAgIGZzX2xpbmtfdGFi
bGVbZW50cnkucGF0aF0gPSBlbnRyeQogICAgICAgICAgICAgICAgICAgICAgICBpZiBlbnRyeS5w
YXRoIGluIGZzX3Blcm1zX3RhYmxlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnNfcGVy
bXNfdGFibGUucG9wKGVudHJ5LnBhdGgpCiAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAg
ICAgICAgICAgICAgICAgICAgZnNfcGVybXNfdGFibGVbZW50cnkucGF0aF0gPSBlbnRyeQogICAg
ICAgICAgICAgICAgICAgICAgICBpZiBlbnRyeS5wYXRoIGluIGZzX2xpbmtfdGFibGU6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmc19saW5rX3RhYmxlLnBvcChlbnRyeS5wYXRoKQogICAg
ICAgICAgICBmLmNsb3NlKCkKCiAgICAjIERlYnVnIC0tIGxpc3Qgb3V0IGluLW1lbW9yeSB0YWJs
ZQogICAgI2ZvciBkaXIgaW4gZnNfcGVybXNfdGFibGU6CiAgICAjICAgIGJiLm5vdGUoIkZpeHVw
IFBlcm1zOiAlczogJXMiICUgKGRpciwgc3RyKGZzX3Blcm1zX3RhYmxlW2Rpcl0pKSkKICAgICNm
b3IgbGluayBpbiBmc19saW5rX3RhYmxlOgogICAgIyAgICBiYi5ub3RlKCJGaXh1cCBQZXJtczog
JXM6ICVzIiAlIChsaW5rLCBzdHIoZnNfbGlua190YWJsZVtsaW5rXSkpKQoKICAgICMgV2UgcHJv
Y2VzcyBsaW5rcyBmaXJzdCwgc28gd2UgY2FuIGdvIGJhY2sgYW5kIGZpeHVwIGRpcmVjdG9yeSBv
d25lcnNoaXAKICAgICMgZm9yIGFueSBuZXdseSBjcmVhdGVkIGRpcmVjdG9yaWVzCiAgICAjIFBy
b2Nlc3MgaW4gc29ydGVkIG9yZGVyIHNvIC9ydW4gZ2V0cyBjcmVhdGVkIGJlZm9yZSAvcnVuL2xv
Y2ssIGV0Yy4KICAgIGZvciBlbnRyeSBpbiBzb3J0ZWQoZnNfbGlua190YWJsZS52YWx1ZXMoKSwg
a2V5PWxhbWJkYSB4OiB4LmxpbmspOgogICAgICAgIGxpbmsgPSBlbnRyeS5saW5rCiAgICAgICAg
ZGlyID0gZW50cnkucGF0aAogICAgICAgIG9yaWdpbiA9IGR2YXIgKyBkaXIKICAgICAgICBpZiBu
b3QgKGNwYXRoLmV4aXN0cyhvcmlnaW4pIGFuZCBjcGF0aC5pc2RpcihvcmlnaW4pIGFuZCBub3Qg
Y3BhdGguaXNsaW5rKG9yaWdpbikpOgogICAgICAgICAgICBjb250aW51ZQoKICAgICAgICBpZiBs
aW5rWzBdID09ICIvIjoKICAgICAgICAgICAgdGFyZ2V0ID0gZHZhciArIGxpbmsKICAgICAgICAg
ICAgcHRhcmdldCA9IGxpbmsKICAgICAgICBlbHNlOgogICAgICAgICAgICB0YXJnZXQgPSBvcy5w
YXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG9yaWdpbiksIGxpbmspCiAgICAgICAgICAgIHB0YXJn
ZXQgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKGRpciksIGxpbmspCiAgICAgICAgaWYg
b3MucGF0aC5leGlzdHModGFyZ2V0KToKICAgICAgICAgICAgbXNnID0gIkZpeHVwIFBlcm1zOiBV
bmFibGUgdG8gY29ycmVjdCBkaXJlY3RvcnkgbGluaywgdGFyZ2V0IGFscmVhZHkgZXhpc3RzOiAl
cyAtPiAlcyIgJSAoZGlyLCBwdGFyZ2V0KQogICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9l
cnJvcigicGVybS1saW5rIiwgbXNnLCBkKQogICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAj
IENyZWF0ZSBwYXRoIHRvIG1vdmUgZGlyZWN0b3J5IHRvLCBtb3ZlIGl0LCBhbmQgdGhlbiBzZXR1
cCB0aGUgc3ltbGluawogICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihvcy5wYXRoLmRpcm5hbWUo
dGFyZ2V0KSkKICAgICAgICAjYmIubm90ZSgiRml4dXAgUGVybXM6IFJlbmFtZSAlcyAtPiAlcyIg
JSAoZGlyLCBwdGFyZ2V0KSkKICAgICAgICBvcy5yZW5hbWUob3JpZ2luLCB0YXJnZXQpCiAgICAg
ICAgI2JiLm5vdGUoIkZpeHVwIFBlcm1zOiBMaW5rICVzIC0+ICVzIiAlIChkaXIsIGxpbmspKQog
ICAgICAgIG9zLnN5bWxpbmsobGluaywgb3JpZ2luKQoKICAgIGZvciBkaXIgaW4gZnNfcGVybXNf
dGFibGU6CiAgICAgICAgb3JpZ2luID0gZHZhciArIGRpcgogICAgICAgIGlmIG5vdCAoY3BhdGgu
ZXhpc3RzKG9yaWdpbikgYW5kIGNwYXRoLmlzZGlyKG9yaWdpbikpOgogICAgICAgICAgICBjb250
aW51ZQoKICAgICAgICBmaXhfcGVybXMob3JpZ2luLCBmc19wZXJtc190YWJsZVtkaXJdLm1vZGUs
IGZzX3Blcm1zX3RhYmxlW2Rpcl0udWlkLCBmc19wZXJtc190YWJsZVtkaXJdLmdpZCwgZGlyKQoK
ICAgICAgICBpZiBmc19wZXJtc190YWJsZVtkaXJdLndhbGsgPT0gJ3RydWUnOgogICAgICAgICAg
ICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhvcmlnaW4pOgogICAgICAgICAgICAg
ICAgZm9yIGRyIGluIGRpcnM6CiAgICAgICAgICAgICAgICAgICAgZWFjaF9kaXIgPSBvcy5wYXRo
LmpvaW4ocm9vdCwgZHIpCiAgICAgICAgICAgICAgICAgICAgZml4X3Blcm1zKGVhY2hfZGlyLCBm
c19wZXJtc190YWJsZVtkaXJdLm1vZGUsIGZzX3Blcm1zX3RhYmxlW2Rpcl0udWlkLCBmc19wZXJt
c190YWJsZVtkaXJdLmdpZCwgZGlyKQogICAgICAgICAgICAgICAgZm9yIGYgaW4gZmlsZXM6CiAg
ICAgICAgICAgICAgICAgICAgZWFjaF9maWxlID0gb3MucGF0aC5qb2luKHJvb3QsIGYpCiAgICAg
ICAgICAgICAgICAgICAgZml4X3Blcm1zKGVhY2hfZmlsZSwgZnNfcGVybXNfdGFibGVbZGlyXS5m
bW9kZSwgZnNfcGVybXNfdGFibGVbZGlyXS5mdWlkLCBmc19wZXJtc190YWJsZVtkaXJdLmZnaWQs
IGRpcikKfQoKCnB5dGhvbiBnZW5fcGFja2FnZXZhciAoKSB7CmRlZiBnZW5fcGFja2FnZXZhcihk
KToKICAgIHJldCA9IFtdCiAgICBwa2dzID0gKGQuZ2V0VmFyKCJQQUNLQUdFUyIpIG9yICIiKS5z
cGxpdCgpCiAgICB2YXJzID0gKGQuZ2V0VmFyKCJQQUNLQUdFVkFSUyIpIG9yICIiKS5zcGxpdCgp
CiAgICBmb3IgcCBpbiBwa2dzOgogICAgICAgIGZvciB2IGluIHZhcnM6CiAgICAgICAgICAgIHJl
dC5hcHBlbmQodiArICJfIiArIHApCgogICAgICAgICMgRW5zdXJlIHRoYXQgY2hhbmdlcyB0byBJ
TkNPTVBBVElCTEVfTElDRU5TRSByZS1ydW4gZG9fcGFja2FnZSBmb3IKICAgICAgICAjIGFmZmVj
dGVkIHJlY2lwZXMuCiAgICAgICAgcmV0LmFwcGVuZCgnTElDRU5TRV9FWENMVVNJT04tJXMnICUg
cCkKICAgIHJldHVybiAiICIuam9pbihyZXQpCn0KCgpweXRob24gZ2VuZXJhdGVfc3N0YXRlZm4g
KCkgewpkZWYgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgaGFzaCwgZCk6CiAgICBpZiBub3QgaGFz
aDoKICAgICAgICBoYXNoID0gIklOVkFMSUQiCiAgICByZXR1cm4gaGFzaFs6Ml0gKyAiLyIgKyBz
cGVjICsgaGFzaAp9CgoKcHl0aG9uIGdldF9idWlsZHByb2Nlc3NfY3B1dGltZSAoKSB7CmRlZiBn
ZXRfYnVpbGRwcm9jZXNzX2NwdXRpbWUocGlkKToKICAgIHdpdGggb3BlbigiL3Byb2MvJWQvc3Rh
dCIgJSBwaWQsICJyIikgYXMgZjoKICAgICAgICBmaWVsZHMgPSBmLnJlYWRsaW5lKCkucnN0cmlw
KCkuc3BsaXQoKQogICAgIyAxMzogdXRpbWUsIDE0OiBzdGltZSwgMTU6IGN1dGltZSwgMTY6IGNz
dGltZQogICAgcmV0dXJuIHN1bShpbnQoZmllbGQpIGZvciBmaWVsZCBpbiBmaWVsZHNbMTM6MTZd
KQp9CgoKcHl0aG9uIGdldF9idWlsZHRpbWVkYXRhICgpIHsKZGVmIGdldF9idWlsZHRpbWVkYXRh
KHZhciwgZCk6CiAgICBpbXBvcnQgdGltZQogICAgdGltZWRhdGEgPSBkLmdldFZhcih2YXIsIEZh
bHNlKQogICAgaWYgdGltZWRhdGEgaXMgTm9uZToKICAgICAgICByZXR1cm4KICAgIG9sZHRpbWUs
IG9sZGNwdSwgb2xkcHJvYyA9IHRpbWVkYXRhCiAgICBwcm9jZGlmZiA9IGdldF9idWlsZHByb2Nl
c3NfY3B1dGltZShvcy5nZXRwaWQoKSkgLSBvbGRwcm9jCiAgICBjcHVkaWZmID0gZ2V0X2NwdXRp
bWUoKSAtIG9sZGNwdQogICAgZW5kX3RpbWUgPSB0aW1lLnRpbWUoKQogICAgdGltZWRpZmYgPSBl
bmRfdGltZSAtIG9sZHRpbWUKICAgIGlmIGNwdWRpZmYgPiAwOgogICAgICAgIGNwdXBlcmMgPSBm
bG9hdChwcm9jZGlmZikgKiAxMDAgLyBjcHVkaWZmCiAgICBlbHNlOgogICAgICAgIGNwdXBlcmMg
PSBOb25lCiAgICByZXR1cm4gdGltZWRpZmYsIGNwdXBlcmMKfQoKCnB5dGhvbiBnZXRfY29uZmZp
bGVzICgpIHsKZGVmIGdldF9jb25mZmlsZXMocGtnLCBkKToKICAgIHBrZ2Rlc3QgPSBkLmdldFZh
cignUEtHREVTVCcpCiAgICByb290ID0gb3MucGF0aC5qb2luKHBrZ2Rlc3QsIHBrZykKICAgIGN3
ZCA9IG9zLmdldGN3ZCgpCiAgICBvcy5jaGRpcihyb290KQoKICAgIGNvbmZmaWxlcyA9IGQuZ2V0
VmFyKCdDT05GRklMRVNfJXMnICUgcGtnKTsKICAgIGlmIGNvbmZmaWxlcyA9PSBOb25lOgogICAg
ICAgIGNvbmZmaWxlcyA9IGQuZ2V0VmFyKCdDT05GRklMRVMnKQogICAgaWYgY29uZmZpbGVzID09
IE5vbmU6CiAgICAgICAgY29uZmZpbGVzID0gIiIKICAgIGNvbmZmaWxlcyA9IGNvbmZmaWxlcy5z
cGxpdCgpCiAgICBjb25mX29yaWdfbGlzdCA9IGZpbGVzX2Zyb21fZmlsZXZhcnMoY29uZmZpbGVz
KVswXQoKICAgICMgUmVtb3ZlIGxpbmtzIGFuZCBkaXJlY3RvcmllcyBmcm9tIGNvbmZfb3JpZ19s
aXN0IHRvIGdldCBjb25mX2xpc3Qgd2hpY2ggb25seSBjb250YWlucyBub3JtYWwgZmlsZXMKICAg
IGNvbmZfbGlzdCA9IFtdCiAgICBmb3IgZiBpbiBjb25mX29yaWdfbGlzdDoKICAgICAgICBpZiBv
cy5wYXRoLmlzZGlyKGYpOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgIGlmIG9zLnBhdGgu
aXNsaW5rKGYpOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4
aXN0cyhmKToKICAgICAgICAgICAgY29udGludWUKICAgICAgICBjb25mX2xpc3QuYXBwZW5kKGYp
CgogICAgIyBSZW1vdmUgdGhlIGxlYWRpbmcgJy4vJwogICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVu
KGNvbmZfbGlzdCkpOgogICAgICAgIGNvbmZfbGlzdFtpXSA9IGNvbmZfbGlzdFtpXVsxOl0KCiAg
ICBvcy5jaGRpcihjd2QpCiAgICByZXR1cm4gY29uZl9saXN0Cn0KCgpweXRob24gZ2V0X2NwdXRp
bWUgKCkgewpkZWYgZ2V0X2NwdXRpbWUoKToKICAgIHdpdGggb3BlbigiL3Byb2Mvc3RhdCIsICJy
IikgYXMgZjoKICAgICAgICBmaWVsZHMgPSBmLnJlYWRsaW5lKCkucnN0cmlwKCkuc3BsaXQoKVsx
Ol0KICAgIHJldHVybiBzdW0oaW50KGZpZWxkKSBmb3IgZmllbGQgaW4gZmllbGRzKQp9CgoKcHl0
aG9uIGdldF9maWxlc3lzdGVtX2lkICgpIHsKZGVmIGdldF9maWxlc3lzdGVtX2lkKHBhdGgpOgog
ICAgaW1wb3J0IHN1YnByb2Nlc3MKICAgIHRyeToKICAgICAgICByZXR1cm4gc3VicHJvY2Vzcy5j
aGVja19vdXRwdXQoWyJzdGF0IiwgIi1mIiwgIi1jIiwgIiV0IiwgcGF0aF0pLmRlY29kZSgndXRm
LTgnKS5zdHJpcCgpCiAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3I6CiAg
ICAgICAgYmIud2FybigiQ2FuJ3QgZ2V0IGZpbGVzeXN0ZW0gaWQgb2Y6ICVzIiAlIHBhdGgpCiAg
ICAgICAgcmV0dXJuIE5vbmUKCiMgQ2hlY2sgdGhhdCB0aGUgcGF0aCBpc24ndCBsb2NhdGVkIG9u
IG5mcy59CgoKcHl0aG9uIGdldF9nbGliY19sb2FkZXIgKCkgewpkZWYgZ2V0X2dsaWJjX2xvYWRl
cihkKToKICAgIGltcG9ydCByZQoKICAgIGR5bmFtaWNfbG9hZGVyID0gTm9uZQogICAgdGFyZ2V0
YXJjaCA9IGQuZ2V0VmFyKCJUQVJHRVRfQVJDSCIpCiAgICBpZiB0YXJnZXRhcmNoIGluIFsicG93
ZXJwYyIsICJtaWNyb2JsYXplIl06CiAgICAgICAgZHluYW1pY19sb2FkZXIgPSAiJHtiYXNlX2xp
YmRpcn0vbGQuc28uMSIKICAgIGVsaWYgdGFyZ2V0YXJjaCBpbiBbIm1pcHNpc2EzMnI2ZWwiLCAi
bWlwc2lzYTMycjYiLCAibWlwc2lzYTY0cjZlbCIsICJtaXBzaXNhNjRyNiJdOgogICAgICAgIGR5
bmFtaWNfbG9hZGVyID0gIiR7YmFzZV9saWJkaXJ9L2xkLWxpbnV4LW1pcHNuOC5zby4xIgogICAg
ZWxpZiB0YXJnZXRhcmNoLnN0YXJ0c3dpdGgoIm1pcHMiKToKICAgICAgICBkeW5hbWljX2xvYWRl
ciA9ICIke2Jhc2VfbGliZGlyfS9sZC5zby4xIgogICAgZWxpZiB0YXJnZXRhcmNoID09ICJwb3dl
cnBjNjQiOgogICAgICAgIGR5bmFtaWNfbG9hZGVyID0gIiR7YmFzZV9saWJkaXJ9L2xkNjQuc28u
MSIKICAgIGVsaWYgdGFyZ2V0YXJjaCA9PSAieDg2XzY0IjoKICAgICAgICBkeW5hbWljX2xvYWRl
ciA9ICIke2Jhc2VfbGliZGlyfS9sZC1saW51eC14ODYtNjQuc28uMiIKICAgIGVsaWYgcmUuc2Vh
cmNoKCJpLjg2IiwgdGFyZ2V0YXJjaCk6CiAgICAgICAgZHluYW1pY19sb2FkZXIgPSAiJHtiYXNl
X2xpYmRpcn0vbGQtbGludXguc28uMiIKICAgIGVsaWYgdGFyZ2V0YXJjaCA9PSAiYXJtIjoKICAg
ICAgICBkeW5hbWljX2xvYWRlciA9ICIke2Jhc2VfbGliZGlyfS9sZC1saW51eC5zby4zIgogICAg
ZWxpZiB0YXJnZXRhcmNoLnN0YXJ0c3dpdGgoImFhcmNoNjQiKToKICAgICAgICBkeW5hbWljX2xv
YWRlciA9ICIke2Jhc2VfbGliZGlyfS9sZC1saW51eC1hYXJjaDY0JHtBUk1QS0dTRlhfRU5ESUFO
XzY0fS5zby4xIgogICAgZWxpZiB0YXJnZXRhcmNoLnN0YXJ0c3dpdGgoInJpc2N2NjQiKToKICAg
ICAgICBkeW5hbWljX2xvYWRlciA9ICIke2Jhc2VfbGliZGlyfS9sZC1saW51eC1yaXNjdjY0LWxw
NjQke0BbJ2QnLCAnJ11bZC5nZXRWYXIoJ1RBUkdFVF9GUFUnKSA9PSAnc29mdCddfS5zby4xIgog
ICAgcmV0dXJuIGR5bmFtaWNfbG9hZGVyCn0KCgpweXRob24gZ2V0X2xheWVyc19icmFuY2hfcmV2
ICgpIHsKZGVmIGdldF9sYXllcnNfYnJhbmNoX3JldihkKToKICAgIGxheWVycyA9IChkLmdldFZh
cigiQkJMQVlFUlMiKSBvciAiIikuc3BsaXQoKQogICAgbGF5ZXJzX2JyYW5jaF9yZXYgPSBbIiUt
MjBzID0gXCIlczolc1wiIiAlIChvcy5wYXRoLmJhc2VuYW1lKGkpLCBcCiAgICAgICAgYmFzZV9n
ZXRfbWV0YWRhdGFfZ2l0X2JyYW5jaChpLCBOb25lKS5zdHJpcCgpLCBcCiAgICAgICAgYmFzZV9n
ZXRfbWV0YWRhdGFfZ2l0X3JldmlzaW9uKGksIE5vbmUpKSBcCiAgICAgICAgICAgIGZvciBpIGlu
IGxheWVyc10KICAgIGkgPSBsZW4obGF5ZXJzX2JyYW5jaF9yZXYpLTEKICAgIHAxID0gbGF5ZXJz
X2JyYW5jaF9yZXZbaV0uZmluZCgiPSIpCiAgICBzMSA9IGxheWVyc19icmFuY2hfcmV2W2ldW3Ax
Ol0KICAgIHdoaWxlIGkgPiAwOgogICAgICAgIHAyID0gbGF5ZXJzX2JyYW5jaF9yZXZbaS0xXS5m
aW5kKCI9IikKICAgICAgICBzMj0gbGF5ZXJzX2JyYW5jaF9yZXZbaS0xXVtwMjpdCiAgICAgICAg
aWYgczEgPT0gczI6CiAgICAgICAgICAgIGxheWVyc19icmFuY2hfcmV2W2ktMV0gPSBsYXllcnNf
YnJhbmNoX3JldltpLTFdWzA6cDJdCiAgICAgICAgICAgIGkgLT0gMQogICAgICAgIGVsc2U6CiAg
ICAgICAgICAgIGkgLT0gMQogICAgICAgICAgICBwMSA9IGxheWVyc19icmFuY2hfcmV2W2ldLmZp
bmQoIj0iKQogICAgICAgICAgICBzMT0gbGF5ZXJzX2JyYW5jaF9yZXZbaV1bcDE6XQogICAgcmV0
dXJuIGxheWVyc19icmFuY2hfcmV2Cgp9CgoKcHl0aG9uIGdldF9saWNfY2hlY2tzdW1fZmlsZV9s
aXN0ICgpIHsKZGVmIGdldF9saWNfY2hlY2tzdW1fZmlsZV9saXN0KGQpOgogICAgZmlsZWxpc3Qg
PSBbXQogICAgbGljX2ZpbGVzID0gZC5nZXRWYXIoIkxJQ19GSUxFU19DSEtTVU0iKSBvciAnJwog
ICAgdG1wZGlyID0gZC5nZXRWYXIoIlRNUERJUiIpCiAgICBzID0gZC5nZXRWYXIoIlMiKQogICAg
YiA9IGQuZ2V0VmFyKCJCIikKICAgIHdvcmtkaXIgPSBkLmdldFZhcigiV09SS0RJUiIpCgogICAg
dXJscyA9IGxpY19maWxlcy5zcGxpdCgpCiAgICBmb3IgdXJsIGluIHVybHM6CiAgICAgICAgIyBX
ZSBvbmx5IGNhcmUgYWJvdXQgaXRlbXMgdGhhdCBhcmUgYWJzb2x1dGUgcGF0aHMgc2luY2UKICAg
ICAgICAjIGFueSBvdGhlcnMgc2hvdWxkIGJlIGNvdmVyZWQgYnkgU1JDX1VSSS4KICAgICAgICB0
cnk6CiAgICAgICAgICAgIChtZXRob2QsIGhvc3QsIHBhdGgsIHVzZXIsIHBzd2QsIHBhcm0pID0g
YmIuZmV0Y2guZGVjb2RldXJsKHVybCkKICAgICAgICAgICAgaWYgbWV0aG9kICE9ICJmaWxlIiBv
ciBub3QgcGF0aDoKICAgICAgICAgICAgICAgIHJhaXNlIGJiLmZldGNoLk1hbGZvcm1lZFVybCh1
cmwpCgogICAgICAgICAgICBpZiBwYXRoWzBdID09ICcvJzoKICAgICAgICAgICAgICAgIGlmIHBh
dGguc3RhcnRzd2l0aCgodG1wZGlyLCBzLCBiLCB3b3JrZGlyKSk6CiAgICAgICAgICAgICAgICAg
ICAgY29udGludWUKICAgICAgICAgICAgICAgIGZpbGVsaXN0LmFwcGVuZChwYXRoICsgIjoiICsg
c3RyKG9zLnBhdGguZXhpc3RzKHBhdGgpKSkKICAgICAgICBleGNlcHQgYmIuZmV0Y2guTWFsZm9y
bWVkVXJsOgogICAgICAgICAgICBiYi5mYXRhbChkLmdldFZhcignUE4nKSArICI6IExJQ19GSUxF
U19DSEtTVU0gY29udGFpbnMgYW4gaW52YWxpZCBVUkw6ICIgKyB1cmwpCiAgICByZXR1cm4gIiAi
LmpvaW4oZmlsZWxpc3QpCn0KCgpweXRob24gZ2V0X2xpbnV4bG9hZGVyICgpIHsKZGVmIGdldF9s
aW51eGxvYWRlcihkKToKICAgIG92ZXJyaWRlcyA9IGQuZ2V0VmFyKCJPVkVSUklERVMiKS5zcGxp
dCgiOiIpCgogICAgaWYgImxpYmMtYmFyZW1ldGFsIiBpbiBvdmVycmlkZXM6CiAgICAgICAgcmV0
dXJuIE5vbmUKCiAgICBpZiAibGliYy1tdXNsIiBpbiBvdmVycmlkZXM6CiAgICAgICAgZHluYW1p
Y19sb2FkZXIgPSBnZXRfbXVzbF9sb2FkZXIoZCkKICAgIGVsc2U6CiAgICAgICAgZHluYW1pY19s
b2FkZXIgPSBnZXRfZ2xpYmNfbG9hZGVyKGQpCiAgICByZXR1cm4gZHluYW1pY19sb2FkZXIKfQoK
CnB5dGhvbiBnZXRfbXVsdGlsaWJfZGF0YXN0b3JlICgpIHsKZGVmIGdldF9tdWx0aWxpYl9kYXRh
c3RvcmUodmFyaWFudCwgZCk6CiAgICByZXR1cm4gb2UudXRpbHMuZ2V0X211bHRpbGliX2RhdGFz
dG9yZSh2YXJpYW50LCBkKQp9CgoKcHl0aG9uIGdldF9tdXNsX2xvYWRlciAoKSB7CmRlZiBnZXRf
bXVzbF9sb2FkZXIoZCk6CiAgICBpbXBvcnQgcmUKICAgIGR5bmFtaWNfbG9hZGVyID0gTm9uZQoK
ICAgIHRhcmdldGFyY2ggPSBkLmdldFZhcigiVEFSR0VUX0FSQ0giKQogICAgaWYgdGFyZ2V0YXJj
aC5zdGFydHN3aXRoKCJtaWNyb2JsYXplIik6CiAgICAgICAgZHluYW1pY19sb2FkZXIgPSAiJHti
YXNlX2xpYmRpcn0vbGQtbXVzbC1taWNyb2JsYXplJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVf
RkVBVFVSRVMnLCAnYmlnZW5kaWFuJywgJycsICdlbCcgLGQpfS5zby4xIgogICAgZWxpZiB0YXJn
ZXRhcmNoLnN0YXJ0c3dpdGgoIm1pcHMiKToKICAgICAgICBkeW5hbWljX2xvYWRlciA9ICIke2Jh
c2VfbGliZGlyfS9sZC1tdXNsLW1pcHMke0FCSUVYVEVOU0lPTn0ke01JUFNQS0dTRlhfQllURX0k
e01JUFNQS0dTRlhfUjZ9JHtNSVBTUEtHU0ZYX0VORElBTn0ke0BbJycsICctc2YnXVtkLmdldFZh
cignVEFSR0VUX0ZQVScpID09ICdzb2Z0J119LnNvLjEiCiAgICBlbGlmIHRhcmdldGFyY2ggPT0g
InBvd2VycGMiOgogICAgICAgIGR5bmFtaWNfbG9hZGVyID0gIiR7YmFzZV9saWJkaXJ9L2xkLW11
c2wtcG93ZXJwYyR7QFsnJywgJy1zZiddW2QuZ2V0VmFyKCdUQVJHRVRfRlBVJykgPT0gJ3NvZnQn
XX0uc28uMSIKICAgIGVsaWYgdGFyZ2V0YXJjaCA9PSAicG93ZXJwYzY0IjoKICAgICAgICBkeW5h
bWljX2xvYWRlciA9ICIke2Jhc2VfbGliZGlyfS9sZC1tdXNsLXBvd2VycGM2NC5zby4xIgogICAg
ZWxpZiB0YXJnZXRhcmNoID09ICJ4ODZfNjQiOgogICAgICAgIGR5bmFtaWNfbG9hZGVyID0gIiR7
YmFzZV9saWJkaXJ9L2xkLW11c2wteDg2XzY0LnNvLjEiCiAgICBlbGlmIHJlLnNlYXJjaCgiaS44
NiIsIHRhcmdldGFyY2gpOgogICAgICAgIGR5bmFtaWNfbG9hZGVyID0gIiR7YmFzZV9saWJkaXJ9
L2xkLW11c2wtaTM4Ni5zby4xIgogICAgZWxpZiB0YXJnZXRhcmNoLnN0YXJ0c3dpdGgoImFybSIp
OgogICAgICAgIGR5bmFtaWNfbG9hZGVyID0gIiR7YmFzZV9saWJkaXJ9L2xkLW11c2wtYXJtJHtB
Uk1QS0dTRlhfRU5ESUFOfSR7QVJNUEtHU0ZYX0VBQkl9LnNvLjEiCiAgICBlbGlmIHRhcmdldGFy
Y2guc3RhcnRzd2l0aCgiYWFyY2g2NCIpOgogICAgICAgIGR5bmFtaWNfbG9hZGVyID0gIiR7YmFz
ZV9saWJkaXJ9L2xkLW11c2wtYWFyY2g2NCR7QVJNUEtHU0ZYX0VORElBTl82NH0uc28uMSIKICAg
IGVsaWYgdGFyZ2V0YXJjaC5zdGFydHN3aXRoKCJyaXNjdjY0Iik6CiAgICAgICAgZHluYW1pY19s
b2FkZXIgPSAiJHtiYXNlX2xpYmRpcn0vbGQtbXVzbC1yaXNjdjY0JHtAWycnLCAnLXNmJ11bZC5n
ZXRWYXIoJ1RBUkdFVF9GUFUnKSA9PSAnc29mdCddfS5zby4xIgogICAgcmV0dXJuIGR5bmFtaWNf
bG9hZGVyCn0KCgpweXRob24gZ2V0X3BhY2thZ2VfYWRkaXRpb25hbF9tZXRhZGF0YSAoKSB7CmRl
ZiBnZXRfcGFja2FnZV9hZGRpdGlvbmFsX21ldGFkYXRhIChwa2dfdHlwZSwgZCk6CiAgICBiYXNl
X2tleSA9ICJQQUNLQUdFX0FERF9NRVRBREFUQSIKICAgIGZvciBrZXkgaW4gKCIlc18lcyIgJSAo
YmFzZV9rZXksIHBrZ190eXBlLnVwcGVyKCkpLCBiYXNlX2tleSk6CiAgICAgICAgaWYgZC5nZXRW
YXIoa2V5LCBGYWxzZSkgaXMgTm9uZToKICAgICAgICAgICAgY29udGludWUKICAgICAgICBkLnNl
dFZhckZsYWcoa2V5LCAidHlwZSIsICJsaXN0IikKICAgICAgICBpZiBkLmdldFZhckZsYWcoa2V5
LCAic2VwYXJhdG9yIikgaXMgTm9uZToKICAgICAgICAgICAgZC5zZXRWYXJGbGFnKGtleSwgInNl
cGFyYXRvciIsICJcXG4iKQogICAgICAgIG1ldGFkYXRhX2ZpZWxkcyA9IFtmaWVsZC5zdHJpcCgp
IGZvciBmaWVsZCBpbiBvZS5kYXRhLnR5cGVkX3ZhbHVlKGtleSwgZCldCiAgICAgICAgcmV0dXJu
ICJcbiIuam9pbihtZXRhZGF0YV9maWVsZHMpLnN0cmlwKCkKfQoKCnB5dGhvbiBnZXRfcGFja2Fn
ZV9tYXBwaW5nICgpIHsKZGVmIGdldF9wYWNrYWdlX21hcHBpbmcgKHBrZywgYmFzZXBrZywgZCk6
CiAgICBpbXBvcnQgb2UucGFja2FnZWRhdGEKCiAgICBkYXRhID0gb2UucGFja2FnZWRhdGEucmVh
ZF9zdWJwa2dkYXRhKHBrZywgZCkKICAgIGtleSA9ICJQS0dfJXMiICUgcGtnCgogICAgaWYga2V5
IGluIGRhdGE6CiAgICAgICAgIyBIYXZlIHRvIGF2b2lkIHVuZG9pbmcgdGhlIHdyaXRlX2V4dHJh
X3BrZ3MoZ2xvYmFsX3ZhcmlhbnRzLi4uKQogICAgICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xh
c3MoJ2FsbGFyY2gnLCBkKSBhbmQgbm90IGQuZ2V0VmFyKCdNVUxUSUxJQl9WQVJJQU5UUycpIFwK
ICAgICAgICAgICAgYW5kIGRhdGFba2V5XSA9PSBiYXNlcGtnOgogICAgICAgICAgICByZXR1cm4g
cGtnCiAgICAgICAgcmV0dXJuIGRhdGFba2V5XQoKICAgIHJldHVybiBwa2cKfQoKCnB5dGhvbiBn
ZXRfcHJvY2Vzc19jcHV0aW1lICgpIHsKZGVmIGdldF9wcm9jZXNzX2NwdXRpbWUocGlkKToKICAg
IGltcG9ydCByZXNvdXJjZQogICAgd2l0aCBvcGVuKCIvcHJvYy8lZC9zdGF0IiAlIHBpZCwgInIi
KSBhcyBmOgogICAgICAgIGZpZWxkcyA9IGYucmVhZGxpbmUoKS5yc3RyaXAoKS5zcGxpdCgpCiAg
ICBzdGF0cyA9IHsKICAgICAgICAndXRpbWUnICA6IGZpZWxkc1sxM10sCiAgICAgICAgJ3N0aW1l
JyAgOiBmaWVsZHNbMTRdLAogICAgICAgICdjdXRpbWUnIDogZmllbGRzWzE1XSwKICAgICAgICAn
Y3N0aW1lJyA6IGZpZWxkc1sxNl0sCiAgICB9CiAgICBpb3N0YXRzID0ge30KICAgIGlmIG9zLnBh
dGguaXNmaWxlKCIvcHJvYy8lZC9pbyIgJSBwaWQpOgogICAgICAgIHdpdGggb3BlbigiL3Byb2Mv
JWQvaW8iICUgcGlkLCAiciIpIGFzIGY6CiAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAg
ICAgICAgICBpID0gZi5yZWFkbGluZSgpLnN0cmlwKCkKICAgICAgICAgICAgICAgIGlmIG5vdCBp
OgogICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICBpZiBub3QgIjoiIGlu
IGk6CiAgICAgICAgICAgICAgICAgICAgIyBvbmUgbW9yZSBleHRyYSBsaW5lIGlzIGFwcGVuZGVk
IChlbXB0eSBvciBjb250YWluaW5nICIwIikKICAgICAgICAgICAgICAgICAgICAjIG1vc3QgcHJv
YmFibHkgZHVlIHRvIHJhY2UgY29uZGl0aW9uIGluIGtlcm5lbCB3aGlsZQogICAgICAgICAgICAg
ICAgICAgICMgdXBkYXRpbmcgSU8gc3RhdHMKICAgICAgICAgICAgICAgICAgICBicmVhawogICAg
ICAgICAgICAgICAgaSA9IGkuc3BsaXQoIjogIikKICAgICAgICAgICAgICAgIGlvc3RhdHNbaVsw
XV0gPSBpWzFdCiAgICByZXNvdXJjZXMgPSByZXNvdXJjZS5nZXRydXNhZ2UocmVzb3VyY2UuUlVT
QUdFX1NFTEYpCiAgICBjaGlsZHJlcyA9IHJlc291cmNlLmdldHJ1c2FnZShyZXNvdXJjZS5SVVNB
R0VfQ0hJTERSRU4pCiAgICByZXR1cm4gc3RhdHMsIGlvc3RhdHMsIHJlc291cmNlcywgY2hpbGRy
ZXMKfQoKCnB5dGhvbiBnZXRfcmVjaXBlX2luZm8gKCkgewpkZWYgZ2V0X3JlY2lwZV9pbmZvKGQp
OgogICAgaW5mbyA9IHt9CiAgICBpbmZvWyJQViJdID0gZC5nZXRWYXIoIlBWIikKICAgIGluZm9b
IlBSIl0gPSBkLmdldFZhcigiUFIiKQogICAgaW5mb1siTElDRU5TRSJdID0gZC5nZXRWYXIoIkxJ
Q0VOU0UiKQogICAgcmV0dXJuIGluZm8KfQoKCnB5dGhvbiBnZXRfdGltZWRhdGEgKCkgewpkZWYg
Z2V0X3RpbWVkYXRhKHZhciwgZCwgZW5kX3RpbWUpOgogICAgb2xkdGltZSA9IGQuZ2V0VmFyKHZh
ciwgRmFsc2UpCiAgICBpZiBvbGR0aW1lIGlzIE5vbmU6CiAgICAgICAgcmV0dXJuCiAgICByZXR1
cm4gZW5kX3RpbWUgLSBvbGR0aW1lCn0KCgpweXRob24gaW5jb21wYXRpYmxlX2xpY2Vuc2UgKCkg
ewpkZWYgaW5jb21wYXRpYmxlX2xpY2Vuc2UoZCwgZG9udF93YW50X2xpY2Vuc2VzLCBwYWNrYWdl
PU5vbmUpOgogICAgIiIiCiAgICBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiBhIHJlY2lwZSBoYXMg
b25seSBpbmNvbXBhdGlibGUgbGljZW5zZXMuIEl0IGFsc28KICAgIHRha2UgaW50byBjb25zaWRl
cmF0aW9uICdvcicgb3BlcmFuZC4gIGRvbnRfd2FudF9saWNlbnNlcyBzaG91bGQgYmUgcGFzc2Vk
CiAgICBhcyBjYW5vbmljYWwgKFNQRFgpIG5hbWVzLgogICAgIiIiCiAgICBpbXBvcnQgb2UubGlj
ZW5zZQogICAgbGljZW5zZSA9IGQuZ2V0VmFyKCJMSUNFTlNFXyVzIiAlIHBhY2thZ2UpIGlmIHBh
Y2thZ2UgZWxzZSBOb25lCiAgICBpZiBub3QgbGljZW5zZToKICAgICAgICBsaWNlbnNlID0gZC5n
ZXRWYXIoJ0xJQ0VOU0UnKQoKICAgICMgSGFuZGxlcyBhbiAib3IiIG9yIHR3byBsaWNlbnNlIHNl
dHMgcHJvdmlkZWQgYnkKICAgICMgZmxhdHRlbmVkX2xpY2Vuc2VzKCksIHBpY2sgb25lIHRoYXQg
d29ya3MgaWYgcG9zc2libGUuCiAgICBkZWYgY2hvb3NlX2xpY19zZXQoYSwgYik6CiAgICAgICAg
cmV0dXJuIGEgaWYgYWxsKG9lLmxpY2Vuc2UubGljZW5zZV9vayhjYW5vbmljYWxfbGljZW5zZShk
LCBsaWMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9udF93YW50X2xpY2Vuc2VzKSBm
b3IgbGljIGluIGEpIGVsc2UgYgoKICAgIHRyeToKICAgICAgICBsaWNlbnNlcyA9IG9lLmxpY2Vu
c2UuZmxhdHRlbmVkX2xpY2Vuc2VzKGxpY2Vuc2UsIGNob29zZV9saWNfc2V0KQogICAgZXhjZXB0
IG9lLmxpY2Vuc2UuTGljZW5zZUVycm9yIGFzIGV4YzoKICAgICAgICBiYi5mYXRhbCgnJXM6ICVz
JyAlIChkLmdldFZhcignUCcpLCBleGMpKQogICAgcmV0dXJuIGFueShub3Qgb2UubGljZW5zZS5s
aWNlbnNlX29rKGNhbm9uaWNhbF9saWNlbnNlKGQsIGwpLCBcCiAgICAgICAgICAgICAgIGRvbnRf
d2FudF9saWNlbnNlcykgZm9yIGwgaW4gbGljZW5zZXMpCn0KCgpweXRob24gaW5jb21wYXRpYmxl
X2xpY2Vuc2VfY29udGFpbnMgKCkgewpkZWYgaW5jb21wYXRpYmxlX2xpY2Vuc2VfY29udGFpbnMo
bGljZW5zZSwgdHJ1ZXZhbHVlLCBmYWxzZXZhbHVlLCBkKToKICAgIGxpY2Vuc2UgPSBjYW5vbmlj
YWxfbGljZW5zZShkLCBsaWNlbnNlKQogICAgYmFkX2xpY2Vuc2VzID0gKGQuZ2V0VmFyKCdJTkNP
TVBBVElCTEVfTElDRU5TRScpIG9yICIiKS5zcGxpdCgpCiAgICBiYWRfbGljZW5zZXMgPSBleHBh
bmRfd2lsZGNhcmRfbGljZW5zZXMoZCwgYmFkX2xpY2Vuc2VzKQogICAgcmV0dXJuIHRydWV2YWx1
ZSBpZiBsaWNlbnNlIGluIGJhZF9saWNlbnNlcyBlbHNlIGZhbHNldmFsdWUKfQoKCnB5dGhvbiBp
c19tYWNoaW5lX3NwZWNpZmljICgpIHsKZGVmIGlzX21hY2hpbmVfc3BlY2lmaWMoZCk6CiAgICAi
IiJEZXRlcm1pbmUgd2hldGhlciB0aGUgY3VycmVudCByZWNpcGUgaXMgbWFjaGluZSBzcGVjaWZp
YyIiIgogICAgbWFjaGluZXBhdGhzID0gc2V0KG1hY2hpbmVfcGF0aHMoZCkpCiAgICBzcmN1cmkg
PSBkLmdldFZhcigiU1JDX1VSSSIpLnNwbGl0KCkKICAgIGZvciB1cmwgaW4gc3JjdXJpOgogICAg
ICAgIGZldGNoZXIgPSBiYi5mZXRjaDIuRmV0Y2goW3NyY3VyaV0sIGQpCiAgICAgICAgaWYgdXJs
LnN0YXJ0c3dpdGgoImZpbGU6Ly8iKToKICAgICAgICAgICAgaWYgYW55KGZldGNoZXIubG9jYWxw
YXRoKHVybCkuc3RhcnRzd2l0aChtcCArICIvIikgZm9yIG1wIGluIG1hY2hpbmVwYXRocyk6CiAg
ICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQp9CgoKcHl0aG9uIGxlZ2l0aW1pemVfcGFja2FnZV9u
YW1lICgpIHsKZGVmIGxlZ2l0aW1pemVfcGFja2FnZV9uYW1lKHMpOgogICAgIiIiCiAgICBNYWtl
IHN1cmUgcGFja2FnZSBuYW1lcyBhcmUgbGVnaXRpbWF0ZSBzdHJpbmdzCiAgICAiIiIKICAgIGlt
cG9ydCByZQoKICAgIGRlZiBmaXh1dGYobSk6CiAgICAgICAgY3AgPSBtLmdyb3VwKDEpCiAgICAg
ICAgaWYgY3A6CiAgICAgICAgICAgIHJldHVybiAoJ1xcdSVzJyAlIGNwKS5lbmNvZGUoJ2xhdGlu
LTEnKS5kZWNvZGUoJ3VuaWNvZGVfZXNjYXBlJykKCiAgICAjIEhhbmRsZSB1bmljb2RlIGNvZGVw
b2ludHMgZW5jb2RlZCBhcyA8VTAxMjM+LCBhcyBpbiBnbGliYyBsb2NhbGUgZmlsZXMuCiAgICBz
ID0gcmUuc3ViKHInPFUoWzAtOUEtRmEtZl17MSw0fSk+JywgZml4dXRmLCBzKQoKICAgICMgUmVt
YWluaW5nIHBhY2thZ2UgbmFtZSB2YWxpZGl0eSBmaXhlcwogICAgcmV0dXJuIHMubG93ZXIoKS5y
ZXBsYWNlKCdfJywgJy0nKS5yZXBsYWNlKCdAJywgJysnKS5yZXBsYWNlKCcsJywgJysnKS5yZXBs
YWNlKCcvJywgJy0nKQp9CgoKcHl0aG9uIGxzYl9kaXN0cm9faWRlbnRpZmllciAoKSB7CmRlZiBs
c2JfZGlzdHJvX2lkZW50aWZpZXIoZCk6CiAgICBhZGp1c3QgPSBkLmdldFZhcignTFNCX0RJU1RS
T19BREpVU1QnKQogICAgYWRqdXN0X2Z1bmMgPSBOb25lCiAgICBpZiBhZGp1c3Q6CiAgICAgICAg
dHJ5OgogICAgICAgICAgICBhZGp1c3RfZnVuYyA9IGdsb2JhbHMoKVthZGp1c3RdCiAgICAgICAg
ZXhjZXB0IEtleUVycm9yOgogICAgICAgICAgICBwYXNzCiAgICByZXR1cm4gb2UubHNiLmRpc3Ry
b19pZGVudGlmaWVyKGFkanVzdF9mdW5jKQp9CgoKcHl0aG9uIG1hY2hpbmVfcGF0aHMgKCkgewpk
ZWYgbWFjaGluZV9wYXRocyhkKToKICAgICIiIkxpc3QgYW55IGV4aXN0aW5nIG1hY2hpbmUgc3Bl
Y2lmaWMgZmlsZXNwYXRoIGRpcmVjdG9yaWVzIiIiCiAgICBtYWNoaW5lID0gZC5nZXRWYXIoIk1B
Q0hJTkUiKQogICAgZmlsZXNwYXRocGtnID0gZC5nZXRWYXIoIkZJTEVTUEFUSFBLRyIpLnNwbGl0
KCI6IikKICAgIGZvciBiYXNlcGF0aCBpbiBkLmdldFZhcigiRklMRVNQQVRIQkFTRSIpLnNwbGl0
KCI6Iik6CiAgICAgICAgZm9yIHBrZ3BhdGggaW4gZmlsZXNwYXRocGtnOgogICAgICAgICAgICBt
YWNoaW5lcGF0aCA9IG9zLnBhdGguam9pbihiYXNlcGF0aCwgcGtncGF0aCwgbWFjaGluZSkKICAg
ICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihtYWNoaW5lcGF0aCk6CiAgICAgICAgICAgICAgICB5
aWVsZCBtYWNoaW5lcGF0aAp9CgoKcHl0aG9uIG1hcHBpbmdfcmVuYW1lX2hvb2sgKCkgewpkZWYg
bWFwcGluZ19yZW5hbWVfaG9vayhkKToKICAgICIiIgogICAgUmV3cml0ZSB2YXJpYWJsZXMgdG8g
YWNjb3VudCBmb3IgcGFja2FnZSByZW5hbWluZyBpbiB0aGluZ3MKICAgIGxpa2UgZGViaWFuLmJi
Y2xhc3Mgb3IgbWFudWFsIFBLRyB2YXJpYWJsZSBuYW1lIGNoYW5nZXMKICAgICIiIgogICAgcGtn
ID0gZC5nZXRWYXIoIlBLRyIpCiAgICBydW50aW1lX21hcHBpbmdfcmVuYW1lKCJSREVQRU5EUyIs
IHBrZywgZCkKICAgIHJ1bnRpbWVfbWFwcGluZ19yZW5hbWUoIlJSRUNPTU1FTkRTIiwgcGtnLCBk
KQogICAgcnVudGltZV9tYXBwaW5nX3JlbmFtZSgiUlNVR0dFU1RTIiwgcGtnLCBkKX0KCgpweXRo
b24gbXVsdGlsaWJfcGtnX2V4dGVuZCAoKSB7CmRlZiBtdWx0aWxpYl9wa2dfZXh0ZW5kKGQsIHBr
Zyk6CiAgICB2YXJpYW50cyA9IChkLmdldFZhcigiTVVMVElMSUJfVkFSSUFOVFMiKSBvciAiIiku
c3BsaXQoKQogICAgaWYgbm90IHZhcmlhbnRzOgogICAgICAgIHJldHVybiBwa2cKICAgIHBrZ3Mg
PSBwa2cKICAgIGZvciB2IGluIHZhcmlhbnRzOgogICAgICAgIHBrZ3MgPSBwa2dzICsgIiAiICsg
diArICItIiArIHBrZwogICAgcmV0dXJuIHBrZ3MKfQoKCnB5dGhvbiBvZV9pbXBvcnQgKCkgewpk
ZWYgb2VfaW1wb3J0KGQpOgogICAgaW1wb3J0IHN5cwoKICAgIGJicGF0aCA9IGQuZ2V0VmFyKCJC
QlBBVEgiKS5zcGxpdCgiOiIpCiAgICBzeXMucGF0aFswOjBdID0gW29zLnBhdGguam9pbihkaXIs
ICJsaWIiKSBmb3IgZGlyIGluIGJicGF0aF0KCiAgICBkZWYgaW5qZWN0KG5hbWUsIHZhbHVlKToK
ICAgICAgICAiIiJNYWtlIGEgcHl0aG9uIG9iamVjdCBhY2Nlc3NpYmxlIGZyb20gdGhlIG1ldGFk
YXRhIiIiCiAgICAgICAgaWYgaGFzYXR0cihiYi51dGlscywgIl9jb250ZXh0Iik6CiAgICAgICAg
ICAgIGJiLnV0aWxzLl9jb250ZXh0W25hbWVdID0gdmFsdWUKICAgICAgICBlbHNlOgogICAgICAg
ICAgICBfX2J1aWx0aW5zX19bbmFtZV0gPSB2YWx1ZQoKICAgIGltcG9ydCBvZS5kYXRhCiAgICBm
b3IgdG9pbXBvcnQgaW4gb2UuZGF0YS50eXBlZF92YWx1ZSgiT0VfSU1QT1JUUyIsIGQpOgogICAg
ICAgIHRyeToKICAgICAgICAgICAgaW1wb3J0ZWQgPSBfX2ltcG9ydF9fKHRvaW1wb3J0KQogICAg
ICAgICAgICBpbmplY3QodG9pbXBvcnQuc3BsaXQoIi4iLCAxKVswXSwgaW1wb3J0ZWQpCiAgICAg
ICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yIGFzIGU6CiAgICAgICAgICAgIGJiLmVycm9yKCJFcnJv
ciBpbXBvcnRpbmcgT0UgbW9kdWxlczogJXMiICUgc3RyKGUpKQogICAgcmV0dXJuICIiCgojIFdl
IG5lZWQgdGhlIG9lIG1vZHVsZSBuYW1lIHNwYWNlIGVhcmx5IChiZWZvcmUgSU5IRVJJVHMgZ2V0
IGFkZGVkKX0KCgpweXRob24gb2VfdGVybWluYWwgKCkgewpkZWYgb2VfdGVybWluYWwoY29tbWFu
ZCwgdGl0bGUsIGQpOgogICAgaW1wb3J0IG9lLmRhdGEKICAgIGltcG9ydCBvZS50ZXJtaW5hbAoK
ICAgIGVudmRhdGEgPSBiYi5kYXRhLmluaXQoKQoKICAgIGZvciB2IGluIG9zLmVudmlyb246CiAg
ICAgICAgZW52ZGF0YS5zZXRWYXIodiwgb3MuZW52aXJvblt2XSkKICAgICAgICBlbnZkYXRhLnNl
dFZhckZsYWcodiwgJ2V4cG9ydCcsICcxJykKCiAgICBmb3IgZXhwb3J0IGluIG9lLmRhdGEudHlw
ZWRfdmFsdWUoJ09FX1RFUk1JTkFMX0VYUE9SVFMnLCBkKToKICAgICAgICB2YWx1ZSA9IGQuZ2V0
VmFyKGV4cG9ydCkKICAgICAgICBpZiB2YWx1ZSBpcyBub3QgTm9uZToKICAgICAgICAgICAgb3Mu
ZW52aXJvbltleHBvcnRdID0gc3RyKHZhbHVlKQogICAgICAgICAgICBlbnZkYXRhLnNldFZhcihl
eHBvcnQsIHN0cih2YWx1ZSkpCiAgICAgICAgICAgIGVudmRhdGEuc2V0VmFyRmxhZyhleHBvcnQs
ICdleHBvcnQnLCAnMScpCiAgICAgICAgaWYgZXhwb3J0ID09ICJQU0VVRE9fRElTQUJMRUQiOgog
ICAgICAgICAgICBpZiAiUFNFVURPX1VOTE9BRCIgaW4gb3MuZW52aXJvbjoKICAgICAgICAgICAg
ICAgIGRlbCBvcy5lbnZpcm9uWyJQU0VVRE9fVU5MT0FEIl0KICAgICAgICAgICAgZW52ZGF0YS5k
ZWxWYXIoIlBTRVVET19VTkxPQUQiKQoKICAgICMgQWRkIGluIGFsbCB2YXJpYWJsZXMgZnJvbSB0
aGUgdXNlcidzIG9yaWdpbmFsIGVudmlyb25tZW50IHdoaWNoCiAgICAjIGhhdmVuJ3Qgc3Vic2Vx
dW50bHkgYmVlbiBzZXQvY2hhbmdlZAogICAgb3JpZ2JiZW52ID0gZC5nZXRWYXIoIkJCX09SSUdF
TlYiLCBGYWxzZSkgb3Ige30KICAgIGZvciBrZXkgaW4gb3JpZ2JiZW52OgogICAgICAgIGlmIGtl
eSBpbiBlbnZkYXRhOgogICAgICAgICAgICBjb250aW51ZQogICAgICAgIHZhbHVlID0gb3JpZ2Ji
ZW52LmdldFZhcihrZXkpCiAgICAgICAgaWYgdmFsdWUgaXMgbm90IE5vbmU6CiAgICAgICAgICAg
IG9zLmVudmlyb25ba2V5XSA9IHN0cih2YWx1ZSkKICAgICAgICAgICAgZW52ZGF0YS5zZXRWYXIo
a2V5LCBzdHIodmFsdWUpKQogICAgICAgICAgICBlbnZkYXRhLnNldFZhckZsYWcoa2V5LCAnZXhw
b3J0JywgJzEnKQoKICAgICMgVXNlIG9yaWdpbmFsIFBBVEggYXMgYSBmYWxsYmFjawogICAgcGF0
aCA9IGQuZ2V0VmFyKCdQQVRIJykgKyAiOiIgKyBvcmlnYmJlbnYuZ2V0VmFyKCdQQVRIJykKICAg
IG9zLmVudmlyb25bJ1BBVEgnXSA9IHBhdGgKICAgIGVudmRhdGEuc2V0VmFyKCdQQVRIJywgcGF0
aCkKCiAgICAjIEEgY29tcGxleCBQUzEgbWlnaHQgbmVlZCBtb3JlIGVzY2FwaW5nIG9mIGNoYXJz
LgogICAgIyBMZXRzIG5vdCBleHBvcnQgUFMxIGluc3RlYWQuCiAgICBlbnZkYXRhLmRlbFZhcigi
UFMxIikKCiAgICAjIFJlcGxhY2UgY29tbWFuZCB3aXRoIGFuIGV4ZWN1dGFibGUgd3JhcHBlciBz
Y3JpcHQKICAgIGNvbW1hbmQgPSBlbWl0X3Rlcm1pbmFsX2Z1bmMoY29tbWFuZCwgZW52ZGF0YSwg
ZCkKCiAgICB0ZXJtaW5hbCA9IG9lLmRhdGEudHlwZWRfdmFsdWUoJ09FX1RFUk1JTkFMJywgZCku
bG93ZXIoKQogICAgaWYgdGVybWluYWwgPT0gJ25vbmUnOgogICAgICAgIGJiLmZhdGFsKCdEZXZz
aGVsbCB1c2FnZSBkaXNhYmxlZCB3aXRoIE9FX1RFUk1JTkFMJykKICAgIGVsaWYgdGVybWluYWwg
IT0gJ2F1dG8nOgogICAgICAgIHRyeToKICAgICAgICAgICAgb2UudGVybWluYWwuc3Bhd24odGVy
bWluYWwsIGNvbW1hbmQsIHRpdGxlLCBOb25lLCBkKQogICAgICAgICAgICByZXR1cm4KICAgICAg
ICBleGNlcHQgb2UudGVybWluYWwuVW5zdXBwb3J0ZWRUZXJtaW5hbDoKICAgICAgICAgICAgYmIu
d2FybignVW5zdXBwb3J0ZWQgdGVybWluYWwgIiVzIiwgZGVmYXVsdGluZyB0byAiYXV0byInICUK
ICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hbCkKICAgICAgICBleGNlcHQgb2UudGVybWluYWwu
RXhlY3V0aW9uRXJyb3IgYXMgZXhjOgogICAgICAgICAgICBiYi5mYXRhbCgnVW5hYmxlIHRvIHNw
YXduIHRlcm1pbmFsICVzOiAlcycgJSAodGVybWluYWwsIGV4YykpCgogICAgdHJ5OgogICAgICAg
IG9lLnRlcm1pbmFsLnNwYXduX3ByZWZlcnJlZChjb21tYW5kLCB0aXRsZSwgTm9uZSwgZCkKICAg
IGV4Y2VwdCBvZS50ZXJtaW5hbC5Ob1N1cHBvcnRlZFRlcm1pbmFscyBhcyBub3N1cDoKICAgICAg
ICBub3N1cC50ZXJtcy5yZW1vdmUoImZhbHNlIikKICAgICAgICBjbWRzID0gJ1xuXHQnLmpvaW4o
bm9zdXAudGVybXMpLnJlcGxhY2UoIntjb21tYW5kfSIsCiAgICAgICAgICAgICAgICAgICAgImRv
X3Rlcm1pbmFsIikucmVwbGFjZSgie3RpdGxlfSIsIHRpdGxlKQogICAgICAgIGJiLmZhdGFsKCdO
byB2YWxpZCB0ZXJtaW5hbCBmb3VuZCwgdW5hYmxlIHRvIG9wZW4gZGV2c2hlbGwuXG4nICsKICAg
ICAgICAgICAgICAgICdUcmllZCB0aGUgZm9sbG93aW5nIGNvbW1hbmRzOlxuXHQlcycgJSBjbWRz
KQogICAgZXhjZXB0IG9lLnRlcm1pbmFsLkV4ZWN1dGlvbkVycm9yIGFzIGV4YzoKICAgICAgICBi
Yi5mYXRhbCgnVW5hYmxlIHRvIHNwYXduIHRlcm1pbmFsICVzOiAlcycgJSAodGVybWluYWwsIGV4
YykpCn0KCgpweXRob24gb2VfdGVybWluYWxfcHJpb3JpdGl6ZWQgKCkgewpkZWYgb2VfdGVybWlu
YWxfcHJpb3JpdGl6ZWQoKToKICAgIGltcG9ydCBvZS50ZXJtaW5hbAogICAgcmV0dXJuICIgIi5q
b2luKG8ubmFtZSBmb3IgbyBpbiBvZS50ZXJtaW5hbC5wcmlvcml0aXplZCgpKQp9CgoKcHl0aG9u
IG9lY29yZV91cGRhdGVfYmJsYXllcnMgKCkgewogICAgIyBiYmxheWVycy5jb25mIGlzIG91dCBv
ZiBkYXRlLCBzbyBzZWUgaWYgd2UgY2FuIHJlc29sdmUgdGhhdAoKICAgIGN1cnJlbnRfbGNvbmYg
PSBpbnQoZC5nZXRWYXIoJ0xDT05GX1ZFUlNJT04nKSkKICAgIGxjb25mX3ZlcnNpb24gPSBpbnQo
ZC5nZXRWYXIoJ0xBWUVSX0NPTkZfVkVSU0lPTicpKQoKICAgIGZhaWxtc2cgPSAiIiJZb3VyIHZl
cnNpb24gb2YgYmJsYXllcnMuY29uZiBoYXMgdGhlIHdyb25nIExDT05GX1ZFUlNJT04gKGhhcyAk
e0xDT05GX1ZFUlNJT059LCBleHBlY3RpbmcgJHtMQVlFUl9DT05GX1ZFUlNJT059KS4KUGxlYXNl
IGNvbXBhcmUgeW91ciBmaWxlIGFnYWluc3QgYmJsYXllcnMuY29uZi5zYW1wbGUgYW5kIG1lcmdl
IGFueSBjaGFuZ2VzIGJlZm9yZSBjb250aW51aW5nLgoiJHtTQU5JVFlfRElGRl9UT09MfSBjb25m
L2JibGF5ZXJzLmNvbmYgJHtTQU5JVFlfQkJMQVlFUkNPTkZfU0FNUExFfSIKCmlzIGEgZ29vZCB3
YXkgdG8gdmlzdWFsaXNlIHRoZSBjaGFuZ2VzLiIiIgogICAgZmFpbG1zZyA9IGQuZXhwYW5kKGZh
aWxtc2cpCgogICAgaWYgbm90IGN1cnJlbnRfbGNvbmY6CiAgICAgICAgcmFpc2UgTm90SW1wbGVt
ZW50ZWRFcnJvcihmYWlsbXNnKQoKICAgIGxpbmVzID0gW10KCiAgICBpZiBjdXJyZW50X2xjb25m
IDwgNDoKICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKGZhaWxtc2cpCgogICAgYmJs
YXllcnNfZm4gPSBiYmxheWVyc19jb25mX2ZpbGUoZCkKICAgIGxpbmVzID0gc2FuaXR5X2NvbmZf
cmVhZChiYmxheWVyc19mbikKCiAgICBpZiBjdXJyZW50X2xjb25mID09IDQgYW5kIGxjb25mX3Zl
cnNpb24gPiA0OgogICAgICAgIHRvcGRpcl92YXIgPSAnJCcgKyAne1RPUERJUn0nCiAgICAgICAg
aW5kZXgsIGJicGF0aF9saW5lID0gc2FuaXR5X2NvbmZfZmluZF9saW5lKCdCQlBBVEgnLCBsaW5l
cykKICAgICAgICBpZiBiYnBhdGhfbGluZToKICAgICAgICAgICAgc3RhcnQgPSBiYnBhdGhfbGlu
ZS5maW5kKCciJykKICAgICAgICAgICAgaWYgc3RhcnQgIT0gLTEgYW5kIChsZW4oYmJwYXRoX2xp
bmUpICE9IChzdGFydCArIDEpKToKICAgICAgICAgICAgICAgIGlmIGJicGF0aF9saW5lW3N0YXJ0
ICsgMV0gPT0gJyInOgogICAgICAgICAgICAgICAgICAgIGxpbmVzW2luZGV4XSA9IChiYnBhdGhf
bGluZVs6c3RhcnQgKyAxXSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRv
cGRpcl92YXIgKyBiYnBhdGhfbGluZVtzdGFydCArIDE6XSkKICAgICAgICAgICAgICAgIGVsc2U6
CiAgICAgICAgICAgICAgICAgICAgaWYgbm90IHRvcGRpcl92YXIgaW4gYmJwYXRoX2xpbmU6CiAg
ICAgICAgICAgICAgICAgICAgICAgIGxpbmVzW2luZGV4XSA9IChiYnBhdGhfbGluZVs6c3RhcnQg
KyAxXSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcGRpcl92YXIgKyAn
OicgKyBiYnBhdGhfbGluZVtzdGFydCArIDE6XSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAg
ICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoZmFpbG1zZykKICAgICAgICBlbHNlOgog
ICAgICAgICAgICBpbmRleCwgYmJmaWxlc19saW5lID0gc2FuaXR5X2NvbmZfZmluZF9saW5lKCdC
QkZJTEVTJywgbGluZXMpCiAgICAgICAgICAgIGlmIGJiZmlsZXNfbGluZToKICAgICAgICAgICAg
ICAgIGxpbmVzLmluc2VydChpbmRleCwgJ0JCUEFUSCA9ICInICsgdG9wZGlyX3ZhciArICciXG4n
KQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRF
cnJvcihmYWlsbXNnKQoKICAgICAgICBjdXJyZW50X2xjb25mICs9IDEKICAgICAgICBzYW5pdHlf
Y29uZl91cGRhdGUoYmJsYXllcnNfZm4sIGxpbmVzLCAnTENPTkZfVkVSU0lPTicsIGN1cnJlbnRf
bGNvbmYpCiAgICAgICAgYmIubm90ZSgiWW91ciBjb25mL2JibGF5ZXJzLmNvbmYgaGFzIGJlZW4g
YXV0b21hdGljYWxseSB1cGRhdGVkLiIpCiAgICAgICAgcmV0dXJuCgogICAgZWxpZiBjdXJyZW50
X2xjb25mID09IDUgYW5kIGxjb25mX3ZlcnNpb24gPiA1OgogICAgICAgICMgTnVsbCB1cGRhdGUs
IHRvIGF2b2lkIGlzc3VlcyB3aXRoIHBlb3BsZSBzd2l0Y2hpbmcgYmV0d2VlbiBwb2t5IGFuZCBv
dGhlciBkaXN0cm9zCiAgICAgICAgY3VycmVudF9sY29uZiA9IDYKICAgICAgICBzYW5pdHlfY29u
Zl91cGRhdGUoYmJsYXllcnNfZm4sIGxpbmVzLCAnTENPTkZfVkVSU0lPTicsIGN1cnJlbnRfbGNv
bmYpCiAgICAgICAgYmIubm90ZSgiWW91ciBjb25mL2JibGF5ZXJzLmNvbmYgaGFzIGJlZW4gYXV0
b21hdGljYWxseSB1cGRhdGVkLiIpCiAgICAgICAgcmV0dXJuCgogICAgICAgIHN0YXR1cy5hZGRy
ZXN1bHQoKQoKICAgIGVsaWYgY3VycmVudF9sY29uZiA9PSA2IGFuZCBsY29uZl92ZXJzaW9uID4g
NjoKICAgICAgICAjIEhhbmRsZSByZW5hbWUgb2YgbWV0YS15b2N0byAtPiBtZXRhLXBva3kKICAg
ICAgICAjIFRoaXMgbWFya3MgdGhlIHN0YXJ0IG9mIHNlcGFyYXRlIHZlcnNpb24gbnVtYmVycyBi
dXQgY29kZSBpcyBuZWVkZWQgaW4gT0UtQ29yZQogICAgICAgICMgZm9yIHRoZSBtaWdyYXRpb24s
IG9uZSBsYXN0IHRpbWUuCiAgICAgICAgbGF5ZXJzID0gZC5nZXRWYXIoJ0JCTEFZRVJTJykuc3Bs
aXQoKQogICAgICAgIGxheWVycyA9IFsgb3MucGF0aC5iYXNlbmFtZShwYXRoKSBmb3IgcGF0aCBp
biBsYXllcnMgXQogICAgICAgIGlmICdtZXRhLXlvY3RvJyBpbiBsYXllcnM6CiAgICAgICAgICAg
IGZvdW5kID0gRmFsc2UKICAgICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgICAgIGlu
ZGV4LCBtZXRhX3lvY3RvX2xpbmUgPSBzYW5pdHlfY29uZl9maW5kX2xpbmUocicuKm1ldGEteW9j
dG9bXCciXHNcbl0nLCBsaW5lcykKICAgICAgICAgICAgICAgIGlmIG1ldGFfeW9jdG9fbGluZToK
ICAgICAgICAgICAgICAgICAgICBsaW5lc1tpbmRleF0gPSBtZXRhX3lvY3RvX2xpbmUucmVwbGFj
ZSgnbWV0YS15b2N0bycsICdtZXRhLXBva3knKQogICAgICAgICAgICAgICAgICAgIGZvdW5kID0g
VHJ1ZQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICBicmVhawogICAg
ICAgICAgICBpZiBub3QgZm91bmQ6CiAgICAgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRl
ZEVycm9yKGZhaWxtc2cpCiAgICAgICAgICAgIGluZGV4LCBtZXRhX3lvY3RvX2xpbmUgPSBzYW5p
dHlfY29uZl9maW5kX2xpbmUoJ0xDT05GX1ZFUlNJT04uKlxuJywgbGluZXMpCiAgICAgICAgICAg
IGlmIG1ldGFfeW9jdG9fbGluZToKICAgICAgICAgICAgICAgIGxpbmVzW2luZGV4XSA9ICdQT0tZ
X0JCTEFZRVJTX0NPTkZfVkVSU0lPTiA9ICIxIlxuJwogICAgICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcihmYWlsbXNnKQogICAgICAgICAgICB3
aXRoIG9wZW4oYmJsYXllcnNfZm4sICJ3IikgYXMgZjoKICAgICAgICAgICAgICAgIGYud3JpdGUo
Jycuam9pbihsaW5lcykpCiAgICAgICAgICAgIGJiLm5vdGUoIllvdXIgY29uZi9iYmxheWVycy5j
b25mIGhhcyBiZWVuIGF1dG9tYXRpY2FsbHkgdXBkYXRlZC4iKQogICAgICAgICAgICByZXR1cm4K
ICAgICAgICBjdXJyZW50X2xjb25mICs9IDEKICAgICAgICBzYW5pdHlfY29uZl91cGRhdGUoYmJs
YXllcnNfZm4sIGxpbmVzLCAnTENPTkZfVkVSU0lPTicsIGN1cnJlbnRfbGNvbmYpCiAgICAgICAg
YmIubm90ZSgiWW91ciBjb25mL2JibGF5ZXJzLmNvbmYgaGFzIGJlZW4gYXV0b21hdGljYWxseSB1
cGRhdGVkLiIpCiAgICAgICAgcmV0dXJuCgogICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcihm
YWlsbXNnKQp9CgoKcHl0aG9uIG9lY29yZV91cGRhdGVfbG9jYWxjb25mICgpIHsKICAgICMgQ2hl
Y2sgd2UgYXJlIHVzaW5nIGEgdmFsaWQgbG9jYWwuY29uZgogICAgY3VycmVudF9jb25mICA9IGQu
Z2V0VmFyKCdDT05GX1ZFUlNJT04nKQogICAgY29uZl92ZXJzaW9uID0gIGQuZ2V0VmFyKCdMT0NB
TENPTkZfVkVSU0lPTicpCgogICAgZmFpbG1zZyA9ICIiIllvdXIgdmVyc2lvbiBvZiBsb2NhbC5j
b25mIHdhcyBnZW5lcmF0ZWQgZnJvbSBhbiBvbGRlci9uZXdlciB2ZXJzaW9uIG9mCmxvY2FsLmNv
bmYuc2FtcGxlIGFuZCB0aGVyZSBoYXZlIGJlZW4gdXBkYXRlcyBtYWRlIHRvIHRoaXMgZmlsZS4g
UGxlYXNlIGNvbXBhcmUgdGhlIHR3bwpmaWxlcyBhbmQgbWVyZ2UgYW55IGNoYW5nZXMgYmVmb3Jl
IGNvbnRpbnVpbmcuCgpNYXRjaGluZyB0aGUgdmVyc2lvbiBudW1iZXJzIHdpbGwgcmVtb3ZlIHRo
aXMgbWVzc2FnZS4KClwiJHtTQU5JVFlfRElGRl9UT09MfSBjb25mL2xvY2FsLmNvbmYgJHtTQU5J
VFlfTE9DQUxDT05GX1NBTVBMRX1cIgoKaXMgYSBnb29kIHdheSB0byB2aXN1YWxpc2UgdGhlIGNo
YW5nZXMuIiIiCiAgICBmYWlsbXNnID0gZC5leHBhbmQoZmFpbG1zZykKCiAgICByYWlzZSBOb3RJ
bXBsZW1lbnRlZEVycm9yKGZhaWxtc2cpCn0KCgpweXRob24gb2Vjb3JlX3VwZGF0ZV9zaXRlY29u
ZiAoKSB7CiAgICAjIElmIHdlIGhhdmUgYSBzaXRlLmNvbmYsIGNoZWNrIGl0J3MgdmFsaWQKICAg
IGN1cnJlbnRfc2NvbmYgPSBkLmdldFZhcignU0NPTkZfVkVSU0lPTicpCiAgICBzY29uZl92ZXJz
aW9uID0gZC5nZXRWYXIoJ1NJVEVfQ09ORl9WRVJTSU9OJykKCiAgICBmYWlsbXNnID0gIiIiWW91
ciB2ZXJzaW9uIG9mIHNpdGUuY29uZiB3YXMgZ2VuZXJhdGVkIGZyb20gYW4gb2xkZXIgdmVyc2lv
biBvZgpzaXRlLmNvbmYuc2FtcGxlIGFuZCB0aGVyZSBoYXZlIGJlZW4gdXBkYXRlcyBtYWRlIHRv
IHRoaXMgZmlsZS4gUGxlYXNlIGNvbXBhcmUgdGhlIHR3bwpmaWxlcyBhbmQgbWVyZ2UgYW55IGNo
YW5nZXMgYmVmb3JlIGNvbnRpbnVpbmcuCgpNYXRjaGluZyB0aGUgdmVyc2lvbiBudW1iZXJzIHdp
bGwgcmVtb3ZlIHRoaXMgbWVzc2FnZS4KClwiJHtTQU5JVFlfRElGRl9UT09MfSBjb25mL3NpdGUu
Y29uZiAke1NBTklUWV9TSVRFQ09ORl9TQU1QTEV9XCIKCmlzIGEgZ29vZCB3YXkgdG8gdmlzdWFs
aXNlIHRoZSBjaGFuZ2VzLiIiIgogICAgZmFpbG1zZyA9IGQuZXhwYW5kKGZhaWxtc2cpCgogICAg
cmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcihmYWlsbXNnKQp9CgoKcHl0aG9uIHBhY2thZ2VfZGVw
Y2hhaW5zICgpIHsKICAgICIiIgogICAgRm9yIGEgZ2l2ZW4gc2V0IG9mIHByZWZpeCBhbmQgcG9z
dGZpeCBtb2RpZmllcnMsIG1ha2UgdGhvc2UgcGFja2FnZXMKICAgIFJSRUNPTU1FTkRTIG9uIHRo
ZSBjb3JyZXNwb25kaW5nIHBhY2thZ2VzIGZvciBpdHMgUkRFUEVORFMuCgogICAgRXhhbXBsZTog
IElmIHBhY2thZ2UgQSBkZXBlbmRzIHVwb24gcGFja2FnZSBCLCBhbmQgQSdzIC5iYiBlbWl0cyBh
bgogICAgQS1kZXYgcGFja2FnZSwgdGhpcyB3b3VsZCBtYWtlIEEtZGV2IFJlY29tbWVuZHM6IEIt
ZGV2LgoKICAgIElmIG9ubHkgb25lIG9mIGEgZ2l2ZW4gc3VmZml4IGlzIHNwZWNpZmllZCwgaXQg
d2lsbCB0YWtlIHRoZSBSUkVDT01NRU5EUwogICAgYmFzZWQgb24gdGhlIFJERVBFTkRTIG9mICph
bGwqIG90aGVyIHBhY2thZ2VzLiBJZiBtb3JlIHRoYW4gb25lIG9mIGEgZ2l2ZW4KICAgIHN1ZmZp
eCBpcyBzcGVjaWZpZWQsIGl0cyB3aWxsIG9ubHkgdXNlIHRoZSBSREVQRU5EUyBvZiB0aGUgc2lu
Z2xlIHBhcmVudAogICAgcGFja2FnZS4KICAgICIiIgoKICAgIHBhY2thZ2VzICA9IGQuZ2V0VmFy
KCdQQUNLQUdFUycpCiAgICBwb3N0Zml4ZXMgPSAoZC5nZXRWYXIoJ0RFUENIQUlOX1BPU1QnKSBv
ciAnJykuc3BsaXQoKQogICAgcHJlZml4ZXMgID0gKGQuZ2V0VmFyKCdERVBDSEFJTl9QUkUnKSBv
ciAnJykuc3BsaXQoKQoKICAgIGRlZiBwa2dfYWRkZGVwcnJlY3MocGtnLCBiYXNlLCBzdWZmaXgs
IGdldG5hbWUsIGRlcGVuZHMsIGQpOgoKICAgICAgICAjYmIubm90ZSgnZGVwZW5kcyBmb3IgJXMg
aXMgJXMnICUgKGJhc2UsIGRlcGVuZHMpKQogICAgICAgIHJyZWNsaXN0ID0gYmIudXRpbHMuZXhw
bG9kZV9kZXBfdmVyc2lvbnMyKGQuZ2V0VmFyKCdSUkVDT01NRU5EU18nICsgcGtnKSBvciAiIikK
CiAgICAgICAgZm9yIGRlcGVuZCBpbiBzb3J0ZWQoZGVwZW5kcyk6CiAgICAgICAgICAgIGlmIGRl
cGVuZC5maW5kKCctbmF0aXZlJykgIT0gLTEgb3IgZGVwZW5kLmZpbmQoJy1jcm9zcycpICE9IC0x
IG9yIGRlcGVuZC5zdGFydHN3aXRoKCd2aXJ0dWFsLycpOgogICAgICAgICAgICAgICAgI2JiLm5v
dGUoIlNraXBwaW5nICVzIiAlIGRlcGVuZCkKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAg
ICAgICAgIGlmIGRlcGVuZC5lbmRzd2l0aCgnLWRldicpOgogICAgICAgICAgICAgICAgZGVwZW5k
ID0gZGVwZW5kWzotNF0KICAgICAgICAgICAgaWYgZGVwZW5kLmVuZHN3aXRoKCctZGJnJyk6CiAg
ICAgICAgICAgICAgICBkZXBlbmQgPSBkZXBlbmRbOi00XQogICAgICAgICAgICBwa2duYW1lID0g
Z2V0bmFtZShkZXBlbmQsIHN1ZmZpeCkKICAgICAgICAgICAgI2JiLm5vdGUoIkFkZGluZyAlcyBm
b3IgJXMiICUgKHBrZ25hbWUsIGRlcGVuZCkpCiAgICAgICAgICAgIGlmIHBrZ25hbWUgbm90IGlu
IHJyZWNsaXN0IGFuZCBwa2duYW1lICE9IHBrZzoKICAgICAgICAgICAgICAgIHJyZWNsaXN0W3Br
Z25hbWVdID0gW10KCiAgICAgICAgI2JiLm5vdGUoJ3NldHRpbmc6IFJSRUNPTU1FTkRTXyVzPSVz
JyAlIChwa2csICcgJy5qb2luKHJyZWNsaXN0KSkpCiAgICAgICAgZC5zZXRWYXIoJ1JSRUNPTU1F
TkRTXyVzJyAlIHBrZywgYmIudXRpbHMuam9pbl9kZXBzKHJyZWNsaXN0LCBjb21tYXNlcD1GYWxz
ZSkpCgogICAgZGVmIHBrZ19hZGRycmVjcyhwa2csIGJhc2UsIHN1ZmZpeCwgZ2V0bmFtZSwgcmRl
cGVuZHMsIGQpOgoKICAgICAgICAjYmIubm90ZSgncmRlcGVuZHMgZm9yICVzIGlzICVzJyAlIChi
YXNlLCByZGVwZW5kcykpCiAgICAgICAgcnJlY2xpc3QgPSBiYi51dGlscy5leHBsb2RlX2RlcF92
ZXJzaW9uczIoZC5nZXRWYXIoJ1JSRUNPTU1FTkRTXycgKyBwa2cpIG9yICIiKQoKICAgICAgICBm
b3IgZGVwZW5kIGluIHNvcnRlZChyZGVwZW5kcyk6CiAgICAgICAgICAgIGlmIGRlcGVuZC5maW5k
KCd2aXJ0dWFsLWxvY2FsZS0nKSAhPSAtMToKICAgICAgICAgICAgICAgICNiYi5ub3RlKCJTa2lw
cGluZyAlcyIgJSBkZXBlbmQpCiAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICBp
ZiBkZXBlbmQuZW5kc3dpdGgoJy1kZXYnKToKICAgICAgICAgICAgICAgIGRlcGVuZCA9IGRlcGVu
ZFs6LTRdCiAgICAgICAgICAgIGlmIGRlcGVuZC5lbmRzd2l0aCgnLWRiZycpOgogICAgICAgICAg
ICAgICAgZGVwZW5kID0gZGVwZW5kWzotNF0KICAgICAgICAgICAgcGtnbmFtZSA9IGdldG5hbWUo
ZGVwZW5kLCBzdWZmaXgpCiAgICAgICAgICAgICNiYi5ub3RlKCJBZGRpbmcgJXMgZm9yICVzIiAl
IChwa2duYW1lLCBkZXBlbmQpKQogICAgICAgICAgICBpZiBwa2duYW1lIG5vdCBpbiBycmVjbGlz
dCBhbmQgcGtnbmFtZSAhPSBwa2c6CiAgICAgICAgICAgICAgICBycmVjbGlzdFtwa2duYW1lXSA9
IFtdCgogICAgICAgICNiYi5ub3RlKCdzZXR0aW5nOiBSUkVDT01NRU5EU18lcz0lcycgJSAocGtn
LCAnICcuam9pbihycmVjbGlzdCkpKQogICAgICAgIGQuc2V0VmFyKCdSUkVDT01NRU5EU18lcycg
JSBwa2csIGJiLnV0aWxzLmpvaW5fZGVwcyhycmVjbGlzdCwgY29tbWFzZXA9RmFsc2UpKQoKICAg
IGRlZiBhZGRfZGVwKGxpc3QsIGRlcCk6CiAgICAgICAgaWYgZGVwIG5vdCBpbiBsaXN0OgogICAg
ICAgICAgICBsaXN0LmFwcGVuZChkZXApCgogICAgZGVwZW5kcyA9IFtdCiAgICBmb3IgZGVwIGlu
IGJiLnV0aWxzLmV4cGxvZGVfZGVwcyhkLmdldFZhcignREVQRU5EUycpIG9yICIiKToKICAgICAg
ICBhZGRfZGVwKGRlcGVuZHMsIGRlcCkKCiAgICByZGVwZW5kcyA9IFtdCiAgICBmb3IgcGtnIGlu
IHBhY2thZ2VzLnNwbGl0KCk6CiAgICAgICAgZm9yIGRlcCBpbiBiYi51dGlscy5leHBsb2RlX2Rl
cHMoZC5nZXRWYXIoJ1JERVBFTkRTXycgKyBwa2cpIG9yICIiKToKICAgICAgICAgICAgYWRkX2Rl
cChyZGVwZW5kcywgZGVwKQoKICAgICNiYi5ub3RlKCdyZGVwZW5kcyBpcyAlcycgJSByZGVwZW5k
cykKCiAgICBkZWYgcG9zdF9nZXRuYW1lKG5hbWUsIHN1ZmZpeCk6CiAgICAgICAgcmV0dXJuICcl
cyVzJyAlIChuYW1lLCBzdWZmaXgpCiAgICBkZWYgcHJlX2dldG5hbWUobmFtZSwgc3VmZml4KToK
ICAgICAgICByZXR1cm4gJyVzJXMnICUgKHN1ZmZpeCwgbmFtZSkKCiAgICBwa2dzID0ge30KICAg
IGZvciBwa2cgaW4gcGFja2FnZXMuc3BsaXQoKToKICAgICAgICBmb3IgcG9zdGZpeCBpbiBwb3N0
Zml4ZXM6CiAgICAgICAgICAgIGlmIHBrZy5lbmRzd2l0aChwb3N0Zml4KToKICAgICAgICAgICAg
ICAgIGlmIG5vdCBwb3N0Zml4IGluIHBrZ3M6CiAgICAgICAgICAgICAgICAgICAgcGtnc1twb3N0
Zml4XSA9IHt9CiAgICAgICAgICAgICAgICBwa2dzW3Bvc3RmaXhdW3BrZ10gPSAocGtnWzotbGVu
KHBvc3RmaXgpXSwgcG9zdF9nZXRuYW1lKQoKICAgICAgICBmb3IgcHJlZml4IGluIHByZWZpeGVz
OgogICAgICAgICAgICBpZiBwa2cuc3RhcnRzd2l0aChwcmVmaXgpOgogICAgICAgICAgICAgICAg
aWYgbm90IHByZWZpeCBpbiBwa2dzOgogICAgICAgICAgICAgICAgICAgIHBrZ3NbcHJlZml4XSA9
IHt9CiAgICAgICAgICAgICAgICBwa2dzW3ByZWZpeF1bcGtnXSA9IChwa2dbOi1sZW4ocHJlZml4
KV0sIHByZV9nZXRuYW1lKQoKICAgIGlmICItZGJnIiBpbiBwa2dzOgogICAgICAgIHBrZ2xpYmRl
cHMgPSByZWFkX2xpYmRlcF9maWxlcyhkKQogICAgICAgIHBrZ2xpYmRlcGxpc3QgPSBbXQogICAg
ICAgIGZvciBwa2cgaW4gcGtnbGliZGVwczoKICAgICAgICAgICAgZm9yIGsgaW4gcGtnbGliZGVw
c1twa2ddOgogICAgICAgICAgICAgICAgYWRkX2RlcChwa2dsaWJkZXBsaXN0LCBrKQogICAgICAg
IGRiZ2RlZmF1bHRkZXBzID0gKChkLmdldFZhcignREVQQ0hBSU5fREJHREVGQVVMVERFUFMnKSA9
PSAnMScpIG9yIChiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdwYWNrYWdlZ3JvdXAnLCBkKSkpCgog
ICAgZm9yIHN1ZmZpeCBpbiBwa2dzOgogICAgICAgIGZvciBwa2cgaW4gcGtnc1tzdWZmaXhdOgog
ICAgICAgICAgICBpZiBkLmdldFZhckZsYWcoJ1JSRUNPTU1FTkRTXycgKyBwa2csICdub2RlcHJy
ZWNzJyk6CiAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAoYmFzZSwgZnVuYykg
PSBwa2dzW3N1ZmZpeF1bcGtnXQogICAgICAgICAgICBpZiBzdWZmaXggPT0gIi1kZXYiOgogICAg
ICAgICAgICAgICAgcGtnX2FkZGRlcHJyZWNzKHBrZywgYmFzZSwgc3VmZml4LCBmdW5jLCBkZXBl
bmRzLCBkKQogICAgICAgICAgICBlbGlmIHN1ZmZpeCA9PSAiLWRiZyI6CiAgICAgICAgICAgICAg
ICBpZiBub3QgZGJnZGVmYXVsdGRlcHM6CiAgICAgICAgICAgICAgICAgICAgcGtnX2FkZHJyZWNz
KHBrZywgYmFzZSwgc3VmZml4LCBmdW5jLCBwa2dsaWJkZXBsaXN0LCBkKQogICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIGlmIGxlbihwa2dzW3N1ZmZpeF0pID09IDE6CiAg
ICAgICAgICAgICAgICBwa2dfYWRkcnJlY3MocGtnLCBiYXNlLCBzdWZmaXgsIGZ1bmMsIHJkZXBl
bmRzLCBkKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgcmRlcHMgPSBbXQogICAg
ICAgICAgICAgICAgZm9yIGRlcCBpbiBiYi51dGlscy5leHBsb2RlX2RlcHMoZC5nZXRWYXIoJ1JE
RVBFTkRTXycgKyBiYXNlKSBvciAiIik6CiAgICAgICAgICAgICAgICAgICAgYWRkX2RlcChyZGVw
cywgZGVwKQogICAgICAgICAgICAgICAgcGtnX2FkZHJyZWNzKHBrZywgYmFzZSwgc3VmZml4LCBm
dW5jLCByZGVwcywgZCkKfQoKCnB5dGhvbiBwYWNrYWdlX2RvX2ZpbGVkZXBzICgpIHsKICAgIGlm
IGQuZ2V0VmFyKCdTS0lQX0ZJTEVERVBTJykgPT0gJzEnOgogICAgICAgIHJldHVybgoKICAgIHBr
Z2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcpCiAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNL
QUdFUycpCiAgICBycG1kZXBzID0gZC5nZXRWYXIoJ1JQTURFUFMnKQoKICAgIGRlZiBjaHVua3Mo
ZmlsZXMsIG4pOgogICAgICAgIHJldHVybiBbZmlsZXNbaTppK25dIGZvciBpIGluIHJhbmdlKDAs
IGxlbihmaWxlcyksIG4pXQoKICAgIHBrZ2xpc3QgPSBbXQogICAgZm9yIHBrZyBpbiBwYWNrYWdl
cy5zcGxpdCgpOgogICAgICAgIGlmIGQuZ2V0VmFyKCdTS0lQX0ZJTEVERVBTXycgKyBwa2cpID09
ICcxJzoKICAgICAgICAgICAgY29udGludWUKICAgICAgICBpZiBwa2cuZW5kc3dpdGgoJy1kYmcn
KSBvciBwa2cuZW5kc3dpdGgoJy1kb2MnKSBvciBwa2cuZmluZCgnLWxvY2FsZS0nKSAhPSAtMSBv
ciBwa2cuZmluZCgnLWxvY2FsZWRhdGEtJykgIT0gLTEgb3IgcGtnLmZpbmQoJy1nY29udi0nKSAh
PSAtMSBvciBwa2cuZmluZCgnLWNoYXJtYXAtJykgIT0gLTEgb3IgcGtnLnN0YXJ0c3dpdGgoJ2tl
cm5lbC1tb2R1bGUtJykgb3IgcGtnLmVuZHN3aXRoKCctc3JjJyk6CiAgICAgICAgICAgIGNvbnRp
bnVlCiAgICAgICAgZm9yIGZpbGVzIGluIGNodW5rcyhwa2dmaWxlc1twa2ddLCAxMDApOgogICAg
ICAgICAgICBwa2dsaXN0LmFwcGVuZCgocGtnLCBmaWxlcywgcnBtZGVwcywgcGtnZGVzdCkpCgog
ICAgcHJvY2Vzc2VkID0gb2UudXRpbHMubXVsdGlwcm9jZXNzX2xhdW5jaChvZS5wYWNrYWdlLmZp
bGVkZXBydW5uZXIsIHBrZ2xpc3QsIGQpCgogICAgcHJvdmlkZXNfZmlsZXMgPSB7fQogICAgcmVx
dWlyZXNfZmlsZXMgPSB7fQoKICAgIGZvciByZXN1bHQgaW4gcHJvY2Vzc2VkOgogICAgICAgIChw
a2csIHByb3ZpZGVzLCByZXF1aXJlcykgPSByZXN1bHQKCiAgICAgICAgaWYgcGtnIG5vdCBpbiBw
cm92aWRlc19maWxlczoKICAgICAgICAgICAgcHJvdmlkZXNfZmlsZXNbcGtnXSA9IFtdCiAgICAg
ICAgaWYgcGtnIG5vdCBpbiByZXF1aXJlc19maWxlczoKICAgICAgICAgICAgcmVxdWlyZXNfZmls
ZXNbcGtnXSA9IFtdCgogICAgICAgIGZvciBmaWxlIGluIHNvcnRlZChwcm92aWRlcyk6CiAgICAg
ICAgICAgIHByb3ZpZGVzX2ZpbGVzW3BrZ10uYXBwZW5kKGZpbGUpCiAgICAgICAgICAgIGtleSA9
ICJGSUxFUlBST1ZJREVTXyIgKyBmaWxlICsgIl8iICsgcGtnCiAgICAgICAgICAgIGQuYXBwZW5k
VmFyKGtleSwgIiAiICsgIiAiLmpvaW4ocHJvdmlkZXNbZmlsZV0pKQoKICAgICAgICBmb3IgZmls
ZSBpbiBzb3J0ZWQocmVxdWlyZXMpOgogICAgICAgICAgICByZXF1aXJlc19maWxlc1twa2ddLmFw
cGVuZChmaWxlKQogICAgICAgICAgICBrZXkgPSAiRklMRVJERVBFTkRTXyIgKyBmaWxlICsgIl8i
ICsgcGtnCiAgICAgICAgICAgIGQuYXBwZW5kVmFyKGtleSwgIiAiICsgIiAiLmpvaW4ocmVxdWly
ZXNbZmlsZV0pKQoKICAgIGZvciBwa2cgaW4gcmVxdWlyZXNfZmlsZXM6CiAgICAgICAgZC5zZXRW
YXIoIkZJTEVSREVQRU5EU0ZMSVNUXyIgKyBwa2csICIgIi5qb2luKHJlcXVpcmVzX2ZpbGVzW3Br
Z10pKQogICAgZm9yIHBrZyBpbiBwcm92aWRlc19maWxlczoKICAgICAgICBkLnNldFZhcigiRklM
RVJQUk9WSURFU0ZMSVNUXyIgKyBwa2csICIgIi5qb2luKHByb3ZpZGVzX2ZpbGVzW3BrZ10pKQp9
CgoKcHl0aG9uIHBhY2thZ2VfZG9fcGtnY29uZmlnICgpIHsKICAgIGltcG9ydCByZQoKICAgIHBh
Y2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykKICAgIHdvcmtkaXIgPSBkLmdldFZhcignV09S
S0RJUicpCiAgICBwa2dkZXN0ID0gZC5nZXRWYXIoJ1BLR0RFU1QnKQoKICAgIHNobGlic19kaXJz
ID0gZC5nZXRWYXIoJ1NITElCU0RJUlMnKS5zcGxpdCgpCiAgICBzaGxpYnN3b3JrX2RpciA9IGQu
Z2V0VmFyKCdTSExJQlNXT1JLRElSJykKCiAgICBwY19yZSA9IHJlLmNvbXBpbGUocicoLiopXC5w
YyQnKQogICAgdmFyX3JlID0gcmUuY29tcGlsZShyJyguKik9KC4qKScpCiAgICBmaWVsZF9yZSA9
IHJlLmNvbXBpbGUocicoLiopOiAoLiopJykKCiAgICBwa2djb25maWdfcHJvdmlkZWQgPSB7fQog
ICAgcGtnY29uZmlnX25lZWRlZCA9IHt9CiAgICBmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6
CiAgICAgICAgcGtnY29uZmlnX3Byb3ZpZGVkW3BrZ10gPSBbXQogICAgICAgIHBrZ2NvbmZpZ19u
ZWVkZWRbcGtnXSA9IFtdCiAgICAgICAgZm9yIGZpbGUgaW4gcGtnZmlsZXNbcGtnXToKICAgICAg
ICAgICAgICAgIG0gPSBwY19yZS5tYXRjaChmaWxlKQogICAgICAgICAgICAgICAgaWYgbToKICAg
ICAgICAgICAgICAgICAgICBwZCA9IGJiLmRhdGEuaW5pdCgpCiAgICAgICAgICAgICAgICAgICAg
bmFtZSA9IG0uZ3JvdXAoMSkKICAgICAgICAgICAgICAgICAgICBwa2djb25maWdfcHJvdmlkZWRb
cGtnXS5hcHBlbmQobmFtZSkKICAgICAgICAgICAgICAgICAgICBpZiBub3Qgb3MuYWNjZXNzKGZp
bGUsIG9zLlJfT0spOgogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAg
ICAgICAgICAgIGYgPSBvcGVuKGZpbGUsICdyJykKICAgICAgICAgICAgICAgICAgICBsaW5lcyA9
IGYucmVhZGxpbmVzKCkKICAgICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKICAgICAgICAgICAg
ICAgICAgICBmb3IgbCBpbiBsaW5lczoKICAgICAgICAgICAgICAgICAgICAgICAgbSA9IHZhcl9y
ZS5tYXRjaChsKQogICAgICAgICAgICAgICAgICAgICAgICBpZiBtOgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbmFtZSA9IG0uZ3JvdXAoMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHZhbCA9IG0uZ3JvdXAoMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBkLnNldFZhcihu
YW1lLCBwZC5leHBhbmQodmFsKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
CiAgICAgICAgICAgICAgICAgICAgICAgIG0gPSBmaWVsZF9yZS5tYXRjaChsKQogICAgICAgICAg
ICAgICAgICAgICAgICBpZiBtOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaGRyID0gbS5n
cm91cCgxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwID0gcGQuZXhwYW5kKG0uZ3Jv
dXAoMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBoZHIgPT0gJ1JlcXVpcmVzJzoK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2djb25maWdfbmVlZGVkW3BrZ10gKz0g
ZXhwLnJlcGxhY2UoJywnLCAnICcpLnNwbGl0KCkKCiAgICBmb3IgcGtnIGluIHBhY2thZ2VzLnNw
bGl0KCk6CiAgICAgICAgcGtnc19maWxlID0gb3MucGF0aC5qb2luKHNobGlic3dvcmtfZGlyLCBw
a2cgKyAiLnBjbGlzdCIpCiAgICAgICAgaWYgcGtnY29uZmlnX3Byb3ZpZGVkW3BrZ10gIT0gW106
CiAgICAgICAgICAgIGYgPSBvcGVuKHBrZ3NfZmlsZSwgJ3cnKQogICAgICAgICAgICBmb3IgcCBp
biBwa2djb25maWdfcHJvdmlkZWRbcGtnXToKICAgICAgICAgICAgICAgIGYud3JpdGUoJyVzXG4n
ICUgcCkKICAgICAgICAgICAgZi5jbG9zZSgpCgogICAgIyBHbyBmcm9tIGxlYXN0IHRvIG1vc3Qg
c3BlY2lmaWMgc2luY2UgdGhlIGxhc3Qgb25lIGZvdW5kIHdpbnMKICAgIGZvciBkaXIgaW4gcmV2
ZXJzZWQoc2hsaWJzX2RpcnMpOgogICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhkaXIpOgog
ICAgICAgICAgICBjb250aW51ZQogICAgICAgIGZvciBmaWxlIGluIHNvcnRlZChvcy5saXN0ZGly
KGRpcikpOgogICAgICAgICAgICBtID0gcmUubWF0Y2gocideKC4qKVwucGNsaXN0JCcsIGZpbGUp
CiAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICBwa2cgPSBtLmdyb3VwKDEpCiAgICAg
ICAgICAgICAgICBmZCA9IG9wZW4ob3MucGF0aC5qb2luKGRpciwgZmlsZSkpCiAgICAgICAgICAg
ICAgICBsaW5lcyA9IGZkLnJlYWRsaW5lcygpCiAgICAgICAgICAgICAgICBmZC5jbG9zZSgpCiAg
ICAgICAgICAgICAgICBwa2djb25maWdfcHJvdmlkZWRbcGtnXSA9IFtdCiAgICAgICAgICAgICAg
ICBmb3IgbCBpbiBsaW5lczoKICAgICAgICAgICAgICAgICAgICBwa2djb25maWdfcHJvdmlkZWRb
cGtnXS5hcHBlbmQobC5yc3RyaXAoKSkKCiAgICBmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6
CiAgICAgICAgZGVwcyA9IFtdCiAgICAgICAgZm9yIG4gaW4gcGtnY29uZmlnX25lZWRlZFtwa2dd
OgogICAgICAgICAgICBmb3VuZCA9IEZhbHNlCiAgICAgICAgICAgIGZvciBrIGluIHBrZ2NvbmZp
Z19wcm92aWRlZC5rZXlzKCk6CiAgICAgICAgICAgICAgICBpZiBuIGluIHBrZ2NvbmZpZ19wcm92
aWRlZFtrXToKICAgICAgICAgICAgICAgICAgICBpZiBrICE9IHBrZyBhbmQgbm90IChrIGluIGRl
cHMpOgogICAgICAgICAgICAgICAgICAgICAgICBkZXBzLmFwcGVuZChrKQogICAgICAgICAgICAg
ICAgICAgIGZvdW5kID0gVHJ1ZQogICAgICAgICAgICBpZiBmb3VuZCA9PSBGYWxzZToKICAgICAg
ICAgICAgICAgIGJiLm5vdGUoImNvdWxkbid0IGZpbmQgcGtnY29uZmlnIG1vZHVsZSAnJXMnIGlu
IGFueSBwYWNrYWdlIiAlIG4pCiAgICAgICAgZGVwc19maWxlID0gb3MucGF0aC5qb2luKHBrZ2Rl
c3QsIHBrZyArICIucGNkZXBzIikKICAgICAgICBpZiBsZW4oZGVwcyk6CiAgICAgICAgICAgIGZk
ID0gb3BlbihkZXBzX2ZpbGUsICd3JykKICAgICAgICAgICAgZm9yIGRlcCBpbiBkZXBzOgogICAg
ICAgICAgICAgICAgZmQud3JpdGUoZGVwICsgJ1xuJykKICAgICAgICAgICAgZmQuY2xvc2UoKQp9
CgoKcHl0aG9uIHBhY2thZ2VfZG9fc2hsaWJzICgpIHsKICAgIGltcG9ydCBpdGVydG9vbHMKICAg
IGltcG9ydCByZSwgcGlwZXMKICAgIGltcG9ydCBzdWJwcm9jZXNzCgogICAgZXhjbHVkZV9zaGxp
YnMgPSBkLmdldFZhcignRVhDTFVERV9GUk9NX1NITElCUycsIEZhbHNlKQogICAgaWYgZXhjbHVk
ZV9zaGxpYnM6CiAgICAgICAgYmIubm90ZSgibm90IGdlbmVyYXRpbmcgc2hsaWJzIikKICAgICAg
ICByZXR1cm4KCiAgICBsaWJfcmUgPSByZS5jb21waWxlKHIiXi4qXC5zbyIpCiAgICBsaWJkaXJf
cmUgPSByZS5jb21waWxlKHIiLiovJXMkIiAlIGQuZ2V0VmFyKCdiYXNlbGliJykpCgogICAgcGFj
a2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKQoKICAgIHNobGliX3BrZ3MgPSBbXQogICAgZXhj
bHVzaW9uX2xpc3QgPSBkLmdldFZhcigiRVhDTFVERV9QQUNLQUdFU19GUk9NX1NITElCUyIpCiAg
ICBpZiBleGNsdXNpb25fbGlzdDoKICAgICAgICBmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6
CiAgICAgICAgICAgIGlmIHBrZyBub3QgaW4gZXhjbHVzaW9uX2xpc3Quc3BsaXQoKToKICAgICAg
ICAgICAgICAgIHNobGliX3BrZ3MuYXBwZW5kKHBrZykKICAgICAgICAgICAgZWxzZToKICAgICAg
ICAgICAgICAgIGJiLm5vdGUoIm5vdCBnZW5lcmF0aW5nIHNobGlicyBmb3IgJXMiICUgcGtnKQog
ICAgZWxzZToKICAgICAgICBzaGxpYl9wa2dzID0gcGFja2FnZXMuc3BsaXQoKQoKICAgIHRhcmdl
dG9zID0gZC5nZXRWYXIoJ1RBUkdFVF9PUycpCgogICAgd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JL
RElSJykKCiAgICB2ZXIgPSBkLmdldFZhcignUEtHVicpCiAgICBpZiBub3QgdmVyOgogICAgICAg
IG1zZyA9ICJQS0dWIG5vdCBkZWZpbmVkIgogICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9y
KCJwa2d2LXVuZGVmaW5lZCIsIG1zZywgZCkKICAgICAgICByZXR1cm4KCiAgICBwa2dkZXN0ID0g
ZC5nZXRWYXIoJ1BLR0RFU1QnKQoKICAgIHNobGlic3dvcmtfZGlyID0gZC5nZXRWYXIoJ1NITElC
U1dPUktESVInKQoKICAgIGRlZiBsaW51eF9zbyhmaWxlLCBwa2csIHBrZ3ZlciwgZCk6CiAgICAg
ICAgbmVlZHNfbGRjb25maWcgPSBGYWxzZQogICAgICAgIG5lZWRlZCA9IHNldCgpCiAgICAgICAg
c29uYW1lcyA9IHNldCgpCiAgICAgICAgcmVuYW1lcyA9IFtdCiAgICAgICAgbGRpciA9IG9zLnBh
dGguZGlybmFtZShmaWxlKS5yZXBsYWNlKHBrZ2Rlc3QgKyAiLyIgKyBwa2csICcnKQogICAgICAg
IGNtZCA9IGQuZ2V0VmFyKCdPQkpEVU1QJykgKyAiIC1wICIgKyBwaXBlcy5xdW90ZShmaWxlKSAr
ICIgMj4vZGV2L251bGwiCiAgICAgICAgZmQgPSBvcy5wb3BlbihjbWQpCiAgICAgICAgbGluZXMg
PSBmZC5yZWFkbGluZXMoKQogICAgICAgIGZkLmNsb3NlKCkKICAgICAgICBycGF0aCA9IHR1cGxl
KCkKICAgICAgICBmb3IgbCBpbiBsaW5lczoKICAgICAgICAgICAgbSA9IHJlLm1hdGNoKHIiXHMr
UlBBVEhccysoW15cc10qKSIsIGwpCiAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICBy
cGF0aHMgPSBtLmdyb3VwKDEpLnJlcGxhY2UoIiRPUklHSU4iLCBsZGlyKS5zcGxpdCgiOiIpCiAg
ICAgICAgICAgICAgICBycGF0aCA9IHR1cGxlKG1hcChvcy5wYXRoLm5vcm1wYXRoLCBycGF0aHMp
KQogICAgICAgIGZvciBsIGluIGxpbmVzOgogICAgICAgICAgICBtID0gcmUubWF0Y2gociJccytO
RUVERURccysoW15cc10qKSIsIGwpCiAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICBk
ZXAgPSBtLmdyb3VwKDEpCiAgICAgICAgICAgICAgICBpZiBkZXAgbm90IGluIG5lZWRlZDoKICAg
ICAgICAgICAgICAgICAgICBuZWVkZWQuYWRkKChkZXAsIGZpbGUsIHJwYXRoKSkKICAgICAgICAg
ICAgbSA9IHJlLm1hdGNoKHIiXHMrU09OQU1FXHMrKFteXHNdKikiLCBsKQogICAgICAgICAgICBp
ZiBtOgogICAgICAgICAgICAgICAgdGhpc19zb25hbWUgPSBtLmdyb3VwKDEpCiAgICAgICAgICAg
ICAgICBwcm92ID0gKHRoaXNfc29uYW1lLCBsZGlyLCBwa2d2ZXIpCiAgICAgICAgICAgICAgICBp
ZiBub3QgcHJvdiBpbiBzb25hbWVzOgogICAgICAgICAgICAgICAgICAgICMgaWYgbGlicmFyeSBp
cyBwcml2YXRlIChvbmx5IHVzZWQgYnkgcGFja2FnZSkgdGhlbiBkbyBub3QgYnVpbGQgc2hsaWIg
Zm9yIGl0CiAgICAgICAgICAgICAgICAgICAgaW1wb3J0IGZubWF0Y2gKICAgICAgICAgICAgICAg
ICAgICBpZiBub3QgcHJpdmF0ZV9saWJzIG9yIGxlbihbaSBmb3IgaSBpbiBwcml2YXRlX2xpYnMg
aWYgZm5tYXRjaC5mbm1hdGNoKHRoaXNfc29uYW1lLCBpKV0pID09IDA6CiAgICAgICAgICAgICAg
ICAgICAgICAgIHNvbmFtZXMuYWRkKHByb3YpCiAgICAgICAgICAgICAgICBpZiBsaWJkaXJfcmUu
bWF0Y2gob3MucGF0aC5kaXJuYW1lKGZpbGUpKToKICAgICAgICAgICAgICAgICAgICBuZWVkc19s
ZGNvbmZpZyA9IFRydWUKICAgICAgICAgICAgICAgIGlmIHNuYXBfc3ltbGlua3MgYW5kIChvcy5w
YXRoLmJhc2VuYW1lKGZpbGUpICE9IHRoaXNfc29uYW1lKToKICAgICAgICAgICAgICAgICAgICBy
ZW5hbWVzLmFwcGVuZCgoZmlsZSwgb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShmaWxlKSwg
dGhpc19zb25hbWUpKSkKICAgICAgICByZXR1cm4gKG5lZWRzX2xkY29uZmlnLCBuZWVkZWQsIHNv
bmFtZXMsIHJlbmFtZXMpCgogICAgZGVmIGRhcndpbl9zbyhmaWxlLCBuZWVkZWQsIHNvbmFtZXMs
IHJlbmFtZXMsIHBrZ3Zlcik6CiAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGZpbGUpOgog
ICAgICAgICAgICByZXR1cm4KICAgICAgICBsZGlyID0gb3MucGF0aC5kaXJuYW1lKGZpbGUpLnJl
cGxhY2UocGtnZGVzdCArICIvIiArIHBrZywgJycpCgogICAgICAgIGRlZiBnZXRfY29tYmluYXRp
b25zKGJhc2UpOgogICAgICAgICAgICAjCiAgICAgICAgICAgICMgR2l2ZW4gYSBiYXNlIGxpYnJh
cnkgbmFtZSwgZmluZCBhbGwgY29tYmluYXRpb25zIG9mIHRoaXMgc3BsaXQgYnkgIi4iIGFuZCAi
LSIKICAgICAgICAgICAgIwogICAgICAgICAgICBjb21ib3MgPSBbXQogICAgICAgICAgICBvcHRp
b25zID0gYmFzZS5zcGxpdCgiLiIpCiAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDEsIGxlbihv
cHRpb25zKSArIDEpOgogICAgICAgICAgICAgICAgY29tYm9zLmFwcGVuZCgiLiIuam9pbihvcHRp
b25zWzA6aV0pKQogICAgICAgICAgICBvcHRpb25zID0gYmFzZS5zcGxpdCgiLSIpCiAgICAgICAg
ICAgIGZvciBpIGluIHJhbmdlKDEsIGxlbihvcHRpb25zKSArIDEpOgogICAgICAgICAgICAgICAg
Y29tYm9zLmFwcGVuZCgiLSIuam9pbihvcHRpb25zWzA6aV0pKQogICAgICAgICAgICByZXR1cm4g
Y29tYm9zCgogICAgICAgIGlmIChmaWxlLmVuZHN3aXRoKCcuZHlsaWInKSBvciBmaWxlLmVuZHN3
aXRoKCcuc28nKSkgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1kZXYnKSBhbmQgbm90IHBrZy5lbmRz
d2l0aCgnLWRiZycpIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctc3JjJyk6CiAgICAgICAgICAgICMg
RHJvcCBzdWZmaXgKICAgICAgICAgICAgbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUoZmlsZSkucnNw
bGl0KCIuIiwxKVswXQogICAgICAgICAgICAjIEZpbmQgYWxsIGNvbWJpbmF0aW9ucwogICAgICAg
ICAgICBjb21ib3MgPSBnZXRfY29tYmluYXRpb25zKG5hbWUpCiAgICAgICAgICAgIGZvciBjb21i
byBpbiBjb21ib3M6CiAgICAgICAgICAgICAgICBpZiBub3QgY29tYm8gaW4gc29uYW1lczoKICAg
ICAgICAgICAgICAgICAgICBwcm92ID0gKGNvbWJvLCBsZGlyLCBwa2d2ZXIpCiAgICAgICAgICAg
ICAgICAgICAgc29uYW1lcy5hZGQocHJvdikKICAgICAgICBpZiBmaWxlLmVuZHN3aXRoKCcuZHls
aWInKSBvciBmaWxlLmVuZHN3aXRoKCcuc28nKToKICAgICAgICAgICAgcnBhdGggPSBbXQogICAg
ICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3BlbihbZC5leHBhbmQoIiR7SE9TVF9QUkVGSVh9b3Rv
b2wiKSwgJy1sJywgZmlsZV0sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9j
ZXNzLlBJUEUpCiAgICAgICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiAgICAgICAg
ICAgICMgSWYgcmV0dXJuZWQgc3VjY2Vzc2Z1bGx5LCBwcm9jZXNzIHN0ZG91dCBmb3IgcmVzdWx0
cwogICAgICAgICAgICBpZiBwLnJldHVybmNvZGUgPT0gMDoKICAgICAgICAgICAgICAgIGZvciBs
IGluIG91dC5zcGxpdCgiXG4iKToKICAgICAgICAgICAgICAgICAgICBsID0gbC5zdHJpcCgpCiAg
ICAgICAgICAgICAgICAgICAgaWYgbC5zdGFydHN3aXRoKCdwYXRoICcpOgogICAgICAgICAgICAg
ICAgICAgICAgICBycGF0aC5hcHBlbmQobC5zcGxpdCgpWzFdKQoKICAgICAgICBwID0gc3VicHJv
Y2Vzcy5Qb3BlbihbZC5leHBhbmQoIiR7SE9TVF9QUkVGSVh9b3Rvb2wiKSwgJy1MJywgZmlsZV0s
IHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpCiAgICAgICAg
b3V0LCBlcnIgPSBwLmNvbW11bmljYXRlKCkKICAgICAgICAjIElmIHJldHVybmVkIHN1Y2Nlc3Nm
dWxseSwgcHJvY2VzcyBzdGRvdXQgZm9yIHJlc3VsdHMKICAgICAgICBpZiBwLnJldHVybmNvZGUg
PT0gMDoKICAgICAgICAgICAgZm9yIGwgaW4gb3V0LnNwbGl0KCJcbiIpOgogICAgICAgICAgICAg
ICAgbCA9IGwuc3RyaXAoKQogICAgICAgICAgICAgICAgaWYgbm90IGwgb3IgbC5lbmRzd2l0aCgi
OiIpOgogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBpZiAiaXMg
bm90IGFuIG9iamVjdCBmaWxlIiBpbiBsOgogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAg
ICAgICAgICAgICAgICBuYW1lID0gb3MucGF0aC5iYXNlbmFtZShsLnNwbGl0KClbMF0pLnJzcGxp
dCgiLiIsIDEpWzBdCiAgICAgICAgICAgICAgICBpZiBuYW1lIGFuZCBuYW1lIG5vdCBpbiBuZWVk
ZWRbcGtnXToKICAgICAgICAgICAgICAgICAgICAgbmVlZGVkW3BrZ10uYWRkKChuYW1lLCBmaWxl
LCB0dXBsZSgpKSkKCiAgICBkZWYgbWluZ3dfZGxsKGZpbGUsIG5lZWRlZCwgc29uYW1lcywgcmVu
YW1lcywgcGtndmVyKToKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZSk6CiAgICAg
ICAgICAgIHJldHVybgoKICAgICAgICBpZiBmaWxlLmVuZHN3aXRoKCIuZGxsIik6CiAgICAgICAg
ICAgICMgYXNzdW1lIGFsbCBkbGxzIGFyZSBzaGFyZWQgb2JqZWN0cyBwcm92aWRlZCBieSB0aGUg
cGFja2FnZQogICAgICAgICAgICBzb25hbWVzLmFkZCgob3MucGF0aC5iYXNlbmFtZShmaWxlKSwg
b3MucGF0aC5kaXJuYW1lKGZpbGUpLnJlcGxhY2UocGtnZGVzdCArICIvIiArIHBrZywgJycpLCBw
a2d2ZXIpKQoKICAgICAgICBpZiAoZmlsZS5lbmRzd2l0aCgiLmRsbCIpIG9yIGZpbGUuZW5kc3dp
dGgoIi5leGUiKSk6CiAgICAgICAgICAgICMgdXNlIG9iamR1bXAgdG8gc2VhcmNoIGZvciAiRExM
IE5hbWU6IC4qXC5kbGwiCiAgICAgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKFtkLmV4cGFu
ZCgiJHtIT1NUX1BSRUZJWH1vYmpkdW1wIiksICItcCIsIGZpbGVdLCBzdGRvdXQ9c3VicHJvY2Vz
cy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQogICAgICAgICAgICBvdXQsIGVyciA9IHAu
Y29tbXVuaWNhdGUoKQogICAgICAgICAgICAjIHByb2Nlc3MgdGhlIG91dHB1dCwgZ3JhYmJpbmcg
YWxsIC5kbGwgbmFtZXMKICAgICAgICAgICAgaWYgcC5yZXR1cm5jb2RlID09IDA6CiAgICAgICAg
ICAgICAgICBmb3IgbSBpbiByZS5maW5kaXRlcihyIkRMTCBOYW1lOiAoLio/XC5kbGwpJCIsIG91
dC5kZWNvZGUoKSwgcmUuTVVMVElMSU5FIHwgcmUuSUdOT1JFQ0FTRSk6CiAgICAgICAgICAgICAg
ICAgICAgZGxsbmFtZSA9IG0uZ3JvdXAoMSkKICAgICAgICAgICAgICAgICAgICBpZiBkbGxuYW1l
OgogICAgICAgICAgICAgICAgICAgICAgICBuZWVkZWRbcGtnXS5hZGQoKGRsbG5hbWUsIGZpbGUs
IHR1cGxlKCkpKQoKICAgIGlmIGQuZ2V0VmFyKCdQQUNLQUdFX1NOQVBfTElCX1NZTUxJTktTJykg
PT0gIjEiOgogICAgICAgIHNuYXBfc3ltbGlua3MgPSBUcnVlCiAgICBlbHNlOgogICAgICAgIHNu
YXBfc3ltbGlua3MgPSBGYWxzZQoKICAgIHVzZV9sZGNvbmZpZyA9IGJiLnV0aWxzLmNvbnRhaW5z
KCdESVNUUk9fRkVBVFVSRVMnLCAnbGRjb25maWcnLCBUcnVlLCBGYWxzZSwgZCkKCiAgICBuZWVk
ZWQgPSB7fQoKICAgIHNobGliX3Byb3ZpZGVyID0gb2UucGFja2FnZS5yZWFkX3NobGliX3Byb3Zp
ZGVycyhkKQoKICAgIGZvciBwa2cgaW4gc2hsaWJfcGtnczoKICAgICAgICBwcml2YXRlX2xpYnMg
PSBkLmdldFZhcignUFJJVkFURV9MSUJTXycgKyBwa2cpIG9yIGQuZ2V0VmFyKCdQUklWQVRFX0xJ
QlMnKSBvciAiIgogICAgICAgIHByaXZhdGVfbGlicyA9IHByaXZhdGVfbGlicy5zcGxpdCgpCiAg
ICAgICAgbmVlZHNfbGRjb25maWcgPSBGYWxzZQogICAgICAgIGJiLmRlYnVnKDIsICJjYWxjdWxh
dGluZyBzaGxpYiBwcm92aWRlcyBmb3IgJXMiICUgcGtnKQoKICAgICAgICBwa2d2ZXIgPSBkLmdl
dFZhcignUEtHVl8nICsgcGtnKQogICAgICAgIGlmIG5vdCBwa2d2ZXI6CiAgICAgICAgICAgIHBr
Z3ZlciA9IGQuZ2V0VmFyKCdQVl8nICsgcGtnKQogICAgICAgIGlmIG5vdCBwa2d2ZXI6CiAgICAg
ICAgICAgIHBrZ3ZlciA9IHZlcgoKICAgICAgICBuZWVkZWRbcGtnXSA9IHNldCgpCiAgICAgICAg
c29uYW1lcyA9IHNldCgpCiAgICAgICAgcmVuYW1lcyA9IFtdCiAgICAgICAgbGludXhsaXN0ID0g
W10KICAgICAgICBmb3IgZmlsZSBpbiBwa2dmaWxlc1twa2ddOgogICAgICAgICAgICAgICAgc29u
YW1lID0gTm9uZQogICAgICAgICAgICAgICAgaWYgY3BhdGguaXNsaW5rKGZpbGUpOgogICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBpZiB0YXJnZXRvcyA9PSAiZGFy
d2luIiBvciB0YXJnZXRvcyA9PSAiZGFyd2luOCI6CiAgICAgICAgICAgICAgICAgICAgZGFyd2lu
X3NvKGZpbGUsIG5lZWRlZCwgc29uYW1lcywgcmVuYW1lcywgcGtndmVyKQogICAgICAgICAgICAg
ICAgZWxpZiB0YXJnZXRvcy5zdGFydHN3aXRoKCJtaW5ndyIpOgogICAgICAgICAgICAgICAgICAg
IG1pbmd3X2RsbChmaWxlLCBuZWVkZWQsIHNvbmFtZXMsIHJlbmFtZXMsIHBrZ3ZlcikKICAgICAg
ICAgICAgICAgIGVsaWYgb3MuYWNjZXNzKGZpbGUsIG9zLlhfT0spIG9yIGxpYl9yZS5tYXRjaChm
aWxlKToKICAgICAgICAgICAgICAgICAgICBsaW51eGxpc3QuYXBwZW5kKGZpbGUpCgogICAgICAg
IGlmIGxpbnV4bGlzdDoKICAgICAgICAgICAgcmVzdWx0cyA9IG9lLnV0aWxzLm11bHRpcHJvY2Vz
c19sYXVuY2gobGludXhfc28sIGxpbnV4bGlzdCwgZCwgZXh0cmFhcmdzPShwa2csIHBrZ3Zlciwg
ZCkpCiAgICAgICAgICAgIGZvciByIGluIHJlc3VsdHM6CiAgICAgICAgICAgICAgICBsZGNvbmZp
ZyA9IHJbMF0KICAgICAgICAgICAgICAgIG5lZWRlZFtwa2ddIHw9IHJbMV0KICAgICAgICAgICAg
ICAgIHNvbmFtZXMgfD0gclsyXQogICAgICAgICAgICAgICAgcmVuYW1lcy5leHRlbmQoclszXSkK
ICAgICAgICAgICAgICAgIG5lZWRzX2xkY29uZmlnID0gbmVlZHNfbGRjb25maWcgb3IgbGRjb25m
aWcKCiAgICAgICAgZm9yIChvbGQsIG5ldykgaW4gcmVuYW1lczoKICAgICAgICAgICAgYmIubm90
ZSgiUmVuYW1pbmcgJXMgdG8gJXMiICUgKG9sZCwgbmV3KSkKICAgICAgICAgICAgb3MucmVuYW1l
KG9sZCwgbmV3KQogICAgICAgICAgICBwa2dmaWxlc1twa2ddLnJlbW92ZShvbGQpCgogICAgICAg
IHNobGlic19maWxlID0gb3MucGF0aC5qb2luKHNobGlic3dvcmtfZGlyLCBwa2cgKyAiLmxpc3Qi
KQogICAgICAgIGlmIGxlbihzb25hbWVzKToKICAgICAgICAgICAgZmQgPSBvcGVuKHNobGlic19m
aWxlLCAndycpCiAgICAgICAgICAgIGZvciBzIGluIHNvbmFtZXM6CiAgICAgICAgICAgICAgICBp
ZiBzWzBdIGluIHNobGliX3Byb3ZpZGVyIGFuZCBzWzFdIGluIHNobGliX3Byb3ZpZGVyW3NbMF1d
OgogICAgICAgICAgICAgICAgICAgIChvbGRfcGtnLCBvbGRfcGtndmVyKSA9IHNobGliX3Byb3Zp
ZGVyW3NbMF1dW3NbMV1dCiAgICAgICAgICAgICAgICAgICAgaWYgb2xkX3BrZyAhPSBwa2c6CiAg
ICAgICAgICAgICAgICAgICAgICAgIGJiLndhcm4oJyVzLSVzIHdhcyByZWdpc3RlcmVkIGFzIHNo
bGliIHByb3ZpZGVyIGZvciAlcywgY2hhbmdpbmcgaXQgdG8gJXMtJXMgYmVjYXVzZSBpdCB3YXMg
YnVpbHQgbGF0ZXInICUgKG9sZF9wa2csIG9sZF9wa2d2ZXIsIHNbMF0sIHBrZywgcGtndmVyKSkK
ICAgICAgICAgICAgICAgIGJiLmRlYnVnKDEsICdyZWdpc3RlcmluZyAlcy0lcyBhcyBzaGxpYiBw
cm92aWRlciBmb3IgJXMnICUgKHBrZywgcGtndmVyLCBzWzBdKSkKICAgICAgICAgICAgICAgIGZk
LndyaXRlKHNbMF0gKyAnOicgKyBzWzFdICsgJzonICsgc1syXSArICdcbicpCiAgICAgICAgICAg
ICAgICBpZiBzWzBdIG5vdCBpbiBzaGxpYl9wcm92aWRlcjoKICAgICAgICAgICAgICAgICAgICBz
aGxpYl9wcm92aWRlcltzWzBdXSA9IHt9CiAgICAgICAgICAgICAgICBzaGxpYl9wcm92aWRlcltz
WzBdXVtzWzFdXSA9IChwa2csIHBrZ3ZlcikKICAgICAgICAgICAgZmQuY2xvc2UoKQogICAgICAg
IGlmIG5lZWRzX2xkY29uZmlnIGFuZCB1c2VfbGRjb25maWc6CiAgICAgICAgICAgIGJiLmRlYnVn
KDEsICdhZGRpbmcgbGRjb25maWcgY2FsbCB0byBwb3N0aW5zdCBmb3IgJXMnICUgcGtnKQogICAg
ICAgICAgICBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwa2dfcG9zdGluc3RfJXMnICUgcGtnKQogICAg
ICAgICAgICBpZiBub3QgcG9zdGluc3Q6CiAgICAgICAgICAgICAgICBwb3N0aW5zdCA9ICcjIS9i
aW4vc2hcbicKICAgICAgICAgICAgcG9zdGluc3QgKz0gZC5nZXRWYXIoJ2xkY29uZmlnX3Bvc3Rp
bnN0X2ZyYWdtZW50JykKICAgICAgICAgICAgZC5zZXRWYXIoJ3BrZ19wb3N0aW5zdF8lcycgJSBw
a2csIHBvc3RpbnN0KQogICAgICAgIGJiLmRlYnVnKDEsICdMSUJOQU1FUzogcGtnICVzIHNvbmFt
ZXMgJXMnICUgKHBrZywgc29uYW1lcykpCgogICAgYXNzdW1lZF9saWJzID0gZC5nZXRWYXIoJ0FT
U1VNRV9TSExJQlMnKQogICAgaWYgYXNzdW1lZF9saWJzOgogICAgICAgIGxpYmRpciA9IGQuZ2V0
VmFyKCJsaWJkaXIiKQogICAgICAgIGZvciBlIGluIGFzc3VtZWRfbGlicy5zcGxpdCgpOgogICAg
ICAgICAgICBsLCBkZXBfcGtnID0gZS5zcGxpdCgiOiIpCiAgICAgICAgICAgIGxpYl92ZXIgPSBO
b25lCiAgICAgICAgICAgIGRlcF9wa2cgPSBkZXBfcGtnLnJzcGxpdCgiXyIsIDEpCiAgICAgICAg
ICAgIGlmIGxlbihkZXBfcGtnKSA9PSAyOgogICAgICAgICAgICAgICAgbGliX3ZlciA9IGRlcF9w
a2dbMV0KICAgICAgICAgICAgZGVwX3BrZyA9IGRlcF9wa2dbMF0KICAgICAgICAgICAgaWYgbCBu
b3QgaW4gc2hsaWJfcHJvdmlkZXI6CiAgICAgICAgICAgICAgICBzaGxpYl9wcm92aWRlcltsXSA9
IHt9CiAgICAgICAgICAgIHNobGliX3Byb3ZpZGVyW2xdW2xpYmRpcl0gPSAoZGVwX3BrZywgbGli
X3ZlcikKCiAgICBsaWJzZWFyY2hwYXRoID0gW2QuZ2V0VmFyKCdsaWJkaXInKSwgZC5nZXRWYXIo
J2Jhc2VfbGliZGlyJyldCgogICAgZm9yIHBrZyBpbiBzaGxpYl9wa2dzOgogICAgICAgIGJiLmRl
YnVnKDIsICJjYWxjdWxhdGluZyBzaGxpYiByZXF1aXJlbWVudHMgZm9yICVzIiAlIHBrZykKCiAg
ICAgICAgcHJpdmF0ZV9saWJzID0gZC5nZXRWYXIoJ1BSSVZBVEVfTElCU18nICsgcGtnKSBvciBk
LmdldFZhcignUFJJVkFURV9MSUJTJykgb3IgIiIKICAgICAgICBwcml2YXRlX2xpYnMgPSBwcml2
YXRlX2xpYnMuc3BsaXQoKQoKICAgICAgICBkZXBzID0gbGlzdCgpCiAgICAgICAgZm9yIG4gaW4g
bmVlZGVkW3BrZ106CiAgICAgICAgICAgICMgaWYgbiBpcyBpbiBwcml2YXRlIGxpYnJhcmllcywg
ZG9uJ3QgdHJ5IHRvIHNlYXJjaCBwcm92aWRlciBmb3IgaXQKICAgICAgICAgICAgIyB0aGlzIGNv
dWxkIGNhdXNlIHByb2JsZW0gaW4gY2FzZSBzb21lIGFiYy5iYiBwcm92aWRlcyBwcml2YXRlCiAg
ICAgICAgICAgICMgL29wdC9hYmMvbGliL2xpYmZvby5zby4xIGFuZCBjb250YWlucyAvdXNyL2Jp
bi9hYmMgZGVwZW5kaW5nIG9uIHN5c3RlbSBsaWJyYXJ5IGxpYmZvby5zby4xCiAgICAgICAgICAg
ICMgYnV0IHNraXBwaW5nIGl0IGlzIHN0aWxsIGJldHRlciBhbHRlcm5hdGl2ZSB0aGFuIHByb3Zp
ZGluZyBvd24KICAgICAgICAgICAgIyB2ZXJzaW9uIGFuZCB0aGVuIGFkZGluZyBydW50aW1lIGRl
cGVuZGVuY3kgZm9yIHRoZSBzYW1lIHN5c3RlbSBsaWJyYXJ5CiAgICAgICAgICAgIGltcG9ydCBm
bm1hdGNoCiAgICAgICAgICAgIGlmIHByaXZhdGVfbGlicyBhbmQgbGVuKFtpIGZvciBpIGluIHBy
aXZhdGVfbGlicyBpZiBmbm1hdGNoLmZubWF0Y2goblswXSwgaSldKSA+IDA6CiAgICAgICAgICAg
ICAgICBiYi5kZWJ1ZygyLCAnJXM6IERlcGVuZGVuY3kgJXMgY292ZXJlZCBieSBQUklWQVRFX0xJ
QlMnICUgKHBrZywgblswXSkpCiAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICBp
ZiBuWzBdIGluIHNobGliX3Byb3ZpZGVyLmtleXMoKToKICAgICAgICAgICAgICAgIHNobGliX3By
b3ZpZGVyX21hcCA9IHNobGliX3Byb3ZpZGVyW25bMF1dCiAgICAgICAgICAgICAgICBtYXRjaGVz
ID0gc2V0KCkKICAgICAgICAgICAgICAgIGZvciBwIGluIGl0ZXJ0b29scy5jaGFpbihsaXN0KG5b
Ml0pLCBzb3J0ZWQoc2hsaWJfcHJvdmlkZXJfbWFwLmtleXMoKSksIGxpYnNlYXJjaHBhdGgpOgog
ICAgICAgICAgICAgICAgICAgIGlmIHAgaW4gc2hsaWJfcHJvdmlkZXJfbWFwOgogICAgICAgICAg
ICAgICAgICAgICAgICBtYXRjaGVzLmFkZChwKQogICAgICAgICAgICAgICAgaWYgbGVuKG1hdGNo
ZXMpID4gMToKICAgICAgICAgICAgICAgICAgICBtYXRjaHBrZ3MgPSAnLCAnLmpvaW4oW3NobGli
X3Byb3ZpZGVyX21hcFttYXRjaF1bMF0gZm9yIG1hdGNoIGluIG1hdGNoZXNdKQogICAgICAgICAg
ICAgICAgICAgIGJiLmVycm9yKCIlczogTXVsdGlwbGUgc2hsaWIgcHJvdmlkZXJzIGZvciAlczog
JXMgKHVzZWQgYnkgZmlsZXM6ICVzKSIgJSAocGtnLCBuWzBdLCBtYXRjaHBrZ3MsIG5bMV0pKQog
ICAgICAgICAgICAgICAgZWxpZiBsZW4obWF0Y2hlcykgPT0gMToKICAgICAgICAgICAgICAgICAg
ICAoZGVwX3BrZywgdmVyX25lZWRlZCkgPSBzaGxpYl9wcm92aWRlcl9tYXBbbWF0Y2hlcy5wb3Ao
KV0KCiAgICAgICAgICAgICAgICAgICAgYmIuZGVidWcoMiwgJyVzOiBEZXBlbmRlbmN5ICVzIHJl
cXVpcmVzIHBhY2thZ2UgJXMgKHVzZWQgYnkgZmlsZXM6ICVzKScgJSAocGtnLCBuWzBdLCBkZXBf
cGtnLCBuWzFdKSkKCiAgICAgICAgICAgICAgICAgICAgaWYgZGVwX3BrZyA9PSBwa2c6CiAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgICAgICAgICAgICAgIGlmIHZlcl9u
ZWVkZWQ6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlcCA9ICIlcyAoPj0gJXMpIiAlIChkZXBf
cGtnLCB2ZXJfbmVlZGVkKQogICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAg
ICAgICAgICAgIGRlcCA9IGRlcF9wa2cKICAgICAgICAgICAgICAgICAgICBpZiBub3QgZGVwIGlu
IGRlcHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGRlcHMuYXBwZW5kKGRlcCkKICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICBiYi5ub3RlKCJDb3VsZG4ndCBmaW5kIHNo
YXJlZCBsaWJyYXJ5IHByb3ZpZGVyIGZvciAlcywgdXNlZCBieSBmaWxlczogJXMiICUgKG5bMF0s
IG5bMV0pKQoKICAgICAgICBkZXBzX2ZpbGUgPSBvcy5wYXRoLmpvaW4ocGtnZGVzdCwgcGtnICsg
Ii5zaGxpYmRlcHMiKQogICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGRlcHNfZmlsZSk6CiAgICAg
ICAgICAgIG9zLnJlbW92ZShkZXBzX2ZpbGUpCiAgICAgICAgaWYgbGVuKGRlcHMpOgogICAgICAg
ICAgICBmZCA9IG9wZW4oZGVwc19maWxlLCAndycpCiAgICAgICAgICAgIGZvciBkZXAgaW4gc29y
dGVkKGRlcHMpOgogICAgICAgICAgICAgICAgZmQud3JpdGUoZGVwICsgJ1xuJykKICAgICAgICAg
ICAgZmQuY2xvc2UoKQp9CgoKcHl0aG9uIHBhY2thZ2VfZG9fc3BsaXRfbG9jYWxlcyAoKSB7CiAg
ICBpZiAoZC5nZXRWYXIoJ1BBQ0tBR0VfTk9fTE9DQUxFJykgPT0gJzEnKToKICAgICAgICBiYi5k
ZWJ1ZygxLCAicGFja2FnZSByZXF1ZXN0ZWQgbm90IHNwbGl0dGluZyBsb2NhbGVzIikKICAgICAg
ICByZXR1cm4KCiAgICBwYWNrYWdlcyA9IChkLmdldFZhcignUEFDS0FHRVMnKSBvciAiIikuc3Bs
aXQoKQoKICAgIGRhdGFkaXIgPSBkLmdldFZhcignZGF0YWRpcicpCiAgICBpZiBub3QgZGF0YWRp
cjoKICAgICAgICBiYi5ub3RlKCJkYXRhZGlyIG5vdCBkZWZpbmVkIikKICAgICAgICByZXR1cm4K
CiAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0QnKQogICAgcG4gPSBkLmdldFZhcignTE9DQUxFQkFT
RVBOJykKCiAgICBpZiBwbiArICctbG9jYWxlJyBpbiBwYWNrYWdlczoKICAgICAgICBwYWNrYWdl
cy5yZW1vdmUocG4gKyAnLWxvY2FsZScpCgogICAgbG9jYWxlZGlyID0gb3MucGF0aC5qb2luKGR2
YXIgKyBkYXRhZGlyLCAnbG9jYWxlJykKCiAgICBpZiBub3QgY3BhdGguaXNkaXIobG9jYWxlZGly
KToKICAgICAgICBiYi5kZWJ1ZygxLCAiTm8gbG9jYWxlIGZpbGVzIGluIHRoaXMgcGFja2FnZSIp
CiAgICAgICAgcmV0dXJuCgogICAgbG9jYWxlcyA9IG9zLmxpc3RkaXIobG9jYWxlZGlyKQoKICAg
IHN1bW1hcnkgPSBkLmdldFZhcignU1VNTUFSWScpIG9yIHBuCiAgICBkZXNjcmlwdGlvbiA9IGQu
Z2V0VmFyKCdERVNDUklQVElPTicpIG9yICIiCiAgICBsb2NhbGVfc2VjdGlvbiA9IGQuZ2V0VmFy
KCdMT0NBTEVfU0VDVElPTicpCiAgICBtbHByZWZpeCA9IGQuZ2V0VmFyKCdNTFBSRUZJWCcpIG9y
ICIiCiAgICBmb3IgbCBpbiBzb3J0ZWQobG9jYWxlcyk6CiAgICAgICAgbG4gPSBsZWdpdGltaXpl
X3BhY2thZ2VfbmFtZShsKQogICAgICAgIHBrZyA9IHBuICsgJy1sb2NhbGUtJyArIGxuCiAgICAg
ICAgcGFja2FnZXMuYXBwZW5kKHBrZykKICAgICAgICBkLnNldFZhcignRklMRVNfJyArIHBrZywg
b3MucGF0aC5qb2luKGRhdGFkaXIsICdsb2NhbGUnLCBsKSkKICAgICAgICBkLnNldFZhcignUlJF
Q09NTUVORFNfJyArIHBrZywgJyVzdmlydHVhbC1sb2NhbGUtJXMnICUgKG1scHJlZml4LCBsbikp
CiAgICAgICAgZC5zZXRWYXIoJ1JQUk9WSURFU18nICsgcGtnLCAnJXMtbG9jYWxlICVzJXMtdHJh
bnNsYXRpb24nICUgKHBuLCBtbHByZWZpeCwgbG4pKQogICAgICAgIGQuc2V0VmFyKCdTVU1NQVJZ
XycgKyBwa2csICclcyAtICVzIHRyYW5zbGF0aW9ucycgJSAoc3VtbWFyeSwgbCkpCiAgICAgICAg
ZC5zZXRWYXIoJ0RFU0NSSVBUSU9OXycgKyBwa2csICclcyAgVGhpcyBwYWNrYWdlIGNvbnRhaW5z
IGxhbmd1YWdlIHRyYW5zbGF0aW9uIGZpbGVzIGZvciB0aGUgJXMgbG9jYWxlLicgJSAoZGVzY3Jp
cHRpb24sIGwpKQogICAgICAgIGlmIGxvY2FsZV9zZWN0aW9uOgogICAgICAgICAgICBkLnNldFZh
cignU0VDVElPTl8nICsgcGtnLCBsb2NhbGVfc2VjdGlvbikKCiAgICBkLnNldFZhcignUEFDS0FH
RVMnLCAnICcuam9pbihwYWNrYWdlcykpCgogICAgIyBEaXNhYmxlZCBieSBSUCAxOC8wNi8wNwog
ICAgIyBXaWxkY2FyZHMgYXJlbid0IHN1cHBvcnRlZCBpbiBkZWJpYW4KICAgICMgVGhleSBicmVh
ayB3aXRoIGlwa2cgc2luY2UgZ2xpYmMtbG9jYWxlKiB3aWxsIG1lYW4gdGhhdAogICAgIyBnbGli
Yy1sb2NhbGVkYXRhLXRyYW5zbGl0KiB3b24ndCBpbnN0YWxsIGFzIGEgZGVwZW5kZW5jeQogICAg
IyBmb3Igc29tZSBvdGhlciBwYWNrYWdlIHdoaWNoIGJyZWFrcyBtZXRhLXRvb2xjaGFpbgogICAg
IyBQcm9iYWJseSBicmVha3Mgc2luY2UgdmlydHVhbC1sb2NhbGUtIGlzbid0IHByb3ZpZGVkIGFu
eXdoZXJlCiAgICAjcmRlcCA9IChkLmdldFZhcignUkRFUEVORFNfJXMnICUgcG4pIG9yICIiKS5z
cGxpdCgpCiAgICAjcmRlcC5hcHBlbmQoJyVzLWxvY2FsZSonICUgcG4pCiAgICAjZC5zZXRWYXIo
J1JERVBFTkRTXyVzJyAlIHBuLCAnICcuam9pbihyZGVwKSkKfQoKCnB5dGhvbiBwYWNrYWdlX2Zp
eHN5bWxpbmtzICgpIHsKICAgIGltcG9ydCBlcnJubwogICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQ
S0dERVNUJykKICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoIlBBQ0tBR0VTIiwgRmFsc2UpLnNwbGl0
KCkKCiAgICBkYW5nbGluZ19saW5rcyA9IHt9CiAgICBwa2dfZmlsZXMgPSB7fQogICAgZm9yIHBr
ZyBpbiBwYWNrYWdlczoKICAgICAgICBkYW5nbGluZ19saW5rc1twa2ddID0gW10KICAgICAgICBw
a2dfZmlsZXNbcGtnXSA9IFtdCiAgICAgICAgaW5zdF9yb290ID0gb3MucGF0aC5qb2luKHBrZ2Rl
c3QsIHBrZykKICAgICAgICBmb3IgcGF0aCBpbiBwa2dmaWxlc1twa2ddOgogICAgICAgICAgICAg
ICAgcnBhdGggPSBwYXRoW2xlbihpbnN0X3Jvb3QpOl0KICAgICAgICAgICAgICAgIHBrZ19maWxl
c1twa2ddLmFwcGVuZChycGF0aCkKICAgICAgICAgICAgICAgIHJ0YXJnZXQgPSBjcGF0aC5yZWFs
cGF0aChwYXRoLCBpbnN0X3Jvb3QsIFRydWUsIGFzc3VtZV9kaXIgPSBUcnVlKQogICAgICAgICAg
ICAgICAgaWYgbm90IGNwYXRoLmxleGlzdHMocnRhcmdldCk6CiAgICAgICAgICAgICAgICAgICAg
ZGFuZ2xpbmdfbGlua3NbcGtnXS5hcHBlbmQob3MucGF0aC5ub3JtcGF0aChydGFyZ2V0W2xlbihp
bnN0X3Jvb3QpOl0pKQoKICAgIG5ld3JkZXBlbmRzID0ge30KICAgIGZvciBwa2cgaW4gZGFuZ2xp
bmdfbGlua3M6CiAgICAgICAgZm9yIGwgaW4gZGFuZ2xpbmdfbGlua3NbcGtnXToKICAgICAgICAg
ICAgZm91bmQgPSBGYWxzZQogICAgICAgICAgICBiYi5kZWJ1ZygxLCAiJXMgY29udGFpbnMgZGFu
Z2xpbmcgbGluayAlcyIgJSAocGtnLCBsKSkKICAgICAgICAgICAgZm9yIHAgaW4gcGFja2FnZXM6
CiAgICAgICAgICAgICAgICBpZiBsIGluIHBrZ19maWxlc1twXToKICAgICAgICAgICAgICAgICAg
ICAgICAgZm91bmQgPSBUcnVlCiAgICAgICAgICAgICAgICAgICAgICAgIGJiLmRlYnVnKDEsICJ0
YXJnZXQgZm91bmQgaW4gJXMiICUgcCkKICAgICAgICAgICAgICAgICAgICAgICAgaWYgcCA9PSBw
a2c6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgICAg
ICAgICBpZiBwa2cgbm90IGluIG5ld3JkZXBlbmRzOgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbmV3cmRlcGVuZHNbcGtnXSA9IFtdCiAgICAgICAgICAgICAgICAgICAgICAgIG5ld3JkZXBl
bmRzW3BrZ10uYXBwZW5kKHApCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAg
ICAgIGlmIGZvdW5kID09IEZhbHNlOgogICAgICAgICAgICAgICAgYmIubm90ZSgiJXMgY29udGFp
bnMgZGFuZ2xpbmcgc3ltbGluayB0byAlcyIgJSAocGtnLCBsKSkKCiAgICBmb3IgcGtnIGluIG5l
d3JkZXBlbmRzOgogICAgICAgIHJkZXBlbmRzID0gYmIudXRpbHMuZXhwbG9kZV9kZXBfdmVyc2lv
bnMyKGQuZ2V0VmFyKCdSREVQRU5EU18nICsgcGtnKSBvciAiIikKICAgICAgICBmb3IgcCBpbiBu
ZXdyZGVwZW5kc1twa2ddOgogICAgICAgICAgICBpZiBwIG5vdCBpbiByZGVwZW5kczoKICAgICAg
ICAgICAgICAgIHJkZXBlbmRzW3BdID0gW10KICAgICAgICBkLnNldFZhcignUkRFUEVORFNfJyAr
IHBrZywgYmIudXRpbHMuam9pbl9kZXBzKHJkZXBlbmRzLCBjb21tYXNlcD1GYWxzZSkpCn0KCgpw
eXRob24gcGFja2FnZV9nZXRfYXV0b19wciAoKSB7CiAgICBpbXBvcnQgb2UucHJzZXJ2aWNlCiAg
ICBpbXBvcnQgcmUKCiAgICAjIFN1cHBvcnQgcGVyIHJlY2lwZSBQUlNFUlZfSE9TVAogICAgcG4g
PSBkLmdldFZhcignUE4nKQogICAgaG9zdCA9IGQuZ2V0VmFyKCJQUlNFUlZfSE9TVF8iICsgcG4p
CiAgICBpZiBub3QgKGhvc3QgaXMgTm9uZSk6CiAgICAgICAgZC5zZXRWYXIoIlBSU0VSVl9IT1NU
IiwgaG9zdCkKCiAgICBwa2d2ID0gZC5nZXRWYXIoIlBLR1YiKQoKICAgICMgUFIgU2VydmVyIG5v
dCBhY3RpdmUsIGhhbmRsZSBBVVRPSU5DCiAgICBpZiBub3QgZC5nZXRWYXIoJ1BSU0VSVl9IT1NU
Jyk6CiAgICAgICAgaWYgJ0FVVE9JTkMnIGluIHBrZ3Y6CiAgICAgICAgICAgIGQuc2V0VmFyKCJQ
S0dWIiwgcGtndi5yZXBsYWNlKCJBVVRPSU5DIiwgIjAiKSkKICAgICAgICByZXR1cm4KCiAgICBh
dXRvX3ByID0gTm9uZQogICAgcHYgPSBkLmdldFZhcigiUFYiKQogICAgdmVyc2lvbiA9IGQuZ2V0
VmFyKCJQUkFVVE9JTlgiKQogICAgcGtnYXJjaCA9IGQuZ2V0VmFyKCJQQUNLQUdFX0FSQ0giKQog
ICAgY2hlY2tzdW0gPSBkLmdldFZhcigiQkJfVEFTS0hBU0giKQoKICAgIGlmIGQuZ2V0VmFyKCdQ
UlNFUlZfTE9DS0RPV04nKToKICAgICAgICBhdXRvX3ByID0gZC5nZXRWYXIoJ1BSQVVUT18nICsg
dmVyc2lvbiArICdfJyArIHBrZ2FyY2gpIG9yIGQuZ2V0VmFyKCdQUkFVVE9fJyArIHZlcnNpb24p
IG9yIE5vbmUKICAgICAgICBpZiBhdXRvX3ByIGlzIE5vbmU6CiAgICAgICAgICAgIGJiLmZhdGFs
KCJDYW4gTk9UIGdldCBQUkFVVE8gZnJvbSBsb2NrZG93biBleHBvcnRlZCBmaWxlIikKICAgICAg
ICBkLnNldFZhcignUFJBVVRPJyxzdHIoYXV0b19wcikpCiAgICAgICAgcmV0dXJuCgogICAgdHJ5
OgogICAgICAgIGNvbm4gPSBkLmdldFZhcigiX19QUlNFUlZfQ09OTiIpCiAgICAgICAgaWYgY29u
biBpcyBOb25lOgogICAgICAgICAgICBjb25uID0gb2UucHJzZXJ2aWNlLnByc2Vydl9tYWtlX2Nv
bm4oZCkKICAgICAgICBpZiBjb25uIGlzIG5vdCBOb25lOgogICAgICAgICAgICBpZiAiQVVUT0lO
QyIgaW4gcGtndjoKICAgICAgICAgICAgICAgIHNyY3B2ID0gYmIuZmV0Y2gyLmdldF9zcmNyZXYo
ZCkKICAgICAgICAgICAgICAgIGJhc2VfdmVyID0gIkFVVE9JTkMtJXMiICUgdmVyc2lvbls6dmVy
c2lvbi5maW5kKHNyY3B2KV0KICAgICAgICAgICAgICAgIHZhbHVlID0gY29ubi5nZXRQUihiYXNl
X3ZlciwgcGtnYXJjaCwgc3JjcHYpCiAgICAgICAgICAgICAgICBkLnNldFZhcigiUEtHViIsIHBr
Z3YucmVwbGFjZSgiQVVUT0lOQyIsIHN0cih2YWx1ZSkpKQoKICAgICAgICAgICAgYXV0b19wciA9
IGNvbm4uZ2V0UFIodmVyc2lvbiwgcGtnYXJjaCwgY2hlY2tzdW0pCiAgICBleGNlcHQgRXhjZXB0
aW9uIGFzIGU6CiAgICAgICAgYmIuZmF0YWwoIkNhbiBOT1QgZ2V0IFBSQVVUTywgZXhjZXB0aW9u
ICVzIiAlICBzdHIoZSkpCiAgICBpZiBhdXRvX3ByIGlzIE5vbmU6CiAgICAgICAgYmIuZmF0YWwo
IkNhbiBOT1QgZ2V0IFBSQVVUTyBmcm9tIHJlbW90ZSBQUiBzZXJ2aWNlIikKICAgIGQuc2V0VmFy
KCdQUkFVVE8nLHN0cihhdXRvX3ByKSkKfQoKCnB5dGhvbiBwYWNrYWdlX25hbWVfaG9vayAoKSB7
CiAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ2RlYmlhbl9wYWNrYWdlX25hbWVfaG9vaycsIGQpCn0K
CgpweXRob24gcGFja2FnZV9wYWNrYWdlX25hbWVfaG9vayAoKSB7CiAgICAiIiIKICAgIEEgcGFj
a2FnZV9uYW1lX2hvb2sgZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gcmV3cml0ZSB0aGUgcGFja2Fn
ZSBuYW1lcyBieQogICAgY2hhbmdpbmcgUEtHLiAgRm9yIGFuIGV4YW1wbGUsIHNlZSBkZWJpYW4u
YmJjbGFzcy4KICAgICIiIgogICAgcGFzcwp9CgoKcHl0aG9uIHBhY2thZ2VfcG9wdWxhdGVfcGtn
ZGF0YV9kaXIgKCkgewpkZWYgcGFja2FnZV9wb3B1bGF0ZV9wa2dkYXRhX2Rpcihwa2dkYXRhZGly
LCBkKToKICAgIGltcG9ydCBnbG9iCgogICAgcG9zdGluc3RzID0gW10KICAgIHNlZW5kaXJzID0g
c2V0KCkKICAgIHN0YWdpbmdkaXIgPSBkLmdldFZhcigiUEtHREFUQV9ESVIiKQogICAgcGtnYXJj
aHMgPSBbJyR7TUFDSElORV9BUkNIfSddCiAgICBwa2dhcmNocyA9IHBrZ2FyY2hzICsgbGlzdChy
ZXZlcnNlZChkLmdldFZhcigiUEFDS0FHRV9FWFRSQV9BUkNIUyIpLnNwbGl0KCkpKQogICAgcGtn
YXJjaHMuYXBwZW5kKCdhbGxhcmNoJykKCiAgICBiYi51dGlscy5ta2RpcmhpZXIocGtnZGF0YWRp
cikKICAgIGZvciBwa2dhcmNoIGluIHBrZ2FyY2hzOgogICAgICAgIGZvciBtYW5pZmVzdCBpbiBn
bG9iLmdsb2IoZC5leHBhbmQoIiR7U1NUQVRFX01BTklGRVNUU30vbWFuaWZlc3QtJXMtKi5wYWNr
YWdlZGF0YSIgJSBwa2dhcmNoKSk6CiAgICAgICAgICAgIHdpdGggb3BlbihtYW5pZmVzdCwgInIi
KSBhcyBmOgogICAgICAgICAgICAgICAgZm9yIGwgaW4gZjoKICAgICAgICAgICAgICAgICAgICBs
ID0gbC5zdHJpcCgpCiAgICAgICAgICAgICAgICAgICAgZGVzdCA9IGwucmVwbGFjZShzdGFnaW5n
ZGlyLCAiIikKICAgICAgICAgICAgICAgICAgICBpZiBsLmVuZHN3aXRoKCIvIik6CiAgICAgICAg
ICAgICAgICAgICAgICAgIHN0YWdpbmdfY29weWRpcihsLCBwa2dkYXRhZGlyLCBkZXN0LCBzZWVu
ZGlycykKICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICAg
ICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgIHN0YWdpbmdfY29weWZpbGUobCwgcGtnZGF0
YWRpciwgZGVzdCwgcG9zdGluc3RzLCBzZWVuZGlycykKICAgICAgICAgICAgICAgICAgICBleGNl
cHQgRmlsZUV4aXN0c0Vycm9yOgogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQp9CgoK
cHl0aG9uIHBhY2thZ2VfcHJlcGFyZV9wa2dkYXRhICgpIHsKICAgIGltcG9ydCBjb3B5CiAgICBp
bXBvcnQgZ2xvYgoKICAgIHRhc2tkZXBkYXRhID0gZC5nZXRWYXIoIkJCX1RBU0tERVBEQVRBIiwg
RmFsc2UpCiAgICBteXRhc2tuYW1lID0gZC5nZXRWYXIoIkJCX1JVTlRBU0siKQogICAgaWYgbXl0
YXNrbmFtZS5lbmRzd2l0aCgiX3NldHNjZW5lIik6CiAgICAgICAgbXl0YXNrbmFtZSA9IG15dGFz
a25hbWUucmVwbGFjZSgiX3NldHNjZW5lIiwgIiIpCiAgICB3b3JrZGlyID0gZC5nZXRWYXIoIldP
UktESVIiKQogICAgcG4gPSBkLmdldFZhcigiUE4iKQogICAgc3RhZ2luZ2RpciA9IGQuZ2V0VmFy
KCJQS0dEQVRBX0RJUiIpCiAgICBwa2dkYXRhZGlyID0gZC5nZXRWYXIoIldPUktESVJfUEtHREFU
QSIpCgogICAgIyBEZXRlY3QgYml0YmFrZSAtYiB1c2FnZQogICAgbm9kZXBzID0gZC5nZXRWYXIo
IkJCX0xJTUlURURERVBTIikgb3IgRmFsc2UKICAgIGlmIG5vZGVwczoKICAgICAgICBzdGFnaW5n
X3BhY2thZ2VfcG9wdWxhdGVfcGtnZGF0YV9kaXIocGtnZGF0YWRpciwgZCkKICAgICAgICByZXR1
cm4KCiAgICBzdGFydCA9IE5vbmUKICAgIGNvbmZpZ3VyZWRlcHMgPSBbXQogICAgZm9yIGRlcCBp
biB0YXNrZGVwZGF0YToKICAgICAgICBkYXRhID0gdGFza2RlcGRhdGFbZGVwXQogICAgICAgIGlm
IGRhdGFbMV0gPT0gbXl0YXNrbmFtZSBhbmQgZGF0YVswXSA9PSBwbjoKICAgICAgICAgICAgc3Rh
cnQgPSBkZXAKICAgICAgICAgICAgYnJlYWsKICAgIGlmIHN0YXJ0IGlzIE5vbmU6CiAgICAgICAg
YmIuZmF0YWwoIkNvdWxkbid0IGZpbmQgb3Vyc2VsZiBpbiBCQl9UQVNLREVQREFUQT8iKQoKICAg
ICMgV2UgbmVlZCB0byBmaWd1cmUgb3V0IHdoaWNoIHN5c3Jvb3QgZmlsZXMgd2UgbmVlZCB0byBl
eHBvc2UgdG8gdGhpcyB0YXNrLgogICAgIyBUaGlzIG5lZWRzIHRvIG1hdGNoIHdoYXQgd291bGQg
Z2V0IHJlc3RvcmVkIGZyb20gc3N0YXRlLCB3aGljaCBpcyBjb250cm9sbGVkCiAgICAjIHVsdGlt
YXRlbHkgYnkgY2FsbHMgZnJvbSBiaXRiYWtlIHRvIHNldHNjZW5lX2RlcHZhbGlkKCkuCiAgICAj
IFRoYXQgZnVuY3Rpb24gZXhwZWN0cyBhIHNldHNjZW5lIGRlcGVuZGVuY3kgdHJlZS4gV2UgYnVp
bGQgYSBkZXBlbmRlbmN5IHRyZWUKICAgICMgY29uZGVuc2VkIHRvIGludGVyLXNzdGF0ZSB0YXNr
IGRlcGVuZGVuY2llcywgc2ltaWxhciB0byB0aGF0IHVzZWQgYnkgc2V0c2NlbmUKICAgICMgdGFz
a3MuIFdlIGNhbiB0aGVuIGNhbGwgaW50byBzZXRzY2VuZV9kZXB2YWxpZCgpIGFuZCBkZWNpZGUK
ICAgICMgd2hpY2ggZGVwZW5kZW5jaWVzIHdlIGNhbiAic2VlIiBhbmQgc2hvdWxkIGV4cG9zZSBp
biB0aGUgcmVjaXBlIHNwZWNpZmljIHN5c3Jvb3QuCiAgICBzZXRzY2VuZWRlcHMgPSBjb3B5LmRl
ZXBjb3B5KHRhc2tkZXBkYXRhKQoKICAgIHN0YXJ0ID0gc2V0KFtzdGFydF0pCgogICAgc3N0YXRl
dGFza3MgPSBkLmdldFZhcigiU1NUQVRFVEFTS1MiKS5zcGxpdCgpCiAgICAjIEFkZCByZWNpcGUg
c3BlY2lmaWMgdGFza3MgcmVmZXJlbmNlZCBieSBzZXRzY2VuZV9kZXB2YWxpZCgpCiAgICBzc3Rh
dGV0YXNrcy5hcHBlbmQoImRvX3N0YXNoX2xvY2FsZSIpCgogICAgIyBJZiBzdGFydCBpcyBhbiBz
c3RhdGUgdGFzayAobGlrZSBkb19wYWNrYWdlKSB3ZSBuZWVkIHRvIGFkZCBpbiBpdHMgZGlyZWN0
IGRlcGVuZGVuY2llcwogICAgIyBlbHNlIHRoZSBjb2RlIGJlbG93IHdvbid0IHJlY3Vyc2UgaW50
byB0aGVtLgogICAgZm9yIGRlcCBpbiBzZXQoc3RhcnQpOgogICAgICAgIGZvciBkZXAyIGluIHNl
dHNjZW5lZGVwc1tkZXBdWzNdOgogICAgICAgICAgICBzdGFydC5hZGQoZGVwMikKICAgICAgICBz
dGFydC5yZW1vdmUoZGVwKQoKICAgICMgQ3JlYXRlIGNvbGxhcHNlZCBkb19wb3B1bGF0ZV9zeXNy
b290IC0+IGRvX3BvcHVsYXRlX3N5c3Jvb3QgdHJlZQogICAgZm9yIGRlcCBpbiB0YXNrZGVwZGF0
YToKICAgICAgICBkYXRhID0gc2V0c2NlbmVkZXBzW2RlcF0KICAgICAgICBpZiBkYXRhWzFdIG5v
dCBpbiBzc3RhdGV0YXNrczoKICAgICAgICAgICAgZm9yIGRlcDIgaW4gc2V0c2NlbmVkZXBzOgog
ICAgICAgICAgICAgICAgZGF0YTIgPSBzZXRzY2VuZWRlcHNbZGVwMl0KICAgICAgICAgICAgICAg
IGlmIGRlcCBpbiBkYXRhMlszXToKICAgICAgICAgICAgICAgICAgICBkYXRhMlszXS51cGRhdGUo
c2V0c2NlbmVkZXBzW2RlcF1bM10pCiAgICAgICAgICAgICAgICAgICAgZGF0YTJbM10ucmVtb3Zl
KGRlcCkKICAgICAgICAgICAgaWYgZGVwIGluIHN0YXJ0OgogICAgICAgICAgICAgICAgc3RhcnQu
dXBkYXRlKHNldHNjZW5lZGVwc1tkZXBdWzNdKQogICAgICAgICAgICAgICAgc3RhcnQucmVtb3Zl
KGRlcCkKICAgICAgICAgICAgZGVsIHNldHNjZW5lZGVwc1tkZXBdCgogICAgIyBSZW1vdmUgY2ly
Y3VsYXIgcmVmZXJlbmNlcwogICAgZm9yIGRlcCBpbiBzZXRzY2VuZWRlcHM6CiAgICAgICAgaWYg
ZGVwIGluIHNldHNjZW5lZGVwc1tkZXBdWzNdOgogICAgICAgICAgICBzZXRzY2VuZWRlcHNbZGVw
XVszXS5yZW1vdmUoZGVwKQoKICAgICMgRGlyZWN0IGRlcGVuZGVuY2llcyBzaG91bGQgYmUgcHJl
c2VudCBhbmQgY2FuIGJlIGRlcGVuZGVkIHVwb24KICAgIGZvciBkZXAgaW4gc2V0KHN0YXJ0KToK
ICAgICAgICBpZiBzZXRzY2VuZWRlcHNbZGVwXVsxXSA9PSAiZG9fcGFja2FnZWRhdGEiOgogICAg
ICAgICAgICBpZiBkZXAgbm90IGluIGNvbmZpZ3VyZWRlcHM6CiAgICAgICAgICAgICAgICBjb25m
aWd1cmVkZXBzLmFwcGVuZChkZXApCgogICAgbXNnYnVmID0gW10KICAgICMgQ2FsbCBpbnRvIHNl
dHNjZW5lX2RlcHZhbGlkIGZvciBlYWNoIHN1Yi1kZXBlbmRlbmN5IGFuZCBvbmx5IGNvcHkgc3lz
cm9vdCBmaWxlcwogICAgIyBmb3Igb25lcyB0aGF0IHdvdWxkIGJlIHJlc3RvcmVkIGZyb20gc3N0
YXRlLgogICAgZG9uZSA9IGxpc3Qoc3RhcnQpCiAgICBuZXh0ID0gbGlzdChzdGFydCkKICAgIHdo
aWxlIG5leHQ6CiAgICAgICAgbmV3ID0gW10KICAgICAgICBmb3IgZGVwIGluIG5leHQ6CiAgICAg
ICAgICAgIGRhdGEgPSBzZXRzY2VuZWRlcHNbZGVwXQogICAgICAgICAgICBmb3IgZGF0YWRlcCBp
biBkYXRhWzNdOgogICAgICAgICAgICAgICAgaWYgZGF0YWRlcCBpbiBkb25lOgogICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICB0YXNrZGVwcyA9IHt9CiAgICAgICAg
ICAgICAgICB0YXNrZGVwc1tkZXBdID0gc2V0c2NlbmVkZXBzW2RlcF1bOjJdCiAgICAgICAgICAg
ICAgICB0YXNrZGVwc1tkYXRhZGVwXSA9IHNldHNjZW5lZGVwc1tkYXRhZGVwXVs6Ml0KICAgICAg
ICAgICAgICAgIHJldHZhbCA9IHNldHNjZW5lX2RlcHZhbGlkKGRhdGFkZXAsIHRhc2tkZXBzLCBb
XSwgZCwgbXNnYnVmKQogICAgICAgICAgICAgICAgZG9uZS5hcHBlbmQoZGF0YWRlcCkKICAgICAg
ICAgICAgICAgIG5ldy5hcHBlbmQoZGF0YWRlcCkKICAgICAgICAgICAgICAgIGlmIHJldHZhbDoK
ICAgICAgICAgICAgICAgICAgICBtc2didWYuYXBwZW5kKCJTa2lwcGluZyBzZXRzY2VuZSBkZXBl
bmRlbmN5ICVzIiAlIGRhdGFkZXApCiAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAg
ICAgICAgICAgIGlmIGRhdGFkZXAgbm90IGluIGNvbmZpZ3VyZWRlcHMgYW5kIHNldHNjZW5lZGVw
c1tkYXRhZGVwXVsxXSA9PSAiZG9fcGFja2FnZWRhdGEiOgogICAgICAgICAgICAgICAgICAgIGNv
bmZpZ3VyZWRlcHMuYXBwZW5kKGRhdGFkZXApCiAgICAgICAgICAgICAgICAgICAgbXNnYnVmLmFw
cGVuZCgiQWRkaW5nIGRlcGVuZGVuY3kgb24gJXMiICUgc2V0c2NlbmVkZXBzW2RhdGFkZXBdWzBd
KQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICBtc2didWYuYXBwZW5k
KCJGb2xsb3dpbmcgZGVwZW5kZW5jeSBvbiAlcyIgJSBzZXRzY2VuZWRlcHNbZGF0YWRlcF1bMF0p
CiAgICAgICAgbmV4dCA9IG5ldwoKICAgICMgVGhpcyBsb2dnaW5nIGlzIHRvbyB2ZXJib3NlIGZv
ciBkYXkgdG8gZGF5IHVzZSBzYWRseQogICAgI2JiLmRlYnVnKDIsICJcbiIuam9pbihtc2didWYp
KQoKICAgIHNlZW5kaXJzID0gc2V0KCkKICAgIHBvc3RpbnN0cyA9IFtdCiAgICBtdWx0aWxpYnMg
PSB7fQogICAgbWFuaWZlc3RzID0ge30KCiAgICBtc2dfYWRkaW5nID0gW10KCiAgICBmb3IgZGVw
IGluIGNvbmZpZ3VyZWRlcHM6CiAgICAgICAgYyA9IHNldHNjZW5lZGVwc1tkZXBdWzBdCiAgICAg
ICAgbXNnX2FkZGluZy5hcHBlbmQoYykKCiAgICAgICAgbWFuaWZlc3QsIGQyID0gb2Uuc3N0YXRl
c2lnLmZpbmRfc3N0YXRlX21hbmlmZXN0KGMsIHNldHNjZW5lZGVwc1tkZXBdWzJdLCAicGFja2Fn
ZWRhdGEiLCBkLCBtdWx0aWxpYnMpCiAgICAgICAgZGVzdHN5c3Jvb3QgPSBwa2dkYXRhZGlyCgog
ICAgICAgIGlmIG1hbmlmZXN0OgogICAgICAgICAgICB0YXJnZXRkaXIgPSBkZXN0c3lzcm9vdAog
ICAgICAgICAgICB3aXRoIG9wZW4obWFuaWZlc3QsICJyIikgYXMgZjoKICAgICAgICAgICAgICAg
IG1hbmlmZXN0c1tkZXBdID0gbWFuaWZlc3QKICAgICAgICAgICAgICAgIGZvciBsIGluIGY6CiAg
ICAgICAgICAgICAgICAgICAgbCA9IGwuc3RyaXAoKQogICAgICAgICAgICAgICAgICAgIGRlc3Qg
PSB0YXJnZXRkaXIgKyBsLnJlcGxhY2Uoc3RhZ2luZ2RpciwgIiIpCiAgICAgICAgICAgICAgICAg
ICAgaWYgbC5lbmRzd2l0aCgiLyIpOgogICAgICAgICAgICAgICAgICAgICAgICBzdGFnaW5nX2Nv
cHlkaXIobCwgdGFyZ2V0ZGlyLCBkZXN0LCBzZWVuZGlycykKICAgICAgICAgICAgICAgICAgICAg
ICAgY29udGludWUKICAgICAgICAgICAgICAgICAgICBzdGFnaW5nX2NvcHlmaWxlKGwsIHRhcmdl
dGRpciwgZGVzdCwgcG9zdGluc3RzLCBzZWVuZGlycykKCiAgICBiYi5ub3RlKCJJbnN0YWxsZWQg
aW50byBwa2dkYXRhLXN5c3Jvb3Q6ICVzIiAlIHN0cihtc2dfYWRkaW5nKSkKCn0KCgpweXRob24g
cGFja2FnZV9xYV9hZGRfbWVzc2FnZSAoKSB7CmRlZiBwYWNrYWdlX3FhX2FkZF9tZXNzYWdlKG1l
c3NhZ2VzLCBzZWN0aW9uLCBuZXdfbXNnKToKICAgIGlmIHNlY3Rpb24gbm90IGluIG1lc3NhZ2Vz
OgogICAgICAgIG1lc3NhZ2VzW3NlY3Rpb25dID0gbmV3X21zZwogICAgZWxzZToKICAgICAgICBt
ZXNzYWdlc1tzZWN0aW9uXSA9IG1lc3NhZ2VzW3NlY3Rpb25dICsgIlxuIiArIG5ld19tc2cKfQoK
CnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX2FyY2ggKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19h
cmNoKHBhdGgsbmFtZSxkLCBlbGYsIG1lc3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgaWYgYXJj
aHMgYXJlIGNvbXBhdGlibGUKICAgICIiIgogICAgaW1wb3J0IHJlLCBvZS5lbGYKCiAgICBpZiBu
b3QgZWxmOgogICAgICAgIHJldHVybgoKICAgIHRhcmdldF9vcyAgID0gZC5nZXRWYXIoJ1RBUkdF
VF9PUycpCiAgICB0YXJnZXRfYXJjaCA9IGQuZ2V0VmFyKCdUQVJHRVRfQVJDSCcpCiAgICBwcm92
aWRlcyA9IGQuZ2V0VmFyKCdQUk9WSURFUycpCiAgICBicG4gPSBkLmdldFZhcignQlBOJykKCiAg
ICBpZiB0YXJnZXRfYXJjaCA9PSAiYWxsYXJjaCI6CiAgICAgICAgcG4gPSBkLmdldFZhcignUE4n
KQogICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJhcmNoIiwgcG4gKyAi
OiBSZWNpcGUgaW5oZXJpdHMgdGhlIGFsbGFyY2ggY2xhc3MsIGJ1dCBoYXMgcGFja2FnZWQgYXJj
aGl0ZWN0dXJlLXNwZWNpZmljIGJpbmFyaWVzIikKICAgICAgICByZXR1cm4KCiAgICAjIEZJWE1F
OiBDcm9zcyBwYWNrYWdlIGNvbmZ1c2UgdGhpcyBjaGVjaywgc28ganVzdCBza2lwIHRoZW0KICAg
IGZvciBzIGluIFsnY3Jvc3MnLCAnbmF0aXZlc2RrJywgJ2Nyb3NzLWNhbmFkaWFuJ106CiAgICAg
ICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcyhzLCBkKToKICAgICAgICAgICAgcmV0dXJuCgog
ICAgIyBhdm9pZCBmb2xsb3dpbmcgbGlua3MgdG8gL3Vzci9iaW4gKGUuZy4gb24gdWRldiBidWls
ZHMpCiAgICAjIHdlIHdpbGwgY2hlY2sgdGhlIGZpbGVzIHBvaW50ZWQgdG8gYW55d2F5Li4uCiAg
ICBpZiBvcy5wYXRoLmlzbGluayhwYXRoKToKICAgICAgICByZXR1cm4KCiAgICAjaWYgdGhpcyB3
aWxsIHRocm93IGFuIGV4Y2VwdGlvbiwgdGhlbiBmaXggdGhlIGRpY3QgYWJvdmUKICAgIChtYWNo
aW5lLCBvc2FiaSwgYWJpdmVyc2lvbiwgbGl0dGxlZW5kaWFuLCBiaXRzKSBcCiAgICAgICAgPSBv
ZS5lbGYubWFjaGluZV9kaWN0KGQpW3RhcmdldF9vc11bdGFyZ2V0X2FyY2hdCgogICAgIyBDaGVj
ayB0aGUgYXJjaGl0ZWN0dXJlIGFuZCBlbmRpYW5uZXMgb2YgdGhlIGJpbmFyeQogICAgaXNfMzIg
PSAoKCJ2aXJ0dWFsL2tlcm5lbCIgaW4gcHJvdmlkZXMpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xh
c3MoIm1vZHVsZSIsIGQpKSBhbmQgXAogICAgICAgICAgICAodGFyZ2V0X29zID09ICJsaW51eC1n
bnV4MzIiIG9yIHRhcmdldF9vcyA9PSAibGludXgtbXVzbHgzMiIgb3IgXAogICAgICAgICAgICB0
YXJnZXRfb3MgPT0gImxpbnV4LWdudV9pbHAzMiIgb3IgcmUubWF0Y2gocidtaXBzNjQuKjMyJywg
ZC5nZXRWYXIoJ0RFRkFVTFRUVU5FJykpKQogICAgaXNfYnBmID0gKG9lLnFhLmVsZl9tYWNoaW5l
X3RvX3N0cmluZyhlbGYubWFjaGluZSgpKSA9PSAiQlBGIikKICAgIGlmIG5vdCAoKG1hY2hpbmUg
PT0gZWxmLm1hY2hpbmUoKSkgb3IgaXNfMzIgb3IgaXNfYnBmKToKICAgICAgICBwYWNrYWdlX3Fh
X2FkZF9tZXNzYWdlKG1lc3NhZ2VzLCAiYXJjaCIsICJBcmNoaXRlY3R1cmUgZGlkIG5vdCBtYXRj
aCAoJXMsIGV4cGVjdGVkICVzKSBvbiAlcyIgJSBcCiAgICAgICAgICAgICAgICAgKG9lLnFhLmVs
Zl9tYWNoaW5lX3RvX3N0cmluZyhlbGYubWFjaGluZSgpKSwgb2UucWEuZWxmX21hY2hpbmVfdG9f
c3RyaW5nKG1hY2hpbmUpLCBwYWNrYWdlX3FhX2NsZWFuX3BhdGgocGF0aCxkKSkpCiAgICBlbGlm
IG5vdCAoKGJpdHMgPT0gZWxmLmFiaVNpemUoKSkgb3IgaXNfMzIgb3IgaXNfYnBmKToKICAgICAg
ICBwYWNrYWdlX3FhX2FkZF9tZXNzYWdlKG1lc3NhZ2VzLCAiYXJjaCIsICJCaXQgc2l6ZSBkaWQg
bm90IG1hdGNoICglZCB0byAlZCkgJXMgb24gJXMiICUgXAogICAgICAgICAgICAgICAgIChiaXRz
LCBlbGYuYWJpU2l6ZSgpLCBicG4sIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKICAg
IGVsaWYgbm90ICgobGl0dGxlZW5kaWFuID09IGVsZi5pc0xpdHRsZUVuZGlhbigpKSBvciBpc19i
cGYpOgogICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJhcmNoIiwgIkVu
ZGlhbm5lcyBkaWQgbm90IG1hdGNoICglZCB0byAlZCkgb24gJXMiICUgXAogICAgICAgICAgICAg
ICAgIChsaXR0bGVlbmRpYW4sIGVsZi5pc0xpdHRsZUVuZGlhbigpLCBwYWNrYWdlX3FhX2NsZWFu
X3BhdGgocGF0aCxkKSkpCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19idWlsZHBhdGhzICgp
IHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfYnVpbGRwYXRocyhwYXRoLCBuYW1lLCBkLCBlbGYsIG1l
c3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgZm9yIGJ1aWxkIHBhdGhzIGluc2lkZSB0YXJnZXQg
ZmlsZXMgYW5kIGVycm9yIGlmIG5vdCBmb3VuZCBpbiB0aGUgd2hpdGVsaXN0CiAgICAiIiIKICAg
ICMgSWdub3JlIC5kZWJ1ZyBmaWxlcywgbm90IGludGVyZXN0aW5nCiAgICBpZiBwYXRoLmZpbmQo
Ii5kZWJ1ZyIpICE9IC0xOgogICAgICAgIHJldHVybgoKICAgICMgSWdub3JlIHN5bWxpbmtzCiAg
ICBpZiBvcy5wYXRoLmlzbGluayhwYXRoKToKICAgICAgICByZXR1cm4KCiAgICAjIElnbm9yZSBp
cGsgYW5kIGRlYidzIENPTlRST0wgZGlyCiAgICBpZiBwYXRoLmZpbmQobmFtZSArICIvQ09OVFJP
TC8iKSAhPSAtMSBvciBwYXRoLmZpbmQobmFtZSArICIvREVCSUFOLyIpICE9IC0xOgogICAgICAg
IHJldHVybgoKICAgIHRtcGRpciA9IGJ5dGVzKGQuZ2V0VmFyKCdUTVBESVInKSwgZW5jb2Rpbmc9
InV0Zi04IikKICAgIHdpdGggb3BlbihwYXRoLCAncmInKSBhcyBmOgogICAgICAgIGZpbGVfY29u
dGVudCA9IGYucmVhZCgpCiAgICAgICAgaWYgdG1wZGlyIGluIGZpbGVfY29udGVudDoKICAgICAg
ICAgICAgdHJpbW1lZCA9IHBhdGgucmVwbGFjZShvcy5wYXRoLmpvaW4gKGQuZ2V0VmFyKCJQS0dE
RVNUIiksIG5hbWUpLCAiIikKICAgICAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNz
YWdlcywgImJ1aWxkcGF0aHMiLCAiRmlsZSAlcyBpbiBwYWNrYWdlICVzIGNvbnRhaW5zIHJlZmVy
ZW5jZSB0byBUTVBESVIiICUgKHRyaW1tZWQsIG5hbWUpKQoKfQoKCnB5dGhvbiBwYWNrYWdlX3Fh
X2NoZWNrX2RiZyAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX2RiZyhwYXRoLCBuYW1lLCBkLCBl
bGYsIG1lc3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgZm9yICIuZGVidWciIGZpbGVzIG9yIGRp
cmVjdG9yaWVzIG91dHNpZGUgb2YgdGhlIGRiZyBwYWNrYWdlCiAgICAiIiIKCiAgICBpZiBub3Qg
Ii1kYmciIGluIG5hbWUgYW5kIG5vdCAiLXB0ZXN0IiBpbiBuYW1lOgogICAgICAgIGlmICcuZGVi
dWcnIGluIHBhdGguc3BsaXQob3MucGF0aC5zZXApOgogICAgICAgICAgICBwYWNrYWdlX3FhX2Fk
ZF9tZXNzYWdlKG1lc3NhZ2VzLCAiZGVidWctZmlsZXMiLCAibm9uIGRlYnVnIHBhY2thZ2UgY29u
dGFpbnMgLmRlYnVnIGRpcmVjdG9yeTogJXMgcGF0aCAlcyIgJSBcCiAgICAgICAgICAgICAgICAg
ICAgIChuYW1lLCBwYWNrYWdlX3FhX2NsZWFuX3BhdGgocGF0aCxkKSkpCn0KCgpweXRob24gcGFj
a2FnZV9xYV9jaGVja19kZXBzICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfZGVwcyhwa2csIHBr
Z2Rlc3QsIGQpOgoKICAgIGxvY2FsZGF0YSA9IGJiLmRhdGEuY3JlYXRlQ29weShkKQogICAgbG9j
YWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgcGtnKQoKICAgIGRlZiBjaGVja192YWxpZF9kZXBz
KHZhcik6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBydmFyID0gYmIudXRpbHMuZXhwbG9kZV9k
ZXBfdmVyc2lvbnMyKGxvY2FsZGF0YS5nZXRWYXIodmFyKSBvciAiIikKICAgICAgICBleGNlcHQg
VmFsdWVFcnJvciBhcyBlOgogICAgICAgICAgICBiYi5mYXRhbCgiJXNfJXM6ICVzIiAlICh2YXIs
IHBrZywgZSkpCiAgICAgICAgZm9yIGRlcCBpbiBydmFyOgogICAgICAgICAgICBmb3IgdiBpbiBy
dmFyW2RlcF06CiAgICAgICAgICAgICAgICBpZiB2IGFuZCBub3Qgdi5zdGFydHN3aXRoKCgnPCAn
LCAnPSAnLCAnPiAnLCAnPD0gJywgJz49JykpOgogICAgICAgICAgICAgICAgICAgIGVycm9yX21z
ZyA9ICIlc18lcyBpcyBpbnZhbGlkOiAlcyAoJXMpICAgb25seSBjb21wYXJpc29ucyA8LCA9LCA+
LCA8PSwgYW5kID49IGFyZSBhbGxvd2VkIiAlICh2YXIsIHBrZywgZGVwLCB2KQogICAgICAgICAg
ICAgICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJkZXAtY21wIiwgZXJyb3JfbXNnLCBk
KQoKICAgIGNoZWNrX3ZhbGlkX2RlcHMoJ1JERVBFTkRTJykKICAgIGNoZWNrX3ZhbGlkX2RlcHMo
J1JSRUNPTU1FTkRTJykKICAgIGNoZWNrX3ZhbGlkX2RlcHMoJ1JTVUdHRVNUUycpCiAgICBjaGVj
a192YWxpZF9kZXBzKCdSUFJPVklERVMnKQogICAgY2hlY2tfdmFsaWRfZGVwcygnUlJFUExBQ0VT
JykKICAgIGNoZWNrX3ZhbGlkX2RlcHMoJ1JDT05GTElDVFMnKQp9CgoKcHl0aG9uIHBhY2thZ2Vf
cWFfY2hlY2tfZGVza3RvcCAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX2Rlc2t0b3AocGF0aCwg
bmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIFJ1biBhbGwgZGVza3RvcCBmaWxl
cyB0aHJvdWdoIGRlc2t0b3AtZmlsZS12YWxpZGF0ZS4KICAgICIiIgogICAgaWYgcGF0aC5lbmRz
d2l0aCgiLmRlc2t0b3AiKToKICAgICAgICBkZXNrdG9wX2ZpbGVfdmFsaWRhdGUgPSBvcy5wYXRo
LmpvaW4oZC5nZXRWYXIoJ1NUQUdJTkdfQklORElSX05BVElWRScpLCdkZXNrdG9wLWZpbGUtdmFs
aWRhdGUnKQogICAgICAgIG91dHB1dCA9IG9zLnBvcGVuKCIlcyAlcyIgJSAoZGVza3RvcF9maWxl
X3ZhbGlkYXRlLCBwYXRoKSkKICAgICAgICAjIFRoaXMgb25seSBwcm9kdWNlcyBvdXRwdXQgb24g
ZXJyb3JzCiAgICAgICAgZm9yIGwgaW4gb3V0cHV0OgogICAgICAgICAgICBwYWNrYWdlX3FhX2Fk
ZF9tZXNzYWdlKG1lc3NhZ2VzLCAiZGVza3RvcCIsICJEZXNrdG9wIGZpbGUgaXNzdWU6ICIgKyBs
LnN0cmlwKCkpCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19kZXYgKCkgewpkZWYgcGFja2Fn
ZV9xYV9jaGVja19kZXYocGF0aCwgbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIKICAg
IENoZWNrIGZvciAiLnNvIiBsaWJyYXJ5IHN5bWxpbmtzIGluIG5vbi1kZXYgcGFja2FnZXMKICAg
ICIiIgoKICAgIGlmIG5vdCBuYW1lLmVuZHN3aXRoKCItZGV2IikgYW5kIG5vdCBuYW1lLmVuZHN3
aXRoKCItZGJnIikgYW5kIG5vdCBuYW1lLmVuZHN3aXRoKCItcHRlc3QiKSBhbmQgbm90IG5hbWUu
c3RhcnRzd2l0aCgibmF0aXZlc2RrLSIpIGFuZCBwYXRoLmVuZHN3aXRoKCIuc28iKSBhbmQgb3Mu
cGF0aC5pc2xpbmsocGF0aCk6CiAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdl
cywgImRldi1zbyIsICJub24gLWRldi8tZGJnL25hdGl2ZXNkay0gcGFja2FnZSBjb250YWlucyBz
eW1saW5rIC5zbzogJXMgcGF0aCAnJXMnIiAlIFwKICAgICAgICAgICAgICAgICAobmFtZSwgcGFj
a2FnZV9xYV9jbGVhbl9wYXRoKHBhdGgsZCkpKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfY2hlY2tf
ZGV2X2VsZiAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX2Rldl9lbGYocGF0aCwgbmFtZSwgZCwg
ZWxmLCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENoZWNrIHRoYXQgLWRldiBkb2Vzbid0IGNvbnRh
aW4gcmVhbCBzaGFyZWQgbGlicmFyaWVzLiAgVGhlIHRlc3QgaGFzIHRvCiAgICBjaGVjayB0aGF0
IHRoZSBmaWxlIGlzIG5vdCBhIGxpbmsgYW5kIGlzIGFuIEVMRiBvYmplY3QgYXMgc29tZSByZWNp
cGVzCiAgICBpbnN0YWxsIGxpbmstdGltZSAuc28gZmlsZXMgdGhhdCBhcmUgbGlua2VyIHNjcmlw
dHMuCiAgICAiIiIKICAgIGlmIG5hbWUuZW5kc3dpdGgoIi1kZXYiKSBhbmQgcGF0aC5lbmRzd2l0
aCgiLnNvIikgYW5kIG5vdCBvcy5wYXRoLmlzbGluayhwYXRoKSBhbmQgZWxmOgogICAgICAgIHBh
Y2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJkZXYtZWxmIiwgIi1kZXYgcGFja2FnZSBj
b250YWlucyBub24tc3ltbGluayAuc286ICVzIHBhdGggJyVzJyIgJSBcCiAgICAgICAgICAgICAg
ICAgKG5hbWUsIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKfQoKCnB5dGhvbiBwYWNr
YWdlX3FhX2NoZWNrX2VuY29kaW5nICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfZW5jb2Rpbmco
a2V5cywgZW5jb2RlLCBkKToKICAgIGRlZiBjaGVja19lbmNvZGluZyhrZXksIGVuYyk6CiAgICAg
ICAgc2FuZSA9IFRydWUKICAgICAgICB2YWx1ZSA9IGQuZ2V0VmFyKGtleSkKICAgICAgICBpZiB2
YWx1ZToKICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgcyA9IHZhbHVlLmVuY29kZShl
bmMpCiAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3IgYXMgZToKICAgICAgICAg
ICAgICAgIGVycm9yX21zZyA9ICIlcyBoYXMgbm9uICVzIGNoYXJhY3RlcnMiICUgKGtleSxlbmMp
CiAgICAgICAgICAgICAgICBzYW5lID0gRmFsc2UKICAgICAgICAgICAgICAgIHBhY2thZ2VfcWFf
aGFuZGxlX2Vycm9yKCJpbnZhbGlkLWNoYXJzIiwgZXJyb3JfbXNnLCBkKQogICAgICAgIHJldHVy
biBzYW5lCgogICAgZm9yIGtleSBpbiBrZXlzOgogICAgICAgIHNhbmUgPSBjaGVja19lbmNvZGlu
ZyhrZXksIGVuY29kZSkKICAgICAgICBpZiBub3Qgc2FuZToKICAgICAgICAgICAgYnJlYWsKfQoK
CnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX2V4cGFuZGVkX2QgKCkgewpkZWYgcGFja2FnZV9xYV9j
aGVja19leHBhbmRlZF9kKHBhY2thZ2UsIGQsIG1lc3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sg
Zm9yIHRoZSBleHBhbmRlZCBEICgke0R9KSB2YWx1ZSBpbiBwa2dfKiBhbmQgRklMRVMKICAgIHZh
cmlhYmxlcywgd2FybiB0aGUgdXNlciB0byB1c2UgaXQgY29ycmVjdGx5LgogICAgIiIiCiAgICBz
YW5lID0gVHJ1ZQogICAgZXhwYW5kZWRfZCA9IGQuZ2V0VmFyKCdEJykKCiAgICBmb3IgdmFyIGlu
ICdGSUxFUycsJ3BrZ19wcmVpbnN0JywgJ3BrZ19wb3N0aW5zdCcsICdwa2dfcHJlcm0nLCAncGtn
X3Bvc3RybSc6CiAgICAgICAgYmJ2YXIgPSBkLmdldFZhcih2YXIgKyAiXyIgKyBwYWNrYWdlKSBv
ciAiIgogICAgICAgIGlmIGV4cGFuZGVkX2QgaW4gYmJ2YXI6CiAgICAgICAgICAgIGlmIHZhciA9
PSAnRklMRVMnOgogICAgICAgICAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdl
cywgImV4cGFuZGVkLWQiLCAiRklMRVMgaW4gJXMgcmVjaXBlIHNob3VsZCBub3QgY29udGFpbiB0
aGUgJHtEfSB2YXJpYWJsZSBhcyBpdCByZWZlcmVuY2VzIHRoZSBsb2NhbCBidWlsZCBkaXJlY3Rv
cnkgbm90IHRoZSB0YXJnZXQgZmlsZXN5c3RlbSwgYmVzdCBzb2x1dGlvbiBpcyB0byByZW1vdmUg
dGhlICR7RH0gcmVmZXJlbmNlIiAlIHBhY2thZ2UpCiAgICAgICAgICAgICAgICBzYW5lID0gRmFs
c2UKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3Nh
Z2UobWVzc2FnZXMsICJleHBhbmRlZC1kIiwgIiVzIGluICVzIHJlY2lwZSBjb250YWlucyAke0R9
LCBpdCBzaG91bGQgYmUgcmVwbGFjZWQgYnkgJEQgaW5zdGVhZCIgJSAodmFyLCBwYWNrYWdlKSkK
ICAgICAgICAgICAgICAgIHNhbmUgPSBGYWxzZQogICAgcmV0dXJuIHNhbmUKfQoKCnB5dGhvbiBw
YWNrYWdlX3FhX2NoZWNrX2hvc3RfdXNlciAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX2hvc3Rf
dXNlcihwYXRoLCBuYW1lLCBkLCBlbGYsIG1lc3NhZ2VzKToKICAgICIiIkNoZWNrIGZvciBwYXRo
cyBvdXRzaWRlIG9mIC9ob21lIHdoaWNoIGFyZSBvd25lZCBieSB0aGUgdXNlciBydW5uaW5nIGJp
dGJha2UuIiIiCgogICAgaWYgbm90IG9zLnBhdGgubGV4aXN0cyhwYXRoKToKICAgICAgICByZXR1
cm4KCiAgICBkZXN0ID0gZC5nZXRWYXIoJ1BLR0RFU1QnKQogICAgcG4gPSBkLmdldFZhcignUE4n
KQogICAgaG9tZSA9IG9zLnBhdGguam9pbihkZXN0LCAnaG9tZScpCiAgICBpZiBwYXRoID09IGhv
bWUgb3IgcGF0aC5zdGFydHN3aXRoKGhvbWUgKyBvcy5zZXApOgogICAgICAgIHJldHVybgoKICAg
IHRyeToKICAgICAgICBzdGF0ID0gb3MubHN0YXQocGF0aCkKICAgIGV4Y2VwdCBPU0Vycm9yIGFz
IGV4YzoKICAgICAgICBpbXBvcnQgZXJybm8KICAgICAgICBpZiBleGMuZXJybm8gIT0gZXJybm8u
RU5PRU5UOgogICAgICAgICAgICByYWlzZQogICAgZWxzZToKICAgICAgICBjaGVja191aWQgPSBp
bnQoZC5nZXRWYXIoJ0hPU1RfVVNFUl9VSUQnKSkKICAgICAgICBpZiBzdGF0LnN0X3VpZCA9PSBj
aGVja191aWQ6CiAgICAgICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJo
b3N0LXVzZXItY29udGFtaW5hdGVkIiwgIiVzOiAlcyBpcyBvd25lZCBieSB1aWQgJWQsIHdoaWNo
IGlzIHRoZSBzYW1lIGFzIHRoZSB1c2VyIHJ1bm5pbmcgYml0YmFrZS4gVGhpcyBtYXkgYmUgZHVl
IHRvIGhvc3QgY29udGFtaW5hdGlvbiIgJSAocG4sIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRo
LCBkLCBuYW1lKSwgY2hlY2tfdWlkKSkKICAgICAgICAgICAgcmV0dXJuIEZhbHNlCgogICAgICAg
IGNoZWNrX2dpZCA9IGludChkLmdldFZhcignSE9TVF9VU0VSX0dJRCcpKQogICAgICAgIGlmIHN0
YXQuc3RfZ2lkID09IGNoZWNrX2dpZDoKICAgICAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2Fn
ZShtZXNzYWdlcywgImhvc3QtdXNlci1jb250YW1pbmF0ZWQiLCAiJXM6ICVzIGlzIG93bmVkIGJ5
IGdpZCAlZCwgd2hpY2ggaXMgdGhlIHNhbWUgYXMgdGhlIHVzZXIgcnVubmluZyBiaXRiYWtlLiBU
aGlzIG1heSBiZSBkdWUgdG8gaG9zdCBjb250YW1pbmF0aW9uIiAlIChwbiwgcGFja2FnZV9xYV9j
bGVhbl9wYXRoKHBhdGgsIGQsIG5hbWUpLCBjaGVja19naWQpKQogICAgICAgICAgICByZXR1cm4g
RmFsc2UKICAgIHJldHVybiBUcnVlCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja19pbmZvZGly
ICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfaW5mb2RpcihwYXRoLCBuYW1lLCBkLCBlbGYsIG1l
c3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgdGhhdCAvdXNyL3NoYXJlL2luZm8vZGlyIGlzbid0
IHNoaXBwZWQgaW4gYSBwYXJ0aWN1bGFyIHBhY2thZ2UKICAgICIiIgogICAgaW5mb2RpciA9IGQu
ZXhwYW5kKCIke2luZm9kaXJ9L2RpciIpCgogICAgaWYgaW5mb2RpciBpbiBwYXRoOgogICAgICAg
IHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJpbmZvZGlyIiwgIlRoZSAvdXNyL3No
YXJlL2luZm8vZGlyIGZpbGUgaXMgbm90IG1lYW50IHRvIGJlIHNoaXBwZWQgaW4gYSBwYXJ0aWN1
bGFyIHBhY2thZ2UuIikKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX2xpYmRpciAoKSB7CmRl
ZiBwYWNrYWdlX3FhX2NoZWNrX2xpYmRpcihkKToKICAgICIiIgogICAgQ2hlY2sgZm9yIHdyb25n
IGxpYnJhcnkgaW5zdGFsbGF0aW9uIHBhdGhzLiBGb3IgaW5zdGFuY2UsIGNhdGNoCiAgICByZWNp
cGVzIGluc3RhbGxpbmcgL2xpYi9iYXIuc28gd2hlbiAke2Jhc2VfbGliZGlyfT0ibGliMzIiIG9y
CiAgICBpbnN0YWxsaW5nIGluIC91c3IvbGliNjQgd2hlbiAke2xpYmRpcn09Ii91c3IvbGliIgog
ICAgIiIiCiAgICBpbXBvcnQgcmUKCiAgICBwa2dkZXN0ID0gZC5nZXRWYXIoJ1BLR0RFU1QnKQog
ICAgYmFzZV9saWJkaXIgPSBkLmdldFZhcigiYmFzZV9saWJkaXIiKSArIG9zLnNlcAogICAgbGli
ZGlyID0gZC5nZXRWYXIoImxpYmRpciIpICsgb3Muc2VwCiAgICBsaWJleGVjZGlyID0gZC5nZXRW
YXIoImxpYmV4ZWNkaXIiKSArIG9zLnNlcAogICAgZXhlY19wcmVmaXggPSBkLmdldFZhcigiZXhl
Y19wcmVmaXgiKSArIG9zLnNlcAoKICAgIG1lc3NhZ2VzID0gW10KCiAgICAjIFRoZSByZSdzIGFy
ZSBwdXJwb3NlbHkgZnV6enksIGFzIHNvbWUgdGhlcmUgYXJlIHNvbWUgLnNvLngueS56IGZpbGVz
CiAgICAjIHRoYXQgZG9uJ3QgZm9sbG93IHRoZSBzdGFuZGFyZCBuYW1pbmcgY29udmVudGlvbi4g
SXQgY2hlY2tzIGxhdGVyCiAgICAjIHRoYXQgdGhleSBhcmUgYWN0dWFsIEVMRiBmaWxlcwogICAg
bGliX3JlID0gcmUuY29tcGlsZShyIl4vbGliLitcLnNvKFwuLispPyQiKQogICAgZXhlY19yZSA9
IHJlLmNvbXBpbGUociJeJXMuKi9saWIuK1wuc28oXC4uKyk/JCIgJSBleGVjX3ByZWZpeCkKCiAg
ICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2Fsayhwa2dkZXN0KToKICAgICAgICBpZiBy
b290ID09IHBrZ2Rlc3Q6CiAgICAgICAgICAgICMgU2tpcCBzdWJkaXJlY3RvcmllcyBmb3IgYW55
IHBhY2thZ2VzIHdpdGggbGliZGlyIGluIElOU0FORV9TS0lQCiAgICAgICAgICAgIHNraXBwYWNr
YWdlcyA9IFtdCiAgICAgICAgICAgIGZvciBwYWNrYWdlIGluIGRpcnM6CiAgICAgICAgICAgICAg
ICBpZiAnbGliZGlyJyBpbiAoZC5nZXRWYXIoJ0lOU0FORV9TS0lQXycgKyBwYWNrYWdlKSBvciAi
Iikuc3BsaXQoKToKICAgICAgICAgICAgICAgICAgICBiYi5ub3RlKCJQYWNrYWdlICVzIHNraXBw
aW5nIGxpYmRpciBRQSB0ZXN0IiAlIChwYWNrYWdlKSkKICAgICAgICAgICAgICAgICAgICBza2lw
cGFja2FnZXMuYXBwZW5kKHBhY2thZ2UpCiAgICAgICAgICAgICAgICBlbGlmIGQuZ2V0VmFyKCdQ
QUNLQUdFX0RFQlVHX1NQTElUX1NUWUxFJykgPT0gJ2RlYnVnLWZpbGUtZGlyZWN0b3J5JyBhbmQg
cGFja2FnZS5lbmRzd2l0aCgiLWRiZyIpOgogICAgICAgICAgICAgICAgICAgIGJiLm5vdGUoIlBh
Y2thZ2UgJXMgc2tpcHBpbmcgbGliZGlyIFFBIHRlc3QgZm9yIFBBQ0tBR0VfREVCVUdfU1BMSVRf
U1RZTEUgZXF1YWxzIGRlYnVnLWZpbGUtZGlyZWN0b3J5IiAlIChwYWNrYWdlKSkKICAgICAgICAg
ICAgICAgICAgICBza2lwcGFja2FnZXMuYXBwZW5kKHBhY2thZ2UpCiAgICAgICAgICAgIGZvciBw
YWNrYWdlIGluIHNraXBwYWNrYWdlczoKICAgICAgICAgICAgICAgIGRpcnMucmVtb3ZlKHBhY2th
Z2UpCiAgICAgICAgZm9yIGZpbGUgaW4gZmlsZXM6CiAgICAgICAgICAgIGZ1bGxfcGF0aCA9IG9z
LnBhdGguam9pbihyb290LCBmaWxlKQogICAgICAgICAgICByZWxfcGF0aCA9IG9zLnBhdGgucmVs
cGF0aChmdWxsX3BhdGgsIHBrZ2Rlc3QpCiAgICAgICAgICAgIGlmIG9zLnNlcCBpbiByZWxfcGF0
aDoKICAgICAgICAgICAgICAgIHBhY2thZ2UsIHJlbF9wYXRoID0gcmVsX3BhdGguc3BsaXQob3Mu
c2VwLCAxKQogICAgICAgICAgICAgICAgcmVsX3BhdGggPSBvcy5zZXAgKyByZWxfcGF0aAogICAg
ICAgICAgICAgICAgaWYgbGliX3JlLm1hdGNoKHJlbF9wYXRoKToKICAgICAgICAgICAgICAgICAg
ICBpZiBiYXNlX2xpYmRpciBub3QgaW4gcmVsX3BhdGg6CiAgICAgICAgICAgICAgICAgICAgICAg
ICMgbWFrZSBzdXJlIGl0J3MgYW4gYWN0dWFsIEVMRiBmaWxlCiAgICAgICAgICAgICAgICAgICAg
ICAgIGVsZiA9IG9lLnFhLkVMRkZpbGUoZnVsbF9wYXRoKQogICAgICAgICAgICAgICAgICAgICAg
ICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGYub3BlbigpCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBtZXNzYWdlcy5hcHBlbmQoIiVzOiBmb3VuZCBsaWJyYXJ5IGluIHdy
b25nIGxvY2F0aW9uOiAlcyIgJSAocGFja2FnZSwgcmVsX3BhdGgpKQogICAgICAgICAgICAgICAg
ICAgICAgICBleGNlcHQgKG9lLnFhLk5vdEVMRkZpbGVFcnJvcik6CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICAgICBpZiBleGVjX3JlLm1hdGNoKHJlbF9wYXRo
KToKICAgICAgICAgICAgICAgICAgICBpZiBsaWJkaXIgbm90IGluIHJlbF9wYXRoIGFuZCBsaWJl
eGVjZGlyIG5vdCBpbiByZWxfcGF0aDoKICAgICAgICAgICAgICAgICAgICAgICAgIyBtYWtlIHN1
cmUgaXQncyBhbiBhY3R1YWwgRUxGIGZpbGUKICAgICAgICAgICAgICAgICAgICAgICAgZWxmID0g
b2UucWEuRUxGRmlsZShmdWxsX3BhdGgpCiAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGVsZi5vcGVuKCkKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1lc3NhZ2VzLmFwcGVuZCgiJXM6IGZvdW5kIGxpYnJhcnkgaW4gd3JvbmcgbG9jYXRp
b246ICVzIiAlIChwYWNrYWdlLCByZWxfcGF0aCkpCiAgICAgICAgICAgICAgICAgICAgICAgIGV4
Y2VwdCAob2UucWEuTm90RUxGRmlsZUVycm9yKToKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBhc3MKCiAgICBpZiBtZXNzYWdlczoKICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigi
bGliZGlyIiwgIlxuIi5qb2luKG1lc3NhZ2VzKSwgZCkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2No
ZWNrX2xpYmV4ZWMgKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19saWJleGVjKHBhdGgsbmFtZSwg
ZCwgZWxmLCBtZXNzYWdlcyk6CgogICAgIyBTa2lwIHRoZSBjYXNlIHdoZXJlIHRoZSBkZWZhdWx0
IGlzIGV4cGxpY2l0bHkgL3Vzci9saWJleGVjCiAgICBsaWJleGVjID0gZC5nZXRWYXIoJ2xpYmV4
ZWNkaXInKQogICAgaWYgbGliZXhlYyA9PSAiL3Vzci9saWJleGVjIjoKICAgICAgICByZXR1cm4g
VHJ1ZQoKICAgIGlmICdsaWJleGVjJyBpbiBwYXRoLnNwbGl0KG9zLnBhdGguc2VwKToKICAgICAg
ICBwYWNrYWdlX3FhX2FkZF9tZXNzYWdlKG1lc3NhZ2VzLCAibGliZXhlYyIsICIlczogJXMgaXMg
dXNpbmcgbGliZXhlYyBwbGVhc2UgcmVsb2NhdGUgdG8gJXMiICUgKG5hbWUsIHBhY2thZ2VfcWFf
Y2xlYW5fcGF0aChwYXRoLCBkKSwgbGliZXhlYykpCiAgICAgICAgcmV0dXJuIEZhbHNlCgogICAg
cmV0dXJuIFRydWUKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX3Blcmxsb2NhbHBvZCAoKSB7
CmRlZiBwYWNrYWdlX3FhX2NoZWNrX3Blcmxsb2NhbHBvZChwa2csIGQsIG1lc3NhZ2VzKToKICAg
ICIiIgogICAgQ2hlY2sgdGhhdCB0aGUgcmVjaXBlIGRpZG4ndCBzaGlwIGEgcGVybG9jYWwucG9k
IGZpbGUsIHdoaWNoIHNob3VsZG4ndCBiZQogICAgaW5zdGFsbGVkIGluIGEgZGlzdHJpYnV0aW9u
IHBhY2thZ2UuICBjcGFuLmJiY2xhc3Mgc2V0cyBOT19QRVJMTE9DQUw9MSB0bwogICAgaGFuZGxl
IHRoaXMgZm9yIG1vc3QgcmVjaXBlcy4KICAgICIiIgogICAgaW1wb3J0IGdsb2IKICAgIHBrZ2Qg
PSBvZS5wYXRoLmpvaW4oZC5nZXRWYXIoJ1BLR0RFU1QnKSwgcGtnKQogICAgcG9kcGF0aCA9IG9l
LnBhdGguam9pbihwa2dkLCBkLmdldFZhcigibGliZGlyIiksICJwZXJsKiIsICIqIiwgIioiLCAi
cGVybGxvY2FsLnBvZCIpCgogICAgbWF0Y2hlcyA9IGdsb2IuZ2xvYihwb2RwYXRoKQogICAgaWYg
bWF0Y2hlczoKICAgICAgICBtYXRjaGVzID0gW3BhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLCBk
LCBwa2cpIGZvciBwYXRoIGluIG1hdGNoZXNdCiAgICAgICAgbXNnID0gIiVzIGNvbnRhaW5zIHBl
cmxsb2NhbC5wb2QgKCVzKSwgc2hvdWxkIG5vdCBiZSBpbnN0YWxsZWQiICUgKHBrZywgIiAiLmpv
aW4obWF0Y2hlcykpCiAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdlcywgInBl
cmxsb2NhbHBvZCIsIG1zZykKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX3JkZXBlbmRzICgp
IHsKZGVmIHBhY2thZ2VfcWFfY2hlY2tfcmRlcGVuZHMocGtnLCBwa2dkZXN0LCBza2lwLCB0YXNr
ZGVwcywgcGFja2FnZXMsIGQpOgogICAgIyBEb24ndCBkbyB0aGlzIGNoZWNrIGZvciBrZXJuZWwv
bW9kdWxlIHJlY2lwZXMsIHRoZXJlIGFyZW4ndCB0b28gbWFueSBkZWJ1Zy9kZXZlbG9wbWVudAog
ICAgIyBwYWNrYWdlcyBhbmQgeW91IGNhbiBnZXQgZmFsc2UgcG9zaXRpdmVzIGUuZy4gb24ga2Vy
bmVsLW1vZHVsZS1saXJjLWRldgogICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygia2VybmVs
IiwgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygibW9kdWxlLWJhc2UiLCBkKToKICAgICAg
ICByZXR1cm4KCiAgICBpZiBub3QgIi1kYmciIGluIHBrZyBhbmQgbm90ICJwYWNrYWdlZ3JvdXAt
IiBpbiBwa2cgYW5kIG5vdCAiLWltYWdlIiBpbiBwa2c6CiAgICAgICAgbG9jYWxkYXRhID0gYmIu
ZGF0YS5jcmVhdGVDb3B5KGQpCiAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywg
bG9jYWxkYXRhLmdldFZhcignT1ZFUlJJREVTJykgKyAnOicgKyBwa2cpCgogICAgICAgICMgTm93
IGNoZWNrIHRoZSBSREVQRU5EUwogICAgICAgIHJkZXBlbmRzID0gYmIudXRpbHMuZXhwbG9kZV9k
ZXBzKGxvY2FsZGF0YS5nZXRWYXIoJ1JERVBFTkRTJykgb3IgIiIpCgogICAgICAgICMgTm93IGRv
IHRoZSBzYW5pdHkgY2hlY2shISEKICAgICAgICBpZiAiYnVpbGQtZGVwcyIgbm90IGluIHNraXA6
CiAgICAgICAgICAgIGZvciByZGVwZW5kIGluIHJkZXBlbmRzOgogICAgICAgICAgICAgICAgaWYg
Ii1kYmciIGluIHJkZXBlbmQgYW5kICJkZWJ1Zy1kZXBzIiBub3QgaW4gc2tpcDoKICAgICAgICAg
ICAgICAgICAgICBlcnJvcl9tc2cgPSAiJXMgcmRlcGVuZHMgb24gJXMiICUgKHBrZyxyZGVwZW5k
KQogICAgICAgICAgICAgICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJkZWJ1Zy1kZXBz
IiwgZXJyb3JfbXNnLCBkKQogICAgICAgICAgICAgICAgaWYgKG5vdCAiLWRldiIgaW4gcGtnIGFu
ZCBub3QgIi1zdGF0aWNkZXYiIGluIHBrZykgYW5kIHJkZXBlbmQuZW5kc3dpdGgoIi1kZXYiKSBh
bmQgImRldi1kZXBzIiBub3QgaW4gc2tpcDoKICAgICAgICAgICAgICAgICAgICBlcnJvcl9tc2cg
PSAiJXMgcmRlcGVuZHMgb24gJXMiICUgKHBrZywgcmRlcGVuZCkKICAgICAgICAgICAgICAgICAg
ICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigiZGV2LWRlcHMiLCBlcnJvcl9tc2csIGQpCiAgICAg
ICAgICAgICAgICBpZiByZGVwZW5kIG5vdCBpbiBwYWNrYWdlczoKICAgICAgICAgICAgICAgICAg
ICByZGVwX2RhdGEgPSBvZS5wYWNrYWdlZGF0YS5yZWFkX3N1YnBrZ2RhdGEocmRlcGVuZCwgZCkK
ICAgICAgICAgICAgICAgICAgICBpZiByZGVwX2RhdGEgYW5kICdQTicgaW4gcmRlcF9kYXRhIGFu
ZCByZGVwX2RhdGFbJ1BOJ10gaW4gdGFza2RlcHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlCiAgICAgICAgICAgICAgICAgICAgaWYgbm90IHJkZXBfZGF0YSBvciBub3QgJ1BOJyBp
biByZGVwX2RhdGE6CiAgICAgICAgICAgICAgICAgICAgICAgIHBrZ2RhdGFfZGlyID0gZC5nZXRW
YXIoIlBLR0RBVEFfRElSIikKICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcG9zc2libGVzID0gb3MubGlzdGRpcigiJXMvcnVudGltZS1ycHJv
dmlkZXMvJXMvIiAlIChwa2dkYXRhX2RpciwgcmRlcGVuZCkpCiAgICAgICAgICAgICAgICAgICAg
ICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zc2libGVz
ID0gW10KICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHAgaW4gcG9zc2libGVzOgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmRlcF9kYXRhID0gb2UucGFja2FnZWRhdGEucmVhZF9zdWJw
a2dkYXRhKHAsIGQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiByZGVwX2RhdGEgYW5k
ICdQTicgaW4gcmRlcF9kYXRhIGFuZCByZGVwX2RhdGFbJ1BOJ10gaW4gdGFza2RlcHM6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICAgICBpZiBy
ZGVwX2RhdGEgYW5kICdQTicgaW4gcmRlcF9kYXRhIGFuZCByZGVwX2RhdGFbJ1BOJ10gaW4gdGFz
a2RlcHM6CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAg
ICAgaWYgcmRlcF9kYXRhIGFuZCAnUE4nIGluIHJkZXBfZGF0YToKICAgICAgICAgICAgICAgICAg
ICAgICAgZXJyb3JfbXNnID0gIiVzIHJkZXBlbmRzIG9uICVzLCBidXQgaXQgaXNuJ3QgYSBidWls
ZCBkZXBlbmRlbmN5LCBtaXNzaW5nICVzIGluIERFUEVORFMgb3IgUEFDS0FHRUNPTkZJRz8iICUg
KHBrZywgcmRlcGVuZCwgcmRlcF9kYXRhWydQTiddKQogICAgICAgICAgICAgICAgICAgIGVsc2U6
CiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX21zZyA9ICIlcyByZGVwZW5kcyBvbiAlcywg
YnV0IGl0IGlzbid0IGEgYnVpbGQgZGVwZW5kZW5jeT8iICUgKHBrZywgcmRlcGVuZCkKICAgICAg
ICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigiYnVpbGQtZGVwcyIsIGVycm9y
X21zZywgZCkKCiAgICAgICAgaWYgImZpbGUtcmRlcHMiIG5vdCBpbiBza2lwOgogICAgICAgICAg
ICBpZ25vcmVkX2ZpbGVfcmRlcHMgPSBzZXQoWycvYmluL3NoJywgJy91c3IvYmluL2VudicsICdy
dGxkKEdOVV9IQVNIKSddKQogICAgICAgICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdu
YXRpdmVzZGsnLCBkKToKICAgICAgICAgICAgICAgIGlnbm9yZWRfZmlsZV9yZGVwcyB8PSBzZXQo
WycvYmluL2Jhc2gnLCAnL3Vzci9iaW4vcGVybCcsICdwZXJsJ10pCiAgICAgICAgICAgICMgRm9y
IFNhdmluZyB0aGUgRklMRVJERVBFTkRTCiAgICAgICAgICAgIGZpbGVyZGVwZW5kcyA9IHt9CiAg
ICAgICAgICAgIHJkZXBfZGF0YSA9IG9lLnBhY2thZ2VkYXRhLnJlYWRfc3VicGtnZGF0YShwa2cs
IGQpCiAgICAgICAgICAgIGZvciBrZXkgaW4gcmRlcF9kYXRhOgogICAgICAgICAgICAgICAgaWYg
a2V5LnN0YXJ0c3dpdGgoIkZJTEVSREVQRU5EU18iKToKICAgICAgICAgICAgICAgICAgICBmb3Ig
c3Via2V5IGluIGJiLnV0aWxzLmV4cGxvZGVfZGVwcyhyZGVwX2RhdGFba2V5XSk6CiAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIHN1YmtleSBub3QgaW4gaWdub3JlZF9maWxlX3JkZXBzIGFuZCBc
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90IHN1YmtleS5zdGFydHN3aXRoKCdw
ZXJsKCcpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBhbHJlYWR5IGtub3cgaXQg
c3RhcnRzIHdpdGggRklMRVJERVBFTkRTXwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmls
ZXJkZXBlbmRzW3N1YmtleV0gPSBrZXlbMTM6XQoKICAgICAgICAgICAgaWYgZmlsZXJkZXBlbmRz
OgogICAgICAgICAgICAgICAgZG9uZSA9IHJkZXBlbmRzWzpdCiAgICAgICAgICAgICAgICAjIEFk
ZCB0aGUgcnByb3ZpZGVzIG9mIGl0c2VsZgogICAgICAgICAgICAgICAgaWYgcGtnIG5vdCBpbiBk
b25lOgogICAgICAgICAgICAgICAgICAgIGRvbmUuaW5zZXJ0KDAsIHBrZykKCiAgICAgICAgICAg
ICAgICAjIFRoZSBweXRob24gaXMgbm90IGEgcGFja2FnZSwgYnV0IHB5dGhvbi1jb3JlIHByb3Zp
ZGVzIGl0LCBzbwogICAgICAgICAgICAgICAgIyBza2lwIGNoZWNraW5nIC91c3IvYmluL3B5dGhv
biBpZiBweXRob24gaXMgaW4gdGhlIHJkZXBzLCBpbgogICAgICAgICAgICAgICAgIyBjYXNlIHRo
ZXJlIGlzIGEgUkRFUEVORFNfcGtnID0gInB5dGhvbiIgaW4gdGhlIHJlY2lwZS4KICAgICAgICAg
ICAgICAgIGZvciBweSBpbiBbIGQuZ2V0VmFyKCdNTFBSRUZJWCcpICsgInB5dGhvbiIsICJweXRo
b24iIF06CiAgICAgICAgICAgICAgICAgICAgaWYgcHkgaW4gZG9uZToKICAgICAgICAgICAgICAg
ICAgICAgICAgZmlsZXJkZXBlbmRzLnBvcCgiL3Vzci9iaW4vcHl0aG9uIixOb25lKQogICAgICAg
ICAgICAgICAgICAgICAgICBkb25lLnJlbW92ZShweSkKICAgICAgICAgICAgICAgIGZvciByZGVw
IGluIGRvbmU6CiAgICAgICAgICAgICAgICAgICAgIyBUaGUgZmlsZSBkZXBlbmRlbmNpZXMgbWF5
IGNvbnRhaW4gcGFja2FnZSBuYW1lcywgZS5nLiwKICAgICAgICAgICAgICAgICAgICAjIHBlcmwK
ICAgICAgICAgICAgICAgICAgICBmaWxlcmRlcGVuZHMucG9wKHJkZXAsTm9uZSkKCiAgICAgICAg
ICAgICAgICAgICAgIyBGb3IgU2F2aW5nIHRoZSBGSUxFUlBST1ZJREVTLCBSUFJPVklERVMgYW5k
IEZJTEVTX0lORk8KICAgICAgICAgICAgICAgICAgICByZGVwX2RhdGEgPSBvZS5wYWNrYWdlZGF0
YS5yZWFkX3N1YnBrZ2RhdGEocmRlcCwgZCkKICAgICAgICAgICAgICAgICAgICBmb3Iga2V5IGlu
IHJkZXBfZGF0YToKICAgICAgICAgICAgICAgICAgICAgICAgaWYga2V5LnN0YXJ0c3dpdGgoIkZJ
TEVSUFJPVklERVNfIikgb3Iga2V5LnN0YXJ0c3dpdGgoIlJQUk9WSURFU18iKToKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZvciBzdWJrZXkgaW4gYmIudXRpbHMuZXhwbG9kZV9kZXBzKHJk
ZXBfZGF0YVtrZXldKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcmRlcGVu
ZHMucG9wKHN1YmtleSxOb25lKQogICAgICAgICAgICAgICAgICAgICAgICAjIEFkZCB0aGUgZmls
ZXMgbGlzdCB0byB0aGUgcnByb3ZpZGVzCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIGtleSA9
PSAiRklMRVNfSU5GTyI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFVzZSBldmFsKCkg
dG8gbWFrZSBpdCBhcyBhIGRpY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBzdWJr
ZXkgaW4gZXZhbChyZGVwX2RhdGFba2V5XSk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmlsZXJkZXBlbmRzLnBvcChzdWJrZXksTm9uZSkKICAgICAgICAgICAgICAgICAgICBpZiBu
b3QgZmlsZXJkZXBlbmRzOgogICAgICAgICAgICAgICAgICAgICAgICAjIEJyZWFrIGlmIGFsbCB0
aGUgZmlsZSByZGVwZW5kcyBhcmUgbWV0CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAg
ICAgICAgICAgIGlmIGZpbGVyZGVwZW5kczoKICAgICAgICAgICAgICAgIGZvciBrZXkgaW4gZmls
ZXJkZXBlbmRzOgogICAgICAgICAgICAgICAgICAgIGVycm9yX21zZyA9ICIlcyBjb250YWluZWQg
aW4gcGFja2FnZSAlcyByZXF1aXJlcyAlcywgYnV0IG5vIHByb3ZpZGVycyBmb3VuZCBpbiBSREVQ
RU5EU18lcz8iICUgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbGVyZGVwZW5kc1tr
ZXldLnJlcGxhY2UoIl8lcyIgJSBwa2csICIiKS5yZXBsYWNlKCJAdW5kZXJzY29yZUAiLCAiXyIp
LCBwa2csIGtleSwgcGtnKQogICAgICAgICAgICAgICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vy
cm9yKCJmaWxlLXJkZXBzIiwgZXJyb3JfbXNnLCBkKX0KCgpweXRob24gcGFja2FnZV9xYV9jaGVj
a19ycGF0aCAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX3JwYXRoKGZpbGUsbmFtZSwgZCwgZWxm
LCBtZXNzYWdlcyk6CiAgICAiIiIKICAgIENoZWNrIGZvciBkYW5nZXJvdXMgUlBBVEhzCiAgICAi
IiIKICAgIGlmIG5vdCBlbGY6CiAgICAgICAgcmV0dXJuCgogICAgaWYgb3MucGF0aC5pc2xpbmso
ZmlsZSk6CiAgICAgICAgcmV0dXJuCgogICAgYmFkX2RpcnMgPSBbZC5nZXRWYXIoJ0JBU0VfV09S
S0RJUicpLCBkLmdldFZhcignU1RBR0lOR19ESVJfVEFSR0VUJyldCgogICAgcGhkcnMgPSBlbGYu
cnVuX29iamR1bXAoIi1wIiwgZCkKCiAgICBpbXBvcnQgcmUKICAgIHJwYXRoX3JlID0gcmUuY29t
cGlsZShyIlxzK1JQQVRIXHMrKC4qKSIpCiAgICBmb3IgbGluZSBpbiBwaGRycy5zcGxpdCgiXG4i
KToKICAgICAgICBtID0gcnBhdGhfcmUubWF0Y2gobGluZSkKICAgICAgICBpZiBtOgogICAgICAg
ICAgICBycGF0aCA9IG0uZ3JvdXAoMSkKICAgICAgICAgICAgZm9yIGRpciBpbiBiYWRfZGlyczoK
ICAgICAgICAgICAgICAgIGlmIGRpciBpbiBycGF0aDoKICAgICAgICAgICAgICAgICAgICBwYWNr
YWdlX3FhX2FkZF9tZXNzYWdlKG1lc3NhZ2VzLCAicnBhdGhzIiwgInBhY2thZ2UgJXMgY29udGFp
bnMgYmFkIFJQQVRIICVzIGluIGZpbGUgJXMiICUgKG5hbWUsIHJwYXRoLCBmaWxlKSkKfQoKCnB5
dGhvbiBwYWNrYWdlX3FhX2NoZWNrX3NyY191cmkgKCkgewpkZWYgcGFja2FnZV9xYV9jaGVja19z
cmNfdXJpKHBuLCBkLCBtZXNzYWdlcyk6CiAgICBpbXBvcnQgcmUKCiAgICBpZiAiJHtQTn0iIGlu
IGQuZ2V0VmFyKCJTUkNfVVJJIiwgRmFsc2UpOgogICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vy
cm9yKCJzcmMtdXJpLWJhZCIsICIlczogU1JDX1VSSSB1c2VzIFBOIG5vdCBCUE4iICUgcG4sIGQp
CgogICAgcG4gPSBkLmdldFZhcigiU1JDX1VSSSIpCiAgICBpZiByZS5zZWFyY2gociJnaXRodWJc
LmNvbS8uKy8uKy9hcmNoaXZlLy4rIiwgcG4pOgogICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vy
cm9yKCJzcmMtdXJpLWJhZCIsICIlczogU1JDX1VSSSB1c2VzIHVuc3RhYmxlIEdpdEh1YiBhcmNo
aXZlcyIgJSBwbiwgZCkKCgojIFRoZSBQQUNLQUdFIEZVTkMgdG8gc2NhbiBlYWNoIHBhY2thZ2V9
CgoKcHl0aG9uIHBhY2thZ2VfcWFfY2hlY2tfc3RhdGljZGV2ICgpIHsKZGVmIHBhY2thZ2VfcWFf
Y2hlY2tfc3RhdGljZGV2KHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAgIiIiCiAg
ICBDaGVjayBmb3IgIi5hIiBsaWJyYXJ5IGluIG5vbi1zdGF0aWNkZXYgcGFja2FnZXMKICAgIFRo
ZXJlIGFyZSBhIG51bWJlciBvZiBleGNlcHRpb25zIHRvIHRoaXMgcnVsZSwgLXBpYyBwYWNrYWdl
cyBjYW4gY29udGFpbgogICAgc3RhdGljIGxpYnJhcmllcywgdGhlIF9ub25zaGFyZWQuYSBiZWxv
bmcgd2l0aCB0aGVpciAtZGV2IHBhY2thZ2VzIGFuZAogICAgbGliZ2NjLmEsIGxpYmdjb3YuYSB3
aWxsIGJlIHNraXBwZWQgaW4gdGhlaXIgcGFja2FnZXMKICAgICIiIgoKICAgIGlmIG5vdCBuYW1l
LmVuZHN3aXRoKCItcGljIikgYW5kIG5vdCBuYW1lLmVuZHN3aXRoKCItc3RhdGljZGV2IikgYW5k
IG5vdCBuYW1lLmVuZHN3aXRoKCItcHRlc3QiKSBhbmQgcGF0aC5lbmRzd2l0aCgiLmEiKSBhbmQg
bm90IHBhdGguZW5kc3dpdGgoIl9ub25zaGFyZWQuYSIpOgogICAgICAgIHBhY2thZ2VfcWFfYWRk
X21lc3NhZ2UobWVzc2FnZXMsICJzdGF0aWNkZXYiLCAibm9uIC1zdGF0aWNkZXYgcGFja2FnZSBj
b250YWlucyBzdGF0aWMgLmEgbGlicmFyeTogJXMgcGF0aCAnJXMnIiAlIFwKICAgICAgICAgICAg
ICAgICAobmFtZSwgcGFja2FnZV9xYV9jbGVhbl9wYXRoKHBhdGgsZCkpKQp9CgoKcHl0aG9uIHBh
Y2thZ2VfcWFfY2hlY2tfc3ltbGlua190b19zeXNyb290ICgpIHsKZGVmIHBhY2thZ2VfcWFfY2hl
Y2tfc3ltbGlua190b19zeXNyb290KHBhdGgsIG5hbWUsIGQsIGVsZiwgbWVzc2FnZXMpOgogICAg
IiIiCiAgICBDaGVjayB0aGF0IHRoZSBwYWNrYWdlIGRvZXNuJ3QgY29udGFpbiBhbnkgYWJzb2x1
dGUgc3ltbGlua3MgdG8gdGhlIHN5c3Jvb3QuCiAgICAiIiIKICAgIGlmIG9zLnBhdGguaXNsaW5r
KHBhdGgpOgogICAgICAgIHRhcmdldCA9IG9zLnJlYWRsaW5rKHBhdGgpCiAgICAgICAgaWYgb3Mu
cGF0aC5pc2Ficyh0YXJnZXQpOgogICAgICAgICAgICB0bXBkaXIgPSBkLmdldFZhcignVE1QRElS
JykKICAgICAgICAgICAgaWYgdGFyZ2V0LnN0YXJ0c3dpdGgodG1wZGlyKToKICAgICAgICAgICAg
ICAgIHRyaW1tZWQgPSBwYXRoLnJlcGxhY2Uob3MucGF0aC5qb2luIChkLmdldFZhcigiUEtHREVT
VCIpLCBuYW1lKSwgIiIpCiAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2FkZF9tZXNzYWdlKG1l
c3NhZ2VzLCAic3ltbGluay10by1zeXNyb290IiwgIlN5bWxpbmsgJXMgaW4gJXMgcG9pbnRzIHRv
IFRNUERJUiIgJSAodHJpbW1lZCwgbmFtZSkpCgojIENoZWNrIGxpY2Vuc2UgdmFyaWFibGVzfQoK
CnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNrX3VzZWxlc3NfcnBhdGhzICgpIHsKZGVmIHBhY2thZ2Vf
cWFfY2hlY2tfdXNlbGVzc19ycGF0aHMoZmlsZSwgbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6CiAg
ICAiIiIKICAgIENoZWNrIGZvciBSUEFUSHMgdGhhdCBhcmUgdXNlbGVzcyBidXQgbm90IGRhbmdl
cm91cwogICAgIiIiCiAgICBkZWYgcnBhdGhfZXEoYSwgYik6CiAgICAgICAgcmV0dXJuIG9zLnBh
dGgubm9ybXBhdGgoYSkgPT0gb3MucGF0aC5ub3JtcGF0aChiKQoKICAgIGlmIG5vdCBlbGY6CiAg
ICAgICAgcmV0dXJuCgogICAgaWYgb3MucGF0aC5pc2xpbmsoZmlsZSk6CiAgICAgICAgcmV0dXJu
CgogICAgbGliZGlyID0gZC5nZXRWYXIoImxpYmRpciIpCiAgICBiYXNlX2xpYmRpciA9IGQuZ2V0
VmFyKCJiYXNlX2xpYmRpciIpCgogICAgcGhkcnMgPSBlbGYucnVuX29iamR1bXAoIi1wIiwgZCkK
CiAgICBpbXBvcnQgcmUKICAgIHJwYXRoX3JlID0gcmUuY29tcGlsZShyIlxzK1JQQVRIXHMrKC4q
KSIpCiAgICBmb3IgbGluZSBpbiBwaGRycy5zcGxpdCgiXG4iKToKICAgICAgICBtID0gcnBhdGhf
cmUubWF0Y2gobGluZSkKICAgICAgICBpZiBtOgogICAgICAgICAgICBycGF0aCA9IG0uZ3JvdXAo
MSkKICAgICAgICAgICAgaWYgcnBhdGhfZXEocnBhdGgsIGxpYmRpcikgb3IgcnBhdGhfZXEocnBh
dGgsIGJhc2VfbGliZGlyKToKICAgICAgICAgICAgICAgICMgVGhlIGR5bmFtaWMgbGlua2VyIHNl
YXJjaGVzIGJvdGggdGhlc2UgcGxhY2VzIGFueXdheS4gIFRoZXJlIGlzIG5vIHBvaW50IGluCiAg
ICAgICAgICAgICAgICAjIGxvb2tpbmcgdGhlcmUgYWdhaW4uCiAgICAgICAgICAgICAgICBwYWNr
YWdlX3FhX2FkZF9tZXNzYWdlKG1lc3NhZ2VzLCAidXNlbGVzcy1ycGF0aHMiLCAiJXM6ICVzIGNv
bnRhaW5zIHByb2JhYmx5LXJlZHVuZGFudCBSUEFUSCAlcyIgJSAobmFtZSwgcGFja2FnZV9xYV9j
bGVhbl9wYXRoKGZpbGUsIGQpLCBycGF0aCkpCn0KCgpweXRob24gcGFja2FnZV9xYV9jaGVja191
c3JtZXJnZSAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX3Vzcm1lcmdlKHBrZywgZCwgbWVzc2Fn
ZXMpOgogICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJykKICAgIHBrZ19kaXIgPSBwa2dk
ZXN0ICsgb3Muc2VwICsgcGtnICsgb3Muc2VwCiAgICBtZXJnZWRfZGlycyA9IFsnYmluJywgJ3Ni
aW4nLCAnbGliJ10gKyBkLmdldFZhcignTVVMVElMSUJfVkFSSUFOVFMnKS5zcGxpdCgpCiAgICBm
b3IgZiBpbiBtZXJnZWRfZGlyczoKICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwa2dfZGlyICsg
ZikgYW5kIG5vdCBvcy5wYXRoLmlzbGluayhwa2dfZGlyICsgZik6CiAgICAgICAgICAgIG1zZyA9
ICIlcyBwYWNrYWdlIGlzIG5vdCBvYmV5aW5nIHVzcm1lcmdlIGRpc3RybyBmZWF0dXJlLiAvJXMg
c2hvdWxkIGJlIHJlbG9jYXRlZCB0byAvdXNyLiIgJSAocGtnLCBmKQogICAgICAgICAgICBwYWNr
YWdlX3FhX2FkZF9tZXNzYWdlKG1lc3NhZ2VzLCAidXNybWVyZ2UiLCBtc2cpCiAgICAgICAgICAg
IHJldHVybiBGYWxzZQogICAgcmV0dXJuIFRydWUKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NoZWNr
X3hvcmdfZHJpdmVyX2FiaSAoKSB7CmRlZiBwYWNrYWdlX3FhX2NoZWNrX3hvcmdfZHJpdmVyX2Fi
aShwYXRoLCBuYW1lLCBkLCBlbGYsIG1lc3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgdGhhdCBh
bGwgcGFja2FnZXMgY29udGFpbmluZyBYb3JnIGRyaXZlcnMgaGF2ZSBBQkkgZGVwZW5kZW5jaWVz
CiAgICAiIiIKCiAgICAjIFNraXAgZGV2LCBkYmcgb3IgbmF0aXZlc2RrIHBhY2thZ2VzCiAgICBp
ZiBuYW1lLmVuZHN3aXRoKCItZGV2Iikgb3IgbmFtZS5lbmRzd2l0aCgiLWRiZyIpIG9yIG5hbWUu
c3RhcnRzd2l0aCgibmF0aXZlc2RrLSIpOgogICAgICAgIHJldHVybgoKICAgIGRyaXZlcmRpciA9
IGQuZXhwYW5kKCIke2xpYmRpcn0veG9yZy9tb2R1bGVzL2RyaXZlcnMvIikKICAgIGlmIGRyaXZl
cmRpciBpbiBwYXRoIGFuZCBwYXRoLmVuZHN3aXRoKCIuc28iKToKICAgICAgICBtbHByZWZpeCA9
IGQuZ2V0VmFyKCdNTFBSRUZJWCcpIG9yICcnCiAgICAgICAgZm9yIHJkZXAgaW4gYmIudXRpbHMu
ZXhwbG9kZV9kZXBzKGQuZ2V0VmFyKCdSREVQRU5EU18nICsgbmFtZSkgb3IgIiIpOgogICAgICAg
ICAgICBpZiByZGVwLnN0YXJ0c3dpdGgoIiVzeG9yZy1hYmktIiAlIG1scHJlZml4KToKICAgICAg
ICAgICAgICAgIHJldHVybgogICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMs
ICJ4b3JnLWRyaXZlci1hYmkiLCAiUGFja2FnZSAlcyBjb250YWlucyBYb3JnIGRyaXZlciAoJXMp
IGJ1dCBubyB4b3JnLWFiaS0gZGVwZW5kZW5jaWVzIiAlIChuYW1lLCBvcy5wYXRoLmJhc2VuYW1l
KHBhdGgpKSkKfQoKCnB5dGhvbiBwYWNrYWdlX3FhX2NsZWFuX3BhdGggKCkgewpkZWYgcGFja2Fn
ZV9xYV9jbGVhbl9wYXRoKHBhdGgsIGQsIHBrZz1Ob25lKToKICAgICIiIgogICAgUmVtb3ZlIHJl
ZHVuZGFudCBwYXRocyBmcm9tIHRoZSBwYXRoIGZvciBkaXNwbGF5LiAgSWYgcGtnIGlzbid0IHNl
dCB0aGVuCiAgICBUTVBESVIgaXMgc3RyaXBwZWQsIG90aGVyd2lzZSBQS0dERVNUL3BrZyBpcyBz
dHJpcHBlZC4KICAgICIiIgogICAgaWYgcGtnOgogICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2Uo
b3MucGF0aC5qb2luKGQuZ2V0VmFyKCJQS0dERVNUIiksIHBrZyksICIvIikKICAgIHJldHVybiBw
YXRoLnJlcGxhY2UoZC5nZXRWYXIoIlRNUERJUiIpLCAiLyIpLnJlcGxhY2UoIi8vIiwgIi8iKQp9
CgoKcHl0aG9uIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yICgpIHsKZGVmIHBhY2thZ2VfcWFfaGFu
ZGxlX2Vycm9yKGVycm9yX2NsYXNzLCBlcnJvcl9tc2csIGQpOgogICAgaWYgZXJyb3JfY2xhc3Mg
aW4gKGQuZ2V0VmFyKCJFUlJPUl9RQSIpIG9yICIiKS5zcGxpdCgpOgogICAgICAgIHBhY2thZ2Vf
cWFfd3JpdGVfZXJyb3IoZXJyb3JfY2xhc3MsIGVycm9yX21zZywgZCkKICAgICAgICBiYi5lcnJv
cigiUUEgSXNzdWU6ICVzIFslc10iICUgKGVycm9yX21zZywgZXJyb3JfY2xhc3MpKQogICAgICAg
IGQuc2V0VmFyKCJRQV9TQU5FIiwgRmFsc2UpCiAgICAgICAgcmV0dXJuIEZhbHNlCiAgICBlbGlm
IGVycm9yX2NsYXNzIGluIChkLmdldFZhcigiV0FSTl9RQSIpIG9yICIiKS5zcGxpdCgpOgogICAg
ICAgIHBhY2thZ2VfcWFfd3JpdGVfZXJyb3IoZXJyb3JfY2xhc3MsIGVycm9yX21zZywgZCkKICAg
ICAgICBiYi53YXJuKCJRQSBJc3N1ZTogJXMgWyVzXSIgJSAoZXJyb3JfbXNnLCBlcnJvcl9jbGFz
cykpCiAgICBlbHNlOgogICAgICAgIGJiLm5vdGUoIlFBIElzc3VlOiAlcyBbJXNdIiAlIChlcnJv
cl9tc2csIGVycm9yX2NsYXNzKSkKICAgIHJldHVybiBUcnVlCn0KCgpweXRob24gcGFja2FnZV9x
YV9oYXNoX3N0eWxlICgpIHsKZGVmIHBhY2thZ2VfcWFfaGFzaF9zdHlsZShwYXRoLCBuYW1lLCBk
LCBlbGYsIG1lc3NhZ2VzKToKICAgICIiIgogICAgQ2hlY2sgaWYgdGhlIGJpbmFyeSBoYXMgdGhl
IHJpZ2h0IGhhc2ggc3R5bGUuLi4KICAgICIiIgoKICAgIGlmIG5vdCBlbGY6CiAgICAgICAgcmV0
dXJuCgogICAgaWYgb3MucGF0aC5pc2xpbmsocGF0aCk6CiAgICAgICAgcmV0dXJuCgogICAgZ251
X2hhc2ggPSAiLS1oYXNoLXN0eWxlPWdudSIgaW4gZC5nZXRWYXIoJ0xERkxBR1MnKQogICAgaWYg
bm90IGdudV9oYXNoOgogICAgICAgIGdudV9oYXNoID0gIi0taGFzaC1zdHlsZT1ib3RoIiBpbiBk
LmdldFZhcignTERGTEFHUycpCiAgICBpZiBub3QgZ251X2hhc2g6CiAgICAgICAgcmV0dXJuCgog
ICAgc2FuZSA9IEZhbHNlCiAgICBoYXNfc3ltcyA9IEZhbHNlCgogICAgcGhkcnMgPSBlbGYucnVu
X29iamR1bXAoIi1wIiwgZCkKCiAgICAjIElmIHRoaXMgYmluYXJ5IGhhcyBzeW1ib2xzLCB3ZSBl
eHBlY3QgaXQgdG8gaGF2ZSBHTlVfSEFTSCB0b28uCiAgICBmb3IgbGluZSBpbiBwaGRycy5zcGxp
dCgiXG4iKToKICAgICAgICBpZiAiU1lNVEFCIiBpbiBsaW5lOgogICAgICAgICAgICBoYXNfc3lt
cyA9IFRydWUKICAgICAgICBpZiAiR05VX0hBU0giIGluIGxpbmU6CiAgICAgICAgICAgIHNhbmUg
PSBUcnVlCiAgICAgICAgaWYgIlttaXBzMzJdIiBpbiBsaW5lIG9yICJbbWlwczY0XSIgaW4gbGlu
ZToKICAgICAgICAgICAgc2FuZSA9IFRydWUKCiAgICBpZiBoYXNfc3ltcyBhbmQgbm90IHNhbmU6
CiAgICAgICAgcGFja2FnZV9xYV9hZGRfbWVzc2FnZShtZXNzYWdlcywgImxkZmxhZ3MiLCAiTm8g
R05VX0hBU0ggaW4gdGhlIEVMRiBiaW5hcnkgJXMsIGRpZG4ndCBwYXNzIExERkxBR1M/IiAlIHBh
dGgpCgp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfcGFja2FnZSAoKSB7CmRlZiBwYWNrYWdlX3FhX3Bh
Y2thZ2Uod2FybmZ1bmNzLCBlcnJvcmZ1bmNzLCBwYWNrYWdlLCBkKToKICAgIHdhcm5pbmdzID0g
e30KICAgIGVycm9ycyA9IHt9CgogICAgZm9yIGZ1bmMgaW4gd2FybmZ1bmNzOgogICAgICAgIGZ1
bmMocGFja2FnZSwgZCwgd2FybmluZ3MpCiAgICBmb3IgZnVuYyBpbiBlcnJvcmZ1bmNzOgogICAg
ICAgIGZ1bmMocGFja2FnZSwgZCwgZXJyb3JzKQoKICAgIGZvciB3IGluIHdhcm5pbmdzOgogICAg
ICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKHcsIHdhcm5pbmdzW3ddLCBkKQogICAgZm9yIGUg
aW4gZXJyb3JzOgogICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKGUsIGVycm9yc1tlXSwg
ZCkKCiAgICByZXR1cm4gbGVuKGVycm9ycykgPT0gMAoKIyBSdW4gYWxsIHJlY2lwZS13aWRlIHdh
cm5mdW5jcyBhbmQgZXJyb3JmdW5jc30KCgpweXRob24gcGFja2FnZV9xYV9yZWNpcGUgKCkgewpk
ZWYgcGFja2FnZV9xYV9yZWNpcGUod2FybmZ1bmNzLCBlcnJvcmZ1bmNzLCBwbiwgZCk6CiAgICB3
YXJuaW5ncyA9IHt9CiAgICBlcnJvcnMgPSB7fQoKICAgIGZvciBmdW5jIGluIHdhcm5mdW5jczoK
ICAgICAgICBmdW5jKHBuLCBkLCB3YXJuaW5ncykKICAgIGZvciBmdW5jIGluIGVycm9yZnVuY3M6
CiAgICAgICAgZnVuYyhwbiwgZCwgZXJyb3JzKQoKICAgIGZvciB3IGluIHdhcm5pbmdzOgogICAg
ICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKHcsIHdhcm5pbmdzW3ddLCBkKQogICAgZm9yIGUg
aW4gZXJyb3JzOgogICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKGUsIGVycm9yc1tlXSwg
ZCkKCiAgICByZXR1cm4gbGVuKGVycm9ycykgPT0gMAoKIyBXYWxrIG92ZXIgYWxsIGZpbGVzIGlu
IGEgZGlyZWN0b3J5IGFuZCBjYWxsIGZ1bmN9CgoKcHl0aG9uIHBhY2thZ2VfcWFfdGV4dHJlbCAo
KSB7CmRlZiBwYWNrYWdlX3FhX3RleHRyZWwocGF0aCwgbmFtZSwgZCwgZWxmLCBtZXNzYWdlcyk6
CiAgICAiIiIKICAgIENoZWNrIGlmIHRoZSBiaW5hcnkgY29udGFpbnMgcmVsb2NhdGlvbnMgaW4g
LnRleHQKICAgICIiIgoKICAgIGlmIG5vdCBlbGY6CiAgICAgICAgcmV0dXJuCgogICAgaWYgb3Mu
cGF0aC5pc2xpbmsocGF0aCk6CiAgICAgICAgcmV0dXJuCgogICAgcGhkcnMgPSBlbGYucnVuX29i
amR1bXAoIi1wIiwgZCkKICAgIHNhbmUgPSBUcnVlCgogICAgaW1wb3J0IHJlCiAgICB0ZXh0cmVs
X3JlID0gcmUuY29tcGlsZShyIlxzK1RFWFRSRUxccysiKQogICAgZm9yIGxpbmUgaW4gcGhkcnMu
c3BsaXQoIlxuIik6CiAgICAgICAgaWYgdGV4dHJlbF9yZS5tYXRjaChsaW5lKToKICAgICAgICAg
ICAgc2FuZSA9IEZhbHNlCgogICAgaWYgbm90IHNhbmU6CiAgICAgICAgcGFja2FnZV9xYV9hZGRf
bWVzc2FnZShtZXNzYWdlcywgInRleHRyZWwiLCAiRUxGIGJpbmFyeSAnJXMnIGhhcyByZWxvY2F0
aW9ucyBpbiAudGV4dCIgJSBwYXRoKQp9CgoKcHl0aG9uIHBhY2thZ2VfcWFfd2FsayAoKSB7CmRl
ZiBwYWNrYWdlX3FhX3dhbGsod2FybmZ1bmNzLCBlcnJvcmZ1bmNzLCBwYWNrYWdlLCBkKToKICAg
IGltcG9ydCBvZS5xYQoKICAgICNpZiB0aGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uLCB0aGVu
IGZpeCB0aGUgZGljdCBhYm92ZQogICAgdGFyZ2V0X29zICAgPSBkLmdldFZhcignVEFSR0VUX09T
JykKICAgIHRhcmdldF9hcmNoID0gZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJykKCiAgICB3YXJuaW5n
cyA9IHt9CiAgICBlcnJvcnMgPSB7fQogICAgZm9yIHBhdGggaW4gcGtnZmlsZXNbcGFja2FnZV06
CiAgICAgICAgICAgIGVsZiA9IG9lLnFhLkVMRkZpbGUocGF0aCkKICAgICAgICAgICAgdHJ5Ogog
ICAgICAgICAgICAgICAgZWxmLm9wZW4oKQogICAgICAgICAgICBleGNlcHQgKElPRXJyb3IsIG9l
LnFhLk5vdEVMRkZpbGVFcnJvcik6CiAgICAgICAgICAgICAgICAjIElPRXJyb3IgY2FuIGhhcHBl
biBpZiB0aGUgcGFja2FnaW5nIGNvbnRyb2wgZmlsZXMgZGlzYXBwZWFyLAogICAgICAgICAgICAg
ICAgZWxmID0gTm9uZQogICAgICAgICAgICBmb3IgZnVuYyBpbiB3YXJuZnVuY3M6CiAgICAgICAg
ICAgICAgICBmdW5jKHBhdGgsIHBhY2thZ2UsIGQsIGVsZiwgd2FybmluZ3MpCiAgICAgICAgICAg
IGZvciBmdW5jIGluIGVycm9yZnVuY3M6CiAgICAgICAgICAgICAgICBmdW5jKHBhdGgsIHBhY2th
Z2UsIGQsIGVsZiwgZXJyb3JzKQoKICAgIGZvciB3IGluIHdhcm5pbmdzOgogICAgICAgIHBhY2th
Z2VfcWFfaGFuZGxlX2Vycm9yKHcsIHdhcm5pbmdzW3ddLCBkKQogICAgZm9yIGUgaW4gZXJyb3Jz
OgogICAgICAgIHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKGUsIGVycm9yc1tlXSwgZCkKfQoKCnB5
dGhvbiBwYWNrYWdlX3FhX3dyaXRlX2Vycm9yICgpIHsKZGVmIHBhY2thZ2VfcWFfd3JpdGVfZXJy
b3IodHlwZSwgZXJyb3IsIGQpOgogICAgbG9nZmlsZSA9IGQuZ2V0VmFyKCdRQV9MT0dGSUxFJykK
ICAgIGlmIGxvZ2ZpbGU6CiAgICAgICAgcCA9IGQuZ2V0VmFyKCdQJykKICAgICAgICB3aXRoIG9w
ZW4obG9nZmlsZSwgImErIikgYXMgZjoKICAgICAgICAgICAgZi53cml0ZSgiJXM6ICVzIFslc11c
biIgJSAocCwgZXJyb3IsIHR5cGUpKQp9CgoKcHl0aG9uIHBhcnNlX2RlYnVnc291cmNlc19mcm9t
X2R3YXJmc3JjZmlsZXNfb3V0cHV0ICgpIHsKZGVmIHBhcnNlX2RlYnVnc291cmNlc19mcm9tX2R3
YXJmc3JjZmlsZXNfb3V0cHV0KGR3YXJmc3JjZmlsZXNfb3V0cHV0KToKICAgIGRlYnVnZmlsZXMg
PSB7fQoKICAgIGZvciBsaW5lIGluIGR3YXJmc3JjZmlsZXNfb3V0cHV0LnNwbGl0bGluZXMoKToK
ICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIlx0Iik6CiAgICAgICAgICAgIGRlYnVnZmlsZXNb
b3MucGF0aC5ub3JtcGF0aChsaW5lLnNwbGl0KClbMF0pXSA9ICIiCgogICAgcmV0dXJuIGRlYnVn
ZmlsZXMua2V5cygpCn0KCgpweXRob24gcGF0Y2hfZG9fcGF0Y2ggKCkgewogICAgaW1wb3J0IG9l
LnBhdGNoCgogICAgcGF0Y2hzZXRtYXAgPSB7CiAgICAgICAgInBhdGNoIjogb2UucGF0Y2guUGF0
Y2hUcmVlLAogICAgICAgICJxdWlsdCI6IG9lLnBhdGNoLlF1aWx0VHJlZSwKICAgICAgICAiZ2l0
Ijogb2UucGF0Y2guR2l0QXBwbHlUcmVlLAogICAgfQoKICAgIGNscyA9IHBhdGNoc2V0bWFwW2Qu
Z2V0VmFyKCdQQVRDSFRPT0wnKSBvciAncXVpbHQnXQoKICAgIHJlc29sdmVybWFwID0gewogICAg
ICAgICJub29wIjogb2UucGF0Y2guTk9PUFJlc29sdmVyLAogICAgICAgICJ1c2VyIjogb2UucGF0
Y2guVXNlclJlc29sdmVyLAogICAgfQoKICAgIHJjbHMgPSByZXNvbHZlcm1hcFtkLmdldFZhcign
UEFUQ0hSRVNPTFZFJykgb3IgJ3VzZXInXQoKICAgIGNsYXNzZXMgPSB7fQoKICAgIHMgPSBkLmdl
dFZhcignUycpCgogICAgb3MucHV0ZW52KCdQQVRIJywgZC5nZXRWYXIoJ1BBVEgnKSkKCiAgICAj
IFdlIG11c3QgdXNlIG9uZSBUTVBESVIgcGVyIHByb2Nlc3Mgc28gdGhhdCB0aGUgInBhdGNoIiBw
cm9jZXNzZXMKICAgICMgZG9uJ3QgZ2VuZXJhdGUgdGhlIHNhbWUgdGVtcCBmaWxlIG5hbWUuCgog
ICAgaW1wb3J0IHRlbXBmaWxlCiAgICBwcm9jZXNzX3RtcGRpciA9IHRlbXBmaWxlLm1rZHRlbXAo
KQogICAgb3MuZW52aXJvblsnVE1QRElSJ10gPSBwcm9jZXNzX3RtcGRpcgoKICAgIGZvciBwYXRj
aCBpbiBzcmNfcGF0Y2hlcyhkKToKICAgICAgICBfLCBfLCBsb2NhbCwgXywgXywgcGFybSA9IGJi
LmZldGNoLmRlY29kZXVybChwYXRjaCkKCiAgICAgICAgaWYgInBhdGNoZGlyIiBpbiBwYXJtOgog
ICAgICAgICAgICBwYXRjaGRpciA9IHBhcm1bInBhdGNoZGlyIl0KICAgICAgICAgICAgaWYgbm90
IG9zLnBhdGguaXNhYnMocGF0Y2hkaXIpOgogICAgICAgICAgICAgICAgcGF0Y2hkaXIgPSBvcy5w
YXRoLmpvaW4ocywgcGF0Y2hkaXIpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcGF0Y2hkaXIg
PSBzCgogICAgICAgIGlmIG5vdCBwYXRjaGRpciBpbiBjbGFzc2VzOgogICAgICAgICAgICBwYXRj
aHNldCA9IGNscyhwYXRjaGRpciwgZCkKICAgICAgICAgICAgcmVzb2x2ZXIgPSByY2xzKHBhdGNo
c2V0LCBvZV90ZXJtaW5hbCkKICAgICAgICAgICAgY2xhc3Nlc1twYXRjaGRpcl0gPSAocGF0Y2hz
ZXQsIHJlc29sdmVyKQogICAgICAgICAgICBwYXRjaHNldC5DbGVhbigpCiAgICAgICAgZWxzZToK
ICAgICAgICAgICAgcGF0Y2hzZXQsIHJlc29sdmVyID0gY2xhc3Nlc1twYXRjaGRpcl0KCiAgICAg
ICAgYmIubm90ZSgiQXBwbHlpbmcgcGF0Y2ggJyVzJyAoJXMpIiAlIChwYXJtWydwYXRjaG5hbWUn
XSwgb2UucGF0aC5mb3JtYXRfZGlzcGxheShsb2NhbCwgZCkpKQogICAgICAgIHRyeToKICAgICAg
ICAgICAgcGF0Y2hzZXQuSW1wb3J0KHsiZmlsZSI6bG9jYWwsICJzdHJpcHBhdGgiOiBwYXJtWydz
dHJpcGxldmVsJ119LCBUcnVlKQogICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXhjOgogICAg
ICAgICAgICBiYi51dGlscy5yZW1vdmUocHJvY2Vzc190bXBkaXIsIFRydWUpCiAgICAgICAgICAg
IGJiLmZhdGFsKHN0cihleGMpKQogICAgICAgIHRyeToKICAgICAgICAgICAgcmVzb2x2ZXIuUmVz
b2x2ZSgpCiAgICAgICAgZXhjZXB0IGJiLkJCSGFuZGxlZEV4Y2VwdGlvbiBhcyBlOgogICAgICAg
ICAgICBiYi51dGlscy5yZW1vdmUocHJvY2Vzc190bXBkaXIsIFRydWUpCiAgICAgICAgICAgIGJi
LmZhdGFsKHN0cihlKSkKCiAgICBiYi51dGlscy5yZW1vdmUocHJvY2Vzc190bXBkaXIsIFRydWUp
CiAgICBkZWwgb3MuZW52aXJvblsnVE1QRElSJ10KfQoKCnB5dGhvbiBwYXRjaF90YXNrX3BhdGNo
X3ByZWZ1bmMgKCkgewogICAgIyBQcmVmdW5jIGZvciBkb19wYXRjaAogICAgc3Jjc3ViZGlyID0g
ZC5nZXRWYXIoJ1MnKQoKICAgIHdvcmtkaXIgPSBvcy5wYXRoLmFic3BhdGgoZC5nZXRWYXIoJ1dP
UktESVInKSkKICAgIHRlc3RzcmNkaXIgPSBvcy5wYXRoLmFic3BhdGgoc3Jjc3ViZGlyKQogICAg
aWYgKHRlc3RzcmNkaXIgKyBvcy5zZXApLnN0YXJ0c3dpdGgod29ya2RpciArIG9zLnNlcCk6CiAg
ICAgICAgIyBEb3VibGUtY2hlY2sgdGhhdCBlaXRoZXIgd29ya2RpciBvciBTIG9yIHNvbWUgZGly
ZWN0b3J5IGluLWJldHdlZW4gaXMgYSBnaXQgcmVwb3NpdG9yeQogICAgICAgIGZvdW5kID0gRmFs
c2UKICAgICAgICB3aGlsZSB0ZXN0c3JjZGlyICE9IHdvcmtkaXI6CiAgICAgICAgICAgIGlmIG9z
LnBhdGguZXhpc3RzKG9zLnBhdGguam9pbih0ZXN0c3JjZGlyLCAnLmdpdCcpKToKICAgICAgICAg
ICAgICAgIGZvdW5kID0gVHJ1ZQogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgaWYg
dGVzdHNyY2RpciA9PSB3b3JrZGlyOgogICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAg
dGVzdHNyY2RpciA9IG9zLnBhdGguZGlybmFtZSh0ZXN0c3JjZGlyKQogICAgICAgIGlmIG5vdCBm
b3VuZDoKICAgICAgICAgICAgYmIuZmF0YWwoJ1BBVENIVE9PTCA9ICJnaXQiIHNldCBmb3Igc291
cmNlIHRyZWUgdGhhdCBpcyBub3QgYSBnaXQgcmVwb3NpdG9yeS4gUmVmdXNpbmcgdG8gY29udGlu
dWUgYXMgdGhhdCBtYXkgcmVzdWx0IGluIGNvbW1pdHMgYmVpbmcgbWFkZSBpbiB5b3VyIG1ldGFk
YXRhIHJlcG9zaXRvcnkuJykKCiAgICBwYXRjaGRpciA9IG9zLnBhdGguam9pbihzcmNzdWJkaXIs
ICdwYXRjaGVzJykKICAgIGlmIG9zLnBhdGguZXhpc3RzKHBhdGNoZGlyKToKICAgICAgICBpZiBv
cy5saXN0ZGlyKHBhdGNoZGlyKToKICAgICAgICAgICAgZC5zZXRWYXIoJ1BBVENIX0hBU19QQVRD
SEVTX0RJUicsICcxJykKICAgICAgICBlbHNlOgogICAgICAgICAgICBvcy5ybWRpcihwYXRjaGRp
cikKfQoKCnB5dGhvbiBwYXRjaF90YXNrX3Bvc3RmdW5jICgpIHsKICAgICMgUHJlZnVuYyBmb3Ig
dGFzayBmdW5jdGlvbnMgYmV0d2VlbiBkb191bnBhY2sgYW5kIGRvX3BhdGNoCiAgICBpbXBvcnQg
b2UucGF0Y2gKICAgIGltcG9ydCBzaHV0aWwKICAgIGZ1bmMgPSBkLmdldFZhcignQkJfUlVOVEFT
SycpCiAgICBzcmNzdWJkaXIgPSBkLmdldFZhcignUycpCgogICAgaWYgb3MucGF0aC5leGlzdHMo
c3Jjc3ViZGlyKToKICAgICAgICBpZiBmdW5jID09ICdkb19wYXRjaCc6CiAgICAgICAgICAgIGhh
c3BhdGNoZXMgPSAoZC5nZXRWYXIoJ1BBVENIX0hBU19QQVRDSEVTX0RJUicpID09ICcxJykKICAg
ICAgICAgICAgcGF0Y2hkaXIgPSBvcy5wYXRoLmpvaW4oc3Jjc3ViZGlyLCAncGF0Y2hlcycpCiAg
ICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHBhdGNoZGlyKToKICAgICAgICAgICAgICAgIHNo
dXRpbC5ybXRyZWUocGF0Y2hkaXIpCiAgICAgICAgICAgICAgICBpZiBoYXNwYXRjaGVzOgogICAg
ICAgICAgICAgICAgICAgIHN0ZG91dCwgXyA9IGJiLnByb2Nlc3MucnVuKCdnaXQgc3RhdHVzIC0t
cG9yY2VsYWluIHBhdGNoZXMnLCBjd2Q9c3Jjc3ViZGlyKQogICAgICAgICAgICAgICAgICAgIGlm
IHN0ZG91dDoKICAgICAgICAgICAgICAgICAgICAgICAgYmIucHJvY2Vzcy5ydW4oJ2dpdCBjaGVj
a291dCBwYXRjaGVzJywgY3dkPXNyY3N1YmRpcikKICAgICAgICBzdGRvdXQsIF8gPSBiYi5wcm9j
ZXNzLnJ1bignZ2l0IHN0YXR1cyAtLXBvcmNlbGFpbiAuJywgY3dkPXNyY3N1YmRpcikKICAgICAg
ICBpZiBzdGRvdXQ6CiAgICAgICAgICAgIHVzZXJvcHRpb25zID0gW10KICAgICAgICAgICAgb2Uu
cGF0Y2guR2l0QXBwbHlUcmVlLmdpdENvbW1hbmRVc2VyT3B0aW9ucyh1c2Vyb3B0aW9ucywgZD1k
KQogICAgICAgICAgICBiYi5wcm9jZXNzLnJ1bignZ2l0IGFkZCAuOyBnaXQgJXMgY29tbWl0IC1h
IC1tICJDb21taXR0aW5nIGNoYW5nZXMgZnJvbSAlc1xuXG4lcyInICUgKCcgJy5qb2luKHVzZXJv
cHRpb25zKSwgZnVuYywgb2UucGF0Y2guR2l0QXBwbHlUcmVlLmlnbm9yZV9jb21taXRfcHJlZml4
ICsgJyAtIGZyb20gJXMnICUgZnVuYyksIGN3ZD1zcmNzdWJkaXIpCn0KCgpweXRob24gcGVyZm9y
bV9wYWNrYWdlY29weSAoKSB7CiAgICBlbmFibGVkID0gb2UuZGF0YS50eXBlZF92YWx1ZSgnTElD
RU5TRV9DUkVBVEVfUEFDS0FHRScsIGQpCiAgICBpZiBkLmdldFZhcignQ0xBU1NPVkVSUklERScp
ID09ICdjbGFzcy10YXJnZXQnIGFuZCBlbmFibGVkOgogICAgICAgIGxpY19maWxlc19wYXRocyA9
IGZpbmRfbGljZW5zZV9maWxlcyhkKQoKICAgICAgICAjIExJQ0VOU0VfRklMRVNfRElSRUNUT1JZ
IHN0YXJ0cyB3aXRoICcvJyBzbyBvcy5wYXRoLmpvaW4gY2Fubm90IGJlIHVzZWQgdG8gam9pbiBE
IGFuZCBMSUNFTlNFX0ZJTEVTX0RJUkVDVE9SWQogICAgICAgIGRlc3RkaXIgPSBkLmdldFZhcign
RCcpICsgb3MucGF0aC5qb2luKGQuZ2V0VmFyKCdMSUNFTlNFX0ZJTEVTX0RJUkVDVE9SWScpLCBk
LmdldFZhcignUE4nKSkKICAgICAgICBjb3B5X2xpY2Vuc2VfZmlsZXMobGljX2ZpbGVzX3BhdGhz
LCBkZXN0ZGlyKQogICAgICAgIGFkZF9wYWNrYWdlX2FuZF9maWxlcyhkKQogICAgaW1wb3J0IHN1
YnByb2Nlc3MKCiAgICBkZXN0ID0gZC5nZXRWYXIoJ0QnKQogICAgZHZhciA9IGQuZ2V0VmFyKCdQ
S0dEJykKCiAgICAjIFN0YXJ0IGJ5IHBhY2thZ2UgcG9wdWxhdGlvbiBieSB0YWtpbmcgYSBjb3B5
IG9mIHRoZSBpbnN0YWxsZWQKICAgICMgZmlsZXMgdG8gb3BlcmF0ZSBvbgogICAgIyBQcmVzZXJ2
ZSBzcGFyc2UgZmlsZXMgYW5kIGhhcmQgbGlua3MKICAgIGNtZCA9ICd0YXIgLWNmIC0gLUMgJXMg
LXAgLVMgLiB8IHRhciAteGYgLSAtQyAlcycgJSAoZGVzdCwgZHZhcikKICAgIHN1YnByb2Nlc3Mu
Y2hlY2tfb3V0cHV0KGNtZCwgc2hlbGw9VHJ1ZSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQoK
ICAgICMgcmVwbGFjZSBSUEFUSHMgZm9yIHRoZSBuYXRpdmVzZGsgYmluYXJpZXMsIHRvIG1ha2Ug
dGhlbSByZWxvY2F0YWJsZQogICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlc2Rr
JywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3MtY2FuYWRpYW4nLCBkKToKICAg
ICAgICBycGF0aF9yZXBsYWNlIChkdmFyLCBkKQp9CgoKcHl0aG9uIHBlcmZvcm1fcGFja2FnZWNv
cHlfcHJlcGVuZCAoKSB7Ck5vbmV9CgoKcHl0aG9uIHBva3lfdXBkYXRlX2JibGF5ZXJzY29uZiAo
KSB7CiAgICBjdXJyZW50X3ZlcnNpb24gPSBpbnQoZC5nZXRWYXIoJ1BPS1lfQkJMQVlFUlNfQ09O
Rl9WRVJTSU9OJywgVHJ1ZSkgb3IgLTEpCiAgICBsYXRlc3RfdmVyc2lvbiA9IGludChkLmdldFZh
cignUkVRVUlSRURfUE9LWV9CQkxBWUVSU19DT05GX1ZFUlNJT04nLCBUcnVlKSBvciAtMSkKICAg
IGlmIGN1cnJlbnRfdmVyc2lvbiA9PSAtMSBvciBsYXRlc3RfdmVyc2lvbiA9PSAtMToKICAgICAg
ICAjIG9uZSBvciB0aGUgb3RoZXIgbWlzc2luZyA9PiBtYWxmb3JtZWQgY29uZmlndXJhdGlvbgog
ICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoIllvdSBuZWVkIHRvIHVwZGF0ZSBiYmxh
eWVycy5jb25mIG1hbnVhbGx5IGZvciB0aGlzIHZlcnNpb24gdHJhbnNpdGlvbiIpCgogICAgc3Vj
Y2VzcyA9IFRydWUKCiAgICAjIGNoZWNrIGZvciBvdXQgb2YgZGF0ZSB0ZW1wbGF0ZWNvbmYuY2Zn
IGZpbGUKICAgIGxpbmVzID0gW10KICAgIGZuID0gb3MucGF0aC5qb2luKGQuZ2V0VmFyKCdUT1BE
SVInLCBUcnVlKSwgJ2NvbmYvdGVtcGxhdGVjb25mLmNmZycpCgogICAgbGluZXMgPSBzYW5pdHlf
Y29uZl9yZWFkKGZuKQogICAgaW5kZXgsIG1ldGFfeW9jdG9fbGluZSA9IHNhbml0eV9jb25mX2Zp
bmRfbGluZShyJ15tZXRhLXlvY3RvLycsIGxpbmVzKQogICAgaWYgbWV0YV95b2N0b19saW5lOgog
ICAgICAgIGxpbmVzW2luZGV4XSA9IG1ldGFfeW9jdG9fbGluZS5yZXBsYWNlKCdtZXRhLXlvY3Rv
JywgJ21ldGEtcG9reScpCiAgICAgICAgd2l0aCBvcGVuKGZuLCAidyIpIGFzIGY6CiAgICAgICAg
ICAgIGYud3JpdGUoJycuam9pbihsaW5lcykpCiAgICAgICAgYmIubm90ZSgiWW91ciBjb25mL3Rl
bXBsYXRlY29uZi5jZmcgZmlsZSB3YXMgdXBkYXRlZCBmcm9tIG1ldGEteW9jdG8gdG8gbWV0YS1w
b2t5IikKCiAgICAjIGFkZCBhbnkgYWRkaXRpb25hbCBsYXllciBjaGVja3MvY2hhbmdlcyBoZXJl
CgogICAgaWYgc3VjY2VzczoKICAgICAgICBjdXJyZW50X3ZlcnNpb24gPSBsYXRlc3RfdmVyc2lv
bgogICAgICAgIGJibGF5ZXJzX2ZuID0gYmJsYXllcnNfY29uZl9maWxlKGQpCiAgICAgICAgbGlu
ZXMgPSBzYW5pdHlfY29uZl9yZWFkKGJibGF5ZXJzX2ZuKQogICAgICAgICMgc2FuaXR5X2NvbmZf
dXBkYXRlKCkgd2lsbCBlcnJvbmVvdXNseSBmaW5kIGEgbWF0Y2ggd2hlbiB0aGUgdmFyIG5hbWUK
ICAgICAgICAjIGlzIHVzZWQgaW4gYSBjb21tZW50LCBzbyBkbyBvdXIgb3duIGhlcmUuIFRoZSBj
b2RlIGJlbG93IGNhbiBiZQogICAgICAgICMgcmVtb3ZlZCB3aGVuIHNhbml0eV9jb25mX3VwZGF0
ZSgpIGlzIGZpeGVkIGluIE9FLUNvcmUuCiAgICAgICAgI3Nhbml0eV9jb25mX3VwZGF0ZShiYmxh
eWVyc19mbiwgbGluZXMsICdQT0tZX0JCTEFZRVJTX0NPTkZfVkVSU0lPTicsIGN1cnJlbnRfdmVy
c2lvbikKICAgICAgICBpbmRleCwgbGluZSA9IHNhbml0eV9jb25mX2ZpbmRfbGluZShyJ15QT0tZ
X0JCTEFZRVJTX0NPTkZfVkVSU0lPTicsIGxpbmVzKQogICAgICAgIGxpbmVzW2luZGV4XSA9ICdQ
T0tZX0JCTEFZRVJTX0NPTkZfVkVSU0lPTiA9ICIlZCJcbicgJSBjdXJyZW50X3ZlcnNpb24KICAg
ICAgICB3aXRoIG9wZW4oYmJsYXllcnNfZm4sICJ3IikgYXMgZjoKICAgICAgICAgICAgZi53cml0
ZSgnJy5qb2luKGxpbmVzKSkKICAgICAgICBiYi5ub3RlKCJZb3VyIGNvbmYvYmJsYXllcnMuY29u
ZiBoYXMgYmVlbiBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQuIikKICAgIGlmIHN1Y2Nlc3M6CiAgICAg
ICAgcmV0dXJuCgogICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigiWW91IG5lZWQgdG8gdXBk
YXRlIGJibGF5ZXJzLmNvbmYgbWFudWFsbHkgZm9yIHRoaXMgdmVyc2lvbiB0cmFuc2l0aW9uIikK
fQoKCnB5dGhvbiBwb3B1bGF0ZV9saWNfcWFfY2hlY2tzdW0gKCkgewogICAgIiIiCiAgICBDaGVj
ayBmb3IgY2hhbmdlcyBpbiB0aGUgbGljZW5zZSBmaWxlcy4KICAgICIiIgogICAgc2FuZSA9IFRy
dWUKCiAgICBsaWNfZmlsZXMgPSBkLmdldFZhcignTElDX0ZJTEVTX0NIS1NVTScpIG9yICcnCiAg
ICBsaWMgPSBkLmdldFZhcignTElDRU5TRScpCiAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCgogICAg
aWYgbGljID09ICJDTE9TRUQiOgogICAgICAgIHJldHVybgoKICAgIGlmIG5vdCBsaWNfZmlsZXMg
YW5kIGQuZ2V0VmFyKCdTUkNfVVJJJyk6CiAgICAgICAgc2FuZSAmPSBwYWNrYWdlX3FhX2hhbmRs
ZV9lcnJvcigibGljZW5zZS1jaGVja3N1bSIsIHBuICsgIjogUmVjaXBlIGZpbGUgZmV0Y2hlcyBm
aWxlcyBhbmQgZG9lcyBub3QgaGF2ZSBsaWNlbnNlIGZpbGUgaW5mb3JtYXRpb24gKExJQ19GSUxF
U19DSEtTVU0pIiwgZCkKCiAgICBzcmNkaXIgPSBkLmdldFZhcignUycpCiAgICBjb3JlYmFzZV9s
aWNlbnNlZmlsZSA9IGQuZ2V0VmFyKCdDT1JFQkFTRScpICsgIi9MSUNFTlNFIgogICAgZm9yIHVy
bCBpbiBsaWNfZmlsZXMuc3BsaXQoKToKICAgICAgICB0cnk6CiAgICAgICAgICAgICh0eXBlLCBo
b3N0LCBwYXRoLCB1c2VyLCBwc3dkLCBwYXJtKSA9IGJiLmZldGNoLmRlY29kZXVybCh1cmwpCiAg
ICAgICAgZXhjZXB0IGJiLmZldGNoLk1hbGZvcm1lZFVybDoKICAgICAgICAgICAgc2FuZSAmPSBw
YWNrYWdlX3FhX2hhbmRsZV9lcnJvcigibGljZW5zZS1jaGVja3N1bSIsIHBuICsgIjogTElDX0ZJ
TEVTX0NIS1NVTSBjb250YWlucyBhbiBpbnZhbGlkIFVSTDogIiArIHVybCwgZCkKICAgICAgICAg
ICAgY29udGludWUKICAgICAgICBzcmNsaWNmaWxlID0gb3MucGF0aC5qb2luKHNyY2RpciwgcGF0
aCkKICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoc3JjbGljZmlsZSk6CiAgICAgICAgICAg
IHNhbmUgJj0gcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImxpY2Vuc2UtY2hlY2tzdW0iLCBwbiAr
ICI6IExJQ19GSUxFU19DSEtTVU0gcG9pbnRzIHRvIGFuIGludmFsaWQgZmlsZTogIiArIHNyY2xp
Y2ZpbGUsIGQpCiAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgIGlmIChzcmNsaWNmaWxlID09
IGNvcmViYXNlX2xpY2Vuc2VmaWxlKToKICAgICAgICAgICAgYmIud2FybigiJHtDT1JFQkFTRX0v
TElDRU5TRSBpcyBub3QgYSB2YWxpZCBsaWNlbnNlIGZpbGUsIHBsZWFzZSB1c2UgJyR7Q09NTU9O
X0xJQ0VOU0VfRElSfS9NSVQnIGZvciBhIE1JVCBMaWNlbnNlIGZpbGUgaW4gTElDX0ZJTEVTX0NI
S1NVTS4gVGhpcyB3aWxsIGJlY29tZSBhbiBlcnJvciBpbiB0aGUgZnV0dXJlIikKCiAgICAgICAg
cmVjaXBlbWQ1ID0gcGFybS5nZXQoJ21kNScsICcnKQogICAgICAgIGJlZ2lubGluZSwgZW5kbGlu
ZSA9IDAsIDAKICAgICAgICBpZiAnYmVnaW5saW5lJyBpbiBwYXJtOgogICAgICAgICAgICBiZWdp
bmxpbmUgPSBpbnQocGFybVsnYmVnaW5saW5lJ10pCiAgICAgICAgaWYgJ2VuZGxpbmUnIGluIHBh
cm06CiAgICAgICAgICAgIGVuZGxpbmUgPSBpbnQocGFybVsnZW5kbGluZSddKQoKICAgICAgICBp
ZiAobm90IGJlZ2lubGluZSkgYW5kIChub3QgZW5kbGluZSk6CiAgICAgICAgICAgIG1kNWNoa3N1
bSA9IGJiLnV0aWxzLm1kNV9maWxlKHNyY2xpY2ZpbGUpCiAgICAgICAgICAgIHdpdGggb3Blbihz
cmNsaWNmaWxlLCAncicsIGVycm9ycz0ncmVwbGFjZScpIGFzIGY6CiAgICAgICAgICAgICAgICBs
aWNlbnNlID0gZi5yZWFkKCkuc3BsaXRsaW5lcygpCiAgICAgICAgZWxzZToKICAgICAgICAgICAg
d2l0aCBvcGVuKHNyY2xpY2ZpbGUsICdyYicpIGFzIGY6CiAgICAgICAgICAgICAgICBpbXBvcnQg
aGFzaGxpYgogICAgICAgICAgICAgICAgbGluZW5vID0gMAogICAgICAgICAgICAgICAgbGljZW5z
ZSA9IFtdCiAgICAgICAgICAgICAgICBtID0gaGFzaGxpYi5tZDUoKQogICAgICAgICAgICAgICAg
Zm9yIGxpbmUgaW4gZjoKICAgICAgICAgICAgICAgICAgICBsaW5lbm8gKz0gMQogICAgICAgICAg
ICAgICAgICAgIGlmIChsaW5lbm8gPj0gYmVnaW5saW5lKToKICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKChsaW5lbm8gPD0gZW5kbGluZSkgb3Igbm90IGVuZGxpbmUpOgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbS51cGRhdGUobGluZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxpY2Vuc2UuYXBwZW5kKGxpbmUuZGVjb2RlKCd1dGYtOCcsIGVycm9ycz0ncmVwbGFjZScpLnJz
dHJpcCgpKQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgIG1kNWNoa3N1bSA9IG0uaGV4ZGlnZXN0KCkK
ICAgICAgICBpZiByZWNpcGVtZDUgPT0gbWQ1Y2hrc3VtOgogICAgICAgICAgICBiYi5ub3RlIChw
biArICI6IG1kNSBjaGVja3N1bSBtYXRjaGVkIGZvciAiLCB1cmwpCiAgICAgICAgZWxzZToKICAg
ICAgICAgICAgaWYgcmVjaXBlbWQ1OgogICAgICAgICAgICAgICAgbXNnID0gcG4gKyAiOiBUaGUg
TElDX0ZJTEVTX0NIS1NVTSBkb2VzIG5vdCBtYXRjaCBmb3IgIiArIHVybAogICAgICAgICAgICAg
ICAgbXNnID0gbXNnICsgIlxuIiArIHBuICsgIjogVGhlIG5ldyBtZDUgY2hlY2tzdW0gaXMgIiAr
IG1kNWNoa3N1bQogICAgICAgICAgICAgICAgbWF4X2xpbmVzID0gaW50KGQuZ2V0VmFyKCdRQV9N
QVhfTElDRU5TRV9MSU5FUycpIG9yIDIwKQogICAgICAgICAgICAgICAgaWYgbm90IGxpY2Vuc2Ug
b3IgbGljZW5zZVstMV0gIT0gJyc6CiAgICAgICAgICAgICAgICAgICAgIyBFbnN1cmUgdGhhdCBv
dXIgbGljZW5zZSB0ZXh0IGVuZHMgd2l0aCBhIGxpbmUgYnJlYWsKICAgICAgICAgICAgICAgICAg
ICAjICh3aWxsIGJlIGFkZGVkIHdpdGggam9pbigpIGJlbG93KS4KICAgICAgICAgICAgICAgICAg
ICBsaWNlbnNlLmFwcGVuZCgnJykKICAgICAgICAgICAgICAgIHJlbW92ZSA9IGxlbihsaWNlbnNl
KSAtIG1heF9saW5lcwogICAgICAgICAgICAgICAgaWYgcmVtb3ZlID4gMDoKICAgICAgICAgICAg
ICAgICAgICBzdGFydCA9IG1heF9saW5lcyAvLyAyCiAgICAgICAgICAgICAgICAgICAgZW5kID0g
c3RhcnQgKyByZW1vdmUgLSAxCiAgICAgICAgICAgICAgICAgICAgZGVsIGxpY2Vuc2Vbc3RhcnQ6
ZW5kXQogICAgICAgICAgICAgICAgICAgIGxpY2Vuc2UuaW5zZXJ0KHN0YXJ0LCAnLi4uJykKICAg
ICAgICAgICAgICAgIG1zZyA9IG1zZyArICJcbiIgKyBwbiArICI6IEhlcmUgaXMgdGhlIHNlbGVj
dGVkIGxpY2Vuc2UgdGV4dDoiICsgXAogICAgICAgICAgICAgICAgICAgICAgICAiXG4iICsgXAog
ICAgICAgICAgICAgICAgICAgICAgICAiezp2XjcwfSIuZm9ybWF0KCIgYmVnaW5saW5lPSVkICIg
JSBiZWdpbmxpbmUgaWYgYmVnaW5saW5lIGVsc2UgIiIpICsgXAogICAgICAgICAgICAgICAgICAg
ICAgICAiXG4iICsgIlxuIi5qb2luKGxpY2Vuc2UpICsgXAogICAgICAgICAgICAgICAgICAgICAg
ICAiezpeXjcwfSIuZm9ybWF0KCIgZW5kbGluZT0lZCAiICUgZW5kbGluZSBpZiBlbmRsaW5lIGVs
c2UgIiIpCiAgICAgICAgICAgICAgICBpZiBiZWdpbmxpbmU6CiAgICAgICAgICAgICAgICAgICAg
aWYgZW5kbGluZToKICAgICAgICAgICAgICAgICAgICAgICAgc3JjZmlsZWRlc2MgPSAiJXMgKGxp
bmVzICVkIHRocm91Z2ggdG8gJWQpIiAlIChzcmNsaWNmaWxlLCBiZWdpbmxpbmUsIGVuZGxpbmUp
CiAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgc3JjZmls
ZWRlc2MgPSAiJXMgKGJlZ2lubmluZyBvbiBsaW5lICVkKSIgJSAoc3JjbGljZmlsZSwgYmVnaW5s
aW5lKQogICAgICAgICAgICAgICAgZWxpZiBlbmRsaW5lOgogICAgICAgICAgICAgICAgICAgIHNy
Y2ZpbGVkZXNjID0gIiVzIChlbmRpbmcgb24gbGluZSAlZCkiICUgKHNyY2xpY2ZpbGUsIGVuZGxp
bmUpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIHNyY2ZpbGVkZXNj
ID0gc3JjbGljZmlsZQogICAgICAgICAgICAgICAgbXNnID0gbXNnICsgIlxuIiArIHBuICsgIjog
Q2hlY2sgaWYgdGhlIGxpY2Vuc2UgaW5mb3JtYXRpb24gaGFzIGNoYW5nZWQgaW4gJXMgdG8gdmVy
aWZ5IHRoYXQgdGhlIExJQ0VOU0UgdmFsdWUgXCIlc1wiIHJlbWFpbnMgdmFsaWQiICUgKHNyY2Zp
bGVkZXNjLCBsaWMpCgogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgbXNnID0gcG4g
KyAiOiBMSUNfRklMRVNfQ0hLU1VNIGlzIG5vdCBzcGVjaWZpZWQgZm9yICIgKyAgdXJsCiAgICAg
ICAgICAgICAgICBtc2cgPSBtc2cgKyAiXG4iICsgcG4gKyAiOiBUaGUgbWQ1IGNoZWNrc3VtIGlz
ICIgKyBtZDVjaGtzdW0KICAgICAgICAgICAgc2FuZSAmPSBwYWNrYWdlX3FhX2hhbmRsZV9lcnJv
cigibGljZW5zZS1jaGVja3N1bSIsIG1zZywgZCkKCiAgICBpZiBub3Qgc2FuZToKICAgICAgICBi
Yi5mYXRhbCgiRmF0YWwgUUEgZXJyb3JzIGZvdW5kLCBmYWlsaW5nIHRhc2suIikKfQoKCnB5dGhv
biBwb3B1bGF0ZV9wYWNrYWdlcyAoKSB7CiAgICBpbXBvcnQgZ2xvYiwgcmUKCiAgICB3b3JrZGly
ID0gZC5nZXRWYXIoJ1dPUktESVInKQogICAgb3V0ZGlyID0gZC5nZXRWYXIoJ0RFUExPWV9ESVIn
KQogICAgZHZhciA9IGQuZ2V0VmFyKCdQS0dEJykKICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BB
Q0tBR0VTJykuc3BsaXQoKQogICAgcG4gPSBkLmdldFZhcignUE4nKQoKICAgIGJiLnV0aWxzLm1r
ZGlyaGllcihvdXRkaXIpCiAgICBvcy5jaGRpcihkdmFyKQoKICAgIGF1dG9kZWJ1ZyA9IG5vdCAo
ZC5nZXRWYXIoIk5PQVVUT1BBQ0tBR0VERUJVRyIpIG9yIEZhbHNlKQoKICAgIHNwbGl0X3NvdXJj
ZV9wYWNrYWdlID0gKGQuZ2V0VmFyKCdQQUNLQUdFX0RFQlVHX1NQTElUX1NUWUxFJykgPT0gJ2Rl
YnVnLXdpdGgtc3JjcGtnJykKCiAgICAjIElmIGRlYnVnLXdpdGgtc3JjcGtnIG1vZGUgaXMgZW5h
YmxlZCB0aGVuIGFkZCB0aGUgc291cmNlIHBhY2thZ2UgaWYgaXQKICAgICMgZG9lc24ndCBleGlz
dCBhbmQgYWRkIHRoZSBzb3VyY2UgZmlsZSBjb250ZW50cyB0byB0aGUgc291cmNlIHBhY2thZ2Uu
CiAgICBpZiBzcGxpdF9zb3VyY2VfcGFja2FnZToKICAgICAgICBzcmNfcGFja2FnZV9uYW1lID0g
KCclcy1zcmMnICUgZC5nZXRWYXIoJ1BOJykpCiAgICAgICAgaWYgbm90IHNyY19wYWNrYWdlX25h
bWUgaW4gcGFja2FnZXM6CiAgICAgICAgICAgIHBhY2thZ2VzLmFwcGVuZChzcmNfcGFja2FnZV9u
YW1lKQogICAgICAgIGQuc2V0VmFyKCdGSUxFU18lcycgJSBzcmNfcGFja2FnZV9uYW1lLCAnL3Vz
ci9zcmMvZGVidWcnKQoKICAgICMgU2FuaXR5IGNoZWNrIFBBQ0tBR0VTIGZvciBkdXBsaWNhdGVz
CiAgICAjIFNhbml0eSBzaG91bGQgYmUgbW92ZWQgdG8gc2FuaXR5LmJiY2xhc3Mgb25jZSB3ZSBo
YXZlIHRoZSBpbmZyYXN0cnVjdHVyZQogICAgcGFja2FnZV9kaWN0ID0ge30KCiAgICBmb3IgaSwg
cGtnIGluIGVudW1lcmF0ZShwYWNrYWdlcyk6CiAgICAgICAgaWYgcGtnIGluIHBhY2thZ2VfZGlj
dDoKICAgICAgICAgICAgbXNnID0gIiVzIGlzIGxpc3RlZCBpbiBQQUNLQUdFUyBtdWx0aXBsZSB0
aW1lcywgdGhpcyBsZWFkcyB0byBwYWNrYWdpbmcgZXJyb3JzLiIgJSBwa2cKICAgICAgICAgICAg
cGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoInBhY2thZ2VzLWxpc3QiLCBtc2csIGQpCiAgICAgICAg
IyBFbnN1cmUgdGhlIHNvdXJjZSBwYWNrYWdlIGdldHMgdGhlIGNoYW5jZSB0byBwaWNrIHVwIHRo
ZSBzb3VyY2UgZmlsZXMKICAgICAgICAjIGJlZm9yZSB0aGUgZGVidWcgcGFja2FnZSBieSBvcmRl
cmluZyBpdCBmaXJzdCBpbiBQQUNLQUdFUy4gV2hldGhlciBpdAogICAgICAgICMgYWN0dWFsbHkg
cGlja3MgdXAgYW55IHNvdXJjZSBmaWxlcyBpcyBjb250cm9sbGVkIGJ5CiAgICAgICAgIyBQQUNL
QUdFX0RFQlVHX1NQTElUX1NUWUxFLgogICAgICAgIGVsaWYgcGtnLmVuZHN3aXRoKCItc3JjIik6
CiAgICAgICAgICAgIHBhY2thZ2VfZGljdFtwa2ddID0gKDEwLCBpKQogICAgICAgIGVsaWYgYXV0
b2RlYnVnIGFuZCBwa2cuZW5kc3dpdGgoIi1kYmciKToKICAgICAgICAgICAgcGFja2FnZV9kaWN0
W3BrZ10gPSAoMzAsIGkpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcGFja2FnZV9kaWN0W3Br
Z10gPSAoNTAsIGkpCiAgICBwYWNrYWdlcyA9IHNvcnRlZChwYWNrYWdlX2RpY3Qua2V5cygpLCBr
ZXk9cGFja2FnZV9kaWN0LmdldCkKICAgIGQuc2V0VmFyKCdQQUNLQUdFUycsICcgJy5qb2luKHBh
Y2thZ2VzKSkKICAgIHBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcpCgogICAgc2VlbiA9IFtd
CgogICAgIyBvcy5ta2RpciBtYXNrcyB0aGUgcGVybWlzc2lvbnMgd2l0aCB1bWFzayBzbyB3ZSBo
YXZlIHRvIHVuc2V0IGl0IGZpcnN0CiAgICBvbGR1bWFzayA9IG9zLnVtYXNrKDApCgogICAgZGVi
dWcgPSBbXQogICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIGNwYXRoLndhbGsoZHZhcik6CiAg
ICAgICAgZGlyID0gcm9vdFtsZW4oZHZhcik6XQogICAgICAgIGlmIG5vdCBkaXI6CiAgICAgICAg
ICAgIGRpciA9IG9zLnNlcAogICAgICAgIGZvciBmIGluIChmaWxlcyArIGRpcnMpOgogICAgICAg
ICAgICBwYXRoID0gIi4iICsgb3MucGF0aC5qb2luKGRpciwgZikKICAgICAgICAgICAgaWYgIi8u
ZGVidWcvIiBpbiBwYXRoIG9yIHBhdGguZW5kc3dpdGgoIi8uZGVidWciKToKICAgICAgICAgICAg
ICAgIGRlYnVnLmFwcGVuZChwYXRoKQoKICAgIGZvciBwa2cgaW4gcGFja2FnZXM6CiAgICAgICAg
cm9vdCA9IG9zLnBhdGguam9pbihwa2dkZXN0LCBwa2cpCiAgICAgICAgYmIudXRpbHMubWtkaXJo
aWVyKHJvb3QpCgogICAgICAgIGZpbGVzdmFyID0gZC5nZXRWYXIoJ0ZJTEVTXyVzJyAlIHBrZykg
b3IgIiIKICAgICAgICBpZiAiLy8iIGluIGZpbGVzdmFyOgogICAgICAgICAgICBtc2cgPSAiRklM
RVMgdmFyaWFibGUgZm9yIHBhY2thZ2UgJXMgY29udGFpbnMgJy8vJyB3aGljaCBpcyBpbnZhbGlk
LiBBdHRlbXB0aW5nIHRvIGZpeCB0aGlzIGJ1dCB5b3Ugc2hvdWxkIGNvcnJlY3QgdGhlIG1ldGFk
YXRhLlxuIiAlIHBrZwogICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigiZmlsZXMt
aW52YWxpZCIsIG1zZywgZCkKICAgICAgICAgICAgZmlsZXN2YXIucmVwbGFjZSgiLy8iLCAiLyIp
CgogICAgICAgIG9yaWdmaWxlcyA9IGZpbGVzdmFyLnNwbGl0KCkKICAgICAgICBmaWxlcywgc3lt
bGlua19wYXRocyA9IGZpbGVzX2Zyb21fZmlsZXZhcnMob3JpZ2ZpbGVzKQoKICAgICAgICBpZiBh
dXRvZGVidWcgYW5kIHBrZy5lbmRzd2l0aCgiLWRiZyIpOgogICAgICAgICAgICBmaWxlcy5leHRl
bmQoZGVidWcpCgogICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAgICBpZiAobm90
IGNwYXRoLmlzbGluayhmaWxlKSkgYW5kIChub3QgY3BhdGguZXhpc3RzKGZpbGUpKToKICAgICAg
ICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIGlmIGZpbGUgaW4gc2VlbjoKICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIHNlZW4uYXBwZW5kKGZpbGUpCgogICAgICAgICAg
ICBkZWYgbWtkaXIoc3JjLCBkZXN0LCBwKToKICAgICAgICAgICAgICAgIHNyYyA9IG9zLnBhdGgu
am9pbihzcmMsIHApCiAgICAgICAgICAgICAgICBkZXN0ID0gb3MucGF0aC5qb2luKGRlc3QsIHAp
CiAgICAgICAgICAgICAgICBmc3RhdCA9IGNwYXRoLnN0YXQoc3JjKQogICAgICAgICAgICAgICAg
b3MubWtkaXIoZGVzdCkKICAgICAgICAgICAgICAgIG9zLmNobW9kKGRlc3QsIGZzdGF0LnN0X21v
ZGUpCiAgICAgICAgICAgICAgICBvcy5jaG93bihkZXN0LCBmc3RhdC5zdF91aWQsIGZzdGF0LnN0
X2dpZCkKICAgICAgICAgICAgICAgIGlmIHAgbm90IGluIHNlZW46CiAgICAgICAgICAgICAgICAg
ICAgc2Vlbi5hcHBlbmQocCkKICAgICAgICAgICAgICAgIGNwYXRoLnVwZGF0ZWNhY2hlKGRlc3Qp
CgogICAgICAgICAgICBkZWYgbWtkaXJfcmVjdXJzZShzcmMsIGRlc3QsIHBhdGhzKToKICAgICAg
ICAgICAgICAgIGlmIGNwYXRoLmV4aXN0cyhkZXN0ICsgJy8nICsgcGF0aHMpOgogICAgICAgICAg
ICAgICAgICAgIHJldHVybgogICAgICAgICAgICAgICAgd2hpbGUgcGF0aHMuc3RhcnRzd2l0aCgi
Li8iKToKICAgICAgICAgICAgICAgICAgICBwYXRocyA9IHBhdGhzWzI6XQogICAgICAgICAgICAg
ICAgcCA9ICIuIgogICAgICAgICAgICAgICAgZm9yIGMgaW4gcGF0aHMuc3BsaXQoIi8iKToKICAg
ICAgICAgICAgICAgICAgICBwID0gb3MucGF0aC5qb2luKHAsIGMpCiAgICAgICAgICAgICAgICAg
ICAgaWYgbm90IGNwYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZGVzdCwgcCkpOgogICAgICAgICAg
ICAgICAgICAgICAgICBta2RpcihzcmMsIGRlc3QsIHApCgogICAgICAgICAgICBpZiBjcGF0aC5p
c2RpcihmaWxlKSBhbmQgbm90IGNwYXRoLmlzbGluayhmaWxlKToKICAgICAgICAgICAgICAgIG1r
ZGlyX3JlY3Vyc2UoZHZhciwgcm9vdCwgZmlsZSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlCgog
ICAgICAgICAgICBta2Rpcl9yZWN1cnNlKGR2YXIsIHJvb3QsIG9zLnBhdGguZGlybmFtZShmaWxl
KSkKICAgICAgICAgICAgZnBhdGggPSBvcy5wYXRoLmpvaW4ocm9vdCxmaWxlKQogICAgICAgICAg
ICBpZiBub3QgY3BhdGguaXNsaW5rKGZpbGUpOgogICAgICAgICAgICAgICAgb3MubGluayhmaWxl
LCBmcGF0aCkKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIHJldCA9IGJiLnV0
aWxzLmNvcHlmaWxlKGZpbGUsIGZwYXRoKQogICAgICAgICAgICBpZiByZXQgaXMgRmFsc2Ugb3Ig
cmV0ID09IDA6CiAgICAgICAgICAgICAgICBiYi5mYXRhbCgiRmlsZSBwb3B1bGF0aW9uIGZhaWxl
ZCIpCgogICAgICAgICMgQ2hlY2sgaWYgc3ltbGluayBwYXRocyBleGlzdAogICAgICAgIGZvciBm
aWxlIGluIHN5bWxpbmtfcGF0aHM6CiAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhv
cy5wYXRoLmpvaW4ocm9vdCxmaWxlKSk6CiAgICAgICAgICAgICAgICBiYi5mYXRhbCgiRmlsZSAn
JXMnIGNhbm5vdCBiZSBwYWNrYWdlZCBpbnRvICclcycgYmVjYXVzZSBpdHMgIgogICAgICAgICAg
ICAgICAgICAgICAgICAgInBhcmVudCBkaXJlY3Rvcnkgc3RydWN0dXJlIGRvZXMgbm90IGV4aXN0
LiBPbmUgb2YgIgogICAgICAgICAgICAgICAgICAgICAgICAgIml0cyBwYXJlbnQgZGlyZWN0b3Jp
ZXMgaXMgYSBzeW1saW5rIHdob3NlIHRhcmdldCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAi
ZGlyZWN0b3J5IGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUgcGFja2FnZS4iICUKICAgICAgICAgICAg
ICAgICAgICAgICAgIChmaWxlLCBwa2cpKQoKICAgIG9zLnVtYXNrKG9sZHVtYXNrKQogICAgb3Mu
Y2hkaXIod29ya2RpcikKCiAgICAjIEhhbmRsZSBMSUNFTlNFX0VYQ0xVU0lPTgogICAgcGFja2Fn
ZV9saXN0ID0gW10KICAgIGZvciBwa2cgaW4gcGFja2FnZXM6CiAgICAgICAgaWYgZC5nZXRWYXIo
J0xJQ0VOU0VfRVhDTFVTSU9OLScgKyBwa2cpOgogICAgICAgICAgICBtc2cgPSAiJXMgaGFzIGFu
IGluY29tcGF0aWJsZSBsaWNlbnNlLiBFeGNsdWRpbmcgZnJvbSBwYWNrYWdpbmcuIiAlIHBrZwog
ICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigiaW5jb21wYXRpYmxlLWxpY2Vuc2Ui
LCBtc2csIGQpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcGFja2FnZV9saXN0LmFwcGVuZChw
a2cpCiAgICBkLnNldFZhcignUEFDS0FHRVMnLCAnICcuam9pbihwYWNrYWdlX2xpc3QpKQoKICAg
IHVuc2hpcHBlZCA9IFtdCiAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gY3BhdGgud2Fsayhk
dmFyKToKICAgICAgICBkaXIgPSByb290W2xlbihkdmFyKTpdCiAgICAgICAgaWYgbm90IGRpcjoK
ICAgICAgICAgICAgZGlyID0gb3Muc2VwCiAgICAgICAgZm9yIGYgaW4gKGZpbGVzICsgZGlycyk6
CiAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oZGlyLCBmKQogICAgICAgICAgICBpZiAo
Jy4nICsgcGF0aCkgbm90IGluIHNlZW46CiAgICAgICAgICAgICAgICB1bnNoaXBwZWQuYXBwZW5k
KHBhdGgpCgogICAgaWYgdW5zaGlwcGVkICE9IFtdOgogICAgICAgIG1zZyA9IHBuICsgIjogRmls
ZXMvZGlyZWN0b3JpZXMgd2VyZSBpbnN0YWxsZWQgYnV0IG5vdCBzaGlwcGVkIGluIGFueSBwYWNr
YWdlOiIKICAgICAgICBpZiAiaW5zdGFsbGVkLXZzLXNoaXBwZWQiIGluIChkLmdldFZhcignSU5T
QU5FX1NLSVBfJyArIHBuKSBvciAiIikuc3BsaXQoKToKICAgICAgICAgICAgYmIubm90ZSgiUGFj
a2FnZSAlcyBza2lwcGluZyBRQSB0ZXN0czogaW5zdGFsbGVkLXZzLXNoaXBwZWQiICUgcG4pCiAg
ICAgICAgZWxzZToKICAgICAgICAgICAgZm9yIGYgaW4gdW5zaGlwcGVkOgogICAgICAgICAgICAg
ICAgbXNnID0gbXNnICsgIlxuICAiICsgZgogICAgICAgICAgICBtc2cgPSBtc2cgKyAiXG5QbGVh
c2Ugc2V0IEZJTEVTIHN1Y2ggdGhhdCB0aGVzZSBpdGVtcyBhcmUgcGFja2FnZWQuIEFsdGVybmF0
aXZlbHkgaWYgdGhleSBhcmUgdW5uZWVkZWQsIGF2b2lkIGluc3RhbGxpbmcgdGhlbSBvciBkZWxl
dGUgdGhlbSB3aXRoaW4gZG9faW5zdGFsbC5cbiIKICAgICAgICAgICAgbXNnID0gbXNnICsgIiVz
OiAlZCBpbnN0YWxsZWQgYW5kIG5vdCBzaGlwcGVkIGZpbGVzLiIgJSAocG4sIGxlbih1bnNoaXBw
ZWQpKQogICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigiaW5zdGFsbGVkLXZzLXNo
aXBwZWQiLCBtc2csIGQpCn0KCgpweXRob24gcHJlbGlua19zZXR1cCAoKSB7CiAgICBvZS51dGls
cy53cml0ZV9sZF9zb19jb25mKGQpCn0KCgpweXRob24gcHJvY2Vzc19kaXIgKCkgewpkZWYgcHJv
Y2Vzc19kaXIocm9vdGRpciwgZGlyZWN0b3J5LCBkLCBicmVha19oYXJkbGlua3MgPSBGYWxzZSk6
CiAgICBpbXBvcnQgc3RhdAoKICAgIHJvb3RkaXIgPSBvcy5wYXRoLm5vcm1wYXRoKHJvb3RkaXIp
CiAgICBjbWQgPSBkLmV4cGFuZCgnJHtDSFJQQVRIX0JJTn0nKQogICAgdG1wZGlyID0gb3MucGF0
aC5ub3JtcGF0aChkLmdldFZhcignVE1QRElSJywgRmFsc2UpKQogICAgYmFzZXByZWZpeCA9IG9z
LnBhdGgubm9ybXBhdGgoZC5leHBhbmQoJyR7YmFzZV9wcmVmaXh9JykpCiAgICBob3N0b3MgPSBk
LmdldFZhcigiSE9TVF9PUyIpCgogICAgI2JiLmRlYnVnKCJDaGVja2luZyAlcyBmb3IgYmluYXJp
ZXMgdG8gcHJvY2VzcyIgJSBkaXJlY3RvcnkpCiAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGly
ZWN0b3J5KToKICAgICAgICByZXR1cm4KCiAgICBpZiAibGludXgiIGluIGhvc3RvczoKICAgICAg
ICBwcm9jZXNzX2ZpbGUgPSBwcm9jZXNzX2ZpbGVfbGludXgKICAgIGVsaWYgImRhcndpbiIgaW4g
aG9zdG9zOgogICAgICAgIHByb2Nlc3NfZmlsZSA9IHByb2Nlc3NfZmlsZV9kYXJ3aW4KICAgIGVs
c2U6CiAgICAgICAgIyBSZWxvY2F0aW9ucyBub3Qgc3VwcG9ydGVkCiAgICAgICAgcmV0dXJuCgog
ICAgZGlycyA9IG9zLmxpc3RkaXIoZGlyZWN0b3J5KQogICAgZm9yIGZpbGUgaW4gZGlyczoKICAg
ICAgICBmcGF0aCA9IGRpcmVjdG9yeSArICIvIiArIGZpbGUKICAgICAgICBmcGF0aCA9IG9zLnBh
dGgubm9ybXBhdGgoZnBhdGgpCiAgICAgICAgaWYgb3MucGF0aC5pc2xpbmsoZnBhdGgpOgogICAg
ICAgICAgICAjIFNraXAgc3ltbGlua3MKICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgaWYg
b3MucGF0aC5pc2RpcihmcGF0aCk6CiAgICAgICAgICAgIHByb2Nlc3NfZGlyKHJvb3RkaXIsIGZw
YXRoLCBkLCBicmVha19oYXJkbGlua3MgPSBicmVha19oYXJkbGlua3MpCiAgICAgICAgZWxzZToK
ICAgICAgICAgICAgI2JiLm5vdGUoIlRlc3RpbmcgJXMgZm9yIHJlbG9jYXRhYmlsaXR5IiAlIGZw
YXRoKQoKICAgICAgICAgICAgIyBXZSBuZWVkIHJlYWQgYW5kIHdyaXRlIHBlcm1pc3Npb25zIGZv
ciBjaHJwYXRoLCBpZiB3ZSBkb24ndCBoYXZlCiAgICAgICAgICAgICMgdGhlbSB0aGVuIHNldCB0
aGVtIHRlbXBvcmFyaWx5LiBUYWtlIGEgY29weSBvZiB0aGUgZmlsZXMKICAgICAgICAgICAgIyBw
ZXJtaXNzaW9ucyBzbyB0aGF0IHdlIGNhbiByZXN0b3JlIHRoZW0gYWZ0ZXJ3YXJkcy4KICAgICAg
ICAgICAgcGVybXMgPSBvcy5zdGF0KGZwYXRoKVtzdGF0LlNUX01PREVdCiAgICAgICAgICAgIGlm
IG9zLmFjY2VzcyhmcGF0aCwgb3MuV19PS3xvcy5SX09LKToKICAgICAgICAgICAgICAgIHBlcm1z
ID0gTm9uZQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIyBUZW1wb3JhcmlseSBt
YWtlIHRoZSBmaWxlIHdyaXRlYWJsZSBzbyB3ZSBjYW4gY2hycGF0aCBpdAogICAgICAgICAgICAg
ICAgb3MuY2htb2QoZnBhdGgsIHBlcm1zfHN0YXQuU19JUldYVSkKCiAgICAgICAgICAgIHByb2Nl
c3NfZmlsZShjbWQsIGZwYXRoLCByb290ZGlyLCBiYXNlcHJlZml4LCB0bXBkaXIsIGQsIGJyZWFr
X2hhcmRsaW5rcyA9IGJyZWFrX2hhcmRsaW5rcykKCiAgICAgICAgICAgIGlmIHBlcm1zOgogICAg
ICAgICAgICAgICAgb3MuY2htb2QoZnBhdGgsIHBlcm1zKQp9CgoKcHl0aG9uIHByb2Nlc3NfZmls
ZV9kYXJ3aW4gKCkgewpkZWYgcHJvY2Vzc19maWxlX2RhcndpbihjbWQsIGZwYXRoLCByb290ZGly
LCBiYXNlcHJlZml4LCB0bXBkaXIsIGQsIGJyZWFrX2hhcmRsaW5rcyA9IEZhbHNlKToKICAgIGlt
cG9ydCBzdWJwcm9jZXNzIGFzIHN1YgoKICAgIHAgPSBzdWIuUG9wZW4oW2QuZXhwYW5kKCIke0hP
U1RfUFJFRklYfW90b29sIiksICctTCcsIGZwYXRoXSxzdGRvdXQ9c3ViLlBJUEUsc3RkZXJyPXN1
Yi5QSVBFKQogICAgb3V0LCBlcnIgPSBwLmNvbW11bmljYXRlKCkKICAgICMgSWYgcmV0dXJuZWQg
c3VjY2Vzc2Z1bGx5LCBwcm9jZXNzIHN0ZG91dCBmb3IgcmVzdWx0cwogICAgaWYgcC5yZXR1cm5j
b2RlICE9IDA6CiAgICAgICAgcmV0dXJuCiAgICBmb3IgbCBpbiBvdXQuc3BsaXQoIlxuIik6CiAg
ICAgICAgaWYgIihjb21wYXRpYmlsaXR5IiBub3QgaW4gbDoKICAgICAgICAgICAgY29udGludWUK
ICAgICAgICBycGF0aCA9IGwucGFydGl0aW9uKCIoY29tcGF0aWJpbGl0eSIpWzBdLnN0cmlwKCkK
ICAgICAgICBpZiBiYXNlcHJlZml4IG5vdCBpbiBycGF0aDoKICAgICAgICAgICAgY29udGludWUK
CiAgICAgICAgaWYgYnJlYWtfaGFyZGxpbmtzOgogICAgICAgICAgICBiYi51dGlscy5icmVha19o
YXJkbGlua3MoZnBhdGgpCgogICAgICAgIG5ld3BhdGggPSAiQGxvYWRlcl9wYXRoLyIgKyBvcy5w
YXRoLnJlbHBhdGgocnBhdGgsIG9zLnBhdGguZGlybmFtZShmcGF0aC5yZXBsYWNlKHJvb3RkaXIs
ICIvIikpKQogICAgICAgIHAgPSBzdWIuUG9wZW4oW2QuZXhwYW5kKCIke0hPU1RfUFJFRklYfWlu
c3RhbGxfbmFtZV90b29sIiksICctY2hhbmdlJywgcnBhdGgsIG5ld3BhdGgsIGZwYXRoXSxzdGRv
dXQ9c3ViLlBJUEUsc3RkZXJyPXN1Yi5QSVBFKQogICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5p
Y2F0ZSgpCn0KCgpweXRob24gcHJvY2Vzc19maWxlX2xpbnV4ICgpIHsKZGVmIHByb2Nlc3NfZmls
ZV9saW51eChjbWQsIGZwYXRoLCByb290ZGlyLCBiYXNlcHJlZml4LCB0bXBkaXIsIGQsIGJyZWFr
X2hhcmRsaW5rcyA9IEZhbHNlKToKICAgIGltcG9ydCBzdWJwcm9jZXNzIGFzIHN1YgoKICAgIHAg
PSBzdWIuUG9wZW4oW2NtZCwgJy1sJywgZnBhdGhdLHN0ZG91dD1zdWIuUElQRSxzdGRlcnI9c3Vi
LlBJUEUpCiAgICBvdXQsIGVyciA9IHAuY29tbXVuaWNhdGUoKQogICAgIyBJZiByZXR1cm5lZCBz
dWNjZXNzZnVsbHksIHByb2Nlc3Mgc3Rkb3V0IGZvciByZXN1bHRzCiAgICBpZiBwLnJldHVybmNv
ZGUgIT0gMDoKICAgICAgICByZXR1cm4KCiAgICBvdXQgPSBvdXQuZGVjb2RlKCd1dGYtOCcpCgog
ICAgIyBIYW5kbGUgUlVOUEFUSCBhcyB3ZWxsIGFzIFJQQVRICiAgICBvdXQgPSBvdXQucmVwbGFj
ZSgiUlVOUEFUSD0iLCJSUEFUSD0iKQogICAgIyBUaHJvdyBhd2F5IGV2ZXJ5dGhpbmcgb3RoZXIg
dGhhbiB0aGUgcnBhdGggbGlzdAogICAgY3Vycl9ycGF0aCA9IG91dC5wYXJ0aXRpb24oIlJQQVRI
PSIpWzJdCiAgICAjYmIubm90ZSgiQ3VycmVudCBycGF0aCBmb3IgJXMgaXMgJXMiICUgKGZwYXRo
LCBjdXJyX3JwYXRoLnN0cmlwKCkpKQogICAgcnBhdGhzID0gY3Vycl9ycGF0aC5zdHJpcCgpLnNw
bGl0KCI6IikKICAgIG5ld19ycGF0aHMgPSBbXQogICAgbW9kaWZpZWQgPSBGYWxzZQogICAgZm9y
IHJwYXRoIGluIHJwYXRoczoKICAgICAgICAjIElmIHJwYXRoIGlzIGFscmVhZHkgZHluYW1pYyBj
b3B5IGl0IHRvIG5ld19ycGF0aCBhbmQgY29udGludWUKICAgICAgICBpZiBycGF0aC5maW5kKCIk
T1JJR0lOIikgIT0gLTE6CiAgICAgICAgICAgIG5ld19ycGF0aHMuYXBwZW5kKHJwYXRoKQogICAg
ICAgICAgICBjb250aW51ZQogICAgICAgIHJwYXRoID0gIG9zLnBhdGgubm9ybXBhdGgocnBhdGgp
CiAgICAgICAgaWYgYmFzZXByZWZpeCBub3QgaW4gcnBhdGggYW5kIHRtcGRpciBub3QgaW4gcnBh
dGg6CiAgICAgICAgICAgICMgU2tpcCBzdGFuZGFyZCBzZWFyY2ggcGF0aHMKICAgICAgICAgICAg
aWYgcnBhdGggaW4gWycvbGliJywgJy91c3IvbGliJywgJy9saWI2NC8nLCAnL3Vzci9saWI2NCdd
OgogICAgICAgICAgICAgICAgYmIud2FybigiU2tpcHBpbmcgUlBBVEggJXMgYXMgaXMgYSBzdGFu
ZGFyZCBzZWFyY2ggcGF0aCBmb3IgJXMiICUgKHJwYXRoLCBmcGF0aCkpCiAgICAgICAgICAgICAg
ICBtb2RpZmllZCA9IFRydWUKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIG5l
d19ycGF0aHMuYXBwZW5kKHJwYXRoKQogICAgICAgICAgICBjb250aW51ZQogICAgICAgIG5ld19y
cGF0aHMuYXBwZW5kKCIkT1JJR0lOLyIgKyBvcy5wYXRoLnJlbHBhdGgocnBhdGgsIG9zLnBhdGgu
ZGlybmFtZShmcGF0aC5yZXBsYWNlKHJvb3RkaXIsICIvIikpKSkKICAgICAgICBtb2RpZmllZCA9
IFRydWUKCiAgICAjIGlmIHdlIGhhdmUgbW9kaWZpZWQgc29tZSBycGF0aHMgY2FsbCBjaHJwYXRo
IHRvIHVwZGF0ZSB0aGUgYmluYXJ5CiAgICBpZiBtb2RpZmllZDoKICAgICAgICBpZiBicmVha19o
YXJkbGlua3M6CiAgICAgICAgICAgIGJiLnV0aWxzLmJyZWFrX2hhcmRsaW5rcyhmcGF0aCkKCiAg
ICAgICAgYXJncyA9ICI6Ii5qb2luKG5ld19ycGF0aHMpCiAgICAgICAgI2JiLm5vdGUoIlNldHRp
bmcgcnBhdGggZm9yICVzIHRvICVzIiAlKGZwYXRoLCBhcmdzKSkKICAgICAgICBwID0gc3ViLlBv
cGVuKFtjbWQsICctcicsIGFyZ3MsIGZwYXRoXSxzdGRvdXQ9c3ViLlBJUEUsc3RkZXJyPXN1Yi5Q
SVBFKQogICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiAgICAgICAgaWYgcC5yZXR1
cm5jb2RlICE9IDA6CiAgICAgICAgICAgIGJiLmZhdGFsKCIlczogY2hycGF0aCBjb21tYW5kIGZh
aWxlZCB3aXRoIGV4aXQgY29kZSAlZDpcbiVzJXMiICUgKGQuZ2V0VmFyKCdQTicpLCBwLnJldHVy
bmNvZGUsIG91dCwgZXJyKSkKfQoKCnB5dGhvbiBwc3RhZ2luZ19mZXRjaCAoKSB7CmRlZiBwc3Rh
Z2luZ19mZXRjaChzc3RhdGVmZXRjaCwgZCk6CiAgICBpbXBvcnQgYmIuZmV0Y2gyCgogICAgIyBP
bmx5IHRyeSBhbmQgZmV0Y2ggaWYgdGhlIHVzZXIgaGFzIGNvbmZpZ3VyZWQgYSBtaXJyb3IKICAg
IG1pcnJvcnMgPSBkLmdldFZhcignU1NUQVRFX01JUlJPUlMnKQogICAgaWYgbm90IG1pcnJvcnM6
CiAgICAgICAgcmV0dXJuCgogICAgIyBDb3B5IHRoZSBkYXRhIG9iamVjdCBhbmQgb3ZlcnJpZGUg
RExfRElSIGFuZCBTUkNfVVJJCiAgICBsb2NhbGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkK
CiAgICBkbGRpciA9IGxvY2FsZGF0YS5leHBhbmQoIiR7U1NUQVRFX0RJUn0iKQogICAgYmIudXRp
bHMubWtkaXJoaWVyKGRsZGlyKQoKICAgIGxvY2FsZGF0YS5kZWxWYXIoJ01JUlJPUlMnKQogICAg
bG9jYWxkYXRhLnNldFZhcignRklMRVNQQVRIJywgZGxkaXIpCiAgICBsb2NhbGRhdGEuc2V0VmFy
KCdETF9ESVInLCBkbGRpcikKICAgIGxvY2FsZGF0YS5zZXRWYXIoJ1BSRU1JUlJPUlMnLCBtaXJy
b3JzKQoKICAgICMgaWYgQkJfTk9fTkVUV09SSyBpcyBzZXQgYnV0IHdlIGFsc28gaGF2ZSBTU1RB
VEVfTUlSUk9SX0FMTE9XX05FVFdPUkssCiAgICAjIHdlJ2xsIHdhbnQgdG8gYWxsb3cgbmV0d29y
ayBhY2Nlc3MgZm9yIHRoZSBjdXJyZW50IHNldCBvZiBmZXRjaGVzLgogICAgaWYgYmIudXRpbHMu
dG9fYm9vbGVhbihsb2NhbGRhdGEuZ2V0VmFyKCdCQl9OT19ORVRXT1JLJykpIGFuZCBcCiAgICAg
ICAgICAgIGJiLnV0aWxzLnRvX2Jvb2xlYW4obG9jYWxkYXRhLmdldFZhcignU1NUQVRFX01JUlJP
Ul9BTExPV19ORVRXT1JLJykpOgogICAgICAgIGxvY2FsZGF0YS5kZWxWYXIoJ0JCX05PX05FVFdP
UksnKQoKICAgICMgVHJ5IGEgZmV0Y2ggZnJvbSB0aGUgc3N0YXRlIG1pcnJvciwgaWYgaXQgZmFp
bHMganVzdCByZXR1cm4gYW5kCiAgICAjIHdlIHdpbGwgYnVpbGQgdGhlIHBhY2thZ2UKICAgIHVy
aXMgPSBbJ2ZpbGU6Ly97MH07ZG93bmxvYWRmaWxlbmFtZT17MH0nLmZvcm1hdChzc3RhdGVmZXRj
aCksCiAgICAgICAgICAgICdmaWxlOi8vezB9LnNpZ2luZm87ZG93bmxvYWRmaWxlbmFtZT17MH0u
c2lnaW5mbycuZm9ybWF0KHNzdGF0ZWZldGNoKV0KICAgIGlmIGJiLnV0aWxzLnRvX2Jvb2xlYW4o
ZC5nZXRWYXIoIlNTVEFURV9WRVJJRllfU0lHIiksIEZhbHNlKToKICAgICAgICB1cmlzICs9IFsn
ZmlsZTovL3swfS5zaWc7ZG93bmxvYWRmaWxlbmFtZT17MH0uc2lnJy5mb3JtYXQoc3N0YXRlZmV0
Y2gpXQoKICAgIGZvciBzcmN1cmkgaW4gdXJpczoKICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdT
UkNfVVJJJywgc3JjdXJpKQogICAgICAgIHRyeToKICAgICAgICAgICAgZmV0Y2hlciA9IGJiLmZl
dGNoMi5GZXRjaChbc3JjdXJpXSwgbG9jYWxkYXRhLCBjYWNoZT1GYWxzZSkKICAgICAgICAgICAg
ZmV0Y2hlci5kb3dubG9hZCgpCgogICAgICAgIGV4Y2VwdCBiYi5mZXRjaDIuQkJGZXRjaEV4Y2Vw
dGlvbjoKICAgICAgICAgICAgYnJlYWsKfQoKCnB5dGhvbiBxYV9jaGVja19zdGFnZWQgKCkgewpk
ZWYgcWFfY2hlY2tfc3RhZ2VkKHBhdGgsZCk6CiAgICAiIiIKICAgIENoZWNrIHN0YWdlZCBsYSBh
bmQgcGMgZmlsZXMgZm9yIGNvbW1vbiBwcm9ibGVtcyBsaWtlIHJlZmVyZW5jZXMgdG8gdGhlIHdv
cmsKICAgIGRpcmVjdG9yeS4KCiAgICBBcyB0aGlzIGlzIHJ1biBhZnRlciBldmVyeSBzdGFnZSB3
ZSBzaG91bGQgYmUgYWJsZSB0byBmaW5kIHRoZSBvbmUKICAgIHJlc3BvbnNpYmxlIGZvciB0aGUg
ZXJyb3JzIGVhc2lseSBldmVuIGlmIHdlIGxvb2sgYXQgZXZlcnkgLnBjIGFuZCAubGEgZmlsZS4K
ICAgICIiIgoKICAgIHNhbmUgPSBUcnVlCiAgICB0bXBkaXIgPSBkLmdldFZhcignVE1QRElSJykK
ICAgIHdvcmtkaXIgPSBvcy5wYXRoLmpvaW4odG1wZGlyLCAid29yayIpCiAgICByZWNpcGVzeXNy
b290ID0gZC5nZXRWYXIoIlJFQ0lQRV9TWVNST09UIikKCiAgICBpZiBiYi5kYXRhLmluaGVyaXRz
X2NsYXNzKCJuYXRpdmUiLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCJjcm9zcyIsIGQp
OgogICAgICAgIHBrZ2NvbmZpZ2NoZWNrID0gd29ya2RpcgogICAgZWxzZToKICAgICAgICBwa2dj
b25maWdjaGVjayA9IHRtcGRpcgoKICAgIHNraXAgPSAoZC5nZXRWYXIoJ0lOU0FORV9TS0lQJykg
b3IgIiIpLnNwbGl0KCkKICAgIHNraXBfbGEgPSBGYWxzZQogICAgaWYgJ2xhJyBpbiBza2lwOgog
ICAgICAgIGJiLm5vdGUoIlJlY2lwZSAlcyBza2lwcGluZyBxYSBjaGVja2luZzogbGEiICUgZC5n
ZXRWYXIoJ1BOJykpCiAgICAgICAgc2tpcF9sYSA9IFRydWUKCiAgICBza2lwX3BrZ2NvbmZpZyA9
IEZhbHNlCiAgICBpZiAncGtnY29uZmlnJyBpbiBza2lwOgogICAgICAgIGJiLm5vdGUoIlJlY2lw
ZSAlcyBza2lwcGluZyBxYSBjaGVja2luZzogcGtnY29uZmlnIiAlIGQuZ2V0VmFyKCdQTicpKQog
ICAgICAgIHNraXBfcGtnY29uZmlnID0gVHJ1ZQoKICAgICMgZmluZCBhbGwgLmxhIGFuZCAucGMg
ZmlsZXMKICAgICMgcmVhZCB0aGUgY29udGVudAogICAgIyBhbmQgY2hlY2sgZm9yIHN0dWZmIHRo
YXQgbG9va3Mgd3JvbmcKICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHBhdGgp
OgogICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAgICBwYXRoID0gb3MucGF0aC5q
b2luKHJvb3QsZmlsZSkKICAgICAgICAgICAgaWYgZmlsZS5lbmRzd2l0aCgiLmxhIikgYW5kIG5v
dCBza2lwX2xhOgogICAgICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgpIGFzIGY6CiAgICAgICAg
ICAgICAgICAgICAgZmlsZV9jb250ZW50ID0gZi5yZWFkKCkKICAgICAgICAgICAgICAgICAgICBm
aWxlX2NvbnRlbnQgPSBmaWxlX2NvbnRlbnQucmVwbGFjZShyZWNpcGVzeXNyb290LCAiIikKICAg
ICAgICAgICAgICAgICAgICBpZiB3b3JrZGlyIGluIGZpbGVfY29udGVudDoKICAgICAgICAgICAg
ICAgICAgICAgICAgZXJyb3JfbXNnID0gIiVzIGZhaWxlZCBzYW5pdHkgdGVzdCAod29ya2Rpcikg
aW4gcGF0aCAlcyIgJSAoZmlsZSxyb290KQogICAgICAgICAgICAgICAgICAgICAgICBzYW5lICY9
IHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJsYSIsIGVycm9yX21zZywgZCkKICAgICAgICAgICAg
ZWxpZiBmaWxlLmVuZHN3aXRoKCIucGMiKSBhbmQgbm90IHNraXBfcGtnY29uZmlnOgogICAgICAg
ICAgICAgICAgd2l0aCBvcGVuKHBhdGgpIGFzIGY6CiAgICAgICAgICAgICAgICAgICAgZmlsZV9j
b250ZW50ID0gZi5yZWFkKCkKICAgICAgICAgICAgICAgICAgICBmaWxlX2NvbnRlbnQgPSBmaWxl
X2NvbnRlbnQucmVwbGFjZShyZWNpcGVzeXNyb290LCAiIikKICAgICAgICAgICAgICAgICAgICBp
ZiBwa2djb25maWdjaGVjayBpbiBmaWxlX2NvbnRlbnQ6CiAgICAgICAgICAgICAgICAgICAgICAg
IGVycm9yX21zZyA9ICIlcyBmYWlsZWQgc2FuaXR5IHRlc3QgKHRtcGRpcikgaW4gcGF0aCAlcyIg
JSAoZmlsZSxyb290KQogICAgICAgICAgICAgICAgICAgICAgICBzYW5lICY9IHBhY2thZ2VfcWFf
aGFuZGxlX2Vycm9yKCJwa2djb25maWciLCBlcnJvcl9tc2csIGQpCgogICAgcmV0dXJuIHNhbmUK
CiMgUnVuIGFsbCBwYWNrYWdlLXdpZGUgd2FybmZ1bmNzIGFuZCBlcnJvcmZ1bmNzfQoKCnB5dGhv
biByYWlzZV9zYW5pdHlfZXJyb3IgKCkgewpkZWYgcmFpc2Vfc2FuaXR5X2Vycm9yKG1zZywgZCwg
bmV0d29ya19lcnJvcj1GYWxzZSk6CiAgICBpZiBkLmdldFZhcigiU0FOSVRZX1VTRV9FVkVOVFMi
KSA9PSAiMSI6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBiYi5ldmVudC5maXJlKGJiLmV2ZW50
LlNhbml0eUNoZWNrRmFpbGVkKG1zZywgbmV0d29ya19lcnJvciksIGQpCiAgICAgICAgZXhjZXB0
IFR5cGVFcnJvcjoKICAgICAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5TYW5pdHlDaGVj
a0ZhaWxlZChtc2cpLCBkKQogICAgICAgIHJldHVybgoKICAgIGJiLmZhdGFsKCIiIiBPRS1jb3Jl
J3MgY29uZmlnIHNhbml0eSBjaGVja2VyIGRldGVjdGVkIGEgcG90ZW50aWFsIG1pc2NvbmZpZ3Vy
YXRpb24uCiAgICBFaXRoZXIgZml4IHRoZSBjYXVzZSBvZiB0aGlzIGVycm9yIG9yIGF0IHlvdXIg
b3duIHJpc2sgZGlzYWJsZSB0aGUgY2hlY2tlciAoc2VlIHNhbml0eS5jb25mKS4KICAgIEZvbGxv
d2luZyBpcyB0aGUgbGlzdCBvZiBwb3RlbnRpYWwgcHJvYmxlbXMgLyBhZHZpc29yaWVzOgoKICAg
ICVzIiIiICUgbXNnKQoKIyBDaGVjayBmbGFncyBhc3NvY2lhdGVkIHdpdGggYSB0dW5pbmcufQoK
CnB5dGhvbiByZWFkX2xpYmRlcF9maWxlcyAoKSB7CmRlZiByZWFkX2xpYmRlcF9maWxlcyhkKToK
ICAgIHBrZ2xpYmRlcHMgPSB7fQogICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKS5z
cGxpdCgpCiAgICBmb3IgcGtnIGluIHBhY2thZ2VzOgogICAgICAgIHBrZ2xpYmRlcHNbcGtnXSA9
IHt9CiAgICAgICAgZm9yIGV4dGVuc2lvbiBpbiAiLnNobGliZGVwcyIsICIucGNkZXBzIiwgIi5j
bGlsaWJkZXBzIjoKICAgICAgICAgICAgZGVwc2ZpbGUgPSBkLmV4cGFuZCgiJHtQS0dERVNUfS8i
ICsgcGtnICsgZXh0ZW5zaW9uKQogICAgICAgICAgICBpZiBvcy5hY2Nlc3MoZGVwc2ZpbGUsIG9z
LlJfT0spOgogICAgICAgICAgICAgICAgZmQgPSBvcGVuKGRlcHNmaWxlKQogICAgICAgICAgICAg
ICAgbGluZXMgPSBmZC5yZWFkbGluZXMoKQogICAgICAgICAgICAgICAgZmQuY2xvc2UoKQogICAg
ICAgICAgICAgICAgZm9yIGwgaW4gbGluZXM6CiAgICAgICAgICAgICAgICAgICAgbC5yc3RyaXAo
KQogICAgICAgICAgICAgICAgICAgIGRlcHMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9u
czIobCkKICAgICAgICAgICAgICAgICAgICBmb3IgZGVwIGluIGRlcHM6CiAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIG5vdCBkZXAgaW4gcGtnbGliZGVwc1twa2ddOgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGtnbGliZGVwc1twa2ddW2RlcF0gPSBkZXBzW2RlcF0KICAgIHJldHVybiBw
a2dsaWJkZXBzCn0KCgpweXRob24gcmVhZF9zaGxpYmRlcHMgKCkgewogICAgcGtnbGliZGVwcyA9
IHJlYWRfbGliZGVwX2ZpbGVzKGQpCgogICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMn
KS5zcGxpdCgpCiAgICBmb3IgcGtnIGluIHBhY2thZ2VzOgogICAgICAgIHJkZXBlbmRzID0gYmIu
dXRpbHMuZXhwbG9kZV9kZXBfdmVyc2lvbnMyKGQuZ2V0VmFyKCdSREVQRU5EU18nICsgcGtnKSBv
ciAiIikKICAgICAgICBmb3IgZGVwIGluIHNvcnRlZChwa2dsaWJkZXBzW3BrZ10pOgogICAgICAg
ICAgICAjIEFkZCB0aGUgZGVwIGlmIGl0J3Mgbm90IGFscmVhZHkgdGhlcmUsIG9yIGlmIG5vIGNv
bXBhcmlzb24gaXMgc2V0CiAgICAgICAgICAgIGlmIGRlcCBub3QgaW4gcmRlcGVuZHM6CiAgICAg
ICAgICAgICAgICByZGVwZW5kc1tkZXBdID0gW10KICAgICAgICAgICAgZm9yIHYgaW4gcGtnbGli
ZGVwc1twa2ddW2RlcF06CiAgICAgICAgICAgICAgICBpZiB2IG5vdCBpbiByZGVwZW5kc1tkZXBd
OgogICAgICAgICAgICAgICAgICAgIHJkZXBlbmRzW2RlcF0uYXBwZW5kKHYpCiAgICAgICAgZC5z
ZXRWYXIoJ1JERVBFTkRTXycgKyBwa2csIGJiLnV0aWxzLmpvaW5fZGVwcyhyZGVwZW5kcywgY29t
bWFzZXA9RmFsc2UpKQp9CgoKcHl0aG9uIHJlYWRfc3VicGFja2FnZV9tZXRhZGF0YSAoKSB7CiAg
ICBpbXBvcnQgb2UucGFja2FnZWRhdGEKCiAgICB2YXJzID0gewogICAgICAgICJQTiIgOiBkLmdl
dFZhcignUE4nKSwKICAgICAgICAiUEUiIDogZC5nZXRWYXIoJ1BFJyksCiAgICAgICAgIlBWIiA6
IGQuZ2V0VmFyKCdQVicpLAogICAgICAgICJQUiIgOiBkLmdldFZhcignUFInKSwKICAgIH0KCiAg
ICBkYXRhID0gb2UucGFja2FnZWRhdGEucmVhZF9wa2dkYXRhKHZhcnNbIlBOIl0sIGQpCgogICAg
Zm9yIGtleSBpbiBkYXRhLmtleXMoKToKICAgICAgICBkLnNldFZhcihrZXksIGRhdGFba2V5XSkK
CiAgICBmb3IgcGtnIGluIGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCk6CiAgICAgICAgc2Rh
dGEgPSBvZS5wYWNrYWdlZGF0YS5yZWFkX3N1YnBrZ2RhdGEocGtnLCBkKQogICAgICAgIGZvciBr
ZXkgaW4gc2RhdGEua2V5cygpOgogICAgICAgICAgICBpZiBrZXkgaW4gdmFyczoKICAgICAgICAg
ICAgICAgIGlmIHNkYXRhW2tleV0gIT0gdmFyc1trZXldOgogICAgICAgICAgICAgICAgICAgIGlm
IGtleSA9PSAiUE4iOgogICAgICAgICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiUmVjaXBlICVz
IGlzIHRyeWluZyB0byBjcmVhdGUgcGFja2FnZSAlcyB3aGljaCB3YXMgYWxyZWFkeSB3cml0dGVu
IGJ5IHJlY2lwZSAlcy4gVGhpcyB3aWxsIGNhdXNlIGNvcnJ1cHRpb24sIHBsZWFzZSByZXNvbHZl
IHRoaXMgYW5kIG9ubHkgcHJvdmlkZSB0aGUgcGFja2FnZSBmcm9tIG9uZSByZWNpcGUgb3IgdGhl
IG90aGVyIG9yIG9ubHkgYnVpbGQgb25lIG9mIHRoZSByZWNpcGVzLiIgJSAodmFyc1trZXldLCBw
a2csIHNkYXRhW2tleV0pKQogICAgICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJSZWNpcGUgJXMg
aXMgdHJ5aW5nIHRvIGNoYW5nZSAlcyBmcm9tICclcycgdG8gJyVzJy4gVGhpcyB3aWxsIGNhdXNl
IGRvX3BhY2thZ2Vfd3JpdGVfKiBmYWlsdXJlcyBzaW5jZSB0aGUgaW5jb3JyZWN0IGRhdGEgd2ls
bCBiZSB1c2VkIGFuZCB0aGV5IHdpbGwgYmUgdW5hYmxlIHRvIGZpbmQgdGhlIHJpZ2h0IHdvcmtk
aXIuIiAlICh2YXJzWyJQTiJdLCBrZXksIHZhcnNba2V5XSwgc2RhdGFba2V5XSkpCiAgICAgICAg
ICAgICAgICBjb250aW51ZQogICAgICAgICAgICAjCiAgICAgICAgICAgICMgSWYgd2Ugc2V0IHVu
c3VmZml4ZWQgdmFyaWFibGVzIGhlcmUgdGhlcmUgaXMgYSBjaGFuY2UgdGhleSBjb3VsZCBjbG9i
YmVyIG92ZXJyaWRlIHZlcnNpb25zCiAgICAgICAgICAgICMgb2YgdGhhdCB2YXJpYWJsZSwgZS5n
LiBERVNDUklQVElPTiBjb3VsZCBjbG9iYmVyIERFU0NSSVBUSU9OXzxwa2duYW1lPgogICAgICAg
ICAgICAjIFdlIHRoZXJlZm9yZSBkb24ndCBjbG9iYmVyIGZvciB0aGUgdW5zdWZmaXhlZCB2YXJp
YWJsZSB2ZXJzaW9ucwogICAgICAgICAgICAjCiAgICAgICAgICAgIGlmIGtleS5lbmRzd2l0aCgi
XyIgKyBwa2cpOgogICAgICAgICAgICAgICAgZC5zZXRWYXIoa2V5LCBzZGF0YVtrZXldKQogICAg
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgZC5zZXRWYXIoa2V5LCBzZGF0YVtrZXldLCBw
YXJzaW5nPVRydWUpCn0KCgpweXRob24gcmV0dXJuX3NwZHggKCkgewpkZWYgcmV0dXJuX3NwZHgo
ZCwgbGljZW5zZSk6CiAgICAiIiIKICAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgc3BkeCBt
YXBwaW5nIG9mIGEgbGljZW5zZSBpZiBpdCBleGlzdHMuCiAgICAgIiIiCiAgICByZXR1cm4gZC5n
ZXRWYXJGbGFnKCdTUERYTElDRU5TRU1BUCcsIGxpY2Vuc2UpCn0KCgpweXRob24gcnBhdGhfcmVw
bGFjZSAoKSB7CmRlZiBycGF0aF9yZXBsYWNlIChwYXRoLCBkKToKICAgIGJpbmRpcnMgPSBkLmV4
cGFuZCgiJHtiaW5kaXJ9ICR7c2JpbmRpcn0gJHtiYXNlX3NiaW5kaXJ9ICR7YmFzZV9iaW5kaXJ9
ICR7bGliZGlyfSAke2Jhc2VfbGliZGlyfSAke2xpYmV4ZWNkaXJ9ICR7UFJFUFJPQ0VTU19SRUxP
Q0FURV9ESVJTfSIpLnNwbGl0KCkKCiAgICBmb3IgYmluZGlyIGluIGJpbmRpcnM6CiAgICAgICAg
I2JiLm5vdGUgKCJQcm9jZXNzaW5nIGRpcmVjdG9yeSAiICsgYmluZGlyKQogICAgICAgIGRpcmVj
dG9yeSA9IHBhdGggKyAiLyIgKyBiaW5kaXIKICAgICAgICBwcm9jZXNzX2RpciAocGF0aCwgZGly
ZWN0b3J5LCBkKQp9CgoKcHl0aG9uIHJ1bl9idWlsZHN0YXRzICgpIHsKICAgIGltcG9ydCBiYi5i
dWlsZAogICAgaW1wb3J0IGJiLmV2ZW50CiAgICBpbXBvcnQgdGltZSwgc3VicHJvY2VzcywgcGxh
dGZvcm0KCiAgICBibiA9IGQuZ2V0VmFyKCdCVUlMRE5BTUUnKQogICAgYnNkaXIgPSBvcy5wYXRo
LmpvaW4oZC5nZXRWYXIoJ0JVSUxEU1RBVFNfQkFTRScpLCBibikKICAgIHRhc2tkaXIgPSBvcy5w
YXRoLmpvaW4oYnNkaXIsIGQuZ2V0VmFyKCdQRicpKQoKICAgIGlmIGlzaW5zdGFuY2UoZSwgYmIu
ZXZlbnQuQnVpbGRTdGFydGVkKToKICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAjIElm
IHRoZSBrZXJuZWwgd2FzIG5vdCBjb25maWd1cmVkIHRvIHByb3ZpZGUgSS9PIHN0YXRpc3RpY3Ms
IGlzc3VlCiAgICAgICAgIyBhIG9uZSB0aW1lIHdhcm5pbmcuCiAgICAgICAgIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCiAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKCIvcHJvYy8lZC9pbyIgJSBvcy5nZXRw
aWQoKSk6CiAgICAgICAgICAgIGJiLndhcm4oIlRoZSBMaW51eCBrZXJuZWwgb24geW91ciBidWls
ZCBob3N0IHdhcyBub3QgY29uZmlndXJlZCB0byBwcm92aWRlIHByb2Nlc3MgSS9PIHN0YXRpc3Rp
Y3MuIChDT05GSUdfVEFTS19JT19BQ0NPVU5USU5HIGlzIG5vdCBzZXQpIikKCiAgICAgICAgIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCiAgICAgICAgIyBhdCBmaXJzdCBwYXNzIG1ha2UgdGhlIGJ1aWxkc3RhdHMg
aGllcmFyY2h5IGFuZCB0aGVuCiAgICAgICAgIyBzZXQgdGhlIGJ1aWxkbmFtZQogICAgICAgICMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIwogICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihic2RpcikKICAgICAgICBz
ZXRfYnVpbGR0aW1lZGF0YSgiX190aW1lZGF0YV9idWlsZCIsIGQpCiAgICAgICAgYnVpbGRfdGlt
ZSA9IG9zLnBhdGguam9pbihic2RpciwgImJ1aWxkX3N0YXRzIikKICAgICAgICAjIHdyaXRlIHN0
YXJ0IG9mIGJ1aWxkIGludG8gYnVpbGRfdGltZQogICAgICAgIHdpdGggb3BlbihidWlsZF90aW1l
LCAiYSIpIGFzIGY6CiAgICAgICAgICAgIGhvc3RfaW5mbyA9IHBsYXRmb3JtLnVuYW1lKCkKICAg
ICAgICAgICAgZi53cml0ZSgiSG9zdCBJbmZvOiAiKQogICAgICAgICAgICBmb3IgeCBpbiBob3N0
X2luZm86CiAgICAgICAgICAgICAgICBpZiB4OgogICAgICAgICAgICAgICAgICAgIGYud3JpdGUo
eCArICIgIikKICAgICAgICAgICAgZi53cml0ZSgiXG4iKQogICAgICAgICAgICBmLndyaXRlKCJC
dWlsZCBTdGFydGVkOiAlMC4yZiBcbiIgJSB0aW1lLnRpbWUoKSkKCiAgICBlbGlmIGlzaW5zdGFu
Y2UoZSwgYmIuZXZlbnQuQnVpbGRDb21wbGV0ZWQpOgogICAgICAgIGJ1aWxkX3RpbWUgPSBvcy5w
YXRoLmpvaW4oYnNkaXIsICJidWlsZF9zdGF0cyIpCiAgICAgICAgd2l0aCBvcGVuKGJ1aWxkX3Rp
bWUsICJhIikgYXMgZjoKICAgICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAgICAgICAgICMg
V3JpdGUgYnVpbGQgc3RhdGlzdGljcyBmb3IgdGhlIGJ1aWxkCiAgICAgICAgICAgICMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIwogICAgICAgICAgICB0aW1lZGF0YSA9IGdldF9idWlsZHRpbWVkYXRhKCJfX3RpbWVk
YXRhX2J1aWxkIiwgZCkKICAgICAgICAgICAgaWYgdGltZWRhdGE6CiAgICAgICAgICAgICAgICB0
aW1lLCBjcHUgPSB0aW1lZGF0YQogICAgICAgICAgICAgICAgIyB3cml0ZSBlbmQgb2YgYnVpbGQg
YW5kIGNwdSB1c2VkIGludG8gYnVpbGRfdGltZQogICAgICAgICAgICAgICAgZi53cml0ZSgiRWxh
cHNlZCB0aW1lOiAlMC4yZiBzZWNvbmRzIFxuIiAlICh0aW1lKSkKICAgICAgICAgICAgICAgIGlm
IGNwdToKICAgICAgICAgICAgICAgICAgICBmLndyaXRlKCJDUFUgdXNhZ2U6ICUwLjFmJSUgXG4i
ICUgY3B1KQoKICAgIGlmIGlzaW5zdGFuY2UoZSwgYmIuYnVpbGQuVGFza1N0YXJ0ZWQpOgogICAg
ICAgIHNldF90aW1lZGF0YSgiX190aW1lZGF0YV90YXNrIiwgZCwgZS50aW1lKQogICAgICAgIGJi
LnV0aWxzLm1rZGlyaGllcih0YXNrZGlyKQogICAgICAgICMgd3JpdGUgaW50byB0aGUgdGFzayBl
dmVudCBmaWxlIHRoZSBuYW1lIGFuZCBzdGFydCB0aW1lCiAgICAgICAgd2l0aCBvcGVuKG9zLnBh
dGguam9pbih0YXNrZGlyLCBlLnRhc2spLCAiYSIpIGFzIGY6CiAgICAgICAgICAgIGYud3JpdGUo
IkV2ZW50OiAlcyBcbiIgJSBiYi5ldmVudC5nZXROYW1lKGUpKQogICAgICAgICAgICBmLndyaXRl
KCJTdGFydGVkOiAlMC4yZiBcbiIgJSBlLnRpbWUpCgogICAgZWxpZiBpc2luc3RhbmNlKGUsIGJi
LmJ1aWxkLlRhc2tTdWNjZWVkZWQpOgogICAgICAgIHdyaXRlX3Rhc2tfZGF0YSgicGFzc2VkIiwg
b3MucGF0aC5qb2luKHRhc2tkaXIsIGUudGFzayksIGUsIGQpCiAgICAgICAgaWYgZS50YXNrID09
ICJkb19yb290ZnMiOgogICAgICAgICAgICBicyA9IG9zLnBhdGguam9pbihic2RpciwgImJ1aWxk
X3N0YXRzIikKICAgICAgICAgICAgd2l0aCBvcGVuKGJzLCAiYSIpIGFzIGY6CiAgICAgICAgICAg
ICAgICByb290ZnMgPSBkLmdldFZhcignSU1BR0VfUk9PVEZTJykKICAgICAgICAgICAgICAgIGlm
IG9zLnBhdGguaXNkaXIocm9vdGZzKToKICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAg
ICAgICAgICAgICAgICAgIHJvb3Rmc19zaXplID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJk
dSIsICItc2giLCByb290ZnNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVy
cj1zdWJwcm9jZXNzLlNURE9VVCkuZGVjb2RlKCd1dGYtOCcpCiAgICAgICAgICAgICAgICAgICAg
ICAgIGYud3JpdGUoIlVuY29tcHJlc3NlZCBSb290ZnMgc2l6ZTogJXMiICUgcm9vdGZzX3NpemUp
CiAgICAgICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9y
IGFzIGVycjoKICAgICAgICAgICAgICAgICAgICAgICAgYmIud2FybigiRmFpbGVkIHRvIGdldCBy
b290ZnMgc2l6ZTogJXMiICUgZXJyLm91dHB1dC5kZWNvZGUoJ3V0Zi04JykpCgogICAgZWxpZiBp
c2luc3RhbmNlKGUsIGJiLmJ1aWxkLlRhc2tGYWlsZWQpOgogICAgICAgICMgQ2FuIGhhdmUgYSBm
YWlsdXJlIGJlZm9yZSBUYXNrU3RhcnRlZCBzbyBuZWVkIHRvIG1rZGlyIGhlcmUgdG9vCiAgICAg
ICAgYmIudXRpbHMubWtkaXJoaWVyKHRhc2tkaXIpCiAgICAgICAgd3JpdGVfdGFza19kYXRhKCJm
YWlsZWQiLCBvcy5wYXRoLmpvaW4odGFza2RpciwgZS50YXNrKSwgZSwgZCkKICAgICAgICAjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKICAgICAgICAjIExldHMgbWFrZSB0aGluZ3MgZWFzaWVyIGFuZCB0ZWxsIHBl
b3BsZSB3aGVyZSB0aGUgYnVpbGQgZmFpbGVkIGluCiAgICAgICAgIyBidWlsZF9zdGF0dXMuIFdl
IGRvIHRoaXMgaGVyZSBiZWNhdXNlIEJ1aWxkQ29tcGxldGVkIHRyaWdnZXJzIG5vCiAgICAgICAg
IyBtYXR0ZXIgd2hhdCB0aGUgc3RhdHVzIG9mIHRoZSBidWlsZCBhY3R1YWxseSBpcwogICAgICAg
ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIwogICAgICAgIGJ1aWxkX3N0YXR1cyA9IG9zLnBhdGguam9pbihic2Rp
ciwgImJ1aWxkX3N0YXRzIikKICAgICAgICB3aXRoIG9wZW4oYnVpbGRfc3RhdHVzLCAiYSIpIGFz
IGY6CiAgICAgICAgICAgIGYud3JpdGUoZC5leHBhbmQoIkZhaWxlZCBhdDogJHtQRn0gYXQgdGFz
azogJXMgXG4iICUgZS50YXNrKSkKfQoKCnB5dGhvbiBydW5xdWV1ZV9zdGF0cyAoKSB7CiAgICBp
bXBvcnQgYnVpbGRzdGF0cwogICAgZnJvbSBiYiBpbXBvcnQgZXZlbnQsIHJ1bnF1ZXVlCiAgICAj
IFdlIHNob3VsZCBub3QgcmVjb3JkIGFueSBzYW1wbGVzIGJlZm9yZSB0aGUgZmlyc3QgdGFzayBo
YXMgc3RhcnRlZCwKICAgICMgYmVjYXVzZSB0aGF0J3MgdGhlIGZpcnN0IGFjdGl2aXR5IHNob3du
IGluIHRoZSBwcm9jZXNzIGNoYXJ0LgogICAgIyBCZXNpZGVzLCBhdCB0aGF0IHBvaW50IHdlIGFy
ZSBzdXJlIHRoYXQgdGhlIGJ1aWxkIHZhcmlhYmxlcwogICAgIyBhcmUgYXZhaWxhYmxlIHRoYXQg
d2UgbmVlZCB0byBmaW5kIHRoZSBvdXRwdXQgZGlyZWN0b3J5LgogICAgIyBUaGUgcGVyc2lzdGVu
dCBTeXN0ZW1TdGF0cyBpcyBzdG9yZWQgaW4gdGhlIGRhdGFzdG9yZSBhbmQKICAgICMgY2xvc2Vk
IHdoZW4gdGhlIGJ1aWxkIGlzIGRvbmUuCiAgICBzeXN0ZW1fc3RhdHMgPSBkLmdldFZhcignX2J1
aWxkc3RhdHNfc3lzdGVtX3N0YXRzJywgRmFsc2UpCiAgICBpZiBub3Qgc3lzdGVtX3N0YXRzIGFu
ZCBpc2luc3RhbmNlKGUsIChiYi5ydW5xdWV1ZS5zY2VuZVF1ZXVlVGFza1N0YXJ0ZWQsIGJiLnJ1
bnF1ZXVlLnJ1blF1ZXVlVGFza1N0YXJ0ZWQpKToKICAgICAgICBzeXN0ZW1fc3RhdHMgPSBidWls
ZHN0YXRzLlN5c3RlbVN0YXRzKGQpCiAgICAgICAgZC5zZXRWYXIoJ19idWlsZHN0YXRzX3N5c3Rl
bV9zdGF0cycsIHN5c3RlbV9zdGF0cykKICAgIGlmIHN5c3RlbV9zdGF0czoKICAgICAgICAjIEVu
c3VyZSB0aGF0IHdlIHNhbXBsZSBhdCBpbXBvcnRhbnQgZXZlbnRzLgogICAgICAgIGRvbmUgPSBp
c2luc3RhbmNlKGUsIGJiLmV2ZW50LkJ1aWxkQ29tcGxldGVkKQogICAgICAgIHN5c3RlbV9zdGF0
cy5zYW1wbGUoZSwgZm9yY2U9ZG9uZSkKICAgICAgICBpZiBkb25lOgogICAgICAgICAgICBzeXN0
ZW1fc3RhdHMuY2xvc2UoKQogICAgICAgICAgICBkLmRlbFZhcignX2J1aWxkc3RhdHNfc3lzdGVt
X3N0YXRzJykKfQoKCnB5dGhvbiBydW50aW1lX21hcHBpbmdfcmVuYW1lICgpIHsKZGVmIHJ1bnRp
bWVfbWFwcGluZ19yZW5hbWUgKHZhcm5hbWUsIHBrZywgZCk6CiAgICAjYmIubm90ZSgiJXMgYmVm
b3JlOiAlcyIgJSAodmFybmFtZSwgZC5nZXRWYXIodmFybmFtZSkpKQoKICAgIG5ld19kZXBlbmRz
ID0ge30KICAgIGRlcHMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIoZC5nZXRWYXIo
dmFybmFtZSkgb3IgIiIpCiAgICBmb3IgZGVwZW5kIGluIGRlcHM6CiAgICAgICAgbmV3X2RlcGVu
ZCA9IGdldF9wYWNrYWdlX21hcHBpbmcoZGVwZW5kLCBwa2csIGQpCiAgICAgICAgbmV3X2RlcGVu
ZHNbbmV3X2RlcGVuZF0gPSBkZXBzW2RlcGVuZF0KCiAgICBkLnNldFZhcih2YXJuYW1lLCBiYi51
dGlscy5qb2luX2RlcHMobmV3X2RlcGVuZHMsIGNvbW1hc2VwPUZhbHNlKSkKCiAgICAjYmIubm90
ZSgiJXMgYWZ0ZXI6ICVzIiAlICh2YXJuYW1lLCBkLmdldFZhcih2YXJuYW1lKSkpCgojCiMgUGFj
a2FnZSBmdW5jdGlvbnMgc3VpdGFibGUgZm9yIGluY2x1c2lvbiBpbiBQQUNLQUdFRlVOQ1MKIwp9
CgoKcHl0aG9uIHNhbml0eV9jaGVja19jb25mZmlsZXMgKCkgewpkZWYgc2FuaXR5X2NoZWNrX2Nv
bmZmaWxlcyhkKToKICAgIGZ1bmNzID0gZC5nZXRWYXIoJ0JCTEFZRVJTX0NPTkZfVVBEQVRFX0ZV
TkNTJykuc3BsaXQoKQogICAgZm9yIGZ1bmMgaW4gZnVuY3M6CiAgICAgICAgY29uZmZpbGUsIGN1
cnJlbnRfdmVyc2lvbiwgcmVxdWlyZWRfdmVyc2lvbiwgZnVuYyA9IGZ1bmMuc3BsaXQoIjoiKQog
ICAgICAgIGlmIGNoZWNrX2NvbmZfZXhpc3RzKGNvbmZmaWxlLCBkKSBhbmQgZC5nZXRWYXIoY3Vy
cmVudF92ZXJzaW9uKSBpcyBub3QgTm9uZSBhbmQgXAogICAgICAgICAgICAgICAgZC5nZXRWYXIo
Y3VycmVudF92ZXJzaW9uKSAhPSBkLmdldFZhcihyZXF1aXJlZF92ZXJzaW9uKToKICAgICAgICAg
ICAgdHJ5OgogICAgICAgICAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKGZ1bmMsIGQpCiAgICAg
ICAgICAgIGV4Y2VwdCBOb3RJbXBsZW1lbnRlZEVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICBi
Yi5mYXRhbChzdHIoZSkpCiAgICAgICAgICAgIGQuc2V0VmFyKCJCQl9JTlZBTElEQ09ORiIsIFRy
dWUpCn0KCgpweXRob24gc2FuaXR5X2NoZWNrX2xvY2FsZSAoKSB7CmRlZiBzYW5pdHlfY2hlY2tf
bG9jYWxlKGQpOgogICAgIiIiCiAgICBDdXJyZW50bHkgYml0YmFrZSBzd2l0Y2hlcyBsb2NhbGUg
dG8gZW5fVVMuVVRGLTggc28gY2hlY2sgdGhhdCB0aGlzIGxvY2FsZSBhY3R1YWxseSBleGlzdHMu
CiAgICAiIiIKICAgIGltcG9ydCBsb2NhbGUKICAgIHRyeToKICAgICAgICBsb2NhbGUuc2V0bG9j
YWxlKGxvY2FsZS5MQ19BTEwsICJlbl9VUy5VVEYtOCIpCiAgICBleGNlcHQgbG9jYWxlLkVycm9y
OgogICAgICAgIHJhaXNlX3Nhbml0eV9lcnJvcigiWW91ciBzeXN0ZW0gbmVlZHMgdG8gc3VwcG9y
dCB0aGUgZW5fVVMuVVRGLTggbG9jYWxlLiIsIGQpCn0KCgpweXRob24gc2FuaXR5X2NvbmZfZmlu
ZF9saW5lICgpIHsKZGVmIHNhbml0eV9jb25mX2ZpbmRfbGluZShwYXR0ZXJuLCBsaW5lcyk6CiAg
ICBpbXBvcnQgcmUKICAgIHJldHVybiBuZXh0KCgoaW5kZXgsIGxpbmUpCiAgICAgICAgZm9yIGlu
ZGV4LCBsaW5lIGluIGVudW1lcmF0ZShsaW5lcykKICAgICAgICBpZiByZS5zZWFyY2gocGF0dGVy
biwgbGluZSkpLCAoTm9uZSwgTm9uZSkpCn0KCgpweXRob24gc2FuaXR5X2NvbmZfcmVhZCAoKSB7
CmRlZiBzYW5pdHlfY29uZl9yZWFkKGZuKToKICAgIHdpdGggb3BlbihmbiwgJ3InKSBhcyBmOgog
ICAgICAgIGxpbmVzID0gZi5yZWFkbGluZXMoKQogICAgcmV0dXJuIGxpbmVzCn0KCgpweXRob24g
c2FuaXR5X2NvbmZfdXBkYXRlICgpIHsKZGVmIHNhbml0eV9jb25mX3VwZGF0ZShmbiwgbGluZXMs
IHZlcnNpb25fdmFyX25hbWUsIG5ld192ZXJzaW9uKToKICAgIGluZGV4LCBsaW5lID0gc2FuaXR5
X2NvbmZfZmluZF9saW5lKHIiXiVzIiAlIHZlcnNpb25fdmFyX25hbWUsIGxpbmVzKQogICAgbGlu
ZXNbaW5kZXhdID0gJyVzID0gIiVkIlxuJyAlICh2ZXJzaW9uX3Zhcl9uYW1lLCBuZXdfdmVyc2lv
bikKICAgIHdpdGggb3BlbihmbiwgInciKSBhcyBmOgogICAgICAgIGYud3JpdGUoJycuam9pbihs
aW5lcykpCgojIEZ1bmN0aW9ucyBhZGRlZCB0byB0aGlzIHZhcmlhYmxlIE1VU1QgdGhyb3cgYSBO
b3RJbXBsZW1lbnRlZEVycm9yIGV4Y2VwdGlvbiB1bmxlc3MKIyB0aGV5IHN1Y2Nlc3NmdWxseSBj
aGFuZ2VkIHRoZSBjb25maWcgdmVyc2lvbiBpbiB0aGUgY29uZmlnIGZpbGUuIEV4Y2VwdGlvbnMK
IyBhcmUgdXNlZCBzaW5jZSBleGVjX2Z1bmMgZG9lc24ndCBoYW5kbGUgcmV0dXJuIHZhbHVlcy59
CgoKcHl0aG9uIHNhbml0eV9oYW5kbGVfYWJpY2hhbmdlcyAoKSB7CmRlZiBzYW5pdHlfaGFuZGxl
X2FiaWNoYW5nZXMoc3RhdHVzLCBkKToKICAgICMKICAgICMgQ2hlY2sgdGhlICdBQkknIG9mIFRN
UERJUgogICAgIwogICAgaW1wb3J0IHN1YnByb2Nlc3MKCiAgICBjdXJyZW50X2FiaSA9IGQuZ2V0
VmFyKCdPRUxBWU9VVF9BQkknKQogICAgYWJpZmlsZSA9IGQuZ2V0VmFyKCdTQU5JVFlfQUJJRklM
RScpCiAgICBpZiBvcy5wYXRoLmV4aXN0cyhhYmlmaWxlKToKICAgICAgICB3aXRoIG9wZW4oYWJp
ZmlsZSwgInIiKSBhcyBmOgogICAgICAgICAgICBhYmkgPSBmLnJlYWQoKS5zdHJpcCgpCiAgICAg
ICAgaWYgbm90IGFiaS5pc2RpZ2l0KCk6CiAgICAgICAgICAgIHdpdGggb3BlbihhYmlmaWxlLCAi
dyIpIGFzIGY6CiAgICAgICAgICAgICAgICBmLndyaXRlKGN1cnJlbnRfYWJpKQogICAgICAgIGVs
aWYgaW50KGFiaSkgPD0gMTEgYW5kIGN1cnJlbnRfYWJpID09ICIxMiI6CiAgICAgICAgICAgIHN0
YXR1cy5hZGRyZXN1bHQoIlRoZSBsYXlvdXQgb2YgVE1QRElSIGNoYW5nZWQgZm9yIFJlY2lwZSBT
cGVjaWZpYyBTeXNyb290cy5cbkNvbnZlcnNpb24gZG9lc24ndCBtYWtlIHNlbnNlIGFuZCB0aGlz
IGNoYW5nZSB3aWxsIHJlYnVpbGQgZXZlcnl0aGluZyBzbyBwbGVhc2UgZGVsZXRlIFRNUERJUiAo
JXMpLlxuIiAlIGQuZ2V0VmFyKCJUTVBESVIiKSkKICAgICAgICBlbGlmIChhYmkgIT0gY3VycmVu
dF9hYmkpOgogICAgICAgICAgICAjIENvZGUgdG8gY29udmVydCBmcm9tIG9uZSBBQkkgdG8gYW5v
dGhlciBjb3VsZCBnbyBoZXJlIGlmIHBvc3NpYmxlLgogICAgICAgICAgICBzdGF0dXMuYWRkcmVz
dWx0KCJFcnJvciwgVE1QRElSIGhhcyBjaGFuZ2VkIGl0cyBsYXlvdXQgdmVyc2lvbiBudW1iZXIg
KCVzIHRvICVzKSBhbmQgeW91IG5lZWQgdG8gZWl0aGVyIHJlYnVpbGQsIHJldmVydCBvciBhZGp1
c3QgaXQgYXQgeW91ciBvd24gcmlzay5cbiIgJSAoYWJpLCBjdXJyZW50X2FiaSkpCiAgICBlbHNl
OgogICAgICAgIHdpdGggb3BlbihhYmlmaWxlLCAidyIpIGFzIGY6CiAgICAgICAgICAgIGYud3Jp
dGUoY3VycmVudF9hYmkpCn0KCgpweXRob24gc2V0X2J1aWxkdGltZWRhdGEgKCkgewpkZWYgc2V0
X2J1aWxkdGltZWRhdGEodmFyLCBkKToKICAgIGltcG9ydCB0aW1lCiAgICB0aW1lID0gdGltZS50
aW1lKCkKICAgIGNwdXRpbWUgPSBnZXRfY3B1dGltZSgpCiAgICBwcm9jdGltZSA9IGdldF9idWls
ZHByb2Nlc3NfY3B1dGltZShvcy5nZXRwaWQoKSkKICAgIGQuc2V0VmFyKHZhciwgKHRpbWUsIGNw
dXRpbWUsIHByb2N0aW1lKSkKfQoKCnB5dGhvbiBzZXRfcGFja2FnZXRyaXBsZXQgKCkgewpkZWYg
c2V0X3BhY2thZ2V0cmlwbGV0KGQpOgogICAgYXJjaHMgPSBbXQogICAgdG9zID0gW10KICAgIHR2
cyA9IFtdCgogICAgYXJjaHMuYXBwZW5kKGQuZ2V0VmFyKCJQQUNLQUdFX0FSQ0hTIikuc3BsaXQo
KSkKICAgIHRvcy5hcHBlbmQoZC5nZXRWYXIoIlRBUkdFVF9PUyIpKQogICAgdHZzLmFwcGVuZChk
LmdldFZhcigiVEFSR0VUX1ZFTkRPUiIpKQoKICAgIGRlZiBzZXR0cmlwbGV0KGQsIHZhcm5hbWUs
IGFyY2hzLCB0b3MsIHR2cyk6CiAgICAgICAgdHJpcGxldHMgPSBbXQogICAgICAgIGZvciBpIGlu
IHJhbmdlKGxlbihhcmNocykpOgogICAgICAgICAgICBmb3IgYXJjaCBpbiBhcmNoc1tpXToKICAg
ICAgICAgICAgICAgIHRyaXBsZXRzLmFwcGVuZChhcmNoICsgdHZzW2ldICsgIi0iICsgdG9zW2ld
KQogICAgICAgIHRyaXBsZXRzLnJldmVyc2UoKQogICAgICAgIGQuc2V0VmFyKHZhcm5hbWUsICIg
Ii5qb2luKHRyaXBsZXRzKSkKCiAgICBzZXR0cmlwbGV0KGQsICJQS0dUUklQTEVUUyIsIGFyY2hz
LCB0b3MsIHR2cykKCiAgICB2YXJpYW50cyA9IGQuZ2V0VmFyKCJNVUxUSUxJQl9WQVJJQU5UUyIp
IG9yICIiCiAgICBmb3IgaXRlbSBpbiB2YXJpYW50cy5zcGxpdCgpOgogICAgICAgIGxvY2FsZGF0
YSA9IGJiLmRhdGEuY3JlYXRlQ29weShkKQogICAgICAgIG92ZXJyaWRlcyA9IGxvY2FsZGF0YS5n
ZXRWYXIoIk9WRVJSSURFUyIsIEZhbHNlKSArICI6dmlydGNsYXNzLW11bHRpbGliLSIgKyBpdGVt
CiAgICAgICAgbG9jYWxkYXRhLnNldFZhcigiT1ZFUlJJREVTIiwgb3ZlcnJpZGVzKQoKICAgICAg
ICBhcmNocy5hcHBlbmQobG9jYWxkYXRhLmdldFZhcigiUEFDS0FHRV9BUkNIUyIpLnNwbGl0KCkp
CiAgICAgICAgdG9zLmFwcGVuZChsb2NhbGRhdGEuZ2V0VmFyKCJUQVJHRVRfT1MiKSkKICAgICAg
ICB0dnMuYXBwZW5kKGxvY2FsZGF0YS5nZXRWYXIoIlRBUkdFVF9WRU5ET1IiKSkKCiAgICBzZXR0
cmlwbGV0KGQsICJQS0dNTFRSSVBMRVRTIiwgYXJjaHMsIHRvcywgdHZzKQp9CgoKcHl0aG9uIHNl
dF90aW1lZGF0YSAoKSB7CmRlZiBzZXRfdGltZWRhdGEodmFyLCBkLCBzZXJ2ZXJfdGltZSk6CiAg
ICBkLnNldFZhcih2YXIsIHNlcnZlcl90aW1lKQp9CgoKcHl0aG9uIHNldHNjZW5lX2RlcHZhbGlk
ICgpIHsKZGVmIHNldHNjZW5lX2RlcHZhbGlkKHRhc2ssIHRhc2tkZXBlbmRlZXMsIG5vdG5lZWRl
ZCwgZCwgbG9nPU5vbmUpOgogICAgIyB0YXNrZGVwZW5kZWVzIGlzIGEgZGljdCBvZiB0YXNrcyB3
aGljaCBkZXBlbmQgb24gdGFzaywgZWFjaCBiZWluZyBhIDMgaXRlbSBsaXN0IG9mIFtQTiwgVEFT
S05BTUUsIEZJTEVOQU1FXQogICAgIyB0YXNrIGlzIGluY2x1ZGVkIGluIHRhc2tkZXBlbmRlZXMg
dG9vCiAgICAjIFJldHVybiAtIEZhbHNlIC0gV2UgbmVlZCB0aGlzIGRlcGVuZGVuY3kKICAgICMg
ICAgICAgIC0gVHJ1ZSAtIFdlIGNhbiBza2lwIHRoaXMgZGVwZW5kZW5jeQogICAgaW1wb3J0IHJl
CgogICAgZGVmIGxvZ2l0KG1zZywgbG9nKToKICAgICAgICBpZiBsb2cgaXMgbm90IE5vbmU6CiAg
ICAgICAgICAgIGxvZy5hcHBlbmQobXNnKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGJiLmRl
YnVnKDIsIG1zZykKCiAgICBsb2dpdCgiQ29uc2lkZXJpbmcgc2V0c2NlbmUgdGFzazogJXMiICUg
KHN0cih0YXNrZGVwZW5kZWVzW3Rhc2tdKSksIGxvZykKCiAgICBkZWYgaXNOYXRpdmVDcm9zcyh4
KToKICAgICAgICByZXR1cm4geC5lbmRzd2l0aCgiLW5hdGl2ZSIpIG9yICItY3Jvc3MtIiBpbiB4
IG9yICItY3Jvc3NzZGsiIGluIHggb3IgeC5lbmRzd2l0aCgiLWNyb3NzIikKCiAgICAjIFdlIG9u
bHkgbmVlZCB0byB0cmlnZ2VyIHBvcHVsYXRlX2xpYyB0aHJvdWdoIGRpcmVjdCBkZXBlbmRlbmNp
ZXMKICAgIGlmIHRhc2tkZXBlbmRlZXNbdGFza11bMV0gPT0gImRvX3BvcHVsYXRlX2xpYyI6CiAg
ICAgICAgcmV0dXJuIFRydWUKCiAgICAjIHN0YXNoX2xvY2FsZSBhbmQgZ2NjX3N0YXNoX2J1aWxk
ZGlyIGFyZSBuZXZlciBuZWVkZWQgYXMgYSBkZXBlbmRlbmN5IGZvciBidWlsdCBvYmplY3RzCiAg
ICBpZiB0YXNrZGVwZW5kZWVzW3Rhc2tdWzFdID09ICJkb19zdGFzaF9sb2NhbGUiIG9yIHRhc2tk
ZXBlbmRlZXNbdGFza11bMV0gPT0gImRvX2djY19zdGFzaF9idWlsZGRpciI6CiAgICAgICAgcmV0
dXJuIFRydWUKCiAgICAjIFdlIG9ubHkgbmVlZCB0byB0cmlnZ2VyIHBhY2thZ2VkYXRhIHRocm91
Z2ggZGlyZWN0IGRlcGVuZGVuY2llcwogICAgIyBidXQgbmVlZCB0byBwcmVzZXJ2ZSBwYWNrYWdl
ZGF0YSBvbiBwYWNrYWdlZGF0YSBsaW5rcwogICAgaWYgdGFza2RlcGVuZGVlc1t0YXNrXVsxXSA9
PSAiZG9fcGFja2FnZWRhdGEiOgogICAgICAgIGZvciBkZXAgaW4gdGFza2RlcGVuZGVlczoKICAg
ICAgICAgICAgaWYgdGFza2RlcGVuZGVlc1tkZXBdWzFdID09ICJkb19wYWNrYWdlZGF0YSI6CiAg
ICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICByZXR1cm4gVHJ1ZQoKICAgIGZvciBk
ZXAgaW4gdGFza2RlcGVuZGVlczoKICAgICAgICBsb2dpdCgiICBjb25zaWRlcmluZyBkZXBlbmRl
bmN5OiAlcyIgJSAoc3RyKHRhc2tkZXBlbmRlZXNbZGVwXSkpLCBsb2cpCiAgICAgICAgaWYgdGFz
ayA9PSBkZXA6CiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgaWYgZGVwIGluIG5vdG5lZWRl
ZDoKICAgICAgICAgICAgY29udGludWUKICAgICAgICAjIGRvX3BhY2thZ2Vfd3JpdGVfKiBhbmQg
ZG9fcGFja2FnZSBkb2Vzbid0IG5lZWQgZG9fcGFja2FnZQogICAgICAgIGlmIHRhc2tkZXBlbmRl
ZXNbdGFza11bMV0gPT0gImRvX3BhY2thZ2UiIGFuZCB0YXNrZGVwZW5kZWVzW2RlcF1bMV0gaW4g
Wydkb19wYWNrYWdlJywgJ2RvX3BhY2thZ2Vfd3JpdGVfZGViJywgJ2RvX3BhY2thZ2Vfd3JpdGVf
aXBrJywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJywgJ2RvX3BhY2thZ2VkYXRhJywgJ2RvX3BhY2th
Z2VfcWEnXToKICAgICAgICAgICAgY29udGludWUKICAgICAgICAjIGRvX3BhY2thZ2Vfd3JpdGVf
KiBuZWVkIGRvX3BvcHVsYXRlX3N5c3Jvb3QgYXMgdGhleSdyZSBtYWlubHkgcG9zdGluc3RhbGwg
ZGVwZW5kZW5jaWVzCiAgICAgICAgaWYgdGFza2RlcGVuZGVlc1t0YXNrXVsxXSA9PSAiZG9fcG9w
dWxhdGVfc3lzcm9vdCIgYW5kIHRhc2tkZXBlbmRlZXNbZGVwXVsxXSBpbiBbJ2RvX3BhY2thZ2Vf
d3JpdGVfZGViJywgJ2RvX3BhY2thZ2Vfd3JpdGVfaXBrJywgJ2RvX3BhY2thZ2Vfd3JpdGVfcnBt
J106CiAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICMgZG9fcGFja2FnZS9wYWNrYWdl
ZGF0YS9wYWNrYWdlX3FhIGRvbid0IG5lZWQgZG9fcG9wdWxhdGVfc3lzcm9vdAogICAgICAgIGlm
IHRhc2tkZXBlbmRlZXNbdGFza11bMV0gPT0gImRvX3BvcHVsYXRlX3N5c3Jvb3QiIGFuZCB0YXNr
ZGVwZW5kZWVzW2RlcF1bMV0gaW4gWydkb19wYWNrYWdlJywgJ2RvX3BhY2thZ2VkYXRhJywgJ2Rv
X3BhY2thZ2VfcWEnXToKICAgICAgICAgICAgY29udGludWUKICAgICAgICAjIE5hdGl2ZS9Dcm9z
cyBwYWNrYWdlcyBkb24ndCBleGlzdCBhbmQgYXJlIG5vZXhlYyBhbnl3YXkKICAgICAgICBpZiBp
c05hdGl2ZUNyb3NzKHRhc2tkZXBlbmRlZXNbZGVwXVswXSkgYW5kIHRhc2tkZXBlbmRlZXNbZGVw
XVsxXSBpbiBbJ2RvX3BhY2thZ2Vfd3JpdGVfZGViJywgJ2RvX3BhY2thZ2Vfd3JpdGVfaXBrJywg
J2RvX3BhY2thZ2Vfd3JpdGVfcnBtJywgJ2RvX3BhY2thZ2VkYXRhJywgJ2RvX3BhY2thZ2UnLCAn
ZG9fcGFja2FnZV9xYSddOgogICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAjIFRoaXMgaXMg
ZHVlIHRvIHRoZSBbZGVwZW5kc10gaW4gdXNlcmFkZC5iYmNsYXNzIGNvbXBsaWNhdGluZyBtYXR0
ZXJzCiAgICAgICAgIyBUaGUgbG9naWMgKmlzKiByZXZlcnNlZCBoZXJlIGR1ZSB0byB0aGUgd2F5
IGhhcmQgc2V0c2NlbmUgZGVwZW5kZW5jaWVzIGFyZSBpbmplY3RlZAogICAgICAgIGlmICh0YXNr
ZGVwZW5kZWVzW3Rhc2tdWzFdID09ICdkb19wYWNrYWdlJyBvciB0YXNrZGVwZW5kZWVzW3Rhc2td
WzFdID09ICdkb19wb3B1bGF0ZV9zeXNyb290JykgYW5kIHRhc2tkZXBlbmRlZXNbZGVwXVswXS5l
bmRzd2l0aCgoJ3NoYWRvdy1uYXRpdmUnLCAnc2hhZG93LXN5c3Jvb3QnLCAnYmFzZS1wYXNzd2Qn
LCAncHNldWRvLW5hdGl2ZScpKSBhbmQgdGFza2RlcGVuZGVlc1tkZXBdWzFdID09ICdkb19wb3B1
bGF0ZV9zeXNyb290JzoKICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgIyBDb25zaWRlciBz
eXNyb290IGRlcGVuZGluZyBvbiBzeXNyb290IHRhc2tzCiAgICAgICAgaWYgdGFza2RlcGVuZGVl
c1t0YXNrXVsxXSA9PSAnZG9fcG9wdWxhdGVfc3lzcm9vdCcgYW5kIHRhc2tkZXBlbmRlZXNbZGVw
XVsxXSA9PSAnZG9fcG9wdWxhdGVfc3lzcm9vdCc6CiAgICAgICAgICAgICMgQWxsb3cgZXhjbHVk
aW5nIGNlcnRhaW4gcmVjdXJzaXZlIGRlcGVuZGVuY2llcy4gSWYgYSByZWNpcGUgbmVlZHMgaXQg
c2hvdWxkIGFkZCBhCiAgICAgICAgICAgICMgc3BlY2lmaWMgZGVwZW5kZW5jeSBpdHNlbGYsIHJh
dGhlciB0aGFuIHJlbHlpbmcgb24gb25lIG9mIGl0cyBkZXBlbmRlZXMgdG8gcHVsbAogICAgICAg
ICAgICAjIHRoZW0gaW4uCiAgICAgICAgICAgICMgU2VlIGFsc28gaHR0cDovL2xpc3RzLm9wZW5l
bWJlZGRlZC5vcmcvcGlwZXJtYWlsL29wZW5lbWJlZGRlZC1jb3JlLzIwMTgtSmFudWFyeS8xNDYz
MjQuaHRtbAogICAgICAgICAgICBub3RfbmVlZGVkID0gRmFsc2UKICAgICAgICAgICAgZXhjbHVk
ZWRlcHMgPSBkLmdldFZhcignX1NTVEFURV9FWENMVURFREVQU19TWVNST09UJykKICAgICAgICAg
ICAgaWYgZXhjbHVkZWRlcHMgaXMgTm9uZToKICAgICAgICAgICAgICAgICMgQ2FjaGUgdGhlIHJl
Z3VsYXIgZXhwcmVzc2lvbnMgZm9yIHNwZWVkCiAgICAgICAgICAgICAgICBleGNsdWRlZGVwcyA9
IFtdCiAgICAgICAgICAgICAgICBmb3IgZXhjbCBpbiAoZC5nZXRWYXIoJ1NTVEFURV9FWENMVURF
REVQU19TWVNST09UJykgb3IgIiIpLnNwbGl0KCk6CiAgICAgICAgICAgICAgICAgICAgZXhjbHVk
ZWRlcHMuYXBwZW5kKChyZS5jb21waWxlKGV4Y2wuc3BsaXQoJy0+JywgMSlbMF0pLCByZS5jb21w
aWxlKGV4Y2wuc3BsaXQoJy0+JywgMSlbMV0pKSkKICAgICAgICAgICAgICAgIGQuc2V0VmFyKCdf
U1NUQVRFX0VYQ0xVREVERVBTX1NZU1JPT1QnLCBleGNsdWRlZGVwcykKICAgICAgICAgICAgZm9y
IGV4Y2wgaW4gZXhjbHVkZWRlcHM6CiAgICAgICAgICAgICAgICBpZiBleGNsWzBdLm1hdGNoKHRh
c2tkZXBlbmRlZXNbZGVwXVswXSk6CiAgICAgICAgICAgICAgICAgICAgaWYgZXhjbFsxXS5tYXRj
aCh0YXNrZGVwZW5kZWVzW3Rhc2tdWzBdKToKICAgICAgICAgICAgICAgICAgICAgICAgbm90X25l
ZWRlZCA9IFRydWUKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgaWYg
bm90X25lZWRlZDoKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICMgRm9yIG1l
dGEtZXh0c2RrLXRvb2xjaGFpbiB3ZSB3YW50IGFsbCBzeXNyb290IGRlcGVuZGVuY2llcwogICAg
ICAgICAgICBpZiB0YXNrZGVwZW5kZWVzW2RlcF1bMF0gPT0gJ21ldGEtZXh0c2RrLXRvb2xjaGFp
bic6CiAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgICAgIyBOYXRpdmUvQ3Jv
c3MgcG9wdWxhdGVfc3lzcm9vdCBuZWVkIHRoZWlyIGRlcGVuZGVuY2llcwogICAgICAgICAgICBp
ZiBpc05hdGl2ZUNyb3NzKHRhc2tkZXBlbmRlZXNbdGFza11bMF0pIGFuZCBpc05hdGl2ZUNyb3Nz
KHRhc2tkZXBlbmRlZXNbZGVwXVswXSk6CiAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAg
ICAgICAgICAgIyBUYXJnZXQgcG9wdWxhdGVfc3lzcm9vdCBkZXBlbmRlZCBvbiBieSBjcm9zcyB0
b29scyBuZWVkIHRvIGJlIGluc3RhbGxlZAogICAgICAgICAgICBpZiBpc05hdGl2ZUNyb3NzKHRh
c2tkZXBlbmRlZXNbZGVwXVswXSk6CiAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAg
ICAgICAgIyBOYXRpdmUvY3Jvc3MgdG9vbHMgZGVwZW5kZWQgdXBvbiBieSB0YXJnZXQgc3lzcm9v
dCBhcmUgbm90IG5lZWRlZAogICAgICAgICAgICAjIEFkZCBhbiBleGNlcHRpb24gZm9yIHNoYWRv
dy1uYXRpdmUgYXMgcmVxdWlyZWQgYnkgdXNlcmFkZC5iYmNsYXNzCiAgICAgICAgICAgIGlmIGlz
TmF0aXZlQ3Jvc3ModGFza2RlcGVuZGVlc1t0YXNrXVswXSkgYW5kIHRhc2tkZXBlbmRlZXNbdGFz
a11bMF0gIT0gJ3NoYWRvdy1uYXRpdmUnOgogICAgICAgICAgICAgICAgY29udGludWUKICAgICAg
ICAgICAgIyBUYXJnZXQgcG9wdWxhdGVfc3lzcm9vdCBuZWVkIHRoZWlyIGRlcGVuZGVuY2llcwog
ICAgICAgICAgICByZXR1cm4gRmFsc2UKCiAgICAgICAgaWYgdGFza2RlcGVuZGVlc1t0YXNrXVsx
XSA9PSAnZG9fc2hhcmVkX3dvcmtkaXInOgogICAgICAgICAgICBjb250aW51ZQoKICAgICAgICBp
ZiB0YXNrZGVwZW5kZWVzW2RlcF1bMV0gPT0gImRvX3BvcHVsYXRlX2xpYyI6CiAgICAgICAgICAg
IGNvbnRpbnVlCgoKICAgICAgICAjIFNhZmUgZmFsbHRocm91Z2ggZGVmYXVsdAogICAgICAgIGxv
Z2l0KCIgRGVmYXVsdCBzZXRzY2VuZSBkZXBlbmRlbmN5IGZhbGwgdGhyb3VnaCBkdWUgdG8gZGVw
ZW5kZW5jeTogJXMiICUgKHN0cih0YXNrZGVwZW5kZWVzW2RlcF0pKSwgbG9nKQogICAgICAgIHJl
dHVybiBGYWxzZQogICAgcmV0dXJuIFRydWUKfQoKCnB5dGhvbiBzZXR1cF9ob3N0dG9vbHNfZGly
ICgpIHsKZGVmIHNldHVwX2hvc3R0b29sc19kaXIoZGVzdCwgdG9vbHN2YXIsIGQsIGZhdGFsPVRy
dWUpOgogICAgdG9vbHMgPSBkLmdldFZhcih0b29sc3Zhcikuc3BsaXQoKQogICAgb3JpZ2JiZW52
ID0gZC5nZXRWYXIoIkJCX09SSUdFTlYiLCBGYWxzZSkKICAgIHBhdGggPSBvcmlnYmJlbnYuZ2V0
VmFyKCJQQVRIIikKICAgIGJiLnV0aWxzLm1rZGlyaGllcihkZXN0KQogICAgbm90Zm91bmQgPSBb
XQogICAgZm9yIHRvb2wgaW4gdG9vbHM6CiAgICAgICAgZGVzdHRvb2wgPSBvcy5wYXRoLmpvaW4o
ZGVzdCwgdG9vbCkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGVzdHRvb2wpOgogICAg
ICAgICAgICBzcmN0b29sID0gYmIudXRpbHMud2hpY2gocGF0aCwgdG9vbCwgZXhlY3V0YWJsZT1U
cnVlKQogICAgICAgICAgICAjIGdjYy9nKysgbWF5IGxpbmsgdG8gY2NhY2hlIG9uIHNvbWUgaG9z
dHMsIGUuZy4sCiAgICAgICAgICAgICMgL3Vzci9sb2NhbC9iaW4vY2NhY2hlL2djYyAtPiAvdXNy
L2Jpbi9jY2FjaGUsIHRoZW4gd2hpY2goZ2NjKQogICAgICAgICAgICAjIHdvdWxkIHJldHVybiAv
dXNyL2xvY2FsL2Jpbi9jY2FjaGUvZ2NjLCBidXQgd2hhdCB3ZSBuZWVkIGlzCiAgICAgICAgICAg
ICMgL3Vzci9iaW4vZ2NjLCB0aGlzIGNvZGUgY2FuIGNoZWNrIGFuZCBmaXggdGhhdC4KICAgICAg
ICAgICAgaWYgImNjYWNoZSIgaW4gc3JjdG9vbDoKICAgICAgICAgICAgICAgIHNyY3Rvb2wgPSBi
Yi51dGlscy53aGljaChwYXRoLCB0b29sLCBleGVjdXRhYmxlPVRydWUsIGRpcmVjdGlvbj0xKQog
ICAgICAgICAgICBpZiBzcmN0b29sOgogICAgICAgICAgICAgICAgb3Muc3ltbGluayhzcmN0b29s
LCBkZXN0dG9vbCkKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG5vdGZvdW5kLmFw
cGVuZCh0b29sKQogICAgIyBGb3JjZSAicHl0aG9uIiAtPiAicHl0aG9uMiIKICAgIGRlc3R0b29s
ID0gb3MucGF0aC5qb2luKGRlc3QsICJweXRob24iKQogICAgaWYgbm90IG9zLnBhdGguZXhpc3Rz
KGRlc3R0b29sKToKICAgICAgICBzcmN0b29sID0gInB5dGhvbjIiCiAgICAgICAgb3Muc3ltbGlu
ayhzcmN0b29sLCBkZXN0dG9vbCkKCiAgICBpZiBub3Rmb3VuZCBhbmQgZmF0YWw6CiAgICAgICAg
YmIuZmF0YWwoIlRoZSBmb2xsb3dpbmcgcmVxdWlyZWQgdG9vbHMgKGFzIHNwZWNpZmllZCBieSBI
T1NUVE9PTFMpIGFwcGVhciB0byBiZSB1bmF2YWlsYWJsZSBpbiBQQVRILCBwbGVhc2UgaW5zdGFs
bCB0aGVtIGluIG9yZGVyIHRvIHByb2NlZWQ6XG4gICVzIiAlICIgIi5qb2luKG5vdGZvdW5kKSkK
fQoKCnB5dGhvbiBzaG91bGRfYXBwbHkgKCkgewpkZWYgc2hvdWxkX2FwcGx5KHBhcm0sIGQpOgog
ICAgIiIiRGV0ZXJtaW5lIGlmIHdlIHNob3VsZCBhcHBseSB0aGUgZ2l2ZW4gcGF0Y2giIiIKICAg
IGltcG9ydCBvZS5wYXRjaAogICAgcmV0dXJuIG9lLnBhdGNoLnNob3VsZF9hcHBseShwYXJtLCBk
KQp9CgoKcHl0aG9uIHNvdXJjZV9pbmZvICgpIHsKZGVmIHNvdXJjZV9pbmZvKGZpbGUsIGQsIGZh
dGFsPVRydWUpOgogICAgaW1wb3J0IHN1YnByb2Nlc3MKCiAgICBjbWQgPSBbImR3YXJmc3JjZmls
ZXMiLCBmaWxlXQogICAgdHJ5OgogICAgICAgIG91dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0
cHV0KGNtZCwgdW5pdmVyc2FsX25ld2xpbmVzPVRydWUsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9V
VCkKICAgICAgICByZXR2YWwgPSAwCiAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNz
RXJyb3IgYXMgZXhjOgogICAgICAgIG91dHB1dCA9IGV4Yy5vdXRwdXQKICAgICAgICByZXR2YWwg
PSBleGMucmV0dXJuY29kZQoKICAgICMgMjU1IG1lYW5zIGEgc3BlY2lmaWMgZmlsZSB3YXNuJ3Qg
ZnVsbHkgcGFyc2VkIHRvIGdldCB0aGUgZGVidWcgZmlsZSBsaXN0LCB3aGljaCBpcyBub3QgYSBm
YXRhbCBmYWlsdXJlCiAgICBpZiByZXR2YWwgIT0gMCBhbmQgcmV0dmFsICE9IDI1NToKICAgICAg
ICBtc2cgPSAiZHdhcmZzcmNmaWxlcyBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJXMgKGNtZCB3YXMg
JXMpJXMiICUgKHJldHZhbCwgY21kLCAiOlxuJXMiICUgb3V0cHV0IGlmIG91dHB1dCBlbHNlICIi
KQogICAgICAgIGlmIGZhdGFsOgogICAgICAgICAgICBiYi5mYXRhbChtc2cpCiAgICAgICAgYmIu
bm90ZShtc2cpCgogICAgZGVidWdzb3VyY2VzID0gcGFyc2VfZGVidWdzb3VyY2VzX2Zyb21fZHdh
cmZzcmNmaWxlc19vdXRwdXQob3V0cHV0KQoKICAgIHJldHVybiBsaXN0KGRlYnVnc291cmNlcykK
fQoKCnB5dGhvbiBzcGxpdF9hbmRfc3RyaXBfZmlsZXMgKCkgewogICAgaW1wb3J0IHN0YXQsIGVy
cm5vCiAgICBpbXBvcnQgc3VicHJvY2VzcwoKICAgIGR2YXIgPSBkLmdldFZhcignUEtHRCcpCiAg
ICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICB0YXJnZXRvcyA9IGQuZ2V0VmFyKCdUQVJHRVRfT1Mn
KQoKICAgIG9sZGN3ZCA9IG9zLmdldGN3ZCgpCiAgICBvcy5jaGRpcihkdmFyKQoKICAgICMgV2Ug
ZGVmYXVsdCB0byAnLmRlYnVnJyBzdHlsZQogICAgaWYgZC5nZXRWYXIoJ1BBQ0tBR0VfREVCVUdf
U1BMSVRfU1RZTEUnKSA9PSAnZGVidWctZmlsZS1kaXJlY3RvcnknOgogICAgICAgICMgU2luZ2xl
IGRlYnVnLWZpbGUtZGlyZWN0b3J5IHN0eWxlIGRlYnVnIGluZm8KICAgICAgICBkZWJ1Z2FwcGVu
ZCA9ICIuZGVidWciCiAgICAgICAgZGVidWdkaXIgPSAiIgogICAgICAgIGRlYnVnbGliZGlyID0g
Ii91c3IvbGliL2RlYnVnIgogICAgICAgIGRlYnVnc3JjZGlyID0gIi91c3Ivc3JjL2RlYnVnIgog
ICAgZWxpZiBkLmdldFZhcignUEFDS0FHRV9ERUJVR19TUExJVF9TVFlMRScpID09ICdkZWJ1Zy13
aXRob3V0LXNyYyc6CiAgICAgICAgIyBPcmlnaW5hbCBPRS1jb3JlLCBhLmsuYS4gIi5kZWJ1ZyIs
IHN0eWxlIGRlYnVnIGluZm8sIGJ1dCB3aXRob3V0IHNvdXJjZXMgaW4gL3Vzci9zcmMvZGVidWcK
ICAgICAgICBkZWJ1Z2FwcGVuZCA9ICIiCiAgICAgICAgZGVidWdkaXIgPSAiLy5kZWJ1ZyIKICAg
ICAgICBkZWJ1Z2xpYmRpciA9ICIiCiAgICAgICAgZGVidWdzcmNkaXIgPSAiIgogICAgZWxpZiBk
LmdldFZhcignUEFDS0FHRV9ERUJVR19TUExJVF9TVFlMRScpID09ICdkZWJ1Zy13aXRoLXNyY3Br
Zyc6CiAgICAgICAgZGVidWdhcHBlbmQgPSAiIgogICAgICAgIGRlYnVnZGlyID0gIi8uZGVidWci
CiAgICAgICAgZGVidWdsaWJkaXIgPSAiIgogICAgICAgIGRlYnVnc3JjZGlyID0gIi91c3Ivc3Jj
L2RlYnVnIgogICAgZWxzZToKICAgICAgICAjIE9yaWdpbmFsIE9FLWNvcmUsIGEuay5hLiAiLmRl
YnVnIiwgc3R5bGUgZGVidWcgaW5mbwogICAgICAgIGRlYnVnYXBwZW5kID0gIiIKICAgICAgICBk
ZWJ1Z2RpciA9ICIvLmRlYnVnIgogICAgICAgIGRlYnVnbGliZGlyID0gIiIKICAgICAgICBkZWJ1
Z3NyY2RpciA9ICIvdXNyL3NyYy9kZWJ1ZyIKCiAgICAjCiAgICAjIEZpcnN0IGxldHMgZmlndXJl
IG91dCBhbGwgb2YgdGhlIGZpbGVzIHdlIG1heSBoYXZlIHRvIHByb2Nlc3MgLi4uIGRvIHRoaXMg
b25seSBvbmNlIQogICAgIwogICAgZWxmZmlsZXMgPSB7fQogICAgc3ltbGlua3MgPSB7fQogICAg
a2Vybm1vZHMgPSBbXQogICAgc3RhdGljbGlicyA9IFtdCiAgICBpbm9kZXMgPSB7fQogICAgbGli
ZGlyID0gb3MucGF0aC5hYnNwYXRoKGR2YXIgKyBvcy5zZXAgKyBkLmdldFZhcigibGliZGlyIikp
CiAgICBiYXNlbGliZGlyID0gb3MucGF0aC5hYnNwYXRoKGR2YXIgKyBvcy5zZXAgKyBkLmdldFZh
cigiYmFzZV9saWJkaXIiKSkKICAgIHNraXBmaWxlcyA9IChkLmdldFZhcigiSU5ISUJJVF9QQUNL
QUdFX1NUUklQX0ZJTEVTIikgb3IgIiIpLnNwbGl0KCkKICAgIGlmIChkLmdldFZhcignSU5ISUJJ
VF9QQUNLQUdFX1NUUklQJykgIT0gJzEnIG9yIFwKICAgICAgICAgICAgZC5nZXRWYXIoJ0lOSElC
SVRfUEFDS0FHRV9ERUJVR19TUExJVCcpICE9ICcxJyk6CiAgICAgICAgY2hlY2tlbGYgPSB7fQog
ICAgICAgIGNoZWNrZWxmbGlua3MgPSB7fQogICAgICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBp
biBjcGF0aC53YWxrKGR2YXIpOgogICAgICAgICAgICBmb3IgZiBpbiBmaWxlczoKICAgICAgICAg
ICAgICAgIGZpbGUgPSBvcy5wYXRoLmpvaW4ocm9vdCwgZikKICAgICAgICAgICAgICAgIGlmIGZp
bGUuZW5kc3dpdGgoIi5rbyIpIGFuZCBmaWxlLmZpbmQoIi9saWIvbW9kdWxlcy8iKSAhPSAtMToK
ICAgICAgICAgICAgICAgICAgICBrZXJubW9kcy5hcHBlbmQoZmlsZSkKICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgaWYgb2UucGFja2FnZS5pc19zdGF0aWNfbGli
KGZpbGUpOgogICAgICAgICAgICAgICAgICAgIHN0YXRpY2xpYnMuYXBwZW5kKGZpbGUpCiAgICAg
ICAgICAgICAgICAgICAgY29udGludWUKCiAgICAgICAgICAgICAgICAjIFNraXAgZGVidWcgZmls
ZXMKICAgICAgICAgICAgICAgIGlmIGRlYnVnYXBwZW5kIGFuZCBmaWxlLmVuZHN3aXRoKGRlYnVn
YXBwZW5kKToKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgaWYg
ZGVidWdkaXIgYW5kIGRlYnVnZGlyIGluIG9zLnBhdGguZGlybmFtZShmaWxlW2xlbihkdmFyKTpd
KToKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgICAgIGlmIGZpbGUg
aW4gc2tpcGZpbGVzOgogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCgogICAgICAgICAgICAg
ICAgdHJ5OgogICAgICAgICAgICAgICAgICAgIGx0YXJnZXQgPSBjcGF0aC5yZWFscGF0aChmaWxl
LCBkdmFyLCBGYWxzZSkKICAgICAgICAgICAgICAgICAgICBzID0gY3BhdGgubHN0YXQobHRhcmdl
dCkKICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAg
ICAgKGVyciwgc3RyZXJyb3IpID0gZS5hcmdzCiAgICAgICAgICAgICAgICAgICAgaWYgZXJyICE9
IGVycm5vLkVOT0VOVDoKICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAg
ICAgICAgICAjIFNraXAgYnJva2VuIHN5bWxpbmtzCiAgICAgICAgICAgICAgICAgICAgY29udGlu
dWUKICAgICAgICAgICAgICAgIGlmIG5vdCBzOgogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
CiAgICAgICAgICAgICAgICAjIENoZWNrIGl0cyBhbiBleGVjdXRhYmxlCiAgICAgICAgICAgICAg
ICBpZiAoc1tzdGF0LlNUX01PREVdICYgc3RhdC5TX0lYVVNSKSBvciAoc1tzdGF0LlNUX01PREVd
ICYgc3RhdC5TX0lYR1JQKSBvciAoc1tzdGF0LlNUX01PREVdICYgc3RhdC5TX0lYT1RIKSBcCiAg
ICAgICAgICAgICAgICAgICAgICAgIG9yICgoZmlsZS5zdGFydHN3aXRoKGxpYmRpcikgb3IgZmls
ZS5zdGFydHN3aXRoKGJhc2VsaWJkaXIpKSBhbmQgKCIuc28iIGluIGYgb3IgIi5ub2RlIiBpbiBm
KSk6CgogICAgICAgICAgICAgICAgICAgIGlmIGNwYXRoLmlzbGluayhmaWxlKToKICAgICAgICAg
ICAgICAgICAgICAgICAgY2hlY2tlbGZsaW5rc1tmaWxlXSA9IGx0YXJnZXQKICAgICAgICAgICAg
ICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICAgICAjIFVzZSBhIHJlZmVyZW5j
ZSBvZiBkZXZpY2UgSUQgYW5kIGlub2RlIG51bWJlciB0byBpZGVudGlmeSBmaWxlcwogICAgICAg
ICAgICAgICAgICAgIGZpbGVfcmVmZXJlbmNlID0gIiVkXyVkIiAlIChzLnN0X2Rldiwgcy5zdF9p
bm8pCiAgICAgICAgICAgICAgICAgICAgY2hlY2tlbGZbZmlsZV0gPSAoZmlsZSwgZmlsZV9yZWZl
cmVuY2UpCgogICAgICAgIHJlc3VsdHMgPSBvZS51dGlscy5tdWx0aXByb2Nlc3NfbGF1bmNoKG9l
LnBhY2thZ2UuaXNfZWxmLCBjaGVja2VsZmxpbmtzLnZhbHVlcygpLCBkKQogICAgICAgIHJlc3Vs
dHNfbWFwID0ge30KICAgICAgICBmb3IgKGx0YXJnZXQsIGVsZl9maWxlKSBpbiByZXN1bHRzOgog
ICAgICAgICAgICByZXN1bHRzX21hcFtsdGFyZ2V0XSA9IGVsZl9maWxlCiAgICAgICAgZm9yIGZp
bGUgaW4gY2hlY2tlbGZsaW5rczoKICAgICAgICAgICAgbHRhcmdldCA9IGNoZWNrZWxmbGlua3Nb
ZmlsZV0KICAgICAgICAgICAgIyBJZiBpdCdzIGEgc3ltbGluaywgYW5kIHBvaW50cyB0byBhbiBF
TEYgZmlsZSwgd2UgY2FwdHVyZSB0aGUgcmVhZGxpbmsgdGFyZ2V0CiAgICAgICAgICAgIGlmIHJl
c3VsdHNfbWFwW2x0YXJnZXRdOgogICAgICAgICAgICAgICAgdGFyZ2V0ID0gb3MucmVhZGxpbmso
ZmlsZSkKICAgICAgICAgICAgICAgICNiYi5ub3RlKCJTeW06ICVzICglZCkiICUgKGx0YXJnZXQs
IHJlc3VsdHNfbWFwW2x0YXJnZXRdKSkKICAgICAgICAgICAgICAgIHN5bWxpbmtzW2ZpbGVdID0g
dGFyZ2V0CgogICAgICAgIHJlc3VsdHMgPSBvZS51dGlscy5tdWx0aXByb2Nlc3NfbGF1bmNoKG9l
LnBhY2thZ2UuaXNfZWxmLCBjaGVja2VsZi5rZXlzKCksIGQpCgogICAgICAgICMgU29ydCByZXN1
bHRzIGJ5IGZpbGUgcGF0aC4gVGhpcyBlbnN1cmVzIHRoYXQgdGhlIGZpbGVzIGFyZSBhbHdheXMK
ICAgICAgICAjIHByb2Nlc3NlZCBpbiB0aGUgc2FtZSBvcmRlciwgd2hpY2ggaXMgaW1wb3J0YW50
IHRvIG1ha2Ugc3VyZSBidWlsZHMKICAgICAgICAjIGFyZSByZXByb2R1Y2libGUgd2hlbiBkZWFs
aW5nIHdpdGggaGFyZGxpbmtzCiAgICAgICAgcmVzdWx0cy5zb3J0KGtleT1sYW1iZGEgeDogeFsw
XSkKCiAgICAgICAgZm9yIChmaWxlLCBlbGZfZmlsZSkgaW4gcmVzdWx0czoKICAgICAgICAgICAg
IyBJdCdzIGEgZmlsZSAob3IgaGFyZGxpbmspLCBub3QgYSBsaW5rCiAgICAgICAgICAgICMgLi4u
YnV0IGlzIGl0IEVMRiwgYW5kIGlzIGl0IGFscmVhZHkgc3RyaXBwZWQ/CiAgICAgICAgICAgIGlm
IGVsZl9maWxlICYgMToKICAgICAgICAgICAgICAgIGlmIGVsZl9maWxlICYgMjoKICAgICAgICAg
ICAgICAgICAgICBpZiAnYWxyZWFkeS1zdHJpcHBlZCcgaW4gKGQuZ2V0VmFyKCdJTlNBTkVfU0tJ
UF8nICsgcG4pIG9yICIiKS5zcGxpdCgpOgogICAgICAgICAgICAgICAgICAgICAgICBiYi5ub3Rl
KCJTa2lwcGluZyBmaWxlICVzIGZyb20gJXMgZm9yIGFscmVhZHktc3RyaXBwZWQgUUEgdGVzdCIg
JSAoZmlsZVtsZW4oZHZhcik6XSwgcG4pKQogICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAg
ICAgICAgICAgICAgICAgICAgIG1zZyA9ICJGaWxlICclcycgZnJvbSAlcyB3YXMgYWxyZWFkeSBz
dHJpcHBlZCwgdGhpcyB3aWxsIHByZXZlbnQgZnV0dXJlIGRlYnVnZ2luZyEiICUgKGZpbGVbbGVu
KGR2YXIpOl0sIHBuKQogICAgICAgICAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9l
cnJvcigiYWxyZWFkeS1zdHJpcHBlZCIsIG1zZywgZCkKICAgICAgICAgICAgICAgICAgICBjb250
aW51ZQoKICAgICAgICAgICAgICAgICMgQXQgdGhpcyBwb2ludCB3ZSBoYXZlIGFuIHVuc3RyaXBw
ZWQgZWxmIGZpbGUuIFdlIG5lZWQgdG86CiAgICAgICAgICAgICAgICAjICBhKSBNYWtlIHN1cmUg
YW55IGZpbGUgd2Ugc3RyaXAgaXMgbm90IGhhcmRsaW5rZWQgdG8gYW55dGhpbmcgZWxzZSBvdXRz
aWRlIHRoaXMgdHJlZQogICAgICAgICAgICAgICAgIyAgYikgT25seSBzdHJpcCBhbnkgaGFyZGxp
bmtlZCBmaWxlIG9uY2UgKG5vIHJhY2VzKQogICAgICAgICAgICAgICAgIyAgYykgVHJhY2sgYW55
IGhhcmRsaW5rcyBiZXR3ZWVuIGZpbGVzIHNvIHRoYXQgd2UgY2FuIHJlY29uc3RydWN0IG1hdGNo
aW5nIGRlYnVnIGZpbGUgaGFyZGxpbmtzCgogICAgICAgICAgICAgICAgIyBVc2UgYSByZWZlcmVu
Y2Ugb2YgZGV2aWNlIElEIGFuZCBpbm9kZSBudW1iZXIgdG8gaWRlbnRpZnkgZmlsZXMKICAgICAg
ICAgICAgICAgIGZpbGVfcmVmZXJlbmNlID0gY2hlY2tlbGZbZmlsZV1bMV0KICAgICAgICAgICAg
ICAgIGlmIGZpbGVfcmVmZXJlbmNlIGluIGlub2RlczoKICAgICAgICAgICAgICAgICAgICBvcy51
bmxpbmsoZmlsZSkKICAgICAgICAgICAgICAgICAgICBvcy5saW5rKGlub2Rlc1tmaWxlX3JlZmVy
ZW5jZV1bMF0sIGZpbGUpCiAgICAgICAgICAgICAgICAgICAgaW5vZGVzW2ZpbGVfcmVmZXJlbmNl
XS5hcHBlbmQoZmlsZSkKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAg
aW5vZGVzW2ZpbGVfcmVmZXJlbmNlXSA9IFtmaWxlXQogICAgICAgICAgICAgICAgICAgICMgYnJl
YWsgaGFyZGxpbmsKICAgICAgICAgICAgICAgICAgICBiYi51dGlscy5icmVha19oYXJkbGlua3Mo
ZmlsZSkKICAgICAgICAgICAgICAgICAgICBlbGZmaWxlc1tmaWxlXSA9IGVsZl9maWxlCiAgICAg
ICAgICAgICAgICAjIE1vZGlmaWVkIHRoZSBmaWxlIHNvIGNsZWFyIHRoZSBjYWNoZQogICAgICAg
ICAgICAgICAgY3BhdGgudXBkYXRlY2FjaGUoZmlsZSkKCiAgICAjCiAgICAjIEZpcnN0IGxldHMg
cHJvY2VzcyBkZWJ1ZyBzcGxpdHRpbmcKICAgICMKICAgIGlmIChkLmdldFZhcignSU5ISUJJVF9Q
QUNLQUdFX0RFQlVHX1NQTElUJykgIT0gJzEnKToKICAgICAgICByZXN1bHRzID0gb2UudXRpbHMu
bXVsdGlwcm9jZXNzX2xhdW5jaChzcGxpdGRlYnVnaW5mbywgbGlzdChlbGZmaWxlcyksIGQsIGV4
dHJhYXJncz0oZHZhciwgZGVidWdkaXIsIGRlYnVnbGliZGlyLCBkZWJ1Z2FwcGVuZCwgZGVidWdz
cmNkaXIsIGQpKQoKICAgICAgICBpZiBkZWJ1Z3NyY2RpciBhbmQgbm90IHRhcmdldG9zLnN0YXJ0
c3dpdGgoIm1pbmd3Iik6CiAgICAgICAgICAgIGZvciBmaWxlIGluIHN0YXRpY2xpYnM6CiAgICAg
ICAgICAgICAgICByZXN1bHRzLmV4dGVuZChzb3VyY2VfaW5mbyhmaWxlLCBkLCBmYXRhbD1GYWxz
ZSkpCgogICAgICAgIHNvdXJjZXMgPSBzZXQoKQogICAgICAgIGZvciByIGluIHJlc3VsdHM6CiAg
ICAgICAgICAgIHNvdXJjZXMudXBkYXRlKHJbMV0pCgogICAgICAgICMgSGFyZGxpbmsgb3VyIGRl
YnVnIHN5bWJvbHMgdG8gdGhlIG90aGVyIGhhcmRsaW5rIGNvcGllcwogICAgICAgIGZvciByZWYg
aW4gaW5vZGVzOgogICAgICAgICAgICBpZiBsZW4oaW5vZGVzW3JlZl0pID09IDE6CiAgICAgICAg
ICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgdGFyZ2V0ID0gaW5vZGVzW3JlZl1bMF1bbGVu
KGR2YXIpOl0KICAgICAgICAgICAgZm9yIGZpbGUgaW4gaW5vZGVzW3JlZl1bMTpdOgogICAgICAg
ICAgICAgICAgc3JjID0gZmlsZVtsZW4oZHZhcik6XQogICAgICAgICAgICAgICAgZGVzdCA9IGRl
YnVnbGliZGlyICsgb3MucGF0aC5kaXJuYW1lKHNyYykgKyBkZWJ1Z2RpciArICIvIiArIG9zLnBh
dGguYmFzZW5hbWUodGFyZ2V0KSArIGRlYnVnYXBwZW5kCiAgICAgICAgICAgICAgICBmcGF0aCA9
IGR2YXIgKyBkZXN0CiAgICAgICAgICAgICAgICBmdGFyZ2V0ID0gZHZhciArIGRlYnVnbGliZGly
ICsgb3MucGF0aC5kaXJuYW1lKHRhcmdldCkgKyBkZWJ1Z2RpciArICIvIiArIG9zLnBhdGguYmFz
ZW5hbWUodGFyZ2V0KSArIGRlYnVnYXBwZW5kCiAgICAgICAgICAgICAgICBiYi51dGlscy5ta2Rp
cmhpZXIob3MucGF0aC5kaXJuYW1lKGZwYXRoKSkKICAgICAgICAgICAgICAgICMgT25seSBvbmUg
aGFyZGxpbmsgb2Ygc2VwYXJhdGVkIGRlYnVnIGluZm8gZmlsZSBpbiBlYWNoIGRpcmVjdG9yeQog
ICAgICAgICAgICAgICAgaWYgbm90IG9zLmFjY2VzcyhmcGF0aCwgb3MuUl9PSyk6CiAgICAgICAg
ICAgICAgICAgICAgI2JiLm5vdGUoIkxpbmsgJXMgLT4gJXMiICUgKGZwYXRoLCBmdGFyZ2V0KSkK
ICAgICAgICAgICAgICAgICAgICBvcy5saW5rKGZ0YXJnZXQsIGZwYXRoKQoKICAgICAgICAjIENy
ZWF0ZSBzeW1saW5rcyBmb3IgYWxsIGNhc2VzIHdlIHdlcmUgYWJsZSB0byBzcGxpdCBzeW1ib2xz
CiAgICAgICAgZm9yIGZpbGUgaW4gc3ltbGlua3M6CiAgICAgICAgICAgIHNyYyA9IGZpbGVbbGVu
KGR2YXIpOl0KICAgICAgICAgICAgZGVzdCA9IGRlYnVnbGliZGlyICsgb3MucGF0aC5kaXJuYW1l
KHNyYykgKyBkZWJ1Z2RpciArICIvIiArIG9zLnBhdGguYmFzZW5hbWUoc3JjKSArIGRlYnVnYXBw
ZW5kCiAgICAgICAgICAgIGZwYXRoID0gZHZhciArIGRlc3QKICAgICAgICAgICAgIyBTa2lwIGl0
IGlmIHRoZSB0YXJnZXQgZG9lc24ndCBleGlzdAogICAgICAgICAgICB0cnk6CiAgICAgICAgICAg
ICAgICBzID0gb3Muc3RhdChmcGF0aCkKICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToK
ICAgICAgICAgICAgICAgIChlcnIsIHN0cmVycm9yKSA9IGUuYXJncwogICAgICAgICAgICAgICAg
aWYgZXJyICE9IGVycm5vLkVOT0VOVDoKICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAg
ICAgICAgICAgY29udGludWUKCiAgICAgICAgICAgIGx0YXJnZXQgPSBzeW1saW5rc1tmaWxlXQog
ICAgICAgICAgICBscGF0aCA9IG9zLnBhdGguZGlybmFtZShsdGFyZ2V0KQogICAgICAgICAgICBs
YmFzZSA9IG9zLnBhdGguYmFzZW5hbWUobHRhcmdldCkKICAgICAgICAgICAgZnRhcmdldCA9ICIi
CiAgICAgICAgICAgIGlmIGxwYXRoIGFuZCBscGF0aCAhPSAiLiI6CiAgICAgICAgICAgICAgICBm
dGFyZ2V0ICs9IGxwYXRoICsgZGVidWdkaXIgKyAiLyIKICAgICAgICAgICAgZnRhcmdldCArPSBs
YmFzZSArIGRlYnVnYXBwZW5kCiAgICAgICAgICAgIGlmIGxwYXRoLnN0YXJ0c3dpdGgoIi4uIik6
CiAgICAgICAgICAgICAgICBmdGFyZ2V0ID0gb3MucGF0aC5qb2luKCIuLiIsIGZ0YXJnZXQpCiAg
ICAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihvcy5wYXRoLmRpcm5hbWUoZnBhdGgpKQogICAg
ICAgICAgICAjYmIubm90ZSgiU3ltbGluayAlcyAtPiAlcyIgJSAoZnBhdGgsIGZ0YXJnZXQpKQog
ICAgICAgICAgICBvcy5zeW1saW5rKGZ0YXJnZXQsIGZwYXRoKQoKICAgICAgICAjIFByb2Nlc3Mg
dGhlIGRlYnVnc3JjZGlyIGlmIHJlcXVlc3RlZC4uLgogICAgICAgICMgVGhpcyBjb3BpZXMgYW5k
IHBsYWNlcyB0aGUgcmVmZXJlbmNlZCBzb3VyY2VzIGZvciBsYXRlciBkZWJ1Z2dpbmcuLi4KICAg
ICAgICBjb3B5ZGVidWdzb3VyY2VzKGRlYnVnc3JjZGlyLCBzb3VyY2VzLCBkKQogICAgIwogICAg
IyBFbmQgb2YgZGVidWcgc3BsaXR0aW5nCiAgICAjCgogICAgIwogICAgIyBOb3cgbGV0cyBnbyBi
YWNrIG92ZXIgdGhpbmdzIGFuZCBzdHJpcCB0aGVtCiAgICAjCiAgICBpZiAoZC5nZXRWYXIoJ0lO
SElCSVRfUEFDS0FHRV9TVFJJUCcpICE9ICcxJyk6CiAgICAgICAgc3RyaXAgPSBkLmdldFZhcigi
U1RSSVAiKQogICAgICAgIHNmaWxlcyA9IFtdCiAgICAgICAgZm9yIGZpbGUgaW4gZWxmZmlsZXM6
CiAgICAgICAgICAgIGVsZl9maWxlID0gaW50KGVsZmZpbGVzW2ZpbGVdKQogICAgICAgICAgICAj
YmIubm90ZSgiU3RyaXAgJXMiICUgZmlsZSkKICAgICAgICAgICAgc2ZpbGVzLmFwcGVuZCgoZmls
ZSwgZWxmX2ZpbGUsIHN0cmlwKSkKICAgICAgICBmb3IgZiBpbiBrZXJubW9kczoKICAgICAgICAg
ICAgc2ZpbGVzLmFwcGVuZCgoZiwgMTYsIHN0cmlwKSkKCiAgICAgICAgb2UudXRpbHMubXVsdGlw
cm9jZXNzX2xhdW5jaChvZS5wYWNrYWdlLnJ1bnN0cmlwLCBzZmlsZXMsIGQpCgogICAgIwogICAg
IyBFbmQgb2Ygc3RyaXAKICAgICMKICAgIG9zLmNoZGlyKG9sZGN3ZCkKfQoKCnB5dGhvbiBzcGxp
dGRlYnVnaW5mbyAoKSB7CmRlZiBzcGxpdGRlYnVnaW5mbyhmaWxlLCBkdmFyLCBkZWJ1Z2Rpciwg
ZGVidWdsaWJkaXIsIGRlYnVnYXBwZW5kLCBkZWJ1Z3NyY2RpciwgZCk6CiAgICAjIEZ1bmN0aW9u
IHRvIHNwbGl0IGEgc2luZ2xlIGZpbGUgaW50byB0d28gY29tcG9uZW50cywgb25lIGlzIHRoZSBz
dHJpcHBlZAogICAgIyB0YXJnZXQgc3lzdGVtIGJpbmFyeSwgdGhlIG90aGVyIGNvbnRhaW5zIGFu
eSBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uIFRoZQogICAgIyB0d28gZmlsZXMgYXJlIGxpbmtlZCB0
byByZWZlcmVuY2UgZWFjaCBvdGhlci4KICAgICMKICAgICMgcmV0dXJuIGEgbWFwcGluZyBvZiBm
aWxlczpkZWJ1Z3NvdXJjZXMKCiAgICBpbXBvcnQgc3RhdAogICAgaW1wb3J0IHN1YnByb2Nlc3MK
CiAgICBzcmMgPSBmaWxlW2xlbihkdmFyKTpdCiAgICBkZXN0ID0gZGVidWdsaWJkaXIgKyBvcy5w
YXRoLmRpcm5hbWUoc3JjKSArIGRlYnVnZGlyICsgIi8iICsgb3MucGF0aC5iYXNlbmFtZShzcmMp
ICsgZGVidWdhcHBlbmQKICAgIGRlYnVnZmlsZSA9IGR2YXIgKyBkZXN0CiAgICBzb3VyY2VzID0g
W10KCiAgICAjIFNwbGl0IHRoZSBmaWxlLi4uCiAgICBiYi51dGlscy5ta2RpcmhpZXIob3MucGF0
aC5kaXJuYW1lKGRlYnVnZmlsZSkpCiAgICAjYmIubm90ZSgiU3BsaXQgJXMgLT4gJXMiICUgKGZp
bGUsIGRlYnVnZmlsZSkpCiAgICAjIE9ubHkgc3RvcmUgb2ZmIHRoZSBoYXJkIGxpbmsgcmVmZXJl
bmNlIGlmIHdlIHN1Y2Nlc3NmdWxseSBzcGxpdCEKCiAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0Qn
KQogICAgb2JqY29weSA9IGQuZ2V0VmFyKCJPQkpDT1BZIikKCiAgICAjIFdlIGlnbm9yZSBrZXJu
ZWwgbW9kdWxlcywgd2UgZG9uJ3QgZ2VuZXJhdGUgZGVidWcgaW5mbyBmaWxlcy4KICAgIGlmIGZp
bGUuZmluZCgiL2xpYi9tb2R1bGVzLyIpICE9IC0xIGFuZCBmaWxlLmVuZHN3aXRoKCIua28iKToK
ICAgICAgICByZXR1cm4gKGZpbGUsIHNvdXJjZXMpCgogICAgbmV3bW9kZSA9IE5vbmUKICAgIGlm
IG5vdCBvcy5hY2Nlc3MoZmlsZSwgb3MuV19PSykgb3Igb3MuYWNjZXNzKGZpbGUsIG9zLlJfT0sp
OgogICAgICAgIG9yaWdtb2RlID0gb3Muc3RhdChmaWxlKVtzdGF0LlNUX01PREVdCiAgICAgICAg
bmV3bW9kZSA9IG9yaWdtb2RlIHwgc3RhdC5TX0lXUklURSB8IHN0YXQuU19JUkVBRAogICAgICAg
IG9zLmNobW9kKGZpbGUsIG5ld21vZGUpCgogICAgIyBXZSBuZWVkIHRvIGV4dHJhY3QgdGhlIGRl
YnVnIHNyYyBpbmZvcm1hdGlvbiBoZXJlLi4uCiAgICBpZiBkZWJ1Z3NyY2RpcjoKICAgICAgICBz
b3VyY2VzID0gc291cmNlX2luZm8oZmlsZSwgZCkKCiAgICBiYi51dGlscy5ta2RpcmhpZXIob3Mu
cGF0aC5kaXJuYW1lKGRlYnVnZmlsZSkpCgogICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoW29i
amNvcHksICctLW9ubHkta2VlcC1kZWJ1ZycsIGZpbGUsIGRlYnVnZmlsZV0sIHN0ZGVycj1zdWJw
cm9jZXNzLlNURE9VVCkKCiAgICAjIFNldCB0aGUgZGVidWdsaW5rIHRvIGhhdmUgdGhlIHZpZXcg
b2YgdGhlIGZpbGUgcGF0aCBvbiB0aGUgdGFyZ2V0CiAgICBzdWJwcm9jZXNzLmNoZWNrX291dHB1
dChbb2JqY29weSwgJy0tYWRkLWdudS1kZWJ1Z2xpbmsnLCBkZWJ1Z2ZpbGUsIGZpbGVdLCBzdGRl
cnI9c3VicHJvY2Vzcy5TVERPVVQpCgogICAgaWYgbmV3bW9kZToKICAgICAgICBvcy5jaG1vZChm
aWxlLCBvcmlnbW9kZSkKCiAgICByZXR1cm4gKGZpbGUsIHNvdXJjZXMpCn0KCgpweXRob24gc3Jj
X3BhdGNoZXMgKCkgewpkZWYgc3JjX3BhdGNoZXMoZCwgYWxsPUZhbHNlLCBleHBhbmQ9VHJ1ZSk6
CiAgICBpbXBvcnQgb2UucGF0Y2gKICAgIHJldHVybiBvZS5wYXRjaC5zcmNfcGF0Y2hlcyhkLCBh
bGwsIGV4cGFuZCkKfQoKCnB5dGhvbiBzc3RhdGVfYWRkICgpIHsKZGVmIHNzdGF0ZV9hZGQoc3Ms
IHNvdXJjZSwgZGVzdCwgZCk6CiAgICBpZiBub3Qgc291cmNlLmVuZHN3aXRoKCIvIik6CiAgICAg
ICAgIHNvdXJjZSA9IHNvdXJjZSArICIvIgogICAgaWYgbm90IGRlc3QuZW5kc3dpdGgoIi8iKToK
ICAgICAgICAgZGVzdCA9IGRlc3QgKyAiLyIKICAgIHNvdXJjZSA9IG9zLnBhdGgubm9ybXBhdGgo
c291cmNlKQogICAgZGVzdCA9IG9zLnBhdGgubm9ybXBhdGgoZGVzdCkKICAgIHNyY2Jhc2UgPSBv
cy5wYXRoLmJhc2VuYW1lKHNvdXJjZSkKICAgIHNzWydkaXJzJ10uYXBwZW5kKFtzcmNiYXNlLCBz
b3VyY2UsIGRlc3RdKQogICAgcmV0dXJuIHNzCn0KCgpweXRob24gc3N0YXRlX2NoZWNraGFzaGVz
ICgpIHsKZGVmIHNzdGF0ZV9jaGVja2hhc2hlcyhzcV9kYXRhLCBkLCBzaWdpbmZvPUZhbHNlLCBj
dXJyZW50Y291bnQ9MCwgc3VtbWFyeT1UcnVlLCAqKmt3YXJncyk6CiAgICBmb3VuZCA9IHNldCgp
CiAgICBtaXNzZWQgPSBzZXQoKQogICAgZXh0ZW5zaW9uID0gIi50Z3oiCiAgICBpZiBzaWdpbmZv
OgogICAgICAgIGV4dGVuc2lvbiA9IGV4dGVuc2lvbiArICIuc2lnaW5mbyIKCiAgICBkZWYgZ2V0
aGFzaCh0YXNrKToKICAgICAgICByZXR1cm4gc3FfZGF0YVsndW5paGFzaCddW3Rhc2tdCgogICAg
ZGVmIGdldHBhdGhjb21wb25lbnRzKHRhc2ssIGQpOgogICAgICAgICMgTWFnaWMgZGF0YSBmcm9t
IEJCX0hBU0hGSUxFTkFNRQogICAgICAgIHNwbGl0aGFzaGZuID0gc3FfZGF0YVsnaGFzaGZuJ11b
dGFza10uc3BsaXQoIiAiKQogICAgICAgIHNwZWMgPSBzcGxpdGhhc2hmblsxXQogICAgICAgIGlm
IHNwbGl0aGFzaGZuWzBdID09ICJUcnVlIjoKICAgICAgICAgICAgZXh0cmFwYXRoID0gZC5nZXRW
YXIoIk5BVElWRUxTQlNUUklORyIpICsgIi8iCiAgICAgICAgZWxzZToKICAgICAgICAgICAgZXh0
cmFwYXRoID0gIiIKCiAgICAgICAgdG5hbWUgPSBiYi5ydW5xdWV1ZS50YXNrbmFtZV9mcm9tX3Rp
ZCh0YXNrKVszOl0KCiAgICAgICAgaWYgdG5hbWUgaW4gWyJmZXRjaCIsICJ1bnBhY2siLCAicGF0
Y2giLCAicG9wdWxhdGVfbGljIiwgInByZWNvbmZpZ3VyZSJdIGFuZCBzcGxpdGhhc2hmblsyXToK
ICAgICAgICAgICAgc3BlYyA9IHNwbGl0aGFzaGZuWzJdCiAgICAgICAgICAgIGV4dHJhcGF0aCA9
ICIiCgogICAgICAgIHJldHVybiBzcGVjLCBleHRyYXBhdGgsIHRuYW1lCgoKICAgIGZvciB0aWQg
aW4gc3FfZGF0YVsnaGFzaCddOgoKICAgICAgICBzcGVjLCBleHRyYXBhdGgsIHRuYW1lID0gZ2V0
cGF0aGNvbXBvbmVudHModGlkLCBkKQoKICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoIiR7
U1NUQVRFX0RJUn0vIiArIGV4dHJhcGF0aCArIGdlbmVyYXRlX3NzdGF0ZWZuKHNwZWMsIGdldGhh
c2godGlkKSwgZCkgKyAiXyIgKyB0bmFtZSArIGV4dGVuc2lvbikKCiAgICAgICAgaWYgb3MucGF0
aC5leGlzdHMoc3N0YXRlZmlsZSk6CiAgICAgICAgICAgIGJiLmRlYnVnKDIsICJTU3RhdGU6IEZv
dW5kIHZhbGlkIHNzdGF0ZSBmaWxlICVzIiAlIHNzdGF0ZWZpbGUpCiAgICAgICAgICAgIGZvdW5k
LmFkZCh0aWQpCiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgZWxzZToKICAgICAgICAgICAg
bWlzc2VkLmFkZCh0aWQpCiAgICAgICAgICAgIGJiLmRlYnVnKDIsICJTU3RhdGU6IExvb2tlZCBm
b3IgYnV0IGRpZG4ndCBmaW5kIGZpbGUgJXMiICUgc3N0YXRlZmlsZSkKCiAgICBtaXJyb3JzID0g
ZC5nZXRWYXIoIlNTVEFURV9NSVJST1JTIikKICAgIGlmIG1pcnJvcnM6CiAgICAgICAgIyBDb3B5
IHRoZSBkYXRhIG9iamVjdCBhbmQgb3ZlcnJpZGUgRExfRElSIGFuZCBTUkNfVVJJCiAgICAgICAg
bG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCgogICAgICAgIGRsZGlyID0gbG9jYWxk
YXRhLmV4cGFuZCgiJHtTU1RBVEVfRElSfSIpCiAgICAgICAgbG9jYWxkYXRhLmRlbFZhcignTUlS
Uk9SUycpCiAgICAgICAgbG9jYWxkYXRhLnNldFZhcignRklMRVNQQVRIJywgZGxkaXIpCiAgICAg
ICAgbG9jYWxkYXRhLnNldFZhcignRExfRElSJywgZGxkaXIpCiAgICAgICAgbG9jYWxkYXRhLnNl
dFZhcignUFJFTUlSUk9SUycsIG1pcnJvcnMpCgogICAgICAgIGJiLmRlYnVnKDIsICJTU3RhdGUg
dXNpbmcgcHJlbWlycm9yIG9mOiAlcyIgJSBtaXJyb3JzKQoKICAgICAgICAjIGlmIEJCX05PX05F
VFdPUksgaXMgc2V0IGJ1dCB3ZSBhbHNvIGhhdmUgU1NUQVRFX01JUlJPUl9BTExPV19ORVRXT1JL
LAogICAgICAgICMgd2UnbGwgd2FudCB0byBhbGxvdyBuZXR3b3JrIGFjY2VzcyBmb3IgdGhlIGN1
cnJlbnQgc2V0IG9mIGZldGNoZXMuCiAgICAgICAgaWYgYmIudXRpbHMudG9fYm9vbGVhbihsb2Nh
bGRhdGEuZ2V0VmFyKCdCQl9OT19ORVRXT1JLJykpIGFuZCBcCiAgICAgICAgICAgICAgICBiYi51
dGlscy50b19ib29sZWFuKGxvY2FsZGF0YS5nZXRWYXIoJ1NTVEFURV9NSVJST1JfQUxMT1dfTkVU
V09SSycpKToKICAgICAgICAgICAgbG9jYWxkYXRhLmRlbFZhcignQkJfTk9fTkVUV09SSycpCgog
ICAgICAgIGZyb20gYmIuZmV0Y2gyIGltcG9ydCBGZXRjaENvbm5lY3Rpb25DYWNoZQogICAgICAg
IGRlZiBjaGVja3N0YXR1c19pbml0KHRocmVhZF93b3JrZXIpOgogICAgICAgICAgICB0aHJlYWRf
d29ya2VyLmNvbm5lY3Rpb25fY2FjaGUgPSBGZXRjaENvbm5lY3Rpb25DYWNoZSgpCgogICAgICAg
IGRlZiBjaGVja3N0YXR1c19lbmQodGhyZWFkX3dvcmtlcik6CiAgICAgICAgICAgIHRocmVhZF93
b3JrZXIuY29ubmVjdGlvbl9jYWNoZS5jbG9zZV9jb25uZWN0aW9ucygpCgogICAgICAgIGRlZiBj
aGVja3N0YXR1cyh0aHJlYWRfd29ya2VyLCBhcmcpOgogICAgICAgICAgICAodGlkLCBzc3RhdGVm
aWxlKSA9IGFyZwoKICAgICAgICAgICAgbG9jYWxkYXRhMiA9IGJiLmRhdGEuY3JlYXRlQ29weShs
b2NhbGRhdGEpCiAgICAgICAgICAgIHNyY3VyaSA9ICJmaWxlOi8vIiArIHNzdGF0ZWZpbGUKICAg
ICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignU1JDX1VSSScsIHNyY3VyaSkKICAgICAgICAgICAg
YmIuZGVidWcoMiwgIlNTdGF0ZTogQXR0ZW1wdGluZyB0byBmZXRjaCAlcyIgJSBzcmN1cmkpCgog
ICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICBmZXRjaGVyID0gYmIuZmV0Y2gyLkZldGNo
KHNyY3VyaS5zcGxpdCgpLCBsb2NhbGRhdGEyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdGlvbl9jYWNoZT10aHJlYWRfd29ya2VyLmNvbm5lY3Rpb25fY2FjaGUpCiAgICAgICAg
ICAgICAgICBmZXRjaGVyLmNoZWNrc3RhdHVzKCkKICAgICAgICAgICAgICAgIGJiLmRlYnVnKDIs
ICJTU3RhdGU6IFN1Y2Nlc3NmdWwgZmV0Y2ggdGVzdCBmb3IgJXMiICUgc3JjdXJpKQogICAgICAg
ICAgICAgICAgZm91bmQuYWRkKHRpZCkKICAgICAgICAgICAgICAgIGlmIHRpZCBpbiBtaXNzZWQ6
CiAgICAgICAgICAgICAgICAgICAgbWlzc2VkLnJlbW92ZSh0aWQpCiAgICAgICAgICAgIGV4Y2Vw
dDoKICAgICAgICAgICAgICAgIG1pc3NlZC5hZGQodGlkKQogICAgICAgICAgICAgICAgYmIuZGVi
dWcoMiwgIlNTdGF0ZTogVW5zdWNjZXNzZnVsIGZldGNoIHRlc3QgZm9yICVzIiAlIHNyY3VyaSkK
ICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5Q
cm9jZXNzUHJvZ3Jlc3MobXNnLCBsZW4odGFza2xpc3QpIC0gdGhyZWFkX3dvcmtlci50YXNrcy5x
c2l6ZSgpKSwgZCkKCiAgICAgICAgdGFza2xpc3QgPSBbXQogICAgICAgIGZvciB0aWQgaW4gc3Ff
ZGF0YVsnaGFzaCddOgogICAgICAgICAgICBpZiB0aWQgaW4gZm91bmQ6CiAgICAgICAgICAgICAg
ICBjb250aW51ZQogICAgICAgICAgICBzcGVjLCBleHRyYXBhdGgsIHRuYW1lID0gZ2V0cGF0aGNv
bXBvbmVudHModGlkLCBkKQogICAgICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoZXh0cmFw
YXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgZ2V0aGFzaCh0aWQpLCBkKSArICJfIiArIHRu
YW1lICsgZXh0ZW5zaW9uKQogICAgICAgICAgICB0YXNrbGlzdC5hcHBlbmQoKHRpZCwgc3N0YXRl
ZmlsZSkpCgogICAgICAgIGlmIHRhc2tsaXN0OgogICAgICAgICAgICBtc2cgPSAiQ2hlY2tpbmcg
c3N0YXRlIG1pcnJvciBvYmplY3QgYXZhaWxhYmlsaXR5IgogICAgICAgICAgICBiYi5ldmVudC5m
aXJlKGJiLmV2ZW50LlByb2Nlc3NTdGFydGVkKG1zZywgbGVuKHRhc2tsaXN0KSksIGQpCgogICAg
ICAgICAgICBpbXBvcnQgbXVsdGlwcm9jZXNzaW5nCiAgICAgICAgICAgIG5wcm9jID0gbWluKG11
bHRpcHJvY2Vzc2luZy5jcHVfY291bnQoKSwgbGVuKHRhc2tsaXN0KSkKCiAgICAgICAgICAgIGJi
LmV2ZW50LmVuYWJsZV90aHJlYWRsb2NrKCkKICAgICAgICAgICAgcG9vbCA9IG9lLnV0aWxzLlRo
cmVhZGVkUG9vbChucHJvYywgbGVuKHRhc2tsaXN0KSwKICAgICAgICAgICAgICAgICAgICB3b3Jr
ZXJfaW5pdD1jaGVja3N0YXR1c19pbml0LCB3b3JrZXJfZW5kPWNoZWNrc3RhdHVzX2VuZCkKICAg
ICAgICAgICAgZm9yIHQgaW4gdGFza2xpc3Q6CiAgICAgICAgICAgICAgICBwb29sLmFkZF90YXNr
KGNoZWNrc3RhdHVzLCB0KQogICAgICAgICAgICBwb29sLnN0YXJ0KCkKICAgICAgICAgICAgcG9v
bC53YWl0X2NvbXBsZXRpb24oKQogICAgICAgICAgICBiYi5ldmVudC5kaXNhYmxlX3RocmVhZGxv
Y2soKQoKICAgICAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5Qcm9jZXNzRmluaXNoZWQo
bXNnKSwgZCkKCiAgICAjIExpa2VseSBjaGVja2luZyBhbiBpbmRpdmlkdWFsIHRhc2sgaGFzaCBh
Z2FpbiBmb3IgbXVsdGljb25maWcgc2hhcmluZyBvZiBzc3RhdGUgdGFza3Mgc28gc2tpcCByZXBv
cnRpbmcKICAgIGlmIGxlbihzcV9kYXRhWydoYXNoJ10pID09IDE6CiAgICAgICAgcmV0dXJuIGZv
dW5kCgogICAgaW5oZXJpdGxpc3QgPSBkLmdldFZhcigiSU5IRVJJVCIpCiAgICBpZiAidG9hc3Rl
ciIgaW4gaW5oZXJpdGxpc3Q6CiAgICAgICAgZXZkYXRhID0geydtaXNzZWQnOiBbXSwgJ2ZvdW5k
JzogW119OwogICAgICAgIGZvciB0aWQgaW4gbWlzc2VkOgogICAgICAgICAgICBzcGVjLCBleHRy
YXBhdGgsIHRuYW1lID0gZ2V0cGF0aGNvbXBvbmVudHModGlkLCBkKQogICAgICAgICAgICBzc3Rh
dGVmaWxlID0gZC5leHBhbmQoZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgZ2V0
aGFzaCh0aWQpLCBkKSArICJfIiArIHRuYW1lICsgIi50Z3oiKQogICAgICAgICAgICBldmRhdGFb
J21pc3NlZCddLmFwcGVuZCgoYmIucnVucXVldWUuZm5fZnJvbV90aWQodGlkKSwgYmIucnVucXVl
dWUudGFza25hbWVfZnJvbV90aWQodGlkKSwgZ2V0aGFzaCh0aWQpLCBzc3RhdGVmaWxlICkgKQog
ICAgICAgIGZvciB0aWQgaW4gZm91bmQ6CiAgICAgICAgICAgIHNwZWMsIGV4dHJhcGF0aCwgdG5h
bWUgPSBnZXRwYXRoY29tcG9uZW50cyh0aWQsIGQpCiAgICAgICAgICAgIHNzdGF0ZWZpbGUgPSBk
LmV4cGFuZChleHRyYXBhdGggKyBnZW5lcmF0ZV9zc3RhdGVmbihzcGVjLCBnZXRoYXNoKHRpZCks
IGQpICsgIl8iICsgdG5hbWUgKyAiLnRneiIpCiAgICAgICAgICAgIGV2ZGF0YVsnZm91bmQnXS5h
cHBlbmQoKGJiLnJ1bnF1ZXVlLmZuX2Zyb21fdGlkKHRpZCksIGJiLnJ1bnF1ZXVlLnRhc2tuYW1l
X2Zyb21fdGlkKHRpZCksIGdldGhhc2godGlkKSwgc3N0YXRlZmlsZSApICkKICAgICAgICBiYi5l
dmVudC5maXJlKGJiLmV2ZW50Lk1ldGFkYXRhRXZlbnQoIk1pc3NlZFNzdGF0ZSIsIGV2ZGF0YSks
IGQpCgogICAgaWYgc3VtbWFyeToKICAgICAgICAjIFByaW50IHNvbWUgc3VtbWFyeSBzdGF0aXN0
aWNzIGFib3V0IHRoZSBjdXJyZW50IHRhc2sgY29tcGxldGlvbiBhbmQgaG93IG11Y2ggc3N0YXRl
CiAgICAgICAgIyByZXVzZSB0aGVyZSB3YXMuIEF2b2lkIGRpdmlkZSBieSB6ZXJvIGVycm9ycy4K
ICAgICAgICB0b3RhbCA9IGxlbihzcV9kYXRhWydoYXNoJ10pCiAgICAgICAgY29tcGxldGUgPSAw
CiAgICAgICAgaWYgY3VycmVudGNvdW50OgogICAgICAgICAgICBjb21wbGV0ZSA9IChsZW4oZm91
bmQpICsgY3VycmVudGNvdW50KSAvICh0b3RhbCArIGN1cnJlbnRjb3VudCkgKiAxMDAKICAgICAg
ICBtYXRjaCA9IDAKICAgICAgICBpZiB0b3RhbDoKICAgICAgICAgICAgbWF0Y2ggPSBsZW4oZm91
bmQpIC8gdG90YWwgKiAxMDAKICAgICAgICBiYi5wbGFpbigiU3N0YXRlIHN1bW1hcnk6IFdhbnRl
ZCAlZCBGb3VuZCAlZCBNaXNzZWQgJWQgQ3VycmVudCAlZCAoJWQlJSBtYXRjaCwgJWQlJSBjb21w
bGV0ZSkiICUgKHRvdGFsLCBsZW4oZm91bmQpLCBsZW4obWlzc2VkKSwgY3VycmVudGNvdW50LCBt
YXRjaCwgY29tcGxldGUpKQoKICAgIGlmIGhhc2F0dHIoYmIucGFyc2Uuc2lnZ2VuLCAiY2hlY2to
YXNoZXMiKToKICAgICAgICBiYi5wYXJzZS5zaWdnZW4uY2hlY2toYXNoZXMoc3FfZGF0YSwgbWlz
c2VkLCBmb3VuZCwgZCkKCiAgICByZXR1cm4gZm91bmQKfQoKCnB5dGhvbiBzc3RhdGVfY2xlYW4g
KCkgewpkZWYgc3N0YXRlX2NsZWFuKHNzLCBkKToKICAgIGltcG9ydCBvZS5wYXRoCiAgICBpbXBv
cnQgZ2xvYgoKICAgIGQyID0gZC5jcmVhdGVDb3B5KCkKICAgIHN0YW1wX2NsZWFuID0gZC5nZXRW
YXIoIlNUQU1QQ0xFQU4iKQogICAgZXh0cmFpbmYgPSBkLmdldFZhckZsYWcoImRvXyIgKyBzc1sn
dGFzayddLCAnc3RhbXAtZXh0cmEtaW5mbycpCiAgICBpZiBleHRyYWluZjoKICAgICAgICBkMi5z
ZXRWYXIoIlNTVEFURV9NQU5NQUNIIiwgZXh0cmFpbmYpCiAgICAgICAgd2lsZGNhcmRfc3RmaWxl
ID0gIiVzLmRvXyVzKi4lcyIgJSAoc3RhbXBfY2xlYW4sIHNzWyd0YXNrJ10sIGV4dHJhaW5mKQog
ICAgZWxzZToKICAgICAgICB3aWxkY2FyZF9zdGZpbGUgPSAiJXMuZG9fJXMqIiAlIChzdGFtcF9j
bGVhbiwgc3NbJ3Rhc2snXSkKCiAgICBtYW5pZmVzdCA9IGQyLmV4cGFuZCgiJHtTU1RBVEVfTUFO
RklMRVBSRUZJWH0uJXMiICUgc3NbJ3Rhc2snXSkKCiAgICBpZiBvcy5wYXRoLmV4aXN0cyhtYW5p
ZmVzdCk6CiAgICAgICAgbG9ja3MgPSBbXQogICAgICAgIGZvciBsb2NrIGluIHNzWydsb2NrZmls
ZXMtc2hhcmVkJ106CiAgICAgICAgICAgIGxvY2tzLmFwcGVuZChiYi51dGlscy5sb2NrZmlsZShs
b2NrKSkKICAgICAgICBmb3IgbG9jayBpbiBzc1snbG9ja2ZpbGVzJ106CiAgICAgICAgICAgIGxv
Y2tzLmFwcGVuZChiYi51dGlscy5sb2NrZmlsZShsb2NrKSkKCiAgICAgICAgc3N0YXRlX2NsZWFu
X21hbmlmZXN0KG1hbmlmZXN0LCBkKQoKICAgICAgICBmb3IgbG9jayBpbiBsb2NrczoKICAgICAg
ICAgICAgYmIudXRpbHMudW5sb2NrZmlsZShsb2NrKQoKICAgICMgUmVtb3ZlIHRoZSBjdXJyZW50
IGFuZCBwcmV2aW91cyBzdGFtcHMsIGJ1dCBrZWVwIHRoZSBzaWdkYXRhLgogICAgIwogICAgIyBU
aGUgZ2xvYigpIG1hdGNoZXMgZG9fdGFzayogd2hpY2ggbWF5IG1hdGNoIG11bHRpcGxlIHRhc2tz
LCBmb3IKICAgICMgZXhhbXBsZTogZG9fcGFja2FnZSBhbmQgZG9fcGFja2FnZV93cml0ZV9pcGss
IHNvIHdlIG5lZWQgdG8KICAgICMgZXhhY3RseSBtYXRjaCAqLmRvX3Rhc2suKiBhbmQgKi5kb190
YXNrX3NldHNjZW5lLioKICAgIHJtX3N0YW1wID0gJy5kb18lcy4nICUgc3NbJ3Rhc2snXQogICAg
cm1fc2V0c2NlbmUgPSAnLmRvXyVzX3NldHNjZW5lLicgJSBzc1sndGFzayddCiAgICAjIEZvciBC
Ql9TSUdOQVRVUkVfSEFORExFUiA9ICJub29wIgogICAgcm1fbm9oYXNoID0gIi5kb18lcyIgJSBz
c1sndGFzayddCiAgICBmb3Igc3RmaWxlIGluIGdsb2IuZ2xvYih3aWxkY2FyZF9zdGZpbGUpOgog
ICAgICAgICMgS2VlcCB0aGUgc2lnZGF0YQogICAgICAgIGlmICIuc2lnZGF0YS4iIGluIHN0Zmls
ZSBvciAiLnNpZ2Jhc2VkYXRhLiIgaW4gc3RmaWxlOgogICAgICAgICAgICBjb250aW51ZQogICAg
ICAgICMgUHJlc2VydmUgdGFpbnQgZmlsZXMgaW4gdGhlIHN0YW1wcyBkaXJlY3RvcnkKICAgICAg
ICBpZiBzdGZpbGUuZW5kc3dpdGgoJy50YWludCcpOgogICAgICAgICAgICBjb250aW51ZQogICAg
ICAgIGlmIHJtX3N0YW1wIGluIHN0ZmlsZSBvciBybV9zZXRzY2VuZSBpbiBzdGZpbGUgb3IgXAog
ICAgICAgICAgICAgICAgc3RmaWxlLmVuZHN3aXRoKHJtX25vaGFzaCk6CiAgICAgICAgICAgIG9l
LnBhdGgucmVtb3ZlKHN0ZmlsZSkKfQoKCnB5dGhvbiBzc3RhdGVfY2xlYW5fY2FjaGVmaWxlICgp
IHsKZGVmIHNzdGF0ZV9jbGVhbl9jYWNoZWZpbGUoc3MsIGQpOgogICAgaW1wb3J0IG9lLnBhdGgK
CiAgICBzc3RhdGVwa2dmaWxlID0gZC5nZXRWYXIoJ1NTVEFURV9QQVRIU1BFQycpICsgIipfIiAr
IHNzWyd0YXNrJ10gKyAiLnRneioiCiAgICBpZiBkLmdldFZhckZsYWcoJ2RvXyVzJyAlIHNzWyd0
YXNrJ10sICd0YXNrJyk6CiAgICAgICAgYmIubm90ZSgiUmVtb3ZpbmcgJXMiICUgc3N0YXRlcGtn
ZmlsZSkKICAgICAgICBvZS5wYXRoLnJlbW92ZShzc3RhdGVwa2dmaWxlKQp9CgoKcHl0aG9uIHNz
dGF0ZV9jbGVhbl9jYWNoZWZpbGVzICgpIHsKZGVmIHNzdGF0ZV9jbGVhbl9jYWNoZWZpbGVzKGQp
OgogICAgZm9yIHRhc2sgaW4gKGQuZ2V0VmFyKCdTU1RBVEVUQVNLUycpIG9yICIiKS5zcGxpdCgp
OgogICAgICAgIGxkID0gZC5jcmVhdGVDb3B5KCkKICAgICAgICBzcyA9IHNzdGF0ZV9zdGF0ZV9m
cm9tdmFycyhsZCwgdGFzaykKICAgICAgICBzc3RhdGVfY2xlYW5fY2FjaGVmaWxlKHNzLCBsZCkK
fQoKCnB5dGhvbiBzc3RhdGVfY2xlYW5fbWFuaWZlc3QgKCkgewpkZWYgc3N0YXRlX2NsZWFuX21h
bmlmZXN0KG1hbmlmZXN0LCBkLCBwcmVmaXg9Tm9uZSk6CiAgICBpbXBvcnQgb2UucGF0aAoKICAg
IG1maWxlID0gb3BlbihtYW5pZmVzdCkKICAgIGVudHJpZXMgPSBtZmlsZS5yZWFkbGluZXMoKQog
ICAgbWZpbGUuY2xvc2UoKQoKICAgIGZvciBlbnRyeSBpbiBlbnRyaWVzOgogICAgICAgIGVudHJ5
ID0gZW50cnkuc3RyaXAoKQogICAgICAgIGlmIHByZWZpeCBhbmQgbm90IGVudHJ5LnN0YXJ0c3dp
dGgoIi8iKToKICAgICAgICAgICAgZW50cnkgPSBwcmVmaXggKyAiLyIgKyBlbnRyeQogICAgICAg
IGJiLmRlYnVnKDIsICJSZW1vdmluZyBtYW5pZmVzdDogJXMiICUgZW50cnkpCiAgICAgICAgIyBX
ZSBjYW4gcmFjZSBhZ2FpbnN0IGFub3RoZXIgcGFja2FnZSBwb3B1bGF0aW5nIGRpcmVjdG9yaWVz
IGFzIHdlJ3JlIHJlbW92aW5nIHRoZW0KICAgICAgICAjIHNvIHdlIGlnbm9yZSBlcnJvcnMgaGVy
ZS4KICAgICAgICB0cnk6CiAgICAgICAgICAgIGlmIGVudHJ5LmVuZHN3aXRoKCIvIik6CiAgICAg
ICAgICAgICAgICBpZiBvcy5wYXRoLmlzbGluayhlbnRyeVs6LTFdKToKICAgICAgICAgICAgICAg
ICAgICBvcy5yZW1vdmUoZW50cnlbOi0xXSkKICAgICAgICAgICAgICAgIGVsaWYgb3MucGF0aC5l
eGlzdHMoZW50cnkpIGFuZCBsZW4ob3MubGlzdGRpcihlbnRyeSkpID09IDA6CiAgICAgICAgICAg
ICAgICAgICAgb3Mucm1kaXIoZW50cnlbOi0xXSkKICAgICAgICAgICAgZWxzZToKICAgICAgICAg
ICAgICAgIG9zLnJlbW92ZShlbnRyeSkKICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAg
ICAgcGFzcwoKICAgIHBvc3RybSA9IG1hbmlmZXN0ICsgIi5wb3N0cm0iCiAgICBpZiBvcy5wYXRo
LmV4aXN0cyhtYW5pZmVzdCArICIucG9zdHJtIik6CiAgICAgICAgaW1wb3J0IHN1YnByb2Nlc3MK
ICAgICAgICBvcy5jaG1vZChwb3N0cm0sIDBvNzU1KQogICAgICAgIHN1YnByb2Nlc3MuY2hlY2tf
Y2FsbChwb3N0cm0sIHNoZWxsPVRydWUpCiAgICAgICAgb2UucGF0aC5yZW1vdmUocG9zdHJtKQoK
ICAgIG9lLnBhdGgucmVtb3ZlKG1hbmlmZXN0KQp9CgoKcHl0aG9uIHNzdGF0ZV9jbGVhbmFsbCAo
KSB7CiAgICBiYi5ub3RlKCJSZW1vdmluZyBzaGFyZWQgc3RhdGUgZm9yIHBhY2thZ2UgJXMiICUg
ZC5nZXRWYXIoJ1BOJykpCgogICAgbWFuaWZlc3RfZGlyID0gZC5nZXRWYXIoJ1NTVEFURV9NQU5J
RkVTVFMnKQogICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG1hbmlmZXN0X2Rpcik6CiAgICAgICAg
cmV0dXJuCgogICAgdGFza3MgPSBkLmdldFZhcignU1NUQVRFVEFTS1MnKS5zcGxpdCgpCiAgICBm
b3IgbmFtZSBpbiB0YXNrczoKICAgICAgICBsZCA9IGQuY3JlYXRlQ29weSgpCiAgICAgICAgc2hh
cmVkX3N0YXRlID0gc3N0YXRlX3N0YXRlX2Zyb212YXJzKGxkLCBuYW1lKQogICAgICAgIHNzdGF0
ZV9jbGVhbihzaGFyZWRfc3RhdGUsIGxkKQp9CgoKcHl0aG9uIHNzdGF0ZV9ldmVudGhhbmRsZXIg
KCkgewogICAgZCA9IGUuZGF0YQogICAgIyBXaGVuIHdlIHdyaXRlIGFuIHNzdGF0ZSBwYWNrYWdl
IHdlIHJld3JpdGUgdGhlIFNTVEFURV9QS0cKICAgIHNwa2cgPSBkLmdldFZhcignU1NUQVRFX1BL
RycpCiAgICBpZiBub3Qgc3BrZy5lbmRzd2l0aCgiLnRneiIpOgogICAgICAgIHRhc2tuYW1lID0g
ZC5nZXRWYXIoIkJCX1JVTlRBU0siKVszOl0KICAgICAgICBzcGVjID0gZC5nZXRWYXIoJ1NTVEFU
RV9QS0dTUEVDJykKICAgICAgICBzd3NwZWMgPSBkLmdldFZhcignU1NUQVRFX1NXU1BFQycpCiAg
ICAgICAgaWYgdGFza25hbWUgaW4gWyJmZXRjaCIsICJ1bnBhY2siLCAicGF0Y2giLCAicG9wdWxh
dGVfbGljIiwgInByZWNvbmZpZ3VyZSJdIGFuZCBzd3NwZWM6CiAgICAgICAgICAgIGQuc2V0VmFy
KCJTU1RBVEVfUEtHU1BFQyIsICIke1NTVEFURV9TV1NQRUN9IikKICAgICAgICAgICAgZC5zZXRW
YXIoIlNTVEFURV9FWFRSQVBBVEgiLCAiIikKICAgICAgICBzc3RhdGVwa2cgPSBkLmdldFZhcign
U1NUQVRFX1BLRycpCiAgICAgICAgYmIuc2lnZ2VuLmR1bXBfdGhpc190YXNrKHNzdGF0ZXBrZyAr
ICdfJyArIHRhc2tuYW1lICsgIi50Z3oiICIuc2lnaW5mbyIsIGQpCn0KCgpweXRob24gc3N0YXRl
X2V2ZW50aGFuZGxlcjIgKCkgewogICAgaW1wb3J0IGdsb2IKICAgIGQgPSBlLmRhdGEKICAgIHN0
YW1wcyA9IGUuc3RhbXBzLnZhbHVlcygpCiAgICByZW1vdmV3b3JrZGlyID0gKGQuZ2V0VmFyKCJT
U1RBVEVfUFJVTkVfT0JTT0xFVEVXT1JLRElSIiwgRmFsc2UpID09ICIxIikKICAgIHByZXNlcnZl
c3RhbXBmaWxlID0gZC5leHBhbmQoJyR7U1NUQVRFX01BTklGRVNUU30vcHJlc2VydmUtc3RhbXBz
JykKICAgIHByZXNlcnZlc3RhbXBzID0gW10KICAgIGlmIG9zLnBhdGguZXhpc3RzKHByZXNlcnZl
c3RhbXBmaWxlKToKICAgICAgICB3aXRoIG9wZW4ocHJlc2VydmVzdGFtcGZpbGUsICdyJykgYXMg
ZjoKICAgICAgICAgICAgcHJlc2VydmVzdGFtcHMgPSBmLnJlYWRsaW5lcygpCiAgICBzZWVuID0g
W10KCiAgICAjIFRoZSBtYWNoaW5lIGluZGV4IGNvbnRhaW5zIGFsbCB0aGUgc3RhbXBzIHRoaXMg
bWFjaGluZSBoYXMgZXZlciBzZWVuIGluIHRoaXMgYnVpbGQgZGlyZWN0b3J5LgogICAgIyBXZSBz
aG91bGQgb25seSByZW1vdmUgdGhpbmdzIHdoaWNoIHRoaXMgbWFjaGluZSBvbmNlIGFjY2Vzc2Vk
IGJ1dCBubyBsb25nZXIgZG9lcy4KICAgIG1hY2hpbmVpbmRleCA9IHNldCgpCiAgICBiYi51dGls
cy5ta2RpcmhpZXIoZC5leHBhbmQoIiR7U1NUQVRFX01BTklGRVNUU30iKSkKICAgIG1pID0gZC5l
eHBhbmQoIiR7U1NUQVRFX01BTklGRVNUU30vaW5kZXgtbWFjaGluZS0ke01BQ0hJTkV9IikKICAg
IGlmIG9zLnBhdGguZXhpc3RzKG1pKToKICAgICAgICB3aXRoIG9wZW4obWksICJyIikgYXMgZjoK
ICAgICAgICAgICAgbWFjaGluZWluZGV4ID0gc2V0KGxpbmUuc3RyaXAoKSBmb3IgbGluZSBpbiBm
LnJlYWRsaW5lcygpKQoKICAgIGZvciBhIGluIHNvcnRlZChsaXN0KHNldChkLmdldFZhcigiU1NU
QVRFX0FSQ0hTIikuc3BsaXQoKSkpKToKICAgICAgICB0b3JlbW92ZSA9IFtdCiAgICAgICAgaSA9
IGQuZXhwYW5kKCIke1NTVEFURV9NQU5JRkVTVFN9L2luZGV4LSIgKyBhKQogICAgICAgIGlmIG5v
dCBvcy5wYXRoLmV4aXN0cyhpKToKICAgICAgICAgICAgY29udGludWUKICAgICAgICB3aXRoIG9w
ZW4oaSwgInIiKSBhcyBmOgogICAgICAgICAgICBsaW5lcyA9IGYucmVhZGxpbmVzKCkKICAgICAg
ICAgICAgZm9yIGwgaW4gbGluZXM6CiAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAg
ICAgICAgKHN0YW1wLCBtYW5pZmVzdCwgd29ya2RpcikgPSBsLnNwbGl0KCkKICAgICAgICAgICAg
ICAgICAgICBpZiBzdGFtcCBub3QgaW4gc3RhbXBzIGFuZCBzdGFtcCBub3QgaW4gcHJlc2VydmVz
dGFtcHMgYW5kIHN0YW1wIGluIG1hY2hpbmVpbmRleDoKICAgICAgICAgICAgICAgICAgICAgICAg
dG9yZW1vdmUuYXBwZW5kKGwpCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIHN0YW1wIG5vdCBp
biBzZWVuOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmIuZGVidWcoMiwgIlN0YW1wICVz
IGlzIG5vdCByZWFjaGFibGUsIHJlbW92aW5nIHJlbGF0ZWQgbWFuaWZlc3RzIiAlIHN0YW1wKQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vlbi5hcHBlbmQoc3RhbXApCiAgICAgICAgICAg
ICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiSW52
YWxpZCBsaW5lICclcycgaW4gc3N0YXRlIG1hbmlmZXN0ICclcyciICUgKGwsIGkpKQoKICAgICAg
ICBpZiB0b3JlbW92ZToKICAgICAgICAgICAgbXNnID0gIlJlbW92aW5nICVkIHJlY2lwZXMgZnJv
bSB0aGUgJXMgc3lzcm9vdCIgJSAobGVuKHRvcmVtb3ZlKSwgYSkKICAgICAgICAgICAgYmIuZXZl
bnQuZmlyZShiYi5ldmVudC5Qcm9jZXNzU3RhcnRlZChtc2csIGxlbih0b3JlbW92ZSkpLCBkKQoK
ICAgICAgICAgICAgcmVtb3ZlZCA9IDAKICAgICAgICAgICAgZm9yIHIgaW4gdG9yZW1vdmU6CiAg
ICAgICAgICAgICAgICAoc3RhbXAsIG1hbmlmZXN0LCB3b3JrZGlyKSA9IHIuc3BsaXQoKQogICAg
ICAgICAgICAgICAgZm9yIG0gaW4gZ2xvYi5nbG9iKG1hbmlmZXN0ICsgIi4qIik6CiAgICAgICAg
ICAgICAgICAgICAgaWYgbS5lbmRzd2l0aCgiLnBvc3RybSIpOgogICAgICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgIHNzdGF0ZV9jbGVhbl9tYW5pZmVzdCht
LCBkKQogICAgICAgICAgICAgICAgYmIudXRpbHMucmVtb3ZlKHN0YW1wICsgIioiKQogICAgICAg
ICAgICAgICAgaWYgcmVtb3Zld29ya2RpcjoKICAgICAgICAgICAgICAgICAgICBiYi51dGlscy5y
ZW1vdmUod29ya2RpciwgcmVjdXJzZSA9IFRydWUpCiAgICAgICAgICAgICAgICBsaW5lcy5yZW1v
dmUocikKICAgICAgICAgICAgICAgIHJlbW92ZWQgPSByZW1vdmVkICsgMQogICAgICAgICAgICAg
ICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5Qcm9jZXNzUHJvZ3Jlc3MobXNnLCByZW1vdmVkKSwg
ZCkKCiAgICAgICAgICAgIGJiLmV2ZW50LmZpcmUoYmIuZXZlbnQuUHJvY2Vzc0ZpbmlzaGVkKG1z
ZyksIGQpCgogICAgICAgIHdpdGggb3BlbihpLCAidyIpIGFzIGY6CiAgICAgICAgICAgIGZvciBs
IGluIGxpbmVzOgogICAgICAgICAgICAgICAgZi53cml0ZShsKQogICAgbWFjaGluZWluZGV4IHw9
IHNldChzdGFtcHMpCiAgICB3aXRoIG9wZW4obWksICJ3IikgYXMgZjoKICAgICAgICBmb3IgbCBp
biBtYWNoaW5laW5kZXg6CiAgICAgICAgICAgIGYud3JpdGUobCArICJcbiIpCgogICAgaWYgcHJl
c2VydmVzdGFtcHM6CiAgICAgICAgb3MucmVtb3ZlKHByZXNlcnZlc3RhbXBmaWxlKQp9CgoKcHl0
aG9uIHNzdGF0ZV9oYXJkY29kZV9wYXRoICgpIHsKICAgIGltcG9ydCBzdWJwcm9jZXNzLCBwbGF0
Zm9ybQoKICAgICMgTmVlZCB0byByZW1vdmUgaGFyZGNvZGVkIHBhdGhzIGFuZCBmaXggdGhlc2Ug
d2hlbiB3ZSBpbnN0YWxsIHRoZQogICAgIyBzdGFnaW5nIHBhY2thZ2VzLgogICAgIwogICAgIyBO
b3RlOiB0aGUgbG9naWMgaW4gdGhpcyBmdW5jdGlvbiBuZWVkcyB0byBtYXRjaCB0aGUgcmV2ZXJz
ZSBsb2dpYwogICAgIyBpbiBzc3RhdGVfaW5zdGFsbHBrZyhzcywgZCkKCiAgICBzdGFnaW5nX3Rh
cmdldCA9IGQuZ2V0VmFyKCdSRUNJUEVfU1lTUk9PVCcpCiAgICBzdGFnaW5nX2hvc3QgPSBkLmdl
dFZhcignUkVDSVBFX1NZU1JPT1RfTkFUSVZFJykKICAgIHNzdGF0ZV9idWlsZGRpciA9IGQuZ2V0
VmFyKCdTU1RBVEVfQlVJTERESVInKQoKICAgIHNzdGF0ZV9zZWRfY21kID0gInNlZCAtaSAtZSAn
czolczpGSVhNRVNUQUdJTkdESVJIT1NUOmcnIiAlIHN0YWdpbmdfaG9zdAogICAgaWYgYmIuZGF0
YS5pbmhlcml0c19jbGFzcygnbmF0aXZlJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygn
Y3Jvc3MtY2FuYWRpYW4nLCBkKToKICAgICAgICBzc3RhdGVfZ3JlcF9jbWQgPSAiZ3JlcCAtbCAt
ZSAnJXMnIiAlIChzdGFnaW5nX2hvc3QpCiAgICBlbGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3Mo
J2Nyb3NzJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3NzZGsnLCBkKToKICAg
ICAgICBzc3RhdGVfZ3JlcF9jbWQgPSAiZ3JlcCAtbCAtZSAnJXMnIC1lICclcyciICUgKHN0YWdp
bmdfdGFyZ2V0LCBzdGFnaW5nX2hvc3QpCiAgICAgICAgc3N0YXRlX3NlZF9jbWQgKz0gIiAtZSAn
czolczpGSVhNRVNUQUdJTkdESVJUQVJHRVQ6ZyciICUgc3RhZ2luZ190YXJnZXQKICAgIGVsc2U6
CiAgICAgICAgc3N0YXRlX2dyZXBfY21kID0gImdyZXAgLWwgLWUgJyVzJyAtZSAnJXMnIiAlIChz
dGFnaW5nX3RhcmdldCwgc3RhZ2luZ19ob3N0KQogICAgICAgIHNzdGF0ZV9zZWRfY21kICs9ICIg
LWUgJ3M6JXM6RklYTUVTVEFHSU5HRElSVEFSR0VUOmcnIiAlIHN0YWdpbmdfdGFyZ2V0CgogICAg
ZXh0cmFfc3RhZ2luZ19maXhtZXMgPSBkLmdldFZhcignRVhUUkFfU1RBR0lOR19GSVhNRVMnKSBv
ciAnJwogICAgZm9yIGZpeG1ldmFyIGluIGV4dHJhX3N0YWdpbmdfZml4bWVzLnNwbGl0KCk6CiAg
ICAgICAgZml4bWVfcGF0aCA9IGQuZ2V0VmFyKGZpeG1ldmFyKQogICAgICAgIHNzdGF0ZV9zZWRf
Y21kICs9ICIgLWUgJ3M6JXM6RklYTUVfJXM6ZyciICUgKGZpeG1lX3BhdGgsIGZpeG1ldmFyKQog
ICAgICAgIHNzdGF0ZV9ncmVwX2NtZCArPSAiIC1lICclcyciICUgKGZpeG1lX3BhdGgpCgogICAg
Zml4bWVmbiA9ICBzc3RhdGVfYnVpbGRkaXIgKyAiZml4bWVwYXRoIgoKICAgIHNzdGF0ZV9zY2Fu
X2NtZCA9IGQuZ2V0VmFyKCdTU1RBVEVfU0NBTl9DTUQnKQogICAgc3N0YXRlX2ZpbGVsaXN0X2Nt
ZCA9ICJ0ZWUgJXMiICUgKGZpeG1lZm4pCgogICAgIyBmaXhtZXBhdGggZmlsZSBuZWVkcyByZWxh
dGl2ZSBwYXRocywgZHJvcCBzc3RhdGVfYnVpbGRkaXIgcHJlZml4CiAgICBzc3RhdGVfZmlsZWxp
c3RfcmVsYXRpdmVfY21kID0gInNlZCAtaSAtZSAnczpeJXM6OmcnICVzIiAlIChzc3RhdGVfYnVp
bGRkaXIsIGZpeG1lZm4pCgogICAgeGFyZ3Nfbm9fZW1wdHlfcnVuX2NtZCA9ICctLW5vLXJ1bi1p
Zi1lbXB0eScKICAgIGlmIHBsYXRmb3JtLnN5c3RlbSgpID09ICdEYXJ3aW4nOgogICAgICAgIHhh
cmdzX25vX2VtcHR5X3J1bl9jbWQgPSAnJwoKICAgICMgTGltaXQgdGhlIGZpeHBhdGhzIGFuZCBz
ZWQgb3BlcmF0aW9ucyBiYXNlZCBvbiB0aGUgaW5pdGlhbCBncmVwIHNlYXJjaAogICAgIyBUaGlz
IGhhcyB0aGUgc2lkZSBlZmZlY3Qgb2YgbWFraW5nIHN1cmUgdGhlIHZmcyBjYWNoZSBpcyBob3QK
ICAgIHNzdGF0ZV9oYXJkY29kZV9jbWQgPSAiJXMgfCB4YXJncyAlcyB8ICVzIHwgeGFyZ3MgJXMg
JXMiICUgKHNzdGF0ZV9zY2FuX2NtZCwgc3N0YXRlX2dyZXBfY21kLCBzc3RhdGVfZmlsZWxpc3Rf
Y21kLCB4YXJnc19ub19lbXB0eV9ydW5fY21kLCBzc3RhdGVfc2VkX2NtZCkKCiAgICBiYi5ub3Rl
KCJSZW1vdmluZyBoYXJkY29kZWQgcGF0aHMgZnJvbSBzc3RhdGUgcGFja2FnZTogJyVzJyIgJSAo
c3N0YXRlX2hhcmRjb2RlX2NtZCkpCiAgICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChzc3RhdGVf
aGFyZGNvZGVfY21kLCBzaGVsbD1UcnVlLCBjd2Q9c3N0YXRlX2J1aWxkZGlyKQoKICAgICAgICAj
IElmIHRoZSBmaXhtZWZuIGlzIGVtcHR5LCByZW1vdmUgaXQuLgogICAgaWYgb3Muc3RhdChmaXht
ZWZuKS5zdF9zaXplID09IDA6CiAgICAgICAgb3MucmVtb3ZlKGZpeG1lZm4pCiAgICBlbHNlOgog
ICAgICAgIGJiLm5vdGUoIlJlcGxhY2luZyBhYnNvbHV0ZSBwYXRocyBpbiBmaXhtZXBhdGggZmls
ZTogJyVzJyIgJSAoc3N0YXRlX2ZpbGVsaXN0X3JlbGF0aXZlX2NtZCkpCiAgICAgICAgc3VicHJv
Y2Vzcy5jaGVja19vdXRwdXQoc3N0YXRlX2ZpbGVsaXN0X3JlbGF0aXZlX2NtZCwgc2hlbGw9VHJ1
ZSkKfQoKCnB5dGhvbiBzc3RhdGVfaGFyZGNvZGVfcGF0aF91bnBhY2sgKCkgewogICAgIyBGaXh1
cCBoYXJkY29kZWQgcGF0aHMKICAgICMKICAgICMgTm90ZTogVGhlIGxvZ2ljIGJlbG93IG11c3Qg
bWF0Y2ggdGhlIHJldmVyc2UgbG9naWMgaW4KICAgICMgc3N0YXRlX2hhcmRjb2RlX3BhdGgoZCkK
ICAgIGltcG9ydCBzdWJwcm9jZXNzCgogICAgc3N0YXRlaW5zdCA9IGQuZ2V0VmFyKCdTU1RBVEVf
SU5TVERJUicpCiAgICBzc3RhdGVmaXhtZWRpciA9IGQuZ2V0VmFyKCdTU1RBVEVfRklYTUVESVIn
KQogICAgZml4bWVmbiA9IHNzdGF0ZWluc3QgKyAiZml4bWVwYXRoIgogICAgaWYgb3MucGF0aC5p
c2ZpbGUoZml4bWVmbik6CiAgICAgICAgc3RhZ2luZ190YXJnZXQgPSBkLmdldFZhcignUkVDSVBF
X1NZU1JPT1QnKQogICAgICAgIHN0YWdpbmdfaG9zdCA9IGQuZ2V0VmFyKCdSRUNJUEVfU1lTUk9P
VF9OQVRJVkUnKQoKICAgICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBk
KSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zcy1jYW5hZGlhbicsIGQpOgogICAgICAg
ICAgICBzc3RhdGVfc2VkX2NtZCA9ICJzZWQgLWkgLWUgJ3M6RklYTUVTVEFHSU5HRElSSE9TVDol
czpnJyIgJSAoc3RhZ2luZ19ob3N0KQogICAgICAgIGVsaWYgYmIuZGF0YS5pbmhlcml0c19jbGFz
cygnY3Jvc3MnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zc3NkaycsIGQpOgog
ICAgICAgICAgICBzc3RhdGVfc2VkX2NtZCA9ICJzZWQgLWkgLWUgJ3M6RklYTUVTVEFHSU5HRElS
VEFSR0VUOiVzOmc7IHM6RklYTUVTVEFHSU5HRElSSE9TVDolczpnJyIgJSAoc3RhZ2luZ190YXJn
ZXQsIHN0YWdpbmdfaG9zdCkKICAgICAgICBlbHNlOgogICAgICAgICAgICBzc3RhdGVfc2VkX2Nt
ZCA9ICJzZWQgLWkgLWUgJ3M6RklYTUVTVEFHSU5HRElSVEFSR0VUOiVzOmcnIiAlIChzdGFnaW5n
X3RhcmdldCkKCiAgICAgICAgZXh0cmFfc3RhZ2luZ19maXhtZXMgPSBkLmdldFZhcignRVhUUkFf
U1RBR0lOR19GSVhNRVMnKSBvciAnJwogICAgICAgIGZvciBmaXhtZXZhciBpbiBleHRyYV9zdGFn
aW5nX2ZpeG1lcy5zcGxpdCgpOgogICAgICAgICAgICBmaXhtZV9wYXRoID0gZC5nZXRWYXIoZml4
bWV2YXIpCiAgICAgICAgICAgIHNzdGF0ZV9zZWRfY21kICs9ICIgLWUgJ3M6RklYTUVfJXM6JXM6
ZyciICUgKGZpeG1ldmFyLCBmaXhtZV9wYXRoKQoKICAgICAgICAjIEFkZCBzc3RhdGVpbnN0IHRv
IGVhY2ggZmlsZW5hbWUgaW4gZml4bWVwYXRoLCB1c2UgeGFyZ3MgdG8gZWZmaWNpZW50bHkgY2Fs
bCBzZWQKICAgICAgICBzc3RhdGVfaGFyZGNvZGVfY21kID0gInNlZCAtZSAnczpeOiVzOmcnICVz
IHwgeGFyZ3MgJXMiICUgKHNzdGF0ZWluc3QsIGZpeG1lZm4sIHNzdGF0ZV9zZWRfY21kKQoKICAg
ICAgICAjIERlZmVyIGRvX3BvcHVsYXRlX3N5c3Jvb3QgcmVsb2NhdGlvbiBjb21tYW5kCiAgICAg
ICAgaWYgc3N0YXRlZml4bWVkaXI6CiAgICAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihzc3Rh
dGVmaXhtZWRpcikKICAgICAgICAgICAgd2l0aCBvcGVuKHNzdGF0ZWZpeG1lZGlyICsgIi9maXht
ZXBhdGguY21kIiwgInciKSBhcyBmOgogICAgICAgICAgICAgICAgc3N0YXRlX2hhcmRjb2RlX2Nt
ZCA9IHNzdGF0ZV9oYXJkY29kZV9jbWQucmVwbGFjZShmaXhtZWZuLCBzc3RhdGVmaXhtZWRpciAr
ICIvZml4bWVwYXRoIikKICAgICAgICAgICAgICAgIHNzdGF0ZV9oYXJkY29kZV9jbWQgPSBzc3Rh
dGVfaGFyZGNvZGVfY21kLnJlcGxhY2Uoc3N0YXRlaW5zdCwgIkZJWE1FRklOQUxTU1RBVEVJTlNU
IikKICAgICAgICAgICAgICAgIHNzdGF0ZV9oYXJkY29kZV9jbWQgPSBzc3RhdGVfaGFyZGNvZGVf
Y21kLnJlcGxhY2Uoc3RhZ2luZ19ob3N0LCAiRklYTUVGSU5BTFNTVEFURUhPU1QiKQogICAgICAg
ICAgICAgICAgc3N0YXRlX2hhcmRjb2RlX2NtZCA9IHNzdGF0ZV9oYXJkY29kZV9jbWQucmVwbGFj
ZShzdGFnaW5nX3RhcmdldCwgIkZJWE1FRklOQUxTU1RBVEVUQVJHRVQiKQogICAgICAgICAgICAg
ICAgZi53cml0ZShzc3RhdGVfaGFyZGNvZGVfY21kKQogICAgICAgICAgICBiYi51dGlscy5jb3B5
ZmlsZShmaXhtZWZuLCBzc3RhdGVmaXhtZWRpciArICIvZml4bWVwYXRoIikKICAgICAgICAgICAg
cmV0dXJuCgogICAgICAgIGJiLm5vdGUoIlJlcGxhY2luZyBmaXhtZSBwYXRocyBpbiBzc3RhdGUg
cGFja2FnZTogJXMiICUgKHNzdGF0ZV9oYXJkY29kZV9jbWQpKQogICAgICAgIHN1YnByb2Nlc3Mu
Y2hlY2tfY2FsbChzc3RhdGVfaGFyZGNvZGVfY21kLCBzaGVsbD1UcnVlKQoKICAgICAgICAjIE5l
ZWQgdG8gcmVtb3ZlIHRoaXMgb3Igd2UnZCBjb3B5IGl0IGludG8gdGhlIHRhcmdldCBkaXJlY3Rv
cnkgYW5kIG1heQogICAgICAgICMgY29uZmxpY3Qgd2l0aCBhbm90aGVyIHdyaXRlcgogICAgICAg
IG9zLnJlbW92ZShmaXhtZWZuKQp9CgoKcHl0aG9uIHNzdGF0ZV9pbml0ICgpIHsKZGVmIHNzdGF0
ZV9pbml0KHRhc2ssIGQpOgogICAgc3MgPSB7fQogICAgc3NbJ3Rhc2snXSA9IHRhc2sKICAgIHNz
WydkaXJzJ10gPSBbXQogICAgc3NbJ3BsYWluZGlycyddID0gW10KICAgIHNzWydsb2NrZmlsZXMn
XSA9IFtdCiAgICBzc1snbG9ja2ZpbGVzLXNoYXJlZCddID0gW10KICAgIHJldHVybiBzcwp9CgoK
cHl0aG9uIHNzdGF0ZV9pbnN0YWxsICgpIHsKZGVmIHNzdGF0ZV9pbnN0YWxsKHNzLCBkKToKICAg
IGltcG9ydCBvZS5wYXRoCiAgICBpbXBvcnQgb2Uuc3N0YXRlc2lnCiAgICBpbXBvcnQgc3VicHJv
Y2VzcwoKICAgIHNoYXJlZGZpbGVzID0gW10KICAgIHNoYXJlZGRpcnMgPSBbXQogICAgYmIudXRp
bHMubWtkaXJoaWVyKGQuZXhwYW5kKCIke1NTVEFURV9NQU5JRkVTVFN9IikpCgogICAgc3N0YXRl
aW5zdCA9IGQuZXhwYW5kKCIke1dPUktESVJ9L3NzdGF0ZS1pbnN0YWxsLSVzLyIgJSBzc1sndGFz
ayddKQoKICAgIG1hbmlmZXN0LCBkMiA9IG9lLnNzdGF0ZXNpZy5zc3RhdGVfZ2V0X21hbmlmZXN0
X2ZpbGVuYW1lKHNzWyd0YXNrJ10sIGQpCgogICAgaWYgb3MuYWNjZXNzKG1hbmlmZXN0LCBvcy5S
X09LKToKICAgICAgICBiYi5mYXRhbCgiUGFja2FnZSBhbHJlYWR5IHN0YWdlZCAoJXMpPyEiICUg
bWFuaWZlc3QpCgogICAgZC5zZXRWYXIoIlNTVEFURV9JTlNUX1BPU1RSTSIsIG1hbmlmZXN0ICsg
Ii5wb3N0cm0iKQoKICAgIGxvY2tzID0gW10KICAgIGZvciBsb2NrIGluIHNzWydsb2NrZmlsZXMt
c2hhcmVkJ106CiAgICAgICAgbG9ja3MuYXBwZW5kKGJiLnV0aWxzLmxvY2tmaWxlKGxvY2ssIFRy
dWUpKQogICAgZm9yIGxvY2sgaW4gc3NbJ2xvY2tmaWxlcyddOgogICAgICAgIGxvY2tzLmFwcGVu
ZChiYi51dGlscy5sb2NrZmlsZShsb2NrKSkKCiAgICBmb3Igc3RhdGUgaW4gc3NbJ2RpcnMnXToK
ICAgICAgICBiYi5kZWJ1ZygyLCAiU3RhZ2luZyBmaWxlcyBmcm9tICVzIHRvICVzIiAlIChzdGF0
ZVsxXSwgc3RhdGVbMl0pKQogICAgICAgIGZvciB3YWxrcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mu
d2FsayhzdGF0ZVsxXSk6CiAgICAgICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgogICAgICAgICAg
ICAgICAgc3JjcGF0aCA9IG9zLnBhdGguam9pbih3YWxrcm9vdCwgZmlsZSkKICAgICAgICAgICAg
ICAgIGRzdHBhdGggPSBzcmNwYXRoLnJlcGxhY2Uoc3RhdGVbMV0sIHN0YXRlWzJdKQogICAgICAg
ICAgICAgICAgI2JiLmRlYnVnKDIsICJTdGFnaW5nICVzIHRvICVzIiAlIChzcmNwYXRoLCBkc3Rw
YXRoKSkKICAgICAgICAgICAgICAgIHNoYXJlZGZpbGVzLmFwcGVuZChkc3RwYXRoKQogICAgICAg
ICAgICBmb3IgZGlyIGluIGRpcnM6CiAgICAgICAgICAgICAgICBzcmNkaXIgPSBvcy5wYXRoLmpv
aW4od2Fsa3Jvb3QsIGRpcikKICAgICAgICAgICAgICAgIGRzdGRpciA9IHNyY2Rpci5yZXBsYWNl
KHN0YXRlWzFdLCBzdGF0ZVsyXSkKICAgICAgICAgICAgICAgICNiYi5kZWJ1ZygyLCAiU3RhZ2lu
ZyAlcyB0byAlcyIgJSAoc3JjZGlyLCBkc3RkaXIpKQogICAgICAgICAgICAgICAgaWYgb3MucGF0
aC5pc2xpbmsoc3JjZGlyKToKICAgICAgICAgICAgICAgICAgICBzaGFyZWRmaWxlcy5hcHBlbmQo
ZHN0ZGlyKQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBpZiBu
b3QgZHN0ZGlyLmVuZHN3aXRoKCIvIik6CiAgICAgICAgICAgICAgICAgICAgZHN0ZGlyID0gZHN0
ZGlyICsgIi8iCiAgICAgICAgICAgICAgICBzaGFyZWRkaXJzLmFwcGVuZChkc3RkaXIpCgogICAg
IyBDaGVjayB0aGUgZmlsZSBsaXN0IGZvciBjb25mbGljdHMgYWdhaW5zdCBmaWxlcyB3aGljaCBh
bHJlYWR5IGV4aXN0CiAgICB3aGl0ZWxpc3QgPSAoZC5nZXRWYXIoIlNTVEFURV9EVVBXSElURUxJ
U1QiKSBvciAiIikuc3BsaXQoKQogICAgbWF0Y2ggPSBbXQogICAgZm9yIGYgaW4gc2hhcmVkZmls
ZXM6CiAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoZikgYW5kIG5vdCBvcy5wYXRoLmlzbGluayhm
KToKICAgICAgICAgICAgZiA9IG9zLnBhdGgubm9ybXBhdGgoZikKICAgICAgICAgICAgcmVhbG1h
dGNoID0gVHJ1ZQogICAgICAgICAgICBmb3IgdyBpbiB3aGl0ZWxpc3Q6CiAgICAgICAgICAgICAg
ICB3ID0gb3MucGF0aC5ub3JtcGF0aCh3KQogICAgICAgICAgICAgICAgaWYgZi5zdGFydHN3aXRo
KHcpOgogICAgICAgICAgICAgICAgICAgIHJlYWxtYXRjaCA9IEZhbHNlCiAgICAgICAgICAgICAg
ICAgICAgYnJlYWsKICAgICAgICAgICAgaWYgcmVhbG1hdGNoOgogICAgICAgICAgICAgICAgbWF0
Y2guYXBwZW5kKGYpCiAgICAgICAgICAgICAgICBzc3RhdGVfc2VhcmNoX2NtZCA9ICJncmVwIC1y
bEYgJyVzJyAlcyAtLWV4Y2x1ZGU9bWFzdGVyLmxpc3QgfCBzZWQgLWUgJ3M6Xi4qLzo6JyIgJSAo
ZiwgZC5leHBhbmQoIiR7U1NUQVRFX01BTklGRVNUU30iKSkKICAgICAgICAgICAgICAgIHNlYXJj
aF9vdXRwdXQgPSBzdWJwcm9jZXNzLlBvcGVuKHNzdGF0ZV9zZWFyY2hfY21kLCBzaGVsbD1UcnVl
LCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKS5jb21tdW5pY2F0ZSgpWzBdCiAgICAgICAgICAgICAg
ICBpZiBzZWFyY2hfb3V0cHV0OgogICAgICAgICAgICAgICAgICAgIG1hdGNoLmFwcGVuZCgiICAo
bWF0Y2hlZCBpbiAlcykiICUgc2VhcmNoX291dHB1dC5kZWNvZGUoJ3V0Zi04JykucnN0cmlwKCkp
CiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIG1hdGNoLmFwcGVuZCgi
ICAobm90IG1hdGNoZWQgdG8gYW55IHRhc2spIikKICAgIGlmIG1hdGNoOgogICAgICAgIGJiLmVy
cm9yKCJUaGUgcmVjaXBlICVzIGlzIHRyeWluZyB0byBpbnN0YWxsIGZpbGVzIGludG8gYSBzaGFy
ZWQgIiBcCiAgICAgICAgICAiYXJlYSB3aGVuIHRob3NlIGZpbGVzIGFscmVhZHkgZXhpc3QuIFRo
b3NlIGZpbGVzIGFuZCB0aGVpciBtYW5pZmVzdCAiIFwKICAgICAgICAgICJsb2NhdGlvbiBhcmU6
XG4gICVzXG5QbGVhc2UgdmVyaWZ5IHdoaWNoIHJlY2lwZSBzaG91bGQgcHJvdmlkZSB0aGUgIiBc
CiAgICAgICAgICAiYWJvdmUgZmlsZXMuXG5cblRoZSBidWlsZCBoYXMgc3RvcHBlZCwgYXMgY29u
dGludWluZyBpbiB0aGlzIHNjZW5hcmlvIFdJTEwgIiBcCiAgICAgICAgICAiYnJlYWsgdGhpbmdz
IC0gaWYgbm90IG5vdywgcG9zc2libHkgaW4gdGhlIGZ1dHVyZSAod2UndmUgc2VlbiBidWlsZHMg
ZmFpbCAiIFwKICAgICAgICAgICJzZXZlcmFsIG1vbnRocyBsYXRlcikuIElmIHRoZSBzeXN0ZW0g
a25ldyBob3cgdG8gcmVjb3ZlciBmcm9tIHRoaXMgIiBcCiAgICAgICAgICAiYXV0b21hdGljYWxs
eSBpdCB3b3VsZCwgaG93ZXZlciB0aGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgc2NlbmFyaW9z
ICIgXAogICAgICAgICAgIndoaWNoIGNhbiByZXN1bHQgaW4gdGhpcyBhbmQgd2UgZG9uJ3Qga25v
dyB3aGljaCBvbmUgdGhpcyBpcy4gSXQgbWF5IGJlICIgXAogICAgICAgICAgInlvdSBoYXZlIHN3
aXRjaGVkIHByb3ZpZGVycyBvZiBzb21ldGhpbmcgbGlrZSB2aXJ0dWFsL2tlcm5lbCAoZS5nLiBm
cm9tICIgXAogICAgICAgICAgImxpbnV4LXlvY3RvIHRvIGxpbnV4LXlvY3RvLWRldiksIGluIHRo
YXQgY2FzZSB5b3UgbmVlZCB0byBleGVjdXRlIHRoZSAiIFwKICAgICAgICAgICJjbGVhbiB0YXNr
IGZvciBib3RoIHJlY2lwZXMgYW5kIGl0IHdpbGwgcmVzb2x2ZSB0aGlzIGVycm9yLiBJdCBtYXkg
YmUgIiBcCiAgICAgICAgICAieW91IGNoYW5nZWQgRElTVFJPX0ZFQVRVUkVTIGZyb20gc3lzdGVt
ZCB0byB1ZGV2IG9yIHZpY2UgdmVyc2EuIENsZWFuaW5nICIgXAogICAgICAgICAgInRob3NlIHJl
Y2lwZXMgc2hvdWxkIGFnYWluIHJlc29sdmUgdGhpcyBlcnJvciwgaG93ZXZlciBzd2l0Y2hpbmcg
IiBcCiAgICAgICAgICAiRElTVFJPX0ZFQVRVUkVTIG9uIGFuIGV4aXN0aW5nIGJ1aWxkIGRpcmVj
dG9yeSBpcyBub3Qgc3VwcG9ydGVkIC0geW91ICIgXAogICAgICAgICAgInNob3VsZCByZWFsbHkg
Y2xlYW4gb3V0IHRtcCBhbmQgcmVidWlsZCAocmV1c2luZyBzc3RhdGUgc2hvdWxkIGJlIHNhZmUp
LiAiIFwKICAgICAgICAgICJJdCBjb3VsZCBiZSB0aGUgb3ZlcmxhcHBpbmcgZmlsZXMgZGV0ZWN0
ZWQgYXJlIGhhcm1sZXNzIGluIHdoaWNoIGNhc2UgIiBcCiAgICAgICAgICAiYWRkaW5nIHRoZW0g
dG8gU1NUQVRFX0RVUFdISVRFTElTVCBtYXkgYmUgdGhlIGNvcnJlY3Qgc29sdXRpb24uIEl0IGNv
dWxkICIgXAogICAgICAgICAgImFsc28gYmUgeW91ciBidWlsZCBpcyBpbmNsdWRpbmcgdHdvIGRp
ZmZlcmVudCBjb25mbGljdGluZyB2ZXJzaW9ucyBvZiAiIFwKICAgICAgICAgICJ0aGluZ3MgKGUu
Zy4gYmx1ZXogNCBhbmQgYmx1ZXogNSBhbmQgdGhlIGNvcnJlY3Qgc29sdXRpb24gZm9yIHRoYXQg
d291bGQgIiBcCiAgICAgICAgICAiYmUgdG8gcmVzb2x2ZSB0aGUgY29uZmxpY3QuIElmIGluIGRv
dWJ0LCBwbGVhc2UgYXNrIG9uIHRoZSBtYWlsaW5nIGxpc3QsICIgXAogICAgICAgICAgInNoYXJp
bmcgdGhlIGVycm9yIGFuZCBmaWxlbGlzdCBhYm92ZS4iICUgXAogICAgICAgICAgKGQuZ2V0VmFy
KCdQTicpLCAiXG4gICIuam9pbihtYXRjaCkpKQogICAgICAgIGJiLmZhdGFsKCJJZiB0aGUgYWJv
dmUgbWVzc2FnZSBpcyB0b28gbXVjaCwgdGhlIHNpbXBsZXIgdmVyc2lvbiBpcyB5b3UncmUgYWR2
aXNlZCB0byB3aXBlIG91dCB0bXAgYW5kIHJlYnVpbGQgKHJldXNpbmcgc3N0YXRlIGlzIGZpbmUp
LiBUaGF0IHdpbGwgbGlrZWx5IGZpeCB0aGluZ3MgaW4gbW9zdCAoYnV0IG5vdCBhbGwpIGNhc2Vz
LiIpCgogICAgaWYgc3NbJ2ZpeG1lZGlyJ10gYW5kIG9zLnBhdGguZXhpc3RzKHNzWydmaXhtZWRp
ciddICsgIi9maXhtZXBhdGguY21kIik6CiAgICAgICAgc2hhcmVkZmlsZXMuYXBwZW5kKHNzWydm
aXhtZWRpciddICsgIi9maXhtZXBhdGguY21kIikKICAgICAgICBzaGFyZWRmaWxlcy5hcHBlbmQo
c3NbJ2ZpeG1lZGlyJ10gKyAiL2ZpeG1lcGF0aCIpCgogICAgIyBXcml0ZSBvdXQgdGhlIG1hbmlm
ZXN0CiAgICBmID0gb3BlbihtYW5pZmVzdCwgInciKQogICAgZm9yIGZpbGUgaW4gc2hhcmVkZmls
ZXM6CiAgICAgICAgZi53cml0ZShmaWxlICsgIlxuIikKCiAgICAjIFdlIHdhbnQgdG8gZW5zdXJl
IHRoYXQgZGlyZWN0b3JpZXMgYXBwZWFyIGF0IHRoZSBlbmQgb2YgdGhlIG1hbmlmZXN0CiAgICAj
IHNvIHRoYXQgd2hlbiB3ZSB0ZXN0IHRvIHNlZSBpZiB0aGV5IHNob3VsZCBiZSBkZWxldGVkIGFu
eSBjb250ZW50cwogICAgIyBhZGRlZCBieSB0aGUgdGFzayB3aWxsIGhhdmUgYmVlbiByZW1vdmVk
IGZpcnN0LgogICAgZGlycyA9IHNvcnRlZChzaGFyZWRkaXJzLCBrZXk9bGVuKQogICAgIyBNdXN0
IHJlbW92ZSBjaGlsZHJlbiBmaXJzdCwgd2hpY2ggd2lsbCBoYXZlIGEgbG9uZ2VyIHBhdGggdGhh
biB0aGUgcGFyZW50CiAgICBmb3IgZGkgaW4gcmV2ZXJzZWQoZGlycyk6CiAgICAgICAgZi53cml0
ZShkaSArICJcbiIpCiAgICBmLmNsb3NlKCkKCiAgICAjIEFwcGVuZCB0byB0aGUgbGlzdCBvZiBt
YW5pZmVzdHMgZm9yIHRoaXMgUEFDS0FHRV9BUkNICgogICAgaSA9IGQyLmV4cGFuZCgiJHtTU1RB
VEVfTUFOSUZFU1RTfS9pbmRleC0ke1NTVEFURV9NQU5NQUNIfSIpCiAgICBsID0gYmIudXRpbHMu
bG9ja2ZpbGUoaSArICIubG9jayIpCiAgICBmaWxlZGF0YSA9IGQuZ2V0VmFyKCJTVEFNUCIpICsg
IiAiICsgZDIuZ2V0VmFyKCJTU1RBVEVfTUFORklMRVBSRUZJWCIpICsgIiAiICsgZC5nZXRWYXIo
IldPUktESVIiKSArICJcbiIKICAgIG1hbmlmZXN0cyA9IFtdCiAgICBpZiBvcy5wYXRoLmV4aXN0
cyhpKToKICAgICAgICB3aXRoIG9wZW4oaSwgInIiKSBhcyBmOgogICAgICAgICAgICBtYW5pZmVz
dHMgPSBmLnJlYWRsaW5lcygpCiAgICBpZiBmaWxlZGF0YSBub3QgaW4gbWFuaWZlc3RzOgogICAg
ICAgIHdpdGggb3BlbihpLCAiYSsiKSBhcyBmOgogICAgICAgICAgICBmLndyaXRlKGZpbGVkYXRh
KQogICAgYmIudXRpbHMudW5sb2NrZmlsZShsKQoKICAgICMgUnVuIHRoZSBhY3R1YWwgZmlsZSBp
bnN0YWxsCiAgICBmb3Igc3RhdGUgaW4gc3NbJ2RpcnMnXToKICAgICAgICBpZiBvcy5wYXRoLmV4
aXN0cyhzdGF0ZVsxXSk6CiAgICAgICAgICAgIG9lLnBhdGguY29weWhhcmRsaW5rdHJlZShzdGF0
ZVsxXSwgc3RhdGVbMl0pCgogICAgZm9yIHBvc3RpbnN0IGluIChkLmdldFZhcignU1NUQVRFUE9T
VElOU1RGVU5DUycpIG9yICcnKS5zcGxpdCgpOgogICAgICAgICMgQWxsIGhvb2tzIHNob3VsZCBy
dW4gaW4gdGhlIFNTVEFURV9JTlNURElSCiAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKHBvc3Rp
bnN0LCBkLCAoc3N0YXRlaW5zdCwpKQoKICAgIGZvciBsb2NrIGluIGxvY2tzOgogICAgICAgIGJi
LnV0aWxzLnVubG9ja2ZpbGUobG9jaykKfQoKCnB5dGhvbiBzc3RhdGVfaW5zdGFsbHBrZyAoKSB7
CmRlZiBzc3RhdGVfaW5zdGFsbHBrZyhzcywgZCk6CiAgICBmcm9tIG9lLmdwZ19zaWduIGltcG9y
dCBnZXRfc2lnbmVyCgogICAgc3N0YXRlaW5zdCA9IGQuZXhwYW5kKCIke1dPUktESVJ9L3NzdGF0
ZS1pbnN0YWxsLSVzLyIgJSBzc1sndGFzayddKQogICAgc3N0YXRlZmV0Y2ggPSBkLmdldFZhcign
U1NUQVRFX1BLR05BTUUnKSArICdfJyArIHNzWyd0YXNrJ10gKyAiLnRneiIKICAgIGQuYXBwZW5k
VmFyKCdTU1RBVEVfUEtHJywgJ18nKyBzc1sndGFzayddICsgIi50Z3oiKQogICAgc3N0YXRlcGtn
ID0gZC5nZXRWYXIoJ1NTVEFURV9QS0cnKQoKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzc3Rh
dGVwa2cpOgogICAgICAgIHBzdGFnaW5nX2ZldGNoKHNzdGF0ZWZldGNoLCBkKQoKICAgIGlmIG5v
dCBvcy5wYXRoLmlzZmlsZShzc3RhdGVwa2cpOgogICAgICAgIGJiLm5vdGUoIlNzdGF0ZSBwYWNr
YWdlICVzIGRvZXMgbm90IGV4aXN0IiAlIHNzdGF0ZXBrZykKICAgICAgICByZXR1cm4gRmFsc2UK
CiAgICBzc3RhdGVfY2xlYW4oc3MsIGQpCgogICAgZC5zZXRWYXIoJ1NTVEFURV9JTlNURElSJywg
c3N0YXRlaW5zdCkKCiAgICBpZiBiYi51dGlscy50b19ib29sZWFuKGQuZ2V0VmFyKCJTU1RBVEVf
VkVSSUZZX1NJRyIpLCBGYWxzZSk6CiAgICAgICAgc2lnbmVyID0gZ2V0X3NpZ25lcihkLCAnbG9j
YWwnKQogICAgICAgIGlmIG5vdCBzaWduZXIudmVyaWZ5KHNzdGF0ZXBrZyArICcuc2lnJyk6CiAg
ICAgICAgICAgIGJiLndhcm4oIkNhbm5vdCB2ZXJpZnkgc2lnbmF0dXJlIG9uIHNzdGF0ZSBwYWNr
YWdlICVzLCBza2lwcGluZyBhY2NlbGVyYXRpb24uLi4iICUgc3N0YXRlcGtnKQogICAgICAgICAg
ICByZXR1cm4gRmFsc2UKCiAgICAjIEVtcHR5IHNzdGF0ZWluc3QgZGlyZWN0b3J5LCBlbnN1cmUg
aXRzIGNsZWFuCiAgICBpZiBvcy5wYXRoLmV4aXN0cyhzc3RhdGVpbnN0KToKICAgICAgICBvZS5w
YXRoLnJlbW92ZShzc3RhdGVpbnN0KQogICAgYmIudXRpbHMubWtkaXJoaWVyKHNzdGF0ZWluc3Qp
CgogICAgc3N0YXRlaW5zdCA9IGQuZ2V0VmFyKCJTU1RBVEVfSU5TVERJUiIpCiAgICBkLnNldFZh
cignU1NUQVRFX0ZJWE1FRElSJywgc3NbJ2ZpeG1lZGlyJ10pCgogICAgZm9yIGYgaW4gKGQuZ2V0
VmFyKCdTU1RBVEVQUkVJTlNURlVOQ1MnKSBvciAnJykuc3BsaXQoKSArIFsnc3N0YXRlX3VucGFj
a19wYWNrYWdlJ106CiAgICAgICAgIyBBbGwgaG9va3Mgc2hvdWxkIHJ1biBpbiB0aGUgU1NUQVRF
X0lOU1RESVIKICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoZiwgZCwgKHNzdGF0ZWluc3QsKSkK
CiAgICByZXR1cm4gc3N0YXRlX2luc3RhbGxwa2dkaXIoc3MsIGQpCn0KCgpweXRob24gc3N0YXRl
X2luc3RhbGxwa2dkaXIgKCkgewpkZWYgc3N0YXRlX2luc3RhbGxwa2dkaXIoc3MsIGQpOgogICAg
aW1wb3J0IG9lLnBhdGgKICAgIGltcG9ydCBzdWJwcm9jZXNzCgogICAgc3N0YXRlaW5zdCA9IGQu
Z2V0VmFyKCJTU1RBVEVfSU5TVERJUiIpCiAgICBkLnNldFZhcignU1NUQVRFX0ZJWE1FRElSJywg
c3NbJ2ZpeG1lZGlyJ10pCgogICAgZm9yIGYgaW4gKGQuZ2V0VmFyKCdTU1RBVEVQT1NUVU5QQUNL
RlVOQ1MnKSBvciAnJykuc3BsaXQoKToKICAgICAgICAjIEFsbCBob29rcyBzaG91bGQgcnVuIGlu
IHRoZSBTU1RBVEVfSU5TVERJUgogICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYyhmLCBkLCAoc3N0
YXRlaW5zdCwpKQoKICAgIGRlZiBwcmVwZGlyKGRpcik6CiAgICAgICAgIyByZW1vdmUgZGlyIGlm
IGl0IGV4aXN0cywgZW5zdXJlIGFueSBwYXJlbnQgZGlyZWN0b3JpZXMgZG8gZXhpc3QKICAgICAg
ICBpZiBvcy5wYXRoLmV4aXN0cyhkaXIpOgogICAgICAgICAgICBvZS5wYXRoLnJlbW92ZShkaXIp
CiAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKGRpcikKICAgICAgICBvZS5wYXRoLnJlbW92ZShk
aXIpCgogICAgZm9yIHN0YXRlIGluIHNzWydkaXJzJ106CiAgICAgICAgcHJlcGRpcihzdGF0ZVsx
XSkKICAgICAgICBvcy5yZW5hbWUoc3N0YXRlaW5zdCArIHN0YXRlWzBdLCBzdGF0ZVsxXSkKICAg
IHNzdGF0ZV9pbnN0YWxsKHNzLCBkKQoKICAgIGZvciBwbGFpbiBpbiBzc1sncGxhaW5kaXJzJ106
CiAgICAgICAgd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJykKICAgICAgICBzaGFyZWR3b3Jr
ZGlyID0gb3MucGF0aC5qb2luKGQuZ2V0VmFyKCdUTVBESVInKSwgIndvcmstc2hhcmVkIikKICAg
ICAgICBzcmMgPSBzc3RhdGVpbnN0ICsgIi8iICsgcGxhaW4ucmVwbGFjZSh3b3JrZGlyLCAnJykK
ICAgICAgICBpZiBzaGFyZWR3b3JrZGlyIGluIHBsYWluOgogICAgICAgICAgICBzcmMgPSBzc3Rh
dGVpbnN0ICsgIi8iICsgcGxhaW4ucmVwbGFjZShzaGFyZWR3b3JrZGlyLCAnJykKICAgICAgICBk
ZXN0ID0gcGxhaW4KICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIoc3JjKQogICAgICAgIHByZXBk
aXIoZGVzdCkKICAgICAgICBvcy5yZW5hbWUoc3JjLCBkZXN0KQoKICAgIHJldHVybiBUcnVlCn0K
CgpweXRob24gc3N0YXRlX3BhY2thZ2UgKCkgewpkZWYgc3N0YXRlX3BhY2thZ2Uoc3MsIGQpOgog
ICAgaW1wb3J0IG9lLnBhdGgKCiAgICB0bXBkaXIgPSBkLmdldFZhcignVE1QRElSJykKCiAgICBz
c3RhdGVidWlsZCA9IGQuZXhwYW5kKCIke1dPUktESVJ9L3NzdGF0ZS1idWlsZC0lcy8iICUgc3Nb
J3Rhc2snXSkKICAgIGQuYXBwZW5kVmFyKCdTU1RBVEVfUEtHJywgJ18nKyBzc1sndGFzayddICsg
Ii50Z3oiKQogICAgYmIudXRpbHMucmVtb3ZlKHNzdGF0ZWJ1aWxkLCByZWN1cnNlPVRydWUpCiAg
ICBiYi51dGlscy5ta2RpcmhpZXIoc3N0YXRlYnVpbGQpCiAgICBmb3Igc3RhdGUgaW4gc3NbJ2Rp
cnMnXToKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc3RhdGVbMV0pOgogICAgICAgICAg
ICBjb250aW51ZQogICAgICAgIHNyY2Jhc2UgPSBzdGF0ZVswXS5yc3RyaXAoIi8iKS5yc3BsaXQo
Jy8nLCAxKVswXQogICAgICAgICMgRmluZCBhbmQgZXJyb3IgZm9yIGFic29sdXRlIHN5bWxpbmtz
LiBXZSBjb3VsZCBhdHRlbXB0IHRvIHJlbG9jYXRlIGJ1dCBpdHMgbm90CiAgICAgICAgIyBjbGVh
ciB3aGVyZSB0aGUgc3ltbGluayBpcyByZWxhdGl2ZSB0byBpbiB0aGlzIGNvbnRleHQuIFdlIGNv
dWxkIGFkZCB0aGF0IG1hcmt1cAogICAgICAgICMgdG8gc3N0YXRlIHRhc2tzIGJ1dCB0aGVyZSBh
cmVuJ3QgbWFueSBvZiB0aGVzZSBzbyBiZXR0ZXIganVzdCBhdm9pZCB0aGVtIGVudGlyZWx5Lgog
ICAgICAgIGZvciB3YWxrcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhzdGF0ZVsxXSk6CiAg
ICAgICAgICAgIGZvciBmaWxlIGluIGZpbGVzICsgZGlyczoKICAgICAgICAgICAgICAgIHNyY3Bh
dGggPSBvcy5wYXRoLmpvaW4od2Fsa3Jvb3QsIGZpbGUpCiAgICAgICAgICAgICAgICBpZiBub3Qg
b3MucGF0aC5pc2xpbmsoc3JjcGF0aCk6CiAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAg
ICAgICAgICAgICAgIGxpbmsgPSBvcy5yZWFkbGluayhzcmNwYXRoKQogICAgICAgICAgICAgICAg
aWYgbm90IG9zLnBhdGguaXNhYnMobGluayk6CiAgICAgICAgICAgICAgICAgICAgY29udGludWUK
ICAgICAgICAgICAgICAgIGlmIG5vdCBsaW5rLnN0YXJ0c3dpdGgodG1wZGlyKToKICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgYmIuZXJyb3IoInNzdGF0ZSBmb3Vu
ZCBhbiBhYnNvbHV0ZSBwYXRoIHN5bWxpbmsgJXMgcG9pbnRpbmcgYXQgJXMuIFBsZWFzZSByZXBs
YWNlIHRoaXMgd2l0aCBhIHJlbGF0aXZlIGxpbmsuIiAlIChzcmNwYXRoLCBsaW5rKSkKICAgICAg
ICBiYi5kZWJ1ZygyLCAiUHJlcGFyaW5nIHRyZWUgJXMgZm9yIHBhY2thZ2luZyBhdCAlcyIgJSAo
c3RhdGVbMV0sIHNzdGF0ZWJ1aWxkICsgc3RhdGVbMF0pKQogICAgICAgIG9zLnJlbmFtZShzdGF0
ZVsxXSwgc3N0YXRlYnVpbGQgKyBzdGF0ZVswXSkKCiAgICB3b3JrZGlyID0gZC5nZXRWYXIoJ1dP
UktESVInKQogICAgc2hhcmVkd29ya2RpciA9IG9zLnBhdGguam9pbihkLmdldFZhcignVE1QRElS
JyksICJ3b3JrLXNoYXJlZCIpCiAgICBmb3IgcGxhaW4gaW4gc3NbJ3BsYWluZGlycyddOgogICAg
ICAgIHBkaXIgPSBwbGFpbi5yZXBsYWNlKHdvcmtkaXIsIHNzdGF0ZWJ1aWxkKQogICAgICAgIGlm
IHNoYXJlZHdvcmtkaXIgaW4gcGxhaW46CiAgICAgICAgICAgIHBkaXIgPSBwbGFpbi5yZXBsYWNl
KHNoYXJlZHdvcmtkaXIsIHNzdGF0ZWJ1aWxkKQogICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihw
bGFpbikKICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIocGRpcikKICAgICAgICBvcy5yZW5hbWUo
cGxhaW4sIHBkaXIpCgogICAgZC5zZXRWYXIoJ1NTVEFURV9CVUlMRERJUicsIHNzdGF0ZWJ1aWxk
KQogICAgZC5zZXRWYXIoJ1NTVEFURV9JTlNURElSJywgc3N0YXRlYnVpbGQpCgogICAgaWYgZC5n
ZXRWYXIoJ1NTVEFURV9TS0lQX0NSRUFUSU9OJykgPT0gJzEnOgogICAgICAgIHJldHVybgoKICAg
IHNzdGF0ZV9jcmVhdGVfcGFja2FnZSA9IFsnc3N0YXRlX3JlcG9ydF91bmloYXNoJywgJ3NzdGF0
ZV9jcmVhdGVfcGFja2FnZSddCiAgICBpZiBkLmdldFZhcignU1NUQVRFX1NJR19LRVknKToKICAg
ICAgICBzc3RhdGVfY3JlYXRlX3BhY2thZ2UuYXBwZW5kKCdzc3RhdGVfc2lnbl9wYWNrYWdlJykK
CiAgICBmb3IgZiBpbiAoZC5nZXRWYXIoJ1NTVEFURUNSRUFURUZVTkNTJykgb3IgJycpLnNwbGl0
KCkgKyBcCiAgICAgICAgICAgICBzc3RhdGVfY3JlYXRlX3BhY2thZ2UgKyBcCiAgICAgICAgICAg
ICAoZC5nZXRWYXIoJ1NTVEFURVBPU1RDUkVBVEVGVU5DUycpIG9yICcnKS5zcGxpdCgpOgogICAg
ICAgICMgQWxsIGhvb2tzIHNob3VsZCBydW4gaW4gU1NUQVRFX0JVSUxERElSLgogICAgICAgIGJi
LmJ1aWxkLmV4ZWNfZnVuYyhmLCBkLCAoc3N0YXRlYnVpbGQsKSkKCiAgICAjIFNTVEFURV9QS0cg
bWF5IGhhdmUgYmVlbiBjaGFuZ2VkIGJ5IHNzdGF0ZV9yZXBvcnRfdW5paGFzaAogICAgYmIuc2ln
Z2VuLmR1bXBfdGhpc190YXNrKGQuZ2V0VmFyKCdTU1RBVEVfUEtHJykgKyAiLnNpZ2luZm8iLCBk
KQoKICAgIHJldHVybgp9CgoKcHl0aG9uIHNzdGF0ZV9yZXBvcnRfdW5paGFzaCAoKSB7CiAgICBy
ZXBvcnRfdW5paGFzaCA9IGdldGF0dHIoYmIucGFyc2Uuc2lnZ2VuLCAncmVwb3J0X3VuaWhhc2gn
LCBOb25lKQoKICAgIGlmIHJlcG9ydF91bmloYXNoOgogICAgICAgIHNzID0gc3N0YXRlX3N0YXRl
X2Zyb212YXJzKGQpCiAgICAgICAgcmVwb3J0X3VuaWhhc2gob3MuZ2V0Y3dkKCksIHNzWyd0YXNr
J10sIGQpCn0KCgpweXRob24gc3N0YXRlX3NldHNjZW5lICgpIHsKZGVmIHNzdGF0ZV9zZXRzY2Vu
ZShkKToKICAgIHNoYXJlZF9zdGF0ZSA9IHNzdGF0ZV9zdGF0ZV9mcm9tdmFycyhkKQogICAgYWNj
ZWxlcmF0ZSA9IHNzdGF0ZV9pbnN0YWxscGtnKHNoYXJlZF9zdGF0ZSwgZCkKICAgIGlmIG5vdCBh
Y2NlbGVyYXRlOgogICAgICAgIGJiLmZhdGFsKCJObyBzdWl0YWJsZSBzdGFnaW5nIHBhY2thZ2Ug
Zm91bmQiKQp9CgoKcHl0aG9uIHNzdGF0ZV9zaWduX3BhY2thZ2UgKCkgewogICAgZnJvbSBvZS5n
cGdfc2lnbiBpbXBvcnQgZ2V0X3NpZ25lcgoKCiAgICBzaWduZXIgPSBnZXRfc2lnbmVyKGQsICds
b2NhbCcpCiAgICBzc3RhdGVfcGtnID0gZC5nZXRWYXIoJ1NTVEFURV9QS0cnKQogICAgaWYgb3Mu
cGF0aC5leGlzdHMoc3N0YXRlX3BrZyArICcuc2lnJyk6CiAgICAgICAgb3MudW5saW5rKHNzdGF0
ZV9wa2cgKyAnLnNpZycpCiAgICBzaWduZXIuZGV0YWNoX3NpZ24oc3N0YXRlX3BrZywgZC5nZXRW
YXIoJ1NTVEFURV9TSUdfS0VZJywgRmFsc2UpLCBOb25lLAogICAgICAgICAgICAgICAgICAgICAg
IGQuZ2V0VmFyKCdTU1RBVEVfU0lHX1BBU1NQSFJBU0UnKSwgYXJtb3I9RmFsc2UpCn0KCgpweXRo
b24gc3N0YXRlX3N0YXRlX2Zyb212YXJzICgpIHsKZGVmIHNzdGF0ZV9zdGF0ZV9mcm9tdmFycyhk
LCB0YXNrID0gTm9uZSk6CiAgICBpZiB0YXNrIGlzIE5vbmU6CiAgICAgICAgdGFzayA9IGQuZ2V0
VmFyKCdCQl9DVVJSRU5UVEFTSycpCiAgICAgICAgaWYgbm90IHRhc2s6CiAgICAgICAgICAgIGJi
LmZhdGFsKCJzc3RhdGUgY29kZSBydW5uaW5nIHdpdGhvdXQgdGFzayBjb250ZXh0PyEiKQogICAg
ICAgIHRhc2sgPSB0YXNrLnJlcGxhY2UoIl9zZXRzY2VuZSIsICIiKQoKICAgIGlmIHRhc2suc3Rh
cnRzd2l0aCgiZG9fIik6CiAgICAgICAgdGFzayA9IHRhc2tbMzpdCiAgICBpbnB1dHMgPSAoZC5n
ZXRWYXJGbGFnKCJkb18iICsgdGFzaywgJ3NzdGF0ZS1pbnB1dGRpcnMnKSBvciAiIikuc3BsaXQo
KQogICAgb3V0cHV0cyA9IChkLmdldFZhckZsYWcoImRvXyIgKyB0YXNrLCAnc3N0YXRlLW91dHB1
dGRpcnMnKSBvciAiIikuc3BsaXQoKQogICAgcGxhaW5kaXJzID0gKGQuZ2V0VmFyRmxhZygiZG9f
IiArIHRhc2ssICdzc3RhdGUtcGxhaW5kaXJzJykgb3IgIiIpLnNwbGl0KCkKICAgIGxvY2tmaWxl
cyA9IChkLmdldFZhckZsYWcoImRvXyIgKyB0YXNrLCAnc3N0YXRlLWxvY2tmaWxlJykgb3IgIiIp
LnNwbGl0KCkKICAgIGxvY2tmaWxlc3NoYXJlZCA9IChkLmdldFZhckZsYWcoImRvXyIgKyB0YXNr
LCAnc3N0YXRlLWxvY2tmaWxlLXNoYXJlZCcpIG9yICIiKS5zcGxpdCgpCiAgICBpbnRlcmNlcHRm
dW5jcyA9IChkLmdldFZhckZsYWcoImRvXyIgKyB0YXNrLCAnc3N0YXRlLWludGVyY2VwdGZ1bmNz
Jykgb3IgIiIpLnNwbGl0KCkKICAgIGZpeG1lZGlyID0gZC5nZXRWYXJGbGFnKCJkb18iICsgdGFz
aywgJ3NzdGF0ZS1maXhtZWRpcicpIG9yICIiCiAgICBpZiBub3QgdGFzayBvciBsZW4oaW5wdXRz
KSAhPSBsZW4ob3V0cHV0cyk6CiAgICAgICAgYmIuZmF0YWwoInNzdGF0ZSB2YXJpYWJsZXMgbm90
IHNldHVwIGNvcnJlY3RseT8hIikKCiAgICBpZiB0YXNrID09ICJwb3B1bGF0ZV9saWMiOgogICAg
ICAgIGQuc2V0VmFyKCJTU1RBVEVfUEtHU1BFQyIsICIke1NTVEFURV9TV1NQRUN9IikKICAgICAg
ICBkLnNldFZhcigiU1NUQVRFX0VYVFJBUEFUSCIsICIiKQogICAgICAgIGQuc2V0VmFyKCdTU1RB
VEVfRVhUUkFQQVRIV0lMRENBUkQnLCAiIikKCiAgICBzcyA9IHNzdGF0ZV9pbml0KHRhc2ssIGQp
CiAgICBmb3IgaSBpbiByYW5nZShsZW4oaW5wdXRzKSk6CiAgICAgICAgc3N0YXRlX2FkZChzcywg
aW5wdXRzW2ldLCBvdXRwdXRzW2ldLCBkKQogICAgc3NbJ2xvY2tmaWxlcyddID0gbG9ja2ZpbGVz
CiAgICBzc1snbG9ja2ZpbGVzLXNoYXJlZCddID0gbG9ja2ZpbGVzc2hhcmVkCiAgICBzc1sncGxh
aW5kaXJzJ10gPSBwbGFpbmRpcnMKICAgIHNzWydpbnRlcmNlcHRmdW5jcyddID0gaW50ZXJjZXB0
ZnVuY3MKICAgIHNzWydmaXhtZWRpciddID0gZml4bWVkaXIKICAgIHJldHVybiBzcwp9CgoKcHl0
aG9uIHNzdGF0ZV90YXNrX3Bvc3RmdW5jICgpIHsKICAgIHNoYXJlZF9zdGF0ZSA9IHNzdGF0ZV9z
dGF0ZV9mcm9tdmFycyhkKQoKICAgIGZvciBpbnRlcmNlcHQgaW4gc2hhcmVkX3N0YXRlWydpbnRl
cmNlcHRmdW5jcyddOgogICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYyhpbnRlcmNlcHQsIGQsIChk
LmdldFZhcigiV09SS0RJUiIpLCkpCgogICAgb21hc2sgPSBvcy51bWFzaygwbzAwMikKICAgIGlm
IG9tYXNrICE9IDBvMDAyOgogICAgICAgYmIubm90ZSgiVXNpbmcgdW1hc2sgMG8wMDIgKG5vdCAl
MG8pIGZvciBzc3RhdGUgcGFja2FnaW5nIiAlIG9tYXNrKQogICAgc3N0YXRlX3BhY2thZ2Uoc2hh
cmVkX3N0YXRlLCBkKQogICAgb3MudW1hc2sob21hc2spCgogICAgc3N0YXRlaW5zdCA9IGQuZ2V0
VmFyKCJTU1RBVEVfSU5TVERJUiIpCiAgICBkLnNldFZhcignU1NUQVRFX0ZJWE1FRElSJywgc2hh
cmVkX3N0YXRlWydmaXhtZWRpciddKQoKICAgIHNzdGF0ZV9pbnN0YWxscGtnZGlyKHNoYXJlZF9z
dGF0ZSwgZCkKCiAgICBiYi51dGlscy5yZW1vdmUoZC5nZXRWYXIoIlNTVEFURV9CVUlMRERJUiIp
LCByZWN1cnNlPVRydWUpCn0KCgpweXRob24gc3N0YXRlX3Rhc2tfcHJlZnVuYyAoKSB7CiAgICBz
aGFyZWRfc3RhdGUgPSBzc3RhdGVfc3RhdGVfZnJvbXZhcnMoZCkKICAgIHNzdGF0ZV9jbGVhbihz
aGFyZWRfc3RhdGUsIGQpCn0KCgpweXRob24gc3RhZ2luZ19jb3B5ZGlyICgpIHsKZGVmIHN0YWdp
bmdfY29weWRpcihjLCB0YXJnZXQsIGRlc3QsIHNlZW5kaXJzKToKICAgIGlmIGRlc3Qgbm90IGlu
IHNlZW5kaXJzOgogICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihkZXN0KQogICAgICAgIHNlZW5k
aXJzLmFkZChkZXN0KQp9CgoKcHl0aG9uIHN0YWdpbmdfY29weWZpbGUgKCkgewpkZWYgc3RhZ2lu
Z19jb3B5ZmlsZShjLCB0YXJnZXQsIGRlc3QsIHBvc3RpbnN0cywgc2VlbmRpcnMpOgogICAgaW1w
b3J0IGVycm5vCgogICAgZGVzdGRpciA9IG9zLnBhdGguZGlybmFtZShkZXN0KQogICAgaWYgZGVz
dGRpciBub3QgaW4gc2VlbmRpcnM6CiAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKGRlc3RkaXIp
CiAgICAgICAgc2VlbmRpcnMuYWRkKGRlc3RkaXIpCiAgICBpZiAiL3Vzci9iaW4vcG9zdGluc3Qt
IiBpbiBjOgogICAgICAgIHBvc3RpbnN0cy5hcHBlbmQoZGVzdCkKICAgIGlmIG9zLnBhdGguaXNs
aW5rKGMpOgogICAgICAgIGxpbmt0byA9IG9zLnJlYWRsaW5rKGMpCiAgICAgICAgaWYgb3MucGF0
aC5sZXhpc3RzKGRlc3QpOgogICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2xpbmsoZGVzdCk6
CiAgICAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKGVycm5vLkVFWElTVCwgIkxpbmsgJXMgYWxy
ZWFkeSBleGlzdHMgYXMgYSBmaWxlIiAlIGRlc3QsIGRlc3QpCiAgICAgICAgICAgIGlmIG9zLnJl
YWRsaW5rKGRlc3QpID09IGxpbmt0bzoKICAgICAgICAgICAgICAgIHJldHVybiBkZXN0CiAgICAg
ICAgICAgIHJhaXNlIE9TRXJyb3IoZXJybm8uRUVYSVNULCAiTGluayAlcyBhbHJlYWR5IGV4aXN0
cyB0byBhIGRpZmZlcmVudCBsb2NhdGlvbj8gKCVzIHZzICVzKSIgJSAoZGVzdCwgb3MucmVhZGxp
bmsoZGVzdCksIGxpbmt0byksIGRlc3QpCiAgICAgICAgb3Muc3ltbGluayhsaW5rdG8sIGRlc3Qp
CiAgICAgICAgI2JiLndhcm4oYykKICAgIGVsc2U6CiAgICAgICAgdHJ5OgogICAgICAgICAgICBv
cy5saW5rKGMsIGRlc3QpCiAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgogICAgICAgICAg
ICBpZiBlcnIuZXJybm8gPT0gZXJybm8uRVhERVY6CiAgICAgICAgICAgICAgICBiYi51dGlscy5j
b3B5ZmlsZShjLCBkZXN0KQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgcmFpc2UK
ICAgIHJldHVybiBkZXN0Cn0KCgpweXRob24gc3RhZ2luZ19wb3B1bGF0ZV9zeXNyb290X2RpciAo
KSB7CmRlZiBzdGFnaW5nX3BvcHVsYXRlX3N5c3Jvb3RfZGlyKHRhcmdldHN5c3Jvb3QsIG5hdGl2
ZXN5c3Jvb3QsIG5hdGl2ZSwgZCk6CiAgICBpbXBvcnQgZ2xvYgogICAgaW1wb3J0IHN1YnByb2Nl
c3MKICAgIGltcG9ydCBlcnJubwoKICAgIGZpeG1lID0gW10KICAgIHBvc3RpbnN0cyA9IFtdCiAg
ICBzZWVuZGlycyA9IHNldCgpCiAgICBzdGFnaW5nZGlyID0gZC5nZXRWYXIoIlNUQUdJTkdfRElS
IikKICAgIGlmIG5hdGl2ZToKICAgICAgICBwa2dhcmNocyA9IFsnJHtCVUlMRF9BUkNIfScsICck
e0JVSUxEX0FSQ0h9XyonXQogICAgICAgIHRhcmdldGRpciA9IG5hdGl2ZXN5c3Jvb3QKICAgIGVs
c2U6CiAgICAgICAgcGtnYXJjaHMgPSBbJyR7TUFDSElORV9BUkNIfSddCiAgICAgICAgcGtnYXJj
aHMgPSBwa2dhcmNocyArIGxpc3QocmV2ZXJzZWQoZC5nZXRWYXIoIlBBQ0tBR0VfRVhUUkFfQVJD
SFMiKS5zcGxpdCgpKSkKICAgICAgICBwa2dhcmNocy5hcHBlbmQoJ2FsbGFyY2gnKQogICAgICAg
IHRhcmdldGRpciA9IHRhcmdldHN5c3Jvb3QKCiAgICBiYi51dGlscy5ta2RpcmhpZXIodGFyZ2V0
ZGlyKQogICAgZm9yIHBrZ2FyY2ggaW4gcGtnYXJjaHM6CiAgICAgICAgZm9yIG1hbmlmZXN0IGlu
IGdsb2IuZ2xvYihkLmV4cGFuZCgiJHtTU1RBVEVfTUFOSUZFU1RTfS9tYW5pZmVzdC0lcy0qLnBv
cHVsYXRlX3N5c3Jvb3QiICUgcGtnYXJjaCkpOgogICAgICAgICAgICBpZiBtYW5pZmVzdC5lbmRz
d2l0aCgiLWluaXRpYWwucG9wdWxhdGVfc3lzcm9vdCIpOgogICAgICAgICAgICAgICAgIyBza2lw
IGxpYmdjYy1pbml0aWFsIGR1ZSB0byBmaWxlIG92ZXJsYXAKICAgICAgICAgICAgICAgIGNvbnRp
bnVlCiAgICAgICAgICAgIGlmIG5vdCBuYXRpdmUgYW5kIChtYW5pZmVzdC5lbmRzd2l0aCgiLW5h
dGl2ZS5wb3B1bGF0ZV9zeXNyb290Iikgb3IgIm5hdGl2ZXNkay0iIGluIG1hbmlmZXN0KToKICAg
ICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIGlmIG5hdGl2ZSBhbmQgbm90IChtYW5p
ZmVzdC5lbmRzd2l0aCgiLW5hdGl2ZS5wb3B1bGF0ZV9zeXNyb290Iikgb3IgbWFuaWZlc3QuZW5k
c3dpdGgoIi1jcm9zcy5wb3B1bGF0ZV9zeXNyb290Iikgb3IgIi1jcm9zcy0iIGluIG1hbmlmZXN0
KToKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIHRtYW5pZmVzdCA9IHRhcmdl
dGRpciArICIvIiArIG9zLnBhdGguYmFzZW5hbWUobWFuaWZlc3QpCiAgICAgICAgICAgIGlmIG9z
LnBhdGguZXhpc3RzKHRtYW5pZmVzdCk6CiAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAg
ICAgICB0cnk6CiAgICAgICAgICAgICAgICBvcy5saW5rKG1hbmlmZXN0LCB0bWFuaWZlc3QpCiAg
ICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgICAgIGlmIGVyci5l
cnJubyA9PSBlcnJuby5FWERFVjoKICAgICAgICAgICAgICAgICAgICBiYi51dGlscy5jb3B5Zmls
ZShtYW5pZmVzdCwgdG1hbmlmZXN0KQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAg
ICAgICAgICByYWlzZQogICAgICAgICAgICB3aXRoIG9wZW4obWFuaWZlc3QsICJyIikgYXMgZjoK
ICAgICAgICAgICAgICAgIGZvciBsIGluIGY6CiAgICAgICAgICAgICAgICAgICAgbCA9IGwuc3Ry
aXAoKQogICAgICAgICAgICAgICAgICAgIGlmIGwuZW5kc3dpdGgoIi9maXhtZXBhdGgiKToKICAg
ICAgICAgICAgICAgICAgICAgICAgZml4bWUuYXBwZW5kKGwpCiAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgaWYgbC5lbmRzd2l0aCgiL2ZpeG1lcGF0
aC5jbWQiKToKICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAg
ICAgICBkZXN0ID0gbC5yZXBsYWNlKHN0YWdpbmdkaXIsICIiKQogICAgICAgICAgICAgICAgICAg
IGRlc3QgPSB0YXJnZXRkaXIgKyAiLyIgKyAiLyIuam9pbihkZXN0LnNwbGl0KCIvIilbMzpdKQog
ICAgICAgICAgICAgICAgICAgIGlmIGwuZW5kc3dpdGgoIi8iKToKICAgICAgICAgICAgICAgICAg
ICAgICAgc3RhZ2luZ19jb3B5ZGlyKGwsIHRhcmdldGRpciwgZGVzdCwgc2VlbmRpcnMpCiAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAg
ICAgICAgICAgICAgICAgICAgICBzdGFnaW5nX2NvcHlmaWxlKGwsIHRhcmdldGRpciwgZGVzdCwg
cG9zdGluc3RzLCBzZWVuZGlycykKICAgICAgICAgICAgICAgICAgICBleGNlcHQgRmlsZUV4aXN0
c0Vycm9yOgogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgIHN0YWdpbmdfcHJv
Y2Vzc2ZpeG1lKGZpeG1lLCB0YXJnZXRkaXIsIHRhcmdldHN5c3Jvb3QsIG5hdGl2ZXN5c3Jvb3Qs
IGQpCiAgICBmb3IgcCBpbiBwb3N0aW5zdHM6CiAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRw
dXQocCwgc2hlbGw9VHJ1ZSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQoKIwojIE1hbmlmZXN0
cyBoZXJlIGFyZSBjb21wbGljYXRlZC4gVGhlIG1haW4gc3lzcm9vdCBhcmVhIGhhcyB0aGUgdW5w
YWNrZWQgc3N0YXRlCiMgd2hpY2ggdXMgdW5yZWxvY2F0ZWQgYW5kIHRyYWNrZWQgYnkgdGhlIG1h
aW4gc3N0YXRlIG1hbmlmZXN0cy4gRWFjaCByZWNpcGUKIyBzcGVjaWZpYyBzeXNyb290IGhhcyBt
YW5pZmVzdHMgZm9yIGVhY2ggZGVwZW5kZW5jeSB0aGF0IGlzIGluc3RhbGxlZCB0aGVyZS4KIyBU
aGUgdGFzayBoYXNoIGlzIHVzZWQgdG8gdGVsbCB3aGV0aGVyIHRoZSBkYXRhIG5lZWRzIHRvIGJl
IHJlaW5zdGFsbGVkLiBXZQojIHVzZSBhIHN5bWxpbmsgdG8gcG9pbnQgdG8gdGhlIGN1cnJlbnRs
eSBpbnN0YWxsZWQgaGFzaC4gVGhlcmUgaXMgYWxzbyBhCiMgImNvbXBsZXRlIiBzdGFtcCBmaWxl
IHdoaWNoIGlzIHVzZWQgdG8gbWFyayBpZiBpbnN0YWxsYXRpb24gY29tcGxldGVkLiBJZgojIHNv
bWV0aGluZyBmYWlscyAoZS5nLiBhIHBvc3RpbnN0KSwgdGhpcyB3b24ndCBnZXQgd3JpdHRlbiBh
bmQgd2Ugd291bGQKIyByZW1vdmUgYW5kIHJlaW5zdGFsbCB0aGUgZGVwZW5kZW5jeS4gVGhpcyBh
bHNvIG1lYW5zIHBhcnRpYWxseSBpbnN0YWxsZWQKIyBkZXBlbmRlbmNpZXMgc2hvdWxkIGdldCBj
bGVhbmVkIHVwIGNvcnJlY3RseS4KIwp9CgoKcHl0aG9uIHN0YWdpbmdfcHJvY2Vzc2ZpeG1lICgp
IHsKZGVmIHN0YWdpbmdfcHJvY2Vzc2ZpeG1lKGZpeG1lLCB0YXJnZXQsIHJlY2lwZXN5c3Jvb3Qs
IHJlY2lwZXN5c3Jvb3RuYXRpdmUsIGQpOgogICAgaW1wb3J0IHN1YnByb2Nlc3MKCiAgICBpZiBu
b3QgZml4bWU6CiAgICAgICAgcmV0dXJuCiAgICBjbWQgPSAic2VkIC1lICdzOl5bXi9dKi86JXMv
OmcnICVzIHwgeGFyZ3Mgc2VkIC1pIC1lICdzOkZJWE1FU1RBR0lOR0RJUlRBUkdFVDolczpnOyBz
OkZJWE1FU1RBR0lOR0RJUkhPU1Q6JXM6ZyciICUgKHRhcmdldCwgIiAiLmpvaW4oZml4bWUpLCBy
ZWNpcGVzeXNyb290LCByZWNpcGVzeXNyb290bmF0aXZlKQogICAgZm9yIGZpeG1ldmFyIGluIFsn
UFNFVURPX1NZU1JPT1QnLCAnSE9TVFRPT0xTX0RJUicsICdQS0dEQVRBX0RJUicsICdQU0VVRE9f
TE9DQUxTVEFURURJUicsICdMT0dGSUZPJ106CiAgICAgICAgZml4bWVfcGF0aCA9IGQuZ2V0VmFy
KGZpeG1ldmFyKQogICAgICAgIGNtZCArPSAiIC1lICdzOkZJWE1FXyVzOiVzOmcnIiAlIChmaXht
ZXZhciwgZml4bWVfcGF0aCkKICAgIGJiLmRlYnVnKDIsIGNtZCkKICAgIHN1YnByb2Nlc3MuY2hl
Y2tfb3V0cHV0KGNtZCwgc2hlbGw9VHJ1ZSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQoKfQoK
CnB5dGhvbiBzdGFnaW5nX3Rhc2toYW5kbGVyICgpIHsKICAgIGJidGFza3MgPSBlLnRhc2tsaXN0
CiAgICBmb3IgdGFzayBpbiBiYnRhc2tzOgogICAgICAgIGRlcHMgPSBkLmdldFZhckZsYWcodGFz
aywgImRlcGVuZHMiKQogICAgICAgIGlmIGRlcHMgYW5kICJwb3B1bGF0ZV9zeXNyb290IiBpbiBk
ZXBzOgogICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcodGFzaywgInByZWZ1bmNzIiwgIiBleHRl
bmRfcmVjaXBlX3N5c3Jvb3QiKQp9CgoKcHl0aG9uIHN5c3Jvb3Rfc3RyaXAgKCkgewogICAgaW5o
aWJpdF9zeXNyb290ID0gZC5nZXRWYXIoJ0lOSElCSVRfU1lTUk9PVF9TVFJJUCcpCiAgICBpZiBp
bmhpYml0X3N5c3Jvb3QgYW5kIG9lLnR5cGVzLmJvb2xlYW4oaW5oaWJpdF9zeXNyb290KToKICAg
ICAgICByZXR1cm4KCiAgICBkc3RkaXIgPSBkLmdldFZhcignU1lTUk9PVF9ERVNURElSJykKICAg
IHBuID0gZC5nZXRWYXIoJ1BOJykKICAgIGxpYmRpciA9IG9zLnBhdGguYWJzcGF0aChkc3RkaXIg
KyBvcy5zZXAgKyBkLmdldFZhcigibGliZGlyIikpCiAgICBiYXNlX2xpYmRpciA9IG9zLnBhdGgu
YWJzcGF0aChkc3RkaXIgKyBvcy5zZXAgKyBkLmdldFZhcigiYmFzZV9saWJkaXIiKSkKICAgIHFh
X2FscmVhZHlfc3RyaXBwZWQgPSAnYWxyZWFkeS1zdHJpcHBlZCcgaW4gKGQuZ2V0VmFyKCdJTlNB
TkVfU0tJUF8nICsgcG4pIG9yICIiKS5zcGxpdCgpCiAgICBzdHJpcF9jbWQgPSBkLmdldFZhcigi
U1RSSVAiKQoKICAgIG9lLnBhY2thZ2Uuc3RyaXBfZXhlY3MocG4sIGRzdGRpciwgc3RyaXBfY21k
LCBsaWJkaXIsIGJhc2VfbGliZGlyLCBkLAogICAgICAgICAgICAgICAgICAgICAgICAgICBxYV9h
bHJlYWR5X3N0cmlwcGVkPXFhX2FscmVhZHlfc3RyaXBwZWQpCn0KCgpweXRob24gdW5pbmF0aXZl
X2NoYW5nZWludGVycCAoKSB7CiAgICBpbXBvcnQgc3VicHJvY2VzcwogICAgaW1wb3J0IHN0YXQK
ICAgIGltcG9ydCBvZS5xYQoKICAgIGlmIG5vdCAoYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0
aXZlJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3NzZGsnLCBkKSBvciBiYi5k
YXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zcycsIGQpKToKICAgICAgICByZXR1cm4KCiAgICBzc3Rh
dGVpbnN0ID0gZC5nZXRWYXIoJ1NTVEFURV9JTlNURElSJykKICAgIGZvciB3YWxrcm9vdCwgZGly
cywgZmlsZXMgaW4gb3Mud2Fsayhzc3RhdGVpbnN0KToKICAgICAgICBmb3IgZmlsZSBpbiBmaWxl
czoKICAgICAgICAgICAgaWYgZmlsZS5lbmRzd2l0aCgiLnNvIikgb3IgIi5zby4iIGluIGZpbGU6
CiAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICBmID0gb3MucGF0aC5qb2luKHdh
bGtyb290LCBmaWxlKQogICAgICAgICAgICBpZiBvcy5wYXRoLmlzbGluayhmKToKICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIHMgPSBvcy5zdGF0KGYpCiAgICAgICAgICAgIGlm
IG5vdCAoKHNbc3RhdC5TVF9NT0RFXSAmIHN0YXQuU19JWFVTUikgb3IgKHNbc3RhdC5TVF9NT0RF
XSAmIHN0YXQuU19JWEdSUCkgb3IgKHNbc3RhdC5TVF9NT0RFXSAmIHN0YXQuU19JWE9USCkpOgog
ICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgZWxmID0gb2UucWEuRUxGRmlsZShm
KQogICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICBlbGYub3BlbigpCiAgICAgICAgICAg
IGV4Y2VwdCBvZS5xYS5Ob3RFTEZGaWxlRXJyb3I6CiAgICAgICAgICAgICAgICBjb250aW51ZQog
ICAgICAgICAgICBpZiBub3QgZWxmLmlzRHluYW1pYygpOgogICAgICAgICAgICAgICAgY29udGlu
dWUKCiAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KCgicGF0Y2hlbGYtdW5pbmF0
aXZlIiwgIi0tc2V0LWludGVycHJldGVyIiwgZC5nZXRWYXIoIlVOSU5BVElWRV9MT0FERVIiKSwg
ZiksIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkKfQoKCnB5dGhvbiB1bmluYXRpdmVfZXZlbnRf
ZW5hYmxlICgpIHsKICAgICIiIgogICAgVGhpcyBldmVudCBoYW5kbGVyIGlzIGNhbGxlZCBpbiB0
aGUgd29ya2VycyBhbmQgaXMgcmVzcG9uc2libGUgZm9yIHNldHRpbmcKICAgIHVwIHVuaW5hdGl2
ZSBpZiBhIGxvYWRlciBpcyBmb3VuZC4KICAgICIiIgogICAgZW5hYmxlX3VuaW5hdGl2ZShkKQp9
CgoKcHl0aG9uIHVuaW5hdGl2ZV9ldmVudF9mZXRjaGxvYWRlciAoKSB7CiAgICAiIiIKICAgIFRo
aXMgZXZlbnQgZmlyZXMgb24gdGhlIHBhcmVudCBhbmQgd2lsbCB0cnkgdG8gZmV0Y2ggdGhlIHRh
cmJhbGwgaWYgdGhlCiAgICBsb2FkZXIgaXNuJ3QgYWxyZWFkeSBwcmVzZW50LgogICAgIiIiCgog
ICAgY2hrc3VtID0gZC5nZXRWYXJGbGFnKCJVTklOQVRJVkVfQ0hFQ0tTVU0iLCBkLmdldFZhcigi
QlVJTERfQVJDSCIpKQogICAgaWYgbm90IGNoa3N1bToKICAgICAgICBiYi5mYXRhbCgiVW5pbmF0
aXZlIHNlbGVjdGVkIGJ1dCBub3QgY29uZmlndXJlZCBjb3JyZWN0bHksIHBsZWFzZSBzZXQgVU5J
TkFUSVZFX0NIRUNLU1VNWyVzXSIgJSBkLmdldFZhcigiQlVJTERfQVJDSCIpKQoKICAgIGxvYWRl
ciA9IGQuZ2V0VmFyKCJVTklOQVRJVkVfTE9BREVSIikKICAgIGxvYWRlcmNoa3N1bSA9IGxvYWRl
ciArICIuY2hrc3VtIgogICAgaWYgb3MucGF0aC5leGlzdHMobG9hZGVyKSBhbmQgb3MucGF0aC5l
eGlzdHMobG9hZGVyY2hrc3VtKToKICAgICAgICB3aXRoIG9wZW4obG9hZGVyY2hrc3VtLCAiciIp
IGFzIGY6CiAgICAgICAgICAgIHJlYWRjaGtzdW0gPSBmLnJlYWQoKS5zdHJpcCgpCiAgICAgICAg
aWYgcmVhZGNoa3N1bSA9PSBjaGtzdW06CiAgICAgICAgICAgIHJldHVybgoKICAgIGltcG9ydCBz
dWJwcm9jZXNzCiAgICB0cnk6CiAgICAgICAgIyBTYXZlIGFuZCByZXN0b3JlIGN3ZCBhcyBGZXRj
aC5kb3dubG9hZCgpIGRvZXMgYSBjaGRpcigpCiAgICAgICAgb2xkZGlyID0gb3MuZ2V0Y3dkKCkK
CiAgICAgICAgdGFyYmFsbCA9IGQuZ2V0VmFyKCJVTklOQVRJVkVfVEFSQkFMTCIpCiAgICAgICAg
dGFyYmFsbGRpciA9IG9zLnBhdGguam9pbihkLmdldFZhcigiVU5JTkFUSVZFX0RMRElSIiksIGNo
a3N1bSkKICAgICAgICB0YXJiYWxscGF0aCA9IG9zLnBhdGguam9pbih0YXJiYWxsZGlyLCB0YXJi
YWxsKQoKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHModGFyYmFsbHBhdGggKyAiLmRvbmUi
KToKICAgICAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKHRhcmJhbGxkaXIpCiAgICAgICAgICAg
IGlmIGQuZ2V0VmFyKCJVTklOQVRJVkVfVVJMIikgPT0gInVuc2V0IjoKICAgICAgICAgICAgICAg
IGJiLmZhdGFsKCJVbmluYXRpdmUgc2VsZWN0ZWQgYnV0IG5vdCBjb25maWd1cmVkLCBwbGVhc2Ug
c2V0IFVOSU5BVElWRV9VUkwiKQoKICAgICAgICAgICAgbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVh
dGVDb3B5KGQpCiAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ0ZJTEVTUEFUSCcsICIiKQog
ICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdETF9ESVInLCB0YXJiYWxsZGlyKQogICAgICAg
ICAgICAjIE91ciBnYW1lcyB3aXRoIHBhdGggbWFuaXB1bGF0aW9uIG9mIERMX0RJUiBtZWFuIHN0
YW5kYXJkIFBSRU1JUlJPUlMgZG9uJ3Qgd29yawogICAgICAgICAgICAjIGFuZCB3ZSBjYW4ndCBl
YXNpbHkgcHV0ICdjaGtzdW0nIGludG8gdGhlIHVybCBwYXRoIGZyb20gYSB1cmwgcGFyYW1ldGVy
IHdpdGgKICAgICAgICAgICAgIyB0aGUgY3VycmVudCBmZXRjaGVyIHVybCBoYW5kbGluZwogICAg
ICAgICAgICBvd25taXJyb3IgPSBkLmdldFZhcignU09VUkNFX01JUlJPUl9VUkwnKQogICAgICAg
ICAgICBpZiBvd25taXJyb3I6CiAgICAgICAgICAgICAgICBsb2NhbGRhdGEuYXBwZW5kVmFyKCJQ
UkVNSVJST1JTIiwgIiAke1VOSU5BVElWRV9VUkx9JHtVTklOQVRJVkVfVEFSQkFMTH0gJHtTT1VS
Q0VfTUlSUk9SX1VSTH0vdW5pbmF0aXZlLyVzLyR7VU5JTkFUSVZFX1RBUkJBTEx9IiAlIGNoa3N1
bSkKCiAgICAgICAgICAgIHNyY3VyaSA9IGQuZXhwYW5kKCIke1VOSU5BVElWRV9VUkx9JHtVTklO
QVRJVkVfVEFSQkFMTH07c2hhMjU2c3VtPSVzIiAlIGNoa3N1bSkKICAgICAgICAgICAgYmIubm90
ZSgiRmV0Y2hpbmcgdW5pbmF0aXZlIGJpbmFyeSBzaGltIGZyb20gJXMiICUgc3JjdXJpKQoKICAg
ICAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoMi5GZXRjaChbc3JjdXJpXSwgbG9jYWxkYXRhLCBj
YWNoZT1GYWxzZSkKICAgICAgICAgICAgZmV0Y2hlci5kb3dubG9hZCgpCiAgICAgICAgICAgIGxv
Y2FscGF0aCA9IGZldGNoZXIubG9jYWxwYXRoKHNyY3VyaSkKICAgICAgICAgICAgaWYgbG9jYWxw
YXRoICE9IHRhcmJhbGxwYXRoIGFuZCBvcy5wYXRoLmV4aXN0cyhsb2NhbHBhdGgpIGFuZCBub3Qg
b3MucGF0aC5leGlzdHModGFyYmFsbHBhdGgpOgogICAgICAgICAgICAgICAgIyBGb2xsb3cgdGhl
IHN5bWxpbmsgYmVoYXZpb3IgZnJvbSB0aGUgYml0YmFrZSBmZXRjaDIuCiAgICAgICAgICAgICAg
ICAjIFRoaXMgd2lsbCBjb3ZlciB0aGUgY2FzZSB3aGVyZSBhbiBleGlzdGluZyBzeW1saW5rIGlz
IGJyb2tlbgogICAgICAgICAgICAgICAgIyBhcyB3ZWxsIGFzIGlmIHRoZXJlIGFyZSB0d28gcHJv
Y2Vzc2VzIHRyeWluZyB0byBjcmVhdGUgaXQKICAgICAgICAgICAgICAgICMgYXQgdGhlIHNhbWUg
dGltZS4KICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguaXNsaW5rKHRhcmJhbGxwYXRoKToKICAg
ICAgICAgICAgICAgICAgICAjIEJyb2tlbiBzeW1ib2xpYyBsaW5rCiAgICAgICAgICAgICAgICAg
ICAgb3MudW5saW5rKHRhcmJhbGxwYXRoKQoKICAgICAgICAgICAgICAgICMgRGVhbCB3aXRoIHR3
byBwcm9jZXNzZXMgdHJ5aW5nIHRvIG1ha2Ugc3ltbGluayBhdCBvbmNlCiAgICAgICAgICAgICAg
ICB0cnk6CiAgICAgICAgICAgICAgICAgICAgb3Muc3ltbGluayhsb2NhbHBhdGgsIHRhcmJhbGxw
YXRoKQogICAgICAgICAgICAgICAgZXhjZXB0IEZpbGVFeGlzdHNFcnJvcjoKICAgICAgICAgICAg
ICAgICAgICBwYXNzCgogICAgICAgICMgbGRkIG91dHB1dCBpcyAibGRkIChVYnVudHUgR0xJQkMg
Mi4yMy0wdWJ1bnR1MTApIDIuMjMiLCBleHRyYWN0IGxhc3Qgb3B0aW9uIGZyb20gZmlyc3QgbGlu
ZQogICAgICAgIGdsaWJjdmVyID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJsZGQiLCAiLS12
ZXJzaW9uIl0pLmRlY29kZSgndXRmLTgnKS5zcGxpdCgnXG4nKVswXS5zcGxpdCgpWy0xXQogICAg
ICAgIGlmIGJiLnV0aWxzLnZlcmNtcF9zdHJpbmcoZC5nZXRWYXIoIlVOSU5BVElWRV9NQVhHTElC
Q1ZFUlNJT04iKSwgZ2xpYmN2ZXIpIDwgMDoKICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9y
KCJZb3VyIGhvc3QgZ2xpYmMgdmVyc29uICglcykgaXMgbmV3ZXIgdGhhbiB0aGF0IGluIHVuaW5h
dGl2ZSAoJXMpLiBEaXNhYmxpbmcgdW5pbmF0aXZlIHNvIHRoYXQgc3N0YXRlIGlzIG5vdCBjb3Jy
dXB0ZWQuIiAlIChnbGliY3ZlciwgZC5nZXRWYXIoIlVOSU5BVElWRV9NQVhHTElCQ1ZFUlNJT04i
KSkpCgogICAgICAgIGNtZCA9IGQuZXhwYW5kKCJcCm1rZGlyIC1wICR7VU5JTkFUSVZFX1NUQUdJ
TkdfRElSfS11bmluYXRpdmU7IFwKY2QgJHtVTklOQVRJVkVfU1RBR0lOR19ESVJ9LXVuaW5hdGl2
ZTsgXAp0YXIgLXhKZiAke1VOSU5BVElWRV9ETERJUn0vJXMvJHtVTklOQVRJVkVfVEFSQkFMTH07
IFwKJHtVTklOQVRJVkVfU1RBR0lOR19ESVJ9LXVuaW5hdGl2ZS9yZWxvY2F0ZV9zZGsucHkgXAog
ICR7VU5JTkFUSVZFX1NUQUdJTkdfRElSfS11bmluYXRpdmUvJHtCVUlMRF9BUkNIfS1saW51eCBc
CiAgJHtVTklOQVRJVkVfTE9BREVSfSBcCiAgJHtVTklOQVRJVkVfTE9BREVSfSBcCiAgJHtVTklO
QVRJVkVfU1RBR0lOR19ESVJ9LXVuaW5hdGl2ZS8ke0JVSUxEX0FSQ0h9LWxpbnV4LyR7YmluZGly
X25hdGl2ZX0vcGF0Y2hlbGYtdW5pbmF0aXZlIFwKICAke1VOSU5BVElWRV9TVEFHSU5HX0RJUn0t
dW5pbmF0aXZlLyR7QlVJTERfQVJDSH0tbGludXgke2Jhc2VfbGliZGlyX25hdGl2ZX0vbGliYyou
c28iICUgY2hrc3VtKQogICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGNtZCwgc2hlbGw9
VHJ1ZSkKCiAgICAgICAgd2l0aCBvcGVuKGxvYWRlcmNoa3N1bSwgInciKSBhcyBmOgogICAgICAg
ICAgICBmLndyaXRlKGNoa3N1bSkKCiAgICAgICAgZW5hYmxlX3VuaW5hdGl2ZShkKQoKICAgIGV4
Y2VwdCBSdW50aW1lRXJyb3IgYXMgZToKICAgICAgICBiYi53YXJuKHN0cihlKSkKICAgIGV4Y2Vw
dCBiYi5mZXRjaDIuQkJGZXRjaEV4Y2VwdGlvbiBhcyBleGM6CiAgICAgICAgYmIud2FybigiRGlz
YWJsaW5nIHVuaW5hdGl2ZSBhcyB1bmFibGUgdG8gZmV0Y2ggdW5pbmF0aXZlIHRhcmJhbGw6ICVz
IiAlIHN0cihleGMpKQogICAgICAgIGJiLndhcm4oIlRvIGJ1aWxkIHlvdXIgb3duIHVuaW5hdGl2
ZSBsb2FkZXIsIHBsZWFzZSBiaXRiYWtlIHVuaW5hdGl2ZS10YXJiYWxsIGFuZCBzZXQgVU5JTkFU
SVZFX1RBUkJBTEwgYXBwcm9wcmlhdGVseS4iKQogICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVk
UHJvY2Vzc0Vycm9yIGFzIGV4YzoKICAgICAgICBiYi53YXJuKCJEaXNhYmxpbmcgdW5pbmF0aXZl
IGFzIHVuYWJsZSB0byBpbnN0YWxsIHVuaW5hdGl2ZSB0YXJiYWxsOiAlcyIgJSBzdHIoZXhjKSkK
ICAgICAgICBiYi53YXJuKCJUbyBidWlsZCB5b3VyIG93biB1bmluYXRpdmUgbG9hZGVyLCBwbGVh
c2UgYml0YmFrZSB1bmluYXRpdmUtdGFyYmFsbCBhbmQgc2V0IFVOSU5BVElWRV9UQVJCQUxMIGFw
cHJvcHJpYXRlbHkuIikKICAgIGZpbmFsbHk6CiAgICAgICAgb3MuY2hkaXIob2xkZGlyKQp9CgoK
cHl0aG9uIHdyaXRlX3JwbV9wZXJmaWxlZGF0YSAoKSB7CmRlZiB3cml0ZV9ycG1fcGVyZmlsZWRh
dGEoc3JjbmFtZSwgZCk6CiAgICB3b3JrZGlyID0gZC5nZXRWYXIoJ1dPUktESVInKQogICAgcGFj
a2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKQogICAgcGtnZCA9IGQuZ2V0VmFyKCdQS0dEJykK
CiAgICBkZWYgZHVtcF9maWxlcmRlcHModmFybmFtZSwgb3V0ZmlsZSwgZCk6CiAgICAgICAgb3V0
ZmlsZS53cml0ZSgiIyEvdXNyL2Jpbi9lbnYgcHl0aG9uM1xuXG4iKQogICAgICAgIG91dGZpbGUu
d3JpdGUoIiMgRGVwZW5kZW5jeSB0YWJsZVxuIikKICAgICAgICBvdXRmaWxlLndyaXRlKCdkZXBz
ID0ge1xuJykKICAgICAgICBmb3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CiAgICAgICAgICAg
IGRlcGVuZHNmbGlzdF9rZXkgPSAnRklMRScgKyB2YXJuYW1lICsgJ0ZMSVNUJyArICJfIiArIHBr
ZwogICAgICAgICAgICBkZXBlbmRzZmxpc3QgPSAoZC5nZXRWYXIoZGVwZW5kc2ZsaXN0X2tleSkg
b3IgIiIpCiAgICAgICAgICAgIGZvciBkZmlsZSBpbiBkZXBlbmRzZmxpc3Quc3BsaXQoKToKICAg
ICAgICAgICAgICAgIGtleSA9ICJGSUxFIiArIHZhcm5hbWUgKyAiXyIgKyBkZmlsZSArICJfIiAr
IHBrZwogICAgICAgICAgICAgICAgZGVwcyA9IGZpbHRlcl9uYXRpdmVzZGtfZGVwcyhzcmNuYW1l
LCBkLmdldFZhcihrZXkpIG9yICIiKQogICAgICAgICAgICAgICAgZGVwZW5kc19kaWN0ID0gYmIu
dXRpbHMuZXhwbG9kZV9kZXBfdmVyc2lvbnMoZGVwcykKICAgICAgICAgICAgICAgIGZpbGUgPSBk
ZmlsZS5yZXBsYWNlKCJAdW5kZXJzY29yZUAiLCAiXyIpCiAgICAgICAgICAgICAgICBmaWxlID0g
ZmlsZS5yZXBsYWNlKCJAY2xvc2VicmFjZUAiLCAiXSIpCiAgICAgICAgICAgICAgICBmaWxlID0g
ZmlsZS5yZXBsYWNlKCJAb3BlbmJyYWNlQCIsICJbIikKICAgICAgICAgICAgICAgIGZpbGUgPSBm
aWxlLnJlcGxhY2UoIkB0YWJAIiwgIlx0IikKICAgICAgICAgICAgICAgIGZpbGUgPSBmaWxlLnJl
cGxhY2UoIkBzcGFjZUAiLCAiICIpCiAgICAgICAgICAgICAgICBmaWxlID0gZmlsZS5yZXBsYWNl
KCJAYXRAIiwgIkAiKQogICAgICAgICAgICAgICAgb3V0ZmlsZS53cml0ZSgnIicgKyBwa2dkICsg
ZmlsZSArICciIDogIicpCiAgICAgICAgICAgICAgICBmb3IgZGVwIGluIGRlcGVuZHNfZGljdDoK
ICAgICAgICAgICAgICAgICAgICB2ZXIgPSBkZXBlbmRzX2RpY3RbZGVwXQogICAgICAgICAgICAg
ICAgICAgIGlmIGRlcCBhbmQgdmVyOgogICAgICAgICAgICAgICAgICAgICAgICB2ZXIgPSB2ZXIu
cmVwbGFjZSgiKCIsIiIpCiAgICAgICAgICAgICAgICAgICAgICAgIHZlciA9IHZlci5yZXBsYWNl
KCIpIiwiIikKICAgICAgICAgICAgICAgICAgICAgICAgb3V0ZmlsZS53cml0ZShkZXAgKyAiICIg
KyB2ZXIgKyAiICIpCiAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAg
ICAgICAgb3V0ZmlsZS53cml0ZShkZXAgKyAiICIpCiAgICAgICAgICAgICAgICBvdXRmaWxlLndy
aXRlKCciLFxuJykKICAgICAgICBvdXRmaWxlLndyaXRlKCd9XG5cbicpCiAgICAgICAgb3V0Zmls
ZS53cml0ZSgiaW1wb3J0IHN5c1xuIikKICAgICAgICBvdXRmaWxlLndyaXRlKCJ3aGlsZSAxOlxu
IikKICAgICAgICBvdXRmaWxlLndyaXRlKCJcdGxpbmUgPSBzeXMuc3RkaW4ucmVhZGxpbmUoKS5z
dHJpcCgpXG4iKQogICAgICAgIG91dGZpbGUud3JpdGUoIlx0aWYgbm90IGxpbmU6XG4iKQogICAg
ICAgIG91dGZpbGUud3JpdGUoIlx0XHRzeXMuZXhpdCgwKVxuIikKICAgICAgICBvdXRmaWxlLndy
aXRlKCJcdGlmIGxpbmUgaW4gZGVwczpcbiIpCiAgICAgICAgb3V0ZmlsZS53cml0ZSgiXHRcdHBy
aW50KGRlcHNbbGluZV0gKyAnXFxuJylcbiIpCgogICAgIyBPRS1jb3JlIGRlcGVuZGVuY2llcyBh
LmsuYS4gUlBNIHJlcXVpcmVzCiAgICBvdXRkZXBlbmRzID0gd29ya2RpciArICIvIiArIHNyY25h
bWUgKyAiLnJlcXVpcmVzIgoKICAgIGRlcGVuZHNmaWxlID0gb3BlbihvdXRkZXBlbmRzLCAndycp
CgogICAgZHVtcF9maWxlcmRlcHMoJ1JERVBFTkRTJywgZGVwZW5kc2ZpbGUsIGQpCgogICAgZGVw
ZW5kc2ZpbGUuY2xvc2UoKQogICAgb3MuY2htb2Qob3V0ZGVwZW5kcywgMG83NTUpCgogICAgIyBP
RS1jb3JlIC8gUlBNIFByb3ZpZGVzCiAgICBvdXRwcm92aWRlcyA9IHdvcmtkaXIgKyAiLyIgKyBz
cmNuYW1lICsgIi5wcm92aWRlcyIKCiAgICBwcm92aWRlc2ZpbGUgPSBvcGVuKG91dHByb3ZpZGVz
LCAndycpCgogICAgZHVtcF9maWxlcmRlcHMoJ1JQUk9WSURFUycsIHByb3ZpZGVzZmlsZSwgZCkK
CiAgICBwcm92aWRlc2ZpbGUuY2xvc2UoKQogICAgb3MuY2htb2Qob3V0cHJvdmlkZXMsIDBvNzU1
KQoKICAgIHJldHVybiAob3V0ZGVwZW5kcywgb3V0cHJvdmlkZXMpCgp9CgoKcHl0aG9uIHdyaXRl
X3NwZWNmaWxlICgpIHsKICAgIGltcG9ydCBvZS5wYWNrYWdlZGF0YQoKICAgICMgYXBwZW5kIGlu
Zm9ybWF0aW9uIGZvciBsb2dzIGFuZCBwYXRjaGVzIHRvICVwcmVwCiAgICBkZWYgYWRkX3ByZXAo
ZCxzcGVjX2ZpbGVzX2JvdHRvbSk6CiAgICAgICAgaWYgZC5nZXRWYXJGbGFnKCdBUkNISVZFUl9N
T0RFJywgJ3NycG0nKSA9PSAnMScgYW5kIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2FyY2hpdmVy
JywgZCk6CiAgICAgICAgICAgIHNwZWNfZmlsZXNfYm90dG9tLmFwcGVuZCgnJSVwcmVwIC1uICVz
JyAlIGQuZ2V0VmFyKCdQTicpICkKICAgICAgICAgICAgc3BlY19maWxlc19ib3R0b20uYXBwZW5k
KCclcycgJSAiZWNobyBcImluY2x1ZGUgbG9ncyBhbmQgcGF0Y2hlcywgUGxlYXNlIGNoZWNrIHRo
ZW0gaW4gU09VUkNFU1wiIikKICAgICAgICAgICAgc3BlY19maWxlc19ib3R0b20uYXBwZW5kKCcn
KQoKICAgICMgYXBwZW5kIHRoZSBuYW1lIG9mIHRhcmJhbGwgdG8ga2V5IHdvcmQgJ1NPVVJDRScg
aW4geHh4LnNwZWMuCiAgICBkZWYgdGFpbF9zb3VyY2UoZCk6CiAgICAgICAgaWYgZC5nZXRWYXJG
bGFnKCdBUkNISVZFUl9NT0RFJywgJ3NycG0nKSA9PSAnMScgYW5kIGJiLmRhdGEuaW5oZXJpdHNf
Y2xhc3MoJ2FyY2hpdmVyJywgZCk6CiAgICAgICAgICAgIGFyX291dGRpciA9IGQuZ2V0VmFyKCdB
UkNISVZFUl9PVVRESVInKQogICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoYXJfb3V0
ZGlyKToKICAgICAgICAgICAgICAgIHJldHVybgogICAgICAgICAgICBzb3VyY2VfbGlzdCA9IG9z
Lmxpc3RkaXIoYXJfb3V0ZGlyKQogICAgICAgICAgICBzb3VyY2VfbnVtYmVyID0gMAogICAgICAg
ICAgICBmb3Igc291cmNlIGluIHNvdXJjZV9saXN0OgogICAgICAgICAgICAgICAgIyBkb19kZXBs
b3lfYXJjaGl2ZXMgbWF5IGhhdmUgYWxyZWFkeSBydW4gKGZyb20gc3N0YXRlKSBtZWFuaW5nIGEg
LnNyYy5ycG0gbWF5IGFscmVhZHkKICAgICAgICAgICAgICAgICMgZXhpc3QgaW4gQVJDSElWRVJf
T1VURElSIHNvIHNraXAgaWYgcHJlc2VudC4KICAgICAgICAgICAgICAgIGlmIHNvdXJjZS5lbmRz
d2l0aCgiLnNyYy5ycG0iKToKICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAg
ICAgICAgIyBUaGUgcnBtYnVpbGQgZG9lc24ndCBuZWVkIHRoZSByb290IHBlcm1pc3Npb24sIGJ1
dCBpdCBuZWVkcwogICAgICAgICAgICAgICAgIyB0byBrbm93IHRoZSBmaWxlJ3MgdXNlciBhbmQg
Z3JvdXAgbmFtZSwgdGhlIG9ubHkgdXNlciBhbmQKICAgICAgICAgICAgICAgICMgZ3JvdXAgaW4g
ZmFrZXJvb3QgaXMgInJvb3QiIHdoZW4gd29ya2luZyBpbiBmYWtlcm9vdC4KICAgICAgICAgICAg
ICAgIGYgPSBvcy5wYXRoLmpvaW4oYXJfb3V0ZGlyLCBzb3VyY2UpCiAgICAgICAgICAgICAgICBv
cy5jaG93bihmLCAwLCAwKQogICAgICAgICAgICAgICAgc3BlY19wcmVhbWJsZV90b3AuYXBwZW5k
KCdTb3VyY2UlczogJXMnICUgKHNvdXJjZV9udW1iZXIsIHNvdXJjZSkpCiAgICAgICAgICAgICAg
ICBzb3VyY2VfbnVtYmVyICs9IDEKCiAgICAjIEluIFJQTSwgZGVwZW5kZW5jaWVzIGFyZSBvZiB0
aGUgZm9ybWF0OiBwa2cgPD49IEVwb2NoOlZlcnNpb24tUmVsZWFzZQogICAgIyBUaGlzIGZvcm1h
dCBpcyBzaW1pbGFyIHRvIE9FLCBob3dldmVyIHRoZXJlIGFyZSByZXN0cmljdGlvbnMgb24gdGhl
CiAgICAjIGNoYXJhY3RlcnMgdGhhdCBjYW4gYmUgaW4gYSBmaWVsZC4gIEluIHRoZSBWZXJzaW9u
IGZpZWxkLCAiLSIKICAgICMgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQuICAiLSIgaXMgYWxs
b3dlZCBpbiB0aGUgUmVsZWFzZSBmaWVsZC4KICAgICMKICAgICMgV2UgdHJhbnNsYXRlIHRoZSAi
LSIgaW4gdGhlIHZlcnNpb24gdG8gYSAiKyIsIGJ5IGxvYWRpbmcgdGhlIFBLR1YKICAgICMgZnJv
bSB0aGUgZGVwZW5kZW50IHJlY2lwZSwgcmVwbGFjaW5nIHRoZSAtIHdpdGggYSArLCBhbmQgdGhl
biB1c2luZwogICAgIyB0aGF0IHZhbHVlIHRvIGRvIGEgcmVwbGFjZSBpbnNpZGUgb2YgdGhpcyBy
ZWNpcGUncyBkZXBlbmRlbmNpZXMuCiAgICAjIFRoaXMgcHJlc2VydmVzIHRoZSAiLSIgc2VwYXJh
dG9yIGJldHdlZW4gdGhlIHZlcnNpb24gYW5kIHJlbGVhc2UsIGFzCiAgICAjIHdlbGwgYXMgYW55
ICItIiBjaGFyYWN0ZXJzIGluc2lkZSBvZiB0aGUgcmVsZWFzZSBmaWVsZC4KICAgICMKICAgICMg
QWxsIG9mIHRoaXMgaGFzIHRvIGhhcHBlbiBCRUZPUkUgdGhlIG1hcHBpbmdfcmVuYW1lX2hvb2sg
YXMKICAgICMgYWZ0ZXIgcmVuYW1pbmcgd2UgY2Fubm90IGxvb2sgdXAgdGhlIGRlcGVuZGVuY2ll
cyBpbiB0aGUgcGFja2FnZWRhdGEKICAgICMgc3RvcmUuCiAgICBkZWYgdHJhbnNsYXRlX3ZlcnMo
dmFybmFtZSwgZCk6CiAgICAgICAgZGVwZW5kcyA9IGQuZ2V0VmFyKHZhcm5hbWUpCiAgICAgICAg
aWYgZGVwZW5kczoKICAgICAgICAgICAgZGVwZW5kc19kaWN0ID0gYmIudXRpbHMuZXhwbG9kZV9k
ZXBfdmVyc2lvbnMyKGRlcGVuZHMpCiAgICAgICAgICAgIG5ld2RlcHNfZGljdCA9IHt9CiAgICAg
ICAgICAgIGZvciBkZXAgaW4gZGVwZW5kc19kaWN0OgogICAgICAgICAgICAgICAgdmVybGlzdCA9
IFtdCiAgICAgICAgICAgICAgICBmb3IgdmVyIGluIGRlcGVuZHNfZGljdFtkZXBdOgogICAgICAg
ICAgICAgICAgICAgIGlmICctJyBpbiB2ZXI6CiAgICAgICAgICAgICAgICAgICAgICAgIHN1YmQg
PSBvZS5wYWNrYWdlZGF0YS5yZWFkX3N1YnBrZ2RhdGFfZGljdChkZXAsIGQpCiAgICAgICAgICAg
ICAgICAgICAgICAgIGlmICdQS0dWJyBpbiBzdWJkOgogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHYgPSBzdWJkWydQViddCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2d2ID0gc3Vi
ZFsnUEtHViddCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBwdiA9IHBrZ3YucmVwbGFj
ZSgnLScsICcrJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlciA9IHZlci5yZXBsYWNl
KHB2LCByZXBwdikucmVwbGFjZShwa2d2LCByZXBwdikKICAgICAgICAgICAgICAgICAgICAgICAg
aWYgJ1BLR1InIGluIHN1YmQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIE1ha2Ugc3Vy
ZSBQS0dSIHJhdGhlciB0aGFuIFBSIGluIHZlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
cHIgPSAnLScgKyBzdWJkWydQUiddCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2dyID0g
Jy0nICsgc3ViZFsnUEtHUiddCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBwa2dyIG5v
dCBpbiB2ZXI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyID0gdmVyLnJlcGxh
Y2UocHIsIHBrZ3IpCiAgICAgICAgICAgICAgICAgICAgICAgIHZlcmxpc3QuYXBwZW5kKHZlcikK
ICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICB2ZXJsaXN0
LmFwcGVuZCh2ZXIpCiAgICAgICAgICAgICAgICBuZXdkZXBzX2RpY3RbZGVwXSA9IHZlcmxpc3QK
ICAgICAgICAgICAgZGVwZW5kcyA9IGJiLnV0aWxzLmpvaW5fZGVwcyhuZXdkZXBzX2RpY3QpCiAg
ICAgICAgICAgIGQuc2V0VmFyKHZhcm5hbWUsIGRlcGVuZHMuc3RyaXAoKSkKCiAgICAjIFdlIG5l
ZWQgdG8gY2hhbmdlIHRoZSBzdHlsZSB0aGUgZGVwZW5kZW5jeSBmcm9tIEJCIHRvIFJQTQogICAg
IyBUaGlzIG5lZWRzIHRvIGhhcHBlbiBBRlRFUiB0aGUgbWFwcGluZ19yZW5hbWVfaG9vawogICAg
ZGVmIHByaW50X2RlcHModmFyaWFibGUsIHRhZywgYXJyYXksIGQpOgogICAgICAgIGRlcGVuZHMg
PSB2YXJpYWJsZQogICAgICAgIGlmIGRlcGVuZHM6CiAgICAgICAgICAgIGRlcGVuZHNfZGljdCA9
IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3ZlcnNpb25zMihkZXBlbmRzKQogICAgICAgICAgICBmb3Ig
ZGVwIGluIGRlcGVuZHNfZGljdDoKICAgICAgICAgICAgICAgIGZvciB2ZXIgaW4gZGVwZW5kc19k
aWN0W2RlcF06CiAgICAgICAgICAgICAgICAgICAgdmVyID0gdmVyLnJlcGxhY2UoJygnLCAnJykK
ICAgICAgICAgICAgICAgICAgICB2ZXIgPSB2ZXIucmVwbGFjZSgnKScsICcnKQogICAgICAgICAg
ICAgICAgICAgIGFycmF5LmFwcGVuZCgiJXM6ICVzICVzIiAlICh0YWcsIGRlcCwgdmVyKSkKICAg
ICAgICAgICAgICAgIGlmIG5vdCBsZW4oZGVwZW5kc19kaWN0W2RlcF0pOgogICAgICAgICAgICAg
ICAgICAgIGFycmF5LmFwcGVuZCgiJXM6ICVzIiAlICh0YWcsIGRlcCkpCgogICAgZGVmIHdhbGtf
ZmlsZXMod2Fsa3BhdGgsIHRhcmdldCwgY29uZmZpbGVzLCBkaXJmaWxlcyk6CiAgICAgICAgIyBX
ZSBjYW4gcmFjZSBhZ2FpbnN0IHRoZSBpcGsvZGViIGJhY2tlbmRzIHdoaWNoIGNyZWF0ZSBDT05U
Uk9MIG9yIERFQklBTiBkaXJlY3RvcmllcwogICAgICAgICMgd2hlbiBwYWNrYWdpbmcuIFdlIGp1
c3QgaWdub3JlIHRoZXNlIGZpbGVzIHdoaWNoIGFyZSBjcmVhdGVkIGluCiAgICAgICAgIyBwYWNr
YWdlcy1zcGxpdC8gYW5kIG5vdCBwYWNrYWdlLwogICAgICAgICMgV2UgaGF2ZSB0aGUgb2RkIHNp
dHVhdGlvbiB3aGVyZSB0aGUgQ09OVFJPTC9ERUJJQU4gZGlyZWN0b3J5IGNhbiBiZSByZW1vdmVk
IGluIHRoZSBtaWRkbGUgb2YKICAgICAgICAjIG9mIHRoZSB3YWxrLCB0aGUgaXNkaXIoKSB0ZXN0
IHdvdWxkIHRoZW4gZmFpbCBhbmQgdGhlIHdhbGsgY29kZSB3b3VsZCBhc3N1bWUgaXRzIGEgZmls
ZQogICAgICAgICMgaGVuY2Ugd2UgY2hlY2sgZm9yIHRoZSBuYW1lcyBpbiBmaWxlcyB0b28uCiAg
ICAgICAgZm9yIHJvb3RwYXRoLCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHdhbGtwYXRoKToKICAg
ICAgICAgICAgcGF0aCA9IHJvb3RwYXRoLnJlcGxhY2Uod2Fsa3BhdGgsICIiKQogICAgICAgICAg
ICBpZiBwYXRoLmVuZHN3aXRoKCJERUJJQU4iKSBvciBwYXRoLmVuZHN3aXRoKCJDT05UUk9MIik6
CiAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNl
KCIlIiwgIiUlJSUlJSUlIikKICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSgiWyIsICI/
IikKICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSgiXSIsICI/IikKCiAgICAgICAgICAg
ICMgVHJlYXQgYWxsIHN5bWxpbmtzIHRvIGRpcmVjdG9yaWVzIGFzIG5vcm1hbCBmaWxlcy4KICAg
ICAgICAgICAgIyBvcy53YWxrKCkgbGlzdHMgdGhlbSBhcyBkaXJlY3Rvcmllcy4KICAgICAgICAg
ICAgZGVmIG1vdmVfdG9fZmlsZXMoZGlyKToKICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguaXNs
aW5rKG9zLnBhdGguam9pbihyb290cGF0aCwgZGlyKSk6CiAgICAgICAgICAgICAgICAgICAgZmls
ZXMuYXBwZW5kKGRpcikKICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICAg
ICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgICAg
ZGlyc1s6XSA9IFtkaXIgZm9yIGRpciBpbiBkaXJzIGlmIG5vdCBtb3ZlX3RvX2ZpbGVzKGRpcild
CgogICAgICAgICAgICAjIERpcmVjdG9yeSBoYW5kbGluZyBjYW4gaGFwcGVuIGluIHR3byB3YXlz
LCBlaXRoZXIgRElSRklMRVMgaXMgbm90IHNldCBhdCBhbGwKICAgICAgICAgICAgIyBpbiB3aGlj
aCBjYXNlIHdlIGZhbGwgYmFjayB0byB0aGUgb2xkZXIgYmVoYXZpb3VyIG9mIHBhY2thZ2VzIG93
bmluZyBhbGwgdGhlaXIKICAgICAgICAgICAgIyBkaXJlY3RvcmllcwogICAgICAgICAgICBpZiBk
aXJmaWxlcyBpcyBOb25lOgogICAgICAgICAgICAgICAgZm9yIGRpciBpbiBkaXJzOgogICAgICAg
ICAgICAgICAgICAgIGlmIGRpciA9PSAiQ09OVFJPTCIgb3IgZGlyID09ICJERUJJQU4iOgogICAg
ICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgIGRpciA9IGRp
ci5yZXBsYWNlKCIlIiwgIiUlJSUlJSUlIikKICAgICAgICAgICAgICAgICAgICBkaXIgPSBkaXIu
cmVwbGFjZSgiWyIsICI/IikKICAgICAgICAgICAgICAgICAgICBkaXIgPSBkaXIucmVwbGFjZSgi
XSIsICI/IikKICAgICAgICAgICAgICAgICAgICAjIEFsbCBwYWNrYWdlcyBvd24gdGhlIGRpcmVj
dG9yaWVzIHRoZWlyIGZpbGVzIGFyZSBpbi4uLgogICAgICAgICAgICAgICAgICAgIHRhcmdldC5h
cHBlbmQoJyVkaXIgIicgKyBwYXRoICsgJy8nICsgZGlyICsgJyInKQogICAgICAgICAgICBlbHNl
OgogICAgICAgICAgICAgICAgIyBwYWNrYWdlcyBvd24gb25seSBlbXB0eSBkaXJlY3RvcmllcyBv
ciBleHBsaWN0IGRpcmVjdG9yeS4KICAgICAgICAgICAgICAgICMgVGhpcyB3aWxsIHByZXZlbnQg
dGhlIG92ZXJsYXBwaW5nIG9mIHNlY3VyaXR5IHBlcm1pc3Npb24uCiAgICAgICAgICAgICAgICBp
ZiBwYXRoIGFuZCBub3QgZmlsZXMgYW5kIG5vdCBkaXJzOgogICAgICAgICAgICAgICAgICAgIHRh
cmdldC5hcHBlbmQoJyVkaXIgIicgKyBwYXRoICsgJyInKQogICAgICAgICAgICAgICAgZWxpZiBw
YXRoIGFuZCBwYXRoIGluIGRpcmZpbGVzOgogICAgICAgICAgICAgICAgICAgIHRhcmdldC5hcHBl
bmQoJyVkaXIgIicgKyBwYXRoICsgJyInKQoKICAgICAgICAgICAgZm9yIGZpbGUgaW4gZmlsZXM6
CiAgICAgICAgICAgICAgICBpZiBmaWxlID09ICJDT05UUk9MIiBvciBmaWxlID09ICJERUJJQU4i
OgogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICBmaWxlID0gZmls
ZS5yZXBsYWNlKCIlIiwgIiUlJSUlJSUlIikKICAgICAgICAgICAgICAgIGZpbGUgPSBmaWxlLnJl
cGxhY2UoIlsiLCAiPyIpCiAgICAgICAgICAgICAgICBmaWxlID0gZmlsZS5yZXBsYWNlKCJdIiwg
Ij8iKQogICAgICAgICAgICAgICAgaWYgY29uZmZpbGVzLmNvdW50KHBhdGggKyAnLycgKyBmaWxl
KToKICAgICAgICAgICAgICAgICAgICB0YXJnZXQuYXBwZW5kKCclY29uZmlnICInICsgcGF0aCAr
ICcvJyArIGZpbGUgKyAnIicpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAg
ICAgIHRhcmdldC5hcHBlbmQoJyInICsgcGF0aCArICcvJyArIGZpbGUgKyAnIicpCgogICAgIyBQ
cmV2ZW50IHRoZSBwcmVybS9wb3N0cm0gc2NyaXB0cyBmcm9tIGJlaW5nIHJ1biBkdXJpbmcgYW4g
dXBncmFkZQogICAgZGVmIHdyYXBfdW5pbnN0YWxsKHNjcmlwdHZhcik6CiAgICAgICAgc2NyID0g
c2NyaXB0dmFyLnN0cmlwKCkKICAgICAgICBpZiBzY3Iuc3RhcnRzd2l0aCgiIyEiKToKICAgICAg
ICAgICAgcG9zID0gc2NyLmZpbmQoIlxuIikgKyAxCiAgICAgICAgZWxzZToKICAgICAgICAgICAg
cG9zID0gMAogICAgICAgIHNjciA9IHNjcls6cG9zXSArICdpZiBbICIkMSIgPSAiMCIgXSA7IHRo
ZW5cbicgKyBzY3JbcG9zOl0gKyAnXG5maScKICAgICAgICByZXR1cm4gc2NyCgogICAgZGVmIGdl
dF9wZXJmaWxlKHZhcm5hbWUsIHBrZywgZCk6CiAgICAgICAgZGVwcyA9IFtdCiAgICAgICAgZGVw
ZW5kc2ZsaXN0X2tleSA9ICdGSUxFJyArIHZhcm5hbWUgKyAnRkxJU1QnICsgIl8iICsgcGtnCiAg
ICAgICAgZGVwZW5kc2ZsaXN0ID0gKGQuZ2V0VmFyKGRlcGVuZHNmbGlzdF9rZXkpIG9yICIiKQog
ICAgICAgIGZvciBkZmlsZSBpbiBkZXBlbmRzZmxpc3Quc3BsaXQoKToKICAgICAgICAgICAga2V5
ID0gIkZJTEUiICsgdmFybmFtZSArICJfIiArIGRmaWxlICsgIl8iICsgcGtnCiAgICAgICAgICAg
IGRlcGVuZHMgPSBkLmdldFZhcihrZXkpCiAgICAgICAgICAgIGlmIGRlcGVuZHM6CiAgICAgICAg
ICAgICAgICBkZXBzLmFwcGVuZChkZXBlbmRzKQogICAgICAgIHJldHVybiAiICIuam9pbihkZXBz
KQoKICAgIGRlZiBhcHBlbmRfZGVzY3JpcHRpb24oc3BlY19wcmVhbWJsZSwgdGV4dCk6CiAgICAg
ICAgIiIiCiAgICAgICAgQWRkIHRoZSBkZXNjcmlwdGlvbiB0byB0aGUgc3BlYyBmaWxlLgogICAg
ICAgICIiIgogICAgICAgIGltcG9ydCB0ZXh0d3JhcAogICAgICAgIGRlZGVudF90ZXh0ID0gdGV4
dHdyYXAuZGVkZW50KHRleHQpLnN0cmlwKCkKICAgICAgICAjIEJpdGJha2Ugc2F2ZXMgIlxuIiBh
cyAiXFxuIgogICAgICAgIGlmICdcXG4nIGluIGRlZGVudF90ZXh0OgogICAgICAgICAgICBmb3Ig
dCBpbiBkZWRlbnRfdGV4dC5zcGxpdCgnXFxuJyk6CiAgICAgICAgICAgICAgICBzcGVjX3ByZWFt
YmxlLmFwcGVuZCh0LnN0cmlwKCkpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgc3BlY19wcmVh
bWJsZS5hcHBlbmQoJyVzJyAlIHRleHR3cmFwLmZpbGwoZGVkZW50X3RleHQsIHdpZHRoPTc1KSkK
CiAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpCiAgICBpZiBub3QgcGFja2FnZXMg
b3IgcGFja2FnZXMgPT0gJyc6CiAgICAgICAgYmIuZGVidWcoMSwgIk5vIHBhY2thZ2VzOyBub3Ro
aW5nIHRvIGRvIikKICAgICAgICByZXR1cm4KCiAgICBwa2dkZXN0ID0gZC5nZXRWYXIoJ1BLR0RF
U1QnKQogICAgaWYgbm90IHBrZ2Rlc3Q6CiAgICAgICAgYmIuZmF0YWwoIk5vIFBLR0RFU1QiKQoK
ICAgIG91dHNwZWNmaWxlID0gZC5nZXRWYXIoJ09VVFNQRUNGSUxFJykKICAgIGlmIG5vdCBvdXRz
cGVjZmlsZToKICAgICAgICBiYi5mYXRhbCgiTm8gT1VUU1BFQ0ZJTEUiKQoKICAgICMgQ29uc3Ry
dWN0IHRoZSBTUEVDIGZpbGUuLi4KICAgIHNyY25hbWUgICAgPSBkLmdldFZhcignUE4nKQogICAg
c3Jjc3VtbWFyeSA9IChkLmdldFZhcignU1VNTUFSWScpIG9yIGQuZ2V0VmFyKCdERVNDUklQVElP
TicpIG9yICIuIikKICAgIHNyY3ZlcnNpb24gPSBkLmdldFZhcignUEtHVicpLnJlcGxhY2UoJy0n
LCAnKycpCiAgICBzcmNyZWxlYXNlID0gZC5nZXRWYXIoJ1BLR1InKQogICAgc3JjZXBvY2ggICA9
IChkLmdldFZhcignUEtHRScpIG9yICIiKQogICAgc3JjbGljZW5zZSA9IGQuZ2V0VmFyKCdMSUNF
TlNFJykKICAgIHNyY3NlY3Rpb24gPSBkLmdldFZhcignU0VDVElPTicpCiAgICBzcmNtYWludGFp
bmVyICA9IGQuZ2V0VmFyKCdNQUlOVEFJTkVSJykKICAgIHNyY2hvbWVwYWdlICAgID0gZC5nZXRW
YXIoJ0hPTUVQQUdFJykKICAgIHNyY2Rlc2NyaXB0aW9uID0gZC5nZXRWYXIoJ0RFU0NSSVBUSU9O
Jykgb3IgIi4iCiAgICBzcmNjdXN0b210YWdzY2h1bmsgPSBnZXRfcGFja2FnZV9hZGRpdGlvbmFs
X21ldGFkYXRhKCJycG0iLCBkKQoKICAgIHNyY2RlcGVuZHMgICAgID0gZC5nZXRWYXIoJ0RFUEVO
RFMnKQogICAgc3JjcmRlcGVuZHMgICAgPSBbXQogICAgc3JjcnJlY29tbWVuZHMgPSBbXQogICAg
c3JjcnN1Z2dlc3RzICAgPSBbXQogICAgc3JjcnByb3ZpZGVzICAgPSBbXQogICAgc3JjcnJlcGxh
Y2VzICAgPSBbXQogICAgc3JjcmNvbmZsaWN0cyAgPSBbXQogICAgc3Jjcm9ic29sZXRlcyAgPSBb
XQoKICAgIHNyY3JwcmVpbnN0ICA9IFtdCiAgICBzcmNycG9zdGluc3QgPSBbXQogICAgc3JjcnBy
ZXJtICAgID0gW10KICAgIHNyY3Jwb3N0cm0gICA9IFtdCgogICAgc3BlY19wcmVhbWJsZV90b3Ag
PSBbXQogICAgc3BlY19wcmVhbWJsZV9ib3R0b20gPSBbXQoKICAgIHNwZWNfc2NyaXB0bGV0c190
b3AgPSBbXQogICAgc3BlY19zY3JpcHRsZXRzX2JvdHRvbSA9IFtdCgogICAgc3BlY19maWxlc190
b3AgPSBbXQogICAgc3BlY19maWxlc19ib3R0b20gPSBbXQoKICAgIHBlcmZpbGVkZXBzID0gKGQu
Z2V0VmFyKCJNRVJHRVBFUkZJTEVERVBTIikgb3IgIjAiKSA9PSAiMCIKICAgIGV4dHJhX3BrZ2Rh
dGEgPSAoZC5nZXRWYXIoIlJQTV9FWFRSQV9QS0dEQVRBIikgb3IgIjAiKSA9PSAiMSIKCiAgICBm
b3IgcGtnIGluIHBhY2thZ2VzLnNwbGl0KCk6CiAgICAgICAgbG9jYWxkYXRhID0gYmIuZGF0YS5j
cmVhdGVDb3B5KGQpCgogICAgICAgIHJvb3QgPSAiJXMvJXMiICUgKHBrZ2Rlc3QsIHBrZykKCiAg
ICAgICAgbG9jYWxkYXRhLnNldFZhcignUk9PVCcsICcnKQogICAgICAgIGxvY2FsZGF0YS5zZXRW
YXIoJ1JPT1RfJXMnICUgcGtnLCByb290KQogICAgICAgIHBrZ25hbWUgPSBsb2NhbGRhdGEuZ2V0
VmFyKCdQS0dfJXMnICUgcGtnKQogICAgICAgIGlmIG5vdCBwa2duYW1lOgogICAgICAgICAgICBw
a2duYW1lID0gcGtnCiAgICAgICAgbG9jYWxkYXRhLnNldFZhcignUEtHJywgcGtnbmFtZSkKCiAg
ICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgZC5nZXRWYXIoIk9WRVJSSURFUyIs
IEZhbHNlKSArICI6IiArIHBrZykKCiAgICAgICAgY29uZmZpbGVzID0gZ2V0X2NvbmZmaWxlcyhw
a2csIGQpCiAgICAgICAgZGlyZmlsZXMgPSBsb2NhbGRhdGEuZ2V0VmFyKCdESVJGSUxFUycpCiAg
ICAgICAgaWYgZGlyZmlsZXMgaXMgbm90IE5vbmU6CiAgICAgICAgICAgIGRpcmZpbGVzID0gZGly
ZmlsZXMuc3BsaXQoKQoKICAgICAgICBzcGxpdG5hbWUgICAgPSBwa2duYW1lCgogICAgICAgIHNw
bGl0c3VtbWFyeSA9IChsb2NhbGRhdGEuZ2V0VmFyKCdTVU1NQVJZJykgb3IgbG9jYWxkYXRhLmdl
dFZhcignREVTQ1JJUFRJT04nKSBvciAiLiIpCiAgICAgICAgc3BsaXR2ZXJzaW9uID0gKGxvY2Fs
ZGF0YS5nZXRWYXIoJ1BLR1YnKSBvciAiIikucmVwbGFjZSgnLScsICcrJykKICAgICAgICBzcGxp
dHJlbGVhc2UgPSAobG9jYWxkYXRhLmdldFZhcignUEtHUicpIG9yICIiKQogICAgICAgIHNwbGl0
ZXBvY2ggICA9IChsb2NhbGRhdGEuZ2V0VmFyKCdQS0dFJykgb3IgIiIpCiAgICAgICAgc3BsaXRs
aWNlbnNlID0gKGxvY2FsZGF0YS5nZXRWYXIoJ0xJQ0VOU0UnKSBvciAiIikKICAgICAgICBzcGxp
dHNlY3Rpb24gPSAobG9jYWxkYXRhLmdldFZhcignU0VDVElPTicpIG9yICIiKQogICAgICAgIHNw
bGl0ZGVzY3JpcHRpb24gPSAobG9jYWxkYXRhLmdldFZhcignREVTQ1JJUFRJT04nKSBvciAiLiIp
CiAgICAgICAgc3BsaXRjdXN0b210YWdzY2h1bmsgPSBnZXRfcGFja2FnZV9hZGRpdGlvbmFsX21l
dGFkYXRhKCJycG0iLCBsb2NhbGRhdGEpCgogICAgICAgIHRyYW5zbGF0ZV92ZXJzKCdSREVQRU5E
UycsIGxvY2FsZGF0YSkKICAgICAgICB0cmFuc2xhdGVfdmVycygnUlJFQ09NTUVORFMnLCBsb2Nh
bGRhdGEpCiAgICAgICAgdHJhbnNsYXRlX3ZlcnMoJ1JTVUdHRVNUUycsIGxvY2FsZGF0YSkKICAg
ICAgICB0cmFuc2xhdGVfdmVycygnUlBST1ZJREVTJywgbG9jYWxkYXRhKQogICAgICAgIHRyYW5z
bGF0ZV92ZXJzKCdSUkVQTEFDRVMnLCBsb2NhbGRhdGEpCiAgICAgICAgdHJhbnNsYXRlX3ZlcnMo
J1JDT05GTElDVFMnLCBsb2NhbGRhdGEpCgogICAgICAgICMgTWFwIHRoZSBkZXBlbmRlbmNpZXMg
aW50byB0aGVpciBmaW5hbCBmb3JtCiAgICAgICAgbWFwcGluZ19yZW5hbWVfaG9vayhsb2NhbGRh
dGEpCgogICAgICAgIHNwbGl0cmRlcGVuZHMgICAgPSBsb2NhbGRhdGEuZ2V0VmFyKCdSREVQRU5E
UycpCiAgICAgICAgc3BsaXRycmVjb21tZW5kcyA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JSRUNPTU1F
TkRTJykKICAgICAgICBzcGxpdHJzdWdnZXN0cyAgID0gbG9jYWxkYXRhLmdldFZhcignUlNVR0dF
U1RTJykKICAgICAgICBzcGxpdHJwcm92aWRlcyAgID0gbG9jYWxkYXRhLmdldFZhcignUlBST1ZJ
REVTJykKICAgICAgICBzcGxpdHJyZXBsYWNlcyAgID0gbG9jYWxkYXRhLmdldFZhcignUlJFUExB
Q0VTJykKICAgICAgICBzcGxpdHJjb25mbGljdHMgID0gbG9jYWxkYXRhLmdldFZhcignUkNPTkZM
SUNUUycpCiAgICAgICAgc3BsaXRyb2Jzb2xldGVzICA9IFtdCgogICAgICAgIHNwbGl0cnByZWlu
c3QgID0gbG9jYWxkYXRhLmdldFZhcigncGtnX3ByZWluc3QnKQogICAgICAgIHNwbGl0cnBvc3Rp
bnN0ID0gbG9jYWxkYXRhLmdldFZhcigncGtnX3Bvc3RpbnN0JykKICAgICAgICBzcGxpdHJwcmVy
bSAgICA9IGxvY2FsZGF0YS5nZXRWYXIoJ3BrZ19wcmVybScpCiAgICAgICAgc3BsaXRycG9zdHJt
ICAgPSBsb2NhbGRhdGEuZ2V0VmFyKCdwa2dfcG9zdHJtJykKCgogICAgICAgIGlmIG5vdCBwZXJm
aWxlZGVwczoKICAgICAgICAgICAgIyBBZGQgaW4gc3VtbWFyeSBvZiBwZXIgZmlsZSBkZXBlbmRl
bmNpZXMKICAgICAgICAgICAgc3BsaXRyZGVwZW5kcyA9IHNwbGl0cmRlcGVuZHMgKyAiICIgKyBn
ZXRfcGVyZmlsZSgnUkRFUEVORFMnLCBwa2csIGQpCiAgICAgICAgICAgIHNwbGl0cnByb3ZpZGVz
ID0gc3BsaXRycHJvdmlkZXMgKyAiICIgKyBnZXRfcGVyZmlsZSgnUlBST1ZJREVTJywgcGtnLCBk
KQoKICAgICAgICBzcGxpdHJkZXBlbmRzID0gZmlsdGVyX25hdGl2ZXNka19kZXBzKHNyY25hbWUs
IHNwbGl0cmRlcGVuZHMpCgogICAgICAgICMgR2F0aGVyIHNwZWNpYWwgc3JjL2ZpcnN0IHBhY2th
Z2UgZGF0YQogICAgICAgIGlmIHNyY25hbWUgPT0gc3BsaXRuYW1lOgogICAgICAgICAgICBhcmNo
aXZpbmcgPSBkLmdldFZhckZsYWcoJ0FSQ0hJVkVSX01PREUnLCAnc3JwbScpID09ICcxJyBhbmQg
XAogICAgICAgICAgICAgICAgICAgICAgICBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdhcmNoaXZl
cicsIGQpCiAgICAgICAgICAgIGlmIGFyY2hpdmluZyBhbmQgc3JjbGljZW5zZSAhPSBzcGxpdGxp
Y2Vuc2U6CiAgICAgICAgICAgICAgICBiYi53YXJuKCJUaGUgU1JQTSBwcm9kdWNlZCBtYXkgbm90
IGhhdmUgdGhlIGNvcnJlY3Qgb3ZlcmFsbCBzb3VyY2UgbGljZW5zZSBpbiB0aGUgTGljZW5zZSB0
YWcuIFRoaXMgaXMgZHVlIHRvIHRoZSBMSUNFTlNFIGZvciB0aGUgcHJpbWFyeSBwYWNrYWdlIGFu
ZCBTUlBNIGNvbmZsaWN0aW5nLiIpCgogICAgICAgICAgICBzcmNsaWNlbnNlICAgICA9IHNwbGl0
bGljZW5zZQogICAgICAgICAgICBzcmNyZGVwZW5kcyAgICA9IHNwbGl0cmRlcGVuZHMKICAgICAg
ICAgICAgc3JjcnJlY29tbWVuZHMgPSBzcGxpdHJyZWNvbW1lbmRzCiAgICAgICAgICAgIHNyY3Jz
dWdnZXN0cyAgID0gc3BsaXRyc3VnZ2VzdHMKICAgICAgICAgICAgc3JjcnByb3ZpZGVzICAgPSBz
cGxpdHJwcm92aWRlcwogICAgICAgICAgICBzcmNycmVwbGFjZXMgICA9IHNwbGl0cnJlcGxhY2Vz
CiAgICAgICAgICAgIHNyY3Jjb25mbGljdHMgID0gc3BsaXRyY29uZmxpY3RzCgogICAgICAgICAg
ICBzcmNycHJlaW5zdCAgICA9IHNwbGl0cnByZWluc3QKICAgICAgICAgICAgc3JjcnBvc3RpbnN0
ICAgPSBzcGxpdHJwb3N0aW5zdAogICAgICAgICAgICBzcmNycHJlcm0gICAgICA9IHNwbGl0cnBy
ZXJtCiAgICAgICAgICAgIHNyY3Jwb3N0cm0gICAgID0gc3BsaXRycG9zdHJtCgogICAgICAgICAg
ICBmaWxlX2xpc3QgPSBbXQogICAgICAgICAgICB3YWxrX2ZpbGVzKHJvb3QsIGZpbGVfbGlzdCwg
Y29uZmZpbGVzLCBkaXJmaWxlcykKICAgICAgICAgICAgaWYgbm90IGZpbGVfbGlzdCBhbmQgbG9j
YWxkYXRhLmdldFZhcignQUxMT1dfRU1QVFknLCBGYWxzZSkgIT0gIjEiOgogICAgICAgICAgICAg
ICAgYmIubm90ZSgiTm90IGNyZWF0aW5nIGVtcHR5IFJQTSBwYWNrYWdlIGZvciAlcyIgJSBzcGxp
dG5hbWUpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBzcGVjX2ZpbGVzX3RvcC5h
cHBlbmQoJyVmaWxlcycpCiAgICAgICAgICAgICAgICBpZiBleHRyYV9wa2dkYXRhOgogICAgICAg
ICAgICAgICAgICAgIHBhY2thZ2VfcnBtX2V4dHJhX3BrZ2RhdGEoc3BsaXRuYW1lLCBzcGVjX2Zp
bGVzX3RvcCwgbG9jYWxkYXRhKQogICAgICAgICAgICAgICAgc3BlY19maWxlc190b3AuYXBwZW5k
KCclZGVmYXR0cigtLC0sLSwtKScpCiAgICAgICAgICAgICAgICBpZiBmaWxlX2xpc3Q6CiAgICAg
ICAgICAgICAgICAgICAgYmIubm90ZSgiQ3JlYXRpbmcgUlBNIHBhY2thZ2UgZm9yICVzIiAlIHNw
bGl0bmFtZSkKICAgICAgICAgICAgICAgICAgICBzcGVjX2ZpbGVzX3RvcC5leHRlbmQoZmlsZV9s
aXN0KQogICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICBiYi5ub3RlKCJD
cmVhdGluZyBlbXB0eSBSUE0gcGFja2FnZSBmb3IgJXMiICUgc3BsaXRuYW1lKQogICAgICAgICAg
ICAgICAgc3BlY19maWxlc190b3AuYXBwZW5kKCcnKQogICAgICAgICAgICBjb250aW51ZQoKICAg
ICAgICAjIFByb2Nlc3Mgc3VicGFja2FnZSBkYXRhCiAgICAgICAgc3BlY19wcmVhbWJsZV9ib3R0
b20uYXBwZW5kKCclJXBhY2thZ2UgLW4gJXMnICUgc3BsaXRuYW1lKQogICAgICAgIHNwZWNfcHJl
YW1ibGVfYm90dG9tLmFwcGVuZCgnU3VtbWFyeTogJXMnICUgc3BsaXRzdW1tYXJ5KQogICAgICAg
IGlmIHNyY3ZlcnNpb24gIT0gc3BsaXR2ZXJzaW9uOgogICAgICAgICAgICBzcGVjX3ByZWFtYmxl
X2JvdHRvbS5hcHBlbmQoJ1ZlcnNpb246ICVzJyAlIHNwbGl0dmVyc2lvbikKICAgICAgICBpZiBz
cmNyZWxlYXNlICE9IHNwbGl0cmVsZWFzZToKICAgICAgICAgICAgc3BlY19wcmVhbWJsZV9ib3R0
b20uYXBwZW5kKCdSZWxlYXNlOiAlcycgJSBzcGxpdHJlbGVhc2UpCiAgICAgICAgaWYgc3JjZXBv
Y2ggIT0gc3BsaXRlcG9jaDoKICAgICAgICAgICAgc3BlY19wcmVhbWJsZV9ib3R0b20uYXBwZW5k
KCdFcG9jaDogJXMnICUgc3BsaXRlcG9jaCkKICAgICAgICBzcGVjX3ByZWFtYmxlX2JvdHRvbS5h
cHBlbmQoJ0xpY2Vuc2U6ICVzJyAlIHNwbGl0bGljZW5zZSkKICAgICAgICBzcGVjX3ByZWFtYmxl
X2JvdHRvbS5hcHBlbmQoJ0dyb3VwOiAlcycgJSBzcGxpdHNlY3Rpb24pCgogICAgICAgIGlmIHNy
Y2N1c3RvbXRhZ3NjaHVuayAhPSBzcGxpdGN1c3RvbXRhZ3NjaHVuazoKICAgICAgICAgICAgc3Bl
Y19wcmVhbWJsZV9ib3R0b20uYXBwZW5kKHNwbGl0Y3VzdG9tdGFnc2NodW5rKQoKICAgICAgICAj
IFJlcGxhY2VzID09IE9ic29sZXRlcyAmJiBQcm92aWRlcwogICAgICAgIHJvYnNvbGV0ZXMgPSBi
Yi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIoc3BsaXRyb2Jzb2xldGVzIG9yICIiKQogICAg
ICAgIHJwcm92aWRlcyA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3ZlcnNpb25zMihzcGxpdHJwcm92
aWRlcyBvciAiIikKICAgICAgICBycmVwbGFjZXMgPSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJz
aW9uczIoc3BsaXRycmVwbGFjZXMgb3IgIiIpCiAgICAgICAgZm9yIGRlcCBpbiBycmVwbGFjZXM6
CiAgICAgICAgICAgIGlmIG5vdCBkZXAgaW4gcm9ic29sZXRlczoKICAgICAgICAgICAgICAgIHJv
YnNvbGV0ZXNbZGVwXSA9IHJyZXBsYWNlc1tkZXBdCiAgICAgICAgICAgIGlmIG5vdCBkZXAgaW4g
cnByb3ZpZGVzOgogICAgICAgICAgICAgICAgcnByb3ZpZGVzW2RlcF0gPSBycmVwbGFjZXNbZGVw
XQogICAgICAgIHNwbGl0cm9ic29sZXRlcyA9IGJiLnV0aWxzLmpvaW5fZGVwcyhyb2Jzb2xldGVz
LCBjb21tYXNlcD1GYWxzZSkKICAgICAgICBzcGxpdHJwcm92aWRlcyA9IGJiLnV0aWxzLmpvaW5f
ZGVwcyhycHJvdmlkZXMsIGNvbW1hc2VwPUZhbHNlKQoKICAgICAgICBwcmludF9kZXBzKHNwbGl0
cmRlcGVuZHMsICJSZXF1aXJlcyIsIHNwZWNfcHJlYW1ibGVfYm90dG9tLCBkKQogICAgICAgIGlm
IHNwbGl0cnByZWluc3Q6CiAgICAgICAgICAgIHByaW50X2RlcHMoc3BsaXRyZGVwZW5kcywgIlJl
cXVpcmVzKHByZSkiLCBzcGVjX3ByZWFtYmxlX2JvdHRvbSwgZCkKICAgICAgICBpZiBzcGxpdHJw
b3N0aW5zdDoKICAgICAgICAgICAgcHJpbnRfZGVwcyhzcGxpdHJkZXBlbmRzLCAiUmVxdWlyZXMo
cG9zdCkiLCBzcGVjX3ByZWFtYmxlX2JvdHRvbSwgZCkKICAgICAgICBpZiBzcGxpdHJwcmVybToK
ICAgICAgICAgICAgcHJpbnRfZGVwcyhzcGxpdHJkZXBlbmRzLCAiUmVxdWlyZXMocHJldW4pIiwg
c3BlY19wcmVhbWJsZV9ib3R0b20sIGQpCiAgICAgICAgaWYgc3BsaXRycG9zdHJtOgogICAgICAg
ICAgICBwcmludF9kZXBzKHNwbGl0cmRlcGVuZHMsICJSZXF1aXJlcyhwb3N0dW4pIiwgc3BlY19w
cmVhbWJsZV9ib3R0b20sIGQpCgogICAgICAgIHByaW50X2RlcHMoc3BsaXRycmVjb21tZW5kcywg
IlJlY29tbWVuZHMiLCBzcGVjX3ByZWFtYmxlX2JvdHRvbSwgZCkKICAgICAgICBwcmludF9kZXBz
KHNwbGl0cnN1Z2dlc3RzLCAgIlN1Z2dlc3RzIiwgc3BlY19wcmVhbWJsZV9ib3R0b20sIGQpCiAg
ICAgICAgcHJpbnRfZGVwcyhzcGxpdHJwcm92aWRlcywgICJQcm92aWRlcyIsIHNwZWNfcHJlYW1i
bGVfYm90dG9tLCBkKQogICAgICAgIHByaW50X2RlcHMoc3BsaXRyb2Jzb2xldGVzLCAiT2Jzb2xl
dGVzIiwgc3BlY19wcmVhbWJsZV9ib3R0b20sIGQpCiAgICAgICAgcHJpbnRfZGVwcyhzcGxpdHJj
b25mbGljdHMsICAiQ29uZmxpY3RzIiwgc3BlY19wcmVhbWJsZV9ib3R0b20sIGQpCgogICAgICAg
IHNwZWNfcHJlYW1ibGVfYm90dG9tLmFwcGVuZCgnJykKCiAgICAgICAgc3BlY19wcmVhbWJsZV9i
b3R0b20uYXBwZW5kKCclJWRlc2NyaXB0aW9uIC1uICVzJyAlIHNwbGl0bmFtZSkKICAgICAgICBh
cHBlbmRfZGVzY3JpcHRpb24oc3BlY19wcmVhbWJsZV9ib3R0b20sIHNwbGl0ZGVzY3JpcHRpb24p
CgogICAgICAgIHNwZWNfcHJlYW1ibGVfYm90dG9tLmFwcGVuZCgnJykKCiAgICAgICAgIyBOb3cg
cHJvY2VzcyBzY3JpcHRsZXRzCiAgICAgICAgaWYgc3BsaXRycHJlaW5zdDoKICAgICAgICAgICAg
c3BlY19zY3JpcHRsZXRzX2JvdHRvbS5hcHBlbmQoJyUlcHJlIC1uICVzJyAlIHNwbGl0bmFtZSkK
ICAgICAgICAgICAgc3BlY19zY3JpcHRsZXRzX2JvdHRvbS5hcHBlbmQoJyMgJXMgLSBwcmVpbnN0
JyAlIHNwbGl0bmFtZSkKICAgICAgICAgICAgc3BlY19zY3JpcHRsZXRzX2JvdHRvbS5hcHBlbmQo
c3BsaXRycHJlaW5zdCkKICAgICAgICAgICAgc3BlY19zY3JpcHRsZXRzX2JvdHRvbS5hcHBlbmQo
JycpCiAgICAgICAgaWYgc3BsaXRycG9zdGluc3Q6CiAgICAgICAgICAgIHNwZWNfc2NyaXB0bGV0
c19ib3R0b20uYXBwZW5kKCclJXBvc3QgLW4gJXMnICUgc3BsaXRuYW1lKQogICAgICAgICAgICBz
cGVjX3NjcmlwdGxldHNfYm90dG9tLmFwcGVuZCgnIyAlcyAtIHBvc3RpbnN0JyAlIHNwbGl0bmFt
ZSkKICAgICAgICAgICAgc3BlY19zY3JpcHRsZXRzX2JvdHRvbS5hcHBlbmQoc3BsaXRycG9zdGlu
c3QpCiAgICAgICAgICAgIHNwZWNfc2NyaXB0bGV0c19ib3R0b20uYXBwZW5kKCcnKQogICAgICAg
IGlmIHNwbGl0cnByZXJtOgogICAgICAgICAgICBzcGVjX3NjcmlwdGxldHNfYm90dG9tLmFwcGVu
ZCgnJSVwcmV1biAtbiAlcycgJSBzcGxpdG5hbWUpCiAgICAgICAgICAgIHNwZWNfc2NyaXB0bGV0
c19ib3R0b20uYXBwZW5kKCcjICVzIC0gcHJlcm0nICUgc3BsaXRuYW1lKQogICAgICAgICAgICBz
Y3JpcHR2YXIgPSB3cmFwX3VuaW5zdGFsbChzcGxpdHJwcmVybSkKICAgICAgICAgICAgc3BlY19z
Y3JpcHRsZXRzX2JvdHRvbS5hcHBlbmQoc2NyaXB0dmFyKQogICAgICAgICAgICBzcGVjX3Njcmlw
dGxldHNfYm90dG9tLmFwcGVuZCgnJykKICAgICAgICBpZiBzcGxpdHJwb3N0cm06CiAgICAgICAg
ICAgIHNwZWNfc2NyaXB0bGV0c19ib3R0b20uYXBwZW5kKCclJXBvc3R1biAtbiAlcycgJSBzcGxp
dG5hbWUpCiAgICAgICAgICAgIHNwZWNfc2NyaXB0bGV0c19ib3R0b20uYXBwZW5kKCcjICVzIC0g
cG9zdHJtJyAlIHNwbGl0bmFtZSkKICAgICAgICAgICAgc2NyaXB0dmFyID0gd3JhcF91bmluc3Rh
bGwoc3BsaXRycG9zdHJtKQogICAgICAgICAgICBzcGVjX3NjcmlwdGxldHNfYm90dG9tLmFwcGVu
ZChzY3JpcHR2YXIpCiAgICAgICAgICAgIHNwZWNfc2NyaXB0bGV0c19ib3R0b20uYXBwZW5kKCcn
KQoKICAgICAgICAjIE5vdyBwcm9jZXNzIGZpbGVzCiAgICAgICAgZmlsZV9saXN0ID0gW10KICAg
ICAgICB3YWxrX2ZpbGVzKHJvb3QsIGZpbGVfbGlzdCwgY29uZmZpbGVzLCBkaXJmaWxlcykKICAg
ICAgICBpZiBub3QgZmlsZV9saXN0IGFuZCBsb2NhbGRhdGEuZ2V0VmFyKCdBTExPV19FTVBUWScs
IEZhbHNlKSAhPSAiMSI6CiAgICAgICAgICAgIGJiLm5vdGUoIk5vdCBjcmVhdGluZyBlbXB0eSBS
UE0gcGFja2FnZSBmb3IgJXMiICUgc3BsaXRuYW1lKQogICAgICAgIGVsc2U6CiAgICAgICAgICAg
IHNwZWNfZmlsZXNfYm90dG9tLmFwcGVuZCgnJSVmaWxlcyAtbiAlcycgJSBzcGxpdG5hbWUpCiAg
ICAgICAgICAgIGlmIGV4dHJhX3BrZ2RhdGE6CiAgICAgICAgICAgICAgICBwYWNrYWdlX3JwbV9l
eHRyYV9wa2dkYXRhKHNwbGl0bmFtZSwgc3BlY19maWxlc19ib3R0b20sIGxvY2FsZGF0YSkKICAg
ICAgICAgICAgc3BlY19maWxlc19ib3R0b20uYXBwZW5kKCclZGVmYXR0cigtLC0sLSwtKScpCiAg
ICAgICAgICAgIGlmIGZpbGVfbGlzdDoKICAgICAgICAgICAgICAgIGJiLm5vdGUoIkNyZWF0aW5n
IFJQTSBwYWNrYWdlIGZvciAlcyIgJSBzcGxpdG5hbWUpCiAgICAgICAgICAgICAgICBzcGVjX2Zp
bGVzX2JvdHRvbS5leHRlbmQoZmlsZV9saXN0KQogICAgICAgICAgICBlbHNlOgogICAgICAgICAg
ICAgICAgYmIubm90ZSgiQ3JlYXRpbmcgZW1wdHkgUlBNIHBhY2thZ2UgZm9yICVzIiAlIHNwbGl0
bmFtZSkKICAgICAgICAgICAgc3BlY19maWxlc19ib3R0b20uYXBwZW5kKCcnKQoKICAgICAgICBk
ZWwgbG9jYWxkYXRhCgogICAgYWRkX3ByZXAoZCxzcGVjX2ZpbGVzX2JvdHRvbSkKICAgIHNwZWNf
cHJlYW1ibGVfdG9wLmFwcGVuZCgnU3VtbWFyeTogJXMnICUgc3Jjc3VtbWFyeSkKICAgIHNwZWNf
cHJlYW1ibGVfdG9wLmFwcGVuZCgnTmFtZTogJXMnICUgc3JjbmFtZSkKICAgIHNwZWNfcHJlYW1i
bGVfdG9wLmFwcGVuZCgnVmVyc2lvbjogJXMnICUgc3JjdmVyc2lvbikKICAgIHNwZWNfcHJlYW1i
bGVfdG9wLmFwcGVuZCgnUmVsZWFzZTogJXMnICUgc3JjcmVsZWFzZSkKICAgIGlmIHNyY2Vwb2No
IGFuZCBzcmNlcG9jaC5zdHJpcCgpICE9ICIiOgogICAgICAgIHNwZWNfcHJlYW1ibGVfdG9wLmFw
cGVuZCgnRXBvY2g6ICVzJyAlIHNyY2Vwb2NoKQogICAgc3BlY19wcmVhbWJsZV90b3AuYXBwZW5k
KCdMaWNlbnNlOiAlcycgJSBzcmNsaWNlbnNlKQogICAgc3BlY19wcmVhbWJsZV90b3AuYXBwZW5k
KCdHcm91cDogJXMnICUgc3Jjc2VjdGlvbikKICAgIHNwZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgn
UGFja2FnZXI6ICVzJyAlIHNyY21haW50YWluZXIpCiAgICBpZiBzcmNob21lcGFnZToKICAgICAg
ICBzcGVjX3ByZWFtYmxlX3RvcC5hcHBlbmQoJ1VSTDogJXMnICUgc3JjaG9tZXBhZ2UpCiAgICBp
ZiBzcmNjdXN0b210YWdzY2h1bms6CiAgICAgICAgc3BlY19wcmVhbWJsZV90b3AuYXBwZW5kKHNy
Y2N1c3RvbXRhZ3NjaHVuaykKICAgIHRhaWxfc291cmNlKGQpCgogICAgIyBSZXBsYWNlcyA9PSBP
YnNvbGV0ZXMgJiYgUHJvdmlkZXMKICAgIHJvYnNvbGV0ZXMgPSBiYi51dGlscy5leHBsb2RlX2Rl
cF92ZXJzaW9uczIoc3Jjcm9ic29sZXRlcyBvciAiIikKICAgIHJwcm92aWRlcyA9IGJiLnV0aWxz
LmV4cGxvZGVfZGVwX3ZlcnNpb25zMihzcmNycHJvdmlkZXMgb3IgIiIpCiAgICBycmVwbGFjZXMg
PSBiYi51dGlscy5leHBsb2RlX2RlcF92ZXJzaW9uczIoc3JjcnJlcGxhY2VzIG9yICIiKQogICAg
Zm9yIGRlcCBpbiBycmVwbGFjZXM6CiAgICAgICAgaWYgbm90IGRlcCBpbiByb2Jzb2xldGVzOgog
ICAgICAgICAgICByb2Jzb2xldGVzW2RlcF0gPSBycmVwbGFjZXNbZGVwXQogICAgICAgIGlmIG5v
dCBkZXAgaW4gcnByb3ZpZGVzOgogICAgICAgICAgICBycHJvdmlkZXNbZGVwXSA9IHJyZXBsYWNl
c1tkZXBdCiAgICBzcmNyb2Jzb2xldGVzID0gYmIudXRpbHMuam9pbl9kZXBzKHJvYnNvbGV0ZXMs
IGNvbW1hc2VwPUZhbHNlKQogICAgc3JjcnByb3ZpZGVzID0gYmIudXRpbHMuam9pbl9kZXBzKHJw
cm92aWRlcywgY29tbWFzZXA9RmFsc2UpCgogICAgcHJpbnRfZGVwcyhzcmNkZXBlbmRzLCAiQnVp
bGRSZXF1aXJlcyIsIHNwZWNfcHJlYW1ibGVfdG9wLCBkKQogICAgcHJpbnRfZGVwcyhzcmNyZGVw
ZW5kcywgIlJlcXVpcmVzIiwgc3BlY19wcmVhbWJsZV90b3AsIGQpCiAgICBpZiBzcmNycHJlaW5z
dDoKICAgICAgICBwcmludF9kZXBzKHNyY3JkZXBlbmRzLCAiUmVxdWlyZXMocHJlKSIsIHNwZWNf
cHJlYW1ibGVfdG9wLCBkKQogICAgaWYgc3JjcnBvc3RpbnN0OgogICAgICAgIHByaW50X2RlcHMo
c3JjcmRlcGVuZHMsICJSZXF1aXJlcyhwb3N0KSIsIHNwZWNfcHJlYW1ibGVfdG9wLCBkKQogICAg
aWYgc3JjcnByZXJtOgogICAgICAgIHByaW50X2RlcHMoc3JjcmRlcGVuZHMsICJSZXF1aXJlcyhw
cmV1bikiLCBzcGVjX3ByZWFtYmxlX3RvcCwgZCkKICAgIGlmIHNyY3Jwb3N0cm06CiAgICAgICAg
cHJpbnRfZGVwcyhzcmNyZGVwZW5kcywgIlJlcXVpcmVzKHBvc3R1bikiLCBzcGVjX3ByZWFtYmxl
X3RvcCwgZCkKCiAgICBwcmludF9kZXBzKHNyY3JyZWNvbW1lbmRzLCAiUmVjb21tZW5kcyIsIHNw
ZWNfcHJlYW1ibGVfdG9wLCBkKQogICAgcHJpbnRfZGVwcyhzcmNyc3VnZ2VzdHMsICJTdWdnZXN0
cyIsIHNwZWNfcHJlYW1ibGVfdG9wLCBkKQogICAgcHJpbnRfZGVwcyhzcmNycHJvdmlkZXMgKyAo
IiAvYmluL3NoIiBpZiBzcmNuYW1lLnN0YXJ0c3dpdGgoIm5hdGl2ZXNkay0iKSBlbHNlICIiKSwg
IlByb3ZpZGVzIiwgc3BlY19wcmVhbWJsZV90b3AsIGQpCiAgICBwcmludF9kZXBzKHNyY3JvYnNv
bGV0ZXMsICJPYnNvbGV0ZXMiLCBzcGVjX3ByZWFtYmxlX3RvcCwgZCkKICAgIHByaW50X2RlcHMo
c3JjcmNvbmZsaWN0cywgIkNvbmZsaWN0cyIsIHNwZWNfcHJlYW1ibGVfdG9wLCBkKQoKICAgIHNw
ZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgnJykKCiAgICBzcGVjX3ByZWFtYmxlX3RvcC5hcHBlbmQo
JyVkZXNjcmlwdGlvbicpCiAgICBhcHBlbmRfZGVzY3JpcHRpb24oc3BlY19wcmVhbWJsZV90b3As
IHNyY2Rlc2NyaXB0aW9uKQoKICAgIHNwZWNfcHJlYW1ibGVfdG9wLmFwcGVuZCgnJykKCiAgICBp
ZiBzcmNycHJlaW5zdDoKICAgICAgICBzcGVjX3NjcmlwdGxldHNfdG9wLmFwcGVuZCgnJXByZScp
CiAgICAgICAgc3BlY19zY3JpcHRsZXRzX3RvcC5hcHBlbmQoJyMgJXMgLSBwcmVpbnN0JyAlIHNy
Y25hbWUpCiAgICAgICAgc3BlY19zY3JpcHRsZXRzX3RvcC5hcHBlbmQoc3JjcnByZWluc3QpCiAg
ICAgICAgc3BlY19zY3JpcHRsZXRzX3RvcC5hcHBlbmQoJycpCiAgICBpZiBzcmNycG9zdGluc3Q6
CiAgICAgICAgc3BlY19zY3JpcHRsZXRzX3RvcC5hcHBlbmQoJyVwb3N0JykKICAgICAgICBzcGVj
X3NjcmlwdGxldHNfdG9wLmFwcGVuZCgnIyAlcyAtIHBvc3RpbnN0JyAlIHNyY25hbWUpCiAgICAg
ICAgc3BlY19zY3JpcHRsZXRzX3RvcC5hcHBlbmQoc3JjcnBvc3RpbnN0KQogICAgICAgIHNwZWNf
c2NyaXB0bGV0c190b3AuYXBwZW5kKCcnKQogICAgaWYgc3JjcnByZXJtOgogICAgICAgIHNwZWNf
c2NyaXB0bGV0c190b3AuYXBwZW5kKCclcHJldW4nKQogICAgICAgIHNwZWNfc2NyaXB0bGV0c190
b3AuYXBwZW5kKCcjICVzIC0gcHJlcm0nICUgc3JjbmFtZSkKICAgICAgICBzY3JpcHR2YXIgPSB3
cmFwX3VuaW5zdGFsbChzcmNycHJlcm0pCiAgICAgICAgc3BlY19zY3JpcHRsZXRzX3RvcC5hcHBl
bmQoc2NyaXB0dmFyKQogICAgICAgIHNwZWNfc2NyaXB0bGV0c190b3AuYXBwZW5kKCcnKQogICAg
aWYgc3JjcnBvc3RybToKICAgICAgICBzcGVjX3NjcmlwdGxldHNfdG9wLmFwcGVuZCgnJXBvc3R1
bicpCiAgICAgICAgc3BlY19zY3JpcHRsZXRzX3RvcC5hcHBlbmQoJyMgJXMgLSBwb3N0cm0nICUg
c3JjbmFtZSkKICAgICAgICBzY3JpcHR2YXIgPSB3cmFwX3VuaW5zdGFsbChzcmNycG9zdHJtKQog
ICAgICAgIHNwZWNfc2NyaXB0bGV0c190b3AuYXBwZW5kKHNjcmlwdHZhcikKICAgICAgICBzcGVj
X3NjcmlwdGxldHNfdG9wLmFwcGVuZCgnJykKCiAgICAjIFdyaXRlIHRoZSBTUEVDIGZpbGUKICAg
IHNwZWNmaWxlID0gb3BlbihvdXRzcGVjZmlsZSwgJ3cnKQoKICAgICMgUlBNU1BFQ19QUkVBTUJM
RSBpcyBhIHdheSB0byBhZGQgYXJiaXRyYXJ5IHRleHQgdG8gdGhlIHRvcAogICAgIyBvZiB0aGUg
Z2VuZXJhdGVkIHNwZWMgZmlsZQogICAgZXh0ZXJuYWxfcHJlYW1ibGUgPSBkLmdldFZhcigiUlBN
U1BFQ19QUkVBTUJMRSIpCiAgICBpZiBleHRlcm5hbF9wcmVhbWJsZToKICAgICAgICBzcGVjZmls
ZS53cml0ZShleHRlcm5hbF9wcmVhbWJsZSArICJcbiIpCgogICAgZm9yIGxpbmUgaW4gc3BlY19w
cmVhbWJsZV90b3A6CiAgICAgICAgc3BlY2ZpbGUud3JpdGUobGluZSArICJcbiIpCgogICAgZm9y
IGxpbmUgaW4gc3BlY19wcmVhbWJsZV9ib3R0b206CiAgICAgICAgc3BlY2ZpbGUud3JpdGUobGlu
ZSArICJcbiIpCgogICAgZm9yIGxpbmUgaW4gc3BlY19zY3JpcHRsZXRzX3RvcDoKICAgICAgICBz
cGVjZmlsZS53cml0ZShsaW5lICsgIlxuIikKCiAgICBmb3IgbGluZSBpbiBzcGVjX3NjcmlwdGxl
dHNfYm90dG9tOgogICAgICAgIHNwZWNmaWxlLndyaXRlKGxpbmUgKyAiXG4iKQoKICAgIGZvciBs
aW5lIGluIHNwZWNfZmlsZXNfdG9wOgogICAgICAgIHNwZWNmaWxlLndyaXRlKGxpbmUgKyAiXG4i
KQoKICAgIGZvciBsaW5lIGluIHNwZWNfZmlsZXNfYm90dG9tOgogICAgICAgIHNwZWNmaWxlLndy
aXRlKGxpbmUgKyAiXG4iKQoKICAgIHNwZWNmaWxlLmNsb3NlKCkKfQoKCnB5dGhvbiB3cml0ZV90
YXNrX2RhdGEgKCkgewpkZWYgd3JpdGVfdGFza19kYXRhKHN0YXR1cywgbG9nZmlsZSwgZSwgZCk6
CiAgICBibiA9IGQuZ2V0VmFyKCdCVUlMRE5BTUUnKQogICAgYnNkaXIgPSBvcy5wYXRoLmpvaW4o
ZC5nZXRWYXIoJ0JVSUxEU1RBVFNfQkFTRScpLCBibikKICAgIHdpdGggb3Blbihvcy5wYXRoLmpv
aW4obG9nZmlsZSksICJhIikgYXMgZjoKICAgICAgICBlbGFwc2VkdGltZSA9IGdldF90aW1lZGF0
YSgiX190aW1lZGF0YV90YXNrIiwgZCwgZS50aW1lKQogICAgICAgIGlmIGVsYXBzZWR0aW1lOgog
ICAgICAgICAgICBmLndyaXRlKGQuZXhwYW5kKCIke1BGfTogJXNcbiIgJSBlLnRhc2spKQogICAg
ICAgICAgICBmLndyaXRlKGQuZXhwYW5kKCJFbGFwc2VkIHRpbWU6ICUwLjJmIHNlY29uZHNcbiIg
JSBlbGFwc2VkdGltZSkpCiAgICAgICAgICAgIGNwdSwgaW9zdGF0cywgcmVzb3VyY2VzLCBjaGls
ZHJlcyA9IGdldF9wcm9jZXNzX2NwdXRpbWUob3MuZ2V0cGlkKCkpCiAgICAgICAgICAgIGlmIGNw
dToKICAgICAgICAgICAgICAgIGYud3JpdGUoInV0aW1lOiAlc1xuIiAlIGNwdVsndXRpbWUnXSkK
ICAgICAgICAgICAgICAgIGYud3JpdGUoInN0aW1lOiAlc1xuIiAlIGNwdVsnc3RpbWUnXSkKICAg
ICAgICAgICAgICAgIGYud3JpdGUoImN1dGltZTogJXNcbiIgJSBjcHVbJ2N1dGltZSddKQogICAg
ICAgICAgICAgICAgZi53cml0ZSgiY3N0aW1lOiAlc1xuIiAlIGNwdVsnY3N0aW1lJ10pCiAgICAg
ICAgICAgIGZvciBpIGluIGlvc3RhdHM6CiAgICAgICAgICAgICAgICBmLndyaXRlKCJJTyAlczog
JXNcbiIgJSAoaSwgaW9zdGF0c1tpXSkpCiAgICAgICAgICAgIHJ1c2FnZXMgPSBbInJ1X3V0aW1l
IiwgInJ1X3N0aW1lIiwgInJ1X21heHJzcyIsICJydV9taW5mbHQiLCAicnVfbWFqZmx0IiwgInJ1
X2luYmxvY2siLCAicnVfb3VibG9jayIsICJydV9udmNzdyIsICJydV9uaXZjc3ciXQogICAgICAg
ICAgICBmb3IgaSBpbiBydXNhZ2VzOgogICAgICAgICAgICAgICAgZi53cml0ZSgicnVzYWdlICVz
OiAlc1xuIiAlIChpLCBnZXRhdHRyKHJlc291cmNlcywgaSkpKQogICAgICAgICAgICBmb3IgaSBp
biBydXNhZ2VzOgogICAgICAgICAgICAgICAgZi53cml0ZSgiQ2hpbGQgcnVzYWdlICVzOiAlc1xu
IiAlIChpLCBnZXRhdHRyKGNoaWxkcmVzLCBpKSkpCiAgICAgICAgaWYgc3RhdHVzIGlzICJwYXNz
ZWQiOgogICAgICAgICAgICBmLndyaXRlKCJTdGF0dXM6IFBBU1NFRCBcbiIpCiAgICAgICAgZWxz
ZToKICAgICAgICAgICAgZi53cml0ZSgiU3RhdHVzOiBGQUlMRUQgXG4iKQogICAgICAgIGYud3Jp
dGUoIkVuZGVkOiAlMC4yZiBcbiIgJSBlLnRpbWUpCn0KCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>