<?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>41409</bug_id>
          
          <creation_ts>2010-06-30 07:32:39 -0700</creation_ts>
          <short_desc>Safari pegs CPU and drops frames on http://neography.com/experiment/circles/solarsystem/ (CSS animations)</short_desc>
          <delta_ts>2010-07-16 13:32: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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://neography.com/experiment/circles/solarsystem/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>244765</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-06-30 07:32:39 -0700</bug_when>
    <thetext>To reproduce:

1. Go to http://neography.com/experiment/circles/solarsystem/

The animation is quite choppy. If you look at Task Manager you&apos;ll see that Safari is pegging a CPU.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244766</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-06-30 07:33:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/8146502&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244767</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-06-30 07:35:24 -0700</bug_when>
    <thetext>On Mac, the performance is almost as bad if I turn off accelerated compositing.

It looks like this page isn&apos;t getting kicked into accelerated mode on Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244860</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-06-30 11:31:46 -0700</bug_when>
    <thetext>One issue here is that in AnimationBase, m_fallbackAnimating is always set to true when we don&apos;t use hardware animation, resulting in isAnimationRunning() returning false, which causes us to not use hardware.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>244866</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-06-30 11:42:22 -0700</bug_when>
    <thetext>Ah, I think the real issue is that on Windows, we still think we have accelerated opacity and transform animations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252217</commentid>
    <comment_count>5</comment_count>
      <attachid>61745</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-07-15 16:46:55 -0700</bug_when>
    <thetext>Created attachment 61745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252680</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-07-16 13:32:12 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/63576</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61745</attachid>
            <date>2010-07-15 16:46:55 -0700</date>
            <delta_ts>2010-07-16 13:22:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41409-20100715164654.patch</filename>
            <type>text/plain</type>
            <size>22173</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlYjQxYzE0OWI2OTA5MmUyYWM5NTZkYmY0YTEwNTg4NDc3OWRlZGIyLi5kOGE1MWE4
