<?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>209996</bug_id>
          
          <creation_ts>2020-04-03 18:28:45 -0700</creation_ts>
          <short_desc>Additional sanity checks in compareAnimationsByCompositeOrder()</short_desc>
          <delta_ts>2020-04-04 15:39:23 -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>Animations</component>
          <version>WebKit Local 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="Doug Kelly">dougk</reporter>
          <assigned_to name="Doug Kelly">dougk</assigned_to>
          <cc>dino</cc>
    
    <cc>ggaren</cc>
    
    <cc>graouts</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1637602</commentid>
    <comment_count>0</comment_count>
    <who name="Doug Kelly">dougk</who>
    <bug_when>2020-04-03 18:28:45 -0700</bug_when>
    <thetext>compareAnimationsByCompositeOrder() is used by std::sort which requires strict weak ordering.  Add additional checks to ensure strict weak ordering is maintained.

&lt;rdar://problem/60199826&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637604</commentid>
    <comment_count>1</comment_count>
      <attachid>395427</attachid>
    <who name="Doug Kelly">dougk</who>
    <bug_when>2020-04-03 18:37:15 -0700</bug_when>
    <thetext>Created attachment 395427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637681</commentid>
    <comment_count>2</comment_count>
      <attachid>395427</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-04-04 08:27:31 -0700</bug_when>
    <thetext>Comment on attachment 395427
Patch

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

&gt; Source/WebCore/animation/WebAnimationUtilities.cpp:87
&gt; +        } else
&gt; +            return !rhsIsCSSAnimation;

If you put this code first as an early return, you can eliminate the nested indentation for twenty lines of code above. I think that would read more clearly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637682</commentid>
    <comment_count>3</comment_count>
      <attachid>395427</attachid>
    <who name="Doug Kelly">dougk</who>
    <bug_when>2020-04-04 08:35:54 -0700</bug_when>
    <thetext>Comment on attachment 395427
Patch

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

&gt;&gt; Source/WebCore/animation/WebAnimationUtilities.cpp:87
&gt;&gt; +            return !rhsIsCSSAnimation;
&gt; 
&gt; If you put this code first as an early return, you can eliminate the nested indentation for twenty lines of code above. I think that would read more clearly.

I think that makes sense... it can probably apply to the same case above, too. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637686</commentid>
    <comment_count>4</comment_count>
      <attachid>395450</attachid>
    <who name="Doug Kelly">dougk</who>
    <bug_when>2020-04-04 09:13:55 -0700</bug_when>
    <thetext>Created attachment 395450
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637748</commentid>
    <comment_count>5</comment_count>
      <attachid>395450</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-04-04 15:04:25 -0700</bug_when>
    <thetext>Comment on attachment 395450
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637752</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-04 15:39:23 -0700</bug_when>
    <thetext>Committed r259538: &lt;https://trac.webkit.org/changeset/259538&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 395450.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395427</attachid>
            <date>2020-04-03 18:37:15 -0700</date>
            <delta_ts>2020-04-04 09:13:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209996-20200403183714.patch</filename>
            <type>text/plain</type>
            <size>3072</size>
            <attacher name="Doug Kelly">dougk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzFjZDg5MWM1YzVjMWMw
