<?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>18686</bug_id>
          
          <creation_ts>2008-04-22 15:16:58 -0700</creation_ts>
          <short_desc>SQUIRRELFISH: implement LabelNode</short_desc>
          <delta_ts>2008-04-22 21:53:33 -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>JavaScriptCore</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>
          
          <blocked>18624</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Cameron Zwarich (cpst)">zwarich</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>78581</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-04-22 15:16:58 -0700</bug_when>
    <thetext>LabelNode currently emits code for the enclosing statement but nothing else. This causes a number of JavaScriptCore tests to fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78582</commentid>
    <comment_count>1</comment_count>
      <attachid>20758</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-04-22 15:18:29 -0700</bug_when>
    <thetext>Created attachment 20758
Proposed patch

This patch fixes 5 JavaScriptCore tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78586</commentid>
    <comment_count>2</comment_count>
      <attachid>20758</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-04-22 15:39:04 -0700</bug_when>
    <thetext>Comment on attachment 20758
Proposed patch

removed review flag as we discussed this allows some incorrect behaviour :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78589</commentid>
    <comment_count>3</comment_count>
      <attachid>20759</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-04-22 16:17:48 -0700</bug_when>
    <thetext>Created attachment 20759
Revised proposed patch

This patch addresses the issues that Oliver and I discussed on IRC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78594</commentid>
    <comment_count>4</comment_count>
      <attachid>20759</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-04-22 16:50:21 -0700</bug_when>
    <thetext>Comment on attachment 20759
Revised proposed patch

r=me with a better name than &quot;possibleEmptyBreakTarget&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78596</commentid>
    <comment_count>5</comment_count>
      <attachid>20760</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-04-22 16:55:42 -0700</bug_when>
    <thetext>Created attachment 20760
Revised proposed patch

