<?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>27653</bug_id>
          
          <creation_ts>2009-07-24 07:35:41 -0700</creation_ts>
          <short_desc>Filetype support changes for cpplint and check_webkit_style</short_desc>
          <delta_ts>2009-07-24 08:38:56 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jakob Petsovits">jpetsovits</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>manyoso</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>134549</commentid>
    <comment_count>0</comment_count>
    <who name="Jakob Petsovits">jpetsovits</who>
    <bug_when>2009-07-24 07:35:41 -0700</bug_when>
    <thetext>The patch below addresses two points that Adam Treat and Dave Levin raised in https://bugs.webkit.org/show_bug.cgi?id=27604 - removing .cc as supported filetype because it&apos;s not being used in WebKit, and adding .c as supported filetype to check_webkit_style (replacing .cc). I replaced all occurrences of .cc with .cpp. Unit tests still pass.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134551</commentid>
    <comment_count>1</comment_count>
      <attachid>33444</attachid>
    <who name="Jakob Petsovits">jpetsovits</who>
    <bug_when>2009-07-24 07:45:33 -0700</bug_when>
    <thetext>Created attachment 33444
Filetype support changes for cpplint and check_webkit_style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134569</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-07-24 08:38:56 -0700</bug_when>
    <thetext>Landed with r46355.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33444</attachid>
            <date>2009-07-24 07:45:33 -0700</date>
            <delta_ts>2009-07-24 07:52:15 -0700</delta_ts>
            <desc>Filetype support changes for cpplint and check_webkit_style</desc>
            <filename>0001-Filetype-support-changes-for-cpplint-and-check_webki.patch</filename>
            <type>text/plain</type>
            <size>31034</size>
            <attacher name="Jakob Petsovits">jpetsovits</attacher>
            
              <data encoding="base64">RnJvbSBkNzU2MjhkMWM4MjRlOTNiNGViYzRkMjhiOWI0NWRkOWVmMGYwY2U0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWtvYiBQZXRzb3ZpdHMgPGpha29iLnBldHNvdml0c0B0b3Jj