NTU0ODk1YWViZjMzYjI1MTlkODkxMTBlOS4uZjM4NGQxNTQ2NjUyNDRiODgwNzg2MWQ4NjMzMTk1
MDhlYjg0NWMyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA0LTAzICBEb3Vn
IEtlbGx5ICA8ZG91Z2tAYXBwbGUuY29tPgorCisgICAgICAgIEFkZGl0aW9uYWwgc2FuaXR5IGNo
ZWNrcyBpbiBjb21wYXJlQW5pbWF0aW9uc0J5Q29tcG9zaXRlT3JkZXIoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5OTk2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgY29tcGFyZUFuaW1hdGlvbnNCeUNv
bXBvc2l0ZU9yZGVyKCkgaXMgdXNlZCBieSBzdGQ6OnNvcnQoKSB3aGljaCByZXF1aXJlcyBzdHJp
Y3Qgd2VhayBvcmRlcmluZy4KKyAgICAgICAgVGhpcyBhZGRzIGFkZGl0aW9uYWwgY2hlY2tzIHRv
IGVuc3VyZSBzdHJpY3Qgd2VhayBvcmRlcmluZyBpcyBtYWludGFpbmVkLCBmaXJzdCBieSBlbnN1
cmluZworICAgICAgICB0aGUgdHJhbnNpdGlvblByb3BlcnR5IHN0cmluZyBpcyBkaWZmZXJlbnQg
YmVmb3JlIHJldHVybmluZyB0aGF0IGNvbXBhcmlzb24sIHRoZW4gYnkgb25seSB1c2luZworICAg
ICAgICBpZiB0aGUgYW5pbWF0aW9uIGlzIGEgQ1NTVHJhbnNpdGlvbiBvciBDU1NBbmltYXRpb24g
aWYgdGhlIGxlZnQgaGFuZCBhbmQgcmlnaHQgaGFuZCBzaWRlcyBkaWZmZXIuCisgICAgICAgIFRo
aXMgc2hvdWxkIGxlYXZlIGFsbCByZW1haW5pbmcgY2FzZXMgdG8gc29ydCBieSB0aGUgZ2xvYmFs
IGFuaW1hdGlvbiBsaXN0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0czsgdGhpcyBzaG91bGQgYmUg
Y292ZXJlZCBieSBleGlzdGluZyB0ZXN0cyBhbmQgc2hvdWxkIG5vdCBjaGFuZ2UgZnVuY3Rpb25h
bGl0eQorICAgICAgICBvdGhlcndpc2UuCisKKyAgICAgICAgKiBhbmltYXRpb24vV2ViQW5pbWF0
aW9uVXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXBhcmVBbmltYXRpb25zQnlD
b21wb3NpdGVPcmRlcik6CisKIDIwMjAtMDMtMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBFdmVudCBsaXN0ZW5lcnMgcmVnaXN0ZXJlZCB3aXRoICdvbmNlJyBv
cHRpb24gbWF5IGdldCBnYXJiYWdlIGNvbGxlY3RlZCB0b28gc29vbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvblV0aWxpdGllcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uVXRpbGl0aWVzLmNwcAppbmRleCAyMTc3ZjIw
MTA5ZDkzNDkwYjhlMTQyNTc2ZjYxZmMyNmIzYjZmNjI0Li5lZTE1OGNhNzhiMDRiMTg1NjM0NWI1
YzZhMTMxZjkzYjE0YzVmZjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
V2ViQW5pbWF0aW9uVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
V2ViQW5pbWF0aW9uVXRpbGl0aWVzLmNwcApAQCAtNTEsOSArNTEsMTIgQEAgYm9vbCBjb21wYXJl
QW5pbWF0aW9uc0J5Q29tcG9zaXRlT3JkZXIoV2ViQW5pbWF0aW9uJiBsaHNBbmltYXRpb24sIFdl
YkFuaW1hdGlvbiYKICAgICAgICAgICAgIGF1dG8mIHJoc0NTU1RyYW5zaXRpb24gPSBkb3duY2Fz
dDxDU1NUcmFuc2l0aW9uPihyaHNBbmltYXRpb24pOwogICAgICAgICAgICAgaWYgKGxoc0NTU1Ry
YW5zaXRpb24uZ2VuZXJhdGlvblRpbWUoKSAhPSByaHNDU1NUcmFuc2l0aW9uLmdlbmVyYXRpb25U
aW1lKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGxoc0NTU1RyYW5zaXRpb24uZ2VuZXJhdGlv
blRpbWUoKSA8IHJoc0NTU1RyYW5zaXRpb24uZ2VuZXJhdGlvblRpbWUoKTsKLSAgICAgICAgICAg
IHJldHVybiBsaHNDU1NUcmFuc2l0aW9uLnRyYW5zaXRpb25Qcm9wZXJ0eSgpLnV0ZjgoKSA8IHJo
c0NTU1RyYW5zaXRpb24udHJhbnNpdGlvblByb3BlcnR5KCkudXRmOCgpOwotICAgICAgICB9Ci0g
ICAgICAgIHJldHVybiAhcmhzSXNDU1NUcmFuc2l0aW9uOworICAgICAgICAgICAgYXV0byBsaHND
U1NUcmFuc2l0aW9uUHJvcGVydHkgPSBsaHNDU1NUcmFuc2l0aW9uLnRyYW5zaXRpb25Qcm9wZXJ0
eSgpLnV0ZjgoKTsKKyAgICAgICAgICAgIGF1dG8gcmhzQ1NTVHJhbnNpdGlvblByb3BlcnR5ID0g
cmhzQ1NTVHJhbnNpdGlvbi50cmFuc2l0aW9uUHJvcGVydHkoKS51dGY4KCk7CisgICAgICAgICAg
ICBpZiAobGhzQ1NTVHJhbnNpdGlvblByb3BlcnR5ICE9IHJoc0NTU1RyYW5zaXRpb25Qcm9wZXJ0
eSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbGhzQ1NTVHJhbnNpdGlvblByb3BlcnR5IDwgcmhz
Q1NTVHJhbnNpdGlvblByb3BlcnR5OworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHJldHVy
biAhcmhzSXNDU1NUcmFuc2l0aW9uOwogICAgIH0KIAogICAgIC8vIENTUyBBbmltYXRpb25zIHNv
cnQgbmV4dC4KQEAgLTgwLDggKzgzLDggQEAgYm9vbCBjb21wYXJlQW5pbWF0aW9uc0J5Q29tcG9z
aXRlT3JkZXIoV2ViQW5pbWF0aW9uJiBsaHNBbmltYXRpb24sIFdlYkFuaW1hdGlvbiYKIAogICAg
ICAgICAgICAgLy8gV2Ugc2hvdWxkIGhhdmUgZm91bmQgZWl0aGVyIG9mIHRob3NlIENTUyBhbmlt
YXRpb25zIGluIHRoZSBDU1MgYW5pbWF0aW9ucyBsaXN0LgogICAgICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuICFyaHNJc0NTU0FuaW1hdGlv
bjsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICByZXR1cm4gIXJoc0lzQ1NTQW5pbWF0aW9u
OwogICAgIH0KIAogICAgIC8vIEpTLW9yaWdpbmF0ZWQgYW5pbWF0aW9ucyBzb3J0IGxhc3QgYmFz
ZWQgb24gdGhlaXIgcG9zaXRpb24gaW4gdGhlIGdsb2JhbCBhbmltYXRpb24gbGlzdC4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395450</attachid>
            <date>2020-04-04 09:13:55 -0700</date>
            <delta_ts>2020-04-04 15:39:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209996-20200404091355.patch</filename>
            <type>text/plain</type>
            <size>6289</size>
            <attacher name="Doug Kelly">dougk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzFjZDg5MWM1YzVjMWMw
