<?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>76973</bug_id>
          
          <creation_ts>2012-01-24 18:42:11 -0800</creation_ts>
          <short_desc>webkitpy: clean up a bunch of test scaffolding</short_desc>
          <delta_ts>2012-01-26 15:27:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          <dependson>77080</dependson>
          
          <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>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>541949</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-01-24 18:42:11 -0800</bug_when>
    <thetext>webkitpy: clean up a bunch of test scaffolding</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541955</commentid>
    <comment_count>1</comment_count>
      <attachid>123872</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-01-24 18:57:24 -0800</bug_when>
    <thetext>Created attachment 123872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541970</commentid>
    <comment_count>2</comment_count>
      <attachid>123872</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-24 19:34:09 -0800</bug_when>
    <thetext>Comment on attachment 123872
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542714</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-01-25 15:46:12 -0800</bug_when>
    <thetext>Committed r105935: &lt;http://trac.webkit.org/changeset/105935&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542810</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2012-01-25 17:29:58 -0800</bug_when>
    <thetext>This appears to have broken two tests &lt;http://build.webkit.org/builders/SnowLeopard%20Intel%20Release%20%28WebKit2%20Tests%29/builds/17781/steps/webkitpy-test/logs/stdio&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542816</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-01-25 17:41:48 -0800</bug_when>
    <thetext>Yup, fix is in bug 77058 (landing shortly).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>542968</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-01-26 01:47:25 -0800</bug_when>
    <thetext>&gt; Yup, fix is in bug 77058 (landing shortly).

The fix didn&apos;t appear to work.  :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543563</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-01-26 15:27:50 -0800</bug_when>
    <thetext>Trying a slightly different fix in bug 77153.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123872</attachid>
            <date>2012-01-24 18:57:24 -0800</date>
            <delta_ts>2012-01-24 19:34:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76973-20120124185723.patch</filename>
            <type>text/plain</type>
            <size>17350</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1ODM1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzAwZDMxY2M2MDM0N2I4ZDljMjk5N2M3MDBlYmQ0MjA4
