<?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>146231</bug_id>
          
          <creation_ts>2015-06-23 01:55:58 -0700</creation_ts>
          <short_desc>[CSS Grid Layout] Performance optimization: avoid computing overflow alignment if not needed</short_desc>
          <delta_ts>2015-06-23 07:19:02 -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>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="Javier Fernandez">jfernandez</reporter>
          <assigned_to name="Javier Fernandez">jfernandez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rego</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1104061</commentid>
    <comment_count>0</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2015-06-23 01:55:58 -0700</bug_when>
    <thetext>We we compute grid item&apos;s position, both along column and row axis, we compute overflow even if alignment value is &apos;start&apos; and there is no need of applying any overflow handling, given that there is no risk of data loss.

Computing overflow adds an unnecessary overhead, so we should remove it to improve performance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104073</commentid>
    <comment_count>1</comment_count>
      <attachid>255404</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2015-06-23 03:44:11 -0700</bug_when>
    <thetext>Created attachment 255404
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104087</commentid>
    <comment_count>2</comment_count>
      <attachid>255404</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2015-06-23 06:14:35 -0700</bug_when>
    <thetext>Comment on attachment 255404
Patch

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

Yay!

&gt; Source/WebCore/ChangeLog:11
&gt; +        This patch avoid, computing the overflow in all the cases, since it adds an unneeded

&quot;This patch avoids computing&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104089</commentid>
    <comment_count>3</comment_count>
      <attachid>255408</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2015-06-23 06:21:23 -0700</bug_when>
    <thetext>Created attachment 255408
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104098</commentid>
    <comment_count>4</comment_count>
      <attachid>255408</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-23 07:18:59 -0700</bug_when>
    <thetext>Comment on attachment 255408
Patch

Clearing flags on attachment: 255408

Committed r185874: &lt;http://trac.webkit.org/changeset/185874&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104099</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-23 07:19:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255404</attachid>
            <date>2015-06-23 03:44:11 -0700</date>
            <delta_ts>2015-06-23 06:21:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146231-20150623124259.patch</filename>
            <type>text/plain</type>
            <size>4590</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1ODY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODk5ZTdjY2JmMmMxMDYz
