<?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>65144</bug_id>
          
          <creation_ts>2011-07-25 15:50:40 -0700</creation_ts>
          <short_desc>REGRESSION(r91686): 1.5% regression in JSC (Requested by jmontemayor on #webkit).</short_desc>
          <delta_ts>2011-07-25 16:04:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>63339</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>oliver</cc>
    
    <cc>slewis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>441932</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-25 15:50:40 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/91686 broke the build:
1.5% regression in JSC (Requested by jmontemayor on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441933</commentid>
    <comment_count>1</comment_count>
      <attachid>101931</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-25 15:51:09 -0700</bug_when>
    <thetext>Created attachment 101931
ROLLOUT of r91686

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441943</commentid>
    <comment_count>2</comment_count>
      <attachid>101931</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-25 15:59:32 -0700</bug_when>
    <thetext>Comment on attachment 101931
ROLLOUT of r91686

Clearing flags on attachment: 101931

Committed r91715: &lt;http://trac.webkit.org/changeset/91715&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441944</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-25 15:59:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101931</attachid>
            <date>2011-07-25 15:51:09 -0700</date>
            <delta_ts>2011-07-25 15:59:32 -0700</delta_ts>
            <desc>ROLLOUT of r91686</desc>
            <filename>bug-65144-20110725224944.patch</filename>
            <type>text/plain</type>
            <size>59968</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE3MTMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzYjBlMTY5Njk2MzU1ZThkYjIxNWQ3
ODZmYWYwMWMzYzllODFlNjZlLi41NzljZGVmYzYxYzhhYzkwMGQyNDdiZmQ5NmZmMjBiYThkNjE3
Mjg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDctMjUgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHI5MTY4Ni4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvOTE2
ODYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTQ0
CisKKyAgICAgICAgMS41JSByZWdyZXNzaW9uIGluIEpTQyAoUmVxdWVzdGVkIGJ5IGptb250ZW1h
eW9yIG9uICN3ZWJraXQpLgorCisgICAgICAgICogZmFzdC9qcy9KU09OLXBhcnNlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2pzL0pTT04tcGFyc2UtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorCiAyMDExLTA2LTA3ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9i
aW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEg
U2lsdmEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2pzL0pTT04tcGFyc2UtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9KU09OLXBhcnNlLWV4cGVjdGVkLnR4dAppbmRl
eCA5MmQ4ZmMzMTAwYjNlM2YzMTZjMGYyZTdmZWQ0YTU3ZGJhZjg1MGRkLi45MzYyOTU0NjUxYjI3
N2Y5NmJhMzQyYmE5NTgxNjllOGI3NzliMmEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2pzL0pTT04tcGFyc2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvSlNP
Ti1wYXJzZS1leHBlY3RlZC50eHQKQEAgLTUsNyArNSw3IEBAIFBBU1MgdGVzdHNbaV0obmF0aXZl
SlNPTikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBKU09OLnBhcnNlIHJlcXVpcmVzIGF0IGxlYXN0
IG9uCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5w
YXJzZSgnJyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRp
b24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6IFVuZXhwZWN0ZWQgRU9GLgorUEFTUyB0
ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuYWJsZSB0
byBwYXJzZSBKU09OIHN0cmluZy4KIGZ1bmN0aW9uIChqc29uT2JqZWN0KSB7CiAgICAgICAgIHJl
dHVybiBqc29uT2JqZWN0LnBhcnNlKCcxJyk7CiAgICAgfQpAQCAtMTcsMTEgKzE3LDExIEBAIFBB
U1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5
KHRlc3RzW2ldKEpTT04pKQogZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKICAgICAgICAgcmV0dXJu
IGpzb25PYmplY3QucGFyc2UoJ0luZmluaXR5Jyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRp
dmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6IFVu
ZXhwZWN0ZWQgaWRlbnRpZmllciAiSW5maW5pdHk/Ii4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNP
TikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJp
bmcuCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5w
YXJzZSgnTmFOJyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNl
cHRpb24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmll
ciAiTmFOIi4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRh
eEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBmdW5jdGlvbiAoanNvbk9iamVj
dCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnbnVsbCcpOwogICAgIH0KQEAg
LTI5LDcgKzI5LDcgQEAgUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkg
aXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCiBmdW5jdGlvbiAoanNvbk9iamVjdCkg
ewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgndW5kZWZpbmVkJyk7CiAgICAgfQot
UEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEpT
T04gUGFyc2UgZXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAidW5kZWZpbmVkIi4KK1BBU1Mg
dGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUg
dG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICBy
ZXR1cm4ganNvbk9iamVjdC5wYXJzZSgne30nKTsKICAgICB9CkBAIC0zNywzMSArMzcsMzEgQEAg
UEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdp
ZnkodGVzdHNbaV0oSlNPTikpCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICByZXR1
cm4ganNvbk9iamVjdC5wYXJzZSgnKHt9KScpOwogICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZl
SlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBKU09OIFBhcnNlIGVycm9yOiBVbmV4
cGVjdGVkIHRva2VuICcoJy4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0
aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBmdW5jdGlvbiAo
anNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgne2F9Jyk7CiAg
ICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJy
b3I6IEpTT04gUGFyc2UgZXJyb3I6IEV4cGVjdGVkICd9Jy4KK1BBU1MgdGVzdHNbaV0obmF0aXZl
SlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBz
dHJpbmcuCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVj
dC5wYXJzZSgne2E6fScpOwogICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcg
ZXhjZXB0aW9uIFN5bnRheEVycm9yOiBKU09OIFBhcnNlIGVycm9yOiBFeHBlY3RlZCAnfScuCitQ
QVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5h
YmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgogZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKICAgICAg
ICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJ3thOjV9Jyk7CiAgICAgfQotUEFTUyB0ZXN0c1tp
XShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJy
b3I6IEV4cGVjdGVkICd9Jy4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0
aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBmdW5jdGlvbiAo
anNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgne2E6NSx9Jyk7
CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4
RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6IEV4cGVjdGVkICd9Jy4KK1BBU1MgdGVzdHNbaV0obmF0
aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNP
TiBzdHJpbmcuCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9i
amVjdC5wYXJzZSgneyJhIn0nKTsKICAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRo
cmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSlNPTiBQYXJzZSBlcnJvcjogRXhwZWN0ZWQgJzon
IGJlZm9yZSB2YWx1ZSBpbiBvYmplY3QgcHJvcGVydHkgZGVmaW5pdGlvbi4KK1BBU1MgdGVzdHNb
aV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFy
c2UgSlNPTiBzdHJpbmcuCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4g
anNvbk9iamVjdC5wYXJzZSgneyJhIjp9Jyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVK
U09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJ30nLgorUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRp
b24gU3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KIGZ1bmN0aW9uIChq
c29uT2JqZWN0KSB7CiAgICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCd7ImEiOjV9Jyk7
CiAgICAgfQpAQCAtNzMsMjAgKzczLDIwIEBAIFBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0o
bmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQogZnVuY3Rpb24g
KGpzb25PYmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJ3siYSI6NSx9
Jyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3lu
dGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6IFByb3BlcnR5IG5hbWUgbXVzdCBiZSBhIHN0cmlu
ZyBsaXRlcmFsLgorUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3lu
dGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KIGpzb24yLmpzIGRpZCBub3Qg
dGhyb3cgZm9yIGEgdGVzdCB3ZSBleHBlY3QgdG8gdGhyb3cuCiBmdW5jdGlvbiAoanNvbk9iamVj
dCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgneyJhIjo1LCx9Jyk7CiAgICAg
fQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IEpTT04gUGFyc2UgZXJyb3I6IFByb3BlcnR5IG5hbWUgbXVzdCBiZSBhIHN0cmluZyBsaXRlcmFs
LgorUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KIGZ1bmN0aW9uIChqc29uT2JqZWN0KSB7CiAg
ICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCd7ImEiOjUsImEiLH0nKTsKICAgICB9Ci1Q
QVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSlNP
TiBQYXJzZSBlcnJvcjogRXhwZWN0ZWQgJzonLgorUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0
aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4K
IGZ1bmN0aW9uIChqc29uT2JqZWN0KSB7CiAgICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNl
KCd7ImEiOig1LCJhIiksfScpOwogICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhy
ZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBKU09OIFBhcnNlIGVycm9yOiBVbmV4cGVjdGVkIHRv
a2VuICcoJy4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRh
eEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBmdW5jdGlvbiAoanNvbk9iamVj
dCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnW10nKTsKICAgICB9CkBAIC05
OCw3ICs5OCw3IEBAIFBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlz
IEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQogZnVuY3Rpb24gKGpzb25PYmplY3QpIHsK
ICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJ1sxLF0nKTsKICAgICB9Ci1QQVNTIHRl
c3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSlNPTiBQYXJz
ZSBlcnJvcjogVW5leHBlY3RlZCBjb21tYSBhdCB0aGUgZW5kIG9mIGFycmF5IGV4cHJlc3Npb24u
CitQQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjog
VW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgoganNvbjIuanMgZGlkIG5vdCB0aHJvdyBmb3Ig
YSB0ZXN0IHdlIGV4cGVjdCB0byB0aHJvdy4KIGZ1bmN0aW9uIChqc29uT2JqZWN0KSB7CiAgICAg
ICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCdbMSwyXScpOwpAQCAtMTA3LDEyICsxMDcsMTIg
QEAgUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJp
bmdpZnkodGVzdHNbaV0oSlNPTikpCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICBy
ZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnWzEsMiwsXScpOwogICAgIH0KLVBBU1MgdGVzdHNbaV0o
bmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBKU09OIFBhcnNlIGVycm9y
OiBVbmV4cGVjdGVkIHRva2VuICcsJy4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcg
ZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBqc29u
Mi5qcyBkaWQgbm90IHRocm93IGZvciBhIHRlc3Qgd2UgZXhwZWN0IHRvIHRocm93LgogZnVuY3Rp
b24gKGpzb25PYmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJ1sxLDIs
LDRdJyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24g
U3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6IFVuZXhwZWN0ZWQgdG9rZW4gJywnLgorUEFT
UyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuYWJs
ZSB0byBwYXJzZSBKU09OIHN0cmluZy4KIGpzb24yLmpzIGRpZCBub3QgdGhyb3cgZm9yIGEgdGVz
dCB3ZSBleHBlY3QgdG8gdGhyb3cuCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICBy
ZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnIiInKTsKQEAgLTEyOSwxNSArMTI5LDE1IEBAIFBBU1Mg
SlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRl
c3RzW2ldKEpTT04pKQogZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpz
b25PYmplY3QucGFyc2UoJyJhXFwiJyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09O
KSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6IFVudGVybWlu
YXRlZCBzdHJpbmcuCitQQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBT
eW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgogZnVuY3Rpb24gKGpzb25P
YmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJhXFx6IicpOwogICAg
IH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9y
OiBKU09OIFBhcnNlIGVycm9yOiBJbnZhbGlkIGVzY2FwZSBjaGFyYWN0ZXIgei4KK1BBU1MgdGVz
dHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8g
cGFyc2UgSlNPTiBzdHJpbmcuCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICByZXR1
cm4ganNvbk9iamVjdC5wYXJzZSgnImFcXFx6IicpOwogICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0
aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBKU09OIFBhcnNlIGVycm9yOiBJ
bnZhbGlkIGVzY2FwZSBjaGFyYWN0ZXIgei4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhy
ZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBm
dW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgn
ImFcXFxceiInKTsKICAgICB9CkBAIC0xNTMsNyArMTUzLDcgQEAgUEFTUyBKU09OLnN0cmluZ2lm
eSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikp
CiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJz
ZSgnImFcbnoiJyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNl
cHRpb24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6IFVudGVybWluYXRlZCBzdHJpbmcu
CitQQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjog
VW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgogZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKICAg
ICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJhXFxueiInKTsKICAgICB9CkBAIC0xNjEs
NyArMTYxLDcgQEAgUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMg
SlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewog
ICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnImFccnoiJyk7CiAgICAgfQotUEFTUyB0
ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEpTT04gUGFy
c2UgZXJyb3I6IFVudGVybWluYXRlZCBzdHJpbmcuCitQQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04p
IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5n
LgogZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFy
c2UoJyJhXFxyeiInKTsKICAgICB9CkBAIC0xNzcsNyArMTc3LDcgQEAgUEFTUyBKU09OLnN0cmlu
Z2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNP
TikpCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5w
YXJzZSgnImFcYnoiJyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBl
eGNlcHRpb24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6IFVudGVybWluYXRlZCBzdHJp
bmcuCitQQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJv
cjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgoganNvbjIuanMgZGlkIG5vdCB0aHJvdyBm
b3IgYSB0ZXN0IHdlIGV4cGVjdCB0byB0aHJvdy4KIGZ1bmN0aW9uIChqc29uT2JqZWN0KSB7CiAg
ICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciYVxcYnoiJyk7CkBAIC0xODYsNyArMTg2
LDcgQEAgUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5z
dHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAg
ICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnImFccnoiJyk7CiAgICAgfQotUEFTUyB0ZXN0c1tp
XShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJy
b3I6IFVudGVybWluYXRlZCBzdHJpbmcuCitQQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3
IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgogZnVu
Y3Rpb24gKGpzb25PYmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJh
XFxyeiInKTsKICAgICB9CkBAIC0xOTQsMTkgKzE5NCwxOSBAQCBQQVNTIEpTT04uc3RyaW5naWZ5
KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkK
IGZ1bmN0aW9uIChqc29uT2JqZWN0KSB7CiAgICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNl
KCciYVxcdXoiICAgICAnKTsKICAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3
IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSlNPTiBQYXJzZSBlcnJvcjogIlx1eiIgICIgaXMgbm90
IGEgdmFsaWQgdW5pY29kZSBlc2NhcGUuCitQQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3
IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgogZnVu
Y3Rpb24gKGpzb25PYmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJh
XFx1MHoiICAgICcpOwogICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhj
ZXB0aW9uIFN5bnRheEVycm9yOiBKU09OIFBhcnNlIGVycm9yOiAiXHUweiIgIiBpcyBub3QgYSB2
YWxpZCB1bmljb2RlIGVzY2FwZS4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhj
ZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBmdW5jdGlv
biAoanNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnImFcXHUw
MHoiICAgJyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRp
b24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6ICJcdTAweiIiIGlzIG5vdCBhIHZhbGlk
IHVuaWNvZGUgZXNjYXBlLgorUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRp
b24gU3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KIGZ1bmN0aW9uIChq
c29uT2JqZWN0KSB7CiAgICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciYVxcdTAwMHoi
ICAnKTsKICAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBT
eW50YXhFcnJvcjogSlNPTiBQYXJzZSBlcnJvcjogIlx1MDAweiIgaXMgbm90IGEgdmFsaWQgdW5p
Y29kZSBlc2NhcGUuCitQQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBT
eW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgogZnVuY3Rpb24gKGpzb25P
YmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJhXFx1MDAwMHoiICcp
OwogICAgIH0KQEAgLTIyMiwxMSArMjIyLDExIEBAIFBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNb
aV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQogZnVuY3Rp
b24gKGpzb25PYmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJhXFx1
MDAwR3oiICcpOwogICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0
aW9uIFN5bnRheEVycm9yOiBKU09OIFBhcnNlIGVycm9yOiAiXHUwMDBHIiBpcyBub3QgYSB2YWxp
ZCB1bmljb2RlIGVzY2FwZS4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0
aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBmdW5jdGlvbiAo
anNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnImFcXHUwMDBn
eiIgJyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24g
U3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6ICJcdTAwMGciIGlzIG5vdCBhIHZhbGlkIHVu
aWNvZGUgZXNjYXBlLgorUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24g
U3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KIGZ1bmN0aW9uIChqc29u
T2JqZWN0KSB7CiAgICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciYVxcdTAwQTB6IiAn
KTsKICAgICB9CkBAIC0yMzgsMTEgKzIzOCwxMSBAQCBQQVNTIEpTT04uc3RyaW5naWZ5KHRlc3Rz
W2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKIGZ1bmN0
aW9uIChqc29uT2JqZWN0KSB7CiAgICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciYVxc
dTAwRzB6IiAnKTsKICAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2Vw
dGlvbiBTeW50YXhFcnJvcjogSlNPTiBQYXJzZSBlcnJvcjogIlx1MDBHMCIgaXMgbm90IGEgdmFs
aWQgdW5pY29kZSBlc2NhcGUuCitQQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2Vw
dGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgogZnVuY3Rpb24g
KGpzb25PYmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJhXFx1MDBn
MHoiICcpOwogICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9u
IFN5bnRheEVycm9yOiBKU09OIFBhcnNlIGVycm9yOiAiXHUwMGcwIiBpcyBub3QgYSB2YWxpZCB1
bmljb2RlIGVzY2FwZS4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9u
IFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBmdW5jdGlvbiAoanNv
bk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnImFcXHUwQTAweiIg
Jyk7CiAgICAgfQpAQCAtMjU0LDExICsyNTQsMTEgQEAgUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0
c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCiBmdW5j
dGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnImFc
XHUwRzAweiIgJyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNl
cHRpb24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6ICJcdTBHMDAiIGlzIG5vdCBhIHZh
bGlkIHVuaWNvZGUgZXNjYXBlLgorUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNl
cHRpb24gU3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KIGZ1bmN0aW9u
IChqc29uT2JqZWN0KSB7CiAgICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciYVxcdTBn
MDB6IiAnKTsKICAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlv
biBTeW50YXhFcnJvcjogSlNPTiBQYXJzZSBlcnJvcjogIlx1MGcwMCIgaXMgbm90IGEgdmFsaWQg
dW5pY29kZSBlc2NhcGUuCitQQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlv
biBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgogZnVuY3Rpb24gKGpz
b25PYmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJhXFx1QTAwMHoi
ICcpOwogICAgIH0KQEAgLTI3MCw3MSArMjcwLDcxIEBAIFBBU1MgSlNPTi5zdHJpbmdpZnkodGVz
dHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQogZnVu
Y3Rpb24gKGpzb25PYmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJh
XFx1RzAwMHoiICcpOwogICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhj
ZXB0aW9uIFN5bnRheEVycm9yOiBKU09OIFBhcnNlIGVycm9yOiAiXHVHMDAwIiBpcyBub3QgYSB2
YWxpZCB1bmljb2RlIGVzY2FwZS4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhj
ZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBmdW5jdGlv
biAoanNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnImFcXHVn
MDAweiIgJyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRp
b24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6ICJcdWcwMDAiIGlzIG5vdCBhIHZhbGlk
IHVuaWNvZGUgZXNjYXBlLgorUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRp
b24gU3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KIGZ1bmN0aW9uIChq
c29uT2JqZWN0KSB7CiAgICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCcwMCcpOwogICAg
IH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9y
OiBKU09OIFBhcnNlIGVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCitQQVNTIHRl
c3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRv
IHBhcnNlIEpTT04gc3RyaW5nLgoganNvbjIuanMgZGlkIG5vdCB0aHJvdyBmb3IgYSB0ZXN0IHdl
IGV4cGVjdCB0byB0aHJvdy4KIGZ1bmN0aW9uIChqc29uT2JqZWN0KSB7CiAgICAgICAgIHJldHVy
biBqc29uT2JqZWN0LnBhcnNlKCcwMScpOwogICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNP
TikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBKU09OIFBhcnNlIGVycm9yOiBVbmFibGUg
dG8gcGFyc2UgSlNPTiBzdHJpbmcuCitQQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4
Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgoganNvbjIu
anMgZGlkIG5vdCB0aHJvdyBmb3IgYSB0ZXN0IHdlIGV4cGVjdCB0byB0aHJvdy4KIGZ1bmN0aW9u
IChqc29uT2JqZWN0KSB7CiAgICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCcwLmEnKTsK
ICAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhF
cnJvcjogSlNPTiBQYXJzZSBlcnJvcjogSW52YWxpZCBkaWdpdHMgYWZ0ZXIgZGVjaW1hbCBwb2lu
dC4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9y
OiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewog
ICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnMHgwJyk7CiAgICAgfQotUEFTUyB0ZXN0
c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2Ug
ZXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KK1BBU1MgdGVzdHNbaV0obmF0aXZl
SlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBz
dHJpbmcuCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVj
dC5wYXJzZSgnMmUxLjMnKTsKICAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3
IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSlNPTiBQYXJzZSBlcnJvcjogVW5hYmxlIHRvIHBhcnNl
IEpTT04gc3RyaW5nLgorUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24g
U3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KIGZ1bmN0aW9uIChqc29u
T2JqZWN0KSB7CiAgICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCcyZS0rMTAnKTsKICAg
ICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJv
cjogSlNPTiBQYXJzZSBlcnJvcjogRXhwb25lbnQgc3ltYm9scyBzaG91bGQgYmUgZm9sbG93ZWQg
YnkgYW4gb3B0aW9uYWwgJysnIG9yICctJyBhbmQgdGhlbiBieSBhdCBsZWFzdCBvbmUgbnVtYmVy
LgorUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KIGZ1bmN0aW9uIChqc29uT2JqZWN0KSB7CiAg
ICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCcyZSstMTAnKTsKICAgICB9Ci1QQVNTIHRl
c3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSlNPTiBQYXJz
ZSBlcnJvcjogRXhwb25lbnQgc3ltYm9scyBzaG91bGQgYmUgZm9sbG93ZWQgYnkgYW4gb3B0aW9u
YWwgJysnIG9yICctJyBhbmQgdGhlbiBieSBhdCBsZWFzdCBvbmUgbnVtYmVyLgorUEFTUyB0ZXN0
c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuYWJsZSB0byBw
YXJzZSBKU09OIHN0cmluZy4KIGZ1bmN0aW9uIChqc29uT2JqZWN0KSB7CiAgICAgICAgIHJldHVy
biBqc29uT2JqZWN0LnBhcnNlKCcyZTNlNCcpOwogICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZl
SlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBKU09OIFBhcnNlIGVycm9yOiBVbmFi
bGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCitQQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3
IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgogZnVu
Y3Rpb24gKGpzb25PYmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJy0w
MS4wJyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24g
U3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmlu
Zy4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9y
OiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBmdW5jdGlvbiAoanNvbk9iamVjdCkgewog
ICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnLTAxJyk7CiAgICAgfQotUEFTUyB0ZXN0
c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2Ug
ZXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KK1BBU1MgdGVzdHNbaV0obmF0aXZl
SlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBz
dHJpbmcuCiBqc29uMi5qcyBkaWQgbm90IHRocm93IGZvciBhIHRlc3Qgd2UgZXhwZWN0IHRvIHRo
cm93LgogZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3Qu
cGFyc2UoJy0wMS5hJyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBl
eGNlcHRpb24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6IEludmFsaWQgZGlnaXRzIGFm
dGVyIGRlY2ltYWwgcG9pbnQuCitQQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2Vw
dGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgogZnVuY3Rpb24g
KGpzb25PYmplY3QpIHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJzEuZTEnKTsK
ICAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhF
cnJvcjogSlNPTiBQYXJzZSBlcnJvcjogSW52YWxpZCBkaWdpdHMgYWZ0ZXIgZGVjaW1hbCBwb2lu
dC4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9y
OiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBqc29uMi5qcyBkaWQgbm90IHRocm93IGZv
ciBhIHRlc3Qgd2UgZXhwZWN0IHRvIHRocm93LgogZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKICAg
ICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJ3svKiBibG9jayBjb21tZW50cyBhcmUgbm90
IGFsbG93ZWQgKi99Jyk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBl
eGNlcHRpb24gU3ludGF4RXJyb3I6IEpTT04gUGFyc2UgZXJyb3I6IFVucmVjb2duaXplZCB0b2tl
biAnLycuCitQQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhF
cnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgogZnVuY3Rpb24gKGpzb25PYmplY3Qp
IHsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJ3svLyBsaW5lIGNvbW1lbnRzIGFy
ZSBub3QgYWxsb3dlZCBcbn0nKTsKICAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRo
cmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogSlNPTiBQYXJzZSBlcnJvcjogVW5yZWNvZ25pemVk
IHRva2VuICcvJy4KK1BBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5
bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCiBmdW5jdGlvbiAoanNvbk9i
amVjdCkgewogICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgndHJ1ZScpOwogICAgIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvanMvSlNPTi1w
YXJzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2pz
L0pTT04tcGFyc2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
MzYyOTU0NjUxYjI3N2Y5NmJhMzQyYmE5NTgxNjllOGI3NzliMmEwLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2Zhc3QvanMvSlNPTi1wYXJzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2
MDIgKzAsMCBAQAotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25P
YmplY3QucGFyc2UoKTsKLSAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogSlNPTi5wYXJzZSByZXF1aXJlcyBhdCBsZWFzdCBvbmUgcGFyYW1ldGVy
LgotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFy
c2UoJycpOwotICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9u
IFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCi1mdW5jdGlvbiAoanNv
bk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnMScpOwotICAgIH0K
LVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5n
aWZ5KHRlc3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0
dXJuIGpzb25PYmplY3QucGFyc2UoJy0xJyk7Ci0gICAgfQotUEFTUyBKU09OLnN0cmluZ2lmeSh0
ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCi1m
dW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgn
SW5maW5pdHknKTsKLSAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2Vw
dGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgotZnVuY3Rpb24g
KGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJ05hTicpOwot
ICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVy
cm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCi1mdW5jdGlvbiAoanNvbk9iamVjdCkg
ewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnbnVsbCcpOwotICAgIH0KLVBBU1Mg
SlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRl
c3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpz
b25PYmplY3QucGFyc2UoJ3VuZGVmaW5lZCcpOwotICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZl
SlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBz
dHJpbmcuCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVj
dC5wYXJzZSgne30nKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2
ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29u
T2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCcoe30pJyk7Ci0gICAg
fQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0g
ICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCd7YX0nKTsKLSAgICB9Ci1QQVNTIHRlc3Rz
W2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBh
cnNlIEpTT04gc3RyaW5nLgotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJu
IGpzb25PYmplY3QucGFyc2UoJ3thOn0nKTsKLSAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpT
T04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3Ry
aW5nLgotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3Qu
cGFyc2UoJ3thOjV9Jyk7Ci0gICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBl
eGNlcHRpb24gU3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KLWZ1bmN0
aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCd7YTo1
LH0nKTsKLSAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBT
eW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgotZnVuY3Rpb24gKGpzb25P
YmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJ3siYSJ9Jyk7Ci0gICAg
fQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0g
ICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCd7ImEiOn0nKTsKLSAgICB9Ci1QQVNTIHRl
c3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRv
IHBhcnNlIEpTT04gc3RyaW5nLgotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0
dXJuIGpzb25PYmplY3QucGFyc2UoJ3siYSI6NX0nKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5n
aWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09O
KSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBh
cnNlKCd7Il9fcHJvdG9fXyI6NX0nKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3Rz
W2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0
aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCd7ImEi
OjUsfScpOwotICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9u
IFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCi1qc29uMi5qcyBkaWQg
bm90IHRocm93IGZvciBhIHRlc3Qgd2UgZXhwZWN0IHRvIHRocm93LgotZnVuY3Rpb24gKGpzb25P
YmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJ3siYSI6NSwsfScpOwot
ICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVy
cm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCi1mdW5jdGlvbiAoanNvbk9iamVjdCkg
ewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgneyJhIjo1LCJhIix9Jyk7Ci0gICAg
fQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0g
ICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCd7ImEiOig1LCJhIiksfScpOwotICAgIH0K
LVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBV
bmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAg
ICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnW10nKTsKLSAgICB9Ci1QQVNTIEpTT04uc3Ry
aW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShK
U09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0
LnBhcnNlKCdbMV0nKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2
ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29u
T2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCdbMSxdJyk7Ci0gICAg
fQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KLWpzb24yLmpzIGRpZCBub3QgdGhyb3cgZm9y
IGEgdGVzdCB3ZSBleHBlY3QgdG8gdGhyb3cuCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAg
ICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnWzEsMl0nKTsKLSAgICB9Ci1QQVNTIEpTT04u
c3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tp
XShKU09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2Jq
ZWN0LnBhcnNlKCdbMSwyLCxdJyk7Ci0gICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0
aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4K
LWpzb24yLmpzIGRpZCBub3QgdGhyb3cgZm9yIGEgdGVzdCB3ZSBleHBlY3QgdG8gdGhyb3cuCi1m
dW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgn
WzEsMiwsNF0nKTsKLSAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2Vw
dGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgotanNvbjIuanMg
ZGlkIG5vdCB0aHJvdyBmb3IgYSB0ZXN0IHdlIGV4cGVjdCB0byB0aHJvdy4KLWZ1bmN0aW9uIChq
c29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciIicpOwotICAg
IH0KLVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3Ry
aW5naWZ5KHRlc3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAg
cmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJcJyInKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5n
aWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09O
KSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBh
cnNlKCciYVwiJyk7Ci0gICAgfQotUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVK
U09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCi1mdW5jdGlvbiAoanNvbk9i
amVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnImFcXCInKTsKLSAgICB9
Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjog
VW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAg
ICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJhXFx6IicpOwotICAgIH0KLVBBU1MgdGVz
dHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8g
cGFyc2UgSlNPTiBzdHJpbmcuCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1
cm4ganNvbk9iamVjdC5wYXJzZSgnImFcXFx6IicpOwotICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0
aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNP
TiBzdHJpbmcuCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9i
amVjdC5wYXJzZSgnImFcXFxceiInKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3Rz
W2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0
aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciYVx0
eiInKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBp
cyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7
Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciYVxcdHoiJyk7Ci0gICAgfQotUEFT
UyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnko
dGVzdHNbaV0oSlNPTikpCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4g
anNvbk9iamVjdC5wYXJzZSgnImFcbnoiJyk7Ci0gICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVK
U09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0
cmluZy4KLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0
LnBhcnNlKCciYVxcbnoiJyk7Ci0gICAgfQotUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShu
YXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCi1mdW5jdGlvbiAo
anNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnImFccnoiJyk7
Ci0gICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4
RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KLWZ1bmN0aW9uIChqc29uT2JqZWN0
KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciYVxccnoiJyk7Ci0gICAgfQot
UEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdp
ZnkodGVzdHNbaV0oSlNPTikpCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1
cm4ganNvbk9iamVjdC5wYXJzZSgnImFcL3oiJyk7Ci0gICAgfQotUEFTUyBKU09OLnN0cmluZ2lm
eSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikp
Ci1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJz
ZSgnImFcXC96IicpOwotICAgIH0KLVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZl
SlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25P
YmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJhXGJ6IicpOwotICAg
IH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9y
OiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCi1qc29uMi5qcyBkaWQgbm90IHRocm93IGZv
ciBhIHRlc3Qgd2UgZXhwZWN0IHRvIHRocm93LgotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAg
ICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJhXFxieiInKTsKLSAgICB9Ci1QQVNTIEpT
T04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0
c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29u
T2JqZWN0LnBhcnNlKCciYVxyeiInKTsKLSAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04p
IHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5n
LgotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFy
c2UoJyJhXFxyeiInKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2
ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29u
T2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciYVxcdXoiICAgICAn
KTsKLSAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50
YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgotZnVuY3Rpb24gKGpzb25PYmpl
Y3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJhXFx1MHoiICAgICcpOwot
ICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVy
cm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCi1mdW5jdGlvbiAoanNvbk9iamVjdCkg
ewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnImFcXHUwMHoiICAgJyk7Ci0gICAg
fQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0g
ICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciYVxcdTAwMHoiICAnKTsKLSAgICB9Ci1Q
QVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5h
YmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAg
ICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJhXFx1MDAwMHoiICcpOwotICAgIH0KLVBBU1Mg
SlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRl
c3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpz
b25PYmplY3QucGFyc2UoJyJhXFx1MDAwQXoiICcpOwotICAgIH0KLVBBU1MgSlNPTi5zdHJpbmdp
ZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04p
KQotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFy
c2UoJyJhXFx1MDAwYXoiICcpOwotICAgIH0KLVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0o
bmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQotZnVuY3Rpb24g
KGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJhXFx1MDAw
R3oiICcpOwotICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9u
IFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCi1mdW5jdGlvbiAoanNv
bk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnImFcXHUwMDBneiIg
Jyk7Ci0gICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3lu
dGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KLWZ1bmN0aW9uIChqc29uT2Jq
ZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciYVxcdTAwQTB6IiAnKTsK
LSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09O
LnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAg
ICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciYVxcdTAwYTB6IiAnKTsKLSAgICB9Ci1QQVNT
IEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0
ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBq
c29uT2JqZWN0LnBhcnNlKCciYVxcdTAwRzB6IiAnKTsKLSAgICB9Ci1QQVNTIHRlc3RzW2ldKG5h
dGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpT
T04gc3RyaW5nLgotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25P
YmplY3QucGFyc2UoJyJhXFx1MDBnMHoiICcpOwotICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZl
SlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBz
dHJpbmcuCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVj
dC5wYXJzZSgnImFcXHUwQTAweiIgJyk7Ci0gICAgfQotUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0
c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCi1mdW5j
dGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnImFc
XHUwYTAweiIgJyk7Ci0gICAgfQotUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVK
U09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCi1mdW5jdGlvbiAoanNvbk9i
amVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnImFcXHUwRzAweiIgJyk7
Ci0gICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4
RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KLWZ1bmN0aW9uIChqc29uT2JqZWN0
KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciYVxcdTBnMDB6IiAnKTsKLSAg
ICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJv
cjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsK
LSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJyJhXFx1QTAwMHoiICcpOwotICAgIH0K
LVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5n
aWZ5KHRlc3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0
dXJuIGpzb25PYmplY3QucGFyc2UoJyJhXFx1YTAwMHoiICcpOwotICAgIH0KLVBBU1MgSlNPTi5z
dHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ld
KEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmpl
Y3QucGFyc2UoJyJhXFx1RzAwMHoiICcpOwotICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNP
TikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJp
bmcuCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5w
YXJzZSgnImFcXHVnMDAweiIgJyk7Ci0gICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0
aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4K
LWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNl
KCcwMCcpOwotICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9u
IFN5bnRheEVycm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCi1qc29uMi5qcyBkaWQg
bm90IHRocm93IGZvciBhIHRlc3Qgd2UgZXhwZWN0IHRvIHRocm93LgotZnVuY3Rpb24gKGpzb25P
YmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJzAxJyk7Ci0gICAgfQot
UEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVu
YWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KLWpzb24yLmpzIGRpZCBub3QgdGhyb3cgZm9yIGEg
dGVzdCB3ZSBleHBlY3QgdG8gdGhyb3cuCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAg
ICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnMC5hJyk7Ci0gICAgfQotUEFTUyB0ZXN0c1tpXShu
YXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBK
U09OIHN0cmluZy4KLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29u
T2JqZWN0LnBhcnNlKCcweDAnKTsKLSAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRo
cmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgot
ZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2Uo
JzJlMS4zJyk7Ci0gICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRp
b24gU3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KLWZ1bmN0aW9uIChq
c29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCcyZS0rMTAnKTsK
LSAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhF
cnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgotZnVuY3Rpb24gKGpzb25PYmplY3Qp
IHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoJzJlKy0xMCcpOwotICAgIH0KLVBB
U1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFi
bGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAg
ICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnMmUzZTQnKTsKLSAgICB9Ci1QQVNTIHRlc3RzW2ld
KG5hdGl2ZUpTT04pIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNl
IEpTT04gc3RyaW5nLgotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpz
b25PYmplY3QucGFyc2UoJy0wMS4wJyk7Ci0gICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09O
KSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmlu
Zy4KLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBh
cnNlKCctMDEnKTsKLSAgICB9Ci1QQVNTIHRlc3RzW2ldKG5hdGl2ZUpTT04pIHRocmV3IGV4Y2Vw
dGlvbiBTeW50YXhFcnJvcjogVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nLgotanNvbjIuanMg
ZGlkIG5vdCB0aHJvdyBmb3IgYSB0ZXN0IHdlIGV4cGVjdCB0byB0aHJvdy4KLWZ1bmN0aW9uIChq
c29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCctMDEuYScpOwot
ICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVy
cm9yOiBVbmFibGUgdG8gcGFyc2UgSlNPTiBzdHJpbmcuCi1mdW5jdGlvbiAoanNvbk9iamVjdCkg
ewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnMS5lMScpOwotICAgIH0KLVBBU1Mg
dGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBVbmFibGUg
dG8gcGFyc2UgSlNPTiBzdHJpbmcuCi1qc29uMi5qcyBkaWQgbm90IHRocm93IGZvciBhIHRlc3Qg
d2UgZXhwZWN0IHRvIHRocm93LgotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0
dXJuIGpzb25PYmplY3QucGFyc2UoJ3svKiBibG9jayBjb21tZW50cyBhcmUgbm90IGFsbG93ZWQg
Ki99Jyk7Ci0gICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24g
U3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0cmluZy4KLWZ1bmN0aW9uIChqc29u
T2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCd7Ly8gbGluZSBjb21t
ZW50cyBhcmUgbm90IGFsbG93ZWQgXG59Jyk7Ci0gICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVK
U09OKSB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFVuYWJsZSB0byBwYXJzZSBKU09OIHN0
cmluZy4KLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0
LnBhcnNlKCd0cnVlJyk7Ci0gICAgfQotUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRp
dmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCi1mdW5jdGlvbiAoanNv
bk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgnZmFsc2UnKTsKLSAg
ICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0
cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAg
IHJldHVybiBqc29uT2JqZWN0LnBhcnNlKEpTT04uc3RyaW5naWZ5KHNpbXBsZU9iamVjdCkpOwot
ICAgIH0KLVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIHRlc3Rz
W2ldLmV4cGVjdGVkCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNv
bk9iamVjdC5wYXJzZShKU09OLnN0cmluZ2lmeShjb21wbGV4T2JqZWN0KSk7Ci0gICAgfQotUEFT
UyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnko
dGVzdHNbaV0oSlNPTikpCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4g
anNvbk9iamVjdC5wYXJzZShKU09OLnN0cmluZ2lmeShjb21wbGV4T2JqZWN0KSk7Ci0gICAgfQot
UEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgdGVzdHNbaV0uZXhw
ZWN0ZWQKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0
LnBhcnNlKEpTT04uc3RyaW5naWZ5KHNpbXBsZU9iamVjdCxudWxsLDEwMCkpOwotICAgIH0KLVBB
U1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIHRlc3RzW2ldLmV4cGVj
dGVkCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5w
YXJzZShKU09OLnN0cmluZ2lmeShjb21wbGV4T2JqZWN0LG51bGwsMTAwKSk7Ci0gICAgfQotUEFT
UyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnko
dGVzdHNbaV0oSlNPTikpCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4g
anNvbk9iamVjdC5wYXJzZShKU09OLnN0cmluZ2lmeShjb21wbGV4T2JqZWN0LG51bGwsMTAwKSk7
Ci0gICAgfQotUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgdGVz
dHNbaV0uZXhwZWN0ZWQKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBq
c29uT2JqZWN0LnBhcnNlKEpTT04uc3RyaW5naWZ5KHNpbXBsZU9iamVjdCxudWxsLCIgIikpOwot
ICAgIH0KLVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIHRlc3Rz
W2ldLmV4cGVjdGVkCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNv
bk9iamVjdC5wYXJzZShKU09OLnN0cmluZ2lmeShjb21wbGV4T2JqZWN0LG51bGwsIiAiKSk7Ci0g
ICAgfQotUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5z
dHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAg
ICByZXR1cm4ganNvbk9iamVjdC5wYXJzZShKU09OLnN0cmluZ2lmeShjb21wbGV4T2JqZWN0LG51
bGwsIiAiKSk7Ci0gICAgfQotUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09O
KSkgaXMgdGVzdHNbaV0uZXhwZWN0ZWQKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAg
IHJldHVybiBqc29uT2JqZWN0LnBhcnNlKEpTT04uc3RyaW5naWZ5KHNpbXBsZU9iamVjdCxudWxs
LCJcdCIpKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04p
KSBpcyB0ZXN0c1tpXS5leHBlY3RlZAotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAg
cmV0dXJuIGpzb25PYmplY3QucGFyc2UoSlNPTi5zdHJpbmdpZnkoY29tcGxleE9iamVjdCxudWxs
LCJcdCIpKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04p
KSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0
KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKEpTT04uc3RyaW5naWZ5KGNvbXBs
ZXhPYmplY3QsbnVsbCwiXHQiKSk7Ci0gICAgfQotUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tp
XShuYXRpdmVKU09OKSkgaXMgdGVzdHNbaV0uZXhwZWN0ZWQKLWZ1bmN0aW9uIChqc29uT2JqZWN0
KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKEpTT04uc3RyaW5naWZ5KHNpbXBs
ZU9iamVjdCxudWxsLCJcbiIpKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ld
KG5hdGl2ZUpTT04pKSBpcyB0ZXN0c1tpXS5leHBlY3RlZAotZnVuY3Rpb24gKGpzb25PYmplY3Qp
IHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoSlNPTi5zdHJpbmdpZnkoY29tcGxl
eE9iamVjdCxudWxsLCJcbiIpKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ld
KG5hdGl2ZUpTT04pKSBpcyB0ZXN0c1tpXS5leHBlY3RlZAotZnVuY3Rpb24gKGpzb25PYmplY3Qp
IHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoInRydWUiLCBsb2cpOwotICAgIH0K
LVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5n
aWZ5KHRlc3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0
dXJuIGpzb25PYmplY3QucGFyc2UoImZhbHNlIiwgbG9nKTsKLSAgICB9Ci1QQVNTIEpTT04uc3Ry
aW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShK
U09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0
LnBhcnNlKCJudWxsIiwgbG9nKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ld
KG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9u
IChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCIxIiwgbG9n
KTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBK
U09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0g
ICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCIxLjUiLCBsb2cpOwotICAgIH0KLVBBU1Mg
SlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRl
c3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpz
b25PYmplY3QucGFyc2UoJyJhIHN0cmluZyInLCBsb2cpOwotICAgIH0KLVBBU1MgSlNPTi5zdHJp
bmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpT
T04pKQotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25PYmplY3Qu
cGFyc2UoSlNPTi5zdHJpbmdpZnkoc2ltcGxlQXJyYXkpLCBsb2cpOwotICAgIH0KLVBBU1MgSlNP
Ti5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRlc3Rz
W2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgcmV0dXJuIGpzb25P
YmplY3QucGFyc2UoSlNPTi5zdHJpbmdpZnkoY29tcGxleEFycmF5KSwgbG9nKTsKLSAgICB9Ci1Q
QVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lm
eSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIHJldHVy
biBqc29uT2JqZWN0LnBhcnNlKEpTT04uc3RyaW5naWZ5KHNpbXBsZU9iamVjdCksIGxvZyk7Ci0g
ICAgfQotUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5z
dHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAg
ICByZXR1cm4ganNvbk9iamVjdC5wYXJzZShKU09OLnN0cmluZ2lmeShjb21wbGV4T2JqZWN0KSwg
bG9nKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBp
cyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7
Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCd7Il9fcHJvdG9fXyI6eyJhIjo1fX0n
LCBsb2cpOwotICAgIH0KLVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikp
IGlzIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmplY3Qp
IHsKLSAgICAgICAgbG9nT3JkZXJTdHJpbmcgPSAiIjsKLSAgICAgICAgcmV0dXJuIGpzb25PYmpl
Y3QucGFyc2UoInRydWUiLCBsb2dPcmRlcik7Ci0gICAgfQotUEFTUyBKU09OLnN0cmluZ2lmeSh0
ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCi1m
dW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICBsb2dPcmRlclN0cmluZyA9ICIiOwotICAg
ICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgiZmFsc2UiLCBsb2dPcmRlcik7Ci0gICAgfQot
UEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdp
ZnkodGVzdHNbaV0oSlNPTikpCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICBsb2dP
cmRlclN0cmluZyA9ICIiOwotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZSgibnVsbCIs
IGxvZ09yZGVyKTsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpT
T04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29uT2Jq
ZWN0KSB7Ci0gICAgICAgIGxvZ09yZGVyU3RyaW5nID0gIiI7Ci0gICAgICAgIHJldHVybiBqc29u
T2JqZWN0LnBhcnNlKCIxIiwgbG9nT3JkZXIpOwotICAgIH0KLVBBU1MgSlNPTi5zdHJpbmdpZnko
dGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQot
ZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAgICAgICAgbG9nT3JkZXJTdHJpbmcgPSAiIjsKLSAg
ICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoIjEuNSIsIGxvZ09yZGVyKTsKLSAgICB9Ci1Q
QVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lm
eSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIGxvZ09y
ZGVyU3RyaW5nID0gIiI7Ci0gICAgICAgIHJldHVybiBqc29uT2JqZWN0LnBhcnNlKCciYSBzdHJp
bmciJywgbG9nT3JkZXIpOwotICAgIH0KLVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0
aXZlSlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpz
b25PYmplY3QpIHsKLSAgICAgICAgbG9nT3JkZXJTdHJpbmcgPSAiIjsKLSAgICAgICAgcmV0dXJu
IGpzb25PYmplY3QucGFyc2UoSlNPTi5zdHJpbmdpZnkoc2ltcGxlQXJyYXkpLCBsb2dPcmRlcik7
Ci0gICAgfQotUEFTUyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNP
Ti5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAg
ICAgICBsb2dPcmRlclN0cmluZyA9ICIiOwotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJz
ZShKU09OLnN0cmluZ2lmeShjb21wbGV4QXJyYXkpLCBsb2dPcmRlcik7Ci0gICAgfQotUEFTUyBK
U09OLnN0cmluZ2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVz
dHNbaV0oSlNPTikpCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICBsb2dPcmRlclN0
cmluZyA9ICIiOwotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZShKU09OLnN0cmluZ2lm
eShzaW1wbGVPYmplY3QpLCBsb2dPcmRlcik7Ci0gICAgfQotUEFTUyBKU09OLnN0cmluZ2lmeSh0
ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikpCi1m
dW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICBsb2dPcmRlclN0cmluZyA9ICIiOwotICAg
ICAgICByZXR1cm4ganNvbk9iamVjdC5wYXJzZShKU09OLnN0cmluZ2lmeShjb21wbGV4T2JqZWN0
KSwgbG9nT3JkZXIpOwotICAgIH0KLVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZl
SlNPTikpIGlzIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25P
YmplY3QpIHsKLSAgICAgICAgbG9nT3JkZXJTdHJpbmcgPSAiIjsKLSAgICAgICAganNvbk9iamVj
dC5wYXJzZSgidHJ1ZSIsIGxvZ09yZGVyKTsKLSAgICAgICAgcmV0dXJuIGxvZ09yZGVyU3RyaW5n
OwotICAgIH0KLVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpT
T04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAg
ICAgICAgbG9nT3JkZXJTdHJpbmcgPSAiIjsKLSAgICAgICAganNvbk9iamVjdC5wYXJzZSgiZmFs
c2UiLCBsb2dPcmRlcik7Ci0gICAgICAgIHJldHVybiBsb2dPcmRlclN0cmluZzsKLSAgICB9Ci1Q
QVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lm
eSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIGxvZ09y
ZGVyU3RyaW5nID0gIiI7Ci0gICAgICAgIGpzb25PYmplY3QucGFyc2UoIm51bGwiLCBsb2dPcmRl
cik7Ci0gICAgICAgIHJldHVybiBsb2dPcmRlclN0cmluZzsKLSAgICB9Ci1QQVNTIEpTT04uc3Ry
aW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShK
U09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIGxvZ09yZGVyU3RyaW5nID0g
IiI7Ci0gICAgICAgIGpzb25PYmplY3QucGFyc2UoIjEiLCBsb2dPcmRlcik7Ci0gICAgICAgIHJl
dHVybiBsb2dPcmRlclN0cmluZzsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ld
KG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9u
IChqc29uT2JqZWN0KSB7Ci0gICAgICAgIGxvZ09yZGVyU3RyaW5nID0gIiI7Ci0gICAgICAgIGpz
b25PYmplY3QucGFyc2UoIjEuNSIsIGxvZ09yZGVyKTsKLSAgICAgICAgcmV0dXJuIGxvZ09yZGVy
U3RyaW5nOwotICAgIH0KLVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikp
IGlzIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmplY3Qp
IHsKLSAgICAgICAgbG9nT3JkZXJTdHJpbmcgPSAiIjsKLSAgICAgICAganNvbk9iamVjdC5wYXJz
ZSgnImEgc3RyaW5nIicsIGxvZ09yZGVyKTsKLSAgICAgICAgcmV0dXJuIGxvZ09yZGVyU3RyaW5n
OwotICAgIH0KLVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlzIEpT
T04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKLSAg
ICAgICAgbG9nT3JkZXJTdHJpbmcgPSAiIjsKLSAgICAgICAganNvbk9iamVjdC5wYXJzZShKU09O
LnN0cmluZ2lmeShzaW1wbGVBcnJheSksIGxvZ09yZGVyKTsKLSAgICAgICAgcmV0dXJuIGxvZ09y
ZGVyU3RyaW5nOwotICAgIH0KLVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNP
TikpIGlzIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmpl
Y3QpIHsKLSAgICAgICAgbG9nT3JkZXJTdHJpbmcgPSAiIjsKLSAgICAgICAganNvbk9iamVjdC5w
YXJzZShKU09OLnN0cmluZ2lmeShjb21wbGV4QXJyYXkpLCBsb2dPcmRlcik7Ci0gICAgICAgIHJl
dHVybiBsb2dPcmRlclN0cmluZzsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ld
KG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9u
IChqc29uT2JqZWN0KSB7Ci0gICAgICAgIGxvZ09yZGVyU3RyaW5nID0gIiI7Ci0gICAgICAgIGpz
b25PYmplY3QucGFyc2UoSlNPTi5zdHJpbmdpZnkoc2ltcGxlT2JqZWN0KSwgbG9nT3JkZXIpOwot
ICAgICAgICByZXR1cm4gbG9nT3JkZXJTdHJpbmc7Ci0gICAgfQotUEFTUyBKU09OLnN0cmluZ2lm
eSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNPTikp
Ci1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICBsb2dPcmRlclN0cmluZyA9ICIiOwot
ICAgICAgICBqc29uT2JqZWN0LnBhcnNlKEpTT04uc3RyaW5naWZ5KGNvbXBsZXhPYmplY3QpLCBs
b2dPcmRlcik7Ci0gICAgICAgIHJldHVybiBsb2dPcmRlclN0cmluZzsKLSAgICB9Ci1QQVNTIEpT
T04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0
c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIGNhbGxDb3VudCA9
IDA7Ci0gICAgICAgIGxvZ09yZGVyU3RyaW5nID0gIiI7Ci0gICAgICAgIHJldHVybiBqc29uT2Jq
ZWN0LnBhcnNlKEpTT04uc3RyaW5naWZ5KGNvbXBsZXhBcnJheSksIHRocm93QWZ0ZXJGaWZ0aENh
bGwpOwotICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNPTikgdGhyZXcgZXhjZXB0aW9uIGZy
b20gcmV2aXZlci4KLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIGNhbGxDb3VudCA9
IDA7Ci0gICAgICAgIGxvZ09yZGVyU3RyaW5nID0gIiI7Ci0gICAgICAgIHJldHVybiBqc29uT2Jq
ZWN0LnBhcnNlKEpTT04uc3RyaW5naWZ5KHNpbXBsZU9iamVjdCksIHRocm93QWZ0ZXJGaWZ0aENh
bGwpOwotICAgIH0KLVBBU1MgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0obmF0aXZlSlNPTikpIGlz
IEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKEpTT04pKQotZnVuY3Rpb24gKGpzb25PYmplY3QpIHsK
LSAgICAgICAgY2FsbENvdW50ID0gMDsKLSAgICAgICAgbG9nT3JkZXJTdHJpbmcgPSAiIjsKLSAg
ICAgICAgcmV0dXJuIGpzb25PYmplY3QucGFyc2UoSlNPTi5zdHJpbmdpZnkoY29tcGxleE9iamVj
dCksIHRocm93QWZ0ZXJGaWZ0aENhbGwpOwotICAgIH0KLVBBU1MgdGVzdHNbaV0obmF0aXZlSlNP
TikgdGhyZXcgZXhjZXB0aW9uIGZyb20gcmV2aXZlci4KLWZ1bmN0aW9uIChqc29uT2JqZWN0KSB7
Ci0gICAgICAgIGNhbGxDb3VudCA9IDA7Ci0gICAgICAgIGxvZ09yZGVyU3RyaW5nID0gIiI7Ci0g
ICAgICAgIHRyeSB7IGpzb25PYmplY3QucGFyc2UoSlNPTi5zdHJpbmdpZnkoY29tcGxleEFycmF5
KSwgdGhyb3dBZnRlckZpZnRoQ2FsbCk7IH0gY2F0Y2ggKGUpIHt9Ci0gICAgICAgIHJldHVybiBs
b2dPcmRlclN0cmluZzsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3RzW2ldKG5hdGl2
ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0aW9uIChqc29u
T2JqZWN0KSB7Ci0gICAgICAgIGNhbGxDb3VudCA9IDA7Ci0gICAgICAgIGxvZ09yZGVyU3RyaW5n
ID0gIiI7Ci0gICAgICAgIHRyeSB7IGpzb25PYmplY3QucGFyc2UoSlNPTi5zdHJpbmdpZnkoc2lt
cGxlT2JqZWN0KSwgdGhyb3dBZnRlckZpZnRoQ2FsbCk7IH0gY2F0Y2ggKGUpIHt9Ci0gICAgICAg
IHJldHVybiBsb2dPcmRlclN0cmluZzsKLSAgICB9Ci1QQVNTIEpTT04uc3RyaW5naWZ5KHRlc3Rz
W2ldKG5hdGl2ZUpTT04pKSBpcyBKU09OLnN0cmluZ2lmeSh0ZXN0c1tpXShKU09OKSkKLWZ1bmN0
aW9uIChqc29uT2JqZWN0KSB7Ci0gICAgICAgIGNhbGxDb3VudCA9IDA7Ci0gICAgICAgIGxvZ09y
ZGVyU3RyaW5nID0gIiI7Ci0gICAgICAgIHRyeSB7IGpzb25PYmplY3QucGFyc2UoSlNPTi5zdHJp
bmdpZnkoY29tcGxleE9iamVjdCksIHRocm93QWZ0ZXJGaWZ0aENhbGwpOyB9IGNhdGNoIChlKSB7
fQotICAgICAgICByZXR1cm4gbG9nT3JkZXJTdHJpbmc7Ci0gICAgfQotUEFTUyBKU09OLnN0cmlu
Z2lmeSh0ZXN0c1tpXShuYXRpdmVKU09OKSkgaXMgSlNPTi5zdHJpbmdpZnkodGVzdHNbaV0oSlNP
TikpCi1mdW5jdGlvbiAoanNvbk9iamVjdCkgewotICAgICAgICByZXR1cm4ganNvbk9iamVjdC5w
YXJzZShKU09OLnN0cmluZ2lmeSh1bmljb2RlKSk7Ci0gICAgfQotUEFTUyB0ZXN0c1tpXShuYXRp
dmVKU09OKSBpcyB0ZXN0c1tpXS51bnN0cmluZ2lmaWVkRXhwZWN0ZWQKLVBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxv
ZwppbmRleCAyOTFlNGVkMzY0N2RjYWZhNTI0OTljNmYxZGFlYjMzZGU5NmEyNTE4Li5jNGJiZmEw
NTRkMTIyZjZmOWZhNDM2YjRmYWQxYzgzYjg5ZGFiMmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMS0wNy0yNSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjkx
Njg2LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85MTY4NgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNDQKKworICAg
ICAgICAxLjUlIHJlZ3Jlc3Npb24gaW4gSlNDIChSZXF1ZXN0ZWQgYnkgam1vbnRlbWF5b3Igb24g
I3dlYmtpdCkuCisKKyAgICAgICAgKiBydW50aW1lL0pTT05PYmplY3QuY3BwOgorICAgICAgICAo
SlNDOjpKU09OUHJvdG9GdW5jUGFyc2UpOgorICAgICAgICAqIHJ1bnRpbWUvTGl0ZXJhbFBhcnNl
ci5jcHA6CisgICAgICAgIChKU0M6OkxpdGVyYWxQYXJzZXI6OkxleGVyOjpsZXgpOgorICAgICAg
ICAoSlNDOjpMaXRlcmFsUGFyc2VyOjpMZXhlcjo6bGV4U3RyaW5nKToKKyAgICAgICAgKEpTQzo6
TGl0ZXJhbFBhcnNlcjo6TGV4ZXI6OmxleE51bWJlcik6CisgICAgICAgIChKU0M6OkxpdGVyYWxQ
YXJzZXI6OnBhcnNlKToKKyAgICAgICAgKiBydW50aW1lL0xpdGVyYWxQYXJzZXIuaDoKKwogMjAx
MS0wNy0yNSAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgQXNzZXJ0aW9u
IGNhbGxlZCBpbiBFeGVjdXRhYmxlQmFzZTo6Z2VuZXJhdGVkSklUQ29kZUZvckNhbGwoKSB3aGVu
IEpJVCBpcyBub3QgYXZhaWxhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09OT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T05PYmplY3QuY3BwCmluZGV4IDA1YmRlMjgxOWEwNmY5MTQ5NDgyMDliZTQzZDMzNjhjOTA0ZTBm
MjguLjhkMjYxYTIwYjFkNjBmZThmYTc3YjI0ZjRhNjAwMzUwZTkxYTA0ZTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC04MTksNyArODE5LDcg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBKU09OUHJvdG9GdW5jUGFyc2UoRXhlY1N0
YXRlKiBleGVjKQogICAgIExpdGVyYWxQYXJzZXIganNvblBhcnNlcihleGVjLCBzb3VyY2UuY2hh
cmFjdGVycygpLCBzb3VyY2UubGVuZ3RoKCksIExpdGVyYWxQYXJzZXI6OlN0cmljdEpTT04pOwog
ICAgIEpTVmFsdWUgdW5maWx0ZXJlZCA9IGpzb25QYXJzZXIudHJ5TGl0ZXJhbFBhcnNlKCk7CiAg
ICAgaWYgKCF1bmZpbHRlcmVkKQotICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNy
ZWF0ZVN5bnRheEVycm9yKGV4ZWMsIGpzb25QYXJzZXIuZ2V0RXJyb3JNZXNzYWdlKCkpKTsKKyAg
ICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVTeW50YXhFcnJvcihleGVjLCAi
VW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nIikpOwogICAgIAogICAgIGlmIChleGVjLT5hcmd1
bWVudENvdW50KCkgPCAyKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHVuZmlsdGVy
ZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGl0ZXJhbFBh
cnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MaXRlcmFsUGFyc2VyLmNw
cAppbmRleCBjNjllZjg3OWY1MTAwZDlkMGIxYjFhOGIwMDViZDIzNjc1ZjZjNjJlLi43MTVjYWFl
NjQ1YjQ0Zjc5NThhMGVmNzMzOTlhMGMxZGQ5NDMwODRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9MaXRlcmFsUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9MaXRlcmFsUGFyc2VyLmNwcApAQCAtMjM2LDE0ICsyMzYsMTEgQEAg
dGVtcGxhdGUgPExpdGVyYWxQYXJzZXI6OlBhcnNlck1vZGUgbW9kZT4gTGl0ZXJhbFBhcnNlcjo6
VG9rZW5UeXBlIExpdGVyYWxQYXJzZXIKICAgICAgICAgICAgIHJldHVybiBUb2tJZGVudGlmaWVy
OwogICAgICAgICB9CiAgICAgICAgIGlmICgqbV9wdHIgPT0gJ1wnJykgewotICAgICAgICAgICAg
aWYgKG1vZGUgPT0gU3RyaWN0SlNPTikgewotICAgICAgICAgICAgICAgIG1fbGV4RXJyb3JNZXNz
YWdlID0gIlNpbmdsZSBxdW90ZXMgKFwnKSBhcmUgbm90IGFsbG93ZWQgaW4gSlNPTiI7CisgICAg
ICAgICAgICBpZiAobW9kZSA9PSBTdHJpY3RKU09OKQogICAgICAgICAgICAgICAgIHJldHVybiBU
b2tFcnJvcjsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiBsZXhTdHJpbmc8bW9k
ZSwgJ1wnJz4odG9rZW4pOwogICAgICAgICB9CiAgICAgfQotICAgIG1fbGV4RXJyb3JNZXNzYWdl
ID0gU3RyaW5nOjpmb3JtYXQoIlVucmVjb2duaXplZCB0b2tlbiAnJWMnIiwgKm1fcHRyKS5pbXBs
KCk7CiAgICAgcmV0dXJuIFRva0Vycm9yOwogfQogCkBAIC0yNzcsMTAgKzI3NCw4IEBAIHRlbXBs
YXRlIDxMaXRlcmFsUGFyc2VyOjpQYXJzZXJNb2RlIG1vZGUsIFVDaGFyIHRlcm1pbmF0b3I+IGlu
bGluZSBMaXRlcmFsUGFyc2VyCiAgICAgICAgICAgICBpZiAoYnVpbGRlci5pc0VtcHR5KCkgJiYg
cnVuU3RhcnQgPCBtX3B0cikKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZChydW5TdGFy
dCwgbV9wdHIgLSBydW5TdGFydCk7CiAgICAgICAgICAgICArK21fcHRyOwotICAgICAgICAgICAg
aWYgKG1fcHRyID49IG1fZW5kKSB7Ci0gICAgICAgICAgICAgICAgbV9sZXhFcnJvck1lc3NhZ2Ug
PSAiVW50ZXJtaW5hdGVkIHN0cmluZyI7CisgICAgICAgICAgICBpZiAobV9wdHIgPj0gbV9lbmQp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIFRva0Vycm9yOwotICAgICAgICAgICAgfQogICAgICAg
ICAgICAgc3dpdGNoICgqbV9wdHIpIHsKICAgICAgICAgICAgICAgICBjYXNlICciJzoKICAgICAg
ICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyInKTsKQEAgLTMxNiwxNSArMzExLDExIEBA
IHRlbXBsYXRlIDxMaXRlcmFsUGFyc2VyOjpQYXJzZXJNb2RlIG1vZGUsIFVDaGFyIHRlcm1pbmF0
b3I+IGlubGluZSBMaXRlcmFsUGFyc2VyCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogCiAg
ICAgICAgICAgICAgICAgY2FzZSAndSc6Ci0gICAgICAgICAgICAgICAgICAgIGlmICgobV9lbmQg
LSBtX3B0cikgPCA1KSB7IAotICAgICAgICAgICAgICAgICAgICAgICAgbV9sZXhFcnJvck1lc3Nh
Z2UgPSAiXFx1IG11c3QgYmUgZm9sbG93ZWQgYnkgNCBoZXggZGlnaXRzIjsKKyAgICAgICAgICAg
ICAgICAgICAgaWYgKChtX2VuZCAtIG1fcHRyKSA8IDUpIC8vIHVOTk5OID09IDUgY2hhcmFjdGVy
cwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRva0Vycm9yOwotICAgICAgICAgICAg
ICAgICAgICB9IC8vIHVOTk5OID09IDUgY2hhcmFjdGVycwogICAgICAgICAgICAgICAgICAgICBm
b3IgKGludCBpID0gMTsgaSA8IDU7IGkrKykgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KCFpc0FTQ0lJSGV4RGlnaXQobV9wdHJbaV0pKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbV9sZXhFcnJvck1lc3NhZ2UgPSBTdHJpbmc6OmZvcm1hdCgiXCJcXCVzXCIgaXMgbm90IGEg
dmFsaWQgdW5pY29kZSBlc2NhcGUiLCBVU3RyaW5nKG1fcHRyLCA1KS5hc2NpaSgpLmRhdGEoKSku
aW1wbCgpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpc0FTQ0lJSGV4RGlnaXQobV9w
dHJbaV0pKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBUb2tFcnJvcjsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgICAgICBidWlsZGVyLmFwcGVuZChKU0M6OkxleGVyOjpjb252ZXJ0VW5pY29kZShtX3B0
clsxXSwgbV9wdHJbMl0sIG1fcHRyWzNdLCBtX3B0cls0XSkpOwogICAgICAgICAgICAgICAgICAg
ICBtX3B0ciArPSA1OwpAQCAtMzM2LDE2ICszMjcsMTMgQEAgdGVtcGxhdGUgPExpdGVyYWxQYXJz
ZXI6OlBhcnNlck1vZGUgbW9kZSwgVUNoYXIgdGVybWluYXRvcj4gaW5saW5lIExpdGVyYWxQYXJz
ZXIKICAgICAgICAgICAgICAgICAgICAgICAgIG1fcHRyKys7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBt
X2xleEVycm9yTWVzc2FnZSA9IFN0cmluZzo6Zm9ybWF0KCJJbnZhbGlkIGVzY2FwZSBjaGFyYWN0
ZXIgJWMiLCAqbV9wdHIpLmltcGwoKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRva0Vy
cm9yOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSB3aGlsZSAoKG1vZGUgIT0gTm9u
U3RyaWN0SlNPTikgJiYgbV9wdHIgIT0gcnVuU3RhcnQgJiYgKG1fcHRyIDwgbV9lbmQpICYmICpt
X3B0ciAhPSB0ZXJtaW5hdG9yKTsKIAotICAgIGlmIChtX3B0ciA+PSBtX2VuZCB8fCAqbV9wdHIg
IT0gdGVybWluYXRvcikgewotICAgICAgICBtX2xleEVycm9yTWVzc2FnZSA9ICJVbnRlcm1pbmF0
ZWQgc3RyaW5nIjsKKyAgICBpZiAobV9wdHIgPj0gbV9lbmQgfHwgKm1fcHRyICE9IHRlcm1pbmF0
b3IpCiAgICAgICAgIHJldHVybiBUb2tFcnJvcjsKLSAgICB9CiAKICAgICBpZiAoYnVpbGRlci5p
c0VtcHR5KCkpIHsKICAgICAgICAgdG9rZW4uc3RyaW5nQnVmZmVyID0gVVN0cmluZygpOwpAQCAt
Mzg4LDE5ICszNzYsMTUgQEAgTGl0ZXJhbFBhcnNlcjo6VG9rZW5UeXBlIExpdGVyYWxQYXJzZXI6
OkxleGVyOjpsZXhOdW1iZXIoTGl0ZXJhbFBhcnNlclRva2VuJiB0b2sKICAgICAgICAgLy8gWzAt
OV0qCiAgICAgICAgIHdoaWxlIChtX3B0ciA8IG1fZW5kICYmIGlzQVNDSUlEaWdpdCgqbV9wdHIp
KQogICAgICAgICAgICAgKyttX3B0cjsKLSAgICB9IGVsc2UgewotICAgICAgICBtX2xleEVycm9y
TWVzc2FnZSA9ICJJbnZhbGlkIG51bWJlciI7CisgICAgfSBlbHNlCiAgICAgICAgIHJldHVybiBU
b2tFcnJvcjsKLSAgICB9CiAKICAgICAvLyAoJy4nIFswLTldKyk/CiAgICAgaWYgKG1fcHRyIDwg
bV9lbmQgJiYgKm1fcHRyID09ICcuJykgewogICAgICAgICArK21fcHRyOwogICAgICAgICAvLyBb
MC05XSsKLSAgICAgICAgaWYgKG1fcHRyID49IG1fZW5kIHx8ICFpc0FTQ0lJRGlnaXQoKm1fcHRy
KSkgewotICAgICAgICAgICAgbV9sZXhFcnJvck1lc3NhZ2UgPSAiSW52YWxpZCBkaWdpdHMgYWZ0
ZXIgZGVjaW1hbCBwb2ludCI7CisgICAgICAgIGlmIChtX3B0ciA+PSBtX2VuZCB8fCAhaXNBU0NJ
SURpZ2l0KCptX3B0cikpCiAgICAgICAgICAgICByZXR1cm4gVG9rRXJyb3I7Ci0gICAgICAgIH0K
IAogICAgICAgICArK21fcHRyOwogICAgICAgICB3aGlsZSAobV9wdHIgPCBtX2VuZCAmJiBpc0FT
Q0lJRGlnaXQoKm1fcHRyKSkKQEAgLTQzMiwxMCArNDE2LDggQEAgTGl0ZXJhbFBhcnNlcjo6VG9r
ZW5UeXBlIExpdGVyYWxQYXJzZXI6OkxleGVyOjpsZXhOdW1iZXIoTGl0ZXJhbFBhcnNlclRva2Vu
JiB0b2sKICAgICAgICAgICAgICsrbV9wdHI7CiAKICAgICAgICAgLy8gWzAtOV0rCi0gICAgICAg
IGlmIChtX3B0ciA+PSBtX2VuZCB8fCAhaXNBU0NJSURpZ2l0KCptX3B0cikpIHsKLSAgICAgICAg
ICAgIG1fbGV4RXJyb3JNZXNzYWdlID0gIkV4cG9uZW50IHN5bWJvbHMgc2hvdWxkIGJlIGZvbGxv
d2VkIGJ5IGFuIG9wdGlvbmFsICcrJyBvciAnLScgYW5kIHRoZW4gYnkgYXQgbGVhc3Qgb25lIG51
bWJlciI7CisgICAgICAgIGlmIChtX3B0ciA+PSBtX2VuZCB8fCAhaXNBU0NJSURpZ2l0KCptX3B0
cikpCiAgICAgICAgICAgICByZXR1cm4gVG9rRXJyb3I7Ci0gICAgICAgIH0KICAgICAgICAgCiAg
ICAgICAgICsrbV9wdHI7CiAgICAgICAgIHdoaWxlIChtX3B0ciA8IG1fZW5kICYmIGlzQVNDSUlE
aWdpdCgqbV9wdHIpKQpAQCAtNDc2LDEwICs0NTgsOCBAQCBKU1ZhbHVlIExpdGVyYWxQYXJzZXI6
OnBhcnNlKFBhcnNlclN0YXRlIGluaXRpYWxTdGF0ZSkKICAgICAgICAgICAgIGNhc2UgRG9QYXJz
ZUFycmF5U3RhcnRFeHByZXNzaW9uOiB7CiAgICAgICAgICAgICAgICAgVG9rZW5UeXBlIGxhc3RU
b2tlbiA9IG1fbGV4ZXIuY3VycmVudFRva2VuKCkudHlwZTsKICAgICAgICAgICAgICAgICBpZiAo
bV9sZXhlci5uZXh0KCkgPT0gVG9rUkJyYWNrZXQpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KGxhc3RUb2tlbiA9PSBUb2tDb21tYSkgewotICAgICAgICAgICAgICAgICAgICAgICAgbV9wYXJz
ZUVycm9yTWVzc2FnZSA9ICJVbmV4cGVjdGVkIGNvbW1hIGF0IHRoZSBlbmQgb2YgYXJyYXkgZXhw
cmVzc2lvbiI7CisgICAgICAgICAgICAgICAgICAgIGlmIChsYXN0VG9rZW4gPT0gVG9rQ29tbWEp
CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwotICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIG1fbGV4ZXIubmV4dCgpOwogICAgICAgICAg
ICAgICAgICAgICBsYXN0VmFsdWUgPSBvYmplY3RTdGFjay5sYXN0KCk7CiAgICAgICAgICAgICAg
ICAgICAgIG9iamVjdFN0YWNrLnJlbW92ZUxhc3QoKTsKQEAgLTQ5NSwxMCArNDc1LDggQEAgSlNW
YWx1ZSBMaXRlcmFsUGFyc2VyOjpwYXJzZShQYXJzZXJTdGF0ZSBpbml0aWFsU3RhdGUpCiAgICAg
ICAgICAgICAgICAgaWYgKG1fbGV4ZXIuY3VycmVudFRva2VuKCkudHlwZSA9PSBUb2tDb21tYSkK
ICAgICAgICAgICAgICAgICAgICAgZ290byBkb1BhcnNlQXJyYXlTdGFydEV4cHJlc3Npb247CiAK
LSAgICAgICAgICAgICAgICBpZiAobV9sZXhlci5jdXJyZW50VG9rZW4oKS50eXBlICE9IFRva1JC
cmFja2V0KSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fcGFyc2VFcnJvck1lc3NhZ2UgPSAiRXhw
ZWN0ZWQgJ10nIjsKKyAgICAgICAgICAgICAgICBpZiAobV9sZXhlci5jdXJyZW50VG9rZW4oKS50
eXBlICE9IFRva1JCcmFja2V0KQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgp
OwotICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBt
X2xleGVyLm5leHQoKTsKICAgICAgICAgICAgICAgICBsYXN0VmFsdWUgPSBvYmplY3RTdGFjay5s
YXN0KCk7CkBAIC01MTUsMjAgKzQ5MywxNiBAQCBKU1ZhbHVlIExpdGVyYWxQYXJzZXI6OnBhcnNl
KFBhcnNlclN0YXRlIGluaXRpYWxTdGF0ZSkKICAgICAgICAgICAgICAgICAgICAgTGV4ZXI6Okxp
dGVyYWxQYXJzZXJUb2tlbiBpZGVudGlmaWVyVG9rZW4gPSBtX2xleGVyLmN1cnJlbnRUb2tlbigp
OwogCiAgICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGZvciBjb2xvbgotICAgICAgICAgICAg
ICAgICAgICBpZiAobV9sZXhlci5uZXh0KCkgIT0gVG9rQ29sb24pIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIG1fcGFyc2VFcnJvck1lc3NhZ2UgPSAiRXhwZWN0ZWQgJzonIGJlZm9yZSB2YWx1
ZSBpbiBvYmplY3QgcHJvcGVydHkgZGVmaW5pdGlvbiI7CisgICAgICAgICAgICAgICAgICAgIGlm
IChtX2xleGVyLm5leHQoKSAhPSBUb2tDb2xvbikKICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBKU1ZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgIG1fbGV4ZXIubmV4dCgpOwogICAgICAgICAgICAgICAg
ICAgICBpZGVudGlmaWVyU3RhY2suYXBwZW5kKG1ha2VJZGVudGlmaWVyKGlkZW50aWZpZXJUb2tl
bi5zdHJpbmdUb2tlbiwgaWRlbnRpZmllclRva2VuLnN0cmluZ0xlbmd0aCkpOwogICAgICAgICAg
ICAgICAgICAgICBzdGF0ZVN0YWNrLmFwcGVuZChEb1BhcnNlT2JqZWN0RW5kRXhwcmVzc2lvbik7
CiAgICAgICAgICAgICAgICAgICAgIGdvdG8gc3RhcnRQYXJzZUV4cHJlc3Npb247CiAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICh0eXBlICE9IFRva1JCcmFjZSkgIHsKLSAg
ICAgICAgICAgICAgICAgICAgbV9wYXJzZUVycm9yTWVzc2FnZSA9ICJFeHBlY3RlZCAnfSciOwor
ICAgICAgICAgICAgICAgIGlmICh0eXBlICE9IFRva1JCcmFjZSkgCiAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBKU1ZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg
IG1fbGV4ZXIubmV4dCgpOwogICAgICAgICAgICAgICAgIGxhc3RWYWx1ZSA9IG9iamVjdFN0YWNr
Lmxhc3QoKTsKICAgICAgICAgICAgICAgICBvYmplY3RTdGFjay5yZW1vdmVMYXN0KCk7CkBAIC01
MzcsMTcgKzUxMSwxMyBAQCBKU1ZhbHVlIExpdGVyYWxQYXJzZXI6OnBhcnNlKFBhcnNlclN0YXRl
IGluaXRpYWxTdGF0ZSkKICAgICAgICAgICAgIGRvUGFyc2VPYmplY3RTdGFydEV4cHJlc3Npb246
CiAgICAgICAgICAgICBjYXNlIERvUGFyc2VPYmplY3RTdGFydEV4cHJlc3Npb246IHsKICAgICAg
ICAgICAgICAgICBUb2tlblR5cGUgdHlwZSA9IG1fbGV4ZXIubmV4dCgpOwotICAgICAgICAgICAg
ICAgIGlmICh0eXBlICE9IFRva1N0cmluZyAmJiAobV9tb2RlID09IFN0cmljdEpTT04gfHwgdHlw
ZSAhPSBUb2tJZGVudGlmaWVyKSkgewotICAgICAgICAgICAgICAgICAgICBtX3BhcnNlRXJyb3JN
ZXNzYWdlID0gIlByb3BlcnR5IG5hbWUgbXVzdCBiZSBhIHN0cmluZyBsaXRlcmFsIjsKKyAgICAg
ICAgICAgICAgICBpZiAodHlwZSAhPSBUb2tTdHJpbmcgJiYgKG1fbW9kZSA9PSBTdHJpY3RKU09O
IHx8IHR5cGUgIT0gVG9rSWRlbnRpZmllcikpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBK
U1ZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIExleGVyOjpMaXRl
cmFsUGFyc2VyVG9rZW4gaWRlbnRpZmllclRva2VuID0gbV9sZXhlci5jdXJyZW50VG9rZW4oKTsK
IAogICAgICAgICAgICAgICAgIC8vIENoZWNrIGZvciBjb2xvbgotICAgICAgICAgICAgICAgIGlm
IChtX2xleGVyLm5leHQoKSAhPSBUb2tDb2xvbikgewotICAgICAgICAgICAgICAgICAgICBtX3Bh
cnNlRXJyb3JNZXNzYWdlID0gIkV4cGVjdGVkICc6JyI7CisgICAgICAgICAgICAgICAgaWYgKG1f
bGV4ZXIubmV4dCgpICE9IFRva0NvbG9uKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNW
YWx1ZSgpOwotICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIG1fbGV4ZXIubmV4
dCgpOwogICAgICAgICAgICAgICAgIGlkZW50aWZpZXJTdGFjay5hcHBlbmQobWFrZUlkZW50aWZp
ZXIoaWRlbnRpZmllclRva2VuLnN0cmluZ1Rva2VuLCBpZGVudGlmaWVyVG9rZW4uc3RyaW5nTGVu
Z3RoKSk7CkBAIC01NjAsMTAgKzUzMCw4IEBAIEpTVmFsdWUgTGl0ZXJhbFBhcnNlcjo6cGFyc2Uo
UGFyc2VyU3RhdGUgaW5pdGlhbFN0YXRlKQogICAgICAgICAgICAgICAgIGlkZW50aWZpZXJTdGFj
ay5yZW1vdmVMYXN0KCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fbGV4ZXIuY3VycmVudFRva2Vu
KCkudHlwZSA9PSBUb2tDb21tYSkKICAgICAgICAgICAgICAgICAgICAgZ290byBkb1BhcnNlT2Jq
ZWN0U3RhcnRFeHByZXNzaW9uOwotICAgICAgICAgICAgICAgIGlmIChtX2xleGVyLmN1cnJlbnRU
b2tlbigpLnR5cGUgIT0gVG9rUkJyYWNlKSB7Ci0gICAgICAgICAgICAgICAgICAgIG1fcGFyc2VF
cnJvck1lc3NhZ2UgPSAiRXhwZWN0ZWQgJ30nIjsKKyAgICAgICAgICAgICAgICBpZiAobV9sZXhl
ci5jdXJyZW50VG9rZW4oKS50eXBlICE9IFRva1JCcmFjZSkKICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIEpTVmFsdWUoKTsKLSAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgbV9s
ZXhlci5uZXh0KCk7CiAgICAgICAgICAgICAgICAgbGFzdFZhbHVlID0gb2JqZWN0U3RhY2subGFz
dCgpOwogICAgICAgICAgICAgICAgIG9iamVjdFN0YWNrLnJlbW92ZUxhc3QoKTsKQEAgLTYwMiw0
MyArNTcwLDkgQEAgSlNWYWx1ZSBMaXRlcmFsUGFyc2VyOjpwYXJzZShQYXJzZXJTdGF0ZSBpbml0
aWFsU3RhdGUpCiAgICAgICAgICAgICAgICAgICAgICAgICBtX2xleGVyLm5leHQoKTsKICAgICAg
ICAgICAgICAgICAgICAgICAgIGxhc3RWYWx1ZSA9IGpzQm9vbGVhbihmYWxzZSk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBUb2tSQnJh
Y2tldDoKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fcGFyc2VFcnJvck1lc3NhZ2UgPSAiVW5l
eHBlY3RlZCB0b2tlbiAnXSciOwotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFs
dWUoKTsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBUb2tSQnJhY2U6Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBtX3BhcnNlRXJyb3JNZXNzYWdlID0gIlVuZXhwZWN0ZWQgdG9rZW4gJ30nIjsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7Ci0gICAgICAgICAgICAg
ICAgICAgIGNhc2UgVG9rSWRlbnRpZmllcjoKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fcGFy
c2VFcnJvck1lc3NhZ2UgPSBTdHJpbmc6OmZvcm1hdCgiVW5leHBlY3RlZCBpZGVudGlmaWVyIFwi
JXNcIiIsIFVTdHJpbmcobV9sZXhlci5jdXJyZW50VG9rZW4oKS5zdHJpbmdUb2tlbikuYXNjaWko
KS5kYXRhKCkpLmltcGwoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVl
KCk7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9rQ29sb246Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBtX3BhcnNlRXJyb3JNZXNzYWdlID0gIlVuZXhwZWN0ZWQgdG9rZW4gJzonIjsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7Ci0gICAgICAgICAgICAgICAg
ICAgIGNhc2UgVG9rTFBhcmVuOgotICAgICAgICAgICAgICAgICAgICAgICAgbV9wYXJzZUVycm9y
TWVzc2FnZSA9ICJVbmV4cGVjdGVkIHRva2VuICcoJyI7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gSlNWYWx1ZSgpOwotICAgICAgICAgICAgICAgICAgICBjYXNlIFRva1JQYXJlbjoK
LSAgICAgICAgICAgICAgICAgICAgICAgIG1fcGFyc2VFcnJvck1lc3NhZ2UgPSAiVW5leHBlY3Rl
ZCB0b2tlbiAnKSciOwotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsK
LSAgICAgICAgICAgICAgICAgICAgY2FzZSBUb2tDb21tYToKLSAgICAgICAgICAgICAgICAgICAg
ICAgIG1fcGFyc2VFcnJvck1lc3NhZ2UgPSAiVW5leHBlY3RlZCB0b2tlbiAnLCciOwotICAgICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKLSAgICAgICAgICAgICAgICAgICAg
Y2FzZSBUb2tEb3Q6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX3BhcnNlRXJyb3JNZXNzYWdl
ID0gIlVuZXhwZWN0ZWQgdG9rZW4gJy4nIjsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy
biBKU1ZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9rQXNzaWduOgotICAgICAg
ICAgICAgICAgICAgICAgICAgbV9wYXJzZUVycm9yTWVzc2FnZSA9ICJVbmV4cGVjdGVkIHRva2Vu
ICc9JyI7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwotICAgICAg
ICAgICAgICAgICAgICBjYXNlIFRva1NlbWk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX3Bh
cnNlRXJyb3JNZXNzYWdlID0gIlVuZXhwZWN0ZWQgdG9rZW4gJzsnIjsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9r
RW5kOgotICAgICAgICAgICAgICAgICAgICAgICAgbV9wYXJzZUVycm9yTWVzc2FnZSA9ICJVbmV4
cGVjdGVkIEVPRiI7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwot
ICAgICAgICAgICAgICAgICAgICBjYXNlIFRva0Vycm9yOgorCiAgICAgICAgICAgICAgICAgICAg
IGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBFcnJvcgotICAgICAgICAgICAg
ICAgICAgICAgICAgbV9wYXJzZUVycm9yTWVzc2FnZSA9ICJDb3VsZCBub3QgcGFyc2UgdmFsdWUg
ZXhwcmVzc2lvbiI7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwog
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTY1NSw1MSArNTg5
LDcgQEAgSlNWYWx1ZSBMaXRlcmFsUGFyc2VyOjpwYXJzZShQYXJzZXJTdGF0ZSBpbml0aWFsU3Rh
dGUpCiAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZVN0YWNrLmFwcGVuZChTdGFydFBhcnNl
U3RhdGVtZW50RW5kU3RhdGVtZW50KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gc3Rh
cnRQYXJzZUV4cHJlc3Npb247CiAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICAgICAgY2FzZSBUb2tSQnJhY2tldDoKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fcGFyc2VF
cnJvck1lc3NhZ2UgPSAiVW5leHBlY3RlZCB0b2tlbiAnXSciOwotICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBUb2tMQnJh
Y2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX3BhcnNlRXJyb3JNZXNzYWdlID0gIlVuZXhw
ZWN0ZWQgdG9rZW4gJ3snIjsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVl
KCk7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9rUkJyYWNlOgotICAgICAgICAgICAgICAg
ICAgICAgICAgbV9wYXJzZUVycm9yTWVzc2FnZSA9ICJVbmV4cGVjdGVkIHRva2VuICd9JyI7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwotICAgICAgICAgICAgICAg
ICAgICBjYXNlIFRva0lkZW50aWZpZXI6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX3BhcnNl
RXJyb3JNZXNzYWdlID0gU3RyaW5nOjpmb3JtYXQoIlVuZXhwZWN0ZWQgaWRlbnRpZmllciBcIiVz
XCIiLCBVU3RyaW5nKG1fbGV4ZXIuY3VycmVudFRva2VuKCkuc3RyaW5nVG9rZW4pLmFzY2lpKCku
ZGF0YSgpKS5pbXBsKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgp
OwotICAgICAgICAgICAgICAgICAgICBjYXNlIFRva0NvbG9uOgotICAgICAgICAgICAgICAgICAg
ICAgICAgbV9wYXJzZUVycm9yTWVzc2FnZSA9ICJVbmV4cGVjdGVkIHRva2VuICc6JyI7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwotICAgICAgICAgICAgICAgICAg
ICBjYXNlIFRva1JQYXJlbjoKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fcGFyc2VFcnJvck1l
c3NhZ2UgPSAiVW5leHBlY3RlZCB0b2tlbiAnKSciOwotICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIEpTVmFsdWUoKTsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBUb2tDb21tYToKLSAg
ICAgICAgICAgICAgICAgICAgICAgIG1fcGFyc2VFcnJvck1lc3NhZ2UgPSAiVW5leHBlY3RlZCB0
b2tlbiAnLCciOwotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKLSAg
ICAgICAgICAgICAgICAgICAgY2FzZSBUb2tUcnVlOgotICAgICAgICAgICAgICAgICAgICAgICAg
bV9wYXJzZUVycm9yTWVzc2FnZSA9ICJVbmV4cGVjdGVkIHRva2VuICd0cnVlJyI7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwotICAgICAgICAgICAgICAgICAgICBj
YXNlIFRva0ZhbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgbV9wYXJzZUVycm9yTWVzc2Fn
ZSA9ICJVbmV4cGVjdGVkIHRva2VuICdmYWxzZSciOwotICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIEpTVmFsdWUoKTsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBUb2tOdWxsOgotICAg
ICAgICAgICAgICAgICAgICAgICAgbV9wYXJzZUVycm9yTWVzc2FnZSA9ICJVbmV4cGVjdGVkIHRv
a2VuICdudWxsJyI7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwot
ICAgICAgICAgICAgICAgICAgICBjYXNlIFRva0VuZDoKLSAgICAgICAgICAgICAgICAgICAgICAg
IG1fcGFyc2VFcnJvck1lc3NhZ2UgPSAiVW5leHBlY3RlZCBFT0YiOwotICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSBUb2tE
b3Q6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX3BhcnNlRXJyb3JNZXNzYWdlID0gIlVuZXhw
ZWN0ZWQgdG9rZW4gJy4nIjsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVl
KCk7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9rQXNzaWduOgotICAgICAgICAgICAgICAg
ICAgICAgICAgbV9wYXJzZUVycm9yTWVzc2FnZSA9ICJVbmV4cGVjdGVkIHRva2VuICc9JyI7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwotICAgICAgICAgICAgICAg
ICAgICBjYXNlIFRva1NlbWk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX3BhcnNlRXJyb3JN
ZXNzYWdlID0gIlVuZXhwZWN0ZWQgdG9rZW4gJzsnIjsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBKU1ZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgVG9rRXJyb3I6CiAg
ICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX3Bh
cnNlRXJyb3JNZXNzYWdlID0gIkNvdWxkIG5vdCBwYXJzZSBzdGF0ZW1lbnQiOwogICAgICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICB9CkBAIC03MDksNyArNTk5LDYgQEAgSlNWYWx1ZSBMaXRlcmFsUGFyc2VyOjpwYXJz
ZShQYXJzZXJTdGF0ZSBpbml0aWFsU3RhdGUpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBK
U1ZhbHVlKCk7CiAgICAgICAgICAgICAgICAgaWYgKG1fbGV4ZXIubmV4dCgpID09IFRva0VuZCkK
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxhc3RWYWx1ZTsKLSAgICAgICAgICAgICAgICBt
X3BhcnNlRXJyb3JNZXNzYWdlID0gIlVuZXhwZWN0ZWQgY29udGVudCBhdCBlbmQgb2YgSlNPTiBs
aXRlcmFsIjsKICAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZSgpOwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0xpdGVyYWxQYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0xpdGVyYWxQYXJzZXIuaAppbmRleCA0ZWI4OTE4OTQ5NTkwOTU1OTQwNjUwMDhiZTNhM2Q4NWU0
Njk0NzI4Li44NWUwMzExMzQ5NDM0NDgwY2FhYmZkOWY3ZGU3MWJmMzA5MTlkZGRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MaXRlcmFsUGFyc2VyLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGl0ZXJhbFBhcnNlci5oCkBAIC00MywxNCAr
NDMsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgewogICAgICAgICB9CiAgICAgICAgIAot
ICAgICAgICBVU3RyaW5nIGdldEVycm9yTWVzc2FnZSgpIAotICAgICAgICB7IAotICAgICAgICAg
ICAgaWYgKG1fcGFyc2VFcnJvck1lc3NhZ2UuaXNFbXB0eSgpKQotICAgICAgICAgICAgICAgIG1f
cGFyc2VFcnJvck1lc3NhZ2UgPSAiVW5hYmxlIHRvIHBhcnNlIEpTT04gc3RyaW5nIjsKLSAgICAg
ICAgICAgIFVTdHJpbmcgZXJyb3JNZXNzYWdlID0gbV9sZXhlci5zYXdFcnJvcigpID8gIG1fbGV4
ZXIuZ2V0RXJyb3JNZXNzYWdlKCkgOiBtX3BhcnNlRXJyb3JNZXNzYWdlOwotICAgICAgICAgICAg
cmV0dXJuIFN0cmluZzo6Zm9ybWF0KCJKU09OIFBhcnNlIGVycm9yOiAlcyIsIGVycm9yTWVzc2Fn
ZS5hc2NpaSgpLmRhdGEoKSkuaW1wbCgpOwotICAgICAgICB9Ci0gICAgICAgIAogICAgICAgICBK
U1ZhbHVlIHRyeUxpdGVyYWxQYXJzZSgpCiAgICAgICAgIHsKICAgICAgICAgICAgIG1fbGV4ZXIu
bmV4dCgpOwpAQCAtMTIwLDExICsxMTIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAg
ICAgICByZXR1cm4gbV9jdXJyZW50VG9rZW47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAK
LSAgICAgICAgICAgIGJvb2wgc2F3RXJyb3IoKSB7IHJldHVybiAhbV9sZXhFcnJvck1lc3NhZ2Uu
aXNFbXB0eSgpOyB9Ci0gICAgICAgICAgICBVU3RyaW5nIGdldEVycm9yTWVzc2FnZSgpIHsgcmV0
dXJuIG1fbGV4RXJyb3JNZXNzYWdlOyB9Ci0gICAgICAgICAgICAKICAgICAgICAgcHJpdmF0ZToK
LSAgICAgICAgICAgIFVTdHJpbmcgbV9sZXhFcnJvck1lc3NhZ2U7CiAgICAgICAgICAgICB0ZW1w
bGF0ZSA8UGFyc2VyTW9kZSBtb2RlPiBUb2tlblR5cGUgbGV4KExpdGVyYWxQYXJzZXJUb2tlbiYp
OwogICAgICAgICAgICAgdGVtcGxhdGUgPFBhcnNlck1vZGUgbW9kZSwgVUNoYXIgdGVybWluYXRv
cj4gQUxXQVlTX0lOTElORSBUb2tlblR5cGUgbGV4U3RyaW5nKExpdGVyYWxQYXJzZXJUb2tlbiYp
OwogICAgICAgICAgICAgQUxXQVlTX0lOTElORSBUb2tlblR5cGUgbGV4TnVtYmVyKExpdGVyYWxQ
YXJzZXJUb2tlbiYpOwpAQCAtMTQxLDcgKzEyOSw2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBFeGVjU3RhdGUqIG1fZXhlYzsKICAgICAgICAgTGl0ZXJhbFBhcnNlcjo6TGV4ZXIgbV9sZXhl
cjsKICAgICAgICAgUGFyc2VyTW9kZSBtX21vZGU7Ci0gICAgICAgIFVTdHJpbmcgbV9wYXJzZUVy
cm9yTWVzc2FnZTsKICAgICAgICAgc3RhdGljIHVuc2lnbmVkIGNvbnN0IE1heGltdW1DYWNoYWJs
ZUNoYXJhY3RlciA9IDEyODsKICAgICAgICAgRml4ZWRBcnJheTxJZGVudGlmaWVyLCBNYXhpbXVt
Q2FjaGFibGVDaGFyYWN0ZXI+IG1fc2hvcnRJZGVudGlmaWVyczsKICAgICAgICAgRml4ZWRBcnJh
eTxJZGVudGlmaWVyLCBNYXhpbXVtQ2FjaGFibGVDaGFyYWN0ZXI+IG1fcmVjZW50SWRlbnRpZmll
cnM7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>