<?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>3893</bug_id>
          
          <creation_ts>2005-07-07 11:00:46 -0700</creation_ts>
          <short_desc>-[DOMCSSStyleDeclaration cssText] is not implemented</short_desc>
          <delta_ts>2019-05-02 16:23:12 -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>DOM</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Dan Wood">dwood</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>nagar28496</cc>
    
    <cc>todd</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>14136</commentid>
    <comment_count>0</comment_count>
    <who name="Dan Wood">dwood</who>
    <bug_when>2005-07-07 11:00:51 -0700</bug_when>
    <thetext>The underlying implementation of -[DOMCSSStyleDeclaration cssText] is not implemented.

Test case.... Take a node and ask for its style, then print it out.
	DOMCSSStyleDeclaration *style = [[self DOMDocument] getComputedStyle:(DOMElement *)
node :@&quot;&quot;];
	
	NSLog(@&quot;cssText = %@&quot;, [style cssText]);

Result:
=================
ERROR: unimplemented
(/Volumes/dwood/dev/WK/WebCore/khtml/css/css_computedstyle.cpp:289 virtual DOM::DOMString 
DOM::CSSComputedStyleDeclarationImpl::cssText() const)
=================

Here is the offending code, in css_computedstyle.cpp:
DOMString CSSComputedStyleDeclarationImpl::cssText() const
{
    ERROR(&quot;unimplemented&quot;);
    return DOMString();
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14263</commentid>
    <comment_count>1</comment_count>
      <attachid>2875</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-07-08 21:19:23 -0700</bug_when>
    <thetext>Created attachment 2875
Implement cssText for most rules</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14292</commentid>
    <comment_count>2</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2005-07-09 14:11:24 -0700</bug_when>
    <thetext>The cpp file uses namespace DOM so no need for DOM::DOMString there.  Can you attach a new patch 
that minimizes the extra DOM::? Thanks.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14434</commentid>
    <comment_count>3</comment_count>
      <attachid>2921</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2005-07-12 03:45:48 -0700</bug_when>
    <thetext>Created attachment 2921
Address comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14775</commentid>
    <comment_count>4</comment_count>
      <attachid>2921</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-07-18 07:59:27 -0700</bug_when>
    <thetext>Comment on attachment 2921
Address comments

It&apos;s a little annoying that CSSComputedStyleDeclarationImpl::cssText returns
something with a trailing space.

Is there some better way to share the getPropertyName function than putting
this extern declaration in the .cpp file?

The test looks good to me.

I&apos;m going to mark this review+ even though I have those two minor
questions/comments above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>33279</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2006-02-18 11:53:33 -0800</bug_when>
    <thetext>*** Bug 6359 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2875</attachid>
            <date>2005-07-08 21:19:23 -0700</date>
            <delta_ts>2005-07-12 03:45:48 -0700</delta_ts>
            <desc>Implement cssText for most rules</desc>
            <filename>css-text.diff</filename>
            <type>text/plain</type>
            <size>9442</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">PyBraHRtbC9jc3MvLkRTX1N0b3JlCkluZGV4OiBDaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogL2N2cy9yb290L1dlYkNvcmUvQ2hhbmdlTG9nLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQz
OTUKZGlmZiAtdSAtcjEuNDM5NSBDaGFuZ2VMb2cKLS0tIENoYW5nZUxvZwkyMDA1LzA3LzA5IDAx
OjAxOjA2CTEuNDM5NQorKysgQ2hhbmdlTG9nCTIwMDUvMDcvMDkgMDQ6MTk6MzUKQEAgLTEsMyAr
MSwyOSBAQAorMjAwNS0wNy0wOSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAbWFjLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0IGNh
c2VzIGFkZGVkOgorCWxheW91dC10ZXN0cy9mYXN0L2RvbS9jc3MtZG9tLXJlYWQtMi5odG1sOiBB
ZGRlZC4KKwlsYXlvdXQtdGVzdHMvZmFzdC9kb20vY3NzLWRvbS1yZWFkLTItZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKworICAgICAgICAqIGtodG1sL2Nzcy9jc3NfY29tcHV0ZWRzdHlsZS5jcHA6Cisg
ICAgICAgIChET006OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbkltcGw6OmNzc1RleHQpOgor
CUltcGxlbWVudC4KKwkKKyAgICAgICAgKERPTTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
SW1wbDo6aXRlbSk6CisJUmV0dXJuIHRoZSBpdGVtIG5hbWUsIG5vdCBpdHMgdmFsdWUuCisJCisg
ICAgICAgICoga2h0bWwvY3NzL2Nzc19ydWxlaW1wbC5jcHA6CisgICAgICAgIChDU1NJbXBvcnRS
dWxlSW1wbDo6Y3NzVGV4dCk6CisgICAgICAgIChDU1NNZWRpYVJ1bGVJbXBsOjpjc3NUZXh0KToK
KyAgICAgICAgKENTU1N0eWxlUnVsZUltcGw6OmNzc1RleHQpOgorICAgICAgICAqIGtodG1sL2Nz
cy9jc3NfcnVsZWltcGwuaDoKKwlBZGQgY3NzVGV4dCBmb3IgaW1wb3J0LCBtZWRpYSBhbmQgc3R5
bGUgcnVsZXMuCisJCisgICAgICAgICoga2h0bWwvY3NzL2Nzc19zdHlsZXNoZWV0aW1wbC5jcHA6
CisgICAgICAgIChNZWRpYUxpc3RJbXBsOjptZWRpYVRleHQpOgorCURvbid0IHB1dCBhIHRyYWls
aW5nIGNvbW1hIGFmdGVyIGxpc3RzLgorCQogMjAwNS0wNy0wOCAgRXJpYyBTZWlkZWwgIDxlc2Vp
ZGVsQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBtanMuCkluZGV4OiBraHRtbC9j
c3MvY3NzX2NvbXB1dGVkc3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9X
ZWJDb3JlL2todG1sL2Nzcy9jc3NfY29tcHV0ZWRzdHlsZS5jcHAsdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMzMKZGlmZiAtdSAtcjEuMzMgY3NzX2NvbXB1dGVkc3R5bGUuY3BwCi0tLSBjc3NfY29t
cHV0ZWRzdHlsZS5jcHAJMjAwNS8wNS8xMSAwMDo1ODoyNwkxLjMzCisrKyBjc3NfY29tcHV0ZWRz
dHlsZS5jcHAJMjAwNS8wNy8wOSAwNDoxOTozNQpAQCAtNTAsNiArNTAsOCBAQAogdXNpbmcga2h0
bWw6OlNoYWRvd0RhdGE7CiB1c2luZyBraHRtbDo6U3R5bGVEYXNoYm9hcmRSZWdpb247CiAKK2V4
dGVybiBET006OkRPTVN0cmluZyBnZXRQcm9wZXJ0eU5hbWUodW5zaWduZWQgc2hvcnQgaWQpOwor
CiBuYW1lc3BhY2UgRE9NIHsKIAogLy8gTGlzdCBvZiBhbGwgcHJvcGVydGllcyB3ZSBrbm93IGhv
dyB0byBjb21wdXRlLCBvbWl0dGluZyBzaG9ydGhhbmRzLgpAQCAtMjg2LDggKzI4OCwxNiBAQAog
CiBET01TdHJpbmcgQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uSW1wbDo6Y3NzVGV4dCgpIGNv
bnN0CiB7Ci0gICAgRVJST1IoInVuaW1wbGVtZW50ZWQiKTsKLSAgICByZXR1cm4gRE9NU3RyaW5n
KCk7CisgICAgRE9NU3RyaW5nIHJlc3VsdDsKKyAgICAKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgbnVtQ29tcHV0ZWRQcm9wZXJ0aWVzOyBpKyspIHsKKyAgICAgICAgcmVzdWx0ICs9IGdl
dFByb3BlcnR5TmFtZShjb21wdXRlZFByb3BlcnRpZXNbaV0pOworICAgICAgICByZXN1bHQgKz0g
IjogIjsKKyAgICAgICAgcmVzdWx0ICs9IGdldFByb3BlcnR5VmFsdWUoY29tcHV0ZWRQcm9wZXJ0
aWVzW2ldKTsKKyAgICAgICAgcmVzdWx0ICs9ICI7ICI7CisgICAgfQorICAgIAorICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKIHZvaWQgQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uSW1wbDo6c2V0
Q3NzVGV4dChjb25zdCBET01TdHJpbmcgJiwgaW50ICZleGNlcHRpb25Db2RlKQpAQCAtMTI1Niw3
ICsxMjY2LDggQEAKIHsKICAgICBpZiAoaSA+PSBudW1Db21wdXRlZFByb3BlcnRpZXMpCiAgICAg
ICAgIHJldHVybiBET01TdHJpbmcoKTsKLSAgICByZXR1cm4gZ2V0UHJvcGVydHlWYWx1ZShjb21w
dXRlZFByb3BlcnRpZXNbaV0pOworICAgIAorICAgIHJldHVybiBnZXRQcm9wZXJ0eU5hbWUoY29t
cHV0ZWRQcm9wZXJ0aWVzW2ldKTsKIH0KIAogQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb25JbXBs
ICpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb25JbXBsOjpjb3B5SW5oZXJpdGFibGVQcm9wZXJ0
aWVzKCkgY29uc3QKSW5kZXg6IGtodG1sL2Nzcy9jc3NfcnVsZWltcGwuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2Nzcy9jc3NfcnVsZWltcGwuY3BwLHYK
cmV0cmlldmluZyByZXZpc2lvbiAxLjE4CmRpZmYgLXUgLXIxLjE4IGNzc19ydWxlaW1wbC5jcHAK
LS0tIGNzc19ydWxlaW1wbC5jcHAJMjAwNS8wNS8xMSAwNTo0OTozNAkxLjE4CisrKyBjc3NfcnVs
ZWltcGwuY3BwCTIwMDUvMDcvMDkgMDQ6MTk6MzUKQEAgLTE5OSw2ICsxOTksMjMgQEAKICAgICB9
CiB9CiAKK0RPTTo6RE9NU3RyaW5nIENTU0ltcG9ydFJ1bGVJbXBsOjpjc3NUZXh0KCkgY29uc3QK
K3sKKyAgICBET01TdHJpbmcgcmVzdWx0OworICAgIAorICAgIHJlc3VsdCA9ICJAaW1wb3J0IHVy
bChcIiI7CisgICAgcmVzdWx0ICs9IG1fc3RySHJlZjsKKyAgICByZXN1bHQgKz0gIlwiKSI7Cisg
ICAgCisgICAgaWYgKG1fbHN0TWVkaWEpIHsKKyAgICAgICAgcmVzdWx0ICs9ICIgIjsKKyAgICAg
ICAgcmVzdWx0ICs9IG1fbHN0TWVkaWEtPm1lZGlhVGV4dCgpOworICAgIH0KKyAgICByZXN1bHQg
Kz0gIjsiOworICAgICAgICAKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiAvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogQ1NTTWVkaWFSdWxlSW1wbDo6Q1NTTWVkaWFSdWxlSW1wbCggU3R5bGVCYXNlSW1w
bCAqcGFyZW50LCBNZWRpYUxpc3RJbXBsICptZWRpYUxpc3QsIENTU1J1bGVMaXN0SW1wbCAqcnVs
ZUxpc3QgKQogICAgIDogICBDU1NSdWxlSW1wbCggcGFyZW50ICkKQEAgLTI2Nyw2ICsyODQsMzAg
QEAKICAgICByZXR1cm4gbV9sc3RDU1NSdWxlcy0+aW5zZXJ0UnVsZSggbmV3UnVsZSwgaW5kZXgg
KTsKIH0KIAorRE9NOjpET01TdHJpbmcgQ1NTTWVkaWFSdWxlSW1wbDo6Y3NzVGV4dCgpIGNvbnN0
Cit7CisgICAgRE9NU3RyaW5nIHJlc3VsdDsKKyAgICAKKyAgICByZXN1bHQgPSAiQG1lZGlhICI7
CisgICAgaWYgKG1fbHN0TWVkaWEpIHsKKyAgICAgICAgcmVzdWx0ICs9IG1fbHN0TWVkaWEtPm1l
ZGlhVGV4dCgpOworICAgICAgICByZXN1bHQgKz0gIiAiOworICAgIH0KKyAgICByZXN1bHQgKz0g
InsgXG4iOworICAgIAorICAgIGlmIChtX2xzdENTU1J1bGVzKSB7CisgICAgICAgIHVuc2lnbmVk
IGxvbmcgbGVuID0gbV9sc3RDU1NSdWxlcy0+bGVuZ3RoKCk7CisgICAgICAgIGZvciAodW5zaWdu
ZWQgbG9uZyBpID0gMDsgaSA8IGxlbjsgaSsrKSB7CisgICAgICAgICAgICByZXN1bHQgKz0gIiAg
IjsKKyAgICAgICAgICAgIHJlc3VsdCArPSBtX2xzdENTU1J1bGVzLT5pdGVtKGkpLT5jc3NUZXh0
KCk7CisgICAgICAgICAgICByZXN1bHQgKz0gIlxuIjsKKyAgICAgICAgfQorICAgIH0KKyAgICAK
KyAgICByZXN1bHQgKz0gIn0iOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIC8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQogCiBDU1NSdWxlTGlzdEltcGw6OkNTU1J1bGVMaXN0SW1wbChTdHlsZUxpc3RJ
bXBsICpsc3QpCkBAIC0zNDMsNiArMzg0LDE5IEBACiB2b2lkIENTU1N0eWxlUnVsZUltcGw6OnNl
dFNlbGVjdG9yVGV4dChET006OkRPTVN0cmluZyAvKnN0ciovKQogewogICAgIC8vICMjIworfQor
CitET006OkRPTVN0cmluZyBDU1NTdHlsZVJ1bGVJbXBsOjpjc3NUZXh0KCkgY29uc3QKK3sKKyAg
ICBET01TdHJpbmcgcmVzdWx0OworICAgIAorICAgIHJlc3VsdCA9IHNlbGVjdG9yVGV4dCgpOwor
ICAgIAorICAgIHJlc3VsdCArPSAiIHsgIjsKKyAgICByZXN1bHQgKz0gbV9zdHlsZS0+Y3NzVGV4
dCgpOworICAgIHJlc3VsdCArPSAifSI7CisgICAgCisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAog
Ym9vbCBDU1NTdHlsZVJ1bGVJbXBsOjpwYXJzZVN0cmluZyggY29uc3QgRE9NU3RyaW5nICYvKnN0
cmluZyovLCBib29sICkKSW5kZXg6IGtodG1sL2Nzcy9jc3NfcnVsZWltcGwuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9jc3MvY3NzX3J1bGVpbXBsLmgsdgpy
ZXRyaWV2aW5nIHJldmlzaW9uIDEuMTQKZGlmZiAtdSAtcjEuMTQgY3NzX3J1bGVpbXBsLmgKLS0t
IGNzc19ydWxlaW1wbC5oCTIwMDUvMDUvMTAgMTg6NDI6MDIJMS4xNAorKysgY3NzX3J1bGVpbXBs
LmgJMjAwNS8wNy8wOSAwNDoxOTozNQpAQCAtNTYsNyArNTYsNyBAQAogICAgIENTU1N0eWxlU2hl
ZXRJbXBsICpwYXJlbnRTdHlsZVNoZWV0KCkgY29uc3Q7CiAgICAgQ1NTUnVsZUltcGwgKnBhcmVu
dFJ1bGUoKSBjb25zdDsKIAotICAgIERPTTo6RE9NU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKKyAg
ICB2aXJ0dWFsIERPTTo6RE9NU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKICAgICB2b2lkIHNldENz
c1RleHQoRE9NOjpET01TdHJpbmcgc3RyKTsKICAgICB2aXJ0dWFsIHZvaWQgaW5pdCgpIHt9CiAK
QEAgLTcyLDYgKzcyLDcgQEAKICAgICAgICAgOiBDU1NSdWxlSW1wbChwYXJlbnQpIHsgbV90eXBl
ID0gQ1NTUnVsZTo6Q0hBUlNFVF9SVUxFOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNDaGFyc2V0
UnVsZSgpIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIERPTTo6RE9NU3RyaW5nIGNzc1Rl
eHQoKSBjb25zdDsKIAogICAgIERPTVN0cmluZyBlbmNvZGluZygpIGNvbnN0IHsgcmV0dXJuIG1f
ZW5jb2Rpbmc7IH0KICAgICB2b2lkIHNldEVuY29kaW5nKERPTVN0cmluZyBfZW5jb2RpbmcpIHsg
bV9lbmNvZGluZyA9IF9lbmNvZGluZzsgfQpAQCAtMTEyLDcgKzExMyw4IEBACiAgICAgQ1NTU3R5
bGVTaGVldEltcGwgKnN0eWxlU2hlZXQoKSBjb25zdCB7IHJldHVybiBtX3N0eWxlU2hlZXQ7IH0K
IAogICAgIHZpcnR1YWwgYm9vbCBpc0ltcG9ydFJ1bGUoKSB7IHJldHVybiB0cnVlOyB9Ci0KKyAg
ICB2aXJ0dWFsIERPTTo6RE9NU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKKyAgCiAgICAgLy8gZnJv
bSBDYWNoZWRPYmplY3RDbGllbnQKICAgICB2aXJ0dWFsIHZvaWQgc2V0U3R5bGVTaGVldChjb25z
dCBET006OkRPTVN0cmluZyAmdXJsLCBjb25zdCBET006OkRPTVN0cmluZyAmc2hlZXQpOwogCkBA
IC0xNjYsNiArMTY4LDcgQEAKICAgICB2b2lkIGRlbGV0ZVJ1bGUgKCB1bnNpZ25lZCBsb25nIGlu
ZGV4ICkgeyBtX2xzdENTU1J1bGVzLT5kZWxldGVSdWxlKCBpbmRleCApOyB9CiAKICAgICB2aXJ0
dWFsIGJvb2wgaXNNZWRpYVJ1bGUoKSB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBET006
OkRPTVN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CiAKICAgICAvKiBOb3QgcGFydCBvZiB0aGUgRE9N
ICovCiAgICAgdW5zaWduZWQgbG9uZyBhcHBlbmQoIENTU1J1bGVJbXBsICpydWxlICk7CkBAIC0y
MDUsNiArMjA4LDcgQEAKICAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbkltcGwgKnN0eWxl
KCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZTsgfQogCiAgICAgdmlydHVhbCBib29sIGlzU3R5bGVS
dWxlKCkgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgRE9NOjpET01TdHJpbmcgY3NzVGV4
dCgpIGNvbnN0OwogCiAgICAgRE9NOjpET01TdHJpbmcgc2VsZWN0b3JUZXh0KCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXRTZWxlY3RvclRleHQoRE9NOjpET01TdHJpbmcgc3RyKTsKSW5kZXg6IGtodG1s
L2Nzcy9jc3Nfc3R5bGVzaGVldGltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9v
dC9XZWJDb3JlL2todG1sL2Nzcy9jc3Nfc3R5bGVzaGVldGltcGwuY3BwLHYKcmV0cmlldmluZyBy
ZXZpc2lvbiAxLjEyCmRpZmYgLXUgLXIxLjEyIGNzc19zdHlsZXNoZWV0aW1wbC5jcHAKLS0tIGNz
c19zdHlsZXNoZWV0aW1wbC5jcHAJMjAwNS8wNS8xMSAwMDo1ODoyNwkxLjEyCisrKyBjc3Nfc3R5
bGVzaGVldGltcGwuY3BwCTIwMDUvMDcvMDkgMDQ6MTk6MzUKQEAgLTM4OSw4ICszODksMTAgQEAK
IHsKICAgICBET01TdHJpbmcgdGV4dDsKICAgICBmb3IgKCBRVmFsdWVMaXN0PERPTVN0cmluZz46
OkNvbnN0SXRlcmF0b3IgaXQgPSBtX2xzdE1lZGlhLmJlZ2luKCk7IGl0ICE9IG1fbHN0TWVkaWEu
ZW5kKCk7ICsraXQgKSB7CisgICAgICAgIGlmICh0ZXh0Lmxlbmd0aCgpID4gMCkKKyAgICAgICAg
ICAgIHRleHQgKz0gIiwgIjsKKwogICAgICAgICB0ZXh0ICs9ICppdDsKLSAgICAgICAgdGV4dCAr
PSAiLCAiOwogICAgIH0KICAgICByZXR1cm4gdGV4dDsKIH0KLS0tIC9kZXYvbnVsbAkyMDA1LTA3
LTA5IDA2OjE3OjQxLjAwMDAwMDAwMCArMDIwMAorKysgbGF5b3V0LXRlc3RzL2Zhc3QvZG9tL2Nz
cy1kb20tcmVhZC0yLmh0bWwJMjAwNS0wNy0wOSAwNjoxNDoxMS4wMDAwMDAwMDAgKzAyMDAKQEAg
LTAsMCArMSw5MyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZSBpZD0ic3R5bGUiPkBpbXBvcnQg
dXJsKCJmYW5jeWZvbnRzLmNzcyIpIHNjcmVlbjsKK0BtZWRpYSBwcmludCB7CisgIGJvZHkgeyBm
b250LXNpemU6IDEwcHQgfQorfQorQG1lZGlhIHNjcmVlbiB7CisgIGJvZHkgeyBmb250LXNpemU6
IDEzcHggfQorfQorQG1lZGlhIHNjcmVlbiwgcHJpbnQgeworICBib2R5IHsgbGluZS1oZWlnaHQ6
IDEuMiB9Cit9Cisub25lIHtkaXNwbGF5OiBibG9jazt9CisudHdvIHtkaXNwbGF5OiBpbmxpbmU7
fQorLnRocmVlIHtkaXNwbGF5OiBsaXN0LWl0ZW07IGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlOyBt
YXJnaW4tbGVmdDogM2VtO30KKy5mb3VyIHtkaXNwbGF5OiBub25lOyBjb2xvcjogcmVkO30KK0kg
e2Rpc3BsYXk6IGJsb2NrO30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRl
c3RzKCk7Ij4KKzxzY3JpcHQ+CitmdW5jdGlvbiBkdW1wUnVsZUxpc3QoY3NzUnVsZXMpCit7CisJ
dmFyIHMgPSAnJzsKKwkKKwl2YXIgaTsKKwlmb3IgKGkgPSAwOyBpIDwgY3NzUnVsZXMubGVuZ3Ro
OyBpKyspIHsKKwkJcnVsZSA9IGNzc1J1bGVzLml0ZW0oaSk7CisKKwkJc3dpdGNoIChydWxlLnR5
cGUpIHsKKwkJY2FzZSBDU1NSdWxlLklNUE9SVF9SVUxFOgorCQkJcyArPSAnQGltcG9ydCB1cmwo
IicgKyBydWxlLmhyZWYgKyAnIikgJyArIHJ1bGUubWVkaWEubWVkaWFUZXh0OworCQkJcyArPSAn
O1xuJzsKKwkJCWJyZWFrOworCQljYXNlIENTU1J1bGUuU1RZTEVfUlVMRToJCQorCQkJcyArPSBy
dWxlLnNlbGVjdG9yVGV4dCArICcgeyAnOworCQkJCisJCQlzdHlsZSA9IHJ1bGUuc3R5bGU7CisJ
CQlmb3IgKGogPSAwOyBqIDwgc3R5bGUubGVuZ3RoOyBqKyspIHsKKwkJCQlzICs9IHN0eWxlLml0
ZW0oaikgKyAnOiAnICsgc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShzdHlsZS5pdGVtKGopKSsgJzsg
JzsKKwkJCX0KKwkJCXMgKz0gJ30gXG4nOworCQkJYnJlYWs7CisJCWNhc2UgQ1NTUnVsZS5NRURJ
QV9SVUxFOgorCQkJcyArPSAnQG1lZGlhICcgKyBydWxlLm1lZGlhLm1lZGlhVGV4dCArICcge1xu
JzsKKwkJCXMgKz0gJyAgJyArIGR1bXBSdWxlTGlzdChydWxlLmNzc1J1bGVzKTsKKwkJCXMgKz0g
J31cbic7CisJCQlicmVhazsKKwkJY2FzZSBDU1NSdWxlLlBBR0VfUlVMRToKKwkJCXMgKz0gJ0Bw
YWdlICc7CisJCQlicmVhazsKKwkJfQorCisJfQorCQorCXJldHVybiBzOworfQorCitmdW5jdGlv
biBkZWJ1ZyhzKSB7CisJY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xl
Jyk7CisJbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpOworCWNvbnNvbGUuYXBwZW5k
Q2hpbGQobGkpOworCXByZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ByZScpOworCWxpLmFw
cGVuZENoaWxkKHByZSk7CisJdCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHMgKyAnXG4nKTsK
KwlwcmUuYXBwZW5kQ2hpbGQodCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3RzKCkgeworCWlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisJCWxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKworCW9yaWdpbmFsU3R5bGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3R5
bGUnKS5maXJzdENoaWxkLm5vZGVWYWx1ZTsKKwlkZWJ1ZyhvcmlnaW5hbFN0eWxlKTsKKworCXN0
eWxlU2hlZXQgPSBkb2N1bWVudC5zdHlsZVNoZWV0cy5pdGVtKDApCisJcyA9IGR1bXBSdWxlTGlz
dChzdHlsZVNoZWV0LmNzc1J1bGVzKTsKKwlkZWJ1ZyhzKTsKKwkKKwlzID0gIiIKKwlmb3IgKGkg
PSAwOyBpIDwgc3R5bGVTaGVldC5jc3NSdWxlcy5sZW5ndGg7IGkrKykgeworCQlydWxlID0gc3R5
bGVTaGVldC5jc3NSdWxlcy5pdGVtKGkpOworCisJCXMgKz0gcnVsZS5jc3NUZXh0ICsgJ1xuJzsK
Kwl9CisJZGVidWcocyk7Cit9Cis8L3NjcmlwdD4KK1RoaXMgdGVzdHMgZGlmZmVyZW50IHdheXMg
b2YgZGVzZXJpYWxpemluZyBjc3Mgc3R5bGVzaGVldHMuIFRoZSBmaXJzdCBpdGVtIGJlbG93IGlz
IHRoZSBzdHlsZSBhcyBzcGVjaWZpZWQgaW4gdGhlIGRvY3VtZW50LiBUaGUgc2Vjb25kIGlzIHNl
cmlhbGl6ZWQgdXNpbmcgdGhlIGRpZmZlcmVudCBydWxlIGFjY2Vzc29ycy4gVGhlIHRoaXJkIGp1
c3QgdXNlcyBydWxlLmNzc1RleHQuIElmIHRoZSB0ZXN0IGlzIHN1Y2Nlc3NmdWwsIGFsbCB0aHJl
ZSBzaG91bGQgYmUgdGhlIHNhbWUuCis8dWwgaWQ9ImNvbnNvbGUiPgorPC91bD4KKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>
<flag name="review"
          id="200"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2921</attachid>
            <date>2005-07-12 03:45:48 -0700</date>
            <delta_ts>2005-07-18 07:59:27 -0700</delta_ts>
            <desc>Address comments</desc>
            <filename>css-text-2.diff</filename>
            <type>text/plain</type>
            <size>9830</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">PyAuRFNfU3RvcmUKPyAuZ2RiX2hpc3RvcnkKPyBmb28KPyBraHRtbC8uRFNfU3RvcmUKPyBraHRt
bC9jc3MvLkRTX1N0b3JlCj8gbGF5b3V0LXRlc3RzLy5EU19TdG9yZQo/IGxheW91dC10ZXN0cy9j
c3MxLy5EU19TdG9yZQo/IGxheW91dC10ZXN0cy9jc3MxL2Jhc2ljLy5EU19TdG9yZQo/IGxheW91
dC10ZXN0cy9jc3MxL2NsYXNzaWZpY2F0aW9uLy5EU19TdG9yZQo/IGxheW91dC10ZXN0cy9mYXN0
Ly5EU19TdG9yZQo/IGxheW91dC10ZXN0cy9mYXN0L2RvbS8uRFNfU3RvcmUKPyBsYXlvdXQtdGVz
dHMvZmFzdC9kb20vY3NzLWRvbS1yZWFkLTItZXhwZWN0ZWQudHh0Cj8gbGF5b3V0LXRlc3RzL2Zh
c3QvZG9tL2Nzcy1kb20tcmVhZC0yLmh0bWwKPyBsYXlvdXQtdGVzdHMvZmFzdC9kb20vY3NzLXN0
eWxlLWRlY2xhcmF0aW9uLWl0ZW0tZXhwZWN0ZWQudHh0Cj8gbGF5b3V0LXRlc3RzL2Zhc3QvZG9t
L2Nzcy1zdHlsZS1kZWNsYXJhdGlvbi1pdGVtLmh0bWwKSW5kZXg6IENoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9DaGFuZ2VMb2csdgpyZXRyaWV2aW5nIHJl
dmlzaW9uIDEuNDQwOQpkaWZmIC11IC1yMS40NDA5IENoYW5nZUxvZwotLS0gQ2hhbmdlTG9nCTIw
MDUvMDcvMTIgMDc6MjA6MzMJMS40NDA5CisrKyBDaGFuZ2VMb2cJMjAwNS8wNy8xMiAxMDo0NTo0
NQpAQCAtMSwzICsxLDI5IEBACisyMDA1LTA3LTEyICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNj
YUBtYWMuY29tPgorCisJLSBGaXhlcyA8aHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3No
b3dfYnVnLmNnaT9pZD0zODkzPgorCQorICAgICAgICBUZXN0IGNhc2VzIGFkZGVkOiAKKwkqIGxh
eW91dC10ZXN0cy9mYXN0L2RvbS9jc3MtZG9tLXJlYWQtMi5odG1sOiBBZGRlZC4KKwkqIGxheW91
dC10ZXN0cy9mYXN0L2RvbS9jc3MtZG9tLXJlYWQtMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorCQor
ICAgICAgICAqIGtodG1sL2Nzcy9jc3NfY29tcHV0ZWRzdHlsZS5jcHA6CisgICAgICAgIChET006
OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbkltcGw6OmNzc1RleHQpOgorCUltcGxlbWVudC4K
KwkKKyAgICAgICAgKERPTTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uSW1wbDo6aXRlbSk6
CisJUmV0dXJuIHRoZSBpdGVtIG5hbWUsIG5vdCBpdHMgdmFsdWUuCisJCisgICAgICAgICoga2h0
bWwvY3NzL2Nzc19ydWxlaW1wbC5jcHA6CisgICAgICAgIChDU1NJbXBvcnRSdWxlSW1wbDo6Y3Nz
VGV4dCk6CisgICAgICAgIChDU1NNZWRpYVJ1bGVJbXBsOjpjc3NUZXh0KToKKyAgICAgICAgKENT
U1N0eWxlUnVsZUltcGw6OmNzc1RleHQpOgorICAgICAgICAqIGtodG1sL2Nzcy9jc3NfcnVsZWlt
cGwuaDoKKwlJbXBsZW1lbnQuCisJCisgICAgICAgICoga2h0bWwvY3NzL2Nzc19zdHlsZXNoZWV0
aW1wbC5jcHA6CisgICAgICAgIChNZWRpYUxpc3RJbXBsOjptZWRpYVRleHQpOgorCURvbid0IHB1
dCBhIHRyYWlsaW5nIGNvbW1hIGFmdGVyIGxpc3RzLgorCQogMjAwNS0wNy0xMiAgRXJpYyBTZWlk
ZWwgIDxlc2VpZGVsQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBoeWF0dC4KSW5k
ZXg6IGtodG1sL2Nzcy9jc3NfY29tcHV0ZWRzdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9yb290L1dlYkNvcmUva2h0bWwvY3NzL2Nzc19jb21wdXRlZHN0eWxlLmNwcCx2CnJldHJp
ZXZpbmcgcmV2aXNpb24gMS4zMwpkaWZmIC11IC1yMS4zMyBjc3NfY29tcHV0ZWRzdHlsZS5jcHAK
LS0tIGNzc19jb21wdXRlZHN0eWxlLmNwcAkyMDA1LzA1LzExIDAwOjU4OjI3CTEuMzMKKysrIGNz
c19jb21wdXRlZHN0eWxlLmNwcAkyMDA1LzA3LzEyIDEwOjQ1OjQ2CkBAIC01MCw2ICs1MCw4IEBA
CiB1c2luZyBraHRtbDo6U2hhZG93RGF0YTsKIHVzaW5nIGtodG1sOjpTdHlsZURhc2hib2FyZFJl
Z2lvbjsKIAorZXh0ZXJuIERPTTo6RE9NU3RyaW5nIGdldFByb3BlcnR5TmFtZSh1bnNpZ25lZCBz
aG9ydCBpZCk7CisKIG5hbWVzcGFjZSBET00gewogCiAvLyBMaXN0IG9mIGFsbCBwcm9wZXJ0aWVz
IHdlIGtub3cgaG93IHRvIGNvbXB1dGUsIG9taXR0aW5nIHNob3J0aGFuZHMuCkBAIC0yODYsOCAr
Mjg4LDE2IEBACiAKIERPTVN0cmluZyBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb25JbXBsOjpj
c3NUZXh0KCkgY29uc3QKIHsKLSAgICBFUlJPUigidW5pbXBsZW1lbnRlZCIpOwotICAgIHJldHVy
biBET01TdHJpbmcoKTsKKyAgICBET01TdHJpbmcgcmVzdWx0OworICAgIAorICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBudW1Db21wdXRlZFByb3BlcnRpZXM7IGkrKykgeworICAgICAgICBy
ZXN1bHQgKz0gZ2V0UHJvcGVydHlOYW1lKGNvbXB1dGVkUHJvcGVydGllc1tpXSk7CisgICAgICAg
IHJlc3VsdCArPSAiOiAiOworICAgICAgICByZXN1bHQgKz0gZ2V0UHJvcGVydHlWYWx1ZShjb21w
dXRlZFByb3BlcnRpZXNbaV0pOworICAgICAgICByZXN1bHQgKz0gIjsgIjsKKyAgICB9CisgICAg
CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogdm9pZCBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b25JbXBsOjpzZXRDc3NUZXh0KGNvbnN0IERPTVN0cmluZyAmLCBpbnQgJmV4Y2VwdGlvbkNvZGUp
CkBAIC0xMjU2LDcgKzEyNjYsOCBAQAogewogICAgIGlmIChpID49IG51bUNvbXB1dGVkUHJvcGVy
dGllcykKICAgICAgICAgcmV0dXJuIERPTVN0cmluZygpOwotICAgIHJldHVybiBnZXRQcm9wZXJ0
eVZhbHVlKGNvbXB1dGVkUHJvcGVydGllc1tpXSk7CisgICAgCisgICAgcmV0dXJuIGdldFByb3Bl
cnR5TmFtZShjb21wdXRlZFByb3BlcnRpZXNbaV0pOwogfQogCiBDU1NNdXRhYmxlU3R5bGVEZWNs
YXJhdGlvbkltcGwgKkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbkltcGw6OmNvcHlJbmhlcml0
YWJsZVByb3BlcnRpZXMoKSBjb25zdApJbmRleDoga2h0bWwvY3NzL2Nzc19ydWxlaW1wbC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwvY3NzL2Nzc19ydWxl
aW1wbC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTkKZGlmZiAtdSAtcjEuMTkgY3NzX3J1
bGVpbXBsLmNwcAotLS0gY3NzX3J1bGVpbXBsLmNwcAkyMDA1LzA3LzA5IDIwOjE5OjAwCTEuMTkK
KysrIGNzc19ydWxlaW1wbC5jcHAJMjAwNS8wNy8xMiAxMDo0NTo0NgpAQCAtMTk4LDYgKzE5OCwy
MyBAQAogICAgIH0KIH0KIAorRE9NU3RyaW5nIENTU0ltcG9ydFJ1bGVJbXBsOjpjc3NUZXh0KCkg
Y29uc3QKK3sKKyAgICBET01TdHJpbmcgcmVzdWx0OworICAgIAorICAgIHJlc3VsdCA9ICJAaW1w
b3J0IHVybChcIiI7CisgICAgcmVzdWx0ICs9IG1fc3RySHJlZjsKKyAgICByZXN1bHQgKz0gIlwi
KSI7CisgICAgCisgICAgaWYgKG1fbHN0TWVkaWEpIHsKKyAgICAgICAgcmVzdWx0ICs9ICIgIjsK
KyAgICAgICAgcmVzdWx0ICs9IG1fbHN0TWVkaWEtPm1lZGlhVGV4dCgpOworICAgIH0KKyAgICBy
ZXN1bHQgKz0gIjsiOworICAgICAgICAKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiAvLyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogQ1NTTWVkaWFSdWxlSW1wbDo6Q1NTTWVkaWFSdWxlSW1wbCggU3R5bGVC
YXNlSW1wbCAqcGFyZW50LCBNZWRpYUxpc3RJbXBsICptZWRpYUxpc3QsIENTU1J1bGVMaXN0SW1w
bCAqcnVsZUxpc3QgKQogICAgIDogICBDU1NSdWxlSW1wbCggcGFyZW50ICkKQEAgLTI2Niw2ICsy
ODMsMzAgQEAKICAgICByZXR1cm4gbV9sc3RDU1NSdWxlcy0+aW5zZXJ0UnVsZSggbmV3UnVsZSwg
aW5kZXggKTsKIH0KIAorRE9NU3RyaW5nIENTU01lZGlhUnVsZUltcGw6OmNzc1RleHQoKSBjb25z
dAoreworICAgIERPTVN0cmluZyByZXN1bHQ7CisgICAgCisgICAgcmVzdWx0ID0gIkBtZWRpYSAi
OworICAgIGlmIChtX2xzdE1lZGlhKSB7CisgICAgICAgIHJlc3VsdCArPSBtX2xzdE1lZGlhLT5t
ZWRpYVRleHQoKTsKKyAgICAgICAgcmVzdWx0ICs9ICIgIjsKKyAgICB9CisgICAgcmVzdWx0ICs9
ICJ7IFxuIjsKKyAgICAKKyAgICBpZiAobV9sc3RDU1NSdWxlcykgeworICAgICAgICB1bnNpZ25l
ZCBsb25nIGxlbiA9IG1fbHN0Q1NTUnVsZXMtPmxlbmd0aCgpOworICAgICAgICBmb3IgKHVuc2ln
bmVkIGxvbmcgaSA9IDA7IGkgPCBsZW47IGkrKykgeworICAgICAgICAgICAgcmVzdWx0ICs9ICIg
ICI7CisgICAgICAgICAgICByZXN1bHQgKz0gbV9sc3RDU1NSdWxlcy0+aXRlbShpKS0+Y3NzVGV4
dCgpOworICAgICAgICAgICAgcmVzdWx0ICs9ICJcbiI7CisgICAgICAgIH0KKyAgICB9CisgICAg
CisgICAgcmVzdWx0ICs9ICJ9IjsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiAvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KIAogQ1NTUnVsZUxpc3RJbXBsOjpDU1NSdWxlTGlzdEltcGwoU3R5bGVMaXN0
SW1wbCAqbHN0KQpAQCAtMzQyLDYgKzM4MywxOSBAQAogdm9pZCBDU1NTdHlsZVJ1bGVJbXBsOjpz
ZXRTZWxlY3RvclRleHQoRE9NOjpET01TdHJpbmcgLypzdHIqLykKIHsKICAgICAvLyAjIyMKK30K
KworRE9NU3RyaW5nIENTU1N0eWxlUnVsZUltcGw6OmNzc1RleHQoKSBjb25zdAoreworICAgIERP
TVN0cmluZyByZXN1bHQ7CisgICAgCisgICAgcmVzdWx0ID0gc2VsZWN0b3JUZXh0KCk7CisgICAg
CisgICAgcmVzdWx0ICs9ICIgeyAiOworICAgIHJlc3VsdCArPSBtX3N0eWxlLT5jc3NUZXh0KCk7
CisgICAgcmVzdWx0ICs9ICJ9IjsKKyAgICAKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiBib29s
IENTU1N0eWxlUnVsZUltcGw6OnBhcnNlU3RyaW5nKCBjb25zdCBET01TdHJpbmcgJi8qc3RyaW5n
Ki8sIGJvb2wgKQpJbmRleDoga2h0bWwvY3NzL2Nzc19ydWxlaW1wbC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2Nzcy9jc3NfcnVsZWltcGwuaCx2CnJldHJp
ZXZpbmcgcmV2aXNpb24gMS4xNQpkaWZmIC11IC1yMS4xNSBjc3NfcnVsZWltcGwuaAotLS0gY3Nz
X3J1bGVpbXBsLmgJMjAwNS8wNy8wOSAyMDoxOTowMAkxLjE1CisrKyBjc3NfcnVsZWltcGwuaAky
MDA1LzA3LzEyIDEwOjQ1OjQ2CkBAIC01OSw3ICs1OSw3IEBACiAgICAgQ1NTU3R5bGVTaGVldElt
cGwgKnBhcmVudFN0eWxlU2hlZXQoKSBjb25zdDsKICAgICBDU1NSdWxlSW1wbCAqcGFyZW50UnVs
ZSgpIGNvbnN0OwogCi0gICAgRE9NOjpET01TdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAgIHZp
cnR1YWwgRE9NU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKICAgICB2b2lkIHNldENzc1RleHQoRE9N
OjpET01TdHJpbmcgc3RyKTsKICAgICB2aXJ0dWFsIHZvaWQgaW5pdCgpIHt9CiAKQEAgLTc3LDYg
Kzc3LDcgQEAKICAgICBNQUlOX1RIUkVBRF9BTExPQ0FURUQ7CiAKICAgICB2aXJ0dWFsIGJvb2wg
aXNDaGFyc2V0UnVsZSgpIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIERPTVN0cmluZyBj
c3NUZXh0KCkgY29uc3Q7CiAKICAgICBET01TdHJpbmcgZW5jb2RpbmcoKSBjb25zdCB7IHJldHVy
biBtX2VuY29kaW5nOyB9CiAgICAgdm9pZCBzZXRFbmNvZGluZyhET01TdHJpbmcgX2VuY29kaW5n
KSB7IG1fZW5jb2RpbmcgPSBfZW5jb2Rpbmc7IH0KQEAgLTExOSw3ICsxMjAsOCBAQAogICAgIENT
U1N0eWxlU2hlZXRJbXBsICpzdHlsZVNoZWV0KCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZVNoZWV0
OyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNJbXBvcnRSdWxlKCkgeyByZXR1cm4gdHJ1ZTsgfQot
CisgICAgdmlydHVhbCBET01TdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworICAKICAgICAvLyBmcm9t
IENhY2hlZE9iamVjdENsaWVudAogICAgIHZpcnR1YWwgdm9pZCBzZXRTdHlsZVNoZWV0KGNvbnN0
IERPTTo6RE9NU3RyaW5nICZ1cmwsIGNvbnN0IERPTTo6RE9NU3RyaW5nICZzaGVldCk7CiAKQEAg
LTE3NCw2ICsxNzYsNyBAQAogICAgIHZvaWQgZGVsZXRlUnVsZSAoIHVuc2lnbmVkIGxvbmcgaW5k
ZXggKSB7IG1fbHN0Q1NTUnVsZXMtPmRlbGV0ZVJ1bGUoIGluZGV4ICk7IH0KIAogICAgIHZpcnR1
YWwgYm9vbCBpc01lZGlhUnVsZSgpIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIERPTVN0
cmluZyBjc3NUZXh0KCkgY29uc3Q7CiAKICAgICAvKiBOb3QgcGFydCBvZiB0aGUgRE9NICovCiAg
ICAgdW5zaWduZWQgbG9uZyBhcHBlbmQoIENTU1J1bGVJbXBsICpydWxlICk7CkBAIC0yMTUsNiAr
MjE4LDcgQEAKICAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbkltcGwgKnN0eWxlKCkgY29u
c3QgeyByZXR1cm4gbV9zdHlsZTsgfQogCiAgICAgdmlydHVhbCBib29sIGlzU3R5bGVSdWxlKCkg
eyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgRE9NU3RyaW5nIGNzc1RleHQoKSBjb25zdDsK
IAogICAgIERPTTo6RE9NU3RyaW5nIHNlbGVjdG9yVGV4dCgpIGNvbnN0OwogICAgIHZvaWQgc2V0
U2VsZWN0b3JUZXh0KERPTTo6RE9NU3RyaW5nIHN0cik7CkluZGV4OiBraHRtbC9jc3MvY3NzX3N0
eWxlc2hlZXRpbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9r
aHRtbC9jc3MvY3NzX3N0eWxlc2hlZXRpbXBsLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4x
MwpkaWZmIC11IC1yMS4xMyBjc3Nfc3R5bGVzaGVldGltcGwuY3BwCi0tLSBjc3Nfc3R5bGVzaGVl
dGltcGwuY3BwCTIwMDUvMDcvMDkgMjA6MTk6MDAJMS4xMworKysgY3NzX3N0eWxlc2hlZXRpbXBs
LmNwcAkyMDA1LzA3LzEyIDEwOjQ1OjQ2CkBAIC0zODIsOCArMzgyLDEwIEBACiB7CiAgICAgRE9N
U3RyaW5nIHRleHQ7CiAgICAgZm9yICggUVZhbHVlTGlzdDxET01TdHJpbmc+OjpDb25zdEl0ZXJh
dG9yIGl0ID0gbV9sc3RNZWRpYS5iZWdpbigpOyBpdCAhPSBtX2xzdE1lZGlhLmVuZCgpOyArK2l0
ICkgeworICAgICAgICBpZiAodGV4dC5sZW5ndGgoKSA+IDApCisgICAgICAgICAgICB0ZXh0ICs9
ICIsICI7CisKICAgICAgICAgdGV4dCArPSAqaXQ7Ci0gICAgICAgIHRleHQgKz0gIiwgIjsKICAg
ICB9CiAgICAgcmV0dXJuIHRleHQ7CiB9Ci0tLSAvZGV2L251bGwJMjAwNS0wNy0xMiAxMjo0MTo1
NC4wMDAwMDAwMDAgKzAyMDAKKysrIGxheW91dC10ZXN0cy9mYXN0L2RvbS9jc3MtZG9tLXJlYWQt
Mi5odG1sCTIwMDUtMDctMDkgMDY6MTQ6MTEuMDAwMDAwMDAwICswMjAwCkBAIC0wLDAgKzEsOTMg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c3R5bGUgaWQ9InN0eWxlIj5AaW1wb3J0IHVybCgiZmFuY3lm
b250cy5jc3MiKSBzY3JlZW47CitAbWVkaWEgcHJpbnQgeworICBib2R5IHsgZm9udC1zaXplOiAx
MHB0IH0KK30KK0BtZWRpYSBzY3JlZW4geworICBib2R5IHsgZm9udC1zaXplOiAxM3B4IH0KK30K
K0BtZWRpYSBzY3JlZW4sIHByaW50IHsKKyAgYm9keSB7IGxpbmUtaGVpZ2h0OiAxLjIgfQorfQor
Lm9uZSB7ZGlzcGxheTogYmxvY2s7fQorLnR3byB7ZGlzcGxheTogaW5saW5lO30KKy50aHJlZSB7
ZGlzcGxheTogbGlzdC1pdGVtOyBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTsgbWFyZ2luLWxlZnQ6
IDNlbTt9CisuZm91ciB7ZGlzcGxheTogbm9uZTsgY29sb3I6IHJlZDt9CitJIHtkaXNwbGF5OiBi
bG9jazt9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0cygpOyI+Cis8
c2NyaXB0PgorZnVuY3Rpb24gZHVtcFJ1bGVMaXN0KGNzc1J1bGVzKQoreworCXZhciBzID0gJyc7
CisJCisJdmFyIGk7CisJZm9yIChpID0gMDsgaSA8IGNzc1J1bGVzLmxlbmd0aDsgaSsrKSB7CisJ
CXJ1bGUgPSBjc3NSdWxlcy5pdGVtKGkpOworCisJCXN3aXRjaCAocnVsZS50eXBlKSB7CisJCWNh
c2UgQ1NTUnVsZS5JTVBPUlRfUlVMRToKKwkJCXMgKz0gJ0BpbXBvcnQgdXJsKCInICsgcnVsZS5o
cmVmICsgJyIpICcgKyBydWxlLm1lZGlhLm1lZGlhVGV4dDsKKwkJCXMgKz0gJztcbic7CisJCQli
cmVhazsKKwkJY2FzZSBDU1NSdWxlLlNUWUxFX1JVTEU6CQkKKwkJCXMgKz0gcnVsZS5zZWxlY3Rv
clRleHQgKyAnIHsgJzsKKwkJCQorCQkJc3R5bGUgPSBydWxlLnN0eWxlOworCQkJZm9yIChqID0g
MDsgaiA8IHN0eWxlLmxlbmd0aDsgaisrKSB7CisJCQkJcyArPSBzdHlsZS5pdGVtKGopICsgJzog
JyArIHN0eWxlLmdldFByb3BlcnR5VmFsdWUoc3R5bGUuaXRlbShqKSkrICc7ICc7CisJCQl9CisJ
CQlzICs9ICd9IFxuJzsKKwkJCWJyZWFrOworCQljYXNlIENTU1J1bGUuTUVESUFfUlVMRToKKwkJ
CXMgKz0gJ0BtZWRpYSAnICsgcnVsZS5tZWRpYS5tZWRpYVRleHQgKyAnIHtcbic7CisJCQlzICs9
ICcgICcgKyBkdW1wUnVsZUxpc3QocnVsZS5jc3NSdWxlcyk7CisJCQlzICs9ICd9XG4nOworCQkJ
YnJlYWs7CisJCWNhc2UgQ1NTUnVsZS5QQUdFX1JVTEU6CisJCQlzICs9ICdAcGFnZSAnOworCQkJ
YnJlYWs7CisJCX0KKworCX0KKwkKKwlyZXR1cm4gczsKK30KKworZnVuY3Rpb24gZGVidWcocykg
eworCWNvbnNvbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpOworCWxpID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGknKTsKKwljb25zb2xlLmFwcGVuZENoaWxkKGxpKTsK
KwlwcmUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwcmUnKTsKKwlsaS5hcHBlbmRDaGlsZChw
cmUpOworCXQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzICsgJ1xuJyk7CisJcHJlLmFwcGVu
ZENoaWxkKHQpOworfQorCitmdW5jdGlvbiBydW5UZXN0cygpIHsKKwlpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorCQlsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisK
KwlvcmlnaW5hbFN0eWxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0eWxlJykuZmlyc3RD
aGlsZC5ub2RlVmFsdWU7CisJZGVidWcob3JpZ2luYWxTdHlsZSk7CisKKwlzdHlsZVNoZWV0ID0g
ZG9jdW1lbnQuc3R5bGVTaGVldHMuaXRlbSgwKQorCXMgPSBkdW1wUnVsZUxpc3Qoc3R5bGVTaGVl
dC5jc3NSdWxlcyk7CisJZGVidWcocyk7CisJCisJcyA9ICIiCisJZm9yIChpID0gMDsgaSA8IHN0
eWxlU2hlZXQuY3NzUnVsZXMubGVuZ3RoOyBpKyspIHsKKwkJcnVsZSA9IHN0eWxlU2hlZXQuY3Nz
UnVsZXMuaXRlbShpKTsKKworCQlzICs9IHJ1bGUuY3NzVGV4dCArICdcbic7CisJfQorCWRlYnVn
KHMpOworfQorPC9zY3JpcHQ+CitUaGlzIHRlc3RzIGRpZmZlcmVudCB3YXlzIG9mIGRlc2VyaWFs
aXppbmcgY3NzIHN0eWxlc2hlZXRzLiBUaGUgZmlyc3QgaXRlbSBiZWxvdyBpcyB0aGUgc3R5bGUg
YXMgc3BlY2lmaWVkIGluIHRoZSBkb2N1bWVudC4gVGhlIHNlY29uZCBpcyBzZXJpYWxpemVkIHVz
aW5nIHRoZSBkaWZmZXJlbnQgcnVsZSBhY2Nlc3NvcnMuIFRoZSB0aGlyZCBqdXN0IHVzZXMgcnVs
ZS5jc3NUZXh0LiBJZiB0aGUgdGVzdCBpcyBzdWNjZXNzZnVsLCBhbGwgdGhyZWUgc2hvdWxkIGJl
IHRoZSBzYW1lLgorPHVsIGlkPSJjb25zb2xlIj4KKzwvdWw+Cis8L2JvZHk+Cis8L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>
<flag name="review"
          id="220"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>