<?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>47051</bug_id>
          
          <creation_ts>2010-10-02 08:42:38 -0700</creation_ts>
          <short_desc>[Qt] Provide Qt support for DeviceMotion/Orientation clients</short_desc>
          <delta_ts>2010-10-02 14:20:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>47050</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Diego Gonzalez">diegohcg</reporter>
          <assigned_to name="Diego Gonzalez">diegohcg</assigned_to>
          <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>288694</commentid>
    <comment_count>0</comment_count>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-10-02 08:42:38 -0700</bug_when>
    <thetext>Implement client classes to make possible to hook up motion/orientation
data in further implementations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288697</commentid>
    <comment_count>1</comment_count>
      <attachid>69574</attachid>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-10-02 08:56:18 -0700</bug_when>
    <thetext>Created attachment 69574
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288698</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-02 08:56:52 -0700</bug_when>
    <thetext>Attachment 69574 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit/qt/WebCoreSupport/DeviceMotionClientQt.h:24:  Alphabetical sorting problem.  [build/include_order] [4]
WARNING: File exempt from style guide. Skipping: &quot;WebKit/qt/Api/qwebpage.cpp&quot;
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288699</commentid>
    <comment_count>3</comment_count>
      <attachid>69575</attachid>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-10-02 08:58:54 -0700</bug_when>
    <thetext>Created attachment 69575
Patch

Correcting style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288706</commentid>
    <comment_count>4</comment_count>
      <attachid>69575</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-02 12:08:32 -0700</bug_when>
    <thetext>Comment on attachment 69575
Patch

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

r+ with the below fixes. Please make it clear that these are dummy impls so far.

&gt; WebCore/WebCore.pro:3266
&gt; +        bindings/generic/RuntimeEnabledFeatures.h

Is this one really device orientation dependent?

&gt; WebKit/qt/WebCoreSupport/DeviceMotionClientQt.cpp:44
&gt; +void DeviceMotionClientQt::startUpdating()
&gt; +{
&gt; +}
&gt; +
&gt; +void DeviceMotionClientQt::stopUpdating()
&gt; +{
&gt; +}

why are these empty? no comment, no nothing...

&gt; WebKit/qt/WebCoreSupport/DeviceMotionClientQt.cpp:49
&gt; +DeviceMotionData* DeviceMotionClientQt::currentDeviceMotion() const
&gt; +{
&gt; +    return 0;
&gt; +}

Is this just a dummy implementation? You should make that more clear in the ChangeLog

&gt; WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp:27
&gt; +DeviceOrientationClientQt::DeviceOrientationClientQt(QWebPage *page)

Wrong placement of *</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288713</commentid>
    <comment_count>5</comment_count>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-10-02 12:36:27 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 69575 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=69575&amp;action=review
&gt; 
&gt; r+ with the below fixes. Please make it clear that these are dummy impls so far.
&gt; 
&gt; &gt; WebCore/WebCore.pro:3266
&gt; &gt; +        bindings/generic/RuntimeEnabledFeatures.h
&gt; 
&gt; Is this one really device orientation dependent?

Yes, Page.cpp uses it:
#if ENABLE(DEVICE_ORIENTATION) 
    , m_deviceMotionController(RuntimeEnabledFeatures::deviceMotionEnabled() ? new DeviceMotionController(pageClients.deviceMotionClient) : 0)
    , m_deviceOrientationController(RuntimeEnabledFeatures::deviceOrientationEnabled() ? new DeviceOrientationController(this, pageClients.deviceOrientationClient) : 0)
#endif

&gt; 
&gt; &gt; WebKit/qt/WebCoreSupport/DeviceMotionClientQt.cpp:44
&gt; &gt; +void DeviceMotionClientQt::startUpdating()
&gt; &gt; +{
&gt; &gt; +}
&gt; &gt; +
&gt; &gt; +void DeviceMotionClientQt::stopUpdating()
&gt; &gt; +{
&gt; &gt; +}
&gt; 
&gt; why are these empty? no comment, no nothing...

Sure, I will add the comments

&gt; &gt; WebKit/qt/WebCoreSupport/DeviceMotionClientQt.cpp:49
&gt; &gt; +DeviceMotionData* DeviceMotionClientQt::currentDeviceMotion() const
&gt; &gt; +{
&gt; &gt; +    return 0;
&gt; &gt; +}
&gt; 
&gt; Is this just a dummy implementation? You should make that more clear in the ChangeLog

Sure

&gt; &gt; WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp:27
&gt; &gt; +DeviceOrientationClientQt::DeviceOrientationClientQt(QWebPage *page)
&gt; 
&gt; Wrong placement of *

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288721</commentid>
    <comment_count>6</comment_count>
      <attachid>69575</attachid>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-10-02 14:19:27 -0700</bug_when>
    <thetext>Comment on attachment 69575
Patch

