<?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>169138</bug_id>
          
          <creation_ts>2017-03-03 11:54:52 -0800</creation_ts>
          <short_desc>[iOS] Throttle CSS animations to 30fps in low power mode</short_desc>
          <delta_ts>2017-03-06 15:08:00 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>jonlee</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1283204</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-03 11:54:52 -0800</bug_when>
    <thetext>Throttle CSS animations to 30fps in low power mode on iOS to save battery.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283205</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-03-03 11:55:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/30837805&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283807</commentid>
    <comment_count>2</comment_count>
      <attachid>303524</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-06 10:00:37 -0800</bug_when>
    <thetext>Created attachment 303524
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283861</commentid>
    <comment_count>3</comment_count>
      <attachid>303532</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-06 11:54:39 -0800</bug_when>
    <thetext>Created attachment 303532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283885</commentid>
    <comment_count>4</comment_count>
      <attachid>303532</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2017-03-06 12:47:58 -0800</bug_when>
    <thetext>Comment on attachment 303532
Patch

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283993</commentid>
    <comment_count>5</comment_count>
      <attachid>303532</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-06 15:07:53 -0800</bug_when>
    <thetext>Comment on attachment 303532
Patch

Clearing flags on attachment: 303532

Committed r213473: &lt;http://trac.webkit.org/changeset/213473&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1283994</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-06 15:08:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303524</attachid>
            <date>2017-03-06 10:00:37 -0800</date>
            <delta_ts>2017-03-06 11:54:35 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>169138_CSS_animations_lowPowerMode_wip.patch</filename>
            <type>text/plain</type>
            <size>6147</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDFlYzFkZWMwZWFlLi43ZDZkOThhMTEwOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCkBAIC0xMTM3LDYgKzExMzcsNyBAQCB2b2lkIFBhZ2U6OnNldElzVmlzdWFsbHlJ