NTZmMTZjZS4uYWI0ZGQ1ODUxYzNmMzk2ZTkxOWYxNWFkODNiYjc3ZDI4YTNmZjQ3NyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI4
IEBACiAyMDEyLTAxLTI0ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIHdlYmtpdHB5OiBjbGVhbiB1cCBhIGJ1bmNoIG9mIHRlc3Qgc2NhZmZvbGRpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTczCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgd2VyZSBz
ZXZlcmFsIGhlbHBlciBtb2R1bGVzIGluIHRoZSB3ZWJraXRweS50ZXN0IHBhY2thZ2UKKyAgICAg
ICAgdGhhdCBhcHBlYXIgdG8gb25seSBiZSB1c2VkIGJ5IGV4ZWN1dGl2ZV91bml0dGVzdC5weS4g
SSBhbQorICAgICAgICByb2xsaW5nIHRoZW0gYWxsIGludG8gdGhhdCBmaWxlIHRvIG1ha2UgdGhh
dCBjbGVhcmVyLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4
ZWN1dGl2ZV91bml0dGVzdC5weToKKyAgICAgICAgKEV4ZWN1dGl2ZVRlc3QudGVzdF9ydW5fY29t
bWFuZF9hcmdzX3R5cGUpOgorICAgICAgICAoRXhlY3V0aXZlVGVzdC50ZXN0X3J1bl9jb21tYW5k
X3dpdGhfdW5pY29kZSk6CisgICAgICAgIChFeGVjdXRpdmVUZXN0LnRlc3RfcnVubmluZ19waWRz
KToKKyAgICAgICAgKGNvbW1hbmRfbGluZSk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZmlsZXV0aWxzLnB5OiBSZW1vdmVkLgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdGVzdC9jYXQucHk6IFJlbW92ZWQuCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS90ZXN0L2NhdF91bml0dGVzdC5weTogUmVtb3ZlZC4KKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3Rlc3QvZWNoby5weTogUmVtb3ZlZC4KKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3Rlc3QvZWNob191bml0dGVzdC5weTogUmVtb3ZlZC4KKworMjAxMi0wMS0y
NCAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KKwogICAgICAgICB3ZWJraXRw
eTogbmV3LXJ1bi13ZWJraXQtaHR0cGQgaXMgYnJva2VuCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03Njk2MwogCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlX3VuaXR0ZXN0LnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZV91bml0dGVzdC5weQppbmRl
eCBhMDg3OGY5Y2U4M2EyNjRjMWYwYjRmNTQ5ZThjZWQ3YzI4YTcxNmYwLi40MjU2MDlkYTZjZTli
MGEwNzM5YjgzYjFmMjFiZTIyYjNhZDg0NzA2IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVfdW5pdHRlc3QucHkKQEAgLTM1
LDcgKzM1LDYgQEAgaW1wb3J0IHVuaXR0ZXN0CiAKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3Rl
bS5leGVjdXRpdmUgaW1wb3J0IEV4ZWN1dGl2ZSwgU2NyaXB0RXJyb3IKIGZyb20gd2Via2l0cHku
Y29tbW9uLnN5c3RlbS5maWxlc3lzdGVtX21vY2sgaW1wb3J0IE1vY2tGaWxlU3lzdGVtCi1mcm9t
IHdlYmtpdHB5LnRlc3QgaW1wb3J0IGNhdCwgZWNobwogCiAKIGNsYXNzIFNjcmlwdEVycm9yVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC02NCw4ICs2MywxMSBAQCBkZWYgbmV2ZXJfZW5kaW5n
X2NvbW1hbmQoKToKICAgICByZXR1cm4gWyd5ZXMnXQogCiAKLWNsYXNzIEV4ZWN1dGl2ZVRlc3Qo
dW5pdHRlc3QuVGVzdENhc2UpOgorZGVmIGNvbW1hbmRfbGluZShjbWQsICphcmdzKToKKyAgICBy
ZXR1cm4gW3N5cy5leGVjdXRhYmxlLCBfX2ZpbGVfXywgJy0tJyArIGNtZF0gKyBsaXN0KGFyZ3Mp
CisKIAorY2xhc3MgRXhlY3V0aXZlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIGFz
c2VydF9pbnRlcnByZXRlcl9mb3JfY29udGVudChzZWxmLCBpbnRlcHJldGVyLCBjb250ZW50KToK
ICAgICAgICAgZnMgPSBNb2NrRmlsZVN5c3RlbSgpCiAgICAgICAgIGZpbGVfcGF0aCA9IE5vbmUK
QEAgLTEwMiw4ICsxMDQsOCBAQCBjbGFzcyBFeGVjdXRpdmVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICAgICAgZXhlY3V0aXZlID0gRXhlY3V0aXZlKCkKICAgICAgICAgc2VsZi5hc3NlcnRS
YWlzZXMoQXNzZXJ0aW9uRXJyb3IsIGV4ZWN1dGl2ZS5ydW5fY29tbWFuZCwgImVjaG8iKQogICAg
ICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgZXhlY3V0aXZlLnJ1bl9jb21t
YW5kLCB1ImVjaG8iKQotICAgICAgICBleGVjdXRpdmUucnVuX2NvbW1hbmQoZWNoby5jb21tYW5k
X2FyZ3VtZW50cygnZm9vJykpCi0gICAgICAgIGV4ZWN1dGl2ZS5ydW5fY29tbWFuZCh0dXBsZShl
Y2hvLmNvbW1hbmRfYXJndW1lbnRzKCdmb28nKSkpCisgICAgICAgIGV4ZWN1dGl2ZS5ydW5fY29t
bWFuZChjb21tYW5kX2xpbmUoJ2VjaG8nLCAnZm9vJykpCisgICAgICAgIGV4ZWN1dGl2ZS5ydW5f
Y29tbWFuZCh0dXBsZShjb21tYW5kX2xpbmUoJ2VjaG8nLCAnZm9vJykpKQogCiAgICAgZGVmIHRl
c3RfcnVuX2NvbW1hbmRfd2l0aF91bmljb2RlKHNlbGYpOgogICAgICAgICAiIiJWYWxpZGF0ZSB0
aGF0IGl0IGlzIHNhZmUgdG8gcGFzcyB1bmljb2RlKCkgb2JqZWN0cwpAQCAtMTI0LDI0ICsxMjYs
MjQgQEAgY2xhc3MgRXhlY3V0aXZlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAgICAg
ZXhlY3V0aXZlID0gRXhlY3V0aXZlKCkKIAotICAgICAgICBvdXRwdXQgPSBleGVjdXRpdmUucnVu
X2NvbW1hbmQoY2F0LmNvbW1hbmRfYXJndW1lbnRzKCksIGlucHV0PXVuaWNvZGVfdG9yX2lucHV0
KQorICAgICAgICBvdXRwdXQgPSBleGVjdXRpdmUucnVuX2NvbW1hbmQoY29tbWFuZF9saW5lKCdj
YXQnKSwgaW5wdXQ9dW5pY29kZV90b3JfaW5wdXQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz
KG91dHB1dCwgdW5pY29kZV90b3Jfb3V0cHV0KQogCi0gICAgICAgIG91dHB1dCA9IGV4ZWN1dGl2
ZS5ydW5fY29tbWFuZChlY2hvLmNvbW1hbmRfYXJndW1lbnRzKCItbiIsIHVuaWNvZGVfdG9yX2lu
cHV0KSkKKyAgICAgICAgb3V0cHV0ID0gZXhlY3V0aXZlLnJ1bl9jb21tYW5kKGNvbW1hbmRfbGlu
ZSgnZWNobycsIHVuaWNvZGVfdG9yX2lucHV0KSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMo
b3V0cHV0LCB1bmljb2RlX3Rvcl9vdXRwdXQpCiAKLSAgICAgICAgb3V0cHV0ID0gZXhlY3V0aXZl
LnJ1bl9jb21tYW5kKGVjaG8uY29tbWFuZF9hcmd1bWVudHMoIi1uIiwgdW5pY29kZV90b3JfaW5w
dXQpLCBkZWNvZGVfb3V0cHV0PUZhbHNlKQorICAgICAgICBvdXRwdXQgPSBleGVjdXRpdmUucnVu
X2NvbW1hbmQoY29tbWFuZF9saW5lKCdlY2hvJywgdW5pY29kZV90b3JfaW5wdXQpLCBkZWNvZGVf
b3V0cHV0PUZhbHNlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhvdXRwdXQsIGVuY29kZWRf
dG9yKQogCiAgICAgICAgICMgTWFrZSBzdXJlIHRoYXQgc3RyKCkgaW5wdXQgYWxzbyB3b3Jrcy4K
LSAgICAgICAgb3V0cHV0ID0gZXhlY3V0aXZlLnJ1bl9jb21tYW5kKGNhdC5jb21tYW5kX2FyZ3Vt
ZW50cygpLCBpbnB1dD1lbmNvZGVkX3RvciwgZGVjb2RlX291dHB1dD1GYWxzZSkKKyAgICAgICAg
b3V0cHV0ID0gZXhlY3V0aXZlLnJ1bl9jb21tYW5kKGNvbW1hbmRfbGluZSgnY2F0JyksIGlucHV0
PWVuY29kZWRfdG9yLCBkZWNvZGVfb3V0cHV0PUZhbHNlKQogICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhvdXRwdXQsIGVuY29kZWRfdG9yKQogCiAgICAgICAgICMgRklYTUU6IFdlIHNob3VsZCBv
bmx5IGhhdmUgb25lIHJ1biogbWV0aG9kIHRvIHRlc3QKLSAgICAgICAgb3V0cHV0ID0gZXhlY3V0
aXZlLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbChlY2hvLmNvbW1hbmRfYXJndW1lbnRzKCItbiIsIHVu
aWNvZGVfdG9yX2lucHV0KSwgcXVpZXQ9VHJ1ZSkKKyAgICAgICAgb3V0cHV0ID0gZXhlY3V0aXZl
LnJ1bl9hbmRfdGhyb3dfaWZfZmFpbChjb21tYW5kX2xpbmUoJ2VjaG8nLCB1bmljb2RlX3Rvcl9p
bnB1dCksIHF1aWV0PVRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKG91dHB1dCwgdW5p
Y29kZV90b3Jfb3V0cHV0KQogCi0gICAgICAgIG91dHB1dCA9IGV4ZWN1dGl2ZS5ydW5fYW5kX3Ro
cm93X2lmX2ZhaWwoZWNoby5jb21tYW5kX2FyZ3VtZW50cygiLW4iLCB1bmljb2RlX3Rvcl9pbnB1
dCksIHF1aWV0PVRydWUsIGRlY29kZV9vdXRwdXQ9RmFsc2UpCisgICAgICAgIG91dHB1dCA9IGV4
ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2ZhaWwoY29tbWFuZF9saW5lKCdlY2hvJywgdW5pY29k
ZV90b3JfaW5wdXQpLCBxdWlldD1UcnVlLCBkZWNvZGVfb3V0cHV0PUZhbHNlKQogICAgICAgICBz
ZWxmLmFzc2VydEVxdWFscyhvdXRwdXQsIGVuY29kZWRfdG9yKQogCiAgICAgZGVmIHRlc3Rfa2ls
bF9wcm9jZXNzKHNlbGYpOgpAQCAtMjA3LDMgKzIwOSwxNyBAQCBjbGFzcyBFeGVjdXRpdmVUZXN0
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgZXhlY3V0aXZlID0gRXhlY3V0aXZlKCkKICAg
ICAgICAgcGlkcyA9IGV4ZWN1dGl2ZS5ydW5uaW5nX3BpZHMoKQogICAgICAgICBzZWxmLmFzc2Vy
dFRydWUob3MuZ2V0cGlkKCkgaW4gcGlkcykKKworCitkZWYgbWFpbihwbGF0Zm9ybSwgc3RkaW4s
IHN0ZG91dCwgY21kLCBhcmdzKToKKyAgICBpZiBwbGF0Zm9ybSA9PSAnd2luMzInIGFuZCBoYXNh
dHRyKHN0ZG91dCwgJ2ZpbGVubycpOgorICAgICAgICBpbXBvcnQgbXN2Y3J0CisgICAgICAgIG1z
dmNydC5zZXRtb2RlKHN0ZG91dC5maWxlbm8oKSwgb3MuT19CSU5BUlkpCisgICAgaWYgY21kID09
ICctLWNhdCc6CisgICAgICAgIHN0ZG91dC53cml0ZShzdGRpbi5yZWFkKCkpCisgICAgZWxpZiBj
bWQgPT0gJy0tZWNobyc6CisgICAgICAgIHN0ZG91dC53cml0ZSgnICcuam9pbihhcmdzKSkKKyAg
ICByZXR1cm4gMAorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nIGFuZCBsZW4oc3lzLmFyZ3Yp
ID4gMSBhbmQgc3lzLmFyZ3ZbMV0gaW4gKCctLWNhdCcsICctLWVjaG8nKToKKyAgICBzeXMuZXhp
dChtYWluKHN5cy5wbGF0Zm9ybSwgc3lzLnN0ZGluLCBzeXMuc3Rkb3V0LCBzeXMuYXJndlsxXSwg
c3lzLmFyZ3ZbMjpdKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3N5c3RlbS9maWxldXRpbHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0
ZW0vZmlsZXV0aWxzLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NTgyMWY4MzU4
MzhkZmUzNTY4ZDc1NTA3ZGQ5YTIyNDExNGM2YzY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3Rl
bS9maWxldXRpbHMucHkKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi0jIENvcHlyaWdo
dCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSMgYXJlIG1ldDoKLSMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJyBBTkQKLSMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSMgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQot
IyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUgotIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0jIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
Ci0jIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSCi0jIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCi0jIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0jIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLWltcG9ydCBzeXMKLQotCi1kZWYgbWFrZV9z
dGRvdXRfYmluYXJ5KCk6Ci0gICAgIiIiUHV0cyBzeXMuc3Rkb3V0IGludG8gYmluYXJ5IG1vZGUg
KG9uIHBsYXRmb3JtcyB0aGF0IGhhdmUgYSBkaXN0aW5jdGlvbgotICAgIGJldHdlZW4gdGV4dCBh
bmQgYmluYXJ5IG1vZGUpLiIiIgotICAgIGlmIHN5cy5wbGF0Zm9ybSAhPSAnd2luMzInIG9yIG5v
dCBoYXNhdHRyKHN5cy5zdGRvdXQsICdmaWxlbm8nKToKLSAgICAgICAgcmV0dXJuCi0gICAgaW1w
b3J0IG1zdmNydAotICAgIGltcG9ydCBvcwotICAgIG1zdmNydC5zZXRtb2RlKHN5cy5zdGRvdXQu
ZmlsZW5vKCksIG9zLk9fQklOQVJZKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90ZXN0L2NhdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9jYXQucHkKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjNTZkMWM3ZjE3OGQzZWY0YmMwMGE0NWNhNGYwNjJh
MzY2NThkZDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L2NhdC5weQorKysgL2Rldi9udWxsCkBAIC0xLDQy
ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotIyBhcmUgbWV0OgotIyAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAotIyBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCi0jIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwK
LSMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IKLSMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSMgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKLSMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotaW1wb3J0
IG9zLnBhdGgKLWltcG9ydCBzeXMKLQotIyBBZGQgV2ViS2l0VG9vbHMvU2NyaXB0cyB0byB0aGUg
cGF0aCB0byBlbnN1cmUgd2UgY2FuIGZpbmQgd2Via2l0cHkuCi1zeXMucGF0aC5hcHBlbmQob3Mu
cGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKSkp
Ci0KLWZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgZmlsZXV0aWxzCi0KLQotZGVm
IGNvbW1hbmRfYXJndW1lbnRzKCphcmdzKToKLSAgICByZXR1cm4gW3N5cy5leGVjdXRhYmxlLCBf
X2ZpbGVfX10gKyBsaXN0KGFyZ3MpCi0KLQotZGVmIG1haW4oKToKLSAgICBmaWxldXRpbHMubWFr
ZV9zdGRvdXRfYmluYXJ5KCkKLSAgICBzeXMuc3Rkb3V0LndyaXRlKHN5cy5zdGRpbi5yZWFkKCkp
Ci0gICAgcmV0dXJuIDAKLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBzeXMuZXhp
dChtYWluKCkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvY2F0X3Vu
aXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L2NhdF91bml0dGVzdC5weQpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGVkMWY2NzlhODQ4N2EwYTNkNTEzMzAwYWFm
ODZiNzVjYmUyYmE2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvY2F0X3VuaXR0ZXN0LnB5CisrKyAvZGV2
L251bGwKQEAgLTEsNTIgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBt
ZXQ6Ci0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0jIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECi0jIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSMgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSMg
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTAotIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotIyBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgot
IyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAotIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotIyBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotCi1pbXBvcnQgU3RyaW5nSU8KLWltcG9ydCBvcy5wYXRoCi1pbXBvcnQgc3lzCi1pbXBv
cnQgdW5pdHRlc3QKLQotZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBleGVjdXRp
dmUsIG91dHB1dGNhcHR1cmUKLWZyb20gd2Via2l0cHkudGVzdCBpbXBvcnQgY2F0Ci0KLQotY2xh
c3MgQ2F0VGVzdChvdXRwdXRjYXB0dXJlLk91dHB1dENhcHR1cmVUZXN0Q2FzZUJhc2UpOgotICAg
IGRlZiBhc3NlcnRfY2F0KHNlbGYsIGlucHV0KToKLSAgICAgICAgc2F2ZWRfc3RkaW4gPSBzeXMu
c3RkaW4KLSAgICAgICAgc3lzLnN0ZGluID0gU3RyaW5nSU8uU3RyaW5nSU8oaW5wdXQpCi0gICAg
ICAgIGNhdC5tYWluKCkKLSAgICAgICAgc2VsZi5hc3NlcnRTdGRvdXQoaW5wdXQpCi0gICAgICAg
IHN5cy5zdGRpbiA9IHNhdmVkX3N0ZGluCi0KLSAgICBkZWYgdGVzdF9iYXNpYyhzZWxmKToKLSAg
ICAgICAgc2VsZi5hc3NlcnRfY2F0KCdmb28gYmFyIGJhelxuJykKLQotICAgIGRlZiB0ZXN0X25v
X25ld2xpbmUoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0X2NhdCgnZm9vIGJhciBiYXonKQot
Ci0gICAgZGVmIHRlc3RfdW5pY29kZShzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRfY2F0KHUn
V2ViS2l0IFx1MjY2MSBUb3IgQXJuZSBWZXN0Ylx1MDBGOCEnKQotCi0gICAgZGVmIHRlc3RfYXNf
Y29tbWFuZChzZWxmKToKLSAgICAgICAgaW5wdXQgPSAnZm9vIGJhciBiYXpcbicKLSAgICAgICAg
b3V0cHV0ID0gZXhlY3V0aXZlLkV4ZWN1dGl2ZSgpLnJ1bl9jb21tYW5kKGNhdC5jb21tYW5kX2Fy
Z3VtZW50cygpLCBpbnB1dD1pbnB1dCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnB1dCwg
b3V0cHV0KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90ZXN0L2VjaG8ucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvZWNoby5weQpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNWQ0ZDhlMmQ1MmI4ZjljNjA0MjhiM2JhMzJlMzAyMGU5NDI3ZDFjOS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rlc3QvZWNoby5weQorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLSMg
Q29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMg
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotIyBhcmUgbWV0OgotIyAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
IwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnIEFORAotIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCi0jIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSMgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IKLSMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKLSMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSMg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotaW1wb3J0IG9zLnBhdGgKLWlt
cG9ydCBzeXMKLQotIyBBZGQgV2ViS2l0VG9vbHMvU2NyaXB0cyB0byB0aGUgcGF0aCB0byBlbnN1
cmUgd2UgY2FuIGZpbmQgd2Via2l0cHkuCi1zeXMucGF0aC5hcHBlbmQob3MucGF0aC5kaXJuYW1l
KG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKSkpCi0KLWZyb20gd2Vi
a2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgZmlsZXV0aWxzCi0KLQotZGVmIGNvbW1hbmRfYXJn
dW1lbnRzKCphcmdzKToKLSAgICByZXR1cm4gW3N5cy5leGVjdXRhYmxlLCBfX2ZpbGVfX10gKyBs
aXN0KGFyZ3MpCi0KLQotZGVmIG1haW4oYXJncz1Ob25lKToKLSAgICBpZiBhcmdzIGlzIE5vbmU6
Ci0gICAgICAgIGFyZ3MgPSBzeXMuYXJndlsxOl0KLQotICAgIGZpbGV1dGlscy5tYWtlX3N0ZG91
dF9iaW5hcnkoKQotCi0gICAgcHJpbnRfbmV3bGluZSA9IFRydWUKLSAgICBpZiBsZW4oYXJncykg
YW5kIGFyZ3NbMF0gPT0gJy1uJzoKLSAgICAgICAgcHJpbnRfbmV3bGluZSA9IEZhbHNlCi0gICAg
ICAgIGRlbCBhcmdzWzBdCi0gICAgc3lzLnN0ZG91dC53cml0ZSgnICcuam9pbihhcmdzKSkKLSAg
ICBpZiBwcmludF9uZXdsaW5lOgotICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCdcbicpCi0gICAg
cmV0dXJuIDAKLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBzeXMuZXhpdChtYWlu
KCkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rlc3QvZWNob191bml0dGVz
dC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9lY2hvX3VuaXR0ZXN0LnB5CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzEzYjVlZWExOWUyM2Q1YTc2ZTE4NDZiOGNjNTBm
ZDQ3NmMyZTM5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdGVzdC9lY2hvX3VuaXR0ZXN0LnB5CisrKyAvZGV2L251
bGwKQEAgLTEsNjQgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6
Ci0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0jIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECi0jIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKLSMgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTAotIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgotIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotIyBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAotIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotCi1pbXBvcnQgb3MucGF0aAotaW1wb3J0IHN5cwotaW1wb3J0IHVuaXR0ZXN0Ci0KLWZyb20g
d2Via2l0cHkuY29tbW9uLnN5c3RlbSBpbXBvcnQgZXhlY3V0aXZlLCBvdXRwdXRjYXB0dXJlCi1m
cm9tIHdlYmtpdHB5LnRlc3QgaW1wb3J0IGVjaG8KLQotCi1jbGFzcyBFY2hvVGVzdChvdXRwdXRj
YXB0dXJlLk91dHB1dENhcHR1cmVUZXN0Q2FzZUJhc2UpOgotICAgIGRlZiB0ZXN0X2Jhc2ljKHNl
bGYpOgotICAgICAgICBlY2hvLm1haW4oWydmb28nLCAnYmFyJywgJ2JheiddKQotICAgICAgICBz
ZWxmLmFzc2VydFN0ZG91dCgnZm9vIGJhciBiYXpcbicpCi0KLSAgICBkZWYgdGVzdF9ub19uZXds
aW5lKHNlbGYpOgotICAgICAgICBlY2hvLm1haW4oWyctbicsICdmb28nLCAnYmFyJywgJ2Jheidd
KQotICAgICAgICBzZWxmLmFzc2VydFN0ZG91dCgnZm9vIGJhciBiYXonKQotCi0gICAgZGVmIHRl
c3RfdW5pY29kZShzZWxmKToKLSAgICAgICAgZWNoby5tYWluKFt1J1dlYktpdCBcdTI2NjEnLCAn
VG9yIEFybmUnLCB1J1Zlc3RiXHUwMEY4ISddKQotICAgICAgICBzZWxmLmFzc2VydFN0ZG91dCh1
J1dlYktpdCBcdTI2NjEgVG9yIEFybmUgVmVzdGJcdTAwRjghXG4nKQotCi0gICAgZGVmIHRlc3Rf
YXJndW1lbnRfb3JkZXIoc2VsZik6Ci0gICAgICAgIGVjaG8ubWFpbihbJ2ZvbycsICctbicsICdi
YXInXSkKLSAgICAgICAgc2VsZi5hc3NlcnRTdGRvdXQoJ2ZvbyAtbiBiYXJcbicpCi0KLSAgICBk
ZWYgdGVzdF9lbXB0eV9hcmd1bWVudHMoc2VsZik6Ci0gICAgICAgIG9sZF9hcmd2ID0gc3lzLmFy
Z3YKLSAgICAgICAgc3lzLmFyZ3YgPSBbJ2VjaG8ucHknLCAnZm9vJywgJ2JhcicsICdiYXonXQot
ICAgICAgICBlY2hvLm1haW4oW10pCi0gICAgICAgIHNlbGYuYXNzZXJ0U3Rkb3V0KCdcbicpCi0g
ICAgICAgIHN5cy5hcmd2ID0gb2xkX2FyZ3YKLQotICAgIGRlZiB0ZXN0X25vX2FyZ3VtZW50cyhz
ZWxmKToKLSAgICAgICAgb2xkX2FyZ3YgPSBzeXMuYXJndgotICAgICAgICBzeXMuYXJndiA9IFsn
ZWNoby5weScsICdmb28nLCAnYmFyJywgJ2JheiddCi0gICAgICAgIGVjaG8ubWFpbigpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0U3Rkb3V0KCdmb28gYmFyIGJhelxuJykKLSAgICAgICAgc3lzLmFyZ3Yg
PSBvbGRfYXJndgotCi0gICAgZGVmIHRlc3RfYXNfY29tbWFuZChzZWxmKToKLSAgICAgICAgb3V0
cHV0ID0gZXhlY3V0aXZlLkV4ZWN1dGl2ZSgpLnJ1bl9jb21tYW5kKGVjaG8uY29tbWFuZF9hcmd1
bWVudHMoJ2ZvbycsICdiYXInLCAnYmF6JykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0
cHV0LCAnZm9vIGJhciBiYXpcbicpCg==
</data>
<flag name="review"
          id="124996"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>