<?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>93018</bug_id>
          
          <creation_ts>2012-08-02 12:36:55 -0700</creation_ts>
          <short_desc>nrwt: clean up logging, part 1</short_desc>
          <delta_ts>2012-08-06 11:31:53 -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>92432</blocked>
    
    <blocked>93026</blocked>
    
    <blocked>93043</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>685681</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-02 12:36:55 -0700</bug_when>
    <thetext>nrwt: clean up logging, part 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685689</commentid>
    <comment_count>1</comment_count>
      <attachid>156142</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-02 12:46:16 -0700</bug_when>
    <thetext>Created attachment 156142
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688305</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-08-06 11:31:53 -0700</bug_when>
    <thetext>Committed r124789: &lt;http://trac.webkit.org/changeset/124789&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156142</attachid>
            <date>2012-08-02 12:46:16 -0700</date>
            <delta_ts>2012-08-02 12:54:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93018-20120802124557.patch</filename>
            <type>text/plain</type>
            <size>35373</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NDc5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTcyMGI0MzNjZmZiZGMzYjIzMGFlMzZiM2E5YzgzMGYw
NzExMTE0YS4uYWIwZmNhZTY1MzJiNzVmMzEwMzIyY2E0MzUwNTM5MGQ4OTgzNjAzNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1
IEBACisyMDEyLTA4LTAyICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIG5yd3Q6IGNsZWFuIHVwIGxvZ2dpbmcsIHBhcnQgMQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwMTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICByZW1vdmUgLS1wcmludCwgLS1oZWxwLXByaW50
aW5nIGZyb20gbnJ3dCwgYWRkIHRocmVlIG5ldyBvcHRpb25zOgorICAgICAgICAtLXF1aWV0LCB3
aGljaCBqdXN0IGxvZ3Mgd2FybmluZ3MsZXJyb3JzLCBhbmQgdW5leHBlY3RlZCByZXN1bHRzCisg
ICAgICAgIC0tZGVidWctcnd0LWxvZ2dpbmcsIGEgbmV3IG5hbWUgZm9yIC0tdmVyYm9zZQorICAg
ICAgICAtLWRldGFpbHMsIHRvIGdldCB0aGUgb2xkIC0tcHJpbnQgdHJhY2UtZXZlcnl0aGluZyBi
ZWhhdmlvcgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lcyBub3QgaW1wbGVtZW50IHRoZSBuZXcg
Im9uZSBsaW5lIHBlciB0ZXN0IgorICAgICAgICAtLXZlcmJvc2UgYmVoYXZpb3Igc3BlY2lmaWVk
IGluIGJ1ZyA4ODcwMiwgYW5kIHRoZXJlJ3MgYSBidW5jaAorICAgICAgICBvZiBpbnRlcm5hbCBj
bGVhbnVwIEkgY2FuIGRvIGluIHByaW50aW5nLnB5IHRoYXQgSSdsbCBkZWZlciB0bworICAgICAg
ICBhIGxhdGVyIHBhdGNoIHRvIG1ha2UgdGhpbmdzIGVhc2llciB0byByZXZpZXcuCisKKyAgICAg
ICAgVGhpcyBwYXRjaCBkZWxldGVzIGEgbG90IG9mIHVuaXQgdGVzdHMgdGhhdCBhcmUgbm8gbG9u
Z2VyCisgICAgICAgIG5lY2Vzc2FyeSBzaW5jZSB0aGVyZSBhcmVuJ3Qgc28gbWFueSBsb2dnaW5n
IGNvbWJpbmF0aW9ucy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3J1bl93ZWJraXRfdGVzdHMucHk6CisgICAgICAgIChydW4pOgorICAgICAgICAobWFpbik6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19p
bnRlZ3JhdGlvbnRlc3QucHk6CisgICAgICAgIChwYXJzZV9hcmdzKToKKyAgICAgICAgKHBhc3Np
bmdfcnVuKToKKyAgICAgICAgKFN0cmVhbVRlc3RpbmdNaXhpbi5hc3NlcnRDb250YWlucyk6Cisg
ICAgICAgIChNYWluVGVzdC50ZXN0X2NoaWxkX3Byb2Nlc3Nlc18yKToKKyAgICAgICAgKE1haW5U
ZXN0LnRlc3RfY2hpbGRfcHJvY2Vzc2VzX21pbik6CisgICAgICAgIChNYWluVGVzdC50ZXN0X2Z1
bGxfcmVzdWx0c19odG1sKToKKyAgICAgICAgKE1haW5UZXN0LnRlc3Rfbm9fdGVzdHNfZm91bmQp
OgorICAgICAgICAoTWFpblRlc3QudGVzdF9ub190ZXN0c19mb3VuZF8yKToKKyAgICAgICAgKE1h
aW5UZXN0LnRlc3RfcmVwZWF0X2VhY2hfaXRlcmF0aW9uc19udW1fdGVzdHMpOgorICAgICAgICAo
TWFpblRlc3QudGVzdF9hZGRpdGlvbmFsX3BsYXRmb3JtX2RpcmVjdG9yeSk6CisgICAgICAgIChS
ZWJhc2VsaW5lVGVzdC5hc3NlcnRCYXNlbGluZXMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3ZpZXdzL3ByaW50aW5nLnB5OgorICAgICAgICAocHJpbnRfb3B0aW9u
cyk6CisgICAgICAgIChQcmludGVyLl9faW5pdF9fKToKKyAgICAgICAgKFByaW50ZXIuZW5hYmxl
ZCk6CisgICAgICAgIChQcmludGVyLnByaW50X3VuZXhwZWN0ZWRfcmVzdWx0cyk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvcHJpbnRpbmdfdW5pdHRlc3Qu
cHk6CisgICAgICAgIChUZXN0VXRpbGl0eUZ1bmN0aW9ucy50ZXN0X3ByaW50X29wdGlvbnMpOgor
ICAgICAgICAoVGVzdHByaW50ZXIuZ2V0X3Jlc3VsdF9zdW1tYXJ5KToKKyAgICAgICAgKFRlc3Rw
cmludGVyLnRlc3RfY29uZmlndXJlX2FuZF9jbGVhbnVwKToKKyAgICAgICAgKFRlc3RwcmludGVy
LnRlc3RfcHJpbnRfY29uZmlnKToKKyAgICAgICAgKFRlc3RwcmludGVyLnRlc3RfcHJpbnRfb25l
X2xpbmVfc3VtbWFyeSk6CisgICAgICAgIChUZXN0cHJpbnRlci50ZXN0X3ByaW50X3VuZXhwZWN0
ZWRfcmVzdWx0cyk6CisgICAgICAgICh0ZXN0X2RldGFpbHMpOgorICAgICAgICAodGVzdF9kZWZh
dWx0KToKKyAgICAgICAgKHRlc3RfcXVpZXQpOgorICAgICAgICAodGVzdF92ZXJib3NlKToKKwog
MjAxMi0wOC0wMiAgRGludSBKYWNvYiAgPGRpbnUuamFjb2JAbm9raWEuY29tPgogCiAgICAgICAg
IFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNlclN0eWxl
U2hlZXRFbmFibGVkCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQppbmRleCA5ZGFmZTFkOTM4ZTExNzBlOThlN2IxYTZi
ODQxNDNmYTJkNWFhMDNkLi5hYmRiOGE3Mzc2OTMzZTk5MWQyNDFmYzg3ODE3NGYyNTI4YWViZGEw
IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Vi
a2l0X3Rlc3RzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1
bl93ZWJraXRfdGVzdHMucHkKQEAgLTk3LDExICs5Nyw2IEBAIGRlZiBydW4ocG9ydCwgb3B0aW9u
cywgYXJncywgcmVndWxhcl9vdXRwdXQ9c3lzLnN0ZGVyciwgYnVpbGRib3Rfb3V0cHV0PXN5cy5z
dGRvCiAgICAgICAgIGZvciB3YXJuaW5nIGluIHdhcm5pbmdzOgogICAgICAgICAgICAgX2xvZy53
YXJuaW5nKHdhcm5pbmcpCiAKLSAgICAgICAgaWYgb3B0aW9ucy5oZWxwX3ByaW50aW5nOgotICAg
ICAgICAgICAgcHJpbnRlci5oZWxwX3ByaW50aW5nKCkKLSAgICAgICAgICAgIHByaW50ZXIuY2xl
YW51cCgpCi0gICAgICAgICAgICByZXR1cm4gMAotCiAgICAgICAgIGlmIG9wdGlvbnMubGludF90
ZXN0X2ZpbGVzOgogICAgICAgICAgICAgcmV0dXJuIGxpbnQocG9ydCwgb3B0aW9ucykKIApAQCAt
NDg0LDcgKzQ3OSw3IEBAIGRlZiBtYWluKGFyZ3Y9Tm9uZSk6CiAgICAgICAgIHRyYWNlYmFjay5w
cmludF9leGMoZmlsZT1zeXMuc3RkZXJyKQogICAgICAgICByYWlzZQogCi0gICAgbG9nZ2luZy5n
ZXRMb2dnZXIoKS5zZXRMZXZlbChsb2dnaW5nLkRFQlVHIGlmIG9wdGlvbnMudmVyYm9zZSBlbHNl
IGxvZ2dpbmcuSU5GTykKKyAgICBsb2dnaW5nLmdldExvZ2dlcigpLnNldExldmVsKGxvZ2dpbmcu
REVCVUcgaWYgb3B0aW9ucy5kZWJ1Z19yd3RfbG9nZ2luZyBlbHNlIGxvZ2dpbmcuSU5GTykKICAg
ICByZXR1cm4gcnVuKHBvcnQsIG9wdGlvbnMsIGFyZ3MpCiAKIApkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlv
bnRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0
X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weQppbmRleCAwMmU3NWJhZjcyNDM4OTgzNWI3YTc1OGM2
MmMxZjBjMWMzN2NlZmQ2Li5mYzY5OWJjNDIzNzZkYTg5MGU4Yzc2Y2VlNGQ3ZWVlMzRmNzYwNDIw
IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Vi
a2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzX2ludGVncmF0aW9udGVzdC5weQpAQCAtNjAs
MTAgKzYwLDcgQEAgZnJvbSB3ZWJraXRweS50b29sLm1vY2t0b29sIGltcG9ydCBNb2NrT3B0aW9u
cwogCiBkZWYgcGFyc2VfYXJncyhleHRyYV9hcmdzPU5vbmUsIHJlY29yZF9yZXN1bHRzPUZhbHNl
LCB0ZXN0c19pbmNsdWRlZD1GYWxzZSwgbmV3X3Jlc3VsdHM9RmFsc2UsIHByaW50X25vdGhpbmc9
VHJ1ZSk6CiAgICAgZXh0cmFfYXJncyA9IGV4dHJhX2FyZ3Mgb3IgW10KLSAgICBpZiBwcmludF9u
b3RoaW5nOgotICAgICAgICBhcmdzID0gWyctLXByaW50JywgJ25vdGhpbmcnXQotICAgIGVsc2U6
Ci0gICAgICAgIGFyZ3MgPSBbXQorICAgIGFyZ3MgPSBbXQogICAgIGlmIG5vdCAnLS1wbGF0Zm9y
bScgaW4gZXh0cmFfYXJnczoKICAgICAgICAgYXJncy5leHRlbmQoWyctLXBsYXRmb3JtJywgJ3Rl
c3QnXSkKICAgICBpZiBub3QgcmVjb3JkX3Jlc3VsdHM6CkBAIC05NSw3ICs5Miw3IEBAIGRlZiBw
YXNzaW5nX3J1bihleHRyYV9hcmdzPU5vbmUsIHBvcnRfb2JqPU5vbmUsIHJlY29yZF9yZXN1bHRz
PUZhbHNlLCB0ZXN0c19pbmNsCiAgICAgYnVpbGRib3Rfb3V0cHV0ID0gU3RyaW5nSU8uU3RyaW5n
SU8oKQogICAgIHJlZ3VsYXJfb3V0cHV0ID0gU3RyaW5nSU8uU3RyaW5nSU8oKQogICAgIHJlcyA9
IHJ1bl93ZWJraXRfdGVzdHMucnVuKHBvcnRfb2JqLCBvcHRpb25zLCBwYXJzZWRfYXJncywgYnVp
bGRib3Rfb3V0cHV0PWJ1aWxkYm90X291dHB1dCwgcmVndWxhcl9vdXRwdXQ9cmVndWxhcl9vdXRw
dXQpCi0gICAgcmV0dXJuIHJlcyA9PSAwIGFuZCBub3QgcmVndWxhcl9vdXRwdXQuZ2V0dmFsdWUo
KSBhbmQgbm90IGJ1aWxkYm90X291dHB1dC5nZXR2YWx1ZSgpCisgICAgcmV0dXJuIHJlcyA9PSAw
CiAKIAogZGVmIGxvZ2dpbmdfcnVuKGV4dHJhX2FyZ3M9Tm9uZSwgcG9ydF9vYmo9Tm9uZSwgcmVj
b3JkX3Jlc3VsdHM9RmFsc2UsIHRlc3RzX2luY2x1ZGVkPUZhbHNlLCBob3N0PU5vbmUsIG5ld19y
ZXN1bHRzPUZhbHNlLCBzaGFyZWRfcG9ydD1UcnVlKToKQEAgLTE4Niw5ICsxODMsNiBAQCBjbGFz
cyBTdHJlYW1UZXN0aW5nTWl4aW4ob2JqZWN0KToKICAgICBkZWYgYXNzZXJ0Q29udGFpbnMoc2Vs
Ziwgc3RyZWFtLCBzdHJpbmcpOgogICAgICAgICBzZWxmLmFzc2VydFRydWUoc3RyaW5nIGluIHN0
cmVhbS5nZXR2YWx1ZSgpKQogCi0gICAgZGVmIGFzc2VydENvbnRhaW5zTGluZShzZWxmLCBzdHJl
YW0sIHN0cmluZyk6Ci0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzdHJpbmcgaW4gc3RyZWFtLmJ1
Zmxpc3QpCi0KICAgICBkZWYgYXNzZXJ0RW1wdHkoc2VsZiwgc3RyZWFtKToKICAgICAgICAgc2Vs
Zi5hc3NlcnRGYWxzZShzdHJlYW0uZ2V0dmFsdWUoKSkKIApAQCAtMzEwLDEzICszMDQsMTMgQEAg
Y2xhc3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAg
ICAgZGVmIHRlc3RfY2hpbGRfcHJvY2Vzc2VzXzIoc2VsZik6CiAgICAgICAgIGlmIHNlbGYuc2hv
dWxkX3Rlc3RfcHJvY2Vzc2VzOgogICAgICAgICAgICAgXywgXywgcmVndWxhcl9vdXRwdXQsIF8g
PSBsb2dnaW5nX3J1bigKLSAgICAgICAgICAgICAgICBbJy0tcHJpbnQnLCAnY29uZmlnJywgJy0t
Y2hpbGQtcHJvY2Vzc2VzJywgJzInXSwgc2hhcmVkX3BvcnQ9RmFsc2UpCisgICAgICAgICAgICAg
ICAgWyctLWRlYnVnLXJ3dC1sb2dnaW5nJywgJy0tY2hpbGQtcHJvY2Vzc2VzJywgJzInXSwgc2hh
cmVkX3BvcnQ9RmFsc2UpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoYW55KFsnUnVubmlu
ZyAyICcgaW4gbGluZSBmb3IgbGluZSBpbiByZWd1bGFyX291dHB1dC5idWZsaXN0XSkpCiAKICAg
ICBkZWYgdGVzdF9jaGlsZF9wcm9jZXNzZXNfbWluKHNlbGYpOgogICAgICAgICBpZiBzZWxmLnNo
b3VsZF90ZXN0X3Byb2Nlc3NlczoKICAgICAgICAgICAgIF8sIF8sIHJlZ3VsYXJfb3V0cHV0LCBf
ID0gbG9nZ2luZ19ydW4oCi0gICAgICAgICAgICAgICAgWyctLXByaW50JywgJ2NvbmZpZycsICct
LWNoaWxkLXByb2Nlc3NlcycsICcyJywgJ3Bhc3NlcyddLAorICAgICAgICAgICAgICAgIFsnLS1k
ZWJ1Zy1yd3QtbG9nZ2luZycsICctLWNoaWxkLXByb2Nlc3NlcycsICcyJywgJ3Bhc3NlcyddLAog
ICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1ZGVkPVRydWUsIHNoYXJlZF9wb3J0PUZhbHNlKQog
ICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGFueShbJ1J1bm5pbmcgMSAnIGluIGxpbmUgZm9y
IGxpbmUgaW4gcmVndWxhcl9vdXRwdXQuYnVmbGlzdF0pKQogCkBAIC0zNDksMTIgKzM0Myw2IEBA
IGNsYXNzIE1haW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgog
ICAgICAgICByZXMsIG91dCwgZXJyLCB1c2VyID0gbG9nZ2luZ19ydW4oWyctLWZ1bGwtcmVzdWx0
cy1odG1sJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLCAwKQogCi0gICAgZGVmIHRl
c3RfaGVscF9wcmludGluZyhzZWxmKToKLSAgICAgICAgcmVzLCBvdXQsIGVyciwgdXNlciA9IGxv
Z2dpbmdfcnVuKFsnLS1oZWxwLXByaW50aW5nJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
cmVzLCAwKQotICAgICAgICBzZWxmLmFzc2VydEVtcHR5KG91dCkKLSAgICAgICAgc2VsZi5hc3Nl
cnROb3RFbXB0eShlcnIpCi0KICAgICBkZWYgdGVzdF9odW5nX3RocmVhZChzZWxmKToKICAgICAg
ICAgcmVzLCBvdXQsIGVyciwgdXNlciA9IGxvZ2dpbmdfcnVuKFsnLS1ydW4tc2luZ2x5JywgJy0t
dGltZS1vdXQtbXM9NTAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ2ZhaWx1cmVzL2V4cGVjdGVkL2hhbmcuaHRtbCddLApAQCAtMzc4LDEzICszNjYsMTMgQEAg
Y2xhc3MgTWFpblRlc3QodW5pdHRlc3QuVGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAg
ICAgICAgIHJlcywgb3V0LCBlcnIsIHVzZXIgPSBsb2dnaW5nX3J1bihbJ3Jlc291cmNlcyddLCB0
ZXN0c19pbmNsdWRlZD1UcnVlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcywgLTEpCiAg
ICAgICAgIHNlbGYuYXNzZXJ0RW1wdHkob3V0KQotICAgICAgICBzZWxmLmFzc2VydENvbnRhaW5z
TGluZShlcnIsICdObyB0ZXN0cyB0byBydW4uXG4nKQorICAgICAgICBzZWxmLmFzc2VydENvbnRh
aW5zKGVyciwgJ05vIHRlc3RzIHRvIHJ1bi5cbicpCiAKICAgICBkZWYgdGVzdF9ub190ZXN0c19m
b3VuZF8yKHNlbGYpOgogICAgICAgICByZXMsIG91dCwgZXJyLCB1c2VyID0gbG9nZ2luZ19ydW4o
Wydmb28nXSwgdGVzdHNfaW5jbHVkZWQ9VHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChy
ZXMsIC0xKQogICAgICAgICBzZWxmLmFzc2VydEVtcHR5KG91dCkKLSAgICAgICAgc2VsZi5hc3Nl
cnRDb250YWluc0xpbmUoZXJyLCAnTm8gdGVzdHMgdG8gcnVuLlxuJykKKyAgICAgICAgc2VsZi5h
c3NlcnRDb250YWlucyhlcnIsICdObyB0ZXN0cyB0byBydW4uXG4nKQogCiAgICAgZGVmIHRlc3Rf
cmFuZG9taXplX29yZGVyKHNlbGYpOgogICAgICAgICAjIEZJWE1FOiB2ZXJpZnkgb3JkZXIgd2Fz
IHNodWZmbGVkCkBAIC00MzksMTEgKzQyNywxMSBAQCBjbGFzcyBNYWluVGVzdCh1bml0dGVzdC5U
ZXN0Q2FzZSwgU3RyZWFtVGVzdGluZ01peGluKToKICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkK
ICAgICAgICAgcmVzLCBvdXQsIGVyciwgXyA9IGxvZ2dpbmdfcnVuKFsnLS1pdGVyYXRpb25zJywg
JzInLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXJlcGVhdC1l
YWNoJywgJzQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXBy
aW50JywgJ2V2ZXJ5dGhpbmcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICctLWRlYnVnLXJ3dC1sb2dnaW5nJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAncGFzc2VzL3RleHQuaHRtbCcsICdmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0
bWwnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RzX2luY2x1
ZGVkPVRydWUsIGhvc3Q9aG9zdCwgcmVjb3JkX3Jlc3VsdHM9VHJ1ZSkKLSAgICAgICAgc2VsZi5h
c3NlcnRDb250YWluc0xpbmUob3V0LCAiPT4gUmVzdWx0czogOC8xNiB0ZXN0cyBwYXNzZWQgKDUw
LjAlKVxuIikKLSAgICAgICAgc2VsZi5hc3NlcnRDb250YWluc0xpbmUoZXJyLCAiQWxsIDE2IHRl
c3RzIHJhbiBhcyBleHBlY3RlZC5cbiIpCisgICAgICAgIHNlbGYuYXNzZXJ0Q29udGFpbnMob3V0
LCAiPT4gUmVzdWx0czogOC8xNiB0ZXN0cyBwYXNzZWQgKDUwLjAlKVxuIikKKyAgICAgICAgc2Vs
Zi5hc3NlcnRDb250YWlucyhlcnIsICJBbGwgMTYgdGVzdHMgcmFuIGFzIGV4cGVjdGVkLlxuIikK
IAogICAgIGRlZiB0ZXN0X3J1bl9jaHVuayhzZWxmKToKICAgICAgICAgIyBUZXN0IHRoYXQgd2Ug
YWN0dWFsbHkgc2VsZWN0IHRoZSByaWdodCBjaHVuawpAQCAtODYzLDcgKzg1MSw3IEBAIGNsYXNz
IE1haW5UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlLCBTdHJlYW1UZXN0aW5nTWl4aW4pOgogICAgICAg
ICBzZWxmLmFzc2VydFRydWUocGFzc2luZ19ydW4oWyctLWFkZGl0aW9uYWwtcGxhdGZvcm0tZGly
ZWN0b3J5JywgJy90bXAvZm9vJywgJy0tYWRkaXRpb25hbC1wbGF0Zm9ybS1kaXJlY3RvcnknLCAn
L3RtcC9iYXInXSkpCiAKICAgICAgICAgcmVzLCBidWlsZGJvdF9vdXRwdXQsIHJlZ3VsYXJfb3V0
cHV0LCB1c2VyID0gbG9nZ2luZ19ydW4oWyctLWFkZGl0aW9uYWwtcGxhdGZvcm0tZGlyZWN0b3J5
JywgJ2ZvbyddKQotICAgICAgICBzZWxmLmFzc2VydENvbnRhaW5zTGluZShyZWd1bGFyX291dHB1
dCwgJy0tYWRkaXRpb25hbC1wbGF0Zm9ybS1kaXJlY3Rvcnk9Zm9vIGlzIGlnbm9yZWQgc2luY2Ug
aXQgaXMgbm90IGFic29sdXRlXG4nKQorICAgICAgICBzZWxmLmFzc2VydENvbnRhaW5zKHJlZ3Vs
YXJfb3V0cHV0LCAnLS1hZGRpdGlvbmFsLXBsYXRmb3JtLWRpcmVjdG9yeT1mb28gaXMgaWdub3Jl
ZCBzaW5jZSBpdCBpcyBub3QgYWJzb2x1dGVcbicpCiAKICAgICBkZWYgdGVzdF9hZGRpdGlvbmFs
X2V4cGVjdGF0aW9ucyhzZWxmKToKICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKQEAgLTk4OSw3
ICs5NzcsNyBAQCBjbGFzcyBSZWJhc2VsaW5lVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSwgU3RyZWFt
VGVzdGluZ01peGluKToKICAgICAgICAgICAgIGJhc2VsaW5lID0gZmlsZSArICItZXhwZWN0ZWQi
ICsgZXh0CiAgICAgICAgICAgICBiYXNlbGluZV9tc2cgPSAnV3JpdGluZyBuZXcgZXhwZWN0ZWQg
cmVzdWx0ICIlcyJcbicgJSBiYXNlbGluZQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGFu
eShmLmZpbmQoYmFzZWxpbmUpICE9IC0xIGZvciBmIGluIGZpbGVfbGlzdCkpCi0gICAgICAgICAg
ICBzZWxmLmFzc2VydENvbnRhaW5zTGluZShlcnIsIGJhc2VsaW5lX21zZykKKyAgICAgICAgICAg
IHNlbGYuYXNzZXJ0Q29udGFpbnMoZXJyLCBiYXNlbGluZV9tc2cpCiAKICAgICAjIEZJWE1FOiBB
ZGQgdGVzdHMgdG8gZW5zdXJlIHRoYXQgd2UncmUgKm5vdCogd3JpdGluZyBiYXNlbGluZXMgd2hl
biB3ZSdyZSBub3QKICAgICAjIHN1cHBvc2VkIHRvIGJlLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvcHJpbnRpbmcucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy92aWV3cy9wcmludGluZy5weQppbmRleCA4YmM4OWIy
NWZhZDkyOTc4MDg0ZWQ3ZTE5MmRhOTg0ZWY3NzY0YmUzLi5iMjE4MTJkZmNhZTI0NDU5M2Q3OGE5
ODE3NmUzNzRiODZhM2QyM2E5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy92aWV3cy9wcmludGluZy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy92aWV3cy9wcmludGluZy5weQpAQCAtNDAsMTEzICs0MCwyMSBAQCBmcm9t
IHdlYmtpdHB5LmxheW91dF90ZXN0cy52aWV3cy5tZXRlcmVkX3N0cmVhbSBpbXBvcnQgTWV0ZXJl
ZFN0cmVhbQogCiBOVU1fU0xPV19URVNUU19UT19MT0cgPSAxMAogCi1QUklOVF9ERUZBVUxUID0g
Im1pc2Msb25lLWxpbmUtcHJvZ3Jlc3Msb25lLWxpbmUtc3VtbWFyeSx1bmV4cGVjdGVkLHVuZXhw
ZWN0ZWQtcmVzdWx0cyx1cGRhdGVzIgorUFJJTlRfUVVJRVQgPSAib25lLWxpbmUtcHJvZ3Jlc3Ms
b25lLWxpbmUtc3VtbWFyeSx1bmV4cGVjdGVkLHVuZXhwZWN0ZWQtcmVzdWx0cyx1cGRhdGVzIgor
UFJJTlRfREVGQVVMVCA9ICJjb25maWcsbWlzYyxvbmUtbGluZS1wcm9ncmVzcyxvbmUtbGluZS1z
dW1tYXJ5LHVuZXhwZWN0ZWQsdW5leHBlY3RlZC1yZXN1bHRzLHVwZGF0ZXMiCiBQUklOVF9FVkVS
WVRISU5HID0gImFjdHVhbCxjb25maWcsZXhwZWN0ZWQsbWlzYyxvbmUtbGluZS1wcm9ncmVzcyxv
bmUtbGluZS1zdW1tYXJ5LHNsb3dlc3QsdGltaW5nLHVuZXhwZWN0ZWQsdW5leHBlY3RlZC1yZXN1
bHRzLHVwZGF0ZXMiCiAKLUhFTFBfUFJJTlRJTkcgPSAiIiIKLU91dHB1dCBmb3IgcnVuLXdlYmtp
dC10ZXN0cyBpcyBjb250cm9sbGVkIGJ5IGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YKLXZhbHVl
cyBwYXNzZWQgdG8gLS1wcmludC4gIFZhbHVlcyBlaXRoZXIgaW5mbHVlbmNlIHRoZSBvdmVyYWxs
IG91dHB1dCwgb3IKLXRoZSBvdXRwdXQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgcnVuLCBkdXJp
bmcgdGhlIHJ1biwgb3IgYXQgdGhlIGVuZDoKLQotT3ZlcmFsbCBvcHRpb25zOgotICAgIG5vdGhp
bmcgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgYW55dGhpbmcuIFRoaXMgb3ZlcnJpZGVzIGV2ZXJ5
IG90aGVyIG9wdGlvbgotICAgIGRlZmF1bHQgICAgICAgICAgICAgaW5jbHVkZSB0aGUgZGVmYXVs
dCBvcHRpb25zLiBUaGlzIGlzIHVzZWZ1bCBmb3IgbG9nZ2luZwotICAgICAgICAgICAgICAgICAg
ICAgICAgdGhlIGRlZmF1bHQgb3B0aW9ucyBwbHVzIGFkZGl0aW9uYWwgc2V0dGluZ3MuCi0gICAg
ZXZlcnl0aGluZyAgICAgICAgICBwcmludCAoYWxtb3N0KSBldmVyeXRoaW5nIChleGNlcHQgdGhl
IHRyYWNlLSogb3B0aW9ucywKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlZSBiZWxvdyBmb3Ig
dGhlIGZ1bGwgbGlzdCApCi0gICAgbWlzYyAgICAgICAgICAgICAgICBwcmludCBtaXNjZWxsYW5l
b3VzIHRoaW5ncyBsaWtlIGJsYW5rIGxpbmVzCi0KLUF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHJ1
bjoKLSAgICBjb25maWcgICAgICAgICAgICAgIHByaW50IHRoZSB0ZXN0IHJ1biBjb25maWd1cmF0
aW9uCi0gICAgZXhwZWN0ZWQgICAgICAgICAgICBwcmludCBhIHN1bW1hcnkgb2Ygd2hhdCBpcyBl
eHBlY3RlZCB0byBoYXBwZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICgjIHBhc3NlcywgIyBm
YWlsdXJlcywgZXRjLikKLQotRHVyaW5nIHRoZSBydW46Ci0gICAgb25lLWxpbmUtcHJvZ3Jlc3Mg
ICBwcmludCBhIG9uZS1saW5lIHByb2dyZXNzIG1lc3NhZ2Ugb3IgYmFyCi0gICAgdW5leHBlY3Rl
ZCAgICAgICAgICBwcmludCBhbnkgdW5leHBlY3RlZCByZXN1bHRzIGFzIHRoZXkgb2NjdXIKLSAg
ICB1cGRhdGVzICAgICAgICAgICAgIHByaW50IHVwZGF0ZXMgb24gd2hpY2ggc3RhZ2UgaXMgZXhl
Y3V0aW5nCi0gICAgdHJhY2UtZXZlcnl0aGluZyAgICBwcmludCBkZXRhaWxlZCBpbmZvIG9uIGV2
ZXJ5IHRlc3QncyByZXN1bHRzCi0gICAgICAgICAgICAgICAgICAgICAgICAoYmFzZWxpbmVzLCBl
eHBlY3RhdGlvbiwgdGltZSBpdCB0b29rIHRvIHJ1bikuIElmCi0gICAgICAgICAgICAgICAgICAg
ICAgICB0aGlzIGlzIHNwZWNpZmllZCBpdCB3aWxsIG92ZXJyaWRlIHRoZSAnKi1wcm9ncmVzcycK
LSAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMsIHRoZSAndHJhY2UtdW5leHBlY3RlZCcg
b3B0aW9uLCBhbmQgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAndW5leHBlY3RlZCcgb3B0
aW9uLgotICAgIHRyYWNlLXVuZXhwZWN0ZWQgICAgbGlrZSAndHJhY2UtZXZlcnl0aGluZycsIGJ1
dCBvbmx5IGZvciB0ZXN0cyB3aXRoCi0gICAgICAgICAgICAgICAgICAgICAgICB1bmV4cGVjdGVk
IHJlc3VsdHMuIElmIHRoaXMgb3B0aW9uIGlzIHNwZWNpZmllZCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGl0IHdpbGwgb3ZlcnJpZGUgdGhlICd1bmV4cGVjdGVkJyBvcHRpb24uCi0KLUF0IHRo
ZSBlbmQgb2YgdGhlIHJ1bjoKLSAgICBhY3R1YWwgICAgICAgICAgICAgIHByaW50IGEgc3VtbWFy
eSBvZiB0aGUgYWN0dWFsIHJlc3VsdHMKLSAgICBzbG93ZXN0ICAgICAgICAgICAgIHByaW50ICUo
c2xvd2VzdClkIHNsb3dlc3QgdGVzdHMgYW5kIHRoZSB0aW1lIHRoZXkgdG9vawotICAgIHRpbWlu
ZyAgICAgICAgICAgICAgcHJpbnQgdGltaW5nIHN0YXRpc3RpY3MKLSAgICB1bmV4cGVjdGVkLXJl
c3VsdHMgIHByaW50IGEgbGlzdCBvZiB0aGUgdGVzdHMgd2l0aCB1bmV4cGVjdGVkIHJlc3VsdHMK
LSAgICBvbmUtbGluZS1zdW1tYXJ5ICAgIHByaW50IGEgb25lLWxpbmUgc3VtbWFyeSBvZiB0aGUg
cnVuCi0KLU5vdGVzOgotICAgIC0gSWYgJ25vdGhpbmcnIGlzIHNwZWNpZmllZCwgaXQgb3ZlcnJp
ZGVzIGFsbCBvZiB0aGUgb3RoZXIgb3B0aW9ucy4KLSAgICAtIFNwZWNpZnlpbmcgLS12ZXJib3Nl
IGlzIGVxdWl2YWxlbnQgdG8gLS1wcmludCBldmVyeXRoaW5nIHBsdXMgaXQKLSAgICAgIGNoYW5n
ZXMgdGhlIGZvcm1hdCBvZiB0aGUgbG9nIG1lc3NhZ2VzIHRvIGFkZCB0aW1lc3RhbXBzIGFuZCBv
dGhlcgotICAgICAgaW5mb3JtYXRpb24uIElmIHlvdSBzcGVjaWZ5IC0tdmVyYm9zZSBhbmQgLS1w
cmludCBYLCB0aGVuIFggb3ZlcnJpZGVzCi0gICAgICB0aGUgLS1wcmludCBldmVyeXRoaW5nIGlt
cGxpZWQgYnkgLS12ZXJib3NlLgotCi0tLXByaW50ICdldmVyeXRoaW5nJyBpcyBlcXVpdmFsZW50
IHRvIC0tcHJpbnQgJyUoZXZlcnl0aGluZylzJy4KLQotVGhlIGRlZmF1bHQgKC0tcHJpbnQgZGVm
YXVsdCkgaXMgZXF1aXZhbGVudCB0byAtLXByaW50ICclKGRlZmF1bHQpcycuCi0iIiIgJSB7J3Ns
b3dlc3QnOiBOVU1fU0xPV19URVNUU19UT19MT0csICdldmVyeXRoaW5nJzogUFJJTlRfRVZFUllU
SElORywKLSAgICAgICAnZGVmYXVsdCc6IFBSSU5UX0RFRkFVTFR9Ci0KLQogZGVmIHByaW50X29w
dGlvbnMoKToKICAgICByZXR1cm4gWwotICAgICAgICAjIE5vdGU6IFdlIHVzZSBwcmludF9vcHRp
b25zIHJhdGhlciB0aGFuIGp1c3QgJ3ByaW50JyBiZWNhdXNlIHByaW50Ci0gICAgICAgICMgaXMg
YSByZXNlcnZlZCB3b3JkLgotICAgICAgICAjIE5vdGU6IEFsc28sIHdlIGRvbid0IHNwZWNpZnkg
YSBkZWZhdWx0IHZhbHVlIHNvIHdlIGNhbiBkZXRlY3Qgd2hlbgotICAgICAgICAjIG5vIGZsYWcg
aXMgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUgYW5kIHVzZSBkaWZmZXJlbnQgZGVmYXVs
dHMKLSAgICAgICAgIyBiYXNlZCBvbiB3aGV0aGVyIG9yIG5vdCAtLXZlcmJvc2UgaXMgc3BlY2lm
aWVkIChzaW5jZSAtLXByaW50Ci0gICAgICAgICMgb3ZlcnJpZGVzIC0tdmVyYm9zZSkuCi0gICAg
ICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLXByaW50IiwgZGVzdD0icHJpbnRfb3B0aW9ucyIs
Ci0gICAgICAgICAgICBoZWxwPSgiY29udHJvbHMgcHJpbnQgb3V0cHV0IG9mIHRlc3QgcnVuLiAi
Ci0gICAgICAgICAgICAgICAgICAiVXNlIC0taGVscC1wcmludGluZyBmb3IgbW9yZS4iKSksCi0g
ICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLWhlbHAtcHJpbnRpbmciLCBhY3Rpb249InN0
b3JlX3RydWUiLAotICAgICAgICAgICAgaGVscD0ic2hvdyBkZXRhaWxlZCBoZWxwIG9uIGNvbnRy
b2xsaW5nIHByaW50IG91dHB1dCIpLAotICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLXYi
LCAiLS12ZXJib3NlIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgIGRlZmF1bHQ9
RmFsc2UsIGhlbHA9ImluY2x1ZGUgZGVidWctbGV2ZWwgbG9nZ2luZyIpLAotICAgXQotCi0KLWRl
ZiBwYXJzZV9wcmludF9vcHRpb25zKHByaW50X29wdGlvbnMsIHZlcmJvc2UpOgotICAgICIiIlBh
cnNlIHRoZSBvcHRpb25zIHByb3ZpZGVkIHRvIC0tcHJpbnQgYW5kIGRlZHVwIGFuZCByYW5rIHRo
ZW0uCi0KLSAgICBSZXR1cm5zCi0gICAgICAgIGEgc2V0KCkgb2Ygc3dpdGNoZXMgdGhhdCBnb3Zl
cm4gaG93IGxvZ2dpbmcgaXMgZG9uZQotCi0gICAgIiIiCi0gICAgaWYgcHJpbnRfb3B0aW9uczoK
LSAgICAgICAgc3dpdGNoZXMgPSBzZXQocHJpbnRfb3B0aW9ucy5zcGxpdCgnLCcpKQotICAgIGVs
aWYgdmVyYm9zZToKLSAgICAgICAgc3dpdGNoZXMgPSBzZXQoUFJJTlRfRVZFUllUSElORy5zcGxp
dCgnLCcpKQotICAgIGVsc2U6Ci0gICAgICAgIHN3aXRjaGVzID0gc2V0KFBSSU5UX0RFRkFVTFQu
c3BsaXQoJywnKSkKLQotICAgIGlmICdub3RoaW5nJyBpbiBzd2l0Y2hlczoKLSAgICAgICAgcmV0
dXJuIHNldCgpCi0KLSAgICBpZiAnZXZlcnl0aGluZycgaW4gc3dpdGNoZXM6Ci0gICAgICAgIHN3
aXRjaGVzLmRpc2NhcmQoJ2V2ZXJ5dGhpbmcnKQotICAgICAgICBzd2l0Y2hlcy51cGRhdGUoc2V0
KFBSSU5UX0VWRVJZVEhJTkcuc3BsaXQoJywnKSkpCi0KLSAgICBpZiAnZGVmYXVsdCcgaW4gc3dp
dGNoZXM6Ci0gICAgICAgIHN3aXRjaGVzLmRpc2NhcmQoJ2RlZmF1bHQnKQotICAgICAgICBzd2l0
Y2hlcy51cGRhdGUoc2V0KFBSSU5UX0RFRkFVTFQuc3BsaXQoJywnKSkpCi0KLSAgICBpZiAndHJh
Y2UtZXZlcnl0aGluZycgaW4gc3dpdGNoZXM6Ci0gICAgICAgIHN3aXRjaGVzLmRpc2NhcmQoJ29u
ZS1saW5lLXByb2dyZXNzJykKLSAgICAgICAgc3dpdGNoZXMuZGlzY2FyZCgndHJhY2UtdW5leHBl
Y3RlZCcpCi0gICAgICAgIHN3aXRjaGVzLmRpc2NhcmQoJ3VuZXhwZWN0ZWQnKQotCi0gICAgaWYg
J3RyYWNlLXVuZXhwZWN0ZWQnIGluIHN3aXRjaGVzOgotICAgICAgICBzd2l0Y2hlcy5kaXNjYXJk
KCd1bmV4cGVjdGVkJykKLQotICAgIHJldHVybiBzd2l0Y2hlcworICAgICAgICBvcHRwYXJzZS5t
YWtlX29wdGlvbignLXEnLCAnLS1xdWlldCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1bHQ9
RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J3J1biBxdWlldGx5IChl
cnJvcnMsIHdhcm5pbmdzLCBhbmQgcHJvZ3Jlc3Mgb25seSknKSwKKyAgICAgICAgb3B0cGFyc2Uu
bWFrZV9vcHRpb24oJy12JywgJy0tdmVyYm9zZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlZmF1
bHQ9RmFsc2UsIGRlc3Q9J2RlYnVnX3J3dF9sb2dnaW5nJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaGVscD0nc2FtZSBhcyAtLWRlYnVnLXJ3dC1sb2dnaW5nIChmb3Igbm93KScpLAor
ICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbignLS1kZXRhaWxzJywgYWN0aW9uPSdzdG9yZV90
cnVlJywgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0n
cHJpbnQgZGV0YWlsZWQgaW5mb3JtYXRpb24gYWJvdXQgZWFjaCB0ZXN0JyksCisgICAgICAgIG9w
dHBhcnNlLm1ha2Vfb3B0aW9uKCctLWRlYnVnLXJ3dC1sb2dnaW5nJywgYWN0aW9uPSdzdG9yZV90
cnVlJywgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0n
cHJpbnQgdGltZXN0YW1wcyBhbmQgZGVidWcgaW5mb3JtYXRpb24gZm9yIHJ1bi13ZWJraXQtdGVz
dHMgaXRzZWxmJyksCisgICAgXQogCiAKIGNsYXNzIFByaW50ZXIob2JqZWN0KToKQEAgLTE3NSw4
ICs4MywxOCBAQCBjbGFzcyBQcmludGVyKG9iamVjdCk6CiAgICAgICAgIHNlbGYuX3BvcnQgPSBw
b3J0CiAgICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25zCiAgICAgICAgIHNlbGYuX2J1aWxk
Ym90X3N0cmVhbSA9IGJ1aWxkYm90X291dHB1dAotICAgICAgICBzZWxmLl9tZXRlciA9IE1ldGVy
ZWRTdHJlYW0ocmVndWxhcl9vdXRwdXQsIG9wdGlvbnMudmVyYm9zZSwgbG9nZ2VyPWxvZ2dlcikK
LSAgICAgICAgc2VsZi5zd2l0Y2hlcyA9IHBhcnNlX3ByaW50X29wdGlvbnMob3B0aW9ucy5wcmlu
dF9vcHRpb25zLCBvcHRpb25zLnZlcmJvc2UpCisKKyAgICAgICAgaWYgb3B0aW9ucy5kZWJ1Z19y
d3RfbG9nZ2luZzoKKyAgICAgICAgICAgIHNlbGYuc3dpdGNoZXMgPSBQUklOVF9FVkVSWVRISU5H
LnNwbGl0KCcsJykKKyAgICAgICAgZWxpZiBvcHRpb25zLnF1aWV0OgorICAgICAgICAgICAgc2Vs
Zi5zd2l0Y2hlcyA9IFBSSU5UX1FVSUVULnNwbGl0KCcsJykKKyAgICAgICAgZWxzZToKKyAgICAg
ICAgICAgIHNlbGYuc3dpdGNoZXMgPSBQUklOVF9ERUZBVUxULnNwbGl0KCcsJykKKworICAgICAg
ICBpZiBvcHRpb25zLmRldGFpbHM6CisgICAgICAgICAgICBzZWxmLnN3aXRjaGVzLmFwcGVuZCgn
dHJhY2UtZXZlcnl0aGluZycpCisKKyAgICAgICAgc2VsZi5fbWV0ZXIgPSBNZXRlcmVkU3RyZWFt
KHJlZ3VsYXJfb3V0cHV0LCBvcHRpb25zLmRlYnVnX3J3dF9sb2dnaW5nLCBsb2dnZXI9bG9nZ2Vy
KQogCiAgICAgZGVmIGNsZWFudXAoc2VsZik6CiAgICAgICAgIHNlbGYuX21ldGVyLmNsZWFudXAo
KQpAQCAtMTkxLDkgKzEwOSw2IEBAIGNsYXNzIFByaW50ZXIob2JqZWN0KToKICAgICBkZWYgZW5h
YmxlZChzZWxmLCBvcHRpb24pOgogICAgICAgICByZXR1cm4gb3B0aW9uIGluIHNlbGYuc3dpdGNo
ZXMKIAotICAgIGRlZiBoZWxwX3ByaW50aW5nKHNlbGYpOgotICAgICAgICBzZWxmLl93cml0ZShI
RUxQX1BSSU5USU5HKQotCiAgICAgZGVmIHByaW50X2NvbmZpZyhzZWxmKToKICAgICAgICAgIiIi
UHJpbnRzIHRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgdGVzdCBydW4uIiIiCiAgICAgICAgIHNl
bGYuX3ByaW50X2NvbmZpZygiVXNpbmcgcG9ydCAnJXMnIiAlIHNlbGYuX3BvcnQubmFtZSgpKQpA
QCAtNjk2LDcgKzYxMSw3IEBAIGNsYXNzIFByaW50ZXIob2JqZWN0KToKICAgICAgICAgICAgICAg
ICBzZWxmLl9idWlsZGJvdF9zdHJlYW0ud3JpdGUoIlxuIikKICAgICAgICAgICAgIHNlbGYuX2J1
aWxkYm90X3N0cmVhbS53cml0ZSgiXG4iKQogCi0gICAgICAgIGlmIGxlbih1bmV4cGVjdGVkX3Jl
c3VsdHNbJ3Rlc3RzJ10pIGFuZCBzZWxmLl9vcHRpb25zLnZlcmJvc2U6CisgICAgICAgIGlmIGxl
bih1bmV4cGVjdGVkX3Jlc3VsdHNbJ3Rlc3RzJ10pIGFuZCBzZWxmLl9vcHRpb25zLmRlYnVnX3J3
dF9sb2dnaW5nOgogICAgICAgICAgICAgc2VsZi5fYnVpbGRib3Rfc3RyZWFtLndyaXRlKCIlc1xu
IiAlICgiLSIgKiA3OCkpCiAKICAgICBkZWYgd3JpdGVfdXBkYXRlKHNlbGYsIG1zZyk6CmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy92aWV3cy9wcmludGlu
Z191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3ZpZXdz
L3ByaW50aW5nX3VuaXR0ZXN0LnB5CmluZGV4IDc1MDVkNWMwNWEzZjJjZmM2NDk5YWI0MGE4ZGRk
ODY4YmU3MmI3NTkuLmZhODBhY2EwMzAwZWJiYjUxYTY1Nzk4ZDM1ZmIwMTE5ZGY2MGU2NTEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3ZpZXdzL3ByaW50
aW5nX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3ZpZXdzL3ByaW50aW5nX3VuaXR0ZXN0LnB5CkBAIC01NywzNiArNTcsNiBAQCBjbGFzcyBUZXN0
VXRpbGl0eUZ1bmN0aW9ucyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIG9wdGlvbnMsIGFy
Z3MgPSBnZXRfb3B0aW9ucyhbXSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9wdGlvbnMgaXMg
bm90IE5vbmUpCiAKLSAgICBkZWYgdGVzdF9wYXJzZV9wcmludF9vcHRpb25zKHNlbGYpOgotICAg
ICAgICBkZWYgdGVzdF9zd2l0Y2hlcyhhcmdzLCBleHBlY3RlZF9zd2l0Y2hlc19zdHIsIHZlcmJv
c2U9RmFsc2UpOgotICAgICAgICAgICAgb3B0aW9ucywgYXJncyA9IGdldF9vcHRpb25zKGFyZ3Mp
Ci0gICAgICAgICAgICBpZiBleHBlY3RlZF9zd2l0Y2hlc19zdHI6Ci0gICAgICAgICAgICAgICAg
ZXhwZWN0ZWRfc3dpdGNoZXMgPSBzZXQoZXhwZWN0ZWRfc3dpdGNoZXNfc3RyLnNwbGl0KCcsJykp
Ci0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGV4cGVjdGVkX3N3aXRjaGVzID0g
c2V0KCkKLSAgICAgICAgICAgIHN3aXRjaGVzID0gcHJpbnRpbmcucGFyc2VfcHJpbnRfb3B0aW9u
cyhvcHRpb25zLnByaW50X29wdGlvbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdmVyYm9zZSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoZXhwZWN0ZWRfc3dpdGNoZXMsIHN3aXRjaGVzKQotCi0gICAgICAgICMgdGVzdCB0aGF0IHdl
IGRlZmF1bHQgdG8gdGhlIGRlZmF1bHQgc2V0IG9mIHN3aXRjaGVzCi0gICAgICAgIHRlc3Rfc3dp
dGNoZXMoW10sIHByaW50aW5nLlBSSU5UX0RFRkFVTFQpCi0KLSAgICAgICAgIyB0ZXN0IHRoYXQg
dmVyYm9zZSBkZWZhdWx0cyB0byBldmVyeXRoaW5nCi0gICAgICAgIHRlc3Rfc3dpdGNoZXMoW10s
IHByaW50aW5nLlBSSU5UX0VWRVJZVEhJTkcsIHZlcmJvc2U9VHJ1ZSkKLQotICAgICAgICAjIHRl
c3QgdGhhdCAtLXByaW50IGRlZmF1bHQgZG9lcyB3aGF0IGl0J3Mgc3VwcG9zZWQgdG8KLSAgICAg
ICAgdGVzdF9zd2l0Y2hlcyhbJy0tcHJpbnQnLCAnZGVmYXVsdCddLCBwcmludGluZy5QUklOVF9E
RUZBVUxUKQotCi0gICAgICAgICMgdGVzdCB0aGF0IC0tcHJpbnQgbm90aGluZyBkb2VzIHdoYXQg
aXQncyBzdXBwb3NlZCB0bwotICAgICAgICB0ZXN0X3N3aXRjaGVzKFsnLS1wcmludCcsICdub3Ro
aW5nJ10sIE5vbmUpCi0KLSAgICAgICAgIyB0ZXN0IHRoYXQgLS1wcmludCBldmVyeXRoaW5nIGRv
ZXMgd2hhdCBpdCdzIHN1cHBvc2VkIHRvCi0gICAgICAgIHRlc3Rfc3dpdGNoZXMoWyctLXByaW50
JywgJ2V2ZXJ5dGhpbmcnXSwgcHJpbnRpbmcuUFJJTlRfRVZFUllUSElORykKLQotICAgICAgICAj
IHRoaXMgdGVzdHMgdGhhdCAnLS1wcmludCBYJyBvdmVycmlkZXMgJy0tdmVyYm9zZScKLSAgICAg
ICAgdGVzdF9zd2l0Y2hlcyhbJy0tcHJpbnQnLCAnYWN0dWFsJ10sICdhY3R1YWwnLCB2ZXJib3Nl
PVRydWUpCi0KLQogCiBjbGFzcyAgVGVzdHByaW50ZXIodW5pdHRlc3QuVGVzdENhc2UpOgogICAg
IGRlZiBhc3NlcnRFbXB0eShzZWxmLCBzdHJlYW0pOgpAQCAtMTMzLDU5ICsxMDMsMTYgQEAgY2xh
c3MgIFRlc3RwcmludGVyKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgcnMgPSByZXN1bHRf
c3VtbWFyeS5SZXN1bHRTdW1tYXJ5KGV4cGVjdGF0aW9ucywgdGVzdF9uYW1lcywgMSwgc2V0KCkp
CiAgICAgICAgIHJldHVybiB0ZXN0X25hbWVzLCBycywgZXhwZWN0YXRpb25zCiAKLSAgICBkZWYg
dGVzdF9oZWxwX3ByaW50ZXIoc2VsZik6Ci0gICAgICAgICMgSGVyZSBhbmQgYmVsb3cgd2UnbGwg
Y2FsbCB0aGUgInJlZ3VsYXIiIHByaW50ZXIgZXJyIGFuZCB0aGUKLSAgICAgICAgIyBidWlsZGJv
dCBwcmludGVyIG91dDsgdGhpcyBjb3JyZXNwb25kcyB0byBob3cgdGhpbmdzIHJ1biBvbiB0aGUK
LSAgICAgICAgIyBib3RzIHdpdGggc3RkZXJyIGFuZCBzdGRvdXQuCi0gICAgICAgIHByaW50ZXIs
IGVyciwgb3V0ID0gc2VsZi5nZXRfcHJpbnRlcigpCi0KLSAgICAgICAgIyBUaGlzIHJvdXRpbmUg
c2hvdWxkIHByaW50IHNvbWV0aGluZyB0byBzdGRvdXQuIHRlc3Rpbmcgd2hhdCBpdCBpcwotICAg
ICAgICAjIGlzIGtpbmQgb2YgcG9pbnRsZXNzLgotICAgICAgICBwcmludGVyLmhlbHBfcHJpbnRp
bmcoKQotICAgICAgICBzZWxmLmFzc2VydE5vdEVtcHR5KGVycikKLSAgICAgICAgc2VsZi5hc3Nl
cnRFbXB0eShvdXQpCi0KLSAgICBkZWYgZG9fc3dpdGNoX3Rlc3RzKHNlbGYsIG1ldGhvZF9uYW1l
LCBzd2l0Y2gsIHRvX2J1aWxkYm90LAotICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT0n
aGVsbG8nLCBleHBfZXJyPU5vbmUsIGV4cF9ib3Q9Tm9uZSk6Ci0gICAgICAgIGRlZiBkb19oZWxw
ZXIobWV0aG9kX25hbWUsIHN3aXRjaCwgbWVzc2FnZSwgZXhwX2VyciwgZXhwX2JvdCk6Ci0gICAg
ICAgICAgICBwcmludGVyLCBlcnIsIGJvdCA9IHNlbGYuZ2V0X3ByaW50ZXIoWyctLXByaW50Jywg
c3dpdGNoXSwgdHR5PVRydWUpCi0gICAgICAgICAgICBnZXRhdHRyKHByaW50ZXIsIG1ldGhvZF9u
YW1lKShtZXNzYWdlKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIuYnVmbGlzdCwg
ZXhwX2VycikKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYm90LmJ1Zmxpc3QsIGV4cF9i
b3QpCi0KLSAgICAgICAgaWYgdG9fYnVpbGRib3Q6Ci0gICAgICAgICAgICBpZiBleHBfZXJyIGlz
IE5vbmU6Ci0gICAgICAgICAgICAgICAgZXhwX2VyciA9IFtdCi0gICAgICAgICAgICBpZiBleHBf
Ym90IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgZXhwX2JvdCA9IFttZXNzYWdlICsgIlxuIl0K
LSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGlmIGV4cF9lcnIgaXMgTm9uZToKLSAgICAgICAg
ICAgICAgICBleHBfZXJyID0gW21lc3NhZ2UgKyAiXG4iXQotICAgICAgICAgICAgaWYgZXhwX2Jv
dCBpcyBOb25lOgotICAgICAgICAgICAgICAgIGV4cF9ib3QgPSBbXQotICAgICAgICBkb19oZWxw
ZXIobWV0aG9kX25hbWUsICdub3RoaW5nJywgJ2hlbGxvJywgW10sIFtdKQotICAgICAgICBkb19o
ZWxwZXIobWV0aG9kX25hbWUsIHN3aXRjaCwgJ2hlbGxvJywgZXhwX2VyciwgZXhwX2JvdCkKLSAg
ICAgICAgZG9faGVscGVyKG1ldGhvZF9uYW1lLCAnZXZlcnl0aGluZycsICdoZWxsbycsIGV4cF9l
cnIsIGV4cF9ib3QpCi0KICAgICBkZWYgdGVzdF9jb25maWd1cmVfYW5kX2NsZWFudXAoc2VsZik6
CiAgICAgICAgICMgVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgY2FsbGluZyBjbGVhbnVwIHJlcGVh
dGVkbHkgYW5kIGRlbGV0aW5nCiAgICAgICAgICMgdGhlIG9iamVjdCBpcyBzYWZlLgotICAgICAg
ICBwcmludGVyLCBlcnIsIG91dCA9IHNlbGYuZ2V0X3ByaW50ZXIoWyctLXByaW50JywgJ2V2ZXJ5
dGhpbmcnXSkKKyAgICAgICAgcHJpbnRlciwgZXJyLCBvdXQgPSBzZWxmLmdldF9wcmludGVyKCkK
ICAgICAgICAgcHJpbnRlci5jbGVhbnVwKCkKICAgICAgICAgcHJpbnRlci5jbGVhbnVwKCkKICAg
ICAgICAgcHJpbnRlciA9IE5vbmUKIAotICAgIGRlZiB0ZXN0X3ByaW50X2FjdHVhbChzZWxmKToK
LSAgICAgICAgIyBBY3R1YWwgcmVzdWx0cyBuZWVkIHRvIGJlIGxvZ2dlZCB0byB0aGUgYnVpbGRi
b3QncyBzdHJlYW0uCi0gICAgICAgIHNlbGYuZG9fc3dpdGNoX3Rlc3RzKCdwcmludF9hY3R1YWwn
LCAnYWN0dWFsJywgdG9fYnVpbGRib3Q9VHJ1ZSkKLQotICAgIGRlZiB0ZXN0X3ByaW50X2FjdHVh
bF9idWlsZGJvdChzZWxmKToKLSAgICAgICAgIyBGSVhNRTogVGVzdCB0aGF0IHRoZSBmb3JtYXQg
b2YgdGhlIGFjdHVhbCByZXN1bHRzIG1hdGNoZXMgd2hhdCB0aGUKLSAgICAgICAgIyBidWlsZGJv
dCBpcyBleHBlY3RpbmcuCi0gICAgICAgIHBhc3MKLQotICAgIGRlZiB0ZXN0X2ZhbGxiYWNrX3Bh
dGhfaW5fY29uZmlnKHNlbGYpOgotICAgICAgICBwcmludGVyLCBlcnIsIG91dCA9IHNlbGYuZ2V0
X3ByaW50ZXIoWyctLXByaW50JywgJ2V2ZXJ5dGhpbmcnXSkKKyAgICBkZWYgdGVzdF9wcmludF9j
b25maWcoc2VsZik6CisgICAgICAgIHByaW50ZXIsIGVyciwgb3V0ID0gc2VsZi5nZXRfcHJpbnRl
cigpCiAgICAgICAgICMgRklYTUU6IGl0J3MgbGFtZSB0aGF0IGkgaGF2ZSB0byBzZXQgdGhlc2Ug
b3B0aW9ucyBkaXJlY3RseS4KICAgICAgICAgcHJpbnRlci5fb3B0aW9ucy5yZXN1bHRzX2RpcmVj
dG9yeSA9ICcvdG1wJwogICAgICAgICBwcmludGVyLl9vcHRpb25zLnBpeGVsX3Rlc3RzID0gVHJ1
ZQpAQCAtMTk1LDIwMSArMTIyLDI3IEBAIGNsYXNzICBUZXN0cHJpbnRlcih1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgICAgIHByaW50ZXIucHJpbnRfY29uZmlnKCkKICAgICAgICAgc2VsZi5hc3Nl
cnRUcnVlKCdCYXNlbGluZSBzZWFyY2ggcGF0aDogdGVzdC1tYWMtbGVvcGFyZCAtPiB0ZXN0LW1h
Yy1zbm93bGVvcGFyZCAtPiBnZW5lcmljJyBpbiBlcnIuZ2V0dmFsdWUoKSkKIAotICAgIGRlZiB0
ZXN0X3ByaW50X2NvbmZpZyhzZWxmKToKLSAgICAgICAgc2VsZi5kb19zd2l0Y2hfdGVzdHMoJ19w
cmludF9jb25maWcnLCAnY29uZmlnJywgdG9fYnVpbGRib3Q9RmFsc2UpCi0KLSAgICBkZWYgdGVz
dF9wcmludF9leHBlY3RlZChzZWxmKToKLSAgICAgICAgc2VsZi5kb19zd2l0Y2hfdGVzdHMoJ19w
cmludF9leHBlY3RlZCcsICdleHBlY3RlZCcsIHRvX2J1aWxkYm90PUZhbHNlKQotCi0gICAgZGVm
IHRlc3RfcHJpbnRfdGltaW5nKHNlbGYpOgotICAgICAgICBzZWxmLmRvX3N3aXRjaF90ZXN0cygn
cHJpbnRfdGltaW5nJywgJ3RpbWluZycsIHRvX2J1aWxkYm90PUZhbHNlKQotCi0gICAgZGVmIHRl
c3Rfd3JpdGVfdXBkYXRlKHNlbGYpOgotICAgICAgICAjIE5vdGUgdGhhdCB0aGVyZSBzaG91bGRu
J3QgYmUgYSBjYXJyaWFnZSByZXR1cm4gaGVyZTsgdXBkYXRlcygpCi0gICAgICAgICMgYXJlIG1l
YW50IHRvIGJlIG92ZXJ3cml0dGVuLgotICAgICAgICBzZWxmLmRvX3N3aXRjaF90ZXN0cygnd3Jp
dGVfdXBkYXRlJywgJ3VwZGF0ZXMnLCB0b19idWlsZGJvdD1GYWxzZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbWVzc2FnZT0naGVsbG8nLCBleHBfZXJyPVsnaGVsbG8nXSkKLQogICAg
IGRlZiB0ZXN0X3ByaW50X29uZV9saW5lX3N1bW1hcnkoc2VsZik6Ci0gICAgICAgIHByaW50ZXIs
IGVyciwgb3V0ID0gc2VsZi5nZXRfcHJpbnRlcihbJy0tcHJpbnQnLCAnbm90aGluZyddKQotICAg
ICAgICBwcmludGVyLnByaW50X29uZV9saW5lX3N1bW1hcnkoMSwgMSwgMCkKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFbXB0eShlcnIpCi0KLSAgICAgICAgcHJpbnRlciwgZXJyLCBvdXQgPSBzZWxmLmdl
dF9wcmludGVyKFsnLS1wcmludCcsICdvbmUtbGluZS1zdW1tYXJ5J10pCisgICAgICAgIHByaW50
ZXIsIGVyciwgb3V0ID0gc2VsZi5nZXRfcHJpbnRlcigpCiAgICAgICAgIHByaW50ZXIucHJpbnRf
b25lX2xpbmVfc3VtbWFyeSgxLCAxLCAwKQogICAgICAgICBzZWxmLmFzc2VydFdyaXR0ZW4oZXJy
LCBbIlRoZSB0ZXN0IHJhbiBhcyBleHBlY3RlZC5cbiIsICJcbiJdKQogCi0gICAgICAgIHByaW50
ZXIsIGVyciwgb3V0ID0gc2VsZi5nZXRfcHJpbnRlcihbJy0tcHJpbnQnLCAnZXZlcnl0aGluZydd
KQorICAgICAgICBwcmludGVyLCBlcnIsIG91dCA9IHNlbGYuZ2V0X3ByaW50ZXIoKQogICAgICAg
ICBwcmludGVyLnByaW50X29uZV9saW5lX3N1bW1hcnkoMSwgMSwgMCkKICAgICAgICAgc2VsZi5h
c3NlcnRXcml0dGVuKGVyciwgWyJUaGUgdGVzdCByYW4gYXMgZXhwZWN0ZWQuXG4iLCAiXG4iXSkK
IAotICAgICAgICBwcmludGVyLCBlcnIsIG91dCA9IHNlbGYuZ2V0X3ByaW50ZXIoWyctLXByaW50
JywgJ2V2ZXJ5dGhpbmcnXSkKKyAgICAgICAgcHJpbnRlciwgZXJyLCBvdXQgPSBzZWxmLmdldF9w
cmludGVyKCkKICAgICAgICAgcHJpbnRlci5wcmludF9vbmVfbGluZV9zdW1tYXJ5KDIsIDEsIDEp
CiAgICAgICAgIHNlbGYuYXNzZXJ0V3JpdHRlbihlcnIsIFsiMSB0ZXN0IHJhbiBhcyBleHBlY3Rl
ZCwgMSBkaWRuJ3Q6XG4iLCAiXG4iXSkKIAotICAgICAgICBwcmludGVyLCBlcnIsIG91dCA9IHNl
bGYuZ2V0X3ByaW50ZXIoWyctLXByaW50JywgJ2V2ZXJ5dGhpbmcnXSkKKyAgICAgICAgcHJpbnRl
ciwgZXJyLCBvdXQgPSBzZWxmLmdldF9wcmludGVyKCkKICAgICAgICAgcHJpbnRlci5wcmludF9v
bmVfbGluZV9zdW1tYXJ5KDMsIDIsIDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0V3JpdHRlbihlcnIs
IFsiMiB0ZXN0cyByYW4gYXMgZXhwZWN0ZWQsIDEgZGlkbid0OlxuIiwgIlxuIl0pCiAKLSAgICAg
ICAgcHJpbnRlciwgZXJyLCBvdXQgPSBzZWxmLmdldF9wcmludGVyKFsnLS1wcmludCcsICdldmVy
eXRoaW5nJ10pCisgICAgICAgIHByaW50ZXIsIGVyciwgb3V0ID0gc2VsZi5nZXRfcHJpbnRlcigp
CiAgICAgICAgIHByaW50ZXIucHJpbnRfb25lX2xpbmVfc3VtbWFyeSgzLCAyLCAwKQogICAgICAg
ICBzZWxmLmFzc2VydFdyaXR0ZW4oZXJyLCBbJ1xuJywgIjIgdGVzdHMgcmFuIGFzIGV4cGVjdGVk
ICgxIGRpZG4ndCBydW4pLlxuIiwgJ1xuJ10pCiAKLQotICAgIGRlZiB0ZXN0X3ByaW50X3Rlc3Rf
cmVzdWx0KHNlbGYpOgotICAgICAgICAjIE5vdGUgaGVyZSB0aGF0IHdlIGRvbid0IHVzZSBtZWFu
aW5nZnVsIGV4cF9zdHIgYW5kIGdvdF9zdHIgdmFsdWVzOwotICAgICAgICAjIHRoZSBhY3R1YWwg
Y29udGVudHMgb2YgdGhlIHN0cmluZyBhcmUgdHJlYXRlZCBvcGFxdWVseSBieQotICAgICAgICAj
IHByaW50X3Rlc3RfcmVzdWx0KCkgd2hlbiB0cmFjaW5nLCBhbmQgdXN1YWxseSB3ZSBkb24ndCB3
YW50Ci0gICAgICAgICMgdG8gdGVzdCB3aGF0IGV4YWN0bHkgaXMgcHJpbnRlZCwganVzdCB0aGF0
IHNvbWV0aGluZwotICAgICAgICAjIHdhcyBwcmludGVkIChvciB0aGF0IG5vdGhpbmcgd2FzIHBy
aW50ZWQpLgotICAgICAgICAjCi0gICAgICAgICMgRklYTUU6IHRoaXMgaXMgYWN0dWFsbHkgc29t
ZSBnb29meSBsYXllcmluZzsgaXQgd291bGQgYmUgbmljZQotICAgICAgICAjIHdlIGNvdWxkIHJl
ZmFjdG9yIGl0IHNvIHRoYXQgdGhlIGFyZ3Mgd2VyZW4ndCByZWR1bmRhbnQuIE1heWJlCi0gICAg
ICAgICMgdGhlIFRlc3RSZXN1bHQgc2hvdWxkIGNvbnRhaW4gd2hhdCB3YXMgZXhwZWN0ZWQsIGFu
ZCB0aGUKLSAgICAgICAgIyBzdHJpbmdzIGNvdWxkIGJlIGRlcml2ZWQgZnJvbSB0aGUgVGVzdFJl
c3VsdD8KLSAgICAgICAgcHJpbnRlciwgZXJyLCBvdXQgPSBzZWxmLmdldF9wcmludGVyKFsnLS1w
cmludCcsICdub3RoaW5nJ10pCi0gICAgICAgIHJlc3VsdCA9IHNlbGYuZ2V0X3Jlc3VsdCgncGFz
c2VzL2ltYWdlLmh0bWwnKQotICAgICAgICBwcmludGVyLnByaW50X3Rlc3RfcmVzdWx0KHJlc3Vs
dCwgZXhwZWN0ZWQ9RmFsc2UsIGV4cF9zdHI9JycsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ290X3N0cj0nJykKLSAgICAgICAgc2VsZi5hc3NlcnRFbXB0eShlcnIpCi0KLSAg
ICAgICAgcHJpbnRlciwgZXJyLCBvdXQgPSBzZWxmLmdldF9wcmludGVyKFsnLS1wcmludCcsICd1
bmV4cGVjdGVkJ10pCi0gICAgICAgIHByaW50ZXIucHJpbnRfdGVzdF9yZXN1bHQocmVzdWx0LCBl
eHBlY3RlZD1UcnVlLCBleHBfc3RyPScnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdvdF9zdHI9JycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RW1wdHkoZXJyKQotICAgICAgICBw
cmludGVyLnByaW50X3Rlc3RfcmVzdWx0KHJlc3VsdCwgZXhwZWN0ZWQ9RmFsc2UsIGV4cF9zdHI9
JycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290X3N0cj0nJykKLSAgICAg
ICAgc2VsZi5hc3NlcnRXcml0dGVuKGVyciwgWycgIHBhc3Nlcy9pbWFnZS5odG1sIC0+IHVuZXhw
ZWN0ZWQgcGFzc1xuJ10pCi0KLSAgICAgICAgcHJpbnRlciwgZXJyLCBvdXQgPSBzZWxmLmdldF9w
cmludGVyKFsnLS1wcmludCcsICdldmVyeXRoaW5nJ10pCi0gICAgICAgIHByaW50ZXIucHJpbnRf
dGVzdF9yZXN1bHQocmVzdWx0LCBleHBlY3RlZD1UcnVlLCBleHBfc3RyPScnLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdvdF9zdHI9JycpCi0gICAgICAgIHNlbGYuYXNzZXJ0
RW1wdHkoZXJyKQotCi0gICAgICAgIHByaW50ZXIucHJpbnRfdGVzdF9yZXN1bHQocmVzdWx0LCBl
eHBlY3RlZD1GYWxzZSwgZXhwX3N0cj0nJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnb3Rfc3RyPScnKQotICAgICAgICBzZWxmLmFzc2VydFdyaXR0ZW4oZXJyLCBbJyAgcGFz
c2VzL2ltYWdlLmh0bWwgLT4gdW5leHBlY3RlZCBwYXNzXG4nXSkKLQotICAgICAgICBwcmludGVy
LCBlcnIsIG91dCA9IHNlbGYuZ2V0X3ByaW50ZXIoWyctLXByaW50JywgJ25vdGhpbmcnXSkKLSAg
ICAgICAgcHJpbnRlci5wcmludF90ZXN0X3Jlc3VsdChyZXN1bHQsIGV4cGVjdGVkPUZhbHNlLCBl
eHBfc3RyPScnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdF9zdHI9Jycp
Ci0gICAgICAgIHNlbGYuYXNzZXJ0RW1wdHkoZXJyKQotCi0gICAgICAgIHByaW50ZXIsIGVyciwg
b3V0ID0gc2VsZi5nZXRfcHJpbnRlcihbJy0tcHJpbnQnLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFjZS11bmV4cGVjdGVkJ10pCi0gICAgICAgIHBy
aW50ZXIucHJpbnRfdGVzdF9yZXN1bHQocmVzdWx0LCBleHBlY3RlZD1UcnVlLCBleHBfc3RyPScn
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdF9zdHI9JycpCi0gICAgICAg
IHNlbGYuYXNzZXJ0RW1wdHkoZXJyKQotCi0gICAgICAgIHByaW50ZXIsIGVyciwgb3V0ID0gc2Vs
Zi5nZXRfcHJpbnRlcihbJy0tcHJpbnQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICd0cmFjZS11bmV4cGVjdGVkJ10pCi0gICAgICAgIHByaW50ZXIucHJp
bnRfdGVzdF9yZXN1bHQocmVzdWx0LCBleHBlY3RlZD1GYWxzZSwgZXhwX3N0cj0nJywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3Rfc3RyPScnKQotICAgICAgICBzZWxmLmFz
c2VydE5vdEVtcHR5KGVycikKLQotICAgICAgICBwcmludGVyLCBlcnIsIG91dCA9IHNlbGYuZ2V0
X3ByaW50ZXIoWyctLXByaW50JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAndHJhY2UtdW5leHBlY3RlZCddKQotICAgICAgICByZXN1bHQgPSBzZWxmLmdl
dF9yZXN1bHQoInBhc3Nlcy90ZXh0Lmh0bWwiKQotICAgICAgICBwcmludGVyLnByaW50X3Rlc3Rf
cmVzdWx0KHJlc3VsdCwgZXhwZWN0ZWQ9RmFsc2UsIGV4cF9zdHI9JycsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ290X3N0cj0nJykKLSAgICAgICAgc2VsZi5hc3NlcnROb3RF
bXB0eShlcnIpCi0KLSAgICAgICAgcHJpbnRlciwgZXJyLCBvdXQgPSBzZWxmLmdldF9wcmludGVy
KFsnLS1wcmludCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ3RyYWNlLXVuZXhwZWN0ZWQnXSkKLSAgICAgICAgcmVzdWx0ID0gc2VsZi5nZXRfcmVzdWx0
KCJwYXNzZXMvdGV4dC5odG1sIikKLSAgICAgICAgcHJpbnRlci5wcmludF90ZXN0X3Jlc3VsdChy
ZXN1bHQsIGV4cGVjdGVkPUZhbHNlLCBleHBfc3RyPScnLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGdvdF9zdHI9JycpCi0gICAgICAgIHNlbGYuYXNzZXJ0Tm90RW1wdHkoZXJy
KQotCi0gICAgICAgIHByaW50ZXIsIGVyciwgb3V0ID0gc2VsZi5nZXRfcHJpbnRlcihbJy0tcHJp
bnQnLCAndHJhY2UtZXZlcnl0aGluZyddKQotICAgICAgICByZXN1bHQgPSBzZWxmLmdldF9yZXN1
bHQoJ3Bhc3Nlcy9pbWFnZS5odG1sJykKLSAgICAgICAgcHJpbnRlci5wcmludF90ZXN0X3Jlc3Vs
dChyZXN1bHQsIGV4cGVjdGVkPVRydWUsIGV4cF9zdHI9JycsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ290X3N0cj0nJykKLSAgICAgICAgcmVzdWx0ID0gc2VsZi5nZXRfcmVz
dWx0KCdmYWlsdXJlcy9leHBlY3RlZC9taXNzaW5nX3RleHQuaHRtbCcpCi0gICAgICAgIHByaW50
ZXIucHJpbnRfdGVzdF9yZXN1bHQocmVzdWx0LCBleHBlY3RlZD1UcnVlLCBleHBfc3RyPScnLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdF9zdHI9JycpCi0gICAgICAgIHJl
c3VsdCA9IHNlbGYuZ2V0X3Jlc3VsdCgnZmFpbHVyZXMvZXhwZWN0ZWQvbWlzc2luZ19jaGVjay5o
dG1sJykKLSAgICAgICAgcHJpbnRlci5wcmludF90ZXN0X3Jlc3VsdChyZXN1bHQsIGV4cGVjdGVk
PVRydWUsIGV4cF9zdHI9JycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290
X3N0cj0nJykKLSAgICAgICAgcmVzdWx0ID0gc2VsZi5nZXRfcmVzdWx0KCdmYWlsdXJlcy9leHBl
Y3RlZC9taXNzaW5nX2ltYWdlLmh0bWwnKQotICAgICAgICBwcmludGVyLnByaW50X3Rlc3RfcmVz
dWx0KHJlc3VsdCwgZXhwZWN0ZWQ9VHJ1ZSwgZXhwX3N0cj0nJywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBnb3Rfc3RyPScnKQotICAgICAgICBzZWxmLmFzc2VydE5vdEVtcHR5
KGVycikKLQotICAgICAgICBwcmludGVyLCBlcnIsIG91dCA9IHNlbGYuZ2V0X3ByaW50ZXIoWyct
LXByaW50JywgJ3RyYWNlLWV2ZXJ5dGhpbmcnXSkKLSAgICAgICAgcmVzdWx0ID0gc2VsZi5nZXRf
cmVzdWx0KCdwYXNzZXMvaW1hZ2UuaHRtbCcpCi0gICAgICAgIHByaW50ZXIucHJpbnRfdGVzdF9y
ZXN1bHQocmVzdWx0LCBleHBlY3RlZD1GYWxzZSwgZXhwX3N0cj0nJywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBnb3Rfc3RyPScnKQotCi0gICAgZGVmIHRlc3RfcHJpbnRfcHJv
Z3Jlc3Moc2VsZik6Ci0gICAgICAgIGV4cGVjdGF0aW9ucyA9ICcnCi0KLSAgICAgICAgcHJpbnRl
ciwgZXJyLCBvdXQgPSBzZWxmLmdldF9wcmludGVyKFsnLS1wcmludCcsICdub3RoaW5nJ10pCi0g
ICAgICAgIHRlc3RzID0gWydwYXNzZXMvdGV4dC5odG1sJywgJ2ZhaWx1cmVzL2V4cGVjdGVkL3Rp
bWVvdXQuaHRtbCcsCi0gICAgICAgICAgICAgICAgICdmYWlsdXJlcy9leHBlY3RlZC9jcmFzaC5o
dG1sJ10KLSAgICAgICAgcGF0aHMsIHJzLCBleHAgPSBzZWxmLmdldF9yZXN1bHRfc3VtbWFyeSh0
ZXN0cywgZXhwZWN0YXRpb25zKQotCi0gICAgICAgICMgRmlyc3QsIHRlc3QgdGhhdCB3ZSBwcmlu
dCBub3RoaW5nIHdoZW4gd2Ugc2hvdWxkbid0IHByaW50IGFueXRoaW5nLgotICAgICAgICBwcmlu
dGVyLnByaW50X3Byb2dyZXNzKHJzLCBGYWxzZSwgcGF0aHMpCi0gICAgICAgIHNlbGYuYXNzZXJ0
RW1wdHkob3V0KQotICAgICAgICBzZWxmLmFzc2VydEVtcHR5KGVycikKLQotICAgICAgICBwcmlu
dGVyLnByaW50X3Byb2dyZXNzKHJzLCBUcnVlLCBwYXRocykKLSAgICAgICAgc2VsZi5hc3NlcnRF
bXB0eShvdXQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RW1wdHkoZXJyKQotCi0gICAgICAgICMgTm93
IHRlc3QgdGhhdCB3ZSBkbyBwcmludCB0aGluZ3MuCi0gICAgICAgIHByaW50ZXIsIGVyciwgb3V0
ID0gc2VsZi5nZXRfcHJpbnRlcihbJy0tcHJpbnQnLCAnb25lLWxpbmUtcHJvZ3Jlc3MnXSkKLSAg
ICAgICAgcHJpbnRlci5wcmludF9wcm9ncmVzcyhycywgRmFsc2UsIHBhdGhzKQotICAgICAgICBz
ZWxmLmFzc2VydEVtcHR5KG91dCkKLSAgICAgICAgc2VsZi5hc3NlcnROb3RFbXB0eShlcnIpCi0K
LSAgICAgICAgcHJpbnRlciwgZXJyLCBvdXQgPSBzZWxmLmdldF9wcmludGVyKFsnLS1wcmludCcs
ICdvbmUtbGluZS1wcm9ncmVzcyddKQotICAgICAgICBwcmludGVyLnByaW50X3Byb2dyZXNzKHJz
LCBUcnVlLCBwYXRocykKLSAgICAgICAgc2VsZi5hc3NlcnRFbXB0eShvdXQpCi0gICAgICAgIHNl
bGYuYXNzZXJ0Tm90RW1wdHkoZXJyKQotCi0gICAgICAgIHByaW50ZXIsIGVyciwgb3V0ID0gc2Vs
Zi5nZXRfcHJpbnRlcihbJy0tcHJpbnQnLCAnb25lLWxpbmUtcHJvZ3Jlc3MnXSkKLSAgICAgICAg
cnMucmVtYWluaW5nID0gMAotICAgICAgICBwcmludGVyLnByaW50X3Byb2dyZXNzKHJzLCBGYWxz
ZSwgcGF0aHMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RW1wdHkob3V0KQotICAgICAgICBzZWxmLmFz
c2VydE5vdEVtcHR5KGVycikKLQotICAgICAgICBwcmludGVyLnByaW50X3Byb2dyZXNzKHJzLCBU
cnVlLCBwYXRocykKLSAgICAgICAgc2VsZi5hc3NlcnRFbXB0eShvdXQpCi0gICAgICAgIHNlbGYu
YXNzZXJ0Tm90RW1wdHkoZXJyKQotCi0KLQotICAgIGRlZiB0ZXN0X3dyaXRlX25vdGhpbmcoc2Vs
Zik6Ci0gICAgICAgIHByaW50ZXIsIGVyciwgb3V0ID0gc2VsZi5nZXRfcHJpbnRlcihbJy0tcHJp
bnQnLCAnbm90aGluZyddKQotICAgICAgICBwcmludGVyLndyaXRlKCJmb28iKQotICAgICAgICBz
ZWxmLmFzc2VydEVtcHR5KGVycikKLQotICAgIGRlZiB0ZXN0X3dyaXRlX21pc2Moc2VsZik6Ci0g
ICAgICAgIHByaW50ZXIsIGVyciwgb3V0ID0gc2VsZi5nZXRfcHJpbnRlcihbJy0tcHJpbnQnLCAn
bWlzYyddKQotICAgICAgICBwcmludGVyLndyaXRlKCJmb28iKQotICAgICAgICBzZWxmLmFzc2Vy
dE5vdEVtcHR5KGVycikKLQotICAgICAgICBwcmludGVyLCBlcnIsIG91dCA9IHNlbGYuZ2V0X3By
aW50ZXIoWyctLXByaW50JywgJ21pc2MnXSkKLSAgICAgICAgcHJpbnRlci53cml0ZSgiZm9vIiwg
ImNvbmZpZyIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RW1wdHkoZXJyKQotCi0gICAgZGVmIHRlc3Rf
d3JpdGVfZXZlcnl0aGluZyhzZWxmKToKLSAgICAgICAgcHJpbnRlciwgZXJyLCBvdXQgPSBzZWxm
LmdldF9wcmludGVyKFsnLS1wcmludCcsICdldmVyeXRoaW5nJ10pCi0gICAgICAgIHByaW50ZXIu
d3JpdGUoImZvbyIpCi0gICAgICAgIHNlbGYuYXNzZXJ0Tm90RW1wdHkoZXJyKQotCi0gICAgICAg
IHByaW50ZXIsIGVyciwgb3V0ID0gc2VsZi5nZXRfcHJpbnRlcihbJy0tcHJpbnQnLCAnZXZlcnl0
aGluZyddKQotICAgICAgICBwcmludGVyLndyaXRlKCJmb28iLCAiY29uZmlnIikKLSAgICAgICAg
c2VsZi5hc3NlcnROb3RFbXB0eShlcnIpCi0KLSAgICBkZWYgdGVzdF93cml0ZV92ZXJib3NlKHNl
bGYpOgotICAgICAgICBwcmludGVyLCBlcnIsIG91dCA9IHNlbGYuZ2V0X3ByaW50ZXIoWyctLXZl
cmJvc2UnXSkKLSAgICAgICAgcHJpbnRlci53cml0ZSgiZm9vIikKLSAgICAgICAgc2VsZi5hc3Nl
cnRUcnVlKCJmb28iIGluIGVyci5idWZsaXN0WzBdKQotICAgICAgICBzZWxmLmFzc2VydEVtcHR5
KG91dCkKLQogICAgIGRlZiB0ZXN0X3ByaW50X3VuZXhwZWN0ZWRfcmVzdWx0cyhzZWxmKToKICAg
ICAgICAgIyBUaGlzIHJvdXRpbmUgaXMgdGhlIG9ubHkgb25lIHRoYXQgcHJpbnRzIHN0dWZmIHRo
YXQgdGhlIGJvdHMKICAgICAgICAgIyBjYXJlIGFib3V0LgpAQCAtNDQyLDEzICsxOTUsNyBAQCBj
bGFzcyAgVGVzdHByaW50ZXIodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICB0ZXN0cyA9IFsn
cGFzc2VzL3RleHQuaHRtbCcsICdmYWlsdXJlcy9leHBlY3RlZC90aW1lb3V0Lmh0bWwnLCAnZmFp
bHVyZXMvZXhwZWN0ZWQvY3Jhc2guaHRtbCddCiAgICAgICAgIGV4cGVjdGF0aW9ucyA9ICcnCiAK
LSAgICAgICAgcHJpbnRlciwgZXJyLCBvdXQgPSBzZWxmLmdldF9wcmludGVyKFsnLS1wcmludCcs
ICdub3RoaW5nJ10pCi0gICAgICAgIHVyID0gZ2V0X3VuZXhwZWN0ZWRfcmVzdWx0cyhleHBlY3Rl
ZD1GYWxzZSwgcGFzc2luZz1GYWxzZSwgZmxha3k9RmFsc2UpCi0gICAgICAgIHByaW50ZXIucHJp
bnRfdW5leHBlY3RlZF9yZXN1bHRzKHVyKQotICAgICAgICBzZWxmLmFzc2VydEVtcHR5KGVycikK
LSAgICAgICAgc2VsZi5hc3NlcnRFbXB0eShvdXQpCi0KLSAgICAgICAgcHJpbnRlciwgZXJyLCBv
dXQgPSBzZWxmLmdldF9wcmludGVyKFsnLS1wcmludCcsICd1bmV4cGVjdGVkLXJlc3VsdHMnXSkK
KyAgICAgICAgcHJpbnRlciwgZXJyLCBvdXQgPSBzZWxmLmdldF9wcmludGVyKCkKIAogICAgICAg
ICAjIHRlc3QgZXZlcnl0aGluZyBydW5uaW5nIGFzIGV4cGVjdGVkCiAgICAgICAgIHVyID0gZ2V0
X3VuZXhwZWN0ZWRfcmVzdWx0cyhleHBlY3RlZD1UcnVlLCBwYXNzaW5nPUZhbHNlLCBmbGFreT1G
YWxzZSkKQEAgLTQ1NywyMCArMjA0LDIwIEBAIGNsYXNzICBUZXN0cHJpbnRlcih1bml0dGVzdC5U
ZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0RW1wdHkob3V0KQogCiAgICAgICAgICMgdGVz
dCBmYWlsdXJlcwotICAgICAgICBwcmludGVyLCBlcnIsIG91dCA9IHNlbGYuZ2V0X3ByaW50ZXIo
WyctLXByaW50JywgJ3VuZXhwZWN0ZWQtcmVzdWx0cyddKQorICAgICAgICBwcmludGVyLCBlcnIs
IG91dCA9IHNlbGYuZ2V0X3ByaW50ZXIoKQogICAgICAgICB1ciA9IGdldF91bmV4cGVjdGVkX3Jl
c3VsdHMoZXhwZWN0ZWQ9RmFsc2UsIHBhc3Npbmc9RmFsc2UsIGZsYWt5PUZhbHNlKQogICAgICAg
ICBwcmludGVyLnByaW50X3VuZXhwZWN0ZWRfcmVzdWx0cyh1cikKICAgICAgICAgc2VsZi5hc3Nl
cnRFbXB0eShlcnIpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RW1wdHkob3V0KQogCiAgICAgICAg
ICMgdGVzdCB1bmV4cGVjdGVkIGZsYWt5Ci0gICAgICAgIHByaW50ZXIsIGVyciwgb3V0ID0gc2Vs
Zi5nZXRfcHJpbnRlcihbJy0tcHJpbnQnLCAndW5leHBlY3RlZC1yZXN1bHRzJ10pCisgICAgICAg
IHByaW50ZXIsIGVyciwgb3V0ID0gc2VsZi5nZXRfcHJpbnRlcigpCiAgICAgICAgIHVyID0gZ2V0
X3VuZXhwZWN0ZWRfcmVzdWx0cyhleHBlY3RlZD1GYWxzZSwgcGFzc2luZz1GYWxzZSwgZmxha3k9
VHJ1ZSkKICAgICAgICAgcHJpbnRlci5wcmludF91bmV4cGVjdGVkX3Jlc3VsdHModXIpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RW1wdHkoZXJyKQogICAgICAgICBzZWxmLmFzc2VydE5vdEVtcHR5KG91
dCkKIAotICAgICAgICBwcmludGVyLCBlcnIsIG91dCA9IHNlbGYuZ2V0X3ByaW50ZXIoWyctLXBy
aW50JywgJ2V2ZXJ5dGhpbmcnXSkKKyAgICAgICAgcHJpbnRlciwgZXJyLCBvdXQgPSBzZWxmLmdl
dF9wcmludGVyKCkKICAgICAgICAgdXIgPSBnZXRfdW5leHBlY3RlZF9yZXN1bHRzKGV4cGVjdGVk
PUZhbHNlLCBwYXNzaW5nPUZhbHNlLCBmbGFreT1GYWxzZSkKICAgICAgICAgcHJpbnRlci5wcmlu
dF91bmV4cGVjdGVkX3Jlc3VsdHModXIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RW1wdHkoZXJyKQpA
QCAtNDgwLDMwICsyMjcsNTEgQEAgY2xhc3MgIFRlc3RwcmludGVyKHVuaXR0ZXN0LlRlc3RDYXNl
KToKIEJVR1ggOiBmYWlsdXJlcy9leHBlY3RlZC9jcmFzaC5odG1sID0gQ1JBU0gKIEJVR1ggOiBm
YWlsdXJlcy9leHBlY3RlZC90aW1lb3V0Lmh0bWwgPSBUSU1FT1VUCiAiIiIKLSAgICAgICAgcHJp
bnRlciwgZXJyLCBvdXQgPSBzZWxmLmdldF9wcmludGVyKFsnLS1wcmludCcsICd1bmV4cGVjdGVk
LXJlc3VsdHMnXSkKKyAgICAgICAgcHJpbnRlciwgZXJyLCBvdXQgPSBzZWxmLmdldF9wcmludGVy
KCkKICAgICAgICAgdXIgPSBnZXRfdW5leHBlY3RlZF9yZXN1bHRzKGV4cGVjdGVkPUZhbHNlLCBw
YXNzaW5nPUZhbHNlLCBmbGFreT1GYWxzZSkKICAgICAgICAgcHJpbnRlci5wcmludF91bmV4cGVj
dGVkX3Jlc3VsdHModXIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RW1wdHkoZXJyKQogICAgICAgICBz
ZWxmLmFzc2VydE5vdEVtcHR5KG91dCkKIAotICAgICAgICBwcmludGVyLCBlcnIsIG91dCA9IHNl
bGYuZ2V0X3ByaW50ZXIoWyctLXByaW50JywgJ3VuZXhwZWN0ZWQtcmVzdWx0cyddKQorICAgICAg
ICBwcmludGVyLCBlcnIsIG91dCA9IHNlbGYuZ2V0X3ByaW50ZXIoKQogICAgICAgICB1ciA9IGdl
dF91bmV4cGVjdGVkX3Jlc3VsdHMoZXhwZWN0ZWQ9RmFsc2UsIHBhc3Npbmc9VHJ1ZSwgZmxha3k9
RmFsc2UpCiAgICAgICAgIHByaW50ZXIucHJpbnRfdW5leHBlY3RlZF9yZXN1bHRzKHVyKQogICAg
ICAgICBzZWxmLmFzc2VydEVtcHR5KGVycikKICAgICAgICAgc2VsZi5hc3NlcnROb3RFbXB0eShv
dXQpCiAKLSAgICAgICAgIyBUZXN0IGhhbmRsaW5nIG9mIC0tdmVyYm9zZSBhcyB3ZWxsLgotICAg
ICAgICBwcmludGVyLCBlcnIsIG91dCA9IHNlbGYuZ2V0X3ByaW50ZXIoWyctLXZlcmJvc2UnXSkK
LSAgICAgICAgdXIgPSBnZXRfdW5leHBlY3RlZF9yZXN1bHRzKGV4cGVjdGVkPUZhbHNlLCBwYXNz
aW5nPUZhbHNlLCBmbGFreT1GYWxzZSkKLSAgICAgICAgcHJpbnRlci5wcmludF91bmV4cGVjdGVk
X3Jlc3VsdHModXIpCi0gICAgICAgICMgRklYTUU6IGRlYnVnIG91dHB1dCBmcm9tIHRoZSBwb3J0
IGFuZCBzY20gb2JqZWN0cyBtYXkgb3IgbWF5IG5vdCBnbwotICAgICAgICAjIHRvIHN0ZGVyciwg
c28gdGhlcmUncyBubyBwb2ludCBpbiB0ZXN0aW5nIGl0cyBjb250ZW50cyBoZXJlLgotICAgICAg
ICBzZWxmLmFzc2VydE5vdEVtcHR5KG91dCkKLQogICAgIGRlZiB0ZXN0X3ByaW50X3VuZXhwZWN0
ZWRfcmVzdWx0c19idWlsZGJvdChzZWxmKToKICAgICAgICAgIyBGSVhNRTogVGVzdCB0aGF0IHBy
aW50X3VuZXhwZWN0ZWRfcmVzdWx0cygpIHByb2R1Y2VzIHRoZSBwcmludGVyIHRoZQogICAgICAg
ICAjIGJ1aWxkYm90IGlzIGV4cGVjdGluZy4KICAgICAgICAgcGFzcwogCisgICAgZGVmIHRlc3Rf
ZGV0YWlscyhzZWxmKToKKyAgICAgICAgcHJpbnRlciwgZXJyLCBfID0gc2VsZi5nZXRfcHJpbnRl
cihbJy0tZGV0YWlscyddKQorICAgICAgICByZXN1bHQgPSBzZWxmLmdldF9yZXN1bHQoJ3Bhc3Nl
cy9pbWFnZS5odG1sJykKKyAgICAgICAgcHJpbnRlci5wcmludF90ZXN0X3Jlc3VsdChyZXN1bHQs
IGV4cGVjdGVkPUZhbHNlLCBleHBfc3RyPScnLCBnb3Rfc3RyPScnKQorICAgICAgICBzZWxmLmFz
c2VydE5vdEVtcHR5KGVycikKKworICAgIGRlZiB0ZXN0X2RlZmF1bHQoc2VsZik6CisgICAgICAg
IHByaW50ZXIsIGVyciwgXyA9IHNlbGYuZ2V0X3ByaW50ZXIoKQorICAgICAgICBwcmludGVyLnBy
aW50X3RpbWluZygiZm9vIikKKyAgICAgICAgc2VsZi5hc3NlcnRFbXB0eShlcnIpCisgICAgICAg
IHByaW50ZXIuX3ByaW50X2NvbmZpZygiZm9vIikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFbXB0
eShlcnIpCisKKyAgICBkZWYgdGVzdF9xdWlldChzZWxmKToKKyAgICAgICAgcHJpbnRlciwgZXJy
LCBfID0gc2VsZi5nZXRfcHJpbnRlcihbJy0tcXVpZXQnXSkKKyAgICAgICAgcHJpbnRlci5fcHJp
bnRfY29uZmlnKCJmb28iKQorICAgICAgICBwcmludGVyLnByaW50X3RpbWluZygiZm9vIikKKyAg
ICAgICAgc2VsZi5hc3NlcnRFbXB0eShlcnIpCisKKyAgICBkZWYgdGVzdF92ZXJib3NlKHNlbGYp
OgorICAgICAgICBwcmludGVyLCBlcnIsIF8gPSBzZWxmLmdldF9wcmludGVyKFsnLS12ZXJib3Nl
J10pCisgICAgICAgIHByaW50ZXIucHJpbnRfdGltaW5nKCJmb28iKQorICAgICAgICBzZWxmLmFz
c2VydE5vdEVtcHR5KGVycikKKworICAgICAgICBwcmludGVyLCBlcnIsIF8gPSBzZWxmLmdldF9w
cmludGVyKFsnLS12ZXJib3NlJ10pCisgICAgICAgIHByaW50ZXIuX3ByaW50X2NvbmZpZygiZm9v
IikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFbXB0eShlcnIpCisKKwogaWYgX19uYW1lX18gPT0g
J19fbWFpbl9fJzoKICAgICB1bml0dGVzdC5tYWluKCkK
</data>
<flag name="review"
          id="165772"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>