ZGxlSW50ZXJuYWwoYm9vbCBpc1Zpc3VhbGx5SWRsZSkKIHZvaWQgUGFnZTo6aGFuZGxlTG93TW9k
ZVBvd2VyQ2hhbmdlKGJvb2wgaXNMb3dQb3dlck1vZGVFbmFibGVkKQogewogICAgIHVwZGF0ZVNj
cmlwdGVkQW5pbWF0aW9uc1Rocm90dGxpbmdSZWFzb24oKnRoaXMsIGlzTG93UG93ZXJNb2RlRW5h
YmxlZCA/IFRocm90dGxpbmdSZWFzb25PcGVyYXRpb246OkFkZCA6IFRocm90dGxpbmdSZWFzb25P
cGVyYXRpb246OlJlbW92ZSwgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpUaHJvdHRsaW5n
UmVhc29uOjpMb3dQb3dlck1vZGUpOworICAgIG1haW5GcmFtZSgpLmFuaW1hdGlvbigpLnVwZGF0
ZVRocm90dGxpbmdTdGF0ZSgpOwogfQogCiB2b2lkIFBhZ2U6OnVzZXJTdHlsZVNoZWV0TG9jYXRp
b25DaGFuZ2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NT
U0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
Q1NTQW5pbWF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggMzcxZGNkZWEzODAuLjNmNmMxYTFmZjc2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NBbmltYXRpb25D
b250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NBbmlt
YXRpb25Db250cm9sbGVyLmNwcApAQCAtNDksOCArNDksMTEgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogLy8gQWxsb3cgYSBsaXR0bGUgbW9yZSB0aGFuIDYwZnBzIHRvIG1ha2Ugc3VyZSB3ZSBj
YW4gYXQgbGVhc3QgaGl0IHRoYXQgZnJhbWUgcmF0ZS4KLXN0YXRpYyBjb25zdCBkb3VibGUgY0Fu
aW1hdGlvblRpbWVyRGVsYXkgPSAwLjAxNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgY0JlZ2luQW5p
bWF0aW9uVXBkYXRlVGltZU5vdFNldCA9IC0xOworc3RhdGljIGNvbnN0IFNlY29uZHMgYW5pbWF0
aW9uVGltZXJEZWxheSB7IDAuMDE1IH07CisvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBm
cHMgdG8gbWFrZSBzdXJlIHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgorc3Rh
dGljIGNvbnN0IFNlY29uZHMgYW5pbWF0aW9uVGltZXJUaHJvdHRsZWREZWxheSB7IDAuMDMwIH07
CisKK3N0YXRpYyBjb25zdCBkb3VibGUgYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0ID0g
LTE7CiAKIGNsYXNzIEFuaW1hdGlvblByaXZhdGVVcGRhdGVCbG9jayB7CiBwdWJsaWM6CkBAIC03
MiwxMCArNzUsOSBAQCBDU1NBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6Q1NTQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGUoRnJhbWUmIGZyYW1lKQogICAgIDogbV9hbmltYXRpb25UaW1lcigq
dGhpcywgJkNTU0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmltYXRpb25UaW1lckZpcmVk
KQogICAgICwgbV91cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlcigqdGhpcywgJkNTU0FuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlckZpcmVk
KQogICAgICwgbV9mcmFtZShmcmFtZSkKLSAgICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
KGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCisgICAgLCBtX2JlZ2luQW5pbWF0aW9u
VXBkYXRlVGltZShiZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCiAgICAgLCBtX2JlZ2lu
QW5pbWF0aW9uVXBkYXRlQ291bnQoMCkKICAgICAsIG1fd2FpdGluZ0ZvckFzeW5jU3RhcnROb3Rp
ZmljYXRpb24oZmFsc2UpCi0gICAgLCBtX2lzU3VzcGVuZGVkKGZhbHNlKQogICAgICwgbV9hbGxv
d3NOZXdBbmltYXRpb25zV2hpbGVTdXNwZW5kZWQoZmFsc2UpCiB7CiB9CkBAIC0xNzYsOCArMTc4
LDEyIEBAIHZvaWQgQ1NTQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlv
blRpbWVyKFNldENoYW5nZWQgY2FsbFNldENoYW5nCiAKICAgICAvLyBJZiB3ZSB3YW50IHNlcnZp
Y2UgaW1tZWRpYXRlbHksIHdlIHN0YXJ0IGEgcmVwZWF0aW5nIHRpbWVyIHRvIHJlZHVjZSB0aGUg
b3ZlcmhlYWQgb2Ygc3RhcnRpbmcKICAgICBpZiAoIXRpbWVUb05leHRTZXJ2aWNlKSB7Ci0gICAg
ICAgIGlmICghbV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpIHx8ICFtX2FuaW1hdGlvblRpbWVy
LnJlcGVhdEludGVydmFsKCkpCi0gICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVw
ZWF0aW5nKGNBbmltYXRpb25UaW1lckRlbGF5KTsKKyAgICAgICAgYXV0byogcGFnZSA9IG1fZnJh
bWUucGFnZSgpOworICAgICAgICBib29sIHNob3VsZFRocm90dGxlID0gcGFnZSAmJiBwYWdlLT5p
c0xvd1Bvd2VyTW9kZUVuYWJsZWQoKTsKKyAgICAgICAgU2Vjb25kcyBkZWxheSA9IHNob3VsZFRo
cm90dGxlID8gYW5pbWF0aW9uVGltZXJUaHJvdHRsZWREZWxheSA6IGFuaW1hdGlvblRpbWVyRGVs
YXk7CisKKyAgICAgICAgaWYgKCFtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkgfHwgbV9hbmlt
YXRpb25UaW1lci5yZXBlYXRJbnRlcnZhbCgpICE9IGRlbGF5LnZhbHVlKCkpCisgICAgICAgICAg
ICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5nKGRlbGF5KTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIApAQCAtMjg0LDYgKzI5MCwxNSBAQCBib29sIENTU0FuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlOjppc1J1bm5pbmdBY2NlbGVyYXRlZEFuaW1hdGlvbk9uUmVuZGVyZXIoUmVuZAog
ICAgIHJldHVybiBhbmltYXRpb24uaXNBbmltYXRpbmdQcm9wZXJ0eShwcm9wZXJ0eSwgdHJ1ZSwg
cnVubmluZ1N0YXRlKTsKIH0KIAordm9pZCBDU1NBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6
dXBkYXRlVGhyb3R0bGluZ1N0YXRlKCkKK3sKKyAgICB1cGRhdGVBbmltYXRpb25UaW1lcigpOwor
CisgICAgLy8gVHJhdmVyc2Ugc3ViZnJhbWVzCisgICAgZm9yIChGcmFtZSogY2hpbGQgPSBtX2Zy
YW1lLnRyZWUoKS5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT50cmVlKCkubmV4
dFNpYmxpbmcoKSkKKyAgICAgICAgY2hpbGQtPmFuaW1hdGlvbigpLnVwZGF0ZVRocm90dGxpbmdT
dGF0ZSgpOworfQorCiB2b2lkIENTU0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpzdXNwZW5k
QW5pbWF0aW9ucygpCiB7CiAgICAgaWYgKGlzU3VzcGVuZGVkKCkpCkBAIC00MDAsNyArNDE1LDcg
QEAgYm9vbCBDU1NBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6cGF1c2VUcmFuc2l0aW9uQXRU
aW1lKFJlbmRlckVsZW1lbnQqIHJlbmRlcmUKIGRvdWJsZSBDU1NBbmltYXRpb25Db250cm9sbGVy
UHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkKIHsKICAgICBBU1NFUlQobV9iZWdp
bkFuaW1hdGlvblVwZGF0ZUNvdW50KTsKLSAgICBpZiAobV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRp
bWUgPT0gY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCkKKyAgICBpZiAobV9iZWdpbkFu
aW1hdGlvblVwZGF0ZVRpbWUgPT0gYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KQogICAg
ICAgICBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSA9IG1vbm90b25pY2FsbHlJbmNyZWFzaW5n
VGltZSgpOwogCiAgICAgcmV0dXJuIG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lOwpAQCAtNDA5
LDcgKzQyNCw3IEBAIGRvdWJsZSBDU1NBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5B
bmltYXRpb25VcGRhdGVUaW1lKCkKIHZvaWQgQ1NTQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6
OmJlZ2luQW5pbWF0aW9uVXBkYXRlKCkKIHsKICAgICBpZiAoIW1fYmVnaW5BbmltYXRpb25VcGRh
dGVDb3VudCkKLSAgICAgICAgc2V0QmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKGNCZWdpbkFuaW1h
dGlvblVwZGF0ZVRpbWVOb3RTZXQpOworICAgICAgICBzZXRCZWdpbkFuaW1hdGlvblVwZGF0ZVRp
bWUoYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lTm90U2V0KTsKICAgICArK21fYmVnaW5BbmltYXRp
b25VcGRhdGVDb3VudDsKIH0KIApAQCAtNzI1LDYgKzc0MCwxMSBAQCB2b2lkIENTU0FuaW1hdGlv
bkNvbnRyb2xsZXI6OnNlcnZpY2VBbmltYXRpb25zKCkKICAgICBtX2RhdGEtPmFuaW1hdGlvbkZy
YW1lQ2FsbGJhY2tGaXJlZCgpOwogfQogCit2b2lkIENTU0FuaW1hdGlvbkNvbnRyb2xsZXI6OnVw
ZGF0ZVRocm90dGxpbmdTdGF0ZSgpCit7CisgICAgbV9kYXRhLT51cGRhdGVUaHJvdHRsaW5nU3Rh
dGUoKTsKK30KKwogYm9vbCBDU1NBbmltYXRpb25Db250cm9sbGVyOjphbmltYXRpb25zQXJlU3Vz
cGVuZGVkRm9yRG9jdW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQogewogICAgIHJldHVybiBtX2Rh
dGEtPmFuaW1hdGlvbnNBcmVTdXNwZW5kZWRGb3JEb2N1bWVudChkb2N1bWVudCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NBbmltYXRpb25Db250cm9sbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NBbmltYXRpb25Db250cm9sbGVy
LmgKaW5kZXggZDQ3M2NkMTczYzIuLjE1Mjk4NmYyM2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9DU1NBbmltYXRpb25Db250cm9sbGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5oCkBAIC03Miw2
ICs3Miw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlc3VtZUFuaW1hdGlv
bnMoKTsKICAgICB2b2lkIHNlcnZpY2VBbmltYXRpb25zKCk7CiAKKyAgICB2b2lkIHVwZGF0ZVRo
cm90dGxpbmdTdGF0ZSgpOworCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdXNwZW5kQW5pbWF0
aW9uc0ZvckRvY3VtZW50KERvY3VtZW50Kik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZXN1
bWVBbmltYXRpb25zRm9yRG9jdW1lbnQoRG9jdW1lbnQqKTsKICAgICBXRUJDT1JFX0VYUE9SVCBi
b29sIGFuaW1hdGlvbnNBcmVTdXNwZW5kZWRGb3JEb2N1bWVudChEb2N1bWVudCopOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxl
clByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlLmgKaW5kZXggY2FlYThlY2MyOTguLmFlNTdlYzk3OTBmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NBbmltYXRpb25Db250cm9sbGVy
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTY3LDYgKzY3LDggQEAgcHVibGljOgogICAgIHZvaWQg
cmVzdW1lQW5pbWF0aW9ucygpOwogICAgIHZvaWQgYW5pbWF0aW9uRnJhbWVDYWxsYmFja0ZpcmVk
KCk7CiAKKyAgICB2b2lkIHVwZGF0ZVRocm90dGxpbmdTdGF0ZSgpOworCiAgICAgdm9pZCBzdXNw
ZW5kQW5pbWF0aW9uc0ZvckRvY3VtZW50KERvY3VtZW50Kik7CiAgICAgdm9pZCByZXN1bWVBbmlt
YXRpb25zRm9yRG9jdW1lbnQoRG9jdW1lbnQqKTsKICAgICBib29sIGFuaW1hdGlvbnNBcmVTdXNw
ZW5kZWRGb3JEb2N1bWVudChEb2N1bWVudCopOwpAQCAtMTQ0LDcgKzE0Niw3IEBAIHByaXZhdGU6
CiAgICAgaW50IG1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudDsKIAogICAgIGJvb2wgbV93YWl0
aW5nRm9yQXN5bmNTdGFydE5vdGlmaWNhdGlvbjsKLSAgICBib29sIG1faXNTdXNwZW5kZWQ7Cisg
ICAgYm9vbCBtX2lzU3VzcGVuZGVkIHsgZmFsc2UgfTsKIAogICAgIC8vIFVzZWQgdG8gZmxhZyB3
aGV0aGVyIHdlIHNob3VsZCByZXZlcnQgdG8gcHJldmlvdXMgYnVnZ3kKICAgICAvLyBiZWhhdmlv
ciBvZiBhbGxvd2luZyBuZXcgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgdG8K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303532</attachid>
            <date>2017-03-06 11:54:39 -0800</date>
            <delta_ts>2017-03-06 15:07:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169138-20170306115439.patch</filename>
            <type>text/plain</type>
            <size>14458</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzMzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWZlMGQzMGM0MWFhNzA4