Clearing flags. Patch landed at r68978</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69574</attachid>
            <date>2010-10-02 08:56:18 -0700</date>
            <delta_ts>2010-10-02 08:58:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Qt-Provide-Qt-support-for-DeviceMotion-Orientation-cl.diff</filename>
            <type>text/plain</type>
            <size>14091</size>
            <attacher name="Diego Gonzalez">diegohcg</attacher>
            
              <data encoding="base64">RnJvbSA5N2E3MTk2YzhmYmZhZWQxM2U5YjZjODAxZjk2MzQ0YzQ5NGUwYTdkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBHb256YWxleiA8ZGllZ29oY2dAd2Via2l0Lm9yZz4K
RGF0ZTogU2F0LCAyIE9jdCAyMDEwIDExOjUzOjM2IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gW1F0
XSBQcm92aWRlIFF0IHN1cHBvcnQgZm9yIERldmljZU1vdGlvbi9PcmllbnRhdGlvbiBjbGllbnRz
CiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDcwNTEKClJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgoKV2ViQ29yZToKCkFkZCBRdCBEZXZpY2VNb3Rpb24vT3JpZW50
YXRpb24gY2xpZW50cyBpbiBidWlsZCBzeXN0ZW0uCgoqIFdlYkNvcmUucHJvOgoKV2ViS2l0L3F0
OgoKSW1wbGVtZW50IGNsaWVudCBjbGFzc2VzIHRvIG1ha2UgcG9zc2libGUgdG8gaG9vayB1cApt
b3Rpb24vb3JpZW50YXRpb24gZGF0YSBpbiBmdXJ0aGVyIGltcGxlbWVudGF0aW9ucy4KCiogQXBp
L3F3ZWJwYWdlLmNwcDoKKFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKToKKiBXZWJD
b3JlU3VwcG9ydC9EZXZpY2VNb3Rpb25DbGllbnRRdC5jcHA6IEFkZGVkLgooV2ViQ29yZTo6RGV2
aWNlTW90aW9uQ2xpZW50UXQ6OkRldmljZU1vdGlvbkNsaWVudFF0KToKKFdlYkNvcmU6OkRldmlj
ZU1vdGlvbkNsaWVudFF0OjpzZXRDb250cm9sbGVyKToKKFdlYkNvcmU6OkRldmljZU1vdGlvbkNs
aWVudFF0OjpzdGFydFVwZGF0aW5nKToKKFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudFF0Ojpz
dG9wVXBkYXRpbmcpOgooV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50UXQ6OmN1cnJlbnREZXZp
Y2VNb3Rpb24pOgooV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50UXQ6OmRldmljZU1vdGlvbkNv
bnRyb2xsZXJEZXN0cm95ZWQpOgoqIFdlYkNvcmVTdXBwb3J0L0RldmljZU1vdGlvbkNsaWVudFF0
Lmg6IEFkZGVkLgooV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50UXQ6On5EZXZpY2VNb3Rpb25D
bGllbnRRdCk6CiogV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5jcHA6
IEFkZGVkLgooV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6RGV2aWNlT3JpZW50
YXRpb25DbGllbnRRdCk6CihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpzZXRD
b250cm9sbGVyKToKKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6OnN0YXJ0VXBk
YXRpbmcpOgooV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6c3RvcFVwZGF0aW5n
KToKKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6Omxhc3RPcmllbnRhdGlvbik6
CihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpkZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXJEZXN0cm95ZWQpOgoqIFdlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xp
ZW50UXQuaDogQWRkZWQuCihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0Ojp+RGV2
aWNlT3JpZW50YXRpb25DbGllbnRRdCk6Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDExICsrKysKIFdlYkNvcmUvV2ViQ29yZS5wcm8g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNCArKysrKwogV2ViS2l0L3F0L0Fw
aS9xd2VicGFnZS5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA2ICsrCiBXZWJLaXQv
cXQvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzEgKysrKysr
KysrKysKIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VNb3Rpb25DbGllbnRRdC5jcHAg
IHwgICA1OCArKysrKysrKysrKysrKysrKysrKwogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Rl
dmljZU1vdGlvbkNsaWVudFF0LmggICAgfCAgIDUxICsrKysrKysrKysrKysrKysrCiAuLi4vV2Vi
Q29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5jcHAgICB8ICAgNTggKysrKysr
KysrKysrKysrKysrKysKIC4uLi9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudFF0LmggIHwgICA1MSArKysrKysrKysrKysrKysrKwogOCBmaWxlcyBjaGFuZ2VkLCAyODAg
aW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uQ2xpZW50UXQuY3BwCiBjcmVhdGUgbW9kZSAx
MDA2NDQgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU1vdGlvbkNsaWVudFF0LmgKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRp
b25DbGllbnRRdC5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5oCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyMTM1M2UzLi44NmFhYzZkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDEwLTEwLTAyICBEaWVnbyBHb256YWxleiAgPGRpZWdvaGNnQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBQ
cm92aWRlIFF0IHN1cHBvcnQgZm9yIERldmljZU1vdGlvbi9PcmllbnRhdGlvbiBjbGllbnRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzA1MQorCisg
ICAgICAgIEFkZCBRdCBEZXZpY2VNb3Rpb24vT3JpZW50YXRpb24gY2xpZW50cyBpbiBidWlsZCBz
eXN0ZW0uCisKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKwogMjAxMC0wOS0zMCAgQWxleGV5IE1h
cmluaWNoZXYgIDxhbWFyaW5pY2hldkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQ2hyaXMgTWFycmluLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNv
cmUvV2ViQ29yZS5wcm8KaW5kZXggZDE3YWZjMi4uYTZkMzcwYiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMjU5LDYgKzMyNTks
MjAgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0dFT0xPQ0FUSU9OPTEpIHsKICAgICB9CiB9
CiAKK2NvbnRhaW5zKERFRklORVMsIEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT049MSkgeworICAg
IEhFQURFUlMgKz0gXAorICAgICAgICAuLi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNl
TW90aW9uQ2xpZW50UXQuaCBcCisgICAgICAgIC4uL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9E
ZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmggXAorICAgICAgICBiaW5kaW5ncy9nZW5lcmljL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorICAgIFNPVVJDRVMgKz0gXAorICAgICAgICAuLi9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uQ2xpZW50UXQuY3BwIFwKKyAgICAgICAg
Li4vV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQuY3Bw
IFwKKyAgICAgICAgYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAor
CisgICAgQ09ORklHICs9IG1vYmlsaXR5CisgICAgTU9CSUxJVFkgKz0gc2Vuc29ycworfQorCiBj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfU1ZHPTEpIHsKICAgICAhdjggewogICAgICAgICBTT1VS
Q0VTICs9IFwKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvV2ViS2l0
L3F0L0FwaS9xd2VicGFnZS5jcHAKaW5kZXggOTMyMTAzZC4uMTQzOTQ2OCAxMDA2NDQKLS0tIGEv
V2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5j
cHAKQEAgLTQ1LDYgKzQ1LDggQEAKICNpbmNsdWRlICJDaHJvbWVDbGllbnRRdC5oIgogI2luY2x1
ZGUgIkNvbnRleHRNZW51LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDbGllbnRRdC5oIgorI2lu
Y2x1ZGUgIkRldmljZU1vdGlvbkNsaWVudFF0LmgiCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRp
b25DbGllbnRRdC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRHJh
Z0NsaWVudFF0LmgiCiAjaW5jbHVkZSAiRHJhZ0NvbnRyb2xsZXIuaCIKQEAgLTI5OCw2ICszMDAs
MTAgQEAgUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUoUVdlYlBhZ2UgKnFxKQogICAg
IHBhZ2VDbGllbnRzLmVkaXRvckNsaWVudCA9IG5ldyBFZGl0b3JDbGllbnRRdChxKTsKICAgICBw
YWdlQ2xpZW50cy5kcmFnQ2xpZW50ID0gbmV3IERyYWdDbGllbnRRdChxKTsKICAgICBwYWdlQ2xp
ZW50cy5pbnNwZWN0b3JDbGllbnQgPSBuZXcgSW5zcGVjdG9yQ2xpZW50UXQocSk7CisjaWYgRU5B
QkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBwYWdlQ2xpZW50cy5kZXZpY2VPcmllbnRhdGlv
bkNsaWVudCA9IG5ldyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0KHEpOworICAgIHBhZ2VDbGll
bnRzLmRldmljZU1vdGlvbkNsaWVudCA9IG5ldyBEZXZpY2VNb3Rpb25DbGllbnRRdChxKTsKKyNl
bmRpZgogICAgIHBhZ2UgPSBuZXcgUGFnZShwYWdlQ2xpZW50cyk7CiAKICAgICBzZXR0aW5ncyA9
IG5ldyBRV2ViU2V0dGluZ3MocGFnZS0+c2V0dGluZ3MoKSk7CmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAwMWRiMWViLi43NWMyN2Jk
IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMC0xMC0wMiAgRGllZ28gR29uemFsZXogIDxkaWVnb2hj
Z0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gUHJvdmlkZSBRdCBzdXBwb3J0IGZvciBEZXZpY2VNb3Rpb24vT3JpZW50YXRp
b24gY2xpZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDcwNTEKKworICAgICAgICBJbXBsZW1lbnQgY2xpZW50IGNsYXNzZXMgdG8gbWFrZSBwb3Nz
aWJsZSB0byBob29rIHVwCisgICAgICAgIG1vdGlvbi9vcmllbnRhdGlvbiBkYXRhIGluIGZ1cnRo
ZXIgaW1wbGVtZW50YXRpb25zLgorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAg
ICAgKFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9EZXZpY2VNb3Rpb25DbGllbnRRdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6RGV2aWNlTW90aW9uQ2xpZW50UXQ6OkRldmljZU1vdGlvbkNsaWVudFF0KToKKyAgICAgICAg
KFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudFF0OjpzZXRDb250cm9sbGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudFF0OjpzdGFydFVwZGF0aW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudFF0OjpzdG9wVXBkYXRpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50UXQ6OmN1cnJlbnREZXZpY2VNb3Rpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50UXQ6OmRldmljZU1vdGlvbkNvbnRyb2xs
ZXJEZXN0cm95ZWQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0RldmljZU1vdGlvbkNsaWVu
dFF0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50UXQ6On5E
ZXZpY2VNb3Rpb25DbGllbnRRdCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRRdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRRdDo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdCk6CisgICAgICAgIChX
ZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpzZXRDb250cm9sbGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6OnN0YXJ0VXBkYXRpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6c3RvcFVwZGF0aW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6Omxhc3RPcmll
bnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0Ojpk
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQpOgorICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0Ojp+RGV2aWNlT3JpZW50YXRpb25DbGllbnRR
dCk6CisKIDIwMTAtMDktMzAgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uQ2xpZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0RldmljZU1vdGlvbkNsaWVudFF0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi41MDUyZDM4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0RldmljZU1vdGlvbkNsaWVudFF0LmNwcApAQCAtMCwwICsxLDU4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lk
aWFyeSgtaWVzKQorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KKyAqCisgKi8KKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25D
bGllbnRRdC5oIgorCisjaW5jbHVkZSAicXdlYnBhZ2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitEZXZpY2VNb3Rpb25DbGllbnRRdDo6RGV2aWNlTW90aW9uQ2xpZW50UXQoUVdlYlBhZ2Ug
KnBhZ2UpCisgICAgOiBtX3BhZ2UocGFnZSkKKyAgICAsIG1fY29udHJvbGxlcigwKQoreworfQor
Cit2b2lkIERldmljZU1vdGlvbkNsaWVudFF0OjpzZXRDb250cm9sbGVyKERldmljZU1vdGlvbkNv
bnRyb2xsZXIqIGNvbnRyb2xsZXIpCit7CisgICAgbV9jb250cm9sbGVyID0gY29udHJvbGxlcjsK
K30KKwordm9pZCBEZXZpY2VNb3Rpb25DbGllbnRRdDo6c3RhcnRVcGRhdGluZygpCit7Cit9CisK
K3ZvaWQgRGV2aWNlTW90aW9uQ2xpZW50UXQ6OnN0b3BVcGRhdGluZygpCit7Cit9CisKK0Rldmlj
ZU1vdGlvbkRhdGEqIERldmljZU1vdGlvbkNsaWVudFF0OjpjdXJyZW50RGV2aWNlTW90aW9uKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBEZXZpY2VNb3Rpb25DbGllbnRRdDo6
ZGV2aWNlTW90aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpCit7CisgICAgZGVsZXRlIHRoaXM7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2luY2x1ZGUgIm1vY19EZXZpY2VNb3Rpb25D
bGllbnRRdC5jcHAiCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNl
TW90aW9uQ2xpZW50UXQuaCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VNb3Rpb25D
bGllbnRRdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3ZDg0MmIKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uQ2xp
ZW50UXQuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lh
IENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
CisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKyNpZm5kZWYgRGV2aWNl
TW90aW9uQ2xpZW50UXRfaAorI2RlZmluZSBEZXZpY2VNb3Rpb25DbGllbnRRdF9oCisKKyNpbmNs
dWRlICJEZXZpY2VNb3Rpb25EYXRhLmgiCisjaW5jbHVkZSAiRGV2aWNlTW90aW9uQ2xpZW50Lmgi
CisKKyNpbmNsdWRlIDxRT2JqZWN0PgorCitjbGFzcyBRV2ViUGFnZTsKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBEZXZpY2VNb3Rpb25DbGllbnRRdCA6IHB1YmxpYyBRT2JqZWN0LCBw
dWJsaWMgRGV2aWNlTW90aW9uQ2xpZW50IHsKKyAgICBRX09CSkVDVAorcHVibGljOgorICAgIERl
dmljZU1vdGlvbkNsaWVudFF0KFFXZWJQYWdlICpwYWdlKTsKKyAgICB2aXJ0dWFsIH5EZXZpY2VN
b3Rpb25DbGllbnRRdCgpIHt9CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihEZXZp
Y2VNb3Rpb25Db250cm9sbGVyKik7CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKTsK
KyAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCk7CisgICAgdmlydHVhbCBEZXZpY2VNb3Rp
b25EYXRhKiBjdXJyZW50RGV2aWNlTW90aW9uKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGRl
dmljZU1vdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKTsKKworcHJpdmF0ZToKKyAgICBRV2ViUGFn
ZSogbV9wYWdlOworICAgIERldmljZU1vdGlvbkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKK307
CisKK30gLy8gbmFtZXNwZWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZU1vdGlvbkNsaWVu
dFF0X2gKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRh
dGlvbkNsaWVudFF0LmNwcCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRh
dGlvbkNsaWVudFF0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2Y0
YTM4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9y
aWVudGF0aW9uQ2xpZW50UXQuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQu
aCIKKworI2luY2x1ZGUgInF3ZWJwYWdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRGV2
aWNlT3JpZW50YXRpb25DbGllbnRRdDo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdChRV2ViUGFn
ZSAqcGFnZSkKKyAgICA6IG1fcGFnZShwYWdlKQorICAgICwgbV9jb250cm9sbGVyKDApCit7Cit9
CisKK3ZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6c2V0Q29udHJvbGxlcihEZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIpCit7CisgICAgbV9jb250cm9sbGVyID0g
Y29udHJvbGxlcjsKK30KKwordm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpzdGFydFVw
ZGF0aW5nKCkKK3sKK30KKwordm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpzdG9wVXBk
YXRpbmcoKQoreworfQorCitEZXZpY2VPcmllbnRhdGlvbiogRGV2aWNlT3JpZW50YXRpb25DbGll
bnRRdDo6bGFzdE9yaWVudGF0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gMDsKK30KKwordm9p
ZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJE
ZXN0cm95ZWQoKQoreworICAgIGRlbGV0ZSB0aGlzOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNpbmNsdWRlICJtb2NfRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5jcHAiCmRpZmYg
LS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRR
dC5oIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzRkOGZmCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50
UXQuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENv
cnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKyNpZm5kZWYgRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRRdF9oCisjZGVmaW5lIERldmljZU9yaWVudGF0aW9uQ2xpZW50UXRfaAor
CisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb24uaCIKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRh
dGlvbkNsaWVudC5oIgorCisjaW5jbHVkZSA8UU9iamVjdD4KKworY2xhc3MgUVdlYlBhZ2U7CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdCA6
IHB1YmxpYyBRT2JqZWN0LCBwdWJsaWMgRGV2aWNlT3JpZW50YXRpb25DbGllbnQgeworICAgIFFf
T0JKRUNUCitwdWJsaWM6CisgICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdChRV2ViUGFnZSAq
cGFnZSk7CisgICAgdmlydHVhbCB+RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdCgpIHt9CisKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIq
KTsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpOworICAgIHZpcnR1YWwgdm9pZCBz
dG9wVXBkYXRpbmcoKTsKKyAgICB2aXJ0dWFsIERldmljZU9yaWVudGF0aW9uKiBsYXN0T3JpZW50
YXRpb24oKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyRGVzdHJveWVkKCk7CisKK3ByaXZhdGU6CisgICAgUVdlYlBhZ2UqIG1fcGFnZTsKKyAgICBE
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZU9yaWVudGF0aW9uQ2xpZW50UXRfaAot
LSAKMS43LjAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69575</attachid>
            <date>2010-10-02 08:58:54 -0700</date>
            <delta_ts>2010-10-02 14:19:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Qt-Provide-Qt-support-for-DeviceMotion-Orientation-cl.diff</filename>
            <type>text/plain</type>
            <size>14091</size>
            <attacher name="Diego Gonzalez">diegohcg</attacher>
            
              <data encoding="base64">RnJvbSAwOWQxYzM0YTA3MjY5Y2NiZDg3ZTdiMTY5YmE5YzdhNDRiNTdmMDIzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWVnbyBHb256YWxleiA8ZGllZ29oY2dAd2Via2l0Lm9yZz4K
