<?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>31688</bug_id>
          
          <creation_ts>2009-11-19 14:37:59 -0800</creation_ts>
          <short_desc>Split out command parsing and help printing from BugzillaTool</short_desc>
          <delta_ts>2009-11-19 15:38:36 -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>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>165093</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-19 14:37:59 -0800</bug_when>
    <thetext>Split out command parsing and help printing from BugzillaTool

Make a new class MultiCommandTool which encapsulates the idea of a tool like git or svn which has semantics like:

tool-name [global options] command-name [command-options]

I don&apos;t know that we&apos;ll ever make another tool, but splitting this out from BugzillaTool proper will allow us to move it into a module and test it more easily.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165106</commentid>
    <comment_count>1</comment_count>
      <attachid>43528</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-19 15:08:20 -0800</bug_when>
    <thetext>Created attachment 43528
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165112</commentid>
    <comment_count>2</comment_count>
      <attachid>43528</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-11-19 15:13:36 -0800</bug_when>
    <thetext>Comment on attachment 43528
Patch

Ok.  I don&apos;t think this is the last work on this topic, but it&apos;s progress.  We should move the abstract class to its own file and add tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165121</commentid>
    <comment_count>3</comment_count>
      <attachid>43528</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-19 15:29:06 -0800</bug_when>
    <thetext>Comment on attachment 43528
Patch

Clearing flags on attachment: 43528

Committed r51209: &lt;http://trac.webkit.org/changeset/51209&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165122</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-19 15:29:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165128</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-19 15:38:36 -0800</bug_when>
    <thetext>Committed r51213: &lt;http://trac.webkit.org/changeset/51213&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43528</attachid>
            <date>2009-11-19 15:08:20 -0800</date>
            <delta_ts>2009-11-19 15:29:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-31688-20091119150819.patch</filename>
            <type>text/plain</type>
            <size>11594</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBiZGExMzdkLi45MTdmZDUzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMTkgQEAKIAogICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBTcGxpdCBvdXQgY29tbWFu
