<?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>131011</bug_id>
          
          <creation_ts>2014-03-31 23:21:33 -0700</creation_ts>
          <short_desc>[UI-side compositing] Fix animations, and add logging</short_desc>
          <delta_ts>2014-04-01 08:30:11 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>dino</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>996141</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-31 23:21:33 -0700</bug_when>
    <thetext>[UI-side compositing] Fix animations, and add logging</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996142</commentid>
    <comment_count>1</comment_count>
      <attachid>228244</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-31 23:22:37 -0700</bug_when>
    <thetext>Created attachment 228244
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996143</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-31 23:24:07 -0700</bug_when>
    <thetext>Some sample logging:

    (layer 75
      (name GraphicsLayer(0x7fa5a1501030) RenderBlock DIV class=&apos;box&apos;)
      (children 76)
      (position 58.00 58.00 0.00)
      (size width=100 height=100)
      (transform 
        [0.71 0.71 0.00 0.00]
        [-0.71 0.71 0.00 0.00]
        [0.00 0.00 1.00 0.00]
        [100.00 200.00 0.00 1.00])
      (opaque 1)
      (contentsScale 1.20)
      (animation -|transition1-_1_0_0 type=basic keyPath=transform
        (duration 2.00)
        (repeatCount 1.00)
        (fillMode forwards)
        (valueFunction none)
        (removedOnCompletion 0)
        (keyframes
          (keyframe 0
            (timing function cubic-bezier(0.25, 0.10, 0.25, 1.00))
            (value transform=
              [1.20 0.00 0.00 0.00]
              [0.00 1.20 0.00 0.00]
              [0.00 0.00 1.00 0.00]
              [0.00 0.00 0.00 1.00]))
          (keyframe 1
            (value transform=
              [0.71 0.71 0.00 0.00]
              [-0.71 0.71 0.00 0.00]
              [0.00 0.00 1.00 0.00]
              [100.00 200.00 0.00 1.00])))
      (removed animation -|transition1-_1_0_0))


    (layer 42
      (name GraphicsLayer(0x7fe7ce000e30) RenderBlock (relative positioned) DIV class=&apos;animating box&apos;)
      (position 108.00 100.00 0.00)
      (size width=128 height=128)
      (opaque 0)
      (backingStore width=128 height=128 scale=1.00)
      (animation move_1_0_0 type=keyframe keyPath=transform
        (duration 3.00)
        (repeatCount 1.00)
        (fillMode forwards)
        (valueFunction translate)
        (removedOnCompletion 0)
        (keyframes
          (keyframe 0
            (time 0.00)
            (timing function linear)
            (value point=0.00 0.00 0.00))
          (keyframe 1
            (time 0.25)
            (timing function linear)
            (value point=10.00 50.00 0.00))
          (keyframe 2
            (time 0.75)
            (timing function linear)
            (value point=50.00 10.00 0.00))
          (keyframe 3
            (time 1.00)
            (value point=100.00 100.00 0.00)))
      (removed animation move_1_0_0)))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996177</commentid>
    <comment_count>3</comment_count>
      <attachid>228244</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-04-01 01:04:07 -0700</bug_when>
    <thetext>Comment on attachment 228244
Patch

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

&gt; Source/WebKit2/ChangeLog:9
&gt; +        never call the superclass, so fix.

calls? called?

&gt; Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm:29
&gt; +#import &lt;algorithm&gt;

this is sorted wrong</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996280</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-04-01 08:30:11 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/166588</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228244</attachid>
            <date>2014-03-31 23:22:37 -0700</date>
            <delta_ts>2014-04-01 01:04:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131011-20140331232226.patch</filename>
            <type>text/plain</type>
            <size>13090</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2NTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjZhMjQ3MWZiYWJmNTJh
YzcwMzUzMWU5N2ZjZDgyZThjYTQ1ODYwNy4uNmVmNjRmZThmOWU0MjkyNTJiY2Q5YWM5YmQ0OGYz
YWJkYTllNjEyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI0IEBACiAyMDE0LTAzLTMxICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIFtVSS1zaWRlIGNv
bXBvc2l0aW5nXSBGaXggYW5pbWF0aW9ucywgYW5kIGFkZCBsb2dnaW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzEwMTEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFVJLXNpZGUgYW5pbWF0
aW9ucyB3ZXJlIGJyb2tlbiBiZWNhdXNlIEdyYXBoaWNzTGF5ZXJDQVJlbW90ZTo6YWRkQW5pbWF0
aW9uKCkKKyAgICAgICAgbmV2ZXIgY2FsbCB0aGUgc3VwZXJjbGFzcywgc28gZml4LgorICAgICAg
ICAKKyAgICAgICAgQWRkIGxvZ2dpbmcgZm9yIGFuaW1hdGlvbnMgdG8gdGhlIGxheWVyIHRyZWUg
Y29tbWl0IG91dHB1dC4KKworICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJh
bnNhY3Rpb24ubW06CisgICAgICAgIChXZWJLaXQ6OmR1bXBQcm9wZXJ0eSk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRleHRTdHJlYW06Om9wZXJhdG9yPDwpOgorICAgICAgICAo
V2ViS2l0OjpkdW1wQ2hhbmdlZExheWVycyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9HcmFwaGljc0xheWVyQ0FSZW1vdGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpHcmFwaGlj
c0xheWVyQ0FSZW1vdGU6OmFkZEFuaW1hdGlvbik6CisKKzIwMTQtMDMtMzEgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKICAgICAgICAgRml4IHRoZSBpT1MgYnVpbGQu
CiAKICAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1JlbW90ZUxheWVyVHJlZUhvc3RJT1MubW06CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5z
YWN0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFu
c2FjdGlvbi5tbQppbmRleCA3NmUxMjM4ZWQ2NzBmOGM5OTgzMzNjOGNhM2E3M2UwMDA5YmNjYjgw
Li5mMzU1N2NhZjZjY2FiYjBkMTMwYTI1YjAyMWQxNTJlNjY3NjQ2MDQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24u
bW0KQEAgLTI2LDEzICsyNiwxNiBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbi5oIgogCisjaW1wb3J0IDxhbGdvcml0aG0+CiAjaW1wb3J0
ICJBcmd1bWVudENvZGVycy5oIgogI2ltcG9ydCAiTWVzc2FnZURlY29kZXIuaCIKICNpbXBvcnQg
Ik1lc3NhZ2VFbmNvZGVyLmgiCisjaW1wb3J0ICJQbGF0Zm9ybUNBQW5pbWF0aW9uUmVtb3RlLmgi
CiAjaW1wb3J0ICJQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuaCIKICNpbXBvcnQgIldlYkNvcmVBcmd1
bWVudENvZGVycy5oIgogI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1RleHRTdHJlYW0uaD4KKyNpbXBvcnQgPFdlYkNvcmUvVGltaW5nRnVuY3Rpb24u
aD4KICNpbXBvcnQgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmlu
Z0J1aWxkZXIuaD4KIApAQCAtNTU3LDkgKzU2MCwxNSBAQCBwdWJsaWM6CiAgICAgUmVtb3RlTGF5
ZXJUcmVlVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChGbG9hdFBvaW50M0QpOwogICAgIFJlbW90ZUxh
eWVyVHJlZVRleHRTdHJlYW0mIG9wZXJhdG9yPDwoQ29sb3IpOwogICAgIFJlbW90ZUxheWVyVHJl
ZVRleHRTdHJlYW0mIG9wZXJhdG9yPDwoRmxvYXRSZWN0KTsKLSAgICBSZW1vdGVMYXllclRyZWVU
ZXh0U3RyZWFtJiBvcGVyYXRvcjw8KGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpHcmFwaGljc0xheWVy
OjpQbGF0Zm9ybUxheWVySUQ+JiBsYXllcnMpOworICAgIFJlbW90ZUxheWVyVHJlZVRleHRTdHJl
YW0mIG9wZXJhdG9yPDwoY29uc3QgVmVjdG9yPFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRm
b3JtTGF5ZXJJRD4mKTsKICAgICBSZW1vdGVMYXllclRyZWVUZXh0U3RyZWFtJiBvcGVyYXRvcjw8
KGNvbnN0IEZpbHRlck9wZXJhdGlvbnMmKTsKLSAgICBSZW1vdGVMYXllclRyZWVUZXh0U3RyZWFt
JiBvcGVyYXRvcjw8KGNvbnN0IFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiBiYWNraW5nU3RvcmUp
OworICAgIFJlbW90ZUxheWVyVHJlZVRleHRTdHJlYW0mIG9wZXJhdG9yPDwoY29uc3QgUGxhdGZv
cm1DQUFuaW1hdGlvblJlbW90ZTo6UHJvcGVydGllcyYpOworICAgIFJlbW90ZUxheWVyVHJlZVRl
eHRTdHJlYW0mIG9wZXJhdG9yPDwoY29uc3QgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmKTsKKyAg
ICBSZW1vdGVMYXllclRyZWVUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFBsYXRmb3JtQ0FBbmltYXRp
b246OkFuaW1hdGlvblR5cGUpOworICAgIFJlbW90ZUxheWVyVHJlZVRleHRTdHJlYW0mIG9wZXJh
dG9yPDwoUGxhdGZvcm1DQUFuaW1hdGlvbjo6RmlsbE1vZGVUeXBlKTsKKyAgICBSZW1vdGVMYXll
clRyZWVUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFBsYXRmb3JtQ0FBbmltYXRpb246OlZhbHVlRnVu
Y3Rpb25UeXBlKTsKKyAgICBSZW1vdGVMYXllclRyZWVUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KGNv
bnN0IFRpbWluZ0Z1bmN0aW9uJik7CisgICAgUmVtb3RlTGF5ZXJUcmVlVGV4dFN0cmVhbSYgb3Bl
cmF0b3I8PChjb25zdCBQbGF0Zm9ybUNBQW5pbWF0aW9uUmVtb3RlOjpLZXlmcmFtZVZhbHVlJik7
CiAKICAgICB2b2lkIGluY3JlYXNlSW5kZW50KCkgeyArK21faW5kZW50OyB9CiAgICAgdm9pZCBk
ZWNyZWFzZUluZGVudCgpIHsgLS1tX2luZGVudDsgQVNTRVJUKG1faW5kZW50ID49IDApOyB9CkBA
IC01NzAsNiArNTc5LDE3IEBAIHByaXZhdGU6CiAgICAgaW50IG1faW5kZW50OwogfTsKIAordGVt
cGxhdGUgPGNsYXNzIFQ+CitzdGF0aWMgdm9pZCBkdW1wUHJvcGVydHkoUmVtb3RlTGF5ZXJUcmVl
VGV4dFN0cmVhbSYgdHMsIFN0cmluZyBuYW1lLCBUIHZhbHVlKQoreworICAgIHRzIDw8ICJcbiI7
CisgICAgdHMuaW5jcmVhc2VJbmRlbnQoKTsKKyAgICB0cy53cml0ZUluZGVudCgpOworICAgIHRz
IDw8ICIoIiA8PCBuYW1lIDw8ICIgIjsKKyAgICB0cyA8PCB2YWx1ZSA8PCAiKSI7CisgICAgdHMu
ZGVjcmVhc2VJbmRlbnQoKTsKK30KKwogUmVtb3RlTGF5ZXJUcmVlVGV4dFN0cmVhbSYgUmVtb3Rl
TGF5ZXJUcmVlVGV4dFN0cmVhbTo6b3BlcmF0b3I8PChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCYgdHJhbnNmb3JtKQogewogICAgIFJlbW90ZUxheWVyVHJlZVRleHRTdHJlYW0mIHRzID0gKnRo
aXM7CkBAIC02NjAsNiArNjgwLDE2NSBAQCBSZW1vdGVMYXllclRyZWVUZXh0U3RyZWFtJiBSZW1v
dGVMYXllclRyZWVUZXh0U3RyZWFtOjpvcGVyYXRvcjw8KGNvbnN0IEZpbHRlck9wZQogICAgIHJl
dHVybiB0czsKIH0KIAorUmVtb3RlTGF5ZXJUcmVlVGV4dFN0cmVhbSYgUmVtb3RlTGF5ZXJUcmVl
VGV4dFN0cmVhbTo6b3BlcmF0b3I8PChQbGF0Zm9ybUNBQW5pbWF0aW9uOjpBbmltYXRpb25UeXBl
IHR5cGUpCit7CisgICAgUmVtb3RlTGF5ZXJUcmVlVGV4dFN0cmVhbSYgdHMgPSAqdGhpczsKKyAg
ICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIFBsYXRmb3JtQ0FBbmltYXRpb246OkJhc2ljOiB0
cyA8PCAiYmFzaWMiOyBicmVhazsKKyAgICBjYXNlIFBsYXRmb3JtQ0FBbmltYXRpb246OktleWZy
YW1lOiB0cyA8PCAia2V5ZnJhbWUiOyBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIHRzOworfQor
CitSZW1vdGVMYXllclRyZWVUZXh0U3RyZWFtJiBSZW1vdGVMYXllclRyZWVUZXh0U3RyZWFtOjpv
cGVyYXRvcjw8KFBsYXRmb3JtQ0FBbmltYXRpb246OkZpbGxNb2RlVHlwZSB0eXBlKQoreworICAg
IFJlbW90ZUxheWVyVHJlZVRleHRTdHJlYW0mIHRzID0gKnRoaXM7CisgICAgc3dpdGNoICh0eXBl
KSB7CisgICAgY2FzZSBQbGF0Zm9ybUNBQW5pbWF0aW9uOjpOb0ZpbGxNb2RlOiB0cyA8PCAibm9u
ZSI7IGJyZWFrOworICAgIGNhc2UgUGxhdGZvcm1DQUFuaW1hdGlvbjo6Rm9yd2FyZHM6IHRzIDw8
ICJmb3J3YXJkcyI7IGJyZWFrOworICAgIGNhc2UgUGxhdGZvcm1DQUFuaW1hdGlvbjo6QmFja3dh
cmRzOiB0cyA8PCAiYmFja3dhcmRzIjsgYnJlYWs7CisgICAgY2FzZSBQbGF0Zm9ybUNBQW5pbWF0
aW9uOjpCb3RoOiB0cyA8PCAiYm90aCI7IGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gdHM7Cit9
CisKK1JlbW90ZUxheWVyVHJlZVRleHRTdHJlYW0mIFJlbW90ZUxheWVyVHJlZVRleHRTdHJlYW06
Om9wZXJhdG9yPDwoUGxhdGZvcm1DQUFuaW1hdGlvbjo6VmFsdWVGdW5jdGlvblR5cGUgdHlwZSkK
K3sKKyAgICBSZW1vdGVMYXllclRyZWVUZXh0U3RyZWFtJiB0cyA9ICp0aGlzOworICAgIHN3aXRj
aCAodHlwZSkgeworICAgIGNhc2UgUGxhdGZvcm1DQUFuaW1hdGlvbjo6Tm9WYWx1ZUZ1bmN0aW9u
OiB0cyA8PCAibm9uZSI7IGJyZWFrOworICAgIGNhc2UgUGxhdGZvcm1DQUFuaW1hdGlvbjo6Um90
YXRlWDogdHMgPDwgInJvdGF0ZVgiOyBicmVhazsKKyAgICBjYXNlIFBsYXRmb3JtQ0FBbmltYXRp
b246OlJvdGF0ZVk6IHRzIDw8ICJyb3RhdGVZIjsgYnJlYWs7CisgICAgY2FzZSBQbGF0Zm9ybUNB
QW5pbWF0aW9uOjpSb3RhdGVaOiB0cyA8PCAicm90YXRlWCI7IGJyZWFrOworICAgIGNhc2UgUGxh
dGZvcm1DQUFuaW1hdGlvbjo6U2NhbGVYOiB0cyA8PCAic2NhbGVYIjsgYnJlYWs7CisgICAgY2Fz
ZSBQbGF0Zm9ybUNBQW5pbWF0aW9uOjpTY2FsZVk6IHRzIDw8ICJzY2FsZVkiOyBicmVhazsKKyAg
ICBjYXNlIFBsYXRmb3JtQ0FBbmltYXRpb246OlNjYWxlWjogdHMgPDwgInNjYWxlWCI7IGJyZWFr
OworICAgIGNhc2UgUGxhdGZvcm1DQUFuaW1hdGlvbjo6U2NhbGU6IHRzIDw8ICJzY2FsZSI7IGJy
ZWFrOworICAgIGNhc2UgUGxhdGZvcm1DQUFuaW1hdGlvbjo6VHJhbnNsYXRlWDogdHMgPDwgInRy
YW5zbGF0ZVgiOyBicmVhazsKKyAgICBjYXNlIFBsYXRmb3JtQ0FBbmltYXRpb246OlRyYW5zbGF0
ZVk6IHRzIDw8ICJ0cmFuc2xhdGVZIjsgYnJlYWs7CisgICAgY2FzZSBQbGF0Zm9ybUNBQW5pbWF0
aW9uOjpUcmFuc2xhdGVaOiB0cyA8PCAidHJhbnNsYXRlWiI7IGJyZWFrOworICAgIGNhc2UgUGxh
dGZvcm1DQUFuaW1hdGlvbjo6VHJhbnNsYXRlOiB0cyA8PCAidHJhbnNsYXRlIjsgYnJlYWs7Cisg
ICAgfQorICAgIHJldHVybiB0czsKK30KKworUmVtb3RlTGF5ZXJUcmVlVGV4dFN0cmVhbSYgUmVt
b3RlTGF5ZXJUcmVlVGV4dFN0cmVhbTo6b3BlcmF0b3I8PChjb25zdCBQbGF0Zm9ybUNBQW5pbWF0
aW9uUmVtb3RlOjpLZXlmcmFtZVZhbHVlJiB2YWx1ZSkKK3sKKyAgICBSZW1vdGVMYXllclRyZWVU
ZXh0U3RyZWFtJiB0cyA9ICp0aGlzOworCisgICAgc3dpdGNoICh2YWx1ZS5rZXlmcmFtZVR5cGUo
KSkgeworICAgIGNhc2UgUGxhdGZvcm1DQUFuaW1hdGlvblJlbW90ZTo6S2V5ZnJhbWVWYWx1ZTo6
TnVtYmVyS2V5VHlwZToKKyAgICAgICAgdHMgPDwgIm51bWJlcj0iIDw8IHZhbHVlLm51bWJlclZh
bHVlKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUGxhdGZvcm1DQUFuaW1hdGlvblJlbW90
ZTo6S2V5ZnJhbWVWYWx1ZTo6Q29sb3JLZXlUeXBlOgorICAgICAgICB0cyA8PCAiY29sb3I9IjsK
KyAgICAgICAgdHMgPDwgdmFsdWUuY29sb3JWYWx1ZSgpOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFBsYXRmb3JtQ0FBbmltYXRpb25SZW1vdGU6OktleWZyYW1lVmFsdWU6OlBvaW50S2V5VHlw
ZToKKyAgICAgICAgdHMgPDwgInBvaW50PSI7CisgICAgICAgIHRzIDw8IHZhbHVlLnBvaW50VmFs
dWUoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQbGF0Zm9ybUNBQW5pbWF0aW9uUmVtb3Rl
OjpLZXlmcmFtZVZhbHVlOjpUcmFuc2Zvcm1LZXlUeXBlOgorICAgICAgICB0cyA8PCAidHJhbnNm
b3JtPSI7CisgICAgICAgIHRzIDw8IHZhbHVlLnRyYW5zZm9ybVZhbHVlKCk7CisgICAgICAgIGJy
ZWFrOworICAgIH0KKyAgICByZXR1cm4gdHM7Cit9CisKK1JlbW90ZUxheWVyVHJlZVRleHRTdHJl
YW0mIFJlbW90ZUxheWVyVHJlZVRleHRTdHJlYW06Om9wZXJhdG9yPDwoY29uc3QgVGltaW5nRnVu
Y3Rpb24mIHRpbWluZ0Z1bmN0aW9uKQoreworICAgIFJlbW90ZUxheWVyVHJlZVRleHRTdHJlYW0m
IHRzID0gKnRoaXM7CisgICAgc3dpdGNoICh0aW1pbmdGdW5jdGlvbi50eXBlKCkpIHsKKyAgICBj
YXNlIFRpbWluZ0Z1bmN0aW9uOjpMaW5lYXJGdW5jdGlvbjoKKyAgICAgICAgdHMgPDwgImxpbmVh
ciI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgVGltaW5nRnVuY3Rpb246OkN1YmljQmV6aWVy
RnVuY3Rpb246IHsKKyAgICAgICAgY29uc3QgQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbiYgY3Vi
aWNCZXppZXJGdW5jdGlvbiA9IHN0YXRpY19jYXN0PGNvbnN0IEN1YmljQmV6aWVyVGltaW5nRnVu
Y3Rpb24mPih0aW1pbmdGdW5jdGlvbik7CisgICAgICAgIHRzIDw8ICJjdWJpYy1iZXppZXIoIiA8
PCBjdWJpY0JlemllckZ1bmN0aW9uLngxKCkgPDwgIiwgIiA8PCBjdWJpY0JlemllckZ1bmN0aW9u
LnkxKCkgPDwgIiwgIiA8PCAgY3ViaWNCZXppZXJGdW5jdGlvbi54MigpIDw8ICIsICIgPDwgY3Vi
aWNCZXppZXJGdW5jdGlvbi55MigpIDw8ICIpIjsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAg
IGNhc2UgVGltaW5nRnVuY3Rpb246OlN0ZXBzRnVuY3Rpb246IHsKKyAgICAgICAgY29uc3QgU3Rl
cHNUaW1pbmdGdW5jdGlvbiYgc3RlcHNGdW5jdGlvbiA9IHN0YXRpY19jYXN0PGNvbnN0IFN0ZXBz
VGltaW5nRnVuY3Rpb24mPih0aW1pbmdGdW5jdGlvbik7CisgICAgICAgIHRzIDw8ICJzdGVwcygi
IDw8IHN0ZXBzRnVuY3Rpb24ubnVtYmVyT2ZTdGVwcygpIDw8ICIsICIgPDwgKHN0ZXBzRnVuY3Rp
b24uc3RlcEF0U3RhcnQoKSA/ICJzdGFydCIgOiAiZW5kIikgPDwgIikiOworICAgICAgICBicmVh
azsKKyAgICB9CisgICAgfQorICAgIHJldHVybiB0czsKK30KKworUmVtb3RlTGF5ZXJUcmVlVGV4
dFN0cmVhbSYgUmVtb3RlTGF5ZXJUcmVlVGV4dFN0cmVhbTo6b3BlcmF0b3I8PChjb25zdCBQbGF0
Zm9ybUNBQW5pbWF0aW9uUmVtb3RlOjpQcm9wZXJ0aWVzJiBhbmltYXRpb24pCit7CisgICAgUmVt
b3RlTGF5ZXJUcmVlVGV4dFN0cmVhbSYgdHMgPSAqdGhpczsKKworICAgIHRzIDw8ICJ0eXBlPSI7
CisgICAgdHMgPDwgYW5pbWF0aW9uLmFuaW1hdGlvblR5cGU7CisgICAgdHMgPDwgIiBrZXlQYXRo
PSI7CisgICAgdHMgPDwgYW5pbWF0aW9uLmtleVBhdGg7CisKKyAgICBpZiAoYW5pbWF0aW9uLmJl
Z2luVGltZSkKKyAgICAgICAgZHVtcFByb3BlcnR5KHRzLCAiYmVnaW5UaW1lIiwgYW5pbWF0aW9u
LmJlZ2luVGltZSk7CisKKyAgICBpZiAoYW5pbWF0aW9uLmR1cmF0aW9uKQorICAgICAgICBkdW1w
UHJvcGVydHkodHMsICJkdXJhdGlvbiIsIGFuaW1hdGlvbi5kdXJhdGlvbik7CisKKyAgICBpZiAo
YW5pbWF0aW9uLnRpbWVPZmZzZXQpCisgICAgICAgIGR1bXBQcm9wZXJ0eSh0cywgInRpbWVPZmZz
ZXQiLCBhbmltYXRpb24udGltZU9mZnNldCk7CisKKyAgICBkdW1wUHJvcGVydHkodHMsICJyZXBl
YXRDb3VudCIsIGFuaW1hdGlvbi5yZXBlYXRDb3VudCk7CisKKyAgICBpZiAoYW5pbWF0aW9uLnNw
ZWVkICE9IDEpCisgICAgICAgIGR1bXBQcm9wZXJ0eSh0cywgInNwZWVkIiwgYW5pbWF0aW9uLnNw
ZWVkKTsKKworICAgIGR1bXBQcm9wZXJ0eSh0cywgImZpbGxNb2RlIiwgYW5pbWF0aW9uLmZpbGxN
b2RlKTsKKyAgICBkdW1wUHJvcGVydHkodHMsICJ2YWx1ZUZ1bmN0aW9uIiwgYW5pbWF0aW9uLnZh
bHVlRnVuY3Rpb24pOworCisgICAgaWYgKGFuaW1hdGlvbi5hdXRvUmV2ZXJzZXMpCisgICAgICAg
IGR1bXBQcm9wZXJ0eSh0cywgImF1dG9SZXZlcnNlcyIsIGFuaW1hdGlvbi5hdXRvUmV2ZXJzZXMp
OworCisgICAgaWYgKCFhbmltYXRpb24ucmVtb3ZlZE9uQ29tcGxldGlvbikKKyAgICAgICAgZHVt
cFByb3BlcnR5KHRzLCAicmVtb3ZlZE9uQ29tcGxldGlvbiIsIGFuaW1hdGlvbi5yZW1vdmVkT25D
b21wbGV0aW9uKTsKKworICAgIGlmIChhbmltYXRpb24uYWRkaXRpdmUpCisgICAgICAgIGR1bXBQ
cm9wZXJ0eSh0cywgImFkZGl0aXZlIiwgYW5pbWF0aW9uLmFkZGl0aXZlKTsKKworICAgIGlmIChh
bmltYXRpb24ucmV2ZXJzZVRpbWluZ0Z1bmN0aW9ucykKKyAgICAgICAgZHVtcFByb3BlcnR5KHRz
LCAicmV2ZXJzZVRpbWluZ0Z1bmN0aW9ucyIsIGFuaW1hdGlvbi5yZXZlcnNlVGltaW5nRnVuY3Rp
b25zKTsKKworICAgIGlmIChhbmltYXRpb24uaGFzTm9uWmVyb0JlZ2luVGltZSkKKyAgICAgICAg
ZHVtcFByb3BlcnR5KHRzLCAiaGFzTm9uWmVyb0JlZ2luVGltZSIsIGFuaW1hdGlvbi5oYXNOb25a
ZXJvQmVnaW5UaW1lKTsKKworICAgIHRzIDw8ICJcbiI7CisgICAgdHMuaW5jcmVhc2VJbmRlbnQo
KTsKKyAgICB0cy53cml0ZUluZGVudCgpOworICAgIHRzIDw8ICIoIiA8PCAia2V5ZnJhbWVzIjsK
KyAgICB0cy5pbmNyZWFzZUluZGVudCgpOworCisgICAgc2l6ZV90IG1heEZyYW1lcyA9IHN0ZDo6
bWF4KGFuaW1hdGlvbi5rZXlWYWx1ZXMuc2l6ZSgpLCBhbmltYXRpb24ua2V5VGltZXMuc2l6ZSgp
KTsKKyAgICBtYXhGcmFtZXMgPSBzdGQ6Om1heChtYXhGcmFtZXMsIGFuaW1hdGlvbi50aW1pbmdG
dW5jdGlvbnMuc2l6ZSgpKTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbWF4RnJhbWVz
OyArK2kpIHsKKyAgICAgICAgdHMgPDwgIlxuIjsKKyAgICAgICAgdHMud3JpdGVJbmRlbnQoKTsK
KyAgICAgICAgdHMgPDwgIihrZXlmcmFtZSAiIDw8IHVuc2lnbmVkKGkpOworICAgICAgICBpZiAo
aSA8IGFuaW1hdGlvbi5rZXlUaW1lcy5zaXplKCkpCisgICAgICAgICAgICBkdW1wUHJvcGVydHko
dHMsICJ0aW1lIiwgYW5pbWF0aW9uLmtleVRpbWVzW2ldKTsKKworICAgICAgICBpZiAoaSA8IGFu
aW1hdGlvbi50aW1pbmdGdW5jdGlvbnMuc2l6ZSgpICYmIGFuaW1hdGlvbi50aW1pbmdGdW5jdGlv
bnNbaV0pCisgICAgICAgICAgICBkdW1wUHJvcGVydHk8Y29uc3QgVGltaW5nRnVuY3Rpb24mPih0
cywgInRpbWluZyBmdW5jdGlvbiIsICphbmltYXRpb24udGltaW5nRnVuY3Rpb25zW2ldKTsKKwor
ICAgICAgICBpZiAoaSA8IGFuaW1hdGlvbi5rZXlWYWx1ZXMuc2l6ZSgpKQorICAgICAgICAgICAg
ZHVtcFByb3BlcnR5KHRzLCAidmFsdWUiLCBhbmltYXRpb24ua2V5VmFsdWVzW2ldKTsKKworICAg
ICAgICB0cyA8PCAiKSI7CisgICAgfQorCisgICAgdHMuZGVjcmVhc2VJbmRlbnQoKTsKKyAgICB0
cy5kZWNyZWFzZUluZGVudCgpOworCisgICAgcmV0dXJuIHRzOworfQorCiBSZW1vdGVMYXllclRy
ZWVUZXh0U3RyZWFtJiBSZW1vdGVMYXllclRyZWVUZXh0U3RyZWFtOjpvcGVyYXRvcjw8KEZsb2F0
UG9pbnQzRCBwb2ludCkKIHsKICAgICBSZW1vdGVMYXllclRyZWVUZXh0U3RyZWFtJiB0cyA9ICp0
aGlzOwpAQCAtNzEyLDE3ICs4OTEsNiBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZVRleHRTdHJlYW06
OndyaXRlSW5kZW50KCkKICAgICAgICAgKnRoaXMgPDwgIiAgIjsKIH0KIAotdGVtcGxhdGUgPGNs
YXNzIFQ+Ci1zdGF0aWMgdm9pZCBkdW1wUHJvcGVydHkoUmVtb3RlTGF5ZXJUcmVlVGV4dFN0cmVh
bSYgdHMsIFN0cmluZyBuYW1lLCBUIHZhbHVlKQotewotICAgIHRzIDw8ICJcbiI7Ci0gICAgdHMu
aW5jcmVhc2VJbmRlbnQoKTsKLSAgICB0cy53cml0ZUluZGVudCgpOwotICAgIHRzIDw8ICIoIiA8
PCBuYW1lIDw8ICIgIjsKLSAgICB0cyA8PCB2YWx1ZSA8PCAiKSI7Ci0gICAgdHMuZGVjcmVhc2VJ
bmRlbnQoKTsKLX0KLQogc3RhdGljIHZvaWQgZHVtcENoYW5nZWRMYXllcnMoUmVtb3RlTGF5ZXJU
cmVlVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXll
clByb3BlcnRpZXNNYXAmIGNoYW5nZWRMYXllclByb3BlcnRpZXMpCiB7CiAgICAgaWYgKGNoYW5n
ZWRMYXllclByb3BlcnRpZXMuaXNFbXB0eSgpKQpAQCAtNzUxLDggKzkxOSw2IEBAIHN0YXRpYyB2
b2lkIGR1bXBDaGFuZ2VkTGF5ZXJzKFJlbW90ZUxheWVyVHJlZVRleHRTdHJlYW0mIHRzLCBjb25z
dCBSZW1vdGVMYXllclRyCiAgICAgICAgIGlmIChsYXllclByb3BlcnRpZXMuY2hhbmdlZFByb3Bl
cnRpZXMgJiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6Q2hpbGRyZW5DaGFuZ2VkKQogICAg
ICAgICAgICAgZHVtcFByb3BlcnR5PFZlY3RvcjxHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVy
SUQ+Pih0cywgImNoaWxkcmVuIiwgbGF5ZXJQcm9wZXJ0aWVzLmNoaWxkcmVuKTsKIAotLy8gRklY
TUU6IGR1bXAgYW5pbWF0aW9ucwotCiAgICAgICAgIGlmIChsYXllclByb3BlcnRpZXMuY2hhbmdl
ZFByb3BlcnRpZXMgJiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6UG9zaXRpb25DaGFuZ2Vk
KQogICAgICAgICAgICAgZHVtcFByb3BlcnR5PEZsb2F0UG9pbnQzRD4odHMsICJwb3NpdGlvbiIs
IGxheWVyUHJvcGVydGllcy5wb3NpdGlvbik7CiAKQEAgLTgyNiw2ICs5OTIsMTQgQEAgc3RhdGlj
IHZvaWQgZHVtcENoYW5nZWRMYXllcnMoUmVtb3RlTGF5ZXJUcmVlVGV4dFN0cmVhbSYgdHMsIGNv
bnN0IFJlbW90ZUxheWVyVHIKICAgICAgICAgaWYgKGxheWVyUHJvcGVydGllcy5jaGFuZ2VkUHJv
cGVydGllcyAmIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpGaWx0ZXJzQ2hhbmdlZCkKICAg
ICAgICAgICAgIGR1bXBQcm9wZXJ0eTxGaWx0ZXJPcGVyYXRpb25zPih0cywgImZpbHRlcnMiLCBs
YXllclByb3BlcnRpZXMuZmlsdGVycyA/ICpsYXllclByb3BlcnRpZXMuZmlsdGVycyA6IEZpbHRl
ck9wZXJhdGlvbnMoKSk7CiAKKyAgICAgICAgaWYgKGxheWVyUHJvcGVydGllcy5jaGFuZ2VkUHJv
cGVydGllcyAmIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpBbmltYXRpb25zQ2hhbmdlZCkg
eworICAgICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBrZXlWYWx1ZVBhaXIgOiBsYXllclByb3Bl
cnRpZXMuYWRkZWRBbmltYXRpb25zKQorICAgICAgICAgICAgICAgIGR1bXBQcm9wZXJ0eTxQbGF0
Zm9ybUNBQW5pbWF0aW9uUmVtb3RlOjpQcm9wZXJ0aWVzPih0cywgImFuaW1hdGlvbiAiICsgIGtl
eVZhbHVlUGFpci5rZXksIGtleVZhbHVlUGFpci52YWx1ZSk7CisKKyAgICAgICAgICAgIGZvciAo
Y29uc3QgYXV0byYgbmFtZSA6IGxheWVyUHJvcGVydGllcy5rZXlQYXRoc09mQW5pbWF0aW9uc1Rv
UmVtb3ZlKQorICAgICAgICAgICAgICAgIGR1bXBQcm9wZXJ0eTxTdHJpbmc+KHRzLCAicmVtb3Zl
ZCBhbmltYXRpb24iLCBuYW1lKTsKKyAgICAgICAgfQorCiAgICAgICAgIGlmIChsYXllclByb3Bl
cnRpZXMuY2hhbmdlZFByb3BlcnRpZXMgJiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6RWRn
ZUFudGlhbGlhc2luZ01hc2tDaGFuZ2VkKQogICAgICAgICAgICAgZHVtcFByb3BlcnR5PHVuc2ln
bmVkPih0cywgImVkZ2VBbnRpYWxpYXNpbmdNYXNrIiwgbGF5ZXJQcm9wZXJ0aWVzLmVkZ2VBbnRp
YWxpYXNpbmdNYXNrKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9HcmFwaGljc0xheWVyQ0FSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9HcmFwaGljc0xheWVyQ0FSZW1vdGUuY3BwCmluZGV4IGQ1Zjc5
NzExMzViZTY5ZTE5ZGQ3NzZjZTVjNDMzM2YxNTRhNjcxMmIuLjk4YjFjNjMzZTRhNjFlZmYwYWEz
MzhhNGI3N2U5MTA2MWViMjAzNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvR3JhcGhpY3NMYXllckNBUmVtb3RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0dyYXBoaWNzTGF5ZXJDQVJlbW90ZS5jcHAKQEAg
LTU4LDE3ICs1OCwxNCBAQCBQYXNzUmVmUHRyPFBsYXRmb3JtQ0FBbmltYXRpb24+IEdyYXBoaWNz
TGF5ZXJDQVJlbW90ZTo6Y3JlYXRlUGxhdGZvcm1DQUFuaW1hdGlvbgogICAgIHJldHVybiBQbGF0
Zm9ybUNBQW5pbWF0aW9uUmVtb3RlOjpjcmVhdGUodHlwZSwga2V5UGF0aCk7CiB9CiAKLWJvb2wg
R3JhcGhpY3NMYXllckNBUmVtb3RlOjphZGRBbmltYXRpb24oY29uc3QgS2V5ZnJhbWVWYWx1ZUxp
c3QmIHZhbHVlTGlzdCwgY29uc3QgRmxvYXRTaXplJiwgY29uc3QgQW5pbWF0aW9uKiBhbmltLCBj
b25zdCBTdHJpbmcmLCBkb3VibGUpCitib29sIEdyYXBoaWNzTGF5ZXJDQVJlbW90ZTo6YWRkQW5p
bWF0aW9uKGNvbnN0IEtleWZyYW1lVmFsdWVMaXN0JiB2YWx1ZUxpc3QsIGNvbnN0IEZsb2F0U2l6
ZSYgYm94U2l6ZSwgY29uc3QgQW5pbWF0aW9uKiBhbmltLCBjb25zdCBTdHJpbmcmIGFuaW1hdGlv
bk5hbWUsIGRvdWJsZSB0aW1lT2Zmc2V0KQogewotICAgIGlmICghYW5pbWF0aW9uQ2FuQmVBY2Nl
bGVyYXRlZCh2YWx1ZUxpc3QsIGFuaW0pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgCiAj
aWYgRU5BQkxFKENTU19GSUxURVJTKQogICAgIGlmICh2YWx1ZUxpc3QucHJvcGVydHkoKSA9PSBB
bmltYXRlZFByb3BlcnR5V2Via2l0RmlsdGVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5k
aWYKICAgICAKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gR3JhcGhpY3NMYXllckNBOjph
ZGRBbmltYXRpb24odmFsdWVMaXN0LCBib3hTaXplLCBhbmltLCBhbmltYXRpb25OYW1lLCB0aW1l
T2Zmc2V0KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>
<flag name="review"
          id="252533"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>