<?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>23668</bug_id>
          
          <creation_ts>2009-01-31 17:35:53 -0800</creation_ts>
          <short_desc>CSS &apos;content&apos; attribute does not work with window.getComputedStyle</short_desc>
          <delta_ts>2011-02-24 08:59:35 -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>CSS</component>
          <version>525.x (Safari 3.2)</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>HasReduction, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="exfed">exfed</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>exfed</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>107874</commentid>
    <comment_count>0</comment_count>
    <who name="exfed">exfed</who>
    <bug_when>2009-01-31 17:35:53 -0800</bug_when>
    <thetext>&lt;div style=&quot;content: &apos;string&apos;&quot;
onclick=&quot;alert([window.getComputedStyle(this, null).getPropertyValue(&apos;content&apos;),this.style.content])&quot;&gt;

  displays &quot;,string&quot;, correct should be &quot;string,string&quot;;

&lt;/div&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108273</commentid>
    <comment_count>1</comment_count>
    <who name="exfed">exfed</who>
    <bug_when>2009-02-04 08:56:47 -0800</bug_when>
    <thetext>testcase:
http://zel.pl/a.htm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108620</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-02-06 03:20:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/6562788&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108631</commentid>
    <comment_count>3</comment_count>
      <attachid>27395</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-02-06 06:32:39 -0800</bug_when>
    <thetext>Created attachment 27395
Test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108660</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-02-06 10:45:15 -0800</bug_when>
    <thetext>Seems like we&apos;re missing lots of these.  Content in particular:
http://trac.webkit.org/browser/trunk/WebCore/css/CSSComputedStyleDeclaration.cpp#L1206

This would be a trivial bug to fix for someone.  Most important would be to write a nice test case, ideally one which tests a whole bunch of the missing properties, and is in the newer fast/js/ testing style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356320</commentid>
    <comment_count>5</comment_count>
      <attachid>83526</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-02-23 12:42:52 -0800</bug_when>
    <thetext>Created attachment 83526
Patch

Implements getComputedStyle for the content, counter, outline-offset, background-position-x and background-position-y properties.

To correctly return content containing counters I added a new type to CSSPrimitiveValue, CSS_COUNTER_NAME. I&apos;m not convinced this is the right thing to do but was the best option I could come up with. Any suggestions would be welcome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356349</commentid>
    <comment_count>6</comment_count>
      <attachid>83526</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-23 13:08:51 -0800</bug_when>
    <thetext>Comment on attachment 83526
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356350</commentid>
    <comment_count>7</comment_count>
      <attachid>83526</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-23 13:09:28 -0800</bug_when>
    <thetext>Comment on attachment 83526
Patch

Since you seem doubtful on the CSS_COUNTER_NAME thing I&apos;ll leave that for someone else to comment on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356375</commentid>
    <comment_count>8</comment_count>
      <attachid>83526</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-02-23 13:40:33 -0800</bug_when>
    <thetext>Comment on attachment 83526
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=83526&amp;action=review

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:730
&gt; +static PassRefPtr&lt;CSSValue&gt; contentToCSSValue(PassRefPtr&lt;RenderStyle&gt; style)

The argument can be a const RenderStyle*

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:748
&gt; +static PassRefPtr&lt;CSSValue&gt; counterToCSSValue(PassRefPtr&lt;RenderStyle&gt; style, int propertyID)

Ditto.

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:852
&gt; +        case CSSPropertyBackgroundRepeatX:
&gt; +            return CSSPrimitiveValue::create(style-&gt;backgroundRepeatX());
&gt; +        case CSSPropertyBackgroundRepeatY:
&gt; +            return CSSPrimitiveValue::create(style-&gt;backgroundRepeatY());

