<?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>236436</bug_id>
          
          <creation_ts>2022-02-10 03:39:41 -0800</creation_ts>
          <short_desc>[GTK][WPE] Improve device detection in the GbmDevice</short_desc>
          <delta_ts>2022-03-09 04:25:57 -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>ANGLE</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>237649</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alejandro G. Castro">alex</reporter>
          <assigned_to name="Alejandro G. Castro">alex</assigned_to>
          <cc>annulen</cc>
    
    <cc>clord</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1839584</commentid>
    <comment_count>0</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-02-10 03:39:41 -0800</bug_when>
    <thetext>Currently we are using the filename directly, we need to use drm to detect the devices in a more flexible way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839592</commentid>
    <comment_count>1</comment_count>
      <attachid>451514</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-02-10 03:57:11 -0800</bug_when>
    <thetext>Created attachment 451514
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839595</commentid>
    <comment_count>2</comment_count>
      <attachid>451514</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2022-02-10 04:24:46 -0800</bug_when>
    <thetext>Comment on attachment 451514
Patch

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

Much better! However, this currently includes an invalid memory write error - that needs to be addressed before commit and I think the other comment should also be addressed to avoid possible errors in future. You can assume my r+ with those fixed (but feel free to ping me for review if you aren&apos;t in a rush :))

&gt; Source/WebCore/platform/graphics/gbm/GBMDevice.cpp:74
&gt; +    memset(devices, 0, sizeof(drmDevicePtr) * 64);

This * 64 is incorrect, sizeof(drmDevicePtr) should be correct on its own.

&gt; Source/WebCore/platform/graphics/gbm/GBMDevice.cpp:76
&gt; +    int numDevices = drmGetDevices2(0, devices, 64);

Rather than putting 64 here, it would be good to use an array length macro (something of the form `#define ARRAY_LENGTH(x) (sizeof(x) / sizeof((x)[0]))` - I expect we have something like this already in WTF?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839621</commentid>
    <comment_count>3</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-02-10 06:15:39 -0800</bug_when>
    <thetext>Thanks for the feedbak!

(In reply to Chris Lord from comment #2)
&gt; Comment on attachment 451514 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=451514&amp;action=review
&gt; 
&gt; Much better! However, this currently includes an invalid memory write error
&gt; - that needs to be addressed before commit and I think the other comment
&gt; should also be addressed to avoid possible errors in future. You can assume
&gt; my r+ with those fixed (but feel free to ping me for review if you aren&apos;t in
&gt; a rush :))
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gbm/GBMDevice.cpp:74
&gt; &gt; +    memset(devices, 0, sizeof(drmDevicePtr) * 64);
&gt; 
&gt; This * 64 is incorrect, sizeof(drmDevicePtr) should be correct on its own.
&gt; 

Oops, yep :-).

&gt; &gt; Source/WebCore/platform/graphics/gbm/GBMDevice.cpp:76
&gt; &gt; +    int numDevices = drmGetDevices2(0, devices, 64);
&gt; 
&gt; Rather than putting 64 here, it would be good to use an array length macro
&gt; (something of the form `#define ARRAY_LENGTH(x) (sizeof(x) /
&gt; sizeof((x)[0]))` - I expect we have something like this already in WTF?)

Ok, I&apos;ll try to find something

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839641</commentid>
    <comment_count>4</comment_count>
      <attachid>451514</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2022-02-10 07:26:40 -0800</bug_when>
    <thetext>Comment on attachment 451514
Patch

&gt; &gt; Source/WebCore/platform/graphics/gbm/GBMDevice.cpp:74
&gt; &gt; +    memset(devices, 0, sizeof(drmDevicePtr) * 64);
&gt; 
&gt; This * 64 is incorrect, sizeof(drmDevicePtr) should be correct on its own.

Whoops, we just spoke about this and I wanted to add here - I misread this and what&apos;s there is fine, but `sizeof(devices)` along with the other suggested change would make this patch more robust. Changing my r- to an r+ to reflect that mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839803</commentid>
    <comment_count>5</comment_count>
      <attachid>451569</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-02-10 10:48:42 -0800</bug_when>
    <thetext>Created attachment 451569
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839934</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-10 14:18:52 -0800</bug_when>
    <thetext>Committed r289575 (247092@main): &lt;https://commits.webkit.org/247092@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451569.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1839937</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-10 14:19:34 -0800</bug_when>
    <thetext>&lt;rdar://problem/88777827&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841186</commentid>
    <comment_count>8</comment_count>
      <attachid>451569</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-02-14 03:32:07 -0800</bug_when>
    <thetext>Comment on attachment 451569
Patch for landing

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

&gt; Source/WebCore/platform/graphics/gbm/GBMDevice.cpp:58
&gt; +    int fd = getDeviceFd();

This file descriptor, when valid, gets leaked. gbm_device doesn&apos;t own it.

&gt; Source/WebCore/platform/graphics/gbm/GBMDevice.cpp:71
&gt; +int GBMDevice::getDeviceFd()

This should be a static method. Better yet, if GBMDevice is kept as thread-specific, this file descriptor could instead be global, and the drmGetDevices2 lookup would then only be done once, not for every initialization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1841208</commentid>
    <comment_count>9</comment_count>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-02-14 04:57:01 -0800</bug_when>
    <thetext>(In reply to Zan Dobersek from comment #8)
&gt; Comment on attachment 451569 [details]
&gt; Patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=451569&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gbm/GBMDevice.cpp:58
&gt; &gt; +    int fd = getDeviceFd();
&gt; 
&gt; This file descriptor, when valid, gets leaked. gbm_device doesn&apos;t own it.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gbm/GBMDevice.cpp:71
&gt; &gt; +int GBMDevice::getDeviceFd()
&gt; 
&gt; This should be a static method. Better yet, if GBMDevice is kept as
&gt; thread-specific, this file descriptor could instead be global, and the
&gt; drmGetDevices2 lookup would then only be done once, not for every
&gt; initialization.

Thanks for the comments! I&apos;ll address this and some other proposals about the drm device to choose in a following patch! :-)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451514</attachid>
            <date>2022-02-10 03:57:11 -0800</date>
            <delta_ts>2022-02-10 10:48:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236436-20220210125710.patch</filename>
            <type>text/plain</type>
            <size>10321</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzUyMmRhMmQ4ZmYyNWJk