MTQ3YzJlOWU1ZWU5ZjA1YTQwZWYyNDc5My4uNGM3ZmEwNWNkYTcxNzA3ZmZmNGQyZTU3ZjkyYjQ5
Y2NmZWE3M2NhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE1LTA2LTIzICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIFBlcmZvcm1hbmNlIG9wdGltaXphdGlvbjogYXZvaWQgY29tcHV0aW5nIG92ZXJm
bG93IGFsaWdubWVudCBpZiBub3QgbmVlZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYyMzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZSBkb24ndCBuZWVkIHRvIGFwcGx5IGFueSBvdmVyZmxvdyBo
YW5kbGluZyBpZiBhbGlnbm1lbnQgdmFsdWUgZG9uJ3QgaGF2ZSBhIHBvdGVudGlhbAorICAgICAg
ICByaXNrIG9mIGRhdGEgbG9zcywgYXMgaXQncyB0aGUgY2FzZSBvZiAnc3RhcnQnIHZhbHVlLgor
CisgICAgICAgIFRoaXMgcGF0Y2ggYXZvaWQsIGNvbXB1dGluZyB0aGUgb3ZlcmZsb3cgaW4gYWxs
IHRoZSBjYXNlcywgc2luY2UgaXQgYWRkcyBhbiB1bm5lZWRlZAorICAgICAgICBvdmVyaGVhZCB3
aGljaCBhZmZlY3RzIHBlcmZvcm1hbmNlLgorCisgICAgICAgIE5ldyBjb2RlIGltcHJvdmVzIHBl
cmZvcm1hbmNlIGFyb3VuZCAzJS04JSwgZGVwZW5kaW5nIG9uIHRoZSBncmlkIHRlc3RzLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gbmV3IGZ1bmNpdG9uYWxpdHkuCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpy
b3dQb3NpdGlvbkZvckNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNvbHVt
blBvc2l0aW9uRm9yQ2hpbGQpOgorCiAyMDE1LTA2LTIyICBSeXVhbiBDaG9pICA8cnl1YW4uY2hv
aUBuYXZlcmNvcnAuY29tPgogCiAgICAgICAgIFtFRkxdIEh5cGhlbmF0aW9uIGlzIG5vdCBzdXBw
b3J0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCBiYzM3OGE1
MzNiOGEzMmFkNGM1NzQ2MzcyNWMyMTUwNzE5OWUyMzc3Li5mMmE4ZjJkYmI5MDkwMGYzZjNjZDMw
YWM1OTdiOGFlMjQ0ODJmYmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQu
Y3BwCkBAIC0xNDEzLDE3ICsxNDEzLDE4IEBAIExheW91dFVuaXQgUmVuZGVyR3JpZDo6cm93UG9z
aXRpb25Gb3JDaGlsZChjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdAogewogICAgIGNvbnN0
IEdyaWRDb29yZGluYXRlJiBjb29yZGluYXRlID0gY2FjaGVkR3JpZENvb3JkaW5hdGUoY2hpbGQp
OwogICAgIExheW91dFVuaXQgc3RhcnRPZlJvdyA9IG1fcm93UG9zaXRpb25zW2Nvb3JkaW5hdGUu
cm93cy5yZXNvbHZlZEluaXRpYWxQb3NpdGlvbi50b0ludCgpXTsKLSAgICBMYXlvdXRVbml0IGVu
ZE9mUm93ID0gbV9yb3dQb3NpdGlvbnNbY29vcmRpbmF0ZS5yb3dzLnJlc29sdmVkRmluYWxQb3Np
dGlvbi5uZXh0KCkudG9JbnQoKV07CiAgICAgTGF5b3V0VW5pdCBzdGFydFBvc2l0aW9uID0gc3Rh
cnRPZlJvdyArIG1hcmdpbkJlZm9yZUZvckNoaWxkKGNoaWxkKTsKLSAgICBMYXlvdXRVbml0IG9m
ZnNldEZyb21TdGFydFBvc2l0aW9uID0gY29tcHV0ZU92ZXJmbG93QWxpZ25tZW50T2Zmc2V0KFJl
bmRlclN0eWxlOjpyZXNvbHZlQWxpZ25tZW50T3ZlcmZsb3coc3R5bGUoKSwgY2hpbGQuc3R5bGUo
KSksIGVuZE9mUm93IC0gc3RhcnRPZlJvdywgY2hpbGQubG9naWNhbEhlaWdodCgpICsgY2hpbGQu
bWFyZ2luTG9naWNhbEhlaWdodCgpKTsKIAotICAgIHN3aXRjaCAoY29sdW1uQXhpc1Bvc2l0aW9u
Rm9yQ2hpbGQoY2hpbGQpKSB7CisgICAgR3JpZEF4aXNQb3NpdGlvbiBheGlzUG9zaXRpb24gPSBj
b2x1bW5BeGlzUG9zaXRpb25Gb3JDaGlsZChjaGlsZCk7CisgICAgc3dpdGNoIChheGlzUG9zaXRp
b24pIHsKICAgICBjYXNlIEdyaWRBeGlzU3RhcnQ6CiAgICAgICAgIHJldHVybiBzdGFydFBvc2l0
aW9uOwogICAgIGNhc2UgR3JpZEF4aXNFbmQ6Ci0gICAgICAgIHJldHVybiBzdGFydFBvc2l0aW9u
ICsgb2Zmc2V0RnJvbVN0YXJ0UG9zaXRpb247Ci0gICAgY2FzZSBHcmlkQXhpc0NlbnRlcjoKLSAg
ICAgICAgcmV0dXJuIHN0YXJ0UG9zaXRpb24gKyBvZmZzZXRGcm9tU3RhcnRQb3NpdGlvbiAvIDI7
CisgICAgY2FzZSBHcmlkQXhpc0NlbnRlcjogeworICAgICAgICBMYXlvdXRVbml0IGVuZE9mUm93
ID0gbV9yb3dQb3NpdGlvbnNbY29vcmRpbmF0ZS5yb3dzLnJlc29sdmVkRmluYWxQb3NpdGlvbi5u
ZXh0KCkudG9JbnQoKV07CisgICAgICAgIExheW91dFVuaXQgb2Zmc2V0RnJvbVN0YXJ0UG9zaXRp
b24gPSBjb21wdXRlT3ZlcmZsb3dBbGlnbm1lbnRPZmZzZXQoUmVuZGVyU3R5bGU6OnJlc29sdmVB
bGlnbm1lbnRPdmVyZmxvdyhzdHlsZSgpLCBjaGlsZC5zdHlsZSgpKSwgZW5kT2ZSb3cgLSBzdGFy
dE9mUm93LCBjaGlsZC5sb2dpY2FsSGVpZ2h0KCkgKyBjaGlsZC5tYXJnaW5Mb2dpY2FsSGVpZ2h0
KCkpOworICAgICAgICByZXR1cm4gc3RhcnRQb3NpdGlvbiArIChheGlzUG9zaXRpb24gPT0gR3Jp
ZEF4aXNFbmQgPyBvZmZzZXRGcm9tU3RhcnRQb3NpdGlvbiA6IG9mZnNldEZyb21TdGFydFBvc2l0
aW9uIC8gMik7CisgICAgfQogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAt
MTQzNSwxNyArMTQzNiwxOCBAQCBMYXlvdXRVbml0IFJlbmRlckdyaWQ6OmNvbHVtblBvc2l0aW9u
Rm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkgY29uc3QKIHsKICAgICBjb25zdCBHcmlk
Q29vcmRpbmF0ZSYgY29vcmRpbmF0ZSA9IGNhY2hlZEdyaWRDb29yZGluYXRlKGNoaWxkKTsKICAg
ICBMYXlvdXRVbml0IHN0YXJ0T2ZDb2x1bW4gPSBtX2NvbHVtblBvc2l0aW9uc1tjb29yZGluYXRl
LmNvbHVtbnMucmVzb2x2ZWRJbml0aWFsUG9zaXRpb24udG9JbnQoKV07Ci0gICAgTGF5b3V0VW5p
dCBlbmRPZkNvbHVtbiA9IG1fY29sdW1uUG9zaXRpb25zW2Nvb3JkaW5hdGUuY29sdW1ucy5yZXNv
bHZlZEZpbmFsUG9zaXRpb24ubmV4dCgpLnRvSW50KCldOwogICAgIExheW91dFVuaXQgc3RhcnRQ
b3NpdGlvbiA9IHN0YXJ0T2ZDb2x1bW4gKyBtYXJnaW5TdGFydEZvckNoaWxkKGNoaWxkKTsKLSAg
ICBMYXlvdXRVbml0IG9mZnNldEZyb21TdGFydFBvc2l0aW9uID0gY29tcHV0ZU92ZXJmbG93QWxp
Z25tZW50T2Zmc2V0KFJlbmRlclN0eWxlOjpyZXNvbHZlSnVzdGlmaWNhdGlvbk92ZXJmbG93KHN0
eWxlKCksIGNoaWxkLnN0eWxlKCkpLCBlbmRPZkNvbHVtbiAtIHN0YXJ0T2ZDb2x1bW4sIGNoaWxk
LmxvZ2ljYWxXaWR0aCgpICsgY2hpbGQubWFyZ2luTG9naWNhbFdpZHRoKCkpOwogCi0gICAgc3dp
dGNoIChyb3dBeGlzUG9zaXRpb25Gb3JDaGlsZChjaGlsZCkpIHsKKyAgICBHcmlkQXhpc1Bvc2l0
aW9uIGF4aXNQb3NpdGlvbiA9IHJvd0F4aXNQb3NpdGlvbkZvckNoaWxkKGNoaWxkKTsKKyAgICBz
d2l0Y2ggKGF4aXNQb3NpdGlvbikgewogICAgIGNhc2UgR3JpZEF4aXNTdGFydDoKICAgICAgICAg
cmV0dXJuIHN0YXJ0UG9zaXRpb247CiAgICAgY2FzZSBHcmlkQXhpc0VuZDoKLSAgICAgICAgcmV0
dXJuIHN0YXJ0UG9zaXRpb24gKyBvZmZzZXRGcm9tU3RhcnRQb3NpdGlvbjsKLSAgICBjYXNlIEdy
aWRBeGlzQ2VudGVyOgotICAgICAgICByZXR1cm4gc3RhcnRQb3NpdGlvbiArIG9mZnNldEZyb21T
dGFydFBvc2l0aW9uIC8gMjsKKyAgICBjYXNlIEdyaWRBeGlzQ2VudGVyOiB7CisgICAgICAgIExh
eW91dFVuaXQgZW5kT2ZDb2x1bW4gPSBtX2NvbHVtblBvc2l0aW9uc1tjb29yZGluYXRlLmNvbHVt
bnMucmVzb2x2ZWRGaW5hbFBvc2l0aW9uLm5leHQoKS50b0ludCgpXTsKKyAgICAgICAgTGF5b3V0
VW5pdCBvZmZzZXRGcm9tU3RhcnRQb3NpdGlvbiA9IGNvbXB1dGVPdmVyZmxvd0FsaWdubWVudE9m
ZnNldChSZW5kZXJTdHlsZTo6cmVzb2x2ZUp1c3RpZmljYXRpb25PdmVyZmxvdyhzdHlsZSgpLCBj
aGlsZC5zdHlsZSgpKSwgZW5kT2ZDb2x1bW4gLSBzdGFydE9mQ29sdW1uLCBjaGlsZC5sb2dpY2Fs
V2lkdGgoKSArIGNoaWxkLm1hcmdpbkxvZ2ljYWxXaWR0aCgpKTsKKyAgICAgICAgcmV0dXJuIHN0
YXJ0UG9zaXRpb24gKyAoYXhpc1Bvc2l0aW9uID09IEdyaWRBeGlzRW5kID8gb2Zmc2V0RnJvbVN0
YXJ0UG9zaXRpb24gOiBvZmZzZXRGcm9tU3RhcnRQb3NpdGlvbiAvIDIpOworICAgIH0KICAgICB9
CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255408</attachid>
            <date>2015-06-23 06:21:23 -0700</date>
            <delta_ts>2015-06-23 07:18:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146231-20150623152011.patch</filename>
            <type>text/plain</type>
            <size>4594</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1ODY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODk5ZTdjY2JmMmMxMDYz
MTQ3YzJlOWU1ZWU5ZjA1YTQwZWYyNDc5My4uOTI5ZWVhMTIwMzQ4NWY2NDZiMWE4MmY5OTg3NmZh
ZmVjN2IyMzc4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE1LTA2LTIzICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIFBlcmZvcm1hbmNlIG9wdGltaXphdGlvbjogYXZvaWQgY29tcHV0aW5nIG92ZXJm
bG93IGFsaWdubWVudCBpZiBub3QgbmVlZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYyMzEKKworICAgICAgICBSZXZpZXdlZCBieSBTZXJnaW8g
VmlsbGFyIFNlbmluLgorCisgICAgICAgIFdlIGRvbid0IG5lZWQgdG8gYXBwbHkgYW55IG92ZXJm
bG93IGhhbmRsaW5nIGlmIGFsaWdubWVudCB2YWx1ZSBkb24ndCBoYXZlIGEgcG90ZW50aWFsCisg
ICAgICAgIHJpc2sgb2YgZGF0YSBsb3NzLCBhcyBpdCdzIHRoZSBjYXNlIG9mICdzdGFydCcgdmFs
dWUuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhdm9pZCBjb21wdXRpbmcgdGhlIG92ZXJmbG93IGlu
IGFsbCB0aGUgY2FzZXMsIHNpbmNlIGl0IGFkZHMgYW4gdW5uZWVkZWQKKyAgICAgICAgb3Zlcmhl
YWQgd2hpY2ggYWZmZWN0cyBwZXJmb3JtYW5jZS4KKworICAgICAgICBOZXcgY29kZSBpbXByb3Zl
cyBwZXJmb3JtYW5jZSBhcm91bmQgMyUtOCUsIGRlcGVuZGluZyBvbiB0aGUgZ3JpZCB0ZXN0cy4K
KworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIG5ldyBmdW5jaXRvbmFsaXR5LgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3Jp
ZDo6cm93UG9zaXRpb25Gb3JDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpj
b2x1bW5Qb3NpdGlvbkZvckNoaWxkKToKKwogMjAxNS0wNi0yMiAgUnl1YW4gQ2hvaSAgPHJ5dWFu
LmNob2lAbmF2ZXJjb3JwLmNvbT4KIAogICAgICAgICBbRUZMXSBIeXBoZW5hdGlvbiBpcyBub3Qg
c3VwcG9ydGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3Jp
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKaW5kZXggYmMz
NzhhNTMzYjhhMzJhZDRjNTc0NjM3MjVjMjE1MDcxOTllMjM3Ny4uZjJhOGYyZGJiOTA5MDBmM2Yz
Y2QzMGFjNTk3YjhhZTI0NDgyZmJlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJH
cmlkLmNwcApAQCAtMTQxMywxNyArMTQxMywxOCBAQCBMYXlvdXRVbml0IFJlbmRlckdyaWQ6OnJv
d1Bvc2l0aW9uRm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkgY29uc3QKIHsKICAgICBj
b25zdCBHcmlkQ29vcmRpbmF0ZSYgY29vcmRpbmF0ZSA9IGNhY2hlZEdyaWRDb29yZGluYXRlKGNo
aWxkKTsKICAgICBMYXlvdXRVbml0IHN0YXJ0T2ZSb3cgPSBtX3Jvd1Bvc2l0aW9uc1tjb29yZGlu
YXRlLnJvd3MucmVzb2x2ZWRJbml0aWFsUG9zaXRpb24udG9JbnQoKV07Ci0gICAgTGF5b3V0VW5p
dCBlbmRPZlJvdyA9IG1fcm93UG9zaXRpb25zW2Nvb3JkaW5hdGUucm93cy5yZXNvbHZlZEZpbmFs
UG9zaXRpb24ubmV4dCgpLnRvSW50KCldOwogICAgIExheW91dFVuaXQgc3RhcnRQb3NpdGlvbiA9
IHN0YXJ0T2ZSb3cgKyBtYXJnaW5CZWZvcmVGb3JDaGlsZChjaGlsZCk7Ci0gICAgTGF5b3V0VW5p
dCBvZmZzZXRGcm9tU3RhcnRQb3NpdGlvbiA9IGNvbXB1dGVPdmVyZmxvd0FsaWdubWVudE9mZnNl
dChSZW5kZXJTdHlsZTo6cmVzb2x2ZUFsaWdubWVudE92ZXJmbG93KHN0eWxlKCksIGNoaWxkLnN0
eWxlKCkpLCBlbmRPZlJvdyAtIHN0YXJ0T2ZSb3csIGNoaWxkLmxvZ2ljYWxIZWlnaHQoKSArIGNo
aWxkLm1hcmdpbkxvZ2ljYWxIZWlnaHQoKSk7CiAKLSAgICBzd2l0Y2ggKGNvbHVtbkF4aXNQb3Np
dGlvbkZvckNoaWxkKGNoaWxkKSkgeworICAgIEdyaWRBeGlzUG9zaXRpb24gYXhpc1Bvc2l0aW9u
ID0gY29sdW1uQXhpc1Bvc2l0aW9uRm9yQ2hpbGQoY2hpbGQpOworICAgIHN3aXRjaCAoYXhpc1Bv
c2l0aW9uKSB7CiAgICAgY2FzZSBHcmlkQXhpc1N0YXJ0OgogICAgICAgICByZXR1cm4gc3RhcnRQ
b3NpdGlvbjsKICAgICBjYXNlIEdyaWRBeGlzRW5kOgotICAgICAgICByZXR1cm4gc3RhcnRQb3Np
dGlvbiArIG9mZnNldEZyb21TdGFydFBvc2l0aW9uOwotICAgIGNhc2UgR3JpZEF4aXNDZW50ZXI6
Ci0gICAgICAgIHJldHVybiBzdGFydFBvc2l0aW9uICsgb2Zmc2V0RnJvbVN0YXJ0UG9zaXRpb24g
LyAyOworICAgIGNhc2UgR3JpZEF4aXNDZW50ZXI6IHsKKyAgICAgICAgTGF5b3V0VW5pdCBlbmRP
ZlJvdyA9IG1fcm93UG9zaXRpb25zW2Nvb3JkaW5hdGUucm93cy5yZXNvbHZlZEZpbmFsUG9zaXRp
b24ubmV4dCgpLnRvSW50KCldOworICAgICAgICBMYXlvdXRVbml0IG9mZnNldEZyb21TdGFydFBv
c2l0aW9uID0gY29tcHV0ZU92ZXJmbG93QWxpZ25tZW50T2Zmc2V0KFJlbmRlclN0eWxlOjpyZXNv
bHZlQWxpZ25tZW50T3ZlcmZsb3coc3R5bGUoKSwgY2hpbGQuc3R5bGUoKSksIGVuZE9mUm93IC0g
c3RhcnRPZlJvdywgY2hpbGQubG9naWNhbEhlaWdodCgpICsgY2hpbGQubWFyZ2luTG9naWNhbEhl
aWdodCgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXJ0UG9zaXRpb24gKyAoYXhpc1Bvc2l0aW9uID09
IEdyaWRBeGlzRW5kID8gb2Zmc2V0RnJvbVN0YXJ0UG9zaXRpb24gOiBvZmZzZXRGcm9tU3RhcnRQ
b3NpdGlvbiAvIDIpOworICAgIH0KICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
QEAgLTE0MzUsMTcgKzE0MzYsMTggQEAgTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpjb2x1bW5Qb3Np
dGlvbkZvckNoaWxkKGNvbnN0IFJlbmRlckJveCYgY2hpbGQpIGNvbnN0CiB7CiAgICAgY29uc3Qg
R3JpZENvb3JkaW5hdGUmIGNvb3JkaW5hdGUgPSBjYWNoZWRHcmlkQ29vcmRpbmF0ZShjaGlsZCk7
CiAgICAgTGF5b3V0VW5pdCBzdGFydE9mQ29sdW1uID0gbV9jb2x1bW5Qb3NpdGlvbnNbY29vcmRp
bmF0ZS5jb2x1bW5zLnJlc29sdmVkSW5pdGlhbFBvc2l0aW9uLnRvSW50KCldOwotICAgIExheW91
dFVuaXQgZW5kT2ZDb2x1bW4gPSBtX2NvbHVtblBvc2l0aW9uc1tjb29yZGluYXRlLmNvbHVtbnMu
cmVzb2x2ZWRGaW5hbFBvc2l0aW9uLm5leHQoKS50b0ludCgpXTsKICAgICBMYXlvdXRVbml0IHN0
YXJ0UG9zaXRpb24gPSBzdGFydE9mQ29sdW1uICsgbWFyZ2luU3RhcnRGb3JDaGlsZChjaGlsZCk7
Ci0gICAgTGF5b3V0VW5pdCBvZmZzZXRGcm9tU3RhcnRQb3NpdGlvbiA9IGNvbXB1dGVPdmVyZmxv
d0FsaWdubWVudE9mZnNldChSZW5kZXJTdHlsZTo6cmVzb2x2ZUp1c3RpZmljYXRpb25PdmVyZmxv
dyhzdHlsZSgpLCBjaGlsZC5zdHlsZSgpKSwgZW5kT2ZDb2x1bW4gLSBzdGFydE9mQ29sdW1uLCBj
aGlsZC5sb2dpY2FsV2lkdGgoKSArIGNoaWxkLm1hcmdpbkxvZ2ljYWxXaWR0aCgpKTsKIAotICAg
IHN3aXRjaCAocm93QXhpc1Bvc2l0aW9uRm9yQ2hpbGQoY2hpbGQpKSB7CisgICAgR3JpZEF4aXNQ
b3NpdGlvbiBheGlzUG9zaXRpb24gPSByb3dBeGlzUG9zaXRpb25Gb3JDaGlsZChjaGlsZCk7Cisg
ICAgc3dpdGNoIChheGlzUG9zaXRpb24pIHsKICAgICBjYXNlIEdyaWRBeGlzU3RhcnQ6CiAgICAg
ICAgIHJldHVybiBzdGFydFBvc2l0aW9uOwogICAgIGNhc2UgR3JpZEF4aXNFbmQ6Ci0gICAgICAg
IHJldHVybiBzdGFydFBvc2l0aW9uICsgb2Zmc2V0RnJvbVN0YXJ0UG9zaXRpb247Ci0gICAgY2Fz
ZSBHcmlkQXhpc0NlbnRlcjoKLSAgICAgICAgcmV0dXJuIHN0YXJ0UG9zaXRpb24gKyBvZmZzZXRG
cm9tU3RhcnRQb3NpdGlvbiAvIDI7CisgICAgY2FzZSBHcmlkQXhpc0NlbnRlcjogeworICAgICAg
ICBMYXlvdXRVbml0IGVuZE9mQ29sdW1uID0gbV9jb2x1bW5Qb3NpdGlvbnNbY29vcmRpbmF0ZS5j
b2x1bW5zLnJlc29sdmVkRmluYWxQb3NpdGlvbi5uZXh0KCkudG9JbnQoKV07CisgICAgICAgIExh
eW91dFVuaXQgb2Zmc2V0RnJvbVN0YXJ0UG9zaXRpb24gPSBjb21wdXRlT3ZlcmZsb3dBbGlnbm1l
bnRPZmZzZXQoUmVuZGVyU3R5bGU6OnJlc29sdmVKdXN0aWZpY2F0aW9uT3ZlcmZsb3coc3R5bGUo
KSwgY2hpbGQuc3R5bGUoKSksIGVuZE9mQ29sdW1uIC0gc3RhcnRPZkNvbHVtbiwgY2hpbGQubG9n
aWNhbFdpZHRoKCkgKyBjaGlsZC5tYXJnaW5Mb2dpY2FsV2lkdGgoKSk7CisgICAgICAgIHJldHVy
biBzdGFydFBvc2l0aW9uICsgKGF4aXNQb3NpdGlvbiA9PSBHcmlkQXhpc0VuZCA/IG9mZnNldEZy
b21TdGFydFBvc2l0aW9uIDogb2Zmc2V0RnJvbVN0YXJ0UG9zaXRpb24gLyAyKTsKKyAgICB9CiAg
ICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>