<?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>129137</bug_id>
          
          <creation_ts>2014-02-20 19:17:34 -0800</creation_ts>
          <short_desc>Remove redundant deviceScaleFactor() functions and make callers use Document::deviceScaleFactor() when accessible.</short_desc>
          <delta_ts>2014-02-20 22:26:54 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jonlee</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>983072</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2014-02-20 19:17:34 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983073</commentid>
    <comment_count>1</comment_count>
      <attachid>224820</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-02-20 19:25:32 -0800</bug_when>
    <thetext>Created attachment 224820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983100</commentid>
    <comment_count>2</comment_count>
      <attachid>224831</attachid>
    <who name="alan">zalan</who>
    <bug_when>2014-02-20 20:51:04 -0800</bug_when>
    <thetext>Created attachment 224831
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983115</commentid>
    <comment_count>3</comment_count>
      <attachid>224831</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-20 22:26:52 -0800</bug_when>
    <thetext>Comment on attachment 224831
Patch

Clearing flags on attachment: 224831

Committed r164474: &lt;http://trac.webkit.org/changeset/164474&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983116</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-20 22:26:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224820</attachid>
            <date>2014-02-20 19:25:32 -0800</date>
            <delta_ts>2014-02-20 20:51:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129137-20140220192535.patch</filename>
            <type>text/plain</type>
            <size>16230</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0NDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTllMTc5ZDRhNGNjN2Yz