NmZiY2Y0NjNkN2M0OGFjYTJmYzRiZjM3Ni4uNjI4NjAxY2NiYmY0ODlmMzIwOWE4ZGZkZjc1YTUw
OTIxNjMwMjNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIyLTAyLTEwICBBbGVq
YW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0g
SW1wcm92ZSBkZXZpY2UgZGV0ZWN0aW9uIGluIHRoZSBHYm1EZXZpY2UKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjQzNgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBEUk0gbGlicmFyeSB0byBkZXRl
Y3QgdGhlIGRldmljZSBsb2NhdGlvbiB0byBjcmVhdGUgdGhlIGdibQorICAgICAgICBkZXZpY2Ug
b2JqZWN0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gY2hhbmdlIGluIGJlaGF2aW91ci4K
KworICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOiBBZGQgZ2JtIGFuZCBkcm0gaW5jbHVkZSBk
aXJlY3RvcmllcyBhbmQKKyAgICAgICAgbGlicmFyaWVzIHRvIHRoZSBjb21waWxhdGlvbi4KKyAg
ICAgICAgKiBQbGF0Zm9ybVdQRS5jbWFrZTogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oOiBBdm9pZCBzdG9yaW5nCisgICAg
ICAgIGEgcG9pbnRlciB0byB0aGUgZ2RiIGRldmljZSwgdG8gbWFrZSBzdXJlIGl0IGlzIGp1c3Qg
aW4gb25lIHBsYWNlLAorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dibS9HQk1EZXZpY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R0JNRGV2aWNlOjpHQk1EZXZpY2UpOiBVc2UgdGhlIG5l
dyBnZXREZXZpY2VGZCBmdW5jdGlvbgorICAgICAgICB0byBvcGVuIHRoZSBkZXZpY2UgZmlsZS4g
V2UganVzdCBjcmVhdGUgdGhlIGdibSBkZXZpY2UgaGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkdC
TURldmljZTo6Z2V0RGV2aWNlRmQpOiBBZGRlZC4gVXNlcyBkcm0gbGlicmFyeSB0byBsb29rCisg
ICAgICAgIGZvciB0aGUgZGV2aWNlIGZpbGUgbmFtZSBhbmQgb3BlbnMgaXQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZ2JtL0dCTURldmljZS5oOiBEaXR0bworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpHcmFwaGljc0Nv
bnRleHRHTEFOR0xFKTogUmVtb3ZlCisgICAgICAgIHRoZSBkaXJlY3QgcG9pbnRlciB0byB0aGUg
Z2RiIGRldmljZSwganVzdCByZXF1ZXN0IGl0IHdoZW4gcmVxdWlyZWQuCisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpFR0xJbWFnZUJhY2tpbmc6OkVHTEltYWdlQmFj
a2luZyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6
RUdMSW1hZ2VCYWNraW5nOjpyZXNldCk6IERpdHRvLgorCiAyMDIyLTAyLTA3ICBOaWtvbGFzIFpp
bW1lcm1hbm4gIDxuemltbWVybWFubkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtMQlNFXSBTdXBw
cmVzcyBub24tZm9yZWdyb3VuZCBwYWludCBwaGFzZXMgZm9yIFNWRyBzaGFwZXMgJiBpbWFnZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dl
YkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMGM2YjFkNzAzM2M1YjljZDdhNzFiZDYyMTYw
NDZkNjg5YmRmMmQ5Mi4uNTFmY2ZjM2MxNWFhN2M1MzVkMDZiMjNmZjFlZmRjOTZjN2E3ZmRjZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNl
L1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTEyOCw2ICsxMjgsMTcgQEAgaWYgKFVTRV9P
UEVOR0wpCiAgICAgKQogZW5kaWYgKCkKIAoraWYgKFVTRV9BTkdMRV9XRUJHTCkKKyAgICBsaXN0
KEFQUEVORCBXZWJDb3JlX1NZU1RFTV9JTkNMVURFX0RJUkVDVE9SSUVTCisgICAgICAgICR7TElC
RFJNX0lOQ0xVREVfRElSfQorICAgICAgICAke0dCTV9JTkNMVURFX0RJUn0KKyAgICApCisgICAg
bGlzdChBUFBFTkQgV2ViQ29yZV9MSUJSQVJJRVMKKyAgICAgICAgJHtMSUJEUk1fTElCUkFSSUVT
fQorICAgICAgICAke0dCTV9MSUJSQVJJRVN9CisgICAgKQorZW5kaWYgKCkKKwogaWYgKEVOQUJM
RV9XQVlMQU5EX1RBUkdFVCkKICAgICBsaXN0KEFQUEVORCBXZWJDb3JlX1BSSVZBVEVfRlJBTUVX
T1JLX0hFQURFUlMKICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mvd2F5bGFuZC9QbGF0Zm9ybURp
c3BsYXlXYXlsYW5kLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV1BFLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1XUEUuY21ha2UKaW5kZXggZTMzODMxN2YzMmVj
OGRlODhhMTM2MzQzMmZlMDhiYWZlNGE4M2Y4OS4uMDNlOTZhNzJlMWU3NjMyNTU2NDZhOTYzMDNm
YWQzODk1NzdlYzExNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1XUEUuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1XUEUuY21ha2UKQEAgLTk0LDYgKzk0LDE3
IEBAIGlmIChVU0VfT1BFTlhSKQogICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfU1lTVEVNX0lOQ0xV
REVfRElSRUNUT1JJRVMgJHtPUEVOWFJfSU5DTFVERV9ESVJTfSkKIGVuZGlmICgpCiAKK2lmIChV
U0VfQU5HTEVfV0VCR0wpCisgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9TWVNURU1fSU5DTFVERV9E
SVJFQ1RPUklFUworICAgICAgICAke0xJQkRSTV9JTkNMVURFX0RJUn0KKyAgICAgICAgJHtHQk1f
SU5DTFVERV9ESVJ9CisgICAgKQorICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfTElCUkFSSUVTCisg
ICAgICAgICR7TElCRFJNX0xJQlJBUklFU30KKyAgICAgICAgJHtHQk1fTElCUkFSSUVTfQorICAg
ICkKK2VuZGlmICgpCisKIGlmIChVU0VfQVRTUEkpCiAgICAgc2V0KFdlYkNvcmVfQXRzcGlJbnRl
cmZhY2VGaWxlcwogICAgICAgICAke1dFQkNPUkVfRElSfS9hY2Nlc3NpYmlsaXR5L2F0c3BpL3ht
bC9BY2Nlc3NpYmxlLnhtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oCmluZGV4IGI0ZjE3
ZTQ5MmQ3MDljNGVhZGE5ZDVhOTBhYzI3MWQyNjc1Njk1MjkuLmY1ZWU5MzEwMGYxNDFhNjM5YjRj
MjdkYmY3Y2YyNDVkZGFhZjUyNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmgKQEAg
LTQ2MCw3ICs0NjAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgY2xhc3MgRUdMSW1hZ2VCYWNraW5nIHsK
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6Ci0gICAgICAgIEVHTElt
YWdlQmFja2luZyhnYm1fZGV2aWNlKiwgUGxhdGZvcm1HcmFwaGljc0NvbnRleHRHTERpc3BsYXkp
OworICAgICAgICBFR0xJbWFnZUJhY2tpbmcoUGxhdGZvcm1HcmFwaGljc0NvbnRleHRHTERpc3Bs
YXkpOwogICAgICAgICB+RUdMSW1hZ2VCYWNraW5nKCk7CiAKICAgICAgICAgYm9vbCByZXNldChp
bnQgd2lkdGgsIGludCBoZWlnaHQsIGJvb2wgaGFzQWxwaGEpOwpAQCAtNDczLDcgKzQ3Myw2IEBA
IHByb3RlY3RlZDoKICAgICBwcml2YXRlOgogICAgICAgICB2b2lkIHJlbGVhc2VSZXNvdXJjZXMo
KTsKIAotICAgICAgICBnYm1fZGV2aWNlKiBtX2RldmljZTsKICAgICAgICAgUGxhdGZvcm1HcmFw
aGljc0NvbnRleHRHTERpc3BsYXkgbV9kaXNwbGF5OwogCiAgICAgICAgIGdibV9ibyogbV9CTyB7
IG51bGxwdHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dibS9HQk1EZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2Jt
L0dCTURldmljZS5jcHAKaW5kZXggMjI4NTI0YWJjZmEyZTYwNjExZDIwNjM3OGU2OGM1MTI2ZjI0
ZWVhYy4uNzgwNjEzMTRmZThkYzQyODUwNzBkMzk4YTgwOGVlMmYwOTZiMmYyMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2JtL0dCTURldmljZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2JtL0dCTURldmljZS5jcHAKQEAg
LTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlIDxnYm0uaD4KICNpbmNsdWRlIDxtdXRleD4KICNpbmNs
dWRlIDx3dGYvVGhyZWFkU3BlY2lmaWMuaD4KKyNpbmNsdWRlIDx4Zjg2ZHJtLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtNTQsMTggKzU1LDkgQEAgY29uc3QgR0JNRGV2aWNlJiBHQk1E
ZXZpY2U6OmdldCgpCiAKIEdCTURldmljZTo6R0JNRGV2aWNlKCkKIHsKLSAgICBpbnQgZmQ7Ci0g
ICAgY2hhciBkZXZpY2VOYW1lWzMwXTsKLSAgICBmb3IgKGludCBpID0gMTI4OyBpIDwgMTkyOyAr
K2kpIHsKLSAgICAgICAgc25wcmludGYoZGV2aWNlTmFtZSwgc2l6ZW9mKGRldmljZU5hbWUpLCAi
L2Rldi9kcmkvcmVuZGVyRCVkIiwgaSk7Ci0gICAgICAgIGZkID0gb3BlbihkZXZpY2VOYW1lLCBP
X1JEV1IgfCBPX0NMT0VYRUMpOwotICAgICAgICBpZiAoZmQgPj0gMCkgewotICAgICAgICAgICAg
bV9kZXZpY2UgPSBnYm1fY3JlYXRlX2RldmljZShmZCk7Ci0gICAgICAgICAgICBpZiAobV9kZXZp
Y2UpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjbG9zZShmZCk7Ci0gICAg
ICAgIH0KLSAgICB9CisgICAgaW50IGZkID0gZ2V0RGV2aWNlRmQoKTsKKyAgICBpZiAoZmQgPj0g
MCkKKyAgICAgICAgbV9kZXZpY2UgPSBnYm1fY3JlYXRlX2RldmljZShmZCk7CiB9CiAKIEdCTURl
dmljZTo6fkdCTURldmljZSgpCkBAIC03Niw2ICs2OCwyOSBAQCBHQk1EZXZpY2U6On5HQk1EZXZp
Y2UoKQogICAgIH0KIH0KIAoraW50IEdCTURldmljZTo6Z2V0RGV2aWNlRmQoKQoreworICAgIGRy
bURldmljZVB0ciBkZXZpY2VzWzY0XTsKKyAgICBtZW1zZXQoZGV2aWNlcywgMCwgc2l6ZW9mKGRy
bURldmljZVB0cikgKiA2NCk7CisKKyAgICBpbnQgbnVtRGV2aWNlcyA9IGRybUdldERldmljZXMy
KDAsIGRldmljZXMsIDY0KTsKKyAgICBpZiAobnVtRGV2aWNlcyA8PTApCisgICAgICAgIHJldHVy
biAtMTsKKworICAgIGludCBmZCA9IC0xOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnVtRGV2
aWNlczsgKytpKSB7CisgICAgICAgIGRybURldmljZSogZGV2aWNlID0gZGV2aWNlc1tpXTsKKyAg
ICAgICAgaWYgKCEoZGV2aWNlLT5hdmFpbGFibGVfbm9kZXMgJiAoMSA8PCBEUk1fTk9ERV9QUklN
QVJZKSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBmZCA9IG9wZW4oZGV2aWNl
LT5ub2Rlc1tEUk1fTk9ERV9QUklNQVJZXSwgT19SRFdSKTsKKyAgICAgICAgaWYgKGZkIDwgMCkK
KyAgICAgICAgICAgIGNvbnRpbnVlOworICAgIH0KKworICAgIHJldHVybiBmZDsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKEFOR0xFKSAmJiBVU0UoTklDT1NJ
QSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dibS9HQk1E
ZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dibS9HQk1EZXZpY2Uu
aAppbmRleCAyNTBlMDdmYzlkN2Q2MTZjODRjMWFjYzc4NjQ5N2ViZTk0OWQ5NzZlLi41Y2U1MmZl
YTc2ODI1ZDNjN2EwNGIzZmIzMjM4M2RmNWNjNTRlYWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR0JNRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2JtL0dCTURldmljZS5oCkBAIC00NCw2ICs0NCw4IEBAIHB1
YmxpYzoKICAgICBzdHJ1Y3QgZ2JtX2RldmljZSogZGV2aWNlKCkgY29uc3QgeyByZXR1cm4gbV9k
ZXZpY2U7IH0KIAogcHJpdmF0ZToKKyAgICBpbnQgZ2V0RGV2aWNlRmQoKTsKKwogICAgIHN0cnVj
dCBnYm1fZGV2aWNlKiBtX2RldmljZSB7IG51bGxwdHIgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRl
eHR1cmVNYXBwZXJBTkdMRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyQU5HTEUuY3BwCmluZGV4IDBiZWRm
NTkyYWY1N2M5YTM4YWRiZjIxZGRhYmQ2NmRhNjMzZGFhNjguLjdjYzJiMTBiZjQ2YTIyNWJiZGYx
MmIxM2NlODM5NzczYjRhZmM2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29u
dGV4dEdMVGV4dHVyZU1hcHBlckFOR0xFLmNwcApAQCAtNTcsMTAgKzU3LDEwIEBAIEdyYXBoaWNz
Q29udGV4dEdMQU5HTEU6OkdyYXBoaWNzQ29udGV4dEdMQU5HTEUoR3JhcGhpY3NDb250ZXh0R0xB
dHRyaWJ1dGVzIGF0dHJpCiAgICAgbV9uaWNvc2lhUGlwZSA9IG1ha2VVbmlxdWU8Tmljb3NpYTo6
R0NHTEFOR0xFUGlwZT4oKnRoaXMpOwogCiAgICAgY29uc3QgYXV0byYgZ2JtRGV2aWNlID0gR0JN
RGV2aWNlOjpnZXQoKTsKLSAgICBpZiAoYXV0byogZGV2aWNlID0gZ2JtRGV2aWNlLmRldmljZSgp
KSB7Ci0gICAgICAgIG1fdGV4dHVyZUJhY2tpbmcgPSBtYWtlVW5pcXVlPEVHTEltYWdlQmFja2lu
Zz4oZGV2aWNlLCBwbGF0Zm9ybURpc3BsYXkoKSk7Ci0gICAgICAgIG1fY29tcG9zaXRvclRleHR1
cmVCYWNraW5nID0gbWFrZVVuaXF1ZTxFR0xJbWFnZUJhY2tpbmc+KGRldmljZSwgcGxhdGZvcm1E
aXNwbGF5KCkpOwotICAgICAgICBtX2ludGVybWVkaWF0ZVRleHR1cmVCYWNraW5nID0gbWFrZVVu
aXF1ZTxFR0xJbWFnZUJhY2tpbmc+KGRldmljZSwgcGxhdGZvcm1EaXNwbGF5KCkpOworICAgIGlm
IChnYm1EZXZpY2UuZGV2aWNlKCkpIHsKKyAgICAgICAgbV90ZXh0dXJlQmFja2luZyA9IG1ha2VV
bmlxdWU8RUdMSW1hZ2VCYWNraW5nPihwbGF0Zm9ybURpc3BsYXkoKSk7CisgICAgICAgIG1fY29t
cG9zaXRvclRleHR1cmVCYWNraW5nID0gbWFrZVVuaXF1ZTxFR0xJbWFnZUJhY2tpbmc+KHBsYXRm
b3JtRGlzcGxheSgpKTsKKyAgICAgICAgbV9pbnRlcm1lZGlhdGVUZXh0dXJlQmFja2luZyA9IG1h
a2VVbmlxdWU8RUdMSW1hZ2VCYWNraW5nPihwbGF0Zm9ybURpc3BsYXkoKSk7CiAgICAgfQogI2Vs
c2UKICAgICBtX3RleG1hcExheWVyID0gbWFrZVVuaXF1ZTxUZXh0dXJlTWFwcGVyR0NHTFBsYXRm
b3JtTGF5ZXI+KCp0aGlzKTsKQEAgLTEyNCw5ICsxMjQsOCBAQCBHcmFwaGljc0NvbnRleHRHTEFO
R0xFOjpHcmFwaGljc0NvbnRleHRHTEFOR0xFKEdyYXBoaWNzQ29udGV4dEdMQXR0cmlidXRlcyBh
dHRyaQogfQogCiAjaWYgVVNFKE5JQ09TSUEpCi1HcmFwaGljc0NvbnRleHRHTEFOR0xFOjpFR0xJ
bWFnZUJhY2tpbmc6OkVHTEltYWdlQmFja2luZyhnYm1fZGV2aWNlKiBkZXZpY2UsIFBsYXRmb3Jt
R3JhcGhpY3NDb250ZXh0R0xEaXNwbGF5IGRpc3BsYXkpCi0gICAgOiBtX2RldmljZShkZXZpY2Up
Ci0gICAgLCBtX2Rpc3BsYXkoZGlzcGxheSkKK0dyYXBoaWNzQ29udGV4dEdMQU5HTEU6OkVHTElt
YWdlQmFja2luZzo6RUdMSW1hZ2VCYWNraW5nKFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0R0xEaXNw
bGF5IGRpc3BsYXkpCisgICAgOiBtX2Rpc3BsYXkoZGlzcGxheSkKIHsKIH0KIApAQCAtMTcyLDcg
KzE3MSw4IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6RUdMSW1hZ2VCYWNraW5nOjpy
ZXNldChpbnQgd2lkdGgsIGludCBoZWlnaHQsIGJvb2wKICAgICBpZiAoIXdpZHRoIHx8ICFoZWln
aHQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1fQk8gPSBnYm1fYm9fY3JlYXRlKG1f
ZGV2aWNlLCB3aWR0aCwgaGVpZ2h0LCBoYXNBbHBoYSA/IEdCTV9CT19GT1JNQVRfQVJHQjg4ODgg
OiBHQk1fQk9fRk9STUFUX1hSR0I4ODg4LCBHQk1fQk9fVVNFX1JFTkRFUklORyk7CisgICAgY29u
c3QgYXV0byYgZ2JtRGV2aWNlID0gR0JNRGV2aWNlOjpnZXQoKTsKKyAgICBtX0JPID0gZ2JtX2Jv
X2NyZWF0ZShnYm1EZXZpY2UuZGV2aWNlKCksIHdpZHRoLCBoZWlnaHQsIGhhc0FscGhhID8gR0JN
X0JPX0ZPUk1BVF9BUkdCODg4OCA6IEdCTV9CT19GT1JNQVRfWFJHQjg4ODgsIEdCTV9CT19VU0Vf
UkVOREVSSU5HKTsKICAgICBpZiAobV9CTykgewogICAgICAgICBtX0ZEID0gZ2JtX2JvX2dldF9m
ZChtX0JPKTsKICAgICAgICAgaWYgKG1fRkQgPj0gMCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL2Nt
YWtlL09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQppbmRl
eCAyMjYwZDUxOTM0N2ZmOGVmNjJiMzJkYTU2NmI0OTZiNjFkNTcyYjEwLi5kMDc0MDU2NzdjYzQ4
N2JjYzljNjRjNzI5MjAwOTFiMWNjODdhMGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc0dUSy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQpAQCAtMzgz
LDYgKzM4Myw5IEBAIGVuZGlmICgpCiAKIGlmIChVU0VfQU5HTEVfV0VCR0wpCiAgICAgU0VUX0FO
RF9FWFBPU0VfVE9fQlVJTEQoVVNFX0FOR0xFIFRSVUUpCisKKyAgICBmaW5kX3BhY2thZ2UoR0JN
IFJFUVVJUkVEKQorICAgIGZpbmRfcGFja2FnZShMaWJEUk0gUkVRVUlSRUQpCiBlbmRpZiAoKQog
CiBpZiAoRU5BQkxFX1NQRUxMQ0hFQ0spCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9u
c1dQRS5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCmluZGV4IDc5YjQ2YjIw
YzBjYTQ1NTM2Nzc3ZGNlNzAxOGM4NjE5Yzc5MDY0NTIuLjkwMzgxNzBmMDY4NTIwNzlkNGMyNmRh
YzYyMTBmODdlZGZlNTVkMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNt
YWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCkBAIC0xNzYsNiArMTc2LDkg
QEAgZW5kaWYgKCkKIAogaWYgKFVTRV9BTkdMRV9XRUJHTCkKICAgICBTRVRfQU5EX0VYUE9TRV9U
T19CVUlMRChVU0VfQU5HTEUgVFJVRSkKKworICAgIGZpbmRfcGFja2FnZShHQk0gUkVRVUlSRUQp
CisgICAgZmluZF9wYWNrYWdlKExpYkRSTSBSRVFVSVJFRCkKIGVuZGlmICgpCiAKIGlmIChVU0Vf
SlBFR1hMKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGQ4NjEwMjlj
OGM5MDg3ZTViYjExZDc3OTA5N2YxNWMzMjY3ZDEzMTIuLjgzNTg4MTk3MmMyODMxZTRhNTExOTI5
NzUzMzQ2NjAyZmNhZWNhNGEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAyMi0wMi0xMCAgQWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIEltcHJvdmUgZGV2aWNlIGRldGVjdGlv
biBpbiB0aGUgR2JtRGV2aWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzY0MzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlOiBTZWFyY2ggZm9yIGRy
bSBhbmQgZ2JtIGxpYnJhcmllcworICAgICAgICB3aGVuIGNvbXBpbGluZyBXZWJHTCBBTkdMRSBz
dXBwb3J0LgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlOiBEaXR0by4K
KwogMjAyMi0wMi0wMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgog
CiAgICAgICAgIFR3byBib3BvbW9mbyB0b25lIG1hcmtzIGFyZSBub3QgbW92ZWQgdG8gdGhlIGNv
cnJlY3QgcGxhY2UgaW4gdmVydGljYWwgdGV4dCB3aXRoIGEgcGFydGljdWxhciBib3BvbW9mbyBm
b250Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451569</attachid>
            <date>2022-02-10 10:48:42 -0800</date>
            <delta_ts>2022-02-10 14:18:55 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-236436-20220210194841.patch</filename>
            <type>text/plain</type>
            <size>10326</size>
            <attacher name="Alejandro G. Castro">alex</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzUyMmRhMmQ4ZmYyNWJk