There are no individual CSS properties for background-repeat-x and y (http://www.w3.org/TR/css3-background/#the-background-repeat), so I don&apos;t think we should be supporting computed style for them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356399</commentid>
    <comment_count>9</comment_count>
      <attachid>83545</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-02-23 14:03:15 -0800</bug_when>
    <thetext>Created attachment 83545
Patch

Thanks Simon!
I made the changes you suggested and removed the background-repeat-x|y properties.
Please take another look when you get a chance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357046</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-24 08:56:55 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 83545:

http/tests/xmlhttprequest/failed-auth.html bug 51835 (author: ap@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357050</commentid>
    <comment_count>11</comment_count>
      <attachid>83545</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-24 08:59:31 -0800</bug_when>
    <thetext>Comment on attachment 83545
Patch

Clearing flags on attachment: 83545

Committed r79574: &lt;http://trac.webkit.org/changeset/79574&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357052</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-24 08:59:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>27395</attachid>
            <date>2009-02-06 06:32:39 -0800</date>
            <delta_ts>2009-02-06 06:32:39 -0800</delta_ts>
            <desc>Test case</desc>
            <filename>a.htm</filename>
            <type>text/html</type>
            <size>207</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">PGRpdiBzdHlsZT0iY29udGVudDogJ3N0cmluZyciCm9uY2xpY2s9ImFsZXJ0KFt3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZSh0aGlzLApudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdjb250ZW50JyksdGhp
cy5zdHlsZS5jb250ZW50XSkiPgoKICBkaXNwbGF5cyAiLHN0cmluZyIsIGNvcnJlY3Qgc2hvdWxk
IGJlICJzdHJpbmcsc3RyaW5nIjsKICAKICA8L2Rpdj4KICAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83526</attachid>
            <date>2011-02-23 12:42:52 -0800</date>
            <delta_ts>2011-02-23 14:03:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>23668.patch</filename>
            <type>text/plain</type>
            <size>13189</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc5NDYxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDItMjMgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBtaXNzaW5nIHByb3BlcnRpZXMgdG8g
Z2V0Q29tcHV0ZWRTdHlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM2NjgKKworICAgICAgICBJbXBsZW1lbnQgZ2V0Q29tcHV0ZWRTdHlsZSBmb3Ig
dGhlIGNvbnRlbnQsIGNvdW50ZXIsIG91dGxpbmUtb2Zmc2V0LAorICAgICAgICBiYWNrZ3JvdW5k
LXBvc2l0aW9uLXggYW5kIGJhY2tncm91bmQtcG9zaXRpb24teSBwcm9wZXJ0aWVzLgorCisgICAg
ICAgIFRlc3Q6IGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtcHJvcGVy
dGllcy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRlbnRUb0NTU1ZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OmNvdW50ZXJUb0NTU1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1By
aW1pdGl2ZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpj
c3NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaDoKKwogMjAxMS0wMi0y
MiAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gRmlzaGVyLgpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHJldmlzaW9uIDc5MzQwKQorKysgU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI1LDYgKzI1LDggQEAKICNpbmNsdWRlICJDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
aCIKIAogI2luY2x1ZGUgIkFuaW1hdGlvbkNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJDb250ZW50
RGF0YS5oIgorI2luY2x1ZGUgIkNvdW50ZXJDb250ZW50LmgiCiAjaW5jbHVkZSAiQ3Vyc29yTGlz
dC5oIgogI2luY2x1ZGUgIkNTU0JvcmRlckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbi5oIgpAQCAtNzI1LDYgKzcyNywzNiBAQCBzdGF0aWMgUGFzc1Jl
ZlB0cjxDU1NWYWx1ZT4gZmlsbFNpemVUb0NTCiAgICAgcmV0dXJuIGxpc3QucmVsZWFzZSgpOwog
fQogCitzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY29udGVudFRvQ1NTVmFsdWUoUGFzc1Jl
ZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGUpCit7CisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gbGlz
dCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICBmb3IgKGNvbnN0
IENvbnRlbnREYXRhKiBjb250ZW50RGF0YSA9IHN0eWxlLT5jb250ZW50RGF0YSgpOyBjb250ZW50
RGF0YTsgY29udGVudERhdGEgPSBjb250ZW50RGF0YS0+bmV4dCgpKSB7CisgICAgICAgIGlmIChj
b250ZW50RGF0YS0+aXNDb3VudGVyKCkpIHsKKyAgICAgICAgICAgIGNvbnN0IENvdW50ZXJDb250
ZW50KiBjb3VudGVyID0gY29udGVudERhdGEtPmNvdW50ZXIoKTsKKyAgICAgICAgICAgIEFTU0VS
VChjb3VudGVyKTsKKyAgICAgICAgICAgIGxpc3QtPmFwcGVuZChDU1NQcmltaXRpdmVWYWx1ZTo6
Y3JlYXRlKGNvdW50ZXItPmlkZW50aWZpZXIoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DT1VO
VEVSX05BTUUpKTsKKyAgICAgICAgfSBlbHNlIGlmIChjb250ZW50RGF0YS0+aXNJbWFnZSgpKSB7
CisgICAgICAgICAgICBjb25zdCBTdHlsZUltYWdlKiBpbWFnZSA9IGNvbnRlbnREYXRhLT5pbWFn
ZSgpOworICAgICAgICAgICAgQVNTRVJUKGltYWdlKTsKKyAgICAgICAgICAgIGxpc3QtPmFwcGVu
ZChpbWFnZS0+Y3NzVmFsdWUoKSk7CisgICAgICAgIH0gZWxzZSBpZiAoY29udGVudERhdGEtPmlz
VGV4dCgpKQorICAgICAgICAgICAgbGlzdC0+YXBwZW5kKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVh
dGUoY29udGVudERhdGEtPnRleHQoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJTkcpKTsK
KyAgICB9CisgICAgcmV0dXJuIGxpc3QucmVsZWFzZSgpOworfQorCitzdGF0aWMgUGFzc1JlZlB0
cjxDU1NWYWx1ZT4gY291bnRlclRvQ1NTVmFsdWUoUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gc3R5
bGUsIGludCBwcm9wZXJ0eUlEKQoreworICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IGxpc3QgPSBD
U1NWYWx1ZUxpc3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CisgICAgY29uc3QgQ291bnRlckRp
cmVjdGl2ZU1hcCYgbWFwID0gc3R5bGUtPmFjY2Vzc0NvdW50ZXJEaXJlY3RpdmVzKCk7CisgICAg
Zm9yIChDb3VudGVyRGlyZWN0aXZlTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG1hcC5iZWdpbigp
OyBpdCAhPSBtYXAuZW5kKCk7ICsraXQpIHsKKyAgICAgICAgbGlzdC0+YXBwZW5kKENTU1ByaW1p
dGl2ZVZhbHVlOjpjcmVhdGUoaXQtPmZpcnN0LmdldCgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
X1NUUklORykpOworICAgICAgICBzaG9ydCBudW1iZXIgPSBwcm9wZXJ0eUlEID09IENTU1Byb3Bl
cnR5Q291bnRlckluY3JlbWVudCA/IGl0LT5zZWNvbmQubV9pbmNyZW1lbnRWYWx1ZSA6IGl0LT5z
ZWNvbmQubV9yZXNldFZhbHVlOworICAgICAgICBsaXN0LT5hcHBlbmQoQ1NTUHJpbWl0aXZlVmFs
dWU6OmNyZWF0ZSgoZG91YmxlKW51bWJlciwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIp
KTsKKyAgICB9CisgICAgcmV0dXJuIGxpc3QucmVsZWFzZSgpOworfQorCiBzdGF0aWMgdm9pZCBs
b2dVbmltcGxlbWVudGVkUHJvcGVydHlJRChpbnQgcHJvcGVydHlJRCkKIHsKICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEhhc2hTZXQ8aW50PiwgcHJvcGVydHlJRFNldCwgKCkpOwpAQCAtODE0LDYg
Kzg0NiwxMCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjCiAKICAg
ICAgICAgICAgIHJldHVybiBsaXN0LnJlbGVhc2UoKTsKICAgICAgICAgfQorICAgICAgICBjYXNl
IENTU1Byb3BlcnR5QmFja2dyb3VuZFJlcGVhdFg6CisgICAgICAgICAgICByZXR1cm4gQ1NTUHJp
bWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+YmFja2dyb3VuZFJlcGVhdFgoKSk7CisgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUmVwZWF0WToKKyAgICAgICAgICAgIHJldHVybiBD
U1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT5iYWNrZ3JvdW5kUmVwZWF0WSgpKTsKICAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDb21wb3NpdGU6CiAgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXNrQ29tcG9zaXRlOiB7CiAgICAgICAgICAgICBjb25z
dCBGaWxsTGF5ZXIqIGxheWVycyA9IHByb3BlcnR5SUQgPT0gQ1NTUHJvcGVydHlXZWJraXRNYXNr
Q29tcG9zaXRlID8gc3R5bGUtPm1hc2tMYXllcnMoKSA6IHN0eWxlLT5iYWNrZ3JvdW5kTGF5ZXJz
KCk7CkBAIC0xMTgwLDYgKzEyMTYsOCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRl
ZFN0eWxlRGVjCiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShz
dHlsZS0+b3JwaGFucygpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7CiAgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlPdXRsaW5lQ29sb3I6CiAgICAgICAgICAgICByZXR1cm4gbV9hbGxv
d1Zpc2l0ZWRTdHlsZSA/IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGVDb2xvcihzdHlsZS0+dmlz
aXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5T3V0bGluZUNvbG9yKS5yZ2IoKSkgOiBjdXJy
ZW50Q29sb3JPclZhbGlkQ29sb3Ioc3R5bGUuZ2V0KCksIHN0eWxlLT5vdXRsaW5lQ29sb3IoKSk7
CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlPdXRsaW5lT2Zmc2V0OgorICAgICAgICAgICAgcmV0
dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUoc3R5bGUtPm91dGxpbmVPZmZzZXQoKSwgc3R5bGUu
Z2V0KCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZVN0eWxlOgogICAgICAgICAg
ICAgaWYgKHN0eWxlLT5vdXRsaW5lU3R5bGVJc0F1dG8oKSkKICAgICAgICAgICAgICAgICByZXR1
cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUlkZW50aWZpZXIoQ1NTVmFsdWVBdXRvKTsKQEAg
LTE1NzYsNiArMTYxNCwxMyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxl
RGVjCiAgICAgICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+
d3JpdGluZ01vZGUoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0Q29tYmlu
ZToKICAgICAgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHN0eWxlLT50
ZXh0Q29tYmluZSgpKTsKKworICAgICAgICBjYXNlIENTU1Byb3BlcnR5Q29udGVudDoKKyAgICAg
ICAgICAgIHJldHVybiBjb250ZW50VG9DU1NWYWx1ZShzdHlsZSk7CisgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlDb3VudGVySW5jcmVtZW50OgorICAgICAgICAgICAgcmV0dXJuIGNvdW50ZXJUb0NT
U1ZhbHVlKHN0eWxlLCBwcm9wZXJ0eUlEKTsKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvdW50
ZXJSZXNldDoKKyAgICAgICAgICAgIHJldHVybiBjb3VudGVyVG9DU1NWYWx1ZShzdHlsZSwgcHJv
cGVydHlJRCk7CiAgICAgICAgIAogICAgICAgICAvKiBTaG9ydGhhbmQgcHJvcGVydGllcywgY3Vy
cmVudGx5IG5vdCBzdXBwb3J0ZWQgc2VlIGJ1ZyAxMzY1OCovCiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlCYWNrZ3JvdW5kOgpAQCAtMTU5MSw2ICsxNjM2LDcgQEAgUGFzc1JlZlB0cjxDU1NWYWx1
ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlYwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udDoKICAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eUxpc3RTdHlsZToKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eU1hcmdpbjoKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU91dGxpbmU6CiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlQYWRkaW5nOgogICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTE2NTQsMTMgKzE3
MDAsNiBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjCiAgICAgICAg
ICAgICBicmVhazsKIAogICAgICAgICAvKiBPdGhlciB1bmltcGxlbWVudGVkIHByb3BlcnRpZXMg
Ki8KLSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRSZXBlYXRYOgotICAgICAgICBj
YXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZFJlcGVhdFk6Ci0gICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlDb250ZW50OiAvLyBGSVhNRTogbmVlZHMgaW1wbGVtZW50YXRpb24sIGJ1ZyAyMzY2OAotICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5Q291bnRlckluY3JlbWVudDoKLSAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eUNvdW50ZXJSZXNldDoKLSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU91dGxpbmU6IC8v
IEZJWE1FOiBuZWVkcyBpbXBsZW1lbnRhdGlvbgotICAgICAgICBjYXNlIENTU1Byb3BlcnR5T3V0
bGluZU9mZnNldDogLy8gRklYTUU6IG5lZWRzIGltcGxlbWVudGF0aW9uCiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlQYWdlOiAvLyBmb3IgQHBhZ2UKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVF1
b3RlczogLy8gRklYTUU6IG5lZWRzIGltcGxlbWVudGF0aW9uCiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlTaXplOiAvLyBmb3IgQHBhZ2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlLmNwcAkocmV2aXNpb24gNzkzNDApCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MDksNiArODA5LDExIEBAIFN0
cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6Y3NzVGV4dCgpIGNvbnMKICAgICAgICAgICAgIHRleHQg
PSBTdHJpbmc6OmFkb3B0KHJlc3VsdCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQor
ICAgICAgICBjYXNlIENTU19DT1VOVEVSX05BTUU6CisgICAgICAgICAgICB0ZXh0ID0gImNvdW50
ZXIoIjsKKyAgICAgICAgICAgIHRleHQgKz0gbV92YWx1ZS5zdHJpbmc7CisgICAgICAgICAgICB0
ZXh0ICs9ICIpIjsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU19DT1VOVEVS
OgogICAgICAgICAgICAgdGV4dCA9ICJjb3VudGVyKCI7CiAgICAgICAgICAgICB0ZXh0ICs9IFN0
cmluZzo6bnVtYmVyKG1fdmFsdWUubnVtKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cmltaXRpdmVWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5oCShyZXZpc2lvbiA3OTM0MCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cmltaXRpdmVWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05MCw3ICs5MCwxMCBAQCBwdWJsaWM6
CiAgICAgICAgIAogICAgICAgICAvLyBUaGVzZSBhcmUgZnJvbSBDU1MzIFZhbHVlcyBhbmQgVW5p
dHMsIGJ1dCB0aGF0IGlzbid0IGEgZmluaXNoZWQgc3RhbmRhcmQgeWV0CiAgICAgICAgIENTU19U
VVJOID0gMTA3LAotICAgICAgICBDU1NfUkVNUyA9IDEwOAorICAgICAgICBDU1NfUkVNUyA9IDEw
OCwKKworICAgICAgICAvLyBUaGlzIGlzIHVzZWQgaW50ZXJuYWxseSBmb3IgY291bnRlciBuYW1l
cyAoYXMgb3Bwb3NlZCB0byBjb3VudGVyIHZhbHVlcykKKyAgICAgICAgQ1NTX0NPVU5URVJfTkFN
RSA9IDEwOQogICAgIH07CiAgICAgCiAgICAgLy8gVGhpcyBlbnVtIGZvbGxvd3MgdGhlIENTU1Bh
cnNlcjo6VW5pdHMgZW51bSBhdWdtZW50ZWQgd2l0aCBVTklUX0ZSRVFVRU5DWSBmb3IgZnJlcXVl
bmNpZXMuCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3OTQ2MSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDExLTAyLTIzICBFbWlsIEEgRWts
dW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgbWlzc2luZyBwcm9wZXJ0aWVzIHRvIGdl
dENvbXB1dGVkU3R5bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzNjY4CisKKyAgICAgICAgVGVzdCBnZXRDb21wdXRlZFN0eWxlIGZvciB0aGUgY29u
dGVudCwgY291bnRlciwgb3V0bGluZS1vZmZzZXQsCisgICAgICAgIGJhY2tncm91bmQtcG9zaXRp
b24teCBhbmQgYmFja2dyb3VuZC1wb3NpdGlvbi15IHByb3BlcnRpZXMuCisKKyAgICAgICAgKiBm
YXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXByb3BlcnRpZXMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1
dGVkLXN0eWxlLXByb3BlcnRpZXMuaHRtbDogQWRkZWQuCisKIDIwMTEtMDItMjMgIEhhbnMgV2Vu
bmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBKZXJlbXkg
T3Jsb3cuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1
dGVkLXN0eWxlLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtcHJvcGVydGllcy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21w
dXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDI5IEBACitvdXRsaW5lCitiYWNrZ3JvdW5kCitiYWNrZ3JvdW5kLXJl
cGVhdAorY29udGVudAorY291bnRlcgorSGVhZGluZyBBCisKK1N1YmhlYWRpbmcgQQorCitTdWJo
ZWFkaW5nIEIKKworSGVhZGluZyBCCisKK1BBU1MgY29tcHV0ZWRTdHlsZUZvcignb3V0bGluZScs
IG51bGwsICdvdXRsaW5lLW9mZnNldCcpIGlzICc1cHgnCitQQVNTIGNvbXB1dGVkU3R5bGVGb3Io
J2JhY2tncm91bmQnLCBudWxsLCAnYmFja2dyb3VuZC1yZXBlYXQteCcpIGlzICdyZXBlYXQnCitQ
QVNTIGNvbXB1dGVkU3R5bGVGb3IoJ2JhY2tncm91bmQyJywgbnVsbCwgJ2JhY2tncm91bmQtcmVw
ZWF0LXgnKSBpcyAncmVwZWF0JworUEFTUyBjb21wdXRlZFN0eWxlRm9yKCdiYWNrZ3JvdW5kMics
IG51bGwsICdiYWNrZ3JvdW5kLXJlcGVhdC15JykgaXMgJ3JlcGVhdCcKK1BBU1MgY29tcHV0ZWRT
dHlsZUZvcignY29udGVudCcsICdiZWZvcmUnLCAnY29udGVudCcpIGlzICd0ZXh0JworUEFTUyBj
b21wdXRlZFN0eWxlRm9yKCdjb250ZW50JywgJ2FmdGVyJywgJ2NvbnRlbnQnKSBpcyAiJ3Rlc3Qg
JyB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFKQUFBUDhBQUFBQUFDd0FB
QUFBQVFBQkFBQUNBZ1FCQURzPSkiCitQQVNTIGNvbXB1dGVkU3R5bGVGb3IoJ2NvdW50ZXInLCBu
dWxsLCAnY291bnRlci1yZXNldCcpIGlzICdzZWN0aW9uIDAnCitQQVNTIHN0ci5pbmRleE9mKCdz
dWJzZWN0aW9uIDAnKSAhPSAtMSBpcyB0cnVlCitQQVNTIHN0ci5pbmRleE9mKCdhbm90aGVyY291
bnRlciA1JykgIT0gLTEgaXMgdHJ1ZQorUEFTUyBjb21wdXRlZFN0eWxlRm9yKCdjb3VudGVyMScs
ICdiZWZvcmUnLCAnY291bnRlci1pbmNyZW1lbnQnKSBpcyAnc2VjdGlvbiAxJworUEFTUyBjb21w
dXRlZFN0eWxlRm9yKCdzdWJjb3VudGVyMicsICdiZWZvcmUnLCAnY291bnRlci1pbmNyZW1lbnQn
KSBpcyAnc3Vic2VjdGlvbiAxJworUEFTUyBjb21wdXRlZFN0eWxlRm9yKCdzdWJjb3VudGVyMics
ICdiZWZvcmUnLCAnY29udGVudCcpIGlzICJjb3VudGVyKHNlY3Rpb24pICcuJyBjb3VudGVyKHN1
YnNlY3Rpb24pICcuICciCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9j
b21wdXRlZC1zdHlsZS1wcm9wZXJ0aWVzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1wcm9wZXJ0aWVzLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2Nv
bXB1dGVkLXN0eWxlLXByb3BlcnRpZXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5NCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisjdGVzdCB7Cisg
IHdpZHRoOiA0MDBweDsKKyAgbWFyZ2luOiAxMHB4OworfQorI3Rlc3QgPiBkaXYgeworICBtYXJn
aW46IDFleDsKK30KKyNvdXRsaW5lIHsKKyAgICBvdXRsaW5lOiAycHggc29saWQgcmVkOworICAg
IG91dGxpbmUtb2Zmc2V0OiA1cHg7Cit9CisjYmFja2dyb3VuZCB7CisgICAgYmFja2dyb3VuZDog
dHJhbnNwYXJlbnQgdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSkFBQVA4
QUFBQUFBQ3dBQUFBQUFRQUJBQUFDQWdRQkFEcz0pIHJlcGVhdC14OworfQorI2JhY2tncm91bmQy
IHsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdP
RGxoQVFBQkFKQUFBUDhBQUFBQUFDd0FBQUFBQVFBQkFBQUNBZ1FCQURzPSk7CisgICAgYmFja2dy
b3VuZC1yZXBlYXQ6IHJlcGVhdC14IHJlcGVhdC15OworfQorI2NvbnRlbnQ6YmVmb3JlIHsKKyAg
ICBjb250ZW50OiAndGV4dCc7Cit9CisjY29udGVudDphZnRlciB7CisgIGNvbnRlbnQ6ICd0ZXN0
ICcgdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSkFBQVA4QUFBQUFBQ3dB
QUFBQUFRQUJBQUFDQWdRQkFEcz0pOworfQorI2NvdW50ZXIgeworICAgIGNvdW50ZXItcmVzZXQ6
IHNlY3Rpb247Cit9CisjY291bnRlciA+IGRpdiB7CisgICAgY291bnRlci1yZXNldDogc3Vic2Vj
dGlvbiAwIGFub3RoZXJjb3VudGVyIDU7Cit9CisjY291bnRlciA+IGgxOmJlZm9yZSB7CisgICAg
Y291bnRlci1pbmNyZW1lbnQ6IHNlY3Rpb247CisgICAgY29udGVudDogY291bnRlcihzZWN0aW9u
KSAnLiAnOworfQorI2NvdW50ZXIgPiBkaXYgPiBoMjpiZWZvcmUgeworICAgIGNvdW50ZXItaW5j
cmVtZW50OiBzdWJzZWN0aW9uOworICAgIGNvbnRlbnQ6IGNvdW50ZXIoc2VjdGlvbikgJy4nIGNv
dW50ZXIoc3Vic2VjdGlvbikgJy4gJzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXYgaWQ9InRlc3QiPgorICAgIDxkaXYgaWQ9Im91dGxpbmUiPm91dGxpbmU8L2Rpdj4KKyAgICA8
ZGl2IGlkPSJiYWNrZ3JvdW5kIj5iYWNrZ3JvdW5kPC9kaXY+CisgICAgPGRpdiBpZD0iYmFja2dy
b3VuZDIiPmJhY2tncm91bmQtcmVwZWF0PC9kaXY+CisgICAgPGRpdiBpZD0iY29udGVudCI+Y29u
dGVudDwvZGl2PgorICAgIDxkaXYgaWQ9ImNvdW50ZXIiPgorICAgICAgICBjb3VudGVyCisgICAg
ICAgIDxoMSBpZD0iY291bnRlcjEiPkhlYWRpbmcgQTwvaDE+CisgICAgICAgIDxkaXYgaWQ9InN1
YmNvdW50ZXIiPgorICAgICAgICAgICAgPGgyIGlkPSJzdWJjb3VudGVyMSI+U3ViaGVhZGluZyBB
PC9oMj4KKyAgICAgICAgICAgIDxoMiBpZD0ic3ViY291bnRlcjIiPlN1YmhlYWRpbmcgQjwvaDI+
CisgICAgICAgIDwvZGl2PgorICAgICAgICA8aDE+SGVhZGluZyBCPC9oMT4KKyAgICAgICAgPC9k
aXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8
c2NyaXB0PgorICAKK2Z1bmN0aW9uIGNvbXB1dGVkU3R5bGVGb3IoaWQsIHBzZXVkbywgcHJvcGVy
dHkpCit7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7Cisg
ICAgdmFyIHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgcHNldWRvKTsK
KyAgICBpZiAoIXN0eWxlKQorICAgICAgICByZXR1cm4gbnVsbDsKKyAgICByZXR1cm4gc3R5bGUu
Z2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eSk7Cit9CisKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxl
Rm9yKCdvdXRsaW5lJywgbnVsbCwgJ291dGxpbmUtb2Zmc2V0JykiLCAiJzVweCciKTsKKworc2hv
dWxkQmUoImNvbXB1dGVkU3R5bGVGb3IoJ2JhY2tncm91bmQnLCBudWxsLCAnYmFja2dyb3VuZC1y
ZXBlYXQteCcpIiwgIidyZXBlYXQnIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZUZvcignYmFj
a2dyb3VuZDInLCBudWxsLCAnYmFja2dyb3VuZC1yZXBlYXQteCcpIiwgIidyZXBlYXQnIik7Citz
aG91bGRCZSgiY29tcHV0ZWRTdHlsZUZvcignYmFja2dyb3VuZDInLCBudWxsLCAnYmFja2dyb3Vu
ZC1yZXBlYXQteScpIiwgIidyZXBlYXQnIik7CisKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlRm9y
KCdjb250ZW50JywgJ2JlZm9yZScsICdjb250ZW50JykiLCAiJ3RleHQnIik7CitzaG91bGRCZSgi
Y29tcHV0ZWRTdHlsZUZvcignY29udGVudCcsICdhZnRlcicsICdjb250ZW50JykiLCAnIlwndGVz
dCBcJyB1cmwoZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFKQUFBUDhBQUFBQUFD
d0FBQUFBQVFBQkFBQUNBZ1FCQURzPSkiJyk7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZUZvcign
Y291bnRlcicsIG51bGwsICdjb3VudGVyLXJlc2V0JykiLCAiJ3NlY3Rpb24gMCciKTsKK3ZhciBz
dHIgPSBjb21wdXRlZFN0eWxlRm9yKCdzdWJjb3VudGVyJywgbnVsbCwgJ2NvdW50ZXItcmVzZXQn
KTsKK3Nob3VsZEJlKCJzdHIuaW5kZXhPZignc3Vic2VjdGlvbiAwJykgIT0gLTEiLCAidHJ1ZSIp
Oworc2hvdWxkQmUoInN0ci5pbmRleE9mKCdhbm90aGVyY291bnRlciA1JykgIT0gLTEiLCAidHJ1
ZSIpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGVGb3IoJ2NvdW50ZXIxJywgJ2JlZm9yZScsICdj
b3VudGVyLWluY3JlbWVudCcpIiwgIidzZWN0aW9uIDEnIik7CitzaG91bGRCZSgiY29tcHV0ZWRT
dHlsZUZvcignc3ViY291bnRlcjInLCAnYmVmb3JlJywgJ2NvdW50ZXItaW5jcmVtZW50JykiLCAi
J3N1YnNlY3Rpb24gMSciKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlRm9yKCdzdWJjb3VudGVy
MicsICdiZWZvcmUnLCAnY29udGVudCcpIiwgJyJjb3VudGVyKHNlY3Rpb24pIFwnLlwnIGNvdW50
ZXIoc3Vic2VjdGlvbikgXCcuIFwnIicpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="75356"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83545</attachid>
            <date>2011-02-23 14:03:15 -0800</date>
            <delta_ts>2011-02-24 08:59:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>23668.patch</filename>
            <type>text/plain</type>
            <size>11939</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc5NDYxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDItMjMgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBtaXNzaW5nIHByb3BlcnRpZXMgdG8g
Z2V0Q29tcHV0ZWRTdHlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM2NjgKKworICAgICAgICBJbXBsZW1lbnQgZ2V0Q29tcHV0ZWRTdHlsZSBmb3Ig
dGhlIGNvbnRlbnQsIGNvdW50ZXIgYW5kIG91dGxpbmUtb2Zmc2V0CisgICAgICAgIHByb3BlcnRp
ZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1z
dHlsZS1wcm9wZXJ0aWVzLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udGVudFRvQ1NTVmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6Y291bnRlclRvQ1NTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAg
KiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0
aXZlVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5oOgor
CiAyMDExLTAyLTIyICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAkocmV2aXNpb24gNzkzNDApCisr
KyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjUsNiArMjUsOCBAQAogI2luY2x1ZGUgIkNTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5oIgogCiAjaW5jbHVkZSAiQW5pbWF0aW9uQ29udHJvbGxlci5oIgorI2luY2x1
ZGUgIkNvbnRlbnREYXRhLmgiCisjaW5jbHVkZSAiQ291bnRlckNvbnRlbnQuaCIKICNpbmNsdWRl
ICJDdXJzb3JMaXN0LmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1
ZGUgIkNTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmgiCkBAIC03MjUsNiArNzI3LDM2IEBAIHN0
YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiBmaWxsU2l6ZVRvQ1MKICAgICByZXR1cm4gbGlzdC5y
ZWxlYXNlKCk7CiB9CiAKK3N0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjb250ZW50VG9DU1NW
YWx1ZShjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUpCit7CisgICAgUmVmUHRyPENTU1ZhbHVlTGlz
dD4gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKKyAgICBmb3Ig
KGNvbnN0IENvbnRlbnREYXRhKiBjb250ZW50RGF0YSA9IHN0eWxlLT5jb250ZW50RGF0YSgpOyBj
b250ZW50RGF0YTsgY29udGVudERhdGEgPSBjb250ZW50RGF0YS0+bmV4dCgpKSB7CisgICAgICAg
IGlmIChjb250ZW50RGF0YS0+aXNDb3VudGVyKCkpIHsKKyAgICAgICAgICAgIGNvbnN0IENvdW50
ZXJDb250ZW50KiBjb3VudGVyID0gY29udGVudERhdGEtPmNvdW50ZXIoKTsKKyAgICAgICAgICAg
IEFTU0VSVChjb3VudGVyKTsKKyAgICAgICAgICAgIGxpc3QtPmFwcGVuZChDU1NQcmltaXRpdmVW
YWx1ZTo6Y3JlYXRlKGNvdW50ZXItPmlkZW50aWZpZXIoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19DT1VOVEVSX05BTUUpKTsKKyAgICAgICAgfSBlbHNlIGlmIChjb250ZW50RGF0YS0+aXNJbWFn
ZSgpKSB7CisgICAgICAgICAgICBjb25zdCBTdHlsZUltYWdlKiBpbWFnZSA9IGNvbnRlbnREYXRh
LT5pbWFnZSgpOworICAgICAgICAgICAgQVNTRVJUKGltYWdlKTsKKyAgICAgICAgICAgIGxpc3Qt
PmFwcGVuZChpbWFnZS0+Y3NzVmFsdWUoKSk7CisgICAgICAgIH0gZWxzZSBpZiAoY29udGVudERh
dGEtPmlzVGV4dCgpKQorICAgICAgICAgICAgbGlzdC0+YXBwZW5kKENTU1ByaW1pdGl2ZVZhbHVl
OjpjcmVhdGUoY29udGVudERhdGEtPnRleHQoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJ
TkcpKTsKKyAgICB9CisgICAgcmV0dXJuIGxpc3QucmVsZWFzZSgpOworfQorCitzdGF0aWMgUGFz
c1JlZlB0cjxDU1NWYWx1ZT4gY291bnRlclRvQ1NTVmFsdWUoY29uc3QgUmVuZGVyU3R5bGUqIHN0
eWxlLCBpbnQgcHJvcGVydHlJRCkKK3sKKyAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBsaXN0ID0g
Q1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworICAgIGNvbnN0IENvdW50ZXJE
aXJlY3RpdmVNYXAqIG1hcCA9IHN0eWxlLT5jb3VudGVyRGlyZWN0aXZlcygpOworICAgIGZvciAo
Q291bnRlckRpcmVjdGl2ZU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtYXAtPmJlZ2luKCk7IGl0
ICE9IG1hcC0+ZW5kKCk7ICsraXQpIHsKKyAgICAgICAgbGlzdC0+YXBwZW5kKENTU1ByaW1pdGl2
ZVZhbHVlOjpjcmVhdGUoaXQtPmZpcnN0LmdldCgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NU
UklORykpOworICAgICAgICBzaG9ydCBudW1iZXIgPSBwcm9wZXJ0eUlEID09IENTU1Byb3BlcnR5
Q291bnRlckluY3JlbWVudCA/IGl0LT5zZWNvbmQubV9pbmNyZW1lbnRWYWx1ZSA6IGl0LT5zZWNv
bmQubV9yZXNldFZhbHVlOworICAgICAgICBsaXN0LT5hcHBlbmQoQ1NTUHJpbWl0aXZlVmFsdWU6
OmNyZWF0ZSgoZG91YmxlKW51bWJlciwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpKTsK
KyAgICB9CisgICAgcmV0dXJuIGxpc3QucmVsZWFzZSgpOworfQorCiBzdGF0aWMgdm9pZCBsb2dV
bmltcGxlbWVudGVkUHJvcGVydHlJRChpbnQgcHJvcGVydHlJRCkKIHsKICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEhhc2hTZXQ8aW50PiwgcHJvcGVydHlJRFNldCwgKCkpOwpAQCAtMTE4MCw2ICsx
MjEyLDggQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlYwogICAgICAg
ICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPm9ycGhhbnMoKSwg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5
T3V0bGluZUNvbG9yOgogICAgICAgICAgICAgcmV0dXJuIG1fYWxsb3dWaXNpdGVkU3R5bGUgPyBD
U1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlQ29sb3Ioc3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xv
cihDU1NQcm9wZXJ0eU91dGxpbmVDb2xvcikucmdiKCkpIDogY3VycmVudENvbG9yT3JWYWxpZENv
bG9yKHN0eWxlLmdldCgpLCBzdHlsZS0+b3V0bGluZUNvbG9yKCkpOworICAgICAgICBjYXNlIENT
U1Byb3BlcnR5T3V0bGluZU9mZnNldDoKKyAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQ
aXhlbFZhbHVlKHN0eWxlLT5vdXRsaW5lT2Zmc2V0KCksIHN0eWxlLmdldCgpKTsKICAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eU91dGxpbmVTdHlsZToKICAgICAgICAgICAgIGlmIChzdHlsZS0+b3V0
bGluZVN0eWxlSXNBdXRvKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZh
bHVlOjpjcmVhdGVJZGVudGlmaWVyKENTU1ZhbHVlQXV0byk7CkBAIC0xNTc2LDYgKzE2MTAsMTMg
QEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlYwogICAgICAgICAgICAg
cmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoc3R5bGUtPndyaXRpbmdNb2RlKCkpOwog
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dENvbWJpbmU6CiAgICAgICAgICAgICBy
ZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzdHlsZS0+dGV4dENvbWJpbmUoKSk7CisK
KyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbnRlbnQ6CisgICAgICAgICAgICByZXR1cm4gY29u
dGVudFRvQ1NTVmFsdWUoc3R5bGUuZ2V0KCkpOworICAgICAgICBjYXNlIENTU1Byb3BlcnR5Q291
bnRlckluY3JlbWVudDoKKyAgICAgICAgICAgIHJldHVybiBjb3VudGVyVG9DU1NWYWx1ZShzdHls
ZS5nZXQoKSwgcHJvcGVydHlJRCk7CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlDb3VudGVyUmVz
ZXQ6CisgICAgICAgICAgICByZXR1cm4gY291bnRlclRvQ1NTVmFsdWUoc3R5bGUuZ2V0KCksIHBy
b3BlcnR5SUQpOwogICAgICAgICAKICAgICAgICAgLyogU2hvcnRoYW5kIHByb3BlcnRpZXMsIGN1
cnJlbnRseSBub3Qgc3VwcG9ydGVkIHNlZSBidWcgMTM2NTgqLwogICAgICAgICBjYXNlIENTU1By
b3BlcnR5QmFja2dyb3VuZDoKQEAgLTE1OTEsOSArMTYzMiwxNSBAQCBQYXNzUmVmUHRyPENTU1Zh
bHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlGb250Ogog
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5TGlzdFN0eWxlOgogICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5TWFyZ2luOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZToKICAgICAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVBhZGRpbmc6CiAgICAgICAgICAgICBicmVhazsKIAorICAgICAgICAvKiBJ
bmRpdmlkdWFsIHByb3BlcnRpZXMgbm90IHBhcnQgb2YgdGhlIHNwZWMgKi8KKyAgICAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRSZXBlYXRYOgorICAgICAgICBjYXNlIENTU1Byb3BlcnR5
QmFja2dyb3VuZFJlcGVhdFk6CisgICAgICAgICAgICBicmVhazsKKwogICAgICAgICAvKiBVbmlt
cGxlbWVudGVkIENTUyAzIHByb3BlcnRpZXMgKGluY2x1ZGluZyBDU1MzIHNob3J0aGFuZCBwcm9w
ZXJ0aWVzKSAqLwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dEVtcGhhc2lzOgog
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dExpbmVUaHJvdWdoOgpAQCAtMTY1NCwxMyArMTcw
MSw2IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWMKICAgICAgICAg
ICAgIGJyZWFrOwogCiAgICAgICAgIC8qIE90aGVyIHVuaW1wbGVtZW50ZWQgcHJvcGVydGllcyAq
LwotICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZFJlcGVhdFg6Ci0gICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUmVwZWF0WToKLSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eUNvbnRlbnQ6IC8vIEZJWE1FOiBuZWVkcyBpbXBsZW1lbnRhdGlvbiwgYnVnIDIzNjY4Ci0gICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlDb3VudGVySW5jcmVtZW50OgotICAgICAgICBjYXNlIENTU1By
b3BlcnR5Q291bnRlclJlc2V0OgotICAgICAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZTogLy8g
RklYTUU6IG5lZWRzIGltcGxlbWVudGF0aW9uCi0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlPdXRs
aW5lT2Zmc2V0OiAvLyBGSVhNRTogbmVlZHMgaW1wbGVtZW50YXRpb24KICAgICAgICAgY2FzZSBD
U1NQcm9wZXJ0eVBhZ2U6IC8vIGZvciBAcGFnZQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5UXVv
dGVzOiAvLyBGSVhNRTogbmVlZHMgaW1wbGVtZW50YXRpb24KICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVNpemU6IC8vIGZvciBAcGFnZQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0
aXZlVmFsdWUuY3BwCShyZXZpc2lvbiA3OTM0MCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cmltaXRpdmVWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgwOSw2ICs4MDksMTEgQEAgU3Ry
aW5nIENTU1ByaW1pdGl2ZVZhbHVlOjpjc3NUZXh0KCkgY29ucwogICAgICAgICAgICAgdGV4dCA9
IFN0cmluZzo6YWRvcHQocmVzdWx0KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Cisg
ICAgICAgIGNhc2UgQ1NTX0NPVU5URVJfTkFNRToKKyAgICAgICAgICAgIHRleHQgPSAiY291bnRl
cigiOworICAgICAgICAgICAgdGV4dCArPSBtX3ZhbHVlLnN0cmluZzsKKyAgICAgICAgICAgIHRl
eHQgKz0gIikiOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTX0NPVU5URVI6
CiAgICAgICAgICAgICB0ZXh0ID0gImNvdW50ZXIoIjsKICAgICAgICAgICAgIHRleHQgKz0gU3Ry
aW5nOjpudW1iZXIobV92YWx1ZS5udW0pOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
aW1pdGl2ZVZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlLmgJKHJldmlzaW9uIDc5MzQwKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
aW1pdGl2ZVZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTkwLDcgKzkwLDEwIEBAIHB1YmxpYzoK
ICAgICAgICAgCiAgICAgICAgIC8vIFRoZXNlIGFyZSBmcm9tIENTUzMgVmFsdWVzIGFuZCBVbml0
cywgYnV0IHRoYXQgaXNuJ3QgYSBmaW5pc2hlZCBzdGFuZGFyZCB5ZXQKICAgICAgICAgQ1NTX1RV
Uk4gPSAxMDcsCi0gICAgICAgIENTU19SRU1TID0gMTA4CisgICAgICAgIENTU19SRU1TID0gMTA4
LAorCisgICAgICAgIC8vIFRoaXMgaXMgdXNlZCBpbnRlcm5hbGx5IGZvciBjb3VudGVyIG5hbWVz
IChhcyBvcHBvc2VkIHRvIGNvdW50ZXIgdmFsdWVzKQorICAgICAgICBDU1NfQ09VTlRFUl9OQU1F
ID0gMTA5CiAgICAgfTsKICAgICAKICAgICAvLyBUaGlzIGVudW0gZm9sbG93cyB0aGUgQ1NTUGFy
c2VyOjpVbml0cyBlbnVtIGF1Z21lbnRlZCB3aXRoIFVOSVRfRlJFUVVFTkNZIGZvciBmcmVxdWVu
Y2llcy4KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDc5NDYxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDItMjMgIEVtaWwgQSBFa2x1
bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBtaXNzaW5nIHByb3BlcnRpZXMgdG8gZ2V0
Q29tcHV0ZWRTdHlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM2NjgKKworICAgICAgICBUZXN0IGdldENvbXB1dGVkU3R5bGUgZm9yIHRoZSBjb250
ZW50LCBjb3VudGVyIGFuZCBvdXRsaW5lLW9mZnNldAorICAgICAgICBwcm9wZXJ0aWVzLgorCisg
ICAgICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1wcm9wZXJ0
aWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRT
dHlsZS9jb21wdXRlZC1zdHlsZS1wcm9wZXJ0aWVzLmh0bWw6IEFkZGVkLgorCiAyMDExLTAyLTIz
ICBIYW5zIFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgSmVyZW15IE9ybG93LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRT
dHlsZS9jb21wdXRlZC1zdHlsZS1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXBy
b3BlcnRpZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNCBAQAorb3V0bGluZQorY29udGVudAorY291bnRl
cgorSGVhZGluZyBBCisKK1N1YmhlYWRpbmcgQQorCitTdWJoZWFkaW5nIEIKKworSGVhZGluZyBC
CisKK1BBU1MgY29tcHV0ZWRTdHlsZUZvcignb3V0bGluZScsIG51bGwsICdvdXRsaW5lLW9mZnNl
dCcpIGlzICc1cHgnCitQQVNTIGNvbXB1dGVkU3R5bGVGb3IoJ2NvbnRlbnQnLCAnYmVmb3JlJywg
J2NvbnRlbnQnKSBpcyAndGV4dCcKK1BBU1MgY29tcHV0ZWRTdHlsZUZvcignY29udGVudCcsICdh
ZnRlcicsICdjb250ZW50JykgaXMgIid0ZXN0ICcgdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxS
MGxHT0RsaEFRQUJBSkFBQVA4QUFBQUFBQ3dBQUFBQUFRQUJBQUFDQWdRQkFEcz0pIgorUEFTUyBj
b21wdXRlZFN0eWxlRm9yKCdjb3VudGVyJywgbnVsbCwgJ2NvdW50ZXItcmVzZXQnKSBpcyAnc2Vj
dGlvbiAwJworUEFTUyBzdHIuaW5kZXhPZignc3Vic2VjdGlvbiAwJykgIT0gLTEgaXMgdHJ1ZQor
UEFTUyBzdHIuaW5kZXhPZignYW5vdGhlcmNvdW50ZXIgNScpICE9IC0xIGlzIHRydWUKK1BBU1Mg
Y29tcHV0ZWRTdHlsZUZvcignY291bnRlcjEnLCAnYmVmb3JlJywgJ2NvdW50ZXItaW5jcmVtZW50
JykgaXMgJ3NlY3Rpb24gMScKK1BBU1MgY29tcHV0ZWRTdHlsZUZvcignc3ViY291bnRlcjInLCAn
YmVmb3JlJywgJ2NvdW50ZXItaW5jcmVtZW50JykgaXMgJ3N1YnNlY3Rpb24gMScKK1BBU1MgY29t
cHV0ZWRTdHlsZUZvcignc3ViY291bnRlcjInLCAnYmVmb3JlJywgJ2NvbnRlbnQnKSBpcyAiY291
bnRlcihzZWN0aW9uKSAnLicgY291bnRlcihzdWJzZWN0aW9uKSAnLiAnIgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtcHJvcGVydGllcy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29t
cHV0ZWQtc3R5bGUtcHJvcGVydGllcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1wcm9wZXJ0aWVzLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPHN0eWxlPgorI3Rlc3QgeworICB3aWR0aDogNDAwcHg7CisgIG1hcmdpbjogMTBw
eDsKK30KKyN0ZXN0ID4gZGl2IHsKKyAgbWFyZ2luOiAxZXg7Cit9Cisjb3V0bGluZSB7CisgICAg
b3V0bGluZTogMnB4IHNvbGlkIHJlZDsKKyAgICBvdXRsaW5lLW9mZnNldDogNXB4OworfQorI2Nv
bnRlbnQ6YmVmb3JlIHsKKyAgICBjb250ZW50OiAndGV4dCc7Cit9CisjY29udGVudDphZnRlciB7
CisgIGNvbnRlbnQ6ICd0ZXN0ICcgdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFR
QUJBSkFBQVA4QUFBQUFBQ3dBQUFBQUFRQUJBQUFDQWdRQkFEcz0pOworfQorI2NvdW50ZXIgewor
ICAgIGNvdW50ZXItcmVzZXQ6IHNlY3Rpb247Cit9CisjY291bnRlciA+IGRpdiB7CisgICAgY291
bnRlci1yZXNldDogc3Vic2VjdGlvbiAwIGFub3RoZXJjb3VudGVyIDU7Cit9CisjY291bnRlciA+
IGgxOmJlZm9yZSB7CisgICAgY291bnRlci1pbmNyZW1lbnQ6IHNlY3Rpb247CisgICAgY29udGVu
dDogY291bnRlcihzZWN0aW9uKSAnLiAnOworfQorI2NvdW50ZXIgPiBkaXYgPiBoMjpiZWZvcmUg
eworICAgIGNvdW50ZXItaW5jcmVtZW50OiBzdWJzZWN0aW9uOworICAgIGNvbnRlbnQ6IGNvdW50
ZXIoc2VjdGlvbikgJy4nIGNvdW50ZXIoc3Vic2VjdGlvbikgJy4gJzsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9InRlc3QiPgorICAgIDxkaXYgaWQ9Im91dGxpbmUiPm91
dGxpbmU8L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb250ZW50Ij5jb250ZW50PC9kaXY+CisgICAgPGRp
diBpZD0iY291bnRlciI+CisgICAgICAgIGNvdW50ZXIKKyAgICAgICAgPGgxIGlkPSJjb3VudGVy
MSI+SGVhZGluZyBBPC9oMT4KKyAgICAgICAgPGRpdiBpZD0ic3ViY291bnRlciI+CisgICAgICAg
ICAgICA8aDIgaWQ9InN1YmNvdW50ZXIxIj5TdWJoZWFkaW5nIEE8L2gyPgorICAgICAgICAgICAg
PGgyIGlkPSJzdWJjb3VudGVyMiI+U3ViaGVhZGluZyBCPC9oMj4KKyAgICAgICAgPC9kaXY+Cisg
ICAgICAgIDxoMT5IZWFkaW5nIEI8L2gxPgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKyAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CisgIAorZnVuY3Rp
b24gY29tcHV0ZWRTdHlsZUZvcihpZCwgcHNldWRvLCBwcm9wZXJ0eSkKK3sKKyAgICB2YXIgZWxl
bWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICB2YXIgc3R5bGUgPSB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCBwc2V1ZG8pOworICAgIGlmICghc3R5bGUpCisg
ICAgICAgIHJldHVybiBudWxsOworICAgIHJldHVybiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKHBy
b3BlcnR5KTsKK30KKworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGVGb3IoJ291dGxpbmUnLCBudWxs
LCAnb3V0bGluZS1vZmZzZXQnKSIsICInNXB4JyIpOworCitzaG91bGRCZSgiY29tcHV0ZWRTdHls
ZUZvcignY29udGVudCcsICdiZWZvcmUnLCAnY29udGVudCcpIiwgIid0ZXh0JyIpOworc2hvdWxk
QmUoImNvbXB1dGVkU3R5bGVGb3IoJ2NvbnRlbnQnLCAnYWZ0ZXInLCAnY29udGVudCcpIiwgJyJc
J3Rlc3QgXCcgdXJsKGRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSkFBQVA4QUFB
QUFBQ3dBQUFBQUFRQUJBQUFDQWdRQkFEcz0pIicpOworc2hvdWxkQmUoImNvbXB1dGVkU3R5bGVG
b3IoJ2NvdW50ZXInLCBudWxsLCAnY291bnRlci1yZXNldCcpIiwgIidzZWN0aW9uIDAnIik7Cit2
YXIgc3RyID0gY29tcHV0ZWRTdHlsZUZvcignc3ViY291bnRlcicsIG51bGwsICdjb3VudGVyLXJl
c2V0Jyk7CitzaG91bGRCZSgic3RyLmluZGV4T2YoJ3N1YnNlY3Rpb24gMCcpICE9IC0xIiwgInRy
dWUiKTsKK3Nob3VsZEJlKCJzdHIuaW5kZXhPZignYW5vdGhlcmNvdW50ZXIgNScpICE9IC0xIiwg
InRydWUiKTsKK3Nob3VsZEJlKCJjb21wdXRlZFN0eWxlRm9yKCdjb3VudGVyMScsICdiZWZvcmUn
LCAnY291bnRlci1pbmNyZW1lbnQnKSIsICInc2VjdGlvbiAxJyIpOworc2hvdWxkQmUoImNvbXB1
dGVkU3R5bGVGb3IoJ3N1YmNvdW50ZXIyJywgJ2JlZm9yZScsICdjb3VudGVyLWluY3JlbWVudCcp
IiwgIidzdWJzZWN0aW9uIDEnIik7CitzaG91bGRCZSgiY29tcHV0ZWRTdHlsZUZvcignc3ViY291
bnRlcjInLCAnYmVmb3JlJywgJ2NvbnRlbnQnKSIsICciY291bnRlcihzZWN0aW9uKSBcJy5cJyBj
b3VudGVyKHN1YnNlY3Rpb24pIFwnLiBcJyInKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>