<?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>106076</bug_id>
          
          <creation_ts>2013-01-03 19:25:59 -0800</creation_ts>
          <short_desc>Rename Tool.port to deprecated_port in preparation for removing more callers</short_desc>
          <delta_ts>2013-01-03 19:57:54 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>799909</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-03 19:25:59 -0800</bug_when>
    <thetext>Rename Tool.port to deprecated_port in preparation for removing more callers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799910</commentid>
    <comment_count>1</comment_count>
      <attachid>181263</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-03 19:26:30 -0800</bug_when>
    <thetext>Created attachment 181263
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799911</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-03 19:26:59 -0800</bug_when>
    <thetext>test-webkitpy                                                                                                 [~/Projects/WebKit]
Suppressing most webkitpy logging while running unit tests.
Skipping tests in the following modules or packages because they are really, really, slow:
    webkitpy.common.checkout.scm.scm_unittest
    (https://bugs.webkit.org/show_bug.cgi?id=31818; use --all to include)

[[Ran 1614 tests in 4.783s                                                                                                              

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799912</commentid>
    <comment_count>3</comment_count>
      <attachid>181263</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-03 19:27:44 -0800</bug_when>
    <thetext>Comment on attachment 181263
Patch

rs=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799914</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-03 19:29:38 -0800</bug_when>
    <thetext>Attachment 181263 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/Scripts/webkitpy...&quot; exit_code: 1
Tools/Scripts/webkitpy/tool/mocktool.py:74:  [MockTool.deprecated_port] An attribute affected in webkitpy.tool.steps.steps_unittest line 105 hide this method  [pylint/E0202] [5]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799916</commentid>
    <comment_count>5</comment_count>
      <attachid>181263</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-03 19:35:39 -0800</bug_when>
    <thetext>Comment on attachment 181263
Patch

The style error concerns me.  Investigating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799924</commentid>
    <comment_count>6</comment_count>
      <attachid>181268</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-03 19:44:00 -0800</bug_when>
    <thetext>Created attachment 181268
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799933</commentid>
    <comment_count>7</comment_count>
      <attachid>181268</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-03 19:57:50 -0800</bug_when>
    <thetext>Comment on attachment 181268
Patch for landing

Clearing flags on attachment: 181268

Committed r138775: &lt;http://trac.webkit.org/changeset/138775&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799934</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-03 19:57:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181263</attachid>
            <date>2013-01-03 19:26:30 -0800</date>
            <delta_ts>2013-01-03 19:43:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106076-20130103192341.patch</filename>
            <type>text/plain</type>
            <size>17843</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NzQwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjYxYTc2ZGYxZjZjMDlhNmRhMjgzNjA1YTIzN2U1NTA5
MDIyNDUzNy4uNTE3Mzk2MWQ5ZTU4ZDA4ZTY5M2NiOTJjODY0OGEzNTFjNjY4YTE4MCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ3
IEBACiAyMDEzLTAxLTAzICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAorICAgICAg
ICBSZW5hbWUgVG9vbC5wb3J0IHRvIGRlcHJlY2F0ZWRfcG9ydCBpbiBwcmVwYXJhdGlvbiBmb3Ig
cmVtb3ZpbmcgbW9yZSBjYWxsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDYwNzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHJlc29sdmVzIGEgbG9uZy1zdGFuZGluZyBGSVhNRSB0byByZW5h
bWUgdGhpcyBtZXRob2QuIDopCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90
L2JvdGluZm8ucHk6CisgICAgICAgIChCb3RJbmZvLnN1bW1hcnlfdGV4dCk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9pcmNfY29tbWFuZC5weToKKyAgICAgICAgKFJvbGxv
dXQuX3VwZGF0ZV93b3JraW5nX2NvcHkpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9v
bC9ib3QvbGF5b3V0dGVzdHJlc3VsdHNyZWFkZXIucHk6CisgICAgICAgIChMYXlvdXRUZXN0UmVz
dWx0c1JlYWRlci5fY3JlYXRlX2xheW91dF90ZXN0X3Jlc3VsdHMpOgorICAgICAgICAoTGF5b3V0
VGVzdFJlc3VsdHNSZWFkZXIuX2NyZWF0ZV91bml0X3Rlc3RfcmVzdWx0cyk6CisgICAgICAgIChM
YXlvdXRUZXN0UmVzdWx0c1JlYWRlci5fcmVzdWx0c19kaXJlY3RvcnkpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvbGF5b3V0dGVzdHJlc3VsdHNyZWFkZXJfdW5pdHRlc3Qu
cHk6CisgICAgICAgICh0ZXN0X21pc3NpbmdfdW5pdF90ZXN0X3Jlc3VsdHNfcGF0aCk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL21haW4ucHk6CisgICAgICAgIChXZWJLaXRQYXRj
aC5kZXByZWNhdGVkX3BvcnQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2Nr
dG9vbC5weToKKyAgICAgICAgKE1vY2tUb29sLmRlcHJlY2F0ZWRfcG9ydCk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2J1aWxkLnB5OgorICAgICAgICAoQnVpbGQuYnVp
bGQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jaGVja3N0eWxlLnB5
OgorICAgICAgICAoQ2hlY2tTdHlsZS5ydW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
dG9vbC9zdGVwcy9jb21taXQucHk6CisgICAgICAgIChDb21taXQuX2NoZWNrX3Rlc3RfZXhwZWN0
YXRpb25zKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNo
YW5nZWxvZy5weToKKyAgICAgICAgKFByZXBhcmVDaGFuZ2VMb2cucnVuKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZ2ZvcmRlcHNyb2xsLnB5
OgorICAgICAgICAoUHJlcGFyZUNoYW5nZUxvZ0ZvckRFUFNSb2xsLnJ1bik6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2dmb3JyZXZlcnQucHk6
CisgICAgICAgIChQcmVwYXJlQ2hhbmdlTG9nRm9yUmV2ZXJ0LnJ1bik6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3J1bnRlc3RzLnB5OgorICAgICAgICAoUnVuVGVzdHMu
cnVuKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvc3RlcHNfdW5pdHRl
c3QucHk6CisgICAgICAgIChTdGVwc1Rlc3QudGVzdF9ydW50ZXN0c19hcmdzKToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdXBkYXRlLnB5OgorICAgICAgICAoVXBkYXRl
Ll91cGRhdGVfY29tbWFuZCk6CisKKzIwMTMtMDEtMDMgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJr
aXQub3JnPgorCiAgICAgICAgIEFkZCBteXNlbGYgdG8gdGhlIHdlYmtpdHB5IHdhdGNobGlzdC4K
IAogICAgICAgICBVbnJldmlld2VkLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2JvdC9ib3RpbmZvLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9i
b3RpbmZvLnB5CmluZGV4IGI5ZmQ5MzhhYTVmMDE2YTZiNGFkZjMwOGYxNWJiZTc3OGFhZGM5OGMu
LmM0ZjVmNTA3ODc5NDRlYTk0Mjg3NzUwOTcwMzA1YmVkNjRmNzkwMGYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvYm90aW5mby5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvYm90L2JvdGluZm8ucHkKQEAgLTM2LDQgKzM2LDQgQEAgY2xhc3Mg
Qm90SW5mbyhvYmplY3QpOgogICAgICAgICAjIGJvdF9pZCBpcyBhbHNvIHN0b3JlZCBvbiB0aGUg
b3B0aW9ucyBkaWN0aW9uYXJ5IG9uIHRoZSB0b29sLgogICAgICAgICBib3RfaWQgPSBzZWxmLl90
b29sLnN0YXR1c19zZXJ2ZXIuYm90X2lkCiAgICAgICAgIGJvdF9pZF9zdHJpbmcgPSAiQm90OiAl
cyAgIiAlIChib3RfaWQpIGlmIGJvdF9pZCBlbHNlICIiCi0gICAgICAgIHJldHVybiAiJXNQb3J0
OiAlcyAgUGxhdGZvcm06ICVzIiAlIChib3RfaWRfc3RyaW5nLCBzZWxmLl90b29sLnBvcnQoKS5u
YW1lKCksIHNlbGYuX3Rvb2wucGxhdGZvcm0uZGlzcGxheV9uYW1lKCkpCisgICAgICAgIHJldHVy
biAiJXNQb3J0OiAlcyAgUGxhdGZvcm06ICVzIiAlIChib3RfaWRfc3RyaW5nLCBzZWxmLl90b29s
LmRlcHJlY2F0ZWRfcG9ydCgpLm5hbWUoKSwgc2VsZi5fdG9vbC5wbGF0Zm9ybS5kaXNwbGF5X25h
bWUoKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjX2Nv
bW1hbmQucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY19jb21tYW5kLnB5
CmluZGV4IGNiNjI5YjQ2OWU5M2YyOTA3YzZlMThlZTdiNGVjMDY3NjA4ZDE1NTUuLmI0MzY0YzUw
ZjliNzgxMGY0MjA0MzI0Yzc1OGUyZGI4NzQ0NGY1YWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjX2NvbW1hbmQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL2JvdC9pcmNfY29tbWFuZC5weQpAQCAtMTEyLDcgKzExMiw3IEBAIGNsYXNz
IFJvbGxvdXQoSVJDQ29tbWFuZCk6CiAKICAgICBkZWYgX3VwZGF0ZV93b3JraW5nX2NvcHkoc2Vs
ZiwgdG9vbCk6CiAgICAgICAgIHRvb2wuc2NtKCkuZW5zdXJlX2NsZWFuX3dvcmtpbmdfZGlyZWN0
b3J5KGZvcmNlX2NsZWFuPVRydWUpCi0gICAgICAgIHRvb2wuZXhlY3V0aXZlLnJ1bl9hbmRfdGhy
b3dfaWZfZmFpbCh0b29sLnBvcnQoKS51cGRhdGVfd2Via2l0X2NvbW1hbmQoKSwgcXVpZXQ9VHJ1
ZSwgY3dkPXRvb2wuc2NtKCkuY2hlY2tvdXRfcm9vdCkKKyAgICAgICAgdG9vbC5leGVjdXRpdmUu
cnVuX2FuZF90aHJvd19pZl9mYWlsKHRvb2wuZGVwcmVjYXRlZF9wb3J0KCkudXBkYXRlX3dlYmtp
dF9jb21tYW5kKCksIHF1aWV0PVRydWUsIGN3ZD10b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3QpCiAK
ICAgICBkZWYgZXhlY3V0ZShzZWxmLCBuaWNrLCBhcmdzLCB0b29sLCBzaGVyaWZmKToKICAgICAg
ICAgc3ZuX3JldmlzaW9uX2xpc3QsIHJvbGxvdXRfcmVhc29uID0gc2VsZi5fcGFyc2VfYXJncyhh
cmdzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9sYXlvdXR0
ZXN0cmVzdWx0c3JlYWRlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvbGF5
b3V0dGVzdHJlc3VsdHNyZWFkZXIucHkKaW5kZXggNGUwOWY4OTZmNDMxYmZlMjBjYjg1NGY1MzUx
MzdiMjhiZjNlYzI4MC4uYTZkMmVjMDQ3NGUwMDhhM2E3MDQwYTA1MmE5ZWM1ODE3OTQ3NDkxMCAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9sYXlvdXR0ZXN0cmVz
dWx0c3JlYWRlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2xheW91
dHRlc3RyZXN1bHRzcmVhZGVyLnB5CkBAIC01MCwxNCArNTAsMTQgQEAgY2xhc3MgTGF5b3V0VGVz
dFJlc3VsdHNSZWFkZXIob2JqZWN0KToKIAogICAgICMgRklYTUU6IFRoaXMgbG9naWMgc2hvdWxk
IG1vdmUgdG8gdGhlIHBvcnQgb2JqZWN0LgogICAgIGRlZiBfY3JlYXRlX2xheW91dF90ZXN0X3Jl
c3VsdHMoc2VsZik6Ci0gICAgICAgIHJlc3VsdHNfcGF0aCA9IHNlbGYuX3Rvb2wucG9ydCgpLmxh
eW91dF90ZXN0c19yZXN1bHRzX3BhdGgoKQorICAgICAgICByZXN1bHRzX3BhdGggPSBzZWxmLl90
b29sLmRlcHJlY2F0ZWRfcG9ydCgpLmxheW91dF90ZXN0c19yZXN1bHRzX3BhdGgoKQogICAgICAg
ICByZXN1bHRzX2h0bWwgPSBzZWxmLl9yZWFkX2ZpbGVfY29udGVudHMocmVzdWx0c19wYXRoKQog
ICAgICAgICBpZiBub3QgcmVzdWx0c19odG1sOgogICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAg
ICAgICAgcmV0dXJuIExheW91dFRlc3RSZXN1bHRzLnJlc3VsdHNfZnJvbV9zdHJpbmcocmVzdWx0
c19odG1sKQogCiAgICAgZGVmIF9jcmVhdGVfdW5pdF90ZXN0X3Jlc3VsdHMoc2VsZik6Ci0gICAg
ICAgIHJlc3VsdHNfcGF0aCA9IHNlbGYuX3Rvb2wucG9ydCgpLnVuaXRfdGVzdHNfcmVzdWx0c19w
YXRoKCkKKyAgICAgICAgcmVzdWx0c19wYXRoID0gc2VsZi5fdG9vbC5kZXByZWNhdGVkX3BvcnQo
KS51bml0X3Rlc3RzX3Jlc3VsdHNfcGF0aCgpCiAgICAgICAgIGlmIG5vdCByZXN1bHRzX3BhdGg6
CiAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICByZXN1bHRzX3htbCA9IHNlbGYuX3Jl
YWRfZmlsZV9jb250ZW50cyhyZXN1bHRzX3BhdGgpCkBAIC03OSw3ICs3OSw3IEBAIGNsYXNzIExh
eW91dFRlc3RSZXN1bHRzUmVhZGVyKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBsYXlvdXRfdGVz
dF9yZXN1bHRzCiAKICAgICBkZWYgX3Jlc3VsdHNfZGlyZWN0b3J5KHNlbGYpOgotICAgICAgICBy
ZXN1bHRzX3BhdGggPSBzZWxmLl90b29sLnBvcnQoKS5sYXlvdXRfdGVzdHNfcmVzdWx0c19wYXRo
KCkKKyAgICAgICAgcmVzdWx0c19wYXRoID0gc2VsZi5fdG9vbC5kZXByZWNhdGVkX3BvcnQoKS5s
YXlvdXRfdGVzdHNfcmVzdWx0c19wYXRoKCkKICAgICAgICAgIyBGSVhNRTogVGhpcyBpcyB3cm9u
ZyBpbiB0d28gd2F5czoKICAgICAgICAgIyAxLiBJdCBhc3N1bWVzIHRoYXQgcmVzdWx0cy5odG1s
IGlzIGF0IHRoZSB0b3AgbGV2ZWwgb2YgdGhlIHJlc3VsdHMgdHJlZS4KICAgICAgICAgIyAyLiBU
aGlzIHVzZXMgdGhlICJvbGQiIHBvcnRzLnB5IGluZnJhc3RydWN0dXJlIGluc3RlYWQgb2YgdGhl
IG5ldyBsYXlvdXRfdGVzdHMvcG9ydApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2JvdC9sYXlvdXR0ZXN0cmVzdWx0c3JlYWRlcl91bml0dGVzdC5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvbGF5b3V0dGVzdHJlc3VsdHNyZWFkZXJfdW5pdHRlc3Qu
cHkKaW5kZXggMTNiOTgzMmM4NmMzMjQ3ODM3Y2EzMGIxZGE2M2FlMWI1NzA4NjI3Ny4uMWUxNzFj
MTQ5MDRlMTk2ZWQxY2I4NmFlNTUwOTk4NTE0NzFmNzM1MSAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2JvdC9sYXlvdXR0ZXN0cmVzdWx0c3JlYWRlcl91bml0dGVzdC5w
eQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2xheW91dHRlc3RyZXN1bHRz
cmVhZGVyX3VuaXR0ZXN0LnB5CkBAIC02Niw3ICs2Niw3IEBAIGNsYXNzIExheW91dFRlc3RSZXN1
bHRzUmVhZGVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9taXNzaW5n
X3VuaXRfdGVzdF9yZXN1bHRzX3BhdGgoc2VsZik6CiAgICAgICAgIHRvb2wgPSBNb2NrVG9vbCgp
Ci0gICAgICAgIHRvb2wucG9ydCgpLnVuaXRfdGVzdHNfcmVzdWx0c19wYXRoID0gbGFtYmRhOiBO
b25lCisgICAgICAgIHRvb2wuZGVwcmVjYXRlZF9wb3J0KCkudW5pdF90ZXN0c19yZXN1bHRzX3Bh
dGggPSBsYW1iZGE6IE5vbmUKICAgICAgICAgcmVhZGVyID0gTGF5b3V0VGVzdFJlc3VsdHNSZWFk
ZXIodG9vbCwgIi92YXIvbG9ncyIpCiAgICAgICAgIHJlYWRlci5fY3JlYXRlX2xheW91dF90ZXN0
X3Jlc3VsdHMgPSBsYW1iZGE6IExheW91dFRlc3RSZXN1bHRzKFtdKQogICAgICAgICAjIGxheW91
dF90ZXN0X3Jlc3VsdHMgc2hvdWxkbid0IHJhaXNlIGV2ZW4gaWYgdGhlIHVuaXQgdGVzdHMgeG1s
IGZpbGUgaXMgbWlzc2luZy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9v
bC9tYWluLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21haW4ucHkKaW5kZXggNjgz
NDhhMDVhMzBmYTQzMGVlN2ZlMzhkMzE2MmQ2MmVlNDM5MTMyOC4uZWRiNjNjNWIyMDU3MzM4MzU5
YjEzOWIxOTFkODkyZWQyODlhMjBkZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL21haW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21haW4ucHkK
QEAgLTYxLDggKzYxLDcgQEAgY2xhc3MgV2ViS2l0UGF0Y2goTXVsdGlDb21tYW5kVG9vbCwgSG9z
dCk6CiAgICAgICAgIHNlbGYuX2lyYyA9IE5vbmUKICAgICAgICAgc2VsZi5fZGVwcmVjYXRlZF9w
b3J0ID0gTm9uZQogCi0gICAgIyBGSVhNRTogUmVuYW1lIHRoaXMgZGVwcmVjYXRlZF9wb3J0KCkK
LSAgICBkZWYgcG9ydChzZWxmKToKKyAgICBkZWYgZGVwcmVjYXRlZF9wb3J0KHNlbGYpOgogICAg
ICAgICByZXR1cm4gc2VsZi5fZGVwcmVjYXRlZF9wb3J0CiAKICAgICBkZWYgcGF0aChzZWxmKToK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weQppbmRleCBiOGYwOTc2YmM5Mjll
YTI5Y2Q0MjQzNzE3ZTk3YjY1MDlkMGViZjZjLi44YWZhZWE5MTljYmMyYzUwYjdjN2YwOThiNjcx
MmY3MWIyNWU0NzUxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9j
a3Rvb2wucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21vY2t0b29sLnB5CkBA
IC03MSw3ICs3MSw3IEBAIGNsYXNzIE1vY2tUb29sKE1vY2tIb3N0KToKICAgICAgICAgc2VsZi5p
cmNfcGFzc3dvcmQgPSAiTU9DSyBpcmMgcGFzc3dvcmQiCiAgICAgICAgIHNlbGYud2FrZXVwX2V2
ZW50ID0gdGhyZWFkaW5nLkV2ZW50KCkKIAotICAgIGRlZiBwb3J0KHNlbGYpOgorICAgIGRlZiBk
ZXByZWNhdGVkX3BvcnQoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9kZXByZWNhdGVkX3Bv
cnQKIAogICAgIGRlZiBwYXRoKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL3N0ZXBzL2J1aWxkLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0
ZXBzL2J1aWxkLnB5CmluZGV4IGEyYTYyNzIyOTE5ZjZiZjljZWQzMjBiNzJhNTdiY2VmYmMxZGJk
MGYuLmIwMjgzMGNhMjM0OTFjZGRjZjg2MDY1NjI0NjE3NjMxZWZlZTMzNWUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9idWlsZC5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvYnVpbGQucHkKQEAgLTQ4LDcgKzQ4LDcgQEAgY2xh
c3MgQnVpbGQoQWJzdHJhY3RTdGVwKToKICAgICAgICAgZW52aXJvbm1lbnQuZGlzYWJsZV9nY2Nf
c21hcnRxdW90ZXMoKQogICAgICAgICBlbnYgPSBlbnZpcm9ubWVudC50b19kaWN0aW9uYXJ5KCkK
IAotICAgICAgICBidWlsZF93ZWJraXRfY29tbWFuZCA9IHNlbGYuX3Rvb2wucG9ydCgpLmJ1aWxk
X3dlYmtpdF9jb21tYW5kKGJ1aWxkX3N0eWxlPWJ1aWxkX3N0eWxlKQorICAgICAgICBidWlsZF93
ZWJraXRfY29tbWFuZCA9IHNlbGYuX3Rvb2wuZGVwcmVjYXRlZF9wb3J0KCkuYnVpbGRfd2Via2l0
X2NvbW1hbmQoYnVpbGRfc3R5bGU9YnVpbGRfc3R5bGUpCiAgICAgICAgIHNlbGYuX3Rvb2wuZXhl
Y3V0aXZlLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbChidWlsZF93ZWJraXRfY29tbWFuZCwgc2VsZi5f
b3B0aW9ucy5xdWlldCwKICAgICAgICAgICAgIGN3ZD1zZWxmLl90b29sLnNjbSgpLmNoZWNrb3V0
X3Jvb3QsIGVudj1lbnYpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9v
bC9zdGVwcy9jaGVja3N0eWxlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBz
L2NoZWNrc3R5bGUucHkKaW5kZXggMGNiMTVmNGMxMTFjMDBkYTkzNDE0MTQwMWNmNDMxYWQwOTlk
Y2I3Ny4uY2VjOGE4MTMyMjExMWY4NTA5ZmJmMjJiMGQ5Nzc5YjBiZTQxMDI3MSAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2NoZWNrc3R5bGUucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2NoZWNrc3R5bGUucHkKQEAgLTU3LDcg
KzU3LDcgQEAgY2xhc3MgQ2hlY2tTdHlsZShBYnN0cmFjdFN0ZXApOgogICAgICAgICAgICAgYXJn
cy5hcHBlbmQoc2VsZi5fb3B0aW9ucy5jaGVja19zdHlsZV9maWx0ZXIpCiAKICAgICAgICAgdHJ5
OgotICAgICAgICAgICAgc2VsZi5fdG9vbC5leGVjdXRpdmUucnVuX2FuZF90aHJvd19pZl9mYWls
KHNlbGYuX3Rvb2wucG9ydCgpLmNoZWNrX3dlYmtpdF9zdHlsZV9jb21tYW5kKCkgKyBhcmdzLCBj
d2Q9c2VsZi5fdG9vbC5zY20oKS5jaGVja291dF9yb290KQorICAgICAgICAgICAgc2VsZi5fdG9v
bC5leGVjdXRpdmUucnVuX2FuZF90aHJvd19pZl9mYWlsKHNlbGYuX3Rvb2wuZGVwcmVjYXRlZF9w
b3J0KCkuY2hlY2tfd2Via2l0X3N0eWxlX2NvbW1hbmQoKSArIGFyZ3MsIGN3ZD1zZWxmLl90b29s
LnNjbSgpLmNoZWNrb3V0X3Jvb3QpCiAgICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKICAg
ICAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMubm9uX2ludGVyYWN0aXZlOgogICAgICAgICAgICAg
ICAgICMgV2UgbmVlZCB0byByZS1yYWlzZSB0aGUgZXhjZXB0aW9uIGhlcmUgdG8gaGF2ZSB0aGUK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jb21taXQucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvY29tbWl0LnB5CmluZGV4IGM1MmE2
M2E5NTU2MTQ2NzVhZjg5NzIxYzZlM2NjMzM4ZmJiZmE1ZTEuLjFkNTEwOWEwMGFmN2FiOTk5ODRj
NTRkYjJkYjRlOGRkY2ExMDA0NjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9zdGVwcy9jb21taXQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0
ZXBzL2NvbW1pdC5weQpAQCAtNjAsNyArNjAsNyBAQCBjbGFzcyBDb21taXQoQWJzdHJhY3RTdGVw
KToKICAgICAgICAgYXJncyA9IFsiLS1kaWZmLWZpbGVzIl0KICAgICAgICAgYXJncy5leHRlbmQo
dGVzdF9leHBlY3RhdGlvbnNfZmlsZXMpCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHNlbGYu
X3Rvb2wuZXhlY3V0aXZlLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbChzZWxmLl90b29sLnBvcnQoKS5j
aGVja193ZWJraXRfc3R5bGVfY29tbWFuZCgpICsgYXJncywgY3dkPXNlbGYuX3Rvb2wuc2NtKCku
Y2hlY2tvdXRfcm9vdCkKKyAgICAgICAgICAgIHNlbGYuX3Rvb2wuZXhlY3V0aXZlLnJ1bl9hbmRf
dGhyb3dfaWZfZmFpbChzZWxmLl90b29sLmRlcHJlY2F0ZWRfcG9ydCgpLmNoZWNrX3dlYmtpdF9z
dHlsZV9jb21tYW5kKCkgKyBhcmdzLCBjd2Q9c2VsZi5fdG9vbC5zY20oKS5jaGVja291dF9yb290
KQogICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6CiAgICAgICAgICAgICBpZiBzZWxmLl9v
cHRpb25zLm5vbl9pbnRlcmFjdGl2ZToKICAgICAgICAgICAgICAgICByYWlzZQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2cucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZy5weQpp
bmRleCA0ZDgwYWI2MWZjNDA3N2VhOTdiNjRlOTRlOTJhYzcyNzZiNGY4YWQ4Li45YmQ1NWU3ZGM4
ZDcwYmQ0ZTdiNmU1OTQ3NDliYzM2YzVmM2VmOGNiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZy5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZy5weQpAQCAtNjIsNyArNjIs
NyBAQCBjbGFzcyBQcmVwYXJlQ2hhbmdlTG9nKEFic3RyYWN0U3RlcCk6CiAgICAgICAgIGlmIHNl
bGYuY2FjaGVkX2xvb2t1cChzdGF0ZSwgImNoYW5nZWxvZ3MiKToKICAgICAgICAgICAgIHNlbGYu
X2Vuc3VyZV9idWdfdXJsKHN0YXRlKQogICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGFyZ3Mg
PSBzZWxmLl90b29sLnBvcnQoKS5wcmVwYXJlX2NoYW5nZWxvZ19jb21tYW5kKCkKKyAgICAgICAg
YXJncyA9IHNlbGYuX3Rvb2wuZGVwcmVjYXRlZF9wb3J0KCkucHJlcGFyZV9jaGFuZ2Vsb2dfY29t
bWFuZCgpCiAgICAgICAgIGlmIHN0YXRlLmdldCgiYnVnX2lkIik6CiAgICAgICAgICAgICBhcmdz
LmFwcGVuZCgiLS1idWc9JXMiICUgc3RhdGVbImJ1Z19pZCJdKQogICAgICAgICAgICAgYXJncy5h
cHBlbmQoIi0tZGVzY3JpcHRpb249JXMiICUgc2VsZi5jYWNoZWRfbG9va3VwKHN0YXRlLCAnYnVn
X3RpdGxlJykpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMv
cHJlcGFyZWNoYW5nZWxvZ2ZvcmRlcHNyb2xsLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2dmb3JkZXBzcm9sbC5weQppbmRleCA0YmJkMzgzYWUz
MmZmYWU0OTNmNzFiZDIyMDEwMDg0ZmExODZhNDRiLi42ZDYwNmVhZmEzZmEwYTc3MmU3YTQ3ZDEy
MTE2YzA0NzI2MmVjNmIzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
c3RlcHMvcHJlcGFyZWNoYW5nZWxvZ2ZvcmRlcHNyb2xsLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9nZm9yZGVwc3JvbGwucHkKQEAgLTMy
LDcgKzMyLDcgQEAgZnJvbSB3ZWJraXRweS50b29sLnN0ZXBzLmFic3RyYWN0c3RlcCBpbXBvcnQg
QWJzdHJhY3RTdGVwCiAKIGNsYXNzIFByZXBhcmVDaGFuZ2VMb2dGb3JERVBTUm9sbChBYnN0cmFj
dFN0ZXApOgogICAgIGRlZiBydW4oc2VsZiwgc3RhdGUpOgotICAgICAgICBzZWxmLl90b29sLmV4
ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2ZhaWwoc2VsZi5fdG9vbC5wb3J0KCkucHJlcGFyZV9j
aGFuZ2Vsb2dfY29tbWFuZCgpKQorICAgICAgICBzZWxmLl90b29sLmV4ZWN1dGl2ZS5ydW5fYW5k
X3Rocm93X2lmX2ZhaWwoc2VsZi5fdG9vbC5kZXByZWNhdGVkX3BvcnQoKS5wcmVwYXJlX2NoYW5n
ZWxvZ19jb21tYW5kKCkpCiAgICAgICAgIGNoYW5nZWxvZ19wYXRocyA9IHNlbGYuX3Rvb2wuY2hl
Y2tvdXQoKS5tb2RpZmllZF9jaGFuZ2Vsb2dzKGdpdF9jb21taXQ9Tm9uZSkKICAgICAgICAgZm9y
IGNoYW5nZWxvZ19wYXRoIGluIGNoYW5nZWxvZ19wYXRoczoKICAgICAgICAgICAgIENoYW5nZUxv
ZyhjaGFuZ2Vsb2dfcGF0aCkudXBkYXRlX3dpdGhfdW5yZXZpZXdlZF9tZXNzYWdlKCJVbnJldmll
d2VkLiAgUm9sbGVkIERFUFMuXG5cbiIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZ2ZvcnJldmVydC5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9nZm9ycmV2ZXJ0LnB5CmluZGV4
IDk1YTk5YzMyMDVkMjE3NjE4MThkZjNkYjNiYjNkMzNhZGFkNDc4ZWYuLjgyZTdiMDI1MjYwNzk5
YzgzZmVmYWE2NDg5OWNmYTkyZWZhYTIxNDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9nZm9ycmV2ZXJ0LnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9nZm9ycmV2ZXJ0LnB5
CkBAIC00OCw3ICs0OCw3IEBAIGNsYXNzIFByZXBhcmVDaGFuZ2VMb2dGb3JSZXZlcnQoQWJzdHJh
Y3RTdGVwKToKIAogICAgIGRlZiBydW4oc2VsZiwgc3RhdGUpOgogICAgICAgICAjIFRoaXMgY291
bGQgbW92ZSB0byBwcmVwYXJlLUNoYW5nZUxvZyBieSBhZGRpbmcgYSAtLXJldmVydD0gb3B0aW9u
LgotICAgICAgICBzZWxmLl90b29sLmV4ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2ZhaWwoc2Vs
Zi5fdG9vbC5wb3J0KCkucHJlcGFyZV9jaGFuZ2Vsb2dfY29tbWFuZCgpLCBjd2Q9c2VsZi5fdG9v
bC5zY20oKS5jaGVja291dF9yb290KQorICAgICAgICBzZWxmLl90b29sLmV4ZWN1dGl2ZS5ydW5f
YW5kX3Rocm93X2lmX2ZhaWwoc2VsZi5fdG9vbC5kZXByZWNhdGVkX3BvcnQoKS5wcmVwYXJlX2No
YW5nZWxvZ19jb21tYW5kKCksIGN3ZD1zZWxmLl90b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3QpCiAg
ICAgICAgIGNoYW5nZWxvZ19wYXRocyA9IHNlbGYuX3Rvb2wuY2hlY2tvdXQoKS5tb2RpZmllZF9j
aGFuZ2Vsb2dzKGdpdF9jb21taXQ9Tm9uZSkKICAgICAgICAgYnVnX3VybCA9IHNlbGYuX3Rvb2wu
YnVncy5idWdfdXJsX2Zvcl9idWdfaWQoc3RhdGVbImJ1Z19pZCJdKSBpZiBzdGF0ZVsiYnVnX2lk
Il0gZWxzZSBOb25lCiAgICAgICAgIG1lc3NhZ2UgPSBzZWxmLl9tZXNzYWdlX2Zvcl9yZXZlcnQo
c3RhdGVbInJldmlzaW9uX2xpc3QiXSwgc3RhdGVbInJlYXNvbiJdLCBidWdfdXJsKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3J1bnRlc3RzLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3J1bnRlc3RzLnB5CmluZGV4IDBiZWY5Zjdl
ZjU0MDZjZGFiMDkzYzQ2NzdhMGMzODZjZDk2OTk5ZTcuLjM1MGIyZWRmNThmMjg5NDBhMGM4ZTQ3
OTc0MWE3MzI5NDY1Mzc0MzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9v
bC9zdGVwcy9ydW50ZXN0cy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3Rl
cHMvcnVudGVzdHMucHkKQEAgLTUzLDQxICs1Myw0MSBAQCBjbGFzcyBSdW5UZXN0cyhBYnN0cmFj
dFN0ZXApOgogICAgICAgICBpZiBub3Qgc2VsZi5fb3B0aW9ucy5ub25faW50ZXJhY3RpdmU6CiAg
ICAgICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGQgdGVhY2ggdGhlIGNvbW1pdC1xdWV1ZSBhbmQg
dGhlIEVXUyBob3cgdG8gcnVuIHRoZXNlIHRlc3RzLgogCi0gICAgICAgICAgICBweXRob25fdW5p
dHRlc3RzX2NvbW1hbmQgPSBzZWxmLl90b29sLnBvcnQoKS5ydW5fcHl0aG9uX3VuaXR0ZXN0c19j
b21tYW5kKCkKKyAgICAgICAgICAgIHB5dGhvbl91bml0dGVzdHNfY29tbWFuZCA9IHNlbGYuX3Rv
b2wuZGVwcmVjYXRlZF9wb3J0KCkucnVuX3B5dGhvbl91bml0dGVzdHNfY29tbWFuZCgpCiAgICAg
ICAgICAgICBpZiBweXRob25fdW5pdHRlc3RzX2NvbW1hbmQ6CiAgICAgICAgICAgICAgICAgX2xv
Zy5pbmZvKCJSdW5uaW5nIFB5dGhvbiB1bml0IHRlc3RzIikKICAgICAgICAgICAgICAgICBzZWxm
Ll90b29sLmV4ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2ZhaWwocHl0aG9uX3VuaXR0ZXN0c19j
b21tYW5kLCBjd2Q9c2VsZi5fdG9vbC5zY20oKS5jaGVja291dF9yb290KQogCi0gICAgICAgICAg
ICBwZXJsX3VuaXR0ZXN0c19jb21tYW5kID0gc2VsZi5fdG9vbC5wb3J0KCkucnVuX3BlcmxfdW5p
dHRlc3RzX2NvbW1hbmQoKQorICAgICAgICAgICAgcGVybF91bml0dGVzdHNfY29tbWFuZCA9IHNl
bGYuX3Rvb2wuZGVwcmVjYXRlZF9wb3J0KCkucnVuX3BlcmxfdW5pdHRlc3RzX2NvbW1hbmQoKQog
ICAgICAgICAgICAgaWYgcGVybF91bml0dGVzdHNfY29tbWFuZDoKICAgICAgICAgICAgICAgICBf
bG9nLmluZm8oIlJ1bm5pbmcgUGVybCB1bml0IHRlc3RzIikKICAgICAgICAgICAgICAgICBzZWxm
Ll90b29sLmV4ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2ZhaWwocGVybF91bml0dGVzdHNfY29t
bWFuZCwgY3dkPXNlbGYuX3Rvb2wuc2NtKCkuY2hlY2tvdXRfcm9vdCkKIAotICAgICAgICAgICAg
amF2YXNjcmlwdGNvcmVfdGVzdHNfY29tbWFuZCA9IHNlbGYuX3Rvb2wucG9ydCgpLnJ1bl9qYXZh
c2NyaXB0Y29yZV90ZXN0c19jb21tYW5kKCkKKyAgICAgICAgICAgIGphdmFzY3JpcHRjb3JlX3Rl
c3RzX2NvbW1hbmQgPSBzZWxmLl90b29sLmRlcHJlY2F0ZWRfcG9ydCgpLnJ1bl9qYXZhc2NyaXB0
Y29yZV90ZXN0c19jb21tYW5kKCkKICAgICAgICAgICAgIGlmIGphdmFzY3JpcHRjb3JlX3Rlc3Rz
X2NvbW1hbmQ6CiAgICAgICAgICAgICAgICAgX2xvZy5pbmZvKCJSdW5uaW5nIEphdmFTY3JpcHRD
b3JlIHRlc3RzIikKICAgICAgICAgICAgICAgICBzZWxmLl90b29sLmV4ZWN1dGl2ZS5ydW5fYW5k
X3Rocm93X2lmX2ZhaWwoamF2YXNjcmlwdGNvcmVfdGVzdHNfY29tbWFuZCwgcXVpZXQ9VHJ1ZSwg
Y3dkPXNlbGYuX3Rvb2wuc2NtKCkuY2hlY2tvdXRfcm9vdCkKIAotICAgICAgICB3ZWJraXRfdW5p
dF90ZXN0c19jb21tYW5kID0gc2VsZi5fdG9vbC5wb3J0KCkucnVuX3dlYmtpdF91bml0X3Rlc3Rz
X2NvbW1hbmQoKQorICAgICAgICB3ZWJraXRfdW5pdF90ZXN0c19jb21tYW5kID0gc2VsZi5fdG9v
bC5kZXByZWNhdGVkX3BvcnQoKS5ydW5fd2Via2l0X3VuaXRfdGVzdHNfY29tbWFuZCgpCiAgICAg
ICAgIGlmIHdlYmtpdF91bml0X3Rlc3RzX2NvbW1hbmQ6CiAgICAgICAgICAgICBfbG9nLmluZm8o
IlJ1bm5pbmcgV2ViS2l0IHVuaXQgdGVzdHMiKQogICAgICAgICAgICAgYXJncyA9IHdlYmtpdF91
bml0X3Rlc3RzX2NvbW1hbmQKICAgICAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMubm9uX2ludGVy
YWN0aXZlOgotICAgICAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCItLWd0ZXN0X291dHB1dD14bWw6
JXMvd2Via2l0X3VuaXRfdGVzdHNfb3V0cHV0LnhtbCIgJSBzZWxmLl90b29sLnBvcnQoKS5yZXN1
bHRzX2RpcmVjdG9yeSkKKyAgICAgICAgICAgICAgICBhcmdzLmFwcGVuZCgiLS1ndGVzdF9vdXRw
dXQ9eG1sOiVzL3dlYmtpdF91bml0X3Rlc3RzX291dHB1dC54bWwiICUgc2VsZi5fdG9vbC5kZXBy
ZWNhdGVkX3BvcnQoKS5yZXN1bHRzX2RpcmVjdG9yeSkKICAgICAgICAgICAgIHRyeToKICAgICAg
ICAgICAgICAgICBzZWxmLl90b29sLmV4ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2ZhaWwoYXJn
cywgY3dkPXNlbGYuX3Rvb2wuc2NtKCkuY2hlY2tvdXRfcm9vdCkKICAgICAgICAgICAgIGV4Y2Vw
dCBTY3JpcHRFcnJvciwgZToKICAgICAgICAgICAgICAgICBfbG9nLmluZm8oIkVycm9yIHJ1bm5p
bmcgd2Via2l0X3VuaXRfdGVzdHM6ICVzIiAlIGUubWVzc2FnZV93aXRoX291dHB1dCgpKQogCiAg
ICAgICAgIF9sb2cuaW5mbygiUnVubmluZyBydW4td2Via2l0LXRlc3RzIikKLSAgICAgICAgYXJn
cyA9IHNlbGYuX3Rvb2wucG9ydCgpLnJ1bl93ZWJraXRfdGVzdHNfY29tbWFuZCgpCisgICAgICAg
IGFyZ3MgPSBzZWxmLl90b29sLmRlcHJlY2F0ZWRfcG9ydCgpLnJ1bl93ZWJraXRfdGVzdHNfY29t
bWFuZCgpCiAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMubm9uX2ludGVyYWN0aXZlOgogICAgICAg
ICAgICAgYXJncy5leHRlbmQoWwogICAgICAgICAgICAgICAgICItLW5vLW5ldy10ZXN0LXJlc3Vs
dHMiLAogICAgICAgICAgICAgICAgICItLW5vLXNob3ctcmVzdWx0cyIsCiAgICAgICAgICAgICAg
ICAgIi0tc2tpcC1mYWlsaW5nLXRlc3RzIiwKICAgICAgICAgICAgICAgICAiLS1leGl0LWFmdGVy
LW4tZmFpbHVyZXM9JXMiICUgc2VsZi5OT05fSU5URVJBQ1RJVkVfRkFJTFVSRV9MSU1JVF9DT1VO
VCwKLSAgICAgICAgICAgICAgICAiLS1yZXN1bHRzLWRpcmVjdG9yeT0lcyIgJSBzZWxmLl90b29s
LnBvcnQoKS5yZXN1bHRzX2RpcmVjdG9yeSwKKyAgICAgICAgICAgICAgICAiLS1yZXN1bHRzLWRp
cmVjdG9yeT0lcyIgJSBzZWxmLl90b29sLmRlcHJlY2F0ZWRfcG9ydCgpLnJlc3VsdHNfZGlyZWN0
b3J5LAogICAgICAgICAgICAgICAgICItLXF1aWV0IiwKICAgICAgICAgICAgIF0pCiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9zdGVwc191bml0dGVzdC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9zdGVwc191bml0dGVzdC5weQpp
bmRleCBjNGVhNDdiNGRkZmY1YzZmOWUxZjFkMzU2N2NmZTllOTAxNDI2NGQwLi44MjRhZTZmOGU2
MGUxMTI3NzIzYTY2YWJkMWY3NzM2OWMzNTAxYjNhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc3RlcHMvc3RlcHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL3N0ZXBzL3N0ZXBzX3VuaXR0ZXN0LnB5CkBAIC0xMDIsNyArMTAyLDcg
QEAgY2xhc3MgU3RlcHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBGSVhNRTog
V2Ugc2hvdWxkbid0IHVzZSBhIHJlYWwgcG9ydC1vYmplY3QgaGVyZSwgYnV0IHRoZXJlIGlzIHRv
byBtdWNoIHRvIG1vY2sgYXQgdGhlIG1vbWVudC4KICAgICAgICAgbW9ja19wb3J0ID0gRGVwcmVj
YXRlZFBvcnQoKQogICAgICAgICB0b29sID0gTW9ja1Rvb2wobG9nX2V4ZWN1dGl2ZT1UcnVlKQot
ICAgICAgICB0b29sLnBvcnQgPSBsYW1iZGE6IG1vY2tfcG9ydAorICAgICAgICB0b29sLmRlcHJl
Y2F0ZWRfcG9ydCA9IGxhbWJkYTogbW9ja19wb3J0CiAgICAgICAgIHN0ZXAgPSBzdGVwcy5SdW5U
ZXN0cyh0b29sLCBtb2NrX29wdGlvbnMpCiAgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiIiJSdW5u
aW5nIFB5dGhvbiB1bml0IHRlc3RzCiBNT0NLIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbDogWydUb29s
cy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHknXSwgY3dkPS9tb2NrLWNoZWNrb3V0CmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdXBkYXRlLnB5IGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3VwZGF0ZS5weQppbmRleCAwNzM3ZWJjZDBiOTIxYjA0
ODdkOTkyMWQwOGM4ZjczNjBkZDE3YTcyLi5mNzAzNTQwNzg2MGRhMjYzNjI2ZWE1YTU0NzExYmYw
OGYyMTQ0Y2RlIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMv
dXBkYXRlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy91cGRhdGUu
cHkKQEAgLTUwLDUgKzUwLDUgQEAgY2xhc3MgVXBkYXRlKEFic3RyYWN0U3RlcCk6CiAgICAgICAg
IHNlbGYuX3Rvb2wuZXhlY3V0aXZlLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbChzZWxmLl91cGRhdGVf
Y29tbWFuZCgpLCBxdWlldD1zZWxmLl9vcHRpb25zLnF1aWV0LCBjd2Q9c2VsZi5fdG9vbC5zY20o
KS5jaGVja291dF9yb290KQogCiAgICAgZGVmIF91cGRhdGVfY29tbWFuZChzZWxmKToKLSAgICAg
ICAgdXBkYXRlX2NvbW1hbmQgPSBzZWxmLl90b29sLnBvcnQoKS51cGRhdGVfd2Via2l0X2NvbW1h
bmQoc2VsZi5fb3B0aW9ucy5ub25faW50ZXJhY3RpdmUpCisgICAgICAgIHVwZGF0ZV9jb21tYW5k
ID0gc2VsZi5fdG9vbC5kZXByZWNhdGVkX3BvcnQoKS51cGRhdGVfd2Via2l0X2NvbW1hbmQoc2Vs
Zi5fb3B0aW9ucy5ub25faW50ZXJhY3RpdmUpCiAgICAgICAgIHJldHVybiB1cGRhdGVfY29tbWFu
ZAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181268</attachid>
            <date>2013-01-03 19:44:00 -0800</date>
            <delta_ts>2013-01-03 19:57:50 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-106076-20130103194111.patch</filename>
            <type>text/plain</type>
            <size>19092</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NzQwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGM3YzA3MjY5OTVjMjI0N2NjZTNjZjUxNjU3ODgzYjBk
MjFhYjQxMS4uZTIxYjliMzQxZDEyNmUxYzZmZGFmNTk0OGE1ODEyMTZmN2Q3NzQxNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUz
IEBACisyMDEzLTAxLTAzICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAgICAg
ICBSZW5hbWUgVG9vbC5wb3J0IHRvIGRlcHJlY2F0ZWRfcG9ydCBpbiBwcmVwYXJhdGlvbiBmb3Ig
cmVtb3ZpbmcgbW9yZSBjYWxsZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDYwNzYKKworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2Eu
CisKKyAgICAgICAgVGhpcyByZXNvbHZlcyBhIGxvbmctc3RhbmRpbmcgRklYTUUgdG8gcmVuYW1l
IHRoaXMgbWV0aG9kLiA6KQorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9i
b3RpbmZvLnB5OgorICAgICAgICAoQm90SW5mby5zdW1tYXJ5X3RleHQpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjX2NvbW1hbmQucHk6CisgICAgICAgIChSb2xsb3V0
Ll91cGRhdGVfd29ya2luZ19jb3B5KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Ym90L2xheW91dHRlc3RyZXN1bHRzcmVhZGVyLnB5OgorICAgICAgICAoTGF5b3V0VGVzdFJlc3Vs
dHNSZWFkZXIuX2NyZWF0ZV9sYXlvdXRfdGVzdF9yZXN1bHRzKToKKyAgICAgICAgKExheW91dFRl
c3RSZXN1bHRzUmVhZGVyLl9jcmVhdGVfdW5pdF90ZXN0X3Jlc3VsdHMpOgorICAgICAgICAoTGF5
b3V0VGVzdFJlc3VsdHNSZWFkZXIuX3Jlc3VsdHNfZGlyZWN0b3J5KToKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvYm90L2xheW91dHRlc3RyZXN1bHRzcmVhZGVyX3VuaXR0ZXN0LnB5
OgorICAgICAgICAodGVzdF9taXNzaW5nX3VuaXRfdGVzdF9yZXN1bHRzX3BhdGgpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9tYWluLnB5OgorICAgICAgICAoV2ViS2l0UGF0Y2gu
ZGVwcmVjYXRlZF9wb3J0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rv
b2wucHk6CisgICAgICAgIChNb2NrVG9vbC5kZXByZWNhdGVkX3BvcnQpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9idWlsZC5weToKKyAgICAgICAgKEJ1aWxkLmJ1aWxk
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvY2hlY2tzdHlsZS5weToK
KyAgICAgICAgKENoZWNrU3R5bGUucnVuKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvc3RlcHMvY29tbWl0LnB5OgorICAgICAgICAoQ29tbWl0Ll9jaGVja190ZXN0X2V4cGVjdGF0
aW9ucyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFu
Z2Vsb2cucHk6CisgICAgICAgIChQcmVwYXJlQ2hhbmdlTG9nLnJ1bik6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2dmb3JkZXBzcm9sbC5weToK
KyAgICAgICAgKFByZXBhcmVDaGFuZ2VMb2dGb3JERVBTUm9sbC5ydW4pOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9nZm9ycmV2ZXJ0LnB5Ogor
ICAgICAgICAoUHJlcGFyZUNoYW5nZUxvZ0ZvclJldmVydC5ydW4pOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvdG9vbC9zdGVwcy9ydW50ZXN0cy5weToKKyAgICAgICAgKFJ1blRlc3RzLnJ1
bik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3N0ZXBzX3VuaXR0ZXN0
LnB5OgorICAgICAgICAoU3RlcHNUZXN0LnRlc3RfcnVudGVzdHNfYXJncyk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3VwZGF0ZS5weToKKyAgICAgICAgKFVwZGF0ZS5f
dXBkYXRlX2NvbW1hbmQpOgorCisyMDEzLTAxLTAzICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0
Lm9yZz4KKworICAgICAgICBBZGQgbXlzZWxmIHRvIHRoZSB3ZWJraXRweSB3YXRjaGxpc3QuCisK
KyAgICAgICAgVW5yZXZpZXdlZC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9u
L2NvbmZpZy93YXRjaGxpc3Q6CisKIDIwMTMtMDEtMDMgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIEZpeCBvdmVyZmxvdyBpbiBMYXlvdXRVbml0OjpjZWlsIGFu
ZCBmbG9vciBmb3IgU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvd2F0Y2hsaXN0IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vY29uZmlnL3dhdGNobGlzdAppbmRleCAwNzUyYWQ4NzFhMWE0MTVl
NTE3OWVhYTFlOThiMWY4YmZlODBkMTE1Li42NGMxM2JiZDNjYTE0M2NlMzAwZmYzN2I4MDNlMzU2
MzIyZmQwZTkyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25m
aWcvd2F0Y2hsaXN0CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy93
YXRjaGxpc3QKQEAgLTM5Myw3ICszOTMsNyBAQAogICAgICAgICAiV2ViU29ja2V0IjogWyAieXV0
YWtAY2hyb21pdW0ub3JnIiBdLAogICAgICAgICAiWFNTIjogWyAiZGJhdGVzQHdlYmtpdC5vcmci
LCAib2phbi5hdXRvY2NAZ21haWwuY29tIiBdLAogICAgICAgICAid2Via2l0cGVybCI6IFsgImRi
YXRlc0B3ZWJraXQub3JnIiBdLAotICAgICAgICAid2Via2l0cHkiOiBbICJhYmFydGhAd2Via2l0
Lm9yZyIsICJkcHJhbmtlQGNocm9taXVtLm9yZyIgXSwKKyAgICAgICAgIndlYmtpdHB5IjogWyAi
YWJhcnRoQHdlYmtpdC5vcmciLCAiZHByYW5rZUBjaHJvbWl1bS5vcmciLCAiZXJpY0B3ZWJraXQu
b3JnIiBdLAogICAgIH0sCiAgICAgIk1FU1NBR0VfUlVMRVMiOiB7CiAgICAgICAgICJDaHJvbWl1
bVB1YmxpY0FwaSI6IFsgIlBsZWFzZSB3YWl0IGZvciBhcHByb3ZhbCBmcm9tIGFiYXJ0aEB3ZWJr
aXQub3JnLCBkZ2xhemtvdkBjaHJvbWl1bS5vcmcsICIKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9ib3QvYm90aW5mby5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9ib3QvYm90aW5mby5weQppbmRleCBiOWZkOTM4YWE1ZjAxNmE2YjRhZGYzMDhmMTViYmU3
NzhhYWRjOThjLi5jNGY1ZjUwNzg3OTQ0ZWE5NDI4Nzc1MDk3MDMwNWJlZDY0Zjc5MDBmIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2JvdGluZm8ucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9ib3RpbmZvLnB5CkBAIC0zNiw0ICszNiw0
IEBAIGNsYXNzIEJvdEluZm8ob2JqZWN0KToKICAgICAgICAgIyBib3RfaWQgaXMgYWxzbyBzdG9y
ZWQgb24gdGhlIG9wdGlvbnMgZGljdGlvbmFyeSBvbiB0aGUgdG9vbC4KICAgICAgICAgYm90X2lk
ID0gc2VsZi5fdG9vbC5zdGF0dXNfc2VydmVyLmJvdF9pZAogICAgICAgICBib3RfaWRfc3RyaW5n
ID0gIkJvdDogJXMgICIgJSAoYm90X2lkKSBpZiBib3RfaWQgZWxzZSAiIgotICAgICAgICByZXR1
cm4gIiVzUG9ydDogJXMgIFBsYXRmb3JtOiAlcyIgJSAoYm90X2lkX3N0cmluZywgc2VsZi5fdG9v
bC5wb3J0KCkubmFtZSgpLCBzZWxmLl90b29sLnBsYXRmb3JtLmRpc3BsYXlfbmFtZSgpKQorICAg
ICAgICByZXR1cm4gIiVzUG9ydDogJXMgIFBsYXRmb3JtOiAlcyIgJSAoYm90X2lkX3N0cmluZywg
c2VsZi5fdG9vbC5kZXByZWNhdGVkX3BvcnQoKS5uYW1lKCksIHNlbGYuX3Rvb2wucGxhdGZvcm0u
ZGlzcGxheV9uYW1lKCkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Ym90L2lyY19jb21tYW5kLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9pcmNf
Y29tbWFuZC5weQppbmRleCBjYjYyOWI0NjllOTNmMjkwN2M2ZTE4ZWU3YjRlYzA2NzYwOGQxNTU1
Li5iNDM2NGM1MGY5Yjc4MTBmNDIwNDMyNGM3NThlMmRiODc0NDRmNWFmIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY19jb21tYW5kLnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjX2NvbW1hbmQucHkKQEAgLTExMiw3ICsxMTIs
NyBAQCBjbGFzcyBSb2xsb3V0KElSQ0NvbW1hbmQpOgogCiAgICAgZGVmIF91cGRhdGVfd29ya2lu
Z19jb3B5KHNlbGYsIHRvb2wpOgogICAgICAgICB0b29sLnNjbSgpLmVuc3VyZV9jbGVhbl93b3Jr
aW5nX2RpcmVjdG9yeShmb3JjZV9jbGVhbj1UcnVlKQotICAgICAgICB0b29sLmV4ZWN1dGl2ZS5y
dW5fYW5kX3Rocm93X2lmX2ZhaWwodG9vbC5wb3J0KCkudXBkYXRlX3dlYmtpdF9jb21tYW5kKCks
IHF1aWV0PVRydWUsIGN3ZD10b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3QpCisgICAgICAgIHRvb2wu
ZXhlY3V0aXZlLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbCh0b29sLmRlcHJlY2F0ZWRfcG9ydCgpLnVw
ZGF0ZV93ZWJraXRfY29tbWFuZCgpLCBxdWlldD1UcnVlLCBjd2Q9dG9vbC5zY20oKS5jaGVja291
dF9yb290KQogCiAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgbmljaywgYXJncywgdG9vbCwgc2hlcmlm
Zik6CiAgICAgICAgIHN2bl9yZXZpc2lvbl9saXN0LCByb2xsb3V0X3JlYXNvbiA9IHNlbGYuX3Bh
cnNlX2FyZ3MoYXJncykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9i
b3QvbGF5b3V0dGVzdHJlc3VsdHNyZWFkZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvYm90L2xheW91dHRlc3RyZXN1bHRzcmVhZGVyLnB5CmluZGV4IDRlMDlmODk2ZjQzMWJmZTIw
Y2I4NTRmNTM1MTM3YjI4YmYzZWMyODAuLmE2ZDJlYzA0NzRlMDA4YTNhNzA0MGEwNTJhOWVjNTgx
Nzk0NzQ5MTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvbGF5
b3V0dGVzdHJlc3VsdHNyZWFkZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L2JvdC9sYXlvdXR0ZXN0cmVzdWx0c3JlYWRlci5weQpAQCAtNTAsMTQgKzUwLDE0IEBAIGNsYXNz
IExheW91dFRlc3RSZXN1bHRzUmVhZGVyKG9iamVjdCk6CiAKICAgICAjIEZJWE1FOiBUaGlzIGxv
Z2ljIHNob3VsZCBtb3ZlIHRvIHRoZSBwb3J0IG9iamVjdC4KICAgICBkZWYgX2NyZWF0ZV9sYXlv
dXRfdGVzdF9yZXN1bHRzKHNlbGYpOgotICAgICAgICByZXN1bHRzX3BhdGggPSBzZWxmLl90b29s
LnBvcnQoKS5sYXlvdXRfdGVzdHNfcmVzdWx0c19wYXRoKCkKKyAgICAgICAgcmVzdWx0c19wYXRo
ID0gc2VsZi5fdG9vbC5kZXByZWNhdGVkX3BvcnQoKS5sYXlvdXRfdGVzdHNfcmVzdWx0c19wYXRo
KCkKICAgICAgICAgcmVzdWx0c19odG1sID0gc2VsZi5fcmVhZF9maWxlX2NvbnRlbnRzKHJlc3Vs
dHNfcGF0aCkKICAgICAgICAgaWYgbm90IHJlc3VsdHNfaHRtbDoKICAgICAgICAgICAgIHJldHVy
biBOb25lCiAgICAgICAgIHJldHVybiBMYXlvdXRUZXN0UmVzdWx0cy5yZXN1bHRzX2Zyb21fc3Ry
aW5nKHJlc3VsdHNfaHRtbCkKIAogICAgIGRlZiBfY3JlYXRlX3VuaXRfdGVzdF9yZXN1bHRzKHNl
bGYpOgotICAgICAgICByZXN1bHRzX3BhdGggPSBzZWxmLl90b29sLnBvcnQoKS51bml0X3Rlc3Rz
X3Jlc3VsdHNfcGF0aCgpCisgICAgICAgIHJlc3VsdHNfcGF0aCA9IHNlbGYuX3Rvb2wuZGVwcmVj
YXRlZF9wb3J0KCkudW5pdF90ZXN0c19yZXN1bHRzX3BhdGgoKQogICAgICAgICBpZiBub3QgcmVz
dWx0c19wYXRoOgogICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgcmVzdWx0c194bWwg
PSBzZWxmLl9yZWFkX2ZpbGVfY29udGVudHMocmVzdWx0c19wYXRoKQpAQCAtNzksNyArNzksNyBA
QCBjbGFzcyBMYXlvdXRUZXN0UmVzdWx0c1JlYWRlcihvYmplY3QpOgogICAgICAgICByZXR1cm4g
bGF5b3V0X3Rlc3RfcmVzdWx0cwogCiAgICAgZGVmIF9yZXN1bHRzX2RpcmVjdG9yeShzZWxmKToK
LSAgICAgICAgcmVzdWx0c19wYXRoID0gc2VsZi5fdG9vbC5wb3J0KCkubGF5b3V0X3Rlc3RzX3Jl
c3VsdHNfcGF0aCgpCisgICAgICAgIHJlc3VsdHNfcGF0aCA9IHNlbGYuX3Rvb2wuZGVwcmVjYXRl
ZF9wb3J0KCkubGF5b3V0X3Rlc3RzX3Jlc3VsdHNfcGF0aCgpCiAgICAgICAgICMgRklYTUU6IFRo
aXMgaXMgd3JvbmcgaW4gdHdvIHdheXM6CiAgICAgICAgICMgMS4gSXQgYXNzdW1lcyB0aGF0IHJl
c3VsdHMuaHRtbCBpcyBhdCB0aGUgdG9wIGxldmVsIG9mIHRoZSByZXN1bHRzIHRyZWUuCiAgICAg
ICAgICMgMi4gVGhpcyB1c2VzIHRoZSAib2xkIiBwb3J0cy5weSBpbmZyYXN0cnVjdHVyZSBpbnN0
ZWFkIG9mIHRoZSBuZXcgbGF5b3V0X3Rlc3RzL3BvcnQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9ib3QvbGF5b3V0dGVzdHJlc3VsdHNyZWFkZXJfdW5pdHRlc3QucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2xheW91dHRlc3RyZXN1bHRzcmVhZGVy
X3VuaXR0ZXN0LnB5CmluZGV4IDEzYjk4MzJjODZjMzI0NzgzN2NhMzBiMWRhNjNhZTFiNTcwODYy
NzcuLjFlMTcxYzE0OTA0ZTE5NmVkMWNiODZhZTU1MDk5ODUxNDcxZjczNTEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvbGF5b3V0dGVzdHJlc3VsdHNyZWFkZXJf
dW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9sYXlvdXR0
ZXN0cmVzdWx0c3JlYWRlcl91bml0dGVzdC5weQpAQCAtNjYsNyArNjYsNyBAQCBjbGFzcyBMYXlv
dXRUZXN0UmVzdWx0c1JlYWRlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIHRl
c3RfbWlzc2luZ191bml0X3Rlc3RfcmVzdWx0c19wYXRoKHNlbGYpOgogICAgICAgICB0b29sID0g
TW9ja1Rvb2woKQotICAgICAgICB0b29sLnBvcnQoKS51bml0X3Rlc3RzX3Jlc3VsdHNfcGF0aCA9
IGxhbWJkYTogTm9uZQorICAgICAgICB0b29sLmRlcHJlY2F0ZWRfcG9ydCgpLnVuaXRfdGVzdHNf
cmVzdWx0c19wYXRoID0gbGFtYmRhOiBOb25lCiAgICAgICAgIHJlYWRlciA9IExheW91dFRlc3RS
ZXN1bHRzUmVhZGVyKHRvb2wsICIvdmFyL2xvZ3MiKQogICAgICAgICByZWFkZXIuX2NyZWF0ZV9s
YXlvdXRfdGVzdF9yZXN1bHRzID0gbGFtYmRhOiBMYXlvdXRUZXN0UmVzdWx0cyhbXSkKICAgICAg
ICAgIyBsYXlvdXRfdGVzdF9yZXN1bHRzIHNob3VsZG4ndCByYWlzZSBldmVuIGlmIHRoZSB1bml0
IHRlc3RzIHhtbCBmaWxlIGlzIG1pc3NpbmcuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvbWFpbi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tYWluLnB5
CmluZGV4IDY4MzQ4YTA1YTMwZmE0MzBlZTdmZTM4ZDMxNjJkNjJlZTQzOTEzMjguLmVkYjYzYzVi
MjA1NzMzODM1OWIxMzliMTkxZDg5MmVkMjg5YTIwZGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9tYWluLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9v
bC9tYWluLnB5CkBAIC02MSw4ICs2MSw3IEBAIGNsYXNzIFdlYktpdFBhdGNoKE11bHRpQ29tbWFu
ZFRvb2wsIEhvc3QpOgogICAgICAgICBzZWxmLl9pcmMgPSBOb25lCiAgICAgICAgIHNlbGYuX2Rl
cHJlY2F0ZWRfcG9ydCA9IE5vbmUKIAotICAgICMgRklYTUU6IFJlbmFtZSB0aGlzIGRlcHJlY2F0
ZWRfcG9ydCgpCi0gICAgZGVmIHBvcnQoc2VsZik6CisgICAgZGVmIGRlcHJlY2F0ZWRfcG9ydChz
ZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX2RlcHJlY2F0ZWRfcG9ydAogCiAgICAgZGVmIHBh
dGgoc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rv
b2wucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkKaW5kZXggYjhm
MDk3NmJjOTI5ZWEyOWNkNDI0MzcxN2U5N2I2NTA5ZDBlYmY2Yy4uOGFmYWVhOTE5Y2JjMmM1MGI3
YzdmMDk4YjY3MTJmNzFiMjVlNDc1MSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL21vY2t0b29sLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2Nr
dG9vbC5weQpAQCAtNzEsNyArNzEsNyBAQCBjbGFzcyBNb2NrVG9vbChNb2NrSG9zdCk6CiAgICAg
ICAgIHNlbGYuaXJjX3Bhc3N3b3JkID0gIk1PQ0sgaXJjIHBhc3N3b3JkIgogICAgICAgICBzZWxm
Lndha2V1cF9ldmVudCA9IHRocmVhZGluZy5FdmVudCgpCiAKLSAgICBkZWYgcG9ydChzZWxmKToK
KyAgICBkZWYgZGVwcmVjYXRlZF9wb3J0KHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fZGVw
cmVjYXRlZF9wb3J0CiAKICAgICBkZWYgcGF0aChzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9idWlsZC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9zdGVwcy9idWlsZC5weQppbmRleCBhMmE2MjcyMjkxOWY2YmY5Y2VkMzIwYjcyYTU3
YmNlZmJjMWRiZDBmLi5iMDI4MzBjYTIzNDkxY2RkY2Y4NjA2NTYyNDYxNzYzMWVmZWUzMzVlIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvYnVpbGQucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2J1aWxkLnB5CkBAIC00OCw3ICs0
OCw3IEBAIGNsYXNzIEJ1aWxkKEFic3RyYWN0U3RlcCk6CiAgICAgICAgIGVudmlyb25tZW50LmRp
c2FibGVfZ2NjX3NtYXJ0cXVvdGVzKCkKICAgICAgICAgZW52ID0gZW52aXJvbm1lbnQudG9fZGlj
dGlvbmFyeSgpCiAKLSAgICAgICAgYnVpbGRfd2Via2l0X2NvbW1hbmQgPSBzZWxmLl90b29sLnBv
cnQoKS5idWlsZF93ZWJraXRfY29tbWFuZChidWlsZF9zdHlsZT1idWlsZF9zdHlsZSkKKyAgICAg
ICAgYnVpbGRfd2Via2l0X2NvbW1hbmQgPSBzZWxmLl90b29sLmRlcHJlY2F0ZWRfcG9ydCgpLmJ1
aWxkX3dlYmtpdF9jb21tYW5kKGJ1aWxkX3N0eWxlPWJ1aWxkX3N0eWxlKQogICAgICAgICBzZWxm
Ll90b29sLmV4ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2ZhaWwoYnVpbGRfd2Via2l0X2NvbW1h
bmQsIHNlbGYuX29wdGlvbnMucXVpZXQsCiAgICAgICAgICAgICBjd2Q9c2VsZi5fdG9vbC5zY20o
KS5jaGVja291dF9yb290LCBlbnY9ZW52KQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvc3RlcHMvY2hlY2tzdHlsZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9zdGVwcy9jaGVja3N0eWxlLnB5CmluZGV4IDBjYjE1ZjRjMTExYzAwZGE5MzQxNDE0MDFj
ZjQzMWFkMDk5ZGNiNzcuLmNlYzhhODEzMjIxMTFmODUwOWZiZjIyYjBkOTc3OWIwYmU0MTAyNzEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jaGVja3N0eWxl
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jaGVja3N0eWxlLnB5
CkBAIC01Nyw3ICs1Nyw3IEBAIGNsYXNzIENoZWNrU3R5bGUoQWJzdHJhY3RTdGVwKToKICAgICAg
ICAgICAgIGFyZ3MuYXBwZW5kKHNlbGYuX29wdGlvbnMuY2hlY2tfc3R5bGVfZmlsdGVyKQogCiAg
ICAgICAgIHRyeToKLSAgICAgICAgICAgIHNlbGYuX3Rvb2wuZXhlY3V0aXZlLnJ1bl9hbmRfdGhy
b3dfaWZfZmFpbChzZWxmLl90b29sLnBvcnQoKS5jaGVja193ZWJraXRfc3R5bGVfY29tbWFuZCgp
ICsgYXJncywgY3dkPXNlbGYuX3Rvb2wuc2NtKCkuY2hlY2tvdXRfcm9vdCkKKyAgICAgICAgICAg
IHNlbGYuX3Rvb2wuZXhlY3V0aXZlLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbChzZWxmLl90b29sLmRl
cHJlY2F0ZWRfcG9ydCgpLmNoZWNrX3dlYmtpdF9zdHlsZV9jb21tYW5kKCkgKyBhcmdzLCBjd2Q9
c2VsZi5fdG9vbC5zY20oKS5jaGVja291dF9yb290KQogICAgICAgICBleGNlcHQgU2NyaXB0RXJy
b3IsIGU6CiAgICAgICAgICAgICBpZiBzZWxmLl9vcHRpb25zLm5vbl9pbnRlcmFjdGl2ZToKICAg
ICAgICAgICAgICAgICAjIFdlIG5lZWQgdG8gcmUtcmFpc2UgdGhlIGV4Y2VwdGlvbiBoZXJlIHRv
IGhhdmUgdGhlCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMv
Y29tbWl0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2NvbW1pdC5weQpp
bmRleCBjNTJhNjNhOTU1NjE0Njc1YWY4OTcyMWM2ZTNjYzMzOGZiYmZhNWUxLi4xZDUxMDlhMDBh
ZjdhYjk5OTg0YzU0ZGIyZGI0ZThkZGNhMTAwNDYyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc3RlcHMvY29tbWl0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9zdGVwcy9jb21taXQucHkKQEAgLTYwLDcgKzYwLDcgQEAgY2xhc3MgQ29tbWl0KEFi
c3RyYWN0U3RlcCk6CiAgICAgICAgIGFyZ3MgPSBbIi0tZGlmZi1maWxlcyJdCiAgICAgICAgIGFy
Z3MuZXh0ZW5kKHRlc3RfZXhwZWN0YXRpb25zX2ZpbGVzKQogICAgICAgICB0cnk6Ci0gICAgICAg
ICAgICBzZWxmLl90b29sLmV4ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2ZhaWwoc2VsZi5fdG9v
bC5wb3J0KCkuY2hlY2tfd2Via2l0X3N0eWxlX2NvbW1hbmQoKSArIGFyZ3MsIGN3ZD1zZWxmLl90
b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3QpCisgICAgICAgICAgICBzZWxmLl90b29sLmV4ZWN1dGl2
ZS5ydW5fYW5kX3Rocm93X2lmX2ZhaWwoc2VsZi5fdG9vbC5kZXByZWNhdGVkX3BvcnQoKS5jaGVj
a193ZWJraXRfc3R5bGVfY29tbWFuZCgpICsgYXJncywgY3dkPXNlbGYuX3Rvb2wuc2NtKCkuY2hl
Y2tvdXRfcm9vdCkKICAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgogICAgICAgICAgICAg
aWYgc2VsZi5fb3B0aW9ucy5ub25faW50ZXJhY3RpdmU6CiAgICAgICAgICAgICAgICAgcmFpc2UK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hh
bmdlbG9nLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFu
Z2Vsb2cucHkKaW5kZXggNGQ4MGFiNjFmYzQwNzdlYTk3YjY0ZTk0ZTkyYWM3Mjc2YjRmOGFkOC4u
OWJkNTVlN2RjOGQ3MGJkNGU3YjZlNTk0NzQ5YmMzNmM1ZjNlZjhjYiAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2cucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2cucHkKQEAg
LTYyLDcgKzYyLDcgQEAgY2xhc3MgUHJlcGFyZUNoYW5nZUxvZyhBYnN0cmFjdFN0ZXApOgogICAg
ICAgICBpZiBzZWxmLmNhY2hlZF9sb29rdXAoc3RhdGUsICJjaGFuZ2Vsb2dzIik6CiAgICAgICAg
ICAgICBzZWxmLl9lbnN1cmVfYnVnX3VybChzdGF0ZSkKICAgICAgICAgICAgIHJldHVybgotICAg
ICAgICBhcmdzID0gc2VsZi5fdG9vbC5wb3J0KCkucHJlcGFyZV9jaGFuZ2Vsb2dfY29tbWFuZCgp
CisgICAgICAgIGFyZ3MgPSBzZWxmLl90b29sLmRlcHJlY2F0ZWRfcG9ydCgpLnByZXBhcmVfY2hh
bmdlbG9nX2NvbW1hbmQoKQogICAgICAgICBpZiBzdGF0ZS5nZXQoImJ1Z19pZCIpOgogICAgICAg
ICAgICAgYXJncy5hcHBlbmQoIi0tYnVnPSVzIiAlIHN0YXRlWyJidWdfaWQiXSkKICAgICAgICAg
ICAgIGFyZ3MuYXBwZW5kKCItLWRlc2NyaXB0aW9uPSVzIiAlIHNlbGYuY2FjaGVkX2xvb2t1cChz
dGF0ZSwgJ2J1Z190aXRsZScpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2dmb3JkZXBzcm9sbC5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9zdGVwcy9wcmVwYXJlY2hhbmdlbG9nZm9yZGVwc3JvbGwucHkKaW5kZXgg
NGJiZDM4M2FlMzJmZmFlNDkzZjcxYmQyMjAxMDA4NGZhMTg2YTQ0Yi4uNmQ2MDZlYWZhM2ZhMGE3
NzJlN2E0N2QxMjExNmMwNDcyNjJlYzZiMyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2dmb3JkZXBzcm9sbC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZ2ZvcmRlcHNyb2xs
LnB5CkBAIC0zMiw3ICszMiw3IEBAIGZyb20gd2Via2l0cHkudG9vbC5zdGVwcy5hYnN0cmFjdHN0
ZXAgaW1wb3J0IEFic3RyYWN0U3RlcAogCiBjbGFzcyBQcmVwYXJlQ2hhbmdlTG9nRm9yREVQU1Jv
bGwoQWJzdHJhY3RTdGVwKToKICAgICBkZWYgcnVuKHNlbGYsIHN0YXRlKToKLSAgICAgICAgc2Vs
Zi5fdG9vbC5leGVjdXRpdmUucnVuX2FuZF90aHJvd19pZl9mYWlsKHNlbGYuX3Rvb2wucG9ydCgp
LnByZXBhcmVfY2hhbmdlbG9nX2NvbW1hbmQoKSkKKyAgICAgICAgc2VsZi5fdG9vbC5leGVjdXRp
dmUucnVuX2FuZF90aHJvd19pZl9mYWlsKHNlbGYuX3Rvb2wuZGVwcmVjYXRlZF9wb3J0KCkucHJl
cGFyZV9jaGFuZ2Vsb2dfY29tbWFuZCgpKQogICAgICAgICBjaGFuZ2Vsb2dfcGF0aHMgPSBzZWxm
Ll90b29sLmNoZWNrb3V0KCkubW9kaWZpZWRfY2hhbmdlbG9ncyhnaXRfY29tbWl0PU5vbmUpCiAg
ICAgICAgIGZvciBjaGFuZ2Vsb2dfcGF0aCBpbiBjaGFuZ2Vsb2dfcGF0aHM6CiAgICAgICAgICAg
ICBDaGFuZ2VMb2coY2hhbmdlbG9nX3BhdGgpLnVwZGF0ZV93aXRoX3VucmV2aWV3ZWRfbWVzc2Fn
ZSgiVW5yZXZpZXdlZC4gIFJvbGxlZCBERVBTLlxuXG4iKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vsb2dmb3JyZXZlcnQucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZ2ZvcnJldmVy
dC5weQppbmRleCA5NWE5OWMzMjA1ZDIxNzYxODE4ZGYzZGIzYmIzZDMzYWRhZDQ3OGVmLi44MmU3
YjAyNTI2MDc5OWM4M2ZlZmFhNjQ4OTljZmE5MmVmYWEyMTQwIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZ2ZvcnJldmVydC5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvcHJlcGFyZWNoYW5nZWxvZ2Zv
cnJldmVydC5weQpAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBQcmVwYXJlQ2hhbmdlTG9nRm9yUmV2
ZXJ0KEFic3RyYWN0U3RlcCk6CiAKICAgICBkZWYgcnVuKHNlbGYsIHN0YXRlKToKICAgICAgICAg
IyBUaGlzIGNvdWxkIG1vdmUgdG8gcHJlcGFyZS1DaGFuZ2VMb2cgYnkgYWRkaW5nIGEgLS1yZXZl
cnQ9IG9wdGlvbi4KLSAgICAgICAgc2VsZi5fdG9vbC5leGVjdXRpdmUucnVuX2FuZF90aHJvd19p
Zl9mYWlsKHNlbGYuX3Rvb2wucG9ydCgpLnByZXBhcmVfY2hhbmdlbG9nX2NvbW1hbmQoKSwgY3dk
PXNlbGYuX3Rvb2wuc2NtKCkuY2hlY2tvdXRfcm9vdCkKKyAgICAgICAgc2VsZi5fdG9vbC5leGVj
dXRpdmUucnVuX2FuZF90aHJvd19pZl9mYWlsKHNlbGYuX3Rvb2wuZGVwcmVjYXRlZF9wb3J0KCku
cHJlcGFyZV9jaGFuZ2Vsb2dfY29tbWFuZCgpLCBjd2Q9c2VsZi5fdG9vbC5zY20oKS5jaGVja291
dF9yb290KQogICAgICAgICBjaGFuZ2Vsb2dfcGF0aHMgPSBzZWxmLl90b29sLmNoZWNrb3V0KCku
bW9kaWZpZWRfY2hhbmdlbG9ncyhnaXRfY29tbWl0PU5vbmUpCiAgICAgICAgIGJ1Z191cmwgPSBz
ZWxmLl90b29sLmJ1Z3MuYnVnX3VybF9mb3JfYnVnX2lkKHN0YXRlWyJidWdfaWQiXSkgaWYgc3Rh
dGVbImJ1Z19pZCJdIGVsc2UgTm9uZQogICAgICAgICBtZXNzYWdlID0gc2VsZi5fbWVzc2FnZV9m
b3JfcmV2ZXJ0KHN0YXRlWyJyZXZpc2lvbl9saXN0Il0sIHN0YXRlWyJyZWFzb24iXSwgYnVnX3Vy
bCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9ydW50ZXN0
cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9ydW50ZXN0cy5weQppbmRl
eCAwYmVmOWY3ZWY1NDA2Y2RhYjA5M2M0Njc3YTBjMzg2Y2Q5Njk5OWU3Li4zNTBiMmVkZjU4ZjI4
OTQwYTBjOGU0Nzk3NDFhNzMyOTQ2NTM3NDMwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvc3RlcHMvcnVudGVzdHMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL3N0ZXBzL3J1bnRlc3RzLnB5CkBAIC01Myw0MSArNTMsNDEgQEAgY2xhc3MgUnVuVGVz
dHMoQWJzdHJhY3RTdGVwKToKICAgICAgICAgaWYgbm90IHNlbGYuX29wdGlvbnMubm9uX2ludGVy
YWN0aXZlOgogICAgICAgICAgICAgIyBGSVhNRTogV2Ugc2hvdWxkIHRlYWNoIHRoZSBjb21taXQt
cXVldWUgYW5kIHRoZSBFV1MgaG93IHRvIHJ1biB0aGVzZSB0ZXN0cy4KIAotICAgICAgICAgICAg
cHl0aG9uX3VuaXR0ZXN0c19jb21tYW5kID0gc2VsZi5fdG9vbC5wb3J0KCkucnVuX3B5dGhvbl91
bml0dGVzdHNfY29tbWFuZCgpCisgICAgICAgICAgICBweXRob25fdW5pdHRlc3RzX2NvbW1hbmQg
PSBzZWxmLl90b29sLmRlcHJlY2F0ZWRfcG9ydCgpLnJ1bl9weXRob25fdW5pdHRlc3RzX2NvbW1h
bmQoKQogICAgICAgICAgICAgaWYgcHl0aG9uX3VuaXR0ZXN0c19jb21tYW5kOgogICAgICAgICAg
ICAgICAgIF9sb2cuaW5mbygiUnVubmluZyBQeXRob24gdW5pdCB0ZXN0cyIpCiAgICAgICAgICAg
ICAgICAgc2VsZi5fdG9vbC5leGVjdXRpdmUucnVuX2FuZF90aHJvd19pZl9mYWlsKHB5dGhvbl91
bml0dGVzdHNfY29tbWFuZCwgY3dkPXNlbGYuX3Rvb2wuc2NtKCkuY2hlY2tvdXRfcm9vdCkKIAot
ICAgICAgICAgICAgcGVybF91bml0dGVzdHNfY29tbWFuZCA9IHNlbGYuX3Rvb2wucG9ydCgpLnJ1
bl9wZXJsX3VuaXR0ZXN0c19jb21tYW5kKCkKKyAgICAgICAgICAgIHBlcmxfdW5pdHRlc3RzX2Nv
bW1hbmQgPSBzZWxmLl90b29sLmRlcHJlY2F0ZWRfcG9ydCgpLnJ1bl9wZXJsX3VuaXR0ZXN0c19j
b21tYW5kKCkKICAgICAgICAgICAgIGlmIHBlcmxfdW5pdHRlc3RzX2NvbW1hbmQ6CiAgICAgICAg
ICAgICAgICAgX2xvZy5pbmZvKCJSdW5uaW5nIFBlcmwgdW5pdCB0ZXN0cyIpCiAgICAgICAgICAg
ICAgICAgc2VsZi5fdG9vbC5leGVjdXRpdmUucnVuX2FuZF90aHJvd19pZl9mYWlsKHBlcmxfdW5p
dHRlc3RzX2NvbW1hbmQsIGN3ZD1zZWxmLl90b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3QpCiAKLSAg
ICAgICAgICAgIGphdmFzY3JpcHRjb3JlX3Rlc3RzX2NvbW1hbmQgPSBzZWxmLl90b29sLnBvcnQo
KS5ydW5famF2YXNjcmlwdGNvcmVfdGVzdHNfY29tbWFuZCgpCisgICAgICAgICAgICBqYXZhc2Ny
aXB0Y29yZV90ZXN0c19jb21tYW5kID0gc2VsZi5fdG9vbC5kZXByZWNhdGVkX3BvcnQoKS5ydW5f
amF2YXNjcmlwdGNvcmVfdGVzdHNfY29tbWFuZCgpCiAgICAgICAgICAgICBpZiBqYXZhc2NyaXB0
Y29yZV90ZXN0c19jb21tYW5kOgogICAgICAgICAgICAgICAgIF9sb2cuaW5mbygiUnVubmluZyBK
YXZhU2NyaXB0Q29yZSB0ZXN0cyIpCiAgICAgICAgICAgICAgICAgc2VsZi5fdG9vbC5leGVjdXRp
dmUucnVuX2FuZF90aHJvd19pZl9mYWlsKGphdmFzY3JpcHRjb3JlX3Rlc3RzX2NvbW1hbmQsIHF1
aWV0PVRydWUsIGN3ZD1zZWxmLl90b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3QpCiAKLSAgICAgICAg
d2Via2l0X3VuaXRfdGVzdHNfY29tbWFuZCA9IHNlbGYuX3Rvb2wucG9ydCgpLnJ1bl93ZWJraXRf
dW5pdF90ZXN0c19jb21tYW5kKCkKKyAgICAgICAgd2Via2l0X3VuaXRfdGVzdHNfY29tbWFuZCA9
IHNlbGYuX3Rvb2wuZGVwcmVjYXRlZF9wb3J0KCkucnVuX3dlYmtpdF91bml0X3Rlc3RzX2NvbW1h
bmQoKQogICAgICAgICBpZiB3ZWJraXRfdW5pdF90ZXN0c19jb21tYW5kOgogICAgICAgICAgICAg
X2xvZy5pbmZvKCJSdW5uaW5nIFdlYktpdCB1bml0IHRlc3RzIikKICAgICAgICAgICAgIGFyZ3Mg
PSB3ZWJraXRfdW5pdF90ZXN0c19jb21tYW5kCiAgICAgICAgICAgICBpZiBzZWxmLl9vcHRpb25z
Lm5vbl9pbnRlcmFjdGl2ZToKLSAgICAgICAgICAgICAgICBhcmdzLmFwcGVuZCgiLS1ndGVzdF9v
dXRwdXQ9eG1sOiVzL3dlYmtpdF91bml0X3Rlc3RzX291dHB1dC54bWwiICUgc2VsZi5fdG9vbC5w
b3J0KCkucmVzdWx0c19kaXJlY3RvcnkpCisgICAgICAgICAgICAgICAgYXJncy5hcHBlbmQoIi0t
Z3Rlc3Rfb3V0cHV0PXhtbDolcy93ZWJraXRfdW5pdF90ZXN0c19vdXRwdXQueG1sIiAlIHNlbGYu
X3Rvb2wuZGVwcmVjYXRlZF9wb3J0KCkucmVzdWx0c19kaXJlY3RvcnkpCiAgICAgICAgICAgICB0
cnk6CiAgICAgICAgICAgICAgICAgc2VsZi5fdG9vbC5leGVjdXRpdmUucnVuX2FuZF90aHJvd19p
Zl9mYWlsKGFyZ3MsIGN3ZD1zZWxmLl90b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3QpCiAgICAgICAg
ICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6CiAgICAgICAgICAgICAgICAgX2xvZy5pbmZvKCJF
cnJvciBydW5uaW5nIHdlYmtpdF91bml0X3Rlc3RzOiAlcyIgJSBlLm1lc3NhZ2Vfd2l0aF9vdXRw
dXQoKSkKIAogICAgICAgICBfbG9nLmluZm8oIlJ1bm5pbmcgcnVuLXdlYmtpdC10ZXN0cyIpCi0g
ICAgICAgIGFyZ3MgPSBzZWxmLl90b29sLnBvcnQoKS5ydW5fd2Via2l0X3Rlc3RzX2NvbW1hbmQo
KQorICAgICAgICBhcmdzID0gc2VsZi5fdG9vbC5kZXByZWNhdGVkX3BvcnQoKS5ydW5fd2Via2l0
X3Rlc3RzX2NvbW1hbmQoKQogICAgICAgICBpZiBzZWxmLl9vcHRpb25zLm5vbl9pbnRlcmFjdGl2
ZToKICAgICAgICAgICAgIGFyZ3MuZXh0ZW5kKFsKICAgICAgICAgICAgICAgICAiLS1uby1uZXct
dGVzdC1yZXN1bHRzIiwKICAgICAgICAgICAgICAgICAiLS1uby1zaG93LXJlc3VsdHMiLAogICAg
ICAgICAgICAgICAgICItLXNraXAtZmFpbGluZy10ZXN0cyIsCiAgICAgICAgICAgICAgICAgIi0t
ZXhpdC1hZnRlci1uLWZhaWx1cmVzPSVzIiAlIHNlbGYuTk9OX0lOVEVSQUNUSVZFX0ZBSUxVUkVf
TElNSVRfQ09VTlQsCi0gICAgICAgICAgICAgICAgIi0tcmVzdWx0cy1kaXJlY3Rvcnk9JXMiICUg
c2VsZi5fdG9vbC5wb3J0KCkucmVzdWx0c19kaXJlY3RvcnksCisgICAgICAgICAgICAgICAgIi0t
cmVzdWx0cy1kaXJlY3Rvcnk9JXMiICUgc2VsZi5fdG9vbC5kZXByZWNhdGVkX3BvcnQoKS5yZXN1
bHRzX2RpcmVjdG9yeSwKICAgICAgICAgICAgICAgICAiLS1xdWlldCIsCiAgICAgICAgICAgICBd
KQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvc3RlcHNf
dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvc3RlcHNfdW5p
dHRlc3QucHkKaW5kZXggYzRlYTQ3YjRkZGZmNWM2ZjllMWYxZDM1NjdjZmU5ZTkwMTQyNjRkMC4u
NDFjNzk4MzU0NTgyMjM3YTRhZmY3OTNhYWIxNTdkODlhZGU5MGMwMiAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3N0ZXBzX3VuaXR0ZXN0LnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9zdGVwc191bml0dGVzdC5weQpAQCAtOTks
MTAgKzk5LDkgQEAgY2xhc3MgU3RlcHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAg
bW9ja19vcHRpb25zID0gc2VsZi5fc3RlcF9vcHRpb25zKCkKICAgICAgICAgbW9ja19vcHRpb25z
Lm5vbl9pbnRlcmFjdGl2ZSA9IEZhbHNlCiAgICAgICAgIHN0ZXAgPSBzdGVwcy5SdW5UZXN0cyhN
b2NrVG9vbChsb2dfZXhlY3V0aXZlPVRydWUpLCBtb2NrX29wdGlvbnMpCi0gICAgICAgICMgRklY
TUU6IFdlIHNob3VsZG4ndCB1c2UgYSByZWFsIHBvcnQtb2JqZWN0IGhlcmUsIGJ1dCB0aGVyZSBp
cyB0b28gbXVjaCB0byBtb2NrIGF0IHRoZSBtb21lbnQuCi0gICAgICAgIG1vY2tfcG9ydCA9IERl
cHJlY2F0ZWRQb3J0KCkKICAgICAgICAgdG9vbCA9IE1vY2tUb29sKGxvZ19leGVjdXRpdmU9VHJ1
ZSkKLSAgICAgICAgdG9vbC5wb3J0ID0gbGFtYmRhOiBtb2NrX3BvcnQKKyAgICAgICAgIyBGSVhN
RTogV2Ugc2hvdWxkbid0IHVzZSBhIHJlYWwgcG9ydC1vYmplY3QgaGVyZSwgYnV0IHRoZXJlIGlz
IHRvbyBtdWNoIHRvIG1vY2sgYXQgdGhlIG1vbWVudC4KKyAgICAgICAgdG9vbC5fZGVwcmVjYXRl
ZF9wb3J0ID0gRGVwcmVjYXRlZFBvcnQoKQogICAgICAgICBzdGVwID0gc3RlcHMuUnVuVGVzdHMo
dG9vbCwgbW9ja19vcHRpb25zKQogICAgICAgICBleHBlY3RlZF9sb2dzID0gIiIiUnVubmluZyBQ
eXRob24gdW5pdCB0ZXN0cwogTU9DSyBydW5fYW5kX3Rocm93X2lmX2ZhaWw6IFsnVG9vbHMvU2Ny
aXB0cy90ZXN0LXdlYmtpdHB5J10sIGN3ZD0vbW9jay1jaGVja291dApkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3VwZGF0ZS5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9zdGVwcy91cGRhdGUucHkKaW5kZXggMDczN2ViY2QwYjkyMWIwNDg3ZDk5
MjFkMDhjOGY3MzYwZGQxN2E3Mi4uZjcwMzU0MDc4NjBkYTI2MzYyNmVhNWE1NDcxMWJmMDhmMjE0
NGNkZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3VwZGF0
ZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvdXBkYXRlLnB5CkBA
IC01MCw1ICs1MCw1IEBAIGNsYXNzIFVwZGF0ZShBYnN0cmFjdFN0ZXApOgogICAgICAgICBzZWxm
Ll90b29sLmV4ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2ZhaWwoc2VsZi5fdXBkYXRlX2NvbW1h
bmQoKSwgcXVpZXQ9c2VsZi5fb3B0aW9ucy5xdWlldCwgY3dkPXNlbGYuX3Rvb2wuc2NtKCkuY2hl
Y2tvdXRfcm9vdCkKIAogICAgIGRlZiBfdXBkYXRlX2NvbW1hbmQoc2VsZik6Ci0gICAgICAgIHVw
ZGF0ZV9jb21tYW5kID0gc2VsZi5fdG9vbC5wb3J0KCkudXBkYXRlX3dlYmtpdF9jb21tYW5kKHNl
bGYuX29wdGlvbnMubm9uX2ludGVyYWN0aXZlKQorICAgICAgICB1cGRhdGVfY29tbWFuZCA9IHNl
bGYuX3Rvb2wuZGVwcmVjYXRlZF9wb3J0KCkudXBkYXRlX3dlYmtpdF9jb21tYW5kKHNlbGYuX29w
dGlvbnMubm9uX2ludGVyYWN0aXZlKQogICAgICAgICByZXR1cm4gdXBkYXRlX2NvbW1hbmQK
</data>

          </attachment>
      

    </bug>

</bugzilla>