NmZiY2Y0NjNkN2M0OGFjYTJmYzRiZjM3Ni4uYWQyMWQzZTJjYTMxNzYzNGE5NWZjYzhjMDA4NDJi
NWZmYjIyNWRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIyLTAyLTEwICBBbGVq
YW5kcm8gRy4gQ2FzdHJvICA8YWxleEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0g
SW1wcm92ZSBkZXZpY2UgZGV0ZWN0aW9uIGluIHRoZSBHYm1EZXZpY2UKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjQzNgorCisgICAgICAgIFJldmll
d2VkIGJ5IENocmlzIExvcmQuCisKKyAgICAgICAgVXNlIERSTSBsaWJyYXJ5IHRvIGRldGVjdCB0
aGUgZGV2aWNlIGxvY2F0aW9uIHRvIGNyZWF0ZSB0aGUgZ2JtCisgICAgICAgIGRldmljZSBvYmpl
Y3QuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4gYmVoYXZpb3VyLgorCisg
ICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6IEFkZCBnYm0gYW5kIGRybSBpbmNsdWRlIGRpcmVj
dG9yaWVzIGFuZAorICAgICAgICBsaWJyYXJpZXMgdG8gdGhlIGNvbXBpbGF0aW9uLgorICAgICAg
ICAqIFBsYXRmb3JtV1BFLmNtYWtlOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmg6IEF2b2lkIHN0b3JpbmcKKyAgICAgICAg
YSBwb2ludGVyIHRvIHRoZSBnZGIgZGV2aWNlLCB0byBtYWtlIHN1cmUgaXQgaXMganVzdCBpbiBv
bmUgcGxhY2UsCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ2JtL0dCTURldmljZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpHQk1EZXZpY2U6OkdCTURldmljZSk6IFVzZSB0aGUgbmV3IGdl
dERldmljZUZkIGZ1bmN0aW9uCisgICAgICAgIHRvIG9wZW4gdGhlIGRldmljZSBmaWxlLiBXZSBq
dXN0IGNyZWF0ZSB0aGUgZ2JtIGRldmljZSBoZXJlLgorICAgICAgICAoV2ViQ29yZTo6R0JNRGV2
aWNlOjpnZXREZXZpY2VGZCk6IEFkZGVkLiBVc2VzIGRybSBsaWJyYXJ5IHRvIGxvb2sKKyAgICAg
ICAgZm9yIHRoZSBkZXZpY2UgZmlsZSBuYW1lIGFuZCBvcGVucyBpdC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9nYm0vR0JNRGV2aWNlLmg6IERpdHRvCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xFLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OkdyYXBoaWNzQ29udGV4
dEdMQU5HTEUpOiBSZW1vdmUKKyAgICAgICAgdGhlIGRpcmVjdCBwb2ludGVyIHRvIHRoZSBnZGIg
ZGV2aWNlLCBqdXN0IHJlcXVlc3QgaXQgd2hlbiByZXF1aXJlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OkVHTEltYWdlQmFja2luZzo6RUdMSW1hZ2VCYWNraW5n
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpFR0xJ
bWFnZUJhY2tpbmc6OnJlc2V0KTogRGl0dG8uCisKIDIwMjItMDItMDcgIE5pa29sYXMgWmltbWVy
bWFubiAgPG56aW1tZXJtYW5uQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0xCU0VdIFN1cHByZXNz
IG5vbi1mb3JlZ3JvdW5kIHBhaW50IHBoYXNlcyBmb3IgU1ZHIHNoYXBlcyAmIGltYWdlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCAwYzZiMWQ3MDMzYzViOWNkN2E3MWJkNjIxNjA0NmQ2
ODliZGYyZDkyLi41MWZjZmMzYzE1YWE3YzUzNWQwNmIyM2ZmMWVmZGM5NmM3YTdmZGNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtMTI4LDYgKzEyOCwxNyBAQCBpZiAoVVNFX09QRU5H
TCkKICAgICApCiBlbmRpZiAoKQogCitpZiAoVVNFX0FOR0xFX1dFQkdMKQorICAgIGxpc3QoQVBQ
RU5EIFdlYkNvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAgJHtMSUJEUk1f
SU5DTFVERV9ESVJ9CisgICAgICAgICR7R0JNX0lOQ0xVREVfRElSfQorICAgICkKKyAgICBsaXN0
KEFQUEVORCBXZWJDb3JlX0xJQlJBUklFUworICAgICAgICAke0xJQkRSTV9MSUJSQVJJRVN9Cisg
ICAgICAgICR7R0JNX0xJQlJBUklFU30KKyAgICApCitlbmRpZiAoKQorCiBpZiAoRU5BQkxFX1dB
WUxBTkRfVEFSR0VUKQogICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktf
SEVBREVSUwogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy93YXlsYW5kL1BsYXRmb3JtRGlzcGxh
eVdheWxhbmQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1XUEUuY21ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdQRS5jbWFrZQppbmRleCBlMzM4MzE3ZjMyZWM4ZGU4
OGExMzYzNDMyZmUwOGJhZmU0YTgzZjg5Li4wM2U5NmE3MmUxZTc2MzI1NTY0NmE5NjMwM2ZhZDM4
OTU3N2VjMTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdQRS5jbWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdQRS5jbWFrZQpAQCAtOTQsNiArOTQsMTcgQEAg
aWYgKFVTRV9PUEVOWFIpCiAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9TWVNURU1fSU5DTFVERV9E
SVJFQ1RPUklFUyAke09QRU5YUl9JTkNMVURFX0RJUlN9KQogZW5kaWYgKCkKIAoraWYgKFVTRV9B
TkdMRV9XRUJHTCkKKyAgICBsaXN0KEFQUEVORCBXZWJDb3JlX1NZU1RFTV9JTkNMVURFX0RJUkVD
VE9SSUVTCisgICAgICAgICR7TElCRFJNX0lOQ0xVREVfRElSfQorICAgICAgICAke0dCTV9JTkNM
VURFX0RJUn0KKyAgICApCisgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9MSUJSQVJJRVMKKyAgICAg
ICAgJHtMSUJEUk1fTElCUkFSSUVTfQorICAgICAgICAke0dCTV9MSUJSQVJJRVN9CisgICAgKQor
ZW5kaWYgKCkKKwogaWYgKFVTRV9BVFNQSSkKICAgICBzZXQoV2ViQ29yZV9BdHNwaUludGVyZmFj
ZUZpbGVzCiAgICAgICAgICR7V0VCQ09SRV9ESVJ9L2FjY2Vzc2liaWxpdHkvYXRzcGkveG1sL0Fj
Y2Vzc2libGUueG1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmgKaW5kZXggYjRmMTdlNDky
ZDcwOWM0ZWFkYTlkNWE5MGFjMjcxZDI2NzU2OTUyOS4uZjVlZTkzMTAwZjE0MWE2MzliNGMyN2Ri
ZjdjZjI0NWRkYWFmNTI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuaApAQCAtNDYw
LDcgKzQ2MCw3IEBAIHByb3RlY3RlZDoKICAgICBjbGFzcyBFR0xJbWFnZUJhY2tpbmcgewogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKLSAgICAgICAgRUdMSW1hZ2VC
YWNraW5nKGdibV9kZXZpY2UqLCBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dEdMRGlzcGxheSk7Cisg
ICAgICAgIEVHTEltYWdlQmFja2luZyhQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dEdMRGlzcGxheSk7
CiAgICAgICAgIH5FR0xJbWFnZUJhY2tpbmcoKTsKIAogICAgICAgICBib29sIHJlc2V0KGludCB3
aWR0aCwgaW50IGhlaWdodCwgYm9vbCBoYXNBbHBoYSk7CkBAIC00NzMsNyArNDczLDYgQEAgcHJv
dGVjdGVkOgogICAgIHByaXZhdGU6CiAgICAgICAgIHZvaWQgcmVsZWFzZVJlc291cmNlcygpOwog
Ci0gICAgICAgIGdibV9kZXZpY2UqIG1fZGV2aWNlOwogICAgICAgICBQbGF0Zm9ybUdyYXBoaWNz
Q29udGV4dEdMRGlzcGxheSBtX2Rpc3BsYXk7CiAKICAgICAgICAgZ2JtX2JvKiBtX0JPIHsgbnVs
bHB0ciB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2Jt
L0dCTURldmljZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR0JN
RGV2aWNlLmNwcAppbmRleCAyMjg1MjRhYmNmYTJlNjA2MTFkMjA2Mzc4ZTY4YzUxMjZmMjRlZWFj
Li5kM2Y2YzMxZTMwYzU1OWI5N2U2MzlmZTQ4YzczYTk5NjdjM2ViYzU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR0JNRGV2aWNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR0JNRGV2aWNlLmNwcApAQCAtMzMs
NiArMzMsNyBAQAogI2luY2x1ZGUgPGdibS5oPgogI2luY2x1ZGUgPG11dGV4PgogI2luY2x1ZGUg
PHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgorI2luY2x1ZGUgPHhmODZkcm0uaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC01NCwxOCArNTUsOSBAQCBjb25zdCBHQk1EZXZpY2UmIEdCTURldmlj
ZTo6Z2V0KCkKIAogR0JNRGV2aWNlOjpHQk1EZXZpY2UoKQogewotICAgIGludCBmZDsKLSAgICBj
aGFyIGRldmljZU5hbWVbMzBdOwotICAgIGZvciAoaW50IGkgPSAxMjg7IGkgPCAxOTI7ICsraSkg
ewotICAgICAgICBzbnByaW50ZihkZXZpY2VOYW1lLCBzaXplb2YoZGV2aWNlTmFtZSksICIvZGV2
L2RyaS9yZW5kZXJEJWQiLCBpKTsKLSAgICAgICAgZmQgPSBvcGVuKGRldmljZU5hbWUsIE9fUkRX
UiB8IE9fQ0xPRVhFQyk7Ci0gICAgICAgIGlmIChmZCA+PSAwKSB7Ci0gICAgICAgICAgICBtX2Rl
dmljZSA9IGdibV9jcmVhdGVfZGV2aWNlKGZkKTsKLSAgICAgICAgICAgIGlmIChtX2RldmljZSkK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNsb3NlKGZkKTsKLSAgICAgICAg
fQotICAgIH0KKyAgICBpbnQgZmQgPSBnZXREZXZpY2VGZCgpOworICAgIGlmIChmZCA+PSAwKQor
ICAgICAgICBtX2RldmljZSA9IGdibV9jcmVhdGVfZGV2aWNlKGZkKTsKIH0KIAogR0JNRGV2aWNl
Ojp+R0JNRGV2aWNlKCkKQEAgLTc2LDYgKzY4LDI5IEBAIEdCTURldmljZTo6fkdCTURldmljZSgp
CiAgICAgfQogfQogCitpbnQgR0JNRGV2aWNlOjpnZXREZXZpY2VGZCgpCit7CisgICAgZHJtRGV2
aWNlUHRyIGRldmljZXNbNjRdOworICAgIG1lbXNldChkZXZpY2VzLCAwLCBzaXplb2YoZGV2aWNl
cykpOworCisgICAgaW50IG51bURldmljZXMgPSBkcm1HZXREZXZpY2VzMigwLCBkZXZpY2VzLCBX
VEZfQVJSQVlfTEVOR1RIKGRldmljZXMpKTsKKyAgICBpZiAobnVtRGV2aWNlcyA8PTApCisgICAg
ICAgIHJldHVybiAtMTsKKworICAgIGludCBmZCA9IC0xOworICAgIGZvciAoaW50IGkgPSAwOyBp
IDwgbnVtRGV2aWNlczsgKytpKSB7CisgICAgICAgIGRybURldmljZSogZGV2aWNlID0gZGV2aWNl
c1tpXTsKKyAgICAgICAgaWYgKCEoZGV2aWNlLT5hdmFpbGFibGVfbm9kZXMgJiAoMSA8PCBEUk1f
Tk9ERV9QUklNQVJZKSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBmZCA9IG9w
ZW4oZGV2aWNlLT5ub2Rlc1tEUk1fTk9ERV9QUklNQVJZXSwgT19SRFdSKTsKKyAgICAgICAgaWYg
KGZkIDwgMCkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgIH0KKworICAgIHJldHVybiBmZDsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVVNFKEFOR0xFKSAmJiBV
U0UoTklDT1NJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dibS9HQk1EZXZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dibS9H
Qk1EZXZpY2UuaAppbmRleCAyNTBlMDdmYzlkN2Q2MTZjODRjMWFjYzc4NjQ5N2ViZTk0OWQ5NzZl
Li41Y2U1MmZlYTc2ODI1ZDNjN2EwNGIzZmIzMjM4M2RmNWNjNTRlYWU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR0JNRGV2aWNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ2JtL0dCTURldmljZS5oCkBAIC00NCw2ICs0
NCw4IEBAIHB1YmxpYzoKICAgICBzdHJ1Y3QgZ2JtX2RldmljZSogZGV2aWNlKCkgY29uc3QgeyBy
ZXR1cm4gbV9kZXZpY2U7IH0KIAogcHJpdmF0ZToKKyAgICBpbnQgZ2V0RGV2aWNlRmQoKTsKKwog
ICAgIHN0cnVjdCBnYm1fZGV2aWNlKiBtX2RldmljZSB7IG51bGxwdHIgfTsKIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0Nv
bnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyQU5HTEUuY3BwCmlu
ZGV4IDBiZWRmNTkyYWY1N2M5YTM4YWRiZjIxZGRhYmQ2NmRhNjMzZGFhNjguLjdjYzJiMTBiZjQ2
YTIyNWJiZGYxMmIxM2NlODM5NzczYjRhZmM2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJB
TkdMRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL0dy
YXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xFLmNwcApAQCAtNTcsMTAgKzU3LDEwIEBA
IEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OkdyYXBoaWNzQ29udGV4dEdMQU5HTEUoR3JhcGhpY3ND
b250ZXh0R0xBdHRyaWJ1dGVzIGF0dHJpCiAgICAgbV9uaWNvc2lhUGlwZSA9IG1ha2VVbmlxdWU8
Tmljb3NpYTo6R0NHTEFOR0xFUGlwZT4oKnRoaXMpOwogCiAgICAgY29uc3QgYXV0byYgZ2JtRGV2
aWNlID0gR0JNRGV2aWNlOjpnZXQoKTsKLSAgICBpZiAoYXV0byogZGV2aWNlID0gZ2JtRGV2aWNl
LmRldmljZSgpKSB7Ci0gICAgICAgIG1fdGV4dHVyZUJhY2tpbmcgPSBtYWtlVW5pcXVlPEVHTElt
YWdlQmFja2luZz4oZGV2aWNlLCBwbGF0Zm9ybURpc3BsYXkoKSk7Ci0gICAgICAgIG1fY29tcG9z
aXRvclRleHR1cmVCYWNraW5nID0gbWFrZVVuaXF1ZTxFR0xJbWFnZUJhY2tpbmc+KGRldmljZSwg
cGxhdGZvcm1EaXNwbGF5KCkpOwotICAgICAgICBtX2ludGVybWVkaWF0ZVRleHR1cmVCYWNraW5n
ID0gbWFrZVVuaXF1ZTxFR0xJbWFnZUJhY2tpbmc+KGRldmljZSwgcGxhdGZvcm1EaXNwbGF5KCkp
OworICAgIGlmIChnYm1EZXZpY2UuZGV2aWNlKCkpIHsKKyAgICAgICAgbV90ZXh0dXJlQmFja2lu
ZyA9IG1ha2VVbmlxdWU8RUdMSW1hZ2VCYWNraW5nPihwbGF0Zm9ybURpc3BsYXkoKSk7CisgICAg
ICAgIG1fY29tcG9zaXRvclRleHR1cmVCYWNraW5nID0gbWFrZVVuaXF1ZTxFR0xJbWFnZUJhY2tp
bmc+KHBsYXRmb3JtRGlzcGxheSgpKTsKKyAgICAgICAgbV9pbnRlcm1lZGlhdGVUZXh0dXJlQmFj
a2luZyA9IG1ha2VVbmlxdWU8RUdMSW1hZ2VCYWNraW5nPihwbGF0Zm9ybURpc3BsYXkoKSk7CiAg
ICAgfQogI2Vsc2UKICAgICBtX3RleG1hcExheWVyID0gbWFrZVVuaXF1ZTxUZXh0dXJlTWFwcGVy
R0NHTFBsYXRmb3JtTGF5ZXI+KCp0aGlzKTsKQEAgLTEyNCw5ICsxMjQsOCBAQCBHcmFwaGljc0Nv
bnRleHRHTEFOR0xFOjpHcmFwaGljc0NvbnRleHRHTEFOR0xFKEdyYXBoaWNzQ29udGV4dEdMQXR0
cmlidXRlcyBhdHRyaQogfQogCiAjaWYgVVNFKE5JQ09TSUEpCi1HcmFwaGljc0NvbnRleHRHTEFO
R0xFOjpFR0xJbWFnZUJhY2tpbmc6OkVHTEltYWdlQmFja2luZyhnYm1fZGV2aWNlKiBkZXZpY2Us
IFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0R0xEaXNwbGF5IGRpc3BsYXkpCi0gICAgOiBtX2Rldmlj
ZShkZXZpY2UpCi0gICAgLCBtX2Rpc3BsYXkoZGlzcGxheSkKK0dyYXBoaWNzQ29udGV4dEdMQU5H
TEU6OkVHTEltYWdlQmFja2luZzo6RUdMSW1hZ2VCYWNraW5nKFBsYXRmb3JtR3JhcGhpY3NDb250
ZXh0R0xEaXNwbGF5IGRpc3BsYXkpCisgICAgOiBtX2Rpc3BsYXkoZGlzcGxheSkKIHsKIH0KIApA
QCAtMTcyLDcgKzE3MSw4IEBAIGJvb2wgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6RUdMSW1hZ2VC
YWNraW5nOjpyZXNldChpbnQgd2lkdGgsIGludCBoZWlnaHQsIGJvb2wKICAgICBpZiAoIXdpZHRo
IHx8ICFoZWlnaHQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1fQk8gPSBnYm1fYm9f
Y3JlYXRlKG1fZGV2aWNlLCB3aWR0aCwgaGVpZ2h0LCBoYXNBbHBoYSA/IEdCTV9CT19GT1JNQVRf
QVJHQjg4ODggOiBHQk1fQk9fRk9STUFUX1hSR0I4ODg4LCBHQk1fQk9fVVNFX1JFTkRFUklORyk7
CisgICAgY29uc3QgYXV0byYgZ2JtRGV2aWNlID0gR0JNRGV2aWNlOjpnZXQoKTsKKyAgICBtX0JP
ID0gZ2JtX2JvX2NyZWF0ZShnYm1EZXZpY2UuZGV2aWNlKCksIHdpZHRoLCBoZWlnaHQsIGhhc0Fs
cGhhID8gR0JNX0JPX0ZPUk1BVF9BUkdCODg4OCA6IEdCTV9CT19GT1JNQVRfWFJHQjg4ODgsIEdC
TV9CT19VU0VfUkVOREVSSU5HKTsKICAgICBpZiAobV9CTykgewogICAgICAgICBtX0ZEID0gZ2Jt
X2JvX2dldF9mZChtX0JPKTsKICAgICAgICAgaWYgKG1fRkQgPj0gMCkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5j
bWFrZQppbmRleCAyMjYwZDUxOTM0N2ZmOGVmNjJiMzJkYTU2NmI0OTZiNjFkNTcyYjEwLi5kMDc0
MDU2NzdjYzQ4N2JjYzljNjRjNzI5MjAwOTFiMWNjODdhMGU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Y21ha2UvT3B0aW9uc0dUSy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFr
ZQpAQCAtMzgzLDYgKzM4Myw5IEBAIGVuZGlmICgpCiAKIGlmIChVU0VfQU5HTEVfV0VCR0wpCiAg
ICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0FOR0xFIFRSVUUpCisKKyAgICBmaW5kX3Bh
Y2thZ2UoR0JNIFJFUVVJUkVEKQorICAgIGZpbmRfcGFja2FnZShMaWJEUk0gUkVRVUlSRUQpCiBl
bmRpZiAoKQogCiBpZiAoRU5BQkxFX1NQRUxMQ0hFQ0spCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21h
a2UvT3B0aW9uc1dQRS5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCmluZGV4
IDc5YjQ2YjIwYzBjYTQ1NTM2Nzc3ZGNlNzAxOGM4NjE5Yzc5MDY0NTIuLjkwMzgxNzBmMDY4NTIw
NzlkNGMyNmRhYzYyMTBmODdlZGZlNTVkMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRp
b25zV1BFLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCkBAIC0xNzYs
NiArMTc2LDkgQEAgZW5kaWYgKCkKIAogaWYgKFVTRV9BTkdMRV9XRUJHTCkKICAgICBTRVRfQU5E
X0VYUE9TRV9UT19CVUlMRChVU0VfQU5HTEUgVFJVRSkKKworICAgIGZpbmRfcGFja2FnZShHQk0g
UkVRVUlSRUQpCisgICAgZmluZF9wYWNrYWdlKExpYkRSTSBSRVFVSVJFRCkKIGVuZGlmICgpCiAK
IGlmIChVU0VfSlBFR1hMKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4
IGQ4NjEwMjljOGM5MDg3ZTViYjExZDc3OTA5N2YxNWMzMjY3ZDEzMTIuLjU2MzMxYjI5ZTMyMGIw
MmI3NTA4MjQzMjIxZjQyNmJkN2VjYTkxMWMgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMi0wMi0xMCAgQWxlamFuZHJvIEcuIENhc3Ry
byAgPGFsZXhAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIEltcHJvdmUgZGV2aWNl
IGRldGVjdGlvbiBpbiB0aGUgR2JtRGV2aWNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzY0MzYKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBM
b3JkLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2U6IFNlYXJjaCBm
b3IgZHJtIGFuZCBnYm0gbGlicmFyaWVzCisgICAgICAgIHdoZW4gY29tcGlsaW5nIFdlYkdMIEFO
R0xFIHN1cHBvcnQuCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2U6IERp
dHRvLgorCiAyMDIyLTAyLTAzICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5j
b20+CiAKICAgICAgICAgVHdvIGJvcG9tb2ZvIHRvbmUgbWFya3MgYXJlIG5vdCBtb3ZlZCB0byB0
aGUgY29ycmVjdCBwbGFjZSBpbiB2ZXJ0aWNhbCB0ZXh0IHdpdGggYSBwYXJ0aWN1bGFyIGJvcG9t
b2ZvIGZvbnQK
</data>

          </attachment>
      

    </bug>

</bugzilla>