<?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>34830</bug_id>
          
          <creation_ts>2010-02-10 23:13:47 -0800</creation_ts>
          <short_desc>Update webkit-patch modules to use User.prompt instead of raw_input and add optional support for repeated prompting for user input</short_desc>
          <delta_ts>2010-02-11 18:00:37 -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="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>189608</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-02-10 23:13:47 -0800</bug_when>
    <thetext>We should substitute the method User.prompt for raw_input throughout the various webkit-patch modules as well as add optional support for repeated prompting for user input.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189697</commentid>
    <comment_count>1</comment_count>
      <attachid>48565</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-02-11 08:29:46 -0800</bug_when>
    <thetext>Created attachment 48565
Patch with unit tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189702</commentid>
    <comment_count>2</comment_count>
      <attachid>48567</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-02-11 08:41:38 -0800</bug_when>
    <thetext>Created attachment 48567
Patch with unit tests

Updated prototype of method MockUser.prompt to match User.prompt. Fixed spacing/new line issue at end of file in user_unittest.py. Updated change log.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189788</commentid>
    <comment_count>3</comment_count>
      <attachid>48567</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-02-11 13:58:39 -0800</bug_when>
    <thetext>Comment on attachment 48567
Patch with unit tests

Very nice dependency injection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189851</commentid>
    <comment_count>4</comment_count>
      <attachid>48567</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-02-11 18:00:30 -0800</bug_when>
    <thetext>Comment on attachment 48567
Patch with unit tests

Clearing flags on attachment: 48567

Committed r54693: &lt;http://trac.webkit.org/changeset/54693&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189852</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2010-02-11 18:00:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48565</attachid>
            <date>2010-02-11 08:29:46 -0800</date>
            <delta_ts>2010-02-11 08:41:38 -0800</delta_ts>
            <desc>Patch with unit tests</desc>
            <filename>Bug34830.patch</filename>
            <type>text/plain</type>
            <size>7942</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU0NjQzKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDItMTAgIERhbmllbCBCYXRlcyAgPGRi
YXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDgzMAorCisg
ICAgICAgIE1ha2VzIG1ldGhvZCBVc2VyLnByb21wdCBzdGF0aWMgYW5kIGFkZHMgdGhlIHBhcmFt
ZXRlciByZXBlYXQKKyAgICAgICAgdG8gcHJvbXB0IHRoZSB1c2VyIHVwIHRvIHJlcGVhdCB0aW1l
cy4KKworICAgICAgICAqIFNjcmlwdHMvdGVzdC13ZWJraXRweToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2J1Z3ppbGxhLnB5OiBTdWJzdGl0dXRlZCBtZXRob2QgVXNlci5wcm9tcHQgZm9y
IG1ldGhvZCByYXdfaW5wdXQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tYW5kcy91
cGxvYWQucHk6IERpdHRvCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jcmVkZW50aWFscy5w
eTogRGl0dG8KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3VzZXIucHk6IE1hZGUgbWV0aG9k
IHByb21wdCBzdGF0aWMgYW5kIGFkZGVkIHBhcmFtZXRlciByZXBlYXQuCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS91c2VyX3VuaXR0ZXN0LnB5OiBBZGRlZC4KKwogMjAxMC0wMi0xMCAgRGly
ayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbC4KSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkJKHJldmlzaW9uIDU0
NjQxKQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5CSh3b3JraW5nIGNvcHkp
CkBAIC01MSw2ICs1MSw3IEBAIGZyb20gd2Via2l0cHkuc3RlcHMuc3RlcHNfdW5pdHRlc3QgaW1w
b3IKIGZyb20gd2Via2l0cHkuc3RlcHMuY2xvc2VidWdmb3JsYW5kZGlmZl91bml0dGVzdCBpbXBv
cnQgKgogZnJvbSB3ZWJraXRweS5zdGVwcy51cGRhdGVjaGFuZ2Vsb2dzd2l0aHJldmlld191bml0
dGVzdHMgaW1wb3J0ICoKIGZyb20gd2Via2l0cHkuc3R5bGUudW5pdHRlc3RzIGltcG9ydCAqICMg
Zm9yIGNoZWNrLXdlYmtpdC1zdHlsZQorZnJvbSB3ZWJraXRweS51c2VyX3VuaXR0ZXN0IGltcG9y
dCAqCiBmcm9tIHdlYmtpdHB5LndlYmtpdF9sb2dnaW5nX3VuaXR0ZXN0IGltcG9ydCAqCiBmcm9t
IHdlYmtpdHB5LndlYmtpdHBvcnRfdW5pdHRlc3QgaW1wb3J0ICoKIApJbmRleDogV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS9idWd6aWxsYS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2J1Z3ppbGxhLnB5CShyZXZpc2lvbiA1NDY0MSkKKysrIFdlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvYnVnemlsbGEucHkJKHdvcmtpbmcgY29weSkKQEAgLTM5
LDYgKzM5LDcgQEAgZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUgIyB1c2VkIGluIAogZnJv
bSB3ZWJraXRweS53ZWJraXRfbG9nZ2luZyBpbXBvcnQgZXJyb3IsIGxvZwogZnJvbSB3ZWJraXRw
eS5jb21taXR0ZXJzIGltcG9ydCBDb21taXR0ZXJMaXN0CiBmcm9tIHdlYmtpdHB5LmNyZWRlbnRp
YWxzIGltcG9ydCBDcmVkZW50aWFscworZnJvbSB3ZWJraXRweS51c2VyIGltcG9ydCBVc2VyCiAK
ICMgV2ViS2l0IGluY2x1ZGVzIGEgYnVpbHQgY29weSBvZiBCZWF1dGlmdWxTb3VwIGluIFNjcmlw
dHMvd2Via2l0cHkKICMgc28gdGhpcyBpbXBvcnQgc2hvdWxkIGFsd2F5cyBzdWNjZWVkLgpAQCAt
NTU5LDcgKzU2MCw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAgIGZvciBuYW1l
IGluIGNvbXBvbmVudHM6CiAgICAgICAgICAgICBpICs9IDEKICAgICAgICAgICAgIGxvZygiJTJk
LiAlcyIgJSAoaSwgbmFtZSkpCi0gICAgICAgIHJlc3VsdCA9IGludChyYXdfaW5wdXQoIkVudGVy
IGEgbnVtYmVyOiAiKSkgLSAxCisgICAgICAgIHJlc3VsdCA9IGludChVc2VyLnByb21wdCgiRW50
ZXIgYSBudW1iZXI6ICIpKSAtIDEKICAgICAgICAgcmV0dXJuIGNvbXBvbmVudHNbcmVzdWx0XQog
CiAgICAgZGVmIF9jaGVja19jcmVhdGVfYnVnX3Jlc3BvbnNlKHNlbGYsIHJlc3BvbnNlX2h0bWwp
OgpJbmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jcmVkZW50aWFscy5weQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NyZWRlbnRpYWxzLnB5CShy
ZXZpc2lvbiA1NDY0MSkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY3JlZGVudGlh
bHMucHkJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAgaW1wb3J0IHJlCiBmcm9tIHdl
YmtpdHB5LmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0aXZlLCBTY3JpcHRFcnJvcgogZnJvbSB3ZWJr
aXRweS53ZWJraXRfbG9nZ2luZyBpbXBvcnQgbG9nCiBmcm9tIHdlYmtpdHB5LnNjbSBpbXBvcnQg
R2l0Citmcm9tIHdlYmtpdHB5LnVzZXIgaW1wb3J0IFVzZXIKIAogCiBjbGFzcyBDcmVkZW50aWFs
cyhvYmplY3QpOgpAQCAtMTI0LDcgKzEyNSw3IEBAIGNsYXNzIENyZWRlbnRpYWxzKG9iamVjdCk6
CiAgICAgICAgICAgICAodXNlcm5hbWUsIHBhc3N3b3JkKSA9IHNlbGYuX2NyZWRlbnRpYWxzX2Zy
b21fa2V5Y2hhaW4odXNlcm5hbWUpCiAKICAgICAgICAgaWYgbm90IHVzZXJuYW1lOgotICAgICAg
ICAgICAgdXNlcm5hbWUgPSByYXdfaW5wdXQoIiVzIGxvZ2luOiAiICUgc2VsZi5ob3N0KQorICAg
ICAgICAgICAgdXNlcm5hbWUgPSBVc2VyLnByb21wdCgiJXMgbG9naW46ICIgJSBzZWxmLmhvc3Qp
CiAgICAgICAgIGlmIG5vdCBwYXNzd29yZDoKICAgICAgICAgICAgIHBhc3N3b3JkID0gZ2V0cGFz
cy5nZXRwYXNzKCIlcyBwYXNzd29yZCBmb3IgJXM6ICIgJSAoc2VsZi5ob3N0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
c2VybmFtZSkpCkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3VzZXIucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS91c2VyLnB5CShyZXZpc2lv
biA1NDY0MSkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdXNlci5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMzIsOCArMzIsMTMgQEAgaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCB3ZWJi
cm93c2VyCiAKIGNsYXNzIFVzZXIob2JqZWN0KToKLSAgICBkZWYgcHJvbXB0KHNlbGYsIG1lc3Nh
Z2UpOgotICAgICAgICByZXR1cm4gcmF3X2lucHV0KG1lc3NhZ2UpCisgICAgQHN0YXRpY21ldGhv
ZAorICAgIGRlZiBwcm9tcHQobWVzc2FnZSwgcmVwZWF0PTEsIHJhd19pbnB1dD1yYXdfaW5wdXQp
OgorICAgICAgICByZXNwb25zZSA9IE5vbmUKKyAgICAgICAgd2hpbGUgKHJlcGVhdCBhbmQgbm90
IHJlc3BvbnNlKToKKyAgICAgICAgICAgIHJlcGVhdCAtPSAxCisgICAgICAgICAgICByZXNwb25z
ZSA9IHJhd19pbnB1dChtZXNzYWdlKQorICAgICAgICByZXR1cm4gcmVzcG9uc2UKIAogICAgIGRl
ZiBlZGl0KHNlbGYsIGZpbGVzKToKICAgICAgICAgZWRpdG9yID0gb3MuZW52aXJvbi5nZXQoIkVE
SVRPUiIpIG9yICJ2aSIKSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdXNlcl91
bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Vz
ZXJfdW5pdHRlc3QucHkJKHJldmlzaW9uIDApCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3VzZXJfdW5pdHRlc3QucHkJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTQgQEAKKyMgQ29w
eXJpZ2h0IChDKSAyMDEwIFJlc2VhcmNoIGluIE1vdGlvbiBMdGQuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisjICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0
aW9uLgorIyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgUmVzZWFyY2ggaW4gTW90aW9uIEx0ZC4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
IyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQgdW5pdHRlc3QKK2Zyb20g
d2Via2l0cHkudXNlciBpbXBvcnQgVXNlcgorCitjbGFzcyBVc2VyVGVzdCh1bml0dGVzdC5UZXN0
Q2FzZSk6CisKKyAgICBleGFtcGxlX3VzZXJfcmVzcG9uc2UgPSAiZXhhbXBsZSB1c2VyIHJlc3Bv
bnNlIgorCisgICAgZGVmIHRlc3RfcHJvbXB0X3JlcGVhdChzZWxmKToKKyAgICAgICAgc2VsZi5y
ZXBlYXRzUmVtYWluaW5nID0gMgorICAgICAgICBkZWYgbW9ja19yYXdfaW5wdXQobWVzc2FnZSk6
CisgICAgICAgICAgICBzZWxmLnJlcGVhdHNSZW1haW5pbmcgLT0gMQorICAgICAgICAgICAgaWYg
bm90IHNlbGYucmVwZWF0c1JlbWFpbmluZzoKKyAgICAgICAgICAgICAgICByZXR1cm4gVXNlclRl
c3QuZXhhbXBsZV91c2VyX3Jlc3BvbnNlCisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKFVzZXIucHJvbXB0KCJpbnB1dCIsIHJlcGVhdD1zZWxmLnJlcGVh
dHNSZW1haW5pbmcsIHJhd19pbnB1dD1tb2NrX3Jhd19pbnB1dCksIFVzZXJUZXN0LmV4YW1wbGVf
dXNlcl9yZXNwb25zZSkKKworICAgIGRlZiB0ZXN0X3Byb21wdF93aGVuX2V4Y2VlZGVkX3JlcGVh
dHMoc2VsZik6CisgICAgICAgIHNlbGYucmVwZWF0c1JlbWFpbmluZyA9IDIKKyAgICAgICAgZGVm
IG1vY2tfcmF3X2lucHV0KG1lc3NhZ2UpOgorICAgICAgICAgICAgc2VsZi5yZXBlYXRzUmVtYWlu
aW5nIC09IDEKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoVXNlci5wcm9tcHQoImlucHV0IiwgcmVwZWF0PXNlbGYucmVwZWF0c1JlbWFpbmluZywgcmF3
X2lucHV0PW1vY2tfcmF3X2lucHV0KSwgTm9uZSkKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9f
JzoKKyAgICB1bml0dGVzdC5tYWluKCkKKyAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1hbmRzL3VwbG9hZC5weQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1hbmRzL3VwbG9hZC5w
eQkocmV2aXNpb24gNTQ2NDEpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1h
bmRzL3VwbG9hZC5weQkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBmcm9tIHdlYmtp
dHB5LmdyYW1tYXIgaW1wb3J0IHBsdXJhbGl6ZQogZnJvbSB3ZWJraXRweS53ZWJraXRfbG9nZ2lu
ZyBpbXBvcnQgZXJyb3IsIGxvZwogZnJvbSB3ZWJraXRweS5tb2NrIGltcG9ydCBNb2NrCiBmcm9t
IHdlYmtpdHB5Lm11bHRpY29tbWFuZHRvb2wgaW1wb3J0IEFic3RyYWN0RGVjbGFyYXRpdmVDb21t
YW5kCitmcm9tIHdlYmtpdHB5LnVzZXIgaW1wb3J0IFVzZXIKIAogY2xhc3MgQ29tbWl0TWVzc2Fn
ZUZvckN1cnJlbnREaWZmKEFic3RyYWN0RGVjbGFyYXRpdmVDb21tYW5kKToKICAgICBuYW1lID0g
ImNvbW1pdC1tZXNzYWdlIgpAQCAtMzgzLDcgKzM4NCw3IEBAIGNsYXNzIENyZWF0ZUJ1ZyhBYnN0
cmFjdERlY2xhcmF0aXZlQ29tbWEKICAgICAgICAgYnVnX2lkID0gdG9vbC5idWdzLmNyZWF0ZV9i
dWcoYnVnX3RpdGxlLCBjb21tZW50X3RleHQsIG9wdGlvbnMuY29tcG9uZW50LCBkaWZmX2ZpbGUs
ICJQYXRjaCIsIGNjPW9wdGlvbnMuY2MsIG1hcmtfZm9yX3Jldmlldz1vcHRpb25zLnJldmlldywg
bWFya19mb3JfY29tbWl0X3F1ZXVlPW9wdGlvbnMucmVxdWVzdF9jb21taXQpCiAKICAgICBkZWYg
cHJvbXB0X2Zvcl9idWdfdGl0bGVfYW5kX2NvbW1lbnQoc2VsZik6Ci0gICAgICAgIGJ1Z190aXRs
ZSA9IHJhd19pbnB1dCgiQnVnIHRpdGxlOiAiKQorICAgICAgICBidWdfdGl0bGUgPSBVc2VyLnBy
b21wdCgiQnVnIHRpdGxlOiAiKQogICAgICAgICBwcmludCAiQnVnIGNvbW1lbnQgKGhpdCBeRCBv
biBibGFuayBsaW5lIHRvIGVuZCk6IgogICAgICAgICBsaW5lcyA9IHN5cy5zdGRpbi5yZWFkbGlu
ZXMoKQogICAgICAgICB0cnk6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48567</attachid>
            <date>2010-02-11 08:41:38 -0800</date>
            <delta_ts>2010-02-11 18:00:30 -0800</delta_ts>
            <desc>Patch with unit tests</desc>
            <filename>Bug34830_1.patch</filename>
            <type>text/plain</type>
            <size>8521</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU0NjQzKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDItMTAgIERhbmllbCBCYXRlcyAgPGRi
