<?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>28910</bug_id>
          
          <creation_ts>2009-09-02 08:34:27 -0700</creation_ts>
          <short_desc>Move bugzilla-tool mark-fixed to standalone mark-bug-fixed tool</short_desc>
          <delta_ts>2009-09-23 22:01:11 -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>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="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>beidson</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>144216</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-09-02 08:34:27 -0700</bug_when>
    <thetext>* SUMMARY
The bugzilla-tool command is getting crowded.  Move the mark-fixed subcommand to its own tool named mark-bug-fixed.

* NOTES
See Bug 28877 Comment #7 and Bug 28877 Comment #8.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144298</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-02 13:55:25 -0700</bug_when>
    <thetext>We could move all of the commands into a separate commands.py, or just this command into a module which was then loaded an execute manually called by some wrapper script.

I think I want to move away from having BugzillaTool hold all of the shared state, and instead have something on the Command baseclass.  I want to basically kill the BugzillaTool class over time, and split the option parsing stuff off into its own class/file and the state off into some Command base class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144373</commentid>
    <comment_count>2</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-09-02 19:20:14 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; We could move all of the commands into a separate commands.py, or just this
&gt; command into a module which was then loaded an execute manually called by some
&gt; wrapper script.
&gt; 
&gt; I think I want to move away from having BugzillaTool hold all of the shared
&gt; state, and instead have something on the Command baseclass.  I want to
&gt; basically kill the BugzillaTool class over time, and split the option parsing
&gt; stuff off into its own class/file and the state off into some Command base
&gt; class.

So I completely misunderstood Bug 28877 Comment #7?  Or is it okay to move this out?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144384</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-02 22:58:01 -0700</bug_when>
    <thetext>You&apos;re welcome to do whatever you like. :)

In general the idea behind doing all the Command subclasses was to share as much setup/teardown code as possible.  But that shouldn&apos;t hold you back from writing other python scripts which use all of our new python modules. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149628</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-09-23 19:20:53 -0700</bug_when>
    <thetext>*** Bug 29699 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149630</commentid>
    <comment_count>5</comment_count>
      <attachid>40035</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-09-23 19:27:05 -0700</bug_when>
    <thetext>Created attachment 40035
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149655</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-09-23 22:01:11 -0700</bug_when>
    <thetext>Committed r48700: &lt;http://trac.webkit.org/changeset/48700&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40035</attachid>
            <date>2009-09-23 19:27:05 -0700</date>
            <delta_ts>2009-09-23 20:47:29 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-28910-20090923192704.patch</filename>
            <type>text/plain</type>
            <size>14102</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAzYjdjZDE0Li45ZmYyZmNhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMDktMDkt
MjMgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICA8aHR0cDov
L3dlYmtpdC5vcmcvYi8yODkxMD4gTW92ZSBidWd6aWxsYS10b29sIG1hcmstZml4ZWQgdG8gc3Rh
bmRhbG9uZSBtYXJrLWJ1Zy1maXhlZCB0b29sCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWxzbyBmaXhlZCBhIGJ1ZyB3aGVyZSBzcGVjaWZ5aW5nIGEg
cmV2aXNpb24gb24gdGhlIGNvbW1hbmQtbGluZQorICAgICAgICBhcyAncjEyMzQ1JyB3b3VsZCBm
YWlsLiAgU2VlIDxodHRwOi8vd2Via2l0Lm9yZy9iLzI5Njk5Pi4KKworICAgICAgICAqIFNjcmlw
dHMvYnVnemlsbGEtdG9vbDogVXBkYXRlZCBtb2R1bGUgaW1wb3J0IHN0YXRlbWVudHMuCisgICAg
ICAgIChwYXJzZV9idWdfaWQpOiBSZW1vdmVkLiAgTW92ZWQgdG8gYnVnemlsbGEucHkuCisgICAg
ICAgIChidWdfY29tbWVudF9mcm9tX3N2bl9yZXZpc2lvbik6IFJlbW92ZWQuICBNb3ZlZCB0byBj
b21tZW50cy5weS4KKyAgICAgICAgKGJ1Z19jb21tZW50X2Zyb21fY29tbWl0X3RleHQpOiBSZW1v
dmVkLiAgTW92ZWQgdG8gY29tbWVudHMucHkuCisgICAgICAgIChNYXJrQnVnRml4ZWQpOiBSZW1v
dmVkLiAgQ29kZSBtb3ZlZCB0byBtYXJrLWJ1Zy1maXhlZC4KKyAgICAgICAgKEJ1Z3ppbGxhVG9v
bC5fX2luaXRfXyk6IFJlbW92ZWQgbWFyay1maXhlZCBzdWJjb21tYW5kLgorICAgICAgICAqIFNj
cmlwdHMvbWFyay1idWctZml4ZWQ6IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvbW9kdWxlcy9i
dWd6aWxsYS5weToKKyAgICAgICAgKHBhcnNlX2J1Z19pZCk6IEFkZGVkLiAgTW92ZWQgZnJvbSBi
dWd6aWxsYS10b29sLgorICAgICAgICAqIFNjcmlwdHMvbW9kdWxlcy9jb21tZW50cy5weTogQWRk
ZWQuCisgICAgICAgIChidWdfY29tbWVudF9mcm9tX3N2bl9yZXZpc2lvbik6IEFkZGVkLiAgTW92
ZWQgZnJvbSBidWd6aWxsYS10b29sLgorICAgICAgICAoYnVnX2NvbW1lbnRfZnJvbV9jb21taXRf
dGV4dCk6IEFkZGVkLiAgTW92ZWQgZnJvbSBidWd6aWxsYS10b29sLgorCiAyMDA5LTA5LTIzICBH
dXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvYnVnemlsbGEtdG9vbCBiL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9v
bAppbmRleCAzMzhiODY1Li5iOTY1MDMwIDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRz
L2J1Z3ppbGxhLXRvb2wKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCkBA
IC00MSw4ICs0MSw5IEBAIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCiBmcm9tIG9wdHBh
cnNlIGltcG9ydCBPcHRpb25QYXJzZXIsIEluZGVudGVkSGVscEZvcm1hdHRlciwgU1VQUFJFU1Nf
VVNBR0UsIG1ha2Vfb3B0aW9uCiAKICMgSW1wb3J0IFdlYktpdC1zcGVjaWZpYyBtb2R1bGVzLgot
ZnJvbSBtb2R1bGVzLmJ1Z3ppbGxhIGltcG9ydCBCdWd6aWxsYQotZnJvbSBtb2R1bGVzLmNoYW5n
ZWxvZ3MgaW1wb3J0IENoYW5nZUxvZywgdmlld19zb3VyY2VfdXJsCitmcm9tIG1vZHVsZXMuYnVn
emlsbGEgaW1wb3J0IEJ1Z3ppbGxhLCBwYXJzZV9idWdfaWQKK2Zyb20gbW9kdWxlcy5jaGFuZ2Vs
b2dzIGltcG9ydCBDaGFuZ2VMb2cKK2Zyb20gbW9kdWxlcy5jb21tZW50cyBpbXBvcnQgYnVnX2Nv
bW1lbnRfZnJvbV9jb21taXRfdGV4dAogZnJvbSBtb2R1bGVzLmxvZ2dpbmcgaW1wb3J0IGVycm9y
LCBsb2csIHRlZQogZnJvbSBtb2R1bGVzLnNjbSBpbXBvcnQgQ29tbWl0TWVzc2FnZSwgZGV0ZWN0
X3NjbV9zeXN0ZW0sIFNjcmlwdEVycm9yCiBmcm9tIG1vZHVsZXMuYnVpbGRib3QgaW1wb3J0IEJ1
aWxkQm90CkBAIC01OSwxNSArNjAsNiBAQCBkZWYgcGx1cmFsaXplKG5vdW4sIGNvdW50KToKICAg
ICAgICAgbm91biA9IHBsdXJhbChub3VuKQogICAgIHJldHVybiAiJWQgJXMiICUgKGNvdW50LCBu
b3VuKQogCi1kZWYgcGFyc2VfYnVnX2lkKG1lc3NhZ2UpOgotICAgIG1hdGNoID0gcmUuc2VhcmNo
KCJodHRwXDovL3dlYmtpdFwub3JnL2IvKD9QPGJ1Z19pZD5cZCspIiwgbWVzc2FnZSkKLSAgICBp
ZiBtYXRjaDoKLSAgICAgICAgcmV0dXJuIG1hdGNoLmdyb3VwKCdidWdfaWQnKQotICAgIG1hdGNo
ID0gcmUuc2VhcmNoKEJ1Z3ppbGxhLmJ1Z19zZXJ2ZXJfcmVnZXggKyAic2hvd19idWdcLmNnaVw/
aWQ9KD9QPGJ1Z19pZD5cZCspIiwgbWVzc2FnZSkKLSAgICBpZiBtYXRjaDoKLSAgICAgICAgcmV0
dXJuIG1hdGNoLmdyb3VwKCdidWdfaWQnKQotICAgIHJldHVybiBOb25lCi0KIGRlZiBjb21taXRf
bWVzc2FnZV9mb3JfdGhpc19jb21taXQoc2NtKToKICAgICBjaGFuZ2Vsb2dfcGF0aHMgPSBzY20u
bW9kaWZpZWRfY2hhbmdlbG9ncygpCiAgICAgaWYgbm90IGxlbihjaGFuZ2Vsb2dfcGF0aHMpOgpA
QCAtMTc0LDE0ICsxNjYsNiBAQCBjbGFzcyBBcHBseVBhdGNoZXNGcm9tQnVnKENvbW1hbmQpOgog
ICAgICAgICBzZWxmLmFwcGx5X3BhdGNoZXMocGF0Y2hlcywgdG9vbC5zY20oKSwgb3B0aW9ucy5s
b2NhbF9jb21taXQpCiAKIAotZGVmIGJ1Z19jb21tZW50X2Zyb21fc3ZuX3JldmlzaW9uKHN2bl9y
ZXZpc2lvbik6Ci0gICAgcmV0dXJuICJDb21taXR0ZWQgciVzOiA8JXM+IiAlIChzdm5fcmV2aXNp
b24sIHZpZXdfc291cmNlX3VybChzdm5fcmV2aXNpb24pKQotCi1kZWYgYnVnX2NvbW1lbnRfZnJv
bV9jb21taXRfdGV4dChzY20sIGNvbW1pdF90ZXh0KToKLSAgICBzdm5fcmV2aXNpb24gPSBzY20u
c3ZuX3JldmlzaW9uX2Zyb21fY29tbWl0X3RleHQoY29tbWl0X3RleHQpCi0gICAgcmV0dXJuIGJ1
Z19jb21tZW50X2Zyb21fc3ZuX3JldmlzaW9uKHN2bl9yZXZpc2lvbikKLQotCiBjbGFzcyBXZWJL
aXRMYW5kaW5nU2NyaXB0czoKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIGNsZWFuaW5nX29w
dGlvbnMoKToKQEAgLTM4Miw1OSArMzY2LDYgQEAgY2xhc3MgTGFuZFBhdGNoZXNGcm9tQnVncyhD
b21tYW5kKToKICAgICAgICAgICAgIHNlbGYubGFuZF9wYXRjaGVzKGJ1Z19pZCwgYnVnc190b19w
YXRjaGVzW2J1Z19pZF0sIG9wdGlvbnMsIHRvb2wpCiAKIAotY2xhc3MgTWFya0J1Z0ZpeGVkKENv
bW1hbmQpOgotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgb3B0aW9ucyA9IFsKLSAg
ICAgICAgICAgIG1ha2Vfb3B0aW9uKCItYiIsICItLWJ1Zy1pZCIsIGFjdGlvbj0ic3RvcmUiLCB0
eXBlPSJzdHJpbmciLCBkZXN0PSJidWdfaWQiLCBoZWxwPSJTcGVjaWZ5IGJ1ZyBpZCBpZiBubyBV
UkwgaXMgcHJvdmlkZWQgaW4gdGhlIGNvbW1pdCBsb2cuIiksCi0gICAgICAgIF0KLSAgICAgICAg
Q29tbWFuZC5fX2luaXRfXyhzZWxmLCAnTWFya3MgYSBidWcgYXMgZml4ZWQgYmFzZWQgb24gYSBi
dWcgaWQgYW5kIGEgY29tbWl0IHJldmlzaW9uLicsICdbck5OTk5OXScsIG9wdGlvbnM9b3B0aW9u
cykKLQotICAgIGRlZiBfZmV0Y2hfY29tbWl0X2xvZyhzZWxmLCBzY20sIHN2bl9yZXZpc2lvbik6
Ci0gICAgICAgIGlmIG5vdCBzdm5fcmV2aXNpb246Ci0gICAgICAgICAgICByZXR1cm4gc2NtLmxh
c3Rfc3ZuX2NvbW1pdF9sb2coKQotICAgICAgICByZXR1cm4gc2NtLnN2bl9jb21taXRfbG9nKHN2
bl9yZXZpc2lvbikKLQotICAgIGRlZiBfZGV0ZXJtaW5lX2J1Z19pZF9hbmRfc3ZuX3JldmlzaW9u
KHNlbGYsIHRvb2wsIGJ1Z19pZCwgc3ZuX3JldmlzaW9uKToKLSAgICAgICAgY29tbWl0X2xvZyA9
IHNlbGYuX2ZldGNoX2NvbW1pdF9sb2codG9vbC5zY20oKSwgc3ZuX3JldmlzaW9uKQotCi0gICAg
ICAgIGlmIG5vdCBidWdfaWQ6Ci0gICAgICAgICAgICBidWdfaWQgPSBwYXJzZV9idWdfaWQoY29t
bWl0X2xvZykKLQotICAgICAgICBpZiBub3Qgc3ZuX3JldmlzaW9uOgotICAgICAgICAgICAgbWF0
Y2ggPSByZS5zZWFyY2goIl5yKD9QPHN2bl9yZXZpc2lvbj5cZCspIFx8IiwgY29tbWl0X2xvZywg
cmUuTVVMVElMSU5FKQotICAgICAgICAgICAgaWYgbWF0Y2g6Ci0gICAgICAgICAgICAgICAgc3Zu
X3JldmlzaW9uID0gbWF0Y2guZ3JvdXAoJ3N2bl9yZXZpc2lvbicpCi0KLSAgICAgICAgaWYgbm90
IGJ1Z19pZCBvciBub3Qgc3ZuX3JldmlzaW9uOgotICAgICAgICAgICAgbm90X2ZvdW5kID0gW10K
LSAgICAgICAgICAgIGlmIG5vdCBidWdfaWQ6Ci0gICAgICAgICAgICAgICAgbm90X2ZvdW5kLmFw
cGVuZCgiYnVnIGlkIikKLSAgICAgICAgICAgIGlmIG5vdCBzdm5fcmV2aXNpb246Ci0gICAgICAg
ICAgICAgICAgbm90X2ZvdW5kLmFwcGVuZCgic3ZuIHJldmlzaW9uIikKLSAgICAgICAgICAgIGVy
cm9yKCJDb3VsZCBub3QgZmluZCAlcyBvbiBjb21tYW5kLWxpbmUgb3IgaW4gbGFzdCBjb21taXQu
IiAlICIgb3IgIi5qb2luKG5vdF9mb3VuZCkpCi0KLSAgICAgICAgbG9nKCJCdWc6IDxodHRwOi8v
d2Via2l0Lm9yZy9iLyVzPiAlcyIgJSAoYnVnX2lkLCB0b29sLmJ1Z3MuZmV0Y2hfdGl0bGVfZnJv
bV9idWcoYnVnX2lkKSkpCi0gICAgICAgIGxvZygiUmV2aXNpb246ICVzIiAlIHN2bl9yZXZpc2lv
bikKLSAgICAgICAgYW5zd2VyID0gcmF3X2lucHV0KCJJcyB0aGlzIGNvcnJlY3QgKHkvTik/ICIp
Ci0gICAgICAgIGlmIG5vdCByZS5tYXRjaCgiXlxzKnkoZXMpPyIsIGFuc3dlciwgcmUuSUdOT1JF
Q0FTRSk6Ci0gICAgICAgICAgICBleGl0KDEpCi0KLSAgICAgICAgcmV0dXJuIChidWdfaWQsIHN2
bl9yZXZpc2lvbikKLQotICAgIGRlZiBleGVjdXRlKHNlbGYsIG9wdGlvbnMsIGFyZ3MsIHRvb2wp
OgotICAgICAgICBpZiBsZW4oYXJncykgPiAxOgotICAgICAgICAgICAgZXJyb3IoIk9ubHkgb25l
IHJldmlzaW9uIG1heSBiZSBzcGVjaWZpZWQuIikKLQotICAgICAgICBidWdfaWQgPSBvcHRpb25z
LmJ1Z19pZAotICAgICAgICBzdm5fcmV2aXNpb24gPSBhcmdzWzBdIGlmIGxlbihhcmdzKSA9PSAx
IGVsc2UgTm9uZQotCi0gICAgICAgIGlmIG5vdCBidWdfaWQgb3Igbm90IHN2bl9yZXZpc2lvbjoK
LSAgICAgICAgICAgIChidWdfaWQsIHN2bl9yZXZpc2lvbikgPSBzZWxmLl9kZXRlcm1pbmVfYnVn
X2lkX2FuZF9zdm5fcmV2aXNpb24odG9vbCwgYnVnX2lkLCBzdm5fcmV2aXNpb24pCi0KLSAgICAg
ICAgbG9nKCJVcGRhdGluZyBidWcgJXMiICUgYnVnX2lkKQotICAgICAgICB0b29sLmJ1Z3MuY2xv
c2VfYnVnX2FzX2ZpeGVkKGJ1Z19pZCwgYnVnX2NvbW1lbnRfZnJvbV9zdm5fcmV2aXNpb24oc3Zu
X3JldmlzaW9uKSkKLQotCiBjbGFzcyBDb21taXRNZXNzYWdlRm9yQ3VycmVudERpZmYoQ29tbWFu
ZCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgICBDb21tYW5kLl9faW5pdF9fKHNl
bGYsICdQcmludHMgYSBjb21taXQgbWVzc2FnZSBzdWl0YWJsZSBmb3IgdGhlIHVuY29tbWl0dGVk
IGNoYW5nZXMuJykKQEAgLTgyMCw3ICs3NTEsNiBAQCBjbGFzcyBCdWd6aWxsYVRvb2w6CiAgICAg
ICAgICAgICB7ICduYW1lJyA6ICdhcHBseS1wYXRjaGVzJywgJ29iamVjdCcgOiBBcHBseVBhdGNo
ZXNGcm9tQnVnKCkgfSwKICAgICAgICAgICAgIHsgJ25hbWUnIDogJ2xhbmQtZGlmZicsICdvYmpl
Y3QnIDogTGFuZEFuZFVwZGF0ZUJ1ZygpIH0sCiAgICAgICAgICAgICB7ICduYW1lJyA6ICdsYW5k
LXBhdGNoZXMnLCAnb2JqZWN0JyA6IExhbmRQYXRjaGVzRnJvbUJ1Z3MoKSB9LAotICAgICAgICAg
ICAgeyAnbmFtZScgOiAnbWFyay1maXhlZCcsICdvYmplY3QnIDogTWFya0J1Z0ZpeGVkKCkgfSwK
ICAgICAgICAgICAgIHsgJ25hbWUnIDogJ2NvbW1pdC1tZXNzYWdlJywgJ29iamVjdCcgOiBDb21t
aXRNZXNzYWdlRm9yQ3VycmVudERpZmYoKSB9LAogICAgICAgICAgICAgeyAnbmFtZScgOiAnb2Jz
b2xldGUtYXR0YWNobWVudHMnLCAnb2JqZWN0JyA6IE9ic29sZXRlQXR0YWNobWVudHNPbkJ1Zygp
IH0sCiAgICAgICAgICAgICB7ICduYW1lJyA6ICdwb3N0LWRpZmYnLCAnb2JqZWN0JyA6IFBvc3RE
aWZmQXNQYXRjaFRvQnVnKCkgfSwKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbWFy
ay1idWctZml4ZWQgYi9XZWJLaXRUb29scy9TY3JpcHRzL21hcmstYnVnLWZpeGVkCm5ldyBmaWxl
IG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY4OTNmYjYKLS0tIC9kZXYvbnVsbAorKysgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL21hcmstYnVnLWZpeGVkCkBAIC0wLDAgKzEsMTE0IEBACisjIS91
c3IvYmluL2VudiBweXRob24KKworIyBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6
CisjCisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyMgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyMgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworIyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQK
KyMgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisjIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyMg
TWFyayBhIGJ1ZyBhcyBmaXhlZCBvbiBidWdzLndlYmtpdC5vcmcuCisKK2ltcG9ydCBvcworaW1w
b3J0IHJlCitpbXBvcnQgc3lzCisKK2Zyb20gb3B0cGFyc2UgaW1wb3J0IE9wdGlvblBhcnNlcgor
Citmcm9tIG1vZHVsZXMuYnVnemlsbGEgaW1wb3J0IEJ1Z3ppbGxhLCBwYXJzZV9idWdfaWQKK2Zy
b20gbW9kdWxlcy5jb21tZW50cyBpbXBvcnQgYnVnX2NvbW1lbnRfZnJvbV9zdm5fcmV2aXNpb24K
K2Zyb20gbW9kdWxlcy5sb2dnaW5nIGltcG9ydCBlcnJvciwgbG9nCitmcm9tIG1vZHVsZXMuc2Nt
IGltcG9ydCBkZXRlY3Rfc2NtX3N5c3RlbQorCisKK2NsYXNzIE1hcmtCdWdGaXhlZFRvb2w6Cisg
ICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLmJ1Z3MgPSBCdWd6aWxsYSgpCisg
ICAgICAgIHNlbGYuY2FjaGVkX3NjbSA9IE5vbmUKKyAgICAgICAgc2VsZi5vcHRpb25fcGFyc2Vy
ID0gT3B0aW9uUGFyc2VyKHVzYWdlPSJ1c2FnZTogJXByb2cgW29wdGlvbnNdIFtyTk5OTk5dIikK
KyAgICAgICAgc2VsZi5vcHRpb25fcGFyc2VyLmFkZF9vcHRpb24oIi1iIiwgIi0tYnVnLWlkIiwg
ZGVzdD0iYnVnX2lkIiwgaGVscD0iU3BlY2lmeSBidWcgaWQgaWYgbm8gVVJMIGlzIHByb3ZpZGVk
IGluIHRoZSBjb21taXQgbG9nLiIpCisKKyAgICBkZWYgc2NtKHNlbGYpOgorICAgICAgICAjIExh
emlseSBpbml0aWFsaXplIFNDTSB0byBub3QgZXJyb3Itb3V0IGJlZm9yZSBjb21tYW5kIGxpbmUg
cGFyc2luZyAob3Igd2hlbiBydW5uaW5nIG5vbi1zY20gY29tbWFuZHMpLgorICAgICAgICBpZiBu
b3Qgc2VsZi5jYWNoZWRfc2NtOgorICAgICAgICAgICAgb3JpZ2luYWxfY3dkID0gb3MucGF0aC5h
YnNwYXRoKCcuJykKKyAgICAgICAgICAgIHNlbGYuY2FjaGVkX3NjbSA9IGRldGVjdF9zY21fc3lz
dGVtKG9yaWdpbmFsX2N3ZCkKKyAgICAgICAgcmV0dXJuIHNlbGYuY2FjaGVkX3NjbQorCisgICAg
ZGVmIF9mZXRjaF9jb21taXRfbG9nKHNlbGYsIHNjbSwgc3ZuX3JldmlzaW9uKToKKyAgICAgICAg
aWYgbm90IHN2bl9yZXZpc2lvbjoKKyAgICAgICAgICAgIHJldHVybiBzY20ubGFzdF9zdm5fY29t
bWl0X2xvZygpCisgICAgICAgIHJldHVybiBzY20uc3ZuX2NvbW1pdF9sb2coc3ZuX3JldmlzaW9u
KQorCisgICAgZGVmIF9kZXRlcm1pbmVfYnVnX2lkX2FuZF9zdm5fcmV2aXNpb24oc2VsZiwgYnVn
X2lkLCBzdm5fcmV2aXNpb24pOgorICAgICAgICBjb21taXRfbG9nID0gc2VsZi5fZmV0Y2hfY29t
bWl0X2xvZyhzZWxmLnNjbSgpLCBzdm5fcmV2aXNpb24pCisKKyAgICAgICAgaWYgbm90IGJ1Z19p
ZDoKKyAgICAgICAgICAgIGJ1Z19pZCA9IHBhcnNlX2J1Z19pZChjb21taXRfbG9nKQorCisgICAg
ICAgIGlmIG5vdCBzdm5fcmV2aXNpb246CisgICAgICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaCgi
XnIoP1A8c3ZuX3JldmlzaW9uPlxkKykgXHwiLCBjb21taXRfbG9nLCByZS5NVUxUSUxJTkUpCisg
ICAgICAgICAgICBpZiBtYXRjaDoKKyAgICAgICAgICAgICAgICBzdm5fcmV2aXNpb24gPSBtYXRj
aC5ncm91cCgnc3ZuX3JldmlzaW9uJykKKworICAgICAgICBpZiBub3QgYnVnX2lkIG9yIG5vdCBz
dm5fcmV2aXNpb246CisgICAgICAgICAgICBub3RfZm91bmQgPSBbXQorICAgICAgICAgICAgaWYg
bm90IGJ1Z19pZDoKKyAgICAgICAgICAgICAgICBub3RfZm91bmQuYXBwZW5kKCJidWcgaWQiKQor
ICAgICAgICAgICAgaWYgbm90IHN2bl9yZXZpc2lvbjoKKyAgICAgICAgICAgICAgICBub3RfZm91
bmQuYXBwZW5kKCJzdm4gcmV2aXNpb24iKQorICAgICAgICAgICAgZXJyb3IoIkNvdWxkIG5vdCBm
aW5kICVzIG9uIGNvbW1hbmQtbGluZSBvciBpbiAlcy4iCisgICAgICAgICAgICAgICAgICAlICgi
IG9yICIuam9pbihub3RfZm91bmQpLCAiciVzIiAlIHN2bl9yZXZpc2lvbiBpZiBzdm5fcmV2aXNp
b24gZWxzZSAibGFzdCBjb21taXQiKSkKKworICAgICAgICBsb2coIkJ1ZzogPGh0dHA6Ly93ZWJr
aXQub3JnL2IvJXM+ICVzIiAlIChidWdfaWQsIHNlbGYuYnVncy5mZXRjaF90aXRsZV9mcm9tX2J1
ZyhidWdfaWQpKSkKKyAgICAgICAgbG9nKCJSZXZpc2lvbjogJXMiICUgc3ZuX3JldmlzaW9uKQor
ICAgICAgICBhbnN3ZXIgPSByYXdfaW5wdXQoIklzIHRoaXMgY29ycmVjdCAoeS9OKT8gIikKKyAg
ICAgICAgaWYgbm90IHJlLm1hdGNoKCJeXHMqeShlcyk/IiwgYW5zd2VyLCByZS5JR05PUkVDQVNF
KToKKyAgICAgICAgICAgIGV4aXQoMSkKKworICAgICAgICByZXR1cm4gKGJ1Z19pZCwgc3ZuX3Jl
dmlzaW9uKQorCisgICAgZGVmIG1haW4oc2VsZik6CisgICAgICAgIChvcHRpb25zLCBhcmdzKSA9
IHNlbGYub3B0aW9uX3BhcnNlci5wYXJzZV9hcmdzKHN5cy5hcmd2WzE6XSkKKworICAgICAgICBp
ZiBsZW4oYXJncykgPiAxOgorICAgICAgICAgICAgZXJyb3IoIk9ubHkgb25lIHJldmlzaW9uIG1h
eSBiZSBzcGVjaWZpZWQuIikKKworICAgICAgICBidWdfaWQgPSBvcHRpb25zLmJ1Z19pZAorCisg
ICAgICAgIHN2bl9yZXZpc2lvbiA9IGFyZ3NbMF0gaWYgbGVuKGFyZ3MpID09IDEgZWxzZSBOb25l
CisgICAgICAgIGlmIHN2bl9yZXZpc2lvbjoKKyAgICAgICAgICAgIGlmIHJlLm1hdGNoKCJeclsw
LTldKyQiLCBzdm5fcmV2aXNpb24sIHJlLklHTk9SRUNBU0UpOgorICAgICAgICAgICAgICAgIHN2
bl9yZXZpc2lvbiA9IHN2bl9yZXZpc2lvblsxOl0KKyAgICAgICAgICAgIGlmIG5vdCByZS5tYXRj
aCgiXlswLTldKyQiLCBzdm5fcmV2aXNpb24pOgorICAgICAgICAgICAgICAgIGVycm9yKCJJbnZh
bGlkIHN2biByZXZpc2lvbjogJyVzJyIgJSBzdm5fcmV2aXNpb24pCisKKyAgICAgICAgaWYgbm90
IGJ1Z19pZCBvciBub3Qgc3ZuX3JldmlzaW9uOgorICAgICAgICAgICAgKGJ1Z19pZCwgc3ZuX3Jl
dmlzaW9uKSA9IHNlbGYuX2RldGVybWluZV9idWdfaWRfYW5kX3N2bl9yZXZpc2lvbihidWdfaWQs
IHN2bl9yZXZpc2lvbikKKworICAgICAgICBsb2coIlVwZGF0aW5nIEJ1ZyAlcy4iICUgYnVnX2lk
KQorICAgICAgICBzZWxmLmJ1Z3MuY2xvc2VfYnVnX2FzX2ZpeGVkKGJ1Z19pZCwgYnVnX2NvbW1l
bnRfZnJvbV9zdm5fcmV2aXNpb24oc3ZuX3JldmlzaW9uKSkKKworCitkZWYgbWFpbigpOgorICAg
IHRvb2wgPSBNYXJrQnVnRml4ZWRUb29sKCkKKyAgICByZXR1cm4gdG9vbC5tYWluKCkKKworaWYg
X19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICBtYWluKCkKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvbW9kdWxlcy9idWd6aWxsYS5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9k
dWxlcy9idWd6aWxsYS5weQppbmRleCA2MmJlNzk5Li4zYTRkMDBhIDEwMDY0NAotLS0gYS9XZWJL
aXRUb29scy9TY3JpcHRzL21vZHVsZXMvYnVnemlsbGEucHkKKysrIGIvV2ViS2l0VG9vbHMvU2Ny
aXB0cy9tb2R1bGVzL2J1Z3ppbGxhLnB5CkBAIC05Miw2ICs5MiwxNSBAQCBkZWYgY3JlZGVudGlh
bHNfZnJvbV9rZXljaGFpbih1c2VybmFtZT1Ob25lKToKIGRlZiBpc19tYWNfb3NfeCgpOgogICAg
IHJldHVybiBwbGF0Zm9ybS5tYWNfdmVyKClbMF0KIAorZGVmIHBhcnNlX2J1Z19pZChtZXNzYWdl
KToKKyAgICBtYXRjaCA9IHJlLnNlYXJjaCgiaHR0cFw6Ly93ZWJraXRcLm9yZy9iLyg/UDxidWdf
aWQ+XGQrKSIsIG1lc3NhZ2UpCisgICAgaWYgbWF0Y2g6CisgICAgICAgIHJldHVybiBtYXRjaC5n
cm91cCgnYnVnX2lkJykKKyAgICBtYXRjaCA9IHJlLnNlYXJjaChCdWd6aWxsYS5idWdfc2VydmVy
X3JlZ2V4ICsgInNob3dfYnVnXC5jZ2lcP2lkPSg/UDxidWdfaWQ+XGQrKSIsIG1lc3NhZ2UpCisg
ICAgaWYgbWF0Y2g6CisgICAgICAgIHJldHVybiBtYXRjaC5ncm91cCgnYnVnX2lkJykKKyAgICBy
ZXR1cm4gTm9uZQorCiAjIEZJWE1FOiBUaGlzIHNob3VsZCBub3QgZGVwZW5kIG9uIGdpdCBmb3Ig
Y29uZmlnIHN0b3JhZ2UKIGRlZiByZWFkX2NvbmZpZyhrZXkpOgogICAgICMgTmVlZCBhIHdheSB0
byByZWFkIGZyb20gc3ZuIHRvbwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1
bGVzL2NvbW1lbnRzLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NvbW1lbnRzLnB5
Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVlZWU2NTUKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY29tbWVudHMucHkKQEAgLTAsMCAr
MSwzOSBAQAorIyBDb3B5cmlnaHQgKGMpIDIwMDksIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjIENvcHlyaWdodCAoYykgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMgCisjICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJp
YnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisjIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisjIAorIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisjCisjIEEgdG9vbCBmb3IgYXV0b21hdGluZyBkZWFs
aW5nIHdpdGggYnVnemlsbGEsIHBvc3RpbmcgcGF0Y2hlcywgY29tbWl0dGluZyBwYXRjaGVzLCBl
dGMuCisKK2Zyb20gbW9kdWxlcy5jaGFuZ2Vsb2dzIGltcG9ydCB2aWV3X3NvdXJjZV91cmwKKwor
ZGVmIGJ1Z19jb21tZW50X2Zyb21fc3ZuX3JldmlzaW9uKHN2bl9yZXZpc2lvbik6CisgICAgcmV0
dXJuICJDb21taXR0ZWQgciVzOiA8JXM+IiAlIChzdm5fcmV2aXNpb24sIHZpZXdfc291cmNlX3Vy
bChzdm5fcmV2aXNpb24pKQorCitkZWYgYnVnX2NvbW1lbnRfZnJvbV9jb21taXRfdGV4dChzY20s
IGNvbW1pdF90ZXh0KToKKyAgICBzdm5fcmV2aXNpb24gPSBzY20uc3ZuX3JldmlzaW9uX2Zyb21f
Y29tbWl0X3RleHQoY29tbWl0X3RleHQpCisgICAgcmV0dXJuIGJ1Z19jb21tZW50X2Zyb21fc3Zu
X3JldmlzaW9uKHN2bl9yZXZpc2lvbik=
</data>
<flag name="review"
          id="21203"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>