ZjU5YmI0NWViYWU4NjBjNmM3ZGY1YmU5ZTJiMTQ5MzIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTggQEAK
IDIwMTAtMDctMTUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2FmYXJpIHBlZ3Mg
Q1BVIGFuZCBkcm9wcyBmcmFtZXMgb24gaHR0cDovL25lb2dyYXBoeS5jb20vZXhwZXJpbWVudC9j
aXJjbGVzL3NvbGFyc3lzdGVtLyAoQ1NTIGFuaW1hdGlvbnMpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTQwOQorICAgICAgICAKKyAgICAgICAgVGVz
dCBmb3IgY3JlYXRpbmcgY29tcG9zaXRpbmcgbGF5ZXJzIHdoZW4gcnVubmluZyBhbmltYXRpb25z
IG9mIHRyYW5zZm9ybSwgZXZlbiBvbiBwbGF0Zm9ybXMgdGhhdCBkb24ndAorICAgICAgICBydW4g
YWNjZWxlcmF0ZWQgYW5pbWF0aW9ucy4KKworICAgICAgICAqIGNvbXBvc2l0aW5nL2FuaW1hdGlv
bi9hbmltYXRpb24tY29tcG9zaXRpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBj
b21wb3NpdGluZy9hbmltYXRpb24vYW5pbWF0aW9uLWNvbXBvc2l0aW5nLmh0bWw6IEFkZGVkLgor
CisyMDEwLTA3LTE1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCiAg
ICAgICAgIEZpeCByZXN1bHRzIG9mIHR3byB0ZXN0cyB0aGF0IGFyZSBhZmZlY3RlZCBieSByNjM0
NTIuCiAKICAgICAgICAgKiBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9vdmVyZmxvdy1zY3Jv
bGwtb3ZlcmxhcC1leHBlY3RlZC50eHQ6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9hbmltYXRpb24vYW5pbWF0aW9uLWNvbXBvc2l0aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2FuaW1hdGlvbi9hbmltYXRpb24tY29tcG9zaXRpbmctZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM1YTk3OTUzZjEwNTBjOThiYTZjZGU1Yzc5MmM0MzkzODRkMWE2
MzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9hbmltYXRpb24v
YW5pbWF0aW9uLWNvbXBvc2l0aW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNTOiBj
cmVhdGVkIGNvbXBvc2l0aW5nIGxheWVycyB3aGVuIGFuaW1hdGluZyB0cmFuc2Zvcm0uCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9hbmltYXRpb24vYW5pbWF0aW9uLWNvbXBv
c2l0aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9hbmltYXRpb24vYW5pbWF0aW9u
LWNvbXBvc2l0aW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODZmOGRjZDZjMjI2M2M0NDM4OTNhZTQwODJk
ZDEzNzJhZGQ2NTcxNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2FuaW1hdGlvbi9hbmltYXRpb24tY29tcG9zaXRpbmcuaHRtbApAQCAtMCwwICsxLDU2IEBACis8
IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3Nz
IiBtZWRpYT0ic2NyZWVuIj4KKyAgICAuYm94IHsKKyAgICAgIGhlaWdodDogMTAwcHg7CisgICAg
ICB3aWR0aDogMTAwcHg7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgIH0KKyAg
ICAKKyAgICAuc3Bpbm5pbmcgeworICAgICAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gMnMgaW5m
aW5pdGUgbGluZWFyOworICAgIH0KKyAgICAKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7
CisgICAgICBmcm9tIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfQorICAgICAgdG8g
ICB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQorICAgIH0KKyAgPC9zdHls
ZT4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgeworICAg
ICAgdmFyIGJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib3gnKTsKKyAgICAgIGJveC5h
ZGRFdmVudExpc3RlbmVyKCd3ZWJraXRBbmltYXRpb25TdGFydCcsIGZ1bmN0aW9uKCkgeworICAg
ICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICB2YXIg
bGF5ZXJzID0gbGF5b3V0VGVzdENvbnRyb2xsZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAg
ICAgICB2YXIgcmVzdWx0OworICAgICAgICAgICAgaWYgKGxheWVycyAhPSAiIikKKyAgICAgICAg
ICAgICAgcmVzdWx0ID0gIlBBU1M6IGNyZWF0ZWQgY29tcG9zaXRpbmcgbGF5ZXJzIHdoZW4gYW5p
bWF0aW5nIHRyYW5zZm9ybS4iOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICByZXN1
bHQgPSAiRkFJTDogbm8gbGF5ZXJzIGZvdW5kIjsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSByZXN1bHQ7CisgICAgICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICAgIH0sIGZhbHNl
KTsKKyAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdib3gnKS5jbGFzc05hbWUgPSAnc3Bp
bm5pbmcnOworICAgIH0KKworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9U
ZXN0LCBmYWxzZSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKyAgPGRpdiBpZD0i
Ym94IiBjbGFzcz0iYm94Ij48L2Rpdj4KKworICA8IS0tIFdlIHNob3VsZCBjcmVhdGUgbGF5ZXJz
LCBldmVuIG9uIHBsYXRmb3JtcyB0aGF0IGRvbid0IHN1cHBvcnQgYWNjZWxlcmF0ZWQgYW5pbWF0
aW9uLiAtLT4KKyAgPGRpdiBpZD0icmVzdWx0Ij5UZXN0IG9ubHkgd29ya3MgaW4gRFJUPC9kaXY+
CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggZjM0ZDc3ZDY0ZTczMmRlZGQ5ZmZiZDE1NTFmYmIyZWEzMjA3
YWFiMy4uYzUzNjIxMjNjMzJjNjk0N2Y1ODhiOWIyNWRjODlhMDdjNDlkNDJiNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1
OSBAQAorMjAxMC0wNy0xNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTYWZhcmkg
cGVncyBDUFUgYW5kIGRyb3BzIGZyYW1lcyBvbiBodHRwOi8vbmVvZ3JhcGh5LmNvbS9leHBlcmlt
ZW50L2NpcmNsZXMvc29sYXJzeXN0ZW0vIChDU1MgYW5pbWF0aW9ucykKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNDA5CisgICAgICAgIAorICAgICAg
ICBBbmltYXRpb25Db250cm9sbGVyOjppc0FuaW1hdGluZ1Byb3BlcnR5T25SZW5kZXJlcigpIHJl
YWxseSBhc2tlZCB3aGV0aGVyIGFuIGFjY2VsZXJhdGVkIGFuaW1hdGlvbgorICAgICAgICBvciB0
cmFuc2l0aW9uIHdhcyBydW5uaW5nLiBUaGlzIHByZXZlbnRlZCB1cyBmcm9tIGZhbGxpbmcgaW50
byBjb21wb3NpdGluZyBsYXllcnMgZm9yIGFuaW1hdGlvbgorICAgICAgICBvbiBwbGF0Zm9ybXMs
IGxpa2UgV2luZG93cywgdGhhdCBkb24ndCBoYXZlIGFjY2VsZXJhdGVkIGFuaW1hdGlvbnMuCisg
ICAgICAgIAorICAgICAgICBGaXggYnkgbWFraW5nIHRoaW5ncyBtb3JlIGV4cGxpY2l0OiB3ZSBu
b3cgaGF2ZSB0d28gbWV0aG9kcywgaXNSdW5uaW5nQW5pbWF0aW9uT25SZW5kZXJlcigpCisgICAg
ICAgIGFuZCBpc1J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbk9uUmVuZGVyZXIoKS4KKyAgICAg
ICAgCisgICAgICAgIENoYW5nZXMgYXJlIG1vcmUgZXh0ZW5zaXZlIGJlY2F1c2UgSSBmbGlwcGVk
IHRoZSBzZW5zZSBvZiAnbV9mYWxsYmFja0FuaW1hdGluZycsIHdoaWNoIGlzCisgICAgICAgIG5v
dyAnbV9pc0FjY2VsZXJhdGVkJywgZm9yIGNsYXJpdHkuCisKKyAgICAgICAgVGVzdDogY29tcG9z
aXRpbmcvYW5pbWF0aW9uL2FuaW1hdGlvbi1jb21wb3NpdGluZy5odG1sCisKKyAgICAgICAgKiBw
YWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1h
dGlvbkJhc2U6OkFuaW1hdGlvbkJhc2UpOiBtX2ZhbGxiYWNrQW5pbWF0aW5nIC0+IG1faXNBY2Nl
bGVyYXRlZAorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQmFzZTo6YmxlbmRQcm9wZXJ0aWVz
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25CYXNlOjp1cGRhdGVTdGF0ZU1h
Y2hpbmUpOiBEaXR0by4KKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmg6
CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25CYXNlOjppc0FuaW1hdGluZ1Byb3BlcnR5KTog
VGFrZXMgbmV3IGFjY2VsZXJhdGVkT25seSBwYXJhbWV0ZXIKKyAgICAgICAgd2hpY2ggY2F1c2Vz
IHRoZSBtZXRob2QgdG8gb25seSByZXR1cm4gdHJ1ZSBpZiB0aGUgYW5pbWF0aW9uIGlzIGFjY2Vs
ZXJhdGVkLgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQmFzZTo6aXNBY2NlbGVyYXRlZCk6
IENoYW5nZWQgZnJvbSBpc0ZhbGxiYWNrQW5pbWF0aW5nLgorCisgICAgICAgICogcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRp
b25Db250cm9sbGVyUHJpdmF0ZTo6aXNSdW5uaW5nQW5pbWF0aW9uT25SZW5kZXJlcik6CisgICAg
ICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6aXNSdW5uaW5nQWNjZWxl
cmF0ZWRBbmltYXRpb25PblJlbmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNv
bnRyb2xsZXI6OmlzUnVubmluZ0FuaW1hdGlvbk9uUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6QW5pbWF0aW9uQ29udHJvbGxlcjo6aXNSdW5uaW5nQWNjZWxlcmF0ZWRBbmltYXRpb25PblJl
bmRlcmVyKToKKworICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5o
OgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuaDogUmVuYW1l
IGlzQW5pbWF0aW5nUHJvcGVydHlPblJlbmRlcmVyKCksIGFkZAorICAgICAgICBpc1J1bm5pbmdB
Y2NlbGVyYXRlZEFuaW1hdGlvbk9uUmVuZGVyZXIoKS4KKyAgICAgICAgKiBwYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oOiBEaXR0by4KKyAgICAgICAgKiBwYWdlL2Fu
aW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcG9z
aXRlQW5pbWF0aW9uOjp1cGRhdGVUcmFuc2l0aW9ucyk6ICFpc0ZhbGxiYWNrQW5pbWF0aW5nKCkg
LT4gaXNBY2NlbGVyYXRlZCgpLgorICAgICAgICAoV2ViQ29yZTo6Q29tcG9zaXRlQW5pbWF0aW9u
Ojppc0FuaW1hdGluZ1Byb3BlcnR5KTogUGFzcyBhY2NlbGVyYXRlZE9ubHkgZG93bi4KKworICAg
ICAgICAqIHBhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkltcGxpY2l0QW5pbWF0aW9uOjp0aW1lVG9OZXh0U2VydmljZSk6ICFpc0ZhbGxiYWNr
QW5pbWF0aW5nKCkgLT4gaXNBY2NlbGVyYXRlZCgpLgorCisgICAgICAgICogcGFnZS9hbmltYXRp
b24vS2V5ZnJhbWVBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVBbmlt
YXRpb246OnRpbWVUb05leHRTZXJ2aWNlKTogaXNGYWxsYmFja0FuaW1hdGluZygpIC0+ICFpc0Fj
Y2VsZXJhdGVkKCkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NM
YXllckdlb21ldHJ5KTogQXZvaWQgdG91Y2hpbmcgdGhlIHRyYW5zZm9ybSBvcgorICAgICAgICBv
cGFjaXR5IGlmIGFuIGFjY2VsZXJhdGVkIGFuaW1hdGlvbiBpcyBydW5uaW5nLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JBbmltYXRpb24p
OiBNYWtlIGNvbXBvc2l0aW5nIGxheWVycworICAgICAgICBpZiBhbiBhbmltYXRpb24gb2YgdHJh
bnNmb3JtIG9yIG9wYWNpdHkgaXMgcnVubmluZy4KKwogMjAxMC0wNy0wNyAgSm9obiBHcmVnZyAg
PGpvaG5ueWdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKaWFuIExpLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBiL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKaW5kZXggNzE5NWQxZjJjM2ZjNGM4
Njk1YjAzNWRmZjZiNjgxOGVmYzRlNGM4OC4uODNmZDAzOTAxNzBhMTY2YjdmNzUyZWNmNzAzZDEy
OWE2ZDE0NDFkYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25C
YXNlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCkBA
IC03NzQsNyArNzc0LDcgQEAgQW5pbWF0aW9uQmFzZTo6QW5pbWF0aW9uQmFzZShjb25zdCBBbmlt
YXRpb24qIHRyYW5zaXRpb24sIFJlbmRlck9iamVjdCogcmVuZGVyZXIKICAgICAsIG1fb2JqZWN0
KHJlbmRlcmVyKQogICAgICwgbV9hbmltYXRpb24oY29uc3RfY2FzdDxBbmltYXRpb24qPih0cmFu
c2l0aW9uKSkKICAgICAsIG1fY29tcEFuaW0oY29tcEFuaW0pCi0gICAgLCBtX2ZhbGxiYWNrQW5p
bWF0aW5nKGZhbHNlKQorICAgICwgbV9pc0FjY2VsZXJhdGVkKGZhbHNlKQogICAgICwgbV90cmFu
c2Zvcm1GdW5jdGlvbkxpc3RWYWxpZChmYWxzZSkKICAgICAsIG1fbmV4dEl0ZXJhdGlvbkR1cmF0
aW9uKC0xKQogICAgICwgbV9uZXh0KDApCkBAIC04MzcsNyArODM3LDcgQEAgYm9vbCBBbmltYXRp
b25CYXNlOjpibGVuZFByb3BlcnRpZXMoY29uc3QgQW5pbWF0aW9uQmFzZSogYW5pbSwgaW50IHBy
b3AsIFJlbmRlclMKICAgICBpZiAod3JhcHBlcikgewogICAgICAgICB3cmFwcGVyLT5ibGVuZChh
bmltLCBkc3QsIGEsIGIsIHByb2dyZXNzKTsKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJ
TkcpCi0gICAgICAgIHJldHVybiAhd3JhcHBlci0+YW5pbWF0aW9uSXNBY2NlbGVyYXRlZCgpIHx8
IGFuaW0tPmlzRmFsbGJhY2tBbmltYXRpbmcoKTsKKyAgICAgICAgcmV0dXJuICF3cmFwcGVyLT5h
bmltYXRpb25Jc0FjY2VsZXJhdGVkKCkgfHwgIWFuaW0tPmlzQWNjZWxlcmF0ZWQoKTsKICNlbHNl
CiAgICAgICAgIHJldHVybiB0cnVlOwogI2VuZGlmCkBAIC05NzQsNyArOTc0LDcgQEAgdm9pZCBB
bmltYXRpb25CYXNlOjp1cGRhdGVTdGF0ZU1hY2hpbmUoQW5pbVN0YXRlSW5wdXQgaW5wdXQsIGRv
dWJsZSBwYXJhbSkKICAgICAgICAgICAgICAgICAvLyBXZSB3b24ndCB0cnkgdG8gc3RhcnQgYWNj
ZWxlcmF0ZWQgYW5pbWF0aW9ucyBpZiB3ZSBhcmUgb3ZlcnJpZGRlbiBhbmQKICAgICAgICAgICAg
ICAgICAvLyBqdXN0IG1vdmUgb24gdG8gdGhlIG5leHQgc3RhdGUuCiAgICAgICAgICAgICAgICAg
bV9hbmltU3RhdGUgPSBBbmltYXRpb25TdGF0ZVN0YXJ0V2FpdFJlc3BvbnNlOwotICAgICAgICAg
ICAgICAgIG1fZmFsbGJhY2tBbmltYXRpbmcgPSB0cnVlOworICAgICAgICAgICAgICAgIG1faXNB
Y2NlbGVyYXRlZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgIHVwZGF0ZVN0YXRlTWFjaGluZShB
bmltYXRpb25TdGF0ZUlucHV0U3RhcnRUaW1lU2V0LCBiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUo
KSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHsKQEAgLTk4NSw3ICs5ODUsNyBA
QCB2b2lkIEFuaW1hdGlvbkJhc2U6OnVwZGF0ZVN0YXRlTWFjaGluZShBbmltU3RhdGVJbnB1dCBp
bnB1dCwgZG91YmxlIHBhcmFtKQogICAgICAgICAgICAgICAgIGJvb2wgc3RhcnRlZCA9IHN0YXJ0
QW5pbWF0aW9uKHRpbWVPZmZzZXQpOwogCiAgICAgICAgICAgICAgICAgbV9jb21wQW5pbS0+YW5p
bWF0aW9uQ29udHJvbGxlcigpLT5hZGRUb1N0YXJ0VGltZVJlc3BvbnNlV2FpdExpc3QodGhpcywg
c3RhcnRlZCk7Ci0gICAgICAgICAgICAgICAgbV9mYWxsYmFja0FuaW1hdGluZyA9ICFzdGFydGVk
OworICAgICAgICAgICAgICAgIG1faXNBY2NlbGVyYXRlZCA9IHN0YXJ0ZWQ7CiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBbmltYXRpb25TdGF0ZVN0YXJ0
V2FpdFJlc3BvbnNlOgpAQCAtMTEwOCwxMSArMTEwOCwxMSBAQCB2b2lkIEFuaW1hdGlvbkJhc2U6
OnVwZGF0ZVN0YXRlTWFjaGluZShBbmltU3RhdGVJbnB1dCBpbnB1dCwgZG91YmxlIHBhcmFtKQog
ICAgICAgICAgICAgICAgIC8vIFdlIHdvbid0IHRyeSB0byBzdGFydCBhY2NlbGVyYXRlZCBhbmlt
YXRpb25zIGlmIHdlIGFyZSBvdmVycmlkZGVuIGFuZAogICAgICAgICAgICAgICAgIC8vIGp1c3Qg
bW92ZSBvbiB0byB0aGUgbmV4dCBzdGF0ZS4KICAgICAgICAgICAgICAgICB1cGRhdGVTdGF0ZU1h
Y2hpbmUoQW5pbWF0aW9uU3RhdGVJbnB1dFN0YXJ0VGltZVNldCwgYmVnaW5BbmltYXRpb25VcGRh
dGVUaW1lKCkpOwotICAgICAgICAgICAgICAgIG1fZmFsbGJhY2tBbmltYXRpbmcgPSB0cnVlOwor
ICAgICAgICAgICAgICAgIG1faXNBY2NlbGVyYXRlZCA9IGZhbHNlOwogICAgICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgICAgICBib29sIHN0YXJ0ZWQgPSBzdGFydEFuaW1hdGlvbihiZWdp
bkFuaW1hdGlvblVwZGF0ZVRpbWUoKSAtIG1fc3RhcnRUaW1lKTsKICAgICAgICAgICAgICAgICBt
X2NvbXBBbmltLT5hbmltYXRpb25Db250cm9sbGVyKCktPmFkZFRvU3RhcnRUaW1lUmVzcG9uc2VX
YWl0TGlzdCh0aGlzLCBzdGFydGVkKTsKLSAgICAgICAgICAgICAgICBtX2ZhbGxiYWNrQW5pbWF0
aW5nID0gIXN0YXJ0ZWQ7CisgICAgICAgICAgICAgICAgbV9pc0FjY2VsZXJhdGVkID0gc3RhcnRl
ZDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFuaW1h
dGlvblN0YXRlRmlsbGluZ0ZvcndhcmRzOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25CYXNlLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJh
c2UuaAppbmRleCA5MWVmOGNmZmE4Y2FiMTEwMzM3Y2JhZWFkNmRmZDA1YzkyMmQ4YmYxLi45YmRj
YTNhNjdjMThhNTc1YmY4MDczN2RiYzgwOTVmNjU5Nzc2MTA2IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0
aW9uL0FuaW1hdGlvbkJhc2UuaApAQCAtMTQ0LDkgKzE0NCwxMCBAQCBwdWJsaWM6CiAKICAgICAv
LyBEb2VzIHRoaXMgYW5pbWF0aW9uL3RyYW5zaXRpb24gaW52b2x2ZSB0aGUgZ2l2ZW4gcHJvcGVy
dHk/CiAgICAgdmlydHVhbCBib29sIGFmZmVjdHNQcm9wZXJ0eShpbnQgLypwcm9wZXJ0eSovKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIGJvb2wgaXNBbmltYXRpbmdQcm9wZXJ0eShpbnQg
cHJvcGVydHksIGJvb2wgaXNSdW5uaW5nTm93KSBjb25zdAorCisgICAgYm9vbCBpc0FuaW1hdGlu
Z1Byb3BlcnR5KGludCBwcm9wZXJ0eSwgYm9vbCBhY2NlbGVyYXRlZE9ubHksIGJvb2wgaXNSdW5u
aW5nTm93KSBjb25zdAogICAgIHsKLSAgICAgICAgaWYgKG1fZmFsbGJhY2tBbmltYXRpbmcpCisg
ICAgICAgIGlmIChhY2NlbGVyYXRlZE9ubHkgJiYgIW1faXNBY2NlbGVyYXRlZCkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIAogICAgICAgICBpZiAoaXNSdW5uaW5nTm93
KQpAQCAtMTk3LDcgKzE5OCw3IEBAIHByb3RlY3RlZDoKIAogICAgIHZvaWQgZ29JbnRvRW5kaW5n
T3JMb29waW5nU3RhdGUoKTsKIAotICAgIGJvb2wgaXNGYWxsYmFja0FuaW1hdGluZygpIGNvbnN0
IHsgcmV0dXJuIG1fZmFsbGJhY2tBbmltYXRpbmc7IH0KKyAgICBib29sIGlzQWNjZWxlcmF0ZWQo
KSBjb25zdCB7IHJldHVybiBtX2lzQWNjZWxlcmF0ZWQ7IH0KIAogICAgIHN0YXRpYyBib29sIHBy
b3BlcnRpZXNFcXVhbChpbnQgcHJvcCwgY29uc3QgUmVuZGVyU3R5bGUqIGEsIGNvbnN0IFJlbmRl
clN0eWxlKiBiKTsKICAgICBzdGF0aWMgaW50IGdldFByb3BlcnR5QXRJbmRleChpbnQsIGJvb2wm
IGlzU2hvcnRoYW5kKTsKQEAgLTIyMCw3ICsyMjEsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBSZWZQ
dHI8QW5pbWF0aW9uPiBtX2FuaW1hdGlvbjsKICAgICBDb21wb3NpdGVBbmltYXRpb24qIG1fY29t
cEFuaW07Ci0gICAgYm9vbCBtX2ZhbGxiYWNrQW5pbWF0aW5nOyAgICAgICAvLyB0cnVlIHdoZW4g
YW5pbWF0aW5nIGFuIGFjY2VsZXJhdGVkIHByb3BlcnR5IGJ1dCBoYXZlIHRvIGZhbGwgYmFjayB0
byBzb2Z0d2FyZQorICAgIGJvb2wgbV9pc0FjY2VsZXJhdGVkOwogICAgIGJvb2wgbV90cmFuc2Zv
cm1GdW5jdGlvbkxpc3RWYWxpZDsKICAgICBkb3VibGUgbV90b3RhbER1cmF0aW9uLCBtX25leHRJ
dGVyYXRpb25EdXJhdGlvbjsKICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IDM3NjFjNWExYTM5ZWYzODVkODdjMzBkZDUwYTRhYThh
ZTAyZTBmNjAuLmI1ZDg3ZTYxN2FlMjA1NDYwYmYxNDFiMWE3MDA5NGQ5YTUzODU1MGUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKKysr
IGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAtMjA5
LDEzICsyMDksMjIgQEAgdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YW5pbWF0aW9u
VGltZXJGaXJlZChUaW1lcjxBbmltYXRpb25Db250cm9sbGVyUHIKICAgICBmaXJlRXZlbnRzQW5k
VXBkYXRlU3R5bGUoKTsKIH0KIAotYm9vbCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6aXNB
bmltYXRpbmdQcm9wZXJ0eU9uUmVuZGVyZXIoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgQ1NTUHJv
cGVydHlJRCBwcm9wZXJ0eSwgYm9vbCBpc1J1bm5pbmdOb3cpIGNvbnN0Citib29sIEFuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlOjppc1J1bm5pbmdBbmltYXRpb25PblJlbmRlcmVyKFJlbmRlck9i
amVjdCogcmVuZGVyZXIsIENTU1Byb3BlcnR5SUQgcHJvcGVydHksIGJvb2wgaXNSdW5uaW5nTm93
KSBjb25zdAogewogICAgIFJlZlB0cjxDb21wb3NpdGVBbmltYXRpb24+IGFuaW1hdGlvbiA9IG1f
Y29tcG9zaXRlQW5pbWF0aW9ucy5nZXQocmVuZGVyZXIpOwogICAgIGlmICghYW5pbWF0aW9uKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXR1cm4gYW5pbWF0aW9uLT5pc0FuaW1hdGlu
Z1Byb3BlcnR5KHByb3BlcnR5LCBpc1J1bm5pbmdOb3cpOworICAgIHJldHVybiBhbmltYXRpb24t
PmlzQW5pbWF0aW5nUHJvcGVydHkocHJvcGVydHksIGZhbHNlLCBpc1J1bm5pbmdOb3cpOworfQor
Citib29sIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjppc1J1bm5pbmdBY2NlbGVyYXRlZEFu
aW1hdGlvbk9uUmVuZGVyZXIoUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgQ1NTUHJvcGVydHlJRCBw
cm9wZXJ0eSwgYm9vbCBpc1J1bm5pbmdOb3cpIGNvbnN0Cit7CisgICAgUmVmUHRyPENvbXBvc2l0
ZUFuaW1hdGlvbj4gYW5pbWF0aW9uID0gbV9jb21wb3NpdGVBbmltYXRpb25zLmdldChyZW5kZXJl
cik7CisgICAgaWYgKCFhbmltYXRpb24pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJl
dHVybiBhbmltYXRpb24tPmlzQW5pbWF0aW5nUHJvcGVydHkocHJvcGVydHksIHRydWUsIGlzUnVu
bmluZ05vdyk7CiB9CiAKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnN1c3BlbmRB
bmltYXRpb25zKERvY3VtZW50KiBkb2N1bWVudCkKQEAgLTUzMiw5ICs1NDEsMTQgQEAgYm9vbCBB
bmltYXRpb25Db250cm9sbGVyOjpwYXVzZVRyYW5zaXRpb25BdFRpbWUoUmVuZGVyT2JqZWN0KiBy
ZW5kZXJlciwgY29uc3QgU3QKICAgICByZXR1cm4gbV9kYXRhLT5wYXVzZVRyYW5zaXRpb25BdFRp
bWUocmVuZGVyZXIsIHByb3BlcnR5LCB0KTsKIH0KIAotYm9vbCBBbmltYXRpb25Db250cm9sbGVy
Ojppc0FuaW1hdGluZ1Byb3BlcnR5T25SZW5kZXJlcihSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBD
U1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBib29sIGlzUnVubmluZ05vdykgY29uc3QKK2Jvb2wgQW5p
bWF0aW9uQ29udHJvbGxlcjo6aXNSdW5uaW5nQW5pbWF0aW9uT25SZW5kZXJlcihSZW5kZXJPYmpl
Y3QqIHJlbmRlcmVyLCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBib29sIGlzUnVubmluZ05vdykg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9kYXRhLT5pc1J1bm5pbmdBbmltYXRpb25PblJlbmRlcmVy
KHJlbmRlcmVyLCBwcm9wZXJ0eSwgaXNSdW5uaW5nTm93KTsKK30KKworYm9vbCBBbmltYXRpb25D
b250cm9sbGVyOjppc1J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbk9uUmVuZGVyZXIoUmVuZGVy
T2JqZWN0KiByZW5kZXJlciwgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eSwgYm9vbCBpc1J1bm5pbmdO
b3cpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZGF0YS0+aXNBbmltYXRpbmdQcm9wZXJ0eU9uUmVu
ZGVyZXIocmVuZGVyZXIsIHByb3BlcnR5LCBpc1J1bm5pbmdOb3cpOworICAgIHJldHVybiBtX2Rh
dGEtPmlzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9uT25SZW5kZXJlcihyZW5kZXJlciwgcHJv
cGVydHksIGlzUnVubmluZ05vdyk7CiB9CiAKIHZvaWQgQW5pbWF0aW9uQ29udHJvbGxlcjo6c3Vz
cGVuZEFuaW1hdGlvbnMoRG9jdW1lbnQqIGRvY3VtZW50KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0
aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuaAppbmRleCBkYjgyNjE4YjQ1Y2EwM2ZkNDFjNmRlMDhh
NWJkZGYxMzQ4YmJkZWZlLi5kMTg0YjQ1MDNhYTdjOTJjZGEyYTJjMzUxMmVkNmIzMGQxODY5YTZj
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIu
aAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuaApAQCAt
NjEsNyArNjEsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXVzZVRyYW5zaXRpb25BdFRpbWUoUmVu
ZGVyT2JqZWN0KiwgY29uc3QgU3RyaW5nJiBwcm9wZXJ0eSwgZG91YmxlIHQpOyAvLyBUbyBiZSB1
c2VkIG9ubHkgZm9yIHRlc3RpbmcKICAgICB1bnNpZ25lZCBudW1iZXJPZkFjdGl2ZUFuaW1hdGlv
bnMoKSBjb25zdDsgLy8gVG8gYmUgdXNlZCBvbmx5IGZvciB0ZXN0aW5nCiAgICAgCi0gICAgYm9v
bCBpc0FuaW1hdGluZ1Byb3BlcnR5T25SZW5kZXJlcihSZW5kZXJPYmplY3QqLCBDU1NQcm9wZXJ0
eUlELCBib29sIGlzUnVubmluZ05vdyA9IHRydWUpIGNvbnN0OworICAgIGJvb2wgaXNSdW5uaW5n
QW5pbWF0aW9uT25SZW5kZXJlcihSZW5kZXJPYmplY3QqLCBDU1NQcm9wZXJ0eUlELCBib29sIGlz
UnVubmluZ05vdyA9IHRydWUpIGNvbnN0OworICAgIGJvb2wgaXNSdW5uaW5nQWNjZWxlcmF0ZWRB
bmltYXRpb25PblJlbmRlcmVyKFJlbmRlck9iamVjdCosIENTU1Byb3BlcnR5SUQsIGJvb2wgaXNS
dW5uaW5nTm93ID0gdHJ1ZSkgY29uc3Q7CiAKICAgICB2b2lkIHN1c3BlbmRBbmltYXRpb25zKERv
Y3VtZW50Kik7CiAgICAgdm9pZCByZXN1bWVBbmltYXRpb25zKERvY3VtZW50Kik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgg
Yi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKaW5k
ZXggNWVmOTA5ODg0ZmFiNWE5NDUwNTEwYzc4NDNlNDE1N2FiYjJmNTVjZC4uM2FlMTVhNWI2OTk1
ODE2YTA1YmU2ZTZiOTQ4ODEyODA3ODNjYTQwNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaApAQCAtNzAsNyArNzAsOCBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzdXNwZW5kQW5pbWF0aW9ucyhEb2N1bWVudCopOwogICAgIHZvaWQg
cmVzdW1lQW5pbWF0aW9ucyhEb2N1bWVudCopOwogCi0gICAgYm9vbCBpc0FuaW1hdGluZ1Byb3Bl
cnR5T25SZW5kZXJlcihSZW5kZXJPYmplY3QqLCBDU1NQcm9wZXJ0eUlELCBib29sIGlzUnVubmlu
Z05vdykgY29uc3Q7CisgICAgYm9vbCBpc1J1bm5pbmdBbmltYXRpb25PblJlbmRlcmVyKFJlbmRl
ck9iamVjdCosIENTU1Byb3BlcnR5SUQsIGJvb2wgaXNSdW5uaW5nTm93KSBjb25zdDsKKyAgICBi
b29sIGlzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9uT25SZW5kZXJlcihSZW5kZXJPYmplY3Qq
LCBDU1NQcm9wZXJ0eUlELCBib29sIGlzUnVubmluZ05vdykgY29uc3Q7CiAKICAgICBib29sIHBh
dXNlQW5pbWF0aW9uQXRUaW1lKFJlbmRlck9iamVjdCosIGNvbnN0IFN0cmluZyYgbmFtZSwgZG91
YmxlIHQpOwogICAgIGJvb2wgcGF1c2VUcmFuc2l0aW9uQXRUaW1lKFJlbmRlck9iamVjdCosIGNv
bnN0IFN0cmluZyYgcHJvcGVydHksIGRvdWJsZSB0KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmNwcCBiL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQ29tcG9zaXRlQW5pbWF0aW9uLmNwcAppbmRleCA3NjE5YjFmNjU5ZTY4YjY0MGM5MmQ0ZWQ1
OTk3ZDVjNWMyZjU1NmNlLi41N2MyYWE0ZWM0YTA1MmFjOTUyMTU0ZTU4MGE2NzM2ZWMxODVhNDJm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5j
cHAKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uY3BwCkBA
IC0xMzYsNyArMTM2LDcgQEAgdm9pZCBDb21wb3NpdGVBbmltYXRpb246OnVwZGF0ZVRyYW5zaXRp
b25zKFJlbmRlck9iamVjdCogcmVuZGVyZXIsIFJlbmRlclN0eWxlKgogICAgICNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGb3IgYWNj
ZWxlcmF0ZWQgYW5pbWF0aW9ucyB3ZSBuZWVkIHRvIHJldHVybiBhIG5ldyBSZW5kZXJTdHlsZSB3
aXRoIHRoZSBfY3VycmVudF8gdmFsdWUKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9mIHRo
ZSBwcm9wZXJ0eSwgc28gdGhhdCByZXN0YXJ0ZWQgdHJhbnNpdGlvbnMgdXNlIHRoZSBjb3JyZWN0
IHN0YXJ0aW5nIHBvaW50LgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEFuaW1hdGlvbkJh
c2U6OmFuaW1hdGlvbk9mUHJvcGVydHlJc0FjY2VsZXJhdGVkKHByb3ApICYmICFpbXBsQW5pbS0+
aXNGYWxsYmFja0FuaW1hdGluZygpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoQW5p
bWF0aW9uQmFzZTo6YW5pbWF0aW9uT2ZQcm9wZXJ0eUlzQWNjZWxlcmF0ZWQocHJvcCkgJiYgaW1w
bEFuaW0tPmlzQWNjZWxlcmF0ZWQoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICghbW9kaWZpZWRDdXJyZW50U3R5bGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG1vZGlmaWVkQ3VycmVudFN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lKGN1cnJlbnRTdHlsZSk7
CiAKQEAgLTQ2MCwxNCArNDYwLDE0IEBAIHZvaWQgQ29tcG9zaXRlQW5pbWF0aW9uOjpyZXN1bWVP
dmVycmlkZGVuSW1wbGljaXRBbmltYXRpb25zKGludCBwcm9wZXJ0eSkKICAgICB9CiB9CiAKLWJv
b2wgQ29tcG9zaXRlQW5pbWF0aW9uOjppc0FuaW1hdGluZ1Byb3BlcnR5KGludCBwcm9wZXJ0eSwg
Ym9vbCBpc1J1bm5pbmdOb3cpIGNvbnN0Citib29sIENvbXBvc2l0ZUFuaW1hdGlvbjo6aXNBbmlt
YXRpbmdQcm9wZXJ0eShpbnQgcHJvcGVydHksIGJvb2wgYWNjZWxlcmF0ZWRPbmx5LCBib29sIGlz
UnVubmluZ05vdykgY29uc3QKIHsKICAgICBpZiAoIW1fa2V5ZnJhbWVBbmltYXRpb25zLmlzRW1w
dHkoKSkgewogICAgICAgICBtX2tleWZyYW1lQW5pbWF0aW9ucy5jaGVja0NvbnNpc3RlbmN5KCk7
CiAgICAgICAgIEFuaW1hdGlvbk5hbWVNYXA6OmNvbnN0X2l0ZXJhdG9yIGFuaW1hdGlvbnNFbmQg
PSBtX2tleWZyYW1lQW5pbWF0aW9ucy5lbmQoKTsKICAgICAgICAgZm9yIChBbmltYXRpb25OYW1l
TWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG1fa2V5ZnJhbWVBbmltYXRpb25zLmJlZ2luKCk7IGl0
ICE9IGFuaW1hdGlvbnNFbmQ7ICsraXQpIHsKICAgICAgICAgICAgIEtleWZyYW1lQW5pbWF0aW9u
KiBhbmltID0gaXQtPnNlY29uZC5nZXQoKTsKLSAgICAgICAgICAgIGlmIChhbmltICYmIGFuaW0t
PmlzQW5pbWF0aW5nUHJvcGVydHkocHJvcGVydHksIGlzUnVubmluZ05vdykpCisgICAgICAgICAg
ICBpZiAoYW5pbSAmJiBhbmltLT5pc0FuaW1hdGluZ1Byb3BlcnR5KHByb3BlcnR5LCBhY2NlbGVy
YXRlZE9ubHksIGlzUnVubmluZ05vdykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgICAgIH0KICAgICB9CkBAIC00NzYsNyArNDc2LDcgQEAgYm9vbCBDb21wb3NpdGVBbmltYXRp
b246OmlzQW5pbWF0aW5nUHJvcGVydHkoaW50IHByb3BlcnR5LCBib29sIGlzUnVubmluZ05vdykg
Y28KICAgICAgICAgQ1NTUHJvcGVydHlUcmFuc2l0aW9uc01hcDo6Y29uc3RfaXRlcmF0b3IgdHJh
bnNpdGlvbnNFbmQgPSBtX3RyYW5zaXRpb25zLmVuZCgpOwogICAgICAgICBmb3IgKENTU1Byb3Bl
cnR5VHJhbnNpdGlvbnNNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV90cmFuc2l0aW9ucy5iZWdp
bigpOyBpdCAhPSB0cmFuc2l0aW9uc0VuZDsgKytpdCkgewogICAgICAgICAgICAgSW1wbGljaXRB
bmltYXRpb24qIGFuaW0gPSBpdC0+c2Vjb25kLmdldCgpOwotICAgICAgICAgICAgaWYgKGFuaW0g
JiYgYW5pbS0+aXNBbmltYXRpbmdQcm9wZXJ0eShwcm9wZXJ0eSwgaXNSdW5uaW5nTm93KSkKKyAg
ICAgICAgICAgIGlmIChhbmltICYmIGFuaW0tPmlzQW5pbWF0aW5nUHJvcGVydHkocHJvcGVydHks
IGFjY2VsZXJhdGVkT25seSwgaXNSdW5uaW5nTm93KSkKICAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQ29tcG9zaXRlQW5pbWF0aW9uLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0
ZUFuaW1hdGlvbi5oCmluZGV4IGI3ZGI0NDI0NTIyYzEyNWRkMTliN2U0NWY2YjI4MDU4ZjBkMjA2
ZmMuLjUxYmE1NjVkMTdiYzk0MzQzZDU5ZmM0YzViYzBiYTZjZmE4NWEzY2YgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmgKKysrIGIvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaApAQCAtNzAsOCArNzAsOCBAQCBw
dWJsaWM6CiAgICAgYm9vbCBoYXNBbmltYXRpb25zKCkgY29uc3QgIHsgcmV0dXJuICFtX3RyYW5z
aXRpb25zLmlzRW1wdHkoKSB8fCAhbV9rZXlmcmFtZUFuaW1hdGlvbnMuaXNFbXB0eSgpOyB9CiAK
ICAgICB2b2lkIHNldEFuaW1hdGluZyhib29sKTsKLSAgICBib29sIGlzQW5pbWF0aW5nUHJvcGVy
dHkoaW50IHByb3BlcnR5LCBib29sIGlzUnVubmluZ05vdykgY29uc3Q7Ci0gICAgCisgICAgYm9v
bCBpc0FuaW1hdGluZ1Byb3BlcnR5KGludCBwcm9wZXJ0eSwgYm9vbCBhY2NlbGVyYXRlZE9ubHks
IGJvb2wgaXNSdW5uaW5nTm93KSBjb25zdDsKKwogICAgIFBhc3NSZWZQdHI8S2V5ZnJhbWVBbmlt
YXRpb24+IGdldEFuaW1hdGlvbkZvclByb3BlcnR5KGludCBwcm9wZXJ0eSkgY29uc3Q7CiAKICAg
ICB2b2lkIG92ZXJyaWRlSW1wbGljaXRBbmltYXRpb25zKGludCBwcm9wZXJ0eSk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmNwcCBiL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uY3BwCmluZGV4IDMyOGZlMGU4ZjBh
NmY1ZGQ1M2E3ODM4MWVjZGU1Zjc0NzE2NTcxYTIuLmRhMGE4MTBhOWRkM2IyMWJhNDAzNDlmNTBj
NGQ1YmVlNjVmY2Q3YTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGlj
aXRBbmltYXRpb24uY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmlt
YXRpb24uY3BwCkBAIC0yNzMsNyArMjczLDcgQEAgZG91YmxlIEltcGxpY2l0QW5pbWF0aW9uOjp0
aW1lVG9OZXh0U2VydmljZSgpCiAgICAgICAgIAogICAgIC8vIEEgcmV0dXJuIHZhbHVlIG9mIDAg
bWVhbnMgd2UgbmVlZCBzZXJ2aWNlLiBCdXQgaWYgdGhpcyBpcyBhbiBhY2NlbGVyYXRlZCBhbmlt
YXRpb24gd2UgCiAgICAgLy8gb25seSBuZWVkIHNlcnZpY2UgYXQgdGhlIGVuZCBvZiB0aGUgdHJh
bnNpdGlvbi4KLSAgICBpZiAoYW5pbWF0aW9uT2ZQcm9wZXJ0eUlzQWNjZWxlcmF0ZWQobV9hbmlt
YXRpbmdQcm9wZXJ0eSkgJiYgIWlzRmFsbGJhY2tBbmltYXRpbmcoKSkgeworICAgIGlmIChhbmlt
YXRpb25PZlByb3BlcnR5SXNBY2NlbGVyYXRlZChtX2FuaW1hdGluZ1Byb3BlcnR5KSAmJiBpc0Fj
Y2VsZXJhdGVkKCkpIHsKICAgICAgICAgYm9vbCBpc0xvb3Bpbmc7CiAgICAgICAgIGdldFRpbWVU
b05leHRFdmVudCh0LCBpc0xvb3BpbmcpOwogICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAKaW5kZXggNGMyY2JjOGE0MjQxY2YzYjRkNmNhYmEyODYz
OTdiYzQ3YTRkMWFlZi4uMmYyY2ZjMGMyNmQ2NjY4YWY3OWU4NjE1YzM3YzRhMzUxOTdmMGYyZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAK
KysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAKQEAgLTQw
MCw3ICs0MDAsNyBAQCBkb3VibGUgS2V5ZnJhbWVBbmltYXRpb246OnRpbWVUb05leHRTZXJ2aWNl
KCkKICAgICBib29sIGFjY2VsZXJhdGVkUHJvcGVydGllc09ubHkgPSB0cnVlOwogICAgIAogICAg
IGZvciAoSGFzaFNldDxpbnQ+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fa2V5ZnJhbWVzLmJlZ2lu
UHJvcGVydGllcygpOyBpdCAhPSBlbmRQcm9wZXJ0aWVzOyArK2l0KSB7Ci0gICAgICAgIGlmICgh
YW5pbWF0aW9uT2ZQcm9wZXJ0eUlzQWNjZWxlcmF0ZWQoKml0KSB8fCBpc0ZhbGxiYWNrQW5pbWF0
aW5nKCkpIHsKKyAgICAgICAgaWYgKCFhbmltYXRpb25PZlByb3BlcnR5SXNBY2NlbGVyYXRlZCgq
aXQpIHx8ICFpc0FjY2VsZXJhdGVkKCkpIHsKICAgICAgICAgICAgIGFjY2VsZXJhdGVkUHJvcGVy
dGllc09ubHkgPSBmYWxzZTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBlZDQyYTk2MTc3NjdhMmZjMDFl
YTBlNzEyZTI1NGQwOGM3NjE1MjVjLi4yY2U5YjlkYmVmZjE0MTE3MWRmYjNjMjQzYTllNmVhZWUz
ZjVjZWMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
Y3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTMw
NiwxMSArMzA2LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xh
eWVyR2VvbWV0cnkoKQogCiAgICAgLy8gU2V0IHRyYW5zZm9ybSBwcm9wZXJ0eSwgaWYgaXQgaXMg
bm90IGFuaW1hdGluZy4gV2UgaGF2ZSB0byBkbyB0aGlzIGhlcmUgYmVjYXVzZSB0aGUgdHJhbnNm
b3JtCiAgICAgLy8gaXMgYWZmZWN0ZWQgYnkgdGhlIGxheWVyIGRpbWVuc2lvbnMuCi0gICAgaWYg
KCFyZW5kZXJlcigpLT5hbmltYXRpb24oKS0+aXNBbmltYXRpbmdQcm9wZXJ0eU9uUmVuZGVyZXIo
cmVuZGVyZXIoKSwgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm0pKQorICAgIGlmICghcmVuZGVy
ZXIoKS0+YW5pbWF0aW9uKCktPmlzUnVubmluZ0FjY2VsZXJhdGVkQW5pbWF0aW9uT25SZW5kZXJl
cihyZW5kZXJlcigpLCBDU1NQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSkpCiAgICAgICAgIHVwZGF0
ZUxheWVyVHJhbnNmb3JtKHJlbmRlcmVyKCktPnN0eWxlKCkpOwogCiAgICAgLy8gU2V0IG9wYWNp
dHksIGlmIGl0IGlzIG5vdCBhbmltYXRpbmcuCi0gICAgaWYgKCFyZW5kZXJlcigpLT5hbmltYXRp
b24oKS0+aXNBbmltYXRpbmdQcm9wZXJ0eU9uUmVuZGVyZXIocmVuZGVyZXIoKSwgQ1NTUHJvcGVy
dHlPcGFjaXR5KSkKKyAgICBpZiAoIXJlbmRlcmVyKCktPmFuaW1hdGlvbigpLT5pc1J1bm5pbmdB
Y2NlbGVyYXRlZEFuaW1hdGlvbk9uUmVuZGVyZXIocmVuZGVyZXIoKSwgQ1NTUHJvcGVydHlPcGFj
aXR5KSkKICAgICAgICAgdXBkYXRlTGF5ZXJPcGFjaXR5KHJlbmRlcmVyKCktPnN0eWxlKCkpOwog
ICAgIAogICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IHJlbmRlcmVyKCktPnN0eWxlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCAxZmRhMzRjOWU2
MDVhMTk4ZDRhNDU4MDdlMGRmMDUwYzk3YzAxY2QwLi5kOWQwNTgwNGRhNWJjZDUwNWM4NTNjYWJh
NWIyYzZlMjAwMmYwZGJkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckNvbXBvc2l0b3IuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAKQEAgLTEyMzgsOCArMTIzOCw4IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9ySUZyYW1lKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiBi
b29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvckFuaW1hdGlv
bihSZW5kZXJPYmplY3QqIHJlbmRlcmVyKSBjb25zdAogewogICAgIGlmIChBbmltYXRpb25Db250
cm9sbGVyKiBhbmltQ29udHJvbGxlciA9IHJlbmRlcmVyLT5hbmltYXRpb24oKSkgewotICAgICAg
ICByZXR1cm4gKGFuaW1Db250cm9sbGVyLT5pc0FuaW1hdGluZ1Byb3BlcnR5T25SZW5kZXJlcihy
ZW5kZXJlciwgQ1NTUHJvcGVydHlPcGFjaXR5KSAmJiBpbkNvbXBvc2l0aW5nTW9kZSgpKQotICAg
ICAgICAgICAgfHwgYW5pbUNvbnRyb2xsZXItPmlzQW5pbWF0aW5nUHJvcGVydHlPblJlbmRlcmVy
KHJlbmRlcmVyLCBDU1NQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSk7CisgICAgICAgIHJldHVybiAo
YW5pbUNvbnRyb2xsZXItPmlzUnVubmluZ0FuaW1hdGlvbk9uUmVuZGVyZXIocmVuZGVyZXIsIENT
U1Byb3BlcnR5T3BhY2l0eSkgJiYgaW5Db21wb3NpdGluZ01vZGUoKSkKKyAgICAgICAgICAgIHx8
IGFuaW1Db250cm9sbGVyLT5pc1J1bm5pbmdBbmltYXRpb25PblJlbmRlcmVyKHJlbmRlcmVyLCBD
U1NQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybSk7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKIH0K
</data>
<flag name="review"
          id="49818"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>