RGF0ZTogU2F0LCAyIE9jdCAyMDEwIDExOjUzOjM2IC0wNDAwClN1YmplY3Q6IFtQQVRDSF0gW1F0
XSBQcm92aWRlIFF0IHN1cHBvcnQgZm9yIERldmljZU1vdGlvbi9PcmllbnRhdGlvbiBjbGllbnRz
CiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDcwNTEKClJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgoKV2ViQ29yZToKCkFkZCBRdCBEZXZpY2VNb3Rpb24vT3JpZW50
YXRpb24gY2xpZW50cyBpbiBidWlsZCBzeXN0ZW0uCgoqIFdlYkNvcmUucHJvOgoKV2ViS2l0L3F0
OgoKSW1wbGVtZW50IGNsaWVudCBjbGFzc2VzIHRvIG1ha2UgcG9zc2libGUgdG8gaG9vayB1cApt
b3Rpb24vb3JpZW50YXRpb24gZGF0YSBpbiBmdXJ0aGVyIGltcGxlbWVudGF0aW9ucy4KCiogQXBp
L3F3ZWJwYWdlLmNwcDoKKFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKToKKiBXZWJD
b3JlU3VwcG9ydC9EZXZpY2VNb3Rpb25DbGllbnRRdC5jcHA6IEFkZGVkLgooV2ViQ29yZTo6RGV2
aWNlTW90aW9uQ2xpZW50UXQ6OkRldmljZU1vdGlvbkNsaWVudFF0KToKKFdlYkNvcmU6OkRldmlj
ZU1vdGlvbkNsaWVudFF0OjpzZXRDb250cm9sbGVyKToKKFdlYkNvcmU6OkRldmljZU1vdGlvbkNs
aWVudFF0OjpzdGFydFVwZGF0aW5nKToKKFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudFF0Ojpz
dG9wVXBkYXRpbmcpOgooV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50UXQ6OmN1cnJlbnREZXZp
Y2VNb3Rpb24pOgooV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50UXQ6OmRldmljZU1vdGlvbkNv
bnRyb2xsZXJEZXN0cm95ZWQpOgoqIFdlYkNvcmVTdXBwb3J0L0RldmljZU1vdGlvbkNsaWVudFF0
Lmg6IEFkZGVkLgooV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50UXQ6On5EZXZpY2VNb3Rpb25D
bGllbnRRdCk6CiogV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5jcHA6
IEFkZGVkLgooV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6RGV2aWNlT3JpZW50
YXRpb25DbGllbnRRdCk6CihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpzZXRD
b250cm9sbGVyKToKKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6OnN0YXJ0VXBk
YXRpbmcpOgooV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6c3RvcFVwZGF0aW5n
KToKKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6Omxhc3RPcmllbnRhdGlvbik6
CihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpkZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXJEZXN0cm95ZWQpOgoqIFdlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xp
ZW50UXQuaDogQWRkZWQuCihXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0Ojp+RGV2
aWNlT3JpZW50YXRpb25DbGllbnRRdCk6Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDExICsrKysKIFdlYkNvcmUvV2ViQ29yZS5wcm8g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNCArKysrKwogV2ViS2l0L3F0L0Fw
aS9xd2VicGFnZS5jcHAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA2ICsrCiBXZWJLaXQv
cXQvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzEgKysrKysr
KysrKysKIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VNb3Rpb25DbGllbnRRdC5jcHAg
IHwgICA1OCArKysrKysrKysrKysrKysrKysrKwogV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Rl
dmljZU1vdGlvbkNsaWVudFF0LmggICAgfCAgIDUxICsrKysrKysrKysrKysrKysrCiAuLi4vV2Vi
Q29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5jcHAgICB8ICAgNTggKysrKysr
KysrKysrKysrKysrKysKIC4uLi9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudFF0LmggIHwgICA1MSArKysrKysrKysrKysrKysrKwogOCBmaWxlcyBjaGFuZ2VkLCAyODAg
aW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uQ2xpZW50UXQuY3BwCiBjcmVhdGUgbW9kZSAx
MDA2NDQgV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU1vdGlvbkNsaWVudFF0LmgKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBXZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRp
b25DbGllbnRRdC5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5oCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyMTM1M2UzLi44NmFhYzZkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDEwLTEwLTAyICBEaWVnbyBHb256YWxleiAgPGRpZWdvaGNnQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBQ
cm92aWRlIFF0IHN1cHBvcnQgZm9yIERldmljZU1vdGlvbi9PcmllbnRhdGlvbiBjbGllbnRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzA1MQorCisg
ICAgICAgIEFkZCBRdCBEZXZpY2VNb3Rpb24vT3JpZW50YXRpb24gY2xpZW50cyBpbiBidWlsZCBz
eXN0ZW0uCisKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKwogMjAxMC0wOS0zMCAgQWxleGV5IE1h
cmluaWNoZXYgIDxhbWFyaW5pY2hldkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQ2hyaXMgTWFycmluLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNv
cmUvV2ViQ29yZS5wcm8KaW5kZXggZDE3YWZjMi4uYTZkMzcwYiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zMjU5LDYgKzMyNTks
MjAgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0dFT0xPQ0FUSU9OPTEpIHsKICAgICB9CiB9
CiAKK2NvbnRhaW5zKERFRklORVMsIEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT049MSkgeworICAg
IEhFQURFUlMgKz0gXAorICAgICAgICAuLi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNl
TW90aW9uQ2xpZW50UXQuaCBcCisgICAgICAgIC4uL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9E
ZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmggXAorICAgICAgICBiaW5kaW5ncy9nZW5lcmljL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorICAgIFNPVVJDRVMgKz0gXAorICAgICAgICAuLi9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uQ2xpZW50UXQuY3BwIFwKKyAgICAgICAg
Li4vV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQuY3Bw
IFwKKyAgICAgICAgYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAor
CisgICAgQ09ORklHICs9IG1vYmlsaXR5CisgICAgTU9CSUxJVFkgKz0gc2Vuc29ycworfQorCiBj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfU1ZHPTEpIHsKICAgICAhdjggewogICAgICAgICBTT1VS
Q0VTICs9IFwKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvV2ViS2l0
L3F0L0FwaS9xd2VicGFnZS5jcHAKaW5kZXggOTMyMTAzZC4uMTQzOTQ2OCAxMDA2NDQKLS0tIGEv
V2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5j
cHAKQEAgLTQ1LDYgKzQ1LDggQEAKICNpbmNsdWRlICJDaHJvbWVDbGllbnRRdC5oIgogI2luY2x1
ZGUgIkNvbnRleHRNZW51LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDbGllbnRRdC5oIgorI2lu
Y2x1ZGUgIkRldmljZU1vdGlvbkNsaWVudFF0LmgiCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRp
b25DbGllbnRRdC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRHJh
Z0NsaWVudFF0LmgiCiAjaW5jbHVkZSAiRHJhZ0NvbnRyb2xsZXIuaCIKQEAgLTI5OCw2ICszMDAs
MTAgQEAgUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUoUVdlYlBhZ2UgKnFxKQogICAg
IHBhZ2VDbGllbnRzLmVkaXRvckNsaWVudCA9IG5ldyBFZGl0b3JDbGllbnRRdChxKTsKICAgICBw
YWdlQ2xpZW50cy5kcmFnQ2xpZW50ID0gbmV3IERyYWdDbGllbnRRdChxKTsKICAgICBwYWdlQ2xp
ZW50cy5pbnNwZWN0b3JDbGllbnQgPSBuZXcgSW5zcGVjdG9yQ2xpZW50UXQocSk7CisjaWYgRU5B
QkxFKERFVklDRV9PUklFTlRBVElPTikKKyAgICBwYWdlQ2xpZW50cy5kZXZpY2VPcmllbnRhdGlv
bkNsaWVudCA9IG5ldyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0KHEpOworICAgIHBhZ2VDbGll
bnRzLmRldmljZU1vdGlvbkNsaWVudCA9IG5ldyBEZXZpY2VNb3Rpb25DbGllbnRRdChxKTsKKyNl
bmRpZgogICAgIHBhZ2UgPSBuZXcgUGFnZShwYWdlQ2xpZW50cyk7CiAKICAgICBzZXR0aW5ncyA9
IG5ldyBRV2ViU2V0dGluZ3MocGFnZS0+c2V0dGluZ3MoKSk7CmRpZmYgLS1naXQgYS9XZWJLaXQv
cXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCAwMWRiMWViLi43NWMyN2Jk
IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMC0xMC0wMiAgRGllZ28gR29uemFsZXogIDxkaWVnb2hj
Z0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gUHJvdmlkZSBRdCBzdXBwb3J0IGZvciBEZXZpY2VNb3Rpb24vT3JpZW50YXRp
b24gY2xpZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDcwNTEKKworICAgICAgICBJbXBsZW1lbnQgY2xpZW50IGNsYXNzZXMgdG8gbWFrZSBwb3Nz
aWJsZSB0byBob29rIHVwCisgICAgICAgIG1vdGlvbi9vcmllbnRhdGlvbiBkYXRhIGluIGZ1cnRo
ZXIgaW1wbGVtZW50YXRpb25zLgorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNwcDoKKyAgICAg
ICAgKFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9EZXZpY2VNb3Rpb25DbGllbnRRdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6RGV2aWNlTW90aW9uQ2xpZW50UXQ6OkRldmljZU1vdGlvbkNsaWVudFF0KToKKyAgICAgICAg
KFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudFF0OjpzZXRDb250cm9sbGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudFF0OjpzdGFydFVwZGF0aW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OkRldmljZU1vdGlvbkNsaWVudFF0OjpzdG9wVXBkYXRpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50UXQ6OmN1cnJlbnREZXZpY2VNb3Rpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50UXQ6OmRldmljZU1vdGlvbkNvbnRyb2xs
ZXJEZXN0cm95ZWQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0RldmljZU1vdGlvbkNsaWVu
dFF0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ2xpZW50UXQ6On5E
ZXZpY2VNb3Rpb25DbGllbnRRdCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRRdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRRdDo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdCk6CisgICAgICAgIChX
ZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpzZXRDb250cm9sbGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6OnN0YXJ0VXBkYXRpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6c3RvcFVwZGF0aW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6Omxhc3RPcmll
bnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0Ojpk
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQpOgorICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0Ojp+RGV2aWNlT3JpZW50YXRpb25DbGllbnRR
dCk6CisKIDIwMTAtMDktMzAgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uQ2xpZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0RldmljZU1vdGlvbkNsaWVudFF0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi41MDUyZDM4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0RldmljZU1vdGlvbkNsaWVudFF0LmNwcApAQCAtMCwwICsxLDU4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lk
aWFyeSgtaWVzKQorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KKyAqCisgKi8KKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25D
bGllbnRRdC5oIgorCisjaW5jbHVkZSAicXdlYnBhZ2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitEZXZpY2VNb3Rpb25DbGllbnRRdDo6RGV2aWNlTW90aW9uQ2xpZW50UXQoUVdlYlBhZ2Ug
KnBhZ2UpCisgICAgOiBtX3BhZ2UocGFnZSkKKyAgICAsIG1fY29udHJvbGxlcigwKQoreworfQor
Cit2b2lkIERldmljZU1vdGlvbkNsaWVudFF0OjpzZXRDb250cm9sbGVyKERldmljZU1vdGlvbkNv
bnRyb2xsZXIqIGNvbnRyb2xsZXIpCit7CisgICAgbV9jb250cm9sbGVyID0gY29udHJvbGxlcjsK
K30KKwordm9pZCBEZXZpY2VNb3Rpb25DbGllbnRRdDo6c3RhcnRVcGRhdGluZygpCit7Cit9CisK
K3ZvaWQgRGV2aWNlTW90aW9uQ2xpZW50UXQ6OnN0b3BVcGRhdGluZygpCit7Cit9CisKK0Rldmlj
ZU1vdGlvbkRhdGEqIERldmljZU1vdGlvbkNsaWVudFF0OjpjdXJyZW50RGV2aWNlTW90aW9uKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gMDsKK30KKwordm9pZCBEZXZpY2VNb3Rpb25DbGllbnRRdDo6
ZGV2aWNlTW90aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpCit7CisgICAgZGVsZXRlIHRoaXM7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2luY2x1ZGUgIm1vY19EZXZpY2VNb3Rpb25D
bGllbnRRdC5jcHAiCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNl
TW90aW9uQ2xpZW50UXQuaCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VNb3Rpb25D
bGllbnRRdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzMDAzZTEKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uQ2xp
ZW50UXQuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lh
IENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
CisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKyNpZm5kZWYgRGV2aWNl
TW90aW9uQ2xpZW50UXRfaAorI2RlZmluZSBEZXZpY2VNb3Rpb25DbGllbnRRdF9oCisKKyNpbmNs
dWRlICJEZXZpY2VNb3Rpb25DbGllbnQuaCIKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25EYXRhLmgi
CisKKyNpbmNsdWRlIDxRT2JqZWN0PgorCitjbGFzcyBRV2ViUGFnZTsKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBEZXZpY2VNb3Rpb25DbGllbnRRdCA6IHB1YmxpYyBRT2JqZWN0LCBw
dWJsaWMgRGV2aWNlTW90aW9uQ2xpZW50IHsKKyAgICBRX09CSkVDVAorcHVibGljOgorICAgIERl
dmljZU1vdGlvbkNsaWVudFF0KFFXZWJQYWdlICpwYWdlKTsKKyAgICB2aXJ0dWFsIH5EZXZpY2VN
b3Rpb25DbGllbnRRdCgpIHt9CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihEZXZp
Y2VNb3Rpb25Db250cm9sbGVyKik7CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKTsK
KyAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCk7CisgICAgdmlydHVhbCBEZXZpY2VNb3Rp
b25EYXRhKiBjdXJyZW50RGV2aWNlTW90aW9uKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGRl
dmljZU1vdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKTsKKworcHJpdmF0ZToKKyAgICBRV2ViUGFn
ZSogbV9wYWdlOworICAgIERldmljZU1vdGlvbkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKK307
CisKK30gLy8gbmFtZXNwZWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZU1vdGlvbkNsaWVu
dFF0X2gKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRh
dGlvbkNsaWVudFF0LmNwcCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRh
dGlvbkNsaWVudFF0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2Y0
YTM4Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9y
aWVudGF0aW9uQ2xpZW50UXQuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQu
aCIKKworI2luY2x1ZGUgInF3ZWJwYWdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRGV2
aWNlT3JpZW50YXRpb25DbGllbnRRdDo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdChRV2ViUGFn
ZSAqcGFnZSkKKyAgICA6IG1fcGFnZShwYWdlKQorICAgICwgbV9jb250cm9sbGVyKDApCit7Cit9
CisKK3ZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6c2V0Q29udHJvbGxlcihEZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIpCit7CisgICAgbV9jb250cm9sbGVyID0g
Y29udHJvbGxlcjsKK30KKwordm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpzdGFydFVw
ZGF0aW5nKCkKK3sKK30KKwordm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpzdG9wVXBk
YXRpbmcoKQoreworfQorCitEZXZpY2VPcmllbnRhdGlvbiogRGV2aWNlT3JpZW50YXRpb25DbGll
bnRRdDo6bGFzdE9yaWVudGF0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gMDsKK30KKwordm9p
ZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJE
ZXN0cm95ZWQoKQoreworICAgIGRlbGV0ZSB0aGlzOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNpbmNsdWRlICJtb2NfRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5jcHAiCmRpZmYg
LS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRR
dC5oIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzRkOGZmCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50
UXQuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENv
cnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKyNpZm5kZWYgRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRRdF9oCisjZGVmaW5lIERldmljZU9yaWVudGF0aW9uQ2xpZW50UXRfaAor
CisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb24uaCIKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRh
dGlvbkNsaWVudC5oIgorCisjaW5jbHVkZSA8UU9iamVjdD4KKworY2xhc3MgUVdlYlBhZ2U7CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdCA6
IHB1YmxpYyBRT2JqZWN0LCBwdWJsaWMgRGV2aWNlT3JpZW50YXRpb25DbGllbnQgeworICAgIFFf
T0JKRUNUCitwdWJsaWM6CisgICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdChRV2ViUGFnZSAq
cGFnZSk7CisgICAgdmlydHVhbCB+RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdCgpIHt9CisKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJvbGxlcihEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIq
KTsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpOworICAgIHZpcnR1YWwgdm9pZCBz
dG9wVXBkYXRpbmcoKTsKKyAgICB2aXJ0dWFsIERldmljZU9yaWVudGF0aW9uKiBsYXN0T3JpZW50
YXRpb24oKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyRGVzdHJveWVkKCk7CisKK3ByaXZhdGU6CisgICAgUVdlYlBhZ2UqIG1fcGFnZTsKKyAgICBE
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZU9yaWVudGF0aW9uQ2xpZW50UXRfaAot
LSAKMS43LjAuNAoK
</data>

          </attachment>
      

    </bug>

</bugzilla>