<?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>32780</bug_id>
          
          <creation_ts>2009-12-19 19:52:23 -0800</creation_ts>
          <short_desc>Use memcache to make dashboard to fast</short_desc>
          <delta_ts>2009-12-20 00:28:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>173630</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-19 19:52:23 -0800</bug_when>
    <thetext>Fast is good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173631</commentid>
    <comment_count>1</comment_count>
      <attachid>45255</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-19 19:53:21 -0800</bug_when>
    <thetext>Created attachment 45255
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173632</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-19 19:54:37 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45255 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173639</commentid>
    <comment_count>3</comment_count>
      <attachid>45255</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-19 22:56:59 -0800</bug_when>
    <thetext>Comment on attachment 45255
Patch

remove_api seems unrelated.

I don&apos;t see why you broke queue_name and bug_id out into local variables in UpdateStatus

Why change it to use a regexp if we compile every time?
74         regexp = re.compile(&quot;-&quot;)
 75         return regexp.sub(&quot;_&quot;, dashed_name)

replace is simpler, no?

Why do we have 3 copies of the string &quot;attachment-summary&quot;?  Seems error prone.

Looks OK though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173652</commentid>
    <comment_count>4</comment_count>
      <attachid>45255</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-20 00:27:58 -0800</bug_when>
    <thetext>Comment on attachment 45255
Patch

Clearing flags on attachment: 45255

Committed r52404: &lt;http://trac.webkit.org/changeset/52404&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173653</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-20 00:28:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45255</attachid>
            <date>2009-12-19 19:53:21 -0800</date>
            <delta_ts>2009-12-20 00:27:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-32780-20091219195320.patch</filename>
            <type>text/plain</type>
            <size>9787</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA0MjBjYTlkLi42NGQ4Mjk1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcgQEAKIDIwMDktMTIt
MTkgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgbWVtY2FjaGUgdG8gbWFrZSBkYXNoYm9h
cmQgdG8gZmFzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzI3ODAKKworICAgICAgICAqIFF1ZXVlU3RhdHVzU2VydmVyL2FwcC55YW1sOgorICAgICAg
ICAqIFF1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL2Rhc2hib2FyZC5weToKKyAgICAgICAgKiBR
dWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy91cGRhdGVzdGF0dXMucHk6CisgICAgICAgICogUXVl
dWVTdGF0dXNTZXJ2ZXIvbW9kZWwvYXR0YWNobWVudC5weTogQWRkZWQuCisKKzIwMDktMTItMTkg
IEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwogICAgICAgICBVbnJldmlld2VkLiAg
VHdlYWsgdGhlIENTUyB0byBtYWtlIHRoZSBkYXNoYm9hcmQgcHJldHRpZXIuCiAKICAgICAgICAg
KiBRdWV1ZVN0YXR1c1NlcnZlci9zdHlsZXNoZWV0cy9kYXNoYm9hcmQuY3NzOgpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvYXBwLnlhbWwgYi9XZWJLaXRUb29scy9R
dWV1ZVN0YXR1c1NlcnZlci9hcHAueWFtbAppbmRleCBmNmZmODcwLi43NmQ4OTYzIDEwMDY0NAot
LS0gYS9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9hcHAueWFtbAorKysgYi9XZWJLaXRU
b29scy9RdWV1ZVN0YXR1c1NlcnZlci9hcHAueWFtbApAQCAtNyw1ICs3LDkgQEAgaGFuZGxlcnM6
CiAtIHVybDogL3N0eWxlc2hlZXRzCiAgIHN0YXRpY19kaXI6IHN0eWxlc2hlZXRzCiAKKy0gdXJs
OiAvcmVtb3RlX2FwaQorICBzY3JpcHQ6ICRQWVRIT05fTElCL2dvb2dsZS9hcHBlbmdpbmUvZXh0
L3JlbW90ZV9hcGkvaGFuZGxlci5weQorICBsb2dpbjogYWRtaW4KKwogLSB1cmw6IC8uKgogICBz
Y3JpcHQ6IG1haW4ucHkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVy
L2hhbmRsZXJzL2Rhc2hib2FyZC5weSBiL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hh
bmRsZXJzL2Rhc2hib2FyZC5weQppbmRleCBmZDgxMWI1Li44MGYzMGVjIDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy9kYXNoYm9hcmQucHkKKysrIGIv
V2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvZGFzaGJvYXJkLnB5CkBAIC0y
Niw2NiArMjYsMTYgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWltcG9ydCBy
ZQotCiBmcm9tIGdvb2dsZS5hcHBlbmdpbmUuZXh0IGltcG9ydCB3ZWJhcHAKIGZyb20gZ29vZ2xl
LmFwcGVuZ2luZS5leHQud2ViYXBwIGltcG9ydCB0ZW1wbGF0ZQogCi1mcm9tIG1vZGVsLnF1ZXVl
c3RhdHVzIGltcG9ydCBRdWV1ZVN0YXR1cwotZnJvbSBoYW5kbGVycy5zdGF0dXNidWJibGUgaW1w
b3J0IFN0YXR1c1N1bW1hcnkKLQotcXVldWVzID0gWwotICAgICJzdHlsZS1xdWV1ZSIsCi0gICAg
ImNocm9taXVtLWV3cyIsCi0gICAgInF0LWV3cyIsCi0gICAgImd0ay1ld3MiLAotXQotCi1kZWYg
ZGFzaF90b191bmRlcnNjb3JlKGRhc2hlZF9uYW1lKToKLSAgICByZWdleHAgPSByZS5jb21waWxl
KCItIikKLSAgICByZXR1cm4gcmVnZXhwLnN1YigiXyIsIGRhc2hlZF9uYW1lKQotCi1kZWYgc3Rh
dGVfZnJvbV9zdGF0dXMoc3RhdHVzKToKLSAgICB0YWJsZSA9IHsKLSAgICAgICAgIlBhc3MiIDog
InBhc3MiLAotICAgICAgICAiRmFpbCIgOiAiZmFpbCIsCi0gICAgfQotICAgIHJldHVybiB0YWJs
ZS5nZXQoc3RhdHVzLm1lc3NhZ2UsICJub25lIikKLQotZGVmIHN1bW1hcml6ZShhdHRhY2htZW50
X2lkKToKLSAgICBzdW1tYXJ5ID0geyAiYXR0YWNobWVudF9pZCIgOiBhdHRhY2htZW50X2lkIH0K
LQotICAgICMgRklYTUU6IFdlIHNob3VsZG4ndCBoYXZlIHRvIG1ha2UgYW5vdGhlciBxdWVyeSB0
byBmaWd1cmUgdGhpcyBvdXQuCi0gICAgIyAgICAgICAgV2UnbGwgZml4IHRoaXMgd2l0aCBtZW1j
YWNoZS4gIE5vdGljZSB0aGF0IHdlIGNhbid0IGdyYWIgaXQKLSAgICAjICAgICAgICBiZWxvdyBi
ZWNhdXNlIHRoZSBwYXRjaCBtaWdodCBub3QgaGF2ZSBiZWVuIHByb2Nlc3NlZCBieSBvbmUKLSAg
ICAjICAgICAgICB0aGVzZSBxdWV1ZXMgeWV0LgotICAgIHN1bW1hcnlbImJ1Z19pZCJdID0gUXVl
dWVTdGF0dXMuYWxsKCkuZmlsdGVyKCdhY3RpdmVfcGF0Y2hfaWQgPScsIGF0dGFjaG1lbnRfaWQp
LmZldGNoKDEpWzBdLmFjdGl2ZV9idWdfaWQKLQotICAgIGZvciBxdWV1ZSBpbiBxdWV1ZXM6Ci0g
ICAgICAgIHN1bW1hcnlbcXVldWVdID0gTm9uZQotICAgICAgICBzdGF0dXMgPSBRdWV1ZVN0YXR1
cy5hbGwoKS5maWx0ZXIoJ3F1ZXVlX25hbWUgPScsIHF1ZXVlKS5maWx0ZXIoJ2FjdGl2ZV9wYXRj
aF9pZCA9JywgYXR0YWNobWVudF9pZCkub3JkZXIoJy1kYXRlJykuZ2V0KCkKLSAgICAgICAgaWYg
c3RhdHVzOgotICAgICAgICAgICAgc3VtbWFyeVtkYXNoX3RvX3VuZGVyc2NvcmUocXVldWUpXSA9
IHsKLSAgICAgICAgICAgICAgICAic3RhdGUiIDogc3RhdGVfZnJvbV9zdGF0dXMoc3RhdHVzKSwK
LSAgICAgICAgICAgICAgICAic3RhdHVzIiA6IHN0YXR1cywKLSAgICAgICAgICAgIH0KLSAgICBy
ZXR1cm4gc3VtbWFyeQotCitmcm9tIG1vZGVsLmF0dGFjaG1lbnQgaW1wb3J0IEF0dGFjaG1lbnQK
IAogY2xhc3MgRGFzaGJvYXJkKHdlYmFwcC5SZXF1ZXN0SGFuZGxlcik6CiAgICAgZGVmIGdldChz
ZWxmKToKLSAgICAgICAgc3RhdHVzX3N1bW1hcnkgPSBTdGF0dXNTdW1tYXJ5KCkKLSAgICAgICAg
c3RhdHVzZXMgPSBRdWV1ZVN0YXR1cy5hbGwoKS5vcmRlcigiLWRhdGUiKQotCi0gICAgICAgIGF0
dGFjaG1lbnRfaWRzID0gc2V0KCkKLSAgICAgICAgZm9yIHN0YXR1cyBpbiBzdGF0dXNlczoKLSAg
ICAgICAgICAgIGlmIG5vdCBzdGF0dXMuYWN0aXZlX3BhdGNoX2lkOgotICAgICAgICAgICAgICAg
IGNvbnRpbnVlCi0gICAgICAgICAgICBhdHRhY2htZW50X2lkcy5hZGQoc3RhdHVzLmFjdGl2ZV9w
YXRjaF9pZCkKLSAgICAgICAgICAgIGlmIGxlbihhdHRhY2htZW50X2lkcykgPj0gMjU6Ci0gICAg
ICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgYXR0YWNobWVudHMgPSBBdHRhY2htZW50LnJlY2Vu
dChsaW1pdD0yNSkKIAogICAgICAgICB0ZW1wbGF0ZV92YWx1ZXMgPSB7Ci0gICAgICAgICAgICAi
c3VtbWFyaWVzIiA6IG1hcChzdW1tYXJpemUsIHNvcnRlZChhdHRhY2htZW50X2lkcykpLAorICAg
ICAgICAgICAgInN1bW1hcmllcyIgOiBbYXR0YWNobWVudC5zdW1tYXJ5KCkgZm9yIGF0dGFjaG1l
bnQgaW4gYXR0YWNobWVudHNdLAogICAgICAgICB9CiAgICAgICAgIHNlbGYucmVzcG9uc2Uub3V0
LndyaXRlKHRlbXBsYXRlLnJlbmRlcigidGVtcGxhdGVzL2Rhc2hib2FyZC5odG1sIiwgdGVtcGxh
dGVfdmFsdWVzKSkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hh
bmRsZXJzL3VwZGF0ZXN0YXR1cy5weSBiL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hh
bmRsZXJzL3VwZGF0ZXN0YXR1cy5weQppbmRleCBiODEwNDFhLi4zYWQ3Yjc3IDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy91cGRhdGVzdGF0dXMucHkK
KysrIGIvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFuZGxlcnMvdXBkYXRlc3RhdHVz
LnB5CkBAIC0zMCw2ICszMCw3IEBAIGZyb20gZ29vZ2xlLmFwcGVuZ2luZS5hcGkgaW1wb3J0IHVz
ZXJzCiBmcm9tIGdvb2dsZS5hcHBlbmdpbmUuZXh0IGltcG9ydCB3ZWJhcHAsIGRiCiBmcm9tIGdv
b2dsZS5hcHBlbmdpbmUuZXh0LndlYmFwcCBpbXBvcnQgdGVtcGxhdGUKIAorZnJvbSBtb2RlbC5h
dHRhY2htZW50IGltcG9ydCBBdHRhY2htZW50CiBmcm9tIG1vZGVsLnF1ZXVlc3RhdHVzIGltcG9y
dCBRdWV1ZVN0YXR1cwogCiAKQEAgLTUyLDEyICs1MywxNSBAQCBjbGFzcyBVcGRhdGVTdGF0dXMo
d2ViYXBwLlJlcXVlc3RIYW5kbGVyKToKICAgICAgICAgaWYgdXNlcnMuZ2V0X2N1cnJlbnRfdXNl
cigpOgogICAgICAgICAgICAgcXVldWVfc3RhdHVzLmF1dGhvciA9IHVzZXJzLmdldF9jdXJyZW50
X3VzZXIoKQogCi0gICAgICAgIHF1ZXVlX25hbWUgPSBzZWxmLnJlcXVlc3QuZ2V0KCdxdWV1ZV9u
YW1lJykKKyAgICAgICAgYnVnX2lkID0gc2VsZi5faW50X2Zyb21fcmVxdWVzdCgiYnVnX2lkIikK
KyAgICAgICAgcGF0Y2hfaWQgPSBzZWxmLl9pbnRfZnJvbV9yZXF1ZXN0KCJwYXRjaF9pZCIpCisg
ICAgICAgIHF1ZXVlX25hbWUgPSBzZWxmLnJlcXVlc3QuZ2V0KCJxdWV1ZV9uYW1lIikKICAgICAg
ICAgcXVldWVfc3RhdHVzLnF1ZXVlX25hbWUgPSBxdWV1ZV9uYW1lCi0gICAgICAgIHF1ZXVlX3N0
YXR1cy5hY3RpdmVfYnVnX2lkID0gc2VsZi5faW50X2Zyb21fcmVxdWVzdCgnYnVnX2lkJykKLSAg
ICAgICAgcXVldWVfc3RhdHVzLmFjdGl2ZV9wYXRjaF9pZCA9IHNlbGYuX2ludF9mcm9tX3JlcXVl
c3QoJ3BhdGNoX2lkJykKLSAgICAgICAgcXVldWVfc3RhdHVzLm1lc3NhZ2UgPSBzZWxmLnJlcXVl
c3QuZ2V0KCdzdGF0dXMnKQorICAgICAgICBxdWV1ZV9zdGF0dXMuYWN0aXZlX2J1Z19pZCA9IGJ1
Z19pZAorICAgICAgICBxdWV1ZV9zdGF0dXMuYWN0aXZlX3BhdGNoX2lkID0gcGF0Y2hfaWQKKyAg
ICAgICAgcXVldWVfc3RhdHVzLm1lc3NhZ2UgPSBzZWxmLnJlcXVlc3QuZ2V0KCJzdGF0dXMiKQog
ICAgICAgICByZXN1bHRzX2ZpbGUgPSBzZWxmLnJlcXVlc3QuZ2V0KCJyZXN1bHRzX2ZpbGUiKQog
ICAgICAgICBxdWV1ZV9zdGF0dXMucmVzdWx0c19maWxlID0gZGIuQmxvYihzdHIocmVzdWx0c19m
aWxlKSkKICAgICAgICAgcXVldWVfc3RhdHVzLnB1dCgpCisgICAgICAgIEF0dGFjaG1lbnQuZGly
dHkocGF0Y2hfaWQpCiAgICAgICAgIHNlbGYucmVzcG9uc2Uub3V0LndyaXRlKHF1ZXVlX3N0YXR1
cy5rZXkoKS5pZCgpKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIv
bW9kZWwvYXR0YWNobWVudC5weSBiL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21vZGVs
L2F0dGFjaG1lbnQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2M4ZmJm
ZQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL21vZGVs
L2F0dGFjaG1lbnQucHkKQEAgLTAsMCArMSwxMDkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDA5IEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisjIG1ldDoKKyMgCisjICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisjIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisj
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisjIAorIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2lt
cG9ydCByZQorCitmcm9tIGdvb2dsZS5hcHBlbmdpbmUuYXBpIGltcG9ydCBtZW1jYWNoZQorCitm
cm9tIG1vZGVsLnF1ZXVlc3RhdHVzIGltcG9ydCBRdWV1ZVN0YXR1cworCisKK2NsYXNzIEF0dGFj
aG1lbnQob2JqZWN0KToKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgZGlydHkoY2xzLCBhdHRh
Y2htZW50X2lkKToKKyAgICAgICAgbWVtY2FjaGUuZGVsZXRlKHN0cihhdHRhY2htZW50X2lkKSwg
bmFtZXNwYWNlPSJhdHRhY2htZW50LXN1bW1hcnkiKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAg
ZGVmIHJlY2VudChjbHMsIGxpbWl0PTEpOgorICAgICAgICBzdGF0dXNlcyA9IFF1ZXVlU3RhdHVz
LmFsbCgpLm9yZGVyKCItZGF0ZSIpCisgICAgICAgICMgTm90aWNlIHRoYXQgd2UgdXNlIGJvdGgg
YSBzZXQgYW5kIGEgbGlzdCBoZXJlIHRvIGtlZXAgdGhlIC1kYXRlIG9yZGVyaW5nLgorICAgICAg
ICBpZHMgPSBbXQorICAgICAgICB2aXNpdGVkX2lkcyA9IHNldCgpCisgICAgICAgIGZvciBzdGF0
dXMgaW4gc3RhdHVzZXM6CisgICAgICAgICAgICBhdHRhY2htZW50X2lkID0gc3RhdHVzLmFjdGl2
ZV9wYXRjaF9pZAorICAgICAgICAgICAgaWYgbm90IGF0dGFjaG1lbnRfaWQ6CisgICAgICAgICAg
ICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmIGF0dGFjaG1lbnRfaWQgaW4gdmlzaXRlZF9p
ZHM6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHZpc2l0ZWRfaWRzLmFk
ZChhdHRhY2htZW50X2lkKQorICAgICAgICAgICAgaWRzLmFwcGVuZChhdHRhY2htZW50X2lkKQor
ICAgICAgICAgICAgaWYgbGVuKHZpc2l0ZWRfaWRzKSA+PSBsaW1pdDoKKyAgICAgICAgICAgICAg
ICBicmVhaworICAgICAgICByZXR1cm4gbWFwKGNscywgaWRzKQorCisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIGF0dGFjaG1lbnRfaWQpOgorICAgICAgICBzZWxmLmlkID0gYXR0YWNobWVudF9pZAor
ICAgICAgICBzZWxmLl9zdW1tYXJ5ID0gTm9uZQorCisgICAgZGVmIHN1bW1hcnkoc2VsZik6Cisg
ICAgICAgIGlmIHNlbGYuX3N1bW1hcnk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc3VtbWFy
eQorICAgICAgICBzZWxmLl9zdW1tYXJ5ID0gbWVtY2FjaGUuZ2V0KHN0cihzZWxmLmlkKSwgbmFt
ZXNwYWNlPSJhdHRhY2htZW50LXN1bW1hcnkiKQorICAgICAgICBpZiBzZWxmLl9zdW1tYXJ5Ogor
ICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3N1bW1hcnkKKyAgICAgICAgc2VsZi5fc3VtbWFyeSA9
IHNlbGYuX2ZldGNoX3N1bW1hcnkoKQorICAgICAgICBtZW1jYWNoZS5zZXQoc3RyKHNlbGYuaWQp
LCBzZWxmLl9zdW1tYXJ5LCBuYW1lc3BhY2U9ImF0dGFjaG1lbnQtc3VtbWFyeSIpCisgICAgICAg
IHJldHVybiBzZWxmLl9zdW1tYXJ5CisKKyAgICBkZWYgX2Rhc2hfdG9fdW5kZXJzY29yZShzZWxm
LCBkYXNoZWRfbmFtZSk6CisgICAgICAgIHJlZ2V4cCA9IHJlLmNvbXBpbGUoIi0iKQorICAgICAg
ICByZXR1cm4gcmVnZXhwLnN1YigiXyIsIGRhc2hlZF9uYW1lKQorCisgICAgZGVmIF9zdGF0ZV9m
cm9tX3N0YXR1cyhzZWxmLCBzdGF0dXMpOgorICAgICAgICB0YWJsZSA9IHsKKyAgICAgICAgICAg
ICJQYXNzIiA6ICJwYXNzIiwKKyAgICAgICAgICAgICJGYWlsIiA6ICJmYWlsIiwKKyAgICAgICAg
fQorICAgICAgICByZXR1cm4gdGFibGUuZ2V0KHN0YXR1cy5tZXNzYWdlLCAibm9uZSIpCisKKyAg
ICBkZWYgX2ZldGNoX3N1bW1hcnkoc2VsZik6CisgICAgICAgIHN1bW1hcnkgPSB7ICJhdHRhY2ht
ZW50X2lkIiA6IHNlbGYuaWQgfQorCisgICAgICAgIGZpcnN0X3N0YXR1cyA9IFF1ZXVlU3RhdHVz
LmFsbCgpLmZpbHRlcignYWN0aXZlX3BhdGNoX2lkID0nLCBzZWxmLmlkKS5nZXQoKQorICAgICAg
ICBpZiBub3QgZmlyc3Rfc3RhdHVzOgorICAgICAgICAgICAgIyBXZSBkb24ndCBoYXZlIGFueSBy
ZWNvcmQgb2YgdGhpcyBhdHRhY2htZW50LgorICAgICAgICAgICAgcmV0dXJuIHN1bW1hcnkKKyAg
ICAgICAgc3VtbWFyeVsiYnVnX2lkIl0gPSBmaXJzdF9zdGF0dXMuYWN0aXZlX2J1Z19pZAorCisg
ICAgICAgICMgRklYTUU6IFRoaXMgc2hvdWxkIGdvIHNvbWV3aGVyZSBlbHNlLgorICAgICAgICBx
dWV1ZXMgPSBbCisgICAgICAgICAgICAic3R5bGUtcXVldWUiLAorICAgICAgICAgICAgImNocm9t
aXVtLWV3cyIsCisgICAgICAgICAgICAicXQtZXdzIiwKKyAgICAgICAgICAgICJndGstZXdzIiwK
KyAgICAgICAgXQorCisgICAgICAgIGZvciBxdWV1ZSBpbiBxdWV1ZXM6CisgICAgICAgICAgICBz
dW1tYXJ5W3F1ZXVlXSA9IE5vbmUKKyAgICAgICAgICAgIHN0YXR1cyA9IFF1ZXVlU3RhdHVzLmFs
bCgpLmZpbHRlcigncXVldWVfbmFtZSA9JywgcXVldWUpLmZpbHRlcignYWN0aXZlX3BhdGNoX2lk
ID0nLCBzZWxmLmlkKS5vcmRlcignLWRhdGUnKS5nZXQoKQorICAgICAgICAgICAgaWYgc3RhdHVz
OgorICAgICAgICAgICAgICAgIHN1bW1hcnlbc2VsZi5fZGFzaF90b191bmRlcnNjb3JlKHF1ZXVl
KV0gPSB7CisgICAgICAgICAgICAgICAgICAgICJzdGF0ZSIgOiBzZWxmLl9zdGF0ZV9mcm9tX3N0
YXR1cyhzdGF0dXMpLAorICAgICAgICAgICAgICAgICAgICAic3RhdHVzIiA6IHN0YXR1cywKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgIHJldHVybiBzdW1tYXJ5Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>