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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>108905</bug_id>
          
          <creation_ts>2013-02-04 22:06:26 -0800</creation_ts>
          <short_desc>Adds the WebGL Conformance Tests misc folder.</short_desc>
          <delta_ts>2013-02-05 12:22:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>94643</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gregg Tavares">gman</reporter>
          <assigned_to name="Gregg Tavares">gman</assigned_to>
          <cc>kbr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>825134</commentid>
    <comment_count>0</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-04 22:06:26 -0800</bug_when>
    <thetext>Adds the WebGL Conformance Tests misc folder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825135</commentid>
    <comment_count>1</comment_count>
      <attachid>186546</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2013-02-04 22:06:42 -0800</bug_when>
    <thetext>Created attachment 186546
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825614</commentid>
    <comment_count>2</comment_count>
      <attachid>186546</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-02-05 10:34:40 -0800</bug_when>
    <thetext>Comment on attachment 186546
Patch

Looks great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825698</commentid>
    <comment_count>3</comment_count>
      <attachid>186546</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-05 12:22:04 -0800</bug_when>
    <thetext>Comment on attachment 186546
Patch

Clearing flags on attachment: 186546

Committed r141911: &lt;http://trac.webkit.org/changeset/141911&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825699</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-05 12:22:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186546</attachid>
            <date>2013-02-04 22:06:42 -0800</date>
            <delta_ts>2013-02-05 12:22:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108905-20130204220320.patch</filename>
            <type>text/plain</type>
            <size>137632</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODU1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggY2FjN2M2ZTYzMjYwY2RmNjY0NTgy
