<?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>31904</bug_id>
          
          <creation_ts>2009-11-25 23:51:23 -0800</creation_ts>
          <short_desc>[bzt] Kill WebKitLandingScripts</short_desc>
          <delta_ts>2009-11-27 00:04:48 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>166664</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-25 23:51:23 -0800</bug_when>
    <thetext>It is an evil static of doom that prevents us from testing download commands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166669</commentid>
    <comment_count>1</comment_count>
      <attachid>43901</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-26 00:41:20 -0800</bug_when>
    <thetext>Created attachment 43901
step 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166670</commentid>
    <comment_count>2</comment_count>
      <attachid>43902</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-26 00:41:27 -0800</bug_when>
    <thetext>Created attachment 43902
step 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166671</commentid>
    <comment_count>3</comment_count>
      <attachid>43903</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-26 00:41:31 -0800</bug_when>
    <thetext>Created attachment 43903
step 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166672</commentid>
    <comment_count>4</comment_count>
      <attachid>43904</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-26 00:41:34 -0800</bug_when>
    <thetext>Created attachment 43904
Step 4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166673</commentid>
    <comment_count>5</comment_count>
      <attachid>43905</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-26 00:41:38 -0800</bug_when>
    <thetext>Created attachment 43905
Step 5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166674</commentid>
    <comment_count>6</comment_count>
      <attachid>43906</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-26 00:41:42 -0800</bug_when>
    <thetext>Created attachment 43906
Step 6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166806</commentid>
    <comment_count>7</comment_count>
      <attachid>43901</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-26 20:16:52 -0800</bug_when>
    <thetext>Comment on attachment 43901
step 1

Why pass tool?
 119     def setup_for_patch_apply(tool, options):

Seems scm is cleaner there.

This looks good though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166807</commentid>
    <comment_count>8</comment_count>
      <attachid>43902</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-26 20:17:47 -0800</bug_when>
    <thetext>Comment on attachment 43902
step 2

Calling error() is evil and wrong.  We need to fix that at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166808</commentid>
    <comment_count>9</comment_count>
      <attachid>43903</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-26 20:18:19 -0800</bug_when>
    <thetext>Comment on attachment 43903
step 3

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166809</commentid>
    <comment_count>10</comment_count>
      <attachid>43904</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-26 20:25:38 -0800</bug_when>
    <thetext>Comment on attachment 43904
Step 4

Commands already have a self.tool now.  No need to pass tool:
         self._create_changelogs_for_revert(tool.scm(), revision)
 398         self._create_changelogs_for_revert(tool, revision)

If you&apos;re going to move away from scm(), we should move to self.tool</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166810</commentid>
    <comment_count>11</comment_count>
      <attachid>43905</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-26 20:27:13 -0800</bug_when>
    <thetext>Comment on attachment 43905
Step 5

LGTM.  Eventually we need to unify SCM.run_command with this too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166811</commentid>
    <comment_count>12</comment_count>
      <attachid>43906</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-26 20:34:16 -0800</bug_when>
    <thetext>Comment on attachment 43906
Step 6

I intentionally had this take an scm param:
                 commit_message = commit_message_for_this_commit(scm)
 135                 commit_message = scm.commit_message_for_this_commit()

It doesn&apos;t belong on SCM.  Our commit message junk doesn&apos;t belong in scm.py.

 38     # FIXME: The options should really live on each &quot;Step&quot; object.

I LOVE the idea of a Step object, and even more that options would be automatically assembled from the set of step objects!

rollout used to work just fine:
              comment_text = WebKitLandingScripts.build_and_commit(tool.scm(), options)
 407             # FIXME: This function does not exist!!
 408             # comment_text = WebKitLandingScripts.build_and_commit(tool.scm(), options)
 409             raise ScriptError(&quot;OOPS! This option is not implemented (yet).&quot;)

Not sure when it broke.  

406410             self._reopen_bug_after_rollout(tool, bug_id, comment_text)

is broken in the current bugzilla however, because there is no longer a &quot;REOPENED&quot; state in the popup.