NTU0ODk1YWViZjMzYjI1MTlkODkxMTBlOS4uZjM4NGQxNTQ2NjUyNDRiODgwNzg2MWQ4NjMzMTk1
MDhlYjg0NWMyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA0LTAzICBEb3Vn
IEtlbGx5ICA8ZG91Z2tAYXBwbGUuY29tPgorCisgICAgICAgIEFkZGl0aW9uYWwgc2FuaXR5IGNo
ZWNrcyBpbiBjb21wYXJlQW5pbWF0aW9uc0J5Q29tcG9zaXRlT3JkZXIoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5OTk2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgY29tcGFyZUFuaW1hdGlvbnNCeUNv
bXBvc2l0ZU9yZGVyKCkgaXMgdXNlZCBieSBzdGQ6OnNvcnQoKSB3aGljaCByZXF1aXJlcyBzdHJp
Y3Qgd2VhayBvcmRlcmluZy4KKyAgICAgICAgVGhpcyBhZGRzIGFkZGl0aW9uYWwgY2hlY2tzIHRv
IGVuc3VyZSBzdHJpY3Qgd2VhayBvcmRlcmluZyBpcyBtYWludGFpbmVkLCBmaXJzdCBieSBlbnN1
cmluZworICAgICAgICB0aGUgdHJhbnNpdGlvblByb3BlcnR5IHN0cmluZyBpcyBkaWZmZXJlbnQg
YmVmb3JlIHJldHVybmluZyB0aGF0IGNvbXBhcmlzb24sIHRoZW4gYnkgb25seSB1c2luZworICAg
ICAgICBpZiB0aGUgYW5pbWF0aW9uIGlzIGEgQ1NTVHJhbnNpdGlvbiBvciBDU1NBbmltYXRpb24g
aWYgdGhlIGxlZnQgaGFuZCBhbmQgcmlnaHQgaGFuZCBzaWRlcyBkaWZmZXIuCisgICAgICAgIFRo
aXMgc2hvdWxkIGxlYXZlIGFsbCByZW1haW5pbmcgY2FzZXMgdG8gc29ydCBieSB0aGUgZ2xvYmFs
IGFuaW1hdGlvbiBsaXN0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0czsgdGhpcyBzaG91bGQgYmUg
Y292ZXJlZCBieSBleGlzdGluZyB0ZXN0cyBhbmQgc2hvdWxkIG5vdCBjaGFuZ2UgZnVuY3Rpb25h
bGl0eQorICAgICAgICBvdGhlcndpc2UuCisKKyAgICAgICAgKiBhbmltYXRpb24vV2ViQW5pbWF0
aW9uVXRpbGl0aWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXBhcmVBbmltYXRpb25zQnlD
b21wb3NpdGVPcmRlcik6CisKIDIwMjAtMDMtMjUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBFdmVudCBsaXN0ZW5lcnMgcmVnaXN0ZXJlZCB3aXRoICdvbmNlJyBv
cHRpb24gbWF5IGdldCBnYXJiYWdlIGNvbGxlY3RlZCB0b28gc29vbgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvblV0aWxpdGllcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uVXRpbGl0aWVzLmNwcAppbmRleCAyMTc3ZjIw
MTA5ZDkzNDkwYjhlMTQyNTc2ZjYxZmMyNmIzYjZmNjI0Li42ZDdhNjBlZDUyMzY5NTBhYTcwMjRm
MjViYjZmYjJhYjBiMGI1OTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
V2ViQW5pbWF0aW9uVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24v
V2ViQW5pbWF0aW9uVXRpbGl0aWVzLmNwcApAQCAtNDQsNDQgKzQ0LDQ3IEBAIGJvb2wgY29tcGFy
ZUFuaW1hdGlvbnNCeUNvbXBvc2l0ZU9yZGVyKFdlYkFuaW1hdGlvbiYgbGhzQW5pbWF0aW9uLCBX
ZWJBbmltYXRpb24mCiAgICAgYm9vbCBsaHNJc0NTU1RyYW5zaXRpb24gPSBsaHNIYXNPd25pbmdF
bGVtZW50ICYmIGlzPENTU1RyYW5zaXRpb24+KGxoc0FuaW1hdGlvbik7CiAgICAgYm9vbCByaHNJ
c0NTU1RyYW5zaXRpb24gPSByaHNIYXNPd25pbmdFbGVtZW50ICYmIGlzPENTU1RyYW5zaXRpb24+
KHJoc0FuaW1hdGlvbik7CiAgICAgaWYgKGxoc0lzQ1NTVHJhbnNpdGlvbiB8fCByaHNJc0NTU1Ry
YW5zaXRpb24pIHsKLSAgICAgICAgaWYgKGxoc0lzQ1NTVHJhbnNpdGlvbiA9PSByaHNJc0NTU1Ry
YW5zaXRpb24pIHsKLSAgICAgICAgICAgIC8vIFNvcnQgdHJhbnNpdGlvbnMgZmlyc3QgYnkgdGhl
aXIgZ2VuZXJhdGlvbiB0aW1lLCBhbmQgdGhlbiBieSB0cmFuc2l0aW9uLXByb3BlcnR5LgotICAg
ICAgICAgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy10cmFuc2l0aW9ucy0yLyNh
bmltYXRpb24tY29tcG9zaXRlLW9yZGVyCi0gICAgICAgICAgICBhdXRvJiBsaHNDU1NUcmFuc2l0
aW9uID0gZG93bmNhc3Q8Q1NTVHJhbnNpdGlvbj4obGhzQW5pbWF0aW9uKTsKLSAgICAgICAgICAg
IGF1dG8mIHJoc0NTU1RyYW5zaXRpb24gPSBkb3duY2FzdDxDU1NUcmFuc2l0aW9uPihyaHNBbmlt
YXRpb24pOwotICAgICAgICAgICAgaWYgKGxoc0NTU1RyYW5zaXRpb24uZ2VuZXJhdGlvblRpbWUo
KSAhPSByaHNDU1NUcmFuc2l0aW9uLmdlbmVyYXRpb25UaW1lKCkpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIGxoc0NTU1RyYW5zaXRpb24uZ2VuZXJhdGlvblRpbWUoKSA8IHJoc0NTU1RyYW5zaXRp
b24uZ2VuZXJhdGlvblRpbWUoKTsKLSAgICAgICAgICAgIHJldHVybiBsaHNDU1NUcmFuc2l0aW9u
LnRyYW5zaXRpb25Qcm9wZXJ0eSgpLnV0ZjgoKSA8IHJoc0NTU1RyYW5zaXRpb24udHJhbnNpdGlv
blByb3BlcnR5KCkudXRmOCgpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiAhcmhzSXNDU1NU
cmFuc2l0aW9uOworICAgICAgICBpZiAobGhzSXNDU1NUcmFuc2l0aW9uICE9IHJoc0lzQ1NTVHJh
bnNpdGlvbikKKyAgICAgICAgICAgIHJldHVybiAhcmhzSXNDU1NUcmFuc2l0aW9uOworCisgICAg
ICAgIC8vIFNvcnQgdHJhbnNpdGlvbnMgZmlyc3QgYnkgdGhlaXIgZ2VuZXJhdGlvbiB0aW1lLCBh
bmQgdGhlbiBieSB0cmFuc2l0aW9uLXByb3BlcnR5LgorICAgICAgICAvLyBodHRwczovL2RyYWZ0
cy5jc3N3Zy5vcmcvY3NzLXRyYW5zaXRpb25zLTIvI2FuaW1hdGlvbi1jb21wb3NpdGUtb3JkZXIK
KyAgICAgICAgYXV0byYgbGhzQ1NTVHJhbnNpdGlvbiA9IGRvd25jYXN0PENTU1RyYW5zaXRpb24+
KGxoc0FuaW1hdGlvbik7CisgICAgICAgIGF1dG8mIHJoc0NTU1RyYW5zaXRpb24gPSBkb3duY2Fz
dDxDU1NUcmFuc2l0aW9uPihyaHNBbmltYXRpb24pOworICAgICAgICBpZiAobGhzQ1NTVHJhbnNp
dGlvbi5nZW5lcmF0aW9uVGltZSgpICE9IHJoc0NTU1RyYW5zaXRpb24uZ2VuZXJhdGlvblRpbWUo
KSkKKyAgICAgICAgICAgIHJldHVybiBsaHNDU1NUcmFuc2l0aW9uLmdlbmVyYXRpb25UaW1lKCkg
PCByaHNDU1NUcmFuc2l0aW9uLmdlbmVyYXRpb25UaW1lKCk7CisgICAgICAgIGF1dG8gbGhzQ1NT
VHJhbnNpdGlvblByb3BlcnR5ID0gbGhzQ1NTVHJhbnNpdGlvbi50cmFuc2l0aW9uUHJvcGVydHko
KS51dGY4KCk7CisgICAgICAgIGF1dG8gcmhzQ1NTVHJhbnNpdGlvblByb3BlcnR5ID0gcmhzQ1NT
VHJhbnNpdGlvbi50cmFuc2l0aW9uUHJvcGVydHkoKS51dGY4KCk7CisgICAgICAgIGlmIChsaHND
U1NUcmFuc2l0aW9uUHJvcGVydHkgIT0gcmhzQ1NTVHJhbnNpdGlvblByb3BlcnR5KQorICAgICAg
ICAgICAgcmV0dXJuIGxoc0NTU1RyYW5zaXRpb25Qcm9wZXJ0eSA8IHJoc0NTU1RyYW5zaXRpb25Q
cm9wZXJ0eTsKICAgICB9CiAKICAgICAvLyBDU1MgQW5pbWF0aW9ucyBzb3J0IG5leHQuCiAgICAg
Ym9vbCBsaHNJc0NTU0FuaW1hdGlvbiA9IGxoc0hhc093bmluZ0VsZW1lbnQgJiYgaXM8Q1NTQW5p
bWF0aW9uPihsaHNBbmltYXRpb24pOwogICAgIGJvb2wgcmhzSXNDU1NBbmltYXRpb24gPSByaHNI
YXNPd25pbmdFbGVtZW50ICYmIGlzPENTU0FuaW1hdGlvbj4ocmhzQW5pbWF0aW9uKTsKICAgICBp
ZiAobGhzSXNDU1NBbmltYXRpb24gfHwgcmhzSXNDU1NBbmltYXRpb24pIHsKLSAgICAgICAgaWYg
KGxoc0lzQ1NTQW5pbWF0aW9uID09IHJoc0lzQ1NTQW5pbWF0aW9uKSB7Ci0gICAgICAgICAgICAv
LyBXZSBtdXN0IGhhdmUgYSBsaXN0IG9mIENTUyBBbmltYXRpb25zIGlmIHdlIGhhdmUgQ1NTIEFu
aW1hdGlvbnMgdG8gc29ydCB0aHJvdWdoLgotICAgICAgICAgICAgQVNTRVJUKGNzc0FuaW1hdGlv
bkxpc3QpOwotICAgICAgICAgICAgQVNTRVJUKCFjc3NBbmltYXRpb25MaXN0LT5pc0VtcHR5KCkp
OworICAgICAgICBpZiAobGhzSXNDU1NBbmltYXRpb24gIT0gcmhzSXNDU1NBbmltYXRpb24pCisg
ICAgICAgICAgICByZXR1cm4gIXJoc0lzQ1NTQW5pbWF0aW9uOwogCi0gICAgICAgICAgICAvLyBo
dHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWFuaW1hdGlvbnMtMi8jYW5pbWF0aW9uLWNvbXBv
c2l0ZS1vcmRlcgotICAgICAgICAgICAgLy8gU29ydCBBIGFuZCBCIGJhc2VkIG9uIHRoZWlyIHBv
c2l0aW9uIGluIHRoZSBjb21wdXRlZCB2YWx1ZSBvZiB0aGUgYW5pbWF0aW9uLW5hbWUgcHJvcGVy
dHkgb2YgdGhlIChjb21tb24pIG93bmluZyBlbGVtZW50LgotICAgICAgICAgICAgYXV0byYgbGhz
QmFja2luZ0FuaW1hdGlvbiA9IGRvd25jYXN0PENTU0FuaW1hdGlvbj4obGhzQW5pbWF0aW9uKS5i
YWNraW5nQW5pbWF0aW9uKCk7Ci0gICAgICAgICAgICBhdXRvJiByaHNCYWNraW5nQW5pbWF0aW9u
ID0gZG93bmNhc3Q8Q1NTQW5pbWF0aW9uPihyaHNBbmltYXRpb24pLmJhY2tpbmdBbmltYXRpb24o
KTsKKyAgICAgICAgLy8gV2UgbXVzdCBoYXZlIGEgbGlzdCBvZiBDU1MgQW5pbWF0aW9ucyBpZiB3
ZSBoYXZlIENTUyBBbmltYXRpb25zIHRvIHNvcnQgdGhyb3VnaC4KKyAgICAgICAgQVNTRVJUKGNz
c0FuaW1hdGlvbkxpc3QpOworICAgICAgICBBU1NFUlQoIWNzc0FuaW1hdGlvbkxpc3QtPmlzRW1w
dHkoKSk7CiAKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY3NzQW5pbWF0aW9u
TGlzdC0+c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgICAgICBhdXRvJiBhbmltYXRpb24gPSBj
c3NBbmltYXRpb25MaXN0LT5hbmltYXRpb24oaSk7Ci0gICAgICAgICAgICAgICAgaWYgKGFuaW1h
dGlvbiA9PSBsaHNCYWNraW5nQW5pbWF0aW9uKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICAgICAgICAgICAgICBpZiAoYW5pbWF0aW9uID09IHJoc0JhY2tpbmdBbmltYXRp
b24pCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIH0KKyAg
ICAgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1hbmltYXRpb25zLTIvI2FuaW1h
dGlvbi1jb21wb3NpdGUtb3JkZXIKKyAgICAgICAgLy8gU29ydCBBIGFuZCBCIGJhc2VkIG9uIHRo
ZWlyIHBvc2l0aW9uIGluIHRoZSBjb21wdXRlZCB2YWx1ZSBvZiB0aGUgYW5pbWF0aW9uLW5hbWUg
cHJvcGVydHkgb2YgdGhlIChjb21tb24pIG93bmluZyBlbGVtZW50LgorICAgICAgICBhdXRvJiBs
aHNCYWNraW5nQW5pbWF0aW9uID0gZG93bmNhc3Q8Q1NTQW5pbWF0aW9uPihsaHNBbmltYXRpb24p
LmJhY2tpbmdBbmltYXRpb24oKTsKKyAgICAgICAgYXV0byYgcmhzQmFja2luZ0FuaW1hdGlvbiA9
IGRvd25jYXN0PENTU0FuaW1hdGlvbj4ocmhzQW5pbWF0aW9uKS5iYWNraW5nQW5pbWF0aW9uKCk7
CiAKLSAgICAgICAgICAgIC8vIFdlIHNob3VsZCBoYXZlIGZvdW5kIGVpdGhlciBvZiB0aG9zZSBD
U1MgYW5pbWF0aW9ucyBpbiB0aGUgQ1NTIGFuaW1hdGlvbnMgbGlzdC4KLSAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNzc0Fu
aW1hdGlvbkxpc3QtPnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBhdXRvJiBhbmltYXRpb24g
PSBjc3NBbmltYXRpb25MaXN0LT5hbmltYXRpb24oaSk7CisgICAgICAgICAgICBpZiAoYW5pbWF0
aW9uID09IGxoc0JhY2tpbmdBbmltYXRpb24pCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICAgICAgICBpZiAoYW5pbWF0aW9uID09IHJoc0JhY2tpbmdBbmltYXRpb24pCisgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiAhcmhz
SXNDU1NBbmltYXRpb247CisKKyAgICAgICAgLy8gV2Ugc2hvdWxkIGhhdmUgZm91bmQgZWl0aGVy
IG9mIHRob3NlIENTUyBhbmltYXRpb25zIGluIHRoZSBDU1MgYW5pbWF0aW9ucyBsaXN0LgorICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CiAKICAgICAvLyBKUy1vcmlnaW5hdGVk
IGFuaW1hdGlvbnMgc29ydCBsYXN0IGJhc2VkIG9uIHRoZWlyIHBvc2l0aW9uIGluIHRoZSBnbG9i
YWwgYW5pbWF0aW9uIGxpc3QuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>