<?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>57922</bug_id>
          
          <creation_ts>2011-04-05 22:55:13 -0700</creation_ts>
          <short_desc>Implement Background and Mask based properties in CSSStyleApplyProperty</short_desc>
          <delta_ts>2011-04-07 20:41:52 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>0</everconfirmed>
          <reporter name="Luke Macpherson">macpherson</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>380135</commentid>
    <comment_count>0</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-04-05 22:55:13 -0700</bug_when>
    <thetext>Implement CSSPropertyColor, CSSPropertFillLayer based properties in CSSStyleApplyProperty</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380148</commentid>
    <comment_count>1</comment_count>
      <attachid>88372</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-04-05 23:08:39 -0700</bug_when>
    <thetext>Created attachment 88372
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380279</commentid>
    <comment_count>2</comment_count>
      <attachid>88372</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-06 05:32:15 -0700</bug_when>
    <thetext>Comment on attachment 88372
Patch

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

This seems sane.  Are you sure we can&apos;t delete the macros?  It&apos;s feels awkward having two (possibly divergent) ways to do this same thing.

&gt; Source/WebCore/css/CSSStyleApplyProperty.cpp:226
&gt; +            (selector-&gt;*m_mapFill)(m_propertyId, currChild, value);

I find this calling convention very ugly.  We may want to write wrappers which take a &quot;selector&quot; argument and know how to do the -&gt;*m_mapfill call.  Or maybe I&apos;ll just get used to the convention.

&gt; Source/WebCore/css/CSSStyleApplyProperty.cpp:275
&gt; +    setPropertyValue(CSSPropertyWebkitBackgroundSize, CSSPropertyBackgroundSize);

Seems we may eventually rename this to &quot;setValueApplier?&quot; or similar.  setPropertyValue makes it sound like we&apos;re some css property on an element.

&gt; Source/WebCore/css/CSSStyleSelector.cpp:-3655
&gt; -        HANDLE_BACKGROUND_VALUE(clip, Clip, value)

Can we delete these macros now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380429</commentid>
    <comment_count>3</comment_count>
      <attachid>88372</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-06 08:56:54 -0700</bug_when>
    <thetext>Comment on attachment 88372
Patch