ZCBwYXJzaW5nIGFuZCBoZWxwIHByaW50aW5nIGZyb20gQnVnemlsbGFUb29sCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTY4OAorCisgICAgICAgICog
U2NyaXB0cy9idWd6aWxsYS10b29sOgorICAgICAgICAgLSBBZGQgbmV3IE11bHRpQ29tbWFuZFRv
b2wgY2xhc3MgdG8gY29udGFpbiBvcHRpb24gcGFyc2luZyBhbmQgaGVscCBwcmludGluZyBsb2dp
Yy4KKyAgICAgICAgIC0gUmVuYW1lIHByaXZhdGUgbWV0aG9kcyB0byB1c2UgXyBwYXR0ZXJuLgor
ICAgICAgICAgLSBNdWx0aUNvbW1hbmRUb29sIGhhcyB0d28gYWJzdHJhY3QgbWV0aG9kcyBzaG91
bGRfc2hvd19jb21tYW5kX2hlbHAgYW5kIHNob3VsZF9leGVjdXRlX2NvbW1hbmQuCisgICAgICAg
ICAtIAorCisyMDA5LTExLTE5ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBSZS1mYWN0b3IgaGVs
cCBwcmludGluZyB0byB1c2UgbW9kZXJuIHB5dGhvbiBpZGlvbXMKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxNjg1CiAKZGlmZiAtLWdpdCBhL1dlYktp
dFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbCBiL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVnemls
bGEtdG9vbAppbmRleCBiNzJjOWYyLi40ODE3ZTNlIDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9T
Y3JpcHRzL2J1Z3ppbGxhLXRvb2wKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10
b29sCkBAIC04NTAsNTQgKzg1MCwxMyBAQCBjbGFzcyBIZWxwUHJpbnRpbmdPcHRpb25QYXJzZXIo
T3B0aW9uUGFyc2VyKToKICAgICAgICAgc2VsZi5leGl0KDIsIGVycm9yX21lc3NhZ2UpCiAKIAot
Y2xhc3MgQnVnemlsbGFUb29sOgotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgc2Vs
Zi5jYWNoZWRfc2NtID0gTm9uZQotICAgICAgICBzZWxmLmJ1Z3MgPSBCdWd6aWxsYSgpCi0gICAg
ICAgIHNlbGYuYnVpbGRib3QgPSBCdWlsZEJvdCgpCi0gICAgICAgIHNlbGYuY29tbWFuZHMgPSBb
Ci0gICAgICAgICAgICB7ICJuYW1lIiA6ICJidWdzLXRvLWNvbW1pdCIsICJvYmplY3QiIDogQnVn
c1RvQ29tbWl0KCkgfSwKLSAgICAgICAgICAgIHsgIm5hbWUiIDogInBhdGNoZXMtdG8tY29tbWl0
IiwgIm9iamVjdCIgOiBQYXRjaGVzVG9Db21taXQoKSB9LAotICAgICAgICAgICAgeyAibmFtZSIg
OiAicmV2aWV3ZWQtcGF0Y2hlcyIsICJvYmplY3QiIDogUmV2aWV3ZWRQYXRjaGVzKCkgfSwKLSAg
ICAgICAgICAgIHsgIm5hbWUiIDogImNyZWF0ZS1idWciLCAib2JqZWN0IiA6IENyZWF0ZUJ1Zygp
IH0sCi0gICAgICAgICAgICB7ICJuYW1lIiA6ICJhcHBseS1hdHRhY2htZW50IiwgIm9iamVjdCIg
OiBBcHBseUF0dGFjaG1lbnQoKSB9LAotICAgICAgICAgICAgeyAibmFtZSIgOiAiYXBwbHktcGF0
Y2hlcyIsICJvYmplY3QiIDogQXBwbHlQYXRjaGVzKCkgfSwKLSAgICAgICAgICAgIHsgIm5hbWUi
IDogImxhbmQtZGlmZiIsICJvYmplY3QiIDogTGFuZERpZmYoKSB9LAotICAgICAgICAgICAgeyAi
bmFtZSIgOiAibGFuZC1hdHRhY2htZW50IiwgIm9iamVjdCIgOiBMYW5kQXR0YWNobWVudCgpIH0s
Ci0gICAgICAgICAgICB7ICJuYW1lIiA6ICJsYW5kLXBhdGNoZXMiLCAib2JqZWN0IiA6IExhbmRQ
YXRjaGVzKCkgfSwKLSAgICAgICAgICAgIHsgIm5hbWUiIDogImNoZWNrLXN0eWxlIiwgIm9iamVj
dCIgOiBDaGVja1N0eWxlKCkgfSwKLSAgICAgICAgICAgIHsgIm5hbWUiIDogImNvbW1pdC1tZXNz
YWdlIiwgIm9iamVjdCIgOiBDb21taXRNZXNzYWdlRm9yQ3VycmVudERpZmYoKSB9LAotICAgICAg
ICAgICAgeyAibmFtZSIgOiAib2Jzb2xldGUtYXR0YWNobWVudHMiLCAib2JqZWN0IiA6IE9ic29s
ZXRlQXR0YWNobWVudHMoKSB9LAotICAgICAgICAgICAgeyAibmFtZSIgOiAicG9zdC1kaWZmIiwg
Im9iamVjdCIgOiBQb3N0RGlmZigpIH0sCi0gICAgICAgICAgICB7ICJuYW1lIiA6ICJwb3N0LWNv
bW1pdHMiLCAib2JqZWN0IiA6IFBvc3RDb21taXRzKCkgfSwKLSAgICAgICAgICAgIHsgIm5hbWUi
IDogInRyZWUtc3RhdHVzIiwgIm9iamVjdCIgOiBUcmVlU3RhdHVzKCkgfSwKLSAgICAgICAgICAg
IHsgIm5hbWUiIDogImNvbW1pdC1xdWV1ZSIsICJvYmplY3QiIDogQ29tbWl0UXVldWUoKSB9LAot
ICAgICAgICAgICAgeyAibmFtZSIgOiAic3R5bGUtcXVldWUiLCAib2JqZWN0IiA6IFN0eWxlUXVl
dWUoKSB9LAotICAgICAgICAgICAgeyAibmFtZSIgOiAicm9sbG91dCIsICJvYmplY3QiIDogUm9s
bG91dCgpIH0sCi0gICAgICAgIF0KLQotICAgICAgICBzZWxmLmdsb2JhbF9vcHRpb25fcGFyc2Vy
ID0gSGVscFByaW50aW5nT3B0aW9uUGFyc2VyKHVzYWdlPXNlbGYudXNhZ2VfbGluZSgpLCBmb3Jt
YXR0ZXI9Tm9uV3JhcHBpbmdFcGlsb2dJbmRlbnRlZEhlbHBGb3JtYXR0ZXIoKSwgZXBpbG9nPXNl
bGYuY29tbWFuZHNfdXNhZ2UoKSkKLSAgICAgICAgc2VsZi5nbG9iYWxfb3B0aW9uX3BhcnNlci5h
ZGRfb3B0aW9uKCItLWRyeS1ydW4iLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJkcnlydW4i
LCBoZWxwPSJkbyBub3QgdG91Y2ggcmVtb3RlIHNlcnZlcnMiLCBkZWZhdWx0PUZhbHNlKQotCi0g
ICAgZGVmIHNjbShzZWxmKToKLSAgICAgICAgIyBMYXppbHkgaW5pdGlhbGl6ZSBTQ00gdG8gbm90
IGVycm9yLW91dCBiZWZvcmUgY29tbWFuZCBsaW5lIHBhcnNpbmcgKG9yIHdoZW4gcnVubmluZyBu
b24tc2NtIGNvbW1hbmRzKS4KLSAgICAgICAgb3JpZ2luYWxfY3dkID0gb3MucGF0aC5hYnNwYXRo
KCIuIikKLSAgICAgICAgaWYgbm90IHNlbGYuY2FjaGVkX3NjbToKLSAgICAgICAgICAgIHNlbGYu
Y2FjaGVkX3NjbSA9IGRldGVjdF9zY21fc3lzdGVtKG9yaWdpbmFsX2N3ZCkKLSAgICAgICAgCi0g
ICAgICAgIGlmIG5vdCBzZWxmLmNhY2hlZF9zY206Ci0gICAgICAgICAgICBzY3JpcHRfZGlyZWN0
b3J5ID0gb3MucGF0aC5hYnNwYXRoKHN5cy5wYXRoWzBdKQotICAgICAgICAgICAgd2Via2l0X2Rp
cmVjdG9yeSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oc2NyaXB0X2RpcmVjdG9yeSwg
Ii4uLy4uIikpCi0gICAgICAgICAgICBzZWxmLmNhY2hlZF9zY20gPSBkZXRlY3Rfc2NtX3N5c3Rl
bSh3ZWJraXRfZGlyZWN0b3J5KQotICAgICAgICAgICAgaWYgc2VsZi5jYWNoZWRfc2NtOgotICAg
ICAgICAgICAgICAgIGxvZygiVGhlIGN1cnJlbnQgZGlyZWN0b3J5ICglcykgaXMgbm90IGEgV2Vi
S2l0IGNoZWNrb3V0LCB1c2luZyAlcyIgJSAob3JpZ2luYWxfY3dkLCB3ZWJraXRfZGlyZWN0b3J5
KSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZXJyb3IoIkZBVEFMOiBGYWls
ZWQgdG8gZGV0ZXJtaW5lIHRoZSBTQ00gc3lzdGVtIGZvciBlaXRoZXIgJXMgb3IgJXMiICUgKG9y
aWdpbmFsX2N3ZCwgd2Via2l0X2RpcmVjdG9yeSkpCi0gICAgICAgIAotICAgICAgICByZXR1cm4g
c2VsZi5jYWNoZWRfc2NtCitjbGFzcyBNdWx0aUNvbW1hbmRUb29sOgorICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBjb21tYW5kcyk6CisgICAgICAgIHNlbGYuY29tbWFuZHMgPSBjb21tYW5kcworICAg
ICAgICBzZWxmLmdsb2JhbF9vcHRpb25fcGFyc2VyID0gSGVscFByaW50aW5nT3B0aW9uUGFyc2Vy
KHVzYWdlPXNlbGYuX3VzYWdlX2xpbmUoKSwgZm9ybWF0dGVyPU5vbldyYXBwaW5nRXBpbG9nSW5k
ZW50ZWRIZWxwRm9ybWF0dGVyKCksIGVwaWxvZz1zZWxmLl9jb21tYW5kc191c2FnZSgpKQogCiAg
ICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiB1c2FnZV9saW5lKCk6CisgICAgZGVmIF91c2FnZV9s
aW5lKCk6CiAgICAgICAgIHJldHVybiAiVXNhZ2U6ICVwcm9nIFtvcHRpb25zXSBjb21tYW5kIFtj
b21tYW5kLW9wdGlvbnNdIFtjb21tYW5kLWFyZ3VtZW50c10iCiAKICAgICAjIEZJWE1FOiBUaGlz
IGNhbiBhbGwgYmUgc2ltcGxpZmllZCBvbmNlIENvbW1hbmQgb2JqZWN0cyBrbm93IHRoZWlyIG93
biBuYW1lcy4KQEAgLTkxOCwxNCArODc3LDkgQEAgY2xhc3MgQnVnemlsbGFUb29sOgogICAgICAg
ICBoZWxwX3RleHQgKz0gY29tbWFuZFsnb2JqZWN0J10ub3B0aW9uX3BhcnNlci5mb3JtYXRfb3B0
aW9uX2hlbHAoZm9ybWF0dGVyKQogICAgICAgICByZXR1cm4gaGVscF90ZXh0CiAKLSAgICBkZWYg
Y29tbWFuZHNfdXNhZ2Uoc2VsZik6Ci0gICAgICAgIGlmIG5vdCBzZWxmLnNjbSgpLnN1cHBvcnRz
X2xvY2FsX2NvbW1pdHMoKToKLSAgICAgICAgICAgIGNvbW1hbmRfZmlsdGVyID0gbGFtYmRhIGNv
bW1hbmQ6IG5vdCBjb21tYW5kWyJvYmplY3QiXS5yZXF1aXJlc19sb2NhbF9jb21taXRzCi0gICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICBjb21tYW5kX2ZpbHRlciA9IE5vbmUKLQorICAgIGRlZiBf
Y29tbWFuZHNfdXNhZ2Uoc2VsZik6CiAgICAgICAgICMgT25seSBzaG93IGNvbW1hbmRzIHdoaWNo
IGFyZSByZWxldmFudCB0byB0aGlzIGNoZWNrb3V0LiAgVGhpcyBtaWdodCBiZSBjb25mdXNpbmcg
dG8gc29tZSB1c2Vycz8KLSAgICAgICAgcmVsZXZhbnRfY29tbWFuZHMgPSBmaWx0ZXIoY29tbWFu
ZF9maWx0ZXIsIHNlbGYuY29tbWFuZHMpCisgICAgICAgIHJlbGV2YW50X2NvbW1hbmRzID0gZmls
dGVyKHNlbGYuc2hvdWxkX3Nob3dfY29tbWFuZF9oZWxwLCBzZWxmLmNvbW1hbmRzKQogICAgICAg
ICBsb25nZXN0X25hbWVfbGVuZ3RoID0gbWF4KG1hcChsYW1iZGEgY29tbWFuZDogbGVuKHNlbGYu
X25hbWVfYW5kX2FyZ3VtZW50cyhjb21tYW5kKSksIHJlbGV2YW50X2NvbW1hbmRzKSkKICAgICAg
ICAgY29tbWFuZF9oZWxwX3RleHRzID0gbWFwKGxhbWJkYSBjb21tYW5kOiBzZWxmLl9oZWxwX2Zv
cl9jb21tYW5kKGNvbW1hbmQsIHNlbGYuX2NvbW1hbmRfaGVscF9mb3JtYXR0ZXIoKSwgbG9uZ2Vz
dF9uYW1lX2xlbmd0aCksIHJlbGV2YW50X2NvbW1hbmRzKQogICAgICAgICByZXR1cm4gIkNvbW1h
bmRzOlxuIiArICIiLmpvaW4oY29tbWFuZF9oZWxwX3RleHRzKQpAQCAtOTMzLDE1ICs4ODcsMTEg
QEAgY2xhc3MgQnVnemlsbGFUb29sOgogICAgIGRlZiBoYW5kbGVfZ2xvYmFsX2FyZ3Moc2VsZiwg
YXJncyk6CiAgICAgICAgIChvcHRpb25zLCBhcmdzKSA9IHNlbGYuZ2xvYmFsX29wdGlvbl9wYXJz
ZXIucGFyc2VfYXJncyhhcmdzKQogICAgICAgICBpZiBsZW4oYXJncyk6Ci0gICAgICAgICAgICAj
IFdlJ2xsIG5ldmVyIGhpdCB0aGlzIGJlY2F1c2Ugc3BsaXRfYXJncyBzcGxpdHMgYXQgdGhlIGZp
cnN0IGFyZyB3aXRob3V0IGEgbGVhZGluZyAiLSIKKyAgICAgICAgICAgICMgV2UnbGwgbmV2ZXIg
aGl0IHRoaXMgYmVjYXVzZSBfc3BsaXRfYXJncyBzcGxpdHMgYXQgdGhlIGZpcnN0IGFyZyB3aXRo
b3V0IGEgbGVhZGluZyAiLSIKICAgICAgICAgICAgIHNlbGYuZ2xvYmFsX29wdGlvbl9wYXJzZXIu
ZXJyb3IoIkV4dHJhIGFyZ3VtZW50cyBiZWZvcmUgY29tbWFuZDogIiArIGFyZ3MpCi0gICAgICAg
IAotICAgICAgICBpZiBvcHRpb25zLmRyeXJ1bjoKLSAgICAgICAgICAgIHNlbGYuc2NtKCkuZHJ5
cnVuID0gVHJ1ZQotICAgICAgICAgICAgc2VsZi5idWdzLmRyeXJ1biA9IFRydWUKLSAgICAKKwog
ICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgc3BsaXRfYXJncyhhcmdzKToKKyAgICBkZWYgX3Nw
bGl0X2FyZ3MoYXJncyk6CiAgICAgICAgICMgQXNzdW1lIHRoZSBmaXJzdCBhcmd1bWVudCB3aGlj
aCBkb2Vzbid0IHN0YXJ0IHdpdGggIi0iIGlzIHRoZSBjb21tYW5kIG5hbWUuCiAgICAgICAgIGNv
bW1hbmRfaW5kZXggPSAwCiAgICAgICAgIGZvciBhcmcgaW4gYXJnczoKQEAgLTk1NSwxOSArOTA1
LDI1IEBAIGNsYXNzIEJ1Z3ppbGxhVG9vbDoKICAgICAgICAgY29tbWFuZCA9IGFyZ3NbY29tbWFu
ZF9pbmRleF0KICAgICAgICAgY29tbWFuZF9hcmdzID0gYXJnc1tjb21tYW5kX2luZGV4ICsgMTpd
CiAgICAgICAgIHJldHVybiAoZ2xvYmFsX2FyZ3MsIGNvbW1hbmQsIGNvbW1hbmRfYXJncykKLSAg
ICAKKwogICAgIGRlZiBjb21tYW5kX2J5X25hbWUoc2VsZiwgY29tbWFuZF9uYW1lKToKICAgICAg
ICAgZm9yIGNvbW1hbmQgaW4gc2VsZi5jb21tYW5kczoKICAgICAgICAgICAgIGlmIGNvbW1hbmRf
bmFtZSA9PSBjb21tYW5kWyJuYW1lIl06CiAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbW1hbmQK
ICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAKKworICAgIGRlZiBzaG91bGRfc2hvd19jb21tYW5k
X2hlbHAoc2VsZiwgY29tbWFuZCk6CisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3Is
ICJzdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50IgorCisgICAgZGVmIHNob3VsZF9leGVjdXRlX2Nv
bW1hbmQoc2VsZiwgY29tbWFuZCk6CisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3Is
ICJzdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50IgorCiAgICAgZGVmIG1haW4oc2VsZik6Ci0gICAg
ICAgIChnbG9iYWxfYXJncywgY29tbWFuZF9uYW1lLCBhcmdzX2FmdGVyX2NvbW1hbmRfbmFtZSkg
PSBzZWxmLnNwbGl0X2FyZ3Moc3lzLmFyZ3ZbMTpdKQotICAgICAgICAKKyAgICAgICAgKGdsb2Jh
bF9hcmdzLCBjb21tYW5kX25hbWUsIGFyZ3NfYWZ0ZXJfY29tbWFuZF9uYW1lKSA9IHNlbGYuX3Nw
bGl0X2FyZ3Moc3lzLmFyZ3ZbMTpdKQorCiAgICAgICAgICMgSGFuZGxlIC0taGVscCwgZXRjOgog
ICAgICAgICBzZWxmLmhhbmRsZV9nbG9iYWxfYXJncyhnbG9iYWxfYXJncykKLSAgICAgICAgCisK
ICAgICAgICAgaWYgbm90IGNvbW1hbmRfbmFtZToKICAgICAgICAgICAgIHNlbGYuZ2xvYmFsX29w
dGlvbl9wYXJzZXIuZXJyb3IoIk5vIGNvbW1hbmQgc3BlY2lmaWVkIikKIApAQCAtOTc3LDE2ICs5
MzMsODAgQEAgY2xhc3MgQnVnemlsbGFUb29sOgogCiAgICAgICAgIGNvbW1hbmRfb2JqZWN0ID0g
Y29tbWFuZFsib2JqZWN0Il0KIAotICAgICAgICBpZiBjb21tYW5kX29iamVjdC5yZXF1aXJlc19s
b2NhbF9jb21taXRzIGFuZCBub3Qgc2VsZi5zY20oKS5zdXBwb3J0c19sb2NhbF9jb21taXRzKCk6
Ci0gICAgICAgICAgICBlcnJvcihjb21tYW5kX25hbWUgKyAiIHJlcXVpcmVzIGxvY2FsIGNvbW1p
dHMgdXNpbmcgJXMgaW4gJXMuIiAlIChzZWxmLnNjbSgpLmRpc3BsYXlfbmFtZSgpLCBzZWxmLnNj
bSgpLmNoZWNrb3V0X3Jvb3QpKQorICAgICAgICAoc2hvdWxkX2V4ZWN1dGUsIGZhaWx1cmVfcmVh
c29uKSA9IHNlbGYuc2hvdWxkX2V4ZWN1dGVfY29tbWFuZChjb21tYW5kKQorICAgICAgICBpZiBu
b3Qgc2hvdWxkX2V4ZWN1dGU6CisgICAgICAgICAgICBlcnJvcihmYWlsdXJlX3JlYXNvbikKIAog
ICAgICAgICAoY29tbWFuZF9vcHRpb25zLCBjb21tYW5kX2FyZ3MpID0gY29tbWFuZF9vYmplY3Qu
cGFyc2VfYXJncyhhcmdzX2FmdGVyX2NvbW1hbmRfbmFtZSkKICAgICAgICAgcmV0dXJuIGNvbW1h
bmRfb2JqZWN0LmV4ZWN1dGUoY29tbWFuZF9vcHRpb25zLCBjb21tYW5kX2FyZ3MsIHNlbGYpCiAK
IAotZGVmIG1haW4oKToKLSAgICB0b29sID0gQnVnemlsbGFUb29sKCkKLSAgICByZXR1cm4gdG9v
bC5tYWluKCkKK2NsYXNzIEJ1Z3ppbGxhVG9vbChNdWx0aUNvbW1hbmRUb29sKToKKyAgICBkZWYg
X19pbml0X18oc2VsZik6CisgICAgICAgICMgSEFDSzogU2V0IHNlbGYuY2FjaGVkX3NjbSBiZWZv
cmUgY2FsbGluZyBNdWx0aUNvbW1hbmRUb29sLl9faW5pdF9fIGJlY2F1c2UKKyAgICAgICAgIyBN
dWx0aUNvbW1hbmRUb29sLl9jb21tYW5kc191c2FnZSgpIHdpbGwgY2FsbCBzZWxmLnNob3VsZF9z
aG93X2NvbW1hbmRfaGVscCB3aGljaCB1c2VzIHNjbSgpLgorICAgICAgICAjIFRoaXMgaGFjayBj
YW4gYmUgcmVtb3ZlZCBieSBvdmVycmlkaW5nIHVzYWdlKCkgcHJpbnRpbmcgaW4gSGVscFByaW50
aW5nT3B0aW9uUGFyc2VyCisgICAgICAgICMgc28gdGhhdCB3ZSBkb24ndCBuZWVkIHRvIGNyZWF0
ZSAnZXBpbG9nJyBiZWZvcmUgY29uc3RydWN0aW5nIEhlbHBQcmludGluZ09wdGlvblBhcnNlci4K
KyAgICAgICAgc2VsZi5jYWNoZWRfc2NtID0gTm9uZQorICAgICAgICAKKyAgICAgICAgIyBGSVhN
RTogQ29tbWFuZHMgc2hvdWxkIGtub3cgdGhlaXIgb3duIG5hbWUgYW5kIHJlZ2lzdGVyIHRoZW1z
ZWx2ZXMgd2l0aCB0aGUgQnVnemlsbGFUb29sIGluc3RlYWQgb2YgaGF2aW5nIGEgbWFudWFsIGxp
c3QuCisgICAgICAgIE11bHRpQ29tbWFuZFRvb2wuX19pbml0X18oc2VsZiwgY29tbWFuZHM9Wwor
ICAgICAgICAgICAgeyAibmFtZSIgOiAiYnVncy10by1jb21taXQiLCAib2JqZWN0IiA6IEJ1Z3NU
b0NvbW1pdCgpIH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJwYXRjaGVzLXRvLWNvbW1pdCIs
ICJvYmplY3QiIDogUGF0Y2hlc1RvQ29tbWl0KCkgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDog
InJldmlld2VkLXBhdGNoZXMiLCAib2JqZWN0IiA6IFJldmlld2VkUGF0Y2hlcygpIH0sCisgICAg
ICAgICAgICB7ICJuYW1lIiA6ICJjcmVhdGUtYnVnIiwgIm9iamVjdCIgOiBDcmVhdGVCdWcoKSB9
LAorICAgICAgICAgICAgeyAibmFtZSIgOiAiYXBwbHktYXR0YWNobWVudCIsICJvYmplY3QiIDog
QXBwbHlBdHRhY2htZW50KCkgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDogImFwcGx5LXBhdGNo
ZXMiLCAib2JqZWN0IiA6IEFwcGx5UGF0Y2hlcygpIH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6
ICJsYW5kLWRpZmYiLCAib2JqZWN0IiA6IExhbmREaWZmKCkgfSwKKyAgICAgICAgICAgIHsgIm5h
bWUiIDogImxhbmQtYXR0YWNobWVudCIsICJvYmplY3QiIDogTGFuZEF0dGFjaG1lbnQoKSB9LAor
ICAgICAgICAgICAgeyAibmFtZSIgOiAibGFuZC1wYXRjaGVzIiwgIm9iamVjdCIgOiBMYW5kUGF0
Y2hlcygpIH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJjaGVjay1zdHlsZSIsICJvYmplY3Qi
IDogQ2hlY2tTdHlsZSgpIH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJjb21taXQtbWVzc2Fn
ZSIsICJvYmplY3QiIDogQ29tbWl0TWVzc2FnZUZvckN1cnJlbnREaWZmKCkgfSwKKyAgICAgICAg
ICAgIHsgIm5hbWUiIDogIm9ic29sZXRlLWF0dGFjaG1lbnRzIiwgIm9iamVjdCIgOiBPYnNvbGV0
ZUF0dGFjaG1lbnRzKCkgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDogInBvc3QtZGlmZiIsICJv
YmplY3QiIDogUG9zdERpZmYoKSB9LAorICAgICAgICAgICAgeyAibmFtZSIgOiAicG9zdC1jb21t
aXRzIiwgIm9iamVjdCIgOiBQb3N0Q29tbWl0cygpIH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6
ICJ0cmVlLXN0YXR1cyIsICJvYmplY3QiIDogVHJlZVN0YXR1cygpIH0sCisgICAgICAgICAgICB7
ICJuYW1lIiA6ICJjb21taXQtcXVldWUiLCAib2JqZWN0IiA6IENvbW1pdFF1ZXVlKCkgfSwKKyAg
ICAgICAgICAgIHsgIm5hbWUiIDogInN0eWxlLXF1ZXVlIiwgIm9iamVjdCIgOiBTdHlsZVF1ZXVl
KCkgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDogInJvbGxvdXQiLCAib2JqZWN0IiA6IFJvbGxv
dXQoKSB9LAorICAgICAgICBdKQorICAgICAgICBzZWxmLmdsb2JhbF9vcHRpb25fcGFyc2VyLmFk
ZF9vcHRpb24oIi0tZHJ5LXJ1biIsIGFjdGlvbj0iY2FsbGJhY2siLCBoZWxwPSJkbyBub3QgdG91
Y2ggcmVtb3RlIHNlcnZlcnMiLCBjYWxsYmFjaz1zZWxmLmRyeV9ydW5fY2FsbGJhY2spCisKKyAg
ICAgICAgc2VsZi5idWdzID0gQnVnemlsbGEoKQorICAgICAgICBzZWxmLmJ1aWxkYm90ID0gQnVp
bGRCb3QoKQorCisgICAgZGVmIGRyeV9ydW5fY2FsbGJhY2soc2VsZiwgb3B0aW9uLCBvcHQsIHZh
bHVlLCBwYXJzZXIpOgorICAgICAgICBzZWxmLnNjbSgpLmRyeXJ1biA9IFRydWUKKyAgICAgICAg
c2VsZi5idWdzLmRyeXJ1biA9IFRydWUKKworICAgIGRlZiBzY20oc2VsZik6CisgICAgICAgICMg
TGF6aWx5IGluaXRpYWxpemUgU0NNIHRvIG5vdCBlcnJvci1vdXQgYmVmb3JlIGNvbW1hbmQgbGlu
ZSBwYXJzaW5nIChvciB3aGVuIHJ1bm5pbmcgbm9uLXNjbSBjb21tYW5kcykuCisgICAgICAgIG9y
aWdpbmFsX2N3ZCA9IG9zLnBhdGguYWJzcGF0aCgiLiIpCisgICAgICAgIGlmIG5vdCBzZWxmLmNh
Y2hlZF9zY206CisgICAgICAgICAgICBzZWxmLmNhY2hlZF9zY20gPSBkZXRlY3Rfc2NtX3N5c3Rl
bShvcmlnaW5hbF9jd2QpCisKKyAgICAgICAgaWYgbm90IHNlbGYuY2FjaGVkX3NjbToKKyAgICAg
ICAgICAgIHNjcmlwdF9kaXJlY3RvcnkgPSBvcy5wYXRoLmFic3BhdGgoc3lzLnBhdGhbMF0pCisg
ICAgICAgICAgICB3ZWJraXRfZGlyZWN0b3J5ID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9p
bihzY3JpcHRfZGlyZWN0b3J5LCAiLi4vLi4iKSkKKyAgICAgICAgICAgIHNlbGYuY2FjaGVkX3Nj
bSA9IGRldGVjdF9zY21fc3lzdGVtKHdlYmtpdF9kaXJlY3RvcnkpCisgICAgICAgICAgICBpZiBz
ZWxmLmNhY2hlZF9zY206CisgICAgICAgICAgICAgICAgbG9nKCJUaGUgY3VycmVudCBkaXJlY3Rv
cnkgKCVzKSBpcyBub3QgYSBXZWJLaXQgY2hlY2tvdXQsIHVzaW5nICVzIiAlIChvcmlnaW5hbF9j
d2QsIHdlYmtpdF9kaXJlY3RvcnkpKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAg
ICBlcnJvcigiRkFUQUw6IEZhaWxlZCB0byBkZXRlcm1pbmUgdGhlIFNDTSBzeXN0ZW0gZm9yIGVp
dGhlciAlcyBvciAlcyIgJSAob3JpZ2luYWxfY3dkLCB3ZWJraXRfZGlyZWN0b3J5KSkKKworICAg
ICAgICByZXR1cm4gc2VsZi5jYWNoZWRfc2NtCisKKyAgICBkZWYgc2hvdWxkX3Nob3dfY29tbWFu
ZF9oZWxwKHNlbGYsIGNvbW1hbmQpOgorICAgICAgICBpZiBjb21tYW5kWyJvYmplY3QiXS5yZXF1
aXJlc19sb2NhbF9jb21taXRzOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuc2NtKCkuc3VwcG9y
dHNfbG9jYWxfY29tbWl0cygpCisgICAgICAgIHJldHVybiBUcnVlCisKKyAgICBkZWYgc2hvdWxk
X2V4ZWN1dGVfY29tbWFuZChzZWxmLCBjb21tYW5kKToKKyAgICAgICAgaWYgY29tbWFuZFsib2Jq
ZWN0Il0ucmVxdWlyZXNfbG9jYWxfY29tbWl0cyBhbmQgbm90IHNlbGYuc2NtKCkuc3VwcG9ydHNf
bG9jYWxfY29tbWl0cygpOgorICAgICAgICAgICAgZmFpbHVyZV9yZWFzb24gPSAiJXMgcmVxdWly
ZXMgbG9jYWwgY29tbWl0cyB1c2luZyAlcyBpbiAlcy4iICUgKGNvbW1hbmRbIm5hbWUiXSwgc2Vs
Zi5zY20oKS5kaXNwbGF5X25hbWUoKSwgc2VsZi5zY20oKS5jaGVja291dF9yb290KQorICAgICAg
ICAgICAgcmV0dXJuIChGYWxzZSwgZmFpbHVyZV9yZWFzb24pCisgICAgICAgIHJldHVybiAoVHJ1
ZSwgTm9uZSkKKwogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIG1haW4oKQorICAg
IEJ1Z3ppbGxhVG9vbCgpLm1haW4oKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>