OTJlNGU1YjMzMDFlNzViNzM4NzY4OTNlZi4uYmU0ZTM2ZWIzOWIxNTk4ZWI1ZThhNDhhNzg5NWMy
MGY3MjQ2ZmMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE0LTAyLTIwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHJlZHVuZGFudCBk
ZXZpY2VTY2FsZUZhY3RvcigpIGZ1bmN0aW9ucyBhbmQgbWFrZSBjYWxsZXJzIHVzZSBEb2N1bWVu
dDo6ZGV2aWNlU2NhbGVGYWN0b3IoKSB3aGVuIGFjY2Vzc2libGUuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjkxMzcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisK
KyAgICAgICAgKiBlZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RGVsZXRlQnV0dG9uQ29udHJvbGxlcjo6Y3JlYXRlRGVsZXRpb25VSSk6CisgICAg
ICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0OjpHcmFwaGljc0NvbnRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nn
L0dyYXBoaWNzQ29udGV4dENHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50Rmls
bExheWVyRXh0ZW5kZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6
OmRyYXdCb3hTaWRlRnJvbVBhdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6aW1hZ2VTaXplRm9yRXJyb3IpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
cjo6ZHJhd1BsYXRmb3JtUmVzaXplckltYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6ZHJhd0xpbmVGb3JC
b3hTaWRlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW06CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6cGFpbnRQcm9ncmVzc0Jhcik6CisgICAgICAgICog
cmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1JlbmRlcmluZ0NvbnRleHQ6OmNhbGN1bGF0ZVRyYW5zZm9ybWF0aW9uVG9PdXRlcm1vc3RD
b29yZGluYXRlU3lzdGVtKToKKwogMjAxNC0wMi0yMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgTW92ZSB0aGUgaW1hZ2UgY29udHJvbHMgc2V0dGluZyB0byBT
ZXR0aW5ncy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDYyODRlZDBhMjdiNzZkYWY4NDM0ZjBkZTU2NzhhZmVj
NmNhM2NiOGUuLjRlNGU0NzM0YTIxYzkyMWY0MjIxNzUxYTIxOTBjZGVkNTRmMGZiMjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0wMi0yMCAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSByZWR1bmRhbnQgZGV2aWNlU2NhbGVGYWN0b3Io
KSBmdW5jdGlvbnMgYW5kIG1ha2UgY2FsbGVycyB1c2UgRG9jdW1lbnQ6OmRldmljZVNjYWxlRmFj
dG9yKCkgd2hlbiBhY2Nlc3NpYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTI5MTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RmluZENv
bnRyb2xsZXI6OmdldEZpbmRJbmRpY2F0b3JCaXRtYXBBbmRSZWN0KToKKwogMjAxNC0wMi0yMCAg
RW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEFTU0VSVCBvbiB0
b3VjaGVzIGNhbGxiYWNrcyBhZnRlciByMTY0NDA5IG9uIGlPUy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuY3BwCmluZGV4IGE3ODc2OWMzZjMz
YzAwZDFiZWZjNDZiZDVkMDE4YTY5YzJkOTI0YTMuLjgyMGIwYWNlMDQ3OTZmNGM2NDVkNGY4ZmQ3
M2EyNjJiNjAzYTFkNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRl
QnV0dG9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVC
dXR0b25Db250cm9sbGVyLmNwcApAQCAtMjQ1LDkgKzI0NSw4IEBAIHZvaWQgRGVsZXRlQnV0dG9u
Q29udHJvbGxlcjo6Y3JlYXRlRGVsZXRpb25VSSgpCiAgICAgYnV0dG9uLT5zZXRJbmxpbmVTdHls
ZVByb3BlcnR5KENTU1Byb3BlcnR5SGVpZ2h0LCBidXR0b25IZWlnaHQsIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUFgpOwogICAgIGJ1dHRvbi0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVZpc2liaWxpdHksIENTU1ZhbHVlVmlzaWJsZSk7CiAKLSAgICBmbG9hdCBkZXZpY2VTY2Fs
ZUZhY3RvciA9IFdlYkNvcmU6OmRldmljZVNjYWxlRmFjdG9yKCZtX2ZyYW1lKTsKICAgICBSZWZQ
dHI8SW1hZ2U+IGJ1dHRvbkltYWdlOwotICAgIGlmIChkZXZpY2VTY2FsZUZhY3RvciA+PSAyKQor
ICAgIGlmIChtX3RhcmdldC0+ZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpID49IDIpCiAg
ICAgICAgIGJ1dHRvbkltYWdlID0gSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKCJkZWxldGVC
dXR0b25AMngiKTsKICAgICBlbHNlCiAgICAgICAgIGJ1dHRvbkltYWdlID0gSW1hZ2U6OmxvYWRQ
bGF0Zm9ybVJlc291cmNlKCJkZWxldGVCdXR0b24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGNh
NTI1Nzk1ZjYyMTdmNjgxMGFkZGI5NDBmMDc5ZmNjYTkyNDNkYTUuLjIxNzk1YWJiNzkwNTFiZGRk
MDE4MmE2NTAzNjg3N2E3MDg5NDgzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTE0LDE2ICsx
MTQsNiBAQCBzdGF0aWMgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VkKGJvb2wgaXNPbkxpbmUpCiAg
ICAgICAgIGZyYW1lc1tpXS0+ZG9jdW1lbnQoKS0+ZGlzcGF0Y2hXaW5kb3dFdmVudChFdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZSwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKLWZsb2F0IGRldmljZVNjYWxl
RmFjdG9yKEZyYW1lKiBmcmFtZSkKLXsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4g
MTsKLSAgICBQYWdlKiBwYWdlID0gZnJhbWUtPnBhZ2UoKTsKLSAgICBpZiAoIXBhZ2UpCi0gICAg
ICAgIHJldHVybiAxOwotICAgIHJldHVybiBwYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpOwotfQot
CiBzdGF0aWMgY29uc3QgVmlld1N0YXRlOjpGbGFncyBQYWdlSW5pdGlhbFZpZXdTdGF0ZSA9IFZp
ZXdTdGF0ZTo6SXNWaXNpYmxlIHwgVmlld1N0YXRlOjpJc0luV2luZG93OwogCiBQYWdlOjpQYWdl
KFBhZ2VDbGllbnRzJiBwYWdlQ2xpZW50cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTZmMTE4ZDE3Mjk1
MzQ1OWJjNmI1NzgxNDZlNDJiMmIwMzYxMjEyNi4uYTcxNWZlZmQ2ZGNkMmFmM2NlODRiNTVkZjcz
ZmZhMzQ5MzdjNzNmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTExMCw4ICsxMTAsNiBAQCB0eXBlZGVm
IHVpbnQ2NF90IExpbmtIYXNoOwogCiBlbnVtIEZpbmREaXJlY3Rpb24geyBGaW5kRGlyZWN0aW9u
Rm9yd2FyZCwgRmluZERpcmVjdGlvbkJhY2t3YXJkIH07CiAKLWZsb2F0IGRldmljZVNjYWxlRmFj
dG9yKEZyYW1lKik7Ci0KIGNsYXNzIFBhZ2UgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8UGFnZT4g
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2UpOwogICAgIGZyaWVuZCBjbGFzcyBTZXR0
aW5nczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQuY3BwCmluZGV4IDI5Y2YxODYwZjQ1YTcwZmExN2E3MmI5OTYxMjViOWQwNTc0Y2Q0
ZjcuLjZiNGQ3YTlhM2Q3MmVkYzMyNWE5OTRlNzljZjYxYTFmMDE5NzY1YTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcApA
QCAtODAsNyArODAsNiBAQCBwcml2YXRlOgogR3JhcGhpY3NDb250ZXh0OjpHcmFwaGljc0NvbnRl
eHQoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqIHBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KQogICAg
IDogbV91cGRhdGluZ0NvbnRyb2xUaW50cyhmYWxzZSkKICAgICAsIG1fdHJhbnNwYXJlbmN5Q291
bnQoMCkKLSAgICAsIG1fcGl4ZWxTbmFwcGluZ0ZhY3RvcigxKQogewogICAgIHBsYXRmb3JtSW5p
dChwbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCk7CiB9CkBAIC04OCw3ICs4Nyw2IEBAIEdyYXBoaWNz
Q29udGV4dDo6R3JhcGhpY3NDb250ZXh0KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KiBwbGF0Zm9y
bUdyYXBoaWNzQ29udGV4CiBHcmFwaGljc0NvbnRleHQ6OkdyYXBoaWNzQ29udGV4dChQbGF0Zm9y
bUdyYXBoaWNzQ29udGV4dCogcGxhdGZvcm1HcmFwaGljc0NvbnRleHQsIGJvb2wgc2hvdWxkVXNl
Q29udGV4dENvbG9ycykKICAgICA6IG1fdXBkYXRpbmdDb250cm9sVGludHMoZmFsc2UpCiAgICAg
LCBtX3RyYW5zcGFyZW5jeUNvdW50KDApCi0gICAgLCBtX3BpeGVsU25hcHBpbmdGYWN0b3IoMSkK
IHsKICAgICBwbGF0Zm9ybUluaXQocGxhdGZvcm1HcmFwaGljc0NvbnRleHQsIHNob3VsZFVzZUNv
bnRleHRDb2xvcnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQuaAppbmRleCAyZjY5MDQ1NmU2NmRhNmQ5YTExMzg0MmE3OGI5NjUw
ZDk3OWNhYzUwLi5hOWJmNWQwMDRjZTExYmFjYTcwNzE5NjIwNDZkOTgzNGNlMmUwZmU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQu
aApAQCAtNDQ0LDEyICs0NDQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGVudW0g
SW5jbHVkZURldmljZVNjYWxlIHsgRGVmaW5pdGVseUluY2x1ZGVEZXZpY2VTY2FsZSwgUG9zc2li
bHlJbmNsdWRlRGV2aWNlU2NhbGUgfTsKICAgICAgICAgQWZmaW5lVHJhbnNmb3JtIGdldENUTShJ
bmNsdWRlRGV2aWNlU2NhbGUgaW5jbHVkZVNjYWxlID0gUG9zc2libHlJbmNsdWRlRGV2aWNlU2Nh
bGUpIGNvbnN0OwogCi0jaWYgUExBVEZPUk0oV0lOKQotICAgICAgICBmbG9hdCBwaXhlbFNuYXBw
aW5nRmFjdG9yKCkgY29uc3QgeyByZXR1cm4gMS4wOyB9Ci0jZWxzZQotICAgICAgICBmbG9hdCBw
aXhlbFNuYXBwaW5nRmFjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9waXhlbFNuYXBwaW5nRmFjdG9y
OyB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpICYmIFVTRShURVhUVVJFX01B
UFBFUikKICAgICAgICAgLy8gVGhpcyBpcyBuZWVkZWQgd2hlbiB1c2luZyBhY2NlbGVyYXRlZC1j
b21wb3NpdGluZyBpbiBzb2Z0d2FyZSBtb2RlLCBsaWtlIGluIFRleHR1cmVNYXBwZXIuCiAgICAg
ICAgIHZvaWQgY29uY2F0M0RUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKTsK
QEAgLTU4Miw3ICs1NzYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFZlY3RvcjxH
cmFwaGljc0NvbnRleHRTdGF0ZT4gbV9zdGFjazsKICAgICAgICAgYm9vbCBtX3VwZGF0aW5nQ29u
dHJvbFRpbnRzOwogICAgICAgICB1bnNpZ25lZCBtX3RyYW5zcGFyZW5jeUNvdW50OwotICAgICAg
ICBmbG9hdCBtX3BpeGVsU25hcHBpbmdGYWN0b3I7CiAgICAgfTsKIAogICAgIGNsYXNzIEdyYXBo
aWNzQ29udGV4dFN0YXRlU2F2ZXIgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCmluZGV4IDZhMzdkZDA2NjUz
ZTcxNjY4MjEzYmQ3Y2JlYzU1M2JhNjJiYzJmNDkuLjI0ZDExZjkwNTIzNzU2NDg1YmVmMzc1NTM3
NzZmZDhkMTIxOTZlOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKQEAgLTEyNSw5ICsxMjUsNiBAQCB2
b2lkIEdyYXBoaWNzQ29udGV4dDo6cGxhdGZvcm1Jbml0KENHQ29udGV4dFJlZiBjZ0NvbnRleHQs
IGJvb2wgc2hvdWxkVXNlQ29udGV4dAogICAgIG1fZGF0YSA9IG5ldyBHcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUoY2dDb250ZXh0KTsKICAgICBzZXRQYWludGluZ0Rpc2FibGVkKCFjZ0Nv
bnRleHQpOwogICAgIGlmIChjZ0NvbnRleHQpIHsKLSAgICAgICAgQ0dBZmZpbmVUcmFuc2Zvcm0g
YmFzZURldmljZU1hdHJpeCA9IENHQ29udGV4dEdldFVzZXJTcGFjZVRvRGV2aWNlU3BhY2VUcmFu
c2Zvcm0oY2dDb250ZXh0KTsKLSAgICAgICAgQVNTRVJUKGZhYnMoYmFzZURldmljZU1hdHJpeC5h
KSA9PSBmYWJzKGJhc2VEZXZpY2VNYXRyaXguZCkpOwotICAgICAgICBtX3BpeGVsU25hcHBpbmdG
YWN0b3IgPSBiYXNlRGV2aWNlTWF0cml4LmE7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgICAgICBt
X3N0YXRlLnNob3VsZFVzZUNvbnRleHRDb2xvcnMgPSBzaG91bGRVc2VDb250ZXh0Q29sb3JzOwog
ICAgICAgICBpZiAoc2hvdWxkVXNlQ29udGV4dENvbG9ycykgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggNWY3ZmRlMzYzZWNj
YzhlMmFmY2JkOGE0MzhiMzdhYTU3ZGY2MzE2Mi4uNmFhZTdiNWE2YTMwYzcyZGRiZGE3M2I0NTc5
OGIxZWExOTYzNzYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94TW9kZWxPYmplY3QuY3BwCkBAIC02NTgsNyArNjU4LDcgQEAgdm9pZCBSZW5kZXJCb3hNb2Rl
bE9iamVjdDo6cGFpbnRGaWxsTGF5ZXJFeHRlbmRlZChjb25zdCBQYWludEluZm8mIHBhaW50SW5m
bywgY28KICAgICAgICAgICAgICAgICBjb250ZXh0LT5yZXN0b3JlKCk7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgY29udGV4dC0+ZmlsbFJlY3QocGl4ZWxTbmFw
cGVkRm9yUGFpbnRpbmcocmVjdCwgY29udGV4dC0+cGl4ZWxTbmFwcGluZ0ZhY3RvcigpKSwgYmdD
b2xvciwgc3R5bGUoKS5jb2xvclNwYWNlKCkpOworICAgICAgICAgICAgY29udGV4dC0+ZmlsbFJl
Y3QocGl4ZWxTbmFwcGVkRm9yUGFpbnRpbmcocmVjdCwgZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZh
Y3RvcigpKSwgYmdDb2xvciwgc3R5bGUoKS5jb2xvclNwYWNlKCkpOwogCiAgICAgICAgIHJldHVy
bjsKICAgICB9CkBAIC0yMTE2LDcgKzIxMTYsNyBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0
OjpkcmF3Qm94U2lkZUZyb21QYXRoKEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0LAog
CiAgICAgZ3JhcGhpY3NDb250ZXh0LT5zZXRTdHJva2VTdHlsZShOb1N0cm9rZSk7CiAgICAgZ3Jh
cGhpY3NDb250ZXh0LT5zZXRGaWxsQ29sb3IoY29sb3IsIHN0eWxlLT5jb2xvclNwYWNlKCkpOwot
ICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd1JlY3QocGl4ZWxTbmFwcGVkRm9yUGFpbnRpbmcoYm9y
ZGVyUmVjdCwgZ3JhcGhpY3NDb250ZXh0LT5waXhlbFNuYXBwaW5nRmFjdG9yKCkpKTsKKyAgICBn
cmFwaGljc0NvbnRleHQtPmRyYXdSZWN0KHBpeGVsU25hcHBlZEZvclBhaW50aW5nKGJvcmRlclJl
Y3QsIGRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKSkpOwogfQogCiBzdGF0aWMgdm9pZCBm
aW5kSW5uZXJWZXJ0ZXgoY29uc3QgRmxvYXRQb2ludCYgb3V0ZXJDb3JuZXIsIGNvbnN0IEZsb2F0
UG9pbnQmIGlubmVyQ29ybmVyLCBjb25zdCBGbG9hdFBvaW50JiBjZW50ZXJQb2ludCwgRmxvYXRQ
b2ludCYgcmVzdWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5k
ZXggYmU3ODgwNWQxMWJkM2EyMTRiNDY5Njc4MjVlYjhkN2VkNDIyMjM5NS4uNjIxNDc2MzIwYWM1
NDgwMTc5YmE5MWNkZTAxZTM1MjBiOTRjYmM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuY3BwCkBAIC0xNjYsOCArMTY2LDcgQEAgSW50U2l6ZSBSZW5kZXJJbWFnZTo6
aW1hZ2VTaXplRm9yRXJyb3IoQ2FjaGVkSW1hZ2UqIG5ld0ltYWdlKSBjb25zdAogCiAgICAgSW50
U2l6ZSBpbWFnZVNpemU7CiAgICAgaWYgKG5ld0ltYWdlLT53aWxsUGFpbnRCcm9rZW5JbWFnZSgp
KSB7Ci0gICAgICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yID0gV2ViQ29yZTo6ZGV2aWNlU2Nh
bGVGYWN0b3IoJmZyYW1lKCkpOwotICAgICAgICBzdGQ6OnBhaXI8SW1hZ2UqLCBmbG9hdD4gYnJv
a2VuSW1hZ2VBbmRJbWFnZVNjYWxlRmFjdG9yID0gbmV3SW1hZ2UtPmJyb2tlbkltYWdlKGRldmlj
ZVNjYWxlRmFjdG9yKTsKKyAgICAgICAgc3RkOjpwYWlyPEltYWdlKiwgZmxvYXQ+IGJyb2tlbklt
YWdlQW5kSW1hZ2VTY2FsZUZhY3RvciA9IG5ld0ltYWdlLT5icm9rZW5JbWFnZShkb2N1bWVudCgp
LmRldmljZVNjYWxlRmFjdG9yKCkpOwogICAgICAgICBpbWFnZVNpemUgPSBicm9rZW5JbWFnZUFu
ZEltYWdlU2NhbGVGYWN0b3IuZmlyc3QtPnNpemUoKTsKICAgICAgICAgaW1hZ2VTaXplLnNjYWxl
KDEgLyBicm9rZW5JbWFnZUFuZEltYWdlU2NhbGVGYWN0b3Iuc2Vjb25kKTsKICAgICB9IGVsc2UK
QEAgLTQyMCw5ICs0MTksOCBAQCB2b2lkIFJlbmRlckltYWdlOjpwYWludFJlcGxhY2VkKFBhaW50
SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZgogICAgICAgICAgICAg
UmVmUHRyPEltYWdlPiBpbWFnZSA9IGltYWdlUmVzb3VyY2UoKS5pbWFnZSgpOwogCiAgICAgICAg
ICAgICBpZiAoaW1hZ2VSZXNvdXJjZSgpLmVycm9yT2NjdXJyZWQoKSAmJiAhaW1hZ2UtPmlzTnVs
bCgpICYmIHVzYWJsZVdpZHRoID49IGltYWdlLT53aWR0aCgpICYmIHVzYWJsZUhlaWdodCA+PSBp
bWFnZS0+aGVpZ2h0KCkpIHsKLSAgICAgICAgICAgICAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3Rv
ciA9IFdlYkNvcmU6OmRldmljZVNjYWxlRmFjdG9yKCZmcmFtZSgpKTsKICAgICAgICAgICAgICAg
ICAvLyBDYWxsIGJyb2tlbkltYWdlKCkgZXhwbGljaXRseSB0byBlbnN1cmUgd2UgZ2V0IHRoZSBi
cm9rZW4gaW1hZ2UgaWNvbiBhdCB0aGUgYXBwcm9wcmlhdGUgcmVzb2x1dGlvbi4KLSAgICAgICAg
ICAgICAgICBzdGQ6OnBhaXI8SW1hZ2UqLCBmbG9hdD4gYnJva2VuSW1hZ2VBbmRJbWFnZVNjYWxl
RmFjdG9yID0gaW1hZ2VSZXNvdXJjZSgpLmNhY2hlZEltYWdlKCktPmJyb2tlbkltYWdlKGRldmlj
ZVNjYWxlRmFjdG9yKTsKKyAgICAgICAgICAgICAgICBzdGQ6OnBhaXI8SW1hZ2UqLCBmbG9hdD4g
YnJva2VuSW1hZ2VBbmRJbWFnZVNjYWxlRmFjdG9yID0gaW1hZ2VSZXNvdXJjZSgpLmNhY2hlZElt
YWdlKCktPmJyb2tlbkltYWdlKGRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKSk7CiAgICAg
ICAgICAgICAgICAgaW1hZ2UgPSBicm9rZW5JbWFnZUFuZEltYWdlU2NhbGVGYWN0b3IuZmlyc3Q7
CiAgICAgICAgICAgICAgICAgSW50U2l6ZSBpbWFnZVNpemUgPSBpbWFnZS0+c2l6ZSgpOwogICAg
ICAgICAgICAgICAgIGltYWdlU2l6ZS5zY2FsZSgxIC8gYnJva2VuSW1hZ2VBbmRJbWFnZVNjYWxl
RmFjdG9yLnNlY29uZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApp
bmRleCAyYTg2N2UyYWYzYWVhZTQxMTZjYTYyNGIwNzIzNWQzY2M2ZDg3MWI4Li5lNmNjZmFlY2Fk
YzgxZmRlZWYzYTQ0NjVlNGJlOTFjNTUyNWE3MzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKQEAgLTM0MDAsMTEgKzM0MDAsOSBAQCB2b2lkIFJlbmRlckxheWVy
OjpwYWludFNjcm9sbENvcm5lcihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFBv
aW50JiBwYQogCiB2b2lkIFJlbmRlckxheWVyOjpkcmF3UGxhdGZvcm1SZXNpemVySW1hZ2UoR3Jh
cGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXlvdXRSZWN0JiByZXNpemVyQ29ybmVyUmVj
dCkKIHsKLSAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IFdlYkNvcmU6OmRldmljZVNjYWxl
RmFjdG9yKCZyZW5kZXJlcigpLmZyYW1lKCkpOwotCiAgICAgUmVmUHRyPEltYWdlPiByZXNpemVD
b3JuZXJJbWFnZTsKICAgICBJbnRTaXplIGNvcm5lclJlc2l6ZXJTaXplOwotICAgIGlmIChkZXZp
Y2VTY2FsZUZhY3RvciA+PSAyKSB7CisgICAgaWYgKHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5kZXZp
Y2VTY2FsZUZhY3RvcigpID49IDIpIHsKICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChJbWFn
ZSosIHJlc2l6ZUNvcm5lckltYWdlSGlSZXMsIChJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2Uo
InRleHRBcmVhUmVzaXplQ29ybmVyQDJ4IikubGVha1JlZigpKSk7CiAgICAgICAgIHJlc2l6ZUNv
cm5lckltYWdlID0gcmVzaXplQ29ybmVySW1hZ2VIaVJlczsKICAgICAgICAgY29ybmVyUmVzaXpl
clNpemUgPSByZXNpemVDb3JuZXJJbWFnZS0+c2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAyOTM5ZWI0MTlmYjdjM2Q1MzE0YjVkOWMxZGI4ODE0
NzMzMDYxMGE0Li41OTUwZjYxMGI3ZDJkZDA2YTZmZTI0NTkwNDIzZTIzYWYxZjE5ZTkyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtNzM4LDcgKzczOCw3
IEBAIHZvaWQgUmVuZGVyT2JqZWN0OjpkcmF3TGluZUZvckJveFNpZGUoR3JhcGhpY3NDb250ZXh0
KiBncmFwaGljc0NvbnRleHQsIExheW91dFVuCiAgICAgaWYgKGJvcmRlclN0eWxlID09IERPVUJM
RSAmJiB0aGlja25lc3MgPCAzKQogICAgICAgICBib3JkZXJTdHlsZSA9IFNPTElEOwogCi0gICAg
ZmxvYXQgcGl4ZWxTbmFwcGluZ0ZhY3RvciA9IGdyYXBoaWNzQ29udGV4dC0+cGl4ZWxTbmFwcGlu
Z0ZhY3RvcigpOworICAgIGZsb2F0IHBpeGVsU25hcHBpbmdGYWN0b3IgPSBkb2N1bWVudCgpLmRl
dmljZVNjYWxlRmFjdG9yKCk7CiAgICAgLy8gRklYTUU6IFdlIHJlYWxseSB3b3VsZCBsaWtlIHRo
aXMgY2hlY2sgdG8gYmUgYW4gQVNTRVJUIGFzIHdlIGRvbid0IHdhbnQgdG8gZHJhdyBlbXB0eSBi
b3JkZXJzLiBIb3dldmVyCiAgICAgLy8gbm90aGluZyBndWFyYW50ZWVzIHRoYXQgdGhlIGZvbGxv
d2luZyByZWN1cnNpdmUgY2FsbHMgdG8gZHJhd0xpbmVGb3JCb3hTaWRlIHdpbGwgaGF2ZSBub24t
bnVsbCBkaW1lbnNpb25zLgogICAgIC8vIEZJWE1FOiBmbG9vcmluZyBpcyBhIHRlbXBvcmFyeSBz
b2x1dGlvbiB1bnRpbCB0aGUgZGV2aWNlIHBpeGVsIHNuYXBwaW5nIGlzIGFkZGVkIGhlcmUgZm9y
IGFsbCBib3JkZXIgdHlwZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW0KaW5kZXggZGZkYzJhMTU4Y2NiOGY2Mzk2OGFkOTdhNGQ2MWIxZWUyMjJkZmNiNi4uOGU0
ZmMyNzU5MzRkM2Y2YjdkMTVhYzBlMzVmMGQyOTE4MTk4NmM0NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpAQCAtMTA0MiwxMCArMTA0Miw3IEBAIGJvb2wg
UmVuZGVyVGhlbWVNYWM6OnBhaW50UHJvZ3Jlc3NCYXIoUmVuZGVyT2JqZWN0KiByZW5kZXJPYmpl
Y3QsIGNvbnN0IFBhaW50SW5mCiAgICAgZWxzZQogICAgICAgICB0cmFja0luZm8ua2luZCA9IHJl
bmRlclByb2dyZXNzLT5wb3NpdGlvbigpIDwgMCA/IGtUaGVtZU1lZGl1bUluZGV0ZXJtaW5hdGVC
YXIgOiBrVGhlbWVNZWRpdW1Qcm9ncmVzc0JhcjsKIAotICAgIGZsb2F0IGRldmljZVNjYWxlRmFj
dG9yID0gMTsKLSAgICBpZiAoUGFnZSogcGFnZSA9IHJlbmRlck9iamVjdC0+ZnJhbWUoKS5wYWdl
KCkpCi0gICAgICAgIGRldmljZVNjYWxlRmFjdG9yID0gcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3Io
KTsKLQorICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yID0gcmVuZGVyT2JqZWN0LT5kb2N1bWVu
dCgpLmRldmljZVNjYWxlRmFjdG9yKCk7CiAgICAgdHJhY2tJbmZvLmJvdW5kcyA9IEludFJlY3Qo
SW50UG9pbnQoKSwgaW5mbGF0ZWRSZWN0LnNpemUoKSk7CiAgICAgdHJhY2tJbmZvLm1pbiA9IDA7
CiAgICAgdHJhY2tJbmZvLm1heCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8U0ludDMyPjo6bWF4KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0Nv
bnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250
ZXh0LmNwcAppbmRleCBmYjkxZGZiMTUyZGNmZDU4ZGY5ZmY1YjFmOTNlZjk5MWE5YmI5ZTMyLi5l
ZGI0OWE3YTBmZjA5ZjhmOGJjM2JjNmIzODQ5MzJiNWFjNzM3MWQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTIx
OCwxMCArMjE4LDcgQEAgdm9pZCBTVkdSZW5kZXJpbmdDb250ZXh0OjpjYWxjdWxhdGVUcmFuc2Zv
cm1hdGlvblRvT3V0ZXJtb3N0Q29vcmRpbmF0ZVN5c3RlbShjb24KIHsKICAgICBhYnNvbHV0ZVRy
YW5zZm9ybSA9IGN1cnJlbnRDb250ZW50VHJhbnNmb3JtYXRpb24oKTsKIAotICAgIGZsb2F0IGRl
dmljZVNjYWxlRmFjdG9yID0gMTsKLSAgICBpZiAoUGFnZSogcGFnZSA9IHJlbmRlcmVyLmRvY3Vt
ZW50KCkucGFnZSgpKQotICAgICAgICBkZXZpY2VTY2FsZUZhY3RvciA9IHBhZ2UtPmRldmljZVNj
YWxlRmFjdG9yKCk7Ci0KKyAgICBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciA9IHJlbmRlcmVyLmRv
Y3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKTsKICAgICAvLyBXYWxrIHVwIHRoZSByZW5kZXIg
dHJlZSwgYWNjdW11bGF0aW5nIFNWRyB0cmFuc2Zvcm1zLgogICAgIGNvbnN0IFJlbmRlck9iamVj
dCogYW5jZXN0b3IgPSAmcmVuZGVyZXI7CiAgICAgd2hpbGUgKGFuY2VzdG9yKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmNwcApp
bmRleCBhYjhhYjg1MTEzZWI5ZjE2Y2U5NjlkODQ0NzYzMmZjYzUyMjgzZWIwLi5mNTY2MDAxMjZi
Y2Q0NDNkNGViYTc3NWIzMzU2MjczMjM1ZTk2ZGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5jcHAKQEAgLTIwOCw3ICsyMDgs
OCBAQCBib29sIEZpbmRDb250cm9sbGVyOjpnZXRGaW5kSW5kaWNhdG9yQml0bWFwQW5kUmVjdChG
cmFtZSogZnJhbWUsIFNoYXJlYWJsZUJpdG1hcAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICBJbnRTaXplIGJhY2tpbmdTdG9yZVNpemUgPSBzZWxlY3Rpb25SZWN0LnNpemUoKTsKLSAgICBi
YWNraW5nU3RvcmVTaXplLnNjYWxlKG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+ZGV2aWNlU2NhbGVG
YWN0b3IoKSk7CisgICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgPSBtX3dlYlBhZ2UtPmNvcmVQ
YWdlKCktPmRldmljZVNjYWxlRmFjdG9yKCk7CisgICAgYmFja2luZ1N0b3JlU2l6ZS5zY2FsZShk
ZXZpY2VTY2FsZUZhY3Rvcik7CiAKICAgICAvLyBDcmVhdGUgYSBiYWNraW5nIHN0b3JlIGFuZCBw
YWludCB0aGUgZmluZCBpbmRpY2F0b3IgdGV4dCBpbnRvIGl0LgogICAgIFJlZlB0cjxTaGFyZWFi
bGVCaXRtYXA+IGZpbmRJbmRpY2F0b3JUZXh0QmFja2luZ1N0b3JlID0gU2hhcmVhYmxlQml0bWFw
OjpjcmVhdGVTaGFyZWFibGUoYmFja2luZ1N0b3JlU2l6ZSwgU2hhcmVhYmxlQml0bWFwOjpTdXBw
b3J0c0FscGhhKTsKQEAgLTIxNiw3ICsyMTcsNyBAQCBib29sIEZpbmRDb250cm9sbGVyOjpnZXRG
aW5kSW5kaWNhdG9yQml0bWFwQW5kUmVjdChGcmFtZSogZnJhbWUsIFNoYXJlYWJsZUJpdG1hcAog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBhdXRvIGdyYXBoaWNzQ29udGV4dCA9IGZpbmRJ
bmRpY2F0b3JUZXh0QmFja2luZ1N0b3JlLT5jcmVhdGVHcmFwaGljc0NvbnRleHQoKTsKLSAgICBn
cmFwaGljc0NvbnRleHQtPnNjYWxlKEZsb2F0U2l6ZShtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPmRl
dmljZVNjYWxlRmFjdG9yKCksIG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+ZGV2aWNlU2NhbGVGYWN0
b3IoKSkpOworICAgIGdyYXBoaWNzQ29udGV4dC0+c2NhbGUoRmxvYXRTaXplKGRldmljZVNjYWxl
RmFjdG9yLCBkZXZpY2VTY2FsZUZhY3RvcikpOwogCiAgICAgSW50UmVjdCBwYWludFJlY3QgPSBz
ZWxlY3Rpb25SZWN0OwogICAgIHBhaW50UmVjdC5tb3ZlKGZyYW1lLT52aWV3KCktPmZyYW1lUmVj
dCgpLngoKSwgZnJhbWUtPnZpZXcoKS0+ZnJhbWVSZWN0KCkueSgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224831</attachid>
            <date>2014-02-20 20:51:04 -0800</date>
            <delta_ts>2014-02-20 22:26:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-129137-20140220205109.patch</filename>
            <type>text/plain</type>
            <size>16946</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0NDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTllMTc5ZDRhNGNjN2Yz