ok, but please listen to and consider following up on Eric&apos;s suggestions. His sense of code smell is usually very good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381837</commentid>
    <comment_count>4</comment_count>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-04-07 16:38:54 -0700</bug_when>
    <thetext>(In reply to comment #2)

Thanks Eric. I pretty much agree with you on all points.

&gt; (From update of attachment 88372 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=88372&amp;action=review
&gt; 
&gt; This seems sane.  Are you sure we can&apos;t delete the macros?  It&apos;s feels awkward having two (possibly divergent) ways to do this same thing.

Almost there, just a few properties left to remove before this can happen.

&gt; &gt; Source/WebCore/css/CSSStyleApplyProperty.cpp:226
&gt; &gt; +            (selector-&gt;*m_mapFill)(m_propertyId, currChild, value);
&gt; 
&gt; I find this calling convention very ugly.  We may want to write wrappers which take a &quot;selector&quot; argument and know how to do the -&gt;*m_mapfill call.  Or maybe I&apos;ll just get used to the convention.

I think CSSStyleSelector::mapFill* should be moved into CSSStyleApplyProperty, but I haven&apos;t been brave enough to do that refactoring yet. These look like they need re-writing anyway as there appears to be a lot of common code between them. I&apos;ll file a bug for future cleanup.

&gt; &gt; Source/WebCore/css/CSSStyleApplyProperty.cpp:275
&gt; &gt; +    setPropertyValue(CSSPropertyWebkitBackgroundSize, CSSPropertyBackgroundSize);
&gt; 
&gt; Seems we may eventually rename this to &quot;setValueApplier?&quot; or similar.  setPropertyValue makes it sound like we&apos;re some css property on an element.

Agreed. Will do.

&gt; &gt; Source/WebCore/css/CSSStyleSelector.cpp:-3655
&gt; &gt; -        HANDLE_BACKGROUND_VALUE(clip, Clip, value)
&gt; 
&gt; Can we delete these macros now?

Not quite yet, but soon - there are some expanding properties that need to move from CSSStyleSelector to CSSStyleApplyProperty before we can do that. I plan to do it shortly but in the interests of making small incremental changes left it out of this CL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381941</commentid>
    <comment_count>5</comment_count>
      <attachid>88372</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-07 19:33:41 -0700</bug_when>
    <thetext>Comment on attachment 88372
Patch

Clearing flags on attachment: 88372

Committed r83241: &lt;http://trac.webkit.org/changeset/83241&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381942</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-07 19:33:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381956</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-07 20:12:23 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/83241 might have broken Qt Linux Release minimal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381963</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-07 20:41:52 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 88372:

fast/history/history-subframe-with-name.html bug 51039 (author: mihaip@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88372</attachid>
            <date>2011-04-05 23:08:39 -0700</date>
            <delta_ts>2011-04-07 19:33:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57922-20110406160836.patch</filename>
            <type>text/plain</type>
            <size>15199</size>
            <attacher name="Luke Macpherson">macpherson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzMDE4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzggQEAKKzIwMTEtMDQtMDUgIEx1a2UgTWFj
cGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgQmFja2dyb3VuIGFuZCBNYXNr
IHByb3BlcnRpZXMgaW4gQ1NTU3R5bGVBcHBseVByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzkyMgorCisgICAgICAgIE5vIHRlc3RzIGFk
ZGVkIGFzIG5vIGJlaGF2aW9yYWwgY2hhbmdlcy4KKworICAgICAgICAqIGNzcy9DU1NTdHlsZUFw
cGx5UHJvcGVydHkuY3BwOgorICAgICAgICBBZGRlZCBBcHBseVByb3BlcnR5RmlsbExheWVyIHRl
c3QgdG8gaGFuZGxlIEJhY2tncm91bmQgYW5kIE1hc2sgQ1NTIFByb3BlcnRpZXMuCisgICAgICAg
IChXZWJDb3JlOjpDU1NTdHlsZUFwcGx5UHJvcGVydHk6OkNTU1N0eWxlQXBwbHlQcm9wZXJ0eSk6
CisgICAgICAgIEFkZGVkIGNvbnN0cnVjdG9yIGNhbGxzIHRvIHNldCB1cDoKKyAgICAgICAgICBD
U1NQcm9wZXJ0eUJhY2tncm91bmRBdHRhY2htZW50CisgICAgICAgICAgQ1NTUHJvcGVydHlCYWNr
Z3JvdW5kQ2xpcAorICAgICAgICAgIENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3VuZENsaXAKKyAg
ICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDb21wb3NpdGUKKyAgICAgICAgICBD
U1NQcm9wZXJ0eUJhY2tncm91bmRPcmlnaW4KKyAgICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdEJh
Y2tncm91bmRPcmlnaW4KKyAgICAgICAgICBDU1NQcm9wZXJ0eUJhY2tncm91bmRTaXplCisgICAg
ICAgICAgQ1NTUHJvcGVydHlXZWJraXRCYWNrZ3JvdW5kU2l6ZQorICAgICAgICAgIENTU1Byb3Bl
cnR5V2Via2l0TWFza0F0dGFjaG1lbnQKKyAgICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tD
bGlwCisgICAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXNrQ29tcG9zaXRlCisgICAgICAgICAg
Q1NTUHJvcGVydHlXZWJraXRNYXNrT3JpZ2luCisgICAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRN
YXNrU2l6ZQorICAgICAgICAqIGNzcy9DU1NTdHlsZUFwcGx5UHJvcGVydHkuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1N0eWxlQXBwbHlQcm9wZXJ0eTo6c2V0UHJvcGVydHlWYWx1ZSk6CisgICAg
ICAgIEFkZCBmdW5jdGlvbiB0byBzcGVjaWZ5IGFuIGVxdWl2YWxlbnQgcHJvcGVydHkgdmFsdWUg
aW4gdGhlIGxvb2t1cCB0YWJsZS4KKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKKyAg
ICAgICAgUmVtb3ZlIHNlY3Rpb25zIG5vdyBpbXBsZW1lbnRlZCBieSBDU1NTdHlsZUFwcGx5UHJv
cGVydHkuCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKKyAgICAgICAgTWFrZSBD
U1NTdHlsZUFwcGx5UHJvcGVydHkgYSBmcmllbmQgY2xhc3Mgc28gdGhhdCB0aGUgbWFwRmlsbCog
ZnVuY3Rpb25zIGFyZSBhY2Nlc3NpYmxlLgorCiAyMDExLTA0LTA1ICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJ
bmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAJKHJl
dmlzaW9uIDgyOTkzKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0
eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MywxMyArMTUzLDEwNSBAQCBwdWJsaWM6CiAgICAg
fQogfTsKIAordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitjbGFzcyBBcHBseVByb3BlcnR5RmlsbExh
eWVyIDogcHVibGljIEFwcGx5UHJvcGVydHlCYXNlIHsKK3B1YmxpYzoKKyAgICBBcHBseVByb3Bl
cnR5RmlsbExheWVyKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJZCwgRUZpbGxMYXllclR5cGUgZmls
bExheWVyVHlwZSwgRmlsbExheWVyKiAoUmVuZGVyU3R5bGU6OiphY2Nlc3NMYXllcnMpKCksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBGaWxsTGF5ZXIqIChSZW5kZXJTdHlsZTo6
KmxheWVycykoKSBjb25zdCwgYm9vbCAoRmlsbExheWVyOjoqdGVzdCkoKSBjb25zdCwgVCAoRmls
bExheWVyOjoqZ2V0KSgpIGNvbnN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAo
RmlsbExheWVyOjoqc2V0KShUKSwgdm9pZCAoRmlsbExheWVyOjoqY2xlYXIpKCksIFQgKCppbml0
aWFsKShFRmlsbExheWVyVHlwZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkIChD
U1NTdHlsZVNlbGVjdG9yOjoqbWFwRmlsbCkoQ1NTUHJvcGVydHlJRCwgRmlsbExheWVyKiwgQ1NT
VmFsdWUqKSkKKyAgICAgICAgOiBtX3Byb3BlcnR5SWQocHJvcGVydHlJZCkKKyAgICAgICAgLCBt
X2ZpbGxMYXllclR5cGUoZmlsbExheWVyVHlwZSkKKyAgICAgICAgLCBtX2FjY2Vzc0xheWVycyhh
Y2Nlc3NMYXllcnMpCisgICAgICAgICwgbV9sYXllcnMobGF5ZXJzKQorICAgICAgICAsIG1fdGVz
dCh0ZXN0KQorICAgICAgICAsIG1fZ2V0KGdldCkKKyAgICAgICAgLCBtX3NldChzZXQpCisgICAg
ICAgICwgbV9jbGVhcihjbGVhcikKKyAgICAgICAgLCBtX2luaXRpYWwoaW5pdGlhbCkKKyAgICAg
ICAgLCBtX21hcEZpbGwobWFwRmlsbCkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lk
IGluaGVyaXQoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0b3IpIGNvbnN0CisgICAgeworICAgICAg
ICBGaWxsTGF5ZXIqIGN1cnJDaGlsZCA9IChzZWxlY3Rvci0+c3R5bGUoKS0+Km1fYWNjZXNzTGF5
ZXJzKSgpOworICAgICAgICBGaWxsTGF5ZXIqIHByZXZDaGlsZCA9IDA7CisgICAgICAgIGNvbnN0
IEZpbGxMYXllciogY3VyclBhcmVudCA9IChzZWxlY3Rvci0+cGFyZW50U3R5bGUoKS0+Km1fbGF5
ZXJzKSgpOworICAgICAgICB3aGlsZSAoY3VyclBhcmVudCAmJiAoY3VyclBhcmVudC0+Km1fdGVz
dCkoKSkgeworICAgICAgICAgICAgaWYgKCFjdXJyQ2hpbGQpIHsKKyAgICAgICAgICAgICAgICAv
KiBOZWVkIHRvIG1ha2UgYSBuZXcgbGF5ZXIuKi8KKyAgICAgICAgICAgICAgICBjdXJyQ2hpbGQg
PSBuZXcgRmlsbExheWVyKG1fZmlsbExheWVyVHlwZSk7CisgICAgICAgICAgICAgICAgcHJldkNo
aWxkLT5zZXROZXh0KGN1cnJDaGlsZCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAoY3Vy
ckNoaWxkLT4qbV9zZXQpKChjdXJyUGFyZW50LT4qbV9nZXQpKCkpOworICAgICAgICAgICAgcHJl
dkNoaWxkID0gY3VyckNoaWxkOworICAgICAgICAgICAgY3VyckNoaWxkID0gcHJldkNoaWxkLT5u
ZXh0KCk7CisgICAgICAgICAgICBjdXJyUGFyZW50ID0gY3VyclBhcmVudC0+bmV4dCgpOworICAg
ICAgICB9CisKKyAgICAgICAgd2hpbGUgKGN1cnJDaGlsZCkgeworICAgICAgICAgICAgLyogUmVz
ZXQgYW55IHJlbWFpbmluZyBsYXllcnMgdG8gbm90IGhhdmUgdGhlIHByb3BlcnR5IHNldC4gKi8K
KyAgICAgICAgICAgIChjdXJyQ2hpbGQtPiptX2NsZWFyKSgpOworICAgICAgICAgICAgY3VyckNo
aWxkID0gY3VyckNoaWxkLT5uZXh0KCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2aXJ0dWFs
IHZvaWQgaW5pdGlhbChDU1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvcikgY29uc3QKKyAgICB7Cisg
ICAgICAgIEZpbGxMYXllciogY3VyckNoaWxkID0gKHNlbGVjdG9yLT5zdHlsZSgpLT4qbV9hY2Nl
c3NMYXllcnMpKCk7CisgICAgICAgIChjdXJyQ2hpbGQtPiptX3NldCkoKCptX2luaXRpYWwpKG1f
ZmlsbExheWVyVHlwZSkpOworICAgICAgICBmb3IgKGN1cnJDaGlsZCA9IGN1cnJDaGlsZC0+bmV4
dCgpOyBjdXJyQ2hpbGQ7IGN1cnJDaGlsZCA9IGN1cnJDaGlsZC0+bmV4dCgpKQorICAgICAgICAg
ICAgKGN1cnJDaGlsZC0+Km1fY2xlYXIpKCk7CisgICAgfQorCisgICAgdmlydHVhbCB2b2lkIHZh
bHVlKENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBDU1NWYWx1ZSogdmFsdWUpIGNvbnN0Cisg
ICAgeworICAgICAgICBGaWxsTGF5ZXIqIGN1cnJDaGlsZCA9IChzZWxlY3Rvci0+c3R5bGUoKS0+
Km1fYWNjZXNzTGF5ZXJzKSgpOworICAgICAgICBGaWxsTGF5ZXIqIHByZXZDaGlsZCA9IDA7Cisg
ICAgICAgIGlmICh2YWx1ZS0+aXNWYWx1ZUxpc3QoKSkgeworICAgICAgICAgICAgLyogV2FsayBl
YWNoIHZhbHVlIGFuZCBwdXQgaXQgaW50byBhIGxheWVyLCBjcmVhdGluZyBuZXcgbGF5ZXJzIGFz
IG5lZWRlZC4gKi8KKyAgICAgICAgICAgIENTU1ZhbHVlTGlzdCogdmFsdWVMaXN0ID0gc3RhdGlj
X2Nhc3Q8Q1NTVmFsdWVMaXN0Kj4odmFsdWUpOworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBp
bnQgaSA9IDA7IGkgPCB2YWx1ZUxpc3QtPmxlbmd0aCgpOyBpKyspIHsKKyAgICAgICAgICAgICAg
ICBpZiAoIWN1cnJDaGlsZCkgeworICAgICAgICAgICAgICAgICAgICAvKiBOZWVkIHRvIG1ha2Ug
YSBuZXcgbGF5ZXIgdG8gaG9sZCB0aGlzIHZhbHVlICovCisgICAgICAgICAgICAgICAgICAgIGN1
cnJDaGlsZCA9IG5ldyBGaWxsTGF5ZXIobV9maWxsTGF5ZXJUeXBlKTsKKyAgICAgICAgICAgICAg
ICAgICAgcHJldkNoaWxkLT5zZXROZXh0KGN1cnJDaGlsZCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIChzZWxlY3Rvci0+Km1fbWFwRmlsbCkobV9wcm9wZXJ0eUlkLCBjdXJy
Q2hpbGQsIHZhbHVlTGlzdC0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjayhpKSk7CisgICAgICAgICAg
ICAgICAgcHJldkNoaWxkID0gY3VyckNoaWxkOworICAgICAgICAgICAgICAgIGN1cnJDaGlsZCA9
IGN1cnJDaGlsZC0+bmV4dCgpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgKHNlbGVjdG9yLT4qbV9tYXBGaWxsKShtX3Byb3BlcnR5SWQsIGN1cnJDaGlsZCwg
dmFsdWUpOworICAgICAgICAgICAgY3VyckNoaWxkID0gY3VyckNoaWxkLT5uZXh0KCk7CisgICAg
ICAgIH0KKyAgICAgICAgd2hpbGUgKGN1cnJDaGlsZCkgeworICAgICAgICAgICAgLyogUmVzZXQg
YWxsIHJlbWFpbmluZyBsYXllcnMgdG8gbm90IGhhdmUgdGhlIHByb3BlcnR5IHNldC4gKi8KKyAg
ICAgICAgICAgIChjdXJyQ2hpbGQtPiptX2NsZWFyKSgpOworICAgICAgICAgICAgY3VyckNoaWxk
ID0gY3VyckNoaWxkLT5uZXh0KCk7CisgICAgICAgIH0KKyAgICB9CisKK3Byb3RlY3RlZDoKKyAg
ICBDU1NQcm9wZXJ0eUlEIG1fcHJvcGVydHlJZDsKKyAgICBFRmlsbExheWVyVHlwZSBtX2ZpbGxM
YXllclR5cGU7CisgICAgRmlsbExheWVyKiAoUmVuZGVyU3R5bGU6OiptX2FjY2Vzc0xheWVycyko
KTsKKyAgICBjb25zdCBGaWxsTGF5ZXIqIChSZW5kZXJTdHlsZTo6Km1fbGF5ZXJzKSgpIGNvbnN0
OworICAgIGJvb2wgKEZpbGxMYXllcjo6Km1fdGVzdCkoKSBjb25zdDsKKyAgICBUIChGaWxsTGF5
ZXI6OiptX2dldCkoKSBjb25zdDsKKyAgICB2b2lkIChGaWxsTGF5ZXI6OiptX3NldCkoVCk7Cisg
ICAgdm9pZCAoRmlsbExheWVyOjoqbV9jbGVhcikoKTsKKyAgICBUICgqbV9pbml0aWFsKShFRmls
bExheWVyVHlwZSk7CisgICAgdm9pZCAoQ1NTU3R5bGVTZWxlY3Rvcjo6Km1fbWFwRmlsbCkoQ1NT
UHJvcGVydHlJRCwgRmlsbExheWVyKiwgQ1NTVmFsdWUqKTsKK307CisKIGNvbnN0IENTU1N0eWxl
QXBwbHlQcm9wZXJ0eSYgQ1NTU3R5bGVBcHBseVByb3BlcnR5OjpzaGFyZWRDU1NTdHlsZUFwcGx5
UHJvcGVydHkoKQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ1NTU3R5bGVBcHBseVByb3Bl
cnR5LCBjc3NTdHlsZUFwcGx5UHJvcGVydHlJbnN0YW5jZSwgKCkpOwogICAgIHJldHVybiBjc3NT
dHlsZUFwcGx5UHJvcGVydHlJbnN0YW5jZTsKIH0KIAotCiBDU1NTdHlsZUFwcGx5UHJvcGVydHk6
OkNTU1N0eWxlQXBwbHlQcm9wZXJ0eSgpCiB7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1D
U1NQcm9wZXJ0aWVzOyArK2kpCkBAIC0xNjcsNiArMjU5LDMyIEBAIENTU1N0eWxlQXBwbHlQcm9w
ZXJ0eTo6Q1NTU3R5bGVBcHBseVByb3AKIAogICAgIHNldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVy
dHlDb2xvciwgbmV3IEFwcGx5UHJvcGVydHlDb2xvcigmUmVuZGVyU3R5bGU6OmNvbG9yLCAmUmVu
ZGVyU3R5bGU6OnNldENvbG9yLCBSZW5kZXJTdHlsZTo6aW5pdGlhbENvbG9yKSk7CiAgICAgc2V0
UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eURpcmVjdGlvbiwgbmV3IEFwcGx5UHJvcGVydHlEaXJl
Y3Rpb24oJlJlbmRlclN0eWxlOjpkaXJlY3Rpb24sICZSZW5kZXJTdHlsZTo6c2V0RGlyZWN0aW9u
LCBSZW5kZXJTdHlsZTo6aW5pdGlhbERpcmVjdGlvbikpOworCisgICAgc2V0UHJvcGVydHlWYWx1
ZShDU1NQcm9wZXJ0eUJhY2tncm91bmRBdHRhY2htZW50LCBuZXcgQXBwbHlQcm9wZXJ0eUZpbGxM
YXllcjxFRmlsbEF0dGFjaG1lbnQ+KENTU1Byb3BlcnR5QmFja2dyb3VuZEF0dGFjaG1lbnQsIEJh
Y2tncm91bmRGaWxsTGF5ZXIsICZSZW5kZXJTdHlsZTo6YWNjZXNzQmFja2dyb3VuZExheWVycywg
JlJlbmRlclN0eWxlOjpiYWNrZ3JvdW5kTGF5ZXJzLAorICAgICAgICAgICAgJkZpbGxMYXllcjo6
aXNBdHRhY2htZW50U2V0LCAmRmlsbExheWVyOjphdHRhY2htZW50LCAmRmlsbExheWVyOjpzZXRB
dHRhY2htZW50LCAmRmlsbExheWVyOjpjbGVhckF0dGFjaG1lbnQsICZGaWxsTGF5ZXI6OmluaXRp
YWxGaWxsQXR0YWNobWVudCwgJkNTU1N0eWxlU2VsZWN0b3I6Om1hcEZpbGxBdHRhY2htZW50KSk7
CisgICAgc2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eUJhY2tncm91bmRDbGlwLCBuZXcgQXBw
bHlQcm9wZXJ0eUZpbGxMYXllcjxFRmlsbEJveD4oQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ2xpcCwg
QmFja2dyb3VuZEZpbGxMYXllciwgJlJlbmRlclN0eWxlOjphY2Nlc3NCYWNrZ3JvdW5kTGF5ZXJz
LCAmUmVuZGVyU3R5bGU6OmJhY2tncm91bmRMYXllcnMsCisgICAgICAgICAgICAmRmlsbExheWVy
Ojppc0NsaXBTZXQsICZGaWxsTGF5ZXI6OmNsaXAsICZGaWxsTGF5ZXI6OnNldENsaXAsICZGaWxs
TGF5ZXI6OmNsZWFyQ2xpcCwgJkZpbGxMYXllcjo6aW5pdGlhbEZpbGxDbGlwLCAmQ1NTU3R5bGVT
ZWxlY3Rvcjo6bWFwRmlsbENsaXApKTsKKyAgICBzZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5
V2Via2l0QmFja2dyb3VuZENsaXAsIENTU1Byb3BlcnR5QmFja2dyb3VuZENsaXApOworICAgIHNl
dFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlXZWJraXRCYWNrZ3JvdW5kQ29tcG9zaXRlLCBuZXcg
QXBwbHlQcm9wZXJ0eUZpbGxMYXllcjxDb21wb3NpdGVPcGVyYXRvcj4oQ1NTUHJvcGVydHlXZWJr
aXRCYWNrZ3JvdW5kQ29tcG9zaXRlLCBCYWNrZ3JvdW5kRmlsbExheWVyLCAmUmVuZGVyU3R5bGU6
OmFjY2Vzc0JhY2tncm91bmRMYXllcnMsICZSZW5kZXJTdHlsZTo6YmFja2dyb3VuZExheWVycywK
KyAgICAgICAgICAgICZGaWxsTGF5ZXI6OmlzQ29tcG9zaXRlU2V0LCAmRmlsbExheWVyOjpjb21w
b3NpdGUsICZGaWxsTGF5ZXI6OnNldENvbXBvc2l0ZSwgJkZpbGxMYXllcjo6Y2xlYXJDb21wb3Np
dGUsICZGaWxsTGF5ZXI6OmluaXRpYWxGaWxsQ29tcG9zaXRlLCAmQ1NTU3R5bGVTZWxlY3Rvcjo6
bWFwRmlsbENvbXBvc2l0ZSkpOworICAgIHNldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlCYWNr
Z3JvdW5kT3JpZ2luLCBuZXcgQXBwbHlQcm9wZXJ0eUZpbGxMYXllcjxFRmlsbEJveD4oQ1NTUHJv
cGVydHlCYWNrZ3JvdW5kT3JpZ2luLCBCYWNrZ3JvdW5kRmlsbExheWVyLCAmUmVuZGVyU3R5bGU6
OmFjY2Vzc0JhY2tncm91bmRMYXllcnMsICZSZW5kZXJTdHlsZTo6YmFja2dyb3VuZExheWVycywK
KyAgICAgICAgICAgICZGaWxsTGF5ZXI6OmlzT3JpZ2luU2V0LCAmRmlsbExheWVyOjpvcmlnaW4s
ICZGaWxsTGF5ZXI6OnNldE9yaWdpbiwgJkZpbGxMYXllcjo6Y2xlYXJPcmlnaW4sICZGaWxsTGF5
ZXI6OmluaXRpYWxGaWxsT3JpZ2luLCAmQ1NTU3R5bGVTZWxlY3Rvcjo6bWFwRmlsbE9yaWdpbikp
OworICAgIHNldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlXZWJraXRCYWNrZ3JvdW5kT3JpZ2lu
LCBDU1NQcm9wZXJ0eUJhY2tncm91bmRPcmlnaW4pOworICAgIHNldFByb3BlcnR5VmFsdWUoQ1NT
UHJvcGVydHlCYWNrZ3JvdW5kU2l6ZSwgbmV3IEFwcGx5UHJvcGVydHlGaWxsTGF5ZXI8RmlsbFNp
emU+KENTU1Byb3BlcnR5QmFja2dyb3VuZFNpemUsIEJhY2tncm91bmRGaWxsTGF5ZXIsICZSZW5k
ZXJTdHlsZTo6YWNjZXNzQmFja2dyb3VuZExheWVycywgJlJlbmRlclN0eWxlOjpiYWNrZ3JvdW5k
TGF5ZXJzLAorICAgICAgICAgICAgJkZpbGxMYXllcjo6aXNTaXplU2V0LCAmRmlsbExheWVyOjpz
aXplLCAmRmlsbExheWVyOjpzZXRTaXplLCAmRmlsbExheWVyOjpjbGVhclNpemUsICZGaWxsTGF5
ZXI6OmluaXRpYWxGaWxsU2l6ZSwgJkNTU1N0eWxlU2VsZWN0b3I6Om1hcEZpbGxTaXplKSk7Cisg
ICAgc2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRTaXplLCBDU1NQ
cm9wZXJ0eUJhY2tncm91bmRTaXplKTsKKworICAgIHNldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVy
dHlXZWJraXRNYXNrQXR0YWNobWVudCwgbmV3IEFwcGx5UHJvcGVydHlGaWxsTGF5ZXI8RUZpbGxB
dHRhY2htZW50PihDU1NQcm9wZXJ0eVdlYmtpdE1hc2tBdHRhY2htZW50LCBNYXNrRmlsbExheWVy
LCAmUmVuZGVyU3R5bGU6OmFjY2Vzc01hc2tMYXllcnMsICZSZW5kZXJTdHlsZTo6bWFza0xheWVy
cywKKyAgICAgICAgICAgICZGaWxsTGF5ZXI6OmlzQXR0YWNobWVudFNldCwgJkZpbGxMYXllcjo6
YXR0YWNobWVudCwgJkZpbGxMYXllcjo6c2V0QXR0YWNobWVudCwgJkZpbGxMYXllcjo6Y2xlYXJB
dHRhY2htZW50LCAmRmlsbExheWVyOjppbml0aWFsRmlsbEF0dGFjaG1lbnQsICZDU1NTdHlsZVNl
bGVjdG9yOjptYXBGaWxsQXR0YWNobWVudCkpOworICAgIHNldFByb3BlcnR5VmFsdWUoQ1NTUHJv
cGVydHlXZWJraXRNYXNrQ2xpcCwgbmV3IEFwcGx5UHJvcGVydHlGaWxsTGF5ZXI8RUZpbGxCb3g+
KENTU1Byb3BlcnR5V2Via2l0TWFza0NsaXAsIE1hc2tGaWxsTGF5ZXIsICZSZW5kZXJTdHlsZTo6
YWNjZXNzTWFza0xheWVycywgJlJlbmRlclN0eWxlOjptYXNrTGF5ZXJzLAorICAgICAgICAgICAg
JkZpbGxMYXllcjo6aXNDbGlwU2V0LCAmRmlsbExheWVyOjpjbGlwLCAmRmlsbExheWVyOjpzZXRD
bGlwLCAmRmlsbExheWVyOjpjbGVhckNsaXAsICZGaWxsTGF5ZXI6OmluaXRpYWxGaWxsQ2xpcCwg
JkNTU1N0eWxlU2VsZWN0b3I6Om1hcEZpbGxDbGlwKSk7CisgICAgc2V0UHJvcGVydHlWYWx1ZShD
U1NQcm9wZXJ0eVdlYmtpdE1hc2tDb21wb3NpdGUsIG5ldyBBcHBseVByb3BlcnR5RmlsbExheWVy
PENvbXBvc2l0ZU9wZXJhdG9yPihDU1NQcm9wZXJ0eVdlYmtpdE1hc2tDb21wb3NpdGUsIE1hc2tG
aWxsTGF5ZXIsICZSZW5kZXJTdHlsZTo6YWNjZXNzTWFza0xheWVycywgJlJlbmRlclN0eWxlOjpt
YXNrTGF5ZXJzLAorICAgICAgICAgICAgJkZpbGxMYXllcjo6aXNDb21wb3NpdGVTZXQsICZGaWxs
TGF5ZXI6OmNvbXBvc2l0ZSwgJkZpbGxMYXllcjo6c2V0Q29tcG9zaXRlLCAmRmlsbExheWVyOjpj
bGVhckNvbXBvc2l0ZSwgJkZpbGxMYXllcjo6aW5pdGlhbEZpbGxDb21wb3NpdGUsICZDU1NTdHls
ZVNlbGVjdG9yOjptYXBGaWxsQ29tcG9zaXRlKSk7CisgICAgc2V0UHJvcGVydHlWYWx1ZShDU1NQ
cm9wZXJ0eVdlYmtpdE1hc2tPcmlnaW4sIG5ldyBBcHBseVByb3BlcnR5RmlsbExheWVyPEVGaWxs
Qm94PihDU1NQcm9wZXJ0eVdlYmtpdE1hc2tPcmlnaW4sIE1hc2tGaWxsTGF5ZXIsICZSZW5kZXJT
dHlsZTo6YWNjZXNzTWFza0xheWVycywgJlJlbmRlclN0eWxlOjptYXNrTGF5ZXJzLAorICAgICAg
ICAgICAgJkZpbGxMYXllcjo6aXNPcmlnaW5TZXQsICZGaWxsTGF5ZXI6Om9yaWdpbiwgJkZpbGxM
YXllcjo6c2V0T3JpZ2luLCAmRmlsbExheWVyOjpjbGVhck9yaWdpbiwgJkZpbGxMYXllcjo6aW5p
dGlhbEZpbGxPcmlnaW4sICZDU1NTdHlsZVNlbGVjdG9yOjptYXBGaWxsT3JpZ2luKSk7CisgICAg
c2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eVdlYmtpdE1hc2tTaXplLCBuZXcgQXBwbHlQcm9w
ZXJ0eUZpbGxMYXllcjxGaWxsU2l6ZT4oQ1NTUHJvcGVydHlXZWJraXRNYXNrU2l6ZSwgTWFza0Zp
bGxMYXllciwgJlJlbmRlclN0eWxlOjphY2Nlc3NNYXNrTGF5ZXJzLCAmUmVuZGVyU3R5bGU6Om1h
c2tMYXllcnMsCisgICAgICAgICAgICAmRmlsbExheWVyOjppc1NpemVTZXQsICZGaWxsTGF5ZXI6
OnNpemUsICZGaWxsTGF5ZXI6OnNldFNpemUsICZGaWxsTGF5ZXI6OmNsZWFyU2l6ZSwgJkZpbGxM
YXllcjo6aW5pdGlhbEZpbGxTaXplLCAmQ1NTU3R5bGVTZWxlY3Rvcjo6bWFwRmlsbFNpemUpKTsK
KwogICAgIHNldFByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IsIG5ldyBB
cHBseVByb3BlcnR5Q29sb3JCYXNlKCZSZW5kZXJTdHlsZTo6YmFja2dyb3VuZENvbG9yLCAwLCAm
UmVuZGVyU3R5bGU6OnNldEJhY2tncm91bmRDb2xvcikpOwogICAgIHNldFByb3BlcnR5VmFsdWUo
Q1NTUHJvcGVydHlCb3JkZXJCb3R0b21Db2xvciwgbmV3IEFwcGx5UHJvcGVydHlDb2xvckJhc2Uo
JlJlbmRlclN0eWxlOjpib3JkZXJCb3R0b21Db2xvciwgJlJlbmRlclN0eWxlOjpjb2xvciwgJlJl
bmRlclN0eWxlOjpzZXRCb3JkZXJCb3R0b21Db2xvcikpOwogICAgIHNldFByb3BlcnR5VmFsdWUo
Q1NTUHJvcGVydHlCb3JkZXJMZWZ0Q29sb3IsIG5ldyBBcHBseVByb3BlcnR5Q29sb3JCYXNlKCZS
ZW5kZXJTdHlsZTo6Ym9yZGVyTGVmdENvbG9yLCAmUmVuZGVyU3R5bGU6OmNvbG9yLCAmUmVuZGVy
U3R5bGU6OnNldEJvcmRlckxlZnRDb2xvcikpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlQXBwbHlQcm9wZXJ0eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTdHlsZUFwcGx5UHJvcGVydHkuaAkocmV2aXNpb24gODI5OTMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmgJKHdvcmtpbmcgY29weSkKQEAgLTkxLDYgKzkx
LDEzIEBAIHByaXZhdGU6CiAgICAgICAgIG1fcHJvcGVydHlNYXBbaW5kZXgocHJvcGVydHkpXSA9
IHZhbHVlOwogICAgIH0KIAorICAgIHZvaWQgc2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eUlE
IG5ld1Byb3BlcnR5LCBDU1NQcm9wZXJ0eUlEIGVxdWl2YWxlbnRQcm9wZXJ0eSkKKyAgICB7Cisg
ICAgICAgIEFTU0VSVCh2YWxpZChuZXdQcm9wZXJ0eSkpOworICAgICAgICBBU1NFUlQodmFsaWQo
ZXF1aXZhbGVudFByb3BlcnR5KSk7CisgICAgICAgIG1fcHJvcGVydHlNYXBbaW5kZXgobmV3UHJv
cGVydHkpXSA9IG1fcHJvcGVydHlNYXBbaW5kZXgoZXF1aXZhbGVudFByb3BlcnR5KV07CisgICAg
fQorCiAgICAgQXBwbHlQcm9wZXJ0eUJhc2UqIHByb3BlcnR5VmFsdWUoQ1NTUHJvcGVydHlJRCBw
cm9wZXJ0eSkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VSVCh2YWxpZChwcm9wZXJ0eSkpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkocmV2aXNpb24gODI5
OTMpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM2NDcsMzkgKzM2NDcsNiBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5
UHJvcGVydHkoaW50CiAgICAgLy8gYXJlIG9ubHkgaGl0IHdoZW4gbWFwcGluZyAiaW5oZXJpdCIg
b3IgImluaXRpYWwiIGludG8gZnJvbnQtZW5kIHZhbHVlcy4KICAgICBzd2l0Y2ggKHByb3BlcnR5
KSB7CiAvLyBpZGVudCBvbmx5IHByb3BlcnRpZXMKLSAgICBjYXNlIENTU1Byb3BlcnR5QmFja2dy
b3VuZEF0dGFjaG1lbnQ6Ci0gICAgICAgIEhBTkRMRV9CQUNLR1JPVU5EX1ZBTFVFKGF0dGFjaG1l
bnQsIEF0dGFjaG1lbnQsIHZhbHVlKQotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBDU1NQcm9w
ZXJ0eUJhY2tncm91bmRDbGlwOgotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCYWNrZ3JvdW5k
Q2xpcDoKLSAgICAgICAgSEFORExFX0JBQ0tHUk9VTkRfVkFMVUUoY2xpcCwgQ2xpcCwgdmFsdWUp
Ci0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3VuZENv
bXBvc2l0ZToKLSAgICAgICAgSEFORExFX0JBQ0tHUk9VTkRfVkFMVUUoY29tcG9zaXRlLCBDb21w
b3NpdGUsIHZhbHVlKQotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tn
cm91bmRPcmlnaW46Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRPcmlnaW46
Ci0gICAgICAgIEhBTkRMRV9CQUNLR1JPVU5EX1ZBTFVFKG9yaWdpbiwgT3JpZ2luLCB2YWx1ZSkK
LSAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kU2l6ZToKLSAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3VuZFNpemU6Ci0gICAgICAgIEhBTkRMRV9C
QUNLR1JPVU5EX1ZBTFVFKHNpemUsIFNpemUsIHZhbHVlKQotICAgICAgICByZXR1cm47Ci0gICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tBdHRhY2htZW50OgotICAgICAgICBIQU5ETEVfTUFT
S19WQUxVRShhdHRhY2htZW50LCBBdHRhY2htZW50LCB2YWx1ZSkKLSAgICAgICAgcmV0dXJuOwot
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXNrQ2xpcDoKLSAgICAgICAgSEFORExFX01BU0tf
VkFMVUUoY2xpcCwgQ2xpcCwgdmFsdWUpCi0gICAgICAgIHJldHVybjsKLSAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0TWFza0NvbXBvc2l0ZToKLSAgICAgICAgSEFORExFX01BU0tfVkFMVUUoY29t
cG9zaXRlLCBDb21wb3NpdGUsIHZhbHVlKQotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdE1hc2tPcmlnaW46Ci0gICAgICAgIEhBTkRMRV9NQVNLX1ZBTFVFKG9yaWdp
biwgT3JpZ2luLCB2YWx1ZSkKLSAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRNYXNrU2l6ZToKLSAgICAgICAgSEFORExFX01BU0tfVkFMVUUoc2l6ZSwgU2l6ZSwgdmFs
dWUpCi0gICAgICAgIHJldHVybjsKICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyQ29sbGFwc2U6
CiAgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMKGJvcmRlckNvbGxhcHNlLCBCb3Jk
ZXJDb2xsYXBzZSkKICAgICAgICAgaWYgKCFwcmltaXRpdmVWYWx1ZSkKQEAgLTYxOTMsNiArNjE2
MCwxOSBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50CiAgICAgLy8g
VGhlc2UgcHJvcGVydGllcyBhcmUgaW1wbGVtZW50ZWQgaW4gdGhlIENTU1N0eWxlQXBwbHlQcm9w
ZXJ0eSBsb29rdXAgdGFibGUuCiAgICAgY2FzZSBDU1NQcm9wZXJ0eUNvbG9yOgogICAgIGNhc2Ug
Q1NTUHJvcGVydHlEaXJlY3Rpb246CisgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRBdHRh
Y2htZW50OgorICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ2xpcDoKKyAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0QmFja2dyb3VuZENsaXA6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dEJhY2tncm91bmRDb21wb3NpdGU6CisgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRPcmln
aW46CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRPcmlnaW46CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRTaXplOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRC
YWNrZ3JvdW5kU2l6ZToKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFza0F0dGFjaG1lbnQ6
CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tDbGlwOgorICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRNYXNrQ29tcG9zaXRlOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXNrT3Jp
Z2luOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXNrU2l6ZToKICAgICBjYXNlIENTU1By
b3BlcnR5QmFja2dyb3VuZENvbG9yOgogICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21D
b2xvcjoKICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyTGVmdENvbG9yOgpJbmRleDogU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCShyZXZpc2lvbiA4Mjk5MykKKysrIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTg1LDYgKzg1
LDcgQEAgcHVibGljOgogCiAgICAgLy8gVGhpcyBjbGFzcyBzZWxlY3RzIGEgUmVuZGVyU3R5bGUg
Zm9yIGEgZ2l2ZW4gZWxlbWVudCBiYXNlZCBvbiBhIGNvbGxlY3Rpb24gb2Ygc3R5bGVzaGVldHMu
CiAgICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3RvciB7CisgICAgICAgIGZyaWVuZCBjbGFzcyBDU1NT
dHlsZUFwcGx5UHJvcGVydHk7CiAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1N0eWxl
U2VsZWN0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IENTU1N0eWxlU2VsZWN0b3IoRG9jdW1lbnQqLCBTdHlsZVNoZWV0TGlzdCogYXV0aG9yU2hlZXRz
LCBDU1NTdHlsZVNoZWV0KiBtYXBwZWRFbGVtZW50U2hlZXQsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>