<?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>112150</bug_id>
          
          <creation_ts>2013-03-12 07:18:40 -0700</creation_ts>
          <short_desc>[GTK] Add rendering of texture mapper backing store tiles using cairo-gl</short_desc>
          <delta_ts>2017-03-11 10:57:24 -0800</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>UNCONFIRMED</bug_status>
          <resolution></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>
          <dependson>104672</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Anton Obzhirov">obzhirov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alex</cc>
    
    <cc>brian.holt</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>d.nomiyama</cc>
    
    <cc>mario</cc>
    
    <cc>mrobinson</cc>
    
    <cc>sergio</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>853435</commentid>
    <comment_count>0</comment_count>
      <attachid>192732</attachid>
    <who name="Anton Obzhirov">obzhirov</who>
    <bug_when>2013-03-12 07:18:40 -0700</bug_when>
    <thetext>Created attachment 192732
WIP patch

This is my first attempt to enable texture mapper backing store tiles rendering directly into GL textures
using cairo gl.

The idea is to use cairo gl backend to render graphics layers into GPU memory skipping rendering in software memory.
In force composting mode it would allow to render whole page in GPU memory.
In theory it should improve performance of page rendering and help the integration of cairo gl with WebKit GTK.

This is work in progress patch and I want to use it as a starting point for the discussion to find the best
approach possible.

In order to try the patch you should enable force compositing and webgl in Source/WebKit2/Shared/WebPreferencesStore.h.
Also you should apply Alex&apos;s 2D canvas patch first as I reuse some bits of it for this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853436</commentid>
    <comment_count>1</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-03-12 07:20:34 -0700</bug_when>
    <thetext>This depends on the cairo-gl work</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192732</attachid>
            <date>2013-03-12 07:18:40 -0700</date>
            <delta_ts>2013-03-12 07:18:40 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>wip.patch</filename>
            <type>text/plain</type>
            <size>17378</size>
            <attacher name="Anton Obzhirov">obzhirov</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYUltcGwuY3BwCShyZXZpc2lvbiAxNDU1MTApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM4
LDcgKzMzOCw4IEBACiAgICAgaWYgKGdyYXBoaWNzTGF5ZXIpIHsKICAgICAgICAgaWYgKCFtX2xh
eWVyVHJlZUhvc3QpIHsKICAgICAgICAgICAgIC8vIFdlJ3JlIGFjdHVhbGx5IGVudGVyaW5nIGFj
Y2VsZXJhdGVkIGNvbXBvc2l0aW5nIG1vZGUuCi0gICAgICAgICAgICBlbnRlckFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdNb2RlKGdyYXBoaWNzTGF5ZXIpOworICAgICAgICAgICAgaWYgKG1fd2ViUGFn
ZS0+bmF0aXZlV2luZG93SGFuZGxlKCkpCisgICAgICAgICAgICAgICAgZW50ZXJBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nTW9kZShncmFwaGljc0xheWVyKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAg
ICAgICAgIC8vIFdlJ3JlIGFscmVhZHkgaW4gYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgbW9kZSwg
YnV0IHRoZSByb290IGNvbXBvc2l0aW5nIGxheWVyIGNoYW5nZWQuCiAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVI
b3N0R3RrLmNwcAkocmV2aXNpb24gMTQ1NTEwKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzE0
LDYgKzMxNCw3IEBACiAKICAgICBtX3RleHR1cmVNYXBwZXItPmJlZ2luUGFpbnRpbmcoKTsKICAg
ICB0b1RleHR1cmVNYXBwZXJMYXllcihtX3Jvb3RMYXllci5nZXQoKSktPnBhaW50KCk7CisgICAg
bV9mcHNDb3VudGVyLnVwZGF0ZUZQU0FuZERpc3BsYXkobV90ZXh0dXJlTWFwcGVyLmdldCgpKTsK
ICAgICBtX3RleHR1cmVNYXBwZXItPmVuZFBhaW50aW5nKCk7CiAKICAgICBjb250ZXh0LT5zd2Fw
QnVmZmVycygpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9M
YXllclRyZWVIb3N0R3RrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmgJKHJldmlzaW9uIDE0NTUxMCkKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRlICJMYXllclRyZWVDb250
ZXh0LmgiCiAjaW5jbHVkZSAiTGF5ZXJUcmVlSG9zdC5oIgorI2luY2x1ZGUgIlRleHR1cmVNYXBw
ZXJGUFNDb3VudGVyLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlckxheWVyLmgiCiAjaW5jbHVk
ZSA8V2ViQ29yZS9HTENvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXJD
bGllbnQuaD4KQEAgLTEwNCw2ICsxMDUsNyBAQAogICAgIE93blB0cjxXZWJDb3JlOjpHTENvbnRl
eHQ+IG1fY29udGV4dDsKICAgICBib29sIG1fbGF5ZXJGbHVzaFNjaGVkdWxpbmdFbmFibGVkOwog
ICAgIHVuc2lnbmVkIG1fbGF5ZXJGbHVzaFRpbWVyQ2FsbGJhY2tJZDsKKyAgICBXZWJDb3JlOjpU
ZXh0dXJlTWFwcGVyRlBTQ291bnRlciBtX2Zwc0NvdW50ZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0LmNwcAkocmV2aXNpb24gMTQ1NTEwKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNzQyLDcgKzc0Miw3IEBACiB9CiAjZW5kaWYKIAotI2lmICFVU0UoU0tJQSkgJiYgIVVTRShD
RykKKyNpZiAhVVNFKFNLSUEpICYmICFVU0UoQ0cpICYmICFVU0UoQ0FJUk8pCiBib29sIEdyYXBo
aWNzQ29udGV4dDo6aXNBY2NlbGVyYXRlZENvbnRleHQoKSBjb25zdAogewogICAgIHJldHVybiBm
YWxzZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyRlBTQ291bnRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcAkocmV2aXNp
b24gMTQ1NTEwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1Rl
eHR1cmVNYXBwZXJGUFNDb3VudGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTksNyArNTksMTEg
QEAKICAgICAgICAgbV9mcHNUaW1lc3RhbXAgKz0gZGVsdGE7CiAgICAgfQogCisjaWYgZGVmaW5l
ZChURVhUVVJFX01BUFBFUl9QUklOVF9GUFMpCisgICAgcHJpbnRmKCJmcHM9JWRcbiIsIG1fbGFz
dEZQUyk7CisjZWxzZQogICAgIHRleHR1cmVNYXBwZXItPmRyYXdOdW1iZXIobV9sYXN0RlBTLCBD
b2xvcjo6YmxhY2ssIGxvY2F0aW9uLCBtYXRyaXgpOworI2VuZGlmCiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyR0wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCShyZXZpc2lvbiAxNDU1MTAp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckdMLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsOSBAQAogI2luY2x1ZGUgIlRleHR1
cmVNYXBwZXJHTC5oIgogCiAjaW5jbHVkZSAiRXh0ZW5zaW9uczNELmgiCisjaW5jbHVkZSAiR0xD
b250ZXh0LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiR3JhcGhp
Y3NMYXllci5oIgogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAiTGVuZ3RoRnVuY3Rpb25z
LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKQEAgLTQxLDggKzQzLDEwIEBACiAKICNp
ZiBVU0UoQ0FJUk8pCiAjaW5jbHVkZSAiQ2Fpcm9VdGlsaXRpZXMuaCIKKyNpbmNsdWRlICJQbGF0
Zm9ybUNvbnRleHRDYWlyby5oIgogI2luY2x1ZGUgIlJlZlB0ckNhaXJvLmgiCiAjaW5jbHVkZSA8
Y2Fpcm8uaD4KKyNpbmNsdWRlIDxjYWlyby1nbC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJp
bmcuaD4KICNlbmRpZgogCkBAIC01NzgsNiArNTgyLDkgQEAKICAgICAsIG1fZGVwdGhCdWZmZXJP
YmplY3QoMCkKICAgICAsIG1fc2hvdWxkQ2xlYXIodHJ1ZSkKICAgICAsIG1fY29udGV4dDNEKHRl
eHR1cmVNYXBwZXItPmdyYXBoaWNzQ29udGV4dDNEKCkpCisjaWYgZGVmaW5lZChCSVRNQVBfVEVY
VFVSRV9HTF9ESVJFQ1RfVVBEQVRFKSAmJiBVU0UoQ0FJUk8pCisgICAgLCBtX3N1cmZhY2UoMCkK
KyNlbmRpZgogewogfQogCkBAIC02MjgsNyArNjM1LDI0IEBACiB7CiAgICAgaWYgKCFtX2lkKQog
ICAgICAgICBtX2lkID0gbV9jb250ZXh0M0QtPmNyZWF0ZVRleHR1cmUoKTsKKyNpZiBkZWZpbmVk
KEJJVE1BUF9URVhUVVJFX0dMX0RJUkVDVF9VUERBVEUpICYmIFVTRShDQUlSTykKKyAgICBpZiAo
bV9zdXJmYWNlKSB7CisgICAgICAgIEdMQ29udGV4dCogcHJldmlvdXNBY3RpdmVDb250ZXh0ID0g
R0xDb250ZXh0OjpnZXRDdXJyZW50KCk7CisgICAgICAgIEdMQ29udGV4dDo6c2hhcmluZ0NvbnRl
eHQoKS0+bWFrZUNvbnRleHRDdXJyZW50KCk7CiAKKyAgICAgICAgeworICAgICAgICBPd25QdHI8
UGxhdGZvcm1Db250ZXh0Q2Fpcm8+IHBsYXRmb3JtQ29udGV4dCA9IGFkb3B0UHRyKG5ldyBQbGF0
Zm9ybUNvbnRleHRDYWlybyhjYWlyb19jcmVhdGUobV9zdXJmYWNlKSkpOworICAgICAgICBPd25Q
dHI8R3JhcGhpY3NDb250ZXh0PiBjb250ZXh0ID0gYWRvcHRQdHIobmV3IEdyYXBoaWNzQ29udGV4
dChwbGF0Zm9ybUNvbnRleHQuZ2V0KCkpKTsKKyAgICAgICAgY29udGV4dC0+Y2xlYXJSZWN0KEZs
b2F0UmVjdCgwLCAwLCBtX3RleHR1cmVTaXplLndpZHRoKCksIG1fdGV4dHVyZVNpemUuaGVpZ2h0
KCkpKTsKKyAgICAgICAgY2Fpcm9fc3VyZmFjZV9mbHVzaChtX3N1cmZhY2UpOworICAgICAgICB9
CisKKyAgICAgICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95KG1fc3VyZmFjZSk7CisgICAgICAgIG1f
c3VyZmFjZSA9IDA7CisKKyAgICAgICAgcHJldmlvdXNBY3RpdmVDb250ZXh0LT5tYWtlQ29udGV4
dEN1cnJlbnQoKTsKKyAgICB9CisjZW5kaWYKICAgICBtX3Nob3VsZENsZWFyID0gdHJ1ZTsKICAg
ICBpZiAobV90ZXh0dXJlU2l6ZSA9PSBjb250ZW50U2l6ZSgpKQogICAgICAgICByZXR1cm47CkBA
IC03MzMsNyArNzU3LDU1IEBACiAKICAgICB1cGRhdGVDb250ZW50cyhpbWFnZURhdGEsIHRhcmdl
dFJlY3QsIG9mZnNldCwgYnl0ZXNQZXJMaW5lLCB1cGRhdGVDb250ZW50c0ZsYWcpOwogfQorI2lm
IGRlZmluZWQoQklUTUFQX1RFWFRVUkVfR0xfRElSRUNUX1VQREFURSkgJiYgVVNFKENBSVJPKQor
I2RlZmluZSBCSVRNQVBfVEVYVFVSRV9HTF9EUkFXX1RJTEVfUkVDVAordm9pZCBCaXRtYXBUZXh0
dXJlR0w6OnVwZGF0ZUNvbnRlbnRzKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIsIEdyYXBo
aWNzTGF5ZXIqIHNvdXJjZUxheWVyLCBjb25zdCBJbnRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBJ
bnRQb2ludCYgb2Zmc2V0LCBVcGRhdGVDb250ZW50c0ZsYWcgdXBkYXRlQ29udGVudHNGbGFnKQor
eworICAgIG1fY29udGV4dDNELT5tYWtlQ29udGV4dEN1cnJlbnQoKTsKKyAgICBtX2NvbnRleHQz
RC0+YmluZFRleHR1cmUoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQsIG1faWQpOworICAg
IEdMQ29udGV4dCogcHJldmlvdXNBY3RpdmVDb250ZXh0ID0gR0xDb250ZXh0OjpnZXRDdXJyZW50
KCk7CisgICAgR0xDb250ZXh0OjpzaGFyaW5nQ29udGV4dCgpLT5tYWtlQ29udGV4dEN1cnJlbnQo
KTsKIAorICAgIGlmICghbV9zdXJmYWNlKSB7CisgICAgICAgIG1fc3VyZmFjZSA9IGNhaXJvX2ds
X3N1cmZhY2VfY3JlYXRlX2Zvcl90ZXh0dXJlKEdMQ29udGV4dDo6c2hhcmluZ0NvbnRleHQoKS0+
Y2Fpcm9EZXZpY2UoKSwKKyAgICAgICAgICAgIENBSVJPX0NPTlRFTlRfQ09MT1JfQUxQSEEsIG1f
aWQsIG1fdGV4dHVyZVNpemUud2lkdGgoKSwgbV90ZXh0dXJlU2l6ZS5oZWlnaHQoKSk7CisKKyAg
ICAgICAgaWYgKGNhaXJvX3N1cmZhY2Vfc3RhdHVzKG1fc3VyZmFjZSkgIT0gQ0FJUk9fU1RBVFVT
X1NVQ0NFU1MpIHsKKyAgICAgICAgICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveShtX3N1cmZhY2Up
OworICAgICAgICAgICAgbV9zdXJmYWNlID0gMDsKKworICAgICAgICAgICAgcHJldmlvdXNBY3Rp
dmVDb250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQoKTsKKworICAgICAgICAgICAgLy8gRmFsbGJh
Y2sgdG8gaW1hZ2Ugc3VyZmFjZQorICAgICAgICAgICAgQml0bWFwVGV4dHVyZTo6dXBkYXRlQ29u
dGVudHModGV4dHVyZU1hcHBlciwgc291cmNlTGF5ZXIsIHRhcmdldFJlY3QsIG9mZnNldCwgdXBk
YXRlQ29udGVudHNGbGFnKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0K
KworICAgIHsKKyAgICBPd25QdHI8UGxhdGZvcm1Db250ZXh0Q2Fpcm8+IHBsYXRmb3JtQ29udGV4
dCA9IGFkb3B0UHRyKG5ldyBQbGF0Zm9ybUNvbnRleHRDYWlybyhjYWlyb19jcmVhdGUobV9zdXJm
YWNlKSkpOworICAgIE93blB0cjxHcmFwaGljc0NvbnRleHQ+IGNvbnRleHQgPSBhZG9wdFB0cihu
ZXcgR3JhcGhpY3NDb250ZXh0KHBsYXRmb3JtQ29udGV4dC5nZXQoKSkpOworICAgIGNvbnRleHQt
PnNhdmUoKTsKKworICAgIEludFJlY3Qgc291cmNlUmVjdCh0YXJnZXRSZWN0KTsKKyAgICBzb3Vy
Y2VSZWN0LnNldExvY2F0aW9uKG9mZnNldCk7CisgICAgY29udGV4dC0+dHJhbnNsYXRlKHRhcmdl
dFJlY3QueCgpLW9mZnNldC54KCksIHRhcmdldFJlY3QueSgpLW9mZnNldC55KCkpOworICAgIGNv
bnRleHQtPnNldEltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkodGV4dHVyZU1hcHBlci0+aW1hZ2VJ
bnRlcnBvbGF0aW9uUXVhbGl0eSgpKTsKKyAgICBjb250ZXh0LT5zZXRUZXh0RHJhd2luZ01vZGUo
dGV4dHVyZU1hcHBlci0+dGV4dERyYXdpbmdNb2RlKCkpOworICAgIHNvdXJjZUxheWVyLT5wYWlu
dEdyYXBoaWNzTGF5ZXJDb250ZW50cygqY29udGV4dCwgc291cmNlUmVjdCk7CisKKyAgICBjb250
ZXh0LT5yZXN0b3JlKCk7CisKKyNpZmRlZiBCSVRNQVBfVEVYVFVSRV9HTF9EUkFXX1RJTEVfUkVD
VAorICAgIGNvbnRleHQtPnNldFN0cm9rZUNvbG9yKDB4RkYwMDAwRkYsIENvbG9yU3BhY2VEZXZp
Y2VSR0IpOworICAgIGNvbnRleHQtPnN0cm9rZVJlY3QoRmxvYXRSZWN0KDAsIDAsIG1fdGV4dHVy
ZVNpemUud2lkdGgoKSwgbV90ZXh0dXJlU2l6ZS5oZWlnaHQoKSksIDEpOworICAgIGNhaXJvX3N1
cmZhY2VfZmx1c2gobV9zdXJmYWNlKTsKKyNlbmRpZgorICAgIH0KKworICAgIHByZXZpb3VzQWN0
aXZlQ29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7Cit9CisjZW5kaWYKICNpZiBFTkFCTEUo
Q1NTX0ZJTFRFUlMpCiAKIHN0YXRpYyBUZXh0dXJlTWFwcGVyU2hhZGVyUHJvZ3JhbTo6T3B0aW9u
cyBvcHRpb25zRm9yRmlsdGVyVHlwZShGaWx0ZXJPcGVyYXRpb246Ok9wZXJhdGlvblR5cGUgdHlw
ZSwgdW5zaWduZWQgcGFzcykKQEAgLTEwODgsNiArMTE2MCwxNSBAQAogCiAgICAgaWYgKG1fZGVw
dGhCdWZmZXJPYmplY3QpCiAgICAgICAgIG1fY29udGV4dDNELT5kZWxldGVSZW5kZXJidWZmZXIo
bV9kZXB0aEJ1ZmZlck9iamVjdCk7CisKKyNpZiBkZWZpbmVkKEJJVE1BUF9URVhUVVJFX0dMX0RJ
UkVDVF9VUERBVEUpICYmIFVTRShDQUlSTykKKyAgICBHTENvbnRleHQqIHByZXZpb3VzQWN0aXZl
Q29udGV4dCA9IEdMQ29udGV4dDo6Z2V0Q3VycmVudCgpOworICAgIEdMQ29udGV4dDo6c2hhcmlu
Z0NvbnRleHQoKS0+bWFrZUNvbnRleHRDdXJyZW50KCk7CisgICAgY2Fpcm9fc3VyZmFjZV9mbHVz
aChtX3N1cmZhY2UpOworICAgIGNhaXJvX3N1cmZhY2VfZGVzdHJveShtX3N1cmZhY2UpOworICAg
IG1fc3VyZmFjZSA9IDA7CisgICAgcHJldmlvdXNBY3RpdmVDb250ZXh0LT5tYWtlQ29udGV4dEN1
cnJlbnQoKTsKKyNlbmRpZgogfQogCiBib29sIEJpdG1hcFRleHR1cmVHTDo6aXNWYWxpZCgpIGNv
bnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlckZQU0NvdW50ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckZQU0NvdW50ZXIuaAkocmV2aXNpb24gMTQ1
NTEwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJGUFNDb3VudGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDggQEAKICNpbmNs
dWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCisjZGVmaW5lIFRFWFRVUkVfTUFQUEVSX1BSSU5UX0ZQUworCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBUZXh0dXJlTWFwcGVyOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclRpbGVkQmFja2luZ1N0b3JlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlclRpbGVkQmFja2luZ1N0b3JlLmNwcAkocmV2aXNpb24gMTQ1NTEwKQorKysgU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJUaWxlZEJhY2tp
bmdTdG9yZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgwLDYgKzgwLDEzIEBACiAgICAgVmVjdG9y
PGludD4gdGlsZUluZGljZXNUb1JlbW92ZTsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IFRpbGVF
cmFzZVRocmVzaG9sZCA9IDY7CiAKKyAgICAvL1Jlc2V0IGFsbCB0aWxlcyBmb3Igbm93IC0gc2xv
dyEKKyAgICAvKmZvciAoaW50IGkgPSAwOyBpIDwgbV90aWxlcy5zaXplKCk7IGkrKykgeworICAg
ICAgICBUZXh0dXJlTWFwcGVyVGlsZSYgdGlsZSA9IG1fdGlsZXNbaV07CisgICAgICAgIGlmICh0
aWxlLnRleHR1cmUoKSkKKyAgICAgICAgICAgIHRpbGUudGV4dHVyZSgpLT5yZXNldChlbmNsb3Np
bmdJbnRSZWN0KHRpbGUucmVjdCgpKS5zaXplKCksIGhhc0FscGhhID8gQml0bWFwVGV4dHVyZTo6
U3VwcG9ydHNBbHBoYSA6IDApOworICAgIH0qLworCiAgICAgLy8gVGhpcyBtZXRob2QgcmVjeWNs
ZXMgdGlsZXMuIFdlIGNoZWNrIHdoaWNoIHRpbGVzIHdlIG5lZWQgdG8gYWRkLCB3aGljaCB0byBy
ZW1vdmUsIGFuZCB1c2UgYXMgbWFueQogICAgIC8vIHJlbW92YWJsZSB0aWxlcyBhcyByZXBsYWNl
bWVudCBmb3IgbmV3IHRpbGVzIHdoZW4gcG9zc2libGUuCiAgICAgZm9yIChmbG9hdCB5ID0gMDsg
eSA8IG1fc2l6ZS5oZWlnaHQoKTsgeSArPSB0aWxlU2l6ZS5oZWlnaHQoKSkgewpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyR0wuaAkocmV2aXNpb24gMTQ1NTEwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSw2ICsyOSw4IEBACiAjaW5jbHVkZSAiVGV4dHVyZU1hcHBlci5oIgogI2luY2x1ZGUgIlRyYW5z
Zm9ybWF0aW9uTWF0cml4LmgiCiAKKyNkZWZpbmUgQklUTUFQX1RFWFRVUkVfR0xfRElSRUNUX1VQ
REFURQorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEN1c3RvbUZpbHRlclByb2dyYW07
CkBAIC0xNTUsNiArMTU3LDkgQEAKICAgICB1aW50MzJfdCB0ZXh0dXJlVGFyZ2V0KCkgY29uc3Qg
eyByZXR1cm4gR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQ7IH0KICAgICBJbnRTaXplIHRl
eHR1cmVTaXplKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0dXJlU2l6ZTsgfQogICAgIHZvaWQgdXBk
YXRlQ29udGVudHMoSW1hZ2UqLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgSW50UG9pbnQmLCBVcGRh
dGVDb250ZW50c0ZsYWcpOworI2lmZGVmIEJJVE1BUF9URVhUVVJFX0dMX0RJUkVDVF9VUERBVEUK
KyAgICB2b2lkIHVwZGF0ZUNvbnRlbnRzKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIsIEdy
YXBoaWNzTGF5ZXIqIHNvdXJjZUxheWVyLCBjb25zdCBJbnRSZWN0JiB0YXJnZXRSZWN0LCBjb25z
dCBJbnRQb2ludCYgb2Zmc2V0LCBVcGRhdGVDb250ZW50c0ZsYWcgdXBkYXRlQ29udGVudHNGbGFn
KTsKKyNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVDb250ZW50cyhjb25zdCB2b2lkKiwg
Y29uc3QgSW50UmVjdCYgdGFyZ2V0LCBjb25zdCBJbnRQb2ludCYgc291cmNlT2Zmc2V0LCBpbnQg
Ynl0ZXNQZXJMaW5lLCBVcGRhdGVDb250ZW50c0ZsYWcpOwogICAgIHZpcnR1YWwgYm9vbCBpc0Jh
Y2tlZEJ5T3BlbkdMKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCkBAIC0xNzQsNyArMTc5LDEw
IEBACiAgICAgYm9vbCBtX3Nob3VsZENsZWFyOwogICAgIFRleHR1cmVNYXBwZXJHTDo6Q2xpcFN0
YWNrIG1fY2xpcFN0YWNrOwogICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gbV9jb250ZXh0
M0Q7Ci0KKyNpZiBkZWZpbmVkKEJJVE1BUF9URVhUVVJFX0dMX0RJUkVDVF9VUERBVEUpICYmIFVT
RShDQUlSTykKKyAgICBjYWlyb19zdXJmYWNlX3QqIG1fc3VyZmFjZTsKKyNlbmRpZgorcHJpdmF0
ZToKICAgICBleHBsaWNpdCBCaXRtYXBUZXh0dXJlR0woVGV4dHVyZU1hcHBlckdMKik7CiAgICAg
Qml0bWFwVGV4dHVyZUdMKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dseC9HTENvbnRleHRHTFguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nbHgvR0xDb250ZXh0R0xYLmgJKHJldmlzaW9uIDE0NTUxMCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dseC9HTENvbnRleHRHTFguaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQAogI2lmIFVTRSgzRF9HUkFQSElDUykKICAgICB2aXJ0
dWFsIFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0QgcGxhdGZvcm1Db250ZXh0KCk7CiAjZW5kaWYK
KyAgICB2aXJ0dWFsIGNhaXJvX2RldmljZV90KiBjYWlyb0RldmljZSgpOwogCiBwcml2YXRlOgog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPEdMQ29udGV4dEdMWD4gY3JlYXRlUGJ1ZmZlckNvbnRleHQo
R0xYQ29udGV4dCBzaGFyaW5nQ29udGV4dCk7CkBAIC02Myw2ICs2NCw3IEBACiAgICAgR0xYUGJ1
ZmZlciBtX3BidWZmZXI7CiAgICAgUGl4bWFwIG1fcGl4bWFwOwogICAgIEdMWFBpeG1hcCBtX2ds
eFBpeG1hcDsKKyAgICBjYWlyb19kZXZpY2VfdCogbV9jYWlyb0RldmljZTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dseC9HTENvbnRleHRHTFguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dseC9HTENvbnRleHRHTFguY3BwCShyZXZpc2lvbiAxNDU1MTApCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nbHgvR0xDb250ZXh0R0xYLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjMsNiArMjMsOCBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNE
LmgiCiAjaW5jbHVkZSAiT3BlbkdMU2hpbXMuaCIKICNpbmNsdWRlIDxHTC9nbHguaD4KKyNpbmNs
dWRlIDxjYWlyby1nbC5oPgorI2luY2x1ZGUgPGNhaXJvLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xNjgsNiArMTcwLDcgQEAKICAgICAsIG1f
cGJ1ZmZlcigwKQogICAgICwgbV9waXhtYXAoMCkKICAgICAsIG1fZ2x4UGl4bWFwKDApCisgICAg
LCBtX2NhaXJvRGV2aWNlKDApCiB7CiB9CiAKQEAgLTE3Nyw2ICsxODAsNyBAQAogICAgICwgbV9w
YnVmZmVyKDApCiAgICAgLCBtX3BpeG1hcChwaXhtYXApCiAgICAgLCBtX2dseFBpeG1hcChnbHhQ
aXhtYXApCisgICAgLCBtX2NhaXJvRGV2aWNlKDApCiB7CiB9CiAKQEAgLTE4OCw4ICsxOTIsMTQg
QEAKICAgICAgICAgZ2xCaW5kRnJhbWVidWZmZXJFWFQoR0xfRlJBTUVCVUZGRVJfRVhULCAwKTsK
ICAgICAgICAgZ2xYTWFrZUN1cnJlbnQoc2hhcmVkWDExRGlzcGxheSgpLCBOb25lLCBOb25lKTsK
ICAgICAgICAgZ2xYRGVzdHJveUNvbnRleHQoc2hhcmVkWDExRGlzcGxheSgpLCBtX2NvbnRleHQp
OworICAgICAgICBtX2NvbnRleHQgPSAwOwogICAgIH0KIAorICAgIGlmIChtX2NhaXJvRGV2aWNl
KSB7CisgICAgICAgIGNhaXJvX2RldmljZV9kZXN0cm95KG1fY2Fpcm9EZXZpY2UpOworICAgICAg
ICBtX2NhaXJvRGV2aWNlID0gMDsKKyAgICB9CisKICAgICBpZiAobV9wYnVmZmVyKSB7CiAgICAg
ICAgIGdsWERlc3Ryb3lQYnVmZmVyKHNoYXJlZFgxMURpc3BsYXkoKSwgbV9wYnVmZmVyKTsKICAg
ICAgICAgbV9wYnVmZmVyID0gMDsKQEAgLTI1MSw2ICsyNjEsMTUgQEAKICAgICBnbFhXYWl0WCgp
OwogfQogCitjYWlyb19kZXZpY2VfdCogR0xDb250ZXh0R0xYOjpjYWlyb0RldmljZSgpCit7Cisg
ICAgaWYgKG1fY2Fpcm9EZXZpY2UpCisgICAgICAgIHJldHVybiBtX2NhaXJvRGV2aWNlOworCisg
ICAgbV9jYWlyb0RldmljZSA9IGNhaXJvX2dseF9kZXZpY2VfY3JlYXRlKHNoYXJlZFgxMURpc3Bs
YXkoKSwgbV9jb250ZXh0KTsKKyAgICByZXR1cm4gbV9jYWlyb0RldmljZTsKK30KKwogI2lmIFVT
RSgzRF9HUkFQSElDUykKIFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0QgR0xDb250ZXh0R0xYOjpw
bGF0Zm9ybUNvbnRleHQoKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAko
cmV2aXNpb24gMTQ1NTEwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTQxLDYgKzEx
NDEsMTEgQEAKICAgICByZXR1cm4gcGxhdGZvcm1Db250ZXh0KCktPmltYWdlSW50ZXJwb2xhdGlv
blF1YWxpdHkoKTsKIH0KIAorYm9vbCBHcmFwaGljc0NvbnRleHQ6OmlzQWNjZWxlcmF0ZWRDb250
ZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gY2Fpcm9fc3VyZmFjZV9nZXRfdHlwZShjYWlyb19n
ZXRfdGFyZ2V0KHBsYXRmb3JtQ29udGV4dCgpLT5jcigpKSkgPT0gQ0FJUk9fU1VSRkFDRV9UWVBF
X0dMOworfQorCiAjaWYgRU5BQkxFKDNEX1JFTkRFUklORykgJiYgVVNFKFRFWFRVUkVfTUFQUEVS
KQogVHJhbnNmb3JtYXRpb25NYXRyaXggR3JhcGhpY3NDb250ZXh0OjpnZXQzRFRyYW5zZm9ybSgp
IGNvbnN0CiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9H
TENvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9HTENvbnRleHQuaAkocmV2aXNpb24gMTQ1NTEwKQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR0xDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDYgKzI5LDggQEAKIHR5cGVkZWYgc3RydWN0IF9YRGlzcGxheSBEaXNwbGF5OwogI2VuZGlmCiAK
K3R5cGVkZWYgc3RydWN0IF9jYWlyb19kZXZpY2UgY2Fpcm9fZGV2aWNlX3Q7CisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgR0xDb250ZXh0IHsKQEAgLTQ2LDYgKzQ4LDcgQEAKICAgICB2
aXJ0dWFsIHZvaWQgd2FpdE5hdGl2ZSgpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgY2FuUmVuZGVy
VG9EZWZhdWx0RnJhbWVidWZmZXIoKSA9IDA7CiAgICAgdmlydHVhbCBJbnRTaXplIGRlZmF1bHRG
cmFtZUJ1ZmZlclNpemUoKSA9IDA7CisgICAgdmlydHVhbCBjYWlyb19kZXZpY2VfdCogY2Fpcm9E
ZXZpY2UoKSA9IDA7CiAKICNpZiBQTEFURk9STShYMTEpCiAgICAgc3RhdGljIERpc3BsYXkqIHNo
YXJlZFgxMURpc3BsYXkoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2VnbC9HTENvbnRleHRFR0wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9lZ2wvR0xDb250ZXh0RUdMLmgJKHJldmlzaW9uIDE0NTUxMCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2VnbC9HTENvbnRleHRFR0wuaAkod29ya2luZyBj
b3B5KQpAQCAtNDEsNiArNDEsNyBAQAogICAgIHZpcnR1YWwgdm9pZCB3YWl0TmF0aXZlKCk7CiAg
ICAgdmlydHVhbCBib29sIGNhblJlbmRlclRvRGVmYXVsdEZyYW1lYnVmZmVyKCk7CiAgICAgdmly
dHVhbCBJbnRTaXplIGRlZmF1bHRGcmFtZUJ1ZmZlclNpemUoKTsKKyAgICB2aXJ0dWFsIGNhaXJv
X2RldmljZV90KiBjYWlyb0RldmljZSgpOwogCiAKICNpZiBFTkFCTEUoV0VCR0wpCkBAIC01OSw2
ICs2MCw3IEBACiAgICAgRUdMQ29udGV4dCBtX2NvbnRleHQ7CiAgICAgRUdMU3VyZmFjZSBtX3N1
cmZhY2U7CiAgICAgRUdMU3VyZmFjZVR5cGUgbV90eXBlOworICAgIGNhaXJvX2RldmljZV90KiBt
X2NhaXJvRGV2aWNlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWdsL0dMQ29udGV4dEVHTC5j
cHAJKHJldmlzaW9uIDE0NTUxMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2VnbC9HTENvbnRleHRFR0wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMiw2ICsyMiw4IEBACiAj
aWYgVVNFKEVHTCkKIAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCisjaW5jbHVkZSA8
Y2Fpcm8tZ2wuaD4KKyNpbmNsdWRlIDxjYWlyby5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4K
IAogI2lmIFVTRShPUEVOR0xfRVNfMikKQEAgLTIwOCwxMSArMjEwLDE1IEBACiAgICAgOiBtX2Nv
bnRleHQoY29udGV4dCkKICAgICAsIG1fc3VyZmFjZShzdXJmYWNlKQogICAgICwgbV90eXBlKHR5
cGUpCisgICAgLCBtX2NhaXJvRGV2aWNlKDApCiB7CiB9CiAKIEdMQ29udGV4dEVHTDo6fkdMQ29u
dGV4dEVHTCgpCiB7CisgICAgaWYgKG1fY2Fpcm9EZXZpY2UpCisgICAgICAgIGNhaXJvX2Rldmlj
ZV9kZXN0cm95KG1fY2Fpcm9EZXZpY2UpOworCiAgICAgRUdMRGlzcGxheSBkaXNwbGF5ID0gc2hh
cmVkRUdMRGlzcGxheSgpOwogICAgIGlmIChtX2NvbnRleHQpIHsKICAgICAgICAgZ2xCaW5kRnJh
bWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIDApOwpAQCAtMjI0LDYgKzIzMCwxNSBAQAogICAgICAg
ICBlZ2xEZXN0cm95U3VyZmFjZShkaXNwbGF5LCBtX3N1cmZhY2UpOwogfQogCitjYWlyb19kZXZp
Y2VfdCogR0xDb250ZXh0RUdMOjpjYWlyb0RldmljZSgpCit7CisgICAgaWYgKG1fY2Fpcm9EZXZp
Y2UpCisgICAgICAgIHJldHVybiBtX2NhaXJvRGV2aWNlOworCisgICAgbV9jYWlyb0RldmljZSA9
IGNhaXJvX2VnbF9kZXZpY2VfY3JlYXRlKHNoYXJlZEVHTERpc3BsYXkoKSwgbV9jb250ZXh0KTsK
KyAgICByZXR1cm4gbV9jYWlyb0RldmljZTsKK30KKwogYm9vbCBHTENvbnRleHRFR0w6OmNhblJl
bmRlclRvRGVmYXVsdEZyYW1lYnVmZmVyKCkKIHsKICAgICByZXR1cm4gbV90eXBlID09IFdpbmRv
d1N1cmZhY2U7CkluZGV4OiBUb29scy9ndGsvamhidWlsZC5tb2R1bGVzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMJKHJldmlzaW9uIDE0NTUxMCkKKysrIFRvb2xzL2d0
ay9qaGJ1aWxkLm1vZHVsZXMJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDggQEAKICAgICAg
IGhyZWY9ImdpdDovL2dpdC5nbm9tZS5vcmcvIi8+CiAgIDxyZXBvc2l0b3J5IHR5cGU9InRhcmJh
bGwiIG5hbWU9ImNhaXJvZ3JhcGhpY3Mub3JnIgogICAgICAgaHJlZj0iaHR0cDovL2NhaXJvZ3Jh
cGhpY3Mub3JnIi8+CisgIDxyZXBvc2l0b3J5IHR5cGU9InRhcmJhbGwiIG5hbWU9ImNhaXJvZ2xl
cyIKKyAgICAgIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9TUkEtU2lsaWNvblZhbGxleS9jYWly
b2dsZXMvIi8+CiAgIDxyZXBvc2l0b3J5IHR5cGU9InRhcmJhbGwiIG5hbWU9ImZyZWVkZXNrdG9w
Lm9yZyIKICAgICAgIGhyZWY9Imh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnIi8+CiAgIDxyZXBv
c2l0b3J5IHR5cGU9InRhcmJhbGwiIG5hbWU9InhtbHNvZnQub3JnIgpAQCAtNTksMTYgKzYxLDEz
IEBACiAgICAgICA8cGF0Y2ggZmlsZT0ibWFrZS0zLjgyLXBhcmFsbGVsLWJ1aWxkLnBhdGNoIiBz
dHJpcD0iMSIvPgogICAgIDwvYnJhbmNoPgogICA8L2F1dG90b29scz4KLQotICA8YXV0b3Rvb2xz
IGlkPSJjYWlybyIgYXV0b2dlbi1zaD0iY29uZmlndXJlIj4KKzxhdXRvdG9vbHMgaWQ9ImNhaXJv
IiBhdXRvZ2VuYXJncz0iLS1lbmFibGUtZ2w9eWVzIj4KICAgICA8ZGVwZW5kZW5jaWVzPgogICAg
ICAgPGRlcCBwYWNrYWdlPSJmb250Y29uZmlnIi8+CiAgICAgICA8ZGVwIHBhY2thZ2U9InBpeG1h
biIvPgogICAgIDwvZGVwZW5kZW5jaWVzPgotICAgIDxicmFuY2ggbW9kdWxlPSJyZWxlYXNlcy9j
YWlyby0xLjEyLjgudGFyLnh6IiB2ZXJzaW9uPSIxLjEyLjgiCi0gICAgICAgICAgICByZXBvPSJj
YWlyb2dyYXBoaWNzLm9yZyIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1Njo4ZmJiNmZjNjYxMTdh
YjQxMDBiYWQ4MzBjYjQ0Nzk0OTdlNTNjNmYzZmFjYjk4YmYwNWM4ZDI5ODU1NGViZGQ5IgotICAg
ICAgICAgICAgbWQ1c3VtPSI4YjNkY2FkZTg1OWM0NGZiN2U1NmZjNjhlZGZlOWE0NSI+CisgICAg
PGJyYW5jaCByZXBvPSJjYWlyb2dsZXMiIG1vZHVsZT0iYXJjaGl2ZS9jYWlyb2dsZXMtMS4xMi4x
Mi50YXIuZ3oiCisgICAgICAgICAgICB2ZXJzaW9uPSIxLjEyLjEyIiBjaGVja291dGRpcj0iY2Fp
cm9nbGVzLTEuMTIuMTIiPgogICAgIDwvYnJhbmNoPgogICA8L2F1dG90b29scz4KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>