Here it is, with a better name.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20758</attachid>
            <date>2008-04-22 15:18:29 -0700</date>
            <delta_ts>2008-04-22 16:17:48 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>label.diff</filename>
            <type>text/plain</type>
            <size>1509</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDMyNDA4
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDgtMDQt
MjIgIENhbWVyb24gWndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IExhYmVsTm9k
ZS4KKworICAgICAgICAqIGtqcy9ub2Rlcy5jcHA6CisgICAgICAgIChLSlM6OkxhYmVsTm9kZTo6
ZW1pdENvZGUpOgorCiAyMDA4LTA0LTIyICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQgYW5kIE1hY2llaiBTdGFjaG93
aWFrLgpJbmRleDoga2pzL25vZGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBranMvbm9kZXMuY3BwCShy
ZXZpc2lvbiAzMjQwOCkKKysrIGtqcy9ub2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1MzMs
NyArNTUzMywyMCBAQCBKU1ZhbHVlKiBTd2l0Y2hOb2RlOjpleGVjdXRlKEV4ZWNTdGF0ZSogCiAv
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTGFiZWxOb2RlIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogUmVnaXN0ZXJJRCogTGFiZWxOb2RlOjplbWl0Q29kZShD
b2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKIHsKLSAgICByZXR1cm4g
Z2VuZXJhdG9yLmVtaXROb2RlKGRzdCwgbV9zdGF0ZW1lbnQuZ2V0KCkpOworICAgIGlmIChnZW5l
cmF0b3IuanVtcENvbnRleHRGb3JMYWJlbChtX2xhYmVsKSkKKyAgICAgICAgcmV0dXJuIGVtaXRU
aHJvd0Vycm9yKGdlbmVyYXRvciwgZHN0LCBTeW50YXhFcnJvciwgIkR1cGxpY2F0ZWQgbGFiZWwg
JXMgZm91bmQuIiwgbV9sYWJlbCk7CisgICAgCisgICAgUmVmUHRyPExhYmVsSUQ+IGwwID0gZ2Vu
ZXJhdG9yLm5ld0xhYmVsKCk7CisgICAgbV9sYWJlbFN0YWNrLnB1c2gobV9sYWJlbCk7CisgICAg
Z2VuZXJhdG9yLnB1c2hKdW1wQ29udGV4dCgmbV9sYWJlbFN0YWNrLCAwLCBsMC5nZXQoKSk7Cisg
ICAgCisgICAgUmVnaXN0ZXJJRCogcjAgPSBnZW5lcmF0b3IuZW1pdE5vZGUoZHN0LCBtX3N0YXRl
bWVudC5nZXQoKSk7CisgICAgCisgICAgZ2VuZXJhdG9yLnBvcEp1bXBDb250ZXh0KCk7CisgICAg
bV9sYWJlbFN0YWNrLnBvcCgpOworICAgIAorICAgIGdlbmVyYXRvci5lbWl0TGFiZWwobDAuZ2V0
KCkpOworICAgIHJldHVybiByMDsKIH0KIAogdm9pZCBMYWJlbE5vZGU6Om9wdGltaXplVmFyaWFi
bGVBY2Nlc3MoRXhlY1N0YXRlKiwgY29uc3QgU3ltYm9sVGFibGUmLCBjb25zdCBMb2NhbFN0b3Jh
Z2UmLCBOb2RlU3RhY2smIG5vZGVTdGFjaykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20759</attachid>
            <date>2008-04-22 16:17:48 -0700</date>
            <delta_ts>2008-04-22 16:55:42 -0700</delta_ts>
            <desc>Revised proposed patch</desc>
            <filename>label.diff</filename>
            <type>text/plain</type>
            <size>8584</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDMyNDEw
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDgtMDQt
MjIgIENhbWVyb24gWndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IExhYmVsTm9k
ZS4KKworICAgICAgICAqIFZNL0NvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoS0pTOjpDb2Rl
R2VuZXJhdG9yOjpwdXNoSnVtcENvbnRleHQpOgorICAgICAgICAoS0pTOjpDb2RlR2VuZXJhdG9y
OjpqdW1wQ29udGV4dEZvckNvbnRpbnVlKToKKyAgICAgICAgKEtKUzo6Q29kZUdlbmVyYXRvcjo6
anVtcENvbnRleHRGb3JCcmVhayk6CisgICAgICAgICogVk0vQ29kZUdlbmVyYXRvci5oOgorICAg
ICAgICAqIGtqcy9ub2Rlcy5jcHA6CisgICAgICAgIChLSlM6OkRvV2hpbGVOb2RlOjplbWl0Q29k
ZSk6CisgICAgICAgIChLSlM6OldoaWxlTm9kZTo6ZW1pdENvZGUpOgorICAgICAgICAoS0pTOjpG
b3JOb2RlOjplbWl0Q29kZSk6CisgICAgICAgIChLSlM6OkZvckluTm9kZTo6ZW1pdENvZGUpOgor
ICAgICAgICAoS0pTOjpDb250aW51ZU5vZGU6OmVtaXRDb2RlKToKKyAgICAgICAgKEtKUzo6QnJl
YWtOb2RlOjplbWl0Q29kZSk6CisgICAgICAgIChLSlM6OlN3aXRjaE5vZGU6OmVtaXRDb2RlKToK
KyAgICAgICAgKEtKUzo6TGFiZWxOb2RlOjplbWl0Q29kZSk6CisKIDIwMDgtMDQtMjIgIEdlb2Zm
cmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2
ZXIgSHVudC4KSW5kZXg6IFZNL0NvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFZNL0Nv
ZGVHZW5lcmF0b3IuY3BwCShyZXZpc2lvbiAzMjQwOCkKKysrIFZNL0NvZGVHZW5lcmF0b3IuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC05MjIsOSArOTIyLDkgQEAgdm9pZCBDb2RlR2VuZXJhdG9yOjpw
b3BGaW5hbGx5Q29udGV4dCgpCiAgICAgbV9maW5hbGx5RGVwdGgtLTsKIH0KIAotdm9pZCBDb2Rl
R2VuZXJhdG9yOjpwdXNoSnVtcENvbnRleHQoTGFiZWxTdGFjayogbGFiZWxzLCBMYWJlbElEKiBj
b250aW51ZVRhcmdldCwgTGFiZWxJRCogYnJlYWtUYXJnZXQpCit2b2lkIENvZGVHZW5lcmF0b3I6
OnB1c2hKdW1wQ29udGV4dChMYWJlbFN0YWNrKiBsYWJlbHMsIExhYmVsSUQqIGNvbnRpbnVlVGFy
Z2V0LCBMYWJlbElEKiBicmVha1RhcmdldCwgYm9vbCBwb3NzaWJsZUVtcHR5QnJlYWtUYXJnZXQp
CiB7Ci0gICAgSnVtcENvbnRleHQgY29udGV4dCA9IHsgbGFiZWxzLCBjb250aW51ZVRhcmdldCwg
YnJlYWtUYXJnZXQsIHNjb3BlRGVwdGgoKSB9OworICAgIEp1bXBDb250ZXh0IGNvbnRleHQgPSB7
IGxhYmVscywgY29udGludWVUYXJnZXQsIGJyZWFrVGFyZ2V0LCBzY29wZURlcHRoKCksIHBvc3Np
YmxlRW1wdHlCcmVha1RhcmdldCB9OwogICAgIG1fanVtcENvbnRleHRTdGFjay5hcHBlbmQoY29u
dGV4dCk7CiAgICAgaWYgKGNvbnRpbnVlVGFyZ2V0KQogICAgICAgICBtX2NvbnRpbnVlRGVwdGgr
KzsKQEAgLTkzOCwyMiArOTM4LDQwIEBAIHZvaWQgQ29kZUdlbmVyYXRvcjo6cG9wSnVtcENvbnRl
eHQoKQogICAgIG1fanVtcENvbnRleHRTdGFjay5yZW1vdmVMYXN0KCk7CiB9CiAKLUp1bXBDb250
ZXh0KiBDb2RlR2VuZXJhdG9yOjpqdW1wQ29udGV4dEZvckxhYmVsKGNvbnN0IElkZW50aWZpZXIm
IGxhYmVsLCBib29sIGZvckNvbnRpbnVlKQorSnVtcENvbnRleHQqIENvZGVHZW5lcmF0b3I6Omp1
bXBDb250ZXh0Rm9yQ29udGludWUoY29uc3QgSWRlbnRpZmllciYgbGFiZWwpCiB7CiAgICAgaWYo
IW1fanVtcENvbnRleHRTdGFjay5zaXplKCkpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgaWYg
KGxhYmVsLmlzRW1wdHkoKSkgewotICAgICAgICBpZiAoZm9yQ29udGludWUpIHsKLSAgICAgICAg
ICAgIGZvciAoaW50IGkgPSBtX2p1bXBDb250ZXh0U3RhY2suc2l6ZSgpIC0gMTsgaSA+PSAwOyBp
LS0pIHsKLSAgICAgICAgICAgICAgICBKdW1wQ29udGV4dCogc2NvcGUgPSAmbV9qdW1wQ29udGV4
dFN0YWNrW2ldOwotICAgICAgICAgICAgICAgIGlmIChzY29wZS0+Y29udGludWVUYXJnZXQpCi0g
ICAgICAgICAgICAgICAgICAgIHJldHVybiBzY29wZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIHJldHVybiAwOworICAgICAgICBmb3IgKGludCBpID0gbV9qdW1wQ29udGV4dFN0YWNrLnNp
emUoKSAtIDE7IGkgPj0gMDsgaS0tKSB7CisgICAgICAgICAgICBKdW1wQ29udGV4dCogc2NvcGUg
PSAmbV9qdW1wQ29udGV4dFN0YWNrW2ldOworICAgICAgICAgICAgaWYgKHNjb3BlLT5jb250aW51
ZVRhcmdldCkKKyAgICAgICAgICAgICAgICByZXR1cm4gc2NvcGU7CiAgICAgICAgIH0KLSAgICAg
ICAgCi0gICAgICAgIHJldHVybiAmbV9qdW1wQ29udGV4dFN0YWNrLmxhc3QoKTsKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgfQorICAgIAorICAgIGZvciAoaW50IGkgPSBtX2p1bXBDb250ZXh0U3Rh
Y2suc2l6ZSgpIC0gMTsgaSA+PSAwOyBpLS0pIHsKKyAgICAgICAgSnVtcENvbnRleHQqIHNjb3Bl
ID0gJm1fanVtcENvbnRleHRTdGFja1tpXTsKKyAgICAgICAgaWYgKHNjb3BlLT5sYWJlbHMtPmNv
bnRhaW5zKGxhYmVsKSkKKyAgICAgICAgICAgIHJldHVybiBzY29wZTsKKyAgICB9CisgICAgcmV0
dXJuIDA7Cit9CisKK0p1bXBDb250ZXh0KiBDb2RlR2VuZXJhdG9yOjpqdW1wQ29udGV4dEZvckJy
ZWFrKGNvbnN0IElkZW50aWZpZXImIGxhYmVsKQoreworICAgIGlmKCFtX2p1bXBDb250ZXh0U3Rh
Y2suc2l6ZSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmIChsYWJlbC5pc0VtcHR5KCkp
IHsKKyAgICAgICAgZm9yIChpbnQgaSA9IG1fanVtcENvbnRleHRTdGFjay5zaXplKCkgLSAxOyBp
ID49IDA7IGktLSkgeworICAgICAgICAgICAgSnVtcENvbnRleHQqIHNjb3BlID0gJm1fanVtcENv
bnRleHRTdGFja1tpXTsKKyAgICAgICAgICAgIGlmIChzY29wZS0+cG9zc2libGVFbXB0eUJyZWFr
VGFyZ2V0KQorICAgICAgICAgICAgICAgIHJldHVybiBzY29wZTsKKyAgICAgICAgfQorICAgICAg
ICByZXR1cm4gMDsKICAgICB9CiAgICAgCiAgICAgZm9yIChpbnQgaSA9IG1fanVtcENvbnRleHRT
dGFjay5zaXplKCkgLSAxOyBpID49IDA7IGktLSkgewpJbmRleDogVk0vQ29kZUdlbmVyYXRvci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFZNL0NvZGVHZW5lcmF0b3IuaAkocmV2aXNpb24gMzI0MDgpCisrKyBW
TS9Db2RlR2VuZXJhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDcgQEAgbmFtZXNw
YWNlIEtKUyB7CiAgICAgICAgIExhYmVsSUQqIGNvbnRpbnVlVGFyZ2V0OwogICAgICAgICBMYWJl
bElEKiBicmVha1RhcmdldDsKICAgICAgICAgaW50IHNjb3BlRGVwdGg7CisgICAgICAgIGJvb2wg
cG9zc2libGVFbXB0eUJyZWFrVGFyZ2V0OwogICAgIH07CiAKICAgICBzdHJ1Y3QgRmluYWxseUNv
bnRleHQgewpAQCAtMjI3LDkgKzIyOCwxMCBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICAgICAgdm9p
ZCBwb3BGaW5hbGx5Q29udGV4dCgpOwogICAgICAgICBib29sIGluQ29udGludWVDb250ZXh0KCkg
eyByZXR1cm4gbV9jb250aW51ZURlcHRoID4gMDsgfTsKICAgICAgICAgYm9vbCBpbkp1bXBDb250
ZXh0KCkgeyByZXR1cm4gbV9qdW1wQ29udGV4dFN0YWNrLnNpemUoKSA+IDA7IH07Ci0gICAgICAg
IHZvaWQgcHVzaEp1bXBDb250ZXh0KExhYmVsU3RhY2sqLCBMYWJlbElEKiBjb250aW51ZVRhcmdl
dCwgTGFiZWxJRCogYnJlYWtUYXJnZXQpOworICAgICAgICB2b2lkIHB1c2hKdW1wQ29udGV4dChM
YWJlbFN0YWNrKiwgTGFiZWxJRCogY29udGludWVUYXJnZXQsIExhYmVsSUQqIGJyZWFrVGFyZ2V0
LCBib29sIHBvc3NpYmxlRW1wdHlCcmVha1RhcmdldCk7CiAgICAgICAgIHZvaWQgcG9wSnVtcENv
bnRleHQoKTsKLSAgICAgICAgSnVtcENvbnRleHQqIGp1bXBDb250ZXh0Rm9yTGFiZWwoY29uc3Qg
SWRlbnRpZmllciYsIGJvb2wgZm9yQ29udGludWUgPSBmYWxzZSk7CisgICAgICAgIEp1bXBDb250
ZXh0KiBqdW1wQ29udGV4dEZvckNvbnRpbnVlKGNvbnN0IElkZW50aWZpZXImKTsKKyAgICAgICAg
SnVtcENvbnRleHQqIGp1bXBDb250ZXh0Rm9yQnJlYWsoY29uc3QgSWRlbnRpZmllciYpOwogCiAg
ICAgICAgIFJlZ2lzdGVySUQqIGVtaXRQdXNoU2NvcGUoUmVnaXN0ZXJJRCopOwogICAgICAgICB2
b2lkIGVtaXRQb3BTY29wZSgpOwpJbmRleDoga2pzL25vZGVzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBr
anMvbm9kZXMuY3BwCShyZXZpc2lvbiAzMjQwOCkKKysrIGtqcy9ub2Rlcy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ4NDcsNyArNDg0Nyw3IEBAIFJlZ2lzdGVySUQqIERvV2hpbGVOb2RlOjplbWl0
Q29kZShDb2RlR2UKICAgICBSZWZQdHI8TGFiZWxJRD4gY29uZGl0aW9uVGFyZ2V0ID0gZ2VuZXJh
dG9yLm5ld0xhYmVsKCk7CiAgICAgUmVmUHRyPExhYmVsSUQ+IGJyZWFrVGFyZ2V0ID0gZ2VuZXJh
dG9yLm5ld0xhYmVsKCk7CiAgICAgCi0gICAgZ2VuZXJhdG9yLnB1c2hKdW1wQ29udGV4dCgmbV9s
YWJlbFN0YWNrLCBjb25kaXRpb25UYXJnZXQuZ2V0KCksIGJyZWFrVGFyZ2V0LmdldCgpKTsKKyAg
ICBnZW5lcmF0b3IucHVzaEp1bXBDb250ZXh0KCZtX2xhYmVsU3RhY2ssIGNvbmRpdGlvblRhcmdl
dC5nZXQoKSwgYnJlYWtUYXJnZXQuZ2V0KCksIHRydWUpOwogICAgIFJlZlB0cjxSZWdpc3RlcklE
PiByMCA9IGdlbmVyYXRvci5lbWl0Tm9kZShkc3QsIG1fc3RhdGVtZW50LmdldCgpKTsKICAgICBn
ZW5lcmF0b3IucG9wSnVtcENvbnRleHQoKTsKICAgICAKQEAgLTQ5MDksNyArNDkwOSw3IEBAIFJl
Z2lzdGVySUQqIFdoaWxlTm9kZTo6ZW1pdENvZGUoQ29kZUdlbmUKICAgICBnZW5lcmF0b3IuZW1p
dEp1bXAoY29uZGl0aW9uVGFyZ2V0LmdldCgpKTsKICAgICBnZW5lcmF0b3IuZW1pdExhYmVsKGww
LmdldCgpKTsKICAgICAKLSAgICBnZW5lcmF0b3IucHVzaEp1bXBDb250ZXh0KCZtX2xhYmVsU3Rh
Y2ssIGNvbmRpdGlvblRhcmdldC5nZXQoKSwgYnJlYWtUYXJnZXQuZ2V0KCkpOworICAgIGdlbmVy
YXRvci5wdXNoSnVtcENvbnRleHQoJm1fbGFiZWxTdGFjaywgY29uZGl0aW9uVGFyZ2V0LmdldCgp
LCBicmVha1RhcmdldC5nZXQoKSwgdHJ1ZSk7CiAgICAgZ2VuZXJhdG9yLmVtaXROb2RlKGRzdCwg
bV9zdGF0ZW1lbnQuZ2V0KCkpOwogICAgIGdlbmVyYXRvci5wb3BKdW1wQ29udGV4dCgpOwogCkBA
IC00OTc1LDcgKzQ5NzUsNyBAQCBSZWdpc3RlcklEKiBGb3JOb2RlOjplbWl0Q29kZShDb2RlR2Vu
ZXJhCiAgICAgZ2VuZXJhdG9yLmVtaXRKdW1wKGwxLmdldCgpKTsKIAogICAgIGdlbmVyYXRvci5l
bWl0TGFiZWwobDAuZ2V0KCkpOwotICAgIGdlbmVyYXRvci5wdXNoSnVtcENvbnRleHQoJm1fbGFi
ZWxTdGFjaywgY29uZGl0aW9uVGFyZ2V0LmdldCgpLCBicmVha1RhcmdldC5nZXQoKSk7CisgICAg
Z2VuZXJhdG9yLnB1c2hKdW1wQ29udGV4dCgmbV9sYWJlbFN0YWNrLCBjb25kaXRpb25UYXJnZXQu
Z2V0KCksIGJyZWFrVGFyZ2V0LmdldCgpLCB0cnVlKTsKICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4g
cjAgPSBnZW5lcmF0b3IuZW1pdE5vZGUoZHN0LCBtX3N0YXRlbWVudC5nZXQoKSk7CiAgICAgZ2Vu
ZXJhdG9yLnBvcEp1bXBDb250ZXh0KCk7CiAgICAgZ2VuZXJhdG9yLmVtaXRMYWJlbChjb25kaXRp
b25UYXJnZXQuZ2V0KCkpOyAgCkBAIC01MTA2LDcgKzUxMDYsNyBAQCBSZWdpc3RlcklEKiBGb3JJ
bk5vZGU6OmVtaXRDb2RlKENvZGVHZW5lCiAgICAgICAgIGdlbmVyYXRvci5lbWl0UHV0UHJvcFZh
bChiYXNlLmdldCgpLCBzdWJzY3JpcHQsIHByb3BlcnR5TmFtZSk7CiAgICAgfSAgIAogICAgIAot
ICAgIGdlbmVyYXRvci5wdXNoSnVtcENvbnRleHQoJm1fbGFiZWxTdGFjaywgY29uZGl0aW9uVGFy
Z2V0LmdldCgpLCBicmVha1RhcmdldC5nZXQoKSk7CisgICAgZ2VuZXJhdG9yLnB1c2hKdW1wQ29u
dGV4dCgmbV9sYWJlbFN0YWNrLCBjb25kaXRpb25UYXJnZXQuZ2V0KCksIGJyZWFrVGFyZ2V0Lmdl
dCgpLCB0cnVlKTsKICAgICBnZW5lcmF0b3IuZW1pdE5vZGUoZHN0LCBtX3N0YXRlbWVudC5nZXQo
KSk7CiAgICAgZ2VuZXJhdG9yLnBvcEp1bXBDb250ZXh0KCk7CiAKQEAgLTUyMjEsNyArNTIyMSw3
IEBAIFJlZ2lzdGVySUQqIENvbnRpbnVlTm9kZTo6ZW1pdENvZGUoQ29kZUcKICAgICBpZiAoIWdl
bmVyYXRvci5pbkNvbnRpbnVlQ29udGV4dCgpKQogICAgICAgICByZXR1cm4gZW1pdFRocm93RXJy
b3IoZ2VuZXJhdG9yLCBkc3QsIFN5bnRheEVycm9yLCAiSW52YWxpZCBjb250aW51ZSBzdGF0ZW1l
bnQuIik7CiAKLSAgICBKdW1wQ29udGV4dCogdGFyZ2V0Q29udGV4dCA9IGdlbmVyYXRvci5qdW1w
Q29udGV4dEZvckxhYmVsKG1faWRlbnQsIHRydWUpOworICAgIEp1bXBDb250ZXh0KiB0YXJnZXRD
b250ZXh0ID0gZ2VuZXJhdG9yLmp1bXBDb250ZXh0Rm9yQ29udGludWUobV9pZGVudCk7CiAKICAg
ICBpZiAoIXRhcmdldENvbnRleHQpIHsKICAgICAgICAgaWYgKG1faWRlbnQuaXNFbXB0eSgpKQpA
QCAtNTI1NSw3ICs1MjU1LDcgQEAgUmVnaXN0ZXJJRCogQnJlYWtOb2RlOjplbWl0Q29kZShDb2Rl
R2VuZQogICAgIGlmICghZ2VuZXJhdG9yLmluSnVtcENvbnRleHQoKSkKICAgICAgICAgcmV0dXJu
IGVtaXRUaHJvd0Vycm9yKGdlbmVyYXRvciwgZHN0LCBTeW50YXhFcnJvciwgIkludmFsaWQgYnJl
YWsgc3RhdGVtZW50LiIpOwogICAgIAotICAgIEp1bXBDb250ZXh0KiB0YXJnZXRDb250ZXh0ID0g
Z2VuZXJhdG9yLmp1bXBDb250ZXh0Rm9yTGFiZWwobV9pZGVudCk7CisgICAgSnVtcENvbnRleHQq
IHRhcmdldENvbnRleHQgPSBnZW5lcmF0b3IuanVtcENvbnRleHRGb3JCcmVhayhtX2lkZW50KTsK
ICAgICAKICAgICBpZiAoIXRhcmdldENvbnRleHQpIHsKICAgICAgICAgaWYgKG1faWRlbnQuaXNF
bXB0eSgpKQpAQCAtNTUwMCw3ICs1NTAwLDcgQEAgUmVnaXN0ZXJJRCogU3dpdGNoTm9kZTo6ZW1p
dENvZGUoQ29kZUdlbgogICAgIFJlZlB0cjxMYWJlbElEPiBicmVha1RhcmdldCA9IGdlbmVyYXRv
ci5uZXdMYWJlbCgpOwogCiAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHIwID0gZ2VuZXJhdG9yLmVt
aXROb2RlKG1fZXhwci5nZXQoKSk7Ci0gICAgZ2VuZXJhdG9yLnB1c2hKdW1wQ29udGV4dCgmbV9s
YWJlbFN0YWNrLCAwLCBicmVha1RhcmdldC5nZXQoKSk7CisgICAgZ2VuZXJhdG9yLnB1c2hKdW1w
Q29udGV4dCgmbV9sYWJlbFN0YWNrLCAwLCBicmVha1RhcmdldC5nZXQoKSwgdHJ1ZSk7CiAgICAg
UmVnaXN0ZXJJRCogcjEgPSBtX2Jsb2NrLT5lbWl0Q29kZUZvckJsb2NrKGdlbmVyYXRvciwgcjAu
Z2V0KCksIGRzdCk7CiAgICAgZ2VuZXJhdG9yLnBvcEp1bXBDb250ZXh0KCk7CiAKQEAgLTU1MzMs
NyArNTUzMywyMCBAQCBKU1ZhbHVlKiBTd2l0Y2hOb2RlOjpleGVjdXRlKEV4ZWNTdGF0ZSogCiAv
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTGFiZWxOb2RlIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogUmVnaXN0ZXJJRCogTGFiZWxOb2RlOjplbWl0Q29kZShD
b2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKIHsKLSAgICByZXR1cm4g
Z2VuZXJhdG9yLmVtaXROb2RlKGRzdCwgbV9zdGF0ZW1lbnQuZ2V0KCkpOworICAgIGlmIChnZW5l
cmF0b3IuanVtcENvbnRleHRGb3JCcmVhayhtX2xhYmVsKSkKKyAgICAgICAgcmV0dXJuIGVtaXRU
aHJvd0Vycm9yKGdlbmVyYXRvciwgZHN0LCBTeW50YXhFcnJvciwgIkR1cGxpY2F0ZWQgbGFiZWwg
JXMgZm91bmQuIiwgbV9sYWJlbCk7CisgICAgCisgICAgUmVmUHRyPExhYmVsSUQ+IGwwID0gZ2Vu
ZXJhdG9yLm5ld0xhYmVsKCk7CisgICAgbV9sYWJlbFN0YWNrLnB1c2gobV9sYWJlbCk7CisgICAg
Z2VuZXJhdG9yLnB1c2hKdW1wQ29udGV4dCgmbV9sYWJlbFN0YWNrLCAwLCBsMC5nZXQoKSwgZmFs
c2UpOworICAgIAorICAgIFJlZ2lzdGVySUQqIHIwID0gZ2VuZXJhdG9yLmVtaXROb2RlKGRzdCwg
bV9zdGF0ZW1lbnQuZ2V0KCkpOworICAgIAorICAgIGdlbmVyYXRvci5wb3BKdW1wQ29udGV4dCgp
OworICAgIG1fbGFiZWxTdGFjay5wb3AoKTsKKyAgICAKKyAgICBnZW5lcmF0b3IuZW1pdExhYmVs
KGwwLmdldCgpKTsKKyAgICByZXR1cm4gcjA7CiB9CiAKIHZvaWQgTGFiZWxOb2RlOjpvcHRpbWl6
ZVZhcmlhYmxlQWNjZXNzKEV4ZWNTdGF0ZSosIGNvbnN0IFN5bWJvbFRhYmxlJiwgY29uc3QgTG9j
YWxTdG9yYWdlJiwgTm9kZVN0YWNrJiBub2RlU3RhY2spCg==
</data>
<flag name="review"
          id="9077"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20760</attachid>
            <date>2008-04-22 16:55:42 -0700</date>
            <delta_ts>2008-04-22 16:57:19 -0700</delta_ts>
            <desc>Revised proposed patch</desc>
            <filename>label.diff</filename>
            <type>text/plain</type>
            <size>8836</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDMyNDEw
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDgtMDQt
MjIgIENhbWVyb24gWndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IExhYmVsTm9k
ZS4KKworICAgICAgICAqIFZNL0NvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoS0pTOjpDb2Rl
R2VuZXJhdG9yOjpwdXNoSnVtcENvbnRleHQpOgorICAgICAgICAoS0pTOjpDb2RlR2VuZXJhdG9y
OjpqdW1wQ29udGV4dEZvckNvbnRpbnVlKToKKyAgICAgICAgKEtKUzo6Q29kZUdlbmVyYXRvcjo6
anVtcENvbnRleHRGb3JCcmVhayk6CisgICAgICAgICogVk0vQ29kZUdlbmVyYXRvci5oOgorICAg
ICAgICAqIGtqcy9ub2Rlcy5jcHA6CisgICAgICAgIChLSlM6OkRvV2hpbGVOb2RlOjplbWl0Q29k
ZSk6CisgICAgICAgIChLSlM6OldoaWxlTm9kZTo6ZW1pdENvZGUpOgorICAgICAgICAoS0pTOjpG
b3JOb2RlOjplbWl0Q29kZSk6CisgICAgICAgIChLSlM6OkZvckluTm9kZTo6ZW1pdENvZGUpOgor
ICAgICAgICAoS0pTOjpDb250aW51ZU5vZGU6OmVtaXRDb2RlKToKKyAgICAgICAgKEtKUzo6QnJl
YWtOb2RlOjplbWl0Q29kZSk6CisgICAgICAgIChLSlM6OlN3aXRjaE5vZGU6OmVtaXRDb2RlKToK
KyAgICAgICAgKEtKUzo6TGFiZWxOb2RlOjplbWl0Q29kZSk6CisKIDIwMDgtMDQtMjIgIEdlb2Zm
cmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2
ZXIgSHVudC4KSW5kZXg6IFZNL0NvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFZNL0Nv
ZGVHZW5lcmF0b3IuY3BwCShyZXZpc2lvbiAzMjQwOCkKKysrIFZNL0NvZGVHZW5lcmF0b3IuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsNyArMTEzLDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAqLwog
CiAjaWZuZGVmIE5ERUJVRwotYm9vbCBDb2RlR2VuZXJhdG9yOjpzX2R1bXBzR2VuZXJhdGVkQ29k
ZSA9IGZhbHNlOworYm9vbCBDb2RlR2VuZXJhdG9yOjpzX2R1bXBzR2VuZXJhdGVkQ29kZSA9IHRy
dWU7CiAjZW5kaWYKIAogdm9pZCBDb2RlR2VuZXJhdG9yOjpzZXREdW1wc0dlbmVyYXRlZENvZGUo
Ym9vbCBkdW1wc0dlbmVyYXRlZENvZGUpCkBAIC05MjIsOSArOTIyLDkgQEAgdm9pZCBDb2RlR2Vu
ZXJhdG9yOjpwb3BGaW5hbGx5Q29udGV4dCgpCiAgICAgbV9maW5hbGx5RGVwdGgtLTsKIH0KIAot
dm9pZCBDb2RlR2VuZXJhdG9yOjpwdXNoSnVtcENvbnRleHQoTGFiZWxTdGFjayogbGFiZWxzLCBM
YWJlbElEKiBjb250aW51ZVRhcmdldCwgTGFiZWxJRCogYnJlYWtUYXJnZXQpCit2b2lkIENvZGVH
ZW5lcmF0b3I6OnB1c2hKdW1wQ29udGV4dChMYWJlbFN0YWNrKiBsYWJlbHMsIExhYmVsSUQqIGNv
bnRpbnVlVGFyZ2V0LCBMYWJlbElEKiBicmVha1RhcmdldCwgYm9vbCBpc1ZhbGlkVW5sYWJlbGVk
QnJlYWtUYXJnZXQpCiB7Ci0gICAgSnVtcENvbnRleHQgY29udGV4dCA9IHsgbGFiZWxzLCBjb250
aW51ZVRhcmdldCwgYnJlYWtUYXJnZXQsIHNjb3BlRGVwdGgoKSB9OworICAgIEp1bXBDb250ZXh0
IGNvbnRleHQgPSB7IGxhYmVscywgY29udGludWVUYXJnZXQsIGJyZWFrVGFyZ2V0LCBzY29wZURl
cHRoKCksIGlzVmFsaWRVbmxhYmVsZWRCcmVha1RhcmdldCB9OwogICAgIG1fanVtcENvbnRleHRT
dGFjay5hcHBlbmQoY29udGV4dCk7CiAgICAgaWYgKGNvbnRpbnVlVGFyZ2V0KQogICAgICAgICBt
X2NvbnRpbnVlRGVwdGgrKzsKQEAgLTkzOCwyMiArOTM4LDQwIEBAIHZvaWQgQ29kZUdlbmVyYXRv
cjo6cG9wSnVtcENvbnRleHQoKQogICAgIG1fanVtcENvbnRleHRTdGFjay5yZW1vdmVMYXN0KCk7
CiB9CiAKLUp1bXBDb250ZXh0KiBDb2RlR2VuZXJhdG9yOjpqdW1wQ29udGV4dEZvckxhYmVsKGNv
bnN0IElkZW50aWZpZXImIGxhYmVsLCBib29sIGZvckNvbnRpbnVlKQorSnVtcENvbnRleHQqIENv
ZGVHZW5lcmF0b3I6Omp1bXBDb250ZXh0Rm9yQ29udGludWUoY29uc3QgSWRlbnRpZmllciYgbGFi
ZWwpCiB7CiAgICAgaWYoIW1fanVtcENvbnRleHRTdGFjay5zaXplKCkpCiAgICAgICAgIHJldHVy
biAwOwogCiAgICAgaWYgKGxhYmVsLmlzRW1wdHkoKSkgewotICAgICAgICBpZiAoZm9yQ29udGlu
dWUpIHsKLSAgICAgICAgICAgIGZvciAoaW50IGkgPSBtX2p1bXBDb250ZXh0U3RhY2suc2l6ZSgp
IC0gMTsgaSA+PSAwOyBpLS0pIHsKLSAgICAgICAgICAgICAgICBKdW1wQ29udGV4dCogc2NvcGUg
PSAmbV9qdW1wQ29udGV4dFN0YWNrW2ldOwotICAgICAgICAgICAgICAgIGlmIChzY29wZS0+Y29u
dGludWVUYXJnZXQpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzY29wZTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBmb3IgKGludCBpID0gbV9qdW1w
Q29udGV4dFN0YWNrLnNpemUoKSAtIDE7IGkgPj0gMDsgaS0tKSB7CisgICAgICAgICAgICBKdW1w
Q29udGV4dCogc2NvcGUgPSAmbV9qdW1wQ29udGV4dFN0YWNrW2ldOworICAgICAgICAgICAgaWYg
KHNjb3BlLT5jb250aW51ZVRhcmdldCkKKyAgICAgICAgICAgICAgICByZXR1cm4gc2NvcGU7CiAg
ICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIHJldHVybiAmbV9qdW1wQ29udGV4dFN0YWNrLmxh
c3QoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIAorICAgIGZvciAoaW50IGkgPSBt
X2p1bXBDb250ZXh0U3RhY2suc2l6ZSgpIC0gMTsgaSA+PSAwOyBpLS0pIHsKKyAgICAgICAgSnVt
cENvbnRleHQqIHNjb3BlID0gJm1fanVtcENvbnRleHRTdGFja1tpXTsKKyAgICAgICAgaWYgKHNj
b3BlLT5sYWJlbHMtPmNvbnRhaW5zKGxhYmVsKSkKKyAgICAgICAgICAgIHJldHVybiBzY29wZTsK
KyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKK0p1bXBDb250ZXh0KiBDb2RlR2VuZXJhdG9yOjpq
dW1wQ29udGV4dEZvckJyZWFrKGNvbnN0IElkZW50aWZpZXImIGxhYmVsKQoreworICAgIGlmKCFt
X2p1bXBDb250ZXh0U3RhY2suc2l6ZSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmIChs
YWJlbC5pc0VtcHR5KCkpIHsKKyAgICAgICAgZm9yIChpbnQgaSA9IG1fanVtcENvbnRleHRTdGFj
ay5zaXplKCkgLSAxOyBpID49IDA7IGktLSkgeworICAgICAgICAgICAgSnVtcENvbnRleHQqIHNj
b3BlID0gJm1fanVtcENvbnRleHRTdGFja1tpXTsKKyAgICAgICAgICAgIGlmIChzY29wZS0+aXNW
YWxpZFVubGFiZWxlZEJyZWFrVGFyZ2V0KQorICAgICAgICAgICAgICAgIHJldHVybiBzY29wZTsK
KyAgICAgICAgfQorICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgCiAgICAgZm9yIChpbnQg
aSA9IG1fanVtcENvbnRleHRTdGFjay5zaXplKCkgLSAxOyBpID49IDA7IGktLSkgewpJbmRleDog
Vk0vQ29kZUdlbmVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFZNL0NvZGVHZW5lcmF0b3IuaAkocmV2
aXNpb24gMzI0MDgpCisrKyBWTS9Db2RlR2VuZXJhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTUy
LDYgKzUyLDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgICAgIExhYmVsSUQqIGNvbnRpbnVlVGFy
Z2V0OwogICAgICAgICBMYWJlbElEKiBicmVha1RhcmdldDsKICAgICAgICAgaW50IHNjb3BlRGVw
dGg7CisgICAgICAgIGJvb2wgaXNWYWxpZFVubGFiZWxlZEJyZWFrVGFyZ2V0OwogICAgIH07CiAK
ICAgICBzdHJ1Y3QgRmluYWxseUNvbnRleHQgewpAQCAtMjI3LDkgKzIyOCwxMCBAQCBuYW1lc3Bh
Y2UgS0pTIHsKICAgICAgICAgdm9pZCBwb3BGaW5hbGx5Q29udGV4dCgpOwogICAgICAgICBib29s
IGluQ29udGludWVDb250ZXh0KCkgeyByZXR1cm4gbV9jb250aW51ZURlcHRoID4gMDsgfTsKICAg
ICAgICAgYm9vbCBpbkp1bXBDb250ZXh0KCkgeyByZXR1cm4gbV9qdW1wQ29udGV4dFN0YWNrLnNp
emUoKSA+IDA7IH07Ci0gICAgICAgIHZvaWQgcHVzaEp1bXBDb250ZXh0KExhYmVsU3RhY2sqLCBM
YWJlbElEKiBjb250aW51ZVRhcmdldCwgTGFiZWxJRCogYnJlYWtUYXJnZXQpOworICAgICAgICB2
b2lkIHB1c2hKdW1wQ29udGV4dChMYWJlbFN0YWNrKiwgTGFiZWxJRCogY29udGludWVUYXJnZXQs
IExhYmVsSUQqIGJyZWFrVGFyZ2V0LCBib29sIGlzVmFsaWRVbmxhYmVsZWRCcmVha1RhcmdldCk7
CiAgICAgICAgIHZvaWQgcG9wSnVtcENvbnRleHQoKTsKLSAgICAgICAgSnVtcENvbnRleHQqIGp1
bXBDb250ZXh0Rm9yTGFiZWwoY29uc3QgSWRlbnRpZmllciYsIGJvb2wgZm9yQ29udGludWUgPSBm
YWxzZSk7CisgICAgICAgIEp1bXBDb250ZXh0KiBqdW1wQ29udGV4dEZvckNvbnRpbnVlKGNvbnN0
IElkZW50aWZpZXImKTsKKyAgICAgICAgSnVtcENvbnRleHQqIGp1bXBDb250ZXh0Rm9yQnJlYWso
Y29uc3QgSWRlbnRpZmllciYpOwogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRQdXNoU2NvcGUo
UmVnaXN0ZXJJRCopOwogICAgICAgICB2b2lkIGVtaXRQb3BTY29wZSgpOwpJbmRleDoga2pzL25v
ZGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBranMvbm9kZXMuY3BwCShyZXZpc2lvbiAzMjQwOCkKKysr
IGtqcy9ub2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4NDcsNyArNDg0Nyw3IEBAIFJlZ2lz
dGVySUQqIERvV2hpbGVOb2RlOjplbWl0Q29kZShDb2RlR2UKICAgICBSZWZQdHI8TGFiZWxJRD4g
Y29uZGl0aW9uVGFyZ2V0ID0gZ2VuZXJhdG9yLm5ld0xhYmVsKCk7CiAgICAgUmVmUHRyPExhYmVs
SUQ+IGJyZWFrVGFyZ2V0ID0gZ2VuZXJhdG9yLm5ld0xhYmVsKCk7CiAgICAgCi0gICAgZ2VuZXJh
dG9yLnB1c2hKdW1wQ29udGV4dCgmbV9sYWJlbFN0YWNrLCBjb25kaXRpb25UYXJnZXQuZ2V0KCks
IGJyZWFrVGFyZ2V0LmdldCgpKTsKKyAgICBnZW5lcmF0b3IucHVzaEp1bXBDb250ZXh0KCZtX2xh
YmVsU3RhY2ssIGNvbmRpdGlvblRhcmdldC5nZXQoKSwgYnJlYWtUYXJnZXQuZ2V0KCksIHRydWUp
OwogICAgIFJlZlB0cjxSZWdpc3RlcklEPiByMCA9IGdlbmVyYXRvci5lbWl0Tm9kZShkc3QsIG1f
c3RhdGVtZW50LmdldCgpKTsKICAgICBnZW5lcmF0b3IucG9wSnVtcENvbnRleHQoKTsKICAgICAK
QEAgLTQ5MDksNyArNDkwOSw3IEBAIFJlZ2lzdGVySUQqIFdoaWxlTm9kZTo6ZW1pdENvZGUoQ29k
ZUdlbmUKICAgICBnZW5lcmF0b3IuZW1pdEp1bXAoY29uZGl0aW9uVGFyZ2V0LmdldCgpKTsKICAg
ICBnZW5lcmF0b3IuZW1pdExhYmVsKGwwLmdldCgpKTsKICAgICAKLSAgICBnZW5lcmF0b3IucHVz
aEp1bXBDb250ZXh0KCZtX2xhYmVsU3RhY2ssIGNvbmRpdGlvblRhcmdldC5nZXQoKSwgYnJlYWtU
YXJnZXQuZ2V0KCkpOworICAgIGdlbmVyYXRvci5wdXNoSnVtcENvbnRleHQoJm1fbGFiZWxTdGFj
aywgY29uZGl0aW9uVGFyZ2V0LmdldCgpLCBicmVha1RhcmdldC5nZXQoKSwgdHJ1ZSk7CiAgICAg
Z2VuZXJhdG9yLmVtaXROb2RlKGRzdCwgbV9zdGF0ZW1lbnQuZ2V0KCkpOwogICAgIGdlbmVyYXRv
ci5wb3BKdW1wQ29udGV4dCgpOwogCkBAIC00OTc1LDcgKzQ5NzUsNyBAQCBSZWdpc3RlcklEKiBG
b3JOb2RlOjplbWl0Q29kZShDb2RlR2VuZXJhCiAgICAgZ2VuZXJhdG9yLmVtaXRKdW1wKGwxLmdl
dCgpKTsKIAogICAgIGdlbmVyYXRvci5lbWl0TGFiZWwobDAuZ2V0KCkpOwotICAgIGdlbmVyYXRv
ci5wdXNoSnVtcENvbnRleHQoJm1fbGFiZWxTdGFjaywgY29uZGl0aW9uVGFyZ2V0LmdldCgpLCBi
cmVha1RhcmdldC5nZXQoKSk7CisgICAgZ2VuZXJhdG9yLnB1c2hKdW1wQ29udGV4dCgmbV9sYWJl
bFN0YWNrLCBjb25kaXRpb25UYXJnZXQuZ2V0KCksIGJyZWFrVGFyZ2V0LmdldCgpLCB0cnVlKTsK
ICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gcjAgPSBnZW5lcmF0b3IuZW1pdE5vZGUoZHN0LCBtX3N0
YXRlbWVudC5nZXQoKSk7CiAgICAgZ2VuZXJhdG9yLnBvcEp1bXBDb250ZXh0KCk7CiAgICAgZ2Vu
ZXJhdG9yLmVtaXRMYWJlbChjb25kaXRpb25UYXJnZXQuZ2V0KCkpOyAgCkBAIC01MTA2LDcgKzUx
MDYsNyBAQCBSZWdpc3RlcklEKiBGb3JJbk5vZGU6OmVtaXRDb2RlKENvZGVHZW5lCiAgICAgICAg
IGdlbmVyYXRvci5lbWl0UHV0UHJvcFZhbChiYXNlLmdldCgpLCBzdWJzY3JpcHQsIHByb3BlcnR5
TmFtZSk7CiAgICAgfSAgIAogICAgIAotICAgIGdlbmVyYXRvci5wdXNoSnVtcENvbnRleHQoJm1f
bGFiZWxTdGFjaywgY29uZGl0aW9uVGFyZ2V0LmdldCgpLCBicmVha1RhcmdldC5nZXQoKSk7Cisg
ICAgZ2VuZXJhdG9yLnB1c2hKdW1wQ29udGV4dCgmbV9sYWJlbFN0YWNrLCBjb25kaXRpb25UYXJn
ZXQuZ2V0KCksIGJyZWFrVGFyZ2V0LmdldCgpLCB0cnVlKTsKICAgICBnZW5lcmF0b3IuZW1pdE5v
ZGUoZHN0LCBtX3N0YXRlbWVudC5nZXQoKSk7CiAgICAgZ2VuZXJhdG9yLnBvcEp1bXBDb250ZXh0
KCk7CiAKQEAgLTUyMjEsNyArNTIyMSw3IEBAIFJlZ2lzdGVySUQqIENvbnRpbnVlTm9kZTo6ZW1p
dENvZGUoQ29kZUcKICAgICBpZiAoIWdlbmVyYXRvci5pbkNvbnRpbnVlQ29udGV4dCgpKQogICAg
ICAgICByZXR1cm4gZW1pdFRocm93RXJyb3IoZ2VuZXJhdG9yLCBkc3QsIFN5bnRheEVycm9yLCAi
SW52YWxpZCBjb250aW51ZSBzdGF0ZW1lbnQuIik7CiAKLSAgICBKdW1wQ29udGV4dCogdGFyZ2V0
Q29udGV4dCA9IGdlbmVyYXRvci5qdW1wQ29udGV4dEZvckxhYmVsKG1faWRlbnQsIHRydWUpOwor
ICAgIEp1bXBDb250ZXh0KiB0YXJnZXRDb250ZXh0ID0gZ2VuZXJhdG9yLmp1bXBDb250ZXh0Rm9y
Q29udGludWUobV9pZGVudCk7CiAKICAgICBpZiAoIXRhcmdldENvbnRleHQpIHsKICAgICAgICAg
aWYgKG1faWRlbnQuaXNFbXB0eSgpKQpAQCAtNTI1NSw3ICs1MjU1LDcgQEAgUmVnaXN0ZXJJRCog
QnJlYWtOb2RlOjplbWl0Q29kZShDb2RlR2VuZQogICAgIGlmICghZ2VuZXJhdG9yLmluSnVtcENv
bnRleHQoKSkKICAgICAgICAgcmV0dXJuIGVtaXRUaHJvd0Vycm9yKGdlbmVyYXRvciwgZHN0LCBT
eW50YXhFcnJvciwgIkludmFsaWQgYnJlYWsgc3RhdGVtZW50LiIpOwogICAgIAotICAgIEp1bXBD
b250ZXh0KiB0YXJnZXRDb250ZXh0ID0gZ2VuZXJhdG9yLmp1bXBDb250ZXh0Rm9yTGFiZWwobV9p
ZGVudCk7CisgICAgSnVtcENvbnRleHQqIHRhcmdldENvbnRleHQgPSBnZW5lcmF0b3IuanVtcENv
bnRleHRGb3JCcmVhayhtX2lkZW50KTsKICAgICAKICAgICBpZiAoIXRhcmdldENvbnRleHQpIHsK
ICAgICAgICAgaWYgKG1faWRlbnQuaXNFbXB0eSgpKQpAQCAtNTUwMCw3ICs1NTAwLDcgQEAgUmVn
aXN0ZXJJRCogU3dpdGNoTm9kZTo6ZW1pdENvZGUoQ29kZUdlbgogICAgIFJlZlB0cjxMYWJlbElE
PiBicmVha1RhcmdldCA9IGdlbmVyYXRvci5uZXdMYWJlbCgpOwogCiAgICAgUmVmUHRyPFJlZ2lz
dGVySUQ+IHIwID0gZ2VuZXJhdG9yLmVtaXROb2RlKG1fZXhwci5nZXQoKSk7Ci0gICAgZ2VuZXJh
dG9yLnB1c2hKdW1wQ29udGV4dCgmbV9sYWJlbFN0YWNrLCAwLCBicmVha1RhcmdldC5nZXQoKSk7
CisgICAgZ2VuZXJhdG9yLnB1c2hKdW1wQ29udGV4dCgmbV9sYWJlbFN0YWNrLCAwLCBicmVha1Rh
cmdldC5nZXQoKSwgdHJ1ZSk7CiAgICAgUmVnaXN0ZXJJRCogcjEgPSBtX2Jsb2NrLT5lbWl0Q29k
ZUZvckJsb2NrKGdlbmVyYXRvciwgcjAuZ2V0KCksIGRzdCk7CiAgICAgZ2VuZXJhdG9yLnBvcEp1
bXBDb250ZXh0KCk7CiAKQEAgLTU1MzMsNyArNTUzMywyMCBAQCBKU1ZhbHVlKiBTd2l0Y2hOb2Rl
OjpleGVjdXRlKEV4ZWNTdGF0ZSogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g
TGFiZWxOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogUmVnaXN0ZXJJ
RCogTGFiZWxOb2RlOjplbWl0Q29kZShDb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVy
SUQqIGRzdCkKIHsKLSAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROb2RlKGRzdCwgbV9zdGF0ZW1l
bnQuZ2V0KCkpOworICAgIGlmIChnZW5lcmF0b3IuanVtcENvbnRleHRGb3JCcmVhayhtX2xhYmVs
KSkKKyAgICAgICAgcmV0dXJuIGVtaXRUaHJvd0Vycm9yKGdlbmVyYXRvciwgZHN0LCBTeW50YXhF
cnJvciwgIkR1cGxpY2F0ZWQgbGFiZWwgJXMgZm91bmQuIiwgbV9sYWJlbCk7CisgICAgCisgICAg
UmVmUHRyPExhYmVsSUQ+IGwwID0gZ2VuZXJhdG9yLm5ld0xhYmVsKCk7CisgICAgbV9sYWJlbFN0
YWNrLnB1c2gobV9sYWJlbCk7CisgICAgZ2VuZXJhdG9yLnB1c2hKdW1wQ29udGV4dCgmbV9sYWJl
bFN0YWNrLCAwLCBsMC5nZXQoKSwgZmFsc2UpOworICAgIAorICAgIFJlZ2lzdGVySUQqIHIwID0g
Z2VuZXJhdG9yLmVtaXROb2RlKGRzdCwgbV9zdGF0ZW1lbnQuZ2V0KCkpOworICAgIAorICAgIGdl
bmVyYXRvci5wb3BKdW1wQ29udGV4dCgpOworICAgIG1fbGFiZWxTdGFjay5wb3AoKTsKKyAgICAK
KyAgICBnZW5lcmF0b3IuZW1pdExhYmVsKGwwLmdldCgpKTsKKyAgICByZXR1cm4gcjA7CiB9CiAK
IHZvaWQgTGFiZWxOb2RlOjpvcHRpbWl6ZVZhcmlhYmxlQWNjZXNzKEV4ZWNTdGF0ZSosIGNvbnN0
IFN5bWJvbFRhYmxlJiwgY29uc3QgTG9jYWxTdG9yYWdlJiwgTm9kZVN0YWNrJiBub2RlU3RhY2sp
Cg==
</data>
<flag name="review"
          id="9078"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>