YXRlc0ByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDgzMAorCisg
ICAgICAgIE1ha2VzIG1ldGhvZCBVc2VyLnByb21wdCBzdGF0aWMgYW5kIGFkZHMgdGhlIHBhcmFt
ZXRlciByZXBlYXQKKyAgICAgICAgdG8gcHJvbXB0IHRoZSB1c2VyIHVwIHRvIHJlcGVhdCB0aW1l
cy4KKworICAgICAgICAqIFNjcmlwdHMvdGVzdC13ZWJraXRweToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2J1Z3ppbGxhLnB5OiBTdWJzdGl0dXRlZCBtZXRob2QgVXNlci5wcm9tcHQgZm9y
IG1ldGhvZCByYXdfaW5wdXQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tYW5kcy91
cGxvYWQucHk6IERpdHRvCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jcmVkZW50aWFscy5w
eTogRGl0dG8KKyAgICAgICAgKiBTY3JpcHRzL21vY2tfYnVnemlsbGF0b29sLnB5OiBVcGRhdGVk
IHByb3RvdHlwZSBvZiBNb2NrVXNlci5wcm9tcHQgdG8gbWF0Y2ggVXNlci5wcm9tcHQuCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS91c2VyLnB5OiBNYWRlIG1ldGhvZCBwcm9tcHQgc3RhdGlj
IGFuZCBhZGRlZCBwYXJhbWV0ZXIgcmVwZWF0LgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
dXNlcl91bml0dGVzdC5weTogQWRkZWQuCisKIDIwMTAtMDItMTAgIERpcmsgUHJhbmtlICA8ZHBy
YW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCklu
ZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3Rlc3Qtd2Via2l0cHkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0VG9vbHMvU2NyaXB0cy90ZXN0LXdlYmtpdHB5CShyZXZpc2lvbiA1NDY0MSkKKysrIFdlYktp
dFRvb2xzL1NjcmlwdHMvdGVzdC13ZWJraXRweQkod29ya2luZyBjb3B5KQpAQCAtNTEsNiArNTEs
NyBAQCBmcm9tIHdlYmtpdHB5LnN0ZXBzLnN0ZXBzX3VuaXR0ZXN0IGltcG9yCiBmcm9tIHdlYmtp
dHB5LnN0ZXBzLmNsb3NlYnVnZm9ybGFuZGRpZmZfdW5pdHRlc3QgaW1wb3J0ICoKIGZyb20gd2Vi
a2l0cHkuc3RlcHMudXBkYXRlY2hhbmdlbG9nc3dpdGhyZXZpZXdfdW5pdHRlc3RzIGltcG9ydCAq
CiBmcm9tIHdlYmtpdHB5LnN0eWxlLnVuaXR0ZXN0cyBpbXBvcnQgKiAjIGZvciBjaGVjay13ZWJr
aXQtc3R5bGUKK2Zyb20gd2Via2l0cHkudXNlcl91bml0dGVzdCBpbXBvcnQgKgogZnJvbSB3ZWJr
aXRweS53ZWJraXRfbG9nZ2luZ191bml0dGVzdCBpbXBvcnQgKgogZnJvbSB3ZWJraXRweS53ZWJr
aXRwb3J0X3VuaXR0ZXN0IGltcG9ydCAqCiAKSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvYnVnemlsbGEucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9idWd6aWxsYS5weQkocmV2aXNpb24gNTQ2NDEpCisrKyBXZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L2J1Z3ppbGxhLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2ICszOSw3IEBAIGZy
b20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lICMgdXNlZCBpbiAKIGZyb20gd2Via2l0cHkud2Vi
a2l0X2xvZ2dpbmcgaW1wb3J0IGVycm9yLCBsb2cKIGZyb20gd2Via2l0cHkuY29tbWl0dGVycyBp
bXBvcnQgQ29tbWl0dGVyTGlzdAogZnJvbSB3ZWJraXRweS5jcmVkZW50aWFscyBpbXBvcnQgQ3Jl
ZGVudGlhbHMKK2Zyb20gd2Via2l0cHkudXNlciBpbXBvcnQgVXNlcgogCiAjIFdlYktpdCBpbmNs
dWRlcyBhIGJ1aWx0IGNvcHkgb2YgQmVhdXRpZnVsU291cCBpbiBTY3JpcHRzL3dlYmtpdHB5CiAj
IHNvIHRoaXMgaW1wb3J0IHNob3VsZCBhbHdheXMgc3VjY2VlZC4KQEAgLTU1OSw3ICs1NjAsNyBA
QCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogICAgICAgICBmb3IgbmFtZSBpbiBjb21wb25lbnRz
OgogICAgICAgICAgICAgaSArPSAxCiAgICAgICAgICAgICBsb2coIiUyZC4gJXMiICUgKGksIG5h
bWUpKQotICAgICAgICByZXN1bHQgPSBpbnQocmF3X2lucHV0KCJFbnRlciBhIG51bWJlcjogIikp
IC0gMQorICAgICAgICByZXN1bHQgPSBpbnQoVXNlci5wcm9tcHQoIkVudGVyIGEgbnVtYmVyOiAi
KSkgLSAxCiAgICAgICAgIHJldHVybiBjb21wb25lbnRzW3Jlc3VsdF0KIAogICAgIGRlZiBfY2hl
Y2tfY3JlYXRlX2J1Z19yZXNwb25zZShzZWxmLCByZXNwb25zZV9odG1sKToKSW5kZXg6IFdlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY3JlZGVudGlhbHMucHkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jcmVkZW50aWFscy5weQkocmV2aXNpb24gNTQ2NDEp
CisrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NyZWRlbnRpYWxzLnB5CSh3b3JraW5n
IGNvcHkpCkBAIC0zNyw2ICszNyw3IEBAIGltcG9ydCByZQogZnJvbSB3ZWJraXRweS5leGVjdXRp
dmUgaW1wb3J0IEV4ZWN1dGl2ZSwgU2NyaXB0RXJyb3IKIGZyb20gd2Via2l0cHkud2Via2l0X2xv
Z2dpbmcgaW1wb3J0IGxvZwogZnJvbSB3ZWJraXRweS5zY20gaW1wb3J0IEdpdAorZnJvbSB3ZWJr
aXRweS51c2VyIGltcG9ydCBVc2VyCiAKIAogY2xhc3MgQ3JlZGVudGlhbHMob2JqZWN0KToKQEAg
LTEyNCw3ICsxMjUsNyBAQCBjbGFzcyBDcmVkZW50aWFscyhvYmplY3QpOgogICAgICAgICAgICAg
KHVzZXJuYW1lLCBwYXNzd29yZCkgPSBzZWxmLl9jcmVkZW50aWFsc19mcm9tX2tleWNoYWluKHVz
ZXJuYW1lKQogCiAgICAgICAgIGlmIG5vdCB1c2VybmFtZToKLSAgICAgICAgICAgIHVzZXJuYW1l
ID0gcmF3X2lucHV0KCIlcyBsb2dpbjogIiAlIHNlbGYuaG9zdCkKKyAgICAgICAgICAgIHVzZXJu
YW1lID0gVXNlci5wcm9tcHQoIiVzIGxvZ2luOiAiICUgc2VsZi5ob3N0KQogICAgICAgICBpZiBu
b3QgcGFzc3dvcmQ6CiAgICAgICAgICAgICBwYXNzd29yZCA9IGdldHBhc3MuZ2V0cGFzcygiJXMg
cGFzc3dvcmQgZm9yICVzOiAiICUgKHNlbGYuaG9zdCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcm5hbWUpKQpJbmRl
eDogV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9tb2NrX2J1Z3ppbGxhdG9vbC5weQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L21vY2tfYnVnemlsbGF0b29s
LnB5CShyZXZpc2lvbiA1NDY0MSkKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbW9j
a19idWd6aWxsYXRvb2wucHkJKHdvcmtpbmcgY29weSkKQEAgLTMyMSw3ICszMjEsOCBAQCBjbGFz
cyBNb2NrU0NNKE1vY2spOgogCiBjbGFzcyBNb2NrVXNlcihvYmplY3QpOgogCi0gICAgZGVmIHBy
b21wdChzZWxmLCBtZXNzYWdlKToKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIHByb21wdCht
ZXNzYWdlLCByZXBlYXQ9MSwgcmF3X2lucHV0PXJhd19pbnB1dCk6CiAgICAgICAgIHJldHVybiAi
TW9jayB1c2VyIHJlc3BvbnNlIgogCiAgICAgZGVmIGVkaXQoc2VsZiwgZmlsZXMpOgpJbmRleDog
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS91c2VyLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdXNlci5weQkocmV2aXNpb24gNTQ2NDEpCisrKyBXZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3VzZXIucHkJKHdvcmtpbmcgY29weSkKQEAgLTMyLDgg
KzMyLDEzIEBAIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgd2ViYnJvd3NlcgogCiBjbGFzcyBV
c2VyKG9iamVjdCk6Ci0gICAgZGVmIHByb21wdChzZWxmLCBtZXNzYWdlKToKLSAgICAgICAgcmV0
dXJuIHJhd19pbnB1dChtZXNzYWdlKQorICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgcHJvbXB0
KG1lc3NhZ2UsIHJlcGVhdD0xLCByYXdfaW5wdXQ9cmF3X2lucHV0KToKKyAgICAgICAgcmVzcG9u
c2UgPSBOb25lCisgICAgICAgIHdoaWxlIChyZXBlYXQgYW5kIG5vdCByZXNwb25zZSk6CisgICAg
ICAgICAgICByZXBlYXQgLT0gMQorICAgICAgICAgICAgcmVzcG9uc2UgPSByYXdfaW5wdXQobWVz
c2FnZSkKKyAgICAgICAgcmV0dXJuIHJlc3BvbnNlCiAKICAgICBkZWYgZWRpdChzZWxmLCBmaWxl
cyk6CiAgICAgICAgIGVkaXRvciA9IG9zLmVudmlyb24uZ2V0KCJFRElUT1IiKSBvciAidmkiCklu
ZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3VzZXJfdW5pdHRlc3QucHkKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS91c2VyX3VuaXR0ZXN0LnB5CShy
ZXZpc2lvbiAwKQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS91c2VyX3VuaXR0ZXN0
LnB5CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUzIEBACisjIENvcHlyaWdodCAoQykgMjAxMCBS
ZXNlYXJjaCBpbiBNb3Rpb24gTHRkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorIyBtZXQ6CisjCisjICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIFJlc2VhcmNoIGluIE1vdGlvbiBMdGQuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyMgIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisjIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisjIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorIyBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisjIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorIyBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyMgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKworaW1wb3J0IHVuaXR0ZXN0Citmcm9tIHdlYmtpdHB5LnVzZXIgaW1w
b3J0IFVzZXIKKworY2xhc3MgVXNlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZXhh
bXBsZV91c2VyX3Jlc3BvbnNlID0gImV4YW1wbGUgdXNlciByZXNwb25zZSIKKworICAgIGRlZiB0
ZXN0X3Byb21wdF9yZXBlYXQoc2VsZik6CisgICAgICAgIHNlbGYucmVwZWF0c1JlbWFpbmluZyA9
IDIKKyAgICAgICAgZGVmIG1vY2tfcmF3X2lucHV0KG1lc3NhZ2UpOgorICAgICAgICAgICAgc2Vs
Zi5yZXBlYXRzUmVtYWluaW5nIC09IDEKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLnJlcGVhdHNS
ZW1haW5pbmc6CisgICAgICAgICAgICAgICAgcmV0dXJuIFVzZXJUZXN0LmV4YW1wbGVfdXNlcl9y
ZXNwb25zZQorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChVc2VyLnByb21wdCgiaW5wdXQiLCByZXBlYXQ9c2VsZi5yZXBlYXRzUmVtYWluaW5nLCByYXdf
aW5wdXQ9bW9ja19yYXdfaW5wdXQpLCBVc2VyVGVzdC5leGFtcGxlX3VzZXJfcmVzcG9uc2UpCisK
KyAgICBkZWYgdGVzdF9wcm9tcHRfd2hlbl9leGNlZWRlZF9yZXBlYXRzKHNlbGYpOgorICAgICAg
ICBzZWxmLnJlcGVhdHNSZW1haW5pbmcgPSAyCisgICAgICAgIGRlZiBtb2NrX3Jhd19pbnB1dCht
ZXNzYWdlKToKKyAgICAgICAgICAgIHNlbGYucmVwZWF0c1JlbWFpbmluZyAtPSAxCisgICAgICAg
ICAgICByZXR1cm4gTm9uZQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFVzZXIucHJvbXB0KCJp
bnB1dCIsIHJlcGVhdD1zZWxmLnJlcGVhdHNSZW1haW5pbmcsIHJhd19pbnB1dD1tb2NrX3Jhd19p
bnB1dCksIE5vbmUpCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3Qu
bWFpbigpCkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1hbmRzL3VwbG9h
ZC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1hbmRz
L3VwbG9hZC5weQkocmV2aXNpb24gNTQ2NDEpCisrKyBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1hbmRzL3VwbG9hZC5weQkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBm
cm9tIHdlYmtpdHB5LmdyYW1tYXIgaW1wb3J0IHBsdXJhbGl6ZQogZnJvbSB3ZWJraXRweS53ZWJr
aXRfbG9nZ2luZyBpbXBvcnQgZXJyb3IsIGxvZwogZnJvbSB3ZWJraXRweS5tb2NrIGltcG9ydCBN
b2NrCiBmcm9tIHdlYmtpdHB5Lm11bHRpY29tbWFuZHRvb2wgaW1wb3J0IEFic3RyYWN0RGVjbGFy
YXRpdmVDb21tYW5kCitmcm9tIHdlYmtpdHB5LnVzZXIgaW1wb3J0IFVzZXIKIAogY2xhc3MgQ29t
bWl0TWVzc2FnZUZvckN1cnJlbnREaWZmKEFic3RyYWN0RGVjbGFyYXRpdmVDb21tYW5kKToKICAg
ICBuYW1lID0gImNvbW1pdC1tZXNzYWdlIgpAQCAtMzgzLDcgKzM4NCw3IEBAIGNsYXNzIENyZWF0
ZUJ1ZyhBYnN0cmFjdERlY2xhcmF0aXZlQ29tbWEKICAgICAgICAgYnVnX2lkID0gdG9vbC5idWdz
LmNyZWF0ZV9idWcoYnVnX3RpdGxlLCBjb21tZW50X3RleHQsIG9wdGlvbnMuY29tcG9uZW50LCBk
aWZmX2ZpbGUsICJQYXRjaCIsIGNjPW9wdGlvbnMuY2MsIG1hcmtfZm9yX3Jldmlldz1vcHRpb25z
LnJldmlldywgbWFya19mb3JfY29tbWl0X3F1ZXVlPW9wdGlvbnMucmVxdWVzdF9jb21taXQpCiAK
ICAgICBkZWYgcHJvbXB0X2Zvcl9idWdfdGl0bGVfYW5kX2NvbW1lbnQoc2VsZik6Ci0gICAgICAg
IGJ1Z190aXRsZSA9IHJhd19pbnB1dCgiQnVnIHRpdGxlOiAiKQorICAgICAgICBidWdfdGl0bGUg
PSBVc2VyLnByb21wdCgiQnVnIHRpdGxlOiAiKQogICAgICAgICBwcmludCAiQnVnIGNvbW1lbnQg
KGhpdCBeRCBvbiBibGFuayBsaW5lIHRvIGVuZCk6IgogICAgICAgICBsaW5lcyA9IHN5cy5zdGRp
bi5yZWFkbGluZXMoKQogICAgICAgICB0cnk6Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>