MWY3ZTQzZGRiMDY0NmY2NzQ0ZS4uMWEyMzA2MTU2YzQ2Njg2NWNhNjRkNjVhYmZiOTZiOGM1YWY1
MThiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEzLTAyLTA0ICBHcmVnZyBUYXZhcmVzICA8
Z21hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkcyB0aGUgV2ViR0wgQ29uZm9ybWFuY2Ug
VGVzdHMgbWlzYyBmb2xkZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDg5MDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21pc2MvYmFkLWFyZ3VtZW50cy10ZXN0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9iYWQt
YXJndW1lbnRzLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2Uv
bWlzYy9ib29sZWFuLWFyZ3VtZW50LWNvbnZlcnNpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9taXNjL2Jvb2xlYW4tYXJndW1lbnQtY29udmVyc2lv
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9taXNjL2RlbGF5ZWQt
ZHJhd2luZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L21pc2MvZGVsYXllZC1kcmF3aW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZv
cm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9lcnJvci1yZXBvcnRpbmcuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9mdW5jdGlvbnMtcmV0dXJuaW5nLXN0cmlu
Z3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9taXNj
L2Z1bmN0aW9ucy1yZXR1cm5pbmctc3RyaW5ncy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC9jb25mb3JtYW5jZS9taXNjL2luc3RhbmNlb2YtdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21pc2MvaW5zdGFuY2VvZi10ZXN0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21pc2MvaW52YWxpZC1wYXNzZWQtcGFy
YW1zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbWlz
Yy9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29u
Zm9ybWFuY2UvbWlzYy9pcy1vYmplY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9taXNjL2lzLW9iamVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWJnbC9jb25mb3JtYW5jZS9taXNjL251bGwtb2JqZWN0LWJlaGF2aW91ci1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21pc2MvbnVsbC1vYmplY3QtYmVo
YXZpb3VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL21pc2Mvb2Jq
ZWN0LWRlbGV0aW9uLWJlaGF2aW91ci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
YmdsL2NvbmZvcm1hbmNlL21pc2Mvb2JqZWN0LWRlbGV0aW9uLWJlaGF2aW91ci5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9taXNjL3NoYWRlci1wcmVjaXNpb24tZm9y
bWF0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbWlz
Yy9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9j
b25mb3JtYW5jZS9taXNjL3R5cGUtY29udmVyc2lvbi10ZXN0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy90eXBlLWNvbnZlcnNpb24tdGVzdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9taXNjL3VuaW5pdGlhbGl6
ZWQtdGVzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNl
L21pc2MvdW5pbml0aWFsaXplZC10ZXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL2Nv
bmZvcm1hbmNlL21pc2Mvd2ViZ2wtc3BlY2lmaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJnbC9jb25mb3JtYW5jZS9taXNjL3dlYmdsLXNwZWNpZmljLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21p
c2MvMDBfdGVzdF9saXN0LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3QuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbWlzYy9ib29sZWFuLWFyZ3VtZW50LWNvbnZlcnNpb24uaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9k
ZWxheWVkLWRyYXdpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9lcnJvci1yZXBvcnRpbmcuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbWlzYy9mdW5jdGlvbnMtcmV0dXJuaW5nLXN0cmluZ3MuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9pbnN0
YW5jZW9mLXRlc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbWlzYy9pcy1vYmplY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9udWxsLW9iamVjdC1iZWhhdmlv
dXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbWlzYy9vYmplY3QtZGVsZXRpb24tYmVoYXZpb3VyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNl
L21pc2Mvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy90eXBlLWNvbnZl
cnNpb24tdGVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL3VuaW5pdGlhbGl6ZWQtdGVzdC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9taXNjL3dlYmdsLXNwZWNpZmljLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTA0ICBHcmVnZyBU
YXZhcmVzICA8Z21hbkBnb29nbGUuY29tPgogCiAgICAgICAgIEFkZCBTdXBwb3J0IEZpbGVzIGZv
ciBXZWJHTCBDb25mb3JtYW5jZSBUZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
Y29uZm9ybWFuY2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3QtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjEzM2M0ZTc4MDJiZGNlOGI4NTg4MjFkNzJmZDM4NTVlYTAwYWU4ZTcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNjL2Jh
ZC1hcmd1bWVudHMtdGVzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3QuaHRtbAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNjL2JhZC1hcmd1bWVudHMtdGVz
dC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9iYWQtYXJndW1lbnRz
LXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMTM4NTU1YzcwMGJiYWE1M2YyZmZhYTYyOGM4NGJhNzAx
ODRjOWMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bWlzYy9iYWQtYXJndW1lbnRzLXRlc3QuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRoaXMg
ZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8gTk9U
IEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBiYWQt
YXJndW1lbnRzLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
d2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJh
bWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvYmFkLWFyZ3VtZW50cy10
ZXN0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21p
c2MvYmFkLWFyZ3VtZW50cy10ZXN0Lmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pgor
PGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9taXNjL2JhZC1hcmd1bWVudHMtdGVzdC5odG1sIiB3aWR0aD0i
ODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2MvYm9vbGVhbi1hcmd1
bWVudC1jb252ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1h
bmNlL21pc2MvYm9vbGVhbi1hcmd1bWVudC1jb252ZXJzaW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45Yzk5OTAyMjQ5ZmY1ZjRlYzA0NGIzOWMwMmM2ODUwN2RkZDkwNGNiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9ib29sZWFuLWFyZ3Vt
ZW50LWNvbnZlcnNpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1
bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQ
QVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21pc2MvYm9vbGVhbi1hcmd1bWVudC1jb252ZXJzaW9uLmh0bWwKK1BBU1MKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9ib29sZWFuLWFy
Z3VtZW50LWNvbnZlcnNpb24uaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21p
c2MvYm9vbGVhbi1hcmd1bWVudC1jb252ZXJzaW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTVlNDFkOTBj
OTE2YzFjMjQxMDQ4MTA1MDE1OGVlNzY3MGEyNDBjYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2MvYm9vbGVhbi1hcmd1bWVudC1jb252ZXJzaW9u
Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQg
YnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdM
IENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgYm9vbGVhbi1hcmd1bWVudC1jb252ZXJzaW9u
Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10
ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL2Jvb2xlYW4tYXJndW1lbnQtY29udmVyc2lvbi5o
dG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL2Jv
b2xlYW4tYXJndW1lbnQtY29udmVyc2lvbi5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rp
dj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmds
X3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9ib29sZWFuLWFyZ3VtZW50LWNvbnZlcnNpb24u
aHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNj
L2RlbGF5ZWQtZHJhd2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9taXNjL2RlbGF5ZWQtZHJhd2luZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTI0NTA0
ODc1MmFmNzAyNzU4ZWE2YmEwZTBjZDk2ZjQ2ZGU4ZWRlNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2MvZGVsYXllZC1kcmF3aW5nLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAu
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL2RlbGF5ZWQt
ZHJhd2luZy5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21pc2MvZGVsYXllZC1kcmF3aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9taXNjL2RlbGF5ZWQtZHJhd2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2YTJjZTBjOTc2
NjhhNzY3ZWIxNjZmYzE2MDVmYjUxNTQxNmVhZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNjL2RlbGF5ZWQtZHJhd2luZy5odG1sCkBAIC0wLDAg
KzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdl
YmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBU
ZXN0IFdyYXBwZXIgZm9yIGRlbGF5ZWQtZHJhd2luZy5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVk
IGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDog
PGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlz
Yy9kZWxheWVkLWRyYXdpbmcuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbWlzYy9kZWxheWVkLWRyYXdpbmcuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3Vs
dCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvZGVsYXllZC1kcmF3aW5nLmh0bWwi
IHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9lcnJv
ci1yZXBvcnRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bWlzYy9lcnJvci1yZXBvcnRpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxYTU5Mjk2NzVl
NzhkMzc1YTEwNjk3MDI1MDQ4ZDZhNTkyNWI2MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNjL2Vycm9yLXJlcG9ydGluZy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVs
b3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4v
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9lcnJvci1yZXBvcnRp
bmcuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5j
ZS9taXNjL2Vycm9yLXJlcG9ydGluZy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFu
Y2UvbWlzYy9lcnJvci1yZXBvcnRpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNjJjNTBjNDM1NDY1OTc2
YWFhMjE0ZjBiZDYxYjA3NzU4OGUxOGM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9lcnJvci1yZXBvcnRpbmcuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10
ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBX
cmFwcGVyIGZvciBlcnJvci1yZXBvcnRpbmcuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhy
ZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvZXJy
b3ItcmVwb3J0aW5nLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21pc2MvZXJyb3ItcmVwb3J0aW5nLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL2Vycm9yLXJlcG9ydGluZy5odG1sIiB3aWR0
aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2MvZnVuY3Rpb25z
LXJldHVybmluZy1zdHJpbmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21pc2MvZnVuY3Rpb25zLXJldHVybmluZy1zdHJpbmdzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wNmE3M2ZmYjQ3NWZiNjc4ODQ1ZTRlYmVjNjBhNzM1M2NjZjIxODk4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9mdW5jdGlvbnMt
cmV0dXJuaW5nLXN0cmluZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0
IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0
cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21pc2MvZnVuY3Rpb25zLXJldHVybmluZy1zdHJpbmdzLmh0bWwKK1BBU1MK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9mdW5jdGlv
bnMtcmV0dXJuaW5nLXN0cmluZ3MuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21pc2MvZnVuY3Rpb25zLXJldHVybmluZy1zdHJpbmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGNiMzA4
ZjdlM2RmZDE0YzQ2YmNmMjRlNGM0ZWYyNWNlMmNmZDcxZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2MvZnVuY3Rpb25zLXJldHVybmluZy1zdHJp
bmdzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgZnVuY3Rpb25zLXJldHVybmluZy1zdHJp
bmdzLmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJn
bC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRl
c3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBv
cnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2Vi
Z2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL2Z1bmN0aW9ucy1yZXR1cm5pbmctc3RyaW5n
cy5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNj
L2Z1bmN0aW9ucy1yZXR1cm5pbmctc3RyaW5ncy5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48
L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9mdW5jdGlvbnMtcmV0dXJuaW5nLXN0cmlu
Z3MuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
aXNjL2luc3RhbmNlb2YtdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25m
b3JtYW5jZS9taXNjL2luc3RhbmNlb2YtdGVzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDY0
ZDZiYWZkN2Y0OTRlODU2ZGU2YTBhY2QzNTgyYmQ4ZjNlZmE3YgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2MvaW5zdGFuY2VvZi10ZXN0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxp
c3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitUZXN0
OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL2luc3Rh
bmNlb2YtdGVzdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21pc2MvaW5zdGFuY2VvZi10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9j
b25mb3JtYW5jZS9taXNjL2luc3RhbmNlb2YtdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhjZDlmMGMz
N2U3YzJlNGVlOGFmNDk3OGFjNjYzMzMzZjdmMWRhYTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNjL2luc3RhbmNlb2YtdGVzdC5odG1sCkBAIC0w
LDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5j
ZSBUZXN0IFdyYXBwZXIgZm9yIGluc3RhbmNlb2YtdGVzdC5odG1sPC90aXRsZT4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlz
dGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVz
dDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2Uv
bWlzYy9pbnN0YW5jZW9mLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbWlzYy9pbnN0YW5jZW9mLXRlc3QuaHRtbDwvYT4KKzxkaXYgaWQ9InJl
c3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvaW5zdGFuY2VvZi10ZXN0Lmh0
bWwiIHdpZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9p
bnZhbGlkLXBhc3NlZC1wYXJhbXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29u
Zm9ybWFuY2UvbWlzYy9pbnZhbGlkLXBhc3NlZC1wYXJhbXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJkY2MxMjg5ZTYxMGM0NWNiZWQ4MWM5YTVlNDczYzIwNDEzYWZhYjkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNjL2ludmFsaWQtcGFzc2Vk
LXBhcmFtcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUg
V2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3Ig
RkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbWlzYy9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNjL2ludmFsaWQtcGFzc2VkLXBhcmFtcy5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9pbnZhbGlkLXBhc3NlZC1w
YXJhbXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMjg4YTBlZDNjMDI0M2M5OTY3ZjU4ZDI4MTUzMzVjNzk1
MGYwYWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2Uv
bWlzYy9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IS0tIFRo
aXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10ZXN0cy5weS4gRE8g
Tk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBXcmFwcGVyIGZvciBp
bnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBh
biBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvaW52YWxpZC1w
YXNzZWQtcGFyYW1zLmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21pc2MvaW52YWxpZC1wYXNzZWQtcGFyYW1zLmh0bWw8L2E+Cis8ZGl2IGlkPSJyZXN1
bHQiPjwvZGl2PgorPGRpdiBpZD0iaWZyYW1lIj4KKzxpZnJhbWUgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL2ludmFsaWQtcGFzc2VkLXBhcmFt
cy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21p
c2MvaXMtb2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNl
L21pc2MvaXMtb2JqZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYjMwOWU2ZWYxN2ZhNTBj
MjI0NWM5OTY5MDQ0ZDAyNjdmZjI1YWYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9pcy1vYmplY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlm
cmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93
ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvaXMtb2JqZWN0Lmh0bWwKK1BBU1MKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9pcy1vYmplY3Qu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2MvaXMtb2JqZWN0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTRlMjIxNGE2MTU1YTNhNGFmMzUxOTg3NDIzMzQ2MDg0YzlkMzM0YgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2MvaXMtb2Jq
ZWN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgaXMtb2JqZWN0Lmh0bWw8L3RpdGxlPgor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wg
VGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48
L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25m
b3JtYW5jZS9taXNjL2lzLW9iamVjdC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9taXNjL2lzLW9iamVjdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0
Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9pcy1vYmplY3QuaHRtbCIgd2lkdGg9
IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNjL251bGwtb2JqZWN0
LWJlaGF2aW91ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
aXNjL251bGwtb2JqZWN0LWJlaGF2aW91ci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM1NDY5
ZTZmM2RjNWNhMTg5MzYzZTAxMzQ5MDgzNWMxNzM0YWY5NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2MvbnVsbC1vYmplY3QtYmVoYXZpb3VyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0
IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgorCitU
ZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL251
bGwtb2JqZWN0LWJlaGF2aW91ci5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21pc2MvbnVsbC1vYmplY3QtYmVoYXZpb3VyLmh0bWwgYi9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNjL251bGwtb2JqZWN0LWJlaGF2aW91ci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI4MjJlYTk0MTg0OGZiMzMwZWFkMTk3ZDM3YjgyMTE2MTE0YmJkMTIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNjL251bGwt
b2JqZWN0LWJlaGF2aW91ci5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBOT1QgRURJVCAt
LT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIG51bGwtb2JqZWN0
LWJlaGF2aW91ci5odG1sPC90aXRsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9Ii4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJr
aXQtd2ViZ2wtdGVzdC1oYXJuZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+
VGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBh
bmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9udWxsLW9iamVjdC1iZWhhdmlv
dXIuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlz
Yy9udWxsLW9iamVjdC1iZWhhdmlvdXIuaHRtbDwvYT4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90
ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvbnVsbC1vYmplY3QtYmVoYXZpb3VyLmh0bWwiIHdp
ZHRoPSI4MDAiIGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9vYmplY3Qt
ZGVsZXRpb24tYmVoYXZpb3VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZv
cm1hbmNlL21pc2Mvb2JqZWN0LWRlbGV0aW9uLWJlaGF2aW91ci1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTk5ZWJlMzUxMzgxNjllYmY1OTVjMTUxN2EzNzVlOTg3NGIxNjUxMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2Mvb2JqZWN0LWRlbGV0
aW9uLWJlaGF2aW91ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVu
cyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBB
U1Mgb3IgRkFJTC4KKworVGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbWlzYy9vYmplY3QtZGVsZXRpb24tYmVoYXZpb3VyLmh0bWwKK1BBU1MKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9vYmplY3QtZGVsZXRp
b24tYmVoYXZpb3VyLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNjL29i
amVjdC1kZWxldGlvbi1iZWhhdmlvdXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODk4OTM0NDk4OWQ5OGM1
NDdiNGY4ZWY4ODE1MDUwM2EzNWJhNjZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9vYmplY3QtZGVsZXRpb24tYmVoYXZpb3VyLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJh
dGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1h
bmNlIFRlc3QgV3JhcHBlciBmb3Igb2JqZWN0LWRlbGV0aW9uLWJlaGF2aW91ci5odG1sPC90aXRs
ZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii4uLy4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9Ii4uLy4uL3Jlc291cmNlcy93ZWJraXQtd2ViZ2wtdGVzdC1oYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHJ1bnMgdGhlIFdl
YkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZB
SUwuPC9wPgorVGVzdDogPGEgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbWlzYy9vYmplY3QtZGVsZXRpb24tYmVoYXZpb3VyLmh0bWwiPi4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2Mvb2JqZWN0LWRlbGV0aW9u
LWJlaGF2aW91ci5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9Imlm
cmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbWlzYy9vYmplY3QtZGVsZXRpb24tYmVoYXZpb3VyLmh0bWwiIHdpZHRoPSI4MDAi
IGhlaWdodD0iNjAwIj48L2lmcmFtZT4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9zaGFkZXItcHJlY2lzaW9u
LWZvcm1hdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNj
L3NoYWRlci1wcmVjaXNpb24tZm9ybWF0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzJkYzQx
NDM1Y2JkYWFhMTA0ZGU2YmM4MjFmZGVkNzNlYjE1N2E1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVz
dCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKwor
VGVzdDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9z
aGFkZXItcHJlY2lzaW9uLWZvcm1hdC5odG1sCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2Mvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2Mvc2hhZGVyLXByZWNpc2lvbi1mb3Jt
YXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YTEwMDI2N2JkNDlkNmU5ZmQ4NzFhNzRiMTI1NDI0ZDA0ZGNj
MTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlz
Yy9zaGFkZXItcHJlY2lzaW9uLWZvcm1hdC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXdlYmdsLXRlc3RzLnB5LiBETyBO
T1QgRURJVCAtLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5jZSBUZXN0IFdyYXBwZXIgZm9yIHNo
YWRlci1wcmVjaXNpb24tZm9ybWF0Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIu
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL3NoYWRlci1w
cmVjaXNpb24tZm9ybWF0Lmh0bWwiPi4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21pc2Mvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQuaHRtbDwvYT4KKzxkaXYgaWQ9
InJlc3VsdCI+PC9kaXY+Cis8ZGl2IGlkPSJpZnJhbWUiPgorPGlmcmFtZSBzcmM9Ii4uLy4uL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2Mvc2hhZGVyLXByZWNpc2lv
bi1mb3JtYXQuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwvaWZyYW1lPgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9taXNjL3R5cGUtY29udmVyc2lvbi10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmdsL2NvbmZvcm1hbmNlL21pc2MvdHlwZS1jb252ZXJzaW9uLXRlc3QtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjllNzJlODE5MGZmYTc2NzRjMzNiZmE2YzMzNTZkZGVjYmRlZjg0NTgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNjL3R5cGUt
Y29udmVyc2lvbi10ZXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBy
dW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMg
UEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9j
b25mb3JtYW5jZS9taXNjL3R5cGUtY29udmVyc2lvbi10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy90eXBlLWNvbnZlcnNpb24t
dGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy90eXBlLWNvbnZl
cnNpb24tdGVzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhZjRlZGY3MmNlNjFjYTYxZTgzZTY3NTZiN2Fk
MWNiNzZhNGE0OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3Jt
YW5jZS9taXNjL3R5cGUtY29udmVyc2lvbi10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEt
LSBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHku
IERPIE5PVCBFRElUIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBm
b3IgdHlwZS1jb252ZXJzaW9uLXRlc3QuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3QtaGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBp
biBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9
Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvdHlwZS1j
b252ZXJzaW9uLXRlc3QuaHRtbCI+Li4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29u
Zm9ybWFuY2UvbWlzYy90eXBlLWNvbnZlcnNpb24tdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVz
dWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy90eXBlLWNvbnZlcnNpb24tdGVz
dC5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21p
c2MvdW5pbml0aWFsaXplZC10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsL2Nv
bmZvcm1hbmNlL21pc2MvdW5pbml0aWFsaXplZC10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lN2M0ZjZiNTQ0NTc1ZjM4YzhlZTQ3NzZiMTgwZjQwZWUyZGJjZDg3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy91bmluaXRpYWxpemVkLXRl
c3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdM
IFRlc3QgbGlzdGVkIGJlbG93IGluIGFuIGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwu
CisKK1Rlc3Q6IC4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21p
c2MvdW5pbml0aWFsaXplZC10ZXN0Lmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy91bmluaXRpYWxpemVkLXRlc3QuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2MvdW5pbml0aWFsaXplZC10ZXN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uN2FlNjQ1MjBkZjk5YmFjMzk4ZWNiNmEzMTBhNzk0OGQzM2I3NWMwNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2MvdW5pbml0aWFs
aXplZC10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3IgdW5pbml0aWFsaXplZC10ZXN0
Lmh0bWw8L3RpdGxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10
ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3Qg
cnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRz
IFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVmPSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL3VuaW5pdGlhbGl6ZWQtdGVzdC5odG1sIj4uLi8u
Li9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL3VuaW5pdGlhbGl6
ZWQtdGVzdC5odG1sPC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFt
ZSI+Cis8aWZyYW1lIHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbWlzYy91bmluaXRpYWxpemVkLXRlc3QuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2
MDAiPjwvaWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNjL3dlYmdsLXNwZWNpZmljLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL2NvbmZvcm1hbmNlL21pc2Mvd2ViZ2wtc3BlY2lmaWMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2Y2M4MTVkNDVlOTk4ZGY5Y2MyNTc4MTkxZDRiMjc4Njgx
N2FmOTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9t
aXNjL3dlYmdsLXNwZWNpZmljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9y
dHMgUEFTUyBvciBGQUlMLgorCitUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxl
cy9jb25mb3JtYW5jZS9taXNjL3dlYmdsLXNwZWNpZmljLmh0bWwKK1BBU1MKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy93ZWJnbC1zcGVjaWZpYy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvbWlzYy93ZWJnbC1zcGVjaWZpYy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjAzNDc5YzA4OTNhMTBmMDkzOTZmMTY3ZDM2MmRlYThjNmNlNTZmYTQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9taXNjL3dlYmds
LXNwZWNpZmljLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCEtLSBUaGlzIGZpbGUgaXMgYXV0by1n
ZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtd2ViZ2wtdGVzdHMucHkuIERPIE5PVCBFRElUIC0tPgorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPldlYkdMIENvbmZvcm1hbmNlIFRlc3QgV3JhcHBlciBmb3Igd2ViZ2wtc3BlY2lmaWMuaHRt
bDwvdGl0bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9yZXNvdXJjZXMvd2Via2l0LXdlYmdsLXRlc3Qt
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBydW5z
IHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFT
UyBvciBGQUlMLjwvcD4KK1Rlc3Q6IDxhIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2Mvd2ViZ2wtc3BlY2lmaWMuaHRtbCI+Li4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy93ZWJnbC1zcGVjaWZpYy5odG1s
PC9hPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1l
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy93
ZWJnbC1zcGVjaWZpYy5odG1sIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCI+PC9pZnJhbWU+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvMDBfdGVzdF9saXN0LnR4
dCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21pc2MvMDBfdGVzdF9saXN0LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTQxZmQ5Zjc1MjhkZmU3MmVl
ZGQzOGFlYmNhODZlNjdmM2FhOTJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy8wMF90ZXN0X2xp
c3QudHh0CkBAIC0wLDAgKzEsMTQgQEAKK2JhZC1hcmd1bWVudHMtdGVzdC5odG1sCistLW1pbi12
ZXJzaW9uIDEuMC4yIGJvb2xlYW4tYXJndW1lbnQtY29udmVyc2lvbi5odG1sCistLW1pbi12ZXJz
aW9uIDEuMC4yIGRlbGF5ZWQtZHJhd2luZy5odG1sCitlcnJvci1yZXBvcnRpbmcuaHRtbAoraW5z
dGFuY2VvZi10ZXN0Lmh0bWwKK2ludmFsaWQtcGFzc2VkLXBhcmFtcy5odG1sCitpcy1vYmplY3Qu
aHRtbAorbnVsbC1vYmplY3QtYmVoYXZpb3VyLmh0bWwKK2Z1bmN0aW9ucy1yZXR1cm5pbmctc3Ry
aW5ncy5odG1sCitvYmplY3QtZGVsZXRpb24tYmVoYXZpb3VyLmh0bWwKK3NoYWRlci1wcmVjaXNp
b24tZm9ybWF0Lmh0bWwKK3R5cGUtY29udmVyc2lvbi10ZXN0Lmh0bWwKK3VuaW5pdGlhbGl6ZWQt
dGVzdC5odG1sCit3ZWJnbC1zcGVjaWZpYy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL2JhZC1hcmd1
bWVudHMtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3Rf
ZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3QuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hNzYyYTM0NjYzNDY3MDZmYjVhYzFhZmZkN2VmNTFjM2JkODA0M2RkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9y
bWFuY2UvbWlzYy9iYWQtYXJndW1lbnRzLXRlc3QuaHRtbApAQCAtMCwwICsxLDEyMSBAQAorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Citk
ZXNjcmlwdGlvbigiVGVzdHMgY2FsbGluZyBXZWJHTCBBUElzIHdpdGggd3JvbmcgYXJndW1lbnQg
dHlwZXMiKTsKKwordmFyIGNvbnRleHQgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7Cit2YXIgcHJv
Z3JhbSA9IHd0dS5sb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHQpOwordmFyIHNoYWRlciA9IHd0
dS5sb2FkU3RhbmRhcmRWZXJ0ZXhTaGFkZXIoY29udGV4dCk7Cit2YXIgc2hvdWxkR2VuZXJhdGVH
TEVycm9yID0gd3R1LnNob3VsZEdlbmVyYXRlR0xFcnJvcjsKKworYXNzZXJ0TXNnKHByb2dyYW0g
IT0gbnVsbCwgIlByb2dyYW0gQ29tcGlsZWQiKTsKK2Fzc2VydE1zZyhzaGFkZXIgIT0gbnVsbCwg
IlNoYWRlciBDb21waWxlZCIpOworCit2YXIgbG9jID0gY29udGV4dC5nZXRVbmlmb3JtTG9jYXRp
b24ocHJvZ3JhbSwgInVfbW9kZWxWaWV3UHJvak1hdHJpeCIpOworYXNzZXJ0TXNnKGxvYyAhPSBu
dWxsLCAiZ2V0VW5pZm9ybUxvY2F0aW9uIHN1Y2NlZWRlZCIpOworCit2YXIgdGVzdEFyZ3VtZW50
cyA9IFsKKyAgeyB2YWx1ZTogImZvbyIsCisgICAgdGhyb3dzOiB0cnVlIH0sCisgIHsgdmFsdWU6
IDAsCisgICAgdGhyb3dzOiB0cnVlIH0sCisgIHsgdmFsdWU6IG51bGwsCisgICAgdGhyb3dzOiBm
YWxzZSB9LAorICB7IHZhbHVlOiB1bmRlZmluZWQsCisgICAgdGhyb3dzOiBmYWxzZSB9CitdOwor
Cit2YXIgYXJndW1lbnQ7CisKK2Z1bmN0aW9uIHNob3VsZEJlRW1wdHlTdHJpbmcoY29tbWFuZCkg
eworICBzaG91bGRCZShjb21tYW5kLCAiJyciKTsKK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCB0
ZXN0QXJndW1lbnRzLmxlbmd0aDsgKytpKSB7CisgIHZhciBmdW5jLCBmdW5jMiwgZnVuYzM7Cisg
IGlmICh0ZXN0QXJndW1lbnRzW2ldLnRocm93cykgeworICAgIGZ1bmMgPSBzaG91bGRUaHJvdzsK
KyAgICBmdW5jMiA9IHNob3VsZFRocm93OworICAgIGZ1bmMzID0gc2hvdWxkVGhyb3c7CisgIH0g
ZWxzZSB7CisgICAgZnVuYyA9IHNob3VsZEJlVW5kZWZpbmVkOworICAgIGZ1bmMyID0gc2hvdWxk
QmVOdWxsOworICAgIGZ1bmMzID0gc2hvdWxkQmVFbXB0eVN0cmluZzsKKyAgfQorICBhcmd1bWVu
dCA9IHRlc3RBcmd1bWVudHNbaV0udmFsdWU7CisgIGZ1bmMoImNvbnRleHQuY29tcGlsZVNoYWRl
cihhcmd1bWVudCkiKTsKKyAgZnVuYygiY29udGV4dC5saW5rUHJvZ3JhbShhcmd1bWVudCkiKTsK
KyAgZnVuYygiY29udGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgYXJndW1lbnQpIik7CisgIGZ1
bmMoImNvbnRleHQuYXR0YWNoU2hhZGVyKGFyZ3VtZW50LCBzaGFkZXIpIik7CisgIGZ1bmMoImNv
bnRleHQuZGV0YWNoU2hhZGVyKHByb2dyYW0sIGFyZ3VtZW50KSIpOworICBmdW5jKCJjb250ZXh0
LmRldGFjaFNoYWRlcihhcmd1bWVudCwgc2hhZGVyKSIpOworICBmdW5jKCJjb250ZXh0LnVzZVBy
b2dyYW0oYXJndW1lbnQpIik7CisgIGZ1bmMoImNvbnRleHQuc2hhZGVyU291cmNlKGFyZ3VtZW50
LCAnZm9vJykiKTsKKyAgZnVuYygiY29udGV4dC5iaW5kQXR0cmliTG9jYXRpb24oYXJndW1lbnQs
IDAsICdmb28nKSIpOworICBmdW5jKCJjb250ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5BUlJBWV9C
VUZGRVIsIGFyZ3VtZW50KSIpOworICBmdW5jKCJjb250ZXh0LmJpbmRGcmFtZWJ1ZmZlcihjb250
ZXh0LkZSQU1FQlVGRkVSLCBhcmd1bWVudCkiKTsKKyAgZnVuYygiY29udGV4dC5iaW5kUmVuZGVy
YnVmZmVyKGNvbnRleHQuUkVOREVSQlVGRkVSLCBhcmd1bWVudCkiKTsKKyAgZnVuYygiY29udGV4
dC5iaW5kVGV4dHVyZShjb250ZXh0LlRFWFRVUkVfMkQsIGFyZ3VtZW50KSIpOworICBmdW5jKCJj
b250ZXh0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRl
eHQuREVQVEhfQVRUQUNITUVOVCwgY29udGV4dC5SRU5ERVJCVUZGRVIsIGFyZ3VtZW50KSIpOwor
ICBmdW5jKCJjb250ZXh0LmZyYW1lYnVmZmVyVGV4dHVyZTJEKGNvbnRleHQuRlJBTUVCVUZGRVIs
IGNvbnRleHQuQ09MT1JfQVRUQUNITUVOVDAsIGNvbnRleHQuVEVYVFVSRV8yRCwgYXJndW1lbnQs
IDApIik7CisgIGZ1bmMoImNvbnRleHQudW5pZm9ybTJmdihhcmd1bWVudCwgbmV3IEZsb2F0MzJB
cnJheShbMC4wLCAwLjBdKSkiKTsKKyAgZnVuYygiY29udGV4dC51bmlmb3JtMml2KGFyZ3VtZW50
LCBuZXcgSW50MzJBcnJheShbMCwgMF0pKSIpOworICBmdW5jKCJjb250ZXh0LnVuaWZvcm1NYXRy
aXgyZnYoYXJndW1lbnQsIGZhbHNlLCBuZXcgRmxvYXQzMkFycmF5KFswLjAsIDAuMCwgMC4wLCAw
LjBdKSkiKTsKKworICBmdW5jMigiY29udGV4dC5nZXRQcm9ncmFtUGFyYW1ldGVyKGFyZ3VtZW50
LCAwKSIpOworICBmdW5jMigiY29udGV4dC5nZXRTaGFkZXJQYXJhbWV0ZXIoYXJndW1lbnQsIDAp
Iik7CisgIGZ1bmMyKCJjb250ZXh0LmdldFVuaWZvcm0oYXJndW1lbnQsIGxvYykiKTsKKyAgZnVu
YzIoImNvbnRleHQuZ2V0VW5pZm9ybShwcm9ncmFtLCBhcmd1bWVudCkiKTsKKyAgZnVuYzIoImNv
bnRleHQuZ2V0VW5pZm9ybUxvY2F0aW9uKGFyZ3VtZW50LCAndV9tb2RlbFZpZXdQcm9qTWF0cml4
JykiKTsKKworICBmdW5jMygiY29udGV4dC5nZXRQcm9ncmFtSW5mb0xvZyhhcmd1bWVudCkiKTsK
KyAgZnVuYzMoImNvbnRleHQuZ2V0U2hhZGVySW5mb0xvZyhhcmd1bWVudCkiKTsKKyAgZnVuYzMo
ImNvbnRleHQuZ2V0U2hhZGVyU291cmNlKGFyZ3VtZW50KSIpOworfQorCit2YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3Jt
YW5jZS9taXNjL2Jvb2xlYW4tYXJndW1lbnQtY29udmVyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9ib29sZWFu
LWFyZ3VtZW50LWNvbnZlcnNpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZGY0ZDFkZTEyOWY4OGVlM2Nh
NjRlOTJkYTM0OTg1YmYxNTVhNmQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9ib29sZWFuLWFy
Z3VtZW50LWNvbnZlcnNpb24uaHRtbApAQCAtMCwwICsxLDEzNyBAQAorPCEtLQorCisvKgorKiog
Q29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNz
aW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRh
aW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3Vt
ZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRl
cmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRp
b24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFs
cywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs
IHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJP
VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1Mg
T1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP
RgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
TkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Ig
Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9S
IE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX
SVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhF
IE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93
ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdGVzdC1ldmFsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVz
Y3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+Cisi
dXNlIHN0cmljdCI7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7CitkZXNjcmlwdGlvbigiVGVz
dCB0aGF0IGNvbnZlcnNpb24gb2YgYm9vbGVhbiBhcmd1bWVudHMgb2YgV2ViR0wgZnVuY3Rpb25z
IGZvbGxvd3MgRWNtYVNjcmlwdCA5LjIuIFRvQm9vbGVhbiIpOworZGVidWcoIiIpOworZGVidWco
IldoZW4gYW4gb2JqZWN0IGlzIGNvbnZlcnRlZCB0byBhIGJvb2xlYW4sIGl0IHNob3VsZCBhbHdh
eXMgZXZhbHVhdGUgYXMgdHJ1ZS4gQW55IHZhbHVlT2YoKSBtZXRob2Qgc2hvdWxkIG5vdCBldmVu
IGdldCBjYWxsZWQuIFNlZSBNb3ppbGxhIGJ1ZyA3Mjc1OTAgd2hlcmUgR2Vja28gaW5jb3JyZWN0
bHkgY29udmVydGVkIHN1Y2ggYW4gYXJndW1lbnQgdG8gYSBOdW1iZXIgaW5zdGVhZCBvZiBhIEJv
b2xlYW4sIGdpdmluZyB0aGUgd3JvbmcgYmVoYXZpb3IuIFNlZSA5LjIgYW5kIDkuMyBpbiB0aGUg
RWNtYVNjcmlwdCBzcGVjaWZpY2F0aW9uLiIpOworZGVidWcoIiIpOwordmFyIGdsID0gd3R1LmNy
ZWF0ZTNEQ29udGV4dCgpOwordmFyIHByb2dyYW0gPSB3dHUubG9hZFN0YW5kYXJkUHJvZ3JhbShn
bCk7Cit2YXIgc2hhZGVyID0gd3R1LmxvYWRTdGFuZGFyZFZlcnRleFNoYWRlcihnbCk7Cit2YXIg
c2hvdWxkR2VuZXJhdGVHTEVycm9yID0gd3R1LnNob3VsZEdlbmVyYXRlR0xFcnJvcjsKKworYXNz
ZXJ0TXNnKHByb2dyYW0gIT0gbnVsbCwgIlByb2dyYW0gQ29tcGlsZWQiKTsKK2Fzc2VydE1zZyhz
aGFkZXIgIT0gbnVsbCwgIlNoYWRlciBDb21waWxlZCIpOworCit2YXIgdWxvYyA9IGdsLmdldFVu
aWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9tb2RlbFZpZXdQcm9qTWF0cml4Iik7Cit2YXIgYWxv
YyA9IGdsLmdldEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sICJhX3ZlcnRleCIpOworCitnbC5iaW5k
QnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgZ2wuY3JlYXRlQnVmZmVyKCkpOworCitnbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiU2hvdWxkIGJlIG5vIGVycm9ycyBmcm9tIGluaXRpYWxp
emF0aW9uLiIpOworYXNzZXJ0TXNnKHVsb2MsICJVbmlmb3JtIG5vdCBmb3VuZCIpOworYXNzZXJ0
TXNnKGFsb2MgPj0gMCwgIkF0dHJpYnV0ZSBub3QgZm91bmQiKTsKKwordmFyIGJvb2xBcmcgPSB7
IHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeyB0aHJvdyAiQ29udmVydGluZyBhbiBPYmplY3QgdG8gYSBC
b29sZWFuIHNob3VsZCBqdXN0IGdpdmUgJ3RydWUnIHdpdGhvdXQgZnVydGhlciBldmFsdWF0aW9u
IjsgfSB9CisKK2Z1bmN0aW9uIHNob3VsZE5vdFRocm93V2l0aEJvb2xBcmdzKGNvZGUpIHsKKyAg
dHJ5IHsKKyAgICBUZXN0RXZhbChjb2RlKTsKKyAgfSBjYXRjaChlKSB7CisgICAgdGVzdEZhaWxl
ZChjb2RlICsgIiB0aHJldyBleGNlcHRpb246ICIgKyBlKTsKKyAgICByZXR1cm47CisgIH0KKyAg
dGVzdFBhc3NlZChjb2RlICsgIiBjb252ZXJ0ZWQgaXRzIGJvb2xlYW4gYXJndW1lbnRzIGNvcnJl
Y3RseSIpOworfQorCitzaG91bGROb3RUaHJvd1dpdGhCb29sQXJncygKKyAgImdsLmNvbG9yTWFz
ayhib29sQXJnLCBib29sQXJnLCBib29sQXJnLCBib29sQXJnKSIKKyk7CisKK3Nob3VsZE5vdFRo
cm93V2l0aEJvb2xBcmdzKAorICAiZ2wuZGVwdGhNYXNrKGJvb2xBcmcpIgorKTsKKworc2hvdWxk
Tm90VGhyb3dXaXRoQm9vbEFyZ3MoCisgICJnbC5zYW1wbGVDb3ZlcmFnZSgxLCBib29sQXJnKSIK
Kyk7CisKK2Z1bmN0aW9uIHplcm9BcnJheShsZW5ndGgpIHsKKyAgdmFyIGEgPSBuZXcgQXJyYXko
bGVuZ3RoKTsKKyAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKKyAgICBhW2ldID0g
MDsKKyAgcmV0dXJuIGE7Cit9CisKK2Z1bmN0aW9uIHplcm9GbG9hdDMyQXJyYXkobGVuZ3RoKSB7
CisgIHZhciBhID0gbmV3IEZsb2F0MzJBcnJheShsZW5ndGgpOworICBmb3IgKHZhciBpID0gMDsg
aSA8IGxlbmd0aDsgaSsrKQorICAgIGFbaV0gPSAwOworICByZXR1cm4gYTsKK30KKworc2hvdWxk
Tm90VGhyb3dXaXRoQm9vbEFyZ3MoCisgICJnbC51bmlmb3JtTWF0cml4MmZ2KHVsb2MsIGJvb2xB
cmcsIHplcm9GbG9hdDMyQXJyYXkoNCkpIgorKTsKKworc2hvdWxkTm90VGhyb3dXaXRoQm9vbEFy
Z3MoCisgICJnbC51bmlmb3JtTWF0cml4MmZ2KHVsb2MsIGJvb2xBcmcsIHplcm9BcnJheSg0KSki
CispOworCitzaG91bGROb3RUaHJvd1dpdGhCb29sQXJncygKKyAgImdsLnVuaWZvcm1NYXRyaXgz
ZnYodWxvYywgYm9vbEFyZywgemVyb0Zsb2F0MzJBcnJheSg5KSkiCispOworCitzaG91bGROb3RU
aHJvd1dpdGhCb29sQXJncygKKyAgImdsLnVuaWZvcm1NYXRyaXgzZnYodWxvYywgYm9vbEFyZywg
emVyb0FycmF5KDkpKSIKKyk7CisKK3Nob3VsZE5vdFRocm93V2l0aEJvb2xBcmdzKAorICAiZ2wu
dW5pZm9ybU1hdHJpeDRmdih1bG9jLCBib29sQXJnLCB6ZXJvRmxvYXQzMkFycmF5KDE2KSkiCisp
OworCitzaG91bGROb3RUaHJvd1dpdGhCb29sQXJncygKKyAgImdsLnVuaWZvcm1NYXRyaXg0ZnYo
dWxvYywgYm9vbEFyZywgemVyb0FycmF5KDE2KSkiCispOworCitzaG91bGROb3RUaHJvd1dpdGhC
b29sQXJncygKKyAgImdsLnZlcnRleEF0dHJpYlBvaW50ZXIoYWxvYywgNCwgZ2wuRkxPQVQsIGJv
b2xBcmcsIDQsIDApIgorKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Nj
cmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wv
cmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9kZWxheWVkLWRyYXdp
bmcuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2Nv
bmZvcm1hbmNlL21pc2MvZGVsYXllZC1kcmF3aW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZiMmM1Yjhm
ZjZkYjBlOTJmMzU1ZTNhOTkyNmFmNTExODA4MTVmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2Mv
ZGVsYXllZC1kcmF3aW5nLmh0bWwKQEAgLTAsMCArMSw4NSBAQAorPCEtLQorCisvKgorKiogQ29w
eXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9u
IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
bmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlh
bHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24g
dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0
cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywg
YW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5p
c2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor
KioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv
cnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1Ig
SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor
KiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg
Tk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09Q
WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1B
VEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgRGVsYXllZCBEcmF3aW5nIHRlc3Qu
PC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+IDwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxz
LmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImV4YW1wbGUiIHdp
ZHRoPSI0IiBoZWlnaHQ9IjQiIHN0eWxlPSJ3aWR0aDogNDBweDsgaGVpZ2h0OiAzMHB4OyI+PC9j
YW52YXM+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbihkb2N1bWVudC50aXRs
ZSk7Cit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250
ZXh0KCJleGFtcGxlIik7Cit2YXIgcHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVkUXVhZChnbCk7
CisKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJTaG91bGQgYmUgbm8gZXJyb3Jz
IGZyb20gc2V0dXAuIik7CisKK3ZhciB0ZXggPSBnbC5jcmVhdGVUZXh0dXJlKCk7Cit3dHUuZmls
bFRleHR1cmUoZ2wsIHRleCwgNSwgMywgWzAsIDE5MiwgMTI4LCAyNTVdKTsKKwordmFyIGxvYyA9
IGdsLmdldFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidGV4Iik7CitnbC51bmlmb3JtMWkobG9j
LCAwKTsKKworZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX01JTl9G
SUxURVIsIGdsLk5FQVJFU1QpOworZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5U
RVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOworZ2wudGV4UGFyYW1ldGVyaShnbC5URVhU
VVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywgZ2wuQ0xBTVBfVE9fRURHRSk7CitnbC50ZXhQYXJh
bWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9ULCBnbC5DTEFNUF9UT19FREdF
KTsKKworCitkcmF3QW5kQ2hlY2soKTsKKworc2V0VGltZW91dChzdGVwMiwgMTAwMCk7CisKK2Z1
bmN0aW9uIHN0ZXAyKCkgeworICBkcmF3QW5kQ2hlY2soKTsKKyAgZmluaXNoVGVzdCgpOworfQor
CitmdW5jdGlvbiBkcmF3QW5kQ2hlY2soKSB7CisgIGdsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9f
RVJST1IsICJTaG91bGQgYmUgbm8gZXJyb3JzIGJlZm9yZSBkcmF3aW5nLiIpOworICB3dHUuZHJh
d1F1YWQoZ2wpOworICBnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiU2hvdWxkIGJl
IG5vIGVycm9ycyBmcm9tIGRyYXdpbmcuIik7CisgIHd0dS5jaGVja0NhbnZhcygKKyAgICAgIGds
LCBbMCwgMTkyLCAxMjgsIDI1NV0sCisgICAgICAiZHJhdyBzaG91bGQgYmUgMCwgMTkyLCAxMjgs
IDI1NSIpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJj
ZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL2Vycm9yLXJlcG9ydGluZy5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbWlzYy9lcnJvci1yZXBvcnRpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTA1NjUwMTFkMjNiYTc4
ZjNkYmNlN2NhZjY3MjBmYjUwZmQzMmFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9lcnJvci1y
ZXBvcnRpbmcuaHRtbApAQCAtMCwwICsxLDk4IEBACis8IS0tCisvKgorKiogQ29weXJpZ2h0IChj
KSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVi
eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiog
Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls
ZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBz
dWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisq
KiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBk
byBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxs
IGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9m
IHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP
TERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVS
V0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiog
TUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4K
KyovCistLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsK
K2Rlc2NyaXB0aW9uKCJUZXN0cyBnZW5lcmF0aW9uIG9mIHN5bnRoZXRpYyBhbmQgcmVhbCBHTCBl
cnJvcnMiKTsKKwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOwordmFyIGNvbnRleHQgPSB3dHUu
Y3JlYXRlM0RDb250ZXh0KCk7Cit2YXIgcHJvZ3JhbSA9IHd0dS5sb2FkU3RhbmRhcmRQcm9ncmFt
KGNvbnRleHQpOworCisvLyBPdGhlciB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSBsaWtlIGdldEFj
dGl2ZVRlc3QgYW5kCisvLyBpbmNvcnJlY3QtY29udGV4dC1vYmplY3QtYmVoYXZpb3VyIGFscmVh
ZHkgdGVzdCB0aGUgcmFpc2luZyBvZiBtYW55CisvLyBzeW50aGV0aWMgR0wgZXJyb3JzLiBUaGlz
IHRlc3QgdmVyaWZpZXMgdGhlIHJhaXNpbmcgb2YgY2VydGFpbgorLy8ga25vd24gcmVhbCBHTCBl
cnJvcnMsIGFuZCBjb250YWlucyBhIGZldyByZWdyZXNzaW9uIHRlc3RzIGZvciBidWdzCisvLyBk
aXNjb3ZlcmVkIGluIHRoZSBzeW50aGV0aWMgZXJyb3IgZ2VuZXJhdGlvbiBhbmQgaW4gdGhlIFdl
YkdMCisvLyBpbXBsZW1lbnRhdGlvbiBpdHNlbGYuCisKK2dsRXJyb3JTaG91bGRCZShjb250ZXh0
LCBjb250ZXh0Lk5PX0VSUk9SKTsKKworZGVidWcoIlRlc3RpbmcgZ2V0QWN0aXZlQXR0cmliIik7
CisvLyBTeW50aGV0aWMgT3BlbkdMIGVycm9yCitzaG91bGRCZU51bGwoImNvbnRleHQuZ2V0QWN0
aXZlQXR0cmliKG51bGwsIDIpIik7CitnbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5J
TlZBTElEX1ZBTFVFKTsKKy8vIEVycm9yIHN0YXRlIHNob3VsZCBiZSBjbGVhciBieSB0aGlzIHBv
aW50CitnbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5OT19FUlJPUik7CisvLyBSZWFs
IE9wZW5HTCBlcnJvcgorc2hvdWxkQmVOdWxsKCJjb250ZXh0LmdldEFjdGl2ZUF0dHJpYihwcm9n
cmFtLCAyKSIpOworZ2xFcnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxV
RSk7CisvLyBFcnJvciBzdGF0ZSBzaG91bGQgYmUgY2xlYXIgYnkgdGhpcyBwb2ludAorZ2xFcnJv
clNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IpOworCitkZWJ1ZygiVGVzdGluZyBn
ZXRBY3RpdmVVbmlmb3JtIik7CisvLyBTeW50aGV0aWMgT3BlbkdMIGVycm9yCitzaG91bGRCZU51
bGwoImNvbnRleHQuZ2V0QWN0aXZlVW5pZm9ybShudWxsLCAwKSIpOworZ2xFcnJvclNob3VsZEJl
KGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSk7CisvLyBFcnJvciBzdGF0ZSBzaG91bGQg
YmUgY2xlYXIgYnkgdGhpcyBwb2ludAorZ2xFcnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQu
Tk9fRVJST1IpOworLy8gUmVhbCBPcGVuR0wgZXJyb3IKK3Nob3VsZEJlTnVsbCgiY29udGV4dC5n
ZXRBY3RpdmVVbmlmb3JtKHByb2dyYW0sIDUwKSIpOworZ2xFcnJvclNob3VsZEJlKGNvbnRleHQs
IGNvbnRleHQuSU5WQUxJRF9WQUxVRSk7CisvLyBFcnJvciBzdGF0ZSBzaG91bGQgYmUgY2xlYXIg
YnkgdGhpcyBwb2ludAorZ2xFcnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1Ip
OworCitkZWJ1ZygiVGVzdGluZyBhdHRlbXB0cyB0byBtYW5pcHVsYXRlIHRoZSBkZWZhdWx0IGZy
YW1lYnVmZmVyIik7CitzaG91bGRCZVVuZGVmaW5lZCgiY29udGV4dC5iaW5kRnJhbWVidWZmZXIo
Y29udGV4dC5GUkFNRUJVRkZFUiwgbnVsbCkiKTsKK2dsRXJyb3JTaG91bGRCZShjb250ZXh0LCBj
b250ZXh0Lk5PX0VSUk9SKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCJjb250ZXh0LmZyYW1lYnVmZmVy
UmVuZGVyYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIGNvbnRleHQuREVQVEhfQVRUQUNITUVO
VCwgY29udGV4dC5SRU5ERVJCVUZGRVIsIG51bGwpIik7CisvLyBTeW50aGV0aWMgT3BlbkdMIGVy
cm9yCitnbEVycm9yU2hvdWxkQmUoY29udGV4dCwgY29udGV4dC5JTlZBTElEX09QRVJBVElPTik7
CisvLyBFcnJvciBzdGF0ZSBzaG91bGQgYmUgY2xlYXIgYnkgdGhpcyBwb2ludAorZ2xFcnJvclNo
b3VsZEJlKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IpOworc2hvdWxkQmVVbmRlZmluZWQoImNv
bnRleHQuZnJhbWVidWZmZXJUZXh0dXJlMkQoY29udGV4dC5GUkFNRUJVRkZFUiwgY29udGV4dC5D
T0xPUl9BVFRBQ0hNRU5UMCwgY29udGV4dC5URVhUVVJFXzJELCBudWxsLCAwKSIpOworLy8gU3lu
dGhldGljIE9wZW5HTCBlcnJvcgorZ2xFcnJvclNob3VsZEJlKGNvbnRleHQsIGNvbnRleHQuSU5W
QUxJRF9PUEVSQVRJT04pOworLy8gRXJyb3Igc3RhdGUgc2hvdWxkIGJlIGNsZWFyIGJ5IHRoaXMg
cG9pbnQKK2dsRXJyb3JTaG91bGRCZShjb250ZXh0LCBjb250ZXh0Lk5PX0VSUk9SKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbWlzYy9mdW5jdGlvbnMtcmV0dXJuaW5nLXN0cmluZ3MuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21p
c2MvZnVuY3Rpb25zLXJldHVybmluZy1zdHJpbmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2VkNmE5OWFl
ZTVjZWU3ZWMwYjE1Njc3N2FkMmYyMzM2NTg4MTZiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2Mv
ZnVuY3Rpb25zLXJldHVybmluZy1zdHJpbmdzLmh0bWwKQEAgLTAsMCArMSwxMjcgQEAKKzwhLS0K
KworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgor
KiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBw
ZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2Np
YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBp
biB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91
dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs
aXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRo
ZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJp
YWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw
ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBz
dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklB
TFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisq
KiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB
UlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBB
VVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwg
REFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS
QUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENP
Tk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJ
TkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5XZWJHTCBDb25mb3JtYW5j
ZSBUZXN0czwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9k
ZXNrdG9wLWdsLWNvbnN0YW50cy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3QtZXZhbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIj4gPC9jYW52
YXM+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBmdW5j
dGlvbnMgcmV0dXJuaW5nIHN0cmluZ3MgcmVhbGx5IGRvIHJldHVybiBzdHJpbmdzIChhbmQgbm90
IGUuZy4gbnVsbCkiKTsKK2RlYnVnKCIiKTsKKwordmFyIHZhbGlkVmVydGV4U2hhZGVyU3RyaW5n
ID0KKyAgImF0dHJpYnV0ZSB2ZWM0IGFWZXJ0ZXg7IGF0dHJpYnV0ZSB2ZWM0IGFDb2xvcjsgdmFy
eWluZyB2ZWM0IHZDb2xvcjsgdm9pZCBtYWluKCkgeyB2Q29sb3IgPSBhQ29sb3I7IGdsX1Bvc2l0
aW9uID0gYVZlcnRleDsgfSI7Cit2YXIgdmFsaWRGcmFnbWVudFNoYWRlclN0cmluZyA9CisgICJw
cmVjaXNpb24gbWVkaXVtcCBmbG9hdDsgdmFyeWluZyB2ZWM0IHZDb2xvcjsgdm9pZCBtYWluKCkg
eyBnbF9GcmFnQ29sb3IgPSB2Q29sb3I7IH0iOworCitmdW5jdGlvbiBzaG91bGRSZXR1cm5TdHJp
bmcoX2EpCit7CisgIHZhciBleGNlcHRpb247CisgIHZhciBfYXY7CisgIHRyeSB7CisgICAgIF9h
diA9IFRlc3RFdmFsKF9hKTsKKyAgfSBjYXRjaCAoZSkgeworICAgICBleGNlcHRpb24gPSBlOwor
ICB9CisKKyAgaWYgKGV4Y2VwdGlvbikKKyAgICB0ZXN0RmFpbGVkKF9hICsgJyBzaG91bGQgcmV0
dXJuIGEgc3RyaW5nLiBUaHJldyBleGNlcHRpb24gJyArIGV4Y2VwdGlvbik7CisgIGVsc2UgaWYg
KHR5cGVvZiBfYXYgPT0gInN0cmluZyIpCisgICAgdGVzdFBhc3NlZChfYSArICcgcmV0dXJucyBh
IHN0cmluZycpOworICBlbHNlCisgICAgdGVzdEZhaWxlZChfYSArICcgc2hvdWxkIHJldHVybiBh
IHN0cmluZy4gIFJldHVybnM6ICInICsgX2F2ICsgJyInKTsKK30KKwordmFyIHd0dSA9IFdlYkdM
VGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2FudmFzIik7CitpZiAo
IWdsKSB7CisgIHRlc3RGYWlsZWQoImNvbnRleHQgZG9lcyBub3QgZXhpc3QiKTsKK30gZWxzZSB7
CisgIHZhciB2cyA9IGdsLmNyZWF0ZVNoYWRlcihnbC5WRVJURVhfU0hBREVSKTsKKyAgc2hvdWxk
UmV0dXJuU3RyaW5nKCJnbC5nZXRTaGFkZXJTb3VyY2UodnMpIik7CisgIHNob3VsZFJldHVyblN0
cmluZygiZ2wuZ2V0U2hhZGVySW5mb0xvZyh2cykiKTsKKyAgZ2wuc2hhZGVyU291cmNlKHZzLCB2
YWxpZFZlcnRleFNoYWRlclN0cmluZyk7CisgIGdsLmNvbXBpbGVTaGFkZXIodnMpOworICBzaG91
bGRSZXR1cm5TdHJpbmcoImdsLmdldFNoYWRlclNvdXJjZSh2cykiKTsKKyAgc2hvdWxkUmV0dXJu
U3RyaW5nKCJnbC5nZXRTaGFkZXJJbmZvTG9nKHZzKSIpOworCisgIHZhciBmcyA9IGdsLmNyZWF0
ZVNoYWRlcihnbC5GUkFHTUVOVF9TSEFERVIpOworICBzaG91bGRSZXR1cm5TdHJpbmcoImdsLmdl
dFNoYWRlclNvdXJjZShmcykiKTsKKyAgc2hvdWxkUmV0dXJuU3RyaW5nKCJnbC5nZXRTaGFkZXJJ
bmZvTG9nKGZzKSIpOworICBnbC5zaGFkZXJTb3VyY2UoZnMsIHZhbGlkRnJhZ21lbnRTaGFkZXJT
dHJpbmcpOworICBnbC5jb21waWxlU2hhZGVyKGZzKTsKKyAgc2hvdWxkUmV0dXJuU3RyaW5nKCJn
bC5nZXRTaGFkZXJTb3VyY2UoZnMpIik7CisgIHNob3VsZFJldHVyblN0cmluZygiZ2wuZ2V0U2hh
ZGVySW5mb0xvZyhmcykiKTsKKworICB2YXIgcHJvZyA9IGdsLmNyZWF0ZVByb2dyYW0oKTsKKyAg
c2hvdWxkUmV0dXJuU3RyaW5nKCJnbC5nZXRQcm9ncmFtSW5mb0xvZyhwcm9nKSIpOworICBnbC5h
dHRhY2hTaGFkZXIocHJvZywgdnMpOworICBnbC5hdHRhY2hTaGFkZXIocHJvZywgZnMpOworICBn
bC5saW5rUHJvZ3JhbShwcm9nKTsKKyAgc2hvdWxkUmV0dXJuU3RyaW5nKCJnbC5nZXRQcm9ncmFt
SW5mb0xvZyhwcm9nKSIpOworCisgIC8vIE1ha2Ugc3VyZSBkaWZmZXJlbnQgbnVtYmVycyBvZiBl
eHRlbnNpb25zIGRvZXNuJ3QgcmVzdWx0IGluCisgIC8vIGRpZmZlcmVudCB0ZXN0IG91dHB1dC4K
KyAgdmFyIGV4dHMgPSBnbC5nZXRTdXBwb3J0ZWRFeHRlbnNpb25zKCk7CisgIHZhciBhbGxQYXNz
ZWQgPSB0cnVlOworICBmb3IgKHZhciBpaSA9IDA7IGlpIDwgZXh0cy5sZW5ndGg7ICsraWkpIHsK
KyAgICB2YXIgcyA9IGV4dHNbaWldOworICAgIGlmICh0eXBlb2YgcyAhPSAic3RyaW5nIikgewor
ICAgICAgc2hvdWxkUmV0dXJuU3RyaW5nKCJnbC5nZXRTdXBwb3J0ZWRFeHRlbnNpb25zKClbIiAr
IHMgKyAiXSIpOworICAgICAgYWxsUGFzc2VkID0gZmFsc2U7CisgICAgfQorICB9CisgIGlmIChh
bGxQYXNzZWQpIHsKKyAgICB0ZXN0UGFzc2VkKCdnZXRTdXBwb3J0ZWRFeHRlbnNpb25zKCkgcmV0
dXJucyBhbiBhcnJheSBvZiBzdHJpbmdzJyk7CisgIH0KKworICBzaG91bGRSZXR1cm5TdHJpbmco
ImdsLmdldFBhcmFtZXRlcihnbC5WRU5ET1IpIik7CisgIHNob3VsZFJldHVyblN0cmluZygiZ2wu
Z2V0UGFyYW1ldGVyKGdsLlJFTkRFUkVSKSIpOworICBzaG91bGRSZXR1cm5TdHJpbmcoImdsLmdl
dFBhcmFtZXRlcihnbC5WRVJTSU9OKSIpOworICBzaG91bGRSZXR1cm5TdHJpbmcoImdsLmdldFBh
cmFtZXRlcihnbC5TSEFESU5HX0xBTkdVQUdFX1ZFUlNJT04pIik7Cit9CisKK2RlYnVnKCIiKTsK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKworPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rl
c3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9pbnN0YW5jZW9mLXRlc3QuaHRtbCBiL0xheW91dFRl
c3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvaW5z
dGFuY2VvZi10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTJmYmVkN2I1MGNhNjc4YjU5NmNjM2IzYWE2
NDhjMjkzYjUwYTlmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291
cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvaW5zdGFuY2VvZi10ZXN0Lmh0
bWwKQEAgLTAsMCArMSwxMTIgQEAKKzwhLS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBU
aGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl
ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2Yg
dGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUK
KyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJp
Y3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNl
LCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1
YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUg
Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNs
dWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0
ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP
VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElO
RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElU
WSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4K
KyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF
IExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFS
SVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFM
UyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCist
LT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHRpdGxlPldlYkdMIGluc3RhbmNlb2YgdGVzdC48L3RpdGxlPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj4gPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPiA8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiBzdHls
ZT0id2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDsiPjwvY2FudmFzPgorPGRpdiBpZD0iZGVzY3Jp
cHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IGlkPSJ2c2hh
ZGVyIiB0eXBlPSJ4LXNoYWRlci94LXZlcnRleCI+CithdHRyaWJ1dGUgdmVjNCB2UG9zaXRpb247
Cit2YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7Cit2b2lkIG1haW4oKQoreworICAgIGdsX1Bvc2l0aW9u
ID0gdlBvc2l0aW9uOworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQgaWQ9ImZzaGFkZXIiIHR5cGU9
Ingtc2hhZGVyL3gtZnJhZ21lbnQiPgorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3Jt
IHZlYzQgY29sb3I7Cit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IGNvbG9yOwor
fQorPC9zY3JpcHQ+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIHd0dSA9IFdlYkdMVGVz
dFV0aWxzOworZGVzY3JpcHRpb24oZG9jdW1lbnQudGl0bGUpOworZGVidWcoIlRlc3RzIHRoYXQg
aW5zdGFuY2VvZiB3b3JrcyBvbiBXZWJHTCBvYmplY3RzLiIpOworZGVidWcoIiIpOwordmFyIGds
ID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2FudmFzIik7CitzaG91bGRCZVRydWUoJ2dsIGluc3Rh
bmNlb2YgV2ViR0xSZW5kZXJpbmdDb250ZXh0Jyk7CitzaG91bGRCZVRydWUoJ2dsLmNyZWF0ZUJ1
ZmZlcigpIGluc3RhbmNlb2YgV2ViR0xCdWZmZXInKTsKK3Nob3VsZEJlVHJ1ZSgnZ2wuY3JlYXRl
RnJhbWVidWZmZXIoKSBpbnN0YW5jZW9mIFdlYkdMRnJhbWVidWZmZXInKTsKK3Nob3VsZEJlVHJ1
ZSgnZ2wuY3JlYXRlUHJvZ3JhbSgpIGluc3RhbmNlb2YgV2ViR0xQcm9ncmFtJyk7CitzaG91bGRC
ZVRydWUoJ2dsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIGluc3RhbmNlb2YgV2ViR0xSZW5kZXJidWZm
ZXInKTsKK3Nob3VsZEJlVHJ1ZSgnZ2wuY3JlYXRlU2hhZGVyKGdsLlZFUlRFWF9TSEFERVIpIGlu
c3RhbmNlb2YgV2ViR0xTaGFkZXInKTsKK3Nob3VsZEJlVHJ1ZSgnZ2wuY3JlYXRlVGV4dHVyZSgp
IGluc3RhbmNlb2YgV2ViR0xUZXh0dXJlJyk7CisKK3ZhciBwcm9ncmFtID0gd3R1LnNldHVwUHJv
Z3JhbShnbCwgWyd2c2hhZGVyJywgJ2ZzaGFkZXInXSwgWyd2UG9zaXRpb24nXSwgWzBdKTsKKwor
c2hvdWxkQmVUcnVlKCdnbC5nZXRVbmlmb3JtTG9jYXRpb24ocHJvZ3JhbSwgImNvbG9yIikgaW5z
dGFuY2VvZiBXZWJHTFVuaWZvcm1Mb2NhdGlvbicpOworc2hvdWxkQmVUcnVlKCdnbC5nZXRBY3Rp
dmVBdHRyaWIocHJvZ3JhbSwgMCkgaW5zdGFuY2VvZiBXZWJHTEFjdGl2ZUluZm8nKTsKK3Nob3Vs
ZEJlVHJ1ZSgnZ2wuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCAwKSBpbnN0YW5jZW9mIFdlYkdM
QWN0aXZlSW5mbycpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdHMgdGhhdCB0aG9zZSBXZWJH
TCBvYmplY3RzIGNhbiBub3QgYmUgY29uc3RydWN0ZWQgdGhyb3VnaCBuZXcgb3BlcmF0b3IiKTsK
K2RlYnVnKCIiKTsKKworZnVuY3Rpb24gc2hvdWxkVGhyb3dXaXRoTmV3KG9iamVjdFR5cGUsIG9i
amVjdE5hbWUpCit7CisgICAgdHJ5IHsKKyAgICAgICAgbmV3IG9iamVjdFR5cGU7CisgICAgICAg
IHRlc3RGYWlsZWQoJ25ldyAnICsgb2JqZWN0TmFtZSArICcgZGlkIG5vdCB0aHJvdycpOworICAg
IH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgdGVzdFBhc3NlZCgnbmV3ICcgKyBvYmplY3ROYW1lICsg
JyB0aHJldyBhbiBlcnJvcicpOworICAgIH0KK30KKworc2hvdWxkVGhyb3dXaXRoTmV3KHdpbmRv
dy5XZWJHTFJlbmRlcmluZ0NvbnRleHQsICdXZWJHTFJlbmRlcmluZ0NvbnRleHQnKTsKK3Nob3Vs
ZFRocm93V2l0aE5ldyh3aW5kb3cuV2ViR0xBY3RpdmVJbmZvLCAnV2ViR0xBY3RpdmVJbmZvJyk7
CitzaG91bGRUaHJvd1dpdGhOZXcod2luZG93LldlYkdMQnVmZmVyLCAnV2ViR0xCdWZmZXInKTsK
K3Nob3VsZFRocm93V2l0aE5ldyh3aW5kb3cuV2ViR0xGcmFtZWJ1ZmZlciwgJ1dlYkdMRnJhbWVi
dWZmZXInKTsKK3Nob3VsZFRocm93V2l0aE5ldyh3aW5kb3cuV2ViR0xQcm9ncmFtLCAnV2ViR0xQ
cm9ncmFtJyk7CitzaG91bGRUaHJvd1dpdGhOZXcod2luZG93LldlYkdMUmVuZGVyYnVmZmVyLCAn
V2ViR0xSZW5kZXJidWZmZXInKTsKK3Nob3VsZFRocm93V2l0aE5ldyh3aW5kb3cuV2ViR0xTaGFk
ZXIsICdXZWJHTFNoYWRlcicpOworc2hvdWxkVGhyb3dXaXRoTmV3KHdpbmRvdy5XZWJHTFRleHR1
cmUsICdXZWJHTFRleHR1cmUnKTsKK3Nob3VsZFRocm93V2l0aE5ldyh3aW5kb3cuV2ViR0xVbmlm
b3JtTG9jYXRpb24sICdXZWJHTFVuaWZvcm1Mb2NhdGlvbicpOworc2hvdWxkVGhyb3dXaXRoTmV3
KHdpbmRvdy5XZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdCwgJ1dlYkdMU2hhZGVyUHJlY2lzaW9u
Rm9ybWF0Jyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisK
KzwvYm9keT4KKzwvaHRtbD4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL2ludmFsaWQtcGFzc2VkLXBh
cmFtcy5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMv
Y29uZm9ybWFuY2UvbWlzYy9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
ZDViMWYzZmI5YTNjZThhMDczNzYxZGZiODczYWU5ZTE4OTUxMDVhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbWlzYy9pbnZhbGlkLXBhc3NlZC1wYXJhbXMuaHRtbApAQCAtMCwwICsxLDE5OSBAQAorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kZXNrdG9wLWdsLWNvbnN0YW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKworPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0IjsKK2Rlc2NyaXB0aW9uKCJUZXN0IGZv
ciBpbnZhbGlkIHBhc3NlZCBwYXJhbWV0ZXJzIik7CisKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGls
czsKK3ZhciBjb250ZXh0ID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgpOworCitkZWJ1ZygiIik7Citk
ZWJ1ZygiVGVzdCBjcmVhdGVTaGFkZXIoKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRl
eHQsIGNvbnRleHQuTk9fRVJST1IsICJjb250ZXh0LmNyZWF0ZVNoYWRlcihjb250ZXh0LkZSQUdN
RU5UX1NIQURFUikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0Lk5P
X0VSUk9SLCAiY29udGV4dC5jcmVhdGVTaGFkZXIoY29udGV4dC5WRVJURVhfU0hBREVSKSIpOwor
c2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9FTlVNLCAiY29u
dGV4dC5jcmVhdGVTaGFkZXIoMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBj
b250ZXh0LklOVkFMSURfRU5VTSwgImNvbnRleHQuY3JlYXRlU2hhZGVyKGNvbnRleHQuVFJJQU5H
TEVTKSIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBjbGVhcigpIik7CitzaG91bGRHZW5l
cmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5jbGVh
cihkZXNrdG9wR0xbJ0FDQ1VNX0JVRkZFUl9CSVQnXSkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJv
cihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmNsZWFyKGRlc2t0b3BH
TFsnQUNDVU1fQlVGRkVSX0JJVCddIHwgY29udGV4dC5DT0xPUl9CVUZGRVJfQklUKSIpOworc2hv
dWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRl
eHQuY2xlYXIoZGVza3RvcEdMWydBQ0NVTV9CVUZGRVJfQklUJ10gfCBjb250ZXh0LkNPTE9SX0JV
RkZFUl9CSVQgfCBjb250ZXh0LkRFUFRIX0JVRkZFUl9CSVQgfCBjb250ZXh0LlNURU5DSUxfQlVG
RkVSX0JJVCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0Lk5PX0VS
Uk9SLCAiY29udGV4dC5jbGVhcihjb250ZXh0LkNPTE9SX0JVRkZFUl9CSVQgfCBjb250ZXh0LkRF
UFRIX0JVRkZFUl9CSVQgfCBjb250ZXh0LlNURU5DSUxfQlVGRkVSX0JJVCkiKTsKKworZGVidWco
IiIpOworZGVidWcoIlRlc3QgYnVmZmVyRGF0YSgpIik7Cit2YXIgYnVmZmVyID0gY29udGV4dC5j
cmVhdGVCdWZmZXIoKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0Lk5P
X0VSUk9SLCAiY29udGV4dC5iaW5kQnVmZmVyKGNvbnRleHQuQVJSQVlfQlVGRkVSLCBidWZmZXIp
Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5OT19FUlJPUiwgImNv
bnRleHQuYnVmZmVyRGF0YShjb250ZXh0LkFSUkFZX0JVRkZFUiwgMTYsIGNvbnRleHQuU1RSRUFN
X0RSQVcpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5OT19FUlJP
UiwgImNvbnRleHQuYnVmZmVyRGF0YShjb250ZXh0LkFSUkFZX0JVRkZFUiwgMTYsIGNvbnRleHQu
U1RBVElDX0RSQVcpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5O
T19FUlJPUiwgImNvbnRleHQuYnVmZmVyRGF0YShjb250ZXh0LkFSUkFZX0JVRkZFUiwgMTYsIGNv
bnRleHQuRFlOQU1JQ19EUkFXKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNv
bnRleHQuSU5WQUxJRF9FTlVNLCAiY29udGV4dC5idWZmZXJEYXRhKGNvbnRleHQuQVJSQVlfQlVG
RkVSLCAxNiwgZGVza3RvcEdMWydTVFJFQU1fUkVBRCddKSIpOworc2hvdWxkR2VuZXJhdGVHTEVy
cm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9FTlVNLCAiY29udGV4dC5idWZmZXJEYXRhKGNv
bnRleHQuQVJSQVlfQlVGRkVSLCAxNiwgZGVza3RvcEdMWydTVFJFQU1fQ09QWSddKSIpOworc2hv
dWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9FTlVNLCAiY29udGV4
dC5idWZmZXJEYXRhKGNvbnRleHQuQVJSQVlfQlVGRkVSLCAxNiwgZGVza3RvcEdMWydTVEFUSUNf
UkVBRCddKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJ
RF9FTlVNLCAiY29udGV4dC5idWZmZXJEYXRhKGNvbnRleHQuQVJSQVlfQlVGRkVSLCAxNiwgZGVz
a3RvcEdMWydTVEFUSUNfQ09QWSddKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQs
IGNvbnRleHQuSU5WQUxJRF9FTlVNLCAiY29udGV4dC5idWZmZXJEYXRhKGNvbnRleHQuQVJSQVlf
QlVGRkVSLCAxNiwgZGVza3RvcEdMWydEWU5BTUlDX1JFQUQnXSkiKTsKK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfRU5VTSwgImNvbnRleHQuYnVmZmVyRGF0
YShjb250ZXh0LkFSUkFZX0JVRkZFUiwgMTYsIGRlc2t0b3BHTFsnRFlOQU1JQ19DT1BZJ10pIik7
CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IHtjb3B5fVRleHtTdWJ9SW1hZ2UyRCB3aXRoIG5l
Z2F0aXZlIG9mZnNldC93aWR0aC9oZWlnaHQiKTsKK3ZhciB0ZXggPSBjb250ZXh0LmNyZWF0ZVRl
eHR1cmUoKTsKK3ZhciBwaXhlbHMgPSBuZXcgVWludDhBcnJheSgyICogMiAqIDQpOworc2hvdWxk
R2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IsICJjb250ZXh0LmJpbmRU
ZXh0dXJlKGNvbnRleHQuVEVYVFVSRV8yRCwgdGV4KSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9y
KGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQudGV4SW1hZ2UyRChjb250
ZXh0LlRFWFRVUkVfMkQsIDAsIGNvbnRleHQuUkdCQSwgLTE2LCAtMTYsIDAsIGNvbnRleHQuUkdC
QSwgY29udGV4dC5VTlNJR05FRF9CWVRFLCBudWxsKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9y
KGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IsICJjb250ZXh0LnRleEltYWdlMkQoY29udGV4dC5U
RVhUVVJFXzJELCAwLCBjb250ZXh0LlJHQkEsIDE2LCAxNiwgMCwgY29udGV4dC5SR0JBLCBjb250
ZXh0LlVOU0lHTkVEX0JZVEUsIG51bGwpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4
dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC50ZXhTdWJJbWFnZTJEKGNvbnRleHQu
VEVYVFVSRV8yRCwgMCwgLTEsIC0xLCAyLCAyLCBjb250ZXh0LlJHQkEsIGNvbnRleHQuVU5TSUdO
RURfQllURSwgcGl4ZWxzKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRl
eHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQudGV4U3ViSW1hZ2UyRChjb250ZXh0LlRFWFRVUkVf
MkQsIDAsIDAsIDAsIC0xLCAtMSwgY29udGV4dC5SR0JBLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUs
IHBpeGVscykiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0Lk5PX0VS
Uk9SLCAiY29udGV4dC50ZXhTdWJJbWFnZTJEKGNvbnRleHQuVEVYVFVSRV8yRCwgMCwgMCwgMCwg
MiwgMiwgY29udGV4dC5SR0JBLCBjb250ZXh0LlVOU0lHTkVEX0JZVEUsIHBpeGVscykiKTsKK3No
b3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250
ZXh0LmNvcHlUZXhJbWFnZTJEKGNvbnRleHQuVEVYVFVSRV8yRCwgMCwgY29udGV4dC5SR0JBLCAw
LCAwLCAtMSwgLTEsIDApIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4
dC5OT19FUlJPUiwgImNvbnRleHQuY29weVRleEltYWdlMkQoY29udGV4dC5URVhUVVJFXzJELCAw
LCBjb250ZXh0LlJHQkEsIDAsIDAsIDE2LCAxNiwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJv
cihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmNvcHlUZXhTdWJJbWFn
ZTJEKGNvbnRleHQuVEVYVFVSRV8yRCwgMCwgLTEsIC0xLCAwLCAwLCAyLCAyKSIpOworc2hvdWxk
R2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQu
Y29weVRleFN1YkltYWdlMkQoY29udGV4dC5URVhUVVJFXzJELCAwLCAwLCAwLCAwLCAwLCAtMSwg
LTEpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5OT19FUlJPUiwg
ImNvbnRleHQuY29weVRleFN1YkltYWdlMkQoY29udGV4dC5URVhUVVJFXzJELCAwLCAwLCAwLCAw
LCAwLCAyLCAyKSIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCByZW5kZXJidWZmZXJTdG9y
YWdlKCkgd2l0aCBuZWdhdGl2ZSB3aWR0aC9oZWlnaHQiKTsKK3ZhciByZW5kZXJidWZmZXIgPSBj
b250ZXh0LmNyZWF0ZVJlbmRlcmJ1ZmZlcigpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRl
eHQsIGNvbnRleHQuTk9fRVJST1IsICJjb250ZXh0LmJpbmRSZW5kZXJidWZmZXIoY29udGV4dC5S
RU5ERVJCVUZGRVIsIHJlbmRlcmJ1ZmZlcikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250
ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LnJlbmRlcmJ1ZmZlclN0b3JhZ2Uo
Y29udGV4dC5SRU5ERVJCVUZGRVIsIGNvbnRleHQuUkdCQTQsIC0yLCAtMikiKTsKK3Nob3VsZEdl
bmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0Lk5PX0VSUk9SLCAiY29udGV4dC5yZW5kZXJi
dWZmZXJTdG9yYWdlKGNvbnRleHQuUkVOREVSQlVGRkVSLCBjb250ZXh0LlJHQkE0LCAxNiwgMTYp
Iik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IHNjaXNzb3IoKSB3aXRoIG5lZ2F0aXZlIHdp
ZHRoL2hlaWdodCIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5W
QUxJRF9WQUxVRSwgImNvbnRleHQuc2Npc3NvcigwLCAwLCAtMiwgLTIpIik7CitzaG91bGRHZW5l
cmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5OT19FUlJPUiwgImNvbnRleHQuc2Npc3Nvcigw
LCAwLCAxNiwgMTYpIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IHZpZXdwb3J0KCkgd2l0
aCBuZWdhdGl2ZSB3aWR0aC9oZWlnaHQiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0
LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LnZpZXdwb3J0KDAsIDAsIC0yLCAtMiki
KTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0Lk5PX0VSUk9SLCAiY29u
dGV4dC52aWV3cG9ydCgwLCAwLCAxNiwgMTYpIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJTZXQg
dXAgYSBwcm9ncmFtIHRvIHRlc3QgaW52YWxpZCBjaGFyYWN0ZXJzIik7Cit2YXIgaW52YWxpZFNl
dCA9IFsnIicsICckJywgJ2AnLCAnQCcsICdcXCcsICInIl07Cit2YXIgdmFsaWRVbmlmb3JtTmFt
ZSA9ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla
XzEyMzQ1Njc4OTAiOwordmFyIHZhbGlkQXR0cmliTmFtZSA9ICJhYmNkZWZnaGlqa2xtbm9wcXJz
dHV2d3h5el9BQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjEyMzQ1Njc4OTAiOworZnVuY3Rpb24g
Z2VuZXJhdGVTaGFkZXJTb3VyY2Uob3B0X2ludmFsaWRJZGVudGlmaWVyQ2hhciwgb3B0X2ludmFs
aWRDb21tZW50Q2hhcikgeworICB2YXIgaW52YWxpZElkZW50aWZpZXJTdHJpbmcgPSAiIjsKKyAg
dmFyIGludmFsaWRDb21tZW50U3RyaW5nID0gIiI7CisgIGlmIChvcHRfaW52YWxpZElkZW50aWZp
ZXJDaGFyICE9IHVuZGVmaW5lZCkgeworICAgIGludmFsaWRJZGVudGlmaWVyU3RyaW5nICs9IG9w
dF9pbnZhbGlkSWRlbnRpZmllckNoYXI7CisgIH0KKyAgaWYgKG9wdF9pbnZhbGlkQ29tbWVudENo
YXIgIT0gdW5kZWZpbmVkKSB7CisgICAgaW52YWxpZENvbW1lbnRTdHJpbmcgKz0gb3B0X2ludmFs
aWRDb21tZW50Q2hhcjsKKyAgfQorICByZXR1cm4gInVuaWZvcm0gZmxvYXQgIiArIHZhbGlkVW5p
Zm9ybU5hbWUgKyBpbnZhbGlkSWRlbnRpZmllclN0cmluZyArICI7XG4iCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICsgInZhcnlpbmcgZmxvYXQgIiArIHZhbGlkQXR0cmliTmFtZSArICI7XG4i
CisgICAgICAgICAgICAgICAgICAgICAgICAgICsgInZvaWQgbWFpbigpIHtcbiIKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgKyB2YWxpZEF0dHJpYk5hbWUgICsgIiA9ICIgKyB2YWxpZFVuaWZv
cm1OYW1lICsgIjtcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKyAiZ2xfUG9zaXRpb24g
PSB2ZWM0KDAuMCwgMC4wLCAwLjAsIDEuMCk7IH1cbiI7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICsgIi8vListLyolPD5bXSgpe31efCZ+PSE6Oyw/IyAiICsgaW52YWxpZENvbW1lbnRTdHJp
bmc7Cit9Cit2YXIgdlNoYWRlciA9IGNvbnRleHQuY3JlYXRlU2hhZGVyKGNvbnRleHQuVkVSVEVY
X1NIQURFUik7Citjb250ZXh0LnNoYWRlclNvdXJjZSh2U2hhZGVyLCBnZW5lcmF0ZVNoYWRlclNv
dXJjZSgpKTsKK2NvbnRleHQuY29tcGlsZVNoYWRlcih2U2hhZGVyKTsKK3Nob3VsZEJlKCJjb250
ZXh0LmdldEVycm9yKCkiLCAiY29udGV4dC5OT19FUlJPUiIpOwordmFyIGZTaGFkZXIgPSBjb250
ZXh0LmNyZWF0ZVNoYWRlcihjb250ZXh0LkZSQUdNRU5UX1NIQURFUik7Citjb250ZXh0LnNoYWRl
clNvdXJjZShmU2hhZGVyLCAicHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7XG4iCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICArICJ2YXJ5aW5nIGZsb2F0ICIgKyB2YWxpZEF0dHJpYk5hbWUg
KyAiO1xuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAidm9pZCBtYWluKCkge1xu
IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAiZ2xfRnJhZ0NvbG9yID0gdmVjNCgi
ICsgdmFsaWRBdHRyaWJOYW1lICsgIiwgMC4wLCAwLjAsIDEuMCk7IH0iKTsKK2NvbnRleHQuY29t
cGlsZVNoYWRlcihmU2hhZGVyKTsKK3Nob3VsZEJlKCJjb250ZXh0LmdldEVycm9yKCkiLCAiY29u
dGV4dC5OT19FUlJPUiIpOwordmFyIHByb2dyYW0gPSBjb250ZXh0LmNyZWF0ZVByb2dyYW0oKTsK
K2NvbnRleHQuYXR0YWNoU2hhZGVyKHByb2dyYW0sIHZTaGFkZXIpOworY29udGV4dC5hdHRhY2hT
aGFkZXIocHJvZ3JhbSwgZlNoYWRlcik7Citjb250ZXh0LmxpbmtQcm9ncmFtKHByb2dyYW0pOwor
dmFyIGxpbmtTdGF0dXMgPSBjb250ZXh0LmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ3JhbSwgY29u
dGV4dC5MSU5LX1NUQVRVUyk7CitzaG91bGRCZVRydWUoImxpbmtTdGF0dXMiKTsKK2lmICghbGlu
a1N0YXR1cykKKyAgZGVidWcoY29udGV4dC5nZXRQcm9ncmFtSW5mb0xvZyhwcm9ncmFtKSk7Citz
aG91bGRCZSgiY29udGV4dC5nZXRFcnJvcigpIiwgImNvbnRleHQuTk9fRVJST1IiKTsKK2NvbnRl
eHQuYmluZEF0dHJpYkxvY2F0aW9uKHByb2dyYW0sIDEsIHZhbGlkQXR0cmliTmFtZSk7CitzaG91
bGRCZSgiY29udGV4dC5nZXRFcnJvcigpIiwgImNvbnRleHQuTk9fRVJST1IiKTsKK2NvbnRleHQu
Z2V0QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgdmFsaWRBdHRyaWJOYW1lKTsKK3Nob3VsZEJlKCJj
b250ZXh0LmdldEVycm9yKCkiLCAiY29udGV4dC5OT19FUlJPUiIpOworY29udGV4dC5nZXRVbmlm
b3JtTG9jYXRpb24ocHJvZ3JhbSwgdmFsaWRVbmlmb3JtTmFtZSk7CitzaG91bGRCZSgiY29udGV4
dC5nZXRFcnJvcigpIiwgImNvbnRleHQuTk9fRVJST1IiKTsKKworZGVidWcoIiIpOworZGVidWco
IlRlc3Qgc2hhZGVyU291cmNlKCkgd2l0aCBpbnZhbGlkIGNoYXJhY3RlcnMiKTsKK2ZvciAodmFy
IGkgPSAwOyBpIDwgaW52YWxpZFNldC5sZW5ndGg7ICsraSkgeworICB2YXIgdmFsaWRTaGFkZXJT
b3VyY2UgPSBnZW5lcmF0ZVNoYWRlclNvdXJjZSh1bmRlZmluZWQsIGludmFsaWRTZXRbaV0pOwor
ICBjb250ZXh0LnNoYWRlclNvdXJjZSh2U2hhZGVyLCB2YWxpZFNoYWRlclNvdXJjZSk7CisgIHNo
b3VsZEJlKCJjb250ZXh0LmdldEVycm9yKCkiLCAiY29udGV4dC5OT19FUlJPUiIpOworICB2YXIg
aW52YWxpZFNoYWRlclNvdXJjZSA9IGdlbmVyYXRlU2hhZGVyU291cmNlKGludmFsaWRTZXRbaV0s
IHVuZGVmaW5lZCk7CisgIGNvbnRleHQuc2hhZGVyU291cmNlKHZTaGFkZXIsIGludmFsaWRTaGFk
ZXJTb3VyY2UpOworICBzaG91bGRCZSgiY29udGV4dC5nZXRFcnJvcigpIiwgImNvbnRleHQuSU5W
QUxJRF9WQUxVRSIpOworfQorCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVzdCBiaW5kQXR0cmliTG9j
YXRpb24oKSB3aXRoIGludmFsaWQgY2hhcmFjdGVycyIpOworZm9yICh2YXIgaSA9IDA7IGkgPCBp
bnZhbGlkU2V0Lmxlbmd0aDsgKytpKSB7CisgIHZhciBpbnZhbGlkTmFtZSA9IHZhbGlkQXR0cmli
TmFtZSArIGludmFsaWRTZXRbaV07CisgIGNvbnRleHQuYmluZEF0dHJpYkxvY2F0aW9uKHByb2dy
YW0sIDEsIGludmFsaWROYW1lKTsKKyAgc2hvdWxkQmUoImNvbnRleHQuZ2V0RXJyb3IoKSIsICJj
b250ZXh0LklOVkFMSURfVkFMVUUiKTsKK30KKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgZ2V0
QXR0cmliTG9jYXRpb24oKSB3aXRoIGludmFsaWQgY2hhcmFjdGVycyIpOworZm9yICh2YXIgaSA9
IDA7IGkgPCBpbnZhbGlkU2V0Lmxlbmd0aDsgKytpKSB7CisgIHZhciBpbnZhbGlkTmFtZSA9IHZh
bGlkQXR0cmliTmFtZSArIGludmFsaWRTZXRbaV07CisgIGNvbnRleHQuZ2V0QXR0cmliTG9jYXRp
b24ocHJvZ3JhbSwgaW52YWxpZE5hbWUpOworICBzaG91bGRCZSgiY29udGV4dC5nZXRFcnJvcigp
IiwgImNvbnRleHQuSU5WQUxJRF9WQUxVRSIpOworfQorCitkZWJ1ZygiIik7CitkZWJ1ZygiVGVz
dCBnZXRVbmlmb3JtTG9jYXRpb24oKSB3aXRoIGludmFsaWQgY2hhcmFjdGVycyIpOworZm9yICh2
YXIgaSA9IDA7IGkgPCBpbnZhbGlkU2V0Lmxlbmd0aDsgKytpKSB7CisgIHZhciBpbnZhbGlkTmFt
ZSA9IHZhbGlkVW5pZm9ybU5hbWUgKyBpbnZhbGlkU2V0W2ldOworICBjb250ZXh0LmdldFVuaWZv
cm1Mb2NhdGlvbihwcm9ncmFtLCBpbnZhbGlkTmFtZSk7CisgIHNob3VsZEJlKCJjb250ZXh0Lmdl
dEVycm9yKCkiLCAiY29udGV4dC5JTlZBTElEX1ZBTFVFIik7Cit9CisKK2RlYnVnKCIiKQordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmls
ZXMvY29uZm9ybWFuY2UvbWlzYy9pcy1vYmplY3QuaHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jl
c291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvaXMtb2JqZWN0Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmIwMjNlNWVmN2FhMmY2Y2Q5MDNiMGQ4Y2ZhZDkwM2UwYmE0MDI5OQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2Zp
bGVzL2NvbmZvcm1hbmNlL21pc2MvaXMtb2JqZWN0Lmh0bWwKQEAgLTAsMCArMSwxMDAgQEAKKzwh
LS0KKworLyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisq
KgorKiogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu
eSBwZXJzb24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNz
b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVh
bCBpbiB0aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0
aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9m
IHRoZSBNYXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0
ZXJpYWxzIGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp
cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBv
ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRF
UklBTFMgQVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQs
CisqKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJ
TSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERF
QUxJTkdTIElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
cmVzb3VyY2VzL3dlYmdsLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxjYW52YXMgaWQ9ImNhbnZhcyI+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIHd0dTsK
K3ZhciBjYW52YXM7Cit2YXIgZ2w7Cit2YXIgc2hvdWxkR2VuZXJhdGVHTEVycm9yOworCit2YXIg
YnVmZmVyOwordmFyIGZyYW1lYnVmZmVyOwordmFyIHByb2dyYW07Cit2YXIgcmVuZGVyYnVmZmVy
OwordmFyIHNoYWRlcjsKK3ZhciB0ZXh0dXJlOworCitkZXNjcmlwdGlvbigiVGVzdHMgJ2lzJyBj
YWxscyBhZ2FpbnN0IG5vbi1ib3VuZCBhbmQgZGVsZXRlZCBvYmplY3RzIik7CisKK3d0dSA9IFdl
YkdMVGVzdFV0aWxzOwordmFyIGdsID0gd3R1LmNyZWF0ZTNEQ29udGV4dCgiY2FudmFzIik7Citz
aG91bGRHZW5lcmF0ZUdMRXJyb3IgPSB3dHUuc2hvdWxkR2VuZXJhdGVHTEVycm9yOworCitzaG91
bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiYnVmZmVyID0gZ2wuY3JlYXRlQnVm
ZmVyKCkiKTsKK3Nob3VsZEJlRmFsc2UoImdsLmlzQnVmZmVyKGJ1ZmZlcikiKTsKK3Nob3VsZEdl
bmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JV
RkZFUiwgYnVmZmVyKSIpOworc2hvdWxkQmVUcnVlKCJnbC5pc0J1ZmZlcihidWZmZXIpIik7Citk
ZWJ1ZygiIik7CisKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJmcmFt
ZWJ1ZmZlciA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCkiKTsKK3Nob3VsZEJlRmFsc2UoImdsLmlz
RnJhbWVidWZmZXIoZnJhbWVidWZmZXIpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGds
Lk5PX0VSUk9SLCAiZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmcmFtZWJ1ZmZl
cikiKTsKK3Nob3VsZEJlVHJ1ZSgiZ2wuaXNGcmFtZWJ1ZmZlcihmcmFtZWJ1ZmZlcikiKTsKK2Rl
YnVnKCIiKTsKKworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgInJlbmRl
cmJ1ZmZlciA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigpIik7CitzaG91bGRCZUZhbHNlKCJnbC5p
c1JlbmRlcmJ1ZmZlcihyZW5kZXJidWZmZXIpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2ws
IGdsLk5PX0VSUk9SLCAiZ2wuYmluZFJlbmRlcmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIHJlbmRl
cmJ1ZmZlcikiKTsKK3Nob3VsZEJlVHJ1ZSgiZ2wuaXNSZW5kZXJidWZmZXIocmVuZGVyYnVmZmVy
KSIpOworZGVidWcoIiIpOworCitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9S
LCAidGV4dHVyZSA9IGdsLmNyZWF0ZVRleHR1cmUoKSIpOworc2hvdWxkQmVGYWxzZSgiZ2wuaXNU
ZXh0dXJlKHRleHR1cmUpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9S
LCAiZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSkiKTsKK3Nob3VsZEJlVHJ1
ZSgiZ2wuaXNUZXh0dXJlKHRleHR1cmUpIik7CitkZWJ1ZygiIik7CisKK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJwcm9ncmFtID0gZ2wuY3JlYXRlUHJvZ3JhbSgpIik7
CitzaG91bGRCZVRydWUoImdsLmlzUHJvZ3JhbShwcm9ncmFtKSIpOworc2hvdWxkR2VuZXJhdGVH
TEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmRlbGV0ZVByb2dyYW0ocHJvZ3JhbSkiKTsKK3No
b3VsZEJlRmFsc2UoImdsLmlzUHJvZ3JhbShwcm9ncmFtKSIpOworZGVidWcoIiIpOworCitzaG91
bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAic2hhZGVyID0gZ2wuY3JlYXRlU2hh
ZGVyKGdsLlZFUlRFWF9TSEFERVIpIik7CitzaG91bGRCZVRydWUoImdsLmlzU2hhZGVyKHNoYWRl
cikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5kZWxldGVT
aGFkZXIoc2hhZGVyKSIpOworc2hvdWxkQmVGYWxzZSgiZ2wuaXNTaGFkZXIoc2hhZGVyKSIpOwor
ZGVidWcoIiIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy9udWxsLW9iamVjdC1iZWhhdmlvdXIu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZv
cm1hbmNlL21pc2MvbnVsbC1vYmplY3QtYmVoYXZpb3VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODMwYjA1
Nzg2NDBiNjYxMmQ5NGE0NGVmMjZlNDlmZDEwNjAwZTJhMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21p
c2MvbnVsbC1vYmplY3QtYmVoYXZpb3VyLmh0bWwKQEAgLTAsMCArMSwxMTEgQEAKKzwhLS0KKwor
LyoKKyoqIENvcHlyaWdodCAoYykgMjAxMiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisqKgorKiog
UGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJz
b24gb2J0YWluaW5nIGEKKyoqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQvb3IgYXNzb2NpYXRl
ZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUKKyoqICJNYXRlcmlhbHMiKSwgdG8gZGVhbCBpbiB0
aGUgTWF0ZXJpYWxzIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZworKiogd2l0aG91dCBs
aW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo
LAorKiogZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBN
YXRlcmlhbHMsIGFuZCB0bworKiogcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgTWF0ZXJpYWxz
IGFyZSBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KKyoqIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9uczoKKyoqCisqKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt
aXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZAorKiogaW4gYWxsIGNvcGllcyBvciBzdWJz
dGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgTWF0ZXJpYWxzLgorKioKKyoqIFRIRSBNQVRFUklBTFMg
QVJFIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisqKiBF
WFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB
TlRJRVMgT0YKKyoqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KKyoqIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRI
T1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCisqKiBDTEFJTSwgREFN
QUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU
LAorKiogVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F
Q1RJT04gV0lUSCBUSEUKKyoqIE1BVEVSSUFMUyBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdT
IElOIFRIRSBNQVRFUklBTFMuCisqLworCistLT4KKworPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvd2ViZ2wtdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8
c2NyaXB0PgorInVzZSBzdHJpY3QiOwordmFyIHd0dSA9IFdlYkdMVGVzdFV0aWxzOworZGVzY3Jp
cHRpb24oIlRlc3RzIGNhbGxpbmcgV2ViR0wgQVBJcyB3aXRob3V0IHByb3ZpZGluZyB0aGUgbmVj
ZXNzYXJ5IG9iamVjdHMiKTsKKwordmFyIGNvbnRleHQgPSB3dHUuY3JlYXRlM0RDb250ZXh0KCk7
Cit2YXIgcHJvZ3JhbSA9IHd0dS5sb2FkU3RhbmRhcmRQcm9ncmFtKGNvbnRleHQpOwordmFyIHNo
YWRlciA9IHd0dS5sb2FkU3RhbmRhcmRWZXJ0ZXhTaGFkZXIoY29udGV4dCk7Cit2YXIgc2hvdWxk
R2VuZXJhdGVHTEVycm9yID0gd3R1LnNob3VsZEdlbmVyYXRlR0xFcnJvcjsKKworYXNzZXJ0TXNn
KHByb2dyYW0gIT0gbnVsbCwgIlByb2dyYW0gQ29tcGlsZWQiKTsKK2Fzc2VydE1zZyhzaGFkZXIg
IT0gbnVsbCwgIlNoYWRlciBDb21waWxlZCIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRl
eHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuY29tcGlsZVNoYWRlcih1bmRlZmlu
ZWQpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZB
TFVFLCAiY29udGV4dC5saW5rUHJvZ3JhbSh1bmRlZmluZWQpIik7CitzaG91bGRHZW5lcmF0ZUdM
RXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5hdHRhY2hTaGFk
ZXIodW5kZWZpbmVkLCB1bmRlZmluZWQpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4
dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwg
dW5kZWZpbmVkKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5W
QUxJRF9WQUxVRSwgImNvbnRleHQuYXR0YWNoU2hhZGVyKHVuZGVmaW5lZCwgc2hhZGVyKSIpOwor
c2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNv
bnRleHQuZGV0YWNoU2hhZGVyKHByb2dyYW0sIHVuZGVmaW5lZCkiKTsKK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LmRldGFjaFNo
YWRlcih1bmRlZmluZWQsIHNoYWRlcikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0
LCBjb250ZXh0LklOVkFMSURfVkFMVUUsICJjb250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQs
IHVuZGVmaW5lZCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklO
VkFMSURfVkFMVUUsICJjb250ZXh0LnNoYWRlclNvdXJjZSh1bmRlZmluZWQsICdmb28nKSIpOwor
c2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNv
bnRleHQuYmluZEF0dHJpYkxvY2F0aW9uKHVuZGVmaW5lZCwgMCwgJ2ZvbycpIik7CitzaG91bGRU
aHJvdygiY29udGV4dC5iaW5kQnVmZmVyKGNvbnRleHQuQVJSQVlfQlVGRkVSLCAwKSIpOworc2hv
dWxkVGhyb3coImNvbnRleHQuYmluZEZyYW1lYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIDAp
Iik7CitzaG91bGRUaHJvdygiY29udGV4dC5iaW5kUmVuZGVyYnVmZmVyKGNvbnRleHQuUkVOREVS
QlVGRkVSLCAwKSIpOworc2hvdWxkVGhyb3coImNvbnRleHQuYmluZFRleHR1cmUoY29udGV4dC5U
RVhUVVJFXzJELCAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQu
Tk9fRVJST1IsICJjb250ZXh0LmJpbmRCdWZmZXIoY29udGV4dC5BUlJBWV9CVUZGRVIsIG51bGwp
Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5OT19FUlJPUiwgImNv
bnRleHQuYmluZEZyYW1lYnVmZmVyKGNvbnRleHQuRlJBTUVCVUZGRVIsIG51bGwpIik7CitzaG91
bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5OT19FUlJPUiwgImNvbnRleHQuYmlu
ZFJlbmRlcmJ1ZmZlcihjb250ZXh0LlJFTkRFUkJVRkZFUiwgbnVsbCkiKTsKK3Nob3VsZEdlbmVy
YXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0Lk5PX0VSUk9SLCAiY29udGV4dC5iaW5kVGV4dHVy
ZShjb250ZXh0LlRFWFRVUkVfMkQsIG51bGwpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29u
dGV4dCwgY29udGV4dC5OT19FUlJPUiwgImNvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZ
X0JVRkZFUiwgdW5kZWZpbmVkKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNv
bnRleHQuTk9fRVJST1IsICJjb250ZXh0LmJpbmRGcmFtZWJ1ZmZlcihjb250ZXh0LkZSQU1FQlVG
RkVSLCB1bmRlZmluZWQpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4
dC5OT19FUlJPUiwgImNvbnRleHQuYmluZFJlbmRlcmJ1ZmZlcihjb250ZXh0LlJFTkRFUkJVRkZF
UiwgdW5kZWZpbmVkKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQu
Tk9fRVJST1IsICJjb250ZXh0LmJpbmRUZXh0dXJlKGNvbnRleHQuVEVYVFVSRV8yRCwgdW5kZWZp
bmVkKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9P
UEVSQVRJT04sICJjb250ZXh0LmZyYW1lYnVmZmVyUmVuZGVyYnVmZmVyKGNvbnRleHQuRlJBTUVC
VUZGRVIsIGNvbnRleHQuREVQVEhfQVRUQUNITUVOVCwgY29udGV4dC5SRU5ERVJCVUZGRVIsIG51
bGwpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX09Q
RVJBVElPTiwgImNvbnRleHQuZnJhbWVidWZmZXJUZXh0dXJlMkQoY29udGV4dC5GUkFNRUJVRkZF
UiwgY29udGV4dC5DT0xPUl9BVFRBQ0hNRU5UMCwgY29udGV4dC5URVhUVVJFXzJELCBudWxsLCAw
KSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxV
RSwgImNvbnRleHQuZ2V0UHJvZ3JhbVBhcmFtZXRlcih1bmRlZmluZWQsIDApIik7CitzaG91bGRH
ZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5n
ZXRQcm9ncmFtSW5mb0xvZyh1bmRlZmluZWQsIDApIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Y29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5nZXRTaGFkZXJQYXJhbWV0
ZXIodW5kZWZpbmVkLCAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRl
eHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZ2V0U2hhZGVySW5mb0xvZyh1bmRlZmluZWQsIDAp
Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29udGV4dC5JTlZBTElEX1ZBTFVF
LCAiY29udGV4dC5nZXRTaGFkZXJTb3VyY2UodW5kZWZpbmVkKSIpOworc2hvdWxkR2VuZXJhdGVH
TEVycm9yKGNvbnRleHQsIGNvbnRleHQuSU5WQUxJRF9WQUxVRSwgImNvbnRleHQuZ2V0VW5pZm9y
bSh1bmRlZmluZWQsIG51bGwpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwgY29u
dGV4dC5JTlZBTElEX1ZBTFVFLCAiY29udGV4dC5nZXRVbmlmb3JtTG9jYXRpb24odW5kZWZpbmVk
LCAnZm9vJykiKTsKKworZGVidWcoIiIpOworZGVidWcoImNoZWNrIHdpdGggYmluZGluZ3MiKTsK
K2NvbnRleHQuYmluZEJ1ZmZlcihjb250ZXh0LkFSUkFZX0JVRkZFUiwgY29udGV4dC5jcmVhdGVC
dWZmZXIoKSk7Citjb250ZXh0LmJpbmRUZXh0dXJlKGNvbnRleHQuVEVYVFVSRV8yRCwgY29udGV4
dC5jcmVhdGVUZXh0dXJlKCkpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRl
eHQuTk9fRVJST1IsICJjb250ZXh0LmJ1ZmZlckRhdGEoY29udGV4dC5BUlJBWV9CVUZGRVIsIDEs
IGNvbnRleHQuU1RBVElDX0RSQVcpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoY29udGV4dCwg
Y29udGV4dC5OT19FUlJPUiwgImNvbnRleHQuZ2V0QnVmZmVyUGFyYW1ldGVyKGNvbnRleHQuQVJS
QVlfQlVGRkVSLCBjb250ZXh0LkJVRkZFUl9TSVpFKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9y
KGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IsICJjb250ZXh0LnRleEltYWdlMkQoY29udGV4dC5U
RVhUVVJFXzJELCAwLCBjb250ZXh0LlJHQkEsIDEsIDEsIDAsIGNvbnRleHQuUkdCQSwgY29udGV4
dC5VTlNJR05FRF9CWVRFLCBuZXcgVWludDhBcnJheShbMCwwLDAsMF0pKSIpOworc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQuTk9fRVJST1IsICJjb250ZXh0LnRleFBhcmFt
ZXRlcmkoY29udGV4dC5URVhUVVJFXzJELCBjb250ZXh0LlRFWFRVUkVfTUlOX0ZJTFRFUiwgY29u
dGV4dC5ORUFSRVNUKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQu
Tk9fRVJST1IsICJjb250ZXh0LmdldFRleFBhcmFtZXRlcihjb250ZXh0LlRFWFRVUkVfMkQsIGNv
bnRleHQuVEVYVFVSRV9NSU5fRklMVEVSKSIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiY2hlY2sg
d2l0aG91dCBiaW5kaW5ncyIpOworY29udGV4dC5iaW5kQnVmZmVyKGNvbnRleHQuQVJSQVlfQlVG
RkVSLCBudWxsKTsKK2NvbnRleHQuYmluZFRleHR1cmUoY29udGV4dC5URVhUVVJFXzJELCBudWxs
KTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFU
SU9OLCAiY29udGV4dC5idWZmZXJEYXRhKGNvbnRleHQuQVJSQVlfQlVGRkVSLCAxLCBjb250ZXh0
LlNUQVRJQ19EUkFXKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGNvbnRleHQsIGNvbnRleHQu
SU5WQUxJRF9PUEVSQVRJT04sICJjb250ZXh0LmdldEJ1ZmZlclBhcmFtZXRlcihjb250ZXh0LkFS
UkFZX0JVRkZFUiwgY29udGV4dC5CVUZGRVJfU0laRSkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJv
cihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dC50ZXhJbWFnZTJE
KGNvbnRleHQuVEVYVFVSRV8yRCwgMCwgY29udGV4dC5SR0JBLCAxLCAxLCAwLCBjb250ZXh0LlJH
QkEsIGNvbnRleHQuVU5TSUdORURfQllURSwgbmV3IFVpbnQ4QXJyYXkoWzAsMCwwLDBdKSkiKTsK
K3Nob3VsZEdlbmVyYXRlR0xFcnJvcihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFUSU9O
LCAiY29udGV4dC50ZXhQYXJhbWV0ZXJpKGNvbnRleHQuVEVYVFVSRV8yRCwgY29udGV4dC5URVhU
VVJFX01JTl9GSUxURVIsIGNvbnRleHQuTkVBUkVTVCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJv
cihjb250ZXh0LCBjb250ZXh0LklOVkFMSURfT1BFUkFUSU9OLCAiY29udGV4dC5nZXRUZXhQYXJh
bWV0ZXIoY29udGV4dC5URVhUVVJFXzJELCBjb250ZXh0LlRFWFRVUkVfTUlOX0ZJTFRFUikiKTsK
KworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL29iamVjdC1kZWxldGlvbi1iZWhhdmlvdXIuaHRt
bCBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1h
bmNlL21pc2Mvb2JqZWN0LWRlbGV0aW9uLWJlaGF2aW91ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiYmY1
ZGU5Nzc4MWFmMjcyYzYyODhhNjllYTAxZDlkZTc3OWI4M2EKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
aXNjL29iamVjdC1kZWxldGlvbi1iZWhhdmlvdXIuaHRtbApAQCAtMCwwICsxLDQ0OCBAQAorPCEt
LQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoq
CisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55
IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFs
IGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg
dGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRl
cmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz
IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9y
IHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVS
SUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwK
KyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg
V0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlN
LCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4g
Q09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7CitkZXNjcmlwdGlvbigiVGVzdHMgZGVsZXRpb24g
YmVoYXZpb3IgZm9yIHRleHR1cmUsIHJlbmRlcmJ1ZmZlciwgc2hhZGVyLCBhbmQgcHJvZ3JhbSIp
OworCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7Cit2YXIgZ2wgPSB3dHUuY3JlYXRlM0RDb250
ZXh0KCk7Cit2YXIgc2hvdWxkR2VuZXJhdGVHTEVycm9yID0gd3R1LnNob3VsZEdlbmVyYXRlR0xF
cnJvcjsKKworZGVidWcoIiIpOworZGVidWcoInNoYWRlciBhbmQgcHJvZ3JhbSBkZWxldGlvbiIp
OworCit2YXIgdmVydGV4U2hhZGVyID0gd3R1LmxvYWRTdGFuZGFyZFZlcnRleFNoYWRlcihnbCk7
Cithc3NlcnRNc2codmVydGV4U2hhZGVyLCAidmVydGV4IHNoYWRlciBsb2FkZWQiKTsKK3ZhciBm
cmFnbWVudFNoYWRlciA9IHd0dS5sb2FkU3RhbmRhcmRGcmFnbWVudFNoYWRlcihnbCk7Cithc3Nl
cnRNc2coZnJhZ21lbnRTaGFkZXIsICJmcmFnbWVudCBzaGFkZXIgbG9hZGVkIik7CisKK3ZhciBw
cm9ncmFtID0gZ2wuY3JlYXRlUHJvZ3JhbSgpOworc2hvdWxkQmVOb25OdWxsKCJwcm9ncmFtIik7
CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuYXR0YWNoU2hhZGVy
KHByb2dyYW0sIHZlcnRleFNoYWRlcikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wu
Tk9fRVJST1IsICJnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgZnJhZ21lbnRTaGFkZXIpIik7Citz
aG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wubGlua1Byb2dyYW0ocHJv
Z3JhbSkiKTsKK3Nob3VsZEJlVHJ1ZSgiZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBn
bC5MSU5LX1NUQVRVUykiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1Is
ICJnbC51c2VQcm9ncmFtKHByb2dyYW0pIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGds
Lk5PX0VSUk9SLCAiZ2wuZGVsZXRlU2hhZGVyKHZlcnRleFNoYWRlcikiKTsKK3Nob3VsZEJlVHJ1
ZSgiZ2wuaXNTaGFkZXIodmVydGV4U2hhZGVyKSIpOworc2hvdWxkQmVUcnVlKCJnbC5nZXRTaGFk
ZXJQYXJhbWV0ZXIodmVydGV4U2hhZGVyLCBnbC5ERUxFVEVfU1RBVFVTKSIpOworc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmRldGFjaFNoYWRlcihwcm9ncmFtLCB2
ZXJ0ZXhTaGFkZXIpIik7CitzaG91bGRCZUZhbHNlKCJnbC5pc1NoYWRlcih2ZXJ0ZXhTaGFkZXIp
Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuZGVsZXRlU2hh
ZGVyKGZyYWdtZW50U2hhZGVyKSIpOworc2hvdWxkQmVUcnVlKCJnbC5pc1NoYWRlcihmcmFnbWVu
dFNoYWRlcikiKTsKK3Nob3VsZEJlVHJ1ZSgiZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKGZyYWdtZW50
U2hhZGVyLCBnbC5ERUxFVEVfU1RBVFVTKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBn
bC5OT19FUlJPUiwgImdsLmRlbGV0ZVByb2dyYW0ocHJvZ3JhbSkiKTsKK3Nob3VsZEJlVHJ1ZSgi
Z2wuaXNQcm9ncmFtKHByb2dyYW0pIik7CitzaG91bGRCZVRydWUoImdsLmdldFByb2dyYW1QYXJh
bWV0ZXIocHJvZ3JhbSwgZ2wuREVMRVRFX1NUQVRVUykiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJv
cihnbCwgZ2wuTk9fRVJST1IsICJnbC51c2VQcm9ncmFtKG51bGwpIik7CitzaG91bGRCZUZhbHNl
KCJnbC5pc1Byb2dyYW0ocHJvZ3JhbSkiKTsKK3Nob3VsZEJlRmFsc2UoImdsLmlzU2hhZGVyKGZy
YWdtZW50U2hhZGVyKSIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygidGV4dHVyZSBkZWxldGlvbiIp
OworCit2YXIgZmJvID0gZ2wuY3JlYXRlRnJhbWVidWZmZXIoKSwgZmJvMiA9IGdsLmNyZWF0ZUZy
YW1lYnVmZmVyKCksIGZibzMgPSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpOworc2hvdWxkQmVOb25O
dWxsKCJmYm8iKTsKK3Nob3VsZEJlTm9uTnVsbCgiZmJvMiIpOworc2hvdWxkQmVOb25OdWxsKCJm
Ym8zIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuYmluZEZy
YW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pIik7CisKK3ZhciB0ZXggPSBnbC5jcmVhdGVU
ZXh0dXJlKCk7CitzaG91bGRCZU5vbk51bGwoInRleCIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9y
KGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCkiKTsK
K3Nob3VsZEJlKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuVEVYVFVSRV9CSU5ESU5HXzJEKSIsICJ0ZXgi
KTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5mcmFtZWJ1ZmZl
clRleHR1cmUyRChnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlRFWFRV
UkVfMkQsIHRleCwgMCkiKTsKK3Nob3VsZEJlKCJnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQ
YXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJV
RkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FKSIsICJ0ZXgiKTsKK3Nob3VsZEJlKCJnbC5nZXRG
cmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FU
VEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFKSIsICJnbC5U
RVhUVVJFIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuZGVs
ZXRlVGV4dHVyZSh0ZXgpIik7CisvLyBEZWxldGluZyBhIHRleHR1cmUgYm91bmQgdG8gdGhlIGN1
cnJlbnRseS1ib3VuZCBmYm8gaXMgdGhlIHNhbWUgYXMKKy8vIGRldGFjaGluZyB0aGUgdGV4dHVl
IGZyb20gZmJvIGZpcnN0LCB0aGVuIGRlbGV0ZSB0aGUgdGV4dHVyZS4KK3Nob3VsZEJlKCJnbC5n
ZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9S
X0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFKSIsICJn
bC5OT05FIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLklOVkFMSURfRU5VTSwgImds
LmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09M
T1JfQVRUQUNITUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX05BTUUpIik7
CitzaG91bGRCZUZhbHNlKCJnbC5pc1RleHR1cmUodGV4KSIpOworc2hvdWxkQmVOdWxsKCJnbC5n
ZXRQYXJhbWV0ZXIoZ2wuVEVYVFVSRV9CSU5ESU5HXzJEKSIpOworc2hvdWxkR2VuZXJhdGVHTEVy
cm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRUZXh0dXJlKGdsLlRFWFRVUkVfMkQsIHRleCki
KTsKK3Nob3VsZEJlTnVsbCgiZ2wuZ2V0UGFyYW1ldGVyKGdsLlRFWFRVUkVfQklORElOR18yRCki
KTsKKwordmFyIHRleEN1YmVNYXAgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CitzaG91bGRCZU5vbk51
bGwoInRleEN1YmVNYXAiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1Is
ICJnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCB0ZXhDdWJlTWFwKSIpOworc2hv
dWxkQmUoImdsLmdldFBhcmFtZXRlcihnbC5URVhUVVJFX0JJTkRJTkdfQ1VCRV9NQVApIiwgInRl
eEN1YmVNYXAiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5k
ZWxldGVUZXh0dXJlKHRleEN1YmVNYXApIik7CitzaG91bGRCZUZhbHNlKCJnbC5pc1RleHR1cmUo
dGV4Q3ViZU1hcCkiKTsKK3Nob3VsZEJlTnVsbCgiZ2wuZ2V0UGFyYW1ldGVyKGdsLlRFWFRVUkVf
QklORElOR19DVUJFX01BUCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJS
T1IsICJnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFX0NVQkVfTUFQLCB0ZXhDdWJlTWFwKSIpOwor
c2hvdWxkQmVOdWxsKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuVEVYVFVSRV9CSU5ESU5HX0NVQkVfTUFQ
KSIpOworCit2YXIgdCA9IGdsLmNyZWF0ZVRleHR1cmUoKTsKK3Nob3VsZEJlTm9uTnVsbCgidCIp
Oworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRUZXh0dXJl
KGdsLlRFWFRVUkVfMkQsIHQpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VS
Uk9SLCAiZ2wudGV4UGFyYW1ldGVyaShnbC5URVhUVVJFXzJELCBnbC5URVhUVVJFX1dSQVBfUywg
Z2wuQ0xBTVBfVE9fRURHRSkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJS
T1IsICJnbC5kZWxldGVUZXh0dXJlKHQpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGds
Lk5PX0VSUk9SLCAiZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdCkiKTsKK3Nob3VsZEdl
bmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJnbC50ZXhQYXJhbWV0ZXJp
KGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfV1JBUF9TLCBnbC5DTEFNUF9UT19FREdFKSIpOwor
Cit2YXIgdDIgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CitzaG91bGRCZU5vbk51bGwoInQyIik7Citz
aG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuYWN0aXZlVGV4dHVyZShn
bC5URVhUVVJFMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJn
bC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCB0MikiKTsKK3Nob3VsZEJlKCJnbC5nZXRQYXJh
bWV0ZXIoZ2wuVEVYVFVSRV9CSU5ESU5HXzJEKSIsICJ0MiIpOworc2hvdWxkR2VuZXJhdGVHTEVy
cm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmFjdGl2ZVRleHR1cmUoZ2wuVEVYVFVSRTEpIik7Citz
aG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuYmluZFRleHR1cmUoZ2wu
VEVYVFVSRV8yRCwgdDIpIik7CitzaG91bGRCZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLlRFWFRVUkVf
QklORElOR18yRCkiLCAidDIiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJS
T1IsICJnbC5kZWxldGVUZXh0dXJlKHQyKSIpOworc2hvdWxkQmVOdWxsKCJnbC5nZXRQYXJhbWV0
ZXIoZ2wuVEVYVFVSRV9CSU5ESU5HXzJEKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBn
bC5OT19FUlJPUiwgImdsLmFjdGl2ZVRleHR1cmUoZ2wuVEVYVFVSRTApIik7CitzaG91bGRCZU51
bGwoImdsLmdldFBhcmFtZXRlcihnbC5URVhUVVJFX0JJTkRJTkdfMkQpIik7CisKK2RlYnVnKCIi
KTsKK2RlYnVnKCJyZW5kZXJidWZmZXIgZGVsZXRpb24iKTsKKwordmFyIHJibyA9IGdsLmNyZWF0
ZVJlbmRlcmJ1ZmZlcigpLCByYm8yID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCksIHJibzMgPSBn
bC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKK3Nob3VsZEJlTm9uTnVsbCgicmJvIik7CitzaG91bGRC
ZU5vbk51bGwoInJibzIiKTsKK3Nob3VsZEJlTm9uTnVsbCgicmJvMyIpOworc2hvdWxkR2VuZXJh
dGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVS
QlVGRkVSLCByYm8pIik7CitzaG91bGRCZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLlJFTkRFUkJVRkZF
Ul9CSU5ESU5HKSIsICJyYm8iKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJS
T1IsICJnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1Jf
QVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZFUiwgcmJvKSIpOworc2hvdWxkQmUoImdsLmdldEZy
YW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRU
QUNITUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX05BTUUpIiwgInJibyIp
Oworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmRlbGV0ZVJlbmRl
cmJ1ZmZlcihyYm8pIik7CisvLyBEZWxldGluZyBhIHJlbmRlcmJ1ZmZlciBib3VuZCB0byB0aGUg
Y3VycmVudGx5LWJvdW5kIGZibyBpcyB0aGUgc2FtZSBhcworLy8gZGV0YWNoaW5nIHRoZSByZW5k
ZXJidWZmZXIgZnJvbSBmYm8gZmlyc3QsIHRoZW4gZGVsZXRlIHRoZSByZW5kZXJidWZmZXIuCitz
aG91bGRCZSgiZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVG
RkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpF
Q1RfVFlQRSkiLCAiZ2wuTk9ORSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5JTlZB
TElEX0VOVU0sICJnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVC
VUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09C
SkVDVF9OQU1FKSIpOworc2hvdWxkQmVGYWxzZSgiZ2wuaXNSZW5kZXJidWZmZXIocmJvKSIpOwor
c2hvdWxkQmVOdWxsKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuUkVOREVSQlVGRkVSX0JJTkRJTkcpIik7
CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuYmluZFJlbmRlcmJ1
ZmZlcihnbC5SRU5ERVJCVUZGRVIsIHJibykiKTsKK3Nob3VsZEJlTnVsbCgiZ2wuZ2V0UGFyYW1l
dGVyKGdsLlJFTkRFUkJVRkZFUl9CSU5ESU5HKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGds
LCBnbC5OT19FUlJPUiwgImdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCByYm8y
KSIpOworc2hvdWxkQmUoImdsLmdldFBhcmFtZXRlcihnbC5SRU5ERVJCVUZGRVJfQklORElORyki
LCAicmJvMiIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmRl
bGV0ZVJlbmRlcmJ1ZmZlcihyYm8zKSIpOworc2hvdWxkQmUoImdsLmdldFBhcmFtZXRlcihnbC5S
RU5ERVJCVUZGRVJfQklORElORykiLCAicmJvMiIpOworCitkZWJ1ZygiIik7CitkZWJ1ZygidXNp
bmcgZGVsZXRlZCByZW5kZXJidWZmZXIiKTsKK3JibyA9IGdsLmNyZWF0ZVJlbmRlcmJ1ZmZlcigp
Oworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRSZW5kZXJi
dWZmZXIoZ2wuUkVOREVSQlVGRkVSLCByYm8pIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2ws
IGdsLk5PX0VSUk9SLCAiZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGds
LlJHQkE0LCAxNiwgMTYpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9S
LCAiZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pIik7CitzaG91bGRHZW5l
cmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIo
Z2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIHJi
bykiKTsKK2lmIChnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSA9PSBn
bC5GUkFNRUJVRkZFUl9DT01QTEVURSkgeworICAvLyBtYWtlIGJhY2tidWZmZXIgcmVkCisgIHNo
b3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5iaW5kRnJhbWVidWZmZXIo
Z2wuRlJBTUVCVUZGRVIsIG51bGwpIik7CisgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wu
Tk9fRVJST1IsICJnbC5jbGVhckNvbG9yKDEsMCwwLDEpIik7CisgIHNob3VsZEdlbmVyYXRlR0xF
cnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKSIpOwor
ICAvLyBtYWtlIGZibyBncmVlbgorICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VS
Uk9SLCAiZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pIik7CisgIHNob3Vs
ZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5jbGVhckNvbG9yKDAsMSwwLDEp
Iik7CisgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5jbGVhcihn
bC5DT0xPUl9CVUZGRVJfQklUKSIpOworICAvLyBCaW5kIGJhY2tidWZmZXIuCisgIHNob3VsZEdl
bmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJB
TUVCVUZGRVIsIG51bGwpIik7CisgIC8vIGRlbGV0ZSByZW5kZXJidWZmZXIuIEl0IHNob3VsZCBz
dGlsbCBiZSBhdHRhY2hlZCB0byBmYm8gdGhvdWdoLgorICBzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Z2wsIGdsLk5PX0VSUk9SLCAiZ2wuZGVsZXRlUmVuZGVyYnVmZmVyKHJibykiKTsKKyAgc2hvdWxk
R2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgJ3d0dS5jaGVja0NhbnZhc1JlY3QoZ2ws
IDAsIDAsIDE2LCAxNiwgWzI1NSwwLDAsMjU1XSwgImJhY2tidWZmZXIgc2hvdWxkIGJlIHJlZCIp
Jyk7CisgIC8vIFVzZSBmYm8gdGhhdCBoYXMgZGVsZXRlZCByYm8uCisgIHNob3VsZEdlbmVyYXRl
R0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZG
RVIsIGZibykiKTsKKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgJ3d0
dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIDE2LCAxNiwgWzAsMjU1LDAsMjU1XSwgImZibyBz
aG91bGQgYmUgZ3JlZW4iKScpOworICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VS
Uk9SLCAiZ2wuY2xlYXJDb2xvcigwLDAsMSwxKSIpOworICBzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Z2wsIGdsLk5PX0VSUk9SLCAiZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJVCkiKTsKKyAgc2hv
dWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgJ3d0dS5jaGVja0NhbnZhc1JlY3Qo
Z2wsIDAsIDAsIDE2LCAxNiwgWzAsMCwyNTUsMjU1XSwgImZibyBzaG91bGQgYmUgYmx1ZSIpJyk7
CisgIC8vIEJpbmQgYmFja2J1ZmZlci4KKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5O
T19FUlJPUiwgImdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgbnVsbCkiKTsKKyAg
c2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgJ3d0dS5jaGVja0NhbnZhc1Jl
Y3QoZ2wsIDAsIDAsIDE2LCAxNiwgWzI1NSwwLDAsMjU1XSwgImJhY2tidWZmZXIgc2hvdWxkIGJl
IHJlZCIpJyk7Cit9CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJyZW5kZXJidWZmZXIgYXR0YWNoZWQg
dHdpY2UgdG8gc2FtZSBmcmFtZWJ1ZmZlciIpOworcmJvID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVy
KCk7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuYmluZFJlbmRl
cmJ1ZmZlcihnbC5SRU5ERVJCVUZGRVIsIHJibykiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihn
bCwgZ2wuTk9fRVJST1IsICJnbC5yZW5kZXJidWZmZXJTdG9yYWdlKGdsLlJFTkRFUkJVRkZFUiwg
Z2wuUkdCQTQsIDE2LCAxNikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJS
T1IsICJnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibykiKTsKK3Nob3VsZEdl
bmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5mcmFtZWJ1ZmZlclJlbmRlcmJ1ZmZl
cihnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLlJFTkRFUkJVRkZFUiwg
cmJvKSIpOworaWYgKGdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpID09
IGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKSB7CisgIHJibzIgPSBnbC5jcmVhdGVSZW5kZXJidWZm
ZXIoKTsKKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRS
ZW5kZXJidWZmZXIoZ2wuUkVOREVSQlVGRkVSLCByYm8yKSIpOworICBzaG91bGRHZW5lcmF0ZUdM
RXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJC
VUZGRVIsIGdsLlJHQkE0LCAxNiwgMTYpIik7CisgIC8vIGF0dGFjaCByYm8yIGF0IHR3byBhdHRh
Y2htZW50IHBvaW50cyBpbmNvbXBhdGlibGUgd2l0aCBpdAorICBzaG91bGRHZW5lcmF0ZUdMRXJy
b3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVC
VUZGRVIsIGdsLkRFUFRIX0FUVEFDSE1FTlQsIGdsLlJFTkRFUkJVRkZFUiwgcmJvMikiKTsKKyAg
c2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmZyYW1lYnVmZmVyUmVu
ZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBnbC5TVEVOQ0lMX0FUVEFDSE1FTlQsIGdsLlJFTkRF
UkJVRkZFUiwgcmJvMikiKTsKKyAgc2hvdWxkQmUoImdsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVu
dFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUiwgZ2wuREVQVEhfQVRUQUNITUVOVCwgZ2wuRlJBTUVC
VUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfTkFNRSkiLCAicmJvMiIpOworICBzaG91bGRCZSgiZ2wu
Z2V0RnJhbWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5TVEVO
Q0lMX0FUVEFDSE1FTlQsIGdsLkZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfT0JKRUNUX05BTUUpIiwg
InJibzIiKTsKKyAgLy8gZmJvIGNhbid0IGJlIGNvbXBsZXRlIGFzIHJibzIgaXMgYXR0YWNoZWQg
YXQgaW5jb21wYXRpYmxlIGF0dGFjaG1lbnQgcG9pbnRzCisgIHNob3VsZE5vdEJlKCJnbC5jaGVj
a0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSIsICJnbC5GUkFNRUJVRkZFUl9DT01Q
TEVURSIpOworICAvLyBub3cgd2UgZGVsZXRlIHJibzIsIHdoaWNoIGRldGFjaGVzIGl0IGZyb20g
dGhlIHR3byBhdHRhY2htZW50IHBvaW50cyB3aGVyZSBpdCBjdXJyZW50bHkgaXMgYXR0YWNoZWQK
KyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmRlbGV0ZVJlbmRl
cmJ1ZmZlcihyYm8yKSIpOworICBzaG91bGRCZSgiZ2wuZ2V0RnJhbWVidWZmZXJBdHRhY2htZW50
UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5ERVBUSF9BVFRBQ0hNRU5ULCBnbC5GUkFNRUJV
RkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFKSIsICJnbC5OT05FIik7CisgIHNob3VsZEJlKCJn
bC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLlNU
RU5DSUxfQVRUQUNITUVOVCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRSki
LCAiZ2wuTk9ORSIpOworICAvLyB3ZSBzaG91bGQgbm93IGJlIGluIHRoZSBzYW1lIHN0YXRlIGFz
IGJlZm9yZSB3aXRoIG9ubHkgcmJvIGF0dGFjaGVkLCBzbyBmYm8gc2hvdWxkIGJlIGNvbXBsZXRl
IGFnYWluCisgIHNob3VsZEJlKCJnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVG
RkVSKSIsICJnbC5GUkFNRUJVRkZFUl9DT01QTEVURSIpOworICBzaG91bGRCZSgiZ2wuZ2V0RnJh
bWVidWZmZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRB
Q0hNRU5UMCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfTkFNRSkiLCAicmJvIik7
Cit9CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuZGVsZXRlUmVu
ZGVyYnVmZmVyKHJibykiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1Is
ICJnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIG51bGwpIik7CisKKworCitkZWJ1
ZygiIik7CitkZWJ1ZygidXNpbmcgZGVsZXRlZCB0ZXh0dXJlIik7Cit0ZXggPSBnbC5jcmVhdGVU
ZXh0dXJlKCk7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuYmlu
ZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4KSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGds
LCBnbC5OT19FUlJPUiwgImdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKSIp
Oworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmZyYW1lYnVmZmVy
VGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVS
RV8yRCwgdGV4LCAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwg
ImdsLnRleEltYWdlMkQoZ2wuVEVYVFVSRV8yRCwgMCwgZ2wuUkdCQSwgMSwgMSwgMCwgZ2wuUkdC
QSwgZ2wuVU5TSUdORURfQllURSwgbnVsbCkiKTsKK2lmIChnbC5jaGVja0ZyYW1lYnVmZmVyU3Rh
dHVzKGdsLkZSQU1FQlVGRkVSKSA9PSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSkgeworICAvLyBt
YWtlIGZibyBncmVlbgorICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAi
Z2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pIik7CisgIHNob3VsZEdlbmVy
YXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5jbGVhckNvbG9yKDAsMSwwLDEpIik7Cisg
IHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5jbGVhcihnbC5DT0xP
Ul9CVUZGRVJfQklUKSIpOworICAvLyBCaW5kIGJhY2tidWZmZXIuCisgIHNob3VsZEdlbmVyYXRl
R0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZG
RVIsIG51bGwpIik7CisgIC8vIGRlbGV0ZSB0ZXh0dXJlLiBJdCBzaG91bGQgc3RpbGwgYmUgYXR0
YWNoZWQgdG8gZmJvIHRob3VnaC4KKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19F
UlJPUiwgImdsLmRlbGV0ZVRleHR1cmUodGV4KSIpOworICBzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Z2wsIGdsLk5PX0VSUk9SLCAnd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgMSwgMSwgWzI1
NSwwLDAsMjU1XSwgImJhY2tidWZmZXIgc2hvdWxkIGJlIHJlZCIpJyk7CisgIC8vIFVzZSBmYm8g
dGhhdCBoYXMgZGVsZXRlZCB0ZXh0dXJlLgorICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGds
Lk5PX0VSUk9SLCAiZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pIik7Cisg
IHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICd3dHUuY2hlY2tDYW52YXNS
ZWN0KGdsLCAwLCAwLCAxLCAxLCBbMCwyNTUsMCwyNTVdLCAiZmJvIHNob3VsZCBiZSBncmVlbiIp
Jyk7CisgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5jbGVhckNv
bG9yKDAsMCwxLDEpIik7CisgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1Is
ICJnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKSIpOworICBzaG91bGRHZW5lcmF0ZUdMRXJy
b3IoZ2wsIGdsLk5PX0VSUk9SLCAnd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgMSwgMSwg
WzAsMCwyNTUsMjU1XSwgImZibyBzaG91bGQgYmUgYmx1ZSIpJyk7CisgIC8vIEJpbmQgYmFja2J1
ZmZlci4KKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRG
cmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgbnVsbCkiKTsKKyAgc2hvdWxkR2VuZXJhdGVHTEVy
cm9yKGdsLCBnbC5OT19FUlJPUiwgJ3d0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIDE2LCAx
NiwgWzI1NSwwLDAsMjU1XSwgImJhY2tidWZmZXIgc2hvdWxkIGJlIHJlZCIpJyk7Cit9CisKK2Rl
YnVnKCIiKTsKK2RlYnVnKCJ1c2luZyBkZWxldGVkIHJlbmRlcmJ1ZmZlciIpOworcmJvID0gZ2wu
Y3JlYXRlUmVuZGVyYnVmZmVyKCk7CitzaG91bGRCZU5vbk51bGwoInJibyIpOworc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRSZW5kZXJidWZmZXIoZ2wuUkVO
REVSQlVGRkVSLCByYm8pIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9S
LCAiZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGdsLlJHQkE0LCAxNiwg
MTYpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuYmluZEZy
YW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Z2wsIGdsLk5PX0VSUk9SLCAiZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZG
RVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIHJibykiKTsKK2lmIChn
bC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSA9PSBnbC5GUkFNRUJVRkZF
Ul9DT01QTEVURSkgeworICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAi
Z2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8yKSIpOworICBzaG91bGRHZW5l
cmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIo
Z2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIHJi
bykiKTsKKyAgc2hvdWxkQmUoImdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZG
RVIpIiwgImdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFIik7CisgIC8vIG1ha2UgYmFja2J1ZmZlciBy
ZWQKKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRGcmFt
ZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgbnVsbCkiKTsKKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9y
KGdsLCBnbC5OT19FUlJPUiwgImdsLmNsZWFyQ29sb3IoMSwwLDAsMSkiKTsKKyAgc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9C
SVQpIik7CisgIC8vIG1ha2UgZmJvIGdyZWVuCisgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwg
Z2wuTk9fRVJST1IsICJnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibykiKTsK
KyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmNsZWFyQ29sb3Io
MCwxLDAsMSkiKTsKKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImds
LmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpIik7CisgIC8vIGRlbGV0ZSByZW5kZXJidWZmZXIu
IEl0IHNob3VsZCBzdGlsbCBiZSBhdHRhY2hlZCB0byBmYm8yIHRob3VnaC4KKyAgc2hvdWxkR2Vu
ZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmRlbGV0ZVJlbmRlcmJ1ZmZlcihyYm8p
Iik7CisgIC8vIGZibyBoYXMgbm8gYXR0YWNobWVudHMKKyAgc2hvdWxkTm90QmUoImdsLmNoZWNr
RnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpIiwgImdsLkZSQU1FQlVGRkVSX0NPTVBM
RVRFIik7CisgIC8vIFVzZSBmYm8yIHRoYXQgaGFzIGRlbGV0ZWQgcmJvLgorICBzaG91bGRHZW5l
cmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1F
QlVGRkVSLCBmYm8yKSIpOworICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9S
LCAnd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgMTYsIDE2LCBbMCwyNTUsMCwyNTVdLCAi
ZmJvIHNob3VsZCBiZSBncmVlbiIpJyk7CisgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wu
Tk9fRVJST1IsICJnbC5jbGVhckNvbG9yKDAsMCwxLDEpIik7CisgIHNob3VsZEdlbmVyYXRlR0xF
cnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKSIpOwor
ICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAnd3R1LmNoZWNrQ2FudmFz
UmVjdChnbCwgMCwgMCwgMTYsIDE2LCBbMCwwLDI1NSwyNTVdLCAiZmJvIHNob3VsZCBiZSBibHVl
IiknKTsKKyAgc2hvdWxkQmUoImdsLmdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihn
bC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1JfQVRUQUNITUVOVDAsIGdsLkZSQU1FQlVGRkVSX0FUVEFD
SE1FTlRfT0JKRUNUX05BTUUpIiwgInJibyIpOworCisgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihn
bCwgZ2wuTk9fRVJST1IsICJnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZibyki
KTsKKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5JTlZBTElEX0VOVU0sICJnbC5nZXRG
cmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FU
VEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FKSIpOworICBz
aG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PTkUsICJnbC5nZXRGcmFtZWJ1ZmZlckF0dGFj
aG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5G
UkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9UWVBFKSIpOworICBzaG91bGROb3RCZSgiZ2wu
Y2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikiLCAiZ2wuRlJBTUVCVUZGRVJf
Q09NUExFVEUiKTsKKyAgLy8gQmluZCBiYWNrYnVmZmVyLgorICBzaG91bGRHZW5lcmF0ZUdMRXJy
b3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBu
dWxsKSIpOworICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAnd3R1LmNo
ZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgMTYsIDE2LCBbMjU1LDAsMCwyNTVdLCAiYmFja2J1ZmZl
ciBzaG91bGQgYmUgcmVkIiknKTsKK30KKworZGVidWcoIiIpOworZGVidWcoInVzaW5nIGRlbGV0
ZWQgdGV4dHVyZSIpOwordGV4ID0gZ2wuY3JlYXRlVGV4dHVyZSgpOworc2hvdWxkQmVOb25OdWxs
KCJ0ZXgiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5iaW5k
VGV4dHVyZShnbC5URVhUVVJFXzJELCB0ZXgpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2ws
IGdsLk5PX0VSUk9SLCAiZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pIik7
CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuZnJhbWVidWZmZXJU
ZXh0dXJlMkQoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJF
XzJELCB0ZXgsIDApIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAi
Z2wudGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAxLCAxLCAwLCBnbC5SR0JB
LCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKSIpOworaWYgKGdsLmNoZWNrRnJhbWVidWZmZXJTdGF0
dXMoZ2wuRlJBTUVCVUZGRVIpID09IGdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFKSB7CisgIHNob3Vs
ZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5iaW5kRnJhbWVidWZmZXIoZ2wu
RlJBTUVCVUZGRVIsIGZibzIpIik7CisgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9f
RVJST1IsICJnbC5mcmFtZWJ1ZmZlclRleHR1cmUyRChnbC5GUkFNRUJVRkZFUiwgZ2wuQ09MT1Jf
QVRUQUNITUVOVDAsIGdsLlRFWFRVUkVfMkQsIHRleCwgMCkiKTsKKyAgLy8gbWFrZSBmYm8gZ3Jl
ZW4KKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRGcmFt
ZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKSIpOworICBzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Z2wsIGdsLk5PX0VSUk9SLCAiZ2wuY2xlYXJDb2xvcigwLDEsMCwxKSIpOworICBzaG91bGRHZW5l
cmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuY2xlYXIoZ2wuQ09MT1JfQlVGRkVSX0JJ
VCkiKTsKKyAgLy8gZGVsZXRlIHRleHR1cmUuIEl0IHNob3VsZCBzdGlsbCBiZSBhdHRhY2hlZCB0
byBmYm8yIHRob3VnaC4KKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwg
ImdsLmRlbGV0ZVRleHR1cmUodGV4KSIpOworICAvLyBmYm8gaGFzIG5vIGF0dGFjaG1lbnRzCisg
IHNob3VsZE5vdEJlKCJnbC5jaGVja0ZyYW1lYnVmZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSIs
ICJnbC5GUkFNRUJVRkZFUl9DT01QTEVURSIpOworICAvLyBVc2UgZmJvIHRoYXQgaGFzIGRlbGV0
ZWQgdGV4dHVyZS4KKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImds
LmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvMikiKTsKKyAgc2hvdWxkQmUoImds
LmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpIiwgImdsLkZSQU1FQlVGRkVS
X0NPTVBMRVRFIik7CisgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICd3
dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAwLCAwLCAxLCAxLCBbMCwyNTUsMCwyNTVdLCAiZmJvIHNo
b3VsZCBiZSBncmVlbiIpJyk7CisgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJS
T1IsICJnbC5jbGVhckNvbG9yKDAsMCwxLDEpIik7CisgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihn
bCwgZ2wuTk9fRVJST1IsICJnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKSIpOworICBzaG91
bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAnd3R1LmNoZWNrQ2FudmFzUmVjdChn
bCwgMCwgMCwgMSwgMSwgWzAsMCwyNTUsMjU1XSwgImZibyBzaG91bGQgYmUgYmx1ZSIpJyk7Cisg
IHNob3VsZEJlKCJnbC5nZXRGcmFtZWJ1ZmZlckF0dGFjaG1lbnRQYXJhbWV0ZXIoZ2wuRlJBTUVC
VUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5GUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09C
SkVDVF9OQU1FKSIsICJ0ZXgiKTsKKworICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5P
X0VSUk9SLCAiZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pIik7CisgIHNo
b3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9FTlVNLCAiZ2wuZ2V0RnJhbWVidWZm
ZXJBdHRhY2htZW50UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5U
MCwgZ2wuRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfTkFNRSkiKTsKKyAgc2hvdWxkTm90
QmUoImdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpIiwgImdsLkZSQU1F
QlVGRkVSX0NPTVBMRVRFIik7CisgIC8vIEJpbmQgYmFja2J1ZmZlci4KKyAgc2hvdWxkR2VuZXJh
dGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJV
RkZFUiwgbnVsbCkiKTsKKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwg
J3d0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIDE2LCAxNiwgWzI1NSwwLDAsMjU1XSwgImJh
Y2tidWZmZXIgc2hvdWxkIGJlIHJlZCIpJyk7Cit9CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJidWZm
ZXIgZGVsZXRpb24iKTsKKwordmFyIGJ1ZmZlciA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworc2hvdWxk
QmVOb25OdWxsKCJidWZmZXIiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJS
T1IsICJnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwgYnVmZmVyKSIpOworc2hvdWxkQmUo
ImdsLmdldFBhcmFtZXRlcihnbC5BUlJBWV9CVUZGRVJfQklORElORykiLCAiYnVmZmVyIik7Citz
aG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuZGVsZXRlQnVmZmVyKGJ1
ZmZlcikiKTsKK3Nob3VsZEJlRmFsc2UoImdsLmlzQnVmZmVyKGJ1ZmZlcikiKTsKK3Nob3VsZEJl
TnVsbCgiZ2wuZ2V0UGFyYW1ldGVyKGdsLkFSUkFZX0JVRkZFUl9CSU5ESU5HKSIpOworc2hvdWxk
R2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlf
QlVGRkVSLCBidWZmZXIpIik7CitzaG91bGRCZU51bGwoImdsLmdldFBhcmFtZXRlcihnbC5BUlJB
WV9CVUZGRVJfQklORElORykiKTsKKwordmFyIGJ1ZmZlcjIgPSBnbC5jcmVhdGVCdWZmZXIoKTsK
K3Nob3VsZEJlTm9uTnVsbCgiYnVmZmVyMiIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBn
bC5OT19FUlJPUiwgImdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXIyKSIpOwor
c2hvdWxkQmUoImdsLmdldFBhcmFtZXRlcihnbC5BUlJBWV9CVUZGRVJfQklORElORykiLCAiYnVm
ZmVyMiIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRC
dWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBudWxsKSIpOworc2hvdWxkQmVOdWxsKCJnbC5nZXRQYXJh
bWV0ZXIoZ2wuQVJSQVlfQlVGRkVSX0JJTkRJTkcpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Z2wsIGdsLk5PX0VSUk9SLCAiZ2wuZGVsZXRlQnVmZmVyKGJ1ZmZlcjIpIik7CitzaG91bGRCZUZh
bHNlKCJnbC5pc0J1ZmZlcihidWZmZXIyKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBn
bC5OT19FUlJPUiwgImdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBidWZmZXIyKSIpOwor
c2hvdWxkQmVOdWxsKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuQVJSQVlfQlVGRkVSX0JJTkRJTkcpIik7
CisKK3ZhciBidWZmZXJFbGVtZW50ID0gZ2wuY3JlYXRlQnVmZmVyKCk7CitzaG91bGRCZU5vbk51
bGwoImJ1ZmZlckVsZW1lbnQiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJS
T1IsICJnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJSQVlfQlVGRkVSLCBidWZmZXJFbGVtZW50
KSIpOworc2hvdWxkQmUoImdsLmdldFBhcmFtZXRlcihnbC5FTEVNRU5UX0FSUkFZX0JVRkZFUl9C
SU5ESU5HKSIsICJidWZmZXJFbGVtZW50Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGds
Lk5PX0VSUk9SLCAiZ2wuZGVsZXRlQnVmZmVyKGJ1ZmZlckVsZW1lbnQpIik7CitzaG91bGRCZUZh
bHNlKCJnbC5pc0J1ZmZlcihidWZmZXJFbGVtZW50KSIpOworc2hvdWxkQmVOdWxsKCJnbC5nZXRQ
YXJhbWV0ZXIoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVJfQklORElORykiKTsKK3Nob3VsZEdlbmVy
YXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5iaW5kQnVmZmVyKGdsLkVMRU1FTlRfQVJS
QVlfQlVGRkVSLCBidWZmZXJFbGVtZW50KSIpOworc2hvdWxkQmVOdWxsKCJnbC5nZXRQYXJhbWV0
ZXIoZ2wuRUxFTUVOVF9BUlJBWV9CVUZGRVJfQklORElORykiKTsKKwordmFyIGIgPSBnbC5jcmVh
dGVCdWZmZXIoKTsKK3Nob3VsZEJlTm9uTnVsbCgiYiIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9y
KGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCBiKSIpOwor
c2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJ1ZmZlckRhdGEoZ2wu
QVJSQVlfQlVGRkVSLCAxLCBnbC5TVEFUSUNfRFJBVykiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJv
cihnbCwgZ2wuTk9fRVJST1IsICJnbC5kZWxldGVCdWZmZXIoYikiKTsKK3Nob3VsZEdlbmVyYXRl
R0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5iaW5kQnVmZmVyKGdsLkFSUkFZX0JVRkZFUiwg
YikiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJn
bC5idWZmZXJEYXRhKGdsLkFSUkFZX0JVRkZFUiwgMSwgZ2wuU1RBVElDX0RSQVcpIik7CisKK3Zh
ciBiMSA9IGdsLmNyZWF0ZUJ1ZmZlcigpOworc2hvdWxkQmVOb25OdWxsKCJiMSIpOworc2hvdWxk
R2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRCdWZmZXIoZ2wuQVJSQVlf
QlVGRkVSLCBiMSk7Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAi
Z2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMSk7Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Z2wsIGdsLk5PX0VSUk9SLCAiZ2wudmVydGV4QXR0cmliUG9pbnRlcigxLCA0LCBnbC5GTE9BVCwg
ZmFsc2UsIDAsIDApOyIpOwordmFyIGIyID0gZ2wuY3JlYXRlQnVmZmVyKCk7CitzaG91bGRCZU5v
bk51bGwoImIyIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wu
YmluZEJ1ZmZlcihnbC5BUlJBWV9CVUZGRVIsIGIyKTsiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJv
cihnbCwgZ2wuTk9fRVJST1IsICJnbC5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheSgyKTsiKTsKK3No
b3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC52ZXJ0ZXhBdHRyaWJQb2lu
dGVyKDIsIDQsIGdsLkZMT0FULCBmYWxzZSwgMCwgMCk7Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJy
b3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuZW5hYmxlVmVydGV4QXR0cmliQXJyYXkoMyk7Iik7Citz
aG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wudmVydGV4QXR0cmliUG9p
bnRlcigzLCA0LCBnbC5GTE9BVCwgZmFsc2UsIDAsIDApOyIpOworc2hvdWxkQmUoImdsLmdldFZl
cnRleEF0dHJpYigxLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5HKSIsICJi
MSIpOworc2hvdWxkQmUoImdsLmdldFZlcnRleEF0dHJpYigyLCBnbC5WRVJURVhfQVRUUklCX0FS
UkFZX0JVRkZFUl9CSU5ESU5HKSIsICJiMiIpOworc2hvdWxkQmUoImdsLmdldFZlcnRleEF0dHJp
YigzLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5HKSIsICJiMiIpOworc2hv
dWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmRlbGV0ZUJ1ZmZlcihiMik7
Iik7CitzaG91bGRCZSgiZ2wuZ2V0VmVydGV4QXR0cmliKDEsIGdsLlZFUlRFWF9BVFRSSUJfQVJS
QVlfQlVGRkVSX0JJTkRJTkcpIiwgImIxIik7CitzaG91bGRCZU51bGwoImdsLmdldFZlcnRleEF0
dHJpYigyLCBnbC5WRVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5HKSIpOworc2hvdWxk
QmVOdWxsKCJnbC5nZXRWZXJ0ZXhBdHRyaWIoMywgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9CVUZG
RVJfQklORElORykiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJn
bC5kZWxldGVCdWZmZXIoYjEpOyIpOworc2hvdWxkQmVOdWxsKCJnbC5nZXRWZXJ0ZXhBdHRyaWIo
MSwgZ2wuVkVSVEVYX0FUVFJJQl9BUlJBWV9CVUZGRVJfQklORElORykiKTsKKworZGVidWcoIiIp
OworZGVidWcoImZyYW1lYnVmZmVyIGRlbGV0aW9uIik7CisKK3Nob3VsZEdlbmVyYXRlR0xFcnJv
cihnbCwgZ2wuTk9fRVJST1IsICJnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZi
bykiKTsKK3Nob3VsZEJlKCJnbC5nZXRQYXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVJfQklORElORyki
LCAiZmJvIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuZGVs
ZXRlRnJhbWVidWZmZXIoZmJvKSIpOworc2hvdWxkQmVGYWxzZSgiZ2wuaXNGcmFtZWJ1ZmZlcihm
Ym8pIik7CitzaG91bGRCZU51bGwoImdsLmdldFBhcmFtZXRlcihnbC5GUkFNRUJVRkZFUl9CSU5E
SU5HKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRG
cmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKSIpOworc2hvdWxkQmVOdWxsKCJnbC5nZXRQ
YXJhbWV0ZXIoZ2wuRlJBTUVCVUZGRVJfQklORElORykiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJv
cihnbCwgZ2wuTk9fRVJST1IsICJnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGZi
bzIpIik7CitzaG91bGRCZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLkZSQU1FQlVGRkVSX0JJTkRJTkcp
IiwgImZibzIiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5k
ZWxldGVGcmFtZWJ1ZmZlcihmYm8zKSIpOworc2hvdWxkQmUoImdsLmdldFBhcmFtZXRlcihnbC5G
UkFNRUJVRkZFUl9CSU5ESU5HKSIsICJmYm8yIik7CisKK2ZibyA9IGdsLmNyZWF0ZUZyYW1lYnVm
ZmVyKCk7CityYm8gPSBnbC5jcmVhdGVSZW5kZXJidWZmZXIoKTsKK3Nob3VsZEJlTm9uTnVsbCgi
ZmJvIik7CitzaG91bGRCZU5vbk51bGwoInJibyIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGds
LCBnbC5OT19FUlJPUiwgImdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgZmJvKSIp
Oworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmJpbmRSZW5kZXJi
dWZmZXIoZ2wuUkVOREVSQlVGRkVSLCByYm8pIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2ws
IGdsLk5PX0VSUk9SLCAiZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZGRVIsIGds
LlJHQkE0LCAxNiwgMTYpIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9S
LCAiZ2wuZnJhbWVidWZmZXJSZW5kZXJidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIGdsLkNPTE9SX0FU
VEFDSE1FTlQwLCBnbC5SRU5ERVJCVUZGRVIsIHJibykiKTsKK2lmIChnbC5jaGVja0ZyYW1lYnVm
ZmVyU3RhdHVzKGdsLkZSQU1FQlVGRkVSKSA9PSBnbC5GUkFNRUJVRkZFUl9DT01QTEVURSkgewor
ICAvLyBzZXQgYmFja2J1ZmZlciB0byByZWQKKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBn
bC5OT19FUlJPUiwgImdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFNRUJVRkZFUiwgbnVsbCkiKTsK
KyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmNsZWFyQ29sb3Io
MSwwLDAsMSkiKTsKKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImds
LmNsZWFyKGdsLkNPTE9SX0JVRkZFUl9CSVQpIik7CisgIC8vIHNldCBmcmFtZWJ1ZmZlciB0byBn
cmVlbgorICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuYmluZEZy
YW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm8pIik7CisgIHNob3VsZEdlbmVyYXRlR0xFcnJv
cihnbCwgZ2wuTk9fRVJST1IsICJnbC5jbGVhckNvbG9yKDAsMSwwLDEpIik7CisgIHNob3VsZEdl
bmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJf
QklUKSIpOworICAvLyBjaGVjayBmcmFtZWJ1ZmZlcgorICBzaG91bGRHZW5lcmF0ZUdMRXJyb3Io
Z2wsIGdsLk5PX0VSUk9SLCAnd3R1LmNoZWNrQ2FudmFzUmVjdChnbCwgMCwgMCwgMTYsIDE2LCBb
MCwyNTUsMCwyNTVdLCAiZmJvIHNob3VsZCBiZSBncmVlbiIpJyk7CisgIHNob3VsZEdlbmVyYXRl
R0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICd3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAxNiwgMTYs
IDEsIDEsIFswLDAsMCwwXSwgIm91dHNpZGUgZmJvIHNob3VsZCBiZSBibGFjayIpJyk7CisgIC8v
IGRlbGV0ZSBmcmFtZWJ1ZmZlci4gYmVjYXVzZSB0aGlzIHdhcyB0aGUgYm91bmQgZmJvIHRoZSBi
YWNrYnVmZmVyIHNob3VsZCBiZSBhY3RpdmUgbm93CisgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihn
bCwgZ2wuTk9fRVJST1IsICJnbC5kZWxldGVGcmFtZWJ1ZmZlcihmYm8pIik7CisgIC8vIGNoZWNr
IGJhY2tidWZmZXIKKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgJ3d0
dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIDMwMCwgMTUwLCBbMjU1LDAsMCwyNTVdLCAiYmFj
a2J1ZmZlciBzaG91bGQgYmUgcmVkIiknKTsKKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBn
bC5OT19FUlJPUiwgJ3d0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDMwMCwgMCwgMzAwLCAzMDAsIFsw
LDAsMCwwXSwgIm91dHNpZGUgYmFja2J1ZmZlciBzaG91bGQgYmUgYmxhY2siKScpOworICBzaG91
bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAnd3R1LmNoZWNrQ2FudmFzUmVjdChn
bCwgMCwgMTUwLCAzMDAsIDMwMCwgWzAsMCwwLDBdLCAib3V0c2lkZSBiYWNrYnVmZmVyIHNob3Vs
ZCBiZSBibGFjayIpJyk7CisgIC8vIGNoZWNrIGRyYXdpbmcgdG8gYmFja2J1ZmZlcgorICBzaG91
bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuY2xlYXJDb2xvcigwLDEsMCwx
KSIpOworICBzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuY2xlYXIo
Z2wuQ09MT1JfQlVGRkVSX0JJVCkiKTsKKyAgc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5O
T19FUlJPUiwgJ3d0dS5jaGVja0NhbnZhc1JlY3QoZ2wsIDAsIDAsIDMwMCwgMTUwLCBbMCwyNTUs
MCwyNTVdLCAiZmJvIHNob3VsZCBiZSBncmVlbiIpJyk7CisgIHNob3VsZEdlbmVyYXRlR0xFcnJv
cihnbCwgZ2wuTk9fRVJST1IsICJnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVCVUZGRVIsIG51
bGwpIik7CisgIC8vIGNoZWNrIGFnYWluIGJlY2F1c2UgbWFueSBidWdneSBpbXBsZW1lbnRhdGlv
bnMgd2lsbCBoYXZlIGJvdW5kIHRvIHRoZSB0cnVlIGJhY2tidWZmZXIgb24gZGVsZXRlRnJhbWVi
dWZmZXIuCisgIHNob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICd3dHUuY2hl
Y2tDYW52YXNSZWN0KGdsLCAwLCAwLCAzMDAsIDE1MCwgWzAsMjU1LDAsMjU1XSwgImZibyBzaG91
bGQgYmUgZ3JlZW4iKScpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJn
bC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL3NoYWRlci1wcmVj
aXNpb24tZm9ybWF0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVz
dF9maWxlcy9jb25mb3JtYW5jZS9taXNjL3NoYWRlci1wcmVjaXNpb24tZm9ybWF0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTg2ZTYzNTdjOTM0ZDQ4NWQ5NzA2ZTdlMDY0MmJmZTAwOTM5Y2VlZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVz
L2NvbmZvcm1hbmNlL21pc2Mvc2hhZGVyLXByZWNpc2lvbi1mb3JtYXQuaHRtbApAQCAtMCwwICsx
LDEyOSBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdy
b3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNo
YXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJl
IGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFs
cyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVk
aW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlm
eSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs
bCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3
aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiog
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBh
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgor
KiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP
RiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN
SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBP
VVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldl
YkdMIHNoYWRlciBwcmVjaXNpb24gZm9ybWF0IHRlc3QuPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvd2ViZ2wtdGVzdC5qcyI+IDwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj4gPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxjYW52YXMgaWQ9ImNhbnZhcyIgd2lkdGg9IjIiIGhlaWdodD0iMiIgc3R5bGU9
IndpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7Ij48L2NhbnZhcz4KKzxkaXYgaWQ9ImRlc2NyaXB0
aW9uIj48L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKyJ1c2Ugc3Ry
aWN0IjsKK3ZhciB3dHUgPSBXZWJHTFRlc3RVdGlsczsKK2Rlc2NyaXB0aW9uKGRvY3VtZW50LnRp
dGxlKTsKK2RlYnVnKCJUZXN0cyB0aGF0IFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0IGNsYXNz
IGFuZCBnZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQgd29yay4iKTsKK2RlYnVnKCIiKTsKK3ZhciBn
bCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImNhbnZhcyIpOworCitmdW5jdGlvbiB2ZXJpZnlTaGFk
ZXJQcmVjaXNpb25Gb3JtYXQoc2hhZGVydHlwZSwgcHJlY2lzaW9udHlwZSkgeworICAgIHNob3Vs
ZEJlVHJ1ZSgnZ2wuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0KCcgKyBzaGFkZXJ0eXBlICsgJywg
JyArCisgICAgICAgICAgICAgICAgIHByZWNpc2lvbnR5cGUgKyAnKSBpbnN0YW5jZW9mIFdlYkdM
U2hhZGVyUHJlY2lzaW9uRm9ybWF0Jyk7Cit9CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJUZXN0IHRo
YXQgZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0IHJldHVybnMgYSBXZWJHTFNoYWRlclByZWNpc2lv
bkZvcm1hdCBvYmplY3QuIik7CitkZWJ1ZygiIik7CisKK3ZlcmlmeVNoYWRlclByZWNpc2lvbkZv
cm1hdCgnZ2wuVkVSVEVYX1NIQURFUicsICdnbC5MT1dfRkxPQVQnKTsKK3ZlcmlmeVNoYWRlclBy
ZWNpc2lvbkZvcm1hdCgnZ2wuVkVSVEVYX1NIQURFUicsICdnbC5NRURJVU1fRkxPQVQnKTsKK3Zl
cmlmeVNoYWRlclByZWNpc2lvbkZvcm1hdCgnZ2wuVkVSVEVYX1NIQURFUicsICdnbC5ISUdIX0ZM
T0FUJyk7Cit2ZXJpZnlTaGFkZXJQcmVjaXNpb25Gb3JtYXQoJ2dsLlZFUlRFWF9TSEFERVInLCAn
Z2wuTE9XX0lOVCcpOwordmVyaWZ5U2hhZGVyUHJlY2lzaW9uRm9ybWF0KCdnbC5WRVJURVhfU0hB
REVSJywgJ2dsLk1FRElVTV9JTlQnKTsKK3ZlcmlmeVNoYWRlclByZWNpc2lvbkZvcm1hdCgnZ2wu
VkVSVEVYX1NIQURFUicsICdnbC5ISUdIX0lOVCcpOwordmVyaWZ5U2hhZGVyUHJlY2lzaW9uRm9y
bWF0KCdnbC5GUkFHTUVOVF9TSEFERVInLCAnZ2wuTE9XX0ZMT0FUJyk7Cit2ZXJpZnlTaGFkZXJQ
cmVjaXNpb25Gb3JtYXQoJ2dsLkZSQUdNRU5UX1NIQURFUicsICdnbC5NRURJVU1fRkxPQVQnKTsK
K3ZlcmlmeVNoYWRlclByZWNpc2lvbkZvcm1hdCgnZ2wuRlJBR01FTlRfU0hBREVSJywgJ2dsLkhJ
R0hfRkxPQVQnKTsKK3ZlcmlmeVNoYWRlclByZWNpc2lvbkZvcm1hdCgnZ2wuRlJBR01FTlRfU0hB
REVSJywgJ2dsLkxPV19JTlQnKTsKK3ZlcmlmeVNoYWRlclByZWNpc2lvbkZvcm1hdCgnZ2wuRlJB
R01FTlRfU0hBREVSJywgJ2dsLk1FRElVTV9JTlQnKTsKK3ZlcmlmeVNoYWRlclByZWNpc2lvbkZv
cm1hdCgnZ2wuRlJBR01FTlRfU0hBREVSJywgJ2dsLkhJR0hfSU5UJyk7CisKK2RlYnVnKCIiKTsK
K2RlYnVnKCJUZXN0IHRoYXQgZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0IHRocm93cyBhbiBlcnJv
ciB3aXRoIGludmFsaWQgcGFyYW1ldGVycy4iKTsKK2RlYnVnKCIiKTsKKworc2hvdWxkR2VuZXJh
dGVHTEVycm9yKGdsLCBnbC5JTlZBTElEX0VOVU0sICdnbC5nZXRTaGFkZXJQcmVjaXNpb25Gb3Jt
YXQoZ2wuSElHSF9JTlQsIGdsLlZFUlRFWF9TSEFERVIpJyk7CisKK2RlYnVnKCIiKTsKK2RlYnVn
KCJUZXN0IHRoYXQgV2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQgdmFsdWVzIGFyZSBzZW5zaWJs
ZS4iKTsKK2RlYnVnKCIiKTsKKworLy8gVGhlIG1pbmltdW0gdmFsdWVzIGFyZSBmcm9tIE9wZW5H
TCBFUyBTaGFkaW5nIExhbmd1YWdlIHNwZWMsIHNlY3Rpb24gNC41LgorCit2YXIgc2hhZGVyUHJl
Y2lzaW9uRm9ybWF0ID0gZ2wuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0KGdsLlZFUlRFWF9TSEFE
RVIsIGdsLkxPV19GTE9BVCk7CitzaG91bGRCZVRydWUoJ3NoYWRlclByZWNpc2lvbkZvcm1hdC5y
YW5nZU1pbiA+PSAxJyk7CitzaG91bGRCZVRydWUoJ3NoYWRlclByZWNpc2lvbkZvcm1hdC5yYW5n
ZU1heCA+PSAxJyk7CitzaG91bGRCZVRydWUoJ3NoYWRlclByZWNpc2lvbkZvcm1hdC5wcmVjaXNp
b24gPj0gOCcpOworCitzaGFkZXJQcmVjaXNpb25Gb3JtYXQgPSBnbC5nZXRTaGFkZXJQcmVjaXNp
b25Gb3JtYXQoZ2wuVkVSVEVYX1NIQURFUiwgZ2wuTUVESVVNX0ZMT0FUKTsKK3Nob3VsZEJlVHJ1
ZSgnc2hhZGVyUHJlY2lzaW9uRm9ybWF0LnJhbmdlTWluID49IDE0Jyk7CitzaG91bGRCZVRydWUo
J3NoYWRlclByZWNpc2lvbkZvcm1hdC5yYW5nZU1heCA+PSAxNCcpOworc2hvdWxkQmVUcnVlKCdz
aGFkZXJQcmVjaXNpb25Gb3JtYXQucHJlY2lzaW9uID49IDEwJyk7CisKK3NoYWRlclByZWNpc2lv
bkZvcm1hdCA9IGdsLmdldFNoYWRlclByZWNpc2lvbkZvcm1hdChnbC5WRVJURVhfU0hBREVSLCBn
bC5ISUdIX0ZMT0FUKTsKK3Nob3VsZEJlVHJ1ZSgnc2hhZGVyUHJlY2lzaW9uRm9ybWF0LnJhbmdl
TWluID49IDYyJyk7CitzaG91bGRCZVRydWUoJ3NoYWRlclByZWNpc2lvbkZvcm1hdC5yYW5nZU1h
eCA+PSA2MicpOworc2hvdWxkQmVUcnVlKCdzaGFkZXJQcmVjaXNpb25Gb3JtYXQucHJlY2lzaW9u
ID49IDE2Jyk7CisKK3NoYWRlclByZWNpc2lvbkZvcm1hdCA9IGdsLmdldFNoYWRlclByZWNpc2lv
bkZvcm1hdChnbC5WRVJURVhfU0hBREVSLCBnbC5MT1dfSU5UKTsKK3Nob3VsZEJlVHJ1ZSgnc2hh
ZGVyUHJlY2lzaW9uRm9ybWF0LnJhbmdlTWluID49IDgnKTsKK3Nob3VsZEJlVHJ1ZSgnc2hhZGVy
UHJlY2lzaW9uRm9ybWF0LnJhbmdlTWF4ID49IDgnKTsKK3Nob3VsZEJlVHJ1ZSgnc2hhZGVyUHJl
Y2lzaW9uRm9ybWF0LnByZWNpc2lvbiA9PSAwJyk7CisKK3NoYWRlclByZWNpc2lvbkZvcm1hdCA9
IGdsLmdldFNoYWRlclByZWNpc2lvbkZvcm1hdChnbC5WRVJURVhfU0hBREVSLCBnbC5NRURJVU1f
SU5UKTsKK3Nob3VsZEJlVHJ1ZSgnc2hhZGVyUHJlY2lzaW9uRm9ybWF0LnJhbmdlTWluID49IDEw
Jyk7CitzaG91bGRCZVRydWUoJ3NoYWRlclByZWNpc2lvbkZvcm1hdC5yYW5nZU1heCA+PSAxMCcp
Oworc2hvdWxkQmVUcnVlKCdzaGFkZXJQcmVjaXNpb25Gb3JtYXQucHJlY2lzaW9uID09IDAnKTsK
Kworc2hhZGVyUHJlY2lzaW9uRm9ybWF0ID0gZ2wuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0KGds
LlZFUlRFWF9TSEFERVIsIGdsLkhJR0hfSU5UKTsKK3Nob3VsZEJlVHJ1ZSgnc2hhZGVyUHJlY2lz
aW9uRm9ybWF0LnJhbmdlTWluID49IDE2Jyk7CitzaG91bGRCZVRydWUoJ3NoYWRlclByZWNpc2lv
bkZvcm1hdC5yYW5nZU1heCA+PSAxNicpOworc2hvdWxkQmVUcnVlKCdzaGFkZXJQcmVjaXNpb25G
b3JtYXQucHJlY2lzaW9uID09IDAnKTsKKworZGVidWcoIiIpOworZGVidWcoIlRlc3QgdGhhdCBn
ZXRTaGFkZXJQcmVjaXNpb25Gb3JtYXQgcmV0dXJucyB0aGUgc2FtZSB0aGluZyBldmVyeSBjYWxs
LiIpOworZGVidWcoIiIpOworCitzaGFkZXJQcmVjaXNpb25Gb3JtYXQgPSBnbC5nZXRTaGFkZXJQ
cmVjaXNpb25Gb3JtYXQoZ2wuVkVSVEVYX1NIQURFUiwgZ2wuTE9XX0ZMT0FUKTsKK3ZhciBzaGFk
ZXJQcmVjaXNpb25Gb3JtYXQyID0gZ2wuZ2V0U2hhZGVyUHJlY2lzaW9uRm9ybWF0KGdsLlZFUlRF
WF9TSEFERVIsIGdsLkxPV19GTE9BVCk7CitzaG91bGRCZVRydWUoJ3NoYWRlclByZWNpc2lvbkZv
cm1hdC5yYW5nZU1pbiA9PSBzaGFkZXJQcmVjaXNpb25Gb3JtYXQyLnJhbmdlTWluJyk7CitzaG91
bGRCZVRydWUoJ3NoYWRlclByZWNpc2lvbkZvcm1hdC5yYW5nZU1heCA9PSBzaGFkZXJQcmVjaXNp
b25Gb3JtYXQyLnJhbmdlTWF4Jyk7CitzaG91bGRCZVRydWUoJ3NoYWRlclByZWNpc2lvbkZvcm1h
dC5wcmVjaXNpb24gPT0gc2hhZGVyUHJlY2lzaW9uRm9ybWF0Mi5wcmVjaXNpb24nKTsKKworZmlu
aXNoVGVzdCgpOworPC9zY3JpcHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KKworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5j
ZS9taXNjL3R5cGUtY29udmVyc2lvbi10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC9yZXNv
dXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL3R5cGUtY29udmVyc2lvbi10
ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjAzMzcyOGEyODVjN2JhMWFjMDM0Yzk2MWUzMGE5NTBmMjFi
Mjk3OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmdsL3Jlc291cmNlcy93ZWJn
bF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2MvdHlwZS1jb252ZXJzaW9uLXRlc3QuaHRtbApA
QCAtMCwwICsxLDE3NCBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBL
aHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm
cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29weSBvZiB0aGlz
IHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQorKiog
Ik1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCByZXN0cmljdGlv
biwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNv
cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBh
bmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBwZXJtaXQgcGVy
c29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVj
dCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBhYm92ZSBjb3B5
cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVk
CisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBNYXRlcmlh
bHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX
QVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJV
VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRBQklMSVRZLCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULgorKiog
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lO
RyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFURVJJQUxTIE9S
IFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyovCisKKy0tPgor
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIgd3R1
ID0gV2ViR0xUZXN0VXRpbHM7CitkZXNjcmlwdGlvbigiVGVzdHMgY2FsbGluZyBXZWJHTCBBUElz
IHdpdGggdmFyaW91cyB0eXBlcyIpOworCit2YXIgY29udGV4dCA9IHd0dS5jcmVhdGUzRENvbnRl
eHQoKTsKK3ZhciBwcm9ncmFtID0gd3R1LmxvYWRTdGFuZGFyZFByb2dyYW0oY29udGV4dCk7Cit2
YXIgc2hhZGVyID0gd3R1LmxvYWRTdGFuZGFyZFZlcnRleFNoYWRlcihjb250ZXh0KTsKK3ZhciBz
aG91bGRHZW5lcmF0ZUdMRXJyb3IgPSB3dHUuc2hvdWxkR2VuZXJhdGVHTEVycm9yOworCithc3Nl
cnRNc2cocHJvZ3JhbSAhPSBudWxsLCAiUHJvZ3JhbSBDb21waWxlZCIpOworYXNzZXJ0TXNnKHNo
YWRlciAhPSBudWxsLCAiU2hhZGVyIENvbXBpbGVkIik7CisKK3ZhciBsb2MgPSBjb250ZXh0Lmdl
dFVuaWZvcm1Mb2NhdGlvbihwcm9ncmFtLCAidV9tb2RlbFZpZXdQcm9qTWF0cml4Iik7Cithc3Nl
cnRNc2cobG9jICE9IG51bGwsICJnZXRVbmlmb3JtTG9jYXRpb24gc3VjY2VlZGVkIik7CisKK3Zh
ciBidWZmZXIgPSBjb250ZXh0LmNyZWF0ZUJ1ZmZlcigpOworY29udGV4dC5iaW5kQnVmZmVyKGNv
bnRleHQuQVJSQVlfQlVGRkVSLCBidWZmZXIpOwordmFyIHRleHR1cmUgPSBjb250ZXh0LmNyZWF0
ZVRleHR1cmUoKTsKK2NvbnRleHQuYmluZFRleHR1cmUoY29udGV4dC5URVhUVVJFXzJELCB0ZXh0
dXJlKTsKK2NvbnRleHQudXNlUHJvZ3JhbShwcm9ncmFtKTsKKwordmFyIGFyZ3MgPSBbCisgIHsg
dHlwZTogIm51bWJlciIsIHZhbHVlOiAwIH0sCisgIHsgdHlwZTogIm51bWJlciIsIHZhbHVlOiAy
IH0sCisgIHsgdHlwZTogInN0cmluZyB0aGF0IGlzIE5hTiIsIHZhbHVlOiAiZm9vIiwgfSwKKyAg
eyB0eXBlOiAic3RyaW5nIHRoYXQgaXMgbnVtYmVyIiwgdmFsdWU6ICIyIiwgfSwKKyAgeyB0eXBl
OiAibnVsbCIsIHZhbHVlOiBudWxsIH0sCisgIHsgdHlwZTogIkVtcHR5IEFycmF5IiwgdmFsdWU6
IFtdIH0sCisgIHsgdHlwZTogIk9iamVjdCIsIHZhbHVlOiB7fSB9LAorICB7IHR5cGU6ICJBcnJh
eSBvZiBOdW1iZXIiLCB2YWx1ZTogWzJdIH0sCisgIHsgdHlwZTogIkFycmF5IG9mIFN0cmluZyIs
IHZhbHVlOiBbImZvbyJdIH0sCisgIHsgdHlwZTogIkFycmF5IG9mIFN0cmluZyB0aGF0IGlzIG51
bWJlciIsIHZhbHVlOiBbIjAiXSB9LAorICB7IHR5cGU6ICJBcnJheSBvZiBTdHJpbmcgdGhhdCBp
cyBudW1iZXIiLCB2YWx1ZTogWyIyIl0gfSwKKyAgeyB0eXBlOiAiVHlwZWRBcnJheSIsIHZhbHVl
OiBuZXcgRmxvYXQzMkFycmF5KDEpIH0KK107CisKK3ZhciBhcmd1bWVudDsKKworZm9yICh2YXIg
aSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgKytpKSB7CisgIGFyZ3VtZW50ID0gYXJnc1tpXS52YWx1
ZTsKKyAgdmFyIGZ1bmMxID0gc2hvdWxkQmVVbmRlZmluZWQ7CisgIHZhciBmdW5jMiA9IHNob3Vs
ZEJlTm9uTnVsbDsKKyAgaWYgKGFyZ3VtZW50ID09IDIpIHsKKyAgICBmdW5jMiA9IHNob3VsZEJl
TnVsbDsKKyAgfQorICB2YXIgZnVuYzMgPSBzaG91bGRCZU51bGw7CisgIGRlYnVnKCIiKTsKKyAg
ZGVidWcoInRlc3RpbmcgdHlwZSBvZiAiICsgYXJnc1tpXS50eXBlICsgIiA6IHZhbHVlID0gIiAr
IGFyZ3VtZW50KTsKKyAgZnVuYzEoImNvbnRleHQuYmluZEF0dHJpYkxvY2F0aW9uKHByb2dyYW0s
IGFyZ3VtZW50LCAnZm9vJykiKTsKKyAgZnVuYzEoImNvbnRleHQuYmxlbmRDb2xvcihhcmd1bWVu
dCwgYXJndW1lbnQsIGFyZ3VtZW50LCBhcmd1bWVudCkiKTsKKyAgZnVuYzEoImNvbnRleHQuYnVm
ZmVyRGF0YShjb250ZXh0LkFSUkFZX0JVRkZFUiwgYXJndW1lbnQsIGNvbnRleHQuU1RBVElDX0RS
QVcpIik7CisgIGZ1bmMxKCJjb250ZXh0LmJ1ZmZlckRhdGEoY29udGV4dC5BUlJBWV9CVUZGRVIs
IG5ldyBGbG9hdDMyQXJyYXkoMTApLCBjb250ZXh0LlNUQVRJQ19EUkFXKSIpOworICBmdW5jMSgi
Y29udGV4dC5idWZmZXJTdWJEYXRhKGNvbnRleHQuQVJSQVlfQlVGRkVSLCBhcmd1bWVudCwgbmV3
IEZsb2F0MzJBcnJheSgyKSkiKTsKKyAgZnVuYzEoImNvbnRleHQuY2xlYXIoYXJndW1lbnQpIikK
KyAgZnVuYzEoImNvbnRleHQuY2xlYXJDb2xvcihhcmd1bWVudCwgMCwgMCwgMCkiKTsKKyAgZnVu
YzEoImNvbnRleHQuY2xlYXJDb2xvcigwLCBhcmd1bWVudCwgMCwgMCkiKTsKKyAgZnVuYzEoImNv
bnRleHQuY2xlYXJDb2xvcigwLCAwLCBhcmd1bWVudCwgMCkiKTsKKyAgZnVuYzEoImNvbnRleHQu
Y2xlYXJDb2xvcigwLCAwLCAwLCBhcmd1bWVudCkiKTsKKyAgZnVuYzEoImNvbnRleHQuY2xlYXJE
ZXB0aChhcmd1bWVudCkiKTsKKyAgZnVuYzEoImNvbnRleHQuY2xlYXJTdGVuY2lsKGFyZ3VtZW50
KSIpOworICBmdW5jMSgiY29udGV4dC5jb3B5VGV4SW1hZ2UyRChjb250ZXh0LlRFWFRVUkVfMkQs
IGFyZ3VtZW50LCBjb250ZXh0LlJHQkEsIDAsIDAsIDEsIDEsIDApIik7CisgIGZ1bmMxKCJjb250
ZXh0LmNvcHlUZXhJbWFnZTJEKGNvbnRleHQuVEVYVFVSRV8yRCwgMCwgY29udGV4dC5SR0JBLCBh
cmd1bWVudCwgMCwgMSwgMSwgMCkiKTsKKyAgZnVuYzEoImNvbnRleHQuY29weVRleEltYWdlMkQo
Y29udGV4dC5URVhUVVJFXzJELCAwLCBjb250ZXh0LlJHQkEsIDAsIGFyZ3VtZW50LCAxLCAxLCAw
KSIpOworICBmdW5jMSgiY29udGV4dC5jb3B5VGV4SW1hZ2UyRChjb250ZXh0LlRFWFRVUkVfMkQs
IDAsIGNvbnRleHQuUkdCQSwgMCwgMCwgYXJndW1lbnQsIDEsIDApIik7CisgIGZ1bmMxKCJjb250
ZXh0LmNvcHlUZXhJbWFnZTJEKGNvbnRleHQuVEVYVFVSRV8yRCwgMCwgY29udGV4dC5SR0JBLCAw
LCAwLCAwLCBhcmd1bWVudCwgMCkiKTsKKyAgZnVuYzEoImNvbnRleHQuY29weVRleFN1YkltYWdl
MkQoY29udGV4dC5URVhUVVJFXzJELCBhcmd1bWVudCwgMCwgMCwgMCwgMCwgMCwgMCkiKTsKKyAg
ZnVuYzEoImNvbnRleHQuY29weVRleFN1YkltYWdlMkQoY29udGV4dC5URVhUVVJFXzJELCAwLCBh
cmd1bWVudCwgMCwgMCwgMCwgMCwgMCkiKTsKKyAgZnVuYzEoImNvbnRleHQuY29weVRleFN1Yklt
YWdlMkQoY29udGV4dC5URVhUVVJFXzJELCAwLCAwLCBhcmd1bWVudCwgMCwgMCwgMCwgMCkiKTsK
KyAgZnVuYzEoImNvbnRleHQuY29weVRleFN1YkltYWdlMkQoY29udGV4dC5URVhUVVJFXzJELCAw
LCAwLCAwLCBhcmd1bWVudCwgMCwgMCwgMCkiKTsKKyAgZnVuYzEoImNvbnRleHQuY29weVRleFN1
YkltYWdlMkQoY29udGV4dC5URVhUVVJFXzJELCAwLCAwLCAwLCAwLCBhcmd1bWVudCwgMCwgMCki
KTsKKyAgZnVuYzEoImNvbnRleHQuY29weVRleFN1YkltYWdlMkQoY29udGV4dC5URVhUVVJFXzJE
LCAwLCAwLCAwLCAwLCAwLCBhcmd1bWVudCwgMCkiKTsKKyAgZnVuYzEoImNvbnRleHQuY29weVRl
eFN1YkltYWdlMkQoY29udGV4dC5URVhUVVJFXzJELCAwLCAwLCAwLCAwLCAwLCAwLCBhcmd1bWVu
dCkiKTsKKyAgZnVuYzEoImNvbnRleHQuZGVwdGhNYXNrKGFyZ3VtZW50KSIpOworICBmdW5jMSgi
Y29udGV4dC5kZXB0aFJhbmdlKGFyZ3VtZW50LCAxKSIpOworICBmdW5jMSgiY29udGV4dC5kZXB0
aFJhbmdlKDAsIGFyZ3VtZW50KSIpOworICBmdW5jMSgiY29udGV4dC5kcmF3QXJyYXlzKGNvbnRl
eHQuUE9JTlRTLCBhcmd1bWVudCwgMSkiKTsKKyAgZnVuYzEoImNvbnRleHQuZHJhd0FycmF5cyhj
b250ZXh0LlBPSU5UUywgMCwgYXJndW1lbnQpIik7CisgIC8vZnVuYzEoImNvbnRleHQuZHJhd0Vs
ZW1lbnRzKC4uLikiKTsKKyAgZnVuYzEoImNvbnRleHQuZW5hYmxlVmVydGV4QXR0cmliQXJyYXko
YXJndW1lbnQpIik7CisgIGZ1bmMxKCJjb250ZXh0LmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShh
cmd1bWVudCkiKTsKKyAgZnVuYzIoImNvbnRleHQuZ2V0QWN0aXZlQXR0cmliKHByb2dyYW0sIGFy
Z3VtZW50KSIpOworICBmdW5jMigiY29udGV4dC5nZXRBY3RpdmVVbmlmb3JtKHByb2dyYW0sIGFy
Z3VtZW50KSIpOworICBmdW5jMygiY29udGV4dC5nZXRQYXJhbWV0ZXIoYXJndW1lbnQpIik7Cisg
IGZ1bmMxKCJjb250ZXh0LmxpbmVXaWR0aChhcmd1bWVudCkiKTsKKyAgZnVuYzEoImNvbnRleHQu
cG9seWdvbk9mZnNldChhcmd1bWVudCwgMCkiKTsKKyAgZnVuYzEoImNvbnRleHQucG9seWdvbk9m
ZnNldCgwLCBhcmd1bWVudCkiKTsKKyAgLy9mdW5jMSgiY29udGV4dC5yZWFkUGl4ZWxzKC4uLiki
KTsKKyAgLy9mdW5jMSgiY29udGV4dC5yZW5kZXJidWZmZXJTdG9yYWdlKC4uLikiKTsKKyAgZnVu
YzEoImNvbnRleHQuc2FtcGxlQ292ZXJhZ2UoYXJndW1lbnQsIDApIik7CisgIGZ1bmMxKCJjb250
ZXh0LnNhbXBsZUNvdmVyYWdlKDAsIGFyZ3VtZW50KSIpOworICBmdW5jMSgiY29udGV4dC5zY2lz
c29yKGFyZ3VtZW50LCAwLCAxMCwgMTApIik7CisgIGZ1bmMxKCJjb250ZXh0LnNjaXNzb3IoMCwg
YXJndW1lbnQsIDEwLCAxMCkiKTsKKyAgZnVuYzEoImNvbnRleHQuc2Npc3NvcigwLCAwLCBhcmd1
bWVudCwgMTApIik7CisgIGZ1bmMxKCJjb250ZXh0LnNjaXNzb3IoMCwgMCwgMTAsIGFyZ3VtZW50
KSIpOworICBmdW5jMSgiY29udGV4dC5zaGFkZXJTb3VyY2Uoc2hhZGVyLCBhcmd1bWVudCkiKTsK
KyAgZnVuYzEoImNvbnRleHQuc3RlbmNpbEZ1bmMoY29udGV4dC5ORVZFUiwgYXJndW1lbnQsIDI1
NSkiKTsKKyAgZnVuYzEoImNvbnRleHQuc3RlbmNpbEZ1bmMoY29udGV4dC5ORVZFUiwgMCwgYXJn
dW1lbnQpIik7CisgIC8vZnVuYzEoImNvbnRleHQuc3RlbmNpbEZ1bmNTZXBhcmF0ZShHTGVudW0g
ZmFjZSwgR0xlbnVtIGZ1bmMsIEdMaW50IHJlZiwgR0x1aW50IG1hc2spIik7CisgIGZ1bmMxKCJj
b250ZXh0LnN0ZW5jaWxNYXNrKGFyZ3VtZW50KSIpOworICAvL2Z1bmMxKCJjb250ZXh0LnN0ZW5j
aWxNYXNrU2VwYXJhdGUoY29udGV4dC5GUk9OVCwgYXJndW1lbnQpOworICAvL2Z1bmMxKCJjb250
ZXh0LnRleEltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMZW51bSBpbnRlcm5h
bGZvcm1hdCwgR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsIEdMaW50IGJvcmRlciwgR0xl
bnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldyBwaXhlbHMpIik7CisgIC8v
ZnVuYzEoImNvbnRleHQudGV4UGFyYW1ldGVyZihHTGVudW0gdGFyZ2V0LCBHTGVudW0gcG5hbWUs
IEdMZmxvYXQgcGFyYW0pIik7CisgIC8vZnVuYzEoImNvbnRleHQudGV4UGFyYW1ldGVyaShHTGVu
dW0gdGFyZ2V0LCBHTGVudW0gcG5hbWUsIEdMaW50IHBhcmFtKSIpOworICAvL2Z1bmMxKCJjb250
ZXh0LnRleFN1YkltYWdlMkQoR0xlbnVtIHRhcmdldCwgR0xpbnQgbGV2ZWwsIEdMaW50IHhvZmZz
ZXQsIEdMaW50IHlvZmZzZXQsR0xzaXplaSB3aWR0aCwgR0xzaXplaSBoZWlnaHQsR0xlbnVtIGZv
cm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmlldyBwaXhlbHMpIik7CisgIGZ1bmMxKCJj
b250ZXh0LnVuaWZvcm0xaShsb2MsIGFyZ3VtZW50KSIpOworICBmdW5jMSgiY29udGV4dC51bmlm
b3JtMmkobG9jLCBhcmd1bWVudCwgMCkiKTsKKyAgZnVuYzEoImNvbnRleHQudW5pZm9ybTJpKGxv
YywgMCwgYXJndW1lbnQpIik7CisgIGZ1bmMxKCJjb250ZXh0LnVuaWZvcm0zaShsb2MsIGFyZ3Vt
ZW50LCAwLCAwKSIpOworICBmdW5jMSgiY29udGV4dC51bmlmb3JtM2kobG9jLCAwLCBhcmd1bWVu
dCwgMCkiKTsKKyAgZnVuYzEoImNvbnRleHQudW5pZm9ybTNpKGxvYywgMCwgMCwgYXJndW1lbnQp
Iik7CisgIGZ1bmMxKCJjb250ZXh0LnVuaWZvcm00aShsb2MsIGFyZ3VtZW50LCAwLCAwLCAwKSIp
OworICBmdW5jMSgiY29udGV4dC51bmlmb3JtNGkobG9jLCAwLCBhcmd1bWVudCwgMCwgMCkiKTsK
KyAgZnVuYzEoImNvbnRleHQudW5pZm9ybTRpKGxvYywgMCwgMCwgYXJndW1lbnQsIDApIik7Cisg
IGZ1bmMxKCJjb250ZXh0LnVuaWZvcm00aShsb2MsIDAsIDAsIDAsIGFyZ3VtZW50KSIpOworICBm
dW5jMSgiY29udGV4dC51bmlmb3JtMWYobG9jLCBhcmd1bWVudCkiKTsKKyAgZnVuYzEoImNvbnRl
eHQudW5pZm9ybTJmKGxvYywgYXJndW1lbnQsIDApIik7CisgIGZ1bmMxKCJjb250ZXh0LnVuaWZv
cm0yZihsb2MsIDAsIGFyZ3VtZW50KSIpOworICBmdW5jMSgiY29udGV4dC51bmlmb3JtM2YobG9j
LCBhcmd1bWVudCwgMCwgMCkiKTsKKyAgZnVuYzEoImNvbnRleHQudW5pZm9ybTNmKGxvYywgMCwg
YXJndW1lbnQsIDApIik7CisgIGZ1bmMxKCJjb250ZXh0LnVuaWZvcm0zZihsb2MsIDAsIDAsIGFy
Z3VtZW50KSIpOworICBmdW5jMSgiY29udGV4dC51bmlmb3JtNGYobG9jLCBhcmd1bWVudCwgMCwg
MCwgMCkiKTsKKyAgZnVuYzEoImNvbnRleHQudW5pZm9ybTRmKGxvYywgMCwgYXJndW1lbnQsIDAs
IDApIik7CisgIGZ1bmMxKCJjb250ZXh0LnVuaWZvcm00Zihsb2MsIDAsIDAsIGFyZ3VtZW50LCAw
KSIpOworICBmdW5jMSgiY29udGV4dC51bmlmb3JtNGYobG9jLCAwLCAwLCAwLCBhcmd1bWVudCki
KTsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKworPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL3VuaW5pdGlhbGl6ZWQtdGVzdC5odG1s
IGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFu
Y2UvbWlzYy91bmluaXRpYWxpemVkLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNzgzOTM1MjkwMmNk
MDMzNGIxYTY3ZjEzY2Y3MmQwYWJmZDAyYTU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvd2ViZ2wvcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvbWlzYy91bmlu
aXRpYWxpemVkLXRlc3QuaHRtbApAQCAtMCwwICsxLDE5NSBAQAorPCEtLQorCisvKgorKiogQ29w
eXJpZ2h0IChjKSAyMDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9u
IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p
bmcgYQorKiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50
YXRpb24gZmlsZXMgKHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlh
bHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24g
dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0
cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywg
YW5kIHRvCisqKiBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5p
c2hlZCB0byBkbyBzbywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor
KioKKyoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlIHNoYWxsIGJlIGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBv
cnRpb25zIG9mIHRoZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1Ig
SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgor
KiogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg
Tk9OSU5GUklOR0VNRU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09Q
WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9U
SEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JU
IE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRQorKiogTUFURVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1B
VEVSSUFMUy4KKyovCisKKy0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPldlYkdMIFVuaW5pdGlhbGl6ZWQgR0wgUmVzb3Vy
Y2VzIFRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvd2Vi
Z2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRl
c3QtdXRpbHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZh
cyIgd2lkdGg9IjIiIGhlaWdodD0iMiI+IDwvY2FudmFzPgorPHNjcmlwdD4KKyJ1c2Ugc3RyaWN0
IjsKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0byBjaGVjayB1c2VyIGNvZGUgY2Fubm90IGFjY2VzcyB1
bmluaXRpYWxpemVkIGRhdGEgZnJvbSBHTCByZXNvdXJjZXMuIik7CisKK3ZhciB3dHUgPSBXZWJH
TFRlc3RVdGlsczsKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRleHQoImNhbnZhcyIpOworaWYg
KCFnbCkKKyAgdGVzdEZhaWxlZCgiQ29udGV4dCBjcmVhdGVkLiIpOworZWxzZQorICB0ZXN0UGFz
c2VkKCJDb250ZXh0IGNyZWF0ZWQuIik7CisKK2Z1bmN0aW9uIHNldHVwVGV4dHVyZSh0ZXhXaWR0
aCwgdGV4SGVpZ2h0KSB7CisgICAgdmFyIHRleHR1cmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7Cisg
ICAgZ2wuYmluZFRleHR1cmUoZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSk7CisgICAgZ2wudGV4SW1h
Z2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCB0ZXhXaWR0aCwgdGV4SGVpZ2h0LCAwLCBn
bC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKKworICAgIC8vIHRoaXMgY2FuIGJlIHF1
aXRlIHVuZGV0ZXJtaW5pc3RpYyBzbyB0byBpbXByb3ZlIG9kZHMgb2Ygc2VlaW5nIHVuaW5pdGlh
bGl6ZWQgZGF0YSB3cml0ZSBiaXRzCisgICAgLy8gaW50byB0ZXggdGhlbiBkZWxldGUgdGV4dHVy
ZSB0aGVuIHJlLWNyZWF0ZSBvbmUgd2l0aCBzYW1lIGNoYXJhY3RlcmlzdGljcyAoZHJpdmVyIHdp
bGwgbGlrZWx5IHJldXNlIG1lbSkKKyAgICAvLyB3aXRoIHRoaXMgdHJpY2sgb24gcjU5MDQ2IFdl
YktpdC9PU1ggSSBnZXQgRkFJTCAxMDAlIG9mIHRoZSB0aW1lIGluc3RlYWQgb2YgfjE1JSBvZiB0
aGUgdGltZS4KKworICAgIHZhciBiYWREYXRhID0gbmV3IFVpbnQ4QXJyYXkodGV4V2lkdGggKiB0
ZXhIZWlnaHQgKiA0KTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJhZERhdGEubGVuZ3RoOyAr
K2kpCisgICAgICAgIGJhZERhdGFbaV0gPSBpICUgMjU1OworCisgICAgZ2wudGV4U3ViSW1hZ2Uy
RChnbC5URVhUVVJFXzJELCAwLCAwLCAwLCB0ZXhXaWR0aCwgdGV4SGVpZ2h0LCBnbC5SR0JBLCBn
bC5VTlNJR05FRF9CWVRFLCBiYWREYXRhKTsKKyAgICBnbC5maW5pc2goKTsgLy8gbWFrZSBzdXJl
IGl0IGhhcyBiZWVuIHVwbG9hZGVkCisKKyAgICBnbC5kZWxldGVUZXh0dXJlKHRleHR1cmUpOwor
ICAgIGdsLmZpbmlzaCgpOyAvLyBtYWtlIHN1cmUgaXQgaGFzIGJlZW4gZGVsZXRlZAorCisgICAg
dmFyIHRleHR1cmUgPSBnbC5jcmVhdGVUZXh0dXJlKCk7CisgICAgZ2wuYmluZFRleHR1cmUoZ2wu
VEVYVFVSRV8yRCwgdGV4dHVyZSk7CisgICAgcmV0dXJuIHRleHR1cmU7Cit9CisKK2Z1bmN0aW9u
IGNoZWNrTm9uWmVyb1BpeGVscyh0ZXh0dXJlLCB0ZXhXaWR0aCwgdGV4SGVpZ2h0LCBza2lwWCwg
c2tpcFksIHNraXBXaWR0aCwgc2tpcEhlaWdodCwgc2tpcFIsIHNraXBHLCBza2lwQiwgc2tpcEEp
IHsKKyAgICBnbC5iaW5kVGV4dHVyZShnbC5URVhUVVJFXzJELCBudWxsKTsKKyAgICB2YXIgZmIg
PSBnbC5jcmVhdGVGcmFtZWJ1ZmZlcigpOworICAgIGdsLmJpbmRGcmFtZWJ1ZmZlcihnbC5GUkFN
RUJVRkZFUiwgZmIpOworICAgIGdsLmZyYW1lYnVmZmVyVGV4dHVyZTJEKGdsLkZSQU1FQlVGRkVS
LCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuVEVYVFVSRV8yRCwgdGV4dHVyZSwgMCk7CisgICAg
c2hvdWxkQmUoImdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVCVUZGRVIpIiwgImds
LkZSQU1FQlVGRkVSX0NPTVBMRVRFIik7CisKKyAgICB2YXIgZGF0YSA9IG5ldyBVaW50OEFycmF5
KHRleFdpZHRoICogdGV4SGVpZ2h0ICogNCk7CisgICAgZ2wucmVhZFBpeGVscygwLCAwLCB0ZXhX
aWR0aCwgdGV4SGVpZ2h0LCBnbC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBkYXRhKTsKKworICAg
IHZhciBrID0gMDsKKyAgICBmb3IgKHZhciB5ID0gMDsgeSA8IHRleEhlaWdodDsgKyt5KSB7Cisg
ICAgICAgIGZvciAodmFyIHggPSAwOyB4IDwgdGV4V2lkdGg7ICsreCkgeworICAgICAgICAgICAg
dmFyIGluZGV4ID0gKHkgKiB0ZXhXaWR0aCArIHgpICogNDsKKyAgICAgICAgICAgIGlmICh4ID49
IHNraXBYICYmIHggPCBza2lwWCArIHNraXBXaWR0aCAmJiB5ID49IHNraXBZICYmIHkgPCBza2lw
WSArIHNraXBIZWlnaHQpIHsKKyAgICAgICAgICAgICAgICBpZiAoZGF0YVtpbmRleF0gIT0gc2tp
cFIgfHwgZGF0YVtpbmRleCArIDFdICE9IHNraXBHIHx8IGRhdGFbaW5kZXggKyAyXSAhPSBza2lw
QiB8fCBkYXRhW2luZGV4ICsgM10gIT0gc2tpcEEpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVz
dEZhaWxlZCgibm9uLXplcm8gcGl4ZWwgdmFsdWVzIGFyZSB3cm9uZyIpOworICAgICAgICAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7ICsraSkgeworICAgICAgICAg
ICAgICAgICAgICBpZiAoZGF0YVtpbmRleCArIGldICE9IDApCisgICAgICAgICAgICAgICAgICAg
ICAgICBrKys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfQorICAgIGlmIChrKSB7CisgICAgICAgIHRlc3RGYWlsZWQoIkZvdW5kICIgKyBrICsgIiBu
b24temVybyBieXRlcyIpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RQYXNzZWQoIkFsbCBk
YXRhIGluaXRpYWxpemVkIik7CisgICAgfQorfQorCit2YXIgd2lkdGggPSA1MTI7Cit2YXIgaGVp
Z2h0ID0gNTEyOworCitkZWJ1ZygiIik7CitkZWJ1ZygiUmVhZGluZyBhbiB1bmluaXRpYWxpemVk
IHRleHR1cmUgKHRleEltYWdlMkQpIHNob3VsZCBzdWNjZWVkIHdpdGggYWxsIGJ5dGVzIHNldCB0
byAwLiIpOworCit2YXIgdGV4ID0gc2V0dXBUZXh0dXJlKHdpZHRoLCBoZWlnaHQpOworZ2wudGV4
SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCB3aWR0aCwgaGVpZ2h0LCAwLCBnbC5S
R0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsKK2NoZWNrTm9uWmVyb1BpeGVscyh0ZXgsIHdp
ZHRoLCBoZWlnaHQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDApOworZ2wuZGVsZXRlVGV4dHVyZSh0
ZXgpOworZ2wuZmluaXNoKCk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKwor
ZGVidWcoIiIpOworZGVidWcoIlJlYWRpbmcgYW4gdW5pbml0aWFsaXplZCBwb3J0aW9uIG9mIGEg
dGV4dHVyZSAoY29weVRleEltYWdlMkQpIHNob3VsZCBzdWNjZWVkIHdpdGggYWxsIGJ5dGVzIHNl
dCB0byAwLiIpOworCit2YXIgdGV4ID0gc2V0dXBUZXh0dXJlKHdpZHRoLCBoZWlnaHQpOwordmFy
IGZibyA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCk7CitnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJB
TUVCVUZGRVIsIGZibyk7Cit2YXIgcmJvID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCk7CitnbC5i
aW5kUmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgcmJvKTsKK3ZhciBmYm9XaWR0aCA9IDE2
OwordmFyIGZib0hlaWdodCA9IDE2OworZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJC
VUZGRVIsIGdsLlJHQkE0LCBmYm9XaWR0aCwgZmJvSGVpZ2h0KTsKK2dsLmZyYW1lYnVmZmVyUmVu
ZGVyYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVS
QlVGRkVSLCByYm8pOworc2hvdWxkQmUoImdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJB
TUVCVUZGRVIpIiwgImdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFIik7CitnbC5jbGVhckNvbG9yKDEu
MCwgMC4wLCAwLjAsIDEuMCk7CitnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKK2dsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworZ2wuY29weVRleEltYWdlMkQoZ2wuVEVYVFVS
RV8yRCwgMCwgZ2wuUkdCQSwgMCwgMCwgd2lkdGgsIGhlaWdodCwgMCk7CitjaGVja05vblplcm9Q
aXhlbHModGV4LCB3aWR0aCwgaGVpZ2h0LCAwLCAwLCBmYm9XaWR0aCwgZmJvSGVpZ2h0LCAyNTUs
IDAsIDAsIDI1NSk7CitnbC5kZWxldGVUZXh0dXJlKHRleCk7CitnbC5maW5pc2goKTsKK2dsRXJy
b3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOworCitkZWJ1ZygiIik7CitkZWJ1ZygiUmVhZGlu
ZyBhbiB1bmluaXRpYWxpemVkIHBvcnRpb24gb2YgYSB0ZXh0dXJlIChjb3B5VGV4SW1hZ2UyRCB3
aXRoIG5lZ2F0aXZlIHggYW5kIHkpIHNob3VsZCBzdWNjZWVkIHdpdGggYWxsIGJ5dGVzIHNldCB0
byAwLiIpOworCit2YXIgdGV4ID0gc2V0dXBUZXh0dXJlKHdpZHRoLCBoZWlnaHQpOwordmFyIGZi
byA9IGdsLmNyZWF0ZUZyYW1lYnVmZmVyKCk7CitnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJBTUVC
VUZGRVIsIGZibyk7Cit2YXIgcmJvID0gZ2wuY3JlYXRlUmVuZGVyYnVmZmVyKCk7CitnbC5iaW5k
UmVuZGVyYnVmZmVyKGdsLlJFTkRFUkJVRkZFUiwgcmJvKTsKK3ZhciBmYm9XaWR0aCA9IDE2Owor
dmFyIGZib0hlaWdodCA9IDE2OworZ2wucmVuZGVyYnVmZmVyU3RvcmFnZShnbC5SRU5ERVJCVUZG
RVIsIGdsLlJHQkE0LCBmYm9XaWR0aCwgZmJvSGVpZ2h0KTsKK2dsLmZyYW1lYnVmZmVyUmVuZGVy
YnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBnbC5DT0xPUl9BVFRBQ0hNRU5UMCwgZ2wuUkVOREVSQlVG
RkVSLCByYm8pOworc2hvdWxkQmUoImdsLmNoZWNrRnJhbWVidWZmZXJTdGF0dXMoZ2wuRlJBTUVC
VUZGRVIpIiwgImdsLkZSQU1FQlVGRkVSX0NPTVBMRVRFIik7CitnbC5jbGVhckNvbG9yKDEuMCwg
MC4wLCAwLjAsIDEuMCk7CitnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKK2dsRXJyb3JT
aG91bGRCZShnbCwgZ2wuTk9fRVJST1IpOwordmFyIHggPSAtODsKK3ZhciB5ID0gLTg7CitnbC5j
b3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCB4LCB5LCB3aWR0aCwgaGVp
Z2h0LCAwKTsKK2NoZWNrTm9uWmVyb1BpeGVscyh0ZXgsIHdpZHRoLCBoZWlnaHQsIC14LCAteSwg
ZmJvV2lkdGgsIGZib0hlaWdodCwgMjU1LCAwLCAwLCAyNTUpOworZ2wuZGVsZXRlVGV4dHVyZSh0
ZXgpOworZ2wuZmluaXNoKCk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SKTsKKwor
ZGVidWcoIiIpOworZGVidWcoIlJlYWRpbmcgYW4gdW5pbml0aWFsaXplZCBwb3J0aW9uIG9mIGEg
dGV4dHVyZSAoY29weVRleEltYWdlMkQgZnJvbSBXZWJHTCBpbnRlcm5hbCBmYm8pIHNob3VsZCBz
dWNjZWVkIHdpdGggYWxsIGJ5dGVzIHNldCB0byAwLiIpOworCit2YXIgdGV4ID0gc2V0dXBUZXh0
dXJlKHdpZHRoLCBoZWlnaHQpOworZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBu
dWxsKTsKK2dsLmNsZWFyQ29sb3IoMC4wLCAxLjAsIDAuMCwgMC4wKTsKK2dsLmNsZWFyKGdsLkNP
TE9SX0JVRkZFUl9CSVQpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19FUlJPUik7CitnbC5j
b3B5VGV4SW1hZ2UyRChnbC5URVhUVVJFXzJELCAwLCBnbC5SR0JBLCAwLCAwLCB3aWR0aCwgaGVp
Z2h0LCAwKTsKK2NoZWNrTm9uWmVyb1BpeGVscyh0ZXgsIHdpZHRoLCBoZWlnaHQsIDAsIDAsIGds
LmNhbnZhcy53aWR0aCwgZ2wuY2FudmFzLmhlaWdodCwgMCwgMjU1LCAwLCAwKTsKK2dsLmRlbGV0
ZVRleHR1cmUodGV4KTsKK2dsLmZpbmlzaCgpOworZ2xFcnJvclNob3VsZEJlKGdsLCBnbC5OT19F
UlJPUik7CisKKy8vVE9ETzogdW5pbml0aWFsaXplZCB2ZXJ0ZXggYXJyYXkgYnVmZmVyCisvL1RP
RE86IHVuaW5pdGlhbGl6ZWQgdmVydGV4IGVsZW1lbnRzIGJ1ZmZlcgorLy9UT0RPOiB1bmluaXRp
YWxpemVkIGZyYW1lYnVmZmVyPyAoaW1wbGVtZW50YXRpb25zIHdvdWxkIG5lZWQgdG8gZG8gYSBH
TCBjbGVhciBhdCBmaXJzdCBiaW5kaW5nPykKKy8vVE9ETzogdW5pbml0aWFsaXplZCByZW5kZXJi
dWZmZXI/IChpbXBsZW1lbnRhdGlvbnMgd291bGQgbmVlZCB0byBkbyBhIEdMIGNsZWFyIGF0IGZp
cnN0IGJpbmRpbmc/KQorLy9UT0RPOiB1bmluaXRpYWxpemVkIHVuaWZvcm0gYXJyYXlzPworCitk
ZWJ1ZygiIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMv
d2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9taXNjL3dlYmdsLXNwZWNpZmljLmh0bWwgYi9M
YXlvdXRUZXN0cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9t
aXNjL3dlYmdsLXNwZWNpZmljLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY2ZTVkMGMwMDc0ZWQ5ZDY4MzMw
NzViNzQwNzZmOTYwZTY3MWIzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmds
L3Jlc291cmNlcy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlL21pc2Mvd2ViZ2wtc3BlY2lm
aWMuaHRtbApAQCAtMCwwICsxLDEzMiBAQAorPCEtLQorCisvKgorKiogQ29weXJpZ2h0IChjKSAy
MDEyIFRoZSBLaHJvbm9zIEdyb3VwIEluYy4KKyoqCisqKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn
cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorKiogY29w
eSBvZiB0aGlzIHNvZnR3YXJlIGFuZC9vciBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg
KHRoZQorKiogIk1hdGVyaWFscyIpLCB0byBkZWFsIGluIHRoZSBNYXRlcmlhbHMgd2l0aG91dCBy
ZXN0cmljdGlvbiwgaW5jbHVkaW5nCisqKiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0
byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCisqKiBkaXN0cmlidXRlLCBzdWJs
aWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIE1hdGVyaWFscywgYW5kIHRvCisqKiBw
ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBNYXRlcmlhbHMgYXJlIGZ1cm5pc2hlZCB0byBkbyBz
bywgc3ViamVjdCB0bworKiogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorKioKKyoqIFRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJl
IGluY2x1ZGVkCisqKiBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo
ZSBNYXRlcmlhbHMuCisqKgorKiogVEhFIE1BVEVSSUFMUyBBUkUgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyoqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorKiogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULgorKiogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyoqIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisqKiBUT1JUIE9SIE9USEVSV0lT
RSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRQorKiogTUFU
RVJJQUxTIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIE1BVEVSSUFMUy4KKyov
CisKKy0tPgorCis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgR0xFUzIgZGlmZmVyZW5jZSB0ZXN0LjwvdGl0bGU+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3dlYmdsLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisidXNlIHN0cmljdCI7Cit2YXIgd3R1ID0g
V2ViR0xUZXN0VXRpbHM7CitkZXNjcmlwdGlvbigiVGVzdHMgdGhlIGEgZmV3IGRpZmZlcmVuY2Vz
IGJldHdlZW4gV2ViR0wgYW5kIEdMRVMyIik7CisKK3ZhciBnbCA9IHd0dS5jcmVhdGUzRENvbnRl
eHQoKTsKK3ZhciBwcm9ncmFtID0gd3R1LmxvYWRTdGFuZGFyZFByb2dyYW0oZ2wpOworZ2wudXNl
UHJvZ3JhbShwcm9ncmFtKTsKK3ZhciB2ZXJ0ZXhPYmplY3QgPSBnbC5jcmVhdGVCdWZmZXIoKTsK
K2dsLmJpbmRCdWZmZXIoZ2wuQVJSQVlfQlVGRkVSLCB2ZXJ0ZXhPYmplY3QpOworZ2wuZW5hYmxl
VmVydGV4QXR0cmliQXJyYXkoMCk7CitnbEVycm9yU2hvdWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAi
U2V0dXAgc2hvdWxkIHN1Y2NlZWQiKTsKKworZGVidWcoIiIpOworZGVidWcoIlZlcmlmeSB0aGF0
IGNvbnN0YW50IGNvbG9yIGFuZCBjb25zdGFudCBhbHBoYSBjYW5ub3QgYmUgdXNlZCB0b2dldGhl
ciBhcyBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGZhY3RvcnMgaW4gdGhlIGJsZW5kIGZ1bmN0aW9u
Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZ2wu
YmxlbmRGdW5jKGdsLkNPTlNUQU5UX0NPTE9SLCBnbC5DT05TVEFOVF9BTFBIQSkiKTsKK3Nob3Vs
ZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJnbC5ibGVuZEZ1bmMo
Z2wuT05FX01JTlVTX0NPTlNUQU5UX0NPTE9SLCBnbC5DT05TVEFOVF9BTFBIQSkiKTsKK3Nob3Vs
ZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJnbC5ibGVuZEZ1bmMo
Z2wuQ09OU1RBTlRfQ09MT1IsIGdsLk9ORV9NSU5VU19DT05TVEFOVF9BTFBIQSkiKTsKK3Nob3Vs
ZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJnbC5ibGVuZEZ1bmMo
Z2wuT05FX01JTlVTX0NPTlNUQU5UX0NPTE9SLCBnbC5PTkVfTUlOVVNfQ09OU1RBTlRfQUxQSEEp
Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZ2wu
YmxlbmRGdW5jKGdsLkNPTlNUQU5UX0FMUEhBLCBnbC5DT05TVEFOVF9DT0xPUikiKTsKK3Nob3Vs
ZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJnbC5ibGVuZEZ1bmMo
Z2wuQ09OU1RBTlRfQUxQSEEsIGdsLk9ORV9NSU5VU19DT05TVEFOVF9DT0xPUikiKTsKK3Nob3Vs
ZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJnbC5ibGVuZEZ1bmMo
Z2wuT05FX01JTlVTX0NPTlNUQU5UX0FMUEhBLCBnbC5DT05TVEFOVF9DT0xPUikiKTsKK3Nob3Vs
ZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJnbC5ibGVuZEZ1bmMo
Z2wuT05FX01JTlVTX0NPTlNUQU5UX0FMUEhBLCBnbC5PTkVfTUlOVVNfQ09OU1RBTlRfQ09MT1Ip
Iik7CisKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJn
bC5ibGVuZEZ1bmNTZXBhcmF0ZShnbC5DT05TVEFOVF9DT0xPUiwgZ2wuQ09OU1RBTlRfQUxQSEEs
IGdsLk9ORSwgZ2wuWkVSTykiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJ
RF9PUEVSQVRJT04sICJnbC5ibGVuZEZ1bmNTZXBhcmF0ZShnbC5PTkVfTUlOVVNfQ09OU1RBTlRf
Q09MT1IsIGdsLkNPTlNUQU5UX0FMUEhBLCBnbC5PTkUsIGdsLlpFUk8pIik7CitzaG91bGRHZW5l
cmF0ZUdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZ2wuYmxlbmRGdW5jU2VwYXJh
dGUoZ2wuQ09OU1RBTlRfQ09MT1IsIGdsLk9ORV9NSU5VU19DT05TVEFOVF9BTFBIQSwgZ2wuT05F
LCBnbC5aRVJPKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJB
VElPTiwgImdsLmJsZW5kRnVuY1NlcGFyYXRlKGdsLk9ORV9NSU5VU19DT05TVEFOVF9DT0xPUiwg
Z2wuT05FX01JTlVTX0NPTlNUQU5UX0FMUEhBLCBnbC5PTkUsIGdsLlpFUk8pIik7CitzaG91bGRH
ZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZ2wuYmxlbmRGdW5jU2Vw
YXJhdGUoZ2wuQ09OU1RBTlRfQUxQSEEsIGdsLkNPTlNUQU5UX0NPTE9SLCBnbC5PTkUsIGdsLlpF
Uk8pIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAi
Z2wuYmxlbmRGdW5jU2VwYXJhdGUoZ2wuQ09OU1RBTlRfQUxQSEEsIGdsLk9ORV9NSU5VU19DT05T
VEFOVF9DT0xPUiwgZ2wuT05FLCBnbC5aRVJPKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGds
LCBnbC5JTlZBTElEX09QRVJBVElPTiwgImdsLmJsZW5kRnVuY1NlcGFyYXRlKGdsLk9ORV9NSU5V
U19DT05TVEFOVF9BTFBIQSwgZ2wuQ09OU1RBTlRfQ09MT1IsIGdsLk9ORSwgZ2wuWkVSTykiKTsK
K3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJnbC5ibGVu
ZEZ1bmNTZXBhcmF0ZShnbC5PTkVfTUlOVVNfQ09OU1RBTlRfQUxQSEEsIGdsLk9ORV9NSU5VU19D
T05TVEFOVF9DT0xPUiwgZ2wuT05FLCBnbC5aRVJPKSIpOworCitkZWJ1ZygiIik7CitkZWJ1Zygi
VmVyaWZ5IHRoYXQgaW4gZGVwdGhSYW5nZSB6TmVhciA8PSB6RmFyIik7CitzaG91bGRHZW5lcmF0
ZUdMRXJyb3IoZ2wsIGdsLklOVkFMSURfT1BFUkFUSU9OLCAiZ2wuZGVwdGhSYW5nZSgyMCwgMTAp
Iik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJWZXJpZnkgdGhhdCBmcm9udC9iYWNrIHNldHRpbmdz
IHNob3VsZCBiZSB0aGUgc2FtZSBmb3Igc3RlbmNsTWFzayBhbmQgc3RlbmNpbEZ1bmMiKTsKK3No
b3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5zdGVuY2lsTWFzaygyNTUp
Iik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuZHJhd0FycmF5
cyhnbC5UUklBTkdMRVMsIDAsIDApIik7CitzaG91bGRHZW5lcmF0ZUdMRXJyb3IoZ2wsIGdsLk5P
X0VSUk9SLCAiZ2wuc3RlbmNpbE1hc2tTZXBhcmF0ZShnbC5GUk9OVCwgMSkiKTsKK3Nob3VsZEdl
bmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJnbC5kcmF3QXJyYXlzKGds
LlRSSUFOR0xFUywgMCwgMCkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJS
T1IsICJnbC5zdGVuY2lsTWFza1NlcGFyYXRlKGdsLkJBQ0ssIDEpIik7CitzaG91bGRHZW5lcmF0
ZUdMRXJyb3IoZ2wsIGdsLk5PX0VSUk9SLCAiZ2wuZHJhd0FycmF5cyhnbC5UUklBTkdMRVMsIDAs
IDApIik7CisKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5zdGVu
Y2lsRnVuYyhnbC5BTFdBWVMsIDAsIDI1NSkiKTsKK3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwg
Z2wuTk9fRVJST1IsICJnbC5kcmF3QXJyYXlzKGdsLlRSSUFOR0xFUywgMCwgMCkiKTsKK3Nob3Vs
ZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5zdGVuY2lsRnVuY1NlcGFyYXRl
KGdsLkJBQ0ssIGdsLkFMV0FZUywgMSwgMjU1KSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGds
LCBnbC5JTlZBTElEX09QRVJBVElPTiwgImdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAwLCAw
KSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLnN0ZW5jaWxG
dW5jU2VwYXJhdGUoZ2wuRlJPTlQsIGdsLkFMV0FZUywgMSwgMjU1KSIpOworc2hvdWxkR2VuZXJh
dGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLmRyYXdBcnJheXMoZ2wuVFJJQU5HTEVTLCAw
LCAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwgImdsLnN0ZW5j
aWxGdW5jU2VwYXJhdGUoZ2wuQkFDSywgZ2wuQUxXQVlTLCAxLCAxKSIpOworc2hvdWxkR2VuZXJh
dGVHTEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImdsLmRyYXdBcnJheXMoZ2wuVFJJ
QU5HTEVTLCAwLCAwKSIpOworc2hvdWxkR2VuZXJhdGVHTEVycm9yKGdsLCBnbC5OT19FUlJPUiwg
ImdsLnN0ZW5jaWxGdW5jU2VwYXJhdGUoZ2wuRlJPTlQsIGdsLkFMV0FZUywgMSwgMSkiKTsKK3No
b3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuTk9fRVJST1IsICJnbC5kcmF3QXJyYXlzKGdsLlRS
SUFOR0xFUywgMCwgMCkiKTsKKworZGVidWcoIiIpOworZGVidWcoIlZlcmlmeSB0aGF0IElNUExF
TUVOVEFUSU9OX0NPTE9SX1JFQURfRk9STUFUIGFuZCBJTVBMRU1FTlRBVElPTl9DT0xPUl9SRUFE
X1RZUEUgYXJlIHVuZGVmaW5lZCIpOworc2hvdWxkQmVVbmRlZmluZWQoZ2wuSU1QTEVNRU5UQVRJ
T05fQ09MT1JfUkVBRF9GT1JNQVQpOworc2hvdWxkQmVVbmRlZmluZWQoZ2wuSU1QTEVNRU5UQVRJ
T05fQ09MT1JfUkVBRF9UWVBFKTsKKworZGVidWcoIiIpOworZGVidWcoIlZlcmlmeSB0aGF0ICpM
RU5HVEggYXJlIHVuZGVmaW5lZCIpOworc2hvdWxkQmVVbmRlZmluZWQoZ2wuSU5GT19MT0dfTEVO
R1RIKTsKK3Nob3VsZEJlVW5kZWZpbmVkKGdsLlNIQURFUl9TT1VSQ0VfTEVOR1RIKTsKK3Nob3Vs
ZEJlVW5kZWZpbmVkKGdsLkFDVElWRV9VTklGT1JNX01BWF9MRU5HVEgpOworc2hvdWxkQmVVbmRl
ZmluZWQoZ2wuQUNUSVZFX0FUVFJJQl9NQVhfTEVOR1RIKTsKKworZGVidWcoIiIpOworZGVidWco
IlZlcmlmeSB0aGF0IFVOUEFDS19DT0xPUlNQQUNFX0NPTlZFUlNJT05fV0VCR0wgaXMgc3VwcG9y
dGVkIik7CitzaG91bGRCZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLlVOUEFDS19DT0xPUlNQQUNFX0NP
TlZFUlNJT05fV0VCR0wpIiwgImdsLkJST1dTRVJfREVGQVVMVF9XRUJHTCIpOworZ2wucGl4ZWxT
dG9yZWkoZ2wuVU5QQUNLX0NPTE9SU1BBQ0VfQ09OVkVSU0lPTl9XRUJHTCwgZ2wuTk9ORSk7Citz
aG91bGRCZSgiZ2wuZ2V0UGFyYW1ldGVyKGdsLlVOUEFDS19DT0xPUlNQQUNFX0NPTlZFUlNJT05f
V0VCR0wpIiwgImdsLk5PTkUiKTsKK2dsRXJyb3JTaG91bGRCZShnbCwgZ2wuTk9fRVJST1IsICJz
ZXQvZ2V0IFVOUEFDS19DT0xPUlNQQUNFX0NPTlZFUlNJT05fV0VCR0wgc2hvdWxkIGdlbmVyYXRl
IG5vIGVycm9yIik7CisKK2RlYnVnKCIiKTsKK2RlYnVnKCJWZXJpZnkgdGhhdCBkcmF3aW5nQnVm
ZmVyV2lkdGggYW5kIGRyYXdpbmdCdWZmZXJIZWlnaHRzIGFyZSBpbXBsZW1lbnRlZCIpOworc2hv
dWxkQmVUcnVlKCJnbC5kcmF3aW5nQnVmZmVyV2lkdGggPj0gMCAmJiBnbC5kcmF3aW5nQnVmZmVy
SGVpZ2h0ID49IDAiKTsKKworZGVidWcoIiIpOworZGVidWcoIlZlcmlmeSB0aGF0IGJpbmRBdHRy
aWJMb2NhdGlvbiByZWplY3RzIG5hbWVzIHN0YXJ0IHdpdGggd2ViZ2xfIG9yIF93ZWJnbF8iKTsK
K3Nob3VsZEdlbmVyYXRlR0xFcnJvcihnbCwgZ2wuSU5WQUxJRF9PUEVSQVRJT04sICJnbC5iaW5k
QXR0cmliTG9jYXRpb24ocHJvZ3JhbSwgMCwgJ3dlYmdsX2EnKSIpOworc2hvdWxkR2VuZXJhdGVH
TEVycm9yKGdsLCBnbC5JTlZBTElEX09QRVJBVElPTiwgImdsLmJpbmRBdHRyaWJMb2NhdGlvbihw
cm9ncmFtLCAwLCAnX3dlYmdsX2EnKSIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>