<?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>31861</bug_id>
          
          <creation_ts>2009-11-25 01:05:33 -0800</creation_ts>
          <short_desc>Update pywebsocket to 0.4.2</short_desc>
          <delta_ts>2009-11-25 22:16:24 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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>
          
          <blocked>31604</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yuzo Fujishima">yuzo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>166368</commentid>
    <comment_count>0</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2009-11-25 01:05:33 -0800</bug_when>
    <thetext>Update pywebsocket to 0.4.2 (http://code.google.com/p/pywebsocket/).

In the new version a few bugs have been fixed, including one for https://bugs.webkit.org/show_bug.cgi?id=31603 (already fixed in the WebKit copy).
Also, the new version has better logging, which is needed for https://bugs.webkit.org/show_bug.cgi?id=31604</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166369</commentid>
    <comment_count>1</comment_count>
      <attachid>43830</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2009-11-25 01:07:20 -0800</bug_when>
    <thetext>Created attachment 43830
Update pywebsocket to 0.4.2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166445</commentid>
    <comment_count>2</comment_count>
      <attachid>43830</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-25 07:49:18 -0800</bug_when>
    <thetext>Comment on attachment 43830
Update pywebsocket to 0.4.2

LGTM too, but it look slike the new files are missing.  Was this uploaded by &apos;bugzilla-tool post-diff&apos; or post-commits?  Those should both use --binary and correctly include new files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166590</commentid>
    <comment_count>3</comment_count>
      <attachid>43883</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2009-11-25 18:04:57 -0800</bug_when>
    <thetext>Created attachment 43883
Update pywebsocket to 0.4.2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166592</commentid>
    <comment_count>4</comment_count>
      <attachid>43884</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2009-11-25 18:05:47 -0800</bug_when>
    <thetext>Created attachment 43884
Update pywebsocket to 0.4.2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166594</commentid>
    <comment_count>5</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2009-11-25 18:11:19 -0800</bug_when>
    <thetext>Hi, thank you for the review.

The file permission for the .py files were 755 for the first patch.
That might have caused the commit issue?

I&apos;ve changed the permission to 644, which is the same as that of the files
already in the repository.

(I used bugzilla-tool  post-commits.
bugzilla-tool help post-commits/post-diff doesn&apos;t show --binary
option and bugzilla-tool actually rejected the option for me. So I haven&apos;t
used it.)

Yuzo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166635</commentid>
    <comment_count>6</comment_count>
      <attachid>43884</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-25 22:04:03 -0800</bug_when>
    <thetext>Comment on attachment 43884
Update pywebsocket to 0.4.2

I think I was simply confused.  I&apos;m not sure there was any issue w/ the first patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166642</commentid>
    <comment_count>7</comment_count>
      <attachid>43884</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-25 22:16:18 -0800</bug_when>
    <thetext>Comment on attachment 43884
Update pywebsocket to 0.4.2

Clearing flags on attachment: 43884

Committed r51406: &lt;http://trac.webkit.org/changeset/51406&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166643</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-25 22:16:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43830</attachid>
            <date>2009-11-25 01:07:20 -0800</date>
            <delta_ts>2009-11-25 18:04:51 -0800</delta_ts>
            <desc>Update pywebsocket to 0.4.2</desc>
            <filename>bug-31861-20091125180718.patch</filename>
            <type>text/plain</type>
            <size>20745</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBmNzFkOGY3Li4zYTJkZmQ3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMDktMTEt
MjUgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBweXdlYnNvY2tldCB0byAwLjQu
MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE4NjEK
KworICAgICAgICAqIHB5d2Vic29ja2V0L2V4YW1wbGUvZWNob19jbGllbnQucHk6CisgICAgICAg
ICogcHl3ZWJzb2NrZXQvZXhhbXBsZS9lY2hvX3dzaC5weToKKyAgICAgICAgKiBweXdlYnNvY2tl
dC9tb2RfcHl3ZWJzb2NrZXQvX19pbml0X18ucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvbW9k
X3B5d2Vic29ja2V0L2Rpc3BhdGNoLnB5OgorICAgICAgICAqIHB5d2Vic29ja2V0L21vZF9weXdl
YnNvY2tldC9oYW5kc2hha2UucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29j
a2V0L2hlYWRlcnBhcnNlcmhhbmRsZXIucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvbW9kX3B5
d2Vic29ja2V0L21zZ3V0aWwucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29j
a2V0L3N0YW5kYWxvbmUucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0
L3V0aWwucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvc2V0dXAucHk6CisgICAgICAgICogcHl3
ZWJzb2NrZXQvdGVzdC9jb25maWcucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvdGVzdC9tb2Nr
LnB5OgorICAgICAgICAqIHB5d2Vic29ja2V0L3Rlc3QvcnVuX2FsbC5weToKKyAgICAgICAgKiBw
eXdlYnNvY2tldC90ZXN0L3Rlc3RfZGlzcGF0Y2gucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQv
dGVzdC90ZXN0X2hhbmRzaGFrZS5weToKKyAgICAgICAgKiBweXdlYnNvY2tldC90ZXN0L3Rlc3Rf
bW9jay5weToKKyAgICAgICAgKiBweXdlYnNvY2tldC90ZXN0L3Rlc3RfbXNndXRpbC5weToKKyAg
ICAgICAgKiBweXdlYnNvY2tldC90ZXN0L3Rlc3RfdXRpbC5weToKKyAgICAgICAgKiBweXdlYnNv
Y2tldC90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL2JsYW5rX3dzaC5weToKKyAgICAgICAgKiBweXdl
YnNvY2tldC90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL29yaWdpbl9jaGVja193c2gucHk6CisgICAg
ICAgICogcHl3ZWJzb2NrZXQvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9zdWIvZXhjZXB0aW9uX2lu
X3RyYW5zZmVyX3dzaC5weToKKyAgICAgICAgKiBweXdlYnNvY2tldC90ZXN0L3Rlc3RkYXRhL2hh
bmRsZXJzL3N1Yi9ub193c2hfYXRfdGhlX2VuZC5weToKKyAgICAgICAgKiBweXdlYnNvY2tldC90
ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi9ub25fY2FsbGFibGVfd3NoLnB5OgorICAgICAgICAq
IHB5d2Vic29ja2V0L3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3ViL3BsYWluX3dzaC5weToKKyAg
ICAgICAgKiBweXdlYnNvY2tldC90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi93cm9uZ19oYW5k
c2hha2Vfc2lnX3dzaC5weToKKyAgICAgICAgKiBweXdlYnNvY2tldC90ZXN0L3Rlc3RkYXRhL2hh
bmRsZXJzL3N1Yi93cm9uZ190cmFuc2Zlcl9zaWdfd3NoLnB5OgorCiAyMDA5LTExLTI0ICBEbWl0
cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVy
aWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvZXhhbXBsZS9l
Y2hvX2NsaWVudC5weSBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L2V4YW1wbGUvZWNob19jbGll
bnQucHkKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCA2MWIxMjljLi4zMjYy
YTZkCi0tLSBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L2V4YW1wbGUvZWNob19jbGllbnQucHkK
KysrIGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvZXhhbXBsZS9lY2hvX2NsaWVudC5weQpAQCAt
NDYsNiArNDYsOCBAQCBpbXBvcnQgc29ja2V0CiBpbXBvcnQgc3lzCiAKIAorX1RJTUVPVVRfU0VD
ID0gMTAKKwogX0RFRkFVTFRfUE9SVCA9IDgwCiBfREVGQVVMVF9TRUNVUkVfUE9SVCA9IDQ0Mwog
X1VOREVGSU5FRF9QT1JUID0gLTEKQEAgLTU3LDYgKzU5LDggQEAgX0VYUEVDVEVEX1JFU1BPTlNF
ID0gKAogICAgICAgICBfVVBHUkFERV9IRUFERVIgKwogICAgICAgICBfQ09OTkVDVElPTl9IRUFE
RVIpCiAKK19HT09EQllFX01FU1NBR0UgPSAnR29vZGJ5ZScKKwogCiBkZWYgX21ldGhvZF9saW5l
KHJlc291cmNlKToKICAgICByZXR1cm4gJ0dFVCAlcyBIVFRQLzEuMVxyXG4nICUgcmVzb3VyY2UK
QEAgLTk2LDEzICsxMDAsMTQgQEAgY2xhc3MgRWNob0NsaWVudChvYmplY3QpOgogICAgICAgICBT
aGFrZSBoYW5kcyBhbmQgdGhlbiByZXBlYXQgc2VuZGluZyBtZXNzYWdlIGFuZCByZWNlaXZpbmcg
aXRzIGVjaG8uCiAgICAgICAgICIiIgogICAgICAgICBzZWxmLl9zb2NrZXQgPSBzb2NrZXQuc29j
a2V0KCkKKyAgICAgICAgc2VsZi5fc29ja2V0LnNldHRpbWVvdXQoc2VsZi5fb3B0aW9ucy5zb2Nr
ZXRfdGltZW91dCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5fc29ja2V0LmNvbm5l
Y3QoKHNlbGYuX29wdGlvbnMuc2VydmVyX2hvc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5fb3B0aW9ucy5zZXJ2ZXJfcG9ydCkpCiAgICAgICAgICAgICBpZiBzZWxm
Ll9vcHRpb25zLnVzZV90bHM6CiAgICAgICAgICAgICAgICAgc2VsZi5fc29ja2V0ID0gX1RMU1Nv
Y2tldChzZWxmLl9zb2NrZXQpCiAgICAgICAgICAgICBzZWxmLl9oYW5kc2hha2UoKQotICAgICAg
ICAgICAgZm9yIGxpbmUgaW4gc2VsZi5fb3B0aW9ucy5tZXNzYWdlLnNwbGl0KCcsJyk6CisgICAg
ICAgICAgICBmb3IgbGluZSBpbiBzZWxmLl9vcHRpb25zLm1lc3NhZ2Uuc3BsaXQoJywnKSArIFtf
R09PREJZRV9NRVNTQUdFXToKICAgICAgICAgICAgICAgICBmcmFtZSA9ICdceDAwJyArIGxpbmUu
ZW5jb2RlKCd1dGYtOCcpICsgJ1x4ZmYnCiAgICAgICAgICAgICAgICAgc2VsZi5fc29ja2V0LnNl
bmQoZnJhbWUpCiAgICAgICAgICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy52ZXJib3NlOgpAQCAt
MTExLDcgKzExNiw4IEBAIGNsYXNzIEVjaG9DbGllbnQob2JqZWN0KToKICAgICAgICAgICAgICAg
ICBpZiByZWNlaXZlZCAhPSBmcmFtZToKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0
aW9uKCdJbmNvcnJlY3QgZWNobzogJXInICUgcmVjZWl2ZWQpCiAgICAgICAgICAgICAgICAgaWYg
c2VsZi5fb3B0aW9ucy52ZXJib3NlOgotICAgICAgICAgICAgICAgICAgICBwcmludCAnUmVjdjog
JXMnICUgcmVjZWl2ZWRbMTotMV0uZGVjb2RlKCd1dGYtOCcpCisgICAgICAgICAgICAgICAgICAg
IHByaW50ICdSZWN2OiAlcycgJSByZWNlaXZlZFsxOi0xXS5kZWNvZGUoJ3V0Zi04JywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
cmVwbGFjZScpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBzZWxmLl9zb2NrZXQuY2xv
c2UoKQogCkBAIC0xNjYsMTEgKzE3MiwxNyBAQCBkZWYgbWFpbigpOgogICAgIHBhcnNlci5hZGRf
b3B0aW9uKCctcicsICctLXJlc291cmNlJywgZGVzdD0ncmVzb3VyY2UnLCB0eXBlPSdzdHJpbmcn
LAogICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9Jy9lY2hvJywgaGVscD0ncmVzb3VyY2Ug
cGF0aCcpCiAgICAgcGFyc2VyLmFkZF9vcHRpb24oJy1tJywgJy0tbWVzc2FnZScsIGRlc3Q9J21l
c3NhZ2UnLCB0eXBlPSdzdHJpbmcnLAotICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J2NvbW1h
LXNlcGFyYXRlZCBtZXNzYWdlcyB0byBzZW5kJykKKyAgICAgICAgICAgICAgICAgICAgICBoZWxw
PSgnY29tbWEtc2VwYXJhdGVkIG1lc3NhZ2VzIHRvIHNlbmQgZXhjbHVkaW5nICIlcyIgJworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICd0aGF0IGlzIGFsd2F5cyBzZW50IGF0IHRoZSBlbmQn
ICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBfR09PREJZRV9NRVNTQUdFKSkKICAgICBw
YXJzZXIuYWRkX29wdGlvbignLXEnLCAnLS1xdWlldCcsIGRlc3Q9J3ZlcmJvc2UnLCBhY3Rpb249
J3N0b3JlX2ZhbHNlJywKICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PVRydWUsIGhlbHA9
J3N1cHByZXNzIG1lc3NhZ2VzJykKICAgICBwYXJzZXIuYWRkX29wdGlvbignLXQnLCAnLS10bHMn
LCBkZXN0PSd1c2VfdGxzJywgYWN0aW9uPSdzdG9yZV90cnVlJywKICAgICAgICAgICAgICAgICAg
ICAgICBkZWZhdWx0PUZhbHNlLCBoZWxwPSd1c2UgVExTICh3c3M6Ly8pJykKKyAgICBwYXJzZXIu
YWRkX29wdGlvbignLWsnLCAnLS1zb2NrZXRfdGltZW91dCcsIGRlc3Q9J3NvY2tldF90aW1lb3V0
JywKKyAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdpbnQnLCBkZWZhdWx0PV9USU1FT1VUX1NF
QywKKyAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdUaW1lb3V0KHNlYykgZm9yIHNvY2tldHMn
KQorCiAgICAgKG9wdGlvbnMsIHVudXNlZF9hcmdzKSA9IHBhcnNlci5wYXJzZV9hcmdzKCkKIAog
ICAgICMgRGVmYXVsdCBwb3J0IG51bWJlciBkZXBlbmRzIG9uIHdoZXRoZXIgVExTIGlzIHVzZWQu
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC9leGFtcGxlL2VjaG9fd3NoLnB5
IGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvZXhhbXBsZS9lY2hvX3dzaC5weQpvbGQgbW9kZSAx
MDA2NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4IGY2ODBmYTUuLjUwY2FkMzEKLS0tIGEvV2ViS2l0
VG9vbHMvcHl3ZWJzb2NrZXQvZXhhbXBsZS9lY2hvX3dzaC5weQorKysgYi9XZWJLaXRUb29scy9w
eXdlYnNvY2tldC9leGFtcGxlL2VjaG9fd3NoLnB5CkBAIC0zMSw2ICszMSw5IEBACiBmcm9tIG1v
ZF9weXdlYnNvY2tldCBpbXBvcnQgbXNndXRpbAogCiAKK19HT09EQllFX01FU1NBR0UgPSAnR29v
ZGJ5ZScKKworCiBkZWYgd2ViX3NvY2tldF9kb19leHRyYV9oYW5kc2hha2UocmVxdWVzdCk6CiAg
ICAgcGFzcyAgIyBBbHdheXMgYWNjZXB0LgogCkBAIC0zOSw2ICs0Miw4IEBAIGRlZiB3ZWJfc29j
a2V0X3RyYW5zZmVyX2RhdGEocmVxdWVzdCk6CiAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgbGlu
ZSA9IG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlKHJlcXVlc3QpCiAgICAgICAgIG1zZ3V0aWwuc2Vu
ZF9tZXNzYWdlKHJlcXVlc3QsIGxpbmUpCisgICAgICAgIGlmIGxpbmUgPT0gX0dPT0RCWUVfTUVT
U0FHRToKKyAgICAgICAgICAgIHJldHVybgogCiAKICMgdmk6c3RzPTQgc3c9NCBldApkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L19faW5pdF9fLnB5
IGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L19faW5pdF9fLnB5Cm9s
ZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggYmVhY2M5ZS4uMDVlODBlOAotLS0g
YS9XZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvX19pbml0X18ucHkKKysr
IGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L19faW5pdF9fLnB5CkBA
IC05Niw2ICs5Niw5IEBAIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YSBpcyBjYWxsZWQgYWZ0ZXIg
dGhlIGhhbmRzaGFrZSBjb21wbGV0ZWQKIHN1Y2Nlc3NmdWxseS4gQSBoYW5kbGVyIGNhbiByZWNl
aXZlL3NlbmQgbWVzc2FnZXMgZnJvbS90byB0aGUgY2xpZW50CiB1c2luZyByZXF1ZXN0LiBtb2Rf
cHl3ZWJzb2NrZXQubXNndXRpbCBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0aWVzCiBmb3IgZGF0YSB0
cmFuc2Zlci4KKworQSBXZWIgU29ja2V0IGhhbmRsZXIgbXVzdCBiZSB0aHJlYWQtc2FmZSBpZiB0
aGUgc2VydmVyIChBcGFjaGUgb3IKK3N0YW5kYWxvbmUucHkpIGlzIGNvbmZpZ3VyZWQgdG8gdXNl
IHRocmVhZHMuCiAiIiIKIAogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC9t
b2RfcHl3ZWJzb2NrZXQvZGlzcGF0Y2gucHkgYi9XZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2Rf
cHl3ZWJzb2NrZXQvZGlzcGF0Y2gucHkKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQpp
bmRleCA2ZDUwMGNiLi44N2E3MzE1Ci0tLSBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21vZF9w
eXdlYnNvY2tldC9kaXNwYXRjaC5weQorKysgYi9XZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2Rf
cHl3ZWJzb2NrZXQvZGlzcGF0Y2gucHkKQEAgLTYyLDcgKzYyLDcgQEAgZGVmIF9ub3JtYWxpemVf
cGF0aChwYXRoKToKICAgICAiIiIKIAogICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoJ1xcJywgb3Mu
cGF0aC5zZXApCi0gICAgcGF0aCA9IG9zLnBhdGguYWJzcGF0aChwYXRoKQorICAgIHBhdGggPSBv
cy5wYXRoLnJlYWxwYXRoKHBhdGgpCiAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSgnXFwnLCAnLycp
CiAgICAgcmV0dXJuIHBhdGgKIApAQCAtMTM2LDcgKzEzNiw4IEBAIGNsYXNzIERpc3BhdGNoZXIo
b2JqZWN0KToKICAgICAgICAgc2VsZi5fc291cmNlX3dhcm5pbmdzID0gW10KICAgICAgICAgaWYg
c2Nhbl9kaXIgaXMgTm9uZToKICAgICAgICAgICAgIHNjYW5fZGlyID0gcm9vdF9kaXIKLSAgICAg
ICAgaWYgbm90IG9zLnBhdGgucmVhbHBhdGgoc2Nhbl9kaXIpLnN0YXJ0c3dpdGgob3MucGF0aC5y
ZWFscGF0aChyb290X2RpcikpOgorICAgICAgICBpZiBub3Qgb3MucGF0aC5yZWFscGF0aChzY2Fu
X2Rpcikuc3RhcnRzd2l0aCgKKyAgICAgICAgICAgICAgICBvcy5wYXRoLnJlYWxwYXRoKHJvb3Rf
ZGlyKSk6CiAgICAgICAgICAgICByYWlzZSBEaXNwYXRjaEVycm9yKCdzY2FuX2RpcjolcyBtdXN0
IGJlIGEgZGlyZWN0b3J5IHVuZGVyICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J3Jvb3RfZGlyOiVzLicgJSAoc2Nhbl9kaXIsIHJvb3RfZGlyKSkKICAgICAgICAgc2VsZi5fc291
cmNlX2ZpbGVzX2luX2Rpcihyb290X2Rpciwgc2Nhbl9kaXIpCkBAIC0xODIsMTMgKzE4MywxNCBA
QCBjbGFzcyBEaXNwYXRjaGVyKG9iamVjdCk6CiAKICAgICBkZWYgX2hhbmRsZXIoc2VsZiwgcmVx
dWVzdCk6CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9oYW5kbGVyc1ty
ZXF1ZXN0LndzX3Jlc291cmNlXQorICAgICAgICAgICAgd3NfcmVzb3VyY2VfcGF0aCA9IHJlcXVl
c3Qud3NfcmVzb3VyY2Uuc3BsaXQoJz8nLCAxKVswXQorICAgICAgICAgICAgcmV0dXJuIHNlbGYu
X2hhbmRsZXJzW3dzX3Jlc291cmNlX3BhdGhdCiAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKICAg
ICAgICAgICAgIHJhaXNlIERpc3BhdGNoRXJyb3IoJ05vIGhhbmRsZXIgZm9yOiAlcicgJSByZXF1
ZXN0LndzX3Jlc291cmNlKQogCiAgICAgZGVmIF9zb3VyY2VfZmlsZXNfaW5fZGlyKHNlbGYsIHJv
b3RfZGlyLCBzY2FuX2Rpcik6CiAgICAgICAgICIiIlNvdXJjZSBhbGwgdGhlIGhhbmRsZXIgc291
cmNlIGZpbGVzIGluIHRoZSBzY2FuX2RpciBkaXJlY3RvcnkuCi0gICAgICAgIAorCiAgICAgICAg
IFRoZSByZXNvdXJjZSBwYXRoIGlzIGRldGVybWluZWQgcmVsYXRpdmUgdG8gcm9vdF9kaXIuCiAg
ICAgICAgICIiIgogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3
ZWJzb2NrZXQvaGFuZHNoYWtlLnB5IGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9kX3B5d2Vi
c29ja2V0L2hhbmRzaGFrZS5weQpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvaGVhZGVycGFy
c2VyaGFuZGxlci5weSBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9o
ZWFkZXJwYXJzZXJoYW5kbGVyLnB5Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9tc2d1dGls
LnB5IGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L21zZ3V0aWwucHkK
b2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCBiZGI1NTRkLi45ZmE5YjU5Ci0t
LSBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9tc2d1dGlsLnB5Cisr
KyBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9tc2d1dGlsLnB5CkBA
IC03Myw3ICs3Myw5IEBAIGRlZiByZWNlaXZlX21lc3NhZ2UocmVxdWVzdCk6CiAgICAgICAgIGVs
c2U6CiAgICAgICAgICAgICAjIFRoZSBwYXlsb2FkIGlzIGRlbGltaXRlZCB3aXRoIFx4ZmYuCiAg
ICAgICAgICAgICBieXRlcyA9IF9yZWFkX3VudGlsKHJlcXVlc3QsICdceGZmJykKLSAgICAgICAg
ICAgIG1lc3NhZ2UgPSBieXRlcy5kZWNvZGUoJ3V0Zi04JykKKyAgICAgICAgICAgICMgVGhlIFdl
YiBTb2NrZXQgcHJvdG9jb2wgc2VjdGlvbiA0LjQgc3BlY2lmaWVzIHRoYXQgaW52YWxpZAorICAg
ICAgICAgICAgIyBjaGFyYWN0ZXJzIG11c3QgYmUgcmVwbGFjZWQgd2l0aCBVK2ZmZmQgUkVQTEFD
RU1FTlQgQ0hBUkFDVEVSLgorICAgICAgICAgICAgbWVzc2FnZSA9IGJ5dGVzLmRlY29kZSgndXRm
LTgnLCAncmVwbGFjZScpCiAgICAgICAgICAgICBpZiBmcmFtZV90eXBlID09IDB4MDA6CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIG1lc3NhZ2UKICAgICAgICAgICAgICMgRGlzY2FyZCBkYXRhIG9m
IG90aGVyIHR5cGVzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9kX3B5
d2Vic29ja2V0L3N0YW5kYWxvbmUucHkgYi9XZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3
ZWJzb2NrZXQvc3RhbmRhbG9uZS5weQpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1Cmlu
ZGV4IGE0YzE0MmIuLjNiMmQwZGMKLS0tIGEvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9kX3B5
d2Vic29ja2V0L3N0YW5kYWxvbmUucHkKKysrIGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9k
X3B5d2Vic29ja2V0L3N0YW5kYWxvbmUucHkKQEAgLTM4LDYgKzM4LDcgQEAgVXNhZ2U6CiAgICAg
cHl0aG9uIHN0YW5kYWxvbmUucHkgWy1wIDx3c19wb3J0Pl0gWy13IDx3ZWJzb2NrX2hhbmRsZXJz
Pl0KICAgICAgICAgICAgICAgICAgICAgICAgICBbLXMgPHNjYW5fZGlyPl0KICAgICAgICAgICAg
ICAgICAgICAgICAgICBbLWQgPGRvY3VtZW50X3Jvb3Q+XQorICAgICAgICAgICAgICAgICAgICAg
ICAgIC4uLiBmb3Igb3RoZXIgb3B0aW9ucywgc2VlIF9tYWluIGJlbG93IC4uLgogCiA8d3NfcG9y
dD4gaXMgdGhlIHBvcnQgbnVtYmVyIHRvIHVzZSBmb3Igd3M6Ly8gY29ubmVjdGlvbi4KIApAQCAt
NTksNiArNjAsNyBAQCBpbXBvcnQgQmFzZUhUVFBTZXJ2ZXIKIGltcG9ydCBTaW1wbGVIVFRQU2Vy
dmVyCiBpbXBvcnQgU29ja2V0U2VydmVyCiBpbXBvcnQgbG9nZ2luZworaW1wb3J0IGxvZ2dpbmcu
aGFuZGxlcnMKIGltcG9ydCBvcHRwYXJzZQogaW1wb3J0IG9zCiBpbXBvcnQgc29ja2V0CkBAIC03
NSw2ICs3NywyNCBAQCBpbXBvcnQgZGlzcGF0Y2gKIGltcG9ydCBoYW5kc2hha2UKIAogCitfTE9H
X0xFVkVMUyA9IHsKKyAgICAnZGVidWcnOiBsb2dnaW5nLkRFQlVHLAorICAgICdpbmZvJzogbG9n
Z2luZy5JTkZPLAorICAgICd3YXJuJzogbG9nZ2luZy5XQVJOLAorICAgICdlcnJvcic6IGxvZ2dp
bmcuRVJST1IsCisgICAgJ2NyaXRpY2FsJzogbG9nZ2luZy5DUklUSUNBTH07CisKK19ERUZBVUxU
X0xPR19NQVhfQllURVMgPSAxMDI0ICogMjU2CitfREVGQVVMVF9MT0dfQkFDS1VQX0NPVU5UID0g
NQorCisKK2RlZiBfcHJpbnRfd2FybmluZ3NfaWZfYW55KGRpc3BhdGNoZXIpOgorICAgIHdhcm5p
bmdzID0gZGlzcGF0Y2hlci5zb3VyY2Vfd2FybmluZ3MoKQorICAgIGlmIHdhcm5pbmdzOgorICAg
ICAgICBmb3Igd2FybmluZyBpbiB3YXJuaW5nczoKKyAgICAgICAgICAgIGxvZ2dpbmcud2Fybmlu
ZygnbW9kX3B5d2Vic29ja2V0OiAlcycgJSB3YXJuaW5nKQorCisKIGNsYXNzIF9TdGFuZGFsb25l
Q29ubmVjdGlvbihvYmplY3QpOgogICAgICIiIk1pbWljIG1vZF9weXRob24gbXBfY29ubi4iIiIK
IApAQCAtMTUyLDYgKzE3Miw3IEBAIGNsYXNzIFdlYlNvY2tldFNlcnZlcihTb2NrZXRTZXJ2ZXIu
VGhyZWFkaW5nTWl4SW4sIEJhc2VIVFRQU2VydmVyLkhUVFBTZXJ2ZXIpOgogICAgICAgICAgICAg
c29ja2V0XyA9IE9wZW5TU0wuU1NMLkNvbm5lY3Rpb24oY3R4LCBzb2NrZXRfKQogICAgICAgICBy
ZXR1cm4gc29ja2V0XwogCisKIGNsYXNzIFdlYlNvY2tldFJlcXVlc3RIYW5kbGVyKFNpbXBsZUhU
VFBTZXJ2ZXIuU2ltcGxlSFRUUFJlcXVlc3RIYW5kbGVyKToKICAgICAiIiJTaW1wbGVIVFRQUmVx
dWVzdEhhbmRsZXIgc3BlY2lhbGl6ZWQgZm9yIFdlYiBTb2NrZXQuIiIiCiAKQEAgLTE1OSwxNSAr
MTgwLDEzIEBAIGNsYXNzIFdlYlNvY2tldFJlcXVlc3RIYW5kbGVyKFNpbXBsZUhUVFBTZXJ2ZXIu
U2ltcGxlSFRUUFJlcXVlc3RIYW5kbGVyKToKICAgICAgICAgIiIiT3ZlcnJpZGUgU29ja2V0U2Vy
dmVyLlN0cmVhbVJlcXVlc3RIYW5kbGVyLnNldHVwLiIiIgogCiAgICAgICAgIHNlbGYuY29ubmVj
dGlvbiA9IHNlbGYucmVxdWVzdAotICAgICAgICBzZWxmLnJmaWxlID0gc29ja2V0Ll9maWxlb2Jq
ZWN0KHNlbGYucmVxdWVzdCwgInJiIiwgc2VsZi5yYnVmc2l6ZSkKLSAgICAgICAgc2VsZi53Zmls
ZSA9IHNvY2tldC5fZmlsZW9iamVjdChzZWxmLnJlcXVlc3QsICJ3YiIsIHNlbGYud2J1ZnNpemUp
CisgICAgICAgIHNlbGYucmZpbGUgPSBzb2NrZXQuX2ZpbGVvYmplY3Qoc2VsZi5yZXF1ZXN0LCAn
cmInLCBzZWxmLnJidWZzaXplKQorICAgICAgICBzZWxmLndmaWxlID0gc29ja2V0Ll9maWxlb2Jq
ZWN0KHNlbGYucmVxdWVzdCwgJ3diJywgc2VsZi53YnVmc2l6ZSkKIAogICAgIGRlZiBfX2luaXRf
XyhzZWxmLCAqYXJncywgKiprZXl3b3Jkcyk6CiAgICAgICAgIHNlbGYuX3JlcXVlc3QgPSBfU3Rh
bmRhbG9uZVJlcXVlc3QoCiAgICAgICAgICAgICAgICAgc2VsZiwgV2ViU29ja2V0UmVxdWVzdEhh
bmRsZXIub3B0aW9ucy51c2VfdGxzKQotICAgICAgICBzZWxmLl9kaXNwYXRjaGVyID0gZGlzcGF0
Y2guRGlzcGF0Y2hlcigKLSAgICAgICAgICAgICAgICBXZWJTb2NrZXRSZXF1ZXN0SGFuZGxlci5v
cHRpb25zLndlYnNvY2tfaGFuZGxlcnMsCi0gICAgICAgICAgICAgICAgV2ViU29ja2V0UmVxdWVz
dEhhbmRsZXIub3B0aW9ucy5zY2FuX2RpcikKKyAgICAgICAgc2VsZi5fZGlzcGF0Y2hlciA9IFdl
YlNvY2tldFJlcXVlc3RIYW5kbGVyLm9wdGlvbnMuZGlzcGF0Y2hlcgogICAgICAgICBzZWxmLl9w
cmludF93YXJuaW5nc19pZl9hbnkoKQogICAgICAgICBzZWxmLl9oYW5kc2hha2VyID0gaGFuZHNo
YWtlLkhhbmRzaGFrZXIoc2VsZi5fcmVxdWVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2Rpc3BhdGNoZXIpCkBAIC0yMDAsMTAgKzIxOSwz
NSBAQCBjbGFzcyBXZWJTb2NrZXRSZXF1ZXN0SGFuZGxlcihTaW1wbGVIVFRQU2VydmVyLlNpbXBs
ZUhUVFBSZXF1ZXN0SGFuZGxlcik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAg
ICAgIHJldHVybiByZXN1bHQKIAorICAgIGRlZiBsb2dfcmVxdWVzdChzZWxmLCBjb2RlPSctJywg
c2l6ZT0nLScpOgorICAgICAgICAiIiJPdmVycmlkZSBCYXNlSFRUUFNlcnZlci5sb2dfcmVxdWVz
dC4iIiIKKworICAgICAgICBsb2dnaW5nLmluZm8oJyIlcyIgJXMgJXMnLAorICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5yZXF1ZXN0bGluZSwgc3RyKGNvZGUpLCBzdHIoc2l6ZSkpCisKKyAgICBk
ZWYgbG9nX2Vycm9yKHNlbGYsICphcmdzKToKKyAgICAgICAgIiIiT3ZlcnJpZGUgQmFzZUhUVFBT
ZXJ2ZXIubG9nX2Vycm9yLiIiIgorCisgICAgICAgICMgRGVzcGl0ZSB0aGUgbmFtZSwgdGhpcyBt
ZXRob2QgaXMgZm9yIHdhcm5pbmdzIHRoYW4gZm9yIGVycm9ycy4KKyAgICAgICAgIyBGb3IgZXhh
bXBsZSwgSFRUUCBzdGF0dXMgY29kZSBpcyBsb2dnZWQgYnkgdGhpcyBtZXRob2QuCisgICAgICAg
IGxvZ2dpbmcud2FybignJXMgLSAlcycgJSAoc2VsZi5hZGRyZXNzX3N0cmluZygpLCAoYXJnc1sw
XSAlIGFyZ3NbMTpdKSkpCiAKLWRlZiBfbWFpbigpOgotICAgIGxvZ2dpbmcuYmFzaWNDb25maWco
KQogCitkZWYgX2NvbmZpZ3VyZV9sb2dnaW5nKG9wdGlvbnMpOgorICAgIGxvZ2dlciA9IGxvZ2dp
bmcuZ2V0TG9nZ2VyKCkKKyAgICBsb2dnZXIuc2V0TGV2ZWwoX0xPR19MRVZFTFNbb3B0aW9ucy5s
b2dfbGV2ZWxdKQorICAgIGlmIG9wdGlvbnMubG9nX2ZpbGU6CisgICAgICAgIGhhbmRsZXIgPSBs
b2dnaW5nLmhhbmRsZXJzLlJvdGF0aW5nRmlsZUhhbmRsZXIoCisgICAgICAgICAgICAgICAgb3B0
aW9ucy5sb2dfZmlsZSwgJ2EnLCBvcHRpb25zLmxvZ19tYXgsIG9wdGlvbnMubG9nX2NvdW50KQor
ICAgIGVsc2U6CisgICAgICAgIGhhbmRsZXIgPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoKQorICAg
IGZvcm1hdHRlciA9IGxvZ2dpbmcuRm9ybWF0dGVyKAorICAgICAgICAgICAgIlslKGFzY3RpbWUp
c10gWyUobGV2ZWxuYW1lKXNdICUobmFtZSlzOiAlKG1lc3NhZ2UpcyIpCisgICAgaGFuZGxlci5z
ZXRGb3JtYXR0ZXIoZm9ybWF0dGVyKQorICAgIGxvZ2dlci5hZGRIYW5kbGVyKGhhbmRsZXIpCisK
KworZGVmIF9tYWluKCk6CiAgICAgcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKCkKICAg
ICBwYXJzZXIuYWRkX29wdGlvbignLXAnLCAnLS1wb3J0JywgZGVzdD0ncG9ydCcsIHR5cGU9J2lu
dCcsCiAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1oYW5kc2hha2UuX0RFRkFVTFRfV0VC
X1NPQ0tFVF9QT1JULApAQCAtMjI0LDI3ICsyNjgsNTEgQEAgZGVmIF9tYWluKCk6CiAgICAgICAg
ICAgICAgICAgICAgICAgZGVmYXVsdD0nJywgaGVscD0nVExTIHByaXZhdGUga2V5IGZpbGUuJykK
ICAgICBwYXJzZXIuYWRkX29wdGlvbignLWMnLCAnLS1jZXJ0aWZpY2F0ZScsIGRlc3Q9J2NlcnRp
ZmljYXRlJywKICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PScnLCBoZWxwPSdUTFMgY2Vy
dGlmaWNhdGUgZmlsZS4nKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKCctbCcsICctLWxvZ19maWxl
JywgZGVzdD0nbG9nX2ZpbGUnLAorICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9JycsIGhl
bHA9J0xvZyBmaWxlLicpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oJy0tbG9nX2xldmVsJywgdHlw
ZT0nY2hvaWNlJywgZGVzdD0nbG9nX2xldmVsJywKKyAgICAgICAgICAgICAgICAgICAgICBkZWZh
dWx0PSd3YXJuJywKKyAgICAgICAgICAgICAgICAgICAgICBjaG9pY2VzPVsnZGVidWcnLCAnaW5m
bycsICd3YXJuJywgJ2Vycm9yJywgJ2NyaXRpY2FsJ10sCisgICAgICAgICAgICAgICAgICAgICAg
aGVscD0nTG9nIGxldmVsLicpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oJy0tbG9nX21heCcsIGRl
c3Q9J2xvZ19tYXgnLCB0eXBlPSdpbnQnLAorICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9
X0RFRkFVTFRfTE9HX01BWF9CWVRFUywKKyAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdMb2cg
bWF4aW11bSBieXRlcycpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oJy0tbG9nX2NvdW50JywgZGVz
dD0nbG9nX2NvdW50JywgdHlwZT0naW50JywKKyAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0
PV9ERUZBVUxUX0xPR19CQUNLVVBfQ09VTlQsCisgICAgICAgICAgICAgICAgICAgICAgaGVscD0n
TG9nIGJhY2t1cCBjb3VudCcpCiAgICAgb3B0aW9ucyA9IHBhcnNlci5wYXJzZV9hcmdzKClbMF0K
IAorICAgIG9zLmNoZGlyKG9wdGlvbnMuZG9jdW1lbnRfcm9vdCkKKworICAgIF9jb25maWd1cmVf
bG9nZ2luZyhvcHRpb25zKQorCiAgICAgaWYgb3B0aW9ucy51c2VfdGxzOgogICAgICAgICBpZiBu
b3QgX0hBU19PUEVOX1NTTDoKLSAgICAgICAgICAgIHByaW50ID4+c3lzLnN0ZGVyciwgJ1RvIHVz
ZSBUTFMsIGluc3RhbGwgcHlPcGVuU1NMLicKKyAgICAgICAgICAgIGxvZ2dpbmcuY3JpdGljYWwo
J1RvIHVzZSBUTFMsIGluc3RhbGwgcHlPcGVuU1NMLicpCiAgICAgICAgICAgICBzeXMuZXhpdCgx
KQogICAgICAgICBpZiBub3Qgb3B0aW9ucy5wcml2YXRlX2tleSBvciBub3Qgb3B0aW9ucy5jZXJ0
aWZpY2F0ZToKLSAgICAgICAgICAgIHByaW50ID4+c3lzLnN0ZGVyciwgKCdUbyB1c2UgVExTLCBz
cGVjaWZ5IHByaXZhdGVfa2V5IGFuZCAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnY2VydGlmaWNhdGUuJykKKyAgICAgICAgICAgIGxvZ2dpbmcuY3JpdGljYWwoCisgICAgICAg
ICAgICAgICAgICAgICdUbyB1c2UgVExTLCBzcGVjaWZ5IHByaXZhdGVfa2V5IGFuZCBjZXJ0aWZp
Y2F0ZS4nKQogICAgICAgICAgICAgc3lzLmV4aXQoMSkKIAogICAgIGlmIG5vdCBvcHRpb25zLnNj
YW5fZGlyOgogICAgICAgICBvcHRpb25zLnNjYW5fZGlyID0gb3B0aW9ucy53ZWJzb2NrX2hhbmRs
ZXJzCiAKLSAgICBXZWJTb2NrZXRSZXF1ZXN0SGFuZGxlci5vcHRpb25zID0gb3B0aW9ucwotICAg
IFdlYlNvY2tldFNlcnZlci5vcHRpb25zID0gb3B0aW9ucwotCi0gICAgb3MuY2hkaXIob3B0aW9u
cy5kb2N1bWVudF9yb290KQotCi0gICAgc2VydmVyID0gV2ViU29ja2V0U2VydmVyKCgnJywgb3B0
aW9ucy5wb3J0KSwgV2ViU29ja2V0UmVxdWVzdEhhbmRsZXIpCi0gICAgc2VydmVyLnNlcnZlX2Zv
cmV2ZXIoKQorICAgIHRyeToKKyAgICAgICAgIyBTaGFyZSBhIERpc3BhdGNoZXIgYW1vbmcgcmVx
dWVzdCBoYW5kbGVycyB0byBzYXZlIHRpbWUgZm9yCisgICAgICAgICMgaW5zdGFudGlhdGlvbi4g
IERpc3BhdGNoZXIgY2FuIGJlIHNoYXJlZCBiZWNhdXNlIGl0IGlzIHRocmVhZC1zYWZlLgorICAg
ICAgICBvcHRpb25zLmRpc3BhdGNoZXIgPSBkaXNwYXRjaC5EaXNwYXRjaGVyKG9wdGlvbnMud2Vi
c29ja19oYW5kbGVycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvcHRpb25zLnNjYW5fZGlyKQorICAgICAgICBfcHJpbnRfd2FybmluZ3NfaWZfYW55
KG9wdGlvbnMuZGlzcGF0Y2hlcikKKworICAgICAgICBXZWJTb2NrZXRSZXF1ZXN0SGFuZGxlci5v
cHRpb25zID0gb3B0aW9ucworICAgICAgICBXZWJTb2NrZXRTZXJ2ZXIub3B0aW9ucyA9IG9wdGlv
bnMKKworICAgICAgICBzZXJ2ZXIgPSBXZWJTb2NrZXRTZXJ2ZXIoKCcnLCBvcHRpb25zLnBvcnQp
LCBXZWJTb2NrZXRSZXF1ZXN0SGFuZGxlcikKKyAgICAgICAgc2VydmVyLnNlcnZlX2ZvcmV2ZXIo
KQorICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CisgICAgICAgIGxvZ2dpbmcuY3JpdGljYWwoc3Ry
KGUpKQorICAgICAgICBzeXMuZXhpdCgxKQogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvdXRp
bC5weSBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC91dGlsLnB5Cm9s
ZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL3B5
d2Vic29ja2V0L3NldHVwLnB5IGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvc2V0dXAucHkKb2xk
IG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCAxODEwYTZkLi5hZTA3ZjhhCi0tLSBh
L1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3NldHVwLnB5CisrKyBiL1dlYktpdFRvb2xzL3B5d2Vi
c29ja2V0L3NldHVwLnB5CkBAIC01Niw3ICs1Niw3IEBAIHNldHVwKGF1dGhvcj0nWXV6byBGdWpp
c2hpbWEnLAogICAgICAgbmFtZT1fUEFDS0FHRV9OQU1FLAogICAgICAgcGFja2FnZXM9W19QQUNL
QUdFX05BTUVdLAogICAgICAgdXJsPSdodHRwOi8vY29kZS5nb29nbGUuY29tL3AvcHl3ZWJzb2Nr
ZXQvJywKLSAgICAgIHZlcnNpb249JzAuNC4xJywKKyAgICAgIHZlcnNpb249JzAuNC4yJywKICAg
ICAgICkKIAogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC90ZXN0L2NvbmZp
Zy5weSBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3Rlc3QvY29uZmlnLnB5Cm9sZCBtb2RlIDEw
MDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0
L3Rlc3QvbW9jay5weSBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3Rlc3QvbW9jay5weQpvbGQg
bW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdl
YnNvY2tldC90ZXN0L3J1bl9hbGwucHkgYi9XZWJLaXRUb29scy9weXdlYnNvY2tldC90ZXN0L3J1
bl9hbGwucHkKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvcHl3ZWJzb2NrZXQvdGVzdC90ZXN0X2Rpc3BhdGNoLnB5IGIvV2ViS2l0VG9vbHMv
cHl3ZWJzb2NrZXQvdGVzdC90ZXN0X2Rpc3BhdGNoLnB5Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9k
ZSAxMDA3NTUKaW5kZXggZDYxNzIwNS4uZDMxZDZiZAotLS0gYS9XZWJLaXRUb29scy9weXdlYnNv
Y2tldC90ZXN0L3Rlc3RfZGlzcGF0Y2gucHkKKysrIGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQv
dGVzdC90ZXN0X2Rpc3BhdGNoLnB5CkBAIC0xNTYsNiArMTU2LDIwIEBAIGNsYXNzIERpc3BhdGNo
ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnc3Vi
L3BsYWluX3dzaC5weSBpcyBjYWxsZWQgZm9yIC9zdWIvcGxhaW4sIE5vbmUnLAogICAgICAgICAg
ICAgICAgICAgICAgICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0dGVuX2RhdGEoKSkKIAorICAg
ICAgICByZXF1ZXN0ID0gbW9jay5Nb2NrUmVxdWVzdChjb25uZWN0aW9uPW1vY2suTW9ja0Nvbm4o
JycpKQorICAgICAgICByZXF1ZXN0LndzX3Jlc291cmNlID0gJy9zdWIvcGxhaW4/JworICAgICAg
ICByZXF1ZXN0LndzX3Byb3RvY29sID0gTm9uZQorICAgICAgICBkaXNwYXRjaGVyLnRyYW5zZmVy
X2RhdGEocmVxdWVzdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnc3ViL3BsYWluX3dzaC5w
eSBpcyBjYWxsZWQgZm9yIC9zdWIvcGxhaW4/LCBOb25lJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdHRlbl9kYXRhKCkpCisKKyAgICAgICAgcmVxdWVz
dCA9IG1vY2suTW9ja1JlcXVlc3QoY29ubmVjdGlvbj1tb2NrLk1vY2tDb25uKCcnKSkKKyAgICAg
ICAgcmVxdWVzdC53c19yZXNvdXJjZSA9ICcvc3ViL3BsYWluP3E9dicKKyAgICAgICAgcmVxdWVz
dC53c19wcm90b2NvbCA9IE5vbmUKKyAgICAgICAgZGlzcGF0Y2hlci50cmFuc2Zlcl9kYXRhKHJl
cXVlc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3N1Yi9wbGFpbl93c2gucHkgaXMgY2Fs
bGVkIGZvciAvc3ViL3BsYWluP3E9diwgTm9uZScsCisgICAgICAgICAgICAgICAgICAgICAgICAg
cmVxdWVzdC5jb25uZWN0aW9uLndyaXR0ZW5fZGF0YSgpKQorCiAgICAgZGVmIHRlc3RfdHJhbnNm
ZXJfZGF0YV9ub19oYW5kbGVyKHNlbGYpOgogICAgICAgICBkaXNwYXRjaGVyID0gZGlzcGF0Y2gu
RGlzcGF0Y2hlcihfVEVTVF9IQU5ETEVSU19ESVIsIE5vbmUpCiAgICAgICAgIGZvciByZXNvdXJj
ZSBpbiBbJy9ibGFuaycsICcvc3ViL25vbl9jYWxsYWJsZScsCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9weXdlYnNvY2tldC90ZXN0L3Rlc3RfaGFuZHNoYWtlLnB5IGIvV2ViS2l0VG9vbHMvcHl3
ZWJzb2NrZXQvdGVzdC90ZXN0X2hhbmRzaGFrZS5weQpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUg
MTAwNzU1CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC90ZXN0L3Rlc3RfbW9j
ay5weSBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3Rlc3QvdGVzdF9tb2NrLnB5Cm9sZCBtb2Rl
IDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL3B5d2Vic29j
a2V0L3Rlc3QvdGVzdF9tc2d1dGlsLnB5IGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvdGVzdC90
ZXN0X21zZ3V0aWwucHkKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCBiM2Jh
NTM5Li4xNmI4OGUwCi0tLSBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3Rlc3QvdGVzdF9tc2d1
dGlsLnB5CisrKyBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3Rlc3QvdGVzdF9tc2d1dGlsLnB5
CkBAIC03MSw2ICs3MSwxMyBAQCBjbGFzcyBNZXNzYWdlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6
CiAgICAgICAgICMgVSs2NzJjIGlzIGVuY29kZWQgYXMgZTYsOWMsYWMgaW4gVVRGLTgKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbCh1J1x1NjcyYycsIG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlKHJl
cXVlc3QpKQogCisgICAgZGVmIHRlc3RfcmVjZWl2ZV9tZXNzYWdlX2Vycm9uZW91c191bmljb2Rl
KHNlbGYpOgorICAgICAgICAjIFx4ODAgYW5kIFx4ODEgYXJlIGludmFsaWQgYXMgVVRGLTguCisg
ICAgICAgIHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3QoJ1x4MDBceDgwXHg4MVx4ZmYnKQorICAg
ICAgICAjIEludmFsaWQgY2hhcmFjdGVycyBzaG91bGQgYmUgcmVwbGFjZWQgd2l0aAorICAgICAg
ICAjIFUrZmZmZCBSRVBMQUNFTUVOVCBDSEFSQUNURVIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bCh1J1x1ZmZmZFx1ZmZmZCcsIG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlKHJlcXVlc3QpKQorCiAg
ICAgZGVmIHRlc3RfcmVjZWl2ZV9tZXNzYWdlX2Rpc2NhcmQoc2VsZik6CiAgICAgICAgIHJlcXVl
c3QgPSBfY3JlYXRlX3JlcXVlc3QoJ1x4ODBceDA2SUdOT1JFXHgwMEhlbGxvXHhmZicKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1x4MDFESVNSRUdBUkRceGZmXHgwMFdvcmxkIVx4
ZmYnKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvdGVzdC90ZXN0X3V0aWwu
cHkgYi9XZWJLaXRUb29scy9weXdlYnNvY2tldC90ZXN0L3Rlc3RfdXRpbC5weQpvbGQgbW9kZSAx
MDA2NDQKbmV3IG1vZGUgMTAwNzU1CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tl
dC90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL2JsYW5rX3dzaC5weSBiL1dlYktpdFRvb2xzL3B5d2Vi
c29ja2V0L3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvYmxhbmtfd3NoLnB5Cm9sZCBtb2RlIDEwMDY0
NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3Rl
c3QvdGVzdGRhdGEvaGFuZGxlcnMvb3JpZ2luX2NoZWNrX3dzaC5weSBiL1dlYktpdFRvb2xzL3B5
d2Vic29ja2V0L3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvb3JpZ2luX2NoZWNrX3dzaC5weQpvbGQg
bW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdl
YnNvY2tldC90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi9leGNlcHRpb25faW5fdHJhbnNmZXJf
d3NoLnB5IGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9z
dWIvZXhjZXB0aW9uX2luX3RyYW5zZmVyX3dzaC5weQpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUg
MTAwNzU1CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC90ZXN0L3Rlc3RkYXRh
L2hhbmRsZXJzL3N1Yi9ub193c2hfYXRfdGhlX2VuZC5weSBiL1dlYktpdFRvb2xzL3B5d2Vic29j
a2V0L3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3ViL25vX3dzaF9hdF90aGVfZW5kLnB5Cm9sZCBt
b2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL3B5d2Vi
c29ja2V0L3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3ViL25vbl9jYWxsYWJsZV93c2gucHkgYi9X
ZWJLaXRUb29scy9weXdlYnNvY2tldC90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi9ub25fY2Fs
bGFibGVfd3NoLnB5Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3ViL3BsYWlu
X3dzaC5weSBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMv
c3ViL3BsYWluX3dzaC5weQpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi93
cm9uZ19oYW5kc2hha2Vfc2lnX3dzaC5weSBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3Rlc3Qv
dGVzdGRhdGEvaGFuZGxlcnMvc3ViL3dyb25nX2hhbmRzaGFrZV9zaWdfd3NoLnB5Cm9sZCBtb2Rl
IDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL3B5d2Vic29j
a2V0L3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3ViL3dyb25nX3RyYW5zZmVyX3NpZ193c2gucHkg
Yi9XZWJLaXRUb29scy9weXdlYnNvY2tldC90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi93cm9u
Z190cmFuc2Zlcl9zaWdfd3NoLnB5Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43883</attachid>
            <date>2009-11-25 18:04:57 -0800</date>
            <delta_ts>2009-11-25 18:05:40 -0800</delta_ts>
            <desc>Update pywebsocket to 0.4.2</desc>
            <filename>bug-31861-20091126110455.patch</filename>
            <type>text/plain</type>
            <size>17761</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBmNzFkOGY3Li4zYTJkZmQ3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMDktMTEt
MjUgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBweXdlYnNvY2tldCB0byAwLjQu
MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE4NjEK
KworICAgICAgICAqIHB5d2Vic29ja2V0L2V4YW1wbGUvZWNob19jbGllbnQucHk6CisgICAgICAg
ICogcHl3ZWJzb2NrZXQvZXhhbXBsZS9lY2hvX3dzaC5weToKKyAgICAgICAgKiBweXdlYnNvY2tl
dC9tb2RfcHl3ZWJzb2NrZXQvX19pbml0X18ucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvbW9k
X3B5d2Vic29ja2V0L2Rpc3BhdGNoLnB5OgorICAgICAgICAqIHB5d2Vic29ja2V0L21vZF9weXdl
YnNvY2tldC9oYW5kc2hha2UucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29j
a2V0L2hlYWRlcnBhcnNlcmhhbmRsZXIucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvbW9kX3B5
d2Vic29ja2V0L21zZ3V0aWwucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29j
a2V0L3N0YW5kYWxvbmUucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0
L3V0aWwucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvc2V0dXAucHk6CisgICAgICAgICogcHl3
ZWJzb2NrZXQvdGVzdC9jb25maWcucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvdGVzdC9tb2Nr
LnB5OgorICAgICAgICAqIHB5d2Vic29ja2V0L3Rlc3QvcnVuX2FsbC5weToKKyAgICAgICAgKiBw
eXdlYnNvY2tldC90ZXN0L3Rlc3RfZGlzcGF0Y2gucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQv
dGVzdC90ZXN0X2hhbmRzaGFrZS5weToKKyAgICAgICAgKiBweXdlYnNvY2tldC90ZXN0L3Rlc3Rf
bW9jay5weToKKyAgICAgICAgKiBweXdlYnNvY2tldC90ZXN0L3Rlc3RfbXNndXRpbC5weToKKyAg
ICAgICAgKiBweXdlYnNvY2tldC90ZXN0L3Rlc3RfdXRpbC5weToKKyAgICAgICAgKiBweXdlYnNv
Y2tldC90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL2JsYW5rX3dzaC5weToKKyAgICAgICAgKiBweXdl
YnNvY2tldC90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL29yaWdpbl9jaGVja193c2gucHk6CisgICAg
ICAgICogcHl3ZWJzb2NrZXQvdGVzdC90ZXN0ZGF0YS9oYW5kbGVycy9zdWIvZXhjZXB0aW9uX2lu
X3RyYW5zZmVyX3dzaC5weToKKyAgICAgICAgKiBweXdlYnNvY2tldC90ZXN0L3Rlc3RkYXRhL2hh
bmRsZXJzL3N1Yi9ub193c2hfYXRfdGhlX2VuZC5weToKKyAgICAgICAgKiBweXdlYnNvY2tldC90
ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi9ub25fY2FsbGFibGVfd3NoLnB5OgorICAgICAgICAq
IHB5d2Vic29ja2V0L3Rlc3QvdGVzdGRhdGEvaGFuZGxlcnMvc3ViL3BsYWluX3dzaC5weToKKyAg
ICAgICAgKiBweXdlYnNvY2tldC90ZXN0L3Rlc3RkYXRhL2hhbmRsZXJzL3N1Yi93cm9uZ19oYW5k
c2hha2Vfc2lnX3dzaC5weToKKyAgICAgICAgKiBweXdlYnNvY2tldC90ZXN0L3Rlc3RkYXRhL2hh
bmRsZXJzL3N1Yi93cm9uZ190cmFuc2Zlcl9zaWdfd3NoLnB5OgorCiAyMDA5LTExLTI0ICBEbWl0
cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVy
aWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvZXhhbXBsZS9l
Y2hvX2NsaWVudC5weSBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L2V4YW1wbGUvZWNob19jbGll
bnQucHkKaW5kZXggNjFiMTI5Yy4uMzI2MmE2ZCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvcHl3
ZWJzb2NrZXQvZXhhbXBsZS9lY2hvX2NsaWVudC5weQorKysgYi9XZWJLaXRUb29scy9weXdlYnNv
Y2tldC9leGFtcGxlL2VjaG9fY2xpZW50LnB5CkBAIC00Niw2ICs0Niw4IEBAIGltcG9ydCBzb2Nr
ZXQKIGltcG9ydCBzeXMKIAogCitfVElNRU9VVF9TRUMgPSAxMAorCiBfREVGQVVMVF9QT1JUID0g
ODAKIF9ERUZBVUxUX1NFQ1VSRV9QT1JUID0gNDQzCiBfVU5ERUZJTkVEX1BPUlQgPSAtMQpAQCAt
NTcsNiArNTksOCBAQCBfRVhQRUNURURfUkVTUE9OU0UgPSAoCiAgICAgICAgIF9VUEdSQURFX0hF
QURFUiArCiAgICAgICAgIF9DT05ORUNUSU9OX0hFQURFUikKIAorX0dPT0RCWUVfTUVTU0FHRSA9
ICdHb29kYnllJworCiAKIGRlZiBfbWV0aG9kX2xpbmUocmVzb3VyY2UpOgogICAgIHJldHVybiAn
R0VUICVzIEhUVFAvMS4xXHJcbicgJSByZXNvdXJjZQpAQCAtOTYsMTMgKzEwMCwxNCBAQCBjbGFz
cyBFY2hvQ2xpZW50KG9iamVjdCk6CiAgICAgICAgIFNoYWtlIGhhbmRzIGFuZCB0aGVuIHJlcGVh
dCBzZW5kaW5nIG1lc3NhZ2UgYW5kIHJlY2VpdmluZyBpdHMgZWNoby4KICAgICAgICAgIiIiCiAg
ICAgICAgIHNlbGYuX3NvY2tldCA9IHNvY2tldC5zb2NrZXQoKQorICAgICAgICBzZWxmLl9zb2Nr
ZXQuc2V0dGltZW91dChzZWxmLl9vcHRpb25zLnNvY2tldF90aW1lb3V0KQogICAgICAgICB0cnk6
CiAgICAgICAgICAgICBzZWxmLl9zb2NrZXQuY29ubmVjdCgoc2VsZi5fb3B0aW9ucy5zZXJ2ZXJf
aG9zdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9vcHRpb25zLnNl
cnZlcl9wb3J0KSkKICAgICAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMudXNlX3RsczoKICAgICAg
ICAgICAgICAgICBzZWxmLl9zb2NrZXQgPSBfVExTU29ja2V0KHNlbGYuX3NvY2tldCkKICAgICAg
ICAgICAgIHNlbGYuX2hhbmRzaGFrZSgpCi0gICAgICAgICAgICBmb3IgbGluZSBpbiBzZWxmLl9v
cHRpb25zLm1lc3NhZ2Uuc3BsaXQoJywnKToKKyAgICAgICAgICAgIGZvciBsaW5lIGluIHNlbGYu
X29wdGlvbnMubWVzc2FnZS5zcGxpdCgnLCcpICsgW19HT09EQllFX01FU1NBR0VdOgogICAgICAg
ICAgICAgICAgIGZyYW1lID0gJ1x4MDAnICsgbGluZS5lbmNvZGUoJ3V0Zi04JykgKyAnXHhmZicK
ICAgICAgICAgICAgICAgICBzZWxmLl9zb2NrZXQuc2VuZChmcmFtZSkKICAgICAgICAgICAgICAg
ICBpZiBzZWxmLl9vcHRpb25zLnZlcmJvc2U6CkBAIC0xMTEsNyArMTE2LDggQEAgY2xhc3MgRWNo
b0NsaWVudChvYmplY3QpOgogICAgICAgICAgICAgICAgIGlmIHJlY2VpdmVkICE9IGZyYW1lOgog
ICAgICAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0luY29ycmVjdCBlY2hvOiAlcicg
JSByZWNlaXZlZCkKICAgICAgICAgICAgICAgICBpZiBzZWxmLl9vcHRpb25zLnZlcmJvc2U6Ci0g
ICAgICAgICAgICAgICAgICAgIHByaW50ICdSZWN2OiAlcycgJSByZWNlaXZlZFsxOi0xXS5kZWNv
ZGUoJ3V0Zi04JykKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQgJ1JlY3Y6ICVzJyAlIHJlY2Vp
dmVkWzE6LTFdLmRlY29kZSgndXRmLTgnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXBsYWNlJykKICAgICAgICAgZmluYWxs
eToKICAgICAgICAgICAgIHNlbGYuX3NvY2tldC5jbG9zZSgpCiAKQEAgLTE2NiwxMSArMTcyLDE3
IEBAIGRlZiBtYWluKCk6CiAgICAgcGFyc2VyLmFkZF9vcHRpb24oJy1yJywgJy0tcmVzb3VyY2Un
LCBkZXN0PSdyZXNvdXJjZScsIHR5cGU9J3N0cmluZycsCiAgICAgICAgICAgICAgICAgICAgICAg
ZGVmYXVsdD0nL2VjaG8nLCBoZWxwPSdyZXNvdXJjZSBwYXRoJykKICAgICBwYXJzZXIuYWRkX29w
dGlvbignLW0nLCAnLS1tZXNzYWdlJywgZGVzdD0nbWVzc2FnZScsIHR5cGU9J3N0cmluZycsCi0g
ICAgICAgICAgICAgICAgICAgICAgaGVscD0nY29tbWEtc2VwYXJhdGVkIG1lc3NhZ2VzIHRvIHNl
bmQnKQorICAgICAgICAgICAgICAgICAgICAgIGhlbHA9KCdjb21tYS1zZXBhcmF0ZWQgbWVzc2Fn
ZXMgdG8gc2VuZCBleGNsdWRpbmcgIiVzIiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J3RoYXQgaXMgYWx3YXlzIHNlbnQgYXQgdGhlIGVuZCcgJQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF9HT09EQllFX01FU1NBR0UpKQogICAgIHBhcnNlci5hZGRfb3B0aW9uKCctcScsICct
LXF1aWV0JywgZGVzdD0ndmVyYm9zZScsIGFjdGlvbj0nc3RvcmVfZmFsc2UnLAogICAgICAgICAg
ICAgICAgICAgICAgIGRlZmF1bHQ9VHJ1ZSwgaGVscD0nc3VwcHJlc3MgbWVzc2FnZXMnKQogICAg
IHBhcnNlci5hZGRfb3B0aW9uKCctdCcsICctLXRscycsIGRlc3Q9J3VzZV90bHMnLCBhY3Rpb249
J3N0b3JlX3RydWUnLAogICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsIGhlbHA9
J3VzZSBUTFMgKHdzczovLyknKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKCctaycsICctLXNvY2tl
dF90aW1lb3V0JywgZGVzdD0nc29ja2V0X3RpbWVvdXQnLAorICAgICAgICAgICAgICAgICAgICAg
IHR5cGU9J2ludCcsIGRlZmF1bHQ9X1RJTUVPVVRfU0VDLAorICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9J1RpbWVvdXQoc2VjKSBmb3Igc29ja2V0cycpCisKICAgICAob3B0aW9ucywgdW51c2Vk
X2FyZ3MpID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQogCiAgICAgIyBEZWZhdWx0IHBvcnQgbnVtYmVy
IGRlcGVuZHMgb24gd2hldGhlciBUTFMgaXMgdXNlZC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L3B5d2Vic29ja2V0L2V4YW1wbGUvZWNob193c2gucHkgYi9XZWJLaXRUb29scy9weXdlYnNvY2tl
dC9leGFtcGxlL2VjaG9fd3NoLnB5CmluZGV4IGY2ODBmYTUuLjUwY2FkMzEgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L2V4YW1wbGUvZWNob193c2gucHkKKysrIGIvV2ViS2l0
VG9vbHMvcHl3ZWJzb2NrZXQvZXhhbXBsZS9lY2hvX3dzaC5weQpAQCAtMzEsNiArMzEsOSBAQAog
ZnJvbSBtb2RfcHl3ZWJzb2NrZXQgaW1wb3J0IG1zZ3V0aWwKIAogCitfR09PREJZRV9NRVNTQUdF
ID0gJ0dvb2RieWUnCisKKwogZGVmIHdlYl9zb2NrZXRfZG9fZXh0cmFfaGFuZHNoYWtlKHJlcXVl
c3QpOgogICAgIHBhc3MgICMgQWx3YXlzIGFjY2VwdC4KIApAQCAtMzksNiArNDIsOCBAQCBkZWYg
d2ViX3NvY2tldF90cmFuc2Zlcl9kYXRhKHJlcXVlc3QpOgogICAgIHdoaWxlIFRydWU6CiAgICAg
ICAgIGxpbmUgPSBtc2d1dGlsLnJlY2VpdmVfbWVzc2FnZShyZXF1ZXN0KQogICAgICAgICBtc2d1
dGlsLnNlbmRfbWVzc2FnZShyZXF1ZXN0LCBsaW5lKQorICAgICAgICBpZiBsaW5lID09IF9HT09E
QllFX01FU1NBR0U6CisgICAgICAgICAgICByZXR1cm4KIAogCiAjIHZpOnN0cz00IHN3PTQgZXQK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9fX2lu
aXRfXy5weSBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9fX2luaXRf
Xy5weQppbmRleCBiZWFjYzllLi4wNWU4MGU4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9weXdl
YnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvX19pbml0X18ucHkKKysrIGIvV2ViS2l0VG9vbHMvcHl3
ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L19faW5pdF9fLnB5CkBAIC05Niw2ICs5Niw5IEBAIHdl
Yl9zb2NrZXRfdHJhbnNmZXJfZGF0YSBpcyBjYWxsZWQgYWZ0ZXIgdGhlIGhhbmRzaGFrZSBjb21w
bGV0ZWQKIHN1Y2Nlc3NmdWxseS4gQSBoYW5kbGVyIGNhbiByZWNlaXZlL3NlbmQgbWVzc2FnZXMg
ZnJvbS90byB0aGUgY2xpZW50CiB1c2luZyByZXF1ZXN0LiBtb2RfcHl3ZWJzb2NrZXQubXNndXRp
bCBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0aWVzCiBmb3IgZGF0YSB0cmFuc2Zlci4KKworQSBXZWIg
U29ja2V0IGhhbmRsZXIgbXVzdCBiZSB0aHJlYWQtc2FmZSBpZiB0aGUgc2VydmVyIChBcGFjaGUg
b3IKK3N0YW5kYWxvbmUucHkpIGlzIGNvbmZpZ3VyZWQgdG8gdXNlIHRocmVhZHMuCiAiIiIKIAog
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvZGlz
cGF0Y2gucHkgYi9XZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvZGlzcGF0
Y2gucHkKaW5kZXggNmQ1MDBjYi4uODdhNzMxNSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvcHl3
ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L2Rpc3BhdGNoLnB5CisrKyBiL1dlYktpdFRvb2xzL3B5
d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9kaXNwYXRjaC5weQpAQCAtNjIsNyArNjIsNyBAQCBk
ZWYgX25vcm1hbGl6ZV9wYXRoKHBhdGgpOgogICAgICIiIgogCiAgICAgcGF0aCA9IHBhdGgucmVw
bGFjZSgnXFwnLCBvcy5wYXRoLnNlcCkKLSAgICBwYXRoID0gb3MucGF0aC5hYnNwYXRoKHBhdGgp
CisgICAgcGF0aCA9IG9zLnBhdGgucmVhbHBhdGgocGF0aCkKICAgICBwYXRoID0gcGF0aC5yZXBs
YWNlKCdcXCcsICcvJykKICAgICByZXR1cm4gcGF0aAogCkBAIC0xMzYsNyArMTM2LDggQEAgY2xh
c3MgRGlzcGF0Y2hlcihvYmplY3QpOgogICAgICAgICBzZWxmLl9zb3VyY2Vfd2FybmluZ3MgPSBb
XQogICAgICAgICBpZiBzY2FuX2RpciBpcyBOb25lOgogICAgICAgICAgICAgc2Nhbl9kaXIgPSBy
b290X2RpcgotICAgICAgICBpZiBub3Qgb3MucGF0aC5yZWFscGF0aChzY2FuX2Rpcikuc3RhcnRz
d2l0aChvcy5wYXRoLnJlYWxwYXRoKHJvb3RfZGlyKSk6CisgICAgICAgIGlmIG5vdCBvcy5wYXRo
LnJlYWxwYXRoKHNjYW5fZGlyKS5zdGFydHN3aXRoKAorICAgICAgICAgICAgICAgIG9zLnBhdGgu
cmVhbHBhdGgocm9vdF9kaXIpKToKICAgICAgICAgICAgIHJhaXNlIERpc3BhdGNoRXJyb3IoJ3Nj
YW5fZGlyOiVzIG11c3QgYmUgYSBkaXJlY3RvcnkgdW5kZXIgJwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAncm9vdF9kaXI6JXMuJyAlIChzY2FuX2Rpciwgcm9vdF9kaXIpKQogICAg
ICAgICBzZWxmLl9zb3VyY2VfZmlsZXNfaW5fZGlyKHJvb3RfZGlyLCBzY2FuX2RpcikKQEAgLTE4
MiwxMyArMTgzLDE0IEBAIGNsYXNzIERpc3BhdGNoZXIob2JqZWN0KToKIAogICAgIGRlZiBfaGFu
ZGxlcihzZWxmLCByZXF1ZXN0KToKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNl
bGYuX2hhbmRsZXJzW3JlcXVlc3Qud3NfcmVzb3VyY2VdCisgICAgICAgICAgICB3c19yZXNvdXJj
ZV9wYXRoID0gcmVxdWVzdC53c19yZXNvdXJjZS5zcGxpdCgnPycsIDEpWzBdCisgICAgICAgICAg
ICByZXR1cm4gc2VsZi5faGFuZGxlcnNbd3NfcmVzb3VyY2VfcGF0aF0KICAgICAgICAgZXhjZXB0
IEtleUVycm9yOgogICAgICAgICAgICAgcmFpc2UgRGlzcGF0Y2hFcnJvcignTm8gaGFuZGxlciBm
b3I6ICVyJyAlIHJlcXVlc3Qud3NfcmVzb3VyY2UpCiAKICAgICBkZWYgX3NvdXJjZV9maWxlc19p
bl9kaXIoc2VsZiwgcm9vdF9kaXIsIHNjYW5fZGlyKToKICAgICAgICAgIiIiU291cmNlIGFsbCB0
aGUgaGFuZGxlciBzb3VyY2UgZmlsZXMgaW4gdGhlIHNjYW5fZGlyIGRpcmVjdG9yeS4KLSAgICAg
ICAgCisKICAgICAgICAgVGhlIHJlc291cmNlIHBhdGggaXMgZGV0ZXJtaW5lZCByZWxhdGl2ZSB0
byByb290X2Rpci4KICAgICAgICAgIiIiCiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL3B5d2Vi
c29ja2V0L21vZF9weXdlYnNvY2tldC9tc2d1dGlsLnB5IGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2Nr
ZXQvbW9kX3B5d2Vic29ja2V0L21zZ3V0aWwucHkKaW5kZXggYmRiNTU0ZC4uOWZhOWI1OSAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L21zZ3V0aWwu
cHkKKysrIGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L21zZ3V0aWwu
cHkKQEAgLTczLDcgKzczLDkgQEAgZGVmIHJlY2VpdmVfbWVzc2FnZShyZXF1ZXN0KToKICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgICMgVGhlIHBheWxvYWQgaXMgZGVsaW1pdGVkIHdpdGggXHhm
Zi4KICAgICAgICAgICAgIGJ5dGVzID0gX3JlYWRfdW50aWwocmVxdWVzdCwgJ1x4ZmYnKQotICAg
ICAgICAgICAgbWVzc2FnZSA9IGJ5dGVzLmRlY29kZSgndXRmLTgnKQorICAgICAgICAgICAgIyBU
aGUgV2ViIFNvY2tldCBwcm90b2NvbCBzZWN0aW9uIDQuNCBzcGVjaWZpZXMgdGhhdCBpbnZhbGlk
CisgICAgICAgICAgICAjIGNoYXJhY3RlcnMgbXVzdCBiZSByZXBsYWNlZCB3aXRoIFUrZmZmZCBS
RVBMQUNFTUVOVCBDSEFSQUNURVIuCisgICAgICAgICAgICBtZXNzYWdlID0gYnl0ZXMuZGVjb2Rl
KCd1dGYtOCcsICdyZXBsYWNlJykKICAgICAgICAgICAgIGlmIGZyYW1lX3R5cGUgPT0gMHgwMDoK
ICAgICAgICAgICAgICAgICByZXR1cm4gbWVzc2FnZQogICAgICAgICAgICAgIyBEaXNjYXJkIGRh
dGEgb2Ygb3RoZXIgdHlwZXMuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC9t
b2RfcHl3ZWJzb2NrZXQvc3RhbmRhbG9uZS5weSBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21v
ZF9weXdlYnNvY2tldC9zdGFuZGFsb25lLnB5CmluZGV4IGE0YzE0MmIuLjNiMmQwZGMgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9zdGFuZGFsb25l
LnB5CisrKyBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9zdGFuZGFs
b25lLnB5CkBAIC0zOCw2ICszOCw3IEBAIFVzYWdlOgogICAgIHB5dGhvbiBzdGFuZGFsb25lLnB5
IFstcCA8d3NfcG9ydD5dIFstdyA8d2Vic29ja19oYW5kbGVycz5dCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgWy1zIDxzY2FuX2Rpcj5dCiAgICAgICAgICAgICAgICAgICAgICAgICAgWy1kIDxk
b2N1bWVudF9yb290Pl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAuLi4gZm9yIG90aGVyIG9w
dGlvbnMsIHNlZSBfbWFpbiBiZWxvdyAuLi4KIAogPHdzX3BvcnQ+IGlzIHRoZSBwb3J0IG51bWJl
ciB0byB1c2UgZm9yIHdzOi8vIGNvbm5lY3Rpb24uCiAKQEAgLTU5LDYgKzYwLDcgQEAgaW1wb3J0
IEJhc2VIVFRQU2VydmVyCiBpbXBvcnQgU2ltcGxlSFRUUFNlcnZlcgogaW1wb3J0IFNvY2tldFNl
cnZlcgogaW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBsb2dnaW5nLmhhbmRsZXJzCiBpbXBvcnQgb3B0
cGFyc2UKIGltcG9ydCBvcwogaW1wb3J0IHNvY2tldApAQCAtNzUsNiArNzcsMjQgQEAgaW1wb3J0
IGRpc3BhdGNoCiBpbXBvcnQgaGFuZHNoYWtlCiAKIAorX0xPR19MRVZFTFMgPSB7CisgICAgJ2Rl
YnVnJzogbG9nZ2luZy5ERUJVRywKKyAgICAnaW5mbyc6IGxvZ2dpbmcuSU5GTywKKyAgICAnd2Fy
bic6IGxvZ2dpbmcuV0FSTiwKKyAgICAnZXJyb3InOiBsb2dnaW5nLkVSUk9SLAorICAgICdjcml0
aWNhbCc6IGxvZ2dpbmcuQ1JJVElDQUx9OworCitfREVGQVVMVF9MT0dfTUFYX0JZVEVTID0gMTAy
NCAqIDI1NgorX0RFRkFVTFRfTE9HX0JBQ0tVUF9DT1VOVCA9IDUKKworCitkZWYgX3ByaW50X3dh
cm5pbmdzX2lmX2FueShkaXNwYXRjaGVyKToKKyAgICB3YXJuaW5ncyA9IGRpc3BhdGNoZXIuc291
cmNlX3dhcm5pbmdzKCkKKyAgICBpZiB3YXJuaW5nczoKKyAgICAgICAgZm9yIHdhcm5pbmcgaW4g
d2FybmluZ3M6CisgICAgICAgICAgICBsb2dnaW5nLndhcm5pbmcoJ21vZF9weXdlYnNvY2tldDog
JXMnICUgd2FybmluZykKKworCiBjbGFzcyBfU3RhbmRhbG9uZUNvbm5lY3Rpb24ob2JqZWN0KToK
ICAgICAiIiJNaW1pYyBtb2RfcHl0aG9uIG1wX2Nvbm4uIiIiCiAKQEAgLTE1Miw2ICsxNzIsNyBA
QCBjbGFzcyBXZWJTb2NrZXRTZXJ2ZXIoU29ja2V0U2VydmVyLlRocmVhZGluZ01peEluLCBCYXNl
SFRUUFNlcnZlci5IVFRQU2VydmVyKToKICAgICAgICAgICAgIHNvY2tldF8gPSBPcGVuU1NMLlNT
TC5Db25uZWN0aW9uKGN0eCwgc29ja2V0XykKICAgICAgICAgcmV0dXJuIHNvY2tldF8KIAorCiBj
bGFzcyBXZWJTb2NrZXRSZXF1ZXN0SGFuZGxlcihTaW1wbGVIVFRQU2VydmVyLlNpbXBsZUhUVFBS
ZXF1ZXN0SGFuZGxlcik6CiAgICAgIiIiU2ltcGxlSFRUUFJlcXVlc3RIYW5kbGVyIHNwZWNpYWxp
emVkIGZvciBXZWIgU29ja2V0LiIiIgogCkBAIC0xNTksMTUgKzE4MCwxMyBAQCBjbGFzcyBXZWJT
b2NrZXRSZXF1ZXN0SGFuZGxlcihTaW1wbGVIVFRQU2VydmVyLlNpbXBsZUhUVFBSZXF1ZXN0SGFu
ZGxlcik6CiAgICAgICAgICIiIk92ZXJyaWRlIFNvY2tldFNlcnZlci5TdHJlYW1SZXF1ZXN0SGFu
ZGxlci5zZXR1cC4iIiIKIAogICAgICAgICBzZWxmLmNvbm5lY3Rpb24gPSBzZWxmLnJlcXVlc3QK
LSAgICAgICAgc2VsZi5yZmlsZSA9IHNvY2tldC5fZmlsZW9iamVjdChzZWxmLnJlcXVlc3QsICJy
YiIsIHNlbGYucmJ1ZnNpemUpCi0gICAgICAgIHNlbGYud2ZpbGUgPSBzb2NrZXQuX2ZpbGVvYmpl
Y3Qoc2VsZi5yZXF1ZXN0LCAid2IiLCBzZWxmLndidWZzaXplKQorICAgICAgICBzZWxmLnJmaWxl
ID0gc29ja2V0Ll9maWxlb2JqZWN0KHNlbGYucmVxdWVzdCwgJ3JiJywgc2VsZi5yYnVmc2l6ZSkK
KyAgICAgICAgc2VsZi53ZmlsZSA9IHNvY2tldC5fZmlsZW9iamVjdChzZWxmLnJlcXVlc3QsICd3
YicsIHNlbGYud2J1ZnNpemUpCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa2V5
d29yZHMpOgogICAgICAgICBzZWxmLl9yZXF1ZXN0ID0gX1N0YW5kYWxvbmVSZXF1ZXN0KAogICAg
ICAgICAgICAgICAgIHNlbGYsIFdlYlNvY2tldFJlcXVlc3RIYW5kbGVyLm9wdGlvbnMudXNlX3Rs
cykKLSAgICAgICAgc2VsZi5fZGlzcGF0Y2hlciA9IGRpc3BhdGNoLkRpc3BhdGNoZXIoCi0gICAg
ICAgICAgICAgICAgV2ViU29ja2V0UmVxdWVzdEhhbmRsZXIub3B0aW9ucy53ZWJzb2NrX2hhbmRs
ZXJzLAotICAgICAgICAgICAgICAgIFdlYlNvY2tldFJlcXVlc3RIYW5kbGVyLm9wdGlvbnMuc2Nh
bl9kaXIpCisgICAgICAgIHNlbGYuX2Rpc3BhdGNoZXIgPSBXZWJTb2NrZXRSZXF1ZXN0SGFuZGxl
ci5vcHRpb25zLmRpc3BhdGNoZXIKICAgICAgICAgc2VsZi5fcHJpbnRfd2FybmluZ3NfaWZfYW55
KCkKICAgICAgICAgc2VsZi5faGFuZHNoYWtlciA9IGhhbmRzaGFrZS5IYW5kc2hha2VyKHNlbGYu
X3JlcXVlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLl9kaXNwYXRjaGVyKQpAQCAtMjAwLDEwICsyMTksMzUgQEAgY2xhc3MgV2ViU29ja2V0
UmVxdWVzdEhhbmRsZXIoU2ltcGxlSFRUUFNlcnZlci5TaW1wbGVIVFRQUmVxdWVzdEhhbmRsZXIp
OgogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICByZXR1cm4gcmVzdWx0CiAK
KyAgICBkZWYgbG9nX3JlcXVlc3Qoc2VsZiwgY29kZT0nLScsIHNpemU9Jy0nKToKKyAgICAgICAg
IiIiT3ZlcnJpZGUgQmFzZUhUVFBTZXJ2ZXIubG9nX3JlcXVlc3QuIiIiCisKKyAgICAgICAgbG9n
Z2luZy5pbmZvKCciJXMiICVzICVzJywKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYucmVxdWVz
dGxpbmUsIHN0cihjb2RlKSwgc3RyKHNpemUpKQorCisgICAgZGVmIGxvZ19lcnJvcihzZWxmLCAq
YXJncyk6CisgICAgICAgICIiIk92ZXJyaWRlIEJhc2VIVFRQU2VydmVyLmxvZ19lcnJvci4iIiIK
KworICAgICAgICAjIERlc3BpdGUgdGhlIG5hbWUsIHRoaXMgbWV0aG9kIGlzIGZvciB3YXJuaW5n
cyB0aGFuIGZvciBlcnJvcnMuCisgICAgICAgICMgRm9yIGV4YW1wbGUsIEhUVFAgc3RhdHVzIGNv
ZGUgaXMgbG9nZ2VkIGJ5IHRoaXMgbWV0aG9kLgorICAgICAgICBsb2dnaW5nLndhcm4oJyVzIC0g
JXMnICUgKHNlbGYuYWRkcmVzc19zdHJpbmcoKSwgKGFyZ3NbMF0gJSBhcmdzWzE6XSkpKQogCi1k
ZWYgX21haW4oKToKLSAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKCkKIAorZGVmIF9jb25maWd1cmVf
bG9nZ2luZyhvcHRpb25zKToKKyAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigpCisgICAg
bG9nZ2VyLnNldExldmVsKF9MT0dfTEVWRUxTW29wdGlvbnMubG9nX2xldmVsXSkKKyAgICBpZiBv
cHRpb25zLmxvZ19maWxlOgorICAgICAgICBoYW5kbGVyID0gbG9nZ2luZy5oYW5kbGVycy5Sb3Rh
dGluZ0ZpbGVIYW5kbGVyKAorICAgICAgICAgICAgICAgIG9wdGlvbnMubG9nX2ZpbGUsICdhJywg
b3B0aW9ucy5sb2dfbWF4LCBvcHRpb25zLmxvZ19jb3VudCkKKyAgICBlbHNlOgorICAgICAgICBo
YW5kbGVyID0gbG9nZ2luZy5TdHJlYW1IYW5kbGVyKCkKKyAgICBmb3JtYXR0ZXIgPSBsb2dnaW5n
LkZvcm1hdHRlcigKKyAgICAgICAgICAgICJbJShhc2N0aW1lKXNdIFslKGxldmVsbmFtZSlzXSAl
KG5hbWUpczogJShtZXNzYWdlKXMiKQorICAgIGhhbmRsZXIuc2V0Rm9ybWF0dGVyKGZvcm1hdHRl
cikKKyAgICBsb2dnZXIuYWRkSGFuZGxlcihoYW5kbGVyKQorCisKK2RlZiBfbWFpbigpOgogICAg
IHBhcnNlciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcigpCiAgICAgcGFyc2VyLmFkZF9vcHRpb24o
Jy1wJywgJy0tcG9ydCcsIGRlc3Q9J3BvcnQnLCB0eXBlPSdpbnQnLAogICAgICAgICAgICAgICAg
ICAgICAgIGRlZmF1bHQ9aGFuZHNoYWtlLl9ERUZBVUxUX1dFQl9TT0NLRVRfUE9SVCwKQEAgLTIy
NCwyNyArMjY4LDUxIEBAIGRlZiBfbWFpbigpOgogICAgICAgICAgICAgICAgICAgICAgIGRlZmF1
bHQ9JycsIGhlbHA9J1RMUyBwcml2YXRlIGtleSBmaWxlLicpCiAgICAgcGFyc2VyLmFkZF9vcHRp
b24oJy1jJywgJy0tY2VydGlmaWNhdGUnLCBkZXN0PSdjZXJ0aWZpY2F0ZScsCiAgICAgICAgICAg
ICAgICAgICAgICAgZGVmYXVsdD0nJywgaGVscD0nVExTIGNlcnRpZmljYXRlIGZpbGUuJykKKyAg
ICBwYXJzZXIuYWRkX29wdGlvbignLWwnLCAnLS1sb2dfZmlsZScsIGRlc3Q9J2xvZ19maWxlJywK
KyAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PScnLCBoZWxwPSdMb2cgZmlsZS4nKQorICAg
IHBhcnNlci5hZGRfb3B0aW9uKCctLWxvZ19sZXZlbCcsIHR5cGU9J2Nob2ljZScsIGRlc3Q9J2xv
Z19sZXZlbCcsCisgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD0nd2FybicsCisgICAgICAg
ICAgICAgICAgICAgICAgY2hvaWNlcz1bJ2RlYnVnJywgJ2luZm8nLCAnd2FybicsICdlcnJvcics
ICdjcml0aWNhbCddLAorICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0xvZyBsZXZlbC4nKQor
ICAgIHBhcnNlci5hZGRfb3B0aW9uKCctLWxvZ19tYXgnLCBkZXN0PSdsb2dfbWF4JywgdHlwZT0n
aW50JywKKyAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PV9ERUZBVUxUX0xPR19NQVhfQllU
RVMsCisgICAgICAgICAgICAgICAgICAgICAgaGVscD0nTG9nIG1heGltdW0gYnl0ZXMnKQorICAg
IHBhcnNlci5hZGRfb3B0aW9uKCctLWxvZ19jb3VudCcsIGRlc3Q9J2xvZ19jb3VudCcsIHR5cGU9
J2ludCcsCisgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1fREVGQVVMVF9MT0dfQkFDS1VQ
X0NPVU5ULAorICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0xvZyBiYWNrdXAgY291bnQnKQog
ICAgIG9wdGlvbnMgPSBwYXJzZXIucGFyc2VfYXJncygpWzBdCiAKKyAgICBvcy5jaGRpcihvcHRp
b25zLmRvY3VtZW50X3Jvb3QpCisKKyAgICBfY29uZmlndXJlX2xvZ2dpbmcob3B0aW9ucykKKwog
ICAgIGlmIG9wdGlvbnMudXNlX3RsczoKICAgICAgICAgaWYgbm90IF9IQVNfT1BFTl9TU0w6Ci0g
ICAgICAgICAgICBwcmludCA+PnN5cy5zdGRlcnIsICdUbyB1c2UgVExTLCBpbnN0YWxsIHB5T3Bl
blNTTC4nCisgICAgICAgICAgICBsb2dnaW5nLmNyaXRpY2FsKCdUbyB1c2UgVExTLCBpbnN0YWxs
IHB5T3BlblNTTC4nKQogICAgICAgICAgICAgc3lzLmV4aXQoMSkKICAgICAgICAgaWYgbm90IG9w
dGlvbnMucHJpdmF0ZV9rZXkgb3Igbm90IG9wdGlvbnMuY2VydGlmaWNhdGU6Ci0gICAgICAgICAg
ICBwcmludCA+PnN5cy5zdGRlcnIsICgnVG8gdXNlIFRMUywgc3BlY2lmeSBwcml2YXRlX2tleSBh
bmQgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NlcnRpZmljYXRlLicpCisg
ICAgICAgICAgICBsb2dnaW5nLmNyaXRpY2FsKAorICAgICAgICAgICAgICAgICAgICAnVG8gdXNl
IFRMUywgc3BlY2lmeSBwcml2YXRlX2tleSBhbmQgY2VydGlmaWNhdGUuJykKICAgICAgICAgICAg
IHN5cy5leGl0KDEpCiAKICAgICBpZiBub3Qgb3B0aW9ucy5zY2FuX2RpcjoKICAgICAgICAgb3B0
aW9ucy5zY2FuX2RpciA9IG9wdGlvbnMud2Vic29ja19oYW5kbGVycwogCi0gICAgV2ViU29ja2V0
UmVxdWVzdEhhbmRsZXIub3B0aW9ucyA9IG9wdGlvbnMKLSAgICBXZWJTb2NrZXRTZXJ2ZXIub3B0
aW9ucyA9IG9wdGlvbnMKLQotICAgIG9zLmNoZGlyKG9wdGlvbnMuZG9jdW1lbnRfcm9vdCkKLQot
ICAgIHNlcnZlciA9IFdlYlNvY2tldFNlcnZlcigoJycsIG9wdGlvbnMucG9ydCksIFdlYlNvY2tl
dFJlcXVlc3RIYW5kbGVyKQotICAgIHNlcnZlci5zZXJ2ZV9mb3JldmVyKCkKKyAgICB0cnk6Cisg
ICAgICAgICMgU2hhcmUgYSBEaXNwYXRjaGVyIGFtb25nIHJlcXVlc3QgaGFuZGxlcnMgdG8gc2F2
ZSB0aW1lIGZvcgorICAgICAgICAjIGluc3RhbnRpYXRpb24uICBEaXNwYXRjaGVyIGNhbiBiZSBz
aGFyZWQgYmVjYXVzZSBpdCBpcyB0aHJlYWQtc2FmZS4KKyAgICAgICAgb3B0aW9ucy5kaXNwYXRj
aGVyID0gZGlzcGF0Y2guRGlzcGF0Y2hlcihvcHRpb25zLndlYnNvY2tfaGFuZGxlcnMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5zY2Fu
X2RpcikKKyAgICAgICAgX3ByaW50X3dhcm5pbmdzX2lmX2FueShvcHRpb25zLmRpc3BhdGNoZXIp
CisKKyAgICAgICAgV2ViU29ja2V0UmVxdWVzdEhhbmRsZXIub3B0aW9ucyA9IG9wdGlvbnMKKyAg
ICAgICAgV2ViU29ja2V0U2VydmVyLm9wdGlvbnMgPSBvcHRpb25zCisKKyAgICAgICAgc2VydmVy
ID0gV2ViU29ja2V0U2VydmVyKCgnJywgb3B0aW9ucy5wb3J0KSwgV2ViU29ja2V0UmVxdWVzdEhh
bmRsZXIpCisgICAgICAgIHNlcnZlci5zZXJ2ZV9mb3JldmVyKCkKKyAgICBleGNlcHQgRXhjZXB0
aW9uLCBlOgorICAgICAgICBsb2dnaW5nLmNyaXRpY2FsKHN0cihlKSkKKyAgICAgICAgc3lzLmV4
aXQoMSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvcHl3ZWJzb2NrZXQvc2V0dXAucHkgYi9XZWJLaXRUb29scy9weXdlYnNvY2tldC9zZXR1
cC5weQppbmRleCAxODEwYTZkLi5hZTA3ZjhhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9weXdl
YnNvY2tldC9zZXR1cC5weQorKysgYi9XZWJLaXRUb29scy9weXdlYnNvY2tldC9zZXR1cC5weQpA
QCAtNTYsNyArNTYsNyBAQCBzZXR1cChhdXRob3I9J1l1em8gRnVqaXNoaW1hJywKICAgICAgIG5h
bWU9X1BBQ0tBR0VfTkFNRSwKICAgICAgIHBhY2thZ2VzPVtfUEFDS0FHRV9OQU1FXSwKICAgICAg
IHVybD0naHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3B5d2Vic29ja2V0LycsCi0gICAgICB2ZXJz
aW9uPScwLjQuMScsCisgICAgICB2ZXJzaW9uPScwLjQuMicsCiAgICAgICApCiAKIApkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvdGVzdC90ZXN0X2Rpc3BhdGNoLnB5IGIvV2Vi
S2l0VG9vbHMvcHl3ZWJzb2NrZXQvdGVzdC90ZXN0X2Rpc3BhdGNoLnB5CmluZGV4IGQ2MTcyMDUu
LmQzMWQ2YmQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3Rlc3QvdGVzdF9k
aXNwYXRjaC5weQorKysgYi9XZWJLaXRUb29scy9weXdlYnNvY2tldC90ZXN0L3Rlc3RfZGlzcGF0
Y2gucHkKQEAgLTE1Niw2ICsxNTYsMjAgQEAgY2xhc3MgRGlzcGF0Y2hlclRlc3QodW5pdHRlc3Qu
VGVzdENhc2UpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdzdWIvcGxhaW5fd3NoLnB5IGlz
IGNhbGxlZCBmb3IgL3N1Yi9wbGFpbiwgTm9uZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
cmVxdWVzdC5jb25uZWN0aW9uLndyaXR0ZW5fZGF0YSgpKQogCisgICAgICAgIHJlcXVlc3QgPSBt
b2NrLk1vY2tSZXF1ZXN0KGNvbm5lY3Rpb249bW9jay5Nb2NrQ29ubignJykpCisgICAgICAgIHJl
cXVlc3Qud3NfcmVzb3VyY2UgPSAnL3N1Yi9wbGFpbj8nCisgICAgICAgIHJlcXVlc3Qud3NfcHJv
dG9jb2wgPSBOb25lCisgICAgICAgIGRpc3BhdGNoZXIudHJhbnNmZXJfZGF0YShyZXF1ZXN0KQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdzdWIvcGxhaW5fd3NoLnB5IGlzIGNhbGxlZCBmb3Ig
L3N1Yi9wbGFpbj8sIE5vbmUnLAorICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QuY29u
bmVjdGlvbi53cml0dGVuX2RhdGEoKSkKKworICAgICAgICByZXF1ZXN0ID0gbW9jay5Nb2NrUmVx
dWVzdChjb25uZWN0aW9uPW1vY2suTW9ja0Nvbm4oJycpKQorICAgICAgICByZXF1ZXN0LndzX3Jl
c291cmNlID0gJy9zdWIvcGxhaW4/cT12JworICAgICAgICByZXF1ZXN0LndzX3Byb3RvY29sID0g
Tm9uZQorICAgICAgICBkaXNwYXRjaGVyLnRyYW5zZmVyX2RhdGEocmVxdWVzdCkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbCgnc3ViL3BsYWluX3dzaC5weSBpcyBjYWxsZWQgZm9yIC9zdWIvcGxh
aW4/cT12LCBOb25lJywKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LmNvbm5lY3Rp
b24ud3JpdHRlbl9kYXRhKCkpCisKICAgICBkZWYgdGVzdF90cmFuc2Zlcl9kYXRhX25vX2hhbmRs
ZXIoc2VsZik6CiAgICAgICAgIGRpc3BhdGNoZXIgPSBkaXNwYXRjaC5EaXNwYXRjaGVyKF9URVNU
X0hBTkRMRVJTX0RJUiwgTm9uZSkKICAgICAgICAgZm9yIHJlc291cmNlIGluIFsnL2JsYW5rJywg
Jy9zdWIvbm9uX2NhbGxhYmxlJywKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0
L3Rlc3QvdGVzdF9tc2d1dGlsLnB5IGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvdGVzdC90ZXN0
X21zZ3V0aWwucHkKaW5kZXggYjNiYTUzOS4uMTZiODhlMCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvcHl3ZWJzb2NrZXQvdGVzdC90ZXN0X21zZ3V0aWwucHkKKysrIGIvV2ViS2l0VG9vbHMvcHl3
ZWJzb2NrZXQvdGVzdC90ZXN0X21zZ3V0aWwucHkKQEAgLTcxLDYgKzcxLDEzIEBAIGNsYXNzIE1l
c3NhZ2VUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBVKzY3MmMgaXMgZW5jb2Rl
ZCBhcyBlNiw5YyxhYyBpbiBVVEYtOAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHUnXHU2NzJj
JywgbXNndXRpbC5yZWNlaXZlX21lc3NhZ2UocmVxdWVzdCkpCiAKKyAgICBkZWYgdGVzdF9yZWNl
aXZlX21lc3NhZ2VfZXJyb25lb3VzX3VuaWNvZGUoc2VsZik6CisgICAgICAgICMgXHg4MCBhbmQg
XHg4MSBhcmUgaW52YWxpZCBhcyBVVEYtOC4KKyAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVx
dWVzdCgnXHgwMFx4ODBceDgxXHhmZicpCisgICAgICAgICMgSW52YWxpZCBjaGFyYWN0ZXJzIHNo
b3VsZCBiZSByZXBsYWNlZCB3aXRoCisgICAgICAgICMgVStmZmZkIFJFUExBQ0VNRU5UIENIQVJB
Q1RFUgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHUnXHVmZmZkXHVmZmZkJywgbXNndXRpbC5y
ZWNlaXZlX21lc3NhZ2UocmVxdWVzdCkpCisKICAgICBkZWYgdGVzdF9yZWNlaXZlX21lc3NhZ2Vf
ZGlzY2FyZChzZWxmKToKICAgICAgICAgcmVxdWVzdCA9IF9jcmVhdGVfcmVxdWVzdCgnXHg4MFx4
MDZJR05PUkVceDAwSGVsbG9ceGZmJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
XHgwMURJU1JFR0FSRFx4ZmZceDAwV29ybGQhXHhmZicpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43884</attachid>
            <date>2009-11-25 18:05:47 -0800</date>
            <delta_ts>2009-11-25 22:16:18 -0800</delta_ts>
            <desc>Update pywebsocket to 0.4.2</desc>
            <filename>bug-31861-20091126110545.patch</filename>
            <type>text/plain</type>
            <size>16820</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBmNzFkOGY3Li5kNDhjNDI1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDktMTEt
MjUgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBweXdlYnNvY2tldCB0byAwLjQu
MgorCisgICAgICAgIFVwZGF0ZSBweXdlYnNvY2tldCB0byAwLjQuMgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE4NjEKKworICAgICAgICAqIHB5d2Vi
c29ja2V0L2V4YW1wbGUvZWNob19jbGllbnQucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvZXhh
bXBsZS9lY2hvX3dzaC5weToKKyAgICAgICAgKiBweXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQv
X19pbml0X18ucHk6CisgICAgICAgICogcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L2Rpc3Bh
dGNoLnB5OgorICAgICAgICAqIHB5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9tc2d1dGlsLnB5
OgorICAgICAgICAqIHB5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9zdGFuZGFsb25lLnB5Ogor
ICAgICAgICAqIHB5d2Vic29ja2V0L3NldHVwLnB5OgorICAgICAgICAqIHB5d2Vic29ja2V0L3Rl
c3QvdGVzdF9kaXNwYXRjaC5weToKKyAgICAgICAgKiBweXdlYnNvY2tldC90ZXN0L3Rlc3RfbXNn
dXRpbC5weToKKwogMjAwOS0xMS0yNCAgRG1pdHJ5IFRpdG92ICA8ZGltaWNoQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYktp
dFRvb2xzL3B5d2Vic29ja2V0L2V4YW1wbGUvZWNob19jbGllbnQucHkgYi9XZWJLaXRUb29scy9w
eXdlYnNvY2tldC9leGFtcGxlL2VjaG9fY2xpZW50LnB5CmluZGV4IDYxYjEyOWMuLjMyNjJhNmQg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L2V4YW1wbGUvZWNob19jbGllbnQu
cHkKKysrIGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvZXhhbXBsZS9lY2hvX2NsaWVudC5weQpA
QCAtNDYsNiArNDYsOCBAQCBpbXBvcnQgc29ja2V0CiBpbXBvcnQgc3lzCiAKIAorX1RJTUVPVVRf
U0VDID0gMTAKKwogX0RFRkFVTFRfUE9SVCA9IDgwCiBfREVGQVVMVF9TRUNVUkVfUE9SVCA9IDQ0
MwogX1VOREVGSU5FRF9QT1JUID0gLTEKQEAgLTU3LDYgKzU5LDggQEAgX0VYUEVDVEVEX1JFU1BP
TlNFID0gKAogICAgICAgICBfVVBHUkFERV9IRUFERVIgKwogICAgICAgICBfQ09OTkVDVElPTl9I
RUFERVIpCiAKK19HT09EQllFX01FU1NBR0UgPSAnR29vZGJ5ZScKKwogCiBkZWYgX21ldGhvZF9s
aW5lKHJlc291cmNlKToKICAgICByZXR1cm4gJ0dFVCAlcyBIVFRQLzEuMVxyXG4nICUgcmVzb3Vy
Y2UKQEAgLTk2LDEzICsxMDAsMTQgQEAgY2xhc3MgRWNob0NsaWVudChvYmplY3QpOgogICAgICAg
ICBTaGFrZSBoYW5kcyBhbmQgdGhlbiByZXBlYXQgc2VuZGluZyBtZXNzYWdlIGFuZCByZWNlaXZp
bmcgaXRzIGVjaG8uCiAgICAgICAgICIiIgogICAgICAgICBzZWxmLl9zb2NrZXQgPSBzb2NrZXQu
c29ja2V0KCkKKyAgICAgICAgc2VsZi5fc29ja2V0LnNldHRpbWVvdXQoc2VsZi5fb3B0aW9ucy5z
b2NrZXRfdGltZW91dCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5fc29ja2V0LmNv
bm5lY3QoKHNlbGYuX29wdGlvbnMuc2VydmVyX2hvc3QsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5fb3B0aW9ucy5zZXJ2ZXJfcG9ydCkpCiAgICAgICAgICAgICBpZiBz
ZWxmLl9vcHRpb25zLnVzZV90bHM6CiAgICAgICAgICAgICAgICAgc2VsZi5fc29ja2V0ID0gX1RM
U1NvY2tldChzZWxmLl9zb2NrZXQpCiAgICAgICAgICAgICBzZWxmLl9oYW5kc2hha2UoKQotICAg
ICAgICAgICAgZm9yIGxpbmUgaW4gc2VsZi5fb3B0aW9ucy5tZXNzYWdlLnNwbGl0KCcsJyk6Cisg
ICAgICAgICAgICBmb3IgbGluZSBpbiBzZWxmLl9vcHRpb25zLm1lc3NhZ2Uuc3BsaXQoJywnKSAr
IFtfR09PREJZRV9NRVNTQUdFXToKICAgICAgICAgICAgICAgICBmcmFtZSA9ICdceDAwJyArIGxp
bmUuZW5jb2RlKCd1dGYtOCcpICsgJ1x4ZmYnCiAgICAgICAgICAgICAgICAgc2VsZi5fc29ja2V0
LnNlbmQoZnJhbWUpCiAgICAgICAgICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy52ZXJib3NlOgpA
QCAtMTExLDcgKzExNiw4IEBAIGNsYXNzIEVjaG9DbGllbnQob2JqZWN0KToKICAgICAgICAgICAg
ICAgICBpZiByZWNlaXZlZCAhPSBmcmFtZToKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgRXhj
ZXB0aW9uKCdJbmNvcnJlY3QgZWNobzogJXInICUgcmVjZWl2ZWQpCiAgICAgICAgICAgICAgICAg
aWYgc2VsZi5fb3B0aW9ucy52ZXJib3NlOgotICAgICAgICAgICAgICAgICAgICBwcmludCAnUmVj
djogJXMnICUgcmVjZWl2ZWRbMTotMV0uZGVjb2RlKCd1dGYtOCcpCisgICAgICAgICAgICAgICAg
ICAgIHByaW50ICdSZWN2OiAlcycgJSByZWNlaXZlZFsxOi0xXS5kZWNvZGUoJ3V0Zi04JywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAncmVwbGFjZScpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBzZWxmLl9zb2NrZXQu
Y2xvc2UoKQogCkBAIC0xNjYsMTEgKzE3MiwxNyBAQCBkZWYgbWFpbigpOgogICAgIHBhcnNlci5h
ZGRfb3B0aW9uKCctcicsICctLXJlc291cmNlJywgZGVzdD0ncmVzb3VyY2UnLCB0eXBlPSdzdHJp
bmcnLAogICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9Jy9lY2hvJywgaGVscD0ncmVzb3Vy
Y2UgcGF0aCcpCiAgICAgcGFyc2VyLmFkZF9vcHRpb24oJy1tJywgJy0tbWVzc2FnZScsIGRlc3Q9
J21lc3NhZ2UnLCB0eXBlPSdzdHJpbmcnLAotICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J2Nv
bW1hLXNlcGFyYXRlZCBtZXNzYWdlcyB0byBzZW5kJykKKyAgICAgICAgICAgICAgICAgICAgICBo
ZWxwPSgnY29tbWEtc2VwYXJhdGVkIG1lc3NhZ2VzIHRvIHNlbmQgZXhjbHVkaW5nICIlcyIgJwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aGF0IGlzIGFsd2F5cyBzZW50IGF0IHRoZSBl
bmQnICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBfR09PREJZRV9NRVNTQUdFKSkKICAg
ICBwYXJzZXIuYWRkX29wdGlvbignLXEnLCAnLS1xdWlldCcsIGRlc3Q9J3ZlcmJvc2UnLCBhY3Rp
b249J3N0b3JlX2ZhbHNlJywKICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PVRydWUsIGhl
bHA9J3N1cHByZXNzIG1lc3NhZ2VzJykKICAgICBwYXJzZXIuYWRkX29wdGlvbignLXQnLCAnLS10
bHMnLCBkZXN0PSd1c2VfdGxzJywgYWN0aW9uPSdzdG9yZV90cnVlJywKICAgICAgICAgICAgICAg
ICAgICAgICBkZWZhdWx0PUZhbHNlLCBoZWxwPSd1c2UgVExTICh3c3M6Ly8pJykKKyAgICBwYXJz
ZXIuYWRkX29wdGlvbignLWsnLCAnLS1zb2NrZXRfdGltZW91dCcsIGRlc3Q9J3NvY2tldF90aW1l
b3V0JywKKyAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdpbnQnLCBkZWZhdWx0PV9USU1FT1VU
X1NFQywKKyAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdUaW1lb3V0KHNlYykgZm9yIHNvY2tl
dHMnKQorCiAgICAgKG9wdGlvbnMsIHVudXNlZF9hcmdzKSA9IHBhcnNlci5wYXJzZV9hcmdzKCkK
IAogICAgICMgRGVmYXVsdCBwb3J0IG51bWJlciBkZXBlbmRzIG9uIHdoZXRoZXIgVExTIGlzIHVz
ZWQuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC9leGFtcGxlL2VjaG9fd3No
LnB5IGIvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvZXhhbXBsZS9lY2hvX3dzaC5weQppbmRleCBm
NjgwZmE1Li41MGNhZDMxIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC9leGFt
cGxlL2VjaG9fd3NoLnB5CisrKyBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L2V4YW1wbGUvZWNo
b193c2gucHkKQEAgLTMxLDYgKzMxLDkgQEAKIGZyb20gbW9kX3B5d2Vic29ja2V0IGltcG9ydCBt
c2d1dGlsCiAKIAorX0dPT0RCWUVfTUVTU0FHRSA9ICdHb29kYnllJworCisKIGRlZiB3ZWJfc29j
a2V0X2RvX2V4dHJhX2hhbmRzaGFrZShyZXF1ZXN0KToKICAgICBwYXNzICAjIEFsd2F5cyBhY2Nl
cHQuCiAKQEAgLTM5LDYgKzQyLDggQEAgZGVmIHdlYl9zb2NrZXRfdHJhbnNmZXJfZGF0YShyZXF1
ZXN0KToKICAgICB3aGlsZSBUcnVlOgogICAgICAgICBsaW5lID0gbXNndXRpbC5yZWNlaXZlX21l
c3NhZ2UocmVxdWVzdCkKICAgICAgICAgbXNndXRpbC5zZW5kX21lc3NhZ2UocmVxdWVzdCwgbGlu
ZSkKKyAgICAgICAgaWYgbGluZSA9PSBfR09PREJZRV9NRVNTQUdFOgorICAgICAgICAgICAgcmV0
dXJuCiAKIAogIyB2aTpzdHM9NCBzdz00IGV0CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdl
YnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvX19pbml0X18ucHkgYi9XZWJLaXRUb29scy9weXdlYnNv
Y2tldC9tb2RfcHl3ZWJzb2NrZXQvX19pbml0X18ucHkKaW5kZXggYmVhY2M5ZS4uMDVlODBlOCAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L19faW5p
dF9fLnB5CisrKyBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9fX2lu
aXRfXy5weQpAQCAtOTYsNiArOTYsOSBAQCB3ZWJfc29ja2V0X3RyYW5zZmVyX2RhdGEgaXMgY2Fs
bGVkIGFmdGVyIHRoZSBoYW5kc2hha2UgY29tcGxldGVkCiBzdWNjZXNzZnVsbHkuIEEgaGFuZGxl
ciBjYW4gcmVjZWl2ZS9zZW5kIG1lc3NhZ2VzIGZyb20vdG8gdGhlIGNsaWVudAogdXNpbmcgcmVx
dWVzdC4gbW9kX3B5d2Vic29ja2V0Lm1zZ3V0aWwgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdGllcwog
Zm9yIGRhdGEgdHJhbnNmZXIuCisKK0EgV2ViIFNvY2tldCBoYW5kbGVyIG11c3QgYmUgdGhyZWFk
LXNhZmUgaWYgdGhlIHNlcnZlciAoQXBhY2hlIG9yCitzdGFuZGFsb25lLnB5KSBpcyBjb25maWd1
cmVkIHRvIHVzZSB0aHJlYWRzLgogIiIiCiAKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvcHl3
ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L2Rpc3BhdGNoLnB5IGIvV2ViS2l0VG9vbHMvcHl3ZWJz
b2NrZXQvbW9kX3B5d2Vic29ja2V0L2Rpc3BhdGNoLnB5CmluZGV4IDZkNTAwY2IuLjg3YTczMTUg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9kaXNw
YXRjaC5weQorKysgYi9XZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvZGlz
cGF0Y2gucHkKQEAgLTYyLDcgKzYyLDcgQEAgZGVmIF9ub3JtYWxpemVfcGF0aChwYXRoKToKICAg
ICAiIiIKIAogICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoJ1xcJywgb3MucGF0aC5zZXApCi0gICAg
cGF0aCA9IG9zLnBhdGguYWJzcGF0aChwYXRoKQorICAgIHBhdGggPSBvcy5wYXRoLnJlYWxwYXRo
KHBhdGgpCiAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSgnXFwnLCAnLycpCiAgICAgcmV0dXJuIHBh
dGgKIApAQCAtMTM2LDcgKzEzNiw4IEBAIGNsYXNzIERpc3BhdGNoZXIob2JqZWN0KToKICAgICAg
ICAgc2VsZi5fc291cmNlX3dhcm5pbmdzID0gW10KICAgICAgICAgaWYgc2Nhbl9kaXIgaXMgTm9u
ZToKICAgICAgICAgICAgIHNjYW5fZGlyID0gcm9vdF9kaXIKLSAgICAgICAgaWYgbm90IG9zLnBh
dGgucmVhbHBhdGgoc2Nhbl9kaXIpLnN0YXJ0c3dpdGgob3MucGF0aC5yZWFscGF0aChyb290X2Rp
cikpOgorICAgICAgICBpZiBub3Qgb3MucGF0aC5yZWFscGF0aChzY2FuX2Rpcikuc3RhcnRzd2l0
aCgKKyAgICAgICAgICAgICAgICBvcy5wYXRoLnJlYWxwYXRoKHJvb3RfZGlyKSk6CiAgICAgICAg
ICAgICByYWlzZSBEaXNwYXRjaEVycm9yKCdzY2FuX2RpcjolcyBtdXN0IGJlIGEgZGlyZWN0b3J5
IHVuZGVyICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Jvb3RfZGlyOiVzLicg
JSAoc2Nhbl9kaXIsIHJvb3RfZGlyKSkKICAgICAgICAgc2VsZi5fc291cmNlX2ZpbGVzX2luX2Rp
cihyb290X2Rpciwgc2Nhbl9kaXIpCkBAIC0xODIsMTMgKzE4MywxNCBAQCBjbGFzcyBEaXNwYXRj
aGVyKG9iamVjdCk6CiAKICAgICBkZWYgX2hhbmRsZXIoc2VsZiwgcmVxdWVzdCk6CiAgICAgICAg
IHRyeToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9oYW5kbGVyc1tyZXF1ZXN0LndzX3Jlc291
cmNlXQorICAgICAgICAgICAgd3NfcmVzb3VyY2VfcGF0aCA9IHJlcXVlc3Qud3NfcmVzb3VyY2Uu
c3BsaXQoJz8nLCAxKVswXQorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2hhbmRsZXJzW3dzX3Jl
c291cmNlX3BhdGhdCiAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKICAgICAgICAgICAgIHJhaXNl
IERpc3BhdGNoRXJyb3IoJ05vIGhhbmRsZXIgZm9yOiAlcicgJSByZXF1ZXN0LndzX3Jlc291cmNl
KQogCiAgICAgZGVmIF9zb3VyY2VfZmlsZXNfaW5fZGlyKHNlbGYsIHJvb3RfZGlyLCBzY2FuX2Rp
cik6CiAgICAgICAgICIiIlNvdXJjZSBhbGwgdGhlIGhhbmRsZXIgc291cmNlIGZpbGVzIGluIHRo
ZSBzY2FuX2RpciBkaXJlY3RvcnkuCi0gICAgICAgIAorCiAgICAgICAgIFRoZSByZXNvdXJjZSBw
YXRoIGlzIGRldGVybWluZWQgcmVsYXRpdmUgdG8gcm9vdF9kaXIuCiAgICAgICAgICIiIgogCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvbXNndXRp
bC5weSBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L21vZF9weXdlYnNvY2tldC9tc2d1dGlsLnB5
CmluZGV4IGJkYjU1NGQuLjlmYTliNTkgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL3B5d2Vic29j
a2V0L21vZF9weXdlYnNvY2tldC9tc2d1dGlsLnB5CisrKyBiL1dlYktpdFRvb2xzL3B5d2Vic29j
a2V0L21vZF9weXdlYnNvY2tldC9tc2d1dGlsLnB5CkBAIC03Myw3ICs3Myw5IEBAIGRlZiByZWNl
aXZlX21lc3NhZ2UocmVxdWVzdCk6CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAjIFRoZSBw
YXlsb2FkIGlzIGRlbGltaXRlZCB3aXRoIFx4ZmYuCiAgICAgICAgICAgICBieXRlcyA9IF9yZWFk
X3VudGlsKHJlcXVlc3QsICdceGZmJykKLSAgICAgICAgICAgIG1lc3NhZ2UgPSBieXRlcy5kZWNv
ZGUoJ3V0Zi04JykKKyAgICAgICAgICAgICMgVGhlIFdlYiBTb2NrZXQgcHJvdG9jb2wgc2VjdGlv
biA0LjQgc3BlY2lmaWVzIHRoYXQgaW52YWxpZAorICAgICAgICAgICAgIyBjaGFyYWN0ZXJzIG11
c3QgYmUgcmVwbGFjZWQgd2l0aCBVK2ZmZmQgUkVQTEFDRU1FTlQgQ0hBUkFDVEVSLgorICAgICAg
ICAgICAgbWVzc2FnZSA9IGJ5dGVzLmRlY29kZSgndXRmLTgnLCAncmVwbGFjZScpCiAgICAgICAg
ICAgICBpZiBmcmFtZV90eXBlID09IDB4MDA6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1lc3Nh
Z2UKICAgICAgICAgICAgICMgRGlzY2FyZCBkYXRhIG9mIG90aGVyIHR5cGVzLgpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvbW9kX3B5d2Vic29ja2V0L3N0YW5kYWxvbmUucHkg
Yi9XZWJLaXRUb29scy9weXdlYnNvY2tldC9tb2RfcHl3ZWJzb2NrZXQvc3RhbmRhbG9uZS5weQpp
bmRleCBhNGMxNDJiLi4zYjJkMGRjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9weXdlYnNvY2tl
dC9tb2RfcHl3ZWJzb2NrZXQvc3RhbmRhbG9uZS5weQorKysgYi9XZWJLaXRUb29scy9weXdlYnNv
Y2tldC9tb2RfcHl3ZWJzb2NrZXQvc3RhbmRhbG9uZS5weQpAQCAtMzgsNiArMzgsNyBAQCBVc2Fn
ZToKICAgICBweXRob24gc3RhbmRhbG9uZS5weSBbLXAgPHdzX3BvcnQ+XSBbLXcgPHdlYnNvY2tf
aGFuZGxlcnM+XQogICAgICAgICAgICAgICAgICAgICAgICAgIFstcyA8c2Nhbl9kaXI+XQogICAg
ICAgICAgICAgICAgICAgICAgICAgIFstZCA8ZG9jdW1lbnRfcm9vdD5dCisgICAgICAgICAgICAg
ICAgICAgICAgICAgLi4uIGZvciBvdGhlciBvcHRpb25zLCBzZWUgX21haW4gYmVsb3cgLi4uCiAK
IDx3c19wb3J0PiBpcyB0aGUgcG9ydCBudW1iZXIgdG8gdXNlIGZvciB3czovLyBjb25uZWN0aW9u
LgogCkBAIC01OSw2ICs2MCw3IEBAIGltcG9ydCBCYXNlSFRUUFNlcnZlcgogaW1wb3J0IFNpbXBs
ZUhUVFBTZXJ2ZXIKIGltcG9ydCBTb2NrZXRTZXJ2ZXIKIGltcG9ydCBsb2dnaW5nCitpbXBvcnQg
bG9nZ2luZy5oYW5kbGVycwogaW1wb3J0IG9wdHBhcnNlCiBpbXBvcnQgb3MKIGltcG9ydCBzb2Nr
ZXQKQEAgLTc1LDYgKzc3LDI0IEBAIGltcG9ydCBkaXNwYXRjaAogaW1wb3J0IGhhbmRzaGFrZQog
CiAKK19MT0dfTEVWRUxTID0geworICAgICdkZWJ1Zyc6IGxvZ2dpbmcuREVCVUcsCisgICAgJ2lu
Zm8nOiBsb2dnaW5nLklORk8sCisgICAgJ3dhcm4nOiBsb2dnaW5nLldBUk4sCisgICAgJ2Vycm9y
JzogbG9nZ2luZy5FUlJPUiwKKyAgICAnY3JpdGljYWwnOiBsb2dnaW5nLkNSSVRJQ0FMfTsKKwor
X0RFRkFVTFRfTE9HX01BWF9CWVRFUyA9IDEwMjQgKiAyNTYKK19ERUZBVUxUX0xPR19CQUNLVVBf
Q09VTlQgPSA1CisKKworZGVmIF9wcmludF93YXJuaW5nc19pZl9hbnkoZGlzcGF0Y2hlcik6Cisg
ICAgd2FybmluZ3MgPSBkaXNwYXRjaGVyLnNvdXJjZV93YXJuaW5ncygpCisgICAgaWYgd2Fybmlu
Z3M6CisgICAgICAgIGZvciB3YXJuaW5nIGluIHdhcm5pbmdzOgorICAgICAgICAgICAgbG9nZ2lu
Zy53YXJuaW5nKCdtb2RfcHl3ZWJzb2NrZXQ6ICVzJyAlIHdhcm5pbmcpCisKKwogY2xhc3MgX1N0
YW5kYWxvbmVDb25uZWN0aW9uKG9iamVjdCk6CiAgICAgIiIiTWltaWMgbW9kX3B5dGhvbiBtcF9j
b25uLiIiIgogCkBAIC0xNTIsNiArMTcyLDcgQEAgY2xhc3MgV2ViU29ja2V0U2VydmVyKFNvY2tl
dFNlcnZlci5UaHJlYWRpbmdNaXhJbiwgQmFzZUhUVFBTZXJ2ZXIuSFRUUFNlcnZlcik6CiAgICAg
ICAgICAgICBzb2NrZXRfID0gT3BlblNTTC5TU0wuQ29ubmVjdGlvbihjdHgsIHNvY2tldF8pCiAg
ICAgICAgIHJldHVybiBzb2NrZXRfCiAKKwogY2xhc3MgV2ViU29ja2V0UmVxdWVzdEhhbmRsZXIo
U2ltcGxlSFRUUFNlcnZlci5TaW1wbGVIVFRQUmVxdWVzdEhhbmRsZXIpOgogICAgICIiIlNpbXBs
ZUhUVFBSZXF1ZXN0SGFuZGxlciBzcGVjaWFsaXplZCBmb3IgV2ViIFNvY2tldC4iIiIKIApAQCAt
MTU5LDE1ICsxODAsMTMgQEAgY2xhc3MgV2ViU29ja2V0UmVxdWVzdEhhbmRsZXIoU2ltcGxlSFRU
UFNlcnZlci5TaW1wbGVIVFRQUmVxdWVzdEhhbmRsZXIpOgogICAgICAgICAiIiJPdmVycmlkZSBT
b2NrZXRTZXJ2ZXIuU3RyZWFtUmVxdWVzdEhhbmRsZXIuc2V0dXAuIiIiCiAKICAgICAgICAgc2Vs
Zi5jb25uZWN0aW9uID0gc2VsZi5yZXF1ZXN0Ci0gICAgICAgIHNlbGYucmZpbGUgPSBzb2NrZXQu
X2ZpbGVvYmplY3Qoc2VsZi5yZXF1ZXN0LCAicmIiLCBzZWxmLnJidWZzaXplKQotICAgICAgICBz
ZWxmLndmaWxlID0gc29ja2V0Ll9maWxlb2JqZWN0KHNlbGYucmVxdWVzdCwgIndiIiwgc2VsZi53
YnVmc2l6ZSkKKyAgICAgICAgc2VsZi5yZmlsZSA9IHNvY2tldC5fZmlsZW9iamVjdChzZWxmLnJl
cXVlc3QsICdyYicsIHNlbGYucmJ1ZnNpemUpCisgICAgICAgIHNlbGYud2ZpbGUgPSBzb2NrZXQu
X2ZpbGVvYmplY3Qoc2VsZi5yZXF1ZXN0LCAnd2InLCBzZWxmLndidWZzaXplKQogCiAgICAgZGVm
IF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmtleXdvcmRzKToKICAgICAgICAgc2VsZi5fcmVxdWVz
dCA9IF9TdGFuZGFsb25lUmVxdWVzdCgKICAgICAgICAgICAgICAgICBzZWxmLCBXZWJTb2NrZXRS
ZXF1ZXN0SGFuZGxlci5vcHRpb25zLnVzZV90bHMpCi0gICAgICAgIHNlbGYuX2Rpc3BhdGNoZXIg
PSBkaXNwYXRjaC5EaXNwYXRjaGVyKAotICAgICAgICAgICAgICAgIFdlYlNvY2tldFJlcXVlc3RI
YW5kbGVyLm9wdGlvbnMud2Vic29ja19oYW5kbGVycywKLSAgICAgICAgICAgICAgICBXZWJTb2Nr
ZXRSZXF1ZXN0SGFuZGxlci5vcHRpb25zLnNjYW5fZGlyKQorICAgICAgICBzZWxmLl9kaXNwYXRj
aGVyID0gV2ViU29ja2V0UmVxdWVzdEhhbmRsZXIub3B0aW9ucy5kaXNwYXRjaGVyCiAgICAgICAg
IHNlbGYuX3ByaW50X3dhcm5pbmdzX2lmX2FueSgpCiAgICAgICAgIHNlbGYuX2hhbmRzaGFrZXIg
PSBoYW5kc2hha2UuSGFuZHNoYWtlcihzZWxmLl9yZXF1ZXN0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZGlzcGF0Y2hlcikKQEAgLTIwMCwx
MCArMjE5LDM1IEBAIGNsYXNzIFdlYlNvY2tldFJlcXVlc3RIYW5kbGVyKFNpbXBsZUhUVFBTZXJ2
ZXIuU2ltcGxlSFRUUFJlcXVlc3RIYW5kbGVyKToKICAgICAgICAgICAgICAgICByZXR1cm4gRmFs
c2UKICAgICAgICAgcmV0dXJuIHJlc3VsdAogCisgICAgZGVmIGxvZ19yZXF1ZXN0KHNlbGYsIGNv
ZGU9Jy0nLCBzaXplPSctJyk6CisgICAgICAgICIiIk92ZXJyaWRlIEJhc2VIVFRQU2VydmVyLmxv
Z19yZXF1ZXN0LiIiIgorCisgICAgICAgIGxvZ2dpbmcuaW5mbygnIiVzIiAlcyAlcycsCisgICAg
ICAgICAgICAgICAgICAgICBzZWxmLnJlcXVlc3RsaW5lLCBzdHIoY29kZSksIHN0cihzaXplKSkK
KworICAgIGRlZiBsb2dfZXJyb3Ioc2VsZiwgKmFyZ3MpOgorICAgICAgICAiIiJPdmVycmlkZSBC
YXNlSFRUUFNlcnZlci5sb2dfZXJyb3IuIiIiCisKKyAgICAgICAgIyBEZXNwaXRlIHRoZSBuYW1l
LCB0aGlzIG1ldGhvZCBpcyBmb3Igd2FybmluZ3MgdGhhbiBmb3IgZXJyb3JzLgorICAgICAgICAj
IEZvciBleGFtcGxlLCBIVFRQIHN0YXR1cyBjb2RlIGlzIGxvZ2dlZCBieSB0aGlzIG1ldGhvZC4K
KyAgICAgICAgbG9nZ2luZy53YXJuKCclcyAtICVzJyAlIChzZWxmLmFkZHJlc3Nfc3RyaW5nKCks
IChhcmdzWzBdICUgYXJnc1sxOl0pKSkKIAotZGVmIF9tYWluKCk6Ci0gICAgbG9nZ2luZy5iYXNp
Y0NvbmZpZygpCiAKK2RlZiBfY29uZmlndXJlX2xvZ2dpbmcob3B0aW9ucyk6CisgICAgbG9nZ2Vy
ID0gbG9nZ2luZy5nZXRMb2dnZXIoKQorICAgIGxvZ2dlci5zZXRMZXZlbChfTE9HX0xFVkVMU1tv
cHRpb25zLmxvZ19sZXZlbF0pCisgICAgaWYgb3B0aW9ucy5sb2dfZmlsZToKKyAgICAgICAgaGFu
ZGxlciA9IGxvZ2dpbmcuaGFuZGxlcnMuUm90YXRpbmdGaWxlSGFuZGxlcigKKyAgICAgICAgICAg
ICAgICBvcHRpb25zLmxvZ19maWxlLCAnYScsIG9wdGlvbnMubG9nX21heCwgb3B0aW9ucy5sb2df
Y291bnQpCisgICAgZWxzZToKKyAgICAgICAgaGFuZGxlciA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxl
cigpCisgICAgZm9ybWF0dGVyID0gbG9nZ2luZy5Gb3JtYXR0ZXIoCisgICAgICAgICAgICAiWyUo
YXNjdGltZSlzXSBbJShsZXZlbG5hbWUpc10gJShuYW1lKXM6ICUobWVzc2FnZSlzIikKKyAgICBo
YW5kbGVyLnNldEZvcm1hdHRlcihmb3JtYXR0ZXIpCisgICAgbG9nZ2VyLmFkZEhhbmRsZXIoaGFu
ZGxlcikKKworCitkZWYgX21haW4oKToKICAgICBwYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJz
ZXIoKQogICAgIHBhcnNlci5hZGRfb3B0aW9uKCctcCcsICctLXBvcnQnLCBkZXN0PSdwb3J0Jywg
dHlwZT0naW50JywKICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PWhhbmRzaGFrZS5fREVG
QVVMVF9XRUJfU09DS0VUX1BPUlQsCkBAIC0yMjQsMjcgKzI2OCw1MSBAQCBkZWYgX21haW4oKToK
ICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PScnLCBoZWxwPSdUTFMgcHJpdmF0ZSBrZXkg
ZmlsZS4nKQogICAgIHBhcnNlci5hZGRfb3B0aW9uKCctYycsICctLWNlcnRpZmljYXRlJywgZGVz
dD0nY2VydGlmaWNhdGUnLAogICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9JycsIGhlbHA9
J1RMUyBjZXJ0aWZpY2F0ZSBmaWxlLicpCisgICAgcGFyc2VyLmFkZF9vcHRpb24oJy1sJywgJy0t
bG9nX2ZpbGUnLCBkZXN0PSdsb2dfZmlsZScsCisgICAgICAgICAgICAgICAgICAgICAgZGVmYXVs
dD0nJywgaGVscD0nTG9nIGZpbGUuJykKKyAgICBwYXJzZXIuYWRkX29wdGlvbignLS1sb2dfbGV2
ZWwnLCB0eXBlPSdjaG9pY2UnLCBkZXN0PSdsb2dfbGV2ZWwnLAorICAgICAgICAgICAgICAgICAg
ICAgIGRlZmF1bHQ9J3dhcm4nLAorICAgICAgICAgICAgICAgICAgICAgIGNob2ljZXM9WydkZWJ1
ZycsICdpbmZvJywgJ3dhcm4nLCAnZXJyb3InLCAnY3JpdGljYWwnXSwKKyAgICAgICAgICAgICAg
ICAgICAgICBoZWxwPSdMb2cgbGV2ZWwuJykKKyAgICBwYXJzZXIuYWRkX29wdGlvbignLS1sb2df
bWF4JywgZGVzdD0nbG9nX21heCcsIHR5cGU9J2ludCcsCisgICAgICAgICAgICAgICAgICAgICAg
ZGVmYXVsdD1fREVGQVVMVF9MT0dfTUFYX0JZVEVTLAorICAgICAgICAgICAgICAgICAgICAgIGhl
bHA9J0xvZyBtYXhpbXVtIGJ5dGVzJykKKyAgICBwYXJzZXIuYWRkX29wdGlvbignLS1sb2dfY291
bnQnLCBkZXN0PSdsb2dfY291bnQnLCB0eXBlPSdpbnQnLAorICAgICAgICAgICAgICAgICAgICAg
IGRlZmF1bHQ9X0RFRkFVTFRfTE9HX0JBQ0tVUF9DT1VOVCwKKyAgICAgICAgICAgICAgICAgICAg
ICBoZWxwPSdMb2cgYmFja3VwIGNvdW50JykKICAgICBvcHRpb25zID0gcGFyc2VyLnBhcnNlX2Fy
Z3MoKVswXQogCisgICAgb3MuY2hkaXIob3B0aW9ucy5kb2N1bWVudF9yb290KQorCisgICAgX2Nv
bmZpZ3VyZV9sb2dnaW5nKG9wdGlvbnMpCisKICAgICBpZiBvcHRpb25zLnVzZV90bHM6CiAgICAg
ICAgIGlmIG5vdCBfSEFTX09QRU5fU1NMOgotICAgICAgICAgICAgcHJpbnQgPj5zeXMuc3RkZXJy
LCAnVG8gdXNlIFRMUywgaW5zdGFsbCBweU9wZW5TU0wuJworICAgICAgICAgICAgbG9nZ2luZy5j
cml0aWNhbCgnVG8gdXNlIFRMUywgaW5zdGFsbCBweU9wZW5TU0wuJykKICAgICAgICAgICAgIHN5
cy5leGl0KDEpCiAgICAgICAgIGlmIG5vdCBvcHRpb25zLnByaXZhdGVfa2V5IG9yIG5vdCBvcHRp
b25zLmNlcnRpZmljYXRlOgotICAgICAgICAgICAgcHJpbnQgPj5zeXMuc3RkZXJyLCAoJ1RvIHVz
ZSBUTFMsIHNwZWNpZnkgcHJpdmF0ZV9rZXkgYW5kICcKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICdjZXJ0aWZpY2F0ZS4nKQorICAgICAgICAgICAgbG9nZ2luZy5jcml0aWNhbCgK
KyAgICAgICAgICAgICAgICAgICAgJ1RvIHVzZSBUTFMsIHNwZWNpZnkgcHJpdmF0ZV9rZXkgYW5k
IGNlcnRpZmljYXRlLicpCiAgICAgICAgICAgICBzeXMuZXhpdCgxKQogCiAgICAgaWYgbm90IG9w
dGlvbnMuc2Nhbl9kaXI6CiAgICAgICAgIG9wdGlvbnMuc2Nhbl9kaXIgPSBvcHRpb25zLndlYnNv
Y2tfaGFuZGxlcnMKIAotICAgIFdlYlNvY2tldFJlcXVlc3RIYW5kbGVyLm9wdGlvbnMgPSBvcHRp
b25zCi0gICAgV2ViU29ja2V0U2VydmVyLm9wdGlvbnMgPSBvcHRpb25zCi0KLSAgICBvcy5jaGRp
cihvcHRpb25zLmRvY3VtZW50X3Jvb3QpCi0KLSAgICBzZXJ2ZXIgPSBXZWJTb2NrZXRTZXJ2ZXIo
KCcnLCBvcHRpb25zLnBvcnQpLCBXZWJTb2NrZXRSZXF1ZXN0SGFuZGxlcikKLSAgICBzZXJ2ZXIu
c2VydmVfZm9yZXZlcigpCisgICAgdHJ5OgorICAgICAgICAjIFNoYXJlIGEgRGlzcGF0Y2hlciBh
bW9uZyByZXF1ZXN0IGhhbmRsZXJzIHRvIHNhdmUgdGltZSBmb3IKKyAgICAgICAgIyBpbnN0YW50
aWF0aW9uLiAgRGlzcGF0Y2hlciBjYW4gYmUgc2hhcmVkIGJlY2F1c2UgaXQgaXMgdGhyZWFkLXNh
ZmUuCisgICAgICAgIG9wdGlvbnMuZGlzcGF0Y2hlciA9IGRpc3BhdGNoLkRpc3BhdGNoZXIob3B0
aW9ucy53ZWJzb2NrX2hhbmRsZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG9wdGlvbnMuc2Nhbl9kaXIpCisgICAgICAgIF9wcmludF93YXJuaW5n
c19pZl9hbnkob3B0aW9ucy5kaXNwYXRjaGVyKQorCisgICAgICAgIFdlYlNvY2tldFJlcXVlc3RI
YW5kbGVyLm9wdGlvbnMgPSBvcHRpb25zCisgICAgICAgIFdlYlNvY2tldFNlcnZlci5vcHRpb25z
ID0gb3B0aW9ucworCisgICAgICAgIHNlcnZlciA9IFdlYlNvY2tldFNlcnZlcigoJycsIG9wdGlv
bnMucG9ydCksIFdlYlNvY2tldFJlcXVlc3RIYW5kbGVyKQorICAgICAgICBzZXJ2ZXIuc2VydmVf
Zm9yZXZlcigpCisgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKyAgICAgICAgbG9nZ2luZy5jcml0
aWNhbChzdHIoZSkpCisgICAgICAgIHN5cy5leGl0KDEpCiAKIAogaWYgX19uYW1lX18gPT0gJ19f
bWFpbl9fJzoKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3NldHVwLnB5IGIv
V2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvc2V0dXAucHkKaW5kZXggMTgxMGE2ZC4uYWUwN2Y4YSAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvcHl3ZWJzb2NrZXQvc2V0dXAucHkKKysrIGIvV2ViS2l0
VG9vbHMvcHl3ZWJzb2NrZXQvc2V0dXAucHkKQEAgLTU2LDcgKzU2LDcgQEAgc2V0dXAoYXV0aG9y
PSdZdXpvIEZ1amlzaGltYScsCiAgICAgICBuYW1lPV9QQUNLQUdFX05BTUUsCiAgICAgICBwYWNr
YWdlcz1bX1BBQ0tBR0VfTkFNRV0sCiAgICAgICB1cmw9J2h0dHA6Ly9jb2RlLmdvb2dsZS5jb20v
cC9weXdlYnNvY2tldC8nLAotICAgICAgdmVyc2lvbj0nMC40LjEnLAorICAgICAgdmVyc2lvbj0n
MC40LjInLAogICAgICAgKQogCiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0
L3Rlc3QvdGVzdF9kaXNwYXRjaC5weSBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3Rlc3QvdGVz
dF9kaXNwYXRjaC5weQppbmRleCBkNjE3MjA1Li5kMzFkNmJkIDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9weXdlYnNvY2tldC90ZXN0L3Rlc3RfZGlzcGF0Y2gucHkKKysrIGIvV2ViS2l0VG9vbHMv
cHl3ZWJzb2NrZXQvdGVzdC90ZXN0X2Rpc3BhdGNoLnB5CkBAIC0xNTYsNiArMTU2LDIwIEBAIGNs
YXNzIERpc3BhdGNoZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCgnc3ViL3BsYWluX3dzaC5weSBpcyBjYWxsZWQgZm9yIC9zdWIvcGxhaW4sIE5vbmUn
LAogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QuY29ubmVjdGlvbi53cml0dGVuX2Rh
dGEoKSkKIAorICAgICAgICByZXF1ZXN0ID0gbW9jay5Nb2NrUmVxdWVzdChjb25uZWN0aW9uPW1v
Y2suTW9ja0Nvbm4oJycpKQorICAgICAgICByZXF1ZXN0LndzX3Jlc291cmNlID0gJy9zdWIvcGxh
aW4/JworICAgICAgICByZXF1ZXN0LndzX3Byb3RvY29sID0gTm9uZQorICAgICAgICBkaXNwYXRj
aGVyLnRyYW5zZmVyX2RhdGEocmVxdWVzdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnc3Vi
L3BsYWluX3dzaC5weSBpcyBjYWxsZWQgZm9yIC9zdWIvcGxhaW4/LCBOb25lJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICByZXF1ZXN0LmNvbm5lY3Rpb24ud3JpdHRlbl9kYXRhKCkpCisKKyAg
ICAgICAgcmVxdWVzdCA9IG1vY2suTW9ja1JlcXVlc3QoY29ubmVjdGlvbj1tb2NrLk1vY2tDb25u
KCcnKSkKKyAgICAgICAgcmVxdWVzdC53c19yZXNvdXJjZSA9ICcvc3ViL3BsYWluP3E9dicKKyAg
ICAgICAgcmVxdWVzdC53c19wcm90b2NvbCA9IE5vbmUKKyAgICAgICAgZGlzcGF0Y2hlci50cmFu
c2Zlcl9kYXRhKHJlcXVlc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3N1Yi9wbGFpbl93
c2gucHkgaXMgY2FsbGVkIGZvciAvc3ViL3BsYWluP3E9diwgTm9uZScsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgcmVxdWVzdC5jb25uZWN0aW9uLndyaXR0ZW5fZGF0YSgpKQorCiAgICAgZGVm
IHRlc3RfdHJhbnNmZXJfZGF0YV9ub19oYW5kbGVyKHNlbGYpOgogICAgICAgICBkaXNwYXRjaGVy
ID0gZGlzcGF0Y2guRGlzcGF0Y2hlcihfVEVTVF9IQU5ETEVSU19ESVIsIE5vbmUpCiAgICAgICAg
IGZvciByZXNvdXJjZSBpbiBbJy9ibGFuaycsICcvc3ViL25vbl9jYWxsYWJsZScsCmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9weXdlYnNvY2tldC90ZXN0L3Rlc3RfbXNndXRpbC5weSBiL1dlYktp
dFRvb2xzL3B5d2Vic29ja2V0L3Rlc3QvdGVzdF9tc2d1dGlsLnB5CmluZGV4IGIzYmE1MzkuLjE2
Yjg4ZTAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3Rlc3QvdGVzdF9tc2d1
dGlsLnB5CisrKyBiL1dlYktpdFRvb2xzL3B5d2Vic29ja2V0L3Rlc3QvdGVzdF9tc2d1dGlsLnB5
CkBAIC03MSw2ICs3MSwxMyBAQCBjbGFzcyBNZXNzYWdlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6
CiAgICAgICAgICMgVSs2NzJjIGlzIGVuY29kZWQgYXMgZTYsOWMsYWMgaW4gVVRGLTgKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbCh1J1x1NjcyYycsIG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlKHJl
cXVlc3QpKQogCisgICAgZGVmIHRlc3RfcmVjZWl2ZV9tZXNzYWdlX2Vycm9uZW91c191bmljb2Rl
KHNlbGYpOgorICAgICAgICAjIFx4ODAgYW5kIFx4ODEgYXJlIGludmFsaWQgYXMgVVRGLTguCisg
ICAgICAgIHJlcXVlc3QgPSBfY3JlYXRlX3JlcXVlc3QoJ1x4MDBceDgwXHg4MVx4ZmYnKQorICAg
ICAgICAjIEludmFsaWQgY2hhcmFjdGVycyBzaG91bGQgYmUgcmVwbGFjZWQgd2l0aAorICAgICAg
ICAjIFUrZmZmZCBSRVBMQUNFTUVOVCBDSEFSQUNURVIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bCh1J1x1ZmZmZFx1ZmZmZCcsIG1zZ3V0aWwucmVjZWl2ZV9tZXNzYWdlKHJlcXVlc3QpKQorCiAg
ICAgZGVmIHRlc3RfcmVjZWl2ZV9tZXNzYWdlX2Rpc2NhcmQoc2VsZik6CiAgICAgICAgIHJlcXVl
c3QgPSBfY3JlYXRlX3JlcXVlc3QoJ1x4ODBceDA2SUdOT1JFXHgwMEhlbGxvXHhmZicKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1x4MDFESVNSRUdBUkRceGZmXHgwMFdvcmxkIVx4
ZmYnKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>