<?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>178719</bug_id>
          
          <creation_ts>2017-10-24 02:45:45 -0700</creation_ts>
          <short_desc>[GTK] When using EGL, request an OpenGL core profile when possible</short_desc>
          <delta_ts>2018-03-16 04:52:04 -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>WebKitGTK</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Miguel Gomez">magomez</reporter>
          <assigned_to name="Miguel Gomez">magomez</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1363646</commentid>
    <comment_count>0</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-10-24 02:45:45 -0700</bug_when>
    <thetext>When using GLX, we try to get an OpenGL 3.2 core profile when possible, and fall back to whatever is available if not. But we are not doing this with EGL, and we just use what EGL wants to give us. We need to implement the capability to request an OpenGL 3.2 core profile as well when possible with EGL as well.

From that I read, the required EGL API for this is available since EGL 1.5 or EGL 1.4 if the extension EGL_KHR_create_context is available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406950</commentid>
    <comment_count>1</comment_count>
      <attachid>335924</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2018-03-16 02:39:35 -0700</bug_when>
    <thetext>Created attachment 335924
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406954</commentid>
    <comment_count>2</comment_count>
      <attachid>335924</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-03-16 02:52:14 -0700</bug_when>
    <thetext>Comment on attachment 335924
Patch

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

&gt; Source/WebCore/platform/graphics/egl/GLContextEGL.cpp:379
&gt; +        String versionString = String(reinterpret_cast&lt;const char*&gt;(eglQueryString(display, EGL_VERSION)));
&gt; +        Vector&lt;String&gt; versionStringComponents;
&gt; +        versionString.split(&apos; &apos;, versionStringComponents);
&gt; +        Vector&lt;String&gt; versionDigits;
&gt; +        versionStringComponents[0].split(&apos;.&apos;, versionDigits);
&gt; +        uint version = versionDigits[0].toUInt() * 100 + versionDigits[1].toUInt() * 10;

I don&apos;t think we need to parse the version here again. We already have the version parsed when EGL is initialized in PlatformDisplay. I guess we could simply pass the PlatformDisplay here instead of the EGLDisplay and use PlatformDisplay::eglCheckVersion()

&gt; Source/WebCore/platform/graphics/egl/GLContextEGL.cpp:417
&gt; +        contextAttributesInitialized = true;

We are doing this in all the cases inside the if, no? I think we can dot this once at the beginning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406956</commentid>
    <comment_count>3</comment_count>
      <attachid>335926</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2018-03-16 03:25:13 -0700</bug_when>
    <thetext>Created attachment 335926
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406966</commentid>
    <comment_count>4</comment_count>
      <attachid>335926</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-16 04:52:03 -0700</bug_when>
    <thetext>Comment on attachment 335926
Patch

Clearing flags on attachment: 335926

Committed r229663: &lt;https://trac.webkit.org/changeset/229663&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406967</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-16 04:52:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335924</attachid>
            <date>2018-03-16 02:39:35 -0700</date>
            <delta_ts>2018-03-16 03:25:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178719-20180316103934.patch</filename>
            <type>text/plain</type>
            <size>10771</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzg2NDUwYzY0YTNlMTkz
Mzk0ZjEwMjMyYjAzMGVmMWJiZTY1YTExYy4uYTkxYWY0NjNkNDg5ZDI0MWNkODY0ZmNmZWQwYTJl
ZTFhYmM5N2RmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE4LTAzLTE2ICBNaWd1
ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gV2hlbiB1c2lu
ZyBFR0wsIHJlcXVlc3QgYW4gT3BlbkdMIGNvcmUgcHJvZmlsZSB3aGVuIHBvc3NpYmxlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzg3MTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIHVzaW5nIEVH
TCBhbmQgT3BlbkdMLCB0cnkgdG8gcmVxdWVzdCBhIGNvbnRleHQgd2l0aCB2ZXJzaW9uID49IDMu
MiB3aXRoIGEgY29yZSBwcm9maWxlCisgICAgICAgIHdoZW5ldmVyIHBvc3NpYmxlLiBJbiBvcmRl
ciB0byB0byB0aGlzLCB3ZSByZXF1aXJlIEVHTCB2ZXJzaW9uIDEuNSBvciB2ZXJzaW9uIDEuNCB3
aXRoIHRoZQorICAgICAgICBleHRlbnNpb24gRUdMX0tIUl9jcmVhdGVfY29udGV4dC4gSWYgRUdM
IHJlcXVpcmVtZW50cyBhcmUgbm90IG1ldCwgb3Igd2UgY2Fubm90IGdldCBhCisgICAgICAgIGNv
bnRleHQgd2l0aCB2ZXJzaW9uID49IDMuMiB0aGVuIHVzZSB3aGF0ZXZlciBFR0wgZ2l2ZXMgdXMu
CisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGVudCB0ZXN0cy4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R0xD
b250ZXh0RUdMOjpjcmVhdGVXaW5kb3dDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkdMQ29u
dGV4dEVHTDo6Y3JlYXRlUGJ1ZmZlckNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6R0xDb250
ZXh0RUdMOjpjcmVhdGVTdXJmYWNlbGVzc0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6R0xD
b250ZXh0RUdMOjpjcmVhdGVDb250ZXh0Rm9yRUdMVmVyc2lvbik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2VnbC9HTENvbnRleHRFR0xXUEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R0xDb250ZXh0
RUdMOjpjcmVhdGVXUEVDb250ZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9lZ2wv
R0xDb250ZXh0RUdMV2F5bGFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHTENvbnRleHRFR0w6
OmNyZWF0ZVdheWxhbmRDb250ZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9lZ2wv
R0xDb250ZXh0RUdMWDExLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdMQ29udGV4dEVHTDo6Y3Jl
YXRlUGl4bWFwQ29udGV4dCk6CisKIDIwMTgtMDMtMTYgIERldmluIFJvdXNzbyAgPHdlYmtpdEBk
ZXZpbnJvdXNzby5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQ2FudmFzIFRhYjogbWFp
biBXZWJHTCBjYW52YXMgb24gYWNrby5uZXQgaGFzIG5vIHJlcG9ydGVkIHNpemUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0wuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTC5jcHAK
aW5kZXggZTUwZTRiYjljNmU1MmRiMTIzYjcxZGQzNjlmMjZlZTM2NzYxNzRiNS4uZTVjMGQ4ZTEy
M2NiYWQ1YmVlYzQwMzliYjYwOGQwYzZiZWVjMjQyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTC5jcHAKQEAgLTI4LDYgKzI4
LDcgQEAKICNpbmNsdWRlICJFcG94eUVHTC5oIgogI2Vsc2UKICNpbmNsdWRlIDxFR0wvZWdsLmg+
CisjaW5jbHVkZSA8RUdML2VnbGV4dC5oPgogI2VuZGlmCiAKICNpZiBVU0UoQ0FJUk8pCkBAIC01
NCwxMyArNTUsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBjb25zdCBFR0xp
bnQgZ0NvbnRleHRBdHRyaWJ1dGVzW10gPSB7Ci0jaWYgVVNFKE9QRU5HTF9FUykKLSAgICBFR0xf
Q09OVEVYVF9DTElFTlRfVkVSU0lPTiwgMiwKLSNlbmRpZgotICAgIEVHTF9OT05FCi19OwotCiAj
aWYgVVNFKE9QRU5HTF9FUykKIHN0YXRpYyBjb25zdCBFR0xlbnVtIGdFR0xBUElWZXJzaW9uID0g
RUdMX09QRU5HTF9FU19BUEk7CiAjZWxzZQpAQCAtMTQxLDcgKzEzNSw3IEBAIHN0ZDo6dW5pcXVl
X3B0cjxHTENvbnRleHRFR0w+IEdMQ29udGV4dEVHTDo6Y3JlYXRlV2luZG93Q29udGV4dChHTE5h
dGl2ZVdpbmRvd1R5CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIEVHTENv
bnRleHQgY29udGV4dCA9IGVnbENyZWF0ZUNvbnRleHQoZGlzcGxheSwgY29uZmlnLCBzaGFyaW5n
Q29udGV4dCwgZ0NvbnRleHRBdHRyaWJ1dGVzKTsKKyAgICBFR0xDb250ZXh0IGNvbnRleHQgPSBj
cmVhdGVDb250ZXh0Rm9yRUdMVmVyc2lvbihkaXNwbGF5LCBjb25maWcsIHNoYXJpbmdDb250ZXh0
KTsKICAgICBpZiAoY29udGV4dCA9PSBFR0xfTk9fQ09OVEVYVCkgewogICAgICAgICBXVEZMb2dB
bHdheXMoIkNhbm5vdCBjcmVhdGUgRUdMIHdpbmRvdyBjb250ZXh0OiAlc1xuIiwgbGFzdEVycm9y
U3RyaW5nKCkpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTE4MSw3ICsxNzUsNyBAQCBz
dGQ6OnVuaXF1ZV9wdHI8R0xDb250ZXh0RUdMPiBHTENvbnRleHRFR0w6OmNyZWF0ZVBidWZmZXJD
b250ZXh0KFBsYXRmb3JtRGlzcGxheQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAK
LSAgICBFR0xDb250ZXh0IGNvbnRleHQgPSBlZ2xDcmVhdGVDb250ZXh0KGRpc3BsYXksIGNvbmZp
Zywgc2hhcmluZ0NvbnRleHQsIGdDb250ZXh0QXR0cmlidXRlcyk7CisgICAgRUdMQ29udGV4dCBj
b250ZXh0ID0gY3JlYXRlQ29udGV4dEZvckVHTFZlcnNpb24oZGlzcGxheSwgY29uZmlnLCBzaGFy
aW5nQ29udGV4dCk7CiAgICAgaWYgKGNvbnRleHQgPT0gRUdMX05PX0NPTlRFWFQpIHsKICAgICAg
ICAgV1RGTG9nQWx3YXlzKCJDYW5ub3QgY3JlYXRlIEVHTCBQYnVmZmVyIGNvbnRleHQ6ICVzXG4i
LCBsYXN0RXJyb3JTdHJpbmcoKSk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtMjE4LDcg
KzIxMiw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxHTENvbnRleHRFR0w+IEdMQ29udGV4dEVHTDo6Y3Jl
YXRlU3VyZmFjZWxlc3NDb250ZXh0KFBsYXRmb3JtRGlzCiAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgIH0KIAotICAgIEVHTENvbnRleHQgY29udGV4dCA9IGVnbENyZWF0ZUNvbnRleHQoZGlz
cGxheSwgY29uZmlnLCBzaGFyaW5nQ29udGV4dCwgZ0NvbnRleHRBdHRyaWJ1dGVzKTsKKyAgICBF
R0xDb250ZXh0IGNvbnRleHQgPSBjcmVhdGVDb250ZXh0Rm9yRUdMVmVyc2lvbihkaXNwbGF5LCBj
b25maWcsIHNoYXJpbmdDb250ZXh0KTsKICAgICBpZiAoY29udGV4dCA9PSBFR0xfTk9fQ09OVEVY
VCkgewogICAgICAgICBXVEZMb2dBbHdheXMoIkNhbm5vdCBjcmVhdGUgRUdMIHN1cmZhY2VsZXNz
IGNvbnRleHQ6ICVzXG4iLCBsYXN0RXJyb3JTdHJpbmcoKSk7CiAgICAgICAgIHJldHVybiBudWxs
cHRyOwpAQCAtMzYwLDYgKzM1NCw3MyBAQCBJbnRTaXplIEdMQ29udGV4dEVHTDo6ZGVmYXVsdEZy
YW1lQnVmZmVyU2l6ZSgpCiAgICAgcmV0dXJuIEludFNpemUod2lkdGgsIGhlaWdodCk7CiB9CiAK
K0VHTENvbnRleHQgR0xDb250ZXh0RUdMOjpjcmVhdGVDb250ZXh0Rm9yRUdMVmVyc2lvbihFR0xE
aXNwbGF5IGRpc3BsYXksIEVHTENvbmZpZyBjb25maWcsIEVHTENvbnRleHQgc2hhcmluZ0NvbnRl
eHQpCit7CisgICAgc3RhdGljIEVHTGludCBjb250ZXh0QXR0cmlidXRlc1s3XTsKKyAgICBzdGF0
aWMgYm9vbCBjb250ZXh0QXR0cmlidXRlc0luaXRpYWxpemVkID0gZmFsc2U7CisKKyAgICBpZiAo
IWNvbnRleHRBdHRyaWJ1dGVzSW5pdGlhbGl6ZWQpIHsKKyNpZiBVU0UoT1BFTkdMX0VTKQorICAg
ICAgICAvLyBHTEVTIGNhc2UuIE5vdCBtdWNoIHRvIGRvIGhlcmUgYmVzaWRlcyByZXF1ZXN0aW5n
IGEgR0xFUzIgdmVyc2lvbi4KKyAgICAgICAgY29udGV4dEF0dHJpYnV0ZXNbMF0gPSBFR0xfQ09O
VEVYVF9DTElFTlRfVkVSU0lPTjsKKyAgICAgICAgY29udGV4dEF0dHJpYnV0ZXNbMV0gPSAyOwor
ICAgICAgICBjb250ZXh0QXR0cmlidXRlc1syXSA9IEVHTF9OT05FOworICAgICAgICBjb250ZXh0
QXR0cmlidXRlc0luaXRpYWxpemVkID0gdHJ1ZTsKKyNlbHNlCisgICAgICAgIC8vIE9wZW5HTCBj
YXNlLiBXZSB3YW50IHRvIHJlcXVlc3QgYW4gT3BlbkdMIHZlcnNpb24gPj0gMy4yIHdpdGggYSBj
b3JlIHByb2ZpbGUuIElmIHRoYXQncyBub3QgcG9zc2libGUsCisgICAgICAgIC8vIHdlJ2xsIHVz
ZSB3aGF0ZXZlciBpcyBhdmFpbGFibGUuIEluIG9yZGVyIHRvIHJlcXVlc3QgYSBjb25jcmV0ZSB2
ZXJzaW9uIG9mIE9wZW5HTCB3ZSBuZWVkIEVHTCB2ZXJzaW9uCisgICAgICAgIC8vIDEuNSBvciBF
R0wgdmVyc2lvbiAxLjQgd2l0aCB0aGUgZXh0ZW5zaW9uIEVHTF9LSFJfY3JlYXRlX2NvbnRleHQu
CisgICAgICAgIEVHTENvbnRleHQgY29udGV4dCA9IEVHTF9OT19DT05URVhUOworICAgICAgICBT
dHJpbmcgdmVyc2lvblN0cmluZyA9IFN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIq
PihlZ2xRdWVyeVN0cmluZyhkaXNwbGF5LCBFR0xfVkVSU0lPTikpKTsKKyAgICAgICAgVmVjdG9y
PFN0cmluZz4gdmVyc2lvblN0cmluZ0NvbXBvbmVudHM7CisgICAgICAgIHZlcnNpb25TdHJpbmcu
c3BsaXQoJyAnLCB2ZXJzaW9uU3RyaW5nQ29tcG9uZW50cyk7CisgICAgICAgIFZlY3RvcjxTdHJp
bmc+IHZlcnNpb25EaWdpdHM7CisgICAgICAgIHZlcnNpb25TdHJpbmdDb21wb25lbnRzWzBdLnNw
bGl0KCcuJywgdmVyc2lvbkRpZ2l0cyk7CisgICAgICAgIHVpbnQgdmVyc2lvbiA9IHZlcnNpb25E
aWdpdHNbMF0udG9VSW50KCkgKiAxMDAgKyB2ZXJzaW9uRGlnaXRzWzFdLnRvVUludCgpICogMTA7
CisKKyAgICAgICAgaWYgKHZlcnNpb24gPj0gMTUwKSB7CisgICAgICAgICAgICBjb250ZXh0QXR0
cmlidXRlc1swXSA9IEVHTF9DT05URVhUX01BSk9SX1ZFUlNJT047CisgICAgICAgICAgICBjb250
ZXh0QXR0cmlidXRlc1sxXSA9IDM7CisgICAgICAgICAgICBjb250ZXh0QXR0cmlidXRlc1syXSA9
IEVHTF9DT05URVhUX01JTk9SX1ZFUlNJT047CisgICAgICAgICAgICBjb250ZXh0QXR0cmlidXRl
c1szXSA9IDI7CisgICAgICAgICAgICBjb250ZXh0QXR0cmlidXRlc1s0XSA9IEVHTF9DT05URVhU
X09QRU5HTF9QUk9GSUxFX01BU0s7CisgICAgICAgICAgICBjb250ZXh0QXR0cmlidXRlc1s1XSA9
IEVHTF9DT05URVhUX09QRU5HTF9DT1JFX1BST0ZJTEVfQklUOworICAgICAgICAgICAgY29udGV4
dEF0dHJpYnV0ZXNbNl0gPSBFR0xfTk9ORTsKKworICAgICAgICAgICAgLy8gVHJ5IHRvIGNyZWF0
ZSBhIGNvbnRleHQgd2l0aCB0aGlzIGNvbmZpZ3VyYXRpb24uCisgICAgICAgICAgICBjb250ZXh0
ID0gZWdsQ3JlYXRlQ29udGV4dChkaXNwbGF5LCBjb25maWcsIHNoYXJpbmdDb250ZXh0LCBjb250
ZXh0QXR0cmlidXRlcyk7CisgICAgICAgIH0gZWxzZSBpZiAodmVyc2lvbiA9PSAxNDApIHsKKyAg
ICAgICAgICAgIGNvbnN0IGNoYXIqIGV4dGVuc2lvbnMgPSBlZ2xRdWVyeVN0cmluZyhkaXNwbGF5
LCBFR0xfRVhURU5TSU9OUyk7CisgICAgICAgICAgICBpZiAoR0xDb250ZXh0Ojppc0V4dGVuc2lv
blN1cHBvcnRlZChleHRlbnNpb25zLCAiRUdMX0tIUl9jcmVhdGVfY29udGV4dCIpKSB7CisgICAg
ICAgICAgICAgICAgY29udGV4dEF0dHJpYnV0ZXNbMF0gPSBFR0xfQ09OVEVYVF9NQUpPUl9WRVJT
SU9OX0tIUjsKKyAgICAgICAgICAgICAgICBjb250ZXh0QXR0cmlidXRlc1sxXSA9IDM7CisgICAg
ICAgICAgICAgICAgY29udGV4dEF0dHJpYnV0ZXNbMl0gPSBFR0xfQ09OVEVYVF9NSU5PUl9WRVJT
SU9OX0tIUjsKKyAgICAgICAgICAgICAgICBjb250ZXh0QXR0cmlidXRlc1szXSA9IDI7CisgICAg
ICAgICAgICAgICAgY29udGV4dEF0dHJpYnV0ZXNbNF0gPSBFR0xfQ09OVEVYVF9PUEVOR0xfUFJP
RklMRV9NQVNLX0tIUjsKKyAgICAgICAgICAgICAgICBjb250ZXh0QXR0cmlidXRlc1s1XSA9IEVH
TF9DT05URVhUX09QRU5HTF9DT1JFX1BST0ZJTEVfQklUX0tIUjsKKyAgICAgICAgICAgICAgICBj
b250ZXh0QXR0cmlidXRlc1s2XSA9IEVHTF9OT05FOworCisgICAgICAgICAgICAgICAgLy8gVHJ5
IHRvIGNyZWF0ZSBhIGNvbnRleHQgd2l0aCB0aGlzIGNvbmZpZ3VyYXRpb24uCisgICAgICAgICAg
ICAgICAgY29udGV4dCA9IGVnbENyZWF0ZUNvbnRleHQoZGlzcGxheSwgY29uZmlnLCBzaGFyaW5n
Q29udGV4dCwgY29udGV4dEF0dHJpYnV0ZXMpOworICAgICAgICAgICAgfQorICAgICAgICB9CisK
KyAgICAgICAgaWYgKGNvbnRleHQgIT0gRUdMX05PX0NPTlRFWFQpIHsKKyAgICAgICAgICAgIC8v
IENyZWF0aW5nIHRoZSBjb250ZXh0IHdvcmtlZCwgc28gc2F2ZSB0aGUgY29uZmlnIGZvciBmdXR1
cmUgY2FsbHMgYW5kIHJldHVybiB0aGUgY3JlYXRlZCBjb250ZXh0LgorICAgICAgICAgICAgY29u
dGV4dEF0dHJpYnV0ZXNJbml0aWFsaXplZCA9IHRydWU7CisgICAgICAgICAgICByZXR1cm4gY29u
dGV4dDsKKyAgICAgICAgfQorCisgICAgICAgIC8vIExlZ2FjeSBjYXNlOiB0aGUgcmVxdWlyZWQg
RUdMIHZlcnNpb24gaXMgbm90IHByZXNlbnQsIG9yIHdlIGhhdmVuJ3QgYmVlbiBhYmxlIHRvIGNy
ZWF0ZSBhID49IDMuMjAgT3BlbkdMCisgICAgICAgIC8vIGNvbnRleHQsIHNvIGp1c3QgcmVxdWVz
dCB3aGF0ZXZlciBpcyBhdmFpbGFibGUuCisgICAgICAgIGNvbnRleHRBdHRyaWJ1dGVzWzBdID0g
RUdMX05PTkU7CisgICAgICAgIGNvbnRleHRBdHRyaWJ1dGVzSW5pdGlhbGl6ZWQgPSB0cnVlOwor
I2VuZGlmCisgICAgfQorCisgICAgcmV0dXJuIGVnbENyZWF0ZUNvbnRleHQoZGlzcGxheSwgY29u
ZmlnLCBzaGFyaW5nQ29udGV4dCwgY29udGV4dEF0dHJpYnV0ZXMpOworfQorCiBib29sIEdMQ29u
dGV4dEVHTDo6bWFrZUNvbnRleHRDdXJyZW50KCkKIHsKICAgICBBU1NFUlQobV9jb250ZXh0KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRl
eHRFR0wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRF
R0wuaAppbmRleCBlODEwYWM3Y2ZjZjAxMWJiYTFiMTc0M2VjZjNhMDkwMWQ3ZmE5MjlmLi5iNTU3
ZmYwNGE4MDZiMGZiZTE0ODBjYzcyYzg4ODdhMjY1MGZhMGI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTC5oCkBAIC01NSw2ICs1
NSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5HTENvbnRleHRFR0woKTsKIAogcHJpdmF0ZToK
KyAgICBzdGF0aWMgRUdMQ29udGV4dCBjcmVhdGVDb250ZXh0Rm9yRUdMVmVyc2lvbihFR0xEaXNw
bGF5LCBFR0xDb25maWcsIEVHTENvbnRleHQpOworCiAgICAgYm9vbCBtYWtlQ29udGV4dEN1cnJl
bnQoKSBvdmVycmlkZTsKICAgICB2b2lkIHN3YXBCdWZmZXJzKCkgb3ZlcnJpZGU7CiAgICAgdm9p
ZCB3YWl0TmF0aXZlKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMV1BFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0xXUEUuY3BwCmluZGV4IGNiNjQyMzdlMDQ1
MjVjZWYwYzE4NzY0NGI1NTUyMDkxMmI1NTFlOTcuLjljMDhkMzQ0NmQwZWVjNjFlN2JjYTc5OTBk
Mzg3YjllNTNlZTlhM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2VnbC9HTENvbnRleHRFR0xXUEUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0xXUEUuY3BwCkBAIC01MywxNCArNTMsNyBAQCBzdGQ6
OnVuaXF1ZV9wdHI8R0xDb250ZXh0RUdMPiBHTENvbnRleHRFR0w6OmNyZWF0ZVdQRUNvbnRleHQo
UGxhdGZvcm1EaXNwbGF5JiBwbAogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAg
ICBzdGF0aWMgY29uc3QgRUdMaW50IGNvbnRleHRBdHRyaWJ1dGVzW10gPSB7Ci0jaWYgVVNFKE9Q
RU5HTF9FUykKLSAgICAgICAgRUdMX0NPTlRFWFRfQ0xJRU5UX1ZFUlNJT04sIDIsCi0jZW5kaWYK
LSAgICAgICAgRUdMX05PTkUKLSAgICB9OwotCi0gICAgRUdMQ29udGV4dCBjb250ZXh0ID0gZWds
Q3JlYXRlQ29udGV4dChkaXNwbGF5LCBjb25maWcsIHNoYXJpbmdDb250ZXh0LCBjb250ZXh0QXR0
cmlidXRlcyk7CisgICAgRUdMQ29udGV4dCBjb250ZXh0ID0gY3JlYXRlQ29udGV4dEZvckVHTFZl
cnNpb24oZGlzcGxheSwgY29uZmlnLCBzaGFyaW5nQ29udGV4dCk7CiAgICAgaWYgKGNvbnRleHQg
PT0gRUdMX05PX0NPTlRFWFQpIHsKICAgICAgICAgV1RGTG9nQWx3YXlzKCJDYW5ub3QgY3JlYXRl
IEVHTCBXUEUgY29udGV4dDogJXNcbiIsIGxhc3RFcnJvclN0cmluZygpKTsKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9lZ2wvR0xDb250ZXh0RUdMV2F5bGFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMV2F5bGFuZC5jcHAKaW5kZXggY2QzODY4MDczYzU0OTVi
ZmU5MWUzMWRkOGI4MTQ2MjJlNWZlYTExOS4uYzFjYWEzZmQ1ODA1YmVkODE3OTU2NzY3NDRjYzI0
MjZlNzc2YmI2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZWdsL0dMQ29udGV4dEVHTFdheWxhbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0xXYXlsYW5kLmNwcApAQCAtNTEsMTQgKzUxLDcgQEAg
c3RkOjp1bmlxdWVfcHRyPEdMQ29udGV4dEVHTD4gR0xDb250ZXh0RUdMOjpjcmVhdGVXYXlsYW5k
Q29udGV4dChQbGF0Zm9ybURpc3BsYXkKICAgICBpZiAoIWdldEVHTENvbmZpZyhkaXNwbGF5LCAm
Y29uZmlnLCBXaW5kb3dTdXJmYWNlKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBz
dGF0aWMgY29uc3QgRUdMaW50IGNvbnRleHRBdHRyaWJ1dGVzW10gPSB7Ci0jaWYgVVNFKE9QRU5H
TF9FUykKLSAgICAgICAgRUdMX0NPTlRFWFRfQ0xJRU5UX1ZFUlNJT04sIDIsCi0jZW5kaWYKLSAg
ICAgICAgRUdMX05PTkUKLSAgICB9OwotCi0gICAgRUdMQ29udGV4dCBjb250ZXh0ID0gZWdsQ3Jl
YXRlQ29udGV4dChkaXNwbGF5LCBjb25maWcsIHNoYXJpbmdDb250ZXh0LCBjb250ZXh0QXR0cmli
dXRlcyk7CisgICAgRUdMQ29udGV4dCBjb250ZXh0ID0gY3JlYXRlQ29udGV4dEZvckVHTFZlcnNp
b24oZGlzcGxheSwgY29uZmlnLCBzaGFyaW5nQ29udGV4dCk7CiAgICAgaWYgKGNvbnRleHQgPT0g
RUdMX05PX0NPTlRFWFQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMWDExLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0xYMTEuY3Bw
CmluZGV4IGNhYWY5ZTI3ZWYyODgzMzBhMzMxYTJjYTFjMGZkMTA4NjFjZDU1MTkuLmM3Y2NlZDg4
MjY5N2FhYjY5NmU5N2RjZGQ0N2M2ZDAyOGVlYzQ0ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0xYMTEuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0xYMTEuY3BwCkBAIC00
OSwxMyArNDksNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8R0xDb250ZXh0RUdMPiBHTENvbnRleHRFR0w6
OmNyZWF0ZVBpeG1hcENvbnRleHQoUGxhdGZvcm1EaXNwbGF5JgogICAgIGlmICghZ2V0RUdMQ29u
ZmlnKGRpc3BsYXksICZjb25maWcsIFBpeG1hcFN1cmZhY2UpKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAotICAgIHN0YXRpYyBjb25zdCBFR0xpbnQgY29udGV4dEF0dHJpYnV0ZXNbXSA9IHsK
LSNpZiBVU0UoT1BFTkdMX0VTKQotICAgICAgICBFR0xfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiwg
MiwKLSNlbmRpZgotICAgICAgICBFR0xfTk9ORQotICAgIH07Ci0gICAgRUdMQ29udGV4dCBjb250
ZXh0ID0gZWdsQ3JlYXRlQ29udGV4dChkaXNwbGF5LCBjb25maWcsIHNoYXJpbmdDb250ZXh0LCBj
b250ZXh0QXR0cmlidXRlcyk7CisgICAgRUdMQ29udGV4dCBjb250ZXh0ID0gY3JlYXRlQ29udGV4
dEZvckVHTFZlcnNpb24oZGlzcGxheSwgY29uZmlnLCBzaGFyaW5nQ29udGV4dCk7CiAgICAgaWYg
KGNvbnRleHQgPT0gRUdMX05PX0NPTlRFWFQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335926</attachid>
            <date>2018-03-16 03:25:13 -0700</date>
            <delta_ts>2018-03-16 04:52:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178719-20180316112511.patch</filename>
            <type>text/plain</type>
            <size>10407</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmY3NjBhMTZjNDAxMjdl
ZTZjNDgzMDk0ZjcwMTkzZDNiNWQxM2NjOC4uZTIxMTgyYTE1NWVhZmY1MmExNGRkZjY0ZGFlZmUy
N2M5ZjhlOThlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE4LTAzLTE2ICBNaWd1
ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gV2hlbiB1c2lu
ZyBFR0wsIHJlcXVlc3QgYW4gT3BlbkdMIGNvcmUgcHJvZmlsZSB3aGVuIHBvc3NpYmxlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzg3MTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBDYXJsb3MgR2FyY2lhIENhbXBvcy4KKworICAgICAgICBXaGVuIHVz
aW5nIEVHTCBhbmQgT3BlbkdMLCB0cnkgdG8gcmVxdWVzdCBhIGNvbnRleHQgd2l0aCB2ZXJzaW9u
ID49IDMuMiB3aXRoIGEgY29yZSBwcm9maWxlCisgICAgICAgIHdoZW5ldmVyIHBvc3NpYmxlLiBJ
biBvcmRlciB0byB0byB0aGlzLCB3ZSByZXF1aXJlIEVHTCB2ZXJzaW9uIDEuNSBvciB2ZXJzaW9u
IDEuNCB3aXRoIHRoZQorICAgICAgICBleHRlbnNpb24gRUdMX0tIUl9jcmVhdGVfY29udGV4dC4g
SWYgRUdMIHJlcXVpcmVtZW50cyBhcmUgbm90IG1ldCwgb3Igd2UgY2Fubm90IGdldCBhCisgICAg
ICAgIGNvbnRleHQgd2l0aCB2ZXJzaW9uID49IDMuMiB0aGVuIHVzZSB3aGF0ZXZlciBFR0wgZ2l2
ZXMgdXMuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGVudCB0ZXN0cy4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0wuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R0xDb250ZXh0RUdMOjpjcmVhdGVXaW5kb3dDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OkdMQ29udGV4dEVHTDo6Y3JlYXRlUGJ1ZmZlckNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6
R0xDb250ZXh0RUdMOjpjcmVhdGVTdXJmYWNlbGVzc0NvbnRleHQpOgorICAgICAgICAoV2ViQ29y
ZTo6R0xDb250ZXh0RUdMOjpjcmVhdGVDb250ZXh0Rm9yRUdMVmVyc2lvbik6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTC5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0xXUEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R0xD
b250ZXh0RUdMOjpjcmVhdGVXUEVDb250ZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9lZ2wvR0xDb250ZXh0RUdMV2F5bGFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHTENvbnRl
eHRFR0w6OmNyZWF0ZVdheWxhbmRDb250ZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9lZ2wvR0xDb250ZXh0RUdMWDExLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdMQ29udGV4dEVH
TDo6Y3JlYXRlUGl4bWFwQ29udGV4dCk6CisKIDIwMTgtMDMtMTYgIFphbiBEb2JlcnNlayAgPHpk
b2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtUZXhNYXBdIERvbid0IHVzZSB0aGUgVGV4
dHVyZU1hcHBlckFuaW1hdGlvbjo6Q2xpZW50IGludGVyZmFjZSB0byBhcHBseSBhbmltYXRpb24K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRl
eHRFR0wuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4
dEVHTC5jcHAKaW5kZXggZTUwZTRiYjljNmU1MmRiMTIzYjcxZGQzNjlmMjZlZTM2NzYxNzRiNS4u
MjRkMDZiYTAyYjc5ZjRiNzZkNzkyMjc3NGEwZjhjZDVlMzA2YTBhYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTC5jcHAKQEAg
LTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJFcG94eUVHTC5oIgogI2Vsc2UKICNpbmNsdWRlIDxF
R0wvZWdsLmg+CisjaW5jbHVkZSA8RUdML2VnbGV4dC5oPgogI2VuZGlmCiAKICNpZiBVU0UoQ0FJ
Uk8pCkBAIC01NCwxMyArNTUsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBj
b25zdCBFR0xpbnQgZ0NvbnRleHRBdHRyaWJ1dGVzW10gPSB7Ci0jaWYgVVNFKE9QRU5HTF9FUykK
LSAgICBFR0xfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiwgMiwKLSNlbmRpZgotICAgIEVHTF9OT05F
Ci19OwotCiAjaWYgVVNFKE9QRU5HTF9FUykKIHN0YXRpYyBjb25zdCBFR0xlbnVtIGdFR0xBUElW
ZXJzaW9uID0gRUdMX09QRU5HTF9FU19BUEk7CiAjZWxzZQpAQCAtMTQxLDcgKzEzNSw3IEBAIHN0
ZDo6dW5pcXVlX3B0cjxHTENvbnRleHRFR0w+IEdMQ29udGV4dEVHTDo6Y3JlYXRlV2luZG93Q29u
dGV4dChHTE5hdGl2ZVdpbmRvd1R5CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAot
ICAgIEVHTENvbnRleHQgY29udGV4dCA9IGVnbENyZWF0ZUNvbnRleHQoZGlzcGxheSwgY29uZmln
LCBzaGFyaW5nQ29udGV4dCwgZ0NvbnRleHRBdHRyaWJ1dGVzKTsKKyAgICBFR0xDb250ZXh0IGNv
bnRleHQgPSBjcmVhdGVDb250ZXh0Rm9yRUdMVmVyc2lvbihwbGF0Zm9ybURpc3BsYXksIGNvbmZp
Zywgc2hhcmluZ0NvbnRleHQpOwogICAgIGlmIChjb250ZXh0ID09IEVHTF9OT19DT05URVhUKSB7
CiAgICAgICAgIFdURkxvZ0Fsd2F5cygiQ2Fubm90IGNyZWF0ZSBFR0wgd2luZG93IGNvbnRleHQ6
ICVzXG4iLCBsYXN0RXJyb3JTdHJpbmcoKSk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAt
MTgxLDcgKzE3NSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxHTENvbnRleHRFR0w+IEdMQ29udGV4dEVH
TDo6Y3JlYXRlUGJ1ZmZlckNvbnRleHQoUGxhdGZvcm1EaXNwbGF5CiAgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgIH0KIAotICAgIEVHTENvbnRleHQgY29udGV4dCA9IGVnbENyZWF0ZUNvbnRl
eHQoZGlzcGxheSwgY29uZmlnLCBzaGFyaW5nQ29udGV4dCwgZ0NvbnRleHRBdHRyaWJ1dGVzKTsK
KyAgICBFR0xDb250ZXh0IGNvbnRleHQgPSBjcmVhdGVDb250ZXh0Rm9yRUdMVmVyc2lvbihwbGF0
Zm9ybURpc3BsYXksIGNvbmZpZywgc2hhcmluZ0NvbnRleHQpOwogICAgIGlmIChjb250ZXh0ID09
IEVHTF9OT19DT05URVhUKSB7CiAgICAgICAgIFdURkxvZ0Fsd2F5cygiQ2Fubm90IGNyZWF0ZSBF
R0wgUGJ1ZmZlciBjb250ZXh0OiAlc1xuIiwgbGFzdEVycm9yU3RyaW5nKCkpOwogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKQEAgLTIxOCw3ICsyMTIsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8R0xDb250
ZXh0RUdMPiBHTENvbnRleHRFR0w6OmNyZWF0ZVN1cmZhY2VsZXNzQ29udGV4dChQbGF0Zm9ybURp
cwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICBFR0xDb250ZXh0IGNvbnRl
eHQgPSBlZ2xDcmVhdGVDb250ZXh0KGRpc3BsYXksIGNvbmZpZywgc2hhcmluZ0NvbnRleHQsIGdD
b250ZXh0QXR0cmlidXRlcyk7CisgICAgRUdMQ29udGV4dCBjb250ZXh0ID0gY3JlYXRlQ29udGV4
dEZvckVHTFZlcnNpb24ocGxhdGZvcm1EaXNwbGF5LCBjb25maWcsIHNoYXJpbmdDb250ZXh0KTsK
ICAgICBpZiAoY29udGV4dCA9PSBFR0xfTk9fQ09OVEVYVCkgewogICAgICAgICBXVEZMb2dBbHdh
eXMoIkNhbm5vdCBjcmVhdGUgRUdMIHN1cmZhY2VsZXNzIGNvbnRleHQ6ICVzXG4iLCBsYXN0RXJy
b3JTdHJpbmcoKSk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwpAQCAtMzYwLDYgKzM1NCw2NSBA
QCBJbnRTaXplIEdMQ29udGV4dEVHTDo6ZGVmYXVsdEZyYW1lQnVmZmVyU2l6ZSgpCiAgICAgcmV0
dXJuIEludFNpemUod2lkdGgsIGhlaWdodCk7CiB9CiAKK0VHTENvbnRleHQgR0xDb250ZXh0RUdM
OjpjcmVhdGVDb250ZXh0Rm9yRUdMVmVyc2lvbihQbGF0Zm9ybURpc3BsYXkmIHBsYXRmb3JtRGlz
cGxheSwgRUdMQ29uZmlnIGNvbmZpZywgRUdMQ29udGV4dCBzaGFyaW5nQ29udGV4dCkKK3sKKyAg
ICBzdGF0aWMgRUdMaW50IGNvbnRleHRBdHRyaWJ1dGVzWzddOworICAgIHN0YXRpYyBib29sIGNv
bnRleHRBdHRyaWJ1dGVzSW5pdGlhbGl6ZWQgPSBmYWxzZTsKKworICAgIGlmICghY29udGV4dEF0
dHJpYnV0ZXNJbml0aWFsaXplZCkgeworICAgICAgICBjb250ZXh0QXR0cmlidXRlc0luaXRpYWxp
emVkID0gdHJ1ZTsKKworI2lmIFVTRShPUEVOR0xfRVMpCisgICAgICAgIC8vIEdMRVMgY2FzZS4g
Tm90IG11Y2ggdG8gZG8gaGVyZSBiZXNpZGVzIHJlcXVlc3RpbmcgYSBHTEVTMiB2ZXJzaW9uLgor
ICAgICAgICBjb250ZXh0QXR0cmlidXRlc1swXSA9IEVHTF9DT05URVhUX0NMSUVOVF9WRVJTSU9O
OworICAgICAgICBjb250ZXh0QXR0cmlidXRlc1sxXSA9IDI7CisgICAgICAgIGNvbnRleHRBdHRy
aWJ1dGVzWzJdID0gRUdMX05PTkU7CisjZWxzZQorICAgICAgICAvLyBPcGVuR0wgY2FzZS4gV2Ug
d2FudCB0byByZXF1ZXN0IGFuIE9wZW5HTCB2ZXJzaW9uID49IDMuMiB3aXRoIGEgY29yZSBwcm9m
aWxlLiBJZiB0aGF0J3Mgbm90IHBvc3NpYmxlLAorICAgICAgICAvLyB3ZSdsbCB1c2Ugd2hhdGV2
ZXIgaXMgYXZhaWxhYmxlLiBJbiBvcmRlciB0byByZXF1ZXN0IGEgY29uY3JldGUgdmVyc2lvbiBv
ZiBPcGVuR0wgd2UgbmVlZCBFR0wgdmVyc2lvbgorICAgICAgICAvLyAxLjUgb3IgRUdMIHZlcnNp
b24gMS40IHdpdGggdGhlIGV4dGVuc2lvbiBFR0xfS0hSX2NyZWF0ZV9jb250ZXh0LgorICAgICAg
ICBFR0xDb250ZXh0IGNvbnRleHQgPSBFR0xfTk9fQ09OVEVYVDsKKworICAgICAgICBpZiAocGxh
dGZvcm1EaXNwbGF5LmVnbENoZWNrVmVyc2lvbigxLCA1KSkgeworICAgICAgICAgICAgY29udGV4
dEF0dHJpYnV0ZXNbMF0gPSBFR0xfQ09OVEVYVF9NQUpPUl9WRVJTSU9OOworICAgICAgICAgICAg
Y29udGV4dEF0dHJpYnV0ZXNbMV0gPSAzOworICAgICAgICAgICAgY29udGV4dEF0dHJpYnV0ZXNb
Ml0gPSBFR0xfQ09OVEVYVF9NSU5PUl9WRVJTSU9OOworICAgICAgICAgICAgY29udGV4dEF0dHJp
YnV0ZXNbM10gPSAyOworICAgICAgICAgICAgY29udGV4dEF0dHJpYnV0ZXNbNF0gPSBFR0xfQ09O
VEVYVF9PUEVOR0xfUFJPRklMRV9NQVNLOworICAgICAgICAgICAgY29udGV4dEF0dHJpYnV0ZXNb
NV0gPSBFR0xfQ09OVEVYVF9PUEVOR0xfQ09SRV9QUk9GSUxFX0JJVDsKKyAgICAgICAgICAgIGNv
bnRleHRBdHRyaWJ1dGVzWzZdID0gRUdMX05PTkU7CisKKyAgICAgICAgICAgIC8vIFRyeSB0byBj
cmVhdGUgYSBjb250ZXh0IHdpdGggdGhpcyBjb25maWd1cmF0aW9uLgorICAgICAgICAgICAgY29u
dGV4dCA9IGVnbENyZWF0ZUNvbnRleHQocGxhdGZvcm1EaXNwbGF5LmVnbERpc3BsYXkoKSwgY29u
ZmlnLCBzaGFyaW5nQ29udGV4dCwgY29udGV4dEF0dHJpYnV0ZXMpOworICAgICAgICB9IGVsc2Ug
aWYgKHBsYXRmb3JtRGlzcGxheS5lZ2xDaGVja1ZlcnNpb24oMSwgNCkpIHsKKyAgICAgICAgICAg
IGNvbnN0IGNoYXIqIGV4dGVuc2lvbnMgPSBlZ2xRdWVyeVN0cmluZyhwbGF0Zm9ybURpc3BsYXku
ZWdsRGlzcGxheSgpLCBFR0xfRVhURU5TSU9OUyk7CisgICAgICAgICAgICBpZiAoR0xDb250ZXh0
Ojppc0V4dGVuc2lvblN1cHBvcnRlZChleHRlbnNpb25zLCAiRUdMX0tIUl9jcmVhdGVfY29udGV4
dCIpKSB7CisgICAgICAgICAgICAgICAgY29udGV4dEF0dHJpYnV0ZXNbMF0gPSBFR0xfQ09OVEVY
VF9NQUpPUl9WRVJTSU9OX0tIUjsKKyAgICAgICAgICAgICAgICBjb250ZXh0QXR0cmlidXRlc1sx
XSA9IDM7CisgICAgICAgICAgICAgICAgY29udGV4dEF0dHJpYnV0ZXNbMl0gPSBFR0xfQ09OVEVY
VF9NSU5PUl9WRVJTSU9OX0tIUjsKKyAgICAgICAgICAgICAgICBjb250ZXh0QXR0cmlidXRlc1sz
XSA9IDI7CisgICAgICAgICAgICAgICAgY29udGV4dEF0dHJpYnV0ZXNbNF0gPSBFR0xfQ09OVEVY
VF9PUEVOR0xfUFJPRklMRV9NQVNLX0tIUjsKKyAgICAgICAgICAgICAgICBjb250ZXh0QXR0cmli
dXRlc1s1XSA9IEVHTF9DT05URVhUX09QRU5HTF9DT1JFX1BST0ZJTEVfQklUX0tIUjsKKyAgICAg
ICAgICAgICAgICBjb250ZXh0QXR0cmlidXRlc1s2XSA9IEVHTF9OT05FOworCisgICAgICAgICAg
ICAgICAgLy8gVHJ5IHRvIGNyZWF0ZSBhIGNvbnRleHQgd2l0aCB0aGlzIGNvbmZpZ3VyYXRpb24u
CisgICAgICAgICAgICAgICAgY29udGV4dCA9IGVnbENyZWF0ZUNvbnRleHQocGxhdGZvcm1EaXNw
bGF5LmVnbERpc3BsYXkoKSwgY29uZmlnLCBzaGFyaW5nQ29udGV4dCwgY29udGV4dEF0dHJpYnV0
ZXMpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gSWYgdGhlIGNvbnRl
eHQgY3JlYXRpb24gd29ya2VkLCBqdXN0IHJldHVybiBpdC4KKyAgICAgICAgaWYgKGNvbnRleHQg
IT0gRUdMX05PX0NPTlRFWFQpCisgICAgICAgICAgICByZXR1cm4gY29udGV4dDsKKworICAgICAg
ICAvLyBMZWdhY3kgY2FzZTogdGhlIHJlcXVpcmVkIEVHTCB2ZXJzaW9uIGlzIG5vdCBwcmVzZW50
LCBvciB3ZSBoYXZlbid0IGJlZW4gYWJsZSB0byBjcmVhdGUgYSA+PSAzLjIgT3BlbkdMCisgICAg
ICAgIC8vIGNvbnRleHQsIHNvIGp1c3QgcmVxdWVzdCB3aGF0ZXZlciBpcyBhdmFpbGFibGUuCisg
ICAgICAgIGNvbnRleHRBdHRyaWJ1dGVzWzBdID0gRUdMX05PTkU7CisjZW5kaWYKKyAgICB9CisK
KyAgICByZXR1cm4gZWdsQ3JlYXRlQ29udGV4dChwbGF0Zm9ybURpc3BsYXkuZWdsRGlzcGxheSgp
LCBjb25maWcsIHNoYXJpbmdDb250ZXh0LCBjb250ZXh0QXR0cmlidXRlcyk7Cit9CisKIGJvb2wg
R0xDb250ZXh0RUdMOjptYWtlQ29udGV4dEN1cnJlbnQoKQogewogICAgIEFTU0VSVChtX2NvbnRl
eHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dM
Q29udGV4dEVHTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29u
dGV4dEVHTC5oCmluZGV4IGU4MTBhYzdjZmNmMDExYmJhMWIxNzQzZWNmM2EwOTAxZDdmYTkyOWYu
LjM2MDE1NmU1ODM2NmE4ZmIwZjNhYzkyOWMwNDQ2NmViZjVhZDdiZGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0wuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMLmgKQEAgLTU1
LDYgKzU1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkdMQ29udGV4dEVHTCgpOwogCiBwcml2
YXRlOgorICAgIHN0YXRpYyBFR0xDb250ZXh0IGNyZWF0ZUNvbnRleHRGb3JFR0xWZXJzaW9uKFBs
YXRmb3JtRGlzcGxheSYsIEVHTENvbmZpZywgRUdMQ29udGV4dCk7CisKICAgICBib29sIG1ha2VD
b250ZXh0Q3VycmVudCgpIG92ZXJyaWRlOwogICAgIHZvaWQgc3dhcEJ1ZmZlcnMoKSBvdmVycmlk
ZTsKICAgICB2b2lkIHdhaXROYXRpdmUoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0xXUEUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTFdQRS5jcHAKaW5kZXgg
Y2I2NDIzN2UwNDUyNWNlZjBjMTg3NjQ0YjU1NTIwOTEyYjU1MWU5Ny4uYzA0OWUxOTgwMTQ2NmE1
MGRiZDgyZTIxMjZjYWRjYjFiZTk2MDJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTFdQRS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTFdQRS5jcHAKQEAgLTUzLDE0ICs1
Myw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxHTENvbnRleHRFR0w+IEdMQ29udGV4dEVHTDo6Y3JlYXRl
V1BFQ29udGV4dChQbGF0Zm9ybURpc3BsYXkmIHBsCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIH0KIAotICAgIHN0YXRpYyBjb25zdCBFR0xpbnQgY29udGV4dEF0dHJpYnV0ZXNbXSA9IHsK
LSNpZiBVU0UoT1BFTkdMX0VTKQotICAgICAgICBFR0xfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiwg
MiwKLSNlbmRpZgotICAgICAgICBFR0xfTk9ORQotICAgIH07Ci0KLSAgICBFR0xDb250ZXh0IGNv
bnRleHQgPSBlZ2xDcmVhdGVDb250ZXh0KGRpc3BsYXksIGNvbmZpZywgc2hhcmluZ0NvbnRleHQs
IGNvbnRleHRBdHRyaWJ1dGVzKTsKKyAgICBFR0xDb250ZXh0IGNvbnRleHQgPSBjcmVhdGVDb250
ZXh0Rm9yRUdMVmVyc2lvbihwbGF0Zm9ybURpc3BsYXksIGNvbmZpZywgc2hhcmluZ0NvbnRleHQp
OwogICAgIGlmIChjb250ZXh0ID09IEVHTF9OT19DT05URVhUKSB7CiAgICAgICAgIFdURkxvZ0Fs
d2F5cygiQ2Fubm90IGNyZWF0ZSBFR0wgV1BFIGNvbnRleHQ6ICVzXG4iLCBsYXN0RXJyb3JTdHJp
bmcoKSk7CiAgICAgICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTFdheWxhbmQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTFdheWxhbmQuY3BwCmlu
ZGV4IGNkMzg2ODA3M2M1NDk1YmZlOTFlMzFkZDhiODE0NjIyZTVmZWExMTkuLmNlYWI5MmQ5MjZh
ZTkzNmE4YWFkODliZTg2MDBmNjJhM2FiYjhlNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0xXYXlsYW5kLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMV2F5bGFuZC5jcHAK
QEAgLTUxLDE0ICs1MSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxHTENvbnRleHRFR0w+IEdMQ29udGV4
dEVHTDo6Y3JlYXRlV2F5bGFuZENvbnRleHQoUGxhdGZvcm1EaXNwbGF5CiAgICAgaWYgKCFnZXRF
R0xDb25maWcoZGlzcGxheSwgJmNvbmZpZywgV2luZG93U3VyZmFjZSkpCiAgICAgICAgIHJldHVy
biBudWxscHRyOwogCi0gICAgc3RhdGljIGNvbnN0IEVHTGludCBjb250ZXh0QXR0cmlidXRlc1td
ID0gewotI2lmIFVTRShPUEVOR0xfRVMpCi0gICAgICAgIEVHTF9DT05URVhUX0NMSUVOVF9WRVJT
SU9OLCAyLAotI2VuZGlmCi0gICAgICAgIEVHTF9OT05FCi0gICAgfTsKLQotICAgIEVHTENvbnRl
eHQgY29udGV4dCA9IGVnbENyZWF0ZUNvbnRleHQoZGlzcGxheSwgY29uZmlnLCBzaGFyaW5nQ29u
dGV4dCwgY29udGV4dEF0dHJpYnV0ZXMpOworICAgIEVHTENvbnRleHQgY29udGV4dCA9IGNyZWF0
ZUNvbnRleHRGb3JFR0xWZXJzaW9uKHBsYXRmb3JtRGlzcGxheSwgY29uZmlnLCBzaGFyaW5nQ29u
dGV4dCk7CiAgICAgaWYgKGNvbnRleHQgPT0gRUdMX05PX0NPTlRFWFQpCiAgICAgICAgIHJldHVy
biBudWxscHRyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9lZ2wvR0xDb250ZXh0RUdMWDExLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2VnbC9HTENvbnRleHRFR0xYMTEuY3BwCmluZGV4IGNhYWY5ZTI3ZWYyODgzMzBhMzMxYTJj
YTFjMGZkMTA4NjFjZDU1MTkuLjY3YThlMGI1OTYxMWM1NWU0MzM2ZjJiMTMyNDhmMjAzODczMTE4
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENv
bnRleHRFR0xYMTEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Vn
bC9HTENvbnRleHRFR0xYMTEuY3BwCkBAIC00OSwxMyArNDksNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8
R0xDb250ZXh0RUdMPiBHTENvbnRleHRFR0w6OmNyZWF0ZVBpeG1hcENvbnRleHQoUGxhdGZvcm1E
aXNwbGF5JgogICAgIGlmICghZ2V0RUdMQ29uZmlnKGRpc3BsYXksICZjb25maWcsIFBpeG1hcFN1
cmZhY2UpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIHN0YXRpYyBjb25zdCBFR0xp
bnQgY29udGV4dEF0dHJpYnV0ZXNbXSA9IHsKLSNpZiBVU0UoT1BFTkdMX0VTKQotICAgICAgICBF
R0xfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiwgMiwKLSNlbmRpZgotICAgICAgICBFR0xfTk9ORQot
ICAgIH07Ci0gICAgRUdMQ29udGV4dCBjb250ZXh0ID0gZWdsQ3JlYXRlQ29udGV4dChkaXNwbGF5
LCBjb25maWcsIHNoYXJpbmdDb250ZXh0LCBjb250ZXh0QXR0cmlidXRlcyk7CisgICAgRUdMQ29u
dGV4dCBjb250ZXh0ID0gY3JlYXRlQ29udGV4dEZvckVHTFZlcnNpb24ocGxhdGZvcm1EaXNwbGF5
LCBjb25maWcsIHNoYXJpbmdDb250ZXh0KTsKICAgICBpZiAoY29udGV4dCA9PSBFR0xfTk9fQ09O
VEVYVCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>