YTI3YjcyNDliMjFjZjQ2YzJiY2ZiODkyMi4uY2U2NTFlYzdjZGVmYThlZTExMGM3ZTk4MzVkZGY5
YzQxOWY3YjE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE3LTAzLTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gVGhyb3R0bGUgQ1NT
IGFuaW1hdGlvbnMgdG8gMzBmcHMgaW4gbG93IHBvd2VyIG1vZGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTEzOAorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMzA4Mzc4MDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhyb3R0bGUgc29mdHdhcmUgQ1NTIGFuaW1hdGlvbnMgdG8gMzBmcHMgaW4gbG93
IHBvd2VyIG1vZGUgb24gaU9TCisgICAgICAgIHRvIHNhdmUgYmF0dGVyeS4KKworICAgICAgICBU
ZXN0OiBmYXN0L2FuaW1hdGlvbi9jc3MtYW5pbWF0aW9uLXRocm90dGxpbmctbG93UG93ZXJNb2Rl
Lmh0bWwKKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
OjpoYW5kbGVMb3dNb2RlUG93ZXJDaGFuZ2UpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0NT
U0FuaW1hdGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGU6OkNTU0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjp1cGRhdGVBbmltYXRp
b25UaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NBbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZTo6dXBkYXRlVGhyb3R0bGluZ1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0FuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlOjphbmltYXRpb25JbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGVUaW1l
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpiZWdp
bkFuaW1hdGlvblVwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NBbmltYXRpb25Db250cm9s
bGVyOjp1cGRhdGVUaHJvdHRsaW5nU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQW5pbWF0
aW9uQ29udHJvbGxlcjo6YW5pbWF0aW9uSW50ZXJ2YWwpOgorICAgICAgICAqIHBhZ2UvYW5pbWF0
aW9uL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9D
U1NBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6YW5pbWF0aW9uc0ludGVydmFs
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmlkbDoKKwogMjAxNy0wMy0wMyAgS29uc3RhbnRpbiBUb2thcmV2ICA8YW5udWxlbkB5
YW5kZXgucnU+CiAKICAgICAgICAgVW5yZXZpZXdlZCB0eXBvIGZpeApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAK
aW5kZXggMWVjMWRlYzBlYWUzMzgxMWQyNGM1NjMxNTgwNTZhODRhODcwNDc0Ni4uN2Q2ZDk4YTEx
MDlhODA5YzI0OWNiNGMyY2QwMjZhZjVjZDUyNmI1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0x
MTM3LDYgKzExMzcsNyBAQCB2b2lkIFBhZ2U6OnNldElzVmlzdWFsbHlJZGxlSW50ZXJuYWwoYm9v
bCBpc1Zpc3VhbGx5SWRsZSkKIHZvaWQgUGFnZTo6aGFuZGxlTG93TW9kZVBvd2VyQ2hhbmdlKGJv
b2wgaXNMb3dQb3dlck1vZGVFbmFibGVkKQogewogICAgIHVwZGF0ZVNjcmlwdGVkQW5pbWF0aW9u
c1Rocm90dGxpbmdSZWFzb24oKnRoaXMsIGlzTG93UG93ZXJNb2RlRW5hYmxlZCA/IFRocm90dGxp
bmdSZWFzb25PcGVyYXRpb246OkFkZCA6IFRocm90dGxpbmdSZWFzb25PcGVyYXRpb246OlJlbW92
ZSwgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpUaHJvdHRsaW5nUmVhc29uOjpMb3dQb3dl
ck1vZGUpOworICAgIG1haW5GcmFtZSgpLmFuaW1hdGlvbigpLnVwZGF0ZVRocm90dGxpbmdTdGF0
ZSgpOwogfQogCiB2b2lkIFBhZ2U6OnVzZXJTdHlsZVNoZWV0TG9jYXRpb25DaGFuZ2VkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbkNvbnRy
b2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29u
dHJvbGxlci5jcHAKaW5kZXggMzcxZGNkZWEzODA4MGYxYmVjYmU4Yzg2MGEwZTcyZjIyMzAyMzQ1
Ni4uMGE3ZTUxZmQ1OTBkM2M4MzBkMzczM2Y2ZjRhZjViN2YzMWVhZjQwZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxl
ci5jcHAKQEAgLTQ5LDggKzQ5LDkgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQWxsb3cg
YSBsaXR0bGUgbW9yZSB0aGFuIDYwZnBzIHRvIG1ha2Ugc3VyZSB3ZSBjYW4gYXQgbGVhc3QgaGl0
IHRoYXQgZnJhbWUgcmF0ZS4KLXN0YXRpYyBjb25zdCBkb3VibGUgY0FuaW1hdGlvblRpbWVyRGVs
YXkgPSAwLjAxNTsKLXN0YXRpYyBjb25zdCBkb3VibGUgY0JlZ2luQW5pbWF0aW9uVXBkYXRlVGlt
ZU5vdFNldCA9IC0xOworc3RhdGljIGNvbnN0IFNlY29uZHMgYW5pbWF0aW9uVGltZXJEZWxheSB7
IDAuMDE1IH07CisvLyBBbGxvdyBhIGxpdHRsZSBtb3JlIHRoYW4gMzBmcHMgdG8gbWFrZSBzdXJl
IHdlIGNhbiBhdCBsZWFzdCBoaXQgdGhhdCBmcmFtZSByYXRlLgorc3RhdGljIGNvbnN0IFNlY29u
ZHMgYW5pbWF0aW9uVGltZXJUaHJvdHRsZWREZWxheSB7IDAuMDMwIH07CiAKIGNsYXNzIEFuaW1h
dGlvblByaXZhdGVVcGRhdGVCbG9jayB7CiBwdWJsaWM6CkBAIC03MiwxMCArNzMsOCBAQCBDU1NB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6Q1NTQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUo
RnJhbWUmIGZyYW1lKQogICAgIDogbV9hbmltYXRpb25UaW1lcigqdGhpcywgJkNTU0FuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlOjphbmltYXRpb25UaW1lckZpcmVkKQogICAgICwgbV91cGRhdGVT
dHlsZUlmTmVlZGVkRGlzcGF0Y2hlcigqdGhpcywgJkNTU0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2
YXRlOjp1cGRhdGVTdHlsZUlmTmVlZGVkRGlzcGF0Y2hlckZpcmVkKQogICAgICwgbV9mcmFtZShm
cmFtZSkKLSAgICAsIG1fYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKGNCZWdpbkFuaW1hdGlvblVw
ZGF0ZVRpbWVOb3RTZXQpCiAgICAgLCBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlQ291bnQoMCkKICAg
ICAsIG1fd2FpdGluZ0ZvckFzeW5jU3RhcnROb3RpZmljYXRpb24oZmFsc2UpCi0gICAgLCBtX2lz
U3VzcGVuZGVkKGZhbHNlKQogICAgICwgbV9hbGxvd3NOZXdBbmltYXRpb25zV2hpbGVTdXNwZW5k
ZWQoZmFsc2UpCiB7CiB9CkBAIC0xNzYsOCArMTc1LDEyIEBAIHZvaWQgQ1NTQW5pbWF0aW9uQ29u
dHJvbGxlclByaXZhdGU6OnVwZGF0ZUFuaW1hdGlvblRpbWVyKFNldENoYW5nZWQgY2FsbFNldENo
YW5nCiAKICAgICAvLyBJZiB3ZSB3YW50IHNlcnZpY2UgaW1tZWRpYXRlbHksIHdlIHN0YXJ0IGEg
cmVwZWF0aW5nIHRpbWVyIHRvIHJlZHVjZSB0aGUgb3ZlcmhlYWQgb2Ygc3RhcnRpbmcKICAgICBp
ZiAoIXRpbWVUb05leHRTZXJ2aWNlKSB7Ci0gICAgICAgIGlmICghbV9hbmltYXRpb25UaW1lci5p
c0FjdGl2ZSgpIHx8ICFtX2FuaW1hdGlvblRpbWVyLnJlcGVhdEludGVydmFsKCkpCi0gICAgICAg
ICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVwZWF0aW5nKGNBbmltYXRpb25UaW1lckRlbGF5
KTsKKyAgICAgICAgYXV0byogcGFnZSA9IG1fZnJhbWUucGFnZSgpOworICAgICAgICBib29sIHNo
b3VsZFRocm90dGxlID0gcGFnZSAmJiBwYWdlLT5pc0xvd1Bvd2VyTW9kZUVuYWJsZWQoKTsKKyAg
ICAgICAgU2Vjb25kcyBkZWxheSA9IHNob3VsZFRocm90dGxlID8gYW5pbWF0aW9uVGltZXJUaHJv
dHRsZWREZWxheSA6IGFuaW1hdGlvblRpbWVyRGVsYXk7CisKKyAgICAgICAgaWYgKCFtX2FuaW1h
dGlvblRpbWVyLmlzQWN0aXZlKCkgfHwgbV9hbmltYXRpb25UaW1lci5yZXBlYXRJbnRlcnZhbCgp
ICE9IGRlbGF5LnZhbHVlKCkpCisgICAgICAgICAgICBtX2FuaW1hdGlvblRpbWVyLnN0YXJ0UmVw
ZWF0aW5nKGRlbGF5KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMjg0LDYgKzI4Nywy
MiBAQCBib29sIENTU0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjppc1J1bm5pbmdBY2NlbGVy
YXRlZEFuaW1hdGlvbk9uUmVuZGVyZXIoUmVuZAogICAgIHJldHVybiBhbmltYXRpb24uaXNBbmlt
YXRpbmdQcm9wZXJ0eShwcm9wZXJ0eSwgdHJ1ZSwgcnVubmluZ1N0YXRlKTsKIH0KIAordm9pZCBD
U1NBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6dXBkYXRlVGhyb3R0bGluZ1N0YXRlKCkKK3sK
KyAgICB1cGRhdGVBbmltYXRpb25UaW1lcigpOworCisgICAgZm9yIChhdXRvKiBjaGlsZEZyYW1l
ID0gbV9mcmFtZS50cmVlKCkuZmlyc3RDaGlsZCgpOyBjaGlsZEZyYW1lOyBjaGlsZEZyYW1lID0g
Y2hpbGRGcmFtZS0+dHJlZSgpLm5leHRTaWJsaW5nKCkpCisgICAgICAgIGNoaWxkRnJhbWUtPmFu
aW1hdGlvbigpLnVwZGF0ZVRocm90dGxpbmdTdGF0ZSgpOworfQorCitTZWNvbmRzIENTU0FuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlOjphbmltYXRpb25JbnRlcnZhbCgpIGNvbnN0Cit7CisgICAg
aWYgKCFtX2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIHJldHVybiBTZWNvbmRz
IHsgSU5GSU5JVFkgfTsKKworICAgIHJldHVybiBTZWNvbmRzIHsgbV9hbmltYXRpb25UaW1lci5y
ZXBlYXRJbnRlcnZhbCgpIH07Cit9CisKIHZvaWQgQ1NTQW5pbWF0aW9uQ29udHJvbGxlclByaXZh
dGU6OnN1c3BlbmRBbmltYXRpb25zKCkKIHsKICAgICBpZiAoaXNTdXNwZW5kZWQoKSkKQEAgLTQw
MCwxNiArNDE5LDE2IEBAIGJvb2wgQ1NTQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnBhdXNl
VHJhbnNpdGlvbkF0VGltZShSZW5kZXJFbGVtZW50KiByZW5kZXJlCiBkb3VibGUgQ1NTQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGU6OmJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSgpCiB7CiAgICAg
QVNTRVJUKG1fYmVnaW5BbmltYXRpb25VcGRhdGVDb3VudCk7Ci0gICAgaWYgKG1fYmVnaW5Bbmlt
YXRpb25VcGRhdGVUaW1lID09IGNCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWVOb3RTZXQpCisgICAg
aWYgKCFtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSkKICAgICAgICAgbV9iZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKIAotICAgIHJldHVy
biBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZTsKKyAgICByZXR1cm4gbV9iZWdpbkFuaW1hdGlv
blVwZGF0ZVRpbWUudmFsdWUoKTsKIH0KIAogdm9pZCBDU1NBbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZTo6YmVnaW5BbmltYXRpb25VcGRhdGUoKQogewogICAgIGlmICghbV9iZWdpbkFuaW1hdGlv
blVwZGF0ZUNvdW50KQotICAgICAgICBzZXRCZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWUoY0JlZ2lu
QW5pbWF0aW9uVXBkYXRlVGltZU5vdFNldCk7CisgICAgICAgIG1fYmVnaW5BbmltYXRpb25VcGRh
dGVUaW1lID0gc3RkOjpudWxsb3B0OwogICAgICsrbV9iZWdpbkFuaW1hdGlvblVwZGF0ZUNvdW50
OwogfQogCkBAIC03MjUsNiArNzQ0LDE2IEBAIHZvaWQgQ1NTQW5pbWF0aW9uQ29udHJvbGxlcjo6
c2VydmljZUFuaW1hdGlvbnMoKQogICAgIG1fZGF0YS0+YW5pbWF0aW9uRnJhbWVDYWxsYmFja0Zp
cmVkKCk7CiB9CiAKK3ZvaWQgQ1NTQW5pbWF0aW9uQ29udHJvbGxlcjo6dXBkYXRlVGhyb3R0bGlu
Z1N0YXRlKCkKK3sKKyAgICBtX2RhdGEtPnVwZGF0ZVRocm90dGxpbmdTdGF0ZSgpOworfQorCitT
ZWNvbmRzIENTU0FuaW1hdGlvbkNvbnRyb2xsZXI6OmFuaW1hdGlvbkludGVydmFsKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9kYXRhLT5hbmltYXRpb25JbnRlcnZhbCgpOworfQorCiBib29sIENT
U0FuaW1hdGlvbkNvbnRyb2xsZXI6OmFuaW1hdGlvbnNBcmVTdXNwZW5kZWRGb3JEb2N1bWVudChE
b2N1bWVudCogZG9jdW1lbnQpCiB7CiAgICAgcmV0dXJuIG1fZGF0YS0+YW5pbWF0aW9uc0FyZVN1
c3BlbmRlZEZvckRvY3VtZW50KGRvY3VtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXIuaAppbmRleCBkNDczY2QxNzNj
MmZlZjFlY2IyMTMwNzViOWRlYjliMWY2NWEzN2Y0Li4xYTE3OWFjMTM4NmM0OTZiYmU0NDgyYmJm
MTY1YmU3YjA1YjUzNDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9DU1NBbmltYXRpb25Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlci5oCkBAIC03Miw2ICs3Miw5IEBAIHB1YmxpYzoK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlc3VtZUFuaW1hdGlvbnMoKTsKICAgICB2b2lkIHNl
cnZpY2VBbmltYXRpb25zKCk7CiAKKyAgICB2b2lkIHVwZGF0ZVRocm90dGxpbmdTdGF0ZSgpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFNlY29uZHMgYW5pbWF0aW9uSW50ZXJ2YWwoKSBjb25zdDsKKwog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3VzcGVuZEFuaW1hdGlvbnNGb3JEb2N1bWVudChEb2N1
bWVudCopOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVzdW1lQW5pbWF0aW9uc0ZvckRvY3Vt
ZW50KERvY3VtZW50Kik7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBhbmltYXRpb25zQXJlU3Vz
cGVuZGVkRm9yRG9jdW1lbnQoRG9jdW1lbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCmlu
ZGV4IGNhZWE4ZWNjMjk4OGMzYzk0MDE0YzQxY2UwYjQyZGJiZTEzMDJmZmEuLjRjNDhhZDY3NjFh
Y2UxNjhmZTZhM2JiMDRkNTM5Mzc3YWEwYjFjMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0NTU0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUu
aApAQCAtNjcsNiArNjcsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXN1bWVBbmltYXRpb25zKCk7
CiAgICAgdm9pZCBhbmltYXRpb25GcmFtZUNhbGxiYWNrRmlyZWQoKTsKIAorICAgIHZvaWQgdXBk
YXRlVGhyb3R0bGluZ1N0YXRlKCk7CisgICAgU2Vjb25kcyBhbmltYXRpb25JbnRlcnZhbCgpIGNv
bnN0OworCiAgICAgdm9pZCBzdXNwZW5kQW5pbWF0aW9uc0ZvckRvY3VtZW50KERvY3VtZW50Kik7
CiAgICAgdm9pZCByZXN1bWVBbmltYXRpb25zRm9yRG9jdW1lbnQoRG9jdW1lbnQqKTsKICAgICBi
b29sIGFuaW1hdGlvbnNBcmVTdXNwZW5kZWRGb3JEb2N1bWVudChEb2N1bWVudCopOwpAQCAtODUs
NyArODgsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBjb21wdXRlRXh0ZW50T2ZBbmltYXRpb24oUmVu
ZGVyRWxlbWVudCYsIExheW91dFJlY3QmKSBjb25zdDsKIAogICAgIGRvdWJsZSBiZWdpbkFuaW1h
dGlvblVwZGF0ZVRpbWUoKTsKLSAgICB2b2lkIHNldEJlZ2luQW5pbWF0aW9uVXBkYXRlVGltZShk
b3VibGUgdCkgeyBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGltZSA9IHQ7IH0KICAgICAKICAgICB2
b2lkIGJlZ2luQW5pbWF0aW9uVXBkYXRlKCk7CiAgICAgdm9pZCBlbmRBbmltYXRpb25VcGRhdGUo
KTsKQEAgLTEzNSw3ICsxMzcsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxSZWY8RWxlbWVudD4+
IG1fZWxlbWVudENoYW5nZXNUb0Rpc3BhdGNoOwogICAgIEhhc2hTZXQ8RG9jdW1lbnQqPiBtX3N1
c3BlbmRlZERvY3VtZW50czsKIAotICAgIGRvdWJsZSBtX2JlZ2luQW5pbWF0aW9uVXBkYXRlVGlt
ZTsKKyAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gbV9iZWdpbkFuaW1hdGlvblVwZGF0ZVRpbWU7
CiAKICAgICB1c2luZyBBbmltYXRpb25zU2V0ID0gSGFzaFNldDxSZWZQdHI8QW5pbWF0aW9uQmFz
ZT4+OwogICAgIEFuaW1hdGlvbnNTZXQgbV9hbmltYXRpb25zV2FpdGluZ0ZvclN0eWxlOwpAQCAt
MTQ0LDcgKzE0Niw3IEBAIHByaXZhdGU6CiAgICAgaW50IG1fYmVnaW5BbmltYXRpb25VcGRhdGVD
b3VudDsKIAogICAgIGJvb2wgbV93YWl0aW5nRm9yQXN5bmNTdGFydE5vdGlmaWNhdGlvbjsKLSAg
ICBib29sIG1faXNTdXNwZW5kZWQ7CisgICAgYm9vbCBtX2lzU3VzcGVuZGVkIHsgZmFsc2UgfTsK
IAogICAgIC8vIFVzZWQgdG8gZmxhZyB3aGV0aGVyIHdlIHNob3VsZCByZXZlcnQgdG8gcHJldmlv
dXMgYnVnZ3kKICAgICAvLyBiZWhhdmlvciBvZiBhbGxvd2luZyBuZXcgdHJhbnNpdGlvbnMgYW5k
IGFuaW1hdGlvbnMgdG8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA5N2Vi
Mjc1NzdiZDQzNTM1OTg0YzNjMGQ1ZjBlZWFlNDNlYjI2OWMyLi5mYmE4NzAxYmVjNzFhNDc2ZWMz
NDVjNjNkZDQ1NTRlYjQzOTc1NWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CkBAIC03NzksNiArNzc5LDE1IEBAIEV4Y2VwdGlvbk9yPGJvb2w+IEludGVybmFsczo6YW5pbWF0
aW9uc0FyZVN1c3BlbmRlZCgpIGNvbnN0CiAgICAgcmV0dXJuIGRvY3VtZW50LT5mcmFtZSgpLT5h
bmltYXRpb24oKS5hbmltYXRpb25zQXJlU3VzcGVuZGVkRm9yRG9jdW1lbnQoZG9jdW1lbnQpOwog
fQogCitkb3VibGUgSW50ZXJuYWxzOjphbmltYXRpb25zSW50ZXJ2YWwoKSBjb25zdAoreworICAg
IERvY3VtZW50KiBkb2N1bWVudCA9IGNvbnRleHREb2N1bWVudCgpOworICAgIGlmICghZG9jdW1l
bnQgfHwgIWRvY3VtZW50LT5mcmFtZSgpKQorICAgICAgICByZXR1cm4gSU5GSU5JVFk7CisKKyAg
ICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPmFuaW1hdGlvbigpLmFuaW1hdGlvbkludGVydmFs
KCkudmFsdWUoKTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxzOjpzdXNwZW5kQW5p
bWF0aW9ucygpIGNvbnN0CiB7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29udGV4dERvY3Vt
ZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA2YWU2Mzk0ZTRjZjIyYWU1
NmEwY2JlMjcwYmQzMTBhODBmNTUwNmRjLi4yYmUxMDQyN2NjNzMxNjA2ZjEyMmQwMGY4ZTNiMjNl
MTBiZDRhNmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTE0Nyw2ICsxNDcs
NyBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gcmVzdW1lQW5pbWF0aW9ucygpIGNv
bnN0OwogICAgIEV4Y2VwdGlvbk9yPGJvb2w+IHBhdXNlQW5pbWF0aW9uQXRUaW1lT25FbGVtZW50
KGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSwgZG91YmxlIHBhdXNlVGltZSwgRWxlbWVudCYp
OwogICAgIEV4Y2VwdGlvbk9yPGJvb2w+IHBhdXNlQW5pbWF0aW9uQXRUaW1lT25Qc2V1ZG9FbGVt
ZW50KGNvbnN0IFN0cmluZyYgYW5pbWF0aW9uTmFtZSwgZG91YmxlIHBhdXNlVGltZSwgRWxlbWVu
dCYsIGNvbnN0IFN0cmluZyYgcHNldWRvSWQpOworICAgIGRvdWJsZSBhbmltYXRpb25zSW50ZXJ2
YWwoKSBjb25zdDsKIAogICAgIC8vIENTUyBUcmFuc2l0aW9uIHRlc3RpbmcuCiAgICAgRXhjZXB0
aW9uT3I8Ym9vbD4gcGF1c2VUcmFuc2l0aW9uQXRUaW1lT25FbGVtZW50KGNvbnN0IFN0cmluZyYg
cHJvcGVydHlOYW1lLCBkb3VibGUgcGF1c2VUaW1lLCBFbGVtZW50Jik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKaW5kZXggMWE1NmE0ZmI5NGRjMDg0N2IxNTZlYzk5OGQ5MzIyMDZl
MmU4YmY1My4uNzkxNDM5NTNmYTZiZDM0MjE3MTlmMTEzNGY4ZDY5ZmE0NmYyMTlmMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTM1LDYgKzEzNSw3IEBAIGVudW0gRXZl
bnRUaHJvdHRsaW5nQmVoYXZpb3IgewogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBh
bmltYXRpb25zQXJlU3VzcGVuZGVkKCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSBib29sZWFu
IHBhdXNlQW5pbWF0aW9uQXRUaW1lT25FbGVtZW50KERPTVN0cmluZyBhbmltYXRpb25OYW1lLCB1
bnJlc3RyaWN0ZWQgZG91YmxlIHBhdXNlVGltZSwgRWxlbWVudCBlbGVtZW50KTsKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIGJvb2xlYW4gcGF1c2VBbmltYXRpb25BdFRpbWVPblBzZXVkb0VsZW1l
bnQoRE9NU3RyaW5nIGFuaW1hdGlvbk5hbWUsIHVucmVzdHJpY3RlZCBkb3VibGUgcGF1c2VUaW1l
LCBFbGVtZW50IGVsZW1lbnQsIERPTVN0cmluZyBwc2V1ZG9JZCk7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGRvdWJsZSBhbmltYXRpb25zSW50ZXJ2YWw7CiAKICAgICAvLyBDU1MgVHJhbnNpdGlv
biB0ZXN0aW5nLgogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiBwYXVzZVRyYW5zaXRp
b25BdFRpbWVPbkVsZW1lbnQoRE9NU3RyaW5nIHByb3BlcnR5TmFtZSwgdW5yZXN0cmljdGVkIGRv
dWJsZSBwYXVzZVRpbWUsIEVsZW1lbnQgZWxlbWVudCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGI5N2MwOWY3NzQ4NGRi
NmMxYjNkNWU3ZTJhZTkxMzFkZWUxMTZhNC4uNTE1NWYwZGIzYmVlMTNiYjg2NzZiMjcwY2FkZDVk
MDZmYTA0OWU5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAzLTA2ICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gVGhyb3R0bGUgQ1NTIGFuaW1h
dGlvbnMgdG8gMzBmcHMgaW4gbG93IHBvd2VyIG1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTEzOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzA4Mzc4MDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGxheW91dCB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogZmFzdC9hbmltYXRpb24v
Y3NzLWFuaW1hdGlvbi10aHJvdHRsaW5nLWxvd1Bvd2VyTW9kZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvYW5pbWF0aW9uL2Nzcy1hbmltYXRpb24tdGhyb3R0bGluZy1sb3dQ
b3dlck1vZGUuaHRtbDogQWRkZWQuCisKIDIwMTctMDMtMDMgIEphdmllciBGZXJuYW5kZXogIDxq
ZmVybmFuZGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gVW5yZXZpZXdlZCB0ZXN0IGdh
cmRlbmluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24vY3NzLWFuaW1h
dGlvbi10aHJvdHRsaW5nLWxvd1Bvd2VyTW9kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2FuaW1hdGlvbi9jc3MtYW5pbWF0aW9uLXRocm90dGxpbmctbG93UG93ZXJNb2RlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40ZDVkYWFmZTI2ZGRiMDA3NDAyMzA2ZWY4YmMyNWMwMDhiNjZh
OGQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24vY3NzLWFu
aW1hdGlvbi10aHJvdHRsaW5nLWxvd1Bvd2VyTW9kZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NCBAQAorVGVzdHMgdGhhdCBDU1MgYW5pbWF0aW9ucyBhcmUgdGhyb3R0bGVkIGluIGxvdyBwb3dl
ciBtb2RlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBpbnRlcm5hbHMu
YW5pbWF0aW9uc0ludGVydmFsIGlzIDAuMDE1CitpbnRlcm5hbHMuc2V0TG93UG93ZXJNb2RlRW5h
YmxlZCh0cnVlKQorUEFTUyBpbnRlcm5hbHMuYW5pbWF0aW9uc0ludGVydmFsIGlzIDAuMDMwCitp
bnRlcm5hbHMuc2V0TG93UG93ZXJNb2RlRW5hYmxlZChmYWxzZSkKK1BBU1MgaW50ZXJuYWxzLmFu
aW1hdGlvbnNJbnRlcnZhbCBpcyAwLjAxNQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCitUZXN0IHRleHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvYW5pbWF0aW9uL2Nzcy1hbmltYXRpb24tdGhyb3R0bGluZy1sb3dQb3dlck1vZGUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvYW5pbWF0aW9uL2Nzcy1hbmltYXRpb24tdGhyb3R0bGluZy1sb3dQ
b3dlck1vZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iN2QwNTY0MmIzMWU1ZjI4YjI4ZmM1NDM4ZDIzM2Zh
NWJlYTc5ZmQ0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24v
Y3NzLWFuaW1hdGlvbi10aHJvdHRsaW5nLWxvd1Bvd2VyTW9kZS5odG1sCkBAIC0wLDAgKzEsNDIg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorQGtleWZyYW1lcyBt
eS1hbmltYXRpb24geyAgICAgICAgCisgIGZyb20geworICAgIGxlZnQgOiAwcHg7CisgIH0KKyAg
dG8geworICAgIGxlZnQgOiAxMDBweDsKKyAgfSAgICAgIAorfQorCisucnVuLWFuaW1hdGlvbiB7
CisgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgYW5pbWF0aW9uOiBteS1hbmltYXRpb24gMC41cyBp
bmZpbml0ZTsKKyAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9InRlc3RFbGVtZW50IiBjbGFzcz0icnVuLWFuaW1hdGlv
biI+VGVzdCB0ZXh0PC9wPgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IENTUyBh
bmltYXRpb25zIGFyZSB0aHJvdHRsZWQgaW4gbG93IHBvd2VyIG1vZGUuIik7Citqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKworY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
ZXN0RWxlbWVudCIpOworZWxlbWVudC5vbmFuaW1hdGlvbnN0YXJ0ID0gZnVuY3Rpb24oKSB7Cisg
ICAgZWxlbWVudC5vbmFuaW1hdGlvbnN0YXJ0ID0gbnVsbDsKKworICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMuYW5pbWF0aW9uc0ludGVydmFsIiwgIjAuMDE1Iik7CisgICAgZXZhbEFuZExvZygiaW50
ZXJuYWxzLnNldExvd1Bvd2VyTW9kZUVuYWJsZWQodHJ1ZSkiKTsKKyAgICBzaG91bGRCZSgiaW50
ZXJuYWxzLmFuaW1hdGlvbnNJbnRlcnZhbCIsICIwLjAzMCIpOworICAgIGV2YWxBbmRMb2coImlu
dGVybmFscy5zZXRMb3dQb3dlck1vZGVFbmFibGVkKGZhbHNlKSIpOworICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMuYW5pbWF0aW9uc0ludGVydmFsIiwgIjAuMDE1Iik7CisgICAgZmluaXNoSlNUZXN0
KCk7Cit9OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>