I guess we could add a big fixme next to commit_message_for_this_commit.  It doesn&apos;t belong in scm.py. :(

I&apos;d like you to at least add a FIXME.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166849</commentid>
    <comment_count>13</comment_count>
      <attachid>43901</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-26 23:55:04 -0800</bug_when>
    <thetext>Comment on attachment 43901
step 1

Clearing flags on attachment: 43901

Committed r51431: &lt;http://trac.webkit.org/changeset/51431&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166850</commentid>
    <comment_count>14</comment_count>
      <attachid>43902</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-26 23:55:38 -0800</bug_when>
    <thetext>Comment on attachment 43902
step 2

Clearing flags on attachment: 43902

Committed r51432: &lt;http://trac.webkit.org/changeset/51432&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166851</commentid>
    <comment_count>15</comment_count>
      <attachid>43903</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-26 23:56:05 -0800</bug_when>
    <thetext>Comment on attachment 43903
step 3

Clearing flags on attachment: 43903

Committed r51433: &lt;http://trac.webkit.org/changeset/51433&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166852</commentid>
    <comment_count>16</comment_count>
      <attachid>43904</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-26 23:56:31 -0800</bug_when>
    <thetext>Comment on attachment 43904
Step 4

Clearing flags on attachment: 43904

Committed r51434: &lt;http://trac.webkit.org/changeset/51434&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166853</commentid>
    <comment_count>17</comment_count>
      <attachid>43905</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-26 23:56:59 -0800</bug_when>
    <thetext>Comment on attachment 43905
Step 5

Clearing flags on attachment: 43905

Committed r51435: &lt;http://trac.webkit.org/changeset/51435&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166855</commentid>
    <comment_count>18</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-27 00:04:48 -0800</bug_when>
    <thetext>Committed r51437: &lt;http://trac.webkit.org/changeset/51437&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43901</attachid>
            <date>2009-11-26 00:41:20 -0800</date>
            <delta_ts>2009-11-26 23:55:04 -0800</delta_ts>
            <desc>step 1</desc>
            <filename>bug-31904-20091126004119.patch</filename>
            <type>text/plain</type>
            <size>8979</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAxYWYyN2I4Li42YWEwYjQ2IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjEgQEAKIAogICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBbYnp0XSBLaWxsIFdlYktp
dExhbmRpbmdTY3JpcHRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zMTkwNAorCisgICAgICAgIFN0ZXAgMTogS2lsbCBwcmVwYXJlX2NsZWFuX3dvcmtp
bmdfZGlyZWN0b3J5IGFuZCBydW5fd2Via2l0X3Rlc3RzLgorCisgICAgICAgICogU2NyaXB0cy9i
dWd6aWxsYS10b29sOgorICAgICAgICAqIFNjcmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5OiBB
ZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHk6Cisg
ICAgICAgICogU2NyaXB0cy9tb2R1bGVzL2xhbmRpbmdzZXF1ZW5jZS5weToKKyAgICAgICAgKiBT
Y3JpcHRzL21vZHVsZXMvd2Via2l0bGFuZGluZ3NjcmlwdHMucHk6CisKKzIwMDktMTEtMjUgIEFk
YW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKwogICAgICAgICBbYnp0XSBVbml0IHRlc3QgdXBsb2FkIGNvbW1hbmRzCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTkwMwogCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL2J1Z3ppbGxhLXRvb2wgYi9XZWJLaXRUb29s
cy9TY3JpcHRzL2J1Z3ppbGxhLXRvb2wKaW5kZXggOGUwMTgxZC4uMzVhMzQ0YSAxMDA3NTUKLS0t
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCisrKyBiL1dlYktpdFRvb2xzL1Nj
cmlwdHMvYnVnemlsbGEtdG9vbApAQCAtMzIsNiArMzIsNyBAQAogCiBpbXBvcnQgb3MKIAorZnJv
bSBtb2R1bGVzLmJ1aWxkc3RlcHMgaW1wb3J0IEJ1aWxkU3RlcHMKIGZyb20gbW9kdWxlcy5jb21t
YW5kcy5kb3dubG9hZCBpbXBvcnQgKgogZnJvbSBtb2R1bGVzLmNvbW1hbmRzLnF1ZXJpZXMgaW1w
b3J0ICoKIGZyb20gbW9kdWxlcy5jb21tYW5kcy5xdWV1ZXMgaW1wb3J0ICoKQEAgLTQ2LDYgKzQ3
LDcgQEAgY2xhc3MgQnVnemlsbGFUb29sKE11bHRpQ29tbWFuZFRvb2wpOgogICAgICAgICBzZWxm
LmJ1Z3MgPSBCdWd6aWxsYSgpCiAgICAgICAgIHNlbGYuYnVpbGRib3QgPSBCdWlsZEJvdCgpCiAg
ICAgICAgIHNlbGYuY2FjaGVkX3NjbSA9IE5vbmUKKyAgICAgICAgc2VsZi5zdGVwcyA9IEJ1aWxk
U3RlcHMoKQogCiAgICAgZGVmIGRyeV9ydW5fY2FsbGJhY2soc2VsZiwgb3B0aW9uLCBvcHQsIHZh
bHVlLCBwYXJzZXIpOgogICAgICAgICBzZWxmLnNjbSgpLmRyeXJ1biA9IFRydWUKZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5IGIvV2ViS2l0VG9v
bHMvU2NyaXB0cy9tb2R1bGVzL2J1aWxkc3RlcHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uZjIxNWYxYQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5CkBAIC0wLDAgKzEsNTAgQEAKKyMgQ29weXJpZ2h0IChD
KSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIAorIyBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjIAorIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorIyAKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorCitpbXBvcnQgb3MKKworZnJvbSBtb2R1bGVzLndlYmtpdGxhbmRpbmdzY3JpcHRzIGlt
cG9ydCBXZWJLaXRMYW5kaW5nU2NyaXB0cworZnJvbSBtb2R1bGVzLndlYmtpdHBvcnQgaW1wb3J0
IFdlYktpdFBvcnQKKworY2xhc3MgQnVpbGRTdGVwczoKKyAgICBkZWYgY2xlYW5fd29ya2luZ19k
aXJlY3Rvcnkoc2VsZiwgc2NtLCBvcHRpb25zLCBhbGxvd19sb2NhbF9jb21taXRzPUZhbHNlKToK
KyAgICAgICAgb3MuY2hkaXIoc2NtLmNoZWNrb3V0X3Jvb3QpCisgICAgICAgIGlmIG5vdCBhbGxv
d19sb2NhbF9jb21taXRzOgorICAgICAgICAgICAgc2NtLmVuc3VyZV9ub19sb2NhbF9jb21taXRz
KG9wdGlvbnMuZm9yY2VfY2xlYW4pCisgICAgICAgIGlmIG9wdGlvbnMuY2xlYW46CisgICAgICAg
ICAgICBzY20uZW5zdXJlX2NsZWFuX3dvcmtpbmdfZGlyZWN0b3J5KGZvcmNlX2NsZWFuPW9wdGlv
bnMuZm9yY2VfY2xlYW4pCisKKyAgICBkZWYgcnVuX3Rlc3RzKHNlbGYsIGxhdW5jaF9zYWZhcmks
IGZhaWxfZmFzdD1GYWxzZSwgcXVpZXQ9RmFsc2UsIHBvcnQ9V2ViS2l0UG9ydCk6CisgICAgICAg
IGFyZ3MgPSBwb3J0LnJ1bl93ZWJraXRfdGVzdHNfY29tbWFuZCgpCisgICAgICAgIGlmIG5vdCBs
YXVuY2hfc2FmYXJpOgorICAgICAgICAgICAgYXJncy5hcHBlbmQoIi0tbm8tbGF1bmNoLXNhZmFy
aSIpCisgICAgICAgIGlmIHF1aWV0OgorICAgICAgICAgICAgYXJncy5hcHBlbmQoIi0tcXVpZXQi
KQorICAgICAgICBpZiBmYWlsX2Zhc3Q6CisgICAgICAgICAgICBhcmdzLmFwcGVuZCgiLS1leGl0
LWFmdGVyLW4tZmFpbHVyZXM9MSIpCisgICAgICAgIFdlYktpdExhbmRpbmdTY3JpcHRzLnJ1bl9h
bmRfdGhyb3dfaWZfZmFpbChhcmdzKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9t
b2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVz
L2NvbW1hbmRzL2Rvd25sb2FkLnB5CmluZGV4IGQwZWIyNjUuLjE4MWM5NWMgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9kb3dubG9hZC5weQorKysgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHkKQEAgLTg3LDcg
Kzg3LDcgQEAgY2xhc3MgQXBwbHlBdHRhY2htZW50KENvbW1hbmQpOgogICAgICAgICBDb21tYW5k
Ll9faW5pdF9fKHNlbGYsICJBcHBseSBhbiBhdHRhY2htZW50IHRvIHRoZSBsb2NhbCB3b3JraW5n
IGRpcmVjdG9yeSIsICJBVFRBQ0hNRU5UX0lEIiwgb3B0aW9ucz1vcHRpb25zKQogCiAgICAgZGVm
IGV4ZWN1dGUoc2VsZiwgb3B0aW9ucywgYXJncywgdG9vbCk6Ci0gICAgICAgIFdlYktpdEFwcGx5
aW5nU2NyaXB0cy5zZXR1cF9mb3JfcGF0Y2hfYXBwbHkodG9vbC5zY20oKSwgb3B0aW9ucykKKyAg
ICAgICAgV2ViS2l0QXBwbHlpbmdTY3JpcHRzLnNldHVwX2Zvcl9wYXRjaF9hcHBseSh0b29sLCBv
cHRpb25zKQogICAgICAgICBhdHRhY2htZW50X2lkID0gYXJnc1swXQogICAgICAgICBhdHRhY2ht
ZW50ID0gdG9vbC5idWdzLmZldGNoX2F0dGFjaG1lbnQoYXR0YWNobWVudF9pZCkKICAgICAgICAg
V2ViS2l0QXBwbHlpbmdTY3JpcHRzLmFwcGx5X3BhdGNoZXNfd2l0aF9vcHRpb25zKHRvb2wuc2Nt
KCksIFthdHRhY2htZW50XSwgb3B0aW9ucykKQEAgLTEwMSw3ICsxMDEsNyBAQCBjbGFzcyBBcHBs
eVBhdGNoZXMoQ29tbWFuZCk6CiAgICAgICAgIENvbW1hbmQuX19pbml0X18oc2VsZiwgIkFwcGx5
IHJldmlld2VkIHBhdGNoZXMgZnJvbSBwcm92aWRlZCBidWdzIHRvIHRoZSBsb2NhbCB3b3JraW5n
IGRpcmVjdG9yeSIsICJCVUdJRCIsIG9wdGlvbnM9b3B0aW9ucykKIAogICAgIGRlZiBleGVjdXRl
KHNlbGYsIG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgotICAgICAgICBXZWJLaXRBcHBseWluZ1Njcmlw
dHMuc2V0dXBfZm9yX3BhdGNoX2FwcGx5KHRvb2wuc2NtKCksIG9wdGlvbnMpCisgICAgICAgIFdl
YktpdEFwcGx5aW5nU2NyaXB0cy5zZXR1cF9mb3JfcGF0Y2hfYXBwbHkodG9vbCwgb3B0aW9ucykK
ICAgICAgICAgYnVnX2lkID0gYXJnc1swXQogICAgICAgICBwYXRjaGVzID0gdG9vbC5idWdzLmZl
dGNoX3Jldmlld2VkX3BhdGNoZXNfZnJvbV9idWcoYnVnX2lkKQogICAgICAgICBXZWJLaXRBcHBs
eWluZ1NjcmlwdHMuYXBwbHlfcGF0Y2hlc193aXRoX29wdGlvbnModG9vbC5zY20oKSwgcGF0Y2hl
cywgb3B0aW9ucykKQEAgLTExNiwxMCArMTE2LDEwIEBAIGNsYXNzIFdlYktpdEFwcGx5aW5nU2Ny
aXB0czoKICAgICAgICAgXQogCiAgICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBzZXR1cF9mb3Jf
cGF0Y2hfYXBwbHkoc2NtLCBvcHRpb25zKToKLSAgICAgICAgV2ViS2l0TGFuZGluZ1NjcmlwdHMu
cHJlcGFyZV9jbGVhbl93b3JraW5nX2RpcmVjdG9yeShzY20sIG9wdGlvbnMsIGFsbG93X2xvY2Fs
X2NvbW1pdHM9VHJ1ZSkKKyAgICBkZWYgc2V0dXBfZm9yX3BhdGNoX2FwcGx5KHRvb2wsIG9wdGlv
bnMpOgorICAgICAgICB0b29sLnN0ZXBzLmNsZWFuX3dvcmtpbmdfZGlyZWN0b3J5KHRvb2wuc2Nt
KCksIG9wdGlvbnMsIGFsbG93X2xvY2FsX2NvbW1pdHM9VHJ1ZSkKICAgICAgICAgaWYgb3B0aW9u
cy51cGRhdGU6Ci0gICAgICAgICAgICBzY20udXBkYXRlX3dlYmtpdCgpCisgICAgICAgICAgICB0
b29sLnNjbSgpLnVwZGF0ZV93ZWJraXQoKQogCiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBh
cHBseV9wYXRjaGVzX3dpdGhfb3B0aW9ucyhzY20sIHBhdGNoZXMsIG9wdGlvbnMpOgpAQCAtMzky
LDcgKzM5Miw3IEBAIGNsYXNzIFJvbGxvdXQoQ29tbWFuZCk6CiAgICAgICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgICAgIGxvZygiRmFpbGVkIHRvIHBhcnNlIGJ1ZyBudW1iZXIgZnJvbSBkaWZm
LiAgTm8gYnVncyB3aWxsIGJlIHVwZGF0ZWQvcmVvcGVuZWQgYWZ0ZXIgdGhlIHJvbGxvdXQuIikK
IAotICAgICAgICBXZWJLaXRMYW5kaW5nU2NyaXB0cy5wcmVwYXJlX2NsZWFuX3dvcmtpbmdfZGly
ZWN0b3J5KHRvb2wuc2NtKCksIG9wdGlvbnMpCisgICAgICAgIHRvb2wuc3RlcHMuY2xlYW5fd29y
a2luZ19kaXJlY3RvcnkodG9vbC5zY20oKSwgb3B0aW9ucykKICAgICAgICAgdG9vbC5zY20oKS51
cGRhdGVfd2Via2l0KCkKICAgICAgICAgdG9vbC5zY20oKS5hcHBseV9yZXZlcnNlX2RpZmYocmV2
aXNpb24pCiAgICAgICAgIHNlbGYuX2NyZWF0ZV9jaGFuZ2Vsb2dzX2Zvcl9yZXZlcnQodG9vbC5z
Y20oKSwgcmV2aXNpb24pCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMv
bGFuZGluZ3NlcXVlbmNlLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2xhbmRpbmdz
ZXF1ZW5jZS5weQppbmRleCBlZjEyNzUzLi41MDg1MmJjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9TY3JpcHRzL21vZHVsZXMvbGFuZGluZ3NlcXVlbmNlLnB5CisrKyBiL1dlYktpdFRvb2xzL1Nj
cmlwdHMvbW9kdWxlcy9sYW5kaW5nc2VxdWVuY2UucHkKQEAgLTY4LDcgKzY4LDcgQEAgY2xhc3Mg
TGFuZGluZ1NlcXVlbmNlOgogICAgICAgICAgICAgV29ya1F1ZXVlLmV4aXRfYWZ0ZXJfaGFuZGxl
ZF9lcnJvcihlKQogCiAgICAgZGVmIGNsZWFuKHNlbGYpOgotICAgICAgICBXZWJLaXRMYW5kaW5n
U2NyaXB0cy5wcmVwYXJlX2NsZWFuX3dvcmtpbmdfZGlyZWN0b3J5KHNlbGYuX3Rvb2wuc2NtKCks
IHNlbGYuX29wdGlvbnMpCisgICAgICAgIHNlbGYuX3Rvb2wuc3RlcHMuY2xlYW5fd29ya2luZ19k
aXJlY3Rvcnkoc2VsZi5fdG9vbC5zY20oKSwgc2VsZi5fb3B0aW9ucykKIAogICAgIGRlZiB1cGRh
dGUoc2VsZik6CiAgICAgICAgIHNlbGYuX3Rvb2wuc2NtKCkudXBkYXRlX3dlYmtpdCgpCkBAIC04
NSw3ICs4NSw3IEBAIGNsYXNzIExhbmRpbmdTZXF1ZW5jZToKIAogICAgIGRlZiB0ZXN0KHNlbGYp
OgogICAgICAgICAjIFdoZW4gcnVubmluZyBub24taW50ZXJhY3RpdmVseSB3ZSBkb24ndCB3YW50
IHRvIGxhdW5jaCBTYWZhcmkgYW5kIHdlIHdhbnQgdG8gZXhpdCBhZnRlciB0aGUgZmlyc3QgZmFp
bHVyZS4KLSAgICAgICAgV2ViS2l0TGFuZGluZ1NjcmlwdHMucnVuX3dlYmtpdF90ZXN0cyhsYXVu
Y2hfc2FmYXJpPW5vdCBzZWxmLl9vcHRpb25zLm5vbl9pbnRlcmFjdGl2ZSwgZmFpbF9mYXN0PXNl
bGYuX29wdGlvbnMubm9uX2ludGVyYWN0aXZlLCBxdWlldD1zZWxmLl9vcHRpb25zLnF1aWV0LCBw
b3J0PXNlbGYuX3BvcnQpCisgICAgICAgIHNlbGYuX3Rvb2wucnVuX3Rlc3RzKGxhdW5jaF9zYWZh
cmk9bm90IHNlbGYuX29wdGlvbnMubm9uX2ludGVyYWN0aXZlLCBmYWlsX2Zhc3Q9c2VsZi5fb3B0
aW9ucy5ub25faW50ZXJhY3RpdmUsIHF1aWV0PXNlbGYuX29wdGlvbnMucXVpZXQsIHBvcnQ9c2Vs
Zi5fcG9ydCkKIAogICAgIGRlZiBjb21taXQoc2VsZik6CiAgICAgICAgIGNvbW1pdF9tZXNzYWdl
ID0gY29tbWl0X21lc3NhZ2VfZm9yX3RoaXNfY29tbWl0KHNlbGYuX3Rvb2wuc2NtKCkpCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvd2Via2l0bGFuZGluZ3NjcmlwdHMu
cHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvd2Via2l0bGFuZGluZ3NjcmlwdHMucHkK
aW5kZXggZTYyNDUwNS4uZmU0ZTI3MSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9t
b2R1bGVzL3dlYmtpdGxhbmRpbmdzY3JpcHRzLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMv
bW9kdWxlcy93ZWJraXRsYW5kaW5nc2NyaXB0cy5weQpAQCAtMTI5LDIxICsxMjksNCBAQCBjbGFz
cyBXZWJLaXRMYW5kaW5nU2NyaXB0czoKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBlcnJv
cigiQnVpbGRlcnMgYXQgJXMgYXJlIHJlZCwgcGxlYXNlIGRvIG5vdCBjb21taXQuICBQYXNzIC0t
aWdub3JlLWJ1aWxkZXJzIHRvIGJ5cGFzcyB0aGlzIGNoZWNrLiIgJSAoYnVpbGRib3QuYnVpbGRi
b3RfaG9zdCkpCiAKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgcnVuX3dlYmtpdF90ZXN0cyhj
bHMsIGxhdW5jaF9zYWZhcmksIGZhaWxfZmFzdD1GYWxzZSwgcXVpZXQ9RmFsc2UsIHBvcnQ9V2Vi
S2l0UG9ydCk6Ci0gICAgICAgIGFyZ3MgPSBwb3J0LnJ1bl93ZWJraXRfdGVzdHNfY29tbWFuZCgp
Ci0gICAgICAgIGlmIG5vdCBsYXVuY2hfc2FmYXJpOgotICAgICAgICAgICAgYXJncy5hcHBlbmQo
Ii0tbm8tbGF1bmNoLXNhZmFyaSIpCi0gICAgICAgIGlmIHF1aWV0OgotICAgICAgICAgICAgYXJn
cy5hcHBlbmQoIi0tcXVpZXQiKQotICAgICAgICBpZiBmYWlsX2Zhc3Q6Ci0gICAgICAgICAgICBh
cmdzLmFwcGVuZCgiLS1leGl0LWFmdGVyLW4tZmFpbHVyZXM9MSIpCi0gICAgICAgIGNscy5ydW5f
YW5kX3Rocm93X2lmX2ZhaWwoYXJncykKIAotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgcHJl
cGFyZV9jbGVhbl93b3JraW5nX2RpcmVjdG9yeShzY20sIG9wdGlvbnMsIGFsbG93X2xvY2FsX2Nv
bW1pdHM9RmFsc2UpOgotICAgICAgICBvcy5jaGRpcihzY20uY2hlY2tvdXRfcm9vdCkKLSAgICAg
ICAgaWYgbm90IGFsbG93X2xvY2FsX2NvbW1pdHM6Ci0gICAgICAgICAgICBzY20uZW5zdXJlX25v
X2xvY2FsX2NvbW1pdHMob3B0aW9ucy5mb3JjZV9jbGVhbikKLSAgICAgICAgaWYgb3B0aW9ucy5j
bGVhbjoKLSAgICAgICAgICAgIHNjbS5lbnN1cmVfY2xlYW5fd29ya2luZ19kaXJlY3RvcnkoZm9y
Y2VfY2xlYW49b3B0aW9ucy5mb3JjZV9jbGVhbikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43902</attachid>
            <date>2009-11-26 00:41:27 -0800</date>
            <delta_ts>2009-11-26 23:55:38 -0800</delta_ts>
            <desc>step 2</desc>
            <filename>bug-31904-20091126004126.patch</filename>
            <type>text/plain</type>
            <size>4698</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA2YWEwYjQ2Li45ZmQ2YjIwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDktMTEt
MjYgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbYnp0XSBLaWxsIFdlYktpdExhbmRpbmdTY3Jp
cHRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTkw
NAorCisgICAgICAgIFN0ZXAgMjogS2lsbCBlbnN1cmVfYnVpbGRlcnNfYXJlX2dyZWVuLgorCisg
ICAgICAgICogU2NyaXB0cy9tb2R1bGVzL2J1aWxkc3RlcHMucHk6CisgICAgICAgICogU2NyaXB0
cy9tb2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkLnB5OgorICAgICAgICAqIFNjcmlwdHMvbW9kdWxl
cy9sYW5kaW5nc2VxdWVuY2UucHk6CisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL3dlYmtpdGxh
bmRpbmdzY3JpcHRzLnB5OgorCiAyMDA5LTExLTI1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvYnVpbGRzdGVwcy5weSBiL1dlYktpdFRvb2xz
L1NjcmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5CmluZGV4IGYyMTVmMWEuLjUxZjRmMWIgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5CisrKyBi
L1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5CkBAIC0yOCw2ICsyOCw3
IEBACiAKIGltcG9ydCBvcwogCitmcm9tIG1vZHVsZXMubG9nZ2luZyBpbXBvcnQgZXJyb3IKIGZy
b20gbW9kdWxlcy53ZWJraXRsYW5kaW5nc2NyaXB0cyBpbXBvcnQgV2ViS2l0TGFuZGluZ1Njcmlw
dHMKIGZyb20gbW9kdWxlcy53ZWJraXRwb3J0IGltcG9ydCBXZWJLaXRQb3J0CiAKQEAgLTQ4LDMg
KzQ5LDggQEAgY2xhc3MgQnVpbGRTdGVwczoKICAgICAgICAgaWYgZmFpbF9mYXN0OgogICAgICAg
ICAgICAgYXJncy5hcHBlbmQoIi0tZXhpdC1hZnRlci1uLWZhaWx1cmVzPTEiKQogICAgICAgICBX
ZWJLaXRMYW5kaW5nU2NyaXB0cy5ydW5fYW5kX3Rocm93X2lmX2ZhaWwoYXJncykKKworICAgIGRl
ZiBlbnN1cmVfYnVpbGRlcnNfYXJlX2dyZWVuKHNlbGYsIGJ1aWxkYm90LCBvcHRpb25zKToKKyAg
ICAgICAgaWYgbm90IG9wdGlvbnMuY2hlY2tfYnVpbGRlcnMgb3IgYnVpbGRib3QuY29yZV9idWls
ZGVyc19hcmVfZ3JlZW4oKToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBlcnJvcigiQnVp
bGRlcnMgYXQgJXMgYXJlIHJlZCwgcGxlYXNlIGRvIG5vdCBjb21taXQuICBQYXNzIC0taWdub3Jl
LWJ1aWxkZXJzIHRvIGJ5cGFzcyB0aGlzIGNoZWNrLiIgJSAoYnVpbGRib3QuYnVpbGRib3RfaG9z
dCkpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvZG93
bmxvYWQucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQu
cHkKaW5kZXggMTgxYzk1Yy4uOWMxNTJmMCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0
cy9tb2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMv
bW9kdWxlcy9jb21tYW5kcy9kb3dubG9hZC5weQpAQCAtMTk4LDcgKzE5OCw3IEBAIGNsYXNzIExh
bmREaWZmKENvbW1hbmQpOgogICAgIGRlZiBleGVjdXRlKHNlbGYsIG9wdGlvbnMsIGFyZ3MsIHRv
b2wpOgogICAgICAgICBidWdfaWQgPSAoYXJncyBhbmQgYXJnc1swXSkgb3IgcGFyc2VfYnVnX2lk
KHRvb2wuc2NtKCkuY3JlYXRlX3BhdGNoKCkpCiAKLSAgICAgICAgV2ViS2l0TGFuZGluZ1Njcmlw
dHMuZW5zdXJlX2J1aWxkZXJzX2FyZV9ncmVlbih0b29sLmJ1aWxkYm90LCBvcHRpb25zKQorICAg
ICAgICB0b29sLnN0ZXBzLmVuc3VyZV9idWlsZGVyc19hcmVfZ3JlZW4odG9vbC5idWlsZGJvdCwg
b3B0aW9ucykKIAogICAgICAgICBvcy5jaGRpcih0b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3QpCiAg
ICAgICAgIHNlbGYudXBkYXRlX2NoYW5nZWxvZ3Nfd2l0aF9yZXZpZXdlcihvcHRpb25zLnJldmll
d2VyLCBidWdfaWQsIHRvb2wpCkBAIC0zMDAsNyArMzAwLDcgQEAgY2xhc3MgQnVpbGRBdHRhY2ht
ZW50KEFic3RyYWN0UGF0Y2hQcm9jZXNzaW5nQ29tbWFuZCk6CiAKICAgICBkZWYgX3ByZXBhcmVf
dG9fcHJvY2VzcyhzZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKICAgICAgICAgIyBDaGVjayB0
aGUgdHJlZSBzdGF0dXMgZmlyc3Qgc28gd2UgY2FuIGZhaWwgZWFybHkuCi0gICAgICAgIFdlYktp
dExhbmRpbmdTY3JpcHRzLmVuc3VyZV9idWlsZGVyc19hcmVfZ3JlZW4odG9vbC5idWlsZGJvdCwg
b3B0aW9ucykKKyAgICAgICAgdG9vbC5zdGVwcy5lbnN1cmVfYnVpbGRlcnNfYXJlX2dyZWVuKHRv
b2wuYnVpbGRib3QsIG9wdGlvbnMpCiAKICAgICBkZWYgX3Byb2Nlc3NfcGF0Y2goc2VsZiwgcGF0
Y2gsIG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgogICAgICAgICBzZXF1ZW5jZSA9IEJ1aWxkQXR0YWNo
bWVudFNlcXVlbmNlKHBhdGNoLCBvcHRpb25zLCB0b29sKQpAQCAtMzE2LDcgKzMxNiw3IEBAIGNs
YXNzIEFic3RyYWN0UGF0Y2hMYW5kaW5nQ29tbWFuZChBYnN0cmFjdFBhdGNoUHJvY2Vzc2luZ0Nv
bW1hbmQpOgogCiAgICAgZGVmIF9wcmVwYXJlX3RvX3Byb2Nlc3Moc2VsZiwgb3B0aW9ucywgYXJn
cywgdG9vbCk6CiAgICAgICAgICMgQ2hlY2sgdGhlIHRyZWUgc3RhdHVzIGZpcnN0IHNvIHdlIGNh
biBmYWlsIGVhcmx5LgotICAgICAgICBXZWJLaXRMYW5kaW5nU2NyaXB0cy5lbnN1cmVfYnVpbGRl
cnNfYXJlX2dyZWVuKHRvb2wuYnVpbGRib3QsIG9wdGlvbnMpCisgICAgICAgIHRvb2wuc3RlcHMu
ZW5zdXJlX2J1aWxkZXJzX2FyZV9ncmVlbih0b29sLmJ1aWxkYm90LCBvcHRpb25zKQogCiAgICAg
ZGVmIF9wcm9jZXNzX3BhdGNoKHNlbGYsIHBhdGNoLCBvcHRpb25zLCBhcmdzLCB0b29sKToKICAg
ICAgICAgc2VxdWVuY2UgPSBDb25kaXRpb25hbExhbmRpbmdTZXF1ZW5jZShwYXRjaCwgb3B0aW9u
cywgdG9vbCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9sYW5kaW5n
c2VxdWVuY2UucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvbGFuZGluZ3NlcXVlbmNl
LnB5CmluZGV4IDUwODUyYmMuLjlhNWQ0NTMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvbW9kdWxlcy9sYW5kaW5nc2VxdWVuY2UucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9t
b2R1bGVzL2xhbmRpbmdzZXF1ZW5jZS5weQpAQCAtODAsNyArODAsNyBAQCBjbGFzcyBMYW5kaW5n
U2VxdWVuY2U6CiAgICAgZGVmIGJ1aWxkKHNlbGYpOgogICAgICAgICAjIE1ha2Ugc3VyZSB0aGUg
dHJlZSBpcyBzdGlsbCBncmVlbiBhZnRlciB1cGRhdGluZywgYmVmb3JlIGJ1aWxkaW5nIHRoaXMg
cGF0Y2guCiAgICAgICAgICMgVGhlIGZpcnN0IHBhdGNoIGVuZHMgdXAgY2hlY2tpbmcgdHJlZSBz
dGF0dXMgdHdpY2UsIGJ1dCB0aGF0J3MgT0suCi0gICAgICAgIFdlYktpdExhbmRpbmdTY3JpcHRz
LmVuc3VyZV9idWlsZGVyc19hcmVfZ3JlZW4oc2VsZi5fdG9vbC5idWlsZGJvdCwgc2VsZi5fb3B0
aW9ucykKKyAgICAgICAgc2VsZi5fdG9vbC5zdGVwcy5lbnN1cmVfYnVpbGRlcnNfYXJlX2dyZWVu
KHNlbGYuX3Rvb2wuYnVpbGRib3QsIHNlbGYuX29wdGlvbnMpCiAgICAgICAgIFdlYktpdExhbmRp
bmdTY3JpcHRzLmJ1aWxkX3dlYmtpdChxdWlldD1zZWxmLl9vcHRpb25zLnF1aWV0LCBwb3J0PXNl
bGYuX3BvcnQpCiAKICAgICBkZWYgdGVzdChzZWxmKToKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvbW9kdWxlcy93ZWJraXRsYW5kaW5nc2NyaXB0cy5weSBiL1dlYktpdFRvb2xzL1Nj
cmlwdHMvbW9kdWxlcy93ZWJraXRsYW5kaW5nc2NyaXB0cy5weQppbmRleCBmZTRlMjcxLi4yNDUy
NTJlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvd2Via2l0bGFuZGlu
Z3NjcmlwdHMucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3dlYmtpdGxhbmRp
bmdzY3JpcHRzLnB5CkBAIC0xMjMsMTAgKzEyMyw1IEBAIGNsYXNzIFdlYktpdExhbmRpbmdTY3Jp
cHRzOgogICAgICAgICBsb2coIkJ1aWxkaW5nIFdlYktpdCIpCiAgICAgICAgIGNscy5ydW5fYW5k
X3Rocm93X2lmX2ZhaWwocG9ydC5idWlsZF93ZWJraXRfY29tbWFuZCgpLCBxdWlldCkKIAotICAg
IEBzdGF0aWNtZXRob2QKLSAgICBkZWYgZW5zdXJlX2J1aWxkZXJzX2FyZV9ncmVlbihidWlsZGJv
dCwgb3B0aW9ucyk6Ci0gICAgICAgIGlmIG5vdCBvcHRpb25zLmNoZWNrX2J1aWxkZXJzIG9yIGJ1
aWxkYm90LmNvcmVfYnVpbGRlcnNfYXJlX2dyZWVuKCk6Ci0gICAgICAgICAgICByZXR1cm4KLSAg
ICAgICAgZXJyb3IoIkJ1aWxkZXJzIGF0ICVzIGFyZSByZWQsIHBsZWFzZSBkbyBub3QgY29tbWl0
LiAgUGFzcyAtLWlnbm9yZS1idWlsZGVycyB0byBieXBhc3MgdGhpcyBjaGVjay4iICUgKGJ1aWxk
Ym90LmJ1aWxkYm90X2hvc3QpKQogCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43903</attachid>
            <date>2009-11-26 00:41:31 -0800</date>
            <delta_ts>2009-11-26 23:56:05 -0800</delta_ts>
            <desc>step 3</desc>
            <filename>bug-31904-20091126004129.patch</filename>
            <type>text/plain</type>
            <size>2862</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA5ZmQ2YjIwLi4wNWNjOTk1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC01LDYgKzUsMTkgQEAKICAgICAgICAg
W2J6dF0gS2lsbCBXZWJLaXRMYW5kaW5nU2NyaXB0cwogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE5MDQKIAorICAgICAgICBTdGVwIDM6IEtpbGwgYnVp
bGRfd2Via2l0LgorCisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL2J1aWxkc3RlcHMucHk6Cisg
ICAgICAgICogU2NyaXB0cy9tb2R1bGVzL2xhbmRpbmdzZXF1ZW5jZS5weToKKyAgICAgICAgKiBT
Y3JpcHRzL21vZHVsZXMvd2Via2l0bGFuZGluZ3NjcmlwdHMucHk6CisKKzIwMDktMTEtMjYgIEFk
YW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbYnp0XSBLaWxsIFdlYktpdExhbmRpbmdTY3JpcHRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTkwNAorCiAg
ICAgICAgIFN0ZXAgMjogS2lsbCBlbnN1cmVfYnVpbGRlcnNfYXJlX2dyZWVuLgogCiAgICAgICAg
ICogU2NyaXB0cy9tb2R1bGVzL2J1aWxkc3RlcHMucHk6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9TY3JpcHRzL21vZHVsZXMvYnVpbGRzdGVwcy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9k
dWxlcy9idWlsZHN0ZXBzLnB5CmluZGV4IDUxZjRmMWIuLjlkNTA1MmUgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5CisrKyBiL1dlYktpdFRvb2xz
L1NjcmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5CkBAIC01NCwzICs1NCw3IEBAIGNsYXNzIEJ1
aWxkU3RlcHM6CiAgICAgICAgIGlmIG5vdCBvcHRpb25zLmNoZWNrX2J1aWxkZXJzIG9yIGJ1aWxk
Ym90LmNvcmVfYnVpbGRlcnNfYXJlX2dyZWVuKCk6CiAgICAgICAgICAgICByZXR1cm4KICAgICAg
ICAgZXJyb3IoIkJ1aWxkZXJzIGF0ICVzIGFyZSByZWQsIHBsZWFzZSBkbyBub3QgY29tbWl0LiAg
UGFzcyAtLWlnbm9yZS1idWlsZGVycyB0byBieXBhc3MgdGhpcyBjaGVjay4iICUgKGJ1aWxkYm90
LmJ1aWxkYm90X2hvc3QpKQorCisgICAgZGVmIGJ1aWxkX3dlYmtpdChzZWxmLCBxdWlldD1GYWxz
ZSwgcG9ydD1XZWJLaXRQb3J0KToKKyAgICAgICAgbG9nKCJCdWlsZGluZyBXZWJLaXQiKQorICAg
ICAgICBXZWJLaXRMYW5kaW5nU2NyaXB0cy5ydW5fYW5kX3Rocm93X2lmX2ZhaWwocG9ydC5idWls
ZF93ZWJraXRfY29tbWFuZCgpLCBxdWlldCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvbW9kdWxlcy9sYW5kaW5nc2VxdWVuY2UucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVs
ZXMvbGFuZGluZ3NlcXVlbmNlLnB5CmluZGV4IDlhNWQ0NTMuLmZiZjVlOTUgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9sYW5kaW5nc2VxdWVuY2UucHkKKysrIGIvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2xhbmRpbmdzZXF1ZW5jZS5weQpAQCAtODEsNyArODEs
NyBAQCBjbGFzcyBMYW5kaW5nU2VxdWVuY2U6CiAgICAgICAgICMgTWFrZSBzdXJlIHRoZSB0cmVl
IGlzIHN0aWxsIGdyZWVuIGFmdGVyIHVwZGF0aW5nLCBiZWZvcmUgYnVpbGRpbmcgdGhpcyBwYXRj
aC4KICAgICAgICAgIyBUaGUgZmlyc3QgcGF0Y2ggZW5kcyB1cCBjaGVja2luZyB0cmVlIHN0YXR1
cyB0d2ljZSwgYnV0IHRoYXQncyBPSy4KICAgICAgICAgc2VsZi5fdG9vbC5zdGVwcy5lbnN1cmVf
YnVpbGRlcnNfYXJlX2dyZWVuKHNlbGYuX3Rvb2wuYnVpbGRib3QsIHNlbGYuX29wdGlvbnMpCi0g
ICAgICAgIFdlYktpdExhbmRpbmdTY3JpcHRzLmJ1aWxkX3dlYmtpdChxdWlldD1zZWxmLl9vcHRp
b25zLnF1aWV0LCBwb3J0PXNlbGYuX3BvcnQpCisgICAgICAgIHNlbGYuX3Rvb2wuc3RlcHMuYnVp
bGRfd2Via2l0KHF1aWV0PXNlbGYuX29wdGlvbnMucXVpZXQsIHBvcnQ9c2VsZi5fcG9ydCkKIAog
ICAgIGRlZiB0ZXN0KHNlbGYpOgogICAgICAgICAjIFdoZW4gcnVubmluZyBub24taW50ZXJhY3Rp
dmVseSB3ZSBkb24ndCB3YW50IHRvIGxhdW5jaCBTYWZhcmkgYW5kIHdlIHdhbnQgdG8gZXhpdCBh
ZnRlciB0aGUgZmlyc3QgZmFpbHVyZS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
bW9kdWxlcy93ZWJraXRsYW5kaW5nc2NyaXB0cy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9k
dWxlcy93ZWJraXRsYW5kaW5nc2NyaXB0cy5weQppbmRleCAyNDUyNTJlLi5lMGYzYTEyIDEwMDY0
NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvd2Via2l0bGFuZGluZ3NjcmlwdHMu
cHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3dlYmtpdGxhbmRpbmdzY3JpcHRz
LnB5CkBAIC0xMTgsMTAgKzExOCw2IEBAIGNsYXNzIFdlYktpdExhbmRpbmdTY3JpcHRzOgogICAg
ICAgICBsb2coIlJ1bm5pbmcgJXMiICUgc2NyaXB0X25hbWUpCiAgICAgICAgIGNscy5ydW5fYW5k
X3Rocm93X2lmX2ZhaWwocG9ydC5zY3JpcHRfcGF0aChzY3JpcHRfbmFtZSksIHF1aWV0KQogCi0g
ICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIGJ1aWxkX3dlYmtpdChjbHMsIHF1aWV0PUZhbHNlLCBw
b3J0PVdlYktpdFBvcnQpOgotICAgICAgICBsb2coIkJ1aWxkaW5nIFdlYktpdCIpCi0gICAgICAg
IGNscy5ydW5fYW5kX3Rocm93X2lmX2ZhaWwocG9ydC5idWlsZF93ZWJraXRfY29tbWFuZCgpLCBx
dWlldCkKIAogCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43904</attachid>
            <date>2009-11-26 00:41:34 -0800</date>
            <delta_ts>2009-11-26 23:56:31 -0800</delta_ts>
            <desc>Step 4</desc>
            <filename>bug-31904-20091126004133.patch</filename>
            <type>text/plain</type>
            <size>4632</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAwNWNjOTk1Li5mMjk2ODVkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC01LDYgKzUsMTkgQEAKICAgICAgICAg
W2J6dF0gS2lsbCBXZWJLaXRMYW5kaW5nU2NyaXB0cwogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE5MDQKIAorICAgICAgICBTdGVwIDQ6IEtpbGwgcnVu
X3dlYmtpdF9zY3JpcHQuCisKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvYnVpbGRzdGVwcy5w
eToKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHk6CisgICAg
ICAgICogU2NyaXB0cy9tb2R1bGVzL3dlYmtpdGxhbmRpbmdzY3JpcHRzLnB5OgorCisyMDA5LTEx
LTI2ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2J6dF0gS2lsbCBXZWJLaXRMYW5kaW5nU2Ny
aXB0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE5
MDQKKwogICAgICAgICBTdGVwIDM6IEtpbGwgYnVpbGRfd2Via2l0LgogCiAgICAgICAgICogU2Ny
aXB0cy9tb2R1bGVzL2J1aWxkc3RlcHMucHk6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3Jp
cHRzL21vZHVsZXMvYnVpbGRzdGVwcy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9i
dWlsZHN0ZXBzLnB5CmluZGV4IDlkNTA1MmUuLjEzYTU3NzcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5CisrKyBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5CkBAIC0yOCwxMSArMjgsMTggQEAKIAogaW1wb3J0IG9z
CiAKLWZyb20gbW9kdWxlcy5sb2dnaW5nIGltcG9ydCBlcnJvcgorZnJvbSBtb2R1bGVzLmxvZ2dp
bmcgaW1wb3J0IGxvZywgZXJyb3IKIGZyb20gbW9kdWxlcy53ZWJraXRsYW5kaW5nc2NyaXB0cyBp
bXBvcnQgV2ViS2l0TGFuZGluZ1NjcmlwdHMKIGZyb20gbW9kdWxlcy53ZWJraXRwb3J0IGltcG9y
dCBXZWJLaXRQb3J0CiAKIGNsYXNzIEJ1aWxkU3RlcHM6CisgICAgZGVmIF9ydW5fc2NyaXB0KGNs
cywgc2NyaXB0X25hbWUsIHF1aWV0PUZhbHNlLCBwb3J0PVdlYktpdFBvcnQpOgorICAgICAgICBs
b2coIlJ1bm5pbmcgJXMiICUgc2NyaXB0X25hbWUpCisgICAgICAgIFdlYktpdExhbmRpbmdTY3Jp
cHRzLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbChwb3J0LnNjcmlwdF9wYXRoKHNjcmlwdF9uYW1lKSwg
cXVpZXQpCisKKyAgICBkZWYgcHJlcGFyZV9jaGFuZ2Vsb2coc2VsZik6CisgICAgICAgIHNlbGYu
cnVuX3NjcmlwdCgicHJlcGFyZS1DaGFuZ2VMb2ciKQorCiAgICAgZGVmIGNsZWFuX3dvcmtpbmdf
ZGlyZWN0b3J5KHNlbGYsIHNjbSwgb3B0aW9ucywgYWxsb3dfbG9jYWxfY29tbWl0cz1GYWxzZSk6
CiAgICAgICAgIG9zLmNoZGlyKHNjbS5jaGVja291dF9yb290KQogICAgICAgICBpZiBub3QgYWxs
b3dfbG9jYWxfY29tbWl0czoKQEAgLTU4LDMgKzY1LDcgQEAgY2xhc3MgQnVpbGRTdGVwczoKICAg
ICBkZWYgYnVpbGRfd2Via2l0KHNlbGYsIHF1aWV0PUZhbHNlLCBwb3J0PVdlYktpdFBvcnQpOgog
ICAgICAgICBsb2coIkJ1aWxkaW5nIFdlYktpdCIpCiAgICAgICAgIFdlYktpdExhbmRpbmdTY3Jp
cHRzLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbChwb3J0LmJ1aWxkX3dlYmtpdF9jb21tYW5kKCksIHF1
aWV0KQorCisgICAgZGVmIGNoZWNrX3N0eWxlKHNlbGYpOgorICAgICAgICBzZWxmLl9ydW5fc2Ny
aXB0KCJjaGVjay13ZWJraXQtc3R5bGUiKQorCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3Jp
cHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21v
ZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHkKaW5kZXggOWMxNTJmMC4uZDk4NmUyOCAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkLnB5Cisr
KyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9kb3dubG9hZC5weQpAQCAt
MjU0LDcgKzI1NCw3IEBAIGNsYXNzIENoZWNrU3R5bGVTZXF1ZW5jZShMYW5kaW5nU2VxdWVuY2Up
OgogCiAgICAgZGVmIGJ1aWxkKHNlbGYpOgogICAgICAgICAjIEluc3RlYWQgb2YgYnVpbGRpbmcs
IHdlIGNoZWNrIHN0eWxlLgotICAgICAgICBXZWJLaXRMYW5kaW5nU2NyaXB0cy5ydW5fd2Via2l0
X3NjcmlwdCgiY2hlY2std2Via2l0LXN0eWxlIikKKyAgICAgICAgc2VsZi5fdG9vbC5zdGVwcy5j
aGVja19zdHlsZSgpCiAKIAogY2xhc3MgQ2hlY2tTdHlsZShBYnN0cmFjdFBhdGNoUHJvY2Vzc2lu
Z0NvbW1hbmQpOgpAQCAtMzU5LDE0ICszNTksMTQgQEAgY2xhc3MgUm9sbG91dChDb21tYW5kKToK
ICAgICAgICAgQ29tbWFuZC5fX2luaXRfXyhzZWxmLCAiUmV2ZXJ0IHRoZSBnaXZlbiByZXZpc2lv
biBpbiB0aGUgd29ya2luZyBjb3B5IGFuZCBvcHRpb25hbGx5IGNvbW1pdCB0aGUgcmV2ZXJ0IGFu
ZCByZS1vcGVuIHRoZSBvcmlnaW5hbCBidWciLCAiUkVWSVNJT04gW0JVR0lEXSIsIG9wdGlvbnM9
b3B0aW9ucykKIAogICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX2NyZWF0ZV9jaGFuZ2Vsb2dz
X2Zvcl9yZXZlcnQoc2NtLCByZXZpc2lvbik6CisgICAgZGVmIF9jcmVhdGVfY2hhbmdlbG9nc19m
b3JfcmV2ZXJ0KHRvb2wsIHJldmlzaW9uKToKICAgICAgICAgIyBGaXJzdCwgZGlzY2FyZCB0aGUg
Q2hhbmdlTG9nIGNoYW5nZXMgZnJvbSB0aGUgcm9sbG91dC4KLSAgICAgICAgY2hhbmdlbG9nX3Bh
dGhzID0gc2NtLm1vZGlmaWVkX2NoYW5nZWxvZ3MoKQotICAgICAgICBzY20ucmV2ZXJ0X2ZpbGVz
KGNoYW5nZWxvZ19wYXRocykKKyAgICAgICAgY2hhbmdlbG9nX3BhdGhzID0gdG9vbC5zY20oKS5t
b2RpZmllZF9jaGFuZ2Vsb2dzKCkKKyAgICAgICAgdG9vbC5zY20oKS5yZXZlcnRfZmlsZXMoY2hh
bmdlbG9nX3BhdGhzKQogCiAgICAgICAgICMgU2Vjb25kLCBtYWtlIG5ldyBDaGFuZ2VMb2cgZW50
cmllcyBmb3IgdGhpcyByb2xsb3V0LgogICAgICAgICAjIFRoaXMgY291bGQgbW92ZSB0byBwcmVw
YXJlLUNoYW5nZUxvZyBieSBhZGRpbmcgYSAtLXJldmVydD0gb3B0aW9uLgotICAgICAgICBXZWJL
aXRMYW5kaW5nU2NyaXB0cy5ydW5fd2Via2l0X3NjcmlwdCgicHJlcGFyZS1DaGFuZ2VMb2ciKQor
ICAgICAgICB0b29sLnN0ZXBzLnByZXBhcmVfY2hhbmdlbG9nKCkKICAgICAgICAgZm9yIGNoYW5n
ZWxvZ19wYXRoIGluIGNoYW5nZWxvZ19wYXRoczoKICAgICAgICAgICAgIENoYW5nZUxvZyhjaGFu
Z2Vsb2dfcGF0aCkudXBkYXRlX2Zvcl9yZXZlcnQocmV2aXNpb24pCiAKQEAgLTM5NSw3ICszOTUs
NyBAQCBjbGFzcyBSb2xsb3V0KENvbW1hbmQpOgogICAgICAgICB0b29sLnN0ZXBzLmNsZWFuX3dv
cmtpbmdfZGlyZWN0b3J5KHRvb2wuc2NtKCksIG9wdGlvbnMpCiAgICAgICAgIHRvb2wuc2NtKCku
dXBkYXRlX3dlYmtpdCgpCiAgICAgICAgIHRvb2wuc2NtKCkuYXBwbHlfcmV2ZXJzZV9kaWZmKHJl
dmlzaW9uKQotICAgICAgICBzZWxmLl9jcmVhdGVfY2hhbmdlbG9nc19mb3JfcmV2ZXJ0KHRvb2wu
c2NtKCksIHJldmlzaW9uKQorICAgICAgICBzZWxmLl9jcmVhdGVfY2hhbmdlbG9nc19mb3JfcmV2
ZXJ0KHRvb2wsIHJldmlzaW9uKQogCiAgICAgICAgICMgRklYTUU6IEZ1bGx5IGF1dG9tYXRlZCBy
b2xsb3V0IGlzIG5vdCAxMDAlIGlkaW90LXByb29mIHlldCwgc28gZm9yIG5vdyBqdXN0IGxvZyB3
aXRoIGluc3RydWN0aW9ucyBvbiBob3cgdG8gY29tcGxldGUgdGhlIHJvbGxvdXQuCiAgICAgICAg
ICMgT25jZSB3ZSB0cnVzdCByb2xsb3V0IHdlIHdpbGwgcmVtb3ZlIHRoaXMgb3B0aW9uLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3dlYmtpdGxhbmRpbmdzY3JpcHRz
LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3dlYmtpdGxhbmRpbmdzY3JpcHRzLnB5
CmluZGV4IGUwZjNhMTIuLjI0OTM1OTMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
bW9kdWxlcy93ZWJraXRsYW5kaW5nc2NyaXB0cy5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRz
L21vZHVsZXMvd2Via2l0bGFuZGluZ3NjcmlwdHMucHkKQEAgLTExMywxMSArMTEzLDUgQEAgY2xh
c3MgV2ViS2l0TGFuZGluZ1NjcmlwdHM6CiAgICAgICAgIGlmIGV4aXRfY29kZToKICAgICAgICAg
ICAgIHJhaXNlIFNjcmlwdEVycm9yKHNjcmlwdF9hcmdzPWFyZ3MsIGV4aXRfY29kZT1leGl0X2Nv
ZGUsIG91dHB1dD1jaGlsZF9vdXRwdXQpCiAKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgcnVu
X3dlYmtpdF9zY3JpcHQoY2xzLCBzY3JpcHRfbmFtZSwgcXVpZXQ9RmFsc2UsIHBvcnQ9V2ViS2l0
UG9ydCk6Ci0gICAgICAgIGxvZygiUnVubmluZyAlcyIgJSBzY3JpcHRfbmFtZSkKLSAgICAgICAg
Y2xzLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbChwb3J0LnNjcmlwdF9wYXRoKHNjcmlwdF9uYW1lKSwg
cXVpZXQpCi0KLQogCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43905</attachid>
            <date>2009-11-26 00:41:38 -0800</date>
            <delta_ts>2009-11-26 23:56:59 -0800</delta_ts>
            <desc>Step 5</desc>
            <filename>bug-31904-20091126004137.patch</filename>
            <type>text/plain</type>
            <size>8433</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBmMjk2ODVkLi5mMjM3ZDViIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC01LDYgKzUsMTkgQEAKICAgICAgICAg
W2J6dF0gS2lsbCBXZWJLaXRMYW5kaW5nU2NyaXB0cwogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE5MDQKIAorICAgICAgICBTdGVwIDU6IEtpbGwgcnVu
X2FuZF90aHJvd19pZl9mYWlsLgorCisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL2J1aWxkc3Rl
cHMucHk6CisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL3Byb2Nlc3N1dGlscy5weTogQWRkZWQu
CisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL3dlYmtpdGxhbmRpbmdzY3JpcHRzLnB5OgorCisy
MDA5LTExLTI2ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2J6dF0gS2lsbCBXZWJLaXRMYW5k
aW5nU2NyaXB0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzE5MDQKKwogICAgICAgICBTdGVwIDQ6IEtpbGwgcnVuX3dlYmtpdF9zY3JpcHQuCiAKICAg
ICAgICAgKiBTY3JpcHRzL21vZHVsZXMvYnVpbGRzdGVwcy5weToKZGlmZiAtLWdpdCBhL1dlYktp
dFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy9tb2R1bGVzL2J1aWxkc3RlcHMucHkKaW5kZXggMTNhNTc3Ny4uMDdkYzYzZCAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2J1aWxkc3RlcHMucHkKKysrIGIvV2ViS2l0
VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2J1aWxkc3RlcHMucHkKQEAgLTI5LDEzICsyOSwxNCBAQAog
aW1wb3J0IG9zCiAKIGZyb20gbW9kdWxlcy5sb2dnaW5nIGltcG9ydCBsb2csIGVycm9yCitmcm9t
IG1vZHVsZXMucHJvY2Vzc3V0aWxzIGltcG9ydCBydW5fYW5kX3Rocm93X2lmX2ZhaWwKIGZyb20g
bW9kdWxlcy53ZWJraXRsYW5kaW5nc2NyaXB0cyBpbXBvcnQgV2ViS2l0TGFuZGluZ1NjcmlwdHMK
IGZyb20gbW9kdWxlcy53ZWJraXRwb3J0IGltcG9ydCBXZWJLaXRQb3J0CiAKIGNsYXNzIEJ1aWxk
U3RlcHM6CiAgICAgZGVmIF9ydW5fc2NyaXB0KGNscywgc2NyaXB0X25hbWUsIHF1aWV0PUZhbHNl
LCBwb3J0PVdlYktpdFBvcnQpOgogICAgICAgICBsb2coIlJ1bm5pbmcgJXMiICUgc2NyaXB0X25h
bWUpCi0gICAgICAgIFdlYktpdExhbmRpbmdTY3JpcHRzLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbChw
b3J0LnNjcmlwdF9wYXRoKHNjcmlwdF9uYW1lKSwgcXVpZXQpCisgICAgICAgIHJ1bl9hbmRfdGhy
b3dfaWZfZmFpbChwb3J0LnNjcmlwdF9wYXRoKHNjcmlwdF9uYW1lKSwgcXVpZXQpCiAKICAgICBk
ZWYgcHJlcGFyZV9jaGFuZ2Vsb2coc2VsZik6CiAgICAgICAgIHNlbGYucnVuX3NjcmlwdCgicHJl
cGFyZS1DaGFuZ2VMb2ciKQpAQCAtNTUsNyArNTYsNyBAQCBjbGFzcyBCdWlsZFN0ZXBzOgogICAg
ICAgICAgICAgYXJncy5hcHBlbmQoIi0tcXVpZXQiKQogICAgICAgICBpZiBmYWlsX2Zhc3Q6CiAg
ICAgICAgICAgICBhcmdzLmFwcGVuZCgiLS1leGl0LWFmdGVyLW4tZmFpbHVyZXM9MSIpCi0gICAg
ICAgIFdlYktpdExhbmRpbmdTY3JpcHRzLnJ1bl9hbmRfdGhyb3dfaWZfZmFpbChhcmdzKQorICAg
ICAgICBydW5fYW5kX3Rocm93X2lmX2ZhaWwoYXJncykKIAogICAgIGRlZiBlbnN1cmVfYnVpbGRl
cnNfYXJlX2dyZWVuKHNlbGYsIGJ1aWxkYm90LCBvcHRpb25zKToKICAgICAgICAgaWYgbm90IG9w
dGlvbnMuY2hlY2tfYnVpbGRlcnMgb3IgYnVpbGRib3QuY29yZV9idWlsZGVyc19hcmVfZ3JlZW4o
KToKQEAgLTY0LDcgKzY1LDcgQEAgY2xhc3MgQnVpbGRTdGVwczoKIAogICAgIGRlZiBidWlsZF93
ZWJraXQoc2VsZiwgcXVpZXQ9RmFsc2UsIHBvcnQ9V2ViS2l0UG9ydCk6CiAgICAgICAgIGxvZygi
QnVpbGRpbmcgV2ViS2l0IikKLSAgICAgICAgV2ViS2l0TGFuZGluZ1NjcmlwdHMucnVuX2FuZF90
aHJvd19pZl9mYWlsKHBvcnQuYnVpbGRfd2Via2l0X2NvbW1hbmQoKSwgcXVpZXQpCisgICAgICAg
IHJ1bl9hbmRfdGhyb3dfaWZfZmFpbChwb3J0LmJ1aWxkX3dlYmtpdF9jb21tYW5kKCksIHF1aWV0
KQogCiAgICAgZGVmIGNoZWNrX3N0eWxlKHNlbGYpOgogICAgICAgICBzZWxmLl9ydW5fc2NyaXB0
KCJjaGVjay13ZWJraXQtc3R5bGUiKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9t
b2R1bGVzL2NvbW1hbmRzL3F1ZXVlcy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9j
b21tYW5kcy9xdWV1ZXMucHkKaW5kZXggMjdjNGJlOC4uMWYwMmU2MSAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL3F1ZXVlcy5weQorKysgYi9XZWJLaXRU
b29scy9TY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvcXVldWVzLnB5CkBAIC00OCw5ICs0OCw5IEBA
IGZyb20gbW9kdWxlcy5sYW5kaW5nc2VxdWVuY2UgaW1wb3J0IExhbmRpbmdTZXF1ZW5jZSwgQ29u
ZGl0aW9uYWxMYW5kaW5nU2VxdWVuY2UKIGZyb20gbW9kdWxlcy5sb2dnaW5nIGltcG9ydCBlcnJv
ciwgbG9nLCB0ZWUKIGZyb20gbW9kdWxlcy5tdWx0aWNvbW1hbmR0b29sIGltcG9ydCBNdWx0aUNv
bW1hbmRUb29sLCBDb21tYW5kCiBmcm9tIG1vZHVsZXMucGF0Y2hjb2xsZWN0aW9uIGltcG9ydCBQ
YXRjaENvbGxlY3Rpb24KK2Zyb20gbW9kdWxlcy5wcm9jZXNzdXRpbHMgaW1wb3J0IHJ1bl9hbmRf
dGhyb3dfaWZfZmFpbAogZnJvbSBtb2R1bGVzLnNjbSBpbXBvcnQgQ29tbWl0TWVzc2FnZSwgZGV0
ZWN0X3NjbV9zeXN0ZW0sIFNjcmlwdEVycm9yLCBDaGVja291dE5lZWRzVXBkYXRlCiBmcm9tIG1v
ZHVsZXMuc3RhdHVzYm90IGltcG9ydCBTdGF0dXNCb3QKLWZyb20gbW9kdWxlcy53ZWJraXRsYW5k
aW5nc2NyaXB0cyBpbXBvcnQgV2ViS2l0TGFuZGluZ1NjcmlwdHMsIGNvbW1pdF9tZXNzYWdlX2Zv
cl90aGlzX2NvbW1pdAogZnJvbSBtb2R1bGVzLndlYmtpdHBvcnQgaW1wb3J0IFdlYktpdFBvcnQK
IGZyb20gbW9kdWxlcy53b3JrcXVldWUgaW1wb3J0IFdvcmtRdWV1ZSwgV29ya1F1ZXVlRGVsZWdh
dGUKIApAQCAtOTYsNyArOTYsNyBAQCBjbGFzcyBBYnN0cmFjdFF1ZXVlKENvbW1hbmQsIFdvcmtR
dWV1ZURlbGVnYXRlKToKIAogICAgIGRlZiBydW5fYnVnemlsbGFfdG9vbChzZWxmLCBhcmdzKToK
ICAgICAgICAgYnVnemlsbGFfdG9vbF9hcmdzID0gW3NlbGYudG9vbC5wYXRoKCldICsgYXJncwot
ICAgICAgICBXZWJLaXRMYW5kaW5nU2NyaXB0cy5ydW5fYW5kX3Rocm93X2lmX2ZhaWwoYnVnemls
bGFfdG9vbF9hcmdzKQorICAgICAgICBydW5fYW5kX3Rocm93X2lmX2ZhaWwoYnVnemlsbGFfdG9v
bF9hcmdzKQogCiAgICAgZGVmIGxvZ19wcm9ncmVzcyhzZWxmLCBwYXRjaF9pZHMpOgogICAgICAg
ICBsb2coIiVzIGluICVzIFslc10iICUgKHBsdXJhbGl6ZSgicGF0Y2giLCBsZW4ocGF0Y2hfaWRz
KSksIHNlbGYubmFtZSwgIiwgIi5qb2luKHBhdGNoX2lkcykpKQpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3Byb2Nlc3N1dGlscy5weSBiL1dlYktpdFRvb2xzL1Njcmlw
dHMvbW9kdWxlcy9wcm9jZXNzdXRpbHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNjhjZjIxNQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9k
dWxlcy9wcm9jZXNzdXRpbHMucHkKQEAgLTAsMCArMSw2MyBAQAorIyBDb3B5cmlnaHQgKGMpIDIw
MDksIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoYykgMjAw
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisjIG1ldDoKKyMgCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisjIAorIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisK
K2ltcG9ydCBvcworaW1wb3J0IFN0cmluZ0lPCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5
cworCitmcm9tIG1vZHVsZXMubG9nZ2luZyBpbXBvcnQgdGVlCitmcm9tIG1vZHVsZXMuc2NtIGlt
cG9ydCBTY3JpcHRFcnJvcgorCitkZWYgcnVuX2NvbW1hbmRfd2l0aF90ZWVkX291dHB1dChhcmdz
LCB0ZWVkX291dHB1dCk6CisgICAgY2hpbGRfcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4oYXJn
cywgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQorCisg
ICAgIyBVc2Ugb3VyIG93biBjdXN0b20gd2FpdCBsb29wIGJlY2F1c2UgUG9wZW4gaWdub3JlcyBh
IHRlZSdkIHN0ZGVyci9zdGRvdXQuCisgICAgIyBGSVhNRTogVGhpcyBjb3VsZCBiZSBpbXByb3Zl
ZCBub3QgdG8gZmxhdHRlbiBvdXRwdXQgdG8gc3Rkb3V0LgorICAgIHdoaWxlIFRydWU6CisgICAg
ICAgIG91dHB1dF9saW5lID0gY2hpbGRfcHJvY2Vzcy5zdGRvdXQucmVhZGxpbmUoKQorICAgICAg
ICBpZiBvdXRwdXRfbGluZSA9PSAiIiBhbmQgY2hpbGRfcHJvY2Vzcy5wb2xsKCkgIT0gTm9uZToK
KyAgICAgICAgICAgIHJldHVybiBjaGlsZF9wcm9jZXNzLnBvbGwoKQorICAgICAgICB0ZWVkX291
dHB1dC53cml0ZShvdXRwdXRfbGluZSkKKworZGVmIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbChhcmdz
LCBxdWlldD1GYWxzZSk6CisgICAgIyBDYWNoZSB0aGUgY2hpbGQncyBvdXRwdXQgbG9jYWxseSBz
byBpdCBjYW4gYmUgdXNlZCBmb3IgZXJyb3IgcmVwb3J0cy4KKyAgICBjaGlsZF9vdXRfZmlsZSA9
IFN0cmluZ0lPLlN0cmluZ0lPKCkKKyAgICBpZiBxdWlldDoKKyAgICAgICAgZGV2X251bGwgPSBv
cGVuKG9zLmRldm51bGwsICJ3IikKKyAgICBjaGlsZF9zdGRvdXQgPSB0ZWUoY2hpbGRfb3V0X2Zp
bGUsIGRldl9udWxsIGlmIHF1aWV0IGVsc2Ugc3lzLnN0ZG91dCkKKyAgICBleGl0X2NvZGUgPSBy
dW5fY29tbWFuZF93aXRoX3RlZWRfb3V0cHV0KGFyZ3MsIGNoaWxkX3N0ZG91dCkKKyAgICBpZiBx
dWlldDoKKyAgICAgICAgZGV2X251bGwuY2xvc2UoKQorCisgICAgY2hpbGRfb3V0cHV0ID0gY2hp
bGRfb3V0X2ZpbGUuZ2V0dmFsdWUoKQorICAgIGNoaWxkX291dF9maWxlLmNsb3NlKCkKKworICAg
IGlmIGV4aXRfY29kZToKKyAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3Ioc2NyaXB0X2FyZ3M9YXJn
cywgZXhpdF9jb2RlPWV4aXRfY29kZSwgb3V0cHV0PWNoaWxkX291dHB1dCkKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy93ZWJraXRsYW5kaW5nc2NyaXB0cy5weSBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy93ZWJraXRsYW5kaW5nc2NyaXB0cy5weQppbmRleCAy
NDkzNTkzLi45NmFhNDdiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMv
d2Via2l0bGFuZGluZ3NjcmlwdHMucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVz
L3dlYmtpdGxhbmRpbmdzY3JpcHRzLnB5CkBAIC04NCwzNCArODQsNiBAQCBjbGFzcyBXZWJLaXRM
YW5kaW5nU2NyaXB0czoKICAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLW5vLWNsb3NlIiwgYWN0
aW9uPSJzdG9yZV9mYWxzZSIsIGRlc3Q9ImNsb3NlX2J1ZyIsIGRlZmF1bHQ9VHJ1ZSwgaGVscD0i
TGVhdmUgYnVnIG9wZW4gYWZ0ZXIgbGFuZGluZy4iKSwKICAgICAgICAgXQogCi0gICAgQHN0YXRp
Y21ldGhvZAotICAgIGRlZiBydW5fY29tbWFuZF93aXRoX3RlZWRfb3V0cHV0KGFyZ3MsIHRlZWRf
b3V0cHV0KToKLSAgICAgICAgY2hpbGRfcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4oYXJncywg
c3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQotCi0gICAg
ICAgICMgVXNlIG91ciBvd24gY3VzdG9tIHdhaXQgbG9vcCBiZWNhdXNlIFBvcGVuIGlnbm9yZXMg
YSB0ZWUnZCBzdGRlcnIvc3Rkb3V0LgotICAgICAgICAjIEZJWE1FOiBUaGlzIGNvdWxkIGJlIGlt
cHJvdmVkIG5vdCB0byBmbGF0dGVuIG91dHB1dCB0byBzdGRvdXQuCi0gICAgICAgIHdoaWxlIFRy
dWU6Ci0gICAgICAgICAgICBvdXRwdXRfbGluZSA9IGNoaWxkX3Byb2Nlc3Muc3Rkb3V0LnJlYWRs
aW5lKCkKLSAgICAgICAgICAgIGlmIG91dHB1dF9saW5lID09ICIiIGFuZCBjaGlsZF9wcm9jZXNz
LnBvbGwoKSAhPSBOb25lOgotICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZF9wcm9jZXNzLnBv
bGwoKQotICAgICAgICAgICAgdGVlZF9vdXRwdXQud3JpdGUob3V0cHV0X2xpbmUpCi0KLSAgICBA
c3RhdGljbWV0aG9kCi0gICAgZGVmIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbChhcmdzLCBxdWlldD1G
YWxzZSk6Ci0gICAgICAgICMgQ2FjaGUgdGhlIGNoaWxkJ3Mgb3V0cHV0IGxvY2FsbHkgc28gaXQg
Y2FuIGJlIHVzZWQgZm9yIGVycm9yIHJlcG9ydHMuCi0gICAgICAgIGNoaWxkX291dF9maWxlID0g
U3RyaW5nSU8uU3RyaW5nSU8oKQotICAgICAgICBpZiBxdWlldDoKLSAgICAgICAgICAgIGRldl9u
dWxsID0gb3Blbihvcy5kZXZudWxsLCAidyIpCi0gICAgICAgIGNoaWxkX3N0ZG91dCA9IHRlZShj
aGlsZF9vdXRfZmlsZSwgZGV2X251bGwgaWYgcXVpZXQgZWxzZSBzeXMuc3Rkb3V0KQotICAgICAg
ICBleGl0X2NvZGUgPSBXZWJLaXRMYW5kaW5nU2NyaXB0cy5ydW5fY29tbWFuZF93aXRoX3RlZWRf
b3V0cHV0KGFyZ3MsIGNoaWxkX3N0ZG91dCkKLSAgICAgICAgaWYgcXVpZXQ6Ci0gICAgICAgICAg
ICBkZXZfbnVsbC5jbG9zZSgpCi0KLSAgICAgICAgY2hpbGRfb3V0cHV0ID0gY2hpbGRfb3V0X2Zp
bGUuZ2V0dmFsdWUoKQotICAgICAgICBjaGlsZF9vdXRfZmlsZS5jbG9zZSgpCi0KLSAgICAgICAg
aWYgZXhpdF9jb2RlOgotICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3Ioc2NyaXB0X2FyZ3M9
YXJncywgZXhpdF9jb2RlPWV4aXRfY29kZSwgb3V0cHV0PWNoaWxkX291dHB1dCkKIAogCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43906</attachid>
            <date>2009-11-26 00:41:42 -0800</date>
            <delta_ts>2009-11-26 20:34:15 -0800</delta_ts>
            <desc>Step 6</desc>
            <filename>bug-31904-20091126004140.patch</filename>
            <type>text/plain</type>
            <size>20292</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBmMjM3ZDViLi43YjZjZTUwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC01LDYgKzUsMjMgQEAKICAgICAgICAg
W2J6dF0gS2lsbCBXZWJLaXRMYW5kaW5nU2NyaXB0cwogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE5MDQKIAorICAgICAgICBTdGVwIDY6IEtpbGwgdGhl
IHJlc3QuCisKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvYnVpbGRzdGVwcy5weToKKyAgICAg
ICAgKiBTY3JpcHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHk6CisgICAgICAgICogU2Ny
aXB0cy9tb2R1bGVzL2NvbW1hbmRzL3F1ZXJpZXMucHk6CisgICAgICAgICogU2NyaXB0cy9tb2R1
bGVzL2NvbW1hbmRzL3VwbG9hZC5weToKKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvbGFuZGlu
Z3NlcXVlbmNlLnB5OgorICAgICAgICAqIFNjcmlwdHMvbW9kdWxlcy9zY20ucHk6CisgICAgICAg
ICogU2NyaXB0cy9tb2R1bGVzL3dlYmtpdGxhbmRpbmdzY3JpcHRzLnB5OiBSZW1vdmVkLgorCisy
MDA5LTExLTI2ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2J6dF0gS2lsbCBXZWJLaXRMYW5k
aW5nU2NyaXB0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzE5MDQKKwogICAgICAgICBTdGVwIDU6IEtpbGwgcnVuX2FuZF90aHJvd19pZl9mYWlsLgog
CiAgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL2J1aWxkc3RlcHMucHk6CmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvYnVpbGRzdGVwcy5weSBiL1dlYktpdFRvb2xzL1Nj
cmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5CmluZGV4IDA3ZGM2M2QuLjVjNTBmYmYgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5CisrKyBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9idWlsZHN0ZXBzLnB5CkBAIC0yOCwxMiArMjgsMzgg
QEAKIAogaW1wb3J0IG9zCiAKK2Zyb20gb3B0cGFyc2UgaW1wb3J0IG1ha2Vfb3B0aW9uCisKIGZy
b20gbW9kdWxlcy5sb2dnaW5nIGltcG9ydCBsb2csIGVycm9yCiBmcm9tIG1vZHVsZXMucHJvY2Vz
c3V0aWxzIGltcG9ydCBydW5fYW5kX3Rocm93X2lmX2ZhaWwKLWZyb20gbW9kdWxlcy53ZWJraXRs
YW5kaW5nc2NyaXB0cyBpbXBvcnQgV2ViS2l0TGFuZGluZ1NjcmlwdHMKIGZyb20gbW9kdWxlcy53
ZWJraXRwb3J0IGltcG9ydCBXZWJLaXRQb3J0CiAKIGNsYXNzIEJ1aWxkU3RlcHM6CisgICAgIyBG
SVhNRTogVGhlIG9wdGlvbnMgc2hvdWxkIHJlYWxseSBsaXZlIG9uIGVhY2ggIlN0ZXAiIG9iamVj
dC4KKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIGNsZWFuaW5nX29wdGlvbnMoKToKKyAgICAg
ICAgcmV0dXJuIFsKKyAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLWZvcmNlLWNsZWFuIiwgYWN0
aW9uPSJzdG9yZV90cnVlIiwgZGVzdD0iZm9yY2VfY2xlYW4iLCBkZWZhdWx0PUZhbHNlLCBoZWxw
PSJDbGVhbiB3b3JraW5nIGRpcmVjdG9yeSBiZWZvcmUgYXBwbHlpbmcgcGF0Y2hlcyAocmVtb3Zl
cyBsb2NhbCBjaGFuZ2VzIGFuZCBjb21taXRzKSIpLAorICAgICAgICAgICAgbWFrZV9vcHRpb24o
Ii0tbm8tY2xlYW4iLCBhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVzdD0iY2xlYW4iLCBkZWZhdWx0
PVRydWUsIGhlbHA9IkRvbid0IGNoZWNrIGlmIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVh
biBiZWZvcmUgYXBwbHlpbmcgcGF0Y2hlcyIpLAorICAgICAgICBdCisKKyAgICBAc3RhdGljbWV0
aG9kCisgICAgZGVmIGJ1aWxkX29wdGlvbnMoKToKKyAgICAgICAgcmV0dXJuIFsKKyAgICAgICAg
ICAgIG1ha2Vfb3B0aW9uKCItLWlnbm9yZS1idWlsZGVycyIsIGFjdGlvbj0ic3RvcmVfZmFsc2Ui
LCBkZXN0PSJjaGVja19idWlsZGVycyIsIGRlZmF1bHQ9VHJ1ZSwgaGVscD0iRG9uJ3QgY2hlY2sg
dG8gc2VlIGlmIHRoZSBidWlsZC53ZWJraXQub3JnIGJ1aWxkZXJzIGFyZSBncmVlbiBiZWZvcmUg
bGFuZGluZy4iKSwKKyAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLXF1aWV0IiwgYWN0aW9uPSJz
dG9yZV90cnVlIiwgZGVzdD0icXVpZXQiLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSJQcm9kdWNlIGxl
c3MgY29uc29sZSBvdXRwdXQuIiksCisgICAgICAgICAgICBtYWtlX29wdGlvbigiLS1ub24taW50
ZXJhY3RpdmUiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJub25faW50ZXJhY3RpdmUiLCBk
ZWZhdWx0PUZhbHNlLCBoZWxwPSJOZXZlciBwcm9tcHQgdGhlIHVzZXIsIGZhaWwgYXMgZmFzdCBh
cyBwb3NzaWJsZS4iKSwKKyAgICAgICAgXSArIFdlYktpdFBvcnQucG9ydF9vcHRpb25zKCkKKwor
ICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgbGFuZF9vcHRpb25zKCk6CisgICAgICAgIHJldHVy
biBbCisgICAgICAgICAgICBtYWtlX29wdGlvbigiLS1uby11cGRhdGUiLCBhY3Rpb249InN0b3Jl
X2ZhbHNlIiwgZGVzdD0idXBkYXRlIiwgZGVmYXVsdD1UcnVlLCBoZWxwPSJEb24ndCB1cGRhdGUg
dGhlIHdvcmtpbmcgZGlyZWN0b3J5LiIpLAorICAgICAgICAgICAgbWFrZV9vcHRpb24oIi0tbm8t
YnVpbGQiLCBhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVzdD0iYnVpbGQiLCBkZWZhdWx0PVRydWUs
IGhlbHA9IkNvbW1pdCB3aXRob3V0IGJ1aWxkaW5nIGZpcnN0LCBpbXBsaWVzIC0tbm8tdGVzdC4i
KSwKKyAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLW5vLXRlc3QiLCBhY3Rpb249InN0b3JlX2Zh
bHNlIiwgZGVzdD0idGVzdCIsIGRlZmF1bHQ9VHJ1ZSwgaGVscD0iQ29tbWl0IHdpdGhvdXQgcnVu
bmluZyBydW4td2Via2l0LXRlc3RzLiIpLAorICAgICAgICAgICAgbWFrZV9vcHRpb24oIi0tbm8t
Y2xvc2UiLCBhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVzdD0iY2xvc2VfYnVnIiwgZGVmYXVsdD1U
cnVlLCBoZWxwPSJMZWF2ZSBidWcgb3BlbiBhZnRlciBsYW5kaW5nLiIpLAorICAgICAgICBdCisK
ICAgICBkZWYgX3J1bl9zY3JpcHQoY2xzLCBzY3JpcHRfbmFtZSwgcXVpZXQ9RmFsc2UsIHBvcnQ9
V2ViS2l0UG9ydCk6CiAgICAgICAgIGxvZygiUnVubmluZyAlcyIgJSBzY3JpcHRfbmFtZSkKICAg
ICAgICAgcnVuX2FuZF90aHJvd19pZl9mYWlsKHBvcnQuc2NyaXB0X3BhdGgoc2NyaXB0X25hbWUp
LCBxdWlldCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5k
cy9kb3dubG9hZC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy9kb3du
bG9hZC5weQppbmRleCBkOTg2ZTI4Li45OGE4ZWJiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9T
Y3JpcHRzL21vZHVsZXMvY29tbWFuZHMvZG93bmxvYWQucHkKKysrIGIvV2ViS2l0VG9vbHMvU2Ny
aXB0cy9tb2R1bGVzL2NvbW1hbmRzL2Rvd25sb2FkLnB5CkBAIC00MSw2ICs0MSw3IEBAIGZyb20g
b3B0cGFyc2UgaW1wb3J0IG1ha2Vfb3B0aW9uCiAKIGZyb20gbW9kdWxlcy5idWd6aWxsYSBpbXBv
cnQgQnVnemlsbGEsIHBhcnNlX2J1Z19pZAogZnJvbSBtb2R1bGVzLmJ1aWxkYm90IGltcG9ydCBC
dWlsZEJvdAorZnJvbSBtb2R1bGVzLmJ1aWxkc3RlcHMgaW1wb3J0IEJ1aWxkU3RlcHMKIGZyb20g
bW9kdWxlcy5jaGFuZ2Vsb2dzIGltcG9ydCBDaGFuZ2VMb2cKIGZyb20gbW9kdWxlcy5jb21tZW50
cyBpbXBvcnQgYnVnX2NvbW1lbnRfZnJvbV9jb21taXRfdGV4dAogZnJvbSBtb2R1bGVzLmdyYW1t
YXIgaW1wb3J0IHBsdXJhbGl6ZQpAQCAtNTAsNyArNTEsNiBAQCBmcm9tIG1vZHVsZXMubXVsdGlj
b21tYW5kdG9vbCBpbXBvcnQgTXVsdGlDb21tYW5kVG9vbCwgQ29tbWFuZAogZnJvbSBtb2R1bGVz
LnBhdGNoY29sbGVjdGlvbiBpbXBvcnQgUGF0Y2hDb2xsZWN0aW9uCiBmcm9tIG1vZHVsZXMuc2Nt
IGltcG9ydCBDb21taXRNZXNzYWdlLCBkZXRlY3Rfc2NtX3N5c3RlbSwgU2NyaXB0RXJyb3IsIENo
ZWNrb3V0TmVlZHNVcGRhdGUKIGZyb20gbW9kdWxlcy5zdGF0dXNib3QgaW1wb3J0IFN0YXR1c0Jv
dAotZnJvbSBtb2R1bGVzLndlYmtpdGxhbmRpbmdzY3JpcHRzIGltcG9ydCBXZWJLaXRMYW5kaW5n
U2NyaXB0cywgY29tbWl0X21lc3NhZ2VfZm9yX3RoaXNfY29tbWl0CiBmcm9tIG1vZHVsZXMud2Vi
a2l0cG9ydCBpbXBvcnQgV2ViS2l0UG9ydAogZnJvbSBtb2R1bGVzLndvcmtxdWV1ZSBpbXBvcnQg
V29ya1F1ZXVlLCBXb3JrUXVldWVEZWxlZ2F0ZQogCkBAIC02OSw5ICs2OSw5IEBAIGNsYXNzIEJ1
aWxkKENvbW1hbmQpOgogICAgIG5hbWUgPSAiYnVpbGQiCiAgICAgc2hvd19pbl9tYWluX2hlbHAg
PSBGYWxzZQogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgb3B0aW9ucyA9IFdlYktp
dExhbmRpbmdTY3JpcHRzLmNsZWFuaW5nX29wdGlvbnMoKQotICAgICAgICBvcHRpb25zICs9IFdl
YktpdExhbmRpbmdTY3JpcHRzLmJ1aWxkX29wdGlvbnMoKQotICAgICAgICBvcHRpb25zICs9IFdl
YktpdExhbmRpbmdTY3JpcHRzLmxhbmRfb3B0aW9ucygpCisgICAgICAgIG9wdGlvbnMgPSBCdWls
ZFN0ZXBzLmNsZWFuaW5nX29wdGlvbnMoKQorICAgICAgICBvcHRpb25zICs9IEJ1aWxkU3RlcHMu
YnVpbGRfb3B0aW9ucygpCisgICAgICAgIG9wdGlvbnMgKz0gQnVpbGRTdGVwcy5sYW5kX29wdGlv
bnMoKQogICAgICAgICBDb21tYW5kLl9faW5pdF9fKHNlbGYsICJVcGRhdGUgd29ya2luZyBjb3B5
IGFuZCBidWlsZCIsICIiLCBvcHRpb25zKQogCiAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgb3B0aW9u
cywgYXJncywgdG9vbCk6CkBAIC04Myw3ICs4Myw4IEBAIGNsYXNzIEFwcGx5QXR0YWNobWVudChD
b21tYW5kKToKICAgICBuYW1lID0gImFwcGx5LWF0dGFjaG1lbnQiCiAgICAgc2hvd19pbl9tYWlu
X2hlbHAgPSBUcnVlCiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICBvcHRpb25zID0g
V2ViS2l0QXBwbHlpbmdTY3JpcHRzLmFwcGx5X29wdGlvbnMoKSArIFdlYktpdExhbmRpbmdTY3Jp
cHRzLmNsZWFuaW5nX29wdGlvbnMoKQorICAgICAgICBvcHRpb25zID0gV2ViS2l0QXBwbHlpbmdT
Y3JpcHRzLmFwcGx5X29wdGlvbnMoKQorICAgICAgICBvcHRpb25zICs9IEJ1aWxkU3RlcHMuY2xl
YW5pbmdfb3B0aW9ucygpCiAgICAgICAgIENvbW1hbmQuX19pbml0X18oc2VsZiwgIkFwcGx5IGFu
IGF0dGFjaG1lbnQgdG8gdGhlIGxvY2FsIHdvcmtpbmcgZGlyZWN0b3J5IiwgIkFUVEFDSE1FTlRf
SUQiLCBvcHRpb25zPW9wdGlvbnMpCiAKICAgICBkZWYgZXhlY3V0ZShzZWxmLCBvcHRpb25zLCBh
cmdzLCB0b29sKToKQEAgLTk3LDcgKzk4LDggQEAgY2xhc3MgQXBwbHlQYXRjaGVzKENvbW1hbmQp
OgogICAgIG5hbWUgPSAiYXBwbHktcGF0Y2hlcyIKICAgICBzaG93X2luX21haW5faGVscCA9IFRy
dWUKICAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIG9wdGlvbnMgPSBXZWJLaXRBcHBs
eWluZ1NjcmlwdHMuYXBwbHlfb3B0aW9ucygpICsgV2ViS2l0TGFuZGluZ1NjcmlwdHMuY2xlYW5p
bmdfb3B0aW9ucygpCisgICAgICAgIG9wdGlvbnMgPSBXZWJLaXRBcHBseWluZ1NjcmlwdHMuYXBw
bHlfb3B0aW9ucygpCisgICAgICAgIG9wdGlvbnMgKz0gQnVpbGRTdGVwcy5jbGVhbmluZ19vcHRp
b25zKCkKICAgICAgICAgQ29tbWFuZC5fX2luaXRfXyhzZWxmLCAiQXBwbHkgcmV2aWV3ZWQgcGF0
Y2hlcyBmcm9tIHByb3ZpZGVkIGJ1Z3MgdG8gdGhlIGxvY2FsIHdvcmtpbmcgZGlyZWN0b3J5Iiwg
IkJVR0lEIiwgb3B0aW9ucz1vcHRpb25zKQogCiAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgb3B0aW9u
cywgYXJncywgdG9vbCk6CkBAIC0xMzAsNyArMTMyLDcgQEAgY2xhc3MgV2ViS2l0QXBwbHlpbmdT
Y3JpcHRzOgogICAgICAgICAgICAgbG9nKCJBcHBseWluZyBhdHRhY2htZW50ICVzIGZyb20gYnVn
ICVzIiAlIChwYXRjaFsiaWQiXSwgcGF0Y2hbImJ1Z19pZCJdKSkKICAgICAgICAgICAgIHNjbS5h
cHBseV9wYXRjaChwYXRjaCkKICAgICAgICAgICAgIGlmIG9wdGlvbnMubG9jYWxfY29tbWl0Ogot
ICAgICAgICAgICAgICAgIGNvbW1pdF9tZXNzYWdlID0gY29tbWl0X21lc3NhZ2VfZm9yX3RoaXNf
Y29tbWl0KHNjbSkKKyAgICAgICAgICAgICAgICBjb21taXRfbWVzc2FnZSA9IHNjbS5jb21taXRf
bWVzc2FnZV9mb3JfdGhpc19jb21taXQoKQogICAgICAgICAgICAgICAgIHNjbS5jb21taXRfbG9j
YWxseV93aXRoX21lc3NhZ2UoY29tbWl0X21lc3NhZ2UubWVzc2FnZSgpIG9yIHBhdGNoWyJuYW1l
Il0pCiAKIApAQCAtMTY3LDggKzE2OSw4IEBAIGNsYXNzIExhbmREaWZmKENvbW1hbmQpOgogICAg
ICAgICBvcHRpb25zID0gWwogICAgICAgICAgICAgbWFrZV9vcHRpb24oIi1yIiwgIi0tcmV2aWV3
ZXIiLCBhY3Rpb249InN0b3JlIiwgdHlwZT0ic3RyaW5nIiwgZGVzdD0icmV2aWV3ZXIiLCBoZWxw
PSJVcGRhdGUgQ2hhbmdlTG9ncyB0byBzYXkgUmV2aWV3ZWQgYnkgUkVWSUVXRVIuIiksCiAgICAg
ICAgIF0KLSAgICAgICAgb3B0aW9ucyArPSBXZWJLaXRMYW5kaW5nU2NyaXB0cy5idWlsZF9vcHRp
b25zKCkKLSAgICAgICAgb3B0aW9ucyArPSBXZWJLaXRMYW5kaW5nU2NyaXB0cy5sYW5kX29wdGlv
bnMoKQorICAgICAgICBvcHRpb25zICs9IEJ1aWxkU3RlcHMuYnVpbGRfb3B0aW9ucygpCisgICAg
ICAgIG9wdGlvbnMgKz0gQnVpbGRTdGVwcy5sYW5kX29wdGlvbnMoKQogICAgICAgICBDb21tYW5k
Ll9faW5pdF9fKHNlbGYsICJMYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGRpZmYg
YW5kIHVwZGF0ZXMgdGhlIGFzc29jaWF0ZWQgYnVnIGlmIGFueSIsICJbQlVHSURdIiwgb3B0aW9u
cz1vcHRpb25zKQogCiAgICAgZGVmIGd1ZXNzX3Jldmlld2VyX2Zyb21fYnVnKHNlbGYsIGJ1Z3Ms
IGJ1Z19pZCk6CkBAIC0yNjEsOCArMjYzLDggQEAgY2xhc3MgQ2hlY2tTdHlsZShBYnN0cmFjdFBh
dGNoUHJvY2Vzc2luZ0NvbW1hbmQpOgogICAgIG5hbWUgPSAiY2hlY2stc3R5bGUiCiAgICAgc2hv
d19pbl9tYWluX2hlbHAgPSBGYWxzZQogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAg
b3B0aW9ucyA9IFdlYktpdExhbmRpbmdTY3JpcHRzLmNsZWFuaW5nX29wdGlvbnMoKQotICAgICAg
ICBvcHRpb25zICs9IFdlYktpdExhbmRpbmdTY3JpcHRzLmJ1aWxkX29wdGlvbnMoKQorICAgICAg
ICBvcHRpb25zID0gQnVpbGRTdGVwcy5jbGVhbmluZ19vcHRpb25zKCkKKyAgICAgICAgb3B0aW9u
cyArPSBCdWlsZFN0ZXBzLmJ1aWxkX29wdGlvbnMoKQogICAgICAgICBBYnN0cmFjdFBhdGNoUHJv
Y2Vzc2luZ0NvbW1hbmQuX19pbml0X18oc2VsZiwgIlJ1biBjaGVjay13ZWJraXQtc3R5bGUgb24g
dGhlIHNwZWNpZmllZCBhdHRhY2htZW50cyIsICJBVFRBQ0hNRU5UX0lEIFtBVFRBQ0hNRU5UX0lE
U10iLCBvcHRpb25zKQogCiAgICAgZGVmIF9mZXRjaF9saXN0X29mX3BhdGNoZXNfdG9fcHJvY2Vz
cyhzZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKQEAgLTI5MSw4ICsyOTMsOCBAQCBjbGFzcyBC
dWlsZEF0dGFjaG1lbnQoQWJzdHJhY3RQYXRjaFByb2Nlc3NpbmdDb21tYW5kKToKICAgICBuYW1l
ID0gImJ1aWxkLWF0dGFjaG1lbnQiCiAgICAgc2hvd19pbl9tYWluX2hlbHAgPSBGYWxzZQogICAg
IGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgb3B0aW9ucyA9IFdlYktpdExhbmRpbmdTY3Jp
cHRzLmNsZWFuaW5nX29wdGlvbnMoKQotICAgICAgICBvcHRpb25zICs9IFdlYktpdExhbmRpbmdT
Y3JpcHRzLmJ1aWxkX29wdGlvbnMoKQorICAgICAgICBvcHRpb25zID0gQnVpbGRTdGVwcy5jbGVh
bmluZ19vcHRpb25zKCkKKyAgICAgICAgb3B0aW9ucyArPSBCdWlsZFN0ZXBzLmJ1aWxkX29wdGlv
bnMoKQogICAgICAgICBBYnN0cmFjdFBhdGNoUHJvY2Vzc2luZ0NvbW1hbmQuX19pbml0X18oc2Vs
ZiwgIkFwcGx5IGFuZCBidWlsZCBwYXRjaGVzIGZyb20gYnVnemlsbGEiLCAiQVRUQUNITUVOVF9J
RCBbQVRUQUNITUVOVF9JRFNdIiwgb3B0aW9ucykKIAogICAgIGRlZiBfZmV0Y2hfbGlzdF9vZl9w
YXRjaGVzX3RvX3Byb2Nlc3Moc2VsZiwgb3B0aW9ucywgYXJncywgdG9vbCk6CkBAIC0zMDksOSAr
MzExLDkgQEAgY2xhc3MgQnVpbGRBdHRhY2htZW50KEFic3RyYWN0UGF0Y2hQcm9jZXNzaW5nQ29t
bWFuZCk6CiAKIGNsYXNzIEFic3RyYWN0UGF0Y2hMYW5kaW5nQ29tbWFuZChBYnN0cmFjdFBhdGNo
UHJvY2Vzc2luZ0NvbW1hbmQpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBoZWxwX3RleHQsIGFy
Z3NfZGVzY3JpcHRpb24pOgotICAgICAgICBvcHRpb25zID0gV2ViS2l0TGFuZGluZ1NjcmlwdHMu
Y2xlYW5pbmdfb3B0aW9ucygpCi0gICAgICAgIG9wdGlvbnMgKz0gV2ViS2l0TGFuZGluZ1Njcmlw
dHMuYnVpbGRfb3B0aW9ucygpCi0gICAgICAgIG9wdGlvbnMgKz0gV2ViS2l0TGFuZGluZ1Njcmlw
dHMubGFuZF9vcHRpb25zKCkKKyAgICAgICAgb3B0aW9ucyA9IEJ1aWxkU3RlcHMuY2xlYW5pbmdf
b3B0aW9ucygpCisgICAgICAgIG9wdGlvbnMgKz0gQnVpbGRTdGVwcy5idWlsZF9vcHRpb25zKCkK
KyAgICAgICAgb3B0aW9ucyArPSBCdWlsZFN0ZXBzLmxhbmRfb3B0aW9ucygpCiAgICAgICAgIEFi
c3RyYWN0UGF0Y2hQcm9jZXNzaW5nQ29tbWFuZC5fX2luaXRfXyhzZWxmLCBoZWxwX3RleHQsIGFy
Z3NfZGVzY3JpcHRpb24sIG9wdGlvbnMpCiAKICAgICBkZWYgX3ByZXBhcmVfdG9fcHJvY2Vzcyhz
ZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKQEAgLTM1Miw5ICszNTQsOSBAQCBjbGFzcyBSb2xs
b3V0KENvbW1hbmQpOgogICAgIG5hbWUgPSAicm9sbG91dCIKICAgICBzaG93X2luX21haW5faGVs
cCA9IFRydWUKICAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIG9wdGlvbnMgPSBXZWJL
aXRMYW5kaW5nU2NyaXB0cy5jbGVhbmluZ19vcHRpb25zKCkKLSAgICAgICAgb3B0aW9ucyArPSBX
ZWJLaXRMYW5kaW5nU2NyaXB0cy5idWlsZF9vcHRpb25zKCkKLSAgICAgICAgb3B0aW9ucyArPSBX
ZWJLaXRMYW5kaW5nU2NyaXB0cy5sYW5kX29wdGlvbnMoKQorICAgICAgICBvcHRpb25zID0gQnVp
bGRTdGVwcy5jbGVhbmluZ19vcHRpb25zKCkKKyAgICAgICAgb3B0aW9ucyArPSBCdWlsZFN0ZXBz
LmJ1aWxkX29wdGlvbnMoKQorICAgICAgICBvcHRpb25zICs9IEJ1aWxkU3RlcHMubGFuZF9vcHRp
b25zKCkKICAgICAgICAgb3B0aW9ucy5hcHBlbmQobWFrZV9vcHRpb24oIi0tY29tcGxldGUtcm9s
bG91dCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlc3Q9ImNvbXBsZXRlX3JvbGxvdXQiLCBoZWxw
PSJDb21taXQgdGhlIHJldmVydCBhbmQgcmUtb3BlbiB0aGUgb3JpZ2luYWwgYnVnLiIpKQogICAg
ICAgICBDb21tYW5kLl9faW5pdF9fKHNlbGYsICJSZXZlcnQgdGhlIGdpdmVuIHJldmlzaW9uIGlu
IHRoZSB3b3JraW5nIGNvcHkgYW5kIG9wdGlvbmFsbHkgY29tbWl0IHRoZSByZXZlcnQgYW5kIHJl
LW9wZW4gdGhlIG9yaWdpbmFsIGJ1ZyIsICJSRVZJU0lPTiBbQlVHSURdIiwgb3B0aW9ucz1vcHRp
b25zKQogCkBAIC00MDIsNSArNDA0LDcgQEAgY2xhc3MgUm9sbG91dChDb21tYW5kKToKICAgICAg
ICAgaWYgbm90IG9wdGlvbnMuY29tcGxldGVfcm9sbG91dDoKICAgICAgICAgICAgIGxvZygiXG5O
T1RFOiBSb2xsb3V0IHN1cHBvcnQgaXMgZXhwZXJpbWVudGFsLlxuUGxlYXNlIHZlcmlmeSB0aGUg
cm9sbG91dCBkaWZmIGFuZCB1c2UgXCJidWd6aWxsYS10b29sIGxhbmQtZGlmZiAlc1wiIHRvIGNv
bW1pdCB0aGUgcm9sbG91dC4iICUgYnVnX2lkKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAg
Y29tbWVudF90ZXh0ID0gV2ViS2l0TGFuZGluZ1NjcmlwdHMuYnVpbGRfYW5kX2NvbW1pdCh0b29s
LnNjbSgpLCBvcHRpb25zKQorICAgICAgICAgICAgIyBGSVhNRTogVGhpcyBmdW5jdGlvbiBkb2Vz
IG5vdCBleGlzdCEhCisgICAgICAgICAgICAjIGNvbW1lbnRfdGV4dCA9IFdlYktpdExhbmRpbmdT
Y3JpcHRzLmJ1aWxkX2FuZF9jb21taXQodG9vbC5zY20oKSwgb3B0aW9ucykKKyAgICAgICAgICAg
IHJhaXNlIFNjcmlwdEVycm9yKCJPT1BTISBUaGlzIG9wdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQg
KHlldCkuIikKICAgICAgICAgICAgIHNlbGYuX3Jlb3Blbl9idWdfYWZ0ZXJfcm9sbG91dCh0b29s
LCBidWdfaWQsIGNvbW1lbnRfdGV4dCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
bW9kdWxlcy9jb21tYW5kcy9xdWVyaWVzLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVz
L2NvbW1hbmRzL3F1ZXJpZXMucHkKaW5kZXggMmU2NmFmYi4uMmM4MTcyNSAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL3F1ZXJpZXMucHkKKysrIGIvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL3F1ZXJpZXMucHkKQEAgLTUwLDcgKzUw
LDYgQEAgZnJvbSBtb2R1bGVzLm11bHRpY29tbWFuZHRvb2wgaW1wb3J0IE11bHRpQ29tbWFuZFRv
b2wsIENvbW1hbmQKIGZyb20gbW9kdWxlcy5wYXRjaGNvbGxlY3Rpb24gaW1wb3J0IFBhdGNoQ29s
bGVjdGlvbgogZnJvbSBtb2R1bGVzLnNjbSBpbXBvcnQgQ29tbWl0TWVzc2FnZSwgZGV0ZWN0X3Nj
bV9zeXN0ZW0sIFNjcmlwdEVycm9yLCBDaGVja291dE5lZWRzVXBkYXRlCiBmcm9tIG1vZHVsZXMu
c3RhdHVzYm90IGltcG9ydCBTdGF0dXNCb3QKLWZyb20gbW9kdWxlcy53ZWJraXRsYW5kaW5nc2Ny
aXB0cyBpbXBvcnQgV2ViS2l0TGFuZGluZ1NjcmlwdHMsIGNvbW1pdF9tZXNzYWdlX2Zvcl90aGlz
X2NvbW1pdAogZnJvbSBtb2R1bGVzLndlYmtpdHBvcnQgaW1wb3J0IFdlYktpdFBvcnQKIGZyb20g
bW9kdWxlcy53b3JrcXVldWUgaW1wb3J0IFdvcmtRdWV1ZSwgV29ya1F1ZXVlRGVsZWdhdGUKIApk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1hbmRzL3VwbG9hZC5w
eSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jb21tYW5kcy91cGxvYWQucHkKaW5kZXgg
ZTg4NTYyMy4uNTEyNjE1MyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVz
L2NvbW1hbmRzL3VwbG9hZC5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29t
bWFuZHMvdXBsb2FkLnB5CkBAIC01MCwxMSArNTAsMTAgQEAgZnJvbSBtb2R1bGVzLm11bHRpY29t
bWFuZHRvb2wgaW1wb3J0IE11bHRpQ29tbWFuZFRvb2wsIENvbW1hbmQKIGZyb20gbW9kdWxlcy5w
YXRjaGNvbGxlY3Rpb24gaW1wb3J0IFBhdGNoQ29sbGVjdGlvbgogZnJvbSBtb2R1bGVzLnNjbSBp
bXBvcnQgQ29tbWl0TWVzc2FnZSwgZGV0ZWN0X3NjbV9zeXN0ZW0sIFNjcmlwdEVycm9yLCBDaGVj
a291dE5lZWRzVXBkYXRlCiBmcm9tIG1vZHVsZXMuc3RhdHVzYm90IGltcG9ydCBTdGF0dXNCb3QK
LWZyb20gbW9kdWxlcy53ZWJraXRsYW5kaW5nc2NyaXB0cyBpbXBvcnQgV2ViS2l0TGFuZGluZ1Nj
cmlwdHMsIGNvbW1pdF9tZXNzYWdlX2Zvcl90aGlzX2NvbW1pdAogZnJvbSBtb2R1bGVzLndlYmtp
dHBvcnQgaW1wb3J0IFdlYktpdFBvcnQKIGZyb20gbW9kdWxlcy53b3JrcXVldWUgaW1wb3J0IFdv
cmtRdWV1ZSwgV29ya1F1ZXVlRGVsZWdhdGUKIAotIyBGSVhNRTogUmVxdWlyZXMgdW5pdCB0ZXN0
LiAgQmxvY2tpbmcgaXNzdWU6IGNvbW1pdF9tZXNzYWdlX2Zvcl90aGlzX2NvbW1pdC4KKyMgRklY
TUU6IFJlcXVpcmVzIHVuaXQgdGVzdC4KIGNsYXNzIENvbW1pdE1lc3NhZ2VGb3JDdXJyZW50RGlm
ZihDb21tYW5kKToKICAgICBuYW1lID0gImNvbW1pdC1tZXNzYWdlIgogICAgIHNob3dfaW5fbWFp
bl9oZWxwID0gRmFsc2UKQEAgLTYzLDcgKzYyLDcgQEAgY2xhc3MgQ29tbWl0TWVzc2FnZUZvckN1
cnJlbnREaWZmKENvbW1hbmQpOgogCiAgICAgZGVmIGV4ZWN1dGUoc2VsZiwgb3B0aW9ucywgYXJn
cywgdG9vbCk6CiAgICAgICAgIG9zLmNoZGlyKHRvb2wuc2NtKCkuY2hlY2tvdXRfcm9vdCkKLSAg
ICAgICAgcHJpbnQgIiVzIiAlIGNvbW1pdF9tZXNzYWdlX2Zvcl90aGlzX2NvbW1pdCh0b29sLnNj
bSgpKS5tZXNzYWdlKCkKKyAgICAgICAgcHJpbnQgIiVzIiAlIHRvb2wuc2NtKCkuY29tbWl0X21l
c3NhZ2VfZm9yX3RoaXNfY29tbWl0KCkubWVzc2FnZSgpCiAKIAogY2xhc3MgT2Jzb2xldGVBdHRh
Y2htZW50cyhDb21tYW5kKToKQEAgLTIyOSw3ICsyMjgsNyBAQCBjbGFzcyBDcmVhdGVCdWcoQ29t
bWFuZCk6CiAgICAgICAgIGlmIG9wdGlvbnMucHJvbXB0OgogICAgICAgICAgICAgKGJ1Z190aXRs
ZSwgY29tbWVudF90ZXh0KSA9IHNlbGYucHJvbXB0X2Zvcl9idWdfdGl0bGVfYW5kX2NvbW1lbnQo
KQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgY29tbWl0X21lc3NhZ2UgPSBjb21taXRfbWVz
c2FnZV9mb3JfdGhpc19jb21taXQodG9vbC5zY20oKSkKKyAgICAgICAgICAgIGNvbW1pdF9tZXNz
YWdlID0gdG9vbC5zY20oKS5jb21taXRfbWVzc2FnZV9mb3JfdGhpc19jb21taXQoKQogICAgICAg
ICAgICAgYnVnX3RpdGxlID0gY29tbWl0X21lc3NhZ2UuZGVzY3JpcHRpb24obHN0cmlwPVRydWUs
IHN0cmlwX3VybD1UcnVlKQogICAgICAgICAgICAgY29tbWVudF90ZXh0ID0gY29tbWl0X21lc3Nh
Z2UuYm9keShsc3RyaXA9VHJ1ZSkKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9t
b2R1bGVzL2xhbmRpbmdzZXF1ZW5jZS5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9s
YW5kaW5nc2VxdWVuY2UucHkKaW5kZXggZmJmNWU5NS4uMGQyODNlNiAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2xhbmRpbmdzZXF1ZW5jZS5weQorKysgYi9XZWJLaXRU
b29scy9TY3JpcHRzL21vZHVsZXMvbGFuZGluZ3NlcXVlbmNlLnB5CkBAIC0zMSw3ICszMSw2IEBA
CiBmcm9tIG1vZHVsZXMuY29tbWVudHMgaW1wb3J0IGJ1Z19jb21tZW50X2Zyb21fY29tbWl0X3Rl
eHQKIGZyb20gbW9kdWxlcy5sb2dnaW5nIGltcG9ydCBsb2cKIGZyb20gbW9kdWxlcy5zY20gaW1w
b3J0IFNjcmlwdEVycm9yLCBDaGVja291dE5lZWRzVXBkYXRlCi1mcm9tIG1vZHVsZXMud2Via2l0
bGFuZGluZ3NjcmlwdHMgaW1wb3J0IFdlYktpdExhbmRpbmdTY3JpcHRzLCBjb21taXRfbWVzc2Fn
ZV9mb3JfdGhpc19jb21taXQKIGZyb20gbW9kdWxlcy53ZWJraXRwb3J0IGltcG9ydCBXZWJLaXRQ
b3J0CiBmcm9tIG1vZHVsZXMud29ya3F1ZXVlIGltcG9ydCBXb3JrUXVldWUKIApAQCAtODgsNyAr
ODcsNyBAQCBjbGFzcyBMYW5kaW5nU2VxdWVuY2U6CiAgICAgICAgIHNlbGYuX3Rvb2wucnVuX3Rl
c3RzKGxhdW5jaF9zYWZhcmk9bm90IHNlbGYuX29wdGlvbnMubm9uX2ludGVyYWN0aXZlLCBmYWls
X2Zhc3Q9c2VsZi5fb3B0aW9ucy5ub25faW50ZXJhY3RpdmUsIHF1aWV0PXNlbGYuX29wdGlvbnMu
cXVpZXQsIHBvcnQ9c2VsZi5fcG9ydCkKIAogICAgIGRlZiBjb21taXQoc2VsZik6Ci0gICAgICAg
IGNvbW1pdF9tZXNzYWdlID0gY29tbWl0X21lc3NhZ2VfZm9yX3RoaXNfY29tbWl0KHNlbGYuX3Rv
b2wuc2NtKCkpCisgICAgICAgIGNvbW1pdF9tZXNzYWdlID0gc2VsZi5fdG9vbC5zY20oKS5jb21t
aXRfbWVzc2FnZV9mb3JfdGhpc19jb21taXQoKQogICAgICAgICByZXR1cm4gc2VsZi5fdG9vbC5z
Y20oKS5jb21taXRfd2l0aF9tZXNzYWdlKGNvbW1pdF9tZXNzYWdlLm1lc3NhZ2UoKSkKIAogICAg
IGRlZiBjbG9zZV9wYXRjaChzZWxmLCBjb21taXRfbG9nKToKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvbW9kdWxlcy9zY20ucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMv
c2NtLnB5CmluZGV4IGFkOTVkMjYuLjY0NjI4NzkgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1Nj
cmlwdHMvbW9kdWxlcy9zY20ucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL3Nj
bS5weQpAQCAtMzQsNiArMzQsNyBAQCBpbXBvcnQgcmUKIGltcG9ydCBzdWJwcm9jZXNzCiAKICMg
SW1wb3J0IFdlYktpdC1zcGVjaWZpYyBtb2R1bGVzLgorZnJvbSBtb2R1bGVzLmNoYW5nZWxvZ3Mg
aW1wb3J0IENoYW5nZUxvZwogZnJvbSBtb2R1bGVzLmxvZ2dpbmcgaW1wb3J0IGVycm9yLCBsb2cK
IAogZGVmIGRldGVjdF9zY21fc3lzdGVtKHBhdGgpOgpAQCAtMjEwLDYgKzIxMSwyNSBAQCBjbGFz
cyBTQ006CiAgICAgICAgICAgICAgICAgY2hhbmdlbG9nX3BhdGhzLmFwcGVuZChwYXRoKQogICAg
ICAgICByZXR1cm4gY2hhbmdlbG9nX3BhdGhzCiAKKyAgICAjIEZJWE1FOiBSZXF1aXJlcyB1bml0
IHRlc3QKKyAgICBkZWYgY29tbWl0X21lc3NhZ2VfZm9yX3RoaXNfY29tbWl0KHNlbGYpOgorICAg
ICAgICBjaGFuZ2Vsb2dfcGF0aHMgPSBzZWxmLm1vZGlmaWVkX2NoYW5nZWxvZ3MoKQorICAgICAg
ICBpZiBub3QgbGVuKGNoYW5nZWxvZ19wYXRocyk6CisgICAgICAgICAgICByYWlzZSBTY3JpcHRF
cnJvcihtZXNzYWdlPSJGb3VuZCBubyBtb2RpZmllZCBDaGFuZ2VMb2dzLCBjYW5ub3QgY3JlYXRl
IGEgY29tbWl0IG1lc3NhZ2UuXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQWxs
IGNoYW5nZXMgcmVxdWlyZSBhIENoYW5nZUxvZy4gIFNlZTpcbiIKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJodHRwOi8vd2Via2l0Lm9yZy9jb2RpbmcvY29udHJpYnV0aW5nLmh0bWwi
KQorCisgICAgICAgIGNoYW5nZWxvZ19tZXNzYWdlcyA9IFtdCisgICAgICAgIGZvciBjaGFuZ2Vs
b2dfcGF0aCBpbiBjaGFuZ2Vsb2dfcGF0aHM6CisgICAgICAgICAgICBsb2coIlBhcnNpbmcgQ2hh
bmdlTG9nOiAlcyIgJSBjaGFuZ2Vsb2dfcGF0aCkKKyAgICAgICAgICAgIGNoYW5nZWxvZ19lbnRy
eSA9IENoYW5nZUxvZyhjaGFuZ2Vsb2dfcGF0aCkubGF0ZXN0X2VudHJ5KCkKKyAgICAgICAgICAg
IGlmIG5vdCBjaGFuZ2Vsb2dfZW50cnk6CisgICAgICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJy
b3IobWVzc2FnZT0iRmFpbGVkIHRvIHBhcnNlIENoYW5nZUxvZzogIiArIG9zLnBhdGguYWJzcGF0
aChjaGFuZ2Vsb2dfcGF0aCkpCisgICAgICAgICAgICBjaGFuZ2Vsb2dfbWVzc2FnZXMuYXBwZW5k
KGNoYW5nZWxvZ19lbnRyeSkKKworICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGQgc29ydCBhbmQg
bGFiZWwgdGhlIENoYW5nZUxvZyBtZXNzYWdlcyBsaWtlIGNvbW1pdC1sb2ctZWRpdG9yIGRvZXMu
CisgICAgICAgIHJldHVybiBDb21taXRNZXNzYWdlKCIiLmpvaW4oY2hhbmdlbG9nX21lc3NhZ2Vz
KS5zcGxpdGxpbmVzKCkpCisKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIGluX3dvcmtpbmdf
ZGlyZWN0b3J5KHBhdGgpOgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yLCAic3Vi
Y2xhc3NlcyBtdXN0IGltcGxlbWVudCIKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
bW9kdWxlcy93ZWJraXRsYW5kaW5nc2NyaXB0cy5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9k
dWxlcy93ZWJraXRsYW5kaW5nc2NyaXB0cy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggOTZhYTQ3Yi4uMDAwMDAwMAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvd2Vi
a2l0bGFuZGluZ3NjcmlwdHMucHkKKysrIC9kZXYvbnVsbApAQCAtMSw4OSArMCwwIEBACi0jIS91
c3IvYmluL2VudiBweXRob24KLSMgQ29weXJpZ2h0IChjKSAyMDA5LCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotIyBDb3B5cmlnaHQgKGMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotIyBtZXQ6Ci0j
IAotIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSMgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotIyBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
Ci0jIGRpc3RyaWJ1dGlvbi4KLSMgICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cwotIyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotIyB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotIyAKLSMgVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UwotIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAotIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSMgT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCi0jIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKLSMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0jIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotIyBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0jIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi1pbXBvcnQgb3MKLWltcG9ydCBT
dHJpbmdJTwotaW1wb3J0IHN1YnByb2Nlc3MKLWltcG9ydCBzeXMKLQotZnJvbSBvcHRwYXJzZSBp
bXBvcnQgbWFrZV9vcHRpb24KLQotZnJvbSBtb2R1bGVzLmNoYW5nZWxvZ3MgaW1wb3J0IENoYW5n
ZUxvZwotZnJvbSBtb2R1bGVzLmxvZ2dpbmcgaW1wb3J0IGVycm9yLCBsb2csIHRlZQotZnJvbSBt
b2R1bGVzLnNjbSBpbXBvcnQgQ29tbWl0TWVzc2FnZSwgZGV0ZWN0X3NjbV9zeXN0ZW0sIFNjcmlw
dEVycm9yLCBDaGVja291dE5lZWRzVXBkYXRlCi1mcm9tIG1vZHVsZXMud2Via2l0cG9ydCBpbXBv
cnQgV2ViS2l0UG9ydAotCi1kZWYgY29tbWl0X21lc3NhZ2VfZm9yX3RoaXNfY29tbWl0KHNjbSk6
Ci0gICAgY2hhbmdlbG9nX3BhdGhzID0gc2NtLm1vZGlmaWVkX2NoYW5nZWxvZ3MoKQotICAgIGlm
IG5vdCBsZW4oY2hhbmdlbG9nX3BhdGhzKToKLSAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IobWVz
c2FnZT0iRm91bmQgbm8gbW9kaWZpZWQgQ2hhbmdlTG9ncywgY2Fubm90IGNyZWF0ZSBhIGNvbW1p
dCBtZXNzYWdlLlxuIgotICAgICAgICAgICAgICAgICAgICAgICAgICAiQWxsIGNoYW5nZXMgcmVx
dWlyZSBhIENoYW5nZUxvZy4gIFNlZTpcbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgImh0
dHA6Ly93ZWJraXQub3JnL2NvZGluZy9jb250cmlidXRpbmcuaHRtbCIpCi0KLSAgICBjaGFuZ2Vs
b2dfbWVzc2FnZXMgPSBbXQotICAgIGZvciBjaGFuZ2Vsb2dfcGF0aCBpbiBjaGFuZ2Vsb2dfcGF0
aHM6Ci0gICAgICAgIGxvZygiUGFyc2luZyBDaGFuZ2VMb2c6ICVzIiAlIGNoYW5nZWxvZ19wYXRo
KQotICAgICAgICBjaGFuZ2Vsb2dfZW50cnkgPSBDaGFuZ2VMb2coY2hhbmdlbG9nX3BhdGgpLmxh
dGVzdF9lbnRyeSgpCi0gICAgICAgIGlmIG5vdCBjaGFuZ2Vsb2dfZW50cnk6Ci0gICAgICAgICAg
ICByYWlzZSBTY3JpcHRFcnJvcihtZXNzYWdlPSJGYWlsZWQgdG8gcGFyc2UgQ2hhbmdlTG9nOiAi
ICsgb3MucGF0aC5hYnNwYXRoKGNoYW5nZWxvZ19wYXRoKSkKLSAgICAgICAgY2hhbmdlbG9nX21l
c3NhZ2VzLmFwcGVuZChjaGFuZ2Vsb2dfZW50cnkpCi0KLSAgICAjIEZJWE1FOiBXZSBzaG91bGQg
c29ydCBhbmQgbGFiZWwgdGhlIENoYW5nZUxvZyBtZXNzYWdlcyBsaWtlIGNvbW1pdC1sb2ctZWRp
dG9yIGRvZXMuCi0gICAgcmV0dXJuIENvbW1pdE1lc3NhZ2UoIiIuam9pbihjaGFuZ2Vsb2dfbWVz
c2FnZXMpLnNwbGl0bGluZXMoKSkKLQotCi1jbGFzcyBXZWJLaXRMYW5kaW5nU2NyaXB0czoKLSAg
ICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIGNsZWFuaW5nX29wdGlvbnMoKToKLSAgICAgICAgcmV0
dXJuIFsKLSAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLWZvcmNlLWNsZWFuIiwgYWN0aW9uPSJz
dG9yZV90cnVlIiwgZGVzdD0iZm9yY2VfY2xlYW4iLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSJDbGVh
biB3b3JraW5nIGRpcmVjdG9yeSBiZWZvcmUgYXBwbHlpbmcgcGF0Y2hlcyAocmVtb3ZlcyBsb2Nh
bCBjaGFuZ2VzIGFuZCBjb21taXRzKSIpLAotICAgICAgICAgICAgbWFrZV9vcHRpb24oIi0tbm8t
Y2xlYW4iLCBhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVzdD0iY2xlYW4iLCBkZWZhdWx0PVRydWUs
IGhlbHA9IkRvbid0IGNoZWNrIGlmIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBpcyBjbGVhbiBiZWZv
cmUgYXBwbHlpbmcgcGF0Y2hlcyIpLAotICAgICAgICBdCi0KLSAgICBAc3RhdGljbWV0aG9kCi0g
ICAgZGVmIGJ1aWxkX29wdGlvbnMoKToKLSAgICAgICAgcmV0dXJuIFsKLSAgICAgICAgICAgIG1h
a2Vfb3B0aW9uKCItLWlnbm9yZS1idWlsZGVycyIsIGFjdGlvbj0ic3RvcmVfZmFsc2UiLCBkZXN0
PSJjaGVja19idWlsZGVycyIsIGRlZmF1bHQ9VHJ1ZSwgaGVscD0iRG9uJ3QgY2hlY2sgdG8gc2Vl
IGlmIHRoZSBidWlsZC53ZWJraXQub3JnIGJ1aWxkZXJzIGFyZSBncmVlbiBiZWZvcmUgbGFuZGlu
Zy4iKSwKLSAgICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLXF1aWV0IiwgYWN0aW9uPSJzdG9yZV90
cnVlIiwgZGVzdD0icXVpZXQiLCBkZWZhdWx0PUZhbHNlLCBoZWxwPSJQcm9kdWNlIGxlc3MgY29u
c29sZSBvdXRwdXQuIiksCi0gICAgICAgICAgICBtYWtlX29wdGlvbigiLS1ub24taW50ZXJhY3Rp
dmUiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJub25faW50ZXJhY3RpdmUiLCBkZWZhdWx0
PUZhbHNlLCBoZWxwPSJOZXZlciBwcm9tcHQgdGhlIHVzZXIsIGZhaWwgYXMgZmFzdCBhcyBwb3Nz
aWJsZS4iKSwKLSAgICAgICAgXSArIFdlYktpdFBvcnQucG9ydF9vcHRpb25zKCkKLQotICAgIEBz
dGF0aWNtZXRob2QKLSAgICBkZWYgbGFuZF9vcHRpb25zKCk6Ci0gICAgICAgIHJldHVybiBbCi0g
ICAgICAgICAgICBtYWtlX29wdGlvbigiLS1uby11cGRhdGUiLCBhY3Rpb249InN0b3JlX2ZhbHNl
IiwgZGVzdD0idXBkYXRlIiwgZGVmYXVsdD1UcnVlLCBoZWxwPSJEb24ndCB1cGRhdGUgdGhlIHdv
cmtpbmcgZGlyZWN0b3J5LiIpLAotICAgICAgICAgICAgbWFrZV9vcHRpb24oIi0tbm8tYnVpbGQi
LCBhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVzdD0iYnVpbGQiLCBkZWZhdWx0PVRydWUsIGhlbHA9
IkNvbW1pdCB3aXRob3V0IGJ1aWxkaW5nIGZpcnN0LCBpbXBsaWVzIC0tbm8tdGVzdC4iKSwKLSAg
ICAgICAgICAgIG1ha2Vfb3B0aW9uKCItLW5vLXRlc3QiLCBhY3Rpb249InN0b3JlX2ZhbHNlIiwg
ZGVzdD0idGVzdCIsIGRlZmF1bHQ9VHJ1ZSwgaGVscD0iQ29tbWl0IHdpdGhvdXQgcnVubmluZyBy
dW4td2Via2l0LXRlc3RzLiIpLAotICAgICAgICAgICAgbWFrZV9vcHRpb24oIi0tbm8tY2xvc2Ui
LCBhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVzdD0iY2xvc2VfYnVnIiwgZGVmYXVsdD1UcnVlLCBo
ZWxwPSJMZWF2ZSBidWcgb3BlbiBhZnRlciBsYW5kaW5nLiIpLAotICAgICAgICBdCi0KLQotCi0K
</data>
<flag name="review"
          id="25651"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="25681"
          type_id="3"
          status="-"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>