aG1vYmlsZS5jb20+CkRhdGU6IEZyaSwgMjQgSnVsIDIwMDkgMTA6NDI6NTggLTA0MDAKU3ViamVj
dDogW1BBVENIXSBGaWxldHlwZSBzdXBwb3J0IGNoYW5nZXMgZm9yIGNwcGxpbnQgYW5kIGNoZWNr
X3dlYmtpdF9zdHkKCi0tLQogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDE0ICsrKwogV2ViS2l0VG9vbHMvU2NyaXB0cy9jaGVjay13ZWJraXQtc3R5
bGUgICAgICAgICAgfCAgICA0ICstCiBXZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY3BwbGlu
dC5weSAgICAgICAgICB8ICAgNzggKysrKysrKy0tLS0tLS0KIFdlYktpdFRvb2xzL1NjcmlwdHMv
bW9kdWxlcy9jcHBsaW50X3VuaXR0ZXN0LnB5IHwgIDEyNCArKysrKysrKysrKy0tLS0tLS0tLS0t
CiA0IGZpbGVzIGNoYW5nZWQsIDExNyBpbnNlcnRpb25zKCspLCAxMDMgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CmluZGV4IGI2M2I0ZDMuLjM2ZjI2NDkgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0wNy0y
NCAgSmFrb2IgUGV0c292aXRzICA8amFrb2IucGV0c292aXRzQHRvcmNobW9iaWxlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaWxldHlwZSBz
dXBwb3J0IGNoYW5nZXMgZm9yIGNwcGxpbnQgYW5kIGNoZWNrX3dlYmtpdF9zdHlsZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjc2NTMKKworICAgICAg
ICBJbnRyb2R1Y2UgLmMgc3VwcG9ydCBmb3IgY2hlY2tfd2Via2l0X3N0eWxlLCBhbmQgcmVtb3Zl
IHN1cHBvcnQgZm9yCisgICAgICAgIC5jYyBmaWxlcyBpbiBmYXZvciBvZiAuY3BwLgorCisgICAg
ICAgICogU2NyaXB0cy9jaGVjay13ZWJraXQtc3R5bGU6CisgICAgICAgICogU2NyaXB0cy9tb2R1
bGVzL2NwcGxpbnQucHk6CisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL2NwcGxpbnRfdW5pdHRl
c3QucHk6CisKIDIwMDktMDctMjQgIEVsaSBGaWRsZXIgIDxlbGkuZmlkbGVyQHRvcmNobW9iaWxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1NjcmlwdHMvY2hlY2std2Via2l0LXN0eWxlIGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy9jaGVjay13ZWJraXQtc3R5bGUKaW5kZXggNzVmMWRkYy4uODE5YWMxYSAxMDA3NTUKLS0tIGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy9jaGVjay13ZWJraXQtc3R5bGUKKysrIGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy9jaGVjay13ZWJraXQtc3R5bGUKQEAgLTUzLDcgKzUzLDcgQEAgU3ludGF4OiAlKHBy
b2dyYW1fbmFtZSlzIFstLXZlcmJvc2U9I10gWy0tZ2l0LWNvbW1pdD08Q09NTUlUSVNIPl0gWy0t
b3V0cHV0PXZzN10KICAgVG8gcHJldmVudCBzcGVjaWZpYyBsaW5lcyBmcm9tIGJlaW5nIGxpbnRl
ZCwgYWRkIGEgJy8vIE5PTElOVCcgY29tbWVudCB0byB0aGUKICAgZW5kIG9mIHRoZSBsaW5lLgog
Ci0gIExpbnRlZCBleHRlbnNpb25zIGFyZSAuY2MsIC5jcHAsIGFuZCAuaC4gIE90aGVyIGZpbGUg
dHlwZXMgd2lsbCBiZSBpZ25vcmVkLgorICBMaW50ZWQgZXh0ZW5zaW9ucyBhcmUgLmNwcCwgLmMg
YW5kIC5oLiAgT3RoZXIgZmlsZSB0eXBlcyB3aWxsIGJlIGlnbm9yZWQuCiAKICAgRmxhZ3M6CiAK
QEAgLTk4LDcgKzk4LDcgQEAgZGVmIHByb2Nlc3NfcGF0Y2gocGF0Y2hfc3RyaW5nKToKICAgICBm
b3IgZmlsZW5hbWUsIGRpZmYgaW4gcGF0Y2guZmlsZXMuaXRlcml0ZW1zKCk6CiAgICAgICAgIGZp
bGVfZXh0ZW5zaW9uID0gb3MucGF0aC5zcGxpdGV4dChmaWxlbmFtZSlbMV0KIAotICAgICAgICBp
ZiBmaWxlX2V4dGVuc2lvbiBpbiBbJy5jYycsICcuY3BwJywgJy5oJ106CisgICAgICAgIGlmIGZp
bGVfZXh0ZW5zaW9uIGluIFsnLmNwcCcsICcuYycsICcuaCddOgogICAgICAgICAgICAgbGluZV9u
dW1iZXJzID0gc2V0KCkKIAogICAgICAgICAgICAgZGVmIGVycm9yX2Zvcl9wYXRjaChmaWxlbmFt
ZSwgbGluZV9udW1iZXIsIGNhdGVnb3J5LCBjb25maWRlbmNlLCBtZXNzYWdlKToKZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jcHBsaW50LnB5IGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy9tb2R1bGVzL2NwcGxpbnQucHkKaW5kZXggYjgyM2RlNC4uNTI5ODUwNiAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NwcGxpbnQucHkKKysrIGIvV2ViS2l0
VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NwcGxpbnQucHkKQEAgLTczLDcgKzczLDcgQEAgU3ludGF4
OiBjcHBsaW50LnB5IFstLXZlcmJvc2U9I10gWy0tb3V0cHV0PXZzN10gWy0tZmlsdGVyPS14LCt5
LC4uLl0KICAgZW5kIG9mIHRoZSBsaW5lLgogCiAgIFRoZSBmaWxlcyBwYXNzZWQgaW4gd2lsbCBi
ZSBsaW50ZWQ7IGF0IGxlYXN0IG9uZSBmaWxlIG11c3QgYmUgcHJvdmlkZWQuCi0gIExpbnRlZCBl
eHRlbnNpb25zIGFyZSAuY2MsIC5jcHAsIGFuZCAuaC4gIE90aGVyIGZpbGUgdHlwZXMgd2lsbCBi
ZSBpZ25vcmVkLgorICBMaW50ZWQgZXh0ZW5zaW9ucyBhcmUgLmNwcCwgLmMgYW5kIC5oLiAgT3Ro
ZXIgZmlsZSB0eXBlcyB3aWxsIGJlIGlnbm9yZWQuCiAKICAgRmxhZ3M6CiAKQEAgLTU3MCw4ICs1
NzAsOCBAQCBjbGFzcyBGaWxlSW5mbzoKICAgICBkZWYgc3BsaXQoc2VsZik6CiAgICAgICAgICIi
IlNwbGl0cyB0aGUgZmlsZSBpbnRvIHRoZSBkaXJlY3RvcnksIGJhc2VuYW1lLCBhbmQgZXh0ZW5z
aW9uLgogCi0gICAgICAgIEZvciAnY2hyb21lL2Jyb3dzZXIvYnJvd3Nlci5jYycsIFNwbGl0KCkg
d291bGQKLSAgICAgICAgcmV0dXJuICgnY2hyb21lL2Jyb3dzZXInLCAnYnJvd3NlcicsICcuY2Mn
KQorICAgICAgICBGb3IgJ2Nocm9tZS9icm93c2VyL2Jyb3dzZXIuY3BwJywgU3BsaXQoKSB3b3Vs
ZAorICAgICAgICByZXR1cm4gKCdjaHJvbWUvYnJvd3NlcicsICdicm93c2VyJywgJy5jcHAnKQog
CiAgICAgICAgIFJldHVybnM6CiAgICAgICAgICAgQSB0dXBsZSBvZiAoZGlyZWN0b3J5LCBiYXNl
bmFtZSwgZXh0ZW5zaW9uKS4KQEAgLTIxNzIsMTkgKzIxNzIsMTkgQEAgX1JFX1BBVFRFUk5fSU5D
TFVERV9ORVdfU1RZTEUgPSByZS5jb21waWxlKHInI2luY2x1ZGUgKyJbXi9dK1wuaCInKQogX1JF
X1BBVFRFUk5fSU5DTFVERSA9IHJlLmNvbXBpbGUocideXHMqI1xzKmluY2x1ZGVccyooWzwiXSko
W14+Il0qKVs+Il0uKiQnKQogIyBNYXRjaGVzIHRoZSBmaXJzdCBjb21wb25lbnQgb2YgYSBmaWxl
bmFtZSBkZWxpbWl0ZWQgYnkgLXMgYW5kIF9zLiBUaGF0IGlzOgogIyAgX1JFX0ZJUlNUX0NPTVBP
TkVOVC5tYXRjaCgnZm9vJykuZ3JvdXAoMCkgPT0gJ2ZvbycKLSMgIF9SRV9GSVJTVF9DT01QT05F
TlQubWF0Y2goJ2Zvby5jYycpLmdyb3VwKDApID09ICdmb28nCi0jICBfUkVfRklSU1RfQ09NUE9O
RU5ULm1hdGNoKCdmb28tYmFyX2Jhei5jYycpLmdyb3VwKDApID09ICdmb28nCi0jICBfUkVfRklS
U1RfQ09NUE9ORU5ULm1hdGNoKCdmb29fYmFyLWJhei5jYycpLmdyb3VwKDApID09ICdmb28nCisj
ICBfUkVfRklSU1RfQ09NUE9ORU5ULm1hdGNoKCdmb28uY3BwJykuZ3JvdXAoMCkgPT0gJ2ZvbycK
KyMgIF9SRV9GSVJTVF9DT01QT05FTlQubWF0Y2goJ2Zvby1iYXJfYmF6LmNwcCcpLmdyb3VwKDAp
ID09ICdmb28nCisjICBfUkVfRklSU1RfQ09NUE9ORU5ULm1hdGNoKCdmb29fYmFyLWJhei5jcHAn
KS5ncm91cCgwKSA9PSAnZm9vJwogX1JFX0ZJUlNUX0NPTVBPTkVOVCA9IHJlLmNvbXBpbGUocide
W14tXy5dKycpCiAKIAogZGVmIF9kcm9wX2NvbW1vbl9zdWZmaXhlcyhmaWxlbmFtZSk6Ci0gICAg
IiIiRHJvcHMgY29tbW9uIHN1ZmZpeGVzIGxpa2UgX3Rlc3QuY2Mgb3IgLWlubC5oIGZyb20gZmls
ZW5hbWUuCisgICAgIiIiRHJvcHMgY29tbW9uIHN1ZmZpeGVzIGxpa2UgX3Rlc3QuY3BwIG9yIC1p
bmwuaCBmcm9tIGZpbGVuYW1lLgogCiAgICAgRm9yIGV4YW1wbGU6CiAgICAgICA+Pj4gX2Ryb3Bf
Y29tbW9uX3N1ZmZpeGVzKCdmb28vZm9vLWlubC5oJykKICAgICAgICdmb28vZm9vJwotICAgICAg
Pj4+IF9kcm9wX2NvbW1vbl9zdWZmaXhlcygnZm9vL2Jhci9mb28uY2MnKQorICAgICAgPj4+IF9k
cm9wX2NvbW1vbl9zdWZmaXhlcygnZm9vL2Jhci9mb28uY3BwJykKICAgICAgICdmb28vYmFyL2Zv
bycKICAgICAgID4+PiBfZHJvcF9jb21tb25fc3VmZml4ZXMoJ2Zvby9mb29faW50ZXJuYWwuaCcp
CiAgICAgICAnZm9vL2ZvbycKQEAgLTIxOTcsNyArMjE5Nyw3IEBAIGRlZiBfZHJvcF9jb21tb25f
c3VmZml4ZXMoZmlsZW5hbWUpOgogICAgIFJldHVybnM6CiAgICAgICBUaGUgZmlsZW5hbWUgd2l0
aCB0aGUgY29tbW9uIHN1ZmZpeCByZW1vdmVkLgogICAgICIiIgotICAgIGZvciBzdWZmaXggaW4g
KCd0ZXN0LmNjJywgJ3JlZ3Rlc3QuY2MnLCAndW5pdHRlc3QuY2MnLAorICAgIGZvciBzdWZmaXgg
aW4gKCd0ZXN0LmNwcCcsICdyZWd0ZXN0LmNwcCcsICd1bml0dGVzdC5jcHAnLAogICAgICAgICAg
ICAgICAgICAgICdpbmwuaCcsICdpbXBsLmgnLCAnaW50ZXJuYWwuaCcpOgogICAgICAgICBpZiAo
ZmlsZW5hbWUuZW5kc3dpdGgoc3VmZml4KSBhbmQgbGVuKGZpbGVuYW1lKSA+IGxlbihzdWZmaXgp
CiAgICAgICAgICAgICBhbmQgZmlsZW5hbWVbLWxlbihzdWZmaXgpIC0gMV0gaW4gKCctJywgJ18n
KSk6CkBAIC0yMjE0LDkgKzIyMTQsOSBAQCBkZWYgX2lzX3Rlc3RfZmlsZW5hbWUoZmlsZW5hbWUp
OgogICAgIFJldHVybnM6CiAgICAgICBUcnVlIGlmICdmaWxlbmFtZScgbG9va3MgbGlrZSBhIHRl
c3QsIEZhbHNlIG90aGVyd2lzZS4KICAgICAiIiIKLSAgICBpZiAoZmlsZW5hbWUuZW5kc3dpdGgo
J190ZXN0LmNjJykKLSAgICAgICAgb3IgZmlsZW5hbWUuZW5kc3dpdGgoJ191bml0dGVzdC5jYycp
Ci0gICAgICAgIG9yIGZpbGVuYW1lLmVuZHN3aXRoKCdfcmVndGVzdC5jYycpKToKKyAgICBpZiAo
ZmlsZW5hbWUuZW5kc3dpdGgoJ190ZXN0LmNwcCcpCisgICAgICAgIG9yIGZpbGVuYW1lLmVuZHN3
aXRoKCdfdW5pdHRlc3QuY3BwJykKKyAgICAgICAgb3IgZmlsZW5hbWUuZW5kc3dpdGgoJ19yZWd0
ZXN0LmNwcCcpKToKICAgICAgICAgcmV0dXJuIFRydWUKICAgICByZXR1cm4gRmFsc2UKIApAQCAt
MjY4NSw0NSArMjY4NSw0NSBAQCBmb3IgX2hlYWRlciwgX3RlbXBsYXRlcyBpbiBfSEVBREVSU19D
T05UQUlOSU5HX1RFTVBMQVRFUzoKICAgICAgICAgICAgICBfaGVhZGVyKSkKIAogCi1kZWYgZmls
ZXNfYmVsb25nX3RvX3NhbWVfbW9kdWxlKGZpbGVuYW1lX2NjLCBmaWxlbmFtZV9oKToKK2RlZiBm
aWxlc19iZWxvbmdfdG9fc2FtZV9tb2R1bGUoZmlsZW5hbWVfY3BwLCBmaWxlbmFtZV9oKToKICAg
ICAiIiJDaGVjayBpZiB0aGVzZSB0d28gZmlsZW5hbWVzIGJlbG9uZyB0byB0aGUgc2FtZSBtb2R1
bGUuCiAKICAgICBUaGUgY29uY2VwdCBvZiBhICdtb2R1bGUnIGhlcmUgaXMgYSBhcyBmb2xsb3dz
OgotICAgIGZvby5oLCBmb28taW5sLmgsIGZvby5jYywgZm9vX3Rlc3QuY2MgYW5kIGZvb191bml0
dGVzdC5jYyBiZWxvbmcgdG8gdGhlCisgICAgZm9vLmgsIGZvby1pbmwuaCwgZm9vLmNwcCwgZm9v
X3Rlc3QuY3BwIGFuZCBmb29fdW5pdHRlc3QuY3BwIGJlbG9uZyB0byB0aGUKICAgICBzYW1lICdt
b2R1bGUnIGlmIHRoZXkgYXJlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS4KICAgICBzb21lL3BhdGgv
cHVibGljL3h5enp5IGFuZCBzb21lL3BhdGgvaW50ZXJuYWwveHl6enkgYXJlIGFsc28gY29uc2lk
ZXJlZAogICAgIHRvIGJlbG9uZyB0byB0aGUgc2FtZSBtb2R1bGUgaGVyZS4KIAotICAgIElmIHRo
ZSBmaWxlbmFtZV9jYyBjb250YWlucyBhIGxvbmdlciBwYXRoIHRoYW4gdGhlIGZpbGVuYW1lX2gs
IGZvciBleGFtcGxlLAotICAgICcvYWJzb2x1dGUvcGF0aC90by9iYXNlL3N5c2luZm8uY2MnLCBh
bmQgdGhpcyBmaWxlIHdvdWxkIGluY2x1ZGUKKyAgICBJZiB0aGUgZmlsZW5hbWVfY3BwIGNvbnRh
aW5zIGEgbG9uZ2VyIHBhdGggdGhhbiB0aGUgZmlsZW5hbWVfaCwgZm9yIGV4YW1wbGUsCisgICAg
Jy9hYnNvbHV0ZS9wYXRoL3RvL2Jhc2Uvc3lzaW5mby5jcHAnLCBhbmQgdGhpcyBmaWxlIHdvdWxk
IGluY2x1ZGUKICAgICAnYmFzZS9zeXNpbmZvLmgnLCB0aGlzIGZ1bmN0aW9uIGFsc28gcHJvZHVj
ZXMgdGhlIHByZWZpeCBuZWVkZWQgdG8gb3BlbiB0aGUKICAgICBoZWFkZXIuIFRoaXMgaXMgdXNl
ZCBieSB0aGUgY2FsbGVyIG9mIHRoaXMgZnVuY3Rpb24gdG8gbW9yZSByb2J1c3RseSBvcGVuIHRo
ZQogICAgIGhlYWRlciBmaWxlLiBXZSBkb24ndCBoYXZlIGFjY2VzcyB0byB0aGUgcmVhbCBpbmNs
dWRlIHBhdGhzIGluIHRoaXMgY29udGV4dCwKICAgICBzbyB3ZSBuZWVkIHRoaXMgZ3Vlc3N3b3Jr
IGhlcmUuCiAKLSAgICBLbm93biBidWdzOiB0b29scy9iYXNlL2Jhci5jYyBhbmQgYmFzZS9iYXIu
aCBiZWxvbmcgdG8gdGhlIHNhbWUgbW9kdWxlCisgICAgS25vd24gYnVnczogdG9vbHMvYmFzZS9i
YXIuY3BwIGFuZCBiYXNlL2Jhci5oIGJlbG9uZyB0byB0aGUgc2FtZSBtb2R1bGUKICAgICBhY2Nv
cmRpbmcgdG8gdGhpcyBpbXBsZW1lbnRhdGlvbi4gQmVjYXVzZSBvZiB0aGlzLCB0aGlzIGZ1bmN0
aW9uIGdpdmVzCiAgICAgc29tZSBmYWxzZSBwb3NpdGl2ZXMuIFRoaXMgc2hvdWxkIGJlIHN1ZmZp
Y2llbnRseSByYXJlIGluIHByYWN0aWNlLgogCiAgICAgQXJnczoKLSAgICAgIGZpbGVuYW1lX2Nj
OiBpcyB0aGUgcGF0aCBmb3IgdGhlIC5jYyBmaWxlCisgICAgICBmaWxlbmFtZV9jcHA6IGlzIHRo
ZSBwYXRoIGZvciB0aGUgLmNwcCBmaWxlCiAgICAgICBmaWxlbmFtZV9oOiBpcyB0aGUgcGF0aCBm
b3IgdGhlIGhlYWRlciBwYXRoCiAKICAgICBSZXR1cm5zOgogICAgICAgVHVwbGUgd2l0aCBhIGJv
b2wgYW5kIGEgc3RyaW5nOgotICAgICAgYm9vbDogVHJ1ZSBpZiBmaWxlbmFtZV9jYyBhbmQgZmls
ZW5hbWVfaCBiZWxvbmcgdG8gdGhlIHNhbWUgbW9kdWxlLgorICAgICAgYm9vbDogVHJ1ZSBpZiBm
aWxlbmFtZV9jcHAgYW5kIGZpbGVuYW1lX2ggYmVsb25nIHRvIHRoZSBzYW1lIG1vZHVsZS4KICAg
ICAgIHN0cmluZzogdGhlIGFkZGl0aW9uYWwgcHJlZml4IG5lZWRlZCB0byBvcGVuIHRoZSBoZWFk
ZXIgZmlsZS4KICAgICAiIiIKIAotICAgIGlmIG5vdCBmaWxlbmFtZV9jYy5lbmRzd2l0aCgnLmNj
Jyk6CisgICAgaWYgbm90IGZpbGVuYW1lX2NwcC5lbmRzd2l0aCgnLmNwcCcpOgogICAgICAgICBy
ZXR1cm4gKEZhbHNlLCAnJykKLSAgICBmaWxlbmFtZV9jYyA9IGZpbGVuYW1lX2NjWzotbGVuKCcu
Y2MnKV0KLSAgICBpZiBmaWxlbmFtZV9jYy5lbmRzd2l0aCgnX3VuaXR0ZXN0Jyk6Ci0gICAgICAg
IGZpbGVuYW1lX2NjID0gZmlsZW5hbWVfY2NbOi1sZW4oJ191bml0dGVzdCcpXQotICAgIGVsaWYg
ZmlsZW5hbWVfY2MuZW5kc3dpdGgoJ190ZXN0Jyk6Ci0gICAgICAgIGZpbGVuYW1lX2NjID0gZmls
ZW5hbWVfY2NbOi1sZW4oJ190ZXN0JyldCi0gICAgZmlsZW5hbWVfY2MgPSBmaWxlbmFtZV9jYy5y
ZXBsYWNlKCcvcHVibGljLycsICcvJykKLSAgICBmaWxlbmFtZV9jYyA9IGZpbGVuYW1lX2NjLnJl
cGxhY2UoJy9pbnRlcm5hbC8nLCAnLycpCisgICAgZmlsZW5hbWVfY3BwID0gZmlsZW5hbWVfY3Bw
WzotbGVuKCcuY3BwJyldCisgICAgaWYgZmlsZW5hbWVfY3BwLmVuZHN3aXRoKCdfdW5pdHRlc3Qn
KToKKyAgICAgICAgZmlsZW5hbWVfY3BwID0gZmlsZW5hbWVfY3BwWzotbGVuKCdfdW5pdHRlc3Qn
KV0KKyAgICBlbGlmIGZpbGVuYW1lX2NwcC5lbmRzd2l0aCgnX3Rlc3QnKToKKyAgICAgICAgZmls
ZW5hbWVfY3BwID0gZmlsZW5hbWVfY3BwWzotbGVuKCdfdGVzdCcpXQorICAgIGZpbGVuYW1lX2Nw
cCA9IGZpbGVuYW1lX2NwcC5yZXBsYWNlKCcvcHVibGljLycsICcvJykKKyAgICBmaWxlbmFtZV9j
cHAgPSBmaWxlbmFtZV9jcHAucmVwbGFjZSgnL2ludGVybmFsLycsICcvJykKIAogICAgIGlmIG5v
dCBmaWxlbmFtZV9oLmVuZHN3aXRoKCcuaCcpOgogICAgICAgICByZXR1cm4gKEZhbHNlLCAnJykK
QEAgLTI3MzMsMTAgKzI3MzMsMTAgQEAgZGVmIGZpbGVzX2JlbG9uZ190b19zYW1lX21vZHVsZShm
aWxlbmFtZV9jYywgZmlsZW5hbWVfaCk6CiAgICAgZmlsZW5hbWVfaCA9IGZpbGVuYW1lX2gucmVw
bGFjZSgnL3B1YmxpYy8nLCAnLycpCiAgICAgZmlsZW5hbWVfaCA9IGZpbGVuYW1lX2gucmVwbGFj
ZSgnL2ludGVybmFsLycsICcvJykKIAotICAgIGZpbGVzX2JlbG9uZ190b19zYW1lX21vZHVsZSA9
IGZpbGVuYW1lX2NjLmVuZHN3aXRoKGZpbGVuYW1lX2gpCisgICAgZmlsZXNfYmVsb25nX3RvX3Nh
bWVfbW9kdWxlID0gZmlsZW5hbWVfY3BwLmVuZHN3aXRoKGZpbGVuYW1lX2gpCiAgICAgY29tbW9u
X3BhdGggPSAnJwogICAgIGlmIGZpbGVzX2JlbG9uZ190b19zYW1lX21vZHVsZToKLSAgICAgICAg
Y29tbW9uX3BhdGggPSBmaWxlbmFtZV9jY1s6LWxlbihmaWxlbmFtZV9oKV0KKyAgICAgICAgY29t
bW9uX3BhdGggPSBmaWxlbmFtZV9jcHBbOi1sZW4oZmlsZW5hbWVfaCldCiAgICAgcmV0dXJuIGZp
bGVzX2JlbG9uZ190b19zYW1lX21vZHVsZSwgY29tbW9uX3BhdGgKIAogCkBAIC0yODEyLDcgKzI4
MTIsNyBAQCBkZWYgY2hlY2tfZm9yX2luY2x1ZGVfd2hhdF95b3VfdXNlKGZpbGVuYW1lLCBjbGVh
bl9saW5lcywgaW5jbHVkZV9zdGF0ZSwgZXJyb3IsCiAgICAgICAgICAgICAgICAgcmVxdWlyZWRb
aGVhZGVyXSA9IChsaW5lX251bWJlciwgdGVtcGxhdGUpCiAKICAgICAjIFRoZSBwb2xpY3kgaXMg
dGhhdCBpZiB5b3UgI2luY2x1ZGUgc29tZXRoaW5nIGluIGZvby5oIHlvdSBkb24ndCBuZWVkIHRv
Ci0gICAgIyBpbmNsdWRlIGl0IGFnYWluIGluIGZvby5jYy4gSGVyZSwgd2Ugd2lsbCBsb29rIGF0
IHBvc3NpYmxlIGluY2x1ZGVzLgorICAgICMgaW5jbHVkZSBpdCBhZ2FpbiBpbiBmb28uY3BwLiBI
ZXJlLCB3ZSB3aWxsIGxvb2sgYXQgcG9zc2libGUgaW5jbHVkZXMuCiAgICAgIyBMZXQncyBjb3B5
IHRoZSBpbmNsdWRlX3N0YXRlIHNvIGl0IGlzIG9ubHkgbWVzc2VkIHVwIHdpdGhpbiB0aGlzIGZ1
bmN0aW9uLgogICAgIGluY2x1ZGVfc3RhdGUgPSBpbmNsdWRlX3N0YXRlLmNvcHkoKQogCkBAIC0y
ODI0LDE0ICsyODI0LDE0IEBAIGRlZiBjaGVja19mb3JfaW5jbHVkZV93aGF0X3lvdV91c2UoZmls
ZW5hbWUsIGNsZWFuX2xpbmVzLCBpbmNsdWRlX3N0YXRlLCBlcnJvciwKIAogICAgICMgRm9yIEVt
YWNzJ3MgZmx5bWFrZS4KICAgICAjIElmIGNwcGxpbnQgaXMgaW52b2tlZCBmcm9tIEVtYWNzJ3Mg
Zmx5bWFrZSwgYSB0ZW1wb3JhcnkgZmlsZSBpcyBnZW5lcmF0ZWQKLSAgICAjIGJ5IGZseW1ha2Ug
YW5kIHRoYXQgZmlsZSBuYW1lIG1pZ2h0IGVuZCB3aXRoICdfZmx5bWFrZS5jYycuIEluIHRoYXQg
Y2FzZSwKKyAgICAjIGJ5IGZseW1ha2UgYW5kIHRoYXQgZmlsZSBuYW1lIG1pZ2h0IGVuZCB3aXRo
ICdfZmx5bWFrZS5jcHAnLiBJbiB0aGF0IGNhc2UsCiAgICAgIyByZXN0b3JlIG9yaWdpbmFsIGZp
bGUgbmFtZSBoZXJlIHNvIHRoYXQgdGhlIGNvcnJlc3BvbmRpbmcgaGVhZGVyIGZpbGUgY2FuIGJl
CiAgICAgIyBmb3VuZC4KLSAgICAjIGUuZy4gSWYgdGhlIGZpbGUgbmFtZSBpcyAnZm9vX2ZseW1h
a2UuY2MnLCB3ZSBzaG91bGQgc2VhcmNoIGZvciAnZm9vLmgnCisgICAgIyBlLmcuIElmIHRoZSBm
aWxlIG5hbWUgaXMgJ2Zvb19mbHltYWtlLmNwcCcsIHdlIHNob3VsZCBzZWFyY2ggZm9yICdmb28u
aCcKICAgICAjIGluc3RlYWQgb2YgJ2Zvb19mbHltYWtlLmgnCi0gICAgZW1hY3NfZmx5bWFrZV9z
dWZmaXggPSAnX2ZseW1ha2UuY2MnCisgICAgZW1hY3NfZmx5bWFrZV9zdWZmaXggPSAnX2ZseW1h
a2UuY3BwJwogICAgIGlmIGFic19maWxlbmFtZS5lbmRzd2l0aChlbWFjc19mbHltYWtlX3N1ZmZp
eCk6Ci0gICAgICAgIGFic19maWxlbmFtZSA9IGFic19maWxlbmFtZVs6LWxlbihlbWFjc19mbHlt
YWtlX3N1ZmZpeCldICsgJy5jYycKKyAgICAgICAgYWJzX2ZpbGVuYW1lID0gYWJzX2ZpbGVuYW1l
WzotbGVuKGVtYWNzX2ZseW1ha2Vfc3VmZml4KV0gKyAnLmNwcCcKIAogICAgICMgaW5jbHVkZV9z
dGF0ZSBpcyBtb2RpZmllZCBkdXJpbmcgaXRlcmF0aW9uLCBzbyB3ZSBpdGVyYXRlIG92ZXIgYSBj
b3B5IG9mCiAgICAgIyB0aGUga2V5cy4KQEAgLTI4NDEsMTIgKzI4NDEsMTIgQEAgZGVmIGNoZWNr
X2Zvcl9pbmNsdWRlX3doYXRfeW91X3VzZShmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGluY2x1ZGVf
c3RhdGUsIGVycm9yLAogICAgICAgICBpZiBzYW1lX21vZHVsZSBhbmQgdXBkYXRlX2luY2x1ZGVf
c3RhdGUoZnVsbHBhdGgsIGluY2x1ZGVfc3RhdGUsIGlvKToKICAgICAgICAgICAgIGhlYWRlcl9m
b3VuZCA9IFRydWUKIAotICAgICMgSWYgd2UgY2FuJ3QgZmluZCB0aGUgaGVhZGVyIGZpbGUgZm9y
IGEgLmNjLCBhc3N1bWUgaXQncyBiZWNhdXNlIHdlIGRvbid0CisgICAgIyBJZiB3ZSBjYW4ndCBm
aW5kIHRoZSBoZWFkZXIgZmlsZSBmb3IgYSAuY3BwLCBhc3N1bWUgaXQncyBiZWNhdXNlIHdlIGRv
bid0CiAgICAgIyBrbm93IHdoZXJlIHRvIGxvb2suIEluIHRoYXQgY2FzZSB3ZSdsbCBnaXZlIHVw
IGFzIHdlJ3JlIG5vdCBzdXJlIHRoZXkKICAgICAjIGRpZG4ndCBpbmNsdWRlIGl0IGluIHRoZSAu
aCBmaWxlLgogICAgICMgRklYTUU6IERvIGEgYmV0dGVyIGpvYiBvZiBmaW5kaW5nIC5oIGZpbGVz
IHNvIHdlIGFyZSBjb25maWRlbnQgdGhhdAogICAgICMgICAgICAgIG5vdCBoYXZpbmcgdGhlIC5o
IGZpbGUgbWVhbnMgdGhlcmUgaXNuJ3Qgb25lLgotICAgIGlmIGZpbGVuYW1lLmVuZHN3aXRoKCcu
Y2MnKSBhbmQgbm90IGhlYWRlcl9mb3VuZDoKKyAgICBpZiBmaWxlbmFtZS5lbmRzd2l0aCgnLmNw
cCcpIGFuZCBub3QgaGVhZGVyX2ZvdW5kOgogICAgICAgICByZXR1cm4KIAogICAgICMgQWxsIHRo
ZSBsaW5lcyBoYXZlIGJlZW4gcHJvY2Vzc2VkLCByZXBvcnQgdGhlIGVycm9ycyBmb3VuZC4KQEAg
LTI5NzYsOSArMjk3Niw5IEBAIGRlZiBwcm9jZXNzX2ZpbGUoZmlsZW5hbWUsIGVycm9yPWVycm9y
KToKIAogICAgICMgV2hlbiByZWFkaW5nIGZyb20gc3RkaW4sIHRoZSBleHRlbnNpb24gaXMgdW5r
bm93biwgc28gbm8gY3BwbGludCB0ZXN0cwogICAgICMgc2hvdWxkIHJlbHkgb24gdGhlIGV4dGVu
c2lvbi4KLSAgICBpZiAoZmlsZW5hbWUgIT0gJy0nIGFuZCBmaWxlX2V4dGVuc2lvbiAhPSAnY2Mn
IGFuZCBmaWxlX2V4dGVuc2lvbiAhPSAnaCcKLSAgICAgICAgYW5kIGZpbGVfZXh0ZW5zaW9uICE9
ICdjcHAnIGFuZCBmaWxlX2V4dGVuc2lvbiAhPSAnYycpOgotICAgICAgICBzeXMuc3RkZXJyLndy
aXRlKCdJZ25vcmluZyAlczsgbm90IGEgLmNjLCAuY3BwLCAuYyBvciAuaCBmaWxlXG4nICUgZmls
ZW5hbWUpCisgICAgaWYgKGZpbGVuYW1lICE9ICctJyBhbmQgZmlsZV9leHRlbnNpb24gIT0gJ2gn
IGFuZCBmaWxlX2V4dGVuc2lvbiAhPSAnY3BwJworICAgICAgICBhbmQgZmlsZV9leHRlbnNpb24g
IT0gJ2MnKToKKyAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnSWdub3JpbmcgJXM7IG5vdCBhIC5j
cHAsIC5jIG9yIC5oIGZpbGVcbicgJSBmaWxlbmFtZSkKICAgICBlbHNlOgogICAgICAgICBwcm9j
ZXNzX2ZpbGVfZGF0YShmaWxlbmFtZSwgZmlsZV9leHRlbnNpb24sIGxpbmVzLCBlcnJvcikKICAg
ICAgICAgaWYgY2FycmlhZ2VfcmV0dXJuX2ZvdW5kIGFuZCBvcy5saW5lc2VwICE9ICdcclxuJzoK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jcHBsaW50X3VuaXR0ZXN0
LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NwcGxpbnRfdW5pdHRlc3QucHkKaW5k
ZXggYzQ5ZWY2Ni4uOTFlMTk3MSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1
bGVzL2NwcGxpbnRfdW5pdHRlc3QucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVz
L2NwcGxpbnRfdW5pdHRlc3QucHkKQEAgLTE3Miw3ICsxNzIsNyBAQCBjbGFzcyBDcHBsaW50VGVz
dEJhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBSZXR1cm5zOgogICAgICAgICAgIFRo
ZSBhY2N1bXVsYXRlZCBlcnJvcnMuCiAgICAgICAgICIiIgotICAgICAgICBmaWxlX25hbWUgPSAn
Zm9vLmNjJworICAgICAgICBmaWxlX25hbWUgPSAnZm9vLmNwcCcKICAgICAgICAgZXJyb3JfY29s
bGVjdG9yID0gRXJyb3JDb2xsZWN0b3Ioc2VsZi5hc3NlcnRfKQogICAgICAgICBmdW5jdGlvbl9z
dGF0ZSA9IGNwcGxpbnQuX0Z1bmN0aW9uU3RhdGUoKQogICAgICAgICBsaW5lcyA9IGNvZGUuc3Bs
aXQoJ1xuJykKQEAgLTIwMywxMCArMjAzLDEwIEBAIGNsYXNzIENwcGxpbnRUZXN0QmFzZSh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHJldHVybiBlcnJvcl9jb2xsZWN0b3IucmVzdWx0cygp
CiAKICAgICAjIFBlcmZvcm0gbGludCBhbmQgY29tcGFyZSB0aGUgZXJyb3IgbWVzc2FnZSB3aXRo
ICJleHBlY3RlZF9tZXNzYWdlIi4KLSAgICBkZWYgYXNzZXJ0X2xpbnQoc2VsZiwgY29kZSwgZXhw
ZWN0ZWRfbWVzc2FnZSwgZmlsZV9uYW1lPSdmb28uY2MnKToKKyAgICBkZWYgYXNzZXJ0X2xpbnQo
c2VsZiwgY29kZSwgZXhwZWN0ZWRfbWVzc2FnZSwgZmlsZV9uYW1lPSdmb28uY3BwJyk6CiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGV4cGVjdGVkX21lc3NhZ2UsIHNlbGYucGVyZm9ybV9zaW5n
bGVfbGluZV9saW50KGNvZGUsIGZpbGVfbmFtZSkpCiAKLSAgICBkZWYgYXNzZXJ0X2xpbnRfb25l
X29mX21hbnlfZXJyb3JzX3JlKHNlbGYsIGNvZGUsIGV4cGVjdGVkX21lc3NhZ2VfcmUsIGZpbGVf
bmFtZT0nZm9vLmNjJyk6CisgICAgZGVmIGFzc2VydF9saW50X29uZV9vZl9tYW55X2Vycm9yc19y
ZShzZWxmLCBjb2RlLCBleHBlY3RlZF9tZXNzYWdlX3JlLCBmaWxlX25hbWU9J2Zvby5jcHAnKToK
ICAgICAgICAgbWVzc2FnZXMgPSBzZWxmLnBlcmZvcm1fc2luZ2xlX2xpbmVfbGludChjb2RlLCBm
aWxlX25hbWUpCiAgICAgICAgIGZvciBtZXNzYWdlIGluIG1lc3NhZ2VzOgogICAgICAgICAgICAg
aWYgcmUuc2VhcmNoKGV4cGVjdGVkX21lc3NhZ2VfcmUsIG1lc3NhZ2UpOgpAQCAtMjMyLDcgKzIz
Miw3IEBAIGNsYXNzIENwcGxpbnRUZXN0QmFzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBk
ZWYgYXNzZXJ0X2JsYW5rX2xpbmVzX2NoZWNrKHNlbGYsIGxpbmVzLCBzdGFydF9lcnJvcnMsIGVu
ZF9lcnJvcnMpOgogICAgICAgICBlcnJvcl9jb2xsZWN0b3IgPSBFcnJvckNvbGxlY3RvcihzZWxm
LmFzc2VydF8pCi0gICAgICAgIGNwcGxpbnQucHJvY2Vzc19maWxlX2RhdGEoJ2Zvby5jYycsICdj
YycsIGxpbmVzLCBlcnJvcl9jb2xsZWN0b3IpCisgICAgICAgIGNwcGxpbnQucHJvY2Vzc19maWxl
X2RhdGEoJ2Zvby5jcHAnLCAnY3BwJywgbGluZXMsIGVycm9yX2NvbGxlY3RvcikKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMoCiAgICAgICAgICAgICBzdGFydF9lcnJvcnMsCiAgICAgICAgICAg
ICBlcnJvcl9jb2xsZWN0b3IucmVzdWx0cygpLmNvdW50KApAQCAtMzUyLDEyICszNTIsMTIgQEAg
Y2xhc3MgQ3BwbGludFRlc3QoQ3BwbGludFRlc3RCYXNlKToKICAgICAgICAgICAgICdoaWVyYXJj
aHksIHVzZSBzdGF0aWNfY2FzdDw+IHRvIHVwY2FzdC4gIEdvb2dsZSBkb2VzblwndCBzdXBwb3J0
ICcKICAgICAgICAgICAgICdSVFRJLiAgW3J1bnRpbWUvcnR0aV0gWzVdJykKICAgICAgICAgIyBk
eW5hbWljX2Nhc3QgaXMgZGlzYWxsb3dlZCBpbiBtb3N0IGZpbGVzLgotICAgICAgICBzZWxmLmFz
c2VydF9sYW5ndWFnZV9ydWxlc19jaGVjaygnZm9vLmNjJywgc3RhdGVtZW50LCBlcnJvcl9tZXNz
YWdlKQorICAgICAgICBzZWxmLmFzc2VydF9sYW5ndWFnZV9ydWxlc19jaGVjaygnZm9vLmNwcCcs
IHN0YXRlbWVudCwgZXJyb3JfbWVzc2FnZSkKICAgICAgICAgc2VsZi5hc3NlcnRfbGFuZ3VhZ2Vf
cnVsZXNfY2hlY2soJ2Zvby5oJywgc3RhdGVtZW50LCBlcnJvcl9tZXNzYWdlKQogICAgICAgICAj
IEl0IGlzIGV4cGxpY2l0bHkgYWxsb3dlZCBpbiB0ZXN0cywgaG93ZXZlci4KLSAgICAgICAgc2Vs
Zi5hc3NlcnRfbGFuZ3VhZ2VfcnVsZXNfY2hlY2soJ2Zvb190ZXN0LmNjJywgc3RhdGVtZW50LCAn
JykKLSAgICAgICAgc2VsZi5hc3NlcnRfbGFuZ3VhZ2VfcnVsZXNfY2hlY2soJ2Zvb191bml0dGVz
dC5jYycsIHN0YXRlbWVudCwgJycpCi0gICAgICAgIHNlbGYuYXNzZXJ0X2xhbmd1YWdlX3J1bGVz
X2NoZWNrKCdmb29fcmVndGVzdC5jYycsIHN0YXRlbWVudCwgJycpCisgICAgICAgIHNlbGYuYXNz
ZXJ0X2xhbmd1YWdlX3J1bGVzX2NoZWNrKCdmb29fdGVzdC5jcHAnLCBzdGF0ZW1lbnQsICcnKQor
ICAgICAgICBzZWxmLmFzc2VydF9sYW5ndWFnZV9ydWxlc19jaGVjaygnZm9vX3VuaXR0ZXN0LmNw
cCcsIHN0YXRlbWVudCwgJycpCisgICAgICAgIHNlbGYuYXNzZXJ0X2xhbmd1YWdlX3J1bGVzX2No
ZWNrKCdmb29fcmVndGVzdC5jcHAnLCBzdGF0ZW1lbnQsICcnKQogCiAgICAgIyBXZSBjYW5ub3Qg
dGVzdCB0aGlzIGZ1bmN0aW9uYWxpdHkgYmVjYXVzZSBvZiBkaWZmZXJlbmNlIG9mCiAgICAgIyBm
dW5jdGlvbiBkZWZpbml0aW9ucy4gIEFueXdheSwgd2UgbWF5IG5ldmVyIGVuYWJsZSB0aGlzLgpA
QCAtNDU0LDcgKzQ1NCw3IEBAIGNsYXNzIENwcGxpbnRUZXN0KENwcGxpbnRUZXN0QmFzZSk6CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICcgIFtidWlsZC9pbmNsdWRlX3doYXRfeW91X3VzZV0g
WzRdJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wZXJmb3JtX2luY2x1ZGVfd2hh
dF95b3VfdXNlKGNvZGUsICdmb28uaCcpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscygnJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wZXJmb3JtX2luY2x1ZGVfd2hhdF95b3Vf
dXNlKGNvZGUsICdmb28uY2MnKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wZXJm
b3JtX2luY2x1ZGVfd2hhdF95b3VfdXNlKGNvZGUsICdmb28uY3BwJykpCiAKICAgICBkZWYgdGVz
dF9pbmNsdWRlX3doYXRfeW91X3VzZShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRfaW5jbHVk
ZV93aGF0X3lvdV91c2UoCkBAIC01ODcsNyArNTg3LDcgQEAgY2xhc3MgQ3BwbGludFRlc3QoQ3Bw
bGludFRlc3RCYXNlKToKICAgICAgICAgbWVzc2FnZSA9IHNlbGYucGVyZm9ybV9pbmNsdWRlX3do
YXRfeW91X3VzZSgKICAgICAgICAgICAgICcjaW5jbHVkZSAiY29uZmlnLmgiXG4nCiAgICAgICAg
ICAgICAnI2luY2x1ZGUgImJsYWgvYS5oIlxuJywKLSAgICAgICAgICAgIGZpbGVuYW1lPSdibGFo
L2EuY2MnLAorICAgICAgICAgICAgZmlsZW5hbWU9J2JsYWgvYS5jcHAnLAogICAgICAgICAgICAg
aW89TW9ja0lvKG1vY2tfaGVhZGVyX2NvbnRlbnRzKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bHMobWVzc2FnZSwgJycpCiAKQEAgLTU5NywxNyArNTk3LDE3IEBAIGNsYXNzIENwcGxpbnRUZXN0
KENwcGxpbnRUZXN0QmFzZSk6CiAgICAgICAgICAgICAgICAjaW5jbHVkZSAiYmxhaC9hLmgiCiAK
ICAgICAgICAgICAgICAgIHN0ZDo6c2V0PGludD4gZm9vOycnJywKLSAgICAgICAgICAgIGZpbGVu
YW1lPSdibGFoL2EuY2MnLAorICAgICAgICAgICAgZmlsZW5hbWU9J2JsYWgvYS5jcHAnLAogICAg
ICAgICAgICAgaW89TW9ja0lvKG1vY2tfaGVhZGVyX2NvbnRlbnRzKSkKICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbHMobWVzc2FnZSwgJycpCiAKLSAgICAgICAgIyBJZiB0aGVyZSdzIGp1c3QgYSBj
YyBhbmQgdGhlIGhlYWRlciBjYW4ndCBiZSBmb3VuZCB0aGVuIGl0J3Mgb2suCisgICAgICAgICMg
SWYgdGhlcmUncyBqdXN0IGEgLmNwcCBhbmQgdGhlIGhlYWRlciBjYW4ndCBiZSBmb3VuZCB0aGVu
IGl0J3Mgb2suCiAgICAgICAgIG1lc3NhZ2UgPSBzZWxmLnBlcmZvcm1faW5jbHVkZV93aGF0X3lv
dV91c2UoCiAgICAgICAgICAgICAnJycjaW5jbHVkZSAiY29uZmlnLmgiCiAgICAgICAgICAgICAg
ICAjaW5jbHVkZSAiYmxhaC9hLmgiCiAKICAgICAgICAgICAgICAgIHN0ZDo6c2V0PGludD4gZm9v
OycnJywKLSAgICAgICAgICAgIGZpbGVuYW1lPSdibGFoL2EuY2MnKQorICAgICAgICAgICAgZmls
ZW5hbWU9J2JsYWgvYS5jcHAnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhtZXNzYWdlLCAn
JykKIAogICAgICAgICAjIE1ha2Ugc3VyZSB3ZSBmaW5kIHRoZSBoZWFkZXJzIHdpdGggcmVsYXRp
dmUgcGF0aHMuCkBAIC02MTcsMzUgKzYxNywzNSBAQCBjbGFzcyBDcHBsaW50VGVzdChDcHBsaW50
VGVzdEJhc2UpOgogICAgICAgICAgICAgICAgI2luY2x1ZGUgIiVzL2EuaCIKIAogICAgICAgICAg
ICAgICAgc3RkOjpzZXQ8aW50PiBmb287JycnICUgb3MucGF0aC5iYXNlbmFtZShvcy5nZXRjd2Qo
KSksCi0gICAgICAgICAgICBmaWxlbmFtZT0nYS5jYycsCisgICAgICAgICAgICBmaWxlbmFtZT0n
YS5jcHAnLAogICAgICAgICAgICAgaW89TW9ja0lvKG1vY2tfaGVhZGVyX2NvbnRlbnRzKSkKICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMobWVzc2FnZSwgJ0FkZCAjaW5jbHVkZSA8c2V0PiBmb3Ig
c2V0PD4gICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1tidWlsZC9pbmNs
dWRlX3doYXRfeW91X3VzZV0gWzRdJykKIAogICAgIGRlZiB0ZXN0X2ZpbGVzX2JlbG9uZ190b19z
YW1lX21vZHVsZShzZWxmKToKICAgICAgICAgZiA9IGNwcGxpbnQuZmlsZXNfYmVsb25nX3RvX3Nh
bWVfbW9kdWxlCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKChUcnVlLCAnJyksIGYoJ2EuY2Mn
LCAnYS5oJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKChUcnVlLCAnJyksIGYoJ2Jhc2Uv
Z29vZ2xlLmNjJywgJ2Jhc2UvZ29vZ2xlLmgnKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMo
KFRydWUsICcnKSwgZignYmFzZS9nb29nbGVfdGVzdC5jYycsICdiYXNlL2dvb2dsZS5oJykpCisg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKChUcnVlLCAnJyksIGYoJ2EuY3BwJywgJ2EuaCcpKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFscygoVHJ1ZSwgJycpLCBmKCdiYXNlL2dvb2dsZS5jcHAn
LCAnYmFzZS9nb29nbGUuaCcpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscygoVHJ1ZSwgJycp
LCBmKCdiYXNlL2dvb2dsZV90ZXN0LmNwcCcsICdiYXNlL2dvb2dsZS5oJykpCiAgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKChUcnVlLCAnJyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGYo
J2Jhc2UvZ29vZ2xlX3VuaXR0ZXN0LmNjJywgJ2Jhc2UvZ29vZ2xlLmgnKSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgZignYmFzZS9nb29nbGVfdW5pdHRlc3QuY3BwJywgJ2Jhc2UvZ29vZ2xl
LmgnKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoKFRydWUsICcnKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgZignYmFzZS9pbnRlcm5hbC9nb29nbGVfdW5pdHRlc3QuY2MnLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICBmKCdiYXNlL2ludGVybmFsL2dvb2dsZV91bml0dGVzdC5j
cHAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYXNlL3B1YmxpYy9nb29nbGUuaCcp
KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscygoVHJ1ZSwgJ3h4eC95eXkvJyksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGYoJ3h4eC95eXkvYmFzZS9pbnRlcm5hbC9nb29nbGVfdW5pdHRl
c3QuY2MnLAorICAgICAgICAgICAgICAgICAgICAgICAgICBmKCd4eHgveXl5L2Jhc2UvaW50ZXJu
YWwvZ29vZ2xlX3VuaXR0ZXN0LmNwcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Jh
c2UvcHVibGljL2dvb2dsZS5oJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKChUcnVlLCAn
eHh4L3l5eS8nKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZigneHh4L3l5eS9iYXNlL2dv
b2dsZV91bml0dGVzdC5jYycsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGYoJ3h4eC95eXkv
YmFzZS9nb29nbGVfdW5pdHRlc3QuY3BwJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
YmFzZS9wdWJsaWMvZ29vZ2xlLmgnKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoKFRydWUs
ICcnKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZignYmFzZS9nb29nbGVfdW5pdHRlc3Qu
Y2MnLCAnYmFzZS9nb29nbGUtaW5sLmgnKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZign
YmFzZS9nb29nbGVfdW5pdHRlc3QuY3BwJywgJ2Jhc2UvZ29vZ2xlLWlubC5oJykpCiAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKChUcnVlLCAnL2hvbWUvYnVpbGQvZ29vZ2xlMy8nKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgZignL2hvbWUvYnVpbGQvZ29vZ2xlMy9iYXNlL2dvb2dsZS5j
YycsICdiYXNlL2dvb2dsZS5oJykpCisgICAgICAgICAgICAgICAgICAgICAgICAgIGYoJy9ob21l
L2J1aWxkL2dvb2dsZTMvYmFzZS9nb29nbGUuY3BwJywgJ2Jhc2UvZ29vZ2xlLmgnKSkKIAogICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscygoRmFsc2UsICcnKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgZignL2hvbWUvYnVpbGQvZ29vZ2xlMy9iYXNlL2dvb2dsZS5jYycsICdiYXN1L2dvb2ds
ZS5oJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKChGYWxzZSwgJycpLCBmKCdhLmNjJywg
J2IuaCcpKQorICAgICAgICAgICAgICAgICAgICAgICAgICBmKCcvaG9tZS9idWlsZC9nb29nbGUz
L2Jhc2UvZ29vZ2xlLmNwcCcsICdiYXN1L2dvb2dsZS5oJykpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWxzKChGYWxzZSwgJycpLCBmKCdhLmNwcCcsICdiLmgnKSkKIAogICAgIGRlZiB0ZXN0X2Ns
ZWFuc2VfbGluZShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoJ2ludCBmb28gPSAw
OyAgJywKQEAgLTY4OCwxMCArNjg4LDEwIEBAIGNsYXNzIENwcGxpbnRUZXN0KENwcGxpbnRUZXN0
QmFzZSk6CiAgICAgICAgICAgICAndWdseSBhbmQgdW5uZWNlc3NhcnksIGFuZCB5b3Ugc2hvdWxk
IHVzZSBjb25jYXRlbmF0aW9uIGluc3RlYWQiLicKICAgICAgICAgICAgICcgIFtyZWFkYWJpbGl0
eS9tdWx0aWxpbmVfc3RyaW5nXSBbNV0nKQogCi0gICAgICAgIGZpbGVfcGF0aCA9ICdteWRpci9m
b28uY2MnCisgICAgICAgIGZpbGVfcGF0aCA9ICdteWRpci9mb28uY3BwJwogCiAgICAgICAgIGVy
cm9yX2NvbGxlY3RvciA9IEVycm9yQ29sbGVjdG9yKHNlbGYuYXNzZXJ0XykKLSAgICAgICAgY3Bw
bGludC5wcm9jZXNzX2ZpbGVfZGF0YShmaWxlX3BhdGgsICdjYycsCisgICAgICAgIGNwcGxpbnQu
cHJvY2Vzc19maWxlX2RhdGEoZmlsZV9wYXRoLCAnY3BwJywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBbJ2NvbnN0IGNoYXIqIHN0ciA9ICJUaGlzIGlzIGFcXCcsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgbXVsdGlsaW5lIHN0cmluZy4iOyddLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX2NvbGxlY3RvcikKQEAgLTEzMzIs
NyArMTMzMiw3IEBAIGNsYXNzIENwcGxpbnRUZXN0KENwcGxpbnRUZXN0QmFzZSk6CiAgICAgZGVm
IHRlc3RfbmV3bGluZV9hdF9lb2Yoc2VsZik6CiAgICAgICAgIGRlZiBkb190ZXN0KHNlbGYsIGRh
dGEsIGlzX21pc3NpbmdfZW9mKToKICAgICAgICAgICAgIGVycm9yX2NvbGxlY3RvciA9IEVycm9y
Q29sbGVjdG9yKHNlbGYuYXNzZXJ0XykKLSAgICAgICAgICAgIGNwcGxpbnQucHJvY2Vzc19maWxl
X2RhdGEoJ2Zvby5jYycsICdjYycsIGRhdGEuc3BsaXQoJ1xuJyksCisgICAgICAgICAgICBjcHBs
aW50LnByb2Nlc3NfZmlsZV9kYXRhKCdmb28uY3BwJywgJ2NwcCcsIGRhdGEuc3BsaXQoJ1xuJyks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX2NvbGxlY3RvcikK
ICAgICAgICAgICAgICMgVGhlIHdhcm5pbmcgYXBwZWFycyBvbmx5IG9uY2UuCiAgICAgICAgICAg
ICBzZWxmLmFzc2VydEVxdWFscygKQEAgLTEzNDgsNyArMTM0OCw3IEBAIGNsYXNzIENwcGxpbnRU
ZXN0KENwcGxpbnRUZXN0QmFzZSk6CiAgICAgICAgIGRlZiBkb190ZXN0KHNlbGYsIHJhd19ieXRl
cywgaGFzX2ludmFsaWRfdXRmOCk6CiAgICAgICAgICAgICBlcnJvcl9jb2xsZWN0b3IgPSBFcnJv
ckNvbGxlY3RvcihzZWxmLmFzc2VydF8pCiAgICAgICAgICAgICBjcHBsaW50LnByb2Nlc3NfZmls
ZV9kYXRhKAotICAgICAgICAgICAgICAgICdmb28uY2MnLCAnY2MnLAorICAgICAgICAgICAgICAg
ICdmb28uY3BwJywgJ2NwcCcsCiAgICAgICAgICAgICAgICAgdW5pY29kZShyYXdfYnl0ZXMsICd1
dGY4JywgJ3JlcGxhY2UnKS5zcGxpdCgnXG4nKSwKICAgICAgICAgICAgICAgICBlcnJvcl9jb2xs
ZWN0b3IpCiAgICAgICAgICAgICAjIFRoZSB3YXJuaW5nIGFwcGVhcnMgb25seSBvbmNlLgpAQCAt
MTM4Myw3ICsxMzgzLDcgQEAgY2xhc3MgQ3BwbGludFRlc3QoQ3BwbGludFRlc3RCYXNlKToKIAog
ICAgIGRlZiB0ZXN0X2FsbG93X2JsYW5rX2xpbmVfYmVmb3JlX2Nsb3NpbmdfbmFtZXNwYWNlKHNl
bGYpOgogICAgICAgICBlcnJvcl9jb2xsZWN0b3IgPSBFcnJvckNvbGxlY3RvcihzZWxmLmFzc2Vy
dF8pCi0gICAgICAgIGNwcGxpbnQucHJvY2Vzc19maWxlX2RhdGEoJ2Zvby5jYycsICdjYycsCisg
ICAgICAgIGNwcGxpbnQucHJvY2Vzc19maWxlX2RhdGEoJ2Zvby5jcHAnLCAnY3BwJywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ25hbWVzcGFjZSB7JywgJycsICd9ICAvLyBu
YW1lc3BhY2UnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl9jb2xs
ZWN0b3IpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKDAsIGVycm9yX2NvbGxlY3Rvci5yZXN1
bHRzKCkuY291bnQoCkBAIC0xMzkyLDcgKzEzOTIsNyBAQCBjbGFzcyBDcHBsaW50VGVzdChDcHBs
aW50VGVzdEJhc2UpOgogCiAgICAgZGVmIHRlc3RfYWxsb3dfYmxhbmtfbGluZV9iZWZvcmVfaWZf
ZWxzZV9jaGFpbihzZWxmKToKICAgICAgICAgZXJyb3JfY29sbGVjdG9yID0gRXJyb3JDb2xsZWN0
b3Ioc2VsZi5hc3NlcnRfKQotICAgICAgICBjcHBsaW50LnByb2Nlc3NfZmlsZV9kYXRhKCdmb28u
Y2MnLCAnY2MnLAorICAgICAgICBjcHBsaW50LnByb2Nlc3NfZmlsZV9kYXRhKCdmb28uY3BwJywg
J2NwcCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWydpZiAoaG9nZSkgeycs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcnLCAgIyBObyB3YXJuaW5nCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd9IGVsc2UgaWYgKHBpeW8pIHsnLApA
QCAtMTQwOSw3ICsxNDA5LDcgQEAgY2xhc3MgQ3BwbGludFRlc3QoQ3BwbGludFRlc3RCYXNlKToK
IAogICAgIGRlZiB0ZXN0X2Vsc2Vfb25fc2FtZV9saW5lX2FzX2Nsb3NpbmdfYnJhY2VzKHNlbGYp
OgogICAgICAgICBlcnJvcl9jb2xsZWN0b3IgPSBFcnJvckNvbGxlY3RvcihzZWxmLmFzc2VydF8p
Ci0gICAgICAgIGNwcGxpbnQucHJvY2Vzc19maWxlX2RhdGEoJ2Zvby5jYycsICdjYycsCisgICAg
ICAgIGNwcGxpbnQucHJvY2Vzc19maWxlX2RhdGEoJ2Zvby5jcHAnLCAnY3BwJywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBbJ2lmIChob2dlKSB7JywKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICd9JywKQEAgLTE0OTYsMTUgKzE0OTYsMTUgQEAgY2xhc3MgQ3BwbGludFRlc3QoQ3BwbGlu
dFRlc3RCYXNlKToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGNw
cGxpbnQucGFyc2VfYXJndW1lbnRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyct
LWZpbHRlcj0rYSxiLC1jJ10pCiAKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKChbJ2Zv
by5jYyddLCB7fSksIGNwcGxpbnQucGFyc2VfYXJndW1lbnRzKFsnZm9vLmNjJ10pKQorICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoKFsnZm9vLmNwcCddLCB7fSksIGNwcGxpbnQucGFyc2Vf
YXJndW1lbnRzKFsnZm9vLmNwcCddKSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG9s
ZF9vdXRwdXRfZm9ybWF0LCBjcHBsaW50Ll9jcHBsaW50X3N0YXRlLm91dHB1dF9mb3JtYXQpCiAg
ICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvbGRfdmVyYm9zZV9sZXZlbCwgY3BwbGludC5f
Y3BwbGludF9zdGF0ZS52ZXJib3NlX2xldmVsKQogCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVx
dWFscygoW10sIHt9KSwgY3BwbGludC5wYXJzZV9hcmd1bWVudHMoW10pKQogICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMoKFtdLCB7fSksIGNwcGxpbnQucGFyc2VfYXJndW1lbnRzKFsnLS12
PTAnXSkpCiAKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKChbJ2Zvby5jYyddLCB7fSks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHBsaW50LnBhcnNlX2FyZ3VtZW50cyhb
Jy0tdj0xJywgJ2Zvby5jYyddKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKChbJ2Zv
by5jcHAnXSwge30pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3BwbGludC5wYXJz
ZV9hcmd1bWVudHMoWyctLXY9MScsICdmb28uY3BwJ10pKQogICAgICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMoMSwgY3BwbGludC5fY3BwbGludF9zdGF0ZS52ZXJib3NlX2xldmVsKQogICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoKFsnZm9vLmgnXSwge30pLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY3BwbGludC5wYXJzZV9hcmd1bWVudHMoWyctLXY9MycsICdmb28uaCdd
KSkKQEAgLTE1MTMsMTYgKzE1MTMsMTYgQEAgY2xhc3MgQ3BwbGludFRlc3QoQ3BwbGludFRlc3RC
YXNlKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwcGxpbnQucGFyc2VfYXJndW1l
bnRzKFsnLS12ZXJib3NlPTUnLCAnZm9vLmNwcCddKSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWxzKDUsIGNwcGxpbnQuX2NwcGxpbnRfc3RhdGUudmVyYm9zZV9sZXZlbCkKICAgICAgICAg
ICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjcHBsaW50LnBhcnNlX2FyZ3VtZW50cywgWyctLXY9ZicsICdmb28uY2MnXSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwcGxpbnQucGFyc2VfYXJndW1lbnRzLCBbJy0t
dj1mJywgJ2Zvby5jcHAnXSkKIAotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoKFsnZm9v
LmNjJ10sIHt9KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwcGxpbnQucGFyc2Vf
YXJndW1lbnRzKFsnLS1vdXRwdXQ9ZW1hY3MnLCAnZm9vLmNjJ10pKQorICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMoKFsnZm9vLmNwcCddLCB7fSksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjcHBsaW50LnBhcnNlX2FyZ3VtZW50cyhbJy0tb3V0cHV0PWVtYWNzJywgJ2Zvby5j
cHAnXSkpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscygnZW1hY3MnLCBjcHBsaW50Ll9j
cHBsaW50X3N0YXRlLm91dHB1dF9mb3JtYXQpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs
cygoWydmb28uaCddLCB7fSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHBsaW50
LnBhcnNlX2FyZ3VtZW50cyhbJy0tb3V0cHV0PXZzNycsICdmb28uaCddKSkKICAgICAgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWxzKCd2czcnLCBjcHBsaW50Ll9jcHBsaW50X3N0YXRlLm91dHB1dF9m
b3JtYXQpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTeXN0ZW1FeGl0LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY3BwbGludC5wYXJzZV9hcmd1bWVudHMsIFsnLS1vdXRw
dXQ9YmxhaCcsICdmb28uY2MnXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwcGxp
bnQucGFyc2VfYXJndW1lbnRzLCBbJy0tb3V0cHV0PWJsYWgnLCAnZm9vLmNwcCddKQogCiAgICAg
ICAgICAgICBmaWx0ID0gJy0sK3doaXRlc3BhY2UsLXdoaXRlc3BhY2UvaW5kZW50JwogICAgICAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoKFsnZm9vLmgnXSwge30pLApAQCAtMTUzMCwxOCArMTUz
MCwxOCBAQCBjbGFzcyBDcHBsaW50VGVzdChDcHBsaW50VGVzdEJhc2UpOgogICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbHMoWyctJywgJyt3aGl0ZXNwYWNlJywgJy13aGl0ZXNwYWNlL2luZGVu
dCddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3BwbGludC5fY3BwbGludF9zdGF0
ZS5maWx0ZXJzKQogCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscygoWydmb28uY2MnLCAn
Zm9vLmgnXSwge30pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3BwbGludC5wYXJz
ZV9hcmd1bWVudHMoWydmb28uY2MnLCAnZm9vLmgnXSkpCisgICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFscygoWydmb28uY3BwJywgJ2Zvby5oJ10sIHt9KSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNwcGxpbnQucGFyc2VfYXJndW1lbnRzKFsnZm9vLmNwcCcsICdmb28uaCddKSkK
IAotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoKFsnZm9vLmNjJ10sIHsnLS1mb28nOiAn
J30pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3BwbGludC5wYXJzZV9hcmd1bWVu
dHMoWyctLWZvbycsICdmb28uY2MnXSwgWydmb28nXSkpCi0gICAgICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFscygoWydmb28uY2MnXSwgeyctLWZvbyc6ICdiYXInfSksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjcHBsaW50LnBhcnNlX2FyZ3VtZW50cyhbJy0tZm9vPWJhcicsICdmb28u
Y2MnXSwgWydmb289J10pKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoKFsnZm9vLmNj
J10sIHt9KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwcGxpbnQucGFyc2VfYXJn
dW1lbnRzKFsnZm9vLmNjJ10sIFsnZm9vPSddKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKChbJ2Zvby5jcHAnXSwgeyctLWZvbyc6ICcnfSksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjcHBsaW50LnBhcnNlX2FyZ3VtZW50cyhbJy0tZm9vJywgJ2Zvby5jcHAnXSwgWydm
b28nXSkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscygoWydmb28uY3BwJ10sIHsnLS1m
b28nOiAnYmFyJ30pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3BwbGludC5wYXJz
ZV9hcmd1bWVudHMoWyctLWZvbz1iYXInLCAnZm9vLmNwcCddLCBbJ2Zvbz0nXSkpCisgICAgICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscygoWydmb28uY3BwJ10sIHt9KSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNwcGxpbnQucGFyc2VfYXJndW1lbnRzKFsnZm9vLmNwcCddLCBbJ2Zv
bz0nXSkpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTeXN0ZW1FeGl0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY3BwbGludC5wYXJzZV9hcmd1bWVudHMsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBbJy0tZm9vdHlwbz1iYXInLCAnZm9vLmNjJ10sIFsnZm9v
PSddKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyctLWZvb3R5cG89YmFyJywgJ2Zv
by5jcHAnXSwgWydmb289J10pCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBjcHBsaW50
Ll9VU0FHRSA9IG9sZF91c2FnZQogICAgICAgICAgICAgY3BwbGludC5fRVJST1JfQ0FURUdPUklF
UyA9IG9sZF9lcnJvcl9jYXRlZ29yaWVzCkBAIC0xNTkxLDggKzE1OTEsOCBAQCBjbGFzcyBDcHBs
aW50VGVzdChDcHBsaW50VGVzdEJhc2UpOgogICAgICAgICAjIG5hbWVkIG5hbWVzcGFjZXMgYXJl
IE9LLgogICAgICAgICBzZWxmLmFzc2VydF9sYW5ndWFnZV9ydWxlc19jaGVjaygnZm9vLmgnLCAn
bmFtZXNwYWNlIGZvbyB7JywgJycpCiAgICAgICAgIHNlbGYuYXNzZXJ0X2xhbmd1YWdlX3J1bGVz
X2NoZWNrKCdmb28uaCcsICduYW1lc3BhY2UgZm9vbmFtZXNwYWNlIHsnLCAnJykKLSAgICAgICAg
c2VsZi5hc3NlcnRfbGFuZ3VhZ2VfcnVsZXNfY2hlY2soJ2Zvby5jYycsICduYW1lc3BhY2Ugeycs
ICcnKQotICAgICAgICBzZWxmLmFzc2VydF9sYW5ndWFnZV9ydWxlc19jaGVjaygnZm9vLmNjJywg
J25hbWVzcGFjZSBmb28geycsICcnKQorICAgICAgICBzZWxmLmFzc2VydF9sYW5ndWFnZV9ydWxl
c19jaGVjaygnZm9vLmNwcCcsICduYW1lc3BhY2UgeycsICcnKQorICAgICAgICBzZWxmLmFzc2Vy
dF9sYW5ndWFnZV9ydWxlc19jaGVjaygnZm9vLmNwcCcsICduYW1lc3BhY2UgZm9vIHsnLCAnJykK
IAogICAgIGRlZiB0ZXN0X2J1aWxkX2NsYXNzKHNlbGYpOgogICAgICAgICAjIFRlc3QgdGhhdCB0
aGUgbGludGVyIGNhbiBwYXJzZSB0byB0aGUgZW5kIG9mIGNsYXNzIGRlZmluaXRpb25zLApAQCAt
MTg1NSw3ICsxODU1LDcgQEAgY2xhc3MgQ3BwbGludFRlc3QoQ3BwbGludFRlc3RCYXNlKToKIAog
ICAgIGRlZiBhc3NlcnRfbGludExvZ0NvZGVPbkVycm9yKHNlbGYsIGNvZGUsIGV4cGVjdGVkX21l
c3NhZ2UpOgogICAgICAgICAjIFNwZWNpYWwgYXNzZXJ0X2xpbnQgd2hpY2ggbG9ncyB0aGUgaW5w
dXQgY29kZSBvbiBlcnJvci4KLSAgICAgICAgcmVzdWx0ID0gc2VsZi5wZXJmb3JtX3NpbmdsZV9s
aW5lX2xpbnQoY29kZSwgJ2Zvby5jYycpCisgICAgICAgIHJlc3VsdCA9IHNlbGYucGVyZm9ybV9z
aW5nbGVfbGluZV9saW50KGNvZGUsICdmb28uY3BwJykKICAgICAgICAgaWYgcmVzdWx0ICE9IGV4
cGVjdGVkX21lc3NhZ2U6CiAgICAgICAgICAgICBzZWxmLmZhaWwoJ0ZvciBjb2RlOiAiJXMiXG5H
b3Q6ICIlcyJcbkV4cGVjdGVkOiAiJXMiJwogICAgICAgICAgICAgICAgICAgICAgICUgKGNvZGUs
IHJlc3VsdCwgZXhwZWN0ZWRfbWVzc2FnZSkpCkBAIC0xOTI3LDE4ICsxOTI3LDE4IEBAIGNsYXNz
IENwcGxpbnRUZXN0KENwcGxpbnRUZXN0QmFzZSk6CiAKICAgICAgICAgY29weXJpZ2h0X2xpbmUg
PSAnLy8gQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4nCiAK
LSAgICAgICAgZmlsZV9wYXRoID0gJ215ZGlyL2dvb2dsZWNsaWVudC9mb28uY2MnCisgICAgICAg
IGZpbGVfcGF0aCA9ICdteWRpci9nb29nbGVjbGllbnQvZm9vLmNwcCcKIAogICAgICAgICAjIFRo
ZXJlIHNob3VsZCBiZSBhIGNvcHlyaWdodCBtZXNzYWdlIGluIHRoZSBmaXJzdCAxMCBsaW5lcwog
ICAgICAgICBlcnJvcl9jb2xsZWN0b3IgPSBFcnJvckNvbGxlY3RvcihzZWxmLmFzc2VydF8pCi0g
ICAgICAgIGNwcGxpbnQucHJvY2Vzc19maWxlX2RhdGEoZmlsZV9wYXRoLCAnY2MnLCBbXSwgZXJy
b3JfY29sbGVjdG9yKQorICAgICAgICBjcHBsaW50LnByb2Nlc3NfZmlsZV9kYXRhKGZpbGVfcGF0
aCwgJ2NwcCcsIFtdLCBlcnJvcl9jb2xsZWN0b3IpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KAogICAgICAgICAgICAgMSwKICAgICAgICAgICAgIGVycm9yX2NvbGxlY3Rvci5yZXN1bHRfbGlz
dCgpLmNvdW50KGxlZ2FsX2NvcHlyaWdodF9tZXNzYWdlKSkKIAogICAgICAgICBlcnJvcl9jb2xs
ZWN0b3IgPSBFcnJvckNvbGxlY3RvcihzZWxmLmFzc2VydF8pCiAgICAgICAgIGNwcGxpbnQucHJv
Y2Vzc19maWxlX2RhdGEoCi0gICAgICAgICAgICBmaWxlX3BhdGgsICdjYycsCisgICAgICAgICAg
ICBmaWxlX3BhdGgsICdjcHAnLAogICAgICAgICAgICAgWycnIGZvciB1bnVzZWRfaSBpbiByYW5n
ZSgxMCldICsgW2NvcHlyaWdodF9saW5lXSwKICAgICAgICAgICAgIGVycm9yX2NvbGxlY3RvcikK
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoCkBAIC0xOTQ3LDE0ICsxOTQ3LDE0IEBAIGNsYXNz
IENwcGxpbnRUZXN0KENwcGxpbnRUZXN0QmFzZSk6CiAKICAgICAgICAgIyBUZXN0IHRoYXQgd2Fy
bmluZyBpc24ndCBpc3N1ZWQgaWYgQ29weXJpZ2h0IGxpbmUgYXBwZWFycyBlYXJseSBlbm91Z2gu
CiAgICAgICAgIGVycm9yX2NvbGxlY3RvciA9IEVycm9yQ29sbGVjdG9yKHNlbGYuYXNzZXJ0XykK
LSAgICAgICAgY3BwbGludC5wcm9jZXNzX2ZpbGVfZGF0YShmaWxlX3BhdGgsICdjYycsIFtjb3B5
cmlnaHRfbGluZV0sIGVycm9yX2NvbGxlY3RvcikKKyAgICAgICAgY3BwbGludC5wcm9jZXNzX2Zp
bGVfZGF0YShmaWxlX3BhdGgsICdjcHAnLCBbY29weXJpZ2h0X2xpbmVdLCBlcnJvcl9jb2xsZWN0
b3IpCiAgICAgICAgIGZvciBtZXNzYWdlIGluIGVycm9yX2NvbGxlY3Rvci5yZXN1bHRfbGlzdCgp
OgogICAgICAgICAgICAgaWYgbWVzc2FnZS5maW5kKCdsZWdhbC9jb3B5cmlnaHQnKSAhPSAtMToK
ICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoJ1VuZXhwZWN0ZWQgZXJyb3I6ICVzJyAlIG1lc3Nh
Z2UpCiAKICAgICAgICAgZXJyb3JfY29sbGVjdG9yID0gRXJyb3JDb2xsZWN0b3Ioc2VsZi5hc3Nl
cnRfKQogICAgICAgICBjcHBsaW50LnByb2Nlc3NfZmlsZV9kYXRhKAotICAgICAgICAgICAgZmls
ZV9wYXRoLCAnY2MnLAorICAgICAgICAgICAgZmlsZV9wYXRoLCAnY3BwJywKICAgICAgICAgICAg
IFsnJyBmb3IgdW51c2VkX2kgaW4gcmFuZ2UoOSldICsgW2NvcHlyaWdodF9saW5lXSwKICAgICAg
ICAgICAgIGVycm9yX2NvbGxlY3RvcikKICAgICAgICAgZm9yIG1lc3NhZ2UgaW4gZXJyb3JfY29s
bGVjdG9yLnJlc3VsdF9saXN0KCk6CkBAIC0yMDM2LDEzICsyMDM2LDEzIEBAIGNsYXNzIE9yZGVy
T2ZJbmNsdWRlc1Rlc3QoQ3BwbGludFRlc3RCYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bCgnZm9vL2ZvbycsIGNwcGxpbnQuX2Ryb3BfY29tbW9uX3N1ZmZpeGVzKCdmb28vZm9vLWlubC5o
JykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2Zvby9iYXIvZm9vJywKICAgICAgICAgICAg
ICAgICAgICAgICAgICBjcHBsaW50Ll9kcm9wX2NvbW1vbl9zdWZmaXhlcygnZm9vL2Jhci9mb29f
aW5sLmgnKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnZm9vL2ZvbycsIGNwcGxpbnQuX2Ry
b3BfY29tbW9uX3N1ZmZpeGVzKCdmb28vZm9vLmNjJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoJ2Zvby9mb28nLCBjcHBsaW50Ll9kcm9wX2NvbW1vbl9zdWZmaXhlcygnZm9vL2Zvby5jcHAn
KSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnZm9vL2Zvb191bnVzdWFsaW50ZXJuYWwnLAog
ICAgICAgICAgICAgICAgICAgICAgICAgIGNwcGxpbnQuX2Ryb3BfY29tbW9uX3N1ZmZpeGVzKCdm
b28vZm9vX3VudXN1YWxpbnRlcm5hbC5oJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgY3BwbGludC5fZHJvcF9jb21tb25fc3VmZml4ZXMo
J190ZXN0LmNjJykpCisgICAgICAgICAgICAgICAgICAgICAgICAgY3BwbGludC5fZHJvcF9jb21t
b25fc3VmZml4ZXMoJ190ZXN0LmNwcCcpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd0ZXN0
JywKLSAgICAgICAgICAgICAgICAgICAgICAgICBjcHBsaW50Ll9kcm9wX2NvbW1vbl9zdWZmaXhl
cygndGVzdC5jYycpKQorICAgICAgICAgICAgICAgICAgICAgICAgIGNwcGxpbnQuX2Ryb3BfY29t
bW9uX3N1ZmZpeGVzKCd0ZXN0LmNwcCcpKQogCiAKIGNsYXNzIE9yZGVyT2ZJbmNsdWRlc1Rlc3Qo
Q3BwbGludFRlc3RCYXNlKToKQEAgLTIyMzgsMTMgKzIyMzgsMTMgQEAgY2xhc3MgT3JkZXJPZklu
Y2x1ZGVzVGVzdChDcHBsaW50VGVzdEJhc2UpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdm
b28vZm9vJywgY3BwbGludC5fZHJvcF9jb21tb25fc3VmZml4ZXMoJ2Zvby9mb28taW5sLmgnKSkK
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnZm9vL2Jhci9mb28nLAogICAgICAgICAgICAgICAg
ICAgICAgICAgIGNwcGxpbnQuX2Ryb3BfY29tbW9uX3N1ZmZpeGVzKCdmb28vYmFyL2Zvb19pbmwu
aCcpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdmb28vZm9vJywgY3BwbGludC5fZHJvcF9j
b21tb25fc3VmZml4ZXMoJ2Zvby9mb28uY2MnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgn
Zm9vL2ZvbycsIGNwcGxpbnQuX2Ryb3BfY29tbW9uX3N1ZmZpeGVzKCdmb28vZm9vLmNwcCcpKQog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdmb28vZm9vX3VudXN1YWxpbnRlcm5hbCcsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgY3BwbGludC5fZHJvcF9jb21tb25fc3VmZml4ZXMoJ2Zvby9m
b29fdW51c3VhbGludGVybmFsLmgnKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICBjcHBsaW50Ll9kcm9wX2NvbW1vbl9zdWZmaXhlcygnX3Rl
c3QuY2MnKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICBjcHBsaW50Ll9kcm9wX2NvbW1vbl9z
dWZmaXhlcygnX3Rlc3QuY3BwJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3Rlc3QnLAot
ICAgICAgICAgICAgICAgICAgICAgICAgIGNwcGxpbnQuX2Ryb3BfY29tbW9uX3N1ZmZpeGVzKCd0
ZXN0LmNjJykpCisgICAgICAgICAgICAgICAgICAgICAgICAgY3BwbGludC5fZHJvcF9jb21tb25f
c3VmZml4ZXMoJ3Rlc3QuY3BwJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3Rlc3QnLAog
ICAgICAgICAgICAgICAgICAgICAgICAgIGNwcGxpbnQuX2Ryb3BfY29tbW9uX3N1ZmZpeGVzKCd0
ZXN0LmNwcCcpKQogCi0tIAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="17731"
          type_id="1"
          status="+"
          setter="manyoso"
    />
          </attachment>
      

    </bug>

</bugzilla>