OTJlNGU1YjMzMDFlNzViNzM4NzY4OTNlZi4uYmU0ZTM2ZWIzOWIxNTk4ZWI1ZThhNDhhNzg5NWMy
MGY3MjQ2ZmMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE0LTAyLTIwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHJlZHVuZGFudCBk
ZXZpY2VTY2FsZUZhY3RvcigpIGZ1bmN0aW9ucyBhbmQgbWFrZSBjYWxsZXJzIHVzZSBEb2N1bWVu
dDo6ZGV2aWNlU2NhbGVGYWN0b3IoKSB3aGVuIGFjY2Vzc2libGUuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjkxMzcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisK
KyAgICAgICAgKiBlZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RGVsZXRlQnV0dG9uQ29udHJvbGxlcjo6Y3JlYXRlRGVsZXRpb25VSSk6CisgICAg
ICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKiBwYWdlL1BhZ2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0OjpHcmFwaGljc0NvbnRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nn
L0dyYXBoaWNzQ29udGV4dENHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50Rmls
bExheWVyRXh0ZW5kZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6
OmRyYXdCb3hTaWRlRnJvbVBhdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6aW1hZ2VTaXplRm9yRXJyb3IpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
cjo6ZHJhd1BsYXRmb3JtUmVzaXplckltYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6ZHJhd0xpbmVGb3JC
b3hTaWRlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW06CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6cGFpbnRQcm9ncmVzc0Jhcik6CisgICAgICAgICog
cmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1JlbmRlcmluZ0NvbnRleHQ6OmNhbGN1bGF0ZVRyYW5zZm9ybWF0aW9uVG9PdXRlcm1vc3RD
b29yZGluYXRlU3lzdGVtKToKKwogMjAxNC0wMi0yMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgTW92ZSB0aGUgaW1hZ2UgY29udHJvbHMgc2V0dGluZyB0byBT
ZXR0aW5ncy5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDYyODRlZDBhMjdiNzZkYWY4NDM0ZjBkZTU2NzhhZmVj
NmNhM2NiOGUuLjRlNGU0NzM0YTIxYzkyMWY0MjIxNzUxYTIxOTBjZGVkNTRmMGZiMjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0wMi0yMCAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSByZWR1bmRhbnQgZGV2aWNlU2NhbGVGYWN0b3Io
KSBmdW5jdGlvbnMgYW5kIG1ha2UgY2FsbGVycyB1c2UgRG9jdW1lbnQ6OmRldmljZVNjYWxlRmFj
dG9yKCkgd2hlbiBhY2Nlc3NpYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTI5MTM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RmluZENv
bnRyb2xsZXI6OmdldEZpbmRJbmRpY2F0b3JCaXRtYXBBbmRSZWN0KToKKwogMjAxNC0wMi0yMCAg
RW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEFTU0VSVCBvbiB0
b3VjaGVzIGNhbGxiYWNrcyBhZnRlciByMTY0NDA5IG9uIGlPUy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuY3BwCmluZGV4IGE3ODc2OWMzZjMz
YzAwZDFiZWZjNDZiZDVkMDE4YTY5YzJkOTI0YTMuLjgyMGIwYWNlMDQ3OTZmNGM2NDVkNGY4ZmQ3
M2EyNjJiNjAzYTFkNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRl
QnV0dG9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVC
dXR0b25Db250cm9sbGVyLmNwcApAQCAtMjQ1LDkgKzI0NSw4IEBAIHZvaWQgRGVsZXRlQnV0dG9u
Q29udHJvbGxlcjo6Y3JlYXRlRGVsZXRpb25VSSgpCiAgICAgYnV0dG9uLT5zZXRJbmxpbmVTdHls
ZVByb3BlcnR5KENTU1Byb3BlcnR5SGVpZ2h0LCBidXR0b25IZWlnaHQsIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUFgpOwogICAgIGJ1dHRvbi0+c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVZpc2liaWxpdHksIENTU1ZhbHVlVmlzaWJsZSk7CiAKLSAgICBmbG9hdCBkZXZpY2VTY2Fs
ZUZhY3RvciA9IFdlYkNvcmU6OmRldmljZVNjYWxlRmFjdG9yKCZtX2ZyYW1lKTsKICAgICBSZWZQ
dHI8SW1hZ2U+IGJ1dHRvbkltYWdlOwotICAgIGlmIChkZXZpY2VTY2FsZUZhY3RvciA+PSAyKQor
ICAgIGlmIChtX3RhcmdldC0+ZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpID49IDIpCiAg
ICAgICAgIGJ1dHRvbkltYWdlID0gSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKCJkZWxldGVC
dXR0b25AMngiKTsKICAgICBlbHNlCiAgICAgICAgIGJ1dHRvbkltYWdlID0gSW1hZ2U6OmxvYWRQ
bGF0Zm9ybVJlc291cmNlKCJkZWxldGVCdXR0b24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGNh
NTI1Nzk1ZjYyMTdmNjgxMGFkZGI5NDBmMDc5ZmNjYTkyNDNkYTUuLjIxNzk1YWJiNzkwNTFiZGRk
MDE4MmE2NTAzNjg3N2E3MDg5NDgzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTE0LDE2ICsx
MTQsNiBAQCBzdGF0aWMgdm9pZCBuZXR3b3JrU3RhdGVDaGFuZ2VkKGJvb2wgaXNPbkxpbmUpCiAg
ICAgICAgIGZyYW1lc1tpXS0+ZG9jdW1lbnQoKS0+ZGlzcGF0Y2hXaW5kb3dFdmVudChFdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZSwgZmFsc2UsIGZhbHNlKSk7CiB9CiAKLWZsb2F0IGRldmljZVNjYWxl
RmFjdG9yKEZyYW1lKiBmcmFtZSkKLXsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4g
MTsKLSAgICBQYWdlKiBwYWdlID0gZnJhbWUtPnBhZ2UoKTsKLSAgICBpZiAoIXBhZ2UpCi0gICAg
ICAgIHJldHVybiAxOwotICAgIHJldHVybiBwYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpOwotfQot
CiBzdGF0aWMgY29uc3QgVmlld1N0YXRlOjpGbGFncyBQYWdlSW5pdGlhbFZpZXdTdGF0ZSA9IFZp
ZXdTdGF0ZTo6SXNWaXNpYmxlIHwgVmlld1N0YXRlOjpJc0luV2luZG93OwogCiBQYWdlOjpQYWdl
KFBhZ2VDbGllbnRzJiBwYWdlQ2xpZW50cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTZmMTE4ZDE3Mjk1
MzQ1OWJjNmI1NzgxNDZlNDJiMmIwMzYxMjEyNi4uYTcxNWZlZmQ2ZGNkMmFmM2NlODRiNTVkZjcz
ZmZhMzQ5MzdjNzNmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTExMCw4ICsxMTAsNiBAQCB0eXBlZGVm
IHVpbnQ2NF90IExpbmtIYXNoOwogCiBlbnVtIEZpbmREaXJlY3Rpb24geyBGaW5kRGlyZWN0aW9u
Rm9yd2FyZCwgRmluZERpcmVjdGlvbkJhY2t3YXJkIH07CiAKLWZsb2F0IGRldmljZVNjYWxlRmFj
dG9yKEZyYW1lKik7Ci0KIGNsYXNzIFBhZ2UgOiBwdWJsaWMgU3VwcGxlbWVudGFibGU8UGFnZT4g
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2UpOwogICAgIGZyaWVuZCBjbGFzcyBTZXR0
aW5nczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQuY3BwCmluZGV4IDI5Y2YxODYwZjQ1YTcwZmExN2E3MmI5OTYxMjViOWQwNTc0Y2Q0
ZjcuLjZiNGQ3YTlhM2Q3MmVkYzMyNWE5OTRlNzljZjYxYTFmMDE5NzY1YTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcApA
QCAtODAsNyArODAsNiBAQCBwcml2YXRlOgogR3JhcGhpY3NDb250ZXh0OjpHcmFwaGljc0NvbnRl
eHQoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqIHBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KQogICAg
IDogbV91cGRhdGluZ0NvbnRyb2xUaW50cyhmYWxzZSkKICAgICAsIG1fdHJhbnNwYXJlbmN5Q291
bnQoMCkKLSAgICAsIG1fcGl4ZWxTbmFwcGluZ0ZhY3RvcigxKQogewogICAgIHBsYXRmb3JtSW5p
dChwbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCk7CiB9CkBAIC04OCw3ICs4Nyw2IEBAIEdyYXBoaWNz
Q29udGV4dDo6R3JhcGhpY3NDb250ZXh0KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KiBwbGF0Zm9y
bUdyYXBoaWNzQ29udGV4CiBHcmFwaGljc0NvbnRleHQ6OkdyYXBoaWNzQ29udGV4dChQbGF0Zm9y
bUdyYXBoaWNzQ29udGV4dCogcGxhdGZvcm1HcmFwaGljc0NvbnRleHQsIGJvb2wgc2hvdWxkVXNl
Q29udGV4dENvbG9ycykKICAgICA6IG1fdXBkYXRpbmdDb250cm9sVGludHMoZmFsc2UpCiAgICAg
LCBtX3RyYW5zcGFyZW5jeUNvdW50KDApCi0gICAgLCBtX3BpeGVsU25hcHBpbmdGYWN0b3IoMSkK
IHsKICAgICBwbGF0Zm9ybUluaXQocGxhdGZvcm1HcmFwaGljc0NvbnRleHQsIHNob3VsZFVzZUNv
bnRleHRDb2xvcnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQuaAppbmRleCAyZjY5MDQ1NmU2NmRhNmQ5YTExMzg0MmE3OGI5NjUw
ZDk3OWNhYzUwLi5hOWJmNWQwMDRjZTExYmFjYTcwNzE5NjIwNDZkOTgzNGNlMmUwZmU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQu
aApAQCAtNDQ0LDEyICs0NDQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGVudW0g
SW5jbHVkZURldmljZVNjYWxlIHsgRGVmaW5pdGVseUluY2x1ZGVEZXZpY2VTY2FsZSwgUG9zc2li
bHlJbmNsdWRlRGV2aWNlU2NhbGUgfTsKICAgICAgICAgQWZmaW5lVHJhbnNmb3JtIGdldENUTShJ
bmNsdWRlRGV2aWNlU2NhbGUgaW5jbHVkZVNjYWxlID0gUG9zc2libHlJbmNsdWRlRGV2aWNlU2Nh
bGUpIGNvbnN0OwogCi0jaWYgUExBVEZPUk0oV0lOKQotICAgICAgICBmbG9hdCBwaXhlbFNuYXBw
aW5nRmFjdG9yKCkgY29uc3QgeyByZXR1cm4gMS4wOyB9Ci0jZWxzZQotICAgICAgICBmbG9hdCBw
aXhlbFNuYXBwaW5nRmFjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9waXhlbFNuYXBwaW5nRmFjdG9y
OyB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRSgzRF9SRU5ERVJJTkcpICYmIFVTRShURVhUVVJFX01B
UFBFUikKICAgICAgICAgLy8gVGhpcyBpcyBuZWVkZWQgd2hlbiB1c2luZyBhY2NlbGVyYXRlZC1j
b21wb3NpdGluZyBpbiBzb2Z0d2FyZSBtb2RlLCBsaWtlIGluIFRleHR1cmVNYXBwZXIuCiAgICAg
ICAgIHZvaWQgY29uY2F0M0RUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmKTsK
QEAgLTU4Miw3ICs1NzYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFZlY3RvcjxH
cmFwaGljc0NvbnRleHRTdGF0ZT4gbV9zdGFjazsKICAgICAgICAgYm9vbCBtX3VwZGF0aW5nQ29u
dHJvbFRpbnRzOwogICAgICAgICB1bnNpZ25lZCBtX3RyYW5zcGFyZW5jeUNvdW50OwotICAgICAg
ICBmbG9hdCBtX3BpeGVsU25hcHBpbmdGYWN0b3I7CiAgICAgfTsKIAogICAgIGNsYXNzIEdyYXBo
aWNzQ29udGV4dFN0YXRlU2F2ZXIgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCmluZGV4
IDRlYjk2ZjMyNjc1NzU3MjE3NzQ0NjVlY2EwMmVmMzU1YjAzZDg4OTQuLjFkZGY2MGYyNTc1NGQx
NTI4YWIwY2Q0Yjk1OWNmZDNlNTJlNGVkNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5j
cHAKQEAgLTE3Nyw3ICsxNzcsNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc2hhZG93QW5kU3Ryb2tl
Q3VycmVudENhaXJvUGF0aChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQpCiBHcmFwaGljc0NvbnRl
eHQ6OkdyYXBoaWNzQ29udGV4dChjYWlyb190KiBjcikKICAgICA6IG1fdXBkYXRpbmdDb250cm9s
VGludHMoZmFsc2UpCiAgICAgLCBtX3RyYW5zcGFyZW5jeUNvdW50KDApCi0gICAgLCBtX3BpeGVs
U25hcHBpbmdGYWN0b3IoMSkKIHsKICAgICBtX2RhdGEgPSBuZXcgR3JhcGhpY3NDb250ZXh0UGxh
dGZvcm1Qcml2YXRlVG9wbGV2ZWwobmV3IFBsYXRmb3JtQ29udGV4dENhaXJvKGNyKSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0Nv
bnRleHRDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGlj
c0NvbnRleHRDRy5jcHAKaW5kZXggNmEzN2RkMDY2NTNlNzE2NjgyMTNiZDdjYmVjNTUzYmE2MmJj
MmY0OS4uMjRkMTFmOTA1MjM3NTY0ODViZWYzNzU1Mzc3NmZkOGQxMjE5NmU5ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29u
dGV4dENHLmNwcApAQCAtMTI1LDkgKzEyNSw2IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpwbGF0
Zm9ybUluaXQoQ0dDb250ZXh0UmVmIGNnQ29udGV4dCwgYm9vbCBzaG91bGRVc2VDb250ZXh0CiAg
ICAgbV9kYXRhID0gbmV3IEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShjZ0NvbnRleHQp
OwogICAgIHNldFBhaW50aW5nRGlzYWJsZWQoIWNnQ29udGV4dCk7CiAgICAgaWYgKGNnQ29udGV4
dCkgewotICAgICAgICBDR0FmZmluZVRyYW5zZm9ybSBiYXNlRGV2aWNlTWF0cml4ID0gQ0dDb250
ZXh0R2V0VXNlclNwYWNlVG9EZXZpY2VTcGFjZVRyYW5zZm9ybShjZ0NvbnRleHQpOwotICAgICAg
ICBBU1NFUlQoZmFicyhiYXNlRGV2aWNlTWF0cml4LmEpID09IGZhYnMoYmFzZURldmljZU1hdHJp
eC5kKSk7Ci0gICAgICAgIG1fcGl4ZWxTbmFwcGluZ0ZhY3RvciA9IGJhc2VEZXZpY2VNYXRyaXgu
YTsKICNpZiBQTEFURk9STShJT1MpCiAgICAgICAgIG1fc3RhdGUuc2hvdWxkVXNlQ29udGV4dENv
bG9ycyA9IHNob3VsZFVzZUNvbnRleHRDb2xvcnM7CiAgICAgICAgIGlmIChzaG91bGRVc2VDb250
ZXh0Q29sb3JzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94TW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcAppbmRleCA1ZjdmZGUzNjNlY2NjOGUyYWZjYmQ4YTQzOGIzN2FhNTdkZjYz
MTYyLi42YWFlN2I1YTZhMzBjNzJkZGJkYTczYjQ1Nzk4YjFlYTE5NjM3NjEzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTY1
OCw3ICs2NTgsNyBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0OjpwYWludEZpbGxMYXllckV4
dGVuZGVkKGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjbwogICAgICAgICAgICAgICAgIGNv
bnRleHQtPnJlc3RvcmUoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlCi0gICAgICAg
ICAgICBjb250ZXh0LT5maWxsUmVjdChwaXhlbFNuYXBwZWRGb3JQYWludGluZyhyZWN0LCBjb250
ZXh0LT5waXhlbFNuYXBwaW5nRmFjdG9yKCkpLCBiZ0NvbG9yLCBzdHlsZSgpLmNvbG9yU3BhY2Uo
KSk7CisgICAgICAgICAgICBjb250ZXh0LT5maWxsUmVjdChwaXhlbFNuYXBwZWRGb3JQYWludGlu
ZyhyZWN0LCBkb2N1bWVudCgpLmRldmljZVNjYWxlRmFjdG9yKCkpLCBiZ0NvbG9yLCBzdHlsZSgp
LmNvbG9yU3BhY2UoKSk7CiAKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTIxMTYsNyArMjEx
Niw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OmRyYXdCb3hTaWRlRnJvbVBhdGgoR3Jh
cGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsCiAKICAgICBncmFwaGljc0NvbnRleHQtPnNl
dFN0cm9rZVN0eWxlKE5vU3Ryb2tlKTsKICAgICBncmFwaGljc0NvbnRleHQtPnNldEZpbGxDb2xv
cihjb2xvciwgc3R5bGUtPmNvbG9yU3BhY2UoKSk7Ci0gICAgZ3JhcGhpY3NDb250ZXh0LT5kcmF3
UmVjdChwaXhlbFNuYXBwZWRGb3JQYWludGluZyhib3JkZXJSZWN0LCBncmFwaGljc0NvbnRleHQt
PnBpeGVsU25hcHBpbmdGYWN0b3IoKSkpOworICAgIGdyYXBoaWNzQ29udGV4dC0+ZHJhd1JlY3Qo
cGl4ZWxTbmFwcGVkRm9yUGFpbnRpbmcoYm9yZGVyUmVjdCwgZG9jdW1lbnQoKS5kZXZpY2VTY2Fs
ZUZhY3RvcigpKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGZpbmRJbm5lclZlcnRleChjb25zdCBGbG9h
dFBvaW50JiBvdXRlckNvcm5lciwgY29uc3QgRmxvYXRQb2ludCYgaW5uZXJDb3JuZXIsIGNvbnN0
IEZsb2F0UG9pbnQmIGNlbnRlclBvaW50LCBGbG9hdFBvaW50JiByZXN1bHQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCBiZTc4ODA1ZDExYmQzYTIxNGI0Njk2
NzgyNWViOGQ3ZWQ0MjIyMzk1Li42MjE0NzYzMjBhYzU0ODAxNzliYTkxY2RlMDFlMzUyMGI5NGNi
YzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTE2Niw4
ICsxNjYsNyBAQCBJbnRTaXplIFJlbmRlckltYWdlOjppbWFnZVNpemVGb3JFcnJvcihDYWNoZWRJ
bWFnZSogbmV3SW1hZ2UpIGNvbnN0CiAKICAgICBJbnRTaXplIGltYWdlU2l6ZTsKICAgICBpZiAo
bmV3SW1hZ2UtPndpbGxQYWludEJyb2tlbkltYWdlKCkpIHsKLSAgICAgICAgZmxvYXQgZGV2aWNl
U2NhbGVGYWN0b3IgPSBXZWJDb3JlOjpkZXZpY2VTY2FsZUZhY3RvcigmZnJhbWUoKSk7Ci0gICAg
ICAgIHN0ZDo6cGFpcjxJbWFnZSosIGZsb2F0PiBicm9rZW5JbWFnZUFuZEltYWdlU2NhbGVGYWN0
b3IgPSBuZXdJbWFnZS0+YnJva2VuSW1hZ2UoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgICAgICBz
dGQ6OnBhaXI8SW1hZ2UqLCBmbG9hdD4gYnJva2VuSW1hZ2VBbmRJbWFnZVNjYWxlRmFjdG9yID0g
bmV3SW1hZ2UtPmJyb2tlbkltYWdlKGRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKSk7CiAg
ICAgICAgIGltYWdlU2l6ZSA9IGJyb2tlbkltYWdlQW5kSW1hZ2VTY2FsZUZhY3Rvci5maXJzdC0+
c2l6ZSgpOwogICAgICAgICBpbWFnZVNpemUuc2NhbGUoMSAvIGJyb2tlbkltYWdlQW5kSW1hZ2VT
Y2FsZUZhY3Rvci5zZWNvbmQpOwogICAgIH0gZWxzZQpAQCAtNDIwLDkgKzQxOSw4IEBAIHZvaWQg
UmVuZGVySW1hZ2U6OnBhaW50UmVwbGFjZWQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExh
eW91dFBvaW50JiBwYWludE9mCiAgICAgICAgICAgICBSZWZQdHI8SW1hZ2U+IGltYWdlID0gaW1h
Z2VSZXNvdXJjZSgpLmltYWdlKCk7CiAKICAgICAgICAgICAgIGlmIChpbWFnZVJlc291cmNlKCku
ZXJyb3JPY2N1cnJlZCgpICYmICFpbWFnZS0+aXNOdWxsKCkgJiYgdXNhYmxlV2lkdGggPj0gaW1h
Z2UtPndpZHRoKCkgJiYgdXNhYmxlSGVpZ2h0ID49IGltYWdlLT5oZWlnaHQoKSkgewotICAgICAg
ICAgICAgICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yID0gV2ViQ29yZTo6ZGV2aWNlU2NhbGVG
YWN0b3IoJmZyYW1lKCkpOwogICAgICAgICAgICAgICAgIC8vIENhbGwgYnJva2VuSW1hZ2UoKSBl
eHBsaWNpdGx5IHRvIGVuc3VyZSB3ZSBnZXQgdGhlIGJyb2tlbiBpbWFnZSBpY29uIGF0IHRoZSBh
cHByb3ByaWF0ZSByZXNvbHV0aW9uLgotICAgICAgICAgICAgICAgIHN0ZDo6cGFpcjxJbWFnZSos
IGZsb2F0PiBicm9rZW5JbWFnZUFuZEltYWdlU2NhbGVGYWN0b3IgPSBpbWFnZVJlc291cmNlKCku
Y2FjaGVkSW1hZ2UoKS0+YnJva2VuSW1hZ2UoZGV2aWNlU2NhbGVGYWN0b3IpOworICAgICAgICAg
ICAgICAgIHN0ZDo6cGFpcjxJbWFnZSosIGZsb2F0PiBicm9rZW5JbWFnZUFuZEltYWdlU2NhbGVG
YWN0b3IgPSBpbWFnZVJlc291cmNlKCkuY2FjaGVkSW1hZ2UoKS0+YnJva2VuSW1hZ2UoZG9jdW1l
bnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpKTsKICAgICAgICAgICAgICAgICBpbWFnZSA9IGJyb2tl
bkltYWdlQW5kSW1hZ2VTY2FsZUZhY3Rvci5maXJzdDsKICAgICAgICAgICAgICAgICBJbnRTaXpl
IGltYWdlU2l6ZSA9IGltYWdlLT5zaXplKCk7CiAgICAgICAgICAgICAgICAgaW1hZ2VTaXplLnNj
YWxlKDEgLyBicm9rZW5JbWFnZUFuZEltYWdlU2NhbGVGYWN0b3Iuc2Vjb25kKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDJhODY3ZTJhZjNhZWFlNDExNmNh
NjI0YjA3MjM1ZDNjYzZkODcxYjguLmU2Y2NmYWVjYWRjODFmZGVlZjNhNDQ2NWU0YmU5MWM1NTI1
YTczNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMzQw
MCwxMSArMzQwMCw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50U2Nyb2xsQ29ybmVyKEdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgSW50UG9pbnQmIHBhCiAKIHZvaWQgUmVuZGVyTGF5
ZXI6OmRyYXdQbGF0Zm9ybVJlc2l6ZXJJbWFnZShHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IExheW91dFJlY3QmIHJlc2l6ZXJDb3JuZXJSZWN0KQogewotICAgIGZsb2F0IGRldmljZVNj
YWxlRmFjdG9yID0gV2ViQ29yZTo6ZGV2aWNlU2NhbGVGYWN0b3IoJnJlbmRlcmVyKCkuZnJhbWUo
KSk7Ci0KICAgICBSZWZQdHI8SW1hZ2U+IHJlc2l6ZUNvcm5lckltYWdlOwogICAgIEludFNpemUg
Y29ybmVyUmVzaXplclNpemU7Ci0gICAgaWYgKGRldmljZVNjYWxlRmFjdG9yID49IDIpIHsKKyAg
ICBpZiAocmVuZGVyZXIoKS5kb2N1bWVudCgpLmRldmljZVNjYWxlRmFjdG9yKCkgPj0gMikgewog
ICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEltYWdlKiwgcmVzaXplQ29ybmVySW1hZ2VIaVJl
cywgKEltYWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZSgidGV4dEFyZWFSZXNpemVDb3JuZXJAMngi
KS5sZWFrUmVmKCkpKTsKICAgICAgICAgcmVzaXplQ29ybmVySW1hZ2UgPSByZXNpemVDb3JuZXJJ
bWFnZUhpUmVzOwogICAgICAgICBjb3JuZXJSZXNpemVyU2l6ZSA9IHJlc2l6ZUNvcm5lckltYWdl
LT5zaXplKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4
IDI5MzllYjQxOWZiN2MzZDUzMTRiNWQ5YzFkYjg4MTQ3MzMwNjEwYTQuLjU5NTBmNjEwYjdkMmRk
MDZhNmZlMjQ1OTA0MjNlMjNhZjFmMTllOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwCkBAIC03MzgsNyArNzM4LDcgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OmRy
YXdMaW5lRm9yQm94U2lkZShHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCwgTGF5b3V0
VW4KICAgICBpZiAoYm9yZGVyU3R5bGUgPT0gRE9VQkxFICYmIHRoaWNrbmVzcyA8IDMpCiAgICAg
ICAgIGJvcmRlclN0eWxlID0gU09MSUQ7CiAKLSAgICBmbG9hdCBwaXhlbFNuYXBwaW5nRmFjdG9y
ID0gZ3JhcGhpY3NDb250ZXh0LT5waXhlbFNuYXBwaW5nRmFjdG9yKCk7CisgICAgZmxvYXQgcGl4
ZWxTbmFwcGluZ0ZhY3RvciA9IGRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKTsKICAgICAv
LyBGSVhNRTogV2UgcmVhbGx5IHdvdWxkIGxpa2UgdGhpcyBjaGVjayB0byBiZSBhbiBBU1NFUlQg
YXMgd2UgZG9uJ3Qgd2FudCB0byBkcmF3IGVtcHR5IGJvcmRlcnMuIEhvd2V2ZXIKICAgICAvLyBu
b3RoaW5nIGd1YXJhbnRlZXMgdGhhdCB0aGUgZm9sbG93aW5nIHJlY3Vyc2l2ZSBjYWxscyB0byBk
cmF3TGluZUZvckJveFNpZGUgd2lsbCBoYXZlIG5vbi1udWxsIGRpbWVuc2lvbnMuCiAgICAgLy8g
RklYTUU6IGZsb29yaW5nIGlzIGEgdGVtcG9yYXJ5IHNvbHV0aW9uIHVudGlsIHRoZSBkZXZpY2Ug
cGl4ZWwgc25hcHBpbmcgaXMgYWRkZWQgaGVyZSBmb3IgYWxsIGJvcmRlciB0eXBlcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCBkZmRjMmExNThjY2I4
ZjYzOTY4YWQ5N2E0ZDYxYjFlZTIyMmRmY2I2Li44ZTRmYzI3NTkzNGQzZjZiN2QxNWFjMGUzNWYw
ZDI5MTgxOTg2YzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lm1tCkBAIC0xMDQyLDEwICsxMDQyLDcgQEAgYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRQcm9n
cmVzc0JhcihSZW5kZXJPYmplY3QqIHJlbmRlck9iamVjdCwgY29uc3QgUGFpbnRJbmYKICAgICBl
bHNlCiAgICAgICAgIHRyYWNrSW5mby5raW5kID0gcmVuZGVyUHJvZ3Jlc3MtPnBvc2l0aW9uKCkg
PCAwID8ga1RoZW1lTWVkaXVtSW5kZXRlcm1pbmF0ZUJhciA6IGtUaGVtZU1lZGl1bVByb2dyZXNz
QmFyOwogCi0gICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgPSAxOwotICAgIGlmIChQYWdlKiBw
YWdlID0gcmVuZGVyT2JqZWN0LT5mcmFtZSgpLnBhZ2UoKSkKLSAgICAgICAgZGV2aWNlU2NhbGVG
YWN0b3IgPSBwYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpOwotCisgICAgZmxvYXQgZGV2aWNlU2Nh
bGVGYWN0b3IgPSByZW5kZXJPYmplY3QtPmRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0b3IoKTsK
ICAgICB0cmFja0luZm8uYm91bmRzID0gSW50UmVjdChJbnRQb2ludCgpLCBpbmZsYXRlZFJlY3Qu
c2l6ZSgpKTsKICAgICB0cmFja0luZm8ubWluID0gMDsKICAgICB0cmFja0luZm8ubWF4ID0gc3Rk
OjpudW1lcmljX2xpbWl0czxTSW50MzI+OjptYXgoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IGZiOTFkZmIxNTJk
Y2ZkNThkZjlmZjViMWY5M2VmOTkxYTliYjllMzIuLmVkYjQ5YTdhMGZmMDlmOGY4YmMzYmM2YjM4
NDkzMmI1YWM3MzcxZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtMjE4LDEwICsyMTgsNyBAQCB2b2lkIFNWR1Jl
bmRlcmluZ0NvbnRleHQ6OmNhbGN1bGF0ZVRyYW5zZm9ybWF0aW9uVG9PdXRlcm1vc3RDb29yZGlu
YXRlU3lzdGVtKGNvbgogewogICAgIGFic29sdXRlVHJhbnNmb3JtID0gY3VycmVudENvbnRlbnRU
cmFuc2Zvcm1hdGlvbigpOwogCi0gICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgPSAxOwotICAg
IGlmIChQYWdlKiBwYWdlID0gcmVuZGVyZXIuZG9jdW1lbnQoKS5wYWdlKCkpCi0gICAgICAgIGRl
dmljZVNjYWxlRmFjdG9yID0gcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKLQorICAgIGZsb2F0
IGRldmljZVNjYWxlRmFjdG9yID0gcmVuZGVyZXIuZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3Rv
cigpOwogICAgIC8vIFdhbGsgdXAgdGhlIHJlbmRlciB0cmVlLCBhY2N1bXVsYXRpbmcgU1ZHIHRy
YW5zZm9ybXMuCiAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiBhbmNlc3RvciA9ICZyZW5kZXJlcjsK
ICAgICB3aGlsZSAoYW5jZXN0b3IpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuY3BwCmluZGV4IGFiOGFiODUxMTNlYjlmMTZjZTk2
OWQ4NDQ3NjMyZmNjNTIyODNlYjAuLmY1NjYwMDEyNmJjZDQ0M2Q0ZWJhNzc1YjMzNTYyNzMyMzVl
OTZkYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5k
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Zp
bmRDb250cm9sbGVyLmNwcApAQCAtMjA4LDcgKzIwOCw4IEBAIGJvb2wgRmluZENvbnRyb2xsZXI6
OmdldEZpbmRJbmRpY2F0b3JCaXRtYXBBbmRSZWN0KEZyYW1lKiBmcmFtZSwgU2hhcmVhYmxlQml0
bWFwCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIEludFNpemUgYmFja2luZ1N0b3JlU2l6
ZSA9IHNlbGVjdGlvblJlY3Quc2l6ZSgpOwotICAgIGJhY2tpbmdTdG9yZVNpemUuc2NhbGUobV93
ZWJQYWdlLT5jb3JlUGFnZSgpLT5kZXZpY2VTY2FsZUZhY3RvcigpKTsKKyAgICBmbG9hdCBkZXZp
Y2VTY2FsZUZhY3RvciA9IG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+ZGV2aWNlU2NhbGVGYWN0b3Io
KTsKKyAgICBiYWNraW5nU3RvcmVTaXplLnNjYWxlKGRldmljZVNjYWxlRmFjdG9yKTsKIAogICAg
IC8vIENyZWF0ZSBhIGJhY2tpbmcgc3RvcmUgYW5kIHBhaW50IHRoZSBmaW5kIGluZGljYXRvciB0
ZXh0IGludG8gaXQuCiAgICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gZmluZEluZGljYXRvclRl
eHRCYWNraW5nU3RvcmUgPSBTaGFyZWFibGVCaXRtYXA6OmNyZWF0ZVNoYXJlYWJsZShiYWNraW5n
U3RvcmVTaXplLCBTaGFyZWFibGVCaXRtYXA6OlN1cHBvcnRzQWxwaGEpOwpAQCAtMjE2LDcgKzIx
Nyw3IEBAIGJvb2wgRmluZENvbnRyb2xsZXI6OmdldEZpbmRJbmRpY2F0b3JCaXRtYXBBbmRSZWN0
KEZyYW1lKiBmcmFtZSwgU2hhcmVhYmxlQml0bWFwCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAog
ICAgIGF1dG8gZ3JhcGhpY3NDb250ZXh0ID0gZmluZEluZGljYXRvclRleHRCYWNraW5nU3RvcmUt
PmNyZWF0ZUdyYXBoaWNzQ29udGV4dCgpOwotICAgIGdyYXBoaWNzQ29udGV4dC0+c2NhbGUoRmxv
YXRTaXplKG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSwgbV93ZWJQ
YWdlLT5jb3JlUGFnZSgpLT5kZXZpY2VTY2FsZUZhY3RvcigpKSk7CisgICAgZ3JhcGhpY3NDb250
ZXh0LT5zY2FsZShGbG9hdFNpemUoZGV2aWNlU2NhbGVGYWN0b3IsIGRldmljZVNjYWxlRmFjdG9y
KSk7CiAKICAgICBJbnRSZWN0IHBhaW50UmVjdCA9IHNlbGVjdGlvblJlY3Q7CiAgICAgcGFpbnRS
ZWN0Lm1vdmUoZnJhbWUtPnZpZXcoKS0+ZnJhbWVSZWN0KCkueCgpLCBmcmFtZS0+dmlldygpLT5m
cmFtZVJlY3QoKS55KCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>