<?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>197537</bug_id>
          
          <creation_ts>2019-05-02 17:41:58 -0700</creation_ts>
          <short_desc>Add a tool to block spammer accounts</short_desc>
          <delta_ts>2019-05-03 18:37:39 -0700</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>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>darin</cc>
    
    <cc>lforschler</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1532555</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-05-02 17:41:58 -0700</bug_when>
    <thetext>Add a command line tool to block accounts and hide their bugs and comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532558</commentid>
    <comment_count>1</comment_count>
      <attachid>368853</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-05-02 17:46:16 -0700</bug_when>
    <thetext>Created attachment 368853
proposed patch

I&apos;m not much of a Python programmer, but trying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532785</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-05-03 09:12:08 -0700</bug_when>
    <thetext>Can&apos;t this just be a button in the Bugzlla user account editing UI?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532813</commentid>
    <comment_count>3</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-05-03 09:48:28 -0700</bug_when>
    <thetext>It could possible be a Bugzilla extension.
https://www.bugzilla.org/docs/4.4/en/html/api/Bugzilla/Extension.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532814</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-05-03 09:50:10 -0700</bug_when>
    <thetext>It can if someone else writes the Perl code to do that. But that would be per account, and not in bulk like the tool supports.

I personally wouldn&apos;t be using such a button, as getting all the way to the user edit page is more effort than pasting a list of e-mails into command line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533036</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-05-03 15:57:37 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #4)
&gt; getting all the way to the
&gt; user edit page is more effort than pasting a list of e-mails into command
&gt; line.

My thought exactly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533122</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-05-03 18:34:55 -0700</bug_when>
    <thetext>Committed revision 244943.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1533123</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-05-03 18:37:39 -0700</bug_when>
    <thetext>To be fair, there are potential benefits to a server side implementation:

- Can use it from devices that don&apos;t have command line.

- Can be restricted to a custom group, so we could make more people spam fighters.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>368853</attachid>
            <date>2019-05-02 17:46:16 -0700</date>
            <delta_ts>2019-05-03 15:56:46 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>BlockSpammers.txt</filename>
            <type>text/plain</type>
            <size>11956</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI0NDg5NikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMxIEBACisyMDE5LTA1LTAyICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBhIHRvb2wgdG8gYmxvY2sgc3BhbW1lciBhY2NvdW50cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3NTM3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNhZ2U6IGJsb2NrLXNw
YW1tZXJzIGVtYWlsMSBlbWFpbDIgLi4uCisKKyAgICAgICAgVGhlIHRvb2wgZmluZHMgYW5kIGhp
ZGVzIGFsbCBidWdzIGFuZCBjb21tZW50cyBmcm9tIHRoaXMgYWNjb3VudC4gQmVmb3JlIGFueSB3
b3JrCisgICAgICAgIGlzIGRvbmUsIHRoZXNlIGJ1Z3MgYW5kIGNvbW1lbnRzIGFyZSBkaXNwbGF5
ZWQgZm9yIGNvbmZpcm1hdGlvbi4KKworICAgICAgICAqIFNjcmlwdHMvYmxvY2stc3BhbW1lcnM6
IEFkZGVkLgorICAgICAgICAoZ2V0X2J1Z3ppbGxhX3Rva2VuKToKKyAgICAgICAgKGludmFsaWRh
dGVfYnVnemlsbGFfdG9rZW4pOgorICAgICAgICAoZ2V0X3VzZXJfaW5mbyk6CisgICAgICAgIChn
ZXRfdXNlcl9pbmZvX3NlbGYpOgorICAgICAgICAoY2FuX3VzZV90aGlzX3Rvb2wpOgorICAgICAg
ICAoZGlzYWJsZV91c2VyKToKKyAgICAgICAgKGdldF9idWdzX2NyZWF0ZWRfYnlfdXNlcik6Cisg
ICAgICAgIChnZXRfYnVnc19jb21tZW50ZWRfb25fYnlfdXNlcik6CisgICAgICAgIChnZXRfY29t
bWVudHMpOgorICAgICAgICAoaGlkZV9idWcpOgorICAgICAgICAoaGlkZV9jb21tZW50cyk6Cisg
ICAgICAgIChhc2tfeWVzX25vKToKKyAgICAgICAgKHNhbml0aXplZF9zdHJpbmcpOgorICAgICAg
ICAobWFpbik6CisKIDIwMTktMDUtMDIgIENocmlzdG9waGVyIFJlaWQgIDxjaHJpcy5yZWlkQHNv
bnkuY29tPgogCiAgICAgICAgIFtDTWFrZV0gQWRkIHN1cHBvcnQgZm9yIExUTyBidWlsZHMKSW5k
ZXg6IFRvb2xzL1NjcmlwdHMvYmxvY2stc3BhbW1lcnMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2Ny
aXB0cy9ibG9jay1zcGFtbWVycwkobm9uZXhpc3RlbnQpCisrKyBUb29scy9TY3JpcHRzL2Jsb2Nr
LXNwYW1tZXJzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMyIEBACisjIS91c3IvYmluL2Vu
diBweXRob24KKworIyBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjCisjIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisj
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLiAKKyMgMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgSW5jLiAo
IkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorIyAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorIyAgICAgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAK
KyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkKKyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyMgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOworIyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyMgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GCisjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9ydCBhcmdwYXJzZQoraW1wb3J0IGF0ZXhp
dAoraW1wb3J0IHJlCitpbXBvcnQgcmVxdWVzdHMKK2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQg
c3lzCitmcm9tIGRhdGV1dGlsLnBhcnNlciBpbXBvcnQgcGFyc2UKKworYnVnemlsbGFfc2VsZl91
c2VyX2lkID0gTm9uZQorYnVnemlsbGFfdG9rZW4gPSBOb25lCisKK2RlZiBnZXRfYnVnemlsbGFf
dG9rZW4oKToKKyAgICBzZWN1cml0eSA9IHN1YnByb2Nlc3MuUG9wZW4oWycvdXNyL2Jpbi9zZWN1
cml0eScsICdmaW5kLWludGVybmV0LXBhc3N3b3JkJywgJy1ncycsICdidWdzLndlYmtpdC5vcmcn
XSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQorICAg
IHNlY3VyaXR5LndhaXQoKQorICAgIGlmIHNlY3VyaXR5LnJldHVybmNvZGU6CisgICAgICAgIHJh
aXNlIEV4Y2VwdGlvbignQ291bGQgbm90IGdldCBidWdzLndlYmtpdC5vcmcgY3JlZGVudGlhbHMg
ZnJvbSBLZXljaGFpbiwgZXhpdCBjb2RlICcgKyBzdHIoc2VjdXJpdHkucmV0dXJuY29kZSkpCisg
ICAgZm9yIGxpbmUgaW4gc2VjdXJpdHkuc3Rkb3V0OgorICAgICAgICBtID0gcmUuc2VhcmNoKCde
ICAgICJhY2N0IjxibG9iPj0iKC4rKSIkJywgbGluZSkKKyAgICAgICAgaWYgbToKKyAgICAgICAg
ICAgIGFjY291bnQgPSBtLmdyb3VwKDEpCisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBt
ID0gcmUuc2VhcmNoKCdecGFzc3dvcmQ6ICIoLispIiQnLCBsaW5lKQorICAgICAgICBpZiBtOgor
ICAgICAgICAgICAgcGFzc3dvcmQgPSBtLmdyb3VwKDEpCisgICAgaWYgbm90IGFjY291bnQgb3Ig
bm90IHBhc3N3b3JkOgorICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0NvdWxkIG5vdCBwYXJzZSBz
ZWN1cml0eSB0b29sIG91dHB1dCB0byBnZXQgYnVncy53ZWJraXQub3JnIGNyZWRlbnRpYWxzJykK
KworICAgIHJlc3BvbnNlID0gcmVxdWVzdHMuZ2V0KCdodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9y
ZXN0L2xvZ2luJywgcGFyYW1zPXsnbG9naW4nOiBhY2NvdW50LCAncGFzc3dvcmQnOiBwYXNzd29y
ZH0pLmpzb24oKQorICAgIGdsb2JhbCBidWd6aWxsYV90b2tlbgorICAgIGdsb2JhbCBidWd6aWxs
YV9zZWxmX3VzZXJfaWQKKyAgICBidWd6aWxsYV90b2tlbiA9IHJlc3BvbnNlWyd0b2tlbiddCisg
ICAgYnVnemlsbGFfc2VsZl91c2VyX2lkID0gcmVzcG9uc2VbJ2lkJ10KKyAgICBhdGV4aXQucmVn
aXN0ZXIoaW52YWxpZGF0ZV9idWd6aWxsYV90b2tlbikKKworCitkZWYgaW52YWxpZGF0ZV9idWd6
aWxsYV90b2tlbigpOgorICAgIHJlcXVlc3RzLmdldCgnaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
cmVzdC9sb2dvdXQ/JyArIGJ1Z3ppbGxhX3Rva2VuKQorCisKK2RlZiBnZXRfdXNlcl9pbmZvKGlk
KToKKyAgICByZXNwb25zZSA9IHJlcXVlc3RzLmdldCgnaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
cmVzdC91c2VyLycgKyBpZCwKKyAgICAgICAgcGFyYW1zPXsnaW5jbHVkZV9kaXNhYmxlZCc6IFRy
dWUsICd0b2tlbic6IGJ1Z3ppbGxhX3Rva2VufSkuanNvbigpCisgICAgaWYgbGVuKHJlc3BvbnNl
Wyd1c2VycyddKSAhPSAxOgorICAgICAgICByYWlzZSBFeGNlcHRpb24oJ1VuZXhwZWN0ZWQgbnVt
YmVyIG9mIGFjY291bnRzIGZvdW5kIGZvciAnICsgaWQgKyAnOiAnICsgc3RyKGxlbihyZXNwb25z
ZVsndXNlcnMnXSkpKQorICAgIHJldHVybiByZXNwb25zZVsndXNlcnMnXVswXQorCisKK2RlZiBn
ZXRfdXNlcl9pbmZvX3NlbGYoKToKKyAgICBnbG9iYWwgYnVnemlsbGFfc2VsZl91c2VyX2lkCisg
ICAgcmV0dXJuIGdldF91c2VyX2luZm8oc3RyKGJ1Z3ppbGxhX3NlbGZfdXNlcl9pZCkpCisKKwor
ZGVmIGNhbl91c2VfdGhpc190b29sKCk6CisgICAgbXlfZ3JvdXBzID0gW3hbJ25hbWUnXSBmb3Ig
eCBpbiBnZXRfdXNlcl9pbmZvX3NlbGYoKVsnZ3JvdXBzJ11dCisgICAgcmV0dXJuICdhZG1pbicg
aW4gbXlfZ3JvdXBzIG9yICgnZWRpdGJ1Z3MnIGluIG15X2dyb3VwcyBhbmQgJ2VkaXR1c2Vycycg
aW4gbXlfZ3JvdXBzIGFuZCAnU3BhbS1NYXN0ZXJzJyBpbiBteV9ncm91cHMgYW5kICdTZWN1cml0
eS1TZW5zaXRpdmUnIGluIG15X2dyb3VwcykKKworCitkZWYgZGlzYWJsZV91c2VyKHVzZXJfaWQs
IHJlYXNvbik6CisgICAgcmVzcG9uc2UgPSByZXF1ZXN0cy5wdXQoJ2h0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Jlc3QvdXNlci8nICsgc3RyKHVzZXJfaWQpLAorICAgICAgICBqc29uPXsnZW1haWxf
ZW5hYmxlZCc6IEZhbHNlLCAnbG9naW5fZGVuaWVkX3RleHQnOiByZWFzb259LAorICAgICAgICBw
YXJhbXMgPSB7J2VtYWlsX2VuYWJsZWQnOiBGYWxzZSwgJ2xvZ2luX2RlbmllZF90ZXh0JzogcmVh
c29uLCAndG9rZW4nOiBidWd6aWxsYV90b2tlbn0pCisgICAgcmVzcG9uc2UucmFpc2VfZm9yX3N0
YXR1cygpCisKKworZGVmIGdldF9idWdzX2NyZWF0ZWRfYnlfdXNlcihpZCk6CisgICAgcmVzcG9u
c2UgPSByZXF1ZXN0cy5nZXQoJ2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Jlc3QvYnVnJywKKyAg
ICAgICAgcGFyYW1zPXsncHJvZHVjdCc6IFsnV2ViS2l0JywgJ1NlY3VyaXR5J10sICdlbWFpbDEn
OiBpZCwgJ2VtYWlscmVwb3J0ZXIxJzogJzEnLCAnZW1haWx0eXBlMSc6ICdlcXVhbHMnLAorICAg
ICAgICAgICAgICAgICdpbmNsdWRlX2ZpZWxkcyc6ICdpZCxzdW1tYXJ5LHByb2R1Y3QnLCAndG9r
ZW4nOiBidWd6aWxsYV90b2tlbn0pCisgICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKVsnYnVncydd
CisKKworZGVmIGdldF9idWdzX2NvbW1lbnRlZF9vbl9ieV91c2VyKGlkKToKKyAgICByZXNwb25z
ZSA9IHJlcXVlc3RzLmdldCgnaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvcmVzdC9idWcnLAorICAg
ICAgICBwYXJhbXM9eydwcm9kdWN0JzogWydXZWJLaXQnLCAnU2VjdXJpdHknXSwgJ2VtYWlsMSc6
IGlkLCAnZW1haWxsb25nZGVzYzEnOiAnMScsICdlbWFpbHR5cGUxJzogJ2VxdWFscycsCisgICAg
ICAgICAgICAgICAgJ2luY2x1ZGVfZmllbGRzJzogJ2lkLHN1bW1hcnkscHJvZHVjdCcsICd0b2tl
bic6IGJ1Z3ppbGxhX3Rva2VufSkKKyAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpWydidWdzJ10K
KworCitkZWYgZ2V0X2NvbW1lbnRzKGJ1Z19pZCk6CisgICAgcmVzcG9uc2UgPSByZXF1ZXN0cy5n
ZXQoJ2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Jlc3QvYnVnLycgKyBzdHIoYnVnX2lkKSArICcv
Y29tbWVudCcsIHBhcmFtcz17J3Rva2VuJzogYnVnemlsbGFfdG9rZW59KQorICAgIHJldHVybiBy
ZXNwb25zZS5qc29uKClbJ2J1Z3MnXVtzdHIoYnVnX2lkKV1bImNvbW1lbnRzIl0KKworCitkZWYg
aGlkZV9idWcoYnVnX2lkKToKKyAgICByZXNwb25zZSA9IHJlcXVlc3RzLnB1dCgnaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvcmVzdC9idWcvJyArIHN0cihidWdfaWQpLAorICAgICAgICBqc29uPXsn
cHJvZHVjdCc6ICdTcGFtJywgJ2NvbXBvbmVudCc6ICdTcGFtJywgJ3ZlcnNpb24nOiAndW5zcGVj
aWZpZWQnLCAnaXNfY3JlYXRvcl9hY2Nlc3NpYmxlJzogRmFsc2UsICdpc19jY19hY2Nlc3NpYmxl
JzogRmFsc2V9LAorICAgICAgICBwYXJhbXMgPSB7J3Rva2VuJzogYnVnemlsbGFfdG9rZW59KQor
ICAgIGlmIG5vdCByZXNwb25zZToKKyAgICAgICAgcHJpbnQgJyEhISBGYWlsZWQgdG8gbW92ZSBi
dWcgJyArIHN0cihidWdfaWQpICsgJzogJyArIHJlc3BvbnNlLnRleHQKKworCitkZWYgaGlkZV9j
b21tZW50cyhidWdfaWQsIGNvbW1lbnRfaWRzKToKKyAgICByZXNwb25zZSA9IHJlcXVlc3RzLnB1
dCgnaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvcmVzdC9idWcvJyArIHN0cihidWdfaWQpLAorICAg
ICAgICBqc29uPXsnY29tbWVudF9pc19wcml2YXRlJzoge3N0cihpZCk6IFRydWUgZm9yIGlkIGlu
IGNvbW1lbnRfaWRzfX0sCisgICAgICAgIHBhcmFtcz17J3Rva2VuJzogYnVnemlsbGFfdG9rZW59
KQorICAgIGlmIG5vdCByZXNwb25zZToKKyAgICAgICAgcHJpbnQgJyEhISBGYWlsZWQgdG8gaGlk
ZSBjb21tZW50cyBmb3IgYnVnJyArIHN0cihidWdfaWQpICsgJzogJyArIHJlc3BvbnNlLnRleHQK
KyAgICBmb3IgY29tbWVudF9pZCBpbiBjb21tZW50X2lkczoKKyAgICAgICAgcmVzcG9uc2UgPSBy
ZXF1ZXN0cy5wdXQoJ2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Jlc3QvYnVnL2NvbW1lbnQvJyAr
IHN0cihjb21tZW50X2lkKSArICcvdGFncycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGpzb249eydjb21tZW50X2lkJzogY29tbWVudF9pZCwgJ2FkZCc6IFsnc3BhbSddfSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zPXsndG9rZW4nOiBidWd6aWxsYV90
b2tlbn0pCisgICAgICAgIGlmIG5vdCByZXNwb25zZToKKyAgICAgICAgICAgIHByaW50ICchISEg
RmFpbGVkIHRvIG1hcmsgY29tbWVudCB3aXRoIHNwYW0gdGFnOiAnICsgcmVzcG9uc2UudGV4dAor
CisKK2RlZiBhc2tfeWVzX25vKHF1ZXN0aW9uLCBkZWZhdWx0PSd5ZXMnKToKKyAgICBpZiBkZWZh
dWx0IGlzIE5vbmU6CisgICAgICAgIHByb21wdF9zdHJpbmcgPSAnIFt5L25dICcKKyAgICBlbGlm
IGRlZmF1bHQgPT0gJ3llcyc6CisgICAgICAgIHByb21wdF9zdHJpbmcgPSAnIFtZL25dICcKKyAg
ICBlbGlmIGRlZmF1bHQgPT0gJ25vJzoKKyAgICAgICAgcHJvbXB0X3N0cmluZyA9ICcgW3kvTl0g
JworCisgICAgYW5zd2Vycz0geyd5ZXMnOiBUcnVlLCAneSc6IFRydWUsICd5ZSc6IFRydWUsICdu
byc6IEZhbHNlLCAnbic6IEZhbHNlfQorICAgIHdoaWxlIFRydWU6CisgICAgICAgIHN5cy5zdGRv
dXQud3JpdGUocXVlc3Rpb24gKyBwcm9tcHRfc3RyaW5nKQorICAgICAgICByZXNwb25zZSA9IHJh
d19pbnB1dCgpLmxvd2VyKCkKKyAgICAgICAgaWYgZGVmYXVsdCBpcyBub3QgTm9uZSBhbmQgcmVz
cG9uc2UgPT0gJyc6CisgICAgICAgICAgICByZXR1cm4gYW5zd2Vyc1tkZWZhdWx0XQorICAgICAg
ICBlbGlmIHJlc3BvbnNlIGluIGFuc3dlcnM6CisgICAgICAgICAgICByZXR1cm4gYW5zd2Vyc1ty
ZXNwb25zZV0KKworCitkZWYgc2FuaXRpemVkX3N0cmluZyhzdHJpbmcpOgorICAgIHJldHVybiBz
dHJpbmcuZW5jb2RlKCd1dGYtOCcpLnRyYW5zbGF0ZShOb25lLCAnXHgxQicpCisKK2RlZiBtYWlu
KCk6CisgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249J0Js
b2NrIEJ1Z3ppbGxhIHNwYW1tZXJzLCBhbmQgaGlkZSB0aGVpciBjb21tZW50cy4nKQorICAgIHBh
cnNlci5hZGRfYXJndW1lbnQoJ2FjY291bnRzJywgbmFyZ3M9JysnLCBoZWxwPSdhY2NvdW50cyB0
byBibG9jaycpCisgICAgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKKworICAgIGdsb2JhbCBi
dWd6aWxsYV90b2tlbgorICAgIGdsb2JhbCBidWd6aWxsYV9zZWxmX3VzZXJfaWQKKyAgICBnZXRf
YnVnemlsbGFfdG9rZW4oKQorCisgICAgaWYgbm90IGNhbl91c2VfdGhpc190b29sKCk6CisgICAg
ICAgIHByaW50ICdZb3UgbmVlZCB0byBiZSBhIEJ1Z3ppbGxhIGFkbWluIHRvIHVzZSB0aGlzIHRv
b2wuJworICAgICAgICBleGl0KDEpCisKKyAgICBwcmludCAnRmV0Y2hpbmcgYWNjb3VudCBhY3Rp
dml0eS4uLicKKworICAgIHVzZXJzX3RvX2Rpc2FibGUgPSBbXQorICAgIGZvciBhY2NvdW50X2lk
IGluIGFyZ3MuYWNjb3VudHM6CisgICAgICAgIHVzZXJfaW5mbyA9IGdldF91c2VyX2luZm8oYWNj
b3VudF9pZCkKKyAgICAgICAgdXNlcnNfdG9fZGlzYWJsZS5hcHBlbmQodXNlcl9pbmZvKQorICAg
ICAgICB1c2VyX2luZm9bJ2J1Z3NfY3JlYXRlZCddID0gZ2V0X2J1Z3NfY3JlYXRlZF9ieV91c2Vy
KGFjY291bnRfaWQpCisgICAgICAgIGNyZWF0ZWRfYnVnX2lkcyA9IFt5WydpZCddIGZvciB5IGlu
IHVzZXJfaW5mb1snYnVnc19jcmVhdGVkJ11dCisgICAgICAgIHVzZXJfaW5mb1snYnVnc19jb21t
ZW50ZWQnXSA9IFt4IGZvciB4IGluIGdldF9idWdzX2NvbW1lbnRlZF9vbl9ieV91c2VyKGFjY291
bnRfaWQpIGlmIHhbJ2lkJ10gbm90IGluIGNyZWF0ZWRfYnVnX2lkc10KKyAgICAgICAgZm9yIGJ1
ZyBpbiB1c2VyX2luZm9bJ2J1Z3NfY29tbWVudGVkJ106CisgICAgICAgICAgICBidWdbJ2NvbW1l
bnRzJ10gPSBnZXRfY29tbWVudHMoYnVnWydpZCddKQorCisgICAgZm9yIHVzZXIgaW4gdXNlcnNf
dG9fZGlzYWJsZToKKyAgICAgICAgcHJpbnQgc2FuaXRpemVkX3N0cmluZyh1c2VyWydyZWFsX25h
bWUnXSkgKyAnIDwnICsgdXNlclsnbmFtZSddICsgJz4nCisgICAgICAgIGlmIG5vdCB1c2VyWydj
YW5fbG9naW4nXToKKyAgICAgICAgICAgIHByaW50ICcqKiogYWxyZWFkeSBkaXNhYmxlZCAqKion
CisgICAgICAgIGlmIHVzZXJbJ2J1Z3NfY3JlYXRlZCddOgorICAgICAgICAgICAgcHJpbnQgJ0Ny
ZWF0ZWQgJyArIHN0cihsZW4odXNlclsnYnVnc19jcmVhdGVkJ10pKSArICcgYnVnKHMpOicKKyAg
ICAgICAgICAgIGZvciBidWcgaW4gdXNlclsnYnVnc19jcmVhdGVkJ106CisgICAgICAgICAgICAg
ICAgcHJpbnQgJ2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0nICsgc3Ry
KGJ1Z1snaWQnXSkgKyAnICcgKyBzYW5pdGl6ZWRfc3RyaW5nKGJ1Z1snc3VtbWFyeSddKQorICAg
ICAgICBpZiB1c2VyWydidWdzX2NvbW1lbnRlZCddOgorICAgICAgICAgICAgcHJpbnQgJ0NvbW1l
bnRlZCBvbiAnICsgc3RyKGxlbih1c2VyWydidWdzX2NvbW1lbnRlZCddKSkgKyAnIGJ1ZyhzKTon
CisgICAgICAgIGZvciBidWcgaW4gdXNlclsnYnVnc19jb21tZW50ZWQnXToKKyAgICAgICAgICAg
IHByaW50ICdodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9JyArIHN0cihi
dWdbJ2lkJ10pICsgJyAnICsgc2FuaXRpemVkX3N0cmluZyhidWdbJ3N1bW1hcnknXSkKKyAgICAg
ICAgICAgIGZvciBjb21tZW50IGluIGJ1Z1snY29tbWVudHMnXToKKyAgICAgICAgICAgICAgICBp
ZiBjb21tZW50WydjcmVhdG9yJ10gPT0gdXNlclsnbmFtZSddOgorICAgICAgICAgICAgICAgICAg
ICBwcmludCAnQ29tbWVudCAnICsgc3RyKGNvbW1lbnRbJ2NvdW50J10pICsgJywgJyArIHN0cihw
YXJzZShjb21tZW50WydjcmVhdGlvbl90aW1lJ10pKSArICc6ICcgKyBzYW5pdGl6ZWRfc3RyaW5n
KGNvbW1lbnRbJ3RleHQnXSkKKyAgICAgICAgcHJpbnQKKworICAgIGlmIG5vdCBhc2tfeWVzX25v
KCJCbG9jayBhbGwgdGhlc2UgYWNjb3VudHMsIGFuZCBoaWRlIHRoZWlyIGJ1Z3MgYW5kIGNvbW1l
bnRzPyIpOgorICAgICAgICBwcmludCAiKioqIEV4aXRpbmcsIG5vIHdvcmsgcGVyZm9ybWVkICoq
KiIKKyAgICAgICAgZXhpdCgwKQorCisgICAgIyBCbG9jayBhbGwgb2YgdGhlIHVzZXJzIGZpcnN0
LCBzbyB0aGF0IHRoZXkgZG9uJ3QgcmVjZWl2ZSBlLW1haWwgbm90aWZpY2F0aW9ucyBhYm91dCBm
dXJ0aGVyIGFjdGlvbnMuCisgICAgZm9yIHVzZXIgaW4gdXNlcnNfdG9fZGlzYWJsZToKKyAgICAg
ICAgaWYgbm90IHVzZXJbJ2Nhbl9sb2dpbiddOgorICAgICAgICAgICAgcHJpbnQgJ1VzZXIgJyAr
IHN0cih1c2VyWyduYW1lJ10pICsgJyBpcyBhbHJlYWR5IGRpc2FibGVkLCBza2lwcGluZycKKyAg
ICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIHByaW50ICdEaXNhYmxpbmcgdXNlciAnICsgc3Ry
KHVzZXJbJ25hbWUnXSkKKyAgICAgICAgZGlzYWJsZV91c2VyKHVzZXJbJ2lkJ10sICdzcGFtJykK
KworICAgIGZvciB1c2VyIGluIHVzZXJzX3RvX2Rpc2FibGU6CisgICAgICAgIGZvciBidWcgaW4g
dXNlclsnYnVnc19jcmVhdGVkJ106CisgICAgICAgICAgICBpZiBidWdbJ3Byb2R1Y3QnXSA9PSAn
U3BhbSc6CisgICAgICAgICAgICAgICAgcHJpbnQgJ0J1ZyAnICsgc3RyKGJ1Z1snaWQnXSkgKyAn
IGlzIGFscmVhZHkgaW4gdGhlIFNwYW0gcHJvZHVjdCwgc2tpcHBpbmcnCisgICAgICAgICAgICAg
ICAgY29udGludWUKKyAgICAgICAgICAgIHByaW50ICdNb3ZpbmcgYnVnICcgKyBzdHIoYnVnWydp
ZCddKSArICcgdG8gdGhlIFNwYW0gcHJvZHVjdCcKKyAgICAgICAgICAgIGhpZGVfYnVnKGJ1Z1sn
aWQnXSkKKyAgICAgICAgZm9yIGJ1ZyBpbiB1c2VyWydidWdzX2NvbW1lbnRlZCddOgorICAgICAg
ICAgICAgY29tbWVudHNfdG9faGlkZSA9IFtdCisgICAgICAgICAgICBmb3IgY29tbWVudCBpbiBi
dWdbJ2NvbW1lbnRzJ106CisgICAgICAgICAgICAgICAgaWYgY29tbWVudFsnY3JlYXRvciddICE9
IHVzZXJbJ25hbWUnXToKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAg
ICAgICBpZiBjb21tZW50Wydpc19wcml2YXRlJ106CisgICAgICAgICAgICAgICAgICAgIHByaW50
ICdDb21tZW50ICcgKyBzdHIoY29tbWVudFsnY291bnQnXSkgKyAnIG9uIGJ1ZyAnICsgc3RyKGJ1
Z1snaWQnXSkgKyAnIGlzIGFscmVhZHkgcHJpdmF0ZSwgc2tpcHBpbmcnCisgICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgYXNzZXJ0KGNvbW1lbnRbJ2J1Z19pZCdd
ID09IGJ1Z1snaWQnXSkKKyAgICAgICAgICAgICAgICBjb21tZW50c190b19oaWRlLmFwcGVuZChj
b21tZW50WydpZCddKQorICAgICAgICAgICAgaWYgY29tbWVudHNfdG9faGlkZToKKyAgICAgICAg
ICAgICAgICBwcmludCAnSGlkaW5nIGNvbW1lbnQocykgZnJvbSB1c2VyICcgKyBzdHIodXNlclsn
bmFtZSddKSArICcgb24gYnVnICcgKyBzdHIoYnVnWydpZCddKQorICAgICAgICAgICAgaGlkZV9j
b21tZW50cyhidWdbJ2lkJ10sIGNvbW1lbnRzX3RvX2hpZGUpCisKKworaWYgX19uYW1lX18gPT0g
Il9fbWFpbl9fIjoKKyAgICBtYWluKCkKClByb3BlcnR5IGNoYW5nZXMgb246IFRvb2xzL1Njcmlw
dHMvYmxvY2stc3BhbW1lcnMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmV4ZWN1dGFibGUKIyMgLTAs
MCArMSAjIworKgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5Cg==
</data>
<flag name="review"
          id="385069"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>