<?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>81285</bug_id>
          
          <creation_ts>2012-03-15 16:43:43 -0700</creation_ts>
          <short_desc>[CAIRO] Make GLContextGLX a subclass of GLContext</short_desc>
          <delta_ts>2012-04-11 14:08:00 -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>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>
          
          <blocked>77921</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>kevin.cs.oh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>579889</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-03-15 16:43:43 -0700</bug_when>
    <thetext>By splitting out GLContextGLX from GLContext into a subclass, we can support choosing between EGL and GLX at runtime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579905</commentid>
    <comment_count>1</comment_count>
      <attachid>132150</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-03-15 16:55:52 -0700</bug_when>
    <thetext>Created attachment 132150
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600435</commentid>
    <comment_count>2</comment_count>
      <attachid>132150</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-04-11 11:11:46 -0700</bug_when>
    <thetext>Comment on attachment 132150
Patch

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

LGTM

&gt; ChangeLog:8
&gt; +        * GNUmakefile.am: Add an configuration option for activating GLX.

s/an configuration/a configuration/?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>600584</commentid>
    <comment_count>3</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-04-11 14:08:00 -0700</bug_when>
    <thetext>Committed r113909: &lt;http://trac.webkit.org/changeset/113909&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132150</attachid>
            <date>2012-03-15 16:55:52 -0700</date>
            <delta_ts>2012-04-11 11:11:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81285-20120315165551.patch</filename>
            <type>text/plain</type>
            <size>21354</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTg3ZjIzZDg4OTk5NjJm
MjM1YWI1YzA1N2YzMDRiNDg3N2EyMmQ1ZC4uZGUwOGNlODc2M2NkOTVkNTI4ZWYzYjAwNGYzZTk0
ZmUwZDE0ZGRhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTAzLTE1ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBbQ0FJUk9dIE1h
a2UgR0xDb250ZXh0R0xYIGEgc3ViY2xhc3Mgb2YgR0xDb250ZXh0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTI4NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBzaG91bGQg
bm90IGNoYW5nZSBiZWhhdmlvci4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06IEFk
ZCBuZXcgR0xDb250ZXh0R0xYIGZpbGVzLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0dMQ29udGV4dC5jcHA6IEFkZGVkLiBDb21wb3NlZCBvZiB0aGUKKyAgICAgICAgRUdML0dM
WCBpbmRlcGVuZGVudCBwb3J0aW9ucyBvZiBHTENvbnRleHQuIE1hZGUgdGhlIGN1cnJlbnQgY29u
dGV4dAorICAgICAgICBhIHN0YXRpYyB2YXJpYWJsZSBzbyB3ZSBjYW4ga2VlcCBnZXR0aW5nIHRo
ZSBjdXJyZW50IGNvbnRleHQgcGxhdGZvcm0tCisgICAgICAgIC1pbmRlcGVuZGVudC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HTENvbnRleHQuaDogTWFrZSB0aGlzIGNsYXNz
IGFuIGFic3RyYWN0CisgICAgICAgIGNsYXNzLiBHTENvbnRleHRHTFggaXMgYSBjb25jcmV0ZSBp
bXBsZW1lbnRhdGlvbi4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGlj
c0NvbnRleHQzRFByaXZhdGUuY3BwOiBVcGRhdGVkIHRvIHJlZmxlY3QKKyAgICAgICAgc2xpZ2h0
bHkgZGlmZmVyZW50IGNhbGxpbmcgY29udmVudGlvbnMgdG8gY3JlYXRlIGEgc2hhcmluZyBjb250
ZXh0LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dseC9HTENvbnRleHRHTFguY3BwOiBV
cGRhdGVkIHRvIHJlZmxlY3QKKyAgICAgICAgdGhhdCB0aGlzIGNvZGUgaXMgaW4gYSBzdWJjbGFz
cyBub3cuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ2x4L0dMQ29udGV4dEdMWC5oOiBD
b3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HTENvbnRl
eHQuaC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ndGsvR0xDb250ZXh0R3RrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkdMQ29udGV4dDo6Z2V0Q29udGV4dEZvcldpZGdldCk6IFVwZGF0
ZWQgdG8gcmVzcGVjdCB0aGUgbmV3CisgICAgICAgIFVTRShHTFgpIGZsYWcuCisKIDIwMTItMDMt
MTQgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZp
eCB0aGUgVGV4dHVyZU1hcHBlciBidWlsZCBmb3IgR1RLKy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IDliNThjOTUyYWJlNzA5NTY2ODUzMDdhMjRjODhhZTdlNTRhMmI1NjMuLjFl
OWRhOWM1NmNhNzQ2NDZlNWE0OTE5ODRlYjI4NjU4ZGU0MDA1YjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQpAQCAtNDYzNyw3ICs0NjM3LDkgQEAgd2ViY29yZWd0a19zb3VyY2VzICs9
IFwKIGlmIFRBUkdFVF9YMTEKIHdlYmNvcmVndGtfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2x4L0dMQ29udGV4dEdMWC5jcHAgXAorCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dseC9HTENvbnRleHRHTFguaCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0dMQ29udGV4dEd0ay5jcHAgXAorCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dMQ29udGV4dC5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dMQ29udGV4dC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvR3RrV2lkZ2V0QmFja2luZ1N0b3JlWDExLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvcGx1Z2lucy9ndGsvZ3RrMnh0YmluLmMgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR0xDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dMQ29udGV4dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzcwMzA3
ZThlZGUyZGRkNDA5ZmQ2YmZkODBiMGJjMjhlY2E5N2E1YgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dMQ29udGV4dC5jcHAKQEAgLTAs
MCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBJZ2FsaWEsIFMuTC4K
KyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQor
ICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJv
c3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJHTENvbnRleHQuaCIKKworI2lmIFVTRShPUEVOR0wpCisKKyNpZiBVU0UoR0xYKQor
I2luY2x1ZGUgIkdMQ29udGV4dEdMWC5oIgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworR0xDb250ZXh0OjpHTENvbnRleHQoKQoreworfQorCitHTENvbnRleHQqIEdMQ29udGV4dDo6
Y3JlYXRlT2Zmc2NyZWVuQ29udGV4dChHTENvbnRleHQqIHNoYXJpbmcpCit7CisgICAgaWYgKHNo
YXJpbmcpCisgICAgICAgIHJldHVybiBzaGFyaW5nLT5jcmVhdGVPZmZzY3JlZW5TaGFyaW5nQ29u
dGV4dCgpOworCisjaWYgVVNFKEdMWCkKKyAgICByZXR1cm4gR0xDb250ZXh0R0xYOjpjcmVhdGVD
b250ZXh0KDAsIDApOworI2VuZGlmCit9CisKKy8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBhIHRo
cmVhZCBsb2NhbCBldmVudHVhbGx5IGlmIHdlCisvLyB3YW50IHRvIHN1cHBvcnQgdXNpbmcgR0xD
b250ZXh0cyBmcm9tIG11bHRpcGxlIHRocmVhZHMuCitzdGF0aWMgR0xDb250ZXh0KiBnQ3VycmVu
dENvbnRleHQgPSAwOworCitHTENvbnRleHQ6On5HTENvbnRleHQoKQoreworICAgIGlmICh0aGlz
ID09IGdDdXJyZW50Q29udGV4dCkKKyAgICAgICAgZ0N1cnJlbnRDb250ZXh0ID0gMDsKK30KKwor
Ym9vbCBHTENvbnRleHQ6Om1ha2VDb250ZXh0Q3VycmVudCgpCit7CisgICAgZ0N1cnJlbnRDb250
ZXh0ID0gdGhpczsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworR0xDb250ZXh0KiBHTENvbnRleHQ6
OmdldEN1cnJlbnQoKQoreworICAgIHJldHVybiBnQ3VycmVudENvbnRleHQ7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFVTRShPUEVOR0wpCisKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dMQ29udGV4dC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR0xDb250ZXh0LmgKaW5kZXggMGEz
OWNlYzU4OTc2YjM4NzUwMDlhY2NiNGZlYTBhMWIwMDU1NzhiYi4uOGIyZWVlN2NhMjJmN2I1YjA5
YjgyMzBhYjZmNzJjMTU3M2Y3NmE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vR0xDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vR0xDb250ZXh0LmgKQEAgLTI1LDYwICsyNSwyNyBAQAogI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKLSNp
ZiBkZWZpbmVkKFhQX1VOSVgpCi10eXBlZGVmIHN0cnVjdCBfX0dMWGNvbnRleHRSZWMqIEdMWENv
bnRleHQ7Ci10eXBlZGVmIHN0cnVjdCBfWERpc3BsYXkgRGlzcGxheTsKLXR5cGVkZWYgc3RydWN0
IF9fR0xYY29udGV4dFJlYyAqR0xYQ29udGV4dDsKLXR5cGVkZWYgdW5zaWduZWQgbG9uZyBHTFhQ
YnVmZmVyOwotdHlwZWRlZiB1bnNpZ25lZCBsb25nIEdMWFBpeG1hcDsKLXR5cGVkZWYgdW5zaWdu
ZWQgY2hhciBHTHVieXRlOwotdHlwZWRlZiB1bnNpZ25lZCBsb25nIFBpeG1hcDsKLXR5cGVkZWYg
dW5zaWduZWQgbG9uZyBYSUQ7Ci10eXBlZGVmIHZvaWQqIENvbnRleHRLZXlUeXBlOwotI2VuZGlm
Ci0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgR0xDb250ZXh0IHsKICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShHTENvbnRleHQpOwogcHVibGljOgotICAgIHN0YXRpYyBHTENvbnRleHQq
IGNyZWF0ZVNoYXJpbmdDb250ZXh0KEdMQ29udGV4dCogc2hhcmVDb250ZXh0KTsKICAgICBzdGF0
aWMgR0xDb250ZXh0KiBnZXRDb250ZXh0Rm9yV2lkZ2V0KFBsYXRmb3JtV2lkZ2V0KTsKKyAgICBz
dGF0aWMgR0xDb250ZXh0KiBjcmVhdGVPZmZzY3JlZW5Db250ZXh0KEdMQ29udGV4dCogc2hhcmlu
ZyA9IDApOwogICAgIHN0YXRpYyBHTENvbnRleHQqIGdldEN1cnJlbnQoKTsKLSAgICBzdGF0aWMg
dm9pZCByZW1vdmVBY3RpdmVDb250ZXh0KEdMQ29udGV4dCopOwotICAgIHN0YXRpYyB2b2lkIHJl
bW92ZUFjdGl2ZUNvbnRleHRGb3JXaWRnZXQoUGxhdGZvcm1XaWRnZXQpOwogCisgICAgR0xDb250
ZXh0KCk7CiAgICAgdmlydHVhbCB+R0xDb250ZXh0KCk7Ci0gICAgYm9vbCBtYWtlQ29udGV4dEN1
cnJlbnQoKTsKLSAgICB2b2lkIHN3YXBCdWZmZXJzKCk7Ci0gICAgYm9vbCBjYW5SZW5kZXJUb0Rl
ZmF1bHRGcmFtZWJ1ZmZlcigpOworICAgIHZpcnR1YWwgR0xDb250ZXh0KiBjcmVhdGVPZmZzY3Jl
ZW5TaGFyaW5nQ29udGV4dCgpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgbWFrZUNvbnRleHRDdXJy
ZW50KCk7CisgICAgdmlydHVhbCB2b2lkIHN3YXBCdWZmZXJzKCkgPSAwOworICAgIHZpcnR1YWwg
Ym9vbCBjYW5SZW5kZXJUb0RlZmF1bHRGcmFtZWJ1ZmZlcigpID0gMDsKIAogI2lmIEVOQUJMRShX
RUJHTCkKLSAgICBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dDNEIHBsYXRmb3JtQ29udGV4dCgpOwot
I2VuZGlmCi0KLXByaXZhdGU6Ci0gICAgc3RhdGljIHZvaWQgYWRkQWN0aXZlQ29udGV4dChHTENv
bnRleHQqKTsKLSAgICBzdGF0aWMgdm9pZCBjbGVhbnVwQWN0aXZlQ29udGV4dHNBdEV4aXQoKTsK
LQotI2lmIGRlZmluZWQoWFBfVU5JWCkKLSAgICBHTENvbnRleHQoR0xYQ29udGV4dCk7Ci0gICAg
R0xDb250ZXh0KEdMWENvbnRleHQsIFBpeG1hcCwgR0xYUGl4bWFwKTsKLSAgICBzdGF0aWMgR0xD
b250ZXh0KiBjcmVhdGVDb250ZXh0KFhJRCwgR0xYQ29udGV4dCBzaGFyaW5nQ29udGV4dCA9IDAp
OwotICAgIHN0YXRpYyBHTENvbnRleHQqIGNyZWF0ZVdpbmRvd0NvbnRleHQoWElEIHdpbmRvdywg
R0xYQ29udGV4dCBzaGFyaW5nQ29udGV4dCk7Ci0gICAgc3RhdGljIEdMQ29udGV4dCogY3JlYXRl
UGJ1ZmZlckNvbnRleHQoR0xYQ29udGV4dCBzaGFyaW5nQ29udGV4dCk7Ci0gICAgc3RhdGljIEdM
Q29udGV4dCogY3JlYXRlUGl4bWFwQ29udGV4dChHTFhDb250ZXh0IHNoYXJpbmdDb250ZXh0KTsK
LQotICAgIEdMWENvbnRleHQgbV9jb250ZXh0OwotICAgIERpc3BsYXkqIG1fZGlzcGxheTsKLQot
ICAgIFhJRCBtX3dpbmRvdzsKLSAgICBHTFhQYnVmZmVyIG1fcGJ1ZmZlcjsKLSAgICBQaXhtYXAg
bV9waXhtYXA7Ci0gICAgR0xYUGl4bWFwIG1fZ2x4UGl4bWFwOworICAgIHZpcnR1YWwgUGxhdGZv
cm1HcmFwaGljc0NvbnRleHQzRCBwbGF0Zm9ybUNvbnRleHQoKSA9IDA7CiAjZW5kaWYKIH07CiAK
LX0KK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEdMQ29udGV4dF9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0Nv
bnRleHQzRFByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcAppbmRleCA3ZDljNDRjMTU1N2RhN2RkMDY2
Zjg1ZWI0ZmIxNWEzYzQ4MDc1NmQ0Li45NGQ0MGVjNWEzMjY0YjliM2U3YTc5NDAyZDQ5YTc4NWQ5
ZDY1NDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKQEAgLTQwLDE2
ICs0MCwxNSBAQCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OkdyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZShHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCwgSAogICAgIDogbV9jb250ZXh0KGNvbnRl
eHQpCiAgICAgLCBtX3dpbmRvdyh3aW5kb3cpCiAjaWYgUExBVEZPUk0oR1RLKQotICAgICwgbV9n
bENvbnRleHQoR0xDb250ZXh0OjpjcmVhdGVTaGFyaW5nQ29udGV4dChHTENvbnRleHQ6OmdldENv
bnRleHRGb3JXaWRnZXQobV93aW5kb3ctPnBsYXRmb3JtUGFnZUNsaWVudCgpKSkpCisgICAgLCBt
X2dsQ29udGV4dChHTENvbnRleHQ6OmNyZWF0ZU9mZnNjcmVlbkNvbnRleHQoR0xDb250ZXh0Ojpn
ZXRDb250ZXh0Rm9yV2lkZ2V0KG1fd2luZG93LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKSkpKQogI2Vs
c2UKLSAgICAsIG1fZ2xDb250ZXh0KEdMQ29udGV4dDo6Y3JlYXRlQ29udGV4dCgwLCAwKSkKKyAg
ICAsIG1fZ2xDb250ZXh0KEdMQ29udGV4dDo6Y3JlYXRlT2Zmc2NyZWVuQ29udGV4dCgpKQogI2Vu
ZGlmCiB7CiB9CiAKIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6fkdyYXBoaWNzQ29udGV4dDNE
UHJpdmF0ZSgpCiB7Ci0gICAgR0xDb250ZXh0OjpyZW1vdmVBY3RpdmVDb250ZXh0KG1fZ2xDb250
ZXh0KTsKIH0KIAogYm9vbCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6Om1ha2VDb250ZXh0Q3Vy
cmVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nbHgv
R0xDb250ZXh0R0xYLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dseC9H
TENvbnRleHRHTFguY3BwCmluZGV4IGNkY2VkNjgzMjkwMzI2MGIyNTQ5NjU3Mjg5MDY4ZTBmZTQ4
ZTcxNzguLjYwNjJlNDM4MTU1MTE2NmFhZjQxYzAzNGZmNzUxZmMyZjUzODFhMjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dseC9HTENvbnRleHRHTFguY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dseC9HTENvbnRleHRHTFgu
Y3BwCkBAIC0xNyw5ICsxNyw5IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIkdMQ29udGV4dC5oIgorI2luY2x1ZGUgIkdMQ29udGV4dEdMWC5oIgogCi0jaWYgRU5BQkxF
KFdFQkdMKSB8fCBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCisjaWYgVVNFKEdMWCkKICNpbmNsdWRl
ICJHcmFwaGljc0NvbnRleHQzRC5oIgogI2luY2x1ZGUgIk9wZW5HTFNoaW1zLmgiCiAjaW5jbHVk
ZSA8R0wvZ2x4Lmg+CkBAIC01MCwxNyArNTAsMTcgQEAgc3RhdGljIEFjdGl2ZUNvbnRleHRMaXN0
JiBhY3RpdmVDb250ZXh0TGlzdCgpCiAgICAgcmV0dXJuIGFjdGl2ZUNvbnRleHRzOwogfQogCi12
b2lkIEdMQ29udGV4dDo6YWRkQWN0aXZlQ29udGV4dChHTENvbnRleHQqIGNvbnRleHQpCit2b2lk
IEdMQ29udGV4dEdMWDo6YWRkQWN0aXZlQ29udGV4dChHTENvbnRleHRHTFgqIGNvbnRleHQpCiB7
CiAgICAgc3RhdGljIGJvb2wgYWRkZWRBdEV4aXRIYW5kbGVyID0gZmFsc2U7CiAgICAgaWYgKCFh
ZGRlZEF0RXhpdEhhbmRsZXIpIHsKLSAgICAgICAgYXRleGl0KCZHTENvbnRleHQ6OmNsZWFudXBB
Y3RpdmVDb250ZXh0c0F0RXhpdCk7CisgICAgICAgIGF0ZXhpdCgmR0xDb250ZXh0R0xYOjpjbGVh
bnVwQWN0aXZlQ29udGV4dHNBdEV4aXQpOwogICAgICAgICBhZGRlZEF0RXhpdEhhbmRsZXIgPSB0
cnVlOwogICAgIH0KICAgICBhY3RpdmVDb250ZXh0TGlzdCgpLmFwcGVuZChjb250ZXh0KTsKIH0K
IAotdm9pZCBHTENvbnRleHQ6OnJlbW92ZUFjdGl2ZUNvbnRleHQoR0xDb250ZXh0KiBjb250ZXh0
KQordm9pZCBHTENvbnRleHRHTFg6OnJlbW92ZUFjdGl2ZUNvbnRleHQoR0xDb250ZXh0KiBjb250
ZXh0KQogewogICAgIEFjdGl2ZUNvbnRleHRMaXN0JiBjb250ZXh0TGlzdCA9IGFjdGl2ZUNvbnRl
eHRMaXN0KCk7CiAgICAgc2l6ZV90IGkgPSBjb250ZXh0TGlzdC5maW5kKGNvbnRleHQpOwpAQCAt
NjgsNyArNjgsNyBAQCB2b2lkIEdMQ29udGV4dDo6cmVtb3ZlQWN0aXZlQ29udGV4dChHTENvbnRl
eHQqIGNvbnRleHQpCiAgICAgICAgIGNvbnRleHRMaXN0LnJlbW92ZShpKTsKIH0KIAotdm9pZCBH
TENvbnRleHQ6OmNsZWFudXBBY3RpdmVDb250ZXh0c0F0RXhpdCgpCit2b2lkIEdMQ29udGV4dEdM
WDo6Y2xlYW51cEFjdGl2ZUNvbnRleHRzQXRFeGl0KCkKIHsKICAgICBBY3RpdmVDb250ZXh0TGlz
dCYgY29udGV4dExpc3QgPSBhY3RpdmVDb250ZXh0TGlzdCgpOwogICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgY29udGV4dExpc3Quc2l6ZSgpOyArK2kpCkBAIC04MCwyMyArODAsMTIgQEAgdm9p
ZCBHTENvbnRleHQ6OmNsZWFudXBBY3RpdmVDb250ZXh0c0F0RXhpdCgpCiAgICAgZ1NoYXJlZERp
c3BsYXkgPSAwOwogfQogCi1HTENvbnRleHQqIEdMQ29udGV4dDo6Z2V0Q3VycmVudCgpCitHTENv
bnRleHQqIEdMQ29udGV4dEdMWDo6Y3JlYXRlT2Zmc2NyZWVuU2hhcmluZ0NvbnRleHQoKQogewot
ICAgIEFjdGl2ZUNvbnRleHRMaXN0JiBjb250ZXh0TGlzdCA9IGFjdGl2ZUNvbnRleHRMaXN0KCk7
Ci0gICAgR0xYQ29udGV4dCBjdXJyZW50ID0gZ2xYR2V0Q3VycmVudENvbnRleHQoKTsKLSAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGNvbnRleHRMaXN0LnNpemUoKTsgKytpKSB7Ci0gICAgICAg
IGlmIChjdXJyZW50ID09IGNvbnRleHRMaXN0W2ldLT5tX2NvbnRleHQpCi0gICAgICAgICAgICBy
ZXR1cm4gY29udGV4dExpc3RbaV07Ci0gICAgfQotICAgIHJldHVybiAwOwotfQotCi1HTENvbnRl
eHQqIEdMQ29udGV4dDo6Y3JlYXRlU2hhcmluZ0NvbnRleHQoR0xDb250ZXh0KiBzaGFyaW5nQ29u
dGV4dCkKLXsKLSAgICByZXR1cm4gY3JlYXRlQ29udGV4dCgwLCBzaGFyaW5nQ29udGV4dCA/IHNo
YXJpbmdDb250ZXh0LT5tX2NvbnRleHQgOiAwKTsKKyAgICByZXR1cm4gY3JlYXRlQ29udGV4dCgw
LCBtX2NvbnRleHQpOwogfQogCi1HTENvbnRleHQqIEdMQ29udGV4dDo6Y3JlYXRlV2luZG93Q29u
dGV4dChYSUQgd2luZG93LCBHTFhDb250ZXh0IHNoYXJpbmdDb250ZXh0KQorR0xDb250ZXh0R0xY
KiBHTENvbnRleHRHTFg6OmNyZWF0ZVdpbmRvd0NvbnRleHQoWElEIHdpbmRvdywgR0xYQ29udGV4
dCBzaGFyaW5nQ29udGV4dCkKIHsKICAgICBEaXNwbGF5KiBkaXNwbGF5ID0gc2hhcmVkRGlzcGxh
eSgpOwogICAgIFhXaW5kb3dBdHRyaWJ1dGVzIGF0dHJpYnV0ZXM7CkBAIC0xMTYsMTIgKzEwNSwx
MiBAQCBHTENvbnRleHQqIEdMQ29udGV4dDo6Y3JlYXRlV2luZG93Q29udGV4dChYSUQgd2luZG93
LCBHTFhDb250ZXh0IHNoYXJpbmdDb250ZXh0KQogCiAgICAgLy8gR0xYUGJ1ZmZlciBhbmQgWElE
IGFyZSBib3RoIHRoZSBzYW1lIHR5cGVzIHVuZGVybmVhdGgsIHNvIHdlIGhhdmUgdG8gc2hhcmUK
ICAgICAvLyBhIGNvbnN0cnVjdG9yIGhlcmUgd2l0aCB0aGUgd2luZG93IHBhdGguCi0gICAgR0xD
b250ZXh0KiBjb250ZXh0V3JhcHBlciA9IG5ldyBHTENvbnRleHQoY29udGV4dCk7CisgICAgR0xD
b250ZXh0R0xYKiBjb250ZXh0V3JhcHBlciA9IG5ldyBHTENvbnRleHRHTFgoY29udGV4dCk7CiAg
ICAgY29udGV4dFdyYXBwZXItPm1fd2luZG93ID0gd2luZG93OwogICAgIHJldHVybiBjb250ZXh0
V3JhcHBlcjsKIH0KIAotR0xDb250ZXh0KiBHTENvbnRleHQ6OmNyZWF0ZVBidWZmZXJDb250ZXh0
KEdMWENvbnRleHQgc2hhcmluZ0NvbnRleHQpCitHTENvbnRleHRHTFgqIEdMQ29udGV4dEdMWDo6
Y3JlYXRlUGJ1ZmZlckNvbnRleHQoR0xYQ29udGV4dCBzaGFyaW5nQ29udGV4dCkKIHsKICAgICBp
bnQgZmJDb25maWdBdHRyaWJ1dGVzW10gPSB7CiAgICAgICAgIEdMWF9EUkFXQUJMRV9UWVBFLCBH
TFhfUEJVRkZFUl9CSVQsCkBAIC0xNTcsMTIgKzE0NiwxMiBAQCBHTENvbnRleHQqIEdMQ29udGV4
dDo6Y3JlYXRlUGJ1ZmZlckNvbnRleHQoR0xYQ29udGV4dCBzaGFyaW5nQ29udGV4dCkKIAogICAg
IC8vIEdMWFBidWZmZXIgYW5kIFhJRCBhcmUgYm90aCB0aGUgc2FtZSB0eXBlcyB1bmRlcm5lYXRo
LCBzbyB3ZSBoYXZlIHRvIHNoYXJlCiAgICAgLy8gYSBjb25zdHJ1Y3RvciBoZXJlIHdpdGggdGhl
IHdpbmRvdyBwYXRoLgotICAgIEdMQ29udGV4dCogY29udGV4dFdyYXBwZXIgPSBuZXcgR0xDb250
ZXh0KGNvbnRleHQpOworICAgIEdMQ29udGV4dEdMWCogY29udGV4dFdyYXBwZXIgPSBuZXcgR0xD
b250ZXh0R0xYKGNvbnRleHQpOwogICAgIGNvbnRleHRXcmFwcGVyLT5tX3BidWZmZXIgPSBwYnVm
ZmVyOwogICAgIHJldHVybiBjb250ZXh0V3JhcHBlcjsKIH0KIAotR0xDb250ZXh0KiBHTENvbnRl
eHQ6OmNyZWF0ZVBpeG1hcENvbnRleHQoR0xYQ29udGV4dCBzaGFyaW5nQ29udGV4dCkKK0dMQ29u
dGV4dEdMWCogR0xDb250ZXh0R0xYOjpjcmVhdGVQaXhtYXBDb250ZXh0KEdMWENvbnRleHQgc2hh
cmluZ0NvbnRleHQpCiB7CiAgICAgc3RhdGljIGludCB2aXN1YWxBdHRyaWJ1dGVzW10gPSB7CiAg
ICAgICAgIEdMWF9SR0JBLApAQCAtMTk3LDEwICsxODYsMTAgQEAgR0xDb250ZXh0KiBHTENvbnRl
eHQ6OmNyZWF0ZVBpeG1hcENvbnRleHQoR0xYQ29udGV4dCBzaGFyaW5nQ29udGV4dCkKICAgICAg
ICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgcmV0dXJuIG5ldyBHTENvbnRleHQoY29udGV4dCwg
cGl4bWFwLCBnbHhQaXhtYXApOworICAgIHJldHVybiBuZXcgR0xDb250ZXh0R0xYKGNvbnRleHQs
IHBpeG1hcCwgZ2x4UGl4bWFwKTsKIH0KIAotR0xDb250ZXh0KiBHTENvbnRleHQ6OmNyZWF0ZUNv
bnRleHQoWElEIHdpbmRvdywgR0xYQ29udGV4dCBzaGFyaW5nQ29udGV4dCkKK0dMQ29udGV4dEdM
WCogR0xDb250ZXh0R0xYOjpjcmVhdGVDb250ZXh0KFhJRCB3aW5kb3csIEdMWENvbnRleHQgc2hh
cmluZ0NvbnRleHQpCiB7CiAgICAgaWYgKCFzaGFyZWREaXNwbGF5KCkpCiAgICAgICAgIHJldHVy
biAwOwpAQCAtMjE0LDcgKzIwMyw3IEBAIEdMQ29udGV4dCogR0xDb250ZXh0OjpjcmVhdGVDb250
ZXh0KFhJRCB3aW5kb3csIEdMWENvbnRleHQgc2hhcmluZ0NvbnRleHQpCiAgICAgaWYgKCFzdWNj
ZXNzKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIEdMQ29udGV4dCogY29udGV4dCA9IHdpbmRv
dyA/IGNyZWF0ZVdpbmRvd0NvbnRleHQod2luZG93LCBzaGFyaW5nQ29udGV4dCkgOiAwOworICAg
IEdMQ29udGV4dEdMWCogY29udGV4dCA9IHdpbmRvdyA/IGNyZWF0ZVdpbmRvd0NvbnRleHQod2lu
ZG93LCBzaGFyaW5nQ29udGV4dCkgOiAwOwogICAgIGlmICghY29udGV4dCkKICAgICAgICAgY29u
dGV4dCA9IGNyZWF0ZVBidWZmZXJDb250ZXh0KHNoYXJpbmdDb250ZXh0KTsKICAgICBpZiAoIWNv
bnRleHQpCkBAIC0yMjUsNyArMjE0LDcgQEAgR0xDb250ZXh0KiBHTENvbnRleHQ6OmNyZWF0ZUNv
bnRleHQoWElEIHdpbmRvdywgR0xYQ29udGV4dCBzaGFyaW5nQ29udGV4dCkKICAgICByZXR1cm4g
Y29udGV4dDsKIH0KIAotR0xDb250ZXh0OjpHTENvbnRleHQoR0xYQ29udGV4dCBjb250ZXh0KQor
R0xDb250ZXh0R0xYOjpHTENvbnRleHRHTFgoR0xYQ29udGV4dCBjb250ZXh0KQogICAgIDogbV9j
b250ZXh0KGNvbnRleHQpCiAgICAgLCBtX3dpbmRvdygwKQogICAgICwgbV9wYnVmZmVyKDApCkBA
IC0yMzUsNyArMjI0LDcgQEAgR0xDb250ZXh0OjpHTENvbnRleHQoR0xYQ29udGV4dCBjb250ZXh0
KQogICAgIGFkZEFjdGl2ZUNvbnRleHQodGhpcyk7CiB9CiAKLUdMQ29udGV4dDo6R0xDb250ZXh0
KEdMWENvbnRleHQgY29udGV4dCwgUGl4bWFwIHBpeG1hcCwgR0xYUGl4bWFwIGdseFBpeG1hcCkK
K0dMQ29udGV4dEdMWDo6R0xDb250ZXh0R0xYKEdMWENvbnRleHQgY29udGV4dCwgUGl4bWFwIHBp
eG1hcCwgR0xYUGl4bWFwIGdseFBpeG1hcCkKICAgICA6IG1fY29udGV4dChjb250ZXh0KQogICAg
ICwgbV93aW5kb3coMCkKICAgICAsIG1fcGJ1ZmZlcigwKQpAQCAtMjQ1LDcgKzIzNCw3IEBAIEdM
Q29udGV4dDo6R0xDb250ZXh0KEdMWENvbnRleHQgY29udGV4dCwgUGl4bWFwIHBpeG1hcCwgR0xY
UGl4bWFwIGdseFBpeG1hcCkKICAgICBhZGRBY3RpdmVDb250ZXh0KHRoaXMpOwogfQogCi1HTENv
bnRleHQ6On5HTENvbnRleHQoKQorR0xDb250ZXh0R0xYOjp+R0xDb250ZXh0R0xYKCkKIHsKICAg
ICBpZiAobV9jb250ZXh0KSB7CiAgICAgICAgIC8vIFRoaXMgbWF5IGJlIG5lY2Vzc2FyeSB0byBw
cmV2ZW50IGNyYXNoZXMgd2l0aCBOVmlkaWEncyBjbG9zZWQgc291cmNlIGRyaXZlcnMuIE9yaWdp
bmFsbHkKQEAgLTI3MCwxNCArMjU5LDE2IEBAIEdMQ29udGV4dDo6fkdMQ29udGV4dCgpCiAgICAg
cmVtb3ZlQWN0aXZlQ29udGV4dCh0aGlzKTsKIH0KIAotYm9vbCBHTENvbnRleHQ6OmNhblJlbmRl
clRvRGVmYXVsdEZyYW1lYnVmZmVyKCkKK2Jvb2wgR0xDb250ZXh0R0xYOjpjYW5SZW5kZXJUb0Rl
ZmF1bHRGcmFtZWJ1ZmZlcigpCiB7CiAgICAgcmV0dXJuIG1fd2luZG93OwogfQogCi1ib29sIEdM
Q29udGV4dDo6bWFrZUNvbnRleHRDdXJyZW50KCkKK2Jvb2wgR0xDb250ZXh0R0xYOjptYWtlQ29u
dGV4dEN1cnJlbnQoKQogewogICAgIEFTU0VSVChtX2NvbnRleHQgJiYgKG1fd2luZG93IHx8IG1f
cGJ1ZmZlciB8fCBtX2dseFBpeG1hcCkpOworCisgICAgR0xDb250ZXh0OjptYWtlQ29udGV4dEN1
cnJlbnQoKTsKICAgICBpZiAoZ2xYR2V0Q3VycmVudENvbnRleHQoKSA9PSBtX2NvbnRleHQpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCkBAIC0yOTAsMTQgKzI4MSwxNCBAQCBib29sIEdMQ29udGV4
dDo6bWFrZUNvbnRleHRDdXJyZW50KCkKICAgICByZXR1cm4gOjpnbFhNYWtlQ3VycmVudChzaGFy
ZWREaXNwbGF5KCksIG1fZ2x4UGl4bWFwLCBtX2NvbnRleHQpOwogfQogCi12b2lkIEdMQ29udGV4
dDo6c3dhcEJ1ZmZlcnMoKQordm9pZCBHTENvbnRleHRHTFg6OnN3YXBCdWZmZXJzKCkKIHsKICAg
ICBpZiAobV93aW5kb3cpCiAgICAgICAgIGdsWFN3YXBCdWZmZXJzKHNoYXJlZERpc3BsYXkoKSwg
bV93aW5kb3cpOwogfQogCiAjaWYgRU5BQkxFKFdFQkdMKQotUGxhdGZvcm1HcmFwaGljc0NvbnRl
eHQzRCBHTENvbnRleHQ6OnBsYXRmb3JtQ29udGV4dCgpCitQbGF0Zm9ybUdyYXBoaWNzQ29udGV4
dDNEIEdMQ29udGV4dEdMWDo6cGxhdGZvcm1Db250ZXh0KCkKIHsKICAgICByZXR1cm4gbV9jb250
ZXh0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2x4
L0dMQ29udGV4dEdMWC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2x4L0dM
Q29udGV4dEdMWC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhN2E5MjRmOTRlNzAwZDhlZmVhZDE3ZjA2YzI0MjJk
ZTc4MjFlNzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nbHgvR0xDb250ZXh0R0xYLmgKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExl
c3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRl
IHRvIHRoZSBGcmVlCisgKiAgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisgKi8K
KworI2lmbmRlZiBHTENvbnRleHRHTFhfaAorI2RlZmluZSBHTENvbnRleHRHTFhfaAorCisjaWYg
VVNFKEdMWCkKKworI2luY2x1ZGUgIkdMQ29udGV4dC5oIgorCit0eXBlZGVmIHN0cnVjdCBfX0dM
WGNvbnRleHRSZWMqIEdMWENvbnRleHQ7Cit0eXBlZGVmIHN0cnVjdCBfWERpc3BsYXkgRGlzcGxh
eTsKK3R5cGVkZWYgc3RydWN0IF9fR0xYY29udGV4dFJlYyAqR0xYQ29udGV4dDsKK3R5cGVkZWYg
dW5zaWduZWQgbG9uZyBHTFhQYnVmZmVyOwordHlwZWRlZiB1bnNpZ25lZCBsb25nIEdMWFBpeG1h
cDsKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBHTHVieXRlOwordHlwZWRlZiB1bnNpZ25lZCBsb25n
IFBpeG1hcDsKK3R5cGVkZWYgdW5zaWduZWQgbG9uZyBYSUQ7Cit0eXBlZGVmIHZvaWQqIENvbnRl
eHRLZXlUeXBlOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdMQ29udGV4dEdMWCA6
IHB1YmxpYyBHTENvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdMQ29udGV4dEdM
WCk7CitwdWJsaWM6CisgICAgc3RhdGljIEdMQ29udGV4dEdMWCogY3JlYXRlQ29udGV4dChYSUQs
IEdMWENvbnRleHQgc2hhcmluZ0NvbnRleHQgPSAwKTsKKyAgICBzdGF0aWMgR0xDb250ZXh0R0xY
KiBjcmVhdGVXaW5kb3dDb250ZXh0KFhJRCB3aW5kb3csIEdMWENvbnRleHQgc2hhcmluZ0NvbnRl
eHQpOworICAgIHN0YXRpYyBHTENvbnRleHRHTFgqIGNyZWF0ZVBidWZmZXJDb250ZXh0KEdMWENv
bnRleHQgc2hhcmluZ0NvbnRleHQpOworICAgIHN0YXRpYyBHTENvbnRleHRHTFgqIGNyZWF0ZVBp
eG1hcENvbnRleHQoR0xYQ29udGV4dCBzaGFyaW5nQ29udGV4dCk7CisgICAgc3RhdGljIHZvaWQg
cmVtb3ZlQWN0aXZlQ29udGV4dChHTENvbnRleHQqKTsKKworICAgIHZpcnR1YWwgfkdMQ29udGV4
dEdMWCgpOworICAgIHZpcnR1YWwgR0xDb250ZXh0KiBjcmVhdGVPZmZzY3JlZW5TaGFyaW5nQ29u
dGV4dCgpOworICAgIHZpcnR1YWwgYm9vbCBtYWtlQ29udGV4dEN1cnJlbnQoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgc3dhcEJ1ZmZlcnMoKTsKKyAgICB2aXJ0dWFsIGJvb2wgY2FuUmVuZGVyVG9EZWZh
dWx0RnJhbWVidWZmZXIoKTsKKworI2lmIEVOQUJMRShXRUJHTCkKKyAgICB2aXJ0dWFsIFBsYXRm
b3JtR3JhcGhpY3NDb250ZXh0M0QgcGxhdGZvcm1Db250ZXh0KCk7CisjZW5kaWYKKworcHJpdmF0
ZToKKyAgICBzdGF0aWMgdm9pZCBhZGRBY3RpdmVDb250ZXh0KEdMQ29udGV4dEdMWCopOworICAg
IHN0YXRpYyB2b2lkIGNsZWFudXBBY3RpdmVDb250ZXh0c0F0RXhpdCgpOworCisgICAgR0xDb250
ZXh0R0xYKEdMWENvbnRleHQpOworICAgIEdMQ29udGV4dEdMWChHTFhDb250ZXh0LCBQaXhtYXAs
IEdMWFBpeG1hcCk7CisKKyAgICBHTFhDb250ZXh0IG1fY29udGV4dDsKKyAgICBEaXNwbGF5KiBt
X2Rpc3BsYXk7CisgICAgWElEIG1fd2luZG93OworICAgIEdMWFBidWZmZXIgbV9wYnVmZmVyOwor
ICAgIFBpeG1hcCBtX3BpeG1hcDsKKyAgICBHTFhQaXhtYXAgbV9nbHhQaXhtYXA7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBVU0UoR0xYKQorCisjZW5kaWYgLy8g
R0xDb250ZXh0R0xYX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2d0ay9HTENvbnRleHRHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3RrL0dMQ29udGV4dEd0ay5jcHAKaW5kZXggNmIyNDYxYTAzMjFlZjYwZTI2NWRmNjFkMjIz
NGNlNzU3Njk1OTU1MS4uZDQ2MGQxMmMwMjExYzNiMWU5NmViMTZiODIxMzUxNjE4ZTljZTY1MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0dMQ29udGV4
dEd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0dMQ29u
dGV4dEd0ay5jcHAKQEAgLTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJHTENvbnRleHQuaCIKIAorI2luY2x1ZGUgIkdMQ29udGV4dEdMWC5oIgogI2luY2x1ZGUg
PGdkay9nZGsuaD4KICNpbmNsdWRlIDxnZGsvZ2RreC5oPgogI2luY2x1ZGUgPGd0ay9ndGsuaD4K
QEAgLTU0LDEwICs1NSwxNCBAQCBHTENvbnRleHQqIEdMQ29udGV4dDo6Z2V0Q29udGV4dEZvcldp
ZGdldChHdGtXaWRnZXQqIHdpZGdldCkKICAgICBpZiAoIWdfc2lnbmFsX2hhbmRsZXJfZmluZCh3
aWRnZXQsIEdfU0lHTkFMX01BVENIX0ZVTkMsIDAsIDAsIDAsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9p
ZCo+KHNodXRkb3duR0xDb250ZXh0KSwgMCkpCiAgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3Qod2lk
Z2V0LCAidW5tYXAiLCBHX0NBTExCQUNLKHNodXRkb3duR0xDb250ZXh0KSwgMCk7CiAKKyAgICBH
TENvbnRleHQqIGNvbnRleHQgPSAwOworCisjaWYgVVNFKEdMWCkKICAgICAvLyBJZiB0aGlzIEdE
SyB3aW5kb3cgZG9lc24ndCBoYXZlIGl0cyBvd24gbmF0aXZlIHdpbmRvdyB0aGVuLCB3ZSBkb24n
dCB3YW50CiAgICAgLy8gdG8gdXNlIGl0IGZvciByZW5kZXJpbmcsIHNpbmNlIHdlJ2xsIGJlIGRy
YXdpbmcgb3ZlciBzb21lIG90aGVyIHdpZGdldCdzIGFyZWEuCiAgICAgR2RrV2luZG93KiBnZGtX
aW5kb3cgPSBndGtfd2lkZ2V0X2dldF93aW5kb3cod2lkZ2V0KTsKLSAgICBHTENvbnRleHQqIGNv
bnRleHQgPSBnZGtXaW5kb3cgJiYgZ2RrX3dpbmRvd19oYXNfbmF0aXZlKGdka1dpbmRvdykgPyAg
Y3JlYXRlQ29udGV4dChHREtfV0lORE9XX1hJRChnZGtXaW5kb3cpKSA6IGNyZWF0ZUNvbnRleHQo
MCk7CisgICAgY29udGV4dCA9IGdka1dpbmRvdyAmJiBnZGtfd2luZG93X2hhc19uYXRpdmUoZ2Rr
V2luZG93KSA/ICBHTENvbnRleHRHTFg6OmNyZWF0ZUNvbnRleHQoR0RLX1dJTkRPV19YSUQoZ2Rr
V2luZG93KSkgOiBHTENvbnRleHRHTFg6OmNyZWF0ZUNvbnRleHQoMCk7CisjZW5kaWYKIAogICAg
IGlmICghY29udGV4dCkKICAgICAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cg
Yi9DaGFuZ2VMb2cKaW5kZXggNjkwNTY2YmMzNWU4ZDljOTYwMzdiZTM4OGU5M2M5NWJjMTY3OGNh
Mi4uNzdlMjIxYTFkZjViNTJjYzc2NzlhYWM0MTNkNGM0NTFlMGNjZGJiMSAxMDA2NDQKLS0tIGEv
Q2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAzLTE1ICBN
YXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBbQ0FJUk9d
IE1ha2UgR0xDb250ZXh0R0xYIGEgc3ViY2xhc3Mgb2YgR0xDb250ZXh0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTI4NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZCBh
biBjb25maWd1cmF0aW9uIG9wdGlvbiBmb3IgYWN0aXZhdGluZyBHTFguCisgICAgICAgIFRoaXMg
aXMgc2VsZWN0ZWQgYXV0b21hdGljYWxseSBub3csIGJ1dCBpbiB0aGUgZnV0dXJlIHRoZXJlIHdp
bGwgYmUKKyAgICAgICAgdGhlIGNob2ljZSB0byB0dXJuIG9uIEVHTCBhbmQgdHVybiBvZmYgR0xY
IGF0IGNvbXBpbGF0aW9uIHRpbWUuCisgICAgICAgICogY29uZmlndXJlLmFjOiBEaXR0by4KKwog
MjAxMi0wMy0xNCAgVGhpYWdvIE1hcmNvcyBQLiBTYW50b3MgIDx0aGlhZ28uc2FudG9zQGludGVs
LmNvbT4KIAogICAgICAgICBbRUZMXSBFbmFibGUgSFRNTDUgU3VtbWFyeSBhbmQgRGV0YWlscyBl
bGVtZW50cwpkaWZmIC0tZ2l0IGEvR05VbWFrZWZpbGUuYW0gYi9HTlVtYWtlZmlsZS5hbQppbmRl
eCAxZWZiY2JiZjUyOTRjMWFiZDg1Y2NiNjU2MDlmNmEyYmE0MzNhMTRmLi43MTZjNDYwMzk3NzE1
NzgyZDAyYzQ1MzY4MzY4MDQ4OWRmNWZiM2UzIDEwMDY0NAotLS0gYS9HTlVtYWtlZmlsZS5hbQor
KysgYi9HTlVtYWtlZmlsZS5hbQpAQCAtMjA1LDYgKzIwNSwxNiBAQCBnbG9iYWxfY3BwZmxhZ3Mg
Kz0gXAogCS1EV1RGX1VTRV9DTFVUVEVSPTEKIGVuZGlmCiAKK2lmIFVTRV9HTFgKK2dsb2JhbF9j
cHBmbGFncyArPSBcCisJLURXVEZfVVNFX0dMWD0xCitlbmRpZgorCitpZiBVU0VfT1BFTkdMCitn
bG9iYWxfY3BwZmxhZ3MgKz0gXAorCS1EV1RGX1VTRV9PUEVOR0w9MQorZW5kaWYKKwogIyAtLS0t
CiAjIEdUSysgMi54LzMueCBzdXBwb3J0CiAjIC0tLS0KZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5h
YyBiL2NvbmZpZ3VyZS5hYwppbmRleCBiMWRkMWFiMzlmZWE2YzFmMDBiNThiN2Y4NmM5MzU4YjI3
MmJhMmU4Li43MGRhNDVlYmNmYjY5YzZjNDkxMmM0YjI2YjNjOWJlNjdmNzY1YmY1IDEwMDY0NAot
LS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC01NDcsMTEgKzU0NywxMCBA
QCBBQ19BUkdfV0lUSChhY2NlbGVyYXRlZF9jb21wb3NpdGluZywKICAgICAgICAgICAgIFtdLCBb
d2l0aF9hY2NlbGVyYXRlZF9jb21wb3NpdGluZz0ibm8iXSkKIEFDX01TR19SRVNVTFQoWyR3aXRo
X2FjY2VsZXJhdGVkX2NvbXBvc2l0aW5nXSkKIAotaWYgdGVzdCAiJHdpdGhfYWNjZWxlcmF0ZWRf
Y29tcG9zaXRpbmciID0gIm9wZW5nbCIgJiYgdGVzdCAiJHdpdGhfdGFyZ2V0IiAhPSAieDExIiA7
IHRoZW4KLSAgICBBQ19NU0dfRVJST1IoW09wZW5HTCBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBp
cyBvbmx5IGF2YWlsYWJsZSBvbiBYMTEgY3VycmVudGx5Ll0pCi1maQotCiBpZiB0ZXN0ICIkZW5h
YmxlX3dlYmdsIiA9ICJ5ZXMiIHx8ICB0ZXN0ICIkd2l0aF9hY2NlbGVyYXRlZF9jb21wb3NpdGlu
ZyIgPSAib3BlbmdsIiA7IHRoZW4KKyAgICBpZiB0ZXN0ICIkd2l0aF90YXJnZXQiICE9ICJ4MTEi
OyB0aGVuCisgICAgICAgIEFDX01TR19FUlJPUihbT3BlbkdMIHN1cHBvcnQgaXMgb25seSBhdmFp
bGFibGUgb24gWDExIGN1cnJlbnRseS5dKQorICAgIGZpCiAgICAgQUNfQ0hFQ0tfSEVBREVSUyhb
R0wvZ2wuaF0sIFtdLCBBQ19NU0dfRVJST1IoW09wZW5HTCBoZWFkZXIgbm90IGZvdW5kXSkpCiAg
ICAgQUNfQ0hFQ0tfSEVBREVSUyhbR0wvZ2x4LmhdLCBbXSwgQUNfTVNHX0VSUk9SKFtHTFggaGVh
ZGVyIG5vdCBmb3VuZF0pKQogICAgIE9QRU5HTF9MSUJTPSItbEdMIC1sZGwiCkBAIC0xMzI4LDYg
KzEzMjcsMTAgQEAgQU1fQ09ORElUSU9OQUwoW1VTRV9URVhUVVJFX01BUFBFUl9DQUlST10sIFt0
ZXN0ICIkd2l0aF9hY2NlbGVyYXRlZF9jb21wb3NpdGluZyIKIEFNX0NPTkRJVElPTkFMKFtVU0Vf
VEVYVFVSRV9NQVBQRVJfR0xdLCBbdGVzdCAiJHdpdGhfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmci
ID0gIm9wZW5nbCJdKQogQU1fQ09ORElUSU9OQUwoW1VTRV9DTFVUVEVSXSwgW3Rlc3QgIiR3aXRo
X2FjY2VsZXJhdGVkX2NvbXBvc2l0aW5nIiA9ICJjbHV0dGVyIl0pCiAKKyMgVGhlc2UgYXJlIHRo
ZSBzYW1lIG5vdywgYnV0IHRoZXkgd2lsbCBzb29uIGJlIHNlcGFyYXRlLgorQU1fQ09ORElUSU9O
QUwoW1VTRV9HTFhdLCBbdGVzdCAiJHdpdGhfYWNjZWxlcmF0ZWRfY29tcG9zaXRpbmciID0gIm9w
ZW5nbCIgfHwgdGVzdCAiJGVuYWJsZV93ZWJnbCIgPSAieWVzIl0pCitBTV9DT05ESVRJT05BTChb
VVNFX09QRU5HTF0sIFt0ZXN0ICIkd2l0aF9hY2NlbGVyYXRlZF9jb21wb3NpdGluZyIgPSAib3Bl
bmdsIiB8fCB0ZXN0ICIkZW5hYmxlX3dlYmdsIiA9ICJ5ZXMiXSkKKwogIyBXZWJLaXQgZmVhdHVy
ZSBjb25kaXRpb25hbHMKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfREVCVUddLFt0ZXN0ICIkZW5h
YmxlX2RlYnVnX2ZlYXR1cmVzIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfV0VC
R0xdLFt0ZXN0ICIkZW5hYmxlX3dlYmdsIiA9ICJ5ZXMiXSkK
</data>
<flag name="review"
          id="135704"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>