<?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>112910</bug_id>
          
          <creation_ts>2013-03-21 06:54:41 -0700</creation_ts>
          <short_desc>Implement the DeviceAcceleration and DeviceRotationRate IDL objects</short_desc>
          <delta_ts>2013-10-02 12:29:08 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>112711</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Peter Beverloo">peter</reporter>
          <assigned_to name="Peter Beverloo">peter</assigned_to>
          <cc>abarth</cc>
    
    <cc>andreip</cc>
    
    <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>peter+ews</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>rego+ews</cc>
    
    <cc>rniwa</cc>
    
    <cc>steveblock</cc>
    
    <cc>timvolodine</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>860299</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2013-03-21 06:54:41 -0700</bug_when>
    <thetext>Implement the DeviceAcceleration and DeviceRotationRate IDL objects</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860301</commentid>
    <comment_count>1</comment_count>
      <attachid>194254</attachid>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2013-03-21 06:57:12 -0700</bug_when>
    <thetext>Created attachment 194254
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860308</commentid>
    <comment_count>2</comment_count>
      <attachid>194254</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-03-21 07:10:23 -0700</bug_when>
    <thetext>Comment on attachment 194254
Patch

Attachment 194254 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/17228395</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860322</commentid>
    <comment_count>3</comment_count>
      <attachid>194259</attachid>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2013-03-21 07:35:50 -0700</bug_when>
    <thetext>Created attachment 194259
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860323</commentid>
    <comment_count>4</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2013-03-21 07:37:10 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 194254 [details])
&gt; Attachment 194254 [details] did not pass efl-ews (efl):
&gt; Output: http://webkit-commit-queue.appspot.com/results/17228395

Fixed the build with ENABLE_DEVICE_ORIENTATION=0. This should probably also be depending on the patch in bug 112711, which addresses Sam&apos;s concerns in the nullable type addition to the JSC binding generator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860325</commentid>
    <comment_count>5</comment_count>
      <attachid>194259</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-21 07:42:34 -0700</bug_when>
    <thetext>Comment on attachment 194259
Patch

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

Basically the patch looks great (Let me take a detailed look tomorrow.)

&gt; Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp:-133
&gt; -static JSObject* createAccelerationObject(const DeviceMotionData::Acceleration* acceleration, ExecState* exec)
&gt; -{
&gt; -    JSObject* object = constructEmptyObject(exec);
&gt; -    object-&gt;putDirect(exec-&gt;globalData(), Identifier(exec, &quot;x&quot;), acceleration-&gt;canProvideX() ? jsNumber(acceleration-&gt;x()) : jsNull());
&gt; -    object-&gt;putDirect(exec-&gt;globalData(), Identifier(exec, &quot;y&quot;), acceleration-&gt;canProvideY() ? jsNumber(acceleration-&gt;y()) : jsNull());
&gt; -    object-&gt;putDirect(exec-&gt;globalData(), Identifier(exec, &quot;z&quot;), acceleration-&gt;canProvideZ() ? jsNumber(acceleration-&gt;z()) : jsNull());
&gt; -    return object;
&gt; -}
&gt; -
&gt; -static JSObject* createRotationRateObject(const DeviceMotionData::RotationRate* rotationRate, ExecState* exec)
&gt; -{
&gt; -    JSObject* object = constructEmptyObject(exec);
&gt; -    object-&gt;putDirect(exec-&gt;globalData(), Identifier(exec, &quot;alpha&quot;), rotationRate-&gt;canProvideAlpha() ? jsNumber(rotationRate-&gt;alpha()) : jsNull());
&gt; -    object-&gt;putDirect(exec-&gt;globalData(), Identifier(exec, &quot;beta&quot;),  rotationRate-&gt;canProvideBeta()  ? jsNumber(rotationRate-&gt;beta())  : jsNull());
&gt; -    object-&gt;putDirect(exec-&gt;globalData(), Identifier(exec, &quot;gamma&quot;), rotationRate-&gt;canProvideGamma() ? jsNumber(rotationRate-&gt;gamma()) : jsNull());
&gt; -    return object;
&gt; -}
&gt; -

In your new code, where did this logic go?

Maybe did you remove the logic intentionally because there is no need to set those attributes onto the object? (It sounds reasonable to me, but I want to confirm your intention.)

&gt; Source/WebCore/bindings/v8/custom/V8DeviceMotionEventCustom.cpp:-57
&gt; -static v8::Handle&lt;v8::Value&gt; createAccelerationObject(const DeviceMotionData::Acceleration* acceleration, v8::Isolate* isolate)
&gt; -{
&gt; -    v8::Local&lt;v8::Object&gt; object = v8::Object::New();
&gt; -    object-&gt;Set(v8::String::NewSymbol(&quot;x&quot;), acceleration-&gt;canProvideX() ? v8::Number::New(acceleration-&gt;x()) : v8Null(isolate));
&gt; -    object-&gt;Set(v8::String::NewSymbol(&quot;y&quot;), acceleration-&gt;canProvideY() ? v8::Number::New(acceleration-&gt;y()) : v8Null(isolate));
&gt; -    object-&gt;Set(v8::String::NewSymbol(&quot;z&quot;), acceleration-&gt;canProvideZ() ? v8::Number::New(acceleration-&gt;z()) : v8Null(isolate));
&gt; -    return object;
&gt; -}
&gt; -
&gt; -static v8::Handle&lt;v8::Value&gt; createRotationRateObject(const DeviceMotionData::RotationRate* rotationRate, v8::Isolate* isolate)
&gt; -{
&gt; -    v8::Local&lt;v8::Object&gt; object = v8::Object::New();
&gt; -    object-&gt;Set(v8::String::NewSymbol(&quot;alpha&quot;), rotationRate-&gt;canProvideAlpha() ? v8::Number::New(rotationRate-&gt;alpha()) : v8Null(isolate));
&gt; -    object-&gt;Set(v8::String::NewSymbol(&quot;beta&quot;),  rotationRate-&gt;canProvideBeta()  ? v8::Number::New(rotationRate-&gt;beta())  : v8Null(isolate));
&gt; -    object-&gt;Set(v8::String::NewSymbol(&quot;gamma&quot;), rotationRate-&gt;canProvideGamma() ? v8::Number::New(rotationRate-&gt;gamma()) : v8Null(isolate));
&gt; -    return object;
&gt; -}
&gt; -

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860327</commentid>
    <comment_count>6</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2013-03-21 07:45:54 -0700</bug_when>
    <thetext>This is now done lazily in the DeviceMotionEvent::{acceleration,accelerationIncludingGravity,rotationRate} methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860332</commentid>
    <comment_count>7</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-21 07:49:55 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; This is now done lazily in the DeviceMotionEvent::{acceleration,accelerationIncludingGravity,rotationRate} methods.

Where is your new code calling object-&gt;putDirect() or object-&gt;Set() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860334</commentid>
    <comment_count>8</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2013-03-21 07:54:45 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; This is now done lazily in the DeviceMotionEvent::{acceleration,accelerationIncludingGravity,rotationRate} methods.
&gt; 
&gt; Where is your new code calling object-&gt;putDirect() or object-&gt;Set() ?

We don&apos;t need to do that anymore :-).

The Device Orientation specification specifies that these values should be stored in DeviceAcceleration (for DeviceMotionEvent.acceleration and .accelerationIncludingGravity) and DeviceRotationRate (for .rotationRate) objects.  This patch implements these objects and returns instances of them instead of manually creating an &quot;anonymous&quot; object, which we previously did.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860337</commentid>
    <comment_count>9</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-21 07:56:45 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; This is now done lazily in the DeviceMotionEvent::{acceleration,accelerationIncludingGravity,rotationRate} methods.
&gt; &gt; 
&gt; &gt; Where is your new code calling object-&gt;putDirect() or object-&gt;Set() ?
&gt; 
&gt; We don&apos;t need to do that anymore :-).
&gt; 
&gt; The Device Orientation specification specifies that these values should be stored in DeviceAcceleration (for DeviceMotionEvent.acceleration and .accelerationIncludingGravity) and DeviceRotationRate (for .rotationRate) objects.  This patch implements these objects and returns instances of them instead of manually creating an &quot;anonymous&quot; object, which we previously did.

Makes sense! Thanks for the clarification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860343</commentid>
    <comment_count>10</comment_count>
      <attachid>194259</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-21 08:01:38 -0700</bug_when>
    <thetext>Comment on attachment 194259
Patch

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

Looks OK. Thanks for removing a bunch of custom bindings.

&gt; Source/WebCore/dom/DeviceMotionEvent.cpp:69
&gt; +    if (!m_acceleration.get())

Nit: .get() is not needed.

&gt; Source/WebCore/dom/DeviceMotionEvent.cpp:80
&gt; +    if (!m_accelerationIncludingGravity.get())

Ditto.

&gt; Source/WebCore/dom/DeviceMotionEvent.cpp:91
&gt; +    if (!m_rotationRate.get())

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860344</commentid>
    <comment_count>11</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2013-03-21 08:06:15 -0700</bug_when>
    <thetext>Thank you!  I&apos;ll revise and land when bug 112711 is resolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860545</commentid>
    <comment_count>12</comment_count>
      <attachid>194259</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2013-03-21 12:08:03 -0700</bug_when>
    <thetext>Comment on attachment 194259
Patch

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

&gt; Source/WebCore/dom/DeviceOrientationEvent.idl:32
&gt; +    readonly attribute boolean? absolute;

The absolute property shouldn&apos;t be nullable, though it looks like this was wrong before your change too. Do we have a bug for that?

&gt; Source/WebCore/dom/DeviceRotationRate.idl:28
&gt; +    ImplementationLacksVTable

I think the new interfaces should specify &apos;OmitConstructor&apos;, as these types use &apos;NoInterfaceObject &apos; in the spec so shouldn&apos;t be constructable from JS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860634</commentid>
    <comment_count>13</comment_count>
      <attachid>194259</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-21 13:39:26 -0700</bug_when>
    <thetext>Comment on attachment 194259
Patch

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

This looks great, but I think there&apos;s a use-after-free issue here.

&gt; Source/WebCore/dom/DeviceAcceleration.h:48
&gt; +    const DeviceMotionData::Acceleration* m_acceleration;

What&apos;s the ownership relationship between these two objects?  DeviceAcceleration is RefCounted, so there&apos;s a risk that it might outlive m_acceleration.

&gt; Source/WebCore/dom/DeviceAcceleration.idl:30
&gt; +    readonly attribute double? x;

Nice!

&gt; Source/WebCore/dom/DeviceRotationRate.h:48
&gt; +    const DeviceMotionData::RotationRate* m_rotationRate;

Same problem here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860668</commentid>
    <comment_count>14</comment_count>
      <attachid>194259</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2013-03-21 14:05:06 -0700</bug_when>
    <thetext>Comment on attachment 194259
Patch

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

&gt;&gt; Source/WebCore/dom/DeviceRotationRate.idl:28
&gt;&gt; +    ImplementationLacksVTable
&gt; 
&gt; I think the new interfaces should specify &apos;OmitConstructor&apos;, as these types use &apos;NoInterfaceObject &apos; in the spec so shouldn&apos;t be constructable from JS.

Actually, according to http://trac.webkit.org/wiki/WebKitIDL#OmitConstructor it looks OmitConstructor is deprecated, so I&apos;m not sure what it does or if it&apos;s needed. Perhaps you should check with haraken?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860891</commentid>
    <comment_count>15</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-21 16:57:28 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 194259 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=194259&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/dom/DeviceRotationRate.idl:28
&gt; &gt;&gt; +    ImplementationLacksVTable
&gt; &gt; 
&gt; &gt; I think the new interfaces should specify &apos;OmitConstructor&apos;, as these types use &apos;NoInterfaceObject &apos; in the spec so shouldn&apos;t be constructable from JS.
&gt; 
&gt; Actually, according to http://trac.webkit.org/wiki/WebKitIDL#OmitConstructor it looks OmitConstructor is deprecated, so I&apos;m not sure what it does or if it&apos;s needed. Perhaps you should check with haraken?

Correct me if I&apos;m wrong, I&apos;m not 100% sure:

In the current WebKit IDL, there is no IDL attribute for [NoInterfaceObject]. Alternately, whether an interface XXX is exposed to a window object or not is controlled (not by [NoInterfaceObject] but) by whether you write &apos;XXXConstructor XXX&apos; in DOMWindow.idl or not.

I don&apos;t know what [OmitConstructor] does. [OmitConstructor] is used by JSC only. I tried to remove it a while ago but couldn&apos;t for some reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860892</commentid>
    <comment_count>16</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-21 16:59:23 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; &gt; &gt; I think the new interfaces should specify &apos;OmitConstructor&apos;, as these types use &apos;NoInterfaceObject &apos; in the spec so shouldn&apos;t be constructable from JS.

Note: [NoInterfaceObject] and [Constructor] are different things.

- [NoInterfaceObject] controls whether XXX is exposed to a window object or not (i.e. &apos;window.XXX&apos; is undefined or not).

- [Constructor] controls whether XXX is constructable from JS or not (i.e. &apos;new XXX&apos; works or not).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860957</commentid>
    <comment_count>17</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2013-03-21 18:09:26 -0700</bug_when>
    <thetext>Thanks for the clarification. So in WebIDL, by default, interfaces are present on the window object (ie ![NoInterfaceObject]) but not constructable (ie ![Constructor]), right? And presumably if something specifies [NoInterfaceObject] in WebIDL, then it would make no sense to specify [Constructor] too.

As for whether you should use [OmitConstructor] here, I now have no idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860960</commentid>
    <comment_count>18</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-21 18:16:45 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; Thanks for the clarification. So in WebIDL, by default, interfaces are present on the window object (ie ![NoInterfaceObject]) but not constructable (ie ![Constructor]), right? And presumably if something specifies [NoInterfaceObject] in WebIDL, then it would make no sense to specify [Constructor] too.

Yes. The Web IDL spec says that [Constructor] must not be specified if [NoInterfaceObject] is specified. (http://www.w3.org/TR/WebIDL/#NoInterfaceObject)


&gt; As for whether you should use [OmitConstructor] here, I now have no idea.

I think that the current patch is correct:

- [Constructor] shouldn&apos;t be specified (because the interface is not constructable)
- The interface should not be added to DOMWindow.idl (because the interface is speced as [NoInteraceObject])
- [OmitConstructor] is not needed (Actually I don&apos;t know what it is. It is used by JSC only and can be removed.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861574</commentid>
    <comment_count>19</comment_count>
      <attachid>194572</attachid>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2013-03-22 09:42:07 -0700</bug_when>
    <thetext>Created attachment 194572
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861578</commentid>
    <comment_count>20</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2013-03-22 09:44:41 -0700</bug_when>
    <thetext>Thank you for the reviews!

(In reply to comment #10)
&gt; (From update of attachment 194259 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=194259&amp;action=review
&gt; 
&gt; Looks OK. Thanks for removing a bunch of custom bindings.
&gt; 
&gt; &gt; Source/WebCore/dom/DeviceMotionEvent.cpp:69
&gt; &gt; +    if (!m_acceleration.get())
&gt; 
&gt; Nit: .get() is not needed.
&gt; 
&gt; &gt; Source/WebCore/dom/DeviceMotionEvent.cpp:80
&gt; &gt; +    if (!m_accelerationIncludingGravity.get())
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/dom/DeviceMotionEvent.cpp:91
&gt; &gt; +    if (!m_rotationRate.get())
&gt; 
&gt; Ditto.

Done all of these, thanks.


(In reply to comment #13)
&gt; (From update of attachment 194259 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=194259&amp;action=review
&gt; 
&gt; This looks great, but I think there&apos;s a use-after-free issue here.
&gt; 
&gt; &gt; Source/WebCore/dom/DeviceAcceleration.h:48
&gt; &gt; +    const DeviceMotionData::Acceleration* m_acceleration;
&gt; 
&gt; What&apos;s the ownership relationship between these two objects?  DeviceAcceleration is RefCounted, so there&apos;s a risk that it might outlive m_acceleration.

Eh, you&apos;re right. Thanks for catching that! I&apos;ve amended the patch so DeviceAcceleration and DeviceRotationRate maintain a reference instead.

&gt; 
&gt; &gt; Source/WebCore/dom/DeviceAcceleration.idl:30
&gt; &gt; +    readonly attribute double? x;
&gt; 
&gt; Nice!
&gt; 
&gt; &gt; Source/WebCore/dom/DeviceRotationRate.h:48
&gt; &gt; +    const DeviceMotionData::RotationRate* m_rotationRate;
&gt; 
&gt; Same problem here.

Done.

(In reply to comment #12)
&gt; (From update of attachment 194259 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=194259&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/DeviceOrientationEvent.idl:32
&gt; &gt; +    readonly attribute boolean? absolute;
&gt; 
&gt; The absolute property shouldn&apos;t be nullable, though it looks like this was wrong before your change too. Do we have a bug for that?

I asked Andrei about the same thing, and he mentioned it should be nullable in the case where the implementation cannot be certain.  I&apos;ll be sharing feedback on the specification later on with you as well.
 
&gt; &gt; Source/WebCore/dom/DeviceRotationRate.idl:28
&gt; &gt; +    ImplementationLacksVTable
&gt; 
&gt; I think the new interfaces should specify &apos;OmitConstructor&apos;, as these types use &apos;NoInterfaceObject &apos; in the spec so shouldn&apos;t be constructable from JS.

As discussed (thanks!) -- no action taken.


I need to modify the XCode project files before landing this, but don&apos;t have a Mac at hand to actually do this.  Is there a way to update these files without having XCode installed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861599</commentid>
    <comment_count>21</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2013-03-22 10:03:55 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 194259 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=194259&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/DeviceOrientationEvent.idl:32
&gt; &gt; +    readonly attribute boolean? absolute;
&gt; 
&gt; The absolute property shouldn&apos;t be nullable, though it looks like this was wrong before your change too. Do we have a bug for that?
&gt; 

Hey Steve, do you remember why it should not be nullable? Everything else in that interface is nullable. If the implementation runs on a device without a compass or accelerometer, what should be the absolute value? In the spec we say that, in such a case, the implementation should fire a DeviceOrienationEvent once with all properties set to null. But if absolute is not nullable...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861634</commentid>
    <comment_count>22</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2013-03-22 10:34:17 -0700</bug_when>
    <thetext>&gt; Hey Steve, do you remember why it should not be nullable?
I think we decided that if an implementation has rotation values, but isn&apos;t sure whether or not they&apos;re absolute, it should set &apos;absolute&apos; to false. The only case when absolute can be null is if the implementation can&apos;t provide any values at. I think we just never updated the spec to reflect this. 
 
&gt; I need to modify the XCode project files before landing this ...
You can edit the XCode project file by hand by pattern matching with entries for similar files - it&apos;s just slow!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861640</commentid>
    <comment_count>23</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2013-03-22 10:36:57 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; &gt; Hey Steve, do you remember why it should not be nullable?
&gt; I think we decided that if an implementation has rotation values, but isn&apos;t sure whether or not they&apos;re absolute, it should set &apos;absolute&apos; to false. The only case when absolute can be null is if the implementation can&apos;t provide any values at. I think we just never updated the spec to reflect this. 
&gt; 

Right, that&apos;s what I thought. But if there is a case where it can be null, shouldn&apos;t the IDL mark this attribute as nullable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861679</commentid>
    <comment_count>24</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2013-03-22 11:02:15 -0700</bug_when>
    <thetext>&gt; But if there is a case where it can be null, shouldn&apos;t the IDL mark this attribute as nullable?
Correct. That&apos;s what I meant by needing to update the spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867752</commentid>
    <comment_count>25</comment_count>
      <attachid>194572</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-04-02 05:22:17 -0700</bug_when>
    <thetext>Comment on attachment 194572
Patch

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868138</commentid>
    <comment_count>26</comment_count>
      <attachid>196204</attachid>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2013-04-02 11:58:16 -0700</bug_when>
    <thetext>Created attachment 196204
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868139</commentid>
    <comment_count>27</comment_count>
      <attachid>196204</attachid>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2013-04-02 11:59:12 -0700</bug_when>
    <thetext>Comment on attachment 196204
Patch for landing

Will cq+ based on ews results.. Thanks Haraken-san!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868161</commentid>
    <comment_count>28</comment_count>
      <attachid>196204</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-04-02 12:28:02 -0700</bug_when>
    <thetext>Comment on attachment 196204
Patch for landing

Attachment 196204 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17383286</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868170</commentid>
    <comment_count>29</comment_count>
      <attachid>196204</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-04-02 12:41:51 -0700</bug_when>
    <thetext>Comment on attachment 196204
Patch for landing

Attachment 196204 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17383290</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868188</commentid>
    <comment_count>30</comment_count>
      <attachid>196204</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-04-02 13:00:23 -0700</bug_when>
    <thetext>Comment on attachment 196204
Patch for landing

Attachment 196204 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17409064</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868198</commentid>
    <comment_count>31</comment_count>
      <attachid>196204</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-02 13:13:24 -0700</bug_when>
    <thetext>Comment on attachment 196204
Patch for landing

Attachment 196204 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17405107</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868200</commentid>
    <comment_count>32</comment_count>
      <attachid>196204</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-02 13:20:15 -0700</bug_when>
    <thetext>Comment on attachment 196204
Patch for landing

Attachment 196204 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17376273</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868239</commentid>
    <comment_count>33</comment_count>
      <attachid>196204</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2013-04-02 14:18:43 -0700</bug_when>
    <thetext>Comment on attachment 196204
Patch for landing

Attachment 196204 did not pass cr-android-ews (chromium-android):
Output: http://webkit-commit-queue.appspot.com/results/17343666</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868262</commentid>
    <comment_count>34</comment_count>
      <attachid>196204</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-04-02 14:48:46 -0700</bug_when>
    <thetext>Comment on attachment 196204
Patch for landing

Attachment 196204 did not pass efl-ews (efl):
Output: http://webkit-commit-queue.appspot.com/results/17320702</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868323</commentid>
    <comment_count>35</comment_count>
      <attachid>196204</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-04-02 16:14:33 -0700</bug_when>
    <thetext>Comment on attachment 196204
Patch for landing

Attachment 196204 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17338669</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868512</commentid>
    <comment_count>36</comment_count>
      <attachid>196204</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-04-03 01:19:53 -0700</bug_when>
    <thetext>Comment on attachment 196204
Patch for landing

Attachment 196204 did not pass win-ews (win):
Output: http://webkit-commit-queue.appspot.com/results/17240860</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194254</attachid>
            <date>2013-03-21 06:57:12 -0700</date>
            <delta_ts>2013-03-21 07:35:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112910-20130321135300.patch</filename>
            <type>text/plain</type>
            <size>44613</size>
            <attacher name="Peter Beverloo">peter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDZjMmY0MzQ5MGVhMjAx
OTMxZDNkYmM5NDQxM2ZiNTIxZjhmZTRmZS4uMWY3NDcwNDQwMTRiMWYyYWEyNTBkNGE4MGQ2ZWYw
ZGM2NjM0YzdkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTAzLTIxICBQZXRl
ciBCZXZlcmxvbyAgPHBldGVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgdGhl
IERldmljZUFjY2VsZXJhdGlvbiBhbmQgRGV2aWNlUm90YXRpb25SYXRlIElETCBvYmplY3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI5MTAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdGhl
IGN1c3RvbSBiaW5kaW5ncyAtLWV4Y2VwdCBmb3IgdGhlIGV2ZW50IGluaXRpYWxpemF0aW9uCisg
ICAgICAgIG1ldGhvZHMtLSBpbiBmYXZvciBvZiBpbXBsZW1lbnRpbmcgdGhlIElETCBvYmplY3Rz
IGFzIGRlZmluZWQgYnkKKyAgICAgICAgdGhlIHNwZWNpZmljYXRpb24uIFRoaXMgcGF0Y2ggYWRk
cyB0aGUgRGV2aWNlQWNjZWxlcmF0aW9uIGFuZAorICAgICAgICBEZXZpY2VSb3RhdGlvblJhdGUg
b2JqZWN0cy4KKworICAgICAgICBUaGVyZSBzaG91bGQgYmUgbm8gb2JzZXJ2YWJsZSBjaGFuZ2Ug
aW4gYmVoYXZpb3IuIFRoaXMgaXMgYmVpbmcKKyAgICAgICAgZXhjZXJzaXplZCBieSB0aGUgZXhp
c3RpbmcgbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6Cisg
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RldmljZU1vdGlv
bkV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0
aW9uRXZlbnRDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmlj
ZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBkb20vRE9NQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VBY2NlbGVyYXRpb24uY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlQWNjZWxlcmF0aW9uOjpE
ZXZpY2VBY2NlbGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlQWNjZWxlcmF0aW9u
Ojp4KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZUFjY2VsZXJhdGlvbjo6eSk6CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VBY2NlbGVyYXRpb246OnopOgorICAgICAgICAqIGRvbS9EZXZpY2VB
Y2NlbGVyYXRpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERldmlj
ZUFjY2VsZXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VBY2NlbGVyYXRpb246OmNy
ZWF0ZSk6CisgICAgICAgICogZG9tL0RldmljZUFjY2VsZXJhdGlvbi5pZGw6IEFkZGVkLgorICAg
ICAgICAqIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZp
Y2VNb3Rpb25FdmVudDo6aW5pdERldmljZU1vdGlvbkV2ZW50KToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uRXZlbnQ6OmFjY2VsZXJhdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25FdmVudDo6YWNjZWxlcmF0aW9uSW5jbHVkaW5n
R3Jhdml0eSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25FdmVudDo6cm90YXRpb25S
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkV2ZW50OjppbnRlcnZhbCk6Cisg
ICAgICAgICogZG9tL0RldmljZU1vdGlvbkV2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKERldmljZU1vdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uRXZl
bnQuaWRsOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uRXZlbnQ6OmFscGhhKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25FdmVudDo6YmV0YSk6
CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpnYW1tYSk6CisgICAg
ICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjphYnNvbHV0ZSk6CisgICAgICAg
ICogZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaDoKKyAgICAgICAgKERldmljZU9yaWVudGF0
aW9uRXZlbnQpOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbDoKKyAg
ICAgICAgKiBkb20vRGV2aWNlUm90YXRpb25SYXRlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVJvdGF0aW9uUmF0ZTo6RGV2aWNlUm90YXRp
b25SYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVJvdGF0aW9uUmF0ZTo6YWxwaGEpOgor
ICAgICAgICAoV2ViQ29yZTo6RGV2aWNlUm90YXRpb25SYXRlOjpiZXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OkRldmljZVJvdGF0aW9uUmF0ZTo6Z2FtbWEpOgorICAgICAgICAqIGRvbS9EZXZpY2VS
b3RhdGlvblJhdGUuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERldmlj
ZVJvdGF0aW9uUmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VSb3RhdGlvblJhdGU6OmNy
ZWF0ZSk6CisgICAgICAgICogZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5pZGw6IEFkZGVkLgorCiAy
MDEzLTAzLTIwICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29t
PgogCiAgICAgICAgIFtRdF0gTmV3IGZhc3QvdGV4dC93b3JkLXNwYWNlLXdpdGgta2VybmluZy0z
Lmh0bWwgZmFpbHMgb24gUXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMGE0NGY1OGRlNzEyNWEz
YmI5NmZhNDU2ZDk2NjgwYzFkYTRhYzEwMC4uZmE1YTQ5YjE0OWZjNWVjMWVmYWQ1NjE1OTcwNjA1
M2E1OTZlMDdiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM0Myw4ICszNDMsMTAgQEAgc2V0
KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgZG9tL0N1c3RvbUV2ZW50LmlkbAogICAgIGRvbS9EYXRh
VHJhbnNmZXJJdGVtLmlkbAogICAgIGRvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5pZGwKKyAgICBk
b20vRGV2aWNlQWNjZWxlcmF0aW9uLmlkbAogICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwK
ICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwKKyAgICBkb20vRGV2aWNlUm90YXRp
b25SYXRlLmlkbAogICAgIGRvbS9ET01Db3JlRXhjZXB0aW9uLmlkbAogICAgIGRvbS9ET01FcnJv
ci5pZGwKICAgICBkb20vRE9NSW1wbGVtZW50YXRpb24uaWRsCkBAIC0xMTQwLDEyICsxMTQyLDE0
IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vRGF0YXNldERPTVN0cmluZ01hcC5jcHAK
ICAgICBkb20vRGF0YVRyYW5zZmVySXRlbS5jcHAKICAgICBkb20vRGVjb2RlZERhdGFEb2N1bWVu
dFBhcnNlci5jcHAKKyAgICBkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmNwcAogICAgIGRvbS9EZXZp
Y2VNb3Rpb25Db250cm9sbGVyLmNwcAogICAgIGRvbS9EZXZpY2VNb3Rpb25EYXRhLmNwcAogICAg
IGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25Db250
cm9sbGVyLmNwcAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkRhdGEuY3BwCiAgICAgZG9tL0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCisgICAgZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5jcHAK
ICAgICBkb20vRE9NQ29yZUV4Y2VwdGlvbi5jcHAKICAgICBkb20vRE9NRXJyb3IuY3BwCiAgICAg
ZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5k
ZXggNzU5YjRmMDhkZjIwZTUwNDg3Zjg1ZDcyNjQyZjIzYWNiZTE0YjI5Yi4uODhkNGFlMzIxZDcz
Y2IzYzIzMGFjY2ZkYWYwOGZiZmU1OGViY2Y2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCkBAIC0yMzMsOCArMjMzLDEwIEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUp
L2RvbS9ET01TdHJpbmdNYXAuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9EYXRhVHJhbnNmZXJJ
dGVtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsIFwK
KyAgICAkKFdlYkNvcmUpL2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uaWRsIFwKICAgICAkKFdlYkNv
cmUpL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0Rldmlj
ZU9yaWVudGF0aW9uRXZlbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9EZXZpY2VSb3RhdGlv
blJhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9Eb2N1bWVudC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9Eb2N1
bWVudFR5cGUuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCA0MjEyYjg1NTg5
OGMwOGM0NjJlNDhjOTE3MDhiYjgyYzA1YmI1NDA1Li5jZGMxZmU5NmY2YjNjM2EwOTZhZTllMzY0
ZTU4NTA3NjQ5OTk5YTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0yMzUsOCAr
MjM1LDEwIEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvZG9tL0N1c3RvbUV2ZW50Lmlk
bCBcCiAgICAgJCRQV0QvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsIFwKICAgICAkJFBXRC9kb20v
RGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsIFwKKyAgICAkJFBXRC9kb20vRGV2aWNlQWNjZWxlcmF0
aW9uLmlkbCBcCiAgICAgJCRQV0QvZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbCBcCiAgICAgJCRQ
V0QvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsIFwKKyAgICAkJFBXRC9kb20vRGV2aWNl
Um90YXRpb25SYXRlLmlkbCBcCiAgICAgJCRQV0QvZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsIFwK
ICAgICAkJFBXRC9kb20vRG9jdW1lbnQuaWRsIFwKICAgICAkJFBXRC9kb20vRG9jdW1lbnRUeXBl
LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA0Y2QxZmMzOWMyNTMwMmZk
MmVkOGEwODcwYzdhMWQ1NmNjODA1YzE2Li5lNmVlM2U5YTA3ZjFkOGQ0MDUxNjZiMzk1MGRjY2Mx
YzYzZmUzMGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTE2MSwxMCArMTYx
LDE0IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0RlZGljYXRlZFdvcmtlckNvbnRleHQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0RlbGF5Tm9kZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZWxheU5vZGUuaCBc
CisgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZUFjY2VsZXJhdGlvbi5jcHAgXAor
ICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VBY2NlbGVyYXRpb24uaCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZU1vdGlvbkV2ZW50LmNwcCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0RldmljZU1vdGlvbkV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCBcCisgICAgRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RldmljZVJvdGF0aW9uUmF0ZS5jcHAgXAorICAgIERlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNEZXZpY2VSb3RhdGlvblJhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Rp
cmVjdG9yeUVudHJ5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RpcmVjdG9yeUVu
dHJ5LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEaXJlY3RvcnlFbnRyeVN5bmMuY3Bw
IFwKQEAgLTEzOTAsOCArMTM5NCwxMCBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNv
cmUpL2RvbS9ET01TdHJpbmdNYXAuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9EYXRhVHJhbnNmZXJJ
dGVtLmlkbCBcCiAJJChXZWJDb3JlKS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uaWRsIFwKIAkkKFdlYkNvcmUpL2Rv
bS9EZXZpY2VNb3Rpb25FdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0RldmljZU9yaWVudGF0
aW9uRXZlbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9EZXZpY2VSb3RhdGlvblJhdGUuaWRs
IFwKIAkkKFdlYkNvcmUpL2RvbS9Eb2N1bWVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0RvY3Vt
ZW50RnJhZ21lbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9Eb2N1bWVudFR5cGUuaWRsIFwKQEAg
LTI4MjksNiArMjgzNSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL2Rl
ZmF1bHQvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9k
b20vZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oIFwKKyAgICBTb3VyY2UvV2Vi
Q29yZS9kb20vRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCBcCisgICAgU291cmNlL1dlYkNvcmUvZG9t
L0RldmljZUFjY2VsZXJhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9u
Q2xpZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBcCkBAIC0y
ODQzLDYgKzI4NTEsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VPcmllbnRhdGlvbkRhdGEuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9y
aWVudGF0aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b25FdmVudC5oIFwKKyAgICBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlUm90YXRpb25SYXRlLmNw
cCBcCisgICAgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnRGcmFnbWVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50Lmgg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKaW5kZXggOTY3MjlhZmM4ZTc2NDc4MGNmZTE3NTBlMzYwMWYwMTFhOGNkYWEz
Ny4uZWRjMzVkM2VjZTU5YWFhMmYyY2M5OGE1NmEyNDE3YWVmNWRjYWU3YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CkBAIC0zNzcsMTIgKzM3NywxNCBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vQ29udGV4dEZlYXR1
cmVzLmNwcCBcCiAgICAgZG9tL0N1c3RvbUV2ZW50LmNwcCBcCiAgICAgZG9tL0RlY29kZWREYXRh
RG9jdW1lbnRQYXJzZXIuY3BwIFwKKyAgICBkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCBcCiAg
ICAgZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIFwKICAgICBkb20vRGV2aWNlTW90aW9u
RGF0YS5jcHAgXAogICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAgXAogICAgIGRvbS9EZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25E
YXRhLmNwcCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKKyAgICBkb20v
RGV2aWNlUm90YXRpb25SYXRlLmNwcCBcCiAgICAgZG9tL0RvY3VtZW50LmNwcCBcCiAgICAgZG9t
L0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAgXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmNwcCBc
CkBAIC0xNjIwLDYgKzE2MjIsNyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vQ29udGV4dEZlYXR1
cmVzLmggXAogICAgIGRvbS9DdXN0b21FdmVudC5oIFwKICAgICBkb20vZGVmYXVsdC9QbGF0Zm9y
bU1lc3NhZ2VQb3J0Q2hhbm5lbC5oIFwKKyAgICBkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmggXAog
ICAgIGRvbS9EZXZpY2VNb3Rpb25DbGllbnQuaCBcCiAgICAgZG9tL0RldmljZU1vdGlvbkNvbnRy
b2xsZXIuaCBcCiAgICAgZG9tL0RldmljZU1vdGlvbkRhdGEuaCBcCkBAIC0xNjI4LDYgKzE2MzEs
NyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgg
XAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkRhdGEuaCBcCiAgICAgZG9tL0RldmljZU9yaWVu
dGF0aW9uRXZlbnQuaCBcCisgICAgZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5oIFwKICAgICBkb20v
RG9jdW1lbnQuaCBcCiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuaCBcCiAgICAgZG9tL0RvY3Vt
ZW50TWFya2VyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDRlZjVkYTcwOWVhZDkyYTZjZGZmNWM5
NWI3Zjk4ODcwYTYyOWY1YWYuLjk1YjU2NjE0ZGJkOTdjZDdmOGRlZDJiMTRkN2IyNGNmMzQ4YTFl
YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTI5OSw4ICsyOTksMTAgQEAKICAgICAgICAgICAgICdk
b20vRE9NU3RyaW5nTWFwLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RhdGFUcmFuc2Zlckl0ZW0u
aWRsJywKICAgICAgICAgICAgICdkb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsJywKKyAgICAg
ICAgICAgICdkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0Rl
dmljZU1vdGlvbkV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9u
RXZlbnQuaWRsJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlUm90YXRpb25SYXRlLmlkbCcsCiAg
ICAgICAgICAgICAnZG9tL0RvY3VtZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50
RnJhZ21lbnQuaWRsJywKICAgICAgICAgICAgICdkb20vRG9jdW1lbnRUeXBlLmlkbCcsCkBAIC0y
OTE4LDYgKzI5MjAsOCBAQAogICAgICAgICAgICAgJ2RvbS9EYXRhc2V0RE9NU3RyaW5nTWFwLmgn
LAogICAgICAgICAgICAgJ2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCcsCiAgICAg
ICAgICAgICAnZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuaCcsCisgICAgICAgICAgICAn
ZG9tL0RldmljZUFjY2VsZXJhdGlvbi5jcHAnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VBY2Nl
bGVyYXRpb24uaCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU1vdGlvbkNsaWVudC5oJywKICAg
ICAgICAgICAgICdkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAnLAogICAgICAgICAgICAg
J2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmgnLApAQCAtMjkzMCw2ICsyOTM0LDggQEAKICAg
ICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb25EYXRhLmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vRGV2aWNl
T3JpZW50YXRpb25FdmVudC5oJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlUm90YXRpb25SYXRl
LmNwcCcsCisgICAgICAgICAgICAnZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5oJywKICAgICAgICAg
ICAgICdkb20vRG9jdW1lbnQuY3BwJywKICAgICAgICAgICAgICdkb20vRG9jdW1lbnRFdmVudFF1
ZXVlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5oJywKQEAgLTY0
ODgsMTAgKzY0OTQsMTQgQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oJywKICAgICAgICAgICAgICc8
KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGVsYXlOb2RlLmNwcCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RlbGF5
Tm9kZS5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZUFjY2VsZXJhdGlvbi5oJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGV2aWNlTW90
aW9uRXZlbnQuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRGV2aWNlTW90aW9uRXZlbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3Bw
JywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
RGV2aWNlT3JpZW50YXRpb25FdmVudC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGV2aWNlUm90YXRpb25SYXRlLmNwcCcsCisgICAgICAg
ICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZVJvdGF0
aW9uUmF0ZS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRGlyZWN0b3J5RW50cnkuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGlyZWN0b3J5RW50cnkuaCcsCiAgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RpcmVjdG9yeUVudHJ5
U3luYy5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZp
Y2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rl
dmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcAppbmRleCA2MTEyNzY3ZDc4ZWZkODUxNzc3Y2Q4ZGIx
MTgzYTIwMTY0NzdiZTgzLi40ZGI5NmUzMmMxZDNlOGFhMmMzMDU5YzhjM2U1MTljY2RhOWQ0Nzg2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU1vdGlvbkV2
ZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU1v
dGlvbkV2ZW50Q3VzdG9tLmNwcApAQCAtMTEzLDU2ICsxMTMsNiBAQCBzdGF0aWMgUGFzc1JlZlB0
cjxEZXZpY2VNb3Rpb25EYXRhOjpSb3RhdGlvblJhdGU+IHJlYWRSb3RhdGlvblJhdGVBcmd1bWVu
dChKU1ZhbAogICAgIHJldHVybiBEZXZpY2VNb3Rpb25EYXRhOjpSb3RhdGlvblJhdGU6OmNyZWF0
ZShjYW5Qcm92aWRlQWxwaGEsIGFscGhhLCBjYW5Qcm92aWRlQmV0YSwgYmV0YSwgY2FuUHJvdmlk
ZUdhbW1hLCBnYW1tYSk7CiB9CiAKLXN0YXRpYyBKU09iamVjdCogY3JlYXRlQWNjZWxlcmF0aW9u
T2JqZWN0KGNvbnN0IERldmljZU1vdGlvbkRhdGE6OkFjY2VsZXJhdGlvbiogYWNjZWxlcmF0aW9u
LCBFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAgSlNPYmplY3QqIG9iamVjdCA9IGNvbnN0cnVjdEVt
cHR5T2JqZWN0KGV4ZWMpOwotICAgIG9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEo
KSwgSWRlbnRpZmllcihleGVjLCAieCIpLCBhY2NlbGVyYXRpb24tPmNhblByb3ZpZGVYKCkgPyBq
c051bWJlcihhY2NlbGVyYXRpb24tPngoKSkgOiBqc051bGwoKSk7Ci0gICAgb2JqZWN0LT5wdXRE
aXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBJZGVudGlmaWVyKGV4ZWMsICJ5IiksIGFjY2VsZXJh
dGlvbi0+Y2FuUHJvdmlkZVkoKSA/IGpzTnVtYmVyKGFjY2VsZXJhdGlvbi0+eSgpKSA6IGpzTnVs
bCgpKTsKLSAgICBvYmplY3QtPnB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIElkZW50aWZp
ZXIoZXhlYywgInoiKSwgYWNjZWxlcmF0aW9uLT5jYW5Qcm92aWRlWigpID8ganNOdW1iZXIoYWNj
ZWxlcmF0aW9uLT56KCkpIDoganNOdWxsKCkpOwotICAgIHJldHVybiBvYmplY3Q7Ci19Ci0KLXN0
YXRpYyBKU09iamVjdCogY3JlYXRlUm90YXRpb25SYXRlT2JqZWN0KGNvbnN0IERldmljZU1vdGlv
bkRhdGE6OlJvdGF0aW9uUmF0ZSogcm90YXRpb25SYXRlLCBFeGVjU3RhdGUqIGV4ZWMpCi17Ci0g
ICAgSlNPYmplY3QqIG9iamVjdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMpOwotICAgIG9i
amVjdC0+cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihleGVjLCAiYWxw
aGEiKSwgcm90YXRpb25SYXRlLT5jYW5Qcm92aWRlQWxwaGEoKSA/IGpzTnVtYmVyKHJvdGF0aW9u
UmF0ZS0+YWxwaGEoKSkgOiBqc051bGwoKSk7Ci0gICAgb2JqZWN0LT5wdXREaXJlY3QoZXhlYy0+
Z2xvYmFsRGF0YSgpLCBJZGVudGlmaWVyKGV4ZWMsICJiZXRhIiksICByb3RhdGlvblJhdGUtPmNh
blByb3ZpZGVCZXRhKCkgID8ganNOdW1iZXIocm90YXRpb25SYXRlLT5iZXRhKCkpICA6IGpzTnVs
bCgpKTsKLSAgICBvYmplY3QtPnB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIElkZW50aWZp
ZXIoZXhlYywgImdhbW1hIiksIHJvdGF0aW9uUmF0ZS0+Y2FuUHJvdmlkZUdhbW1hKCkgPyBqc051
bWJlcihyb3RhdGlvblJhdGUtPmdhbW1hKCkpIDoganNOdWxsKCkpOwotICAgIHJldHVybiBvYmpl
Y3Q7Ci19Ci0KLUpTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6YWNjZWxlcmF0aW9uKEV4ZWNT
dGF0ZSogZXhlYykgY29uc3QKLXsKLSAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGlj
X2Nhc3Q8RGV2aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOwotICAgIGlmICghaW1wLT5kZXZpY2VN
b3Rpb25EYXRhKCktPmFjY2VsZXJhdGlvbigpKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0g
ICAgcmV0dXJuIGNyZWF0ZUFjY2VsZXJhdGlvbk9iamVjdChpbXAtPmRldmljZU1vdGlvbkRhdGEo
KS0+YWNjZWxlcmF0aW9uKCksIGV4ZWMpOwotfQotCi1KU1ZhbHVlIEpTRGV2aWNlTW90aW9uRXZl
bnQ6OmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoRXhlY1N0YXRlKiBleGVjKSBjb25zdAot
ewotICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25F
dmVudCo+KGltcGwoKSk7Ci0gICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+YWNjZWxl
cmF0aW9uSW5jbHVkaW5nR3Jhdml0eSgpKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAg
cmV0dXJuIGNyZWF0ZUFjY2VsZXJhdGlvbk9iamVjdChpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+
YWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSgpLCBleGVjKTsKLX0KLQotSlNWYWx1ZSBKU0Rl
dmljZU1vdGlvbkV2ZW50Ojpyb3RhdGlvblJhdGUoRXhlY1N0YXRlKiBleGVjKSBjb25zdAotewot
ICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25FdmVu
dCo+KGltcGwoKSk7Ci0gICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+cm90YXRpb25S
YXRlKCkpCi0gICAgICAgIHJldHVybiBqc051bGwoKTsKLSAgICByZXR1cm4gY3JlYXRlUm90YXRp
b25SYXRlT2JqZWN0KGltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5yb3RhdGlvblJhdGUoKSwgZXhl
Yyk7Ci19Ci0KLUpTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6aW50ZXJ2YWwoRXhlY1N0YXRl
KikgY29uc3QKLXsKLSAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2
aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOwotICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRh
KCktPmNhblByb3ZpZGVJbnRlcnZhbCgpKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAg
cmV0dXJuIGpzTnVtYmVyKGltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5pbnRlcnZhbCgpKTsKLX0K
LQogSlNWYWx1ZSBKU0RldmljZU1vdGlvbkV2ZW50Ojppbml0RGV2aWNlTW90aW9uRXZlbnQoRXhl
Y1N0YXRlKiBleGVjKQogewogICAgIGNvbnN0IFN0cmluZyB0eXBlID0gZXhlYy0+YXJndW1lbnQo
MCkudG9TdHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAK
aW5kZXggMWYwNzBmZTYwZGM0MjU1NGQ4YzBhNWU5NDc3NTk2ZjdkNDE4NmI2Yy4uN2Q3ZWUyMzk3
YzAxYTY0NzljMGQ1MmQyNWU0ODY1NDU3NzliMzlhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20u
Y3BwCkBAIC0zNiwzOCArMzYsNiBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLUpTVmFsdWUgSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjphbHBoYShFeGVj
U3RhdGUqKSBjb25zdAotewotICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IHN0YXRp
Y19jYXN0PERldmljZU9yaWVudGF0aW9uRXZlbnQqPihpbXBsKCkpOwotICAgIGlmICghaW1wLT5v
cmllbnRhdGlvbigpLT5jYW5Qcm92aWRlQWxwaGEoKSkKLSAgICAgICAgcmV0dXJuIGpzTnVsbCgp
OwotICAgIHJldHVybiBqc051bWJlcihpbXAtPm9yaWVudGF0aW9uKCktPmFscGhhKCkpOwotfQot
Ci1KU1ZhbHVlIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudDo6YmV0YShFeGVjU3RhdGUqKSBjb25z
dAotewotICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PERldmlj
ZU9yaWVudGF0aW9uRXZlbnQqPihpbXBsKCkpOwotICAgIGlmICghaW1wLT5vcmllbnRhdGlvbigp
LT5jYW5Qcm92aWRlQmV0YSgpKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgcmV0dXJu
IGpzTnVtYmVyKGltcC0+b3JpZW50YXRpb24oKS0+YmV0YSgpKTsKLX0KLQotSlNWYWx1ZSBKU0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQ6OmdhbW1hKEV4ZWNTdGF0ZSopIGNvbnN0Ci17Ci0gICAgRGV2
aWNlT3JpZW50YXRpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlT3JpZW50YXRpb25F
dmVudCo+KGltcGwoKSk7Ci0gICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVH
YW1tYSgpKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgcmV0dXJuIGpzTnVtYmVyKGlt
cC0+b3JpZW50YXRpb24oKS0+Z2FtbWEoKSk7Ci19Ci0KLUpTVmFsdWUgSlNEZXZpY2VPcmllbnRh
dGlvbkV2ZW50OjphYnNvbHV0ZShFeGVjU3RhdGUqKSBjb25zdAotewotICAgIERldmljZU9yaWVu
dGF0aW9uRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PERldmljZU9yaWVudGF0aW9uRXZlbnQqPihp
bXBsKCkpOwotICAgIGlmICghaW1wLT5vcmllbnRhdGlvbigpLT5jYW5Qcm92aWRlQWJzb2x1dGUo
KSkKLSAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAgIHJldHVybiBqc0Jvb2xlYW4oaW1wLT5v
cmllbnRhdGlvbigpLT5hYnNvbHV0ZSgpKTsKLX0KLQogSlNWYWx1ZSBKU0RldmljZU9yaWVudGF0
aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KEV4ZWNTdGF0ZSogZXhlYykKIHsK
ICAgICBjb25zdCBTdHJpbmcgdHlwZSA9IGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMp
LT52YWx1ZShleGVjKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOERldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOERldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcAppbmRleCA2NDBmOGQz
YjA0YjRiYzg1ZDI4Y2Y1ZDg0MDRhMmMyNDkzOTkxNDI5Li5kOWZiYjM3MDcyMDBkNDBhYjhlMWE1
NDA0MzE1ZTY3N2RkMmRkYWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwCkBAIC0z
NywyNCArMzcsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSB7CiAKLXN0YXRp
YyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlQWNjZWxlcmF0aW9uT2JqZWN0KGNvbnN0IERl
dmljZU1vdGlvbkRhdGE6OkFjY2VsZXJhdGlvbiogYWNjZWxlcmF0aW9uLCB2ODo6SXNvbGF0ZSog
aXNvbGF0ZSkKLXsKLSAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gb2JqZWN0ID0gdjg6Ok9iamVj
dDo6TmV3KCk7Ci0gICAgb2JqZWN0LT5TZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJ4IiksIGFj
Y2VsZXJhdGlvbi0+Y2FuUHJvdmlkZVgoKSA/IHY4OjpOdW1iZXI6Ok5ldyhhY2NlbGVyYXRpb24t
PngoKSkgOiB2OE51bGwoaXNvbGF0ZSkpOwotICAgIG9iamVjdC0+U2V0KHY4OjpTdHJpbmc6Ok5l
d1N5bWJvbCgieSIpLCBhY2NlbGVyYXRpb24tPmNhblByb3ZpZGVZKCkgPyB2ODo6TnVtYmVyOjpO
ZXcoYWNjZWxlcmF0aW9uLT55KCkpIDogdjhOdWxsKGlzb2xhdGUpKTsKLSAgICBvYmplY3QtPlNl
dCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woInoiKSwgYWNjZWxlcmF0aW9uLT5jYW5Qcm92aWRlWigp
ID8gdjg6Ok51bWJlcjo6TmV3KGFjY2VsZXJhdGlvbi0+eigpKSA6IHY4TnVsbChpc29sYXRlKSk7
Ci0gICAgcmV0dXJuIG9iamVjdDsKLX0KLQotc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBj
cmVhdGVSb3RhdGlvblJhdGVPYmplY3QoY29uc3QgRGV2aWNlTW90aW9uRGF0YTo6Um90YXRpb25S
YXRlKiByb3RhdGlvblJhdGUsIHY4OjpJc29sYXRlKiBpc29sYXRlKQotewotICAgIHY4OjpMb2Nh
bDx2ODo6T2JqZWN0PiBvYmplY3QgPSB2ODo6T2JqZWN0OjpOZXcoKTsKLSAgICBvYmplY3QtPlNl
dCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woImFscGhhIiksIHJvdGF0aW9uUmF0ZS0+Y2FuUHJvdmlk
ZUFscGhhKCkgPyB2ODo6TnVtYmVyOjpOZXcocm90YXRpb25SYXRlLT5hbHBoYSgpKSA6IHY4TnVs
bChpc29sYXRlKSk7Ci0gICAgb2JqZWN0LT5TZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJiZXRh
IiksICByb3RhdGlvblJhdGUtPmNhblByb3ZpZGVCZXRhKCkgID8gdjg6Ok51bWJlcjo6TmV3KHJv
dGF0aW9uUmF0ZS0+YmV0YSgpKSAgOiB2OE51bGwoaXNvbGF0ZSkpOwotICAgIG9iamVjdC0+U2V0
KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiZ2FtbWEiKSwgcm90YXRpb25SYXRlLT5jYW5Qcm92aWRl
R2FtbWEoKSA/IHY4OjpOdW1iZXI6Ok5ldyhyb3RhdGlvblJhdGUtPmdhbW1hKCkpIDogdjhOdWxs
KGlzb2xhdGUpKTsKLSAgICByZXR1cm4gb2JqZWN0OwotfQotCiBSZWZQdHI8RGV2aWNlTW90aW9u
RGF0YTo6QWNjZWxlcmF0aW9uPiByZWFkQWNjZWxlcmF0aW9uQXJndW1lbnQodjg6OkxvY2FsPHY4
OjpWYWx1ZT4gdmFsdWUpCiB7CiAgICAgaWYgKGlzVW5kZWZpbmVkT3JOdWxsKHZhbHVlKSkKQEAg
LTEyMSw0MiArMTAzLDYgQEAgUmVmUHRyPERldmljZU1vdGlvbkRhdGE6OlJvdGF0aW9uUmF0ZT4g
cmVhZFJvdGF0aW9uUmF0ZUFyZ3VtZW50KHY4OjpMb2NhbDx2ODo6VmEKIAogfSAvLyBuYW1lc3Bh
Y2UKIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OmFjY2VsZXJh
dGlvbkF0dHJHZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4
OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xk
ZXIgPSBpbmZvLkhvbGRlcigpOwotICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERldmlj
ZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOwotICAgIGlmICghaW1wLT5kZXZpY2VNb3Rp
b25EYXRhKCktPmFjY2VsZXJhdGlvbigpKQotICAgICAgICByZXR1cm4gdjhOdWxsKGluZm8uR2V0
SXNvbGF0ZSgpKTsKLSAgICByZXR1cm4gY3JlYXRlQWNjZWxlcmF0aW9uT2JqZWN0KGltcC0+ZGV2
aWNlTW90aW9uRGF0YSgpLT5hY2NlbGVyYXRpb24oKSwgaW5mby5HZXRJc29sYXRlKCkpOwotfQot
Ci12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25FdmVudDo6YWNjZWxlcmF0aW9u
SW5jbHVkaW5nR3Jhdml0eUF0dHJHZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5h
bWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgdjg6OkhhbmRsZTx2ODo6
T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOwotICAgIERldmljZU1vdGlvbkV2ZW50KiBp
bXAgPSBWOERldmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOwotICAgIGlmICghaW1w
LT5kZXZpY2VNb3Rpb25EYXRhKCktPmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoKSkKLSAg
ICAgICAgcmV0dXJuIHY4TnVsbChpbmZvLkdldElzb2xhdGUoKSk7Ci0gICAgcmV0dXJuIGNyZWF0
ZUFjY2VsZXJhdGlvbk9iamVjdChpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+YWNjZWxlcmF0aW9u
SW5jbHVkaW5nR3Jhdml0eSgpLCBpbmZvLkdldElzb2xhdGUoKSk7Ci19Ci0KLXY4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50Ojpyb3RhdGlvblJhdGVBdHRyR2V0dGVyQ3Vz
dG9tKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBp
bmZvKQotewotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIo
KTsKLSAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gVjhEZXZpY2VNb3Rpb25FdmVudDo6dG9O
YXRpdmUoaG9sZGVyKTsKLSAgICBpZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5yb3RhdGlv
blJhdGUoKSkKLSAgICAgICAgcmV0dXJuIHY4TnVsbChpbmZvLkdldElzb2xhdGUoKSk7Ci0gICAg
cmV0dXJuIGNyZWF0ZVJvdGF0aW9uUmF0ZU9iamVjdChpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+
cm90YXRpb25SYXRlKCksIGluZm8uR2V0SXNvbGF0ZSgpKTsKLX0KLQotdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OmludGVydmFsQXR0ckdldHRlckN1c3RvbSh2ODo6
TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKLXsK
LSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7Ci0gICAg
RGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnRvTmF0aXZlKGhv
bGRlcik7Ci0gICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZUludGVy
dmFsKCkpCi0gICAgICAgIHJldHVybiB2OE51bGwoaW5mby5HZXRJc29sYXRlKCkpOwotICAgIHJl
dHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmludGVydmFsKCkp
OwotfQotCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25FdmVudDo6aW5pdERl
dmljZU1vdGlvbkV2ZW50TWV0aG9kQ3VzdG9tKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7
CiAgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnRvTmF0
aXZlKGFyZ3MuSG9sZGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNw
cAppbmRleCA0NzE2YzFlZDkyYjJjYzlhMmEyZDRiZjZmMGMwOTMzMWNmY2EwZjk4Li5jN2RkMjdk
MzEyNzUwYjE0MDVkNTczNWQ5YzcwMTMwYzg5YWVhMmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRh
dGlvbkV2ZW50Q3VzdG9tLmNwcApAQCAtMzUsNDIgKzM1LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojph
bHBoYUF0dHJHZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4
OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xk
ZXIgPSBpbmZvLkhvbGRlcigpOwotICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IFY4
RGV2aWNlT3JpZW50YXRpb25FdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKLSAgICBpZiAoIWltcC0+
b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUFscGhhKCkpCi0gICAgICAgIHJldHVybiB2OE51bGwo
aW5mby5HZXRJc29sYXRlKCkpOwotICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5vcmll
bnRhdGlvbigpLT5hbHBoYSgpKTsKLX0KLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNl
T3JpZW50YXRpb25FdmVudDo6YmV0YUF0dHJHZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJp
bmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOwotICAgIERldmljZU9yaWVudGF0
aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6dG9OYXRpdmUoaG9sZGVy
KTsKLSAgICBpZiAoIWltcC0+b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUJldGEoKSkKLSAgICAg
ICAgcmV0dXJuIHY4TnVsbChpbmZvLkdldElzb2xhdGUoKSk7Ci0gICAgcmV0dXJuIHY4OjpOdW1i
ZXI6Ok5ldyhpbXAtPm9yaWVudGF0aW9uKCktPmJldGEoKSk7Ci19Ci0KLXY4OjpIYW5kbGU8djg6
OlZhbHVlPiBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmdhbW1hQXR0ckdldHRlckN1c3RvbSh2
ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykK
LXsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7Ci0g
ICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCogaW1wID0gVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50
Ojp0b05hdGl2ZShob2xkZXIpOwotICAgIGlmICghaW1wLT5vcmllbnRhdGlvbigpLT5jYW5Qcm92
aWRlR2FtbWEoKSkKLSAgICAgICAgcmV0dXJuIHY4TnVsbChpbmZvLkdldElzb2xhdGUoKSk7Ci0g
ICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPm9yaWVudGF0aW9uKCktPmdhbW1hKCkpOwot
fQotCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjphYnNv
bHV0ZUF0dHJHZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4
OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xk
ZXIgPSBpbmZvLkhvbGRlcigpOwotICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IFY4
RGV2aWNlT3JpZW50YXRpb25FdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKLSAgICBpZiAoIWltcC0+
b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUFic29sdXRlKCkpCi0gICAgICAgIHJldHVybiB2OE51
bGwoaW5mby5HZXRJc29sYXRlKCkpOwotICAgIHJldHVybiB2ODo6Qm9vbGVhbjo6TmV3KGltcC0+
b3JpZW50YXRpb24oKS0+YWJzb2x1dGUoKSk7Ci19Ci0KIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50TWV0aG9k
Q3VzdG9tKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgRGV2aWNlT3JpZW50YXRp
b25FdmVudCogaW1wID0gVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojp0b05hdGl2ZShhcmdzLkhv
bGRlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCmluZGV4IDQzNTA4Y2YwZGFjNGRh
OWM5ZDA5OWY0YTg5MThmYzY2ZmQyZjk3M2UuLjQ3NGNkNzI5MDAyM2JkNzE1OWY5MGFlMzgyODJh
OTc4NmQxYzZiODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcApAQCAtNTMsMTIgKzUz
LDE0IEBACiAjaW5jbHVkZSAiRE9NU3RyaW5nTWFwLmNwcCIKICNpbmNsdWRlICJEYXRhc2V0RE9N
U3RyaW5nTWFwLmNwcCIKICNpbmNsdWRlICJEZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCIK
KyNpbmNsdWRlICJEZXZpY2VBY2NlbGVyYXRpb24uY3BwIgogI2luY2x1ZGUgIkRldmljZU1vdGlv
bkNvbnRyb2xsZXIuY3BwIgogI2luY2x1ZGUgIkRldmljZU1vdGlvbkRhdGEuY3BwIgogI2luY2x1
ZGUgIkRldmljZU1vdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXIuY3BwIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRGF0YS5jcHAiCiAjaW5j
bHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAiCisjaW5jbHVkZSAiRGV2aWNlUm90YXRp
b25SYXRlLmNwcCIKICNpbmNsdWRlICJEb2N1bWVudC5jcHAiCiAjaW5jbHVkZSAiRG9jdW1lbnRF
dmVudFF1ZXVlLmNwcCIKICNpbmNsdWRlICJEb2N1bWVudEZyYWdtZW50LmNwcCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RldmljZUFjY2VsZXJhdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMzMjMzOTcxZjBj
NzdmYTM1NGM5YzZiZmY0N2RlNTFmOWI4ODk5YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uY3BwCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICog
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGV2aWNlQWNjZWxlcmF0aW9uLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworRGV2aWNlQWNjZWxlcmF0aW9uOjpEZXZpY2VBY2NlbGVy
YXRpb24oY29uc3QgRGV2aWNlTW90aW9uRGF0YTo6QWNjZWxlcmF0aW9uKiBhY2NlbGVyYXRpb24p
CisgICAgOiBtX2FjY2VsZXJhdGlvbihhY2NlbGVyYXRpb24pCit7Cit9CisKK2RvdWJsZSBEZXZp
Y2VBY2NlbGVyYXRpb246OngoYm9vbCYgaXNOdWxsKSBjb25zdAoreworICAgIGlmIChtX2FjY2Vs
ZXJhdGlvbi0+Y2FuUHJvdmlkZVgoKSkKKyAgICAgICAgcmV0dXJuIG1fYWNjZWxlcmF0aW9uLT54
KCk7CisKKyAgICBpc051bGwgPSB0cnVlOworICAgIHJldHVybiAwOworfQorCitkb3VibGUgRGV2
aWNlQWNjZWxlcmF0aW9uOjp5KGJvb2wmIGlzTnVsbCkgY29uc3QKK3sKKyAgICBpZiAobV9hY2Nl
bGVyYXRpb24tPmNhblByb3ZpZGVZKCkpCisgICAgICAgIHJldHVybiBtX2FjY2VsZXJhdGlvbi0+
eSgpOworCisgICAgaXNOdWxsID0gdHJ1ZTsKKyAgICByZXR1cm4gMDsKK30KKworZG91YmxlIERl
dmljZUFjY2VsZXJhdGlvbjo6eihib29sJiBpc051bGwpIGNvbnN0Cit7CisgICAgaWYgKG1fYWNj
ZWxlcmF0aW9uLT5jYW5Qcm92aWRlWigpKQorICAgICAgICByZXR1cm4gbV9hY2NlbGVyYXRpb24t
PnooKTsKKworICAgIGlzTnVsbCA9IHRydWU7CisgICAgcmV0dXJuIDA7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VBY2Nl
bGVyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40MmU4MTFjYmMyYTM0ZDNjNTg2YWM0ZGNjODYzYzBlZmU3ZGMzMzA1Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZUFjY2VsZXJhdGlvbi5oCkBAIC0w
LDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgor
ICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERldmljZUFjY2VsZXJhdGlvbl9oCisjZGVmaW5l
IERldmljZUFjY2VsZXJhdGlvbl9oCisKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQor
CisjaW5jbHVkZSAiRGV2aWNlTW90aW9uRGF0YS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRGV2aWNlQWNjZWxlcmF0aW9uIDog
cHVibGljIFJlZkNvdW50ZWQ8RGV2aWNlQWNjZWxlcmF0aW9uPiB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8RGV2aWNlQWNjZWxlcmF0aW9uPiBjcmVhdGUoY29uc3QgRGV2aWNlTW90
aW9uRGF0YTo6QWNjZWxlcmF0aW9uKiBhY2NlbGVyYXRpb24pCisgICAgeworICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IERldmljZUFjY2VsZXJhdGlvbihhY2NlbGVyYXRpb24pKTsKKyAgICB9
CisKKyAgICBkb3VibGUgeChib29sJiBpc051bGwpIGNvbnN0OworICAgIGRvdWJsZSB5KGJvb2wm
IGlzTnVsbCkgY29uc3Q7CisgICAgZG91YmxlIHooYm9vbCYgaXNOdWxsKSBjb25zdDsKKworcHJp
dmF0ZToKKyAgICBEZXZpY2VBY2NlbGVyYXRpb24oY29uc3QgRGV2aWNlTW90aW9uRGF0YTo6QWNj
ZWxlcmF0aW9uKik7CisKKyAgICBjb25zdCBEZXZpY2VNb3Rpb25EYXRhOjpBY2NlbGVyYXRpb24q
IG1fYWNjZWxlcmF0aW9uOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKKworI2VuZGlmIC8vIERldmljZUFjY2VsZXJh
dGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlQWNjZWxlcmF0aW9u
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjlkZGYwMTA4ZjQ2YThiNGZjMzM3ODBhNzY4ZDQzNzIxZWU2ZmYwMmYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlQWNjZWxlcmF0aW9uLmlkbApAQCAtMCww
ICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAq
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTiwK
KyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBEZXZpY2VBY2NlbGVy
YXRpb24geworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGU/IHg7CisgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGRvdWJsZT8geTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlPyB6Owor
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuY3BwCmluZGV4IGIyOWZjYmVh
Y2ViNTJlMTRjOTUyYjZkMTAyYzYzYmNkNGEwZjEwNzcuLjViMzA1ZjE4MzcwN2JlOGFkZWEzMzVh
MzMzOGRhYWJjNWE2ZGMwMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VN
b3Rpb25FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50
LmNwcApAQCAtMjYsNyArMjYsOSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRl
dmljZU1vdGlvbkV2ZW50LmgiCiAKKyNpbmNsdWRlICJEZXZpY2VBY2NlbGVyYXRpb24uaCIKICNp
bmNsdWRlICJEZXZpY2VNb3Rpb25EYXRhLmgiCisjaW5jbHVkZSAiRGV2aWNlUm90YXRpb25SYXRl
LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01
Myw2ICs1NSw1MiBAQCB2b2lkIERldmljZU1vdGlvbkV2ZW50Ojppbml0RGV2aWNlTW90aW9uRXZl
bnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGJ1YgogCiAgICAgaW5pdEV2ZW50KHR5
cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUpOwogICAgIG1fZGV2aWNlTW90aW9uRGF0YSA9IGRldmlj
ZU1vdGlvbkRhdGE7CisKKyAgICBtX2FjY2VsZXJhdGlvbi5jbGVhcigpOworICAgIG1fYWNjZWxl
cmF0aW9uSW5jbHVkaW5nR3Jhdml0eS5jbGVhcigpOworICAgIG1fcm90YXRpb25SYXRlLmNsZWFy
KCk7Cit9CisKK0RldmljZUFjY2VsZXJhdGlvbiogRGV2aWNlTW90aW9uRXZlbnQ6OmFjY2VsZXJh
dGlvbigpCit7CisgICAgaWYgKCFtX2RldmljZU1vdGlvbkRhdGEtPmFjY2VsZXJhdGlvbigpKQor
ICAgICAgICByZXR1cm4gMDsKKworICAgIGlmICghbV9hY2NlbGVyYXRpb24uZ2V0KCkpCisgICAg
ICAgIG1fYWNjZWxlcmF0aW9uID0gRGV2aWNlQWNjZWxlcmF0aW9uOjpjcmVhdGUobV9kZXZpY2VN
b3Rpb25EYXRhLT5hY2NlbGVyYXRpb24oKSk7CisKKyAgICByZXR1cm4gbV9hY2NlbGVyYXRpb24u
Z2V0KCk7Cit9CisKK0RldmljZUFjY2VsZXJhdGlvbiogRGV2aWNlTW90aW9uRXZlbnQ6OmFjY2Vs
ZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoKQoreworICAgIGlmICghbV9kZXZpY2VNb3Rpb25EYXRh
LT5hY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5KCkpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgaWYgKCFtX2FjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkuZ2V0KCkpCisgICAgICAgIG1f
YWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSA9IERldmljZUFjY2VsZXJhdGlvbjo6Y3JlYXRl
KG1fZGV2aWNlTW90aW9uRGF0YS0+YWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSgpKTsKKwor
ICAgIHJldHVybiBtX2FjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkuZ2V0KCk7Cit9CisKK0Rl
dmljZVJvdGF0aW9uUmF0ZSogRGV2aWNlTW90aW9uRXZlbnQ6OnJvdGF0aW9uUmF0ZSgpCit7Cisg
ICAgaWYgKCFtX2RldmljZU1vdGlvbkRhdGEtPnJvdGF0aW9uUmF0ZSgpKQorICAgICAgICByZXR1
cm4gMDsKKworICAgIGlmICghbV9yb3RhdGlvblJhdGUuZ2V0KCkpCisgICAgICAgIG1fcm90YXRp
b25SYXRlID0gRGV2aWNlUm90YXRpb25SYXRlOjpjcmVhdGUobV9kZXZpY2VNb3Rpb25EYXRhLT5y
b3RhdGlvblJhdGUoKSk7CisKKyAgICByZXR1cm4gbV9yb3RhdGlvblJhdGUuZ2V0KCk7Cit9CisK
K2RvdWJsZSBEZXZpY2VNb3Rpb25FdmVudDo6aW50ZXJ2YWwoYm9vbCYgaXNOdWxsKSBjb25zdAor
eworICAgIGlmIChtX2RldmljZU1vdGlvbkRhdGEtPmNhblByb3ZpZGVJbnRlcnZhbCgpKQorICAg
ICAgICByZXR1cm4gbV9kZXZpY2VNb3Rpb25EYXRhLT5pbnRlcnZhbCgpOworCisgICAgaXNOdWxs
ID0gdHJ1ZTsKKyAgICByZXR1cm4gMDsKIH0KIAogY29uc3QgQXRvbWljU3RyaW5nJiBEZXZpY2VN
b3Rpb25FdmVudDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VN
b3Rpb25FdmVudC5oCmluZGV4IDMwMWZmZGQ5NzlmMzFkOTkxOWVmOTE0MDViNmYyZWM1ODExMTNj
NWMuLjcwNWI5ODdlOTdlY2YwNzQ5MjAyMjA5OWM5NDQ5OWM4Zjg0Yjc5ODIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5oCkBAIC0zMCw3ICszMCw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAorY2xhc3MgRGV2aWNlQWNjZWxlcmF0aW9uOwogY2xhc3MgRGV2aWNlTW90
aW9uRGF0YTsKK2NsYXNzIERldmljZVJvdGF0aW9uUmF0ZTsKIAogY2xhc3MgRGV2aWNlTW90aW9u
RXZlbnQgOiBwdWJsaWMgRXZlbnQgewogcHVibGljOgpAQCAtNDgsNiArNTAsMTEgQEAgcHVibGlj
OgogCiAgICAgRGV2aWNlTW90aW9uRGF0YSogZGV2aWNlTW90aW9uRGF0YSgpIGNvbnN0IHsgcmV0
dXJuIG1fZGV2aWNlTW90aW9uRGF0YS5nZXQoKTsgfQogCisgICAgRGV2aWNlQWNjZWxlcmF0aW9u
KiBhY2NlbGVyYXRpb24oKTsKKyAgICBEZXZpY2VBY2NlbGVyYXRpb24qIGFjY2VsZXJhdGlvbklu
Y2x1ZGluZ0dyYXZpdHkoKTsKKyAgICBEZXZpY2VSb3RhdGlvblJhdGUqIHJvdGF0aW9uUmF0ZSgp
OworICAgIGRvdWJsZSBpbnRlcnZhbChib29sJiBpc051bGwpIGNvbnN0OworCiAgICAgdmlydHVh
bCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKIAogcHJpdmF0ZToK
QEAgLTU1LDYgKzYyLDEwIEBAIHByaXZhdGU6CiAgICAgRGV2aWNlTW90aW9uRXZlbnQoY29uc3Qg
QXRvbWljU3RyaW5nJiBldmVudFR5cGUsIERldmljZU1vdGlvbkRhdGEqKTsKIAogICAgIFJlZlB0
cjxEZXZpY2VNb3Rpb25EYXRhPiBtX2RldmljZU1vdGlvbkRhdGE7CisKKyAgICBSZWZQdHI8RGV2
aWNlQWNjZWxlcmF0aW9uPiBtX2FjY2VsZXJhdGlvbjsKKyAgICBSZWZQdHI8RGV2aWNlQWNjZWxl
cmF0aW9uPiBtX2FjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHk7CisgICAgUmVmUHRyPERldmlj
ZVJvdGF0aW9uUmF0ZT4gbV9yb3RhdGlvblJhdGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaWRs
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbAppbmRleCA3YzM5YzJm
YWMyZDcxYTM2MDc3ODk2MjFlY2U0YzIxMzVlOTY4YTYwLi5hY2ZjNzk4MThmZTdiOGNkYWJlYTBh
NDdkNGQ0OTgyNGI0OTljMDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNl
TW90aW9uRXZlbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVu
dC5pZGwKQEAgLTI2LDEwICsyNiwxMCBAQAogWwogICAgIENvbmRpdGlvbmFsPURFVklDRV9PUklF
TlRBVElPTiwKIF0gaW50ZXJmYWNlIERldmljZU1vdGlvbkV2ZW50IDogRXZlbnQgewotICAgIFtD
dXN0b21dIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2NlbGVyYXRpb24gYWNjZWxlcmF0aW9uOwotICAg
IFtDdXN0b21dIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2NlbGVyYXRpb24gYWNjZWxlcmF0aW9uSW5j
bHVkaW5nR3Jhdml0eTsKLSAgICBbQ3VzdG9tXSByZWFkb25seSBhdHRyaWJ1dGUgUm90YXRpb25S
YXRlIHJvdGF0aW9uUmF0ZTsKLSAgICBbQ3VzdG9tXSByZWFkb25seSBhdHRyaWJ1dGUgZG91Ymxl
IGludGVydmFsOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEZXZpY2VBY2NlbGVyYXRpb24gYWNj
ZWxlcmF0aW9uOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEZXZpY2VBY2NlbGVyYXRpb24gYWNj
ZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRGV2aWNl
Um90YXRpb25SYXRlIHJvdGF0aW9uUmF0ZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91Ymxl
PyBpbnRlcnZhbDsKICAgICBbQ3VzdG9tXSB2b2lkIGluaXREZXZpY2VNb3Rpb25FdmVudChpbiBb
T3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgdHlwZSwgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVm
aW5lZF0gYm9vbGVhbiBidWJibGVzLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBib29sZWFuIGNhbmNlbGFi
bGUsIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCmlu
ZGV4IGJhYmM3N2U2YmZiMDIyYmU3NWY3MzJkZDM5M2M2NGY0NGUyNjMzNjQuLjZiNDdmMzZjZmM1
M2VlYjE2MDAxMzQ0YzNiOTNjYTMyZGJjNDA3NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAKQEAgLTU1LDYgKzU1LDQyIEBAIHZvaWQgRGV2aWNl
T3JpZW50YXRpb25FdmVudDo6aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3QgQXRvbWlj
U3RyaW5nJiB0eXBlCiAgICAgbV9vcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uOwogfQogCitkb3Vi
bGUgRGV2aWNlT3JpZW50YXRpb25FdmVudDo6YWxwaGEoYm9vbCYgaXNOdWxsKSBjb25zdAorewor
ICAgIGlmIChtX29yaWVudGF0aW9uLT5jYW5Qcm92aWRlQWxwaGEoKSkKKyAgICAgICAgcmV0dXJu
IG1fb3JpZW50YXRpb24tPmFscGhhKCk7CisKKyAgICBpc051bGwgPSB0cnVlOworICAgIHJldHVy
biAwOworfQorCitkb3VibGUgRGV2aWNlT3JpZW50YXRpb25FdmVudDo6YmV0YShib29sJiBpc051
bGwpIGNvbnN0Cit7CisgICAgaWYgKG1fb3JpZW50YXRpb24tPmNhblByb3ZpZGVCZXRhKCkpCisg
ICAgICAgIHJldHVybiBtX29yaWVudGF0aW9uLT5iZXRhKCk7CisKKyAgICBpc051bGwgPSB0cnVl
OworICAgIHJldHVybiAwOworfQorCitkb3VibGUgRGV2aWNlT3JpZW50YXRpb25FdmVudDo6Z2Ft
bWEoYm9vbCYgaXNOdWxsKSBjb25zdAoreworICAgIGlmIChtX29yaWVudGF0aW9uLT5jYW5Qcm92
aWRlR2FtbWEoKSkKKyAgICAgICAgcmV0dXJuIG1fb3JpZW50YXRpb24tPmdhbW1hKCk7CisKKyAg
ICBpc051bGwgPSB0cnVlOworICAgIHJldHVybiAwOworfQorCitib29sIERldmljZU9yaWVudGF0
aW9uRXZlbnQ6OmFic29sdXRlKGJvb2wmIGlzTnVsbCkgY29uc3QKK3sKKyAgICBpZiAobV9vcmll
bnRhdGlvbi0+Y2FuUHJvdmlkZUFic29sdXRlKCkpCisgICAgICAgIHJldHVybiBtX29yaWVudGF0
aW9uLT5hYnNvbHV0ZSgpOworCisgICAgaXNOdWxsID0gdHJ1ZTsKKyAgICByZXR1cm4gMDsKK30K
KwogY29uc3QgQXRvbWljU3RyaW5nJiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjppbnRlcmZhY2VO
YW1lKCkgY29uc3QKIHsKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmgKaW5kZXggZTE5NmVhNWI5M2U0Y2Y3
NDg0YjkzY2I3ZWNmZWVhZGI3ZmM0MjNiYi4uNTEwMjY5MDBjNWZiYzY5NWNkNjU4NjAxOWIxMWY1
Y2NhMGNkMjYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0
aW9uRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVu
dC5oCkBAIC00OCw2ICs0OCwxMSBAQCBwdWJsaWM6CiAKICAgICBEZXZpY2VPcmllbnRhdGlvbkRh
dGEqIG9yaWVudGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9vcmllbnRhdGlvbi5nZXQoKTsgfQog
CisgICAgZG91YmxlIGFscGhhKGJvb2wmIGlzTnVsbCkgY29uc3Q7CisgICAgZG91YmxlIGJldGEo
Ym9vbCYgaXNOdWxsKSBjb25zdDsKKyAgICBkb3VibGUgZ2FtbWEoYm9vbCYgaXNOdWxsKSBjb25z
dDsKKyAgICBib29sIGFic29sdXRlKGJvb2wmIGlzTnVsbCkgY29uc3Q7CisKICAgICB2aXJ0dWFs
IGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0OwogCiBwcml2YXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRs
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsCmluZGV4IGU4
MjY1MDNjNTViMjQwZjI0MTI5ZDk3OTAwNWY3NzUwNzIzZGI0ZTcuLjFlMDI1OTI3ZTUzM2JhMTc4
ZDUyOGU0ZmIzNjAzODQyN2VhY2JmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNl
T3JpZW50YXRpb25FdmVudC5pZGwKQEAgLTI2LDEwICsyNiwxMCBAQAogWwogICAgIENvbmRpdGlv
bmFsPURFVklDRV9PUklFTlRBVElPTiwKIF0gaW50ZXJmYWNlIERldmljZU9yaWVudGF0aW9uRXZl
bnQgOiBFdmVudCB7Ci0gICAgW0N1c3RvbV0gcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBhbHBo
YTsKLSAgICBbQ3VzdG9tXSByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGJldGE7Ci0gICAgW0N1
c3RvbV0gcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBnYW1tYTsKLSAgICBbQ3VzdG9tXSByZWFk
b25seSBhdHRyaWJ1dGUgYm9vbGVhbiBhYnNvbHV0ZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUg
ZG91YmxlPyBhbHBoYTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlPyBiZXRhOworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGU/IGdhbW1hOworICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBib29sZWFuPyBhYnNvbHV0ZTsKICAgICBbQ3VzdG9tXSB2b2lkIGluaXREZXZpY2VPcmllbnRh
dGlvbkV2ZW50KGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyB0eXBl
LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGJvb2xlYW4gYnViYmxlcywgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSBib29sZWFuIGNhbmNlbGFibGUsIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlUm90
YXRpb25SYXRlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MTkyZjRlNjU5MTQwNGVkNmM4ZGUyZmM5N2IwNTQ4
MDVmNzM2MDYwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZVJv
dGF0aW9uUmF0ZS5jcHAKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJEZXZpY2VSb3RhdGlvblJhdGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitEZXZpY2VSb3RhdGlvblJhdGU6OkRldmljZVJvdGF0aW9uUmF0ZShjb25zdCBEZXZpY2VN
b3Rpb25EYXRhOjpSb3RhdGlvblJhdGUqIHJvdGF0aW9uUmF0ZSkKKyAgICA6IG1fcm90YXRpb25S
YXRlKHJvdGF0aW9uUmF0ZSkKK3sKK30KKworZG91YmxlIERldmljZVJvdGF0aW9uUmF0ZTo6YWxw
aGEoYm9vbCYgaXNOdWxsKSBjb25zdAoreworICAgIGlmIChtX3JvdGF0aW9uUmF0ZS0+Y2FuUHJv
dmlkZUFscGhhKCkpCisgICAgICAgIHJldHVybiBtX3JvdGF0aW9uUmF0ZS0+YWxwaGEoKTsKKwor
ICAgIGlzTnVsbCA9IHRydWU7CisgICAgcmV0dXJuIDA7Cit9CisKK2RvdWJsZSBEZXZpY2VSb3Rh
dGlvblJhdGU6OmJldGEoYm9vbCYgaXNOdWxsKSBjb25zdAoreworICAgIGlmIChtX3JvdGF0aW9u
UmF0ZS0+Y2FuUHJvdmlkZUJldGEoKSkKKyAgICAgICAgcmV0dXJuIG1fcm90YXRpb25SYXRlLT5i
ZXRhKCk7CisKKyAgICBpc051bGwgPSB0cnVlOworICAgIHJldHVybiAwOworfQorCitkb3VibGUg
RGV2aWNlUm90YXRpb25SYXRlOjpnYW1tYShib29sJiBpc051bGwpIGNvbnN0Cit7CisgICAgaWYg
KG1fcm90YXRpb25SYXRlLT5jYW5Qcm92aWRlR2FtbWEoKSkKKyAgICAgICAgcmV0dXJuIG1fcm90
YXRpb25SYXRlLT5nYW1tYSgpOworCisgICAgaXNOdWxsID0gdHJ1ZTsKKyAgICByZXR1cm4gMDsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZVJvdGF0
aW9uUmF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxZGMwMjkzYWJkZDM5MWNmNmJjMTk2NmY0YTg4NGU0ZmMy
ZDU2NWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlUm90YXRp
b25SYXRlLmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRGV2aWNlUm90YXRpb25S
YXRlX2gKKyNkZWZpbmUgRGV2aWNlUm90YXRpb25SYXRlX2gKKworI2lmIEVOQUJMRShERVZJQ0Vf
T1JJRU5UQVRJT04pCisKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25EYXRhLmgiCisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZpY2VS
b3RhdGlvblJhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxEZXZpY2VSb3RhdGlvblJhdGU+IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VSb3RhdGlvblJhdGU+IGNyZWF0ZShj
b25zdCBEZXZpY2VNb3Rpb25EYXRhOjpSb3RhdGlvblJhdGUqIHJvdGF0aW9uUmF0ZSkKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGV2aWNlUm90YXRpb25SYXRlKHJvdGF0aW9u
UmF0ZSkpOworICAgIH0KKworICAgIGRvdWJsZSBhbHBoYShib29sJiBpc051bGwpIGNvbnN0Owor
ICAgIGRvdWJsZSBiZXRhKGJvb2wmIGlzTnVsbCkgY29uc3Q7CisgICAgZG91YmxlIGdhbW1hKGJv
b2wmIGlzTnVsbCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgRGV2aWNlUm90YXRpb25SYXRlKGNv
bnN0IERldmljZU1vdGlvbkRhdGE6OlJvdGF0aW9uUmF0ZSopOworCisgICAgY29uc3QgRGV2aWNl
TW90aW9uRGF0YTo6Um90YXRpb25SYXRlKiBtX3JvdGF0aW9uUmF0ZTsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCisK
KyNlbmRpZiAvLyBEZXZpY2VSb3RhdGlvblJhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNl
Um90YXRpb25SYXRlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTAzNDU0ZTM2YjQ0Y2M0NDQ5NDVkZjJjYzVk
ZmVhMWJlYmFmMmIzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rldmlj
ZVJvdGF0aW9uUmF0ZS5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRp
b25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQor
XSBpbnRlcmZhY2UgRGV2aWNlUm90YXRpb25SYXRlIHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUg
ZG91YmxlPyBhbHBoYTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlPyBiZXRhOworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGU/IGdhbW1hOworfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194259</attachid>
            <date>2013-03-21 07:35:50 -0700</date>
            <delta_ts>2013-03-22 09:42:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112910-20130321143138.patch</filename>
            <type>text/plain</type>
            <size>44468</size>
            <attacher name="Peter Beverloo">peter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NDYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTlkMTIwZTFjMmI1NTNh
MDcxYTY4NzBkODRmMmQ3NjUxYWQyMjcwYy4uMjg1MzhhZjhlNzJmNzYxYTIwMmMxN2M2ZTVlMDY0
ZTkyOWY3NGIyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEzLTAzLTIxICBQZXRl
ciBCZXZlcmxvbyAgPHBldGVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgdGhl
IERldmljZUFjY2VsZXJhdGlvbiBhbmQgRGV2aWNlUm90YXRpb25SYXRlIElETCBvYmplY3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI5MTAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdGhl
IGN1c3RvbSBiaW5kaW5ncyAtLWV4Y2VwdCBmb3IgdGhlIGV2ZW50IGluaXRpYWxpemF0aW9uCisg
ICAgICAgIG1ldGhvZHMtLSBpbiBmYXZvciBvZiBpbXBsZW1lbnRpbmcgdGhlIElETCBvYmplY3Rz
IGFzIGRlZmluZWQgYnkKKyAgICAgICAgdGhlIHNwZWNpZmljYXRpb24uIFRoaXMgcGF0Y2ggYWRk
cyB0aGUgRGV2aWNlQWNjZWxlcmF0aW9uIGFuZAorICAgICAgICBEZXZpY2VSb3RhdGlvblJhdGUg
b2JqZWN0cy4KKworICAgICAgICBUaGVyZSBzaG91bGQgYmUgbm8gb2JzZXJ2YWJsZSBjaGFuZ2Ug
aW4gYmVoYXZpb3IuIFRoaXMgaXMgYmVpbmcKKyAgICAgICAgZXhjZXJzaXplZCBieSB0aGUgZXhp
c3RpbmcgbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6Cisg
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RldmljZU1vdGlv
bkV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0
aW9uRXZlbnRDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmlj
ZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBkb20vRE9NQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VBY2NlbGVyYXRpb24uY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlQWNjZWxlcmF0aW9uOjpE
ZXZpY2VBY2NlbGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlQWNjZWxlcmF0aW9u
Ojp4KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZUFjY2VsZXJhdGlvbjo6eSk6CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VBY2NlbGVyYXRpb246OnopOgorICAgICAgICAqIGRvbS9EZXZpY2VB
Y2NlbGVyYXRpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERldmlj
ZUFjY2VsZXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VBY2NlbGVyYXRpb246OmNy
ZWF0ZSk6CisgICAgICAgICogZG9tL0RldmljZUFjY2VsZXJhdGlvbi5pZGw6IEFkZGVkLgorICAg
ICAgICAqIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZp
Y2VNb3Rpb25FdmVudDo6aW5pdERldmljZU1vdGlvbkV2ZW50KToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uRXZlbnQ6OmFjY2VsZXJhdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25FdmVudDo6YWNjZWxlcmF0aW9uSW5jbHVkaW5n
R3Jhdml0eSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25FdmVudDo6cm90YXRpb25S
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkV2ZW50OjppbnRlcnZhbCk6Cisg
ICAgICAgICogZG9tL0RldmljZU1vdGlvbkV2ZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKERldmljZU1vdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uRXZl
bnQuaWRsOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uRXZlbnQ6OmFscGhhKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25FdmVudDo6YmV0YSk6
CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpnYW1tYSk6CisgICAg
ICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjphYnNvbHV0ZSk6CisgICAgICAg
ICogZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaDoKKyAgICAgICAgKERldmljZU9yaWVudGF0
aW9uRXZlbnQpOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbDoKKyAg
ICAgICAgKiBkb20vRGV2aWNlUm90YXRpb25SYXRlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVJvdGF0aW9uUmF0ZTo6RGV2aWNlUm90YXRp
b25SYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVJvdGF0aW9uUmF0ZTo6YWxwaGEpOgor
ICAgICAgICAoV2ViQ29yZTo6RGV2aWNlUm90YXRpb25SYXRlOjpiZXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OkRldmljZVJvdGF0aW9uUmF0ZTo6Z2FtbWEpOgorICAgICAgICAqIGRvbS9EZXZpY2VS
b3RhdGlvblJhdGUuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERldmlj
ZVJvdGF0aW9uUmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VSb3RhdGlvblJhdGU6OmNy
ZWF0ZSk6CisgICAgICAgICogZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5pZGw6IEFkZGVkLgorCiAy
MDEzLTAzLTIxICBLb25kYXBhbGx5IEthbHlhbiAgPGthbHlhbi5rb25kYXBhbGx5QGludGVsLmNv
bT4KIAogICAgICAgICBbRUZMXVtXZWJHTF0gSW1wbGVtZW50IGEgY29tbW9uIEdyYXBoaWNzU3Vy
ZmFjZSBJbXBsZW1lbnRhdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggOGRlZTMzNWNmYWI4
MTkyYTBjOTZkZDU5NzkyYzk5NWYxYjkyZTMyOS4uZmZiNDQwMDFkMjZkNDg0MGQwMDJjYWIyYzAx
YjFkM2U2MjhmNzVkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM0Myw4ICszNDMsMTAgQEAg
c2V0KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgZG9tL0N1c3RvbUV2ZW50LmlkbAogICAgIGRvbS9E
YXRhVHJhbnNmZXJJdGVtLmlkbAogICAgIGRvbS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5pZGwKKyAg
ICBkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmlkbAogICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5p
ZGwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwKKyAgICBkb20vRGV2aWNlUm90
YXRpb25SYXRlLmlkbAogICAgIGRvbS9ET01Db3JlRXhjZXB0aW9uLmlkbAogICAgIGRvbS9ET01F
cnJvci5pZGwKICAgICBkb20vRE9NSW1wbGVtZW50YXRpb24uaWRsCkBAIC0xMTQwLDEyICsxMTQy
LDE0IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vRGF0YXNldERPTVN0cmluZ01hcC5j
cHAKICAgICBkb20vRGF0YVRyYW5zZmVySXRlbS5jcHAKICAgICBkb20vRGVjb2RlZERhdGFEb2N1
bWVudFBhcnNlci5jcHAKKyAgICBkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmNwcAogICAgIGRvbS9E
ZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcAogICAgIGRvbS9EZXZpY2VNb3Rpb25EYXRhLmNwcAog
ICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyLmNwcAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkRhdGEuY3BwCiAgICAgZG9t
L0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCisgICAgZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5j
cHAKICAgICBkb20vRE9NQ29yZUV4Y2VwdGlvbi5jcHAKICAgICBkb20vRE9NRXJyb3IuY3BwCiAg
ICAgZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggNzU5YjRmMDhkZjIwZTUwNDg3Zjg1ZDcyNjQyZjIzYWNiZTE0YjI5Yi4uODhkNGFlMzIx
ZDczY2IzYzIzMGFjY2ZkYWYwOGZiZmU1OGViY2Y2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC0yMzMsOCArMjMzLDEwIEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNv
cmUpL2RvbS9ET01TdHJpbmdNYXAuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9EYXRhVHJhbnNm
ZXJJdGVtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRs
IFwKKyAgICAkKFdlYkNvcmUpL2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uaWRsIFwKICAgICAkKFdl
YkNvcmUpL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9EZXZpY2VSb3Rh
dGlvblJhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9Eb2N1bWVudC5pZGwgXAogICAgICQo
V2ViQ29yZSkvZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9E
b2N1bWVudFR5cGUuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCA0MjEyYjg1
NTg5OGMwOGM0NjJlNDhjOTE3MDhiYjgyYzA1YmI1NDA1Li5jZGMxZmU5NmY2YjNjM2EwOTZhZTll
MzY0ZTU4NTA3NjQ5OTk5YTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0yMzUs
OCArMjM1LDEwIEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvZG9tL0N1c3RvbUV2ZW50
LmlkbCBcCiAgICAgJCRQV0QvZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsIFwKICAgICAkJFBXRC9k
b20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsIFwKKyAgICAkJFBXRC9kb20vRGV2aWNlQWNjZWxl
cmF0aW9uLmlkbCBcCiAgICAgJCRQV0QvZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbCBcCiAgICAg
JCRQV0QvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsIFwKKyAgICAkJFBXRC9kb20vRGV2
aWNlUm90YXRpb25SYXRlLmlkbCBcCiAgICAgJCRQV0QvZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRs
IFwKICAgICAkJFBXRC9kb20vRG9jdW1lbnQuaWRsIFwKICAgICAkJFBXRC9kb20vRG9jdW1lbnRU
eXBlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA2MWY2NmU5MTJiZGJk
ZGExZWNkOTRjMDU0ZTIyNzhhMjg5ODUxZTEyLi5jYzdlZDIwNjU5YTY0OTI2MjE3MTFiZmJlZWY4
NTgzZDJkZDkxYWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTE2MSwxMCAr
MTYxLDE0IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RlZGljYXRlZFdvcmtlckNvbnRleHQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0RlbGF5Tm9kZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZWxheU5vZGUu
aCBcCisgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZUFjY2VsZXJhdGlvbi5jcHAg
XAorICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VBY2NlbGVyYXRpb24uaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZU1vdGlvbkV2ZW50LmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZU1vdGlvbkV2ZW50LmggXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCBcCisgICAgRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0RldmljZVJvdGF0aW9uUmF0ZS5jcHAgXAorICAgIERlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNEZXZpY2VSb3RhdGlvblJhdGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0RpcmVjdG9yeUVudHJ5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RpcmVjdG9y
eUVudHJ5LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEaXJlY3RvcnlFbnRyeVN5bmMu
Y3BwIFwKQEAgLTEzOTAsOCArMTM5NCwxMCBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdl
YkNvcmUpL2RvbS9ET01TdHJpbmdNYXAuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9EYXRhVHJhbnNm
ZXJJdGVtLmlkbCBcCiAJJChXZWJDb3JlKS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsIFwK
KyAgICAkKFdlYkNvcmUpL2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uaWRsIFwKIAkkKFdlYkNvcmUp
L2RvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0RldmljZU9yaWVu
dGF0aW9uRXZlbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9EZXZpY2VSb3RhdGlvblJhdGUu
aWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9Eb2N1bWVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0Rv
Y3VtZW50RnJhZ21lbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9Eb2N1bWVudFR5cGUuaWRsIFwK
QEAgLTI4MjksNiArMjgzNSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L2RlZmF1bHQvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oIFwKKyAgICBTb3VyY2Uv
V2ViQ29yZS9kb20vRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCBcCisgICAgU291cmNlL1dlYkNvcmUv
ZG9tL0RldmljZUFjY2VsZXJhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90
aW9uQ2xpZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVy
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBcCkBA
IC0yODQzLDYgKzI4NTEsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9EZXZpY2VPcmllbnRhdGlvbkRhdGEuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0Rldmlj
ZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50
YXRpb25FdmVudC5oIFwKKyAgICBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlUm90YXRpb25SYXRl
LmNwcCBcCisgICAgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnRGcmFnbWVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50
LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkKaW5kZXggNzJiNjBhZGZjZWEwZWViMGUxOGFhOTM3YmU5NzMwYWQ4YWVm
NGI4MC4uYzBiNWZlMTU2MTA3NWUwYWQ5MDBmYzA0YjRhNGJkZjQ2YmUzMjlhNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCkBAIC0zNzcsMTIgKzM3NywxNCBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vQ29udGV4dEZl
YXR1cmVzLmNwcCBcCiAgICAgZG9tL0N1c3RvbUV2ZW50LmNwcCBcCiAgICAgZG9tL0RlY29kZWRE
YXRhRG9jdW1lbnRQYXJzZXIuY3BwIFwKKyAgICBkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCBc
CiAgICAgZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIFwKICAgICBkb20vRGV2aWNlTW90
aW9uRGF0YS5jcHAgXAogICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAgXAogICAgIGRvbS9E
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRp
b25EYXRhLmNwcCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKKyAgICBk
b20vRGV2aWNlUm90YXRpb25SYXRlLmNwcCBcCiAgICAgZG9tL0RvY3VtZW50LmNwcCBcCiAgICAg
ZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAgXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmNw
cCBcCkBAIC0xNjE5LDYgKzE2MjEsNyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vQ29udGV4dEZl
YXR1cmVzLmggXAogICAgIGRvbS9DdXN0b21FdmVudC5oIFwKICAgICBkb20vZGVmYXVsdC9QbGF0
Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oIFwKKyAgICBkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmgg
XAogICAgIGRvbS9EZXZpY2VNb3Rpb25DbGllbnQuaCBcCiAgICAgZG9tL0RldmljZU1vdGlvbkNv
bnRyb2xsZXIuaCBcCiAgICAgZG9tL0RldmljZU1vdGlvbkRhdGEuaCBcCkBAIC0xNjI3LDYgKzE2
MzAsNyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVy
LmggXAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkRhdGEuaCBcCiAgICAgZG9tL0RldmljZU9y
aWVudGF0aW9uRXZlbnQuaCBcCisgICAgZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5oIFwKICAgICBk
b20vRG9jdW1lbnQuaCBcCiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuaCBcCiAgICAgZG9tL0Rv
Y3VtZW50TWFya2VyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDEwOGU2ZDNmNWMwNmM1NjcxMDJj
MDdjNjE5ZDRmM2U1Yzk0ZWMyYWYuLmNiMGI0YjdiNzc0MmM0OGVkZGY2ZjZkMjQ4YWM2ODZhYWU4
ZjJhZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTI5OSw4ICsyOTksMTAgQEAKICAgICAgICAgICAg
ICdkb20vRE9NU3RyaW5nTWFwLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RhdGFUcmFuc2Zlckl0
ZW0uaWRsJywKICAgICAgICAgICAgICdkb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsJywKKyAg
ICAgICAgICAgICdkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9t
L0RldmljZU1vdGlvbkV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0
aW9uRXZlbnQuaWRsJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlUm90YXRpb25SYXRlLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RvY3Vt
ZW50RnJhZ21lbnQuaWRsJywKICAgICAgICAgICAgICdkb20vRG9jdW1lbnRUeXBlLmlkbCcsCkBA
IC0yOTE2LDYgKzI5MTgsOCBAQAogICAgICAgICAgICAgJ2RvbS9EYXRhc2V0RE9NU3RyaW5nTWFw
LmgnLAogICAgICAgICAgICAgJ2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCcsCiAg
ICAgICAgICAgICAnZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuaCcsCisgICAgICAgICAg
ICAnZG9tL0RldmljZUFjY2VsZXJhdGlvbi5jcHAnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VB
Y2NlbGVyYXRpb24uaCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU1vdGlvbkNsaWVudC5oJywK
ICAgICAgICAgICAgICdkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAnLAogICAgICAgICAg
ICAgJ2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmgnLApAQCAtMjkyOCw2ICsyOTMyLDggQEAK
ICAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb25EYXRhLmNwcCcsCiAgICAgICAgICAg
ICAnZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vRGV2
aWNlT3JpZW50YXRpb25FdmVudC5oJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlUm90YXRpb25S
YXRlLmNwcCcsCisgICAgICAgICAgICAnZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5oJywKICAgICAg
ICAgICAgICdkb20vRG9jdW1lbnQuY3BwJywKICAgICAgICAgICAgICdkb20vRG9jdW1lbnRFdmVu
dFF1ZXVlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5oJywKQEAg
LTY0ODYsMTAgKzY0OTIsMTQgQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRGVkaWNhdGVkV29ya2VyQ29udGV4dC5oJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGVsYXlOb2RlLmNwcCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Rl
bGF5Tm9kZS5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZUFjY2VsZXJhdGlvbi5oJywKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGV2aWNl
TW90aW9uRXZlbnQuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRGV2aWNlTW90aW9uRXZlbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZU9yaWVudGF0aW9uRXZlbnQu
Y3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRGV2aWNlT3JpZW50YXRpb25FdmVudC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGV2aWNlUm90YXRpb25SYXRlLmNwcCcsCisgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZVJv
dGF0aW9uUmF0ZS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRGlyZWN0b3J5RW50cnkuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGlyZWN0b3J5RW50cnkuaCcsCiAgICAgICAg
ICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RpcmVjdG9yeUVu
dHJ5U3luYy5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
ZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcAppbmRleCA2MTEyNzY3ZDc4ZWZkODUxNzc3Y2Q4
ZGIxMTgzYTIwMTY0NzdiZTgzLi40ZGI5NmUzMmMxZDNlOGFhMmMzMDU5YzhjM2U1MTljY2RhOWQ0
Nzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU1vdGlv
bkV2ZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rldmlj
ZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcApAQCAtMTEzLDU2ICsxMTMsNiBAQCBzdGF0aWMgUGFzc1Jl
ZlB0cjxEZXZpY2VNb3Rpb25EYXRhOjpSb3RhdGlvblJhdGU+IHJlYWRSb3RhdGlvblJhdGVBcmd1
bWVudChKU1ZhbAogICAgIHJldHVybiBEZXZpY2VNb3Rpb25EYXRhOjpSb3RhdGlvblJhdGU6OmNy
ZWF0ZShjYW5Qcm92aWRlQWxwaGEsIGFscGhhLCBjYW5Qcm92aWRlQmV0YSwgYmV0YSwgY2FuUHJv
dmlkZUdhbW1hLCBnYW1tYSk7CiB9CiAKLXN0YXRpYyBKU09iamVjdCogY3JlYXRlQWNjZWxlcmF0
aW9uT2JqZWN0KGNvbnN0IERldmljZU1vdGlvbkRhdGE6OkFjY2VsZXJhdGlvbiogYWNjZWxlcmF0
aW9uLCBFeGVjU3RhdGUqIGV4ZWMpCi17Ci0gICAgSlNPYmplY3QqIG9iamVjdCA9IGNvbnN0cnVj
dEVtcHR5T2JqZWN0KGV4ZWMpOwotICAgIG9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERh
dGEoKSwgSWRlbnRpZmllcihleGVjLCAieCIpLCBhY2NlbGVyYXRpb24tPmNhblByb3ZpZGVYKCkg
PyBqc051bWJlcihhY2NlbGVyYXRpb24tPngoKSkgOiBqc051bGwoKSk7Ci0gICAgb2JqZWN0LT5w
dXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBJZGVudGlmaWVyKGV4ZWMsICJ5IiksIGFjY2Vs
ZXJhdGlvbi0+Y2FuUHJvdmlkZVkoKSA/IGpzTnVtYmVyKGFjY2VsZXJhdGlvbi0+eSgpKSA6IGpz
TnVsbCgpKTsKLSAgICBvYmplY3QtPnB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIElkZW50
aWZpZXIoZXhlYywgInoiKSwgYWNjZWxlcmF0aW9uLT5jYW5Qcm92aWRlWigpID8ganNOdW1iZXIo
YWNjZWxlcmF0aW9uLT56KCkpIDoganNOdWxsKCkpOwotICAgIHJldHVybiBvYmplY3Q7Ci19Ci0K
LXN0YXRpYyBKU09iamVjdCogY3JlYXRlUm90YXRpb25SYXRlT2JqZWN0KGNvbnN0IERldmljZU1v
dGlvbkRhdGE6OlJvdGF0aW9uUmF0ZSogcm90YXRpb25SYXRlLCBFeGVjU3RhdGUqIGV4ZWMpCi17
Ci0gICAgSlNPYmplY3QqIG9iamVjdCA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMpOwotICAg
IG9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihleGVjLCAi
YWxwaGEiKSwgcm90YXRpb25SYXRlLT5jYW5Qcm92aWRlQWxwaGEoKSA/IGpzTnVtYmVyKHJvdGF0
aW9uUmF0ZS0+YWxwaGEoKSkgOiBqc051bGwoKSk7Ci0gICAgb2JqZWN0LT5wdXREaXJlY3QoZXhl
Yy0+Z2xvYmFsRGF0YSgpLCBJZGVudGlmaWVyKGV4ZWMsICJiZXRhIiksICByb3RhdGlvblJhdGUt
PmNhblByb3ZpZGVCZXRhKCkgID8ganNOdW1iZXIocm90YXRpb25SYXRlLT5iZXRhKCkpICA6IGpz
TnVsbCgpKTsKLSAgICBvYmplY3QtPnB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIElkZW50
aWZpZXIoZXhlYywgImdhbW1hIiksIHJvdGF0aW9uUmF0ZS0+Y2FuUHJvdmlkZUdhbW1hKCkgPyBq
c051bWJlcihyb3RhdGlvblJhdGUtPmdhbW1hKCkpIDoganNOdWxsKCkpOwotICAgIHJldHVybiBv
YmplY3Q7Ci19Ci0KLUpTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6YWNjZWxlcmF0aW9uKEV4
ZWNTdGF0ZSogZXhlYykgY29uc3QKLXsKLSAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3Rh
dGljX2Nhc3Q8RGV2aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOwotICAgIGlmICghaW1wLT5kZXZp
Y2VNb3Rpb25EYXRhKCktPmFjY2VsZXJhdGlvbigpKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7
Ci0gICAgcmV0dXJuIGNyZWF0ZUFjY2VsZXJhdGlvbk9iamVjdChpbXAtPmRldmljZU1vdGlvbkRh
dGEoKS0+YWNjZWxlcmF0aW9uKCksIGV4ZWMpOwotfQotCi1KU1ZhbHVlIEpTRGV2aWNlTW90aW9u
RXZlbnQ6OmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoRXhlY1N0YXRlKiBleGVjKSBjb25z
dAotewotICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rp
b25FdmVudCo+KGltcGwoKSk7Ci0gICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+YWNj
ZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSgpKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0g
ICAgcmV0dXJuIGNyZWF0ZUFjY2VsZXJhdGlvbk9iamVjdChpbXAtPmRldmljZU1vdGlvbkRhdGEo
KS0+YWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSgpLCBleGVjKTsKLX0KLQotSlNWYWx1ZSBK
U0RldmljZU1vdGlvbkV2ZW50Ojpyb3RhdGlvblJhdGUoRXhlY1N0YXRlKiBleGVjKSBjb25zdAot
ewotICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25F
dmVudCo+KGltcGwoKSk7Ci0gICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+cm90YXRp
b25SYXRlKCkpCi0gICAgICAgIHJldHVybiBqc051bGwoKTsKLSAgICByZXR1cm4gY3JlYXRlUm90
YXRpb25SYXRlT2JqZWN0KGltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5yb3RhdGlvblJhdGUoKSwg
ZXhlYyk7Ci19Ci0KLUpTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6aW50ZXJ2YWwoRXhlY1N0
YXRlKikgY29uc3QKLXsKLSAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8
RGV2aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOwotICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25E
YXRhKCktPmNhblByb3ZpZGVJbnRlcnZhbCgpKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0g
ICAgcmV0dXJuIGpzTnVtYmVyKGltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5pbnRlcnZhbCgpKTsK
LX0KLQogSlNWYWx1ZSBKU0RldmljZU1vdGlvbkV2ZW50Ojppbml0RGV2aWNlTW90aW9uRXZlbnQo
RXhlY1N0YXRlKiBleGVjKQogewogICAgIGNvbnN0IFN0cmluZyB0eXBlID0gZXhlYy0+YXJndW1l
bnQoMCkudG9TdHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5j
cHAKaW5kZXggMWYwNzBmZTYwZGM0MjU1NGQ4YzBhNWU5NDc3NTk2ZjdkNDE4NmI2Yy4uN2Q3ZWUy
Mzk3YzAxYTY0NzljMGQ1MmQyNWU0ODY1NDU3NzliMzlhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0
b20uY3BwCkBAIC0zNiwzOCArMzYsNiBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLUpTVmFsdWUgSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjphbHBoYShF
eGVjU3RhdGUqKSBjb25zdAotewotICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IHN0
YXRpY19jYXN0PERldmljZU9yaWVudGF0aW9uRXZlbnQqPihpbXBsKCkpOwotICAgIGlmICghaW1w
LT5vcmllbnRhdGlvbigpLT5jYW5Qcm92aWRlQWxwaGEoKSkKLSAgICAgICAgcmV0dXJuIGpzTnVs
bCgpOwotICAgIHJldHVybiBqc051bWJlcihpbXAtPm9yaWVudGF0aW9uKCktPmFscGhhKCkpOwot
fQotCi1KU1ZhbHVlIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudDo6YmV0YShFeGVjU3RhdGUqKSBj
b25zdAotewotICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PERl
dmljZU9yaWVudGF0aW9uRXZlbnQqPihpbXBsKCkpOwotICAgIGlmICghaW1wLT5vcmllbnRhdGlv
bigpLT5jYW5Qcm92aWRlQmV0YSgpKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgcmV0
dXJuIGpzTnVtYmVyKGltcC0+b3JpZW50YXRpb24oKS0+YmV0YSgpKTsKLX0KLQotSlNWYWx1ZSBK
U0RldmljZU9yaWVudGF0aW9uRXZlbnQ6OmdhbW1hKEV4ZWNTdGF0ZSopIGNvbnN0Ci17Ci0gICAg
RGV2aWNlT3JpZW50YXRpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlT3JpZW50YXRp
b25FdmVudCo+KGltcGwoKSk7Ci0gICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3Zp
ZGVHYW1tYSgpKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgcmV0dXJuIGpzTnVtYmVy
KGltcC0+b3JpZW50YXRpb24oKS0+Z2FtbWEoKSk7Ci19Ci0KLUpTVmFsdWUgSlNEZXZpY2VPcmll
bnRhdGlvbkV2ZW50OjphYnNvbHV0ZShFeGVjU3RhdGUqKSBjb25zdAotewotICAgIERldmljZU9y
aWVudGF0aW9uRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PERldmljZU9yaWVudGF0aW9uRXZlbnQq
PihpbXBsKCkpOwotICAgIGlmICghaW1wLT5vcmllbnRhdGlvbigpLT5jYW5Qcm92aWRlQWJzb2x1
dGUoKSkKLSAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAgIHJldHVybiBqc0Jvb2xlYW4oaW1w
LT5vcmllbnRhdGlvbigpLT5hYnNvbHV0ZSgpKTsKLX0KLQogSlNWYWx1ZSBKU0RldmljZU9yaWVu
dGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KEV4ZWNTdGF0ZSogZXhlYykK
IHsKICAgICBjb25zdCBTdHJpbmcgdHlwZSA9IGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4
ZWMpLT52YWx1ZShleGVjKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOERldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcAppbmRleCA2NDBm
OGQzYjA0YjRiYzg1ZDI4Y2Y1ZDg0MDRhMmMyNDkzOTkxNDI5Li5kOWZiYjM3MDcyMDBkNDBhYjhl
MWE1NDA0MzE1ZTY3N2RkMmRkYWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwCkBA
IC0zNywyNCArMzcsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSB7CiAKLXN0
YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlQWNjZWxlcmF0aW9uT2JqZWN0KGNvbnN0
IERldmljZU1vdGlvbkRhdGE6OkFjY2VsZXJhdGlvbiogYWNjZWxlcmF0aW9uLCB2ODo6SXNvbGF0
ZSogaXNvbGF0ZSkKLXsKLSAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gb2JqZWN0ID0gdjg6Ok9i
amVjdDo6TmV3KCk7Ci0gICAgb2JqZWN0LT5TZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJ4Iiks
IGFjY2VsZXJhdGlvbi0+Y2FuUHJvdmlkZVgoKSA/IHY4OjpOdW1iZXI6Ok5ldyhhY2NlbGVyYXRp
b24tPngoKSkgOiB2OE51bGwoaXNvbGF0ZSkpOwotICAgIG9iamVjdC0+U2V0KHY4OjpTdHJpbmc6
Ok5ld1N5bWJvbCgieSIpLCBhY2NlbGVyYXRpb24tPmNhblByb3ZpZGVZKCkgPyB2ODo6TnVtYmVy
OjpOZXcoYWNjZWxlcmF0aW9uLT55KCkpIDogdjhOdWxsKGlzb2xhdGUpKTsKLSAgICBvYmplY3Qt
PlNldCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woInoiKSwgYWNjZWxlcmF0aW9uLT5jYW5Qcm92aWRl
WigpID8gdjg6Ok51bWJlcjo6TmV3KGFjY2VsZXJhdGlvbi0+eigpKSA6IHY4TnVsbChpc29sYXRl
KSk7Ci0gICAgcmV0dXJuIG9iamVjdDsKLX0KLQotc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBjcmVhdGVSb3RhdGlvblJhdGVPYmplY3QoY29uc3QgRGV2aWNlTW90aW9uRGF0YTo6Um90YXRp
b25SYXRlKiByb3RhdGlvblJhdGUsIHY4OjpJc29sYXRlKiBpc29sYXRlKQotewotICAgIHY4OjpM
b2NhbDx2ODo6T2JqZWN0PiBvYmplY3QgPSB2ODo6T2JqZWN0OjpOZXcoKTsKLSAgICBvYmplY3Qt
PlNldCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woImFscGhhIiksIHJvdGF0aW9uUmF0ZS0+Y2FuUHJv
dmlkZUFscGhhKCkgPyB2ODo6TnVtYmVyOjpOZXcocm90YXRpb25SYXRlLT5hbHBoYSgpKSA6IHY4
TnVsbChpc29sYXRlKSk7Ci0gICAgb2JqZWN0LT5TZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJi
ZXRhIiksICByb3RhdGlvblJhdGUtPmNhblByb3ZpZGVCZXRhKCkgID8gdjg6Ok51bWJlcjo6TmV3
KHJvdGF0aW9uUmF0ZS0+YmV0YSgpKSAgOiB2OE51bGwoaXNvbGF0ZSkpOwotICAgIG9iamVjdC0+
U2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiZ2FtbWEiKSwgcm90YXRpb25SYXRlLT5jYW5Qcm92
aWRlR2FtbWEoKSA/IHY4OjpOdW1iZXI6Ok5ldyhyb3RhdGlvblJhdGUtPmdhbW1hKCkpIDogdjhO
dWxsKGlzb2xhdGUpKTsKLSAgICByZXR1cm4gb2JqZWN0OwotfQotCiBSZWZQdHI8RGV2aWNlTW90
aW9uRGF0YTo6QWNjZWxlcmF0aW9uPiByZWFkQWNjZWxlcmF0aW9uQXJndW1lbnQodjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gdmFsdWUpCiB7CiAgICAgaWYgKGlzVW5kZWZpbmVkT3JOdWxsKHZhbHVlKSkK
QEAgLTEyMSw0MiArMTAzLDYgQEAgUmVmUHRyPERldmljZU1vdGlvbkRhdGE6OlJvdGF0aW9uUmF0
ZT4gcmVhZFJvdGF0aW9uUmF0ZUFyZ3VtZW50KHY4OjpMb2NhbDx2ODo6VmEKIAogfSAvLyBuYW1l
c3BhY2UKIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OmFjY2Vs
ZXJhdGlvbkF0dHJHZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0
IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBo
b2xkZXIgPSBpbmZvLkhvbGRlcigpOwotICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERl
dmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOwotICAgIGlmICghaW1wLT5kZXZpY2VN
b3Rpb25EYXRhKCktPmFjY2VsZXJhdGlvbigpKQotICAgICAgICByZXR1cm4gdjhOdWxsKGluZm8u
R2V0SXNvbGF0ZSgpKTsKLSAgICByZXR1cm4gY3JlYXRlQWNjZWxlcmF0aW9uT2JqZWN0KGltcC0+
ZGV2aWNlTW90aW9uRGF0YSgpLT5hY2NlbGVyYXRpb24oKSwgaW5mby5HZXRJc29sYXRlKCkpOwot
fQotCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25FdmVudDo6YWNjZWxlcmF0
aW9uSW5jbHVkaW5nR3Jhdml0eUF0dHJHZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+
IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgdjg6OkhhbmRsZTx2
ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOwotICAgIERldmljZU1vdGlvbkV2ZW50
KiBpbXAgPSBWOERldmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOwotICAgIGlmICgh
aW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoKSkK
LSAgICAgICAgcmV0dXJuIHY4TnVsbChpbmZvLkdldElzb2xhdGUoKSk7Ci0gICAgcmV0dXJuIGNy
ZWF0ZUFjY2VsZXJhdGlvbk9iamVjdChpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+YWNjZWxlcmF0
aW9uSW5jbHVkaW5nR3Jhdml0eSgpLCBpbmZvLkdldElzb2xhdGUoKSk7Ci19Ci0KLXY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50Ojpyb3RhdGlvblJhdGVBdHRyR2V0dGVy
Q3VzdG9tKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZv
JiBpbmZvKQotewotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xk
ZXIoKTsKLSAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gVjhEZXZpY2VNb3Rpb25FdmVudDo6
dG9OYXRpdmUoaG9sZGVyKTsKLSAgICBpZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5yb3Rh
dGlvblJhdGUoKSkKLSAgICAgICAgcmV0dXJuIHY4TnVsbChpbmZvLkdldElzb2xhdGUoKSk7Ci0g
ICAgcmV0dXJuIGNyZWF0ZVJvdGF0aW9uUmF0ZU9iamVjdChpbXAtPmRldmljZU1vdGlvbkRhdGEo
KS0+cm90YXRpb25SYXRlKCksIGluZm8uR2V0SXNvbGF0ZSgpKTsKLX0KLQotdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OmludGVydmFsQXR0ckdldHRlckN1c3RvbSh2
ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykK
LXsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7Ci0g
ICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnRvTmF0aXZl
KGhvbGRlcik7Ci0gICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+Y2FuUHJvdmlkZUlu
dGVydmFsKCkpCi0gICAgICAgIHJldHVybiB2OE51bGwoaW5mby5HZXRJc29sYXRlKCkpOwotICAg
IHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmludGVydmFs
KCkpOwotfQotCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25FdmVudDo6aW5p
dERldmljZU1vdGlvbkV2ZW50TWV0aG9kQ3VzdG9tKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Mp
CiB7CiAgICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9uRXZlbnQ6OnRv
TmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9t
LmNwcAppbmRleCA0NzE2YzFlZDkyYjJjYzlhMmEyZDRiZjZmMGMwOTMzMWNmY2EwZjk4Li5jN2Rk
MjdkMzEyNzUwYjE0MDVkNTczNWQ5YzcwMTMwYzg5YWVhMmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmll
bnRhdGlvbkV2ZW50Q3VzdG9tLmNwcApAQCAtMzUsNDIgKzM1LDYgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50
OjphbHBoYUF0dHJHZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0
IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBo
b2xkZXIgPSBpbmZvLkhvbGRlcigpOwotICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9
IFY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKLSAgICBpZiAoIWlt
cC0+b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUFscGhhKCkpCi0gICAgICAgIHJldHVybiB2OE51
bGwoaW5mby5HZXRJc29sYXRlKCkpOwotICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5v
cmllbnRhdGlvbigpLT5hbHBoYSgpKTsKLX0KLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2
aWNlT3JpZW50YXRpb25FdmVudDo6YmV0YUF0dHJHZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpT
dHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgdjg6Okhh
bmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigpOwotICAgIERldmljZU9yaWVu
dGF0aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6dG9OYXRpdmUoaG9s
ZGVyKTsKLSAgICBpZiAoIWltcC0+b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUJldGEoKSkKLSAg
ICAgICAgcmV0dXJuIHY4TnVsbChpbmZvLkdldElzb2xhdGUoKSk7Ci0gICAgcmV0dXJuIHY4OjpO
dW1iZXI6Ok5ldyhpbXAtPm9yaWVudGF0aW9uKCktPmJldGEoKSk7Ci19Ci0KLXY4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmdhbW1hQXR0ckdldHRlckN1c3Rv
bSh2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5m
bykKLXsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7
Ci0gICAgRGV2aWNlT3JpZW50YXRpb25FdmVudCogaW1wID0gVjhEZXZpY2VPcmllbnRhdGlvbkV2
ZW50Ojp0b05hdGl2ZShob2xkZXIpOwotICAgIGlmICghaW1wLT5vcmllbnRhdGlvbigpLT5jYW5Q
cm92aWRlR2FtbWEoKSkKLSAgICAgICAgcmV0dXJuIHY4TnVsbChpbmZvLkdldElzb2xhdGUoKSk7
Ci0gICAgcmV0dXJuIHY4OjpOdW1iZXI6Ok5ldyhpbXAtPm9yaWVudGF0aW9uKCktPmdhbW1hKCkp
OwotfQotCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojph
YnNvbHV0ZUF0dHJHZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0
IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBo
b2xkZXIgPSBpbmZvLkhvbGRlcigpOwotICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9
IFY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKLSAgICBpZiAoIWlt
cC0+b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUFic29sdXRlKCkpCi0gICAgICAgIHJldHVybiB2
OE51bGwoaW5mby5HZXRJc29sYXRlKCkpOwotICAgIHJldHVybiB2ODo6Qm9vbGVhbjo6TmV3KGlt
cC0+b3JpZW50YXRpb24oKS0+YWJzb2x1dGUoKSk7Ci19Ci0KIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50TWV0
aG9kQ3VzdG9tKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgRGV2aWNlT3JpZW50
YXRpb25FdmVudCogaW1wID0gVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojp0b05hdGl2ZShhcmdz
LkhvbGRlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCmluZGV4IDQzNTA4Y2YwZGFj
NGRhOWM5ZDA5OWY0YTg5MThmYzY2ZmQyZjk3M2UuLjQ3NGNkNzI5MDAyM2JkNzE1OWY5MGFlMzgy
ODJhOTc4NmQxYzZiODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9u
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcApAQCAtNTMsMTIg
KzUzLDE0IEBACiAjaW5jbHVkZSAiRE9NU3RyaW5nTWFwLmNwcCIKICNpbmNsdWRlICJEYXRhc2V0
RE9NU3RyaW5nTWFwLmNwcCIKICNpbmNsdWRlICJEZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNw
cCIKKyNpbmNsdWRlICJEZXZpY2VBY2NlbGVyYXRpb24uY3BwIgogI2luY2x1ZGUgIkRldmljZU1v
dGlvbkNvbnRyb2xsZXIuY3BwIgogI2luY2x1ZGUgIkRldmljZU1vdGlvbkRhdGEuY3BwIgogI2lu
Y2x1ZGUgIkRldmljZU1vdGlvbkV2ZW50LmNwcCIKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlv
bkNvbnRyb2xsZXIuY3BwIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRGF0YS5jcHAiCiAj
aW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAiCisjaW5jbHVkZSAiRGV2aWNlUm90
YXRpb25SYXRlLmNwcCIKICNpbmNsdWRlICJEb2N1bWVudC5jcHAiCiAjaW5jbHVkZSAiRG9jdW1l
bnRFdmVudFF1ZXVlLmNwcCIKICNpbmNsdWRlICJEb2N1bWVudEZyYWdtZW50LmNwcCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RldmljZUFjY2VsZXJhdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMzMjMzOTcx
ZjBjNzdmYTM1NGM5YzZiZmY0N2RlNTFmOWI4ODk5YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uY3BwCkBAIC0wLDAgKzEsNjMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAor
ICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRGV2aWNlQWNjZWxlcmF0aW9uLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRGV2aWNlQWNjZWxlcmF0aW9uOjpEZXZpY2VBY2Nl
bGVyYXRpb24oY29uc3QgRGV2aWNlTW90aW9uRGF0YTo6QWNjZWxlcmF0aW9uKiBhY2NlbGVyYXRp
b24pCisgICAgOiBtX2FjY2VsZXJhdGlvbihhY2NlbGVyYXRpb24pCit7Cit9CisKK2RvdWJsZSBE
ZXZpY2VBY2NlbGVyYXRpb246OngoYm9vbCYgaXNOdWxsKSBjb25zdAoreworICAgIGlmIChtX2Fj
Y2VsZXJhdGlvbi0+Y2FuUHJvdmlkZVgoKSkKKyAgICAgICAgcmV0dXJuIG1fYWNjZWxlcmF0aW9u
LT54KCk7CisKKyAgICBpc051bGwgPSB0cnVlOworICAgIHJldHVybiAwOworfQorCitkb3VibGUg
RGV2aWNlQWNjZWxlcmF0aW9uOjp5KGJvb2wmIGlzTnVsbCkgY29uc3QKK3sKKyAgICBpZiAobV9h
Y2NlbGVyYXRpb24tPmNhblByb3ZpZGVZKCkpCisgICAgICAgIHJldHVybiBtX2FjY2VsZXJhdGlv
bi0+eSgpOworCisgICAgaXNOdWxsID0gdHJ1ZTsKKyAgICByZXR1cm4gMDsKK30KKworZG91Ymxl
IERldmljZUFjY2VsZXJhdGlvbjo6eihib29sJiBpc051bGwpIGNvbnN0Cit7CisgICAgaWYgKG1f
YWNjZWxlcmF0aW9uLT5jYW5Qcm92aWRlWigpKQorICAgICAgICByZXR1cm4gbV9hY2NlbGVyYXRp
b24tPnooKTsKKworICAgIGlzTnVsbCA9IHRydWU7CisgICAgcmV0dXJuIDA7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VB
Y2NlbGVyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yM2QwOTE4YjU4Zjk3ZDQ5YTc0YzEzZjRlODJhYjA1MWM2YzkyMTI0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZUFjY2VsZXJhdGlvbi5oCkBA
IC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERldmljZUFjY2VsZXJhdGlvbl9oCisjZGVm
aW5lIERldmljZUFjY2VsZXJhdGlvbl9oCisKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25EYXRhLmgi
CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBEZXZpY2VBY2NlbGVyYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxEZXZpY2VBY2NlbGVy
YXRpb24+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VBY2NlbGVyYXRp
b24+IGNyZWF0ZShjb25zdCBEZXZpY2VNb3Rpb25EYXRhOjpBY2NlbGVyYXRpb24qIGFjY2VsZXJh
dGlvbikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGV2aWNlQWNjZWxlcmF0
aW9uKGFjY2VsZXJhdGlvbikpOworICAgIH0KKworICAgIGRvdWJsZSB4KGJvb2wmIGlzTnVsbCkg
Y29uc3Q7CisgICAgZG91YmxlIHkoYm9vbCYgaXNOdWxsKSBjb25zdDsKKyAgICBkb3VibGUgeihi
b29sJiBpc051bGwpIGNvbnN0OworCitwcml2YXRlOgorICAgIERldmljZUFjY2VsZXJhdGlvbihj
b25zdCBEZXZpY2VNb3Rpb25EYXRhOjpBY2NlbGVyYXRpb24qKTsKKworICAgIGNvbnN0IERldmlj
ZU1vdGlvbkRhdGE6OkFjY2VsZXJhdGlvbiogbV9hY2NlbGVyYXRpb247Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBEZXZpY2VBY2NlbGVyYXRpb25faApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZUFjY2VsZXJhdGlvbi5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRGV2aWNlQWNjZWxlcmF0aW9uLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZGRmMDEwOGY0
NmE4YjRmYzMzNzgwYTc2OGQ0MzcyMWVlNmZmMDJmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RldmljZUFjY2VsZXJhdGlvbi5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisg
KiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK1sKKyAgICBDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sCisgICAgSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgRGV2aWNlQWNjZWxlcmF0aW9uIHsKKyAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlPyB4OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3Vi
bGU/IHk7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZT8gejsKK307CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcAppbmRleCBiMjlmY2JlYWNlYjUyZTE0Yzk1MmI2
ZDEwMmM2M2JjZDRhMGYxMDc3Li41YjMwNWYxODM3MDdiZThhZGVhMzM1YTMzMzhkYWFiYzVhNmRj
MDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAKQEAgLTI2LDcg
KzI2LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25FdmVu
dC5oIgogCisjaW5jbHVkZSAiRGV2aWNlQWNjZWxlcmF0aW9uLmgiCiAjaW5jbHVkZSAiRGV2aWNl
TW90aW9uRGF0YS5oIgorI2luY2x1ZGUgIkRldmljZVJvdGF0aW9uUmF0ZS5oIgogI2luY2x1ZGUg
IkV2ZW50TmFtZXMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTMsNiArNTUsNTIgQEAg
dm9pZCBEZXZpY2VNb3Rpb25FdmVudDo6aW5pdERldmljZU1vdGlvbkV2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgYm9vbCBidWIKIAogICAgIGluaXRFdmVudCh0eXBlLCBidWJibGVzLCBj
YW5jZWxhYmxlKTsKICAgICBtX2RldmljZU1vdGlvbkRhdGEgPSBkZXZpY2VNb3Rpb25EYXRhOwor
CisgICAgbV9hY2NlbGVyYXRpb24uY2xlYXIoKTsKKyAgICBtX2FjY2VsZXJhdGlvbkluY2x1ZGlu
Z0dyYXZpdHkuY2xlYXIoKTsKKyAgICBtX3JvdGF0aW9uUmF0ZS5jbGVhcigpOworfQorCitEZXZp
Y2VBY2NlbGVyYXRpb24qIERldmljZU1vdGlvbkV2ZW50OjphY2NlbGVyYXRpb24oKQoreworICAg
IGlmICghbV9kZXZpY2VNb3Rpb25EYXRhLT5hY2NlbGVyYXRpb24oKSkKKyAgICAgICAgcmV0dXJu
IDA7CisKKyAgICBpZiAoIW1fYWNjZWxlcmF0aW9uLmdldCgpKQorICAgICAgICBtX2FjY2VsZXJh
dGlvbiA9IERldmljZUFjY2VsZXJhdGlvbjo6Y3JlYXRlKG1fZGV2aWNlTW90aW9uRGF0YS0+YWNj
ZWxlcmF0aW9uKCkpOworCisgICAgcmV0dXJuIG1fYWNjZWxlcmF0aW9uLmdldCgpOworfQorCitE
ZXZpY2VBY2NlbGVyYXRpb24qIERldmljZU1vdGlvbkV2ZW50OjphY2NlbGVyYXRpb25JbmNsdWRp
bmdHcmF2aXR5KCkKK3sKKyAgICBpZiAoIW1fZGV2aWNlTW90aW9uRGF0YS0+YWNjZWxlcmF0aW9u
SW5jbHVkaW5nR3Jhdml0eSgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmICghbV9hY2Nl
bGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LmdldCgpKQorICAgICAgICBtX2FjY2VsZXJhdGlvbklu
Y2x1ZGluZ0dyYXZpdHkgPSBEZXZpY2VBY2NlbGVyYXRpb246OmNyZWF0ZShtX2RldmljZU1vdGlv
bkRhdGEtPmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoKSk7CisKKyAgICByZXR1cm4gbV9h
Y2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LmdldCgpOworfQorCitEZXZpY2VSb3RhdGlvblJh
dGUqIERldmljZU1vdGlvbkV2ZW50Ojpyb3RhdGlvblJhdGUoKQoreworICAgIGlmICghbV9kZXZp
Y2VNb3Rpb25EYXRhLT5yb3RhdGlvblJhdGUoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBp
ZiAoIW1fcm90YXRpb25SYXRlLmdldCgpKQorICAgICAgICBtX3JvdGF0aW9uUmF0ZSA9IERldmlj
ZVJvdGF0aW9uUmF0ZTo6Y3JlYXRlKG1fZGV2aWNlTW90aW9uRGF0YS0+cm90YXRpb25SYXRlKCkp
OworCisgICAgcmV0dXJuIG1fcm90YXRpb25SYXRlLmdldCgpOworfQorCitkb3VibGUgRGV2aWNl
TW90aW9uRXZlbnQ6OmludGVydmFsKGJvb2wmIGlzTnVsbCkgY29uc3QKK3sKKyAgICBpZiAobV9k
ZXZpY2VNb3Rpb25EYXRhLT5jYW5Qcm92aWRlSW50ZXJ2YWwoKSkKKyAgICAgICAgcmV0dXJuIG1f
ZGV2aWNlTW90aW9uRGF0YS0+aW50ZXJ2YWwoKTsKKworICAgIGlzTnVsbCA9IHRydWU7CisgICAg
cmV0dXJuIDA7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYgRGV2aWNlTW90aW9uRXZlbnQ6Omlu
dGVyZmFjZU5hbWUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rldmlj
ZU1vdGlvbkV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaApp
bmRleCAzMDFmZmRkOTc5ZjMxZDk5MTllZjkxNDA1YjZmMmVjNTgxMTEzYzVjLi43MDViOTg3ZTk3
ZWNmMDc0OTIwMjIwOTljOTQ0OTljOGY4NGI3OTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNl
TW90aW9uRXZlbnQuaApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K2NsYXNzIERldmljZUFjY2VsZXJhdGlvbjsKIGNsYXNzIERldmljZU1vdGlvbkRhdGE7CitjbGFz
cyBEZXZpY2VSb3RhdGlvblJhdGU7CiAKIGNsYXNzIERldmljZU1vdGlvbkV2ZW50IDogcHVibGlj
IEV2ZW50IHsKIHB1YmxpYzoKQEAgLTQ4LDYgKzUwLDExIEBAIHB1YmxpYzoKIAogICAgIERldmlj
ZU1vdGlvbkRhdGEqIGRldmljZU1vdGlvbkRhdGEoKSBjb25zdCB7IHJldHVybiBtX2RldmljZU1v
dGlvbkRhdGEuZ2V0KCk7IH0KIAorICAgIERldmljZUFjY2VsZXJhdGlvbiogYWNjZWxlcmF0aW9u
KCk7CisgICAgRGV2aWNlQWNjZWxlcmF0aW9uKiBhY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5
KCk7CisgICAgRGV2aWNlUm90YXRpb25SYXRlKiByb3RhdGlvblJhdGUoKTsKKyAgICBkb3VibGUg
aW50ZXJ2YWwoYm9vbCYgaXNOdWxsKSBjb25zdDsKKwogICAgIHZpcnR1YWwgY29uc3QgQXRvbWlj
U3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CiAKIHByaXZhdGU6CkBAIC01NSw2ICs2Miwx
MCBAQCBwcml2YXRlOgogICAgIERldmljZU1vdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYg
ZXZlbnRUeXBlLCBEZXZpY2VNb3Rpb25EYXRhKik7CiAKICAgICBSZWZQdHI8RGV2aWNlTW90aW9u
RGF0YT4gbV9kZXZpY2VNb3Rpb25EYXRhOworCisgICAgUmVmUHRyPERldmljZUFjY2VsZXJhdGlv
bj4gbV9hY2NlbGVyYXRpb247CisgICAgUmVmUHRyPERldmljZUFjY2VsZXJhdGlvbj4gbV9hY2Nl
bGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5OworICAgIFJlZlB0cjxEZXZpY2VSb3RhdGlvblJhdGU+
IG1fcm90YXRpb25SYXRlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwKaW5kZXggN2MzOWMyZmFjMmQ3MWEzNjA3Nzg5
NjIxZWNlNGMyMTM1ZTk2OGE2MC4uYWNmYzc5ODE4ZmU3YjhjZGFiZWEwYTQ3ZDRkNDk4MjRiNDk5
YzA4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsCkBAIC0yNiwx
MCArMjYsMTAgQEAKIFsKICAgICBDb25kaXRpb25hbD1ERVZJQ0VfT1JJRU5UQVRJT04sCiBdIGlu
dGVyZmFjZSBEZXZpY2VNb3Rpb25FdmVudCA6IEV2ZW50IHsKLSAgICBbQ3VzdG9tXSByZWFkb25s
eSBhdHRyaWJ1dGUgQWNjZWxlcmF0aW9uIGFjY2VsZXJhdGlvbjsKLSAgICBbQ3VzdG9tXSByZWFk
b25seSBhdHRyaWJ1dGUgQWNjZWxlcmF0aW9uIGFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHk7
Ci0gICAgW0N1c3RvbV0gcmVhZG9ubHkgYXR0cmlidXRlIFJvdGF0aW9uUmF0ZSByb3RhdGlvblJh
dGU7Ci0gICAgW0N1c3RvbV0gcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBpbnRlcnZhbDsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRGV2aWNlQWNjZWxlcmF0aW9uIGFjY2VsZXJhdGlvbjsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRGV2aWNlQWNjZWxlcmF0aW9uIGFjY2VsZXJhdGlvbkluY2x1
ZGluZ0dyYXZpdHk7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERldmljZVJvdGF0aW9uUmF0ZSBy
b3RhdGlvblJhdGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZT8gaW50ZXJ2YWw7CiAg
ICAgW0N1c3RvbV0gdm9pZCBpbml0RGV2aWNlTW90aW9uRXZlbnQoaW4gW09wdGlvbmFsPURlZmF1
bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIHR5cGUsIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGJvb2xlYW4g
YnViYmxlcywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09w
dGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gYm9vbGVhbiBjYW5jZWxhYmxlLCAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcAppbmRleCBiYWJjNzdlNmJm
YjAyMmJlNzVmNzMyZGQzOTNjNjRmNDRlMjYzMzY0Li42YjQ3ZjM2Y2ZjNTNlZWIxNjAwMTM0NGMz
YjkzY2EzMmRiYzQwNzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3Jp
ZW50YXRpb25FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0
aW9uRXZlbnQuY3BwCkBAIC01NSw2ICs1NSw0MiBAQCB2b2lkIERldmljZU9yaWVudGF0aW9uRXZl
bnQ6OmluaXREZXZpY2VPcmllbnRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZQog
ICAgIG1fb3JpZW50YXRpb24gPSBvcmllbnRhdGlvbjsKIH0KIAorZG91YmxlIERldmljZU9yaWVu
dGF0aW9uRXZlbnQ6OmFscGhhKGJvb2wmIGlzTnVsbCkgY29uc3QKK3sKKyAgICBpZiAobV9vcmll
bnRhdGlvbi0+Y2FuUHJvdmlkZUFscGhhKCkpCisgICAgICAgIHJldHVybiBtX29yaWVudGF0aW9u
LT5hbHBoYSgpOworCisgICAgaXNOdWxsID0gdHJ1ZTsKKyAgICByZXR1cm4gMDsKK30KKworZG91
YmxlIERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmJldGEoYm9vbCYgaXNOdWxsKSBjb25zdAorewor
ICAgIGlmIChtX29yaWVudGF0aW9uLT5jYW5Qcm92aWRlQmV0YSgpKQorICAgICAgICByZXR1cm4g
bV9vcmllbnRhdGlvbi0+YmV0YSgpOworCisgICAgaXNOdWxsID0gdHJ1ZTsKKyAgICByZXR1cm4g
MDsKK30KKworZG91YmxlIERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmdhbW1hKGJvb2wmIGlzTnVs
bCkgY29uc3QKK3sKKyAgICBpZiAobV9vcmllbnRhdGlvbi0+Y2FuUHJvdmlkZUdhbW1hKCkpCisg
ICAgICAgIHJldHVybiBtX29yaWVudGF0aW9uLT5nYW1tYSgpOworCisgICAgaXNOdWxsID0gdHJ1
ZTsKKyAgICByZXR1cm4gMDsKK30KKworYm9vbCBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjphYnNv
bHV0ZShib29sJiBpc051bGwpIGNvbnN0Cit7CisgICAgaWYgKG1fb3JpZW50YXRpb24tPmNhblBy
b3ZpZGVBYnNvbHV0ZSgpKQorICAgICAgICByZXR1cm4gbV9vcmllbnRhdGlvbi0+YWJzb2x1dGUo
KTsKKworICAgIGlzTnVsbCA9IHRydWU7CisgICAgcmV0dXJuIDA7Cit9CisKIGNvbnN0IEF0b21p
Y1N0cmluZyYgRGV2aWNlT3JpZW50YXRpb25FdmVudDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0CiB7
CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2
aWNlT3JpZW50YXRpb25FdmVudC5oCmluZGV4IGUxOTZlYTViOTNlNGNmNzQ4NGI5M2NiN2VjZmVl
YWRiN2ZjNDIzYmIuLjUxMDI2OTAwYzVmYmM2OTVjZDY1ODYwMTliMTFmNWNjYTBjZDI2MmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaApAQCAtNDgsNiAr
NDgsMTEgQEAgcHVibGljOgogCiAgICAgRGV2aWNlT3JpZW50YXRpb25EYXRhKiBvcmllbnRhdGlv
bigpIGNvbnN0IHsgcmV0dXJuIG1fb3JpZW50YXRpb24uZ2V0KCk7IH0KIAorICAgIGRvdWJsZSBh
bHBoYShib29sJiBpc051bGwpIGNvbnN0OworICAgIGRvdWJsZSBiZXRhKGJvb2wmIGlzTnVsbCkg
Y29uc3Q7CisgICAgZG91YmxlIGdhbW1hKGJvb2wmIGlzTnVsbCkgY29uc3Q7CisgICAgYm9vbCBh
YnNvbHV0ZShib29sJiBpc051bGwpIGNvbnN0OworCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNT
dHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbAppbmRleCBlODI2NTAzYzU1YjI0MGYy
NDEyOWQ5NzkwMDVmNzc1MDcyM2RiNGU3Li4xZTAyNTkyN2U1MzNiYTE3OGQ1MjhlNGZiMzYwMzg0
MjdlYWNiZjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b25FdmVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuaWRsCkBAIC0yNiwxMCArMjYsMTAgQEAKIFsKICAgICBDb25kaXRpb25hbD1ERVZJQ0VfT1JJ
RU5UQVRJT04sCiBdIGludGVyZmFjZSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50IDogRXZlbnQgewot
ICAgIFtDdXN0b21dIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgYWxwaGE7Ci0gICAgW0N1c3Rv
bV0gcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBiZXRhOwotICAgIFtDdXN0b21dIHJlYWRvbmx5
IGF0dHJpYnV0ZSBkb3VibGUgZ2FtbWE7Ci0gICAgW0N1c3RvbV0gcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gYWJzb2x1dGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZT8gYWxwaGE7
CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZT8gYmV0YTsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgZG91YmxlPyBnYW1tYTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbj8gYWJz
b2x1dGU7CiAgICAgW0N1c3RvbV0gdm9pZCBpbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChpbiBb
T3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgdHlwZSwgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElz
VW5kZWZpbmVkXSBib29sZWFuIGJ1YmJsZXMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gYm9vbGVh
biBjYW5jZWxhYmxlLCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VSb3Rh
dGlvblJhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTE5MmY0ZTY1OTE0MDRlZDZjOGRlMmZjOTdiMDU0ODA1ZjczNjA2MAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VSb3RhdGlvblJhdGUuY3Bw
CkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
RGV2aWNlUm90YXRpb25SYXRlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRGV2aWNlUm90
YXRpb25SYXRlOjpEZXZpY2VSb3RhdGlvblJhdGUoY29uc3QgRGV2aWNlTW90aW9uRGF0YTo6Um90
YXRpb25SYXRlKiByb3RhdGlvblJhdGUpCisgICAgOiBtX3JvdGF0aW9uUmF0ZShyb3RhdGlvblJh
dGUpCit7Cit9CisKK2RvdWJsZSBEZXZpY2VSb3RhdGlvblJhdGU6OmFscGhhKGJvb2wmIGlzTnVs
bCkgY29uc3QKK3sKKyAgICBpZiAobV9yb3RhdGlvblJhdGUtPmNhblByb3ZpZGVBbHBoYSgpKQor
ICAgICAgICByZXR1cm4gbV9yb3RhdGlvblJhdGUtPmFscGhhKCk7CisKKyAgICBpc051bGwgPSB0
cnVlOworICAgIHJldHVybiAwOworfQorCitkb3VibGUgRGV2aWNlUm90YXRpb25SYXRlOjpiZXRh
KGJvb2wmIGlzTnVsbCkgY29uc3QKK3sKKyAgICBpZiAobV9yb3RhdGlvblJhdGUtPmNhblByb3Zp
ZGVCZXRhKCkpCisgICAgICAgIHJldHVybiBtX3JvdGF0aW9uUmF0ZS0+YmV0YSgpOworCisgICAg
aXNOdWxsID0gdHJ1ZTsKKyAgICByZXR1cm4gMDsKK30KKworZG91YmxlIERldmljZVJvdGF0aW9u
UmF0ZTo6Z2FtbWEoYm9vbCYgaXNOdWxsKSBjb25zdAoreworICAgIGlmIChtX3JvdGF0aW9uUmF0
ZS0+Y2FuUHJvdmlkZUdhbW1hKCkpCisgICAgICAgIHJldHVybiBtX3JvdGF0aW9uUmF0ZS0+Z2Ft
bWEoKTsKKworICAgIGlzTnVsbCA9IHRydWU7CisgICAgcmV0dXJuIDA7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VSb3Rh
dGlvblJhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VSb3RhdGlvblJhdGUuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mODFiMDQ3ZWUwNGI2NDMyM2UxMjQ2NGZhZmFkMDJhODg0MzdlNWJiCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5oCkBAIC0w
LDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgor
ICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERldmljZVJvdGF0aW9uUmF0ZV9oCisjZGVmaW5l
IERldmljZVJvdGF0aW9uUmF0ZV9oCisKKyNpbmNsdWRlICJEZXZpY2VNb3Rpb25EYXRhLmgiCisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBEZXZpY2VSb3RhdGlvblJhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxEZXZpY2VSb3RhdGlvblJh
dGU+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VSb3RhdGlvblJhdGU+
IGNyZWF0ZShjb25zdCBEZXZpY2VNb3Rpb25EYXRhOjpSb3RhdGlvblJhdGUqIHJvdGF0aW9uUmF0
ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRGV2aWNlUm90YXRpb25SYXRl
KHJvdGF0aW9uUmF0ZSkpOworICAgIH0KKworICAgIGRvdWJsZSBhbHBoYShib29sJiBpc051bGwp
IGNvbnN0OworICAgIGRvdWJsZSBiZXRhKGJvb2wmIGlzTnVsbCkgY29uc3Q7CisgICAgZG91Ymxl
IGdhbW1hKGJvb2wmIGlzTnVsbCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgRGV2aWNlUm90YXRp
b25SYXRlKGNvbnN0IERldmljZU1vdGlvbkRhdGE6OlJvdGF0aW9uUmF0ZSopOworCisgICAgY29u
c3QgRGV2aWNlTW90aW9uRGF0YTo6Um90YXRpb25SYXRlKiBtX3JvdGF0aW9uUmF0ZTsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZVJvdGF0aW9uUmF0ZV9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlUm90YXRpb25SYXRlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VSb3RhdGlvblJhdGUuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVl
MDM0NTRlMzZiNDRjYzQ0NDk0NWRmMmNjNWRmZWExYmViYWYyYjMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlUm90YXRpb25SYXRlLmlkbApAQCAtMCwwICsxLDMz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTiwKKyAgICBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBEZXZpY2VSb3RhdGlvblJhdGUg
eworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGU/IGFscGhhOworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBkb3VibGU/IGJldGE7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZT8gZ2Ft
bWE7Cit9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194572</attachid>
            <date>2013-03-22 09:42:07 -0700</date>
            <delta_ts>2013-04-02 11:58:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112910-20130322163754.patch</filename>
            <type>text/plain</type>
            <size>54646</size>
            <attacher name="Peter Beverloo">peter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTA4MjhlZmY3NjI0MTFi
NmUxZGZmOWVlZTEyNzBkOGVkZDg1MzcxZC4uYzczM2EzOTY3MzNiMjk2ZWYxNDFiZGYwNzI1YTMw
NjgzNjRlYTU3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDEzLTAzLTIxICBQZXRl
ciBCZXZlcmxvbyAgPHBldGVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgdGhl
IERldmljZUFjY2VsZXJhdGlvbiBhbmQgRGV2aWNlUm90YXRpb25SYXRlIElETCBvYmplY3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI5MTAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdGhl
IGN1c3RvbSBiaW5kaW5ncyAtLWV4Y2VwdCBmb3IgdGhlIGV2ZW50IGluaXRpYWxpemF0aW9uCisg
ICAgICAgIG1ldGhvZHMtLSBpbiBmYXZvciBvZiBpbXBsZW1lbnRpbmcgdGhlIElETCBvYmplY3Rz
IGFzIGRlZmluZWQgYnkKKyAgICAgICAgdGhlIHNwZWNpZmljYXRpb24uIFRoaXMgcGF0Y2ggYWRk
cyB0aGUgRGV2aWNlQWNjZWxlcmF0aW9uIGFuZAorICAgICAgICBEZXZpY2VSb3RhdGlvblJhdGUg
b2JqZWN0cy4KKworICAgICAgICBUaGVyZSBzaG91bGQgYmUgbm8gb2JzZXJ2YWJsZSBjaGFuZ2Ug
aW4gYmVoYXZpb3IuIFRoaXMgaXMgYmVpbmcKKyAgICAgICAgZXhlcmNpemVkIGJ5IHRoZSBleGlz
dGluZyBsYXlvdXQgdGVzdHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnByaToKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAg
ICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAg
ICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHA6CisgICAgICAgICogYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwOgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwOgor
ICAgICAgICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICogZG9tL0RldmljZUFjY2Vs
ZXJhdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpEZXZpY2VBY2NlbGVyYXRpb246OkRldmljZUFjY2VsZXJhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpEZXZpY2VBY2NlbGVyYXRpb246OngpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlQWNj
ZWxlcmF0aW9uOjp5KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZUFjY2VsZXJhdGlvbjo6eik6
CisgICAgICAgICogZG9tL0RldmljZUFjY2VsZXJhdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoRGV2aWNlQWNjZWxlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkRldmljZUFjY2VsZXJhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBkb20vRGV2aWNlQWNjZWxl
cmF0aW9uLmlkbDogQWRkZWQuCisgICAgICAgICogZG9tL0RldmljZU1vdGlvbkRhdGEuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkRhdGE6OmFjY2VsZXJhdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VNb3Rpb25EYXRhOjphY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5
KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkRhdGE6OnJvdGF0aW9uUmF0ZSk6Cisg
ICAgICAgIChEZXZpY2VNb3Rpb25EYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlv
bkRhdGE6OmludGVydmFsKToKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uRXZlbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uRXZlbnQ6OmluaXREZXZpY2VNb3Rpb25FdmVu
dCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkV2
ZW50OjphY2NlbGVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uRXZlbnQ6
OmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNl
TW90aW9uRXZlbnQ6OnJvdGF0aW9uUmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rp
b25FdmVudDo6aW50ZXJ2YWwpOgorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5oOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChEZXZpY2VNb3Rpb25FdmVudCk6CisgICAgICAg
ICogZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbDoKKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50
YXRpb25FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkV2ZW50
OjphbHBoYSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9y
aWVudGF0aW9uRXZlbnQ6OmJldGEpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRp
b25FdmVudDo6Z2FtbWEpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25FdmVu
dDo6YWJzb2x1dGUpOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50Lmg6Cisg
ICAgICAgIChEZXZpY2VPcmllbnRhdGlvbkV2ZW50KToKKyAgICAgICAgKiBkb20vRGV2aWNlT3Jp
ZW50YXRpb25FdmVudC5pZGw6CisgICAgICAgICogZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VSb3Rh
dGlvblJhdGU6OkRldmljZVJvdGF0aW9uUmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VS
b3RhdGlvblJhdGU6OmFscGhhKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZVJvdGF0aW9uUmF0
ZTo6YmV0YSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VSb3RhdGlvblJhdGU6OmdhbW1hKToK
KyAgICAgICAgKiBkb20vRGV2aWNlUm90YXRpb25SYXRlLmg6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChEZXZpY2VSb3RhdGlvblJhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlUm90YXRpb25SYXRlOjpjcmVhdGUpOgorICAgICAgICAqIGRvbS9EZXZpY2VSb3RhdGlv
blJhdGUuaWRsOiBBZGRlZC4KKwogMjAxMy0wMy0yMiAgVnNldm9sb2QgVmxhc292ICA8dnNldmlr
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBbUmVncmVzc2lvbl0gRWRp
dG9yIHNjcm9sbCBpcyBub3QgcmVzdG9yZWQgYWZ0ZXIgaW5zcGVjdG9yIHJlbG9hZC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKaW5kZXggMTkyMDI4NWUyYjQxMjkzOWE0YjBkYjI4Zjg2YzgyMWE1YjEyZjQ4
OS4uZTg3M2Q4NDY4NzgzN2VkYjJiNGYyODYyZWI0MTBiMTdlYmQzYmYwMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTM0Myw4ICszNDMsMTAgQEAgc2V0KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAg
ZG9tL0N1c3RvbUV2ZW50LmlkbAogICAgIGRvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbAogICAgIGRv
bS9EYXRhVHJhbnNmZXJJdGVtTGlzdC5pZGwKKyAgICBkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmlk
bAogICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwKICAgICBkb20vRGV2aWNlT3JpZW50YXRp
b25FdmVudC5pZGwKKyAgICBkb20vRGV2aWNlUm90YXRpb25SYXRlLmlkbAogICAgIGRvbS9ET01D
b3JlRXhjZXB0aW9uLmlkbAogICAgIGRvbS9ET01FcnJvci5pZGwKICAgICBkb20vRE9NSW1wbGVt
ZW50YXRpb24uaWRsCkBAIC0xMTQwLDEyICsxMTQyLDE0IEBAIHNldChXZWJDb3JlX1NPVVJDRVMK
ICAgICBkb20vRGF0YXNldERPTVN0cmluZ01hcC5jcHAKICAgICBkb20vRGF0YVRyYW5zZmVySXRl
bS5jcHAKICAgICBkb20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5jcHAKKyAgICBkb20vRGV2
aWNlQWNjZWxlcmF0aW9uLmNwcAogICAgIGRvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcAog
ICAgIGRvbS9EZXZpY2VNb3Rpb25EYXRhLmNwcAogICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5j
cHAKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcAogICAgIGRvbS9EZXZp
Y2VPcmllbnRhdGlvbkRhdGEuY3BwCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3Bw
CisgICAgZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5jcHAKICAgICBkb20vRE9NQ29yZUV4Y2VwdGlv
bi5jcHAKICAgICBkb20vRE9NRXJyb3IuY3BwCiAgICAgZG9tL0RPTUltcGxlbWVudGF0aW9uLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMDk5NWUxZWEwOWY1ZDY5NjNmNDQw
ZmZiZWY4ODQ1ZjBlZjRmMzFhNS4uNzUxMmQ4M2MzOTA2YWFiODNjZjY5NjdhNTZhMGQ4ZmE1OGRh
OGJiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yMzMsOCArMjMzLDEwIEBA
IEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01TdHJpbmdNYXAuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9EZXZp
Y2VBY2NlbGVyYXRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9EZXZpY2VNb3Rpb25FdmVu
dC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsIFwK
KyAgICAkKFdlYkNvcmUpL2RvbS9EZXZpY2VSb3RhdGlvblJhdGUuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2RvbS9Eb2N1bWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0RvY3VtZW50RnJhZ21l
bnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9Eb2N1bWVudFR5cGUuaWRsIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLnByaQppbmRleCBlMTc5OWMwYjc1MjUyY2YyNzE4NTBjZjc4MTVmYTNkNTg0
YWQ3OTdmLi4wYjI0ODc4NWMyNzRjMjhiYjE2MWVkN2VkOTE5YzBjMDA5YjliNDVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0yMzUsOCArMjM1LDEwIEBAIElETF9CSU5ESU5HUyAr
PSBcCiAgICAgJCRQV0QvZG9tL0N1c3RvbUV2ZW50LmlkbCBcCiAgICAgJCRQV0QvZG9tL0RhdGFU
cmFuc2Zlckl0ZW0uaWRsIFwKICAgICAkJFBXRC9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRs
IFwKKyAgICAkJFBXRC9kb20vRGV2aWNlQWNjZWxlcmF0aW9uLmlkbCBcCiAgICAgJCRQV0QvZG9t
L0RldmljZU1vdGlvbkV2ZW50LmlkbCBcCiAgICAgJCRQV0QvZG9tL0RldmljZU9yaWVudGF0aW9u
RXZlbnQuaWRsIFwKKyAgICAkJFBXRC9kb20vRGV2aWNlUm90YXRpb25SYXRlLmlkbCBcCiAgICAg
JCRQV0QvZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsIFwKICAgICAkJFBXRC9kb20vRG9jdW1lbnQu
aWRsIFwKICAgICAkJFBXRC9kb20vRG9jdW1lbnRUeXBlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQppbmRleCA3MmU1ZWIzYTAxMDVkMTE1ODY1ZDMwMjgwOTQ1YWUxMmMyNDgyZjMz
Li5jZDU4NWI1NDdlY2NhODQwYWU2NDIzYzk3MzgwYTFhYmU4NTRlMTc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KQEAgLTE1OSwxMCArMTU5LDE0IEBAIHdlYmNvcmVfYnVpbHRfc291
cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RlZGljYXRlZFdvcmtlckNvbnRl
eHQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RlbGF5Tm9kZS5jcHAgXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZWxheU5vZGUuaCBcCisgICAgRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RldmljZUFjY2VsZXJhdGlvbi5jcHAgXAorICAgIERlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNEZXZpY2VBY2NlbGVyYXRpb24uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Rl
dmljZU1vdGlvbkV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZU1v
dGlvbkV2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VPcmllbnRhdGlv
bkV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZU9yaWVudGF0aW9u
RXZlbnQuaCBcCisgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZVJvdGF0aW9uUmF0
ZS5jcHAgXAorICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VSb3RhdGlvblJhdGUu
aCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RpcmVjdG9yeUVudHJ5LmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RpcmVjdG9yeUVudHJ5LmggXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNEaXJlY3RvcnlFbnRyeVN5bmMuY3BwIFwKQEAgLTEzODgsOCArMTM5MiwxMCBA
QCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL2RvbS9ET01TdHJpbmdNYXAuaWRs
IFwKIAkkKFdlYkNvcmUpL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbCBcCiAJJChXZWJDb3JlKS9k
b20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9EZXZpY2VB
Y2NlbGVyYXRpb24uaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwg
XAogCSQoV2ViQ29yZSkvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsIFwKKyAgICAkKFdl
YkNvcmUpL2RvbS9EZXZpY2VSb3RhdGlvblJhdGUuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9Eb2N1
bWVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsIFwKIAkkKFdl
YkNvcmUpL2RvbS9Eb2N1bWVudFR5cGUuaWRsIFwKQEAgLTI4MjcsNiArMjgzMyw4IEBAIHdlYmNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQ
YXJzZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL2RlZmF1bHQvUGxhdGZvcm1NZXNzYWdlUG9y
dENoYW5uZWwuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vZGVmYXVsdC9QbGF0Zm9ybU1lc3Nh
Z2VQb3J0Q2hhbm5lbC5oIFwKKyAgICBTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlQWNjZWxlcmF0
aW9uLmNwcCBcCisgICAgU291cmNlL1dlYkNvcmUvZG9tL0RldmljZUFjY2VsZXJhdGlvbi5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ2xpZW50LmggXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBcCkBAIC0yODQxLDYgKzI4NDksOCBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkRhdGEu
aCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIFwKKyAgICBTb3VyY2Uv
V2ViQ29yZS9kb20vRGV2aWNlUm90YXRpb25SYXRlLmNwcCBcCisgICAgU291cmNlL1dlYkNvcmUv
ZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRGcmFnbWVudC5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggOWYxYzE0
ODYyYmVhZGQ5MzY1ZTIzYTg4MjMyZGIzYmNkYzQwYTEyMi4uOTFlMjMwMGI4ZDY1ZGFmNzM3N2Y3
NzcwYjE4MmE0NzIyMzIxMjRiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0zNzcsMTIgKzM3NywxNCBAQCBT
T1VSQ0VTICs9IFwKICAgICBkb20vQ29udGV4dEZlYXR1cmVzLmNwcCBcCiAgICAgZG9tL0N1c3Rv
bUV2ZW50LmNwcCBcCiAgICAgZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwIFwKKyAg
ICBkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCBcCiAgICAgZG9tL0RldmljZU1vdGlvbkNvbnRy
b2xsZXIuY3BwIFwKICAgICBkb20vRGV2aWNlTW90aW9uRGF0YS5jcHAgXAogICAgIGRvbS9EZXZp
Y2VNb3Rpb25FdmVudC5jcHAgXAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIu
Y3BwIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25EYXRhLmNwcCBcCiAgICAgZG9tL0Rldmlj
ZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKKyAgICBkb20vRGV2aWNlUm90YXRpb25SYXRlLmNwcCBc
CiAgICAgZG9tL0RvY3VtZW50LmNwcCBcCiAgICAgZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAg
XAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmNwcCBcCkBAIC0xNjIzLDYgKzE2MjUsNyBAQCBI
RUFERVJTICs9IFwKICAgICBkb20vQ29udGV4dEZlYXR1cmVzLmggXAogICAgIGRvbS9DdXN0b21F
dmVudC5oIFwKICAgICBkb20vZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oIFwK
KyAgICBkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmggXAogICAgIGRvbS9EZXZpY2VNb3Rpb25DbGll
bnQuaCBcCiAgICAgZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBcCiAgICAgZG9tL0Rldmlj
ZU1vdGlvbkRhdGEuaCBcCkBAIC0xNjMxLDYgKzE2MzQsNyBAQCBIRUFERVJTICs9IFwKICAgICBk
b20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmggXAogICAgIGRvbS9EZXZpY2VPcmllbnRh
dGlvbkRhdGEuaCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCBcCisgICAgZG9t
L0RldmljZVJvdGF0aW9uUmF0ZS5oIFwKICAgICBkb20vRG9jdW1lbnQuaCBcCiAgICAgZG9tL0Rv
Y3VtZW50RnJhZ21lbnQuaCBcCiAgICAgZG9tL0RvY3VtZW50TWFya2VyLmggXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCmluZGV4IGMzMDYwODdjY2E5NDliYTY0ZmQzMTY1N2YxZDAyNTVkZjA3MzllMTEuLmFhZDlm
NjUxOWU5ZTU4MTZhNzU0YmFmMzBiY2E5NGI4Y2ZkMDYxNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAg
LTI5OSw4ICsyOTksMTAgQEAKICAgICAgICAgICAgICdkb20vRE9NU3RyaW5nTWFwLmlkbCcsCiAg
ICAgICAgICAgICAnZG9tL0RhdGFUcmFuc2Zlckl0ZW0uaWRsJywKICAgICAgICAgICAgICdkb20v
RGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlQWNjZWxl
cmF0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbCcsCiAg
ICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsJywKKyAgICAgICAgICAg
ICdkb20vRGV2aWNlUm90YXRpb25SYXRlLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsJywKICAgICAgICAg
ICAgICdkb20vRG9jdW1lbnRUeXBlLmlkbCcsCkBAIC0yOTE3LDYgKzI5MTksOCBAQAogICAgICAg
ICAgICAgJ2RvbS9EYXRhc2V0RE9NU3RyaW5nTWFwLmgnLAogICAgICAgICAgICAgJ2RvbS9EZWNv
ZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RlY29kZWREYXRh
RG9jdW1lbnRQYXJzZXIuaCcsCisgICAgICAgICAgICAnZG9tL0RldmljZUFjY2VsZXJhdGlvbi5j
cHAnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uaCcsCiAgICAgICAgICAg
ICAnZG9tL0RldmljZU1vdGlvbkNsaWVudC5oJywKICAgICAgICAgICAgICdkb20vRGV2aWNlTW90
aW9uQ29udHJvbGxlci5jcHAnLAogICAgICAgICAgICAgJ2RvbS9EZXZpY2VNb3Rpb25Db250cm9s
bGVyLmgnLApAQCAtMjkyOSw2ICsyOTMzLDggQEAKICAgICAgICAgICAgICdkb20vRGV2aWNlT3Jp
ZW50YXRpb25EYXRhLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuY3BwJywKICAgICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oJywKKyAg
ICAgICAgICAgICdkb20vRGV2aWNlUm90YXRpb25SYXRlLmNwcCcsCisgICAgICAgICAgICAnZG9t
L0RldmljZVJvdGF0aW9uUmF0ZS5oJywKICAgICAgICAgICAgICdkb20vRG9jdW1lbnQuY3BwJywK
ICAgICAgICAgICAgICdkb20vRG9jdW1lbnRFdmVudFF1ZXVlLmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5oJywKQEAgLTY0ODYsMTAgKzY0OTIsMTQgQEAKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGVkaWNhdGVk
V29ya2VyQ29udGV4dC5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRGVsYXlOb2RlLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RlbGF5Tm9kZS5oJywKKyAgICAgICAgICAgICc8
KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGV2aWNlQWNjZWxlcmF0aW9u
LmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0RldmljZUFjY2VsZXJhdGlvbi5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGV2aWNlTW90aW9uRXZlbnQuY3BwJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGV2aWNlTW90aW9u
RXZlbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwJywKICAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudC5o
JywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
RGV2aWNlUm90YXRpb25SYXRlLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZVJvdGF0aW9uUmF0ZS5oJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGlyZWN0b3J5RW50cnku
Y3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRGlyZWN0b3J5RW50cnkuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0RpcmVjdG9yeUVudHJ5U3luYy5jcHAnLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA5N2IzOWVmOWI4MjJmMzI3
ZWJkNTIzY2I4NmJhNGMzM2RkZTE4ZjA4Li5mNzcwNjkzOTk4N2Y0MTc1ZDMxZjgwYjFiZTlmZDkw
ZjA1OTZhNjY2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtNTA4OTUsNiArNTA4OTUsNjUgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZUFjY2VsZXJhdGlvbi5jcHAiCisJCQkJ
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0
ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKworCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19B
bGx8V2luMzIiCisKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVj
dGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisKKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGRvbVxEZXZpY2VBY2NlbGVyYXRpb24uaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU1vdGlvbkNsaWVudC5oIgogCQkJCT4K
IAkJCTwvRmlsZT4KQEAgLTUxMjM5LDYgKzUxMjk4LDY1IEBACiAJCQkJPgogCQkJPC9GaWxlPgog
CQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VSb3RhdGlvblJhdGUuY3Bw
IgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWly
b19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
RGVidWdfQWxsfFdpbjMyIgorCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxkb21cRGV2aWNlUm90YXRpb25SYXRlLmgiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEb2N1bWVudC5jcHAiCiAJCQkJPgog
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2oKaW5kZXggZTY0OGY2MzUxYjNiNzA1NTkxMTFiNDU5NzVkYWUzZWY3
NmM0MjM4OS4uYzkxMjAwZDM0M2ZiZDdkNzEwZGI3YjZjNTcyZWM1MDc4YzQyZjM4YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC03MDQ0
LDYgKzcwNDQsMTQgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGRvbVxEZXZpY2VBY2NlbGVyYXRpb24uY3BwIj4KKyAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5D
YWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdT
dWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2Vf
V2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1By
b2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGls
ZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRvbVxEZXZpY2VNb3Rpb25Db250cm9sbGVy
LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KQEAgLTcwOTIsNiArNzEwMCwxNCBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWly
b3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlv
bnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgorICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZG9tXERldmljZVJvdGF0aW9uUmF0ZS5jcHAiPgorICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgor
ICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgor
ICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZG9tXERvY3VtZW50
LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KQEAgLTEyNDczLDYgKzEyNDg5LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGRvbVxEYXRhVHJhbnNmZXJJdGVtLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxk
b21cRGF0YVRyYW5zZmVySXRlbUxpc3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGRvbVxEZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxkb21cRGV2aWNlQWNjZWxlcmF0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxkb21cRGV2aWNlTW90aW9uQ2xpZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxkb21cRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cZG9tXERldmljZU1vdGlvbkRhdGEuaCIgLz4KQEAgLTEyNDgxLDYgKzEyNDk4
LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxEZXZpY2VPcmll
bnRhdGlvbkRhdGEuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxEZXZpY2VP
cmllbnRhdGlvbkV2ZW50LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkb21cRGV2
aWNlUm90YXRpb25SYXRlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkb21cRG9j
dW1lbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxEb2N1bWVudEZyYWdt
ZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkb21cRG9jdW1lbnRNYXJrZXIu
aCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVycwppbmRleCAxM2ZmMGQ2MWQ1MGJhMzYxNzJhZGQzNjIxNTIwMTc3NGRj
YWNlZGNkLi5jNmIyZTAyZDEyNWQyZjk1NGJhZDcxOGJlYTg5MjA3MzM4MGIyMWU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzCkBAIC00NjA4LDYgKzQ2MDgsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
ZG9tXERlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+ZG9tPC9G
aWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkb21c
RGV2aWNlQWNjZWxlcmF0aW9uLmNwcCI+CisgICAgICA8RmlsdGVyPmRvbTwvRmlsdGVyPgorICAg
IDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZG9tXERldmljZU1vdGlv
bkNvbnRyb2xsZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+ZG9tPC9GaWx0ZXI+CiAgICAgPC9DbENv
bXBpbGU+CkBAIC00NjI2LDYgKzQ2MjksOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
ZG9tXERldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIj4KICAgICAgIDxGaWx0ZXI+ZG9tPC9GaWx0
ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkb21cRGV2
aWNlUm90YXRpb25SYXRlLmNwcCI+CisgICAgICA8RmlsdGVyPmRvbTwvRmlsdGVyPgorICAgIDwv
Q2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZG9tXERvY3VtZW50LmNwcCI+
CiAgICAgICA8RmlsdGVyPmRvbTwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMTE0ODEs
NiArMTE0ODcsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZG9tXERlY29kZWREYXRh
RG9jdW1lbnRQYXJzZXIuaCI+CiAgICAgICA8RmlsdGVyPmRvbTwvRmlsdGVyPgogICAgIDwvQ2xJ
bmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZG9tXERldmljZUFjY2VsZXJhdGlv
bi5oIj4KKyAgICAgIDxGaWx0ZXI+ZG9tPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkb21cRGV2aWNlTW90aW9uQ2xpZW50LmgiPgogICAgICAg
PEZpbHRlcj5kb208L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTExNTA1LDYgKzExNTE0
LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbkV2
ZW50LmgiPgogICAgICAgPEZpbHRlcj5kb208L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxEZXZpY2VSb3RhdGlvblJhdGUuaCI+CisgICAg
ICA8RmlsdGVyPmRvbTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cZG9tXERvY3VtZW50LmgiPgogICAgICAgPEZpbHRlcj5kb208L0ZpbHRlcj4K
ICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAKaW5kZXggNjExMjc2N2Q3OGVmZDg1MTc3
N2NkOGRiMTE4M2EyMDE2NDc3YmU4My4uNGRiOTZlMzJjMWQzZThhYTJjMzA1OWM4YzNlNTE5Y2Nk
YTlkNDc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VN
b3Rpb25FdmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
ZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAKQEAgLTExMyw1NiArMTEzLDYgQEAgc3RhdGljIFBh
c3NSZWZQdHI8RGV2aWNlTW90aW9uRGF0YTo6Um90YXRpb25SYXRlPiByZWFkUm90YXRpb25SYXRl
QXJndW1lbnQoSlNWYWwKICAgICByZXR1cm4gRGV2aWNlTW90aW9uRGF0YTo6Um90YXRpb25SYXRl
OjpjcmVhdGUoY2FuUHJvdmlkZUFscGhhLCBhbHBoYSwgY2FuUHJvdmlkZUJldGEsIGJldGEsIGNh
blByb3ZpZGVHYW1tYSwgZ2FtbWEpOwogfQogCi1zdGF0aWMgSlNPYmplY3QqIGNyZWF0ZUFjY2Vs
ZXJhdGlvbk9iamVjdChjb25zdCBEZXZpY2VNb3Rpb25EYXRhOjpBY2NlbGVyYXRpb24qIGFjY2Vs
ZXJhdGlvbiwgRXhlY1N0YXRlKiBleGVjKQotewotICAgIEpTT2JqZWN0KiBvYmplY3QgPSBjb25z
dHJ1Y3RFbXB0eU9iamVjdChleGVjKTsKLSAgICBvYmplY3QtPnB1dERpcmVjdChleGVjLT5nbG9i
YWxEYXRhKCksIElkZW50aWZpZXIoZXhlYywgIngiKSwgYWNjZWxlcmF0aW9uLT5jYW5Qcm92aWRl
WCgpID8ganNOdW1iZXIoYWNjZWxlcmF0aW9uLT54KCkpIDoganNOdWxsKCkpOwotICAgIG9iamVj
dC0+cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihleGVjLCAieSIpLCBh
Y2NlbGVyYXRpb24tPmNhblByb3ZpZGVZKCkgPyBqc051bWJlcihhY2NlbGVyYXRpb24tPnkoKSkg
OiBqc051bGwoKSk7Ci0gICAgb2JqZWN0LT5wdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBJ
ZGVudGlmaWVyKGV4ZWMsICJ6IiksIGFjY2VsZXJhdGlvbi0+Y2FuUHJvdmlkZVooKSA/IGpzTnVt
YmVyKGFjY2VsZXJhdGlvbi0+eigpKSA6IGpzTnVsbCgpKTsKLSAgICByZXR1cm4gb2JqZWN0Owot
fQotCi1zdGF0aWMgSlNPYmplY3QqIGNyZWF0ZVJvdGF0aW9uUmF0ZU9iamVjdChjb25zdCBEZXZp
Y2VNb3Rpb25EYXRhOjpSb3RhdGlvblJhdGUqIHJvdGF0aW9uUmF0ZSwgRXhlY1N0YXRlKiBleGVj
KQotewotICAgIEpTT2JqZWN0KiBvYmplY3QgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjKTsK
LSAgICBvYmplY3QtPnB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIElkZW50aWZpZXIoZXhl
YywgImFscGhhIiksIHJvdGF0aW9uUmF0ZS0+Y2FuUHJvdmlkZUFscGhhKCkgPyBqc051bWJlcihy
b3RhdGlvblJhdGUtPmFscGhhKCkpIDoganNOdWxsKCkpOwotICAgIG9iamVjdC0+cHV0RGlyZWN0
KGV4ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihleGVjLCAiYmV0YSIpLCAgcm90YXRpb25S
YXRlLT5jYW5Qcm92aWRlQmV0YSgpICA/IGpzTnVtYmVyKHJvdGF0aW9uUmF0ZS0+YmV0YSgpKSAg
OiBqc051bGwoKSk7Ci0gICAgb2JqZWN0LT5wdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBJ
ZGVudGlmaWVyKGV4ZWMsICJnYW1tYSIpLCByb3RhdGlvblJhdGUtPmNhblByb3ZpZGVHYW1tYSgp
ID8ganNOdW1iZXIocm90YXRpb25SYXRlLT5nYW1tYSgpKSA6IGpzTnVsbCgpKTsKLSAgICByZXR1
cm4gb2JqZWN0OwotfQotCi1KU1ZhbHVlIEpTRGV2aWNlTW90aW9uRXZlbnQ6OmFjY2VsZXJhdGlv
bihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Ci17Ci0gICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9
IHN0YXRpY19jYXN0PERldmljZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsKLSAgICBpZiAoIWltcC0+
ZGV2aWNlTW90aW9uRGF0YSgpLT5hY2NlbGVyYXRpb24oKSkKLSAgICAgICAgcmV0dXJuIGpzTnVs
bCgpOwotICAgIHJldHVybiBjcmVhdGVBY2NlbGVyYXRpb25PYmplY3QoaW1wLT5kZXZpY2VNb3Rp
b25EYXRhKCktPmFjY2VsZXJhdGlvbigpLCBleGVjKTsKLX0KLQotSlNWYWx1ZSBKU0RldmljZU1v
dGlvbkV2ZW50OjphY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5KEV4ZWNTdGF0ZSogZXhlYykg
Y29uc3QKLXsKLSAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNl
TW90aW9uRXZlbnQqPihpbXBsKCkpOwotICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCkt
PmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoKSkKLSAgICAgICAgcmV0dXJuIGpzTnVsbCgp
OwotICAgIHJldHVybiBjcmVhdGVBY2NlbGVyYXRpb25PYmplY3QoaW1wLT5kZXZpY2VNb3Rpb25E
YXRhKCktPmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoKSwgZXhlYyk7Ci19Ci0KLUpTVmFs
dWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6cm90YXRpb25SYXRlKEV4ZWNTdGF0ZSogZXhlYykgY29u
c3QKLXsKLSAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGljX2Nhc3Q8RGV2aWNlTW90
aW9uRXZlbnQqPihpbXBsKCkpOwotICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPnJv
dGF0aW9uUmF0ZSgpKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0gICAgcmV0dXJuIGNyZWF0
ZVJvdGF0aW9uUmF0ZU9iamVjdChpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+cm90YXRpb25SYXRl
KCksIGV4ZWMpOwotfQotCi1KU1ZhbHVlIEpTRGV2aWNlTW90aW9uRXZlbnQ6OmludGVydmFsKEV4
ZWNTdGF0ZSopIGNvbnN0Ci17Ci0gICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IHN0YXRpY19j
YXN0PERldmljZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsKLSAgICBpZiAoIWltcC0+ZGV2aWNlTW90
aW9uRGF0YSgpLT5jYW5Qcm92aWRlSW50ZXJ2YWwoKSkKLSAgICAgICAgcmV0dXJuIGpzTnVsbCgp
OwotICAgIHJldHVybiBqc051bWJlcihpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+aW50ZXJ2YWwo
KSk7Ci19Ci0KIEpTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6aW5pdERldmljZU1vdGlvbkV2
ZW50KEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBjb25zdCBTdHJpbmcgdHlwZSA9IGV4ZWMtPmFy
Z3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpLT52YWx1ZShleGVjKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0
b20uY3BwCmluZGV4IDFmMDcwZmU2MGRjNDI1NTRkOGMwYTVlOTQ3NzU5NmY3ZDQxODZiNmMuLjdk
N2VlMjM5N2MwMWE2NDc5YzBkNTJkMjVlNDg2NTQ1Nzc5YjM5YTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50
Q3VzdG9tLmNwcApAQCAtMzYsMzggKzM2LDYgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1KU1ZhbHVlIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudDo6YWxw
aGEoRXhlY1N0YXRlKikgY29uc3QKLXsKLSAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KiBpbXAg
PSBzdGF0aWNfY2FzdDxEZXZpY2VPcmllbnRhdGlvbkV2ZW50Kj4oaW1wbCgpKTsKLSAgICBpZiAo
IWltcC0+b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUFscGhhKCkpCi0gICAgICAgIHJldHVybiBq
c051bGwoKTsKLSAgICByZXR1cm4ganNOdW1iZXIoaW1wLT5vcmllbnRhdGlvbigpLT5hbHBoYSgp
KTsKLX0KLQotSlNWYWx1ZSBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQ6OmJldGEoRXhlY1N0YXRl
KikgY29uc3QKLXsKLSAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2Fz
dDxEZXZpY2VPcmllbnRhdGlvbkV2ZW50Kj4oaW1wbCgpKTsKLSAgICBpZiAoIWltcC0+b3JpZW50
YXRpb24oKS0+Y2FuUHJvdmlkZUJldGEoKSkKLSAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAg
IHJldHVybiBqc051bWJlcihpbXAtPm9yaWVudGF0aW9uKCktPmJldGEoKSk7Ci19Ci0KLUpTVmFs
dWUgSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpnYW1tYShFeGVjU3RhdGUqKSBjb25zdAotewot
ICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PERldmljZU9yaWVu
dGF0aW9uRXZlbnQqPihpbXBsKCkpOwotICAgIGlmICghaW1wLT5vcmllbnRhdGlvbigpLT5jYW5Q
cm92aWRlR2FtbWEoKSkKLSAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwotICAgIHJldHVybiBqc051
bWJlcihpbXAtPm9yaWVudGF0aW9uKCktPmdhbW1hKCkpOwotfQotCi1KU1ZhbHVlIEpTRGV2aWNl
T3JpZW50YXRpb25FdmVudDo6YWJzb2x1dGUoRXhlY1N0YXRlKikgY29uc3QKLXsKLSAgICBEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VPcmllbnRhdGlvbkV2
ZW50Kj4oaW1wbCgpKTsKLSAgICBpZiAoIWltcC0+b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUFi
c29sdXRlKCkpCi0gICAgICAgIHJldHVybiBqc051bGwoKTsKLSAgICByZXR1cm4ganNCb29sZWFu
KGltcC0+b3JpZW50YXRpb24oKS0+YWJzb2x1dGUoKSk7Ci19Ci0KIEpTVmFsdWUgSlNEZXZpY2VP
cmllbnRhdGlvbkV2ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChFeGVjU3RhdGUqIGV4
ZWMpCiB7CiAgICAgY29uc3QgU3RyaW5nIHR5cGUgPSBleGVjLT5hcmd1bWVudCgwKS50b1N0cmlu
ZyhleGVjKS0+dmFsdWUoZXhlYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAKaW5kZXgg
NjQwZjhkM2IwNGI0YmM4NWQyOGNmNWQ4NDA0YTJjMjQ5Mzk5MTQyOS4uZDlmYmIzNzA3MjAwZDQw
YWI4ZTFhNTQwNDMxNWU2NzdkZDJkZGFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNw
cApAQCAtMzcsMjQgKzM3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2Ugewog
Ci1zdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZUFjY2VsZXJhdGlvbk9iamVjdChj
b25zdCBEZXZpY2VNb3Rpb25EYXRhOjpBY2NlbGVyYXRpb24qIGFjY2VsZXJhdGlvbiwgdjg6Oklz
b2xhdGUqIGlzb2xhdGUpCi17Ci0gICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IG9iamVjdCA9IHY4
OjpPYmplY3Q6Ok5ldygpOwotICAgIG9iamVjdC0+U2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgi
eCIpLCBhY2NlbGVyYXRpb24tPmNhblByb3ZpZGVYKCkgPyB2ODo6TnVtYmVyOjpOZXcoYWNjZWxl
cmF0aW9uLT54KCkpIDogdjhOdWxsKGlzb2xhdGUpKTsKLSAgICBvYmplY3QtPlNldCh2ODo6U3Ry
aW5nOjpOZXdTeW1ib2woInkiKSwgYWNjZWxlcmF0aW9uLT5jYW5Qcm92aWRlWSgpID8gdjg6Ok51
bWJlcjo6TmV3KGFjY2VsZXJhdGlvbi0+eSgpKSA6IHY4TnVsbChpc29sYXRlKSk7Ci0gICAgb2Jq
ZWN0LT5TZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJ6IiksIGFjY2VsZXJhdGlvbi0+Y2FuUHJv
dmlkZVooKSA/IHY4OjpOdW1iZXI6Ok5ldyhhY2NlbGVyYXRpb24tPnooKSkgOiB2OE51bGwoaXNv
bGF0ZSkpOwotICAgIHJldHVybiBvYmplY3Q7Ci19Ci0KLXN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gY3JlYXRlUm90YXRpb25SYXRlT2JqZWN0KGNvbnN0IERldmljZU1vdGlvbkRhdGE6OlJv
dGF0aW9uUmF0ZSogcm90YXRpb25SYXRlLCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKLXsKLSAgICB2
ODo6TG9jYWw8djg6Ok9iamVjdD4gb2JqZWN0ID0gdjg6Ok9iamVjdDo6TmV3KCk7Ci0gICAgb2Jq
ZWN0LT5TZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJhbHBoYSIpLCByb3RhdGlvblJhdGUtPmNh
blByb3ZpZGVBbHBoYSgpID8gdjg6Ok51bWJlcjo6TmV3KHJvdGF0aW9uUmF0ZS0+YWxwaGEoKSkg
OiB2OE51bGwoaXNvbGF0ZSkpOwotICAgIG9iamVjdC0+U2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJv
bCgiYmV0YSIpLCAgcm90YXRpb25SYXRlLT5jYW5Qcm92aWRlQmV0YSgpICA/IHY4OjpOdW1iZXI6
Ok5ldyhyb3RhdGlvblJhdGUtPmJldGEoKSkgIDogdjhOdWxsKGlzb2xhdGUpKTsKLSAgICBvYmpl
Y3QtPlNldCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woImdhbW1hIiksIHJvdGF0aW9uUmF0ZS0+Y2Fu
UHJvdmlkZUdhbW1hKCkgPyB2ODo6TnVtYmVyOjpOZXcocm90YXRpb25SYXRlLT5nYW1tYSgpKSA6
IHY4TnVsbChpc29sYXRlKSk7Ci0gICAgcmV0dXJuIG9iamVjdDsKLX0KLQogUmVmUHRyPERldmlj
ZU1vdGlvbkRhdGE6OkFjY2VsZXJhdGlvbj4gcmVhZEFjY2VsZXJhdGlvbkFyZ3VtZW50KHY4OjpM
b2NhbDx2ODo6VmFsdWU+IHZhbHVlKQogewogICAgIGlmIChpc1VuZGVmaW5lZE9yTnVsbCh2YWx1
ZSkpCkBAIC0xMjEsNDIgKzEwMyw2IEBAIFJlZlB0cjxEZXZpY2VNb3Rpb25EYXRhOjpSb3RhdGlv
blJhdGU+IHJlYWRSb3RhdGlvblJhdGVBcmd1bWVudCh2ODo6TG9jYWw8djg6OlZhCiAKIH0gLy8g
bmFtZXNwYWNlCiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50Ojph
Y2NlbGVyYXRpb25BdHRyR2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBj
b25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQotewotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKLSAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0g
VjhEZXZpY2VNb3Rpb25FdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKLSAgICBpZiAoIWltcC0+ZGV2
aWNlTW90aW9uRGF0YSgpLT5hY2NlbGVyYXRpb24oKSkKLSAgICAgICAgcmV0dXJuIHY4TnVsbChp
bmZvLkdldElzb2xhdGUoKSk7Ci0gICAgcmV0dXJuIGNyZWF0ZUFjY2VsZXJhdGlvbk9iamVjdChp
bXAtPmRldmljZU1vdGlvbkRhdGEoKS0+YWNjZWxlcmF0aW9uKCksIGluZm8uR2V0SXNvbGF0ZSgp
KTsKLX0KLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6OmFjY2Vs
ZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHlBdHRyR2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2ODo6U3Ry
aW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQotewotICAgIHY4OjpIYW5k
bGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKLSAgICBEZXZpY2VNb3Rpb25F
dmVudCogaW1wID0gVjhEZXZpY2VNb3Rpb25FdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKLSAgICBp
ZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5hY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5
KCkpCi0gICAgICAgIHJldHVybiB2OE51bGwoaW5mby5HZXRJc29sYXRlKCkpOwotICAgIHJldHVy
biBjcmVhdGVBY2NlbGVyYXRpb25PYmplY3QoaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmFjY2Vs
ZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoKSwgaW5mby5HZXRJc29sYXRlKCkpOwotfQotCi12ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25FdmVudDo6cm90YXRpb25SYXRlQXR0ckdl
dHRlckN1c3RvbSh2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qgdjg6OkFjY2Vzc29y
SW5mbyYgaW5mbykKLXsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGhvbGRlciA9IGluZm8u
SG9sZGVyKCk7Ci0gICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlTW90aW9uRXZl
bnQ6OnRvTmF0aXZlKGhvbGRlcik7Ci0gICAgaWYgKCFpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+
cm90YXRpb25SYXRlKCkpCi0gICAgICAgIHJldHVybiB2OE51bGwoaW5mby5HZXRJc29sYXRlKCkp
OwotICAgIHJldHVybiBjcmVhdGVSb3RhdGlvblJhdGVPYmplY3QoaW1wLT5kZXZpY2VNb3Rpb25E
YXRhKCktPnJvdGF0aW9uUmF0ZSgpLCBpbmZvLkdldElzb2xhdGUoKSk7Ci19Ci0KLXY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50OjppbnRlcnZhbEF0dHJHZXR0ZXJDdXN0
b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGlu
Zm8pCi17Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRlcigp
OwotICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU1vdGlvbkV2ZW50Ojp0b05h
dGl2ZShob2xkZXIpOwotICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmNhblByb3Zp
ZGVJbnRlcnZhbCgpKQotICAgICAgICByZXR1cm4gdjhOdWxsKGluZm8uR2V0SXNvbGF0ZSgpKTsK
LSAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5pbnRl
cnZhbCgpKTsKLX0KLQogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90aW9uRXZlbnQ6
OmluaXREZXZpY2VNb3Rpb25FdmVudE1ldGhvZEN1c3RvbShjb25zdCB2ODo6QXJndW1lbnRzJiBh
cmdzKQogewogICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU1vdGlvbkV2ZW50
Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudEN1
c3RvbS5jcHAKaW5kZXggNDcxNmMxZWQ5MmIyY2M5YTJhMmQ0YmY2ZjBjMDkzMzFjZmNhMGY5OC4u
YzdkZDI3ZDMxMjc1MGIxNDA1ZDU3MzVkOWM3MDEzMGM4OWFlYTJkNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudEN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNl
T3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAKQEAgLTM1LDQyICszNSw2IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlT3JpZW50YXRpb25F
dmVudDo6YWxwaGFBdHRyR2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBj
b25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQotewotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKLSAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KiBp
bXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7Ci0gICAgaWYg
KCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVBbHBoYSgpKQotICAgICAgICByZXR1cm4g
djhOdWxsKGluZm8uR2V0SXNvbGF0ZSgpKTsKLSAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGlt
cC0+b3JpZW50YXRpb24oKS0+YWxwaGEoKSk7Ci19Ci0KLXY4OjpIYW5kbGU8djg6OlZhbHVlPiBW
OERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmJldGFBdHRyR2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2
ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQotewotICAgIHY4
OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKLSAgICBEZXZpY2VP
cmllbnRhdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZl
KGhvbGRlcik7Ci0gICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVCZXRhKCkp
Ci0gICAgICAgIHJldHVybiB2OE51bGwoaW5mby5HZXRJc29sYXRlKCkpOwotICAgIHJldHVybiB2
ODo6TnVtYmVyOjpOZXcoaW1wLT5vcmllbnRhdGlvbigpLT5iZXRhKCkpOwotfQotCi12ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpnYW1tYUF0dHJHZXR0ZXJD
dXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8m
IGluZm8pCi17Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIgPSBpbmZvLkhvbGRl
cigpOwotICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlT3JpZW50YXRp
b25FdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKLSAgICBpZiAoIWltcC0+b3JpZW50YXRpb24oKS0+
Y2FuUHJvdmlkZUdhbW1hKCkpCi0gICAgICAgIHJldHVybiB2OE51bGwoaW5mby5HZXRJc29sYXRl
KCkpOwotICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5vcmllbnRhdGlvbigpLT5nYW1t
YSgpKTsKLX0KLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlT3JpZW50YXRpb25FdmVu
dDo6YWJzb2x1dGVBdHRyR2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBj
b25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQotewotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKLSAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KiBp
bXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7Ci0gICAgaWYg
KCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVBYnNvbHV0ZSgpKQotICAgICAgICByZXR1
cm4gdjhOdWxsKGluZm8uR2V0SXNvbGF0ZSgpKTsKLSAgICByZXR1cm4gdjg6OkJvb2xlYW46Ok5l
dyhpbXAtPm9yaWVudGF0aW9uKCktPmFic29sdXRlKCkpOwotfQotCiB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVu
dE1ldGhvZEN1c3RvbShjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIERldmljZU9y
aWVudGF0aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlT3JpZW50YXRpb25FdmVudDo6dG9OYXRpdmUo
YXJncy5Ib2xkZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5P
bmUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcAppbmRleCA0MzUwOGNm
MGRhYzRkYTljOWQwOTlmNGE4OTE4ZmM2NmZkMmY5NzNlLi40NzRjZDcyOTAwMjNiZDcxNTlmOTBh
ZTM4MjgyYTk3ODZkMWM2Yjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxs
SW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKQEAgLTUz
LDEyICs1MywxNCBAQAogI2luY2x1ZGUgIkRPTVN0cmluZ01hcC5jcHAiCiAjaW5jbHVkZSAiRGF0
YXNldERPTVN0cmluZ01hcC5jcHAiCiAjaW5jbHVkZSAiRGVjb2RlZERhdGFEb2N1bWVudFBhcnNl
ci5jcHAiCisjaW5jbHVkZSAiRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCIKICNpbmNsdWRlICJEZXZp
Y2VNb3Rpb25Db250cm9sbGVyLmNwcCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25EYXRhLmNwcCIK
ICNpbmNsdWRlICJEZXZpY2VNb3Rpb25FdmVudC5jcHAiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50
YXRpb25Db250cm9sbGVyLmNwcCIKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkRhdGEuY3Bw
IgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIgorI2luY2x1ZGUgIkRldmlj
ZVJvdGF0aW9uUmF0ZS5jcHAiCiAjaW5jbHVkZSAiRG9jdW1lbnQuY3BwIgogI2luY2x1ZGUgIkRv
Y3VtZW50RXZlbnRRdWV1ZS5jcHAiCiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5jcHAiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjNDY3
M2JiYjJhNWVmMTE3MGU3YzViOGY3YThlY2ZjM2FkODk3ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlQWNjZWxlcmF0aW9uLmNwcApAQCAtMCwwICsxLDYzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRldmljZUFjY2VsZXJhdGlv
bi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0RldmljZUFjY2VsZXJhdGlvbjo6RGV2aWNl
QWNjZWxlcmF0aW9uKFBhc3NSZWZQdHI8RGV2aWNlTW90aW9uRGF0YTo6QWNjZWxlcmF0aW9uPiBh
Y2NlbGVyYXRpb24pCisgICAgOiBtX2FjY2VsZXJhdGlvbihhY2NlbGVyYXRpb24pCit7Cit9CisK
K2RvdWJsZSBEZXZpY2VBY2NlbGVyYXRpb246OngoYm9vbCYgaXNOdWxsKSBjb25zdAoreworICAg
IGlmIChtX2FjY2VsZXJhdGlvbi0+Y2FuUHJvdmlkZVgoKSkKKyAgICAgICAgcmV0dXJuIG1fYWNj
ZWxlcmF0aW9uLT54KCk7CisKKyAgICBpc051bGwgPSB0cnVlOworICAgIHJldHVybiAwOworfQor
Citkb3VibGUgRGV2aWNlQWNjZWxlcmF0aW9uOjp5KGJvb2wmIGlzTnVsbCkgY29uc3QKK3sKKyAg
ICBpZiAobV9hY2NlbGVyYXRpb24tPmNhblByb3ZpZGVZKCkpCisgICAgICAgIHJldHVybiBtX2Fj
Y2VsZXJhdGlvbi0+eSgpOworCisgICAgaXNOdWxsID0gdHJ1ZTsKKyAgICByZXR1cm4gMDsKK30K
KworZG91YmxlIERldmljZUFjY2VsZXJhdGlvbjo6eihib29sJiBpc051bGwpIGNvbnN0Cit7Cisg
ICAgaWYgKG1fYWNjZWxlcmF0aW9uLT5jYW5Qcm92aWRlWigpKQorICAgICAgICByZXR1cm4gbV9h
Y2NlbGVyYXRpb24tPnooKTsKKworICAgIGlzTnVsbCA9IHRydWU7CisgICAgcmV0dXJuIDA7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VBY2NlbGVyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VBY2NlbGVy
YXRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hYWFjOTYwYzNjNDRhY2U0MjRmOGFhM2UzN2ViNjg0ZDdkMjZi
NDBhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZUFjY2VsZXJh
dGlvbi5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERldmljZUFjY2VsZXJhdGlv
bl9oCisjZGVmaW5lIERldmljZUFjY2VsZXJhdGlvbl9oCisKKyNpbmNsdWRlICJEZXZpY2VNb3Rp
b25EYXRhLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBEZXZpY2VBY2NlbGVyYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxEZXZp
Y2VBY2NlbGVyYXRpb24+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VB
Y2NlbGVyYXRpb24+IGNyZWF0ZShQYXNzUmVmUHRyPERldmljZU1vdGlvbkRhdGE6OkFjY2VsZXJh
dGlvbj4gYWNjZWxlcmF0aW9uKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBE
ZXZpY2VBY2NlbGVyYXRpb24oYWNjZWxlcmF0aW9uKSk7CisgICAgfQorCisgICAgZG91YmxlIHgo
Ym9vbCYgaXNOdWxsKSBjb25zdDsKKyAgICBkb3VibGUgeShib29sJiBpc051bGwpIGNvbnN0Owor
ICAgIGRvdWJsZSB6KGJvb2wmIGlzTnVsbCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgRGV2aWNl
QWNjZWxlcmF0aW9uKFBhc3NSZWZQdHI8RGV2aWNlTW90aW9uRGF0YTo6QWNjZWxlcmF0aW9uPik7
CisKKyAgICBSZWZQdHI8RGV2aWNlTW90aW9uRGF0YTo6QWNjZWxlcmF0aW9uPiBtX2FjY2VsZXJh
dGlvbjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIERldmljZUFj
Y2VsZXJhdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlQWNjZWxl
cmF0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjlkZGYwMTA4ZjQ2YThiNGZjMzM3ODBhNzY4ZDQzNzIxZWU2ZmYwMmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlQWNjZWxlcmF0aW9uLmlkbApA
QCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPURFVklDRV9PUklFTlRB
VElPTiwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBEZXZpY2VB
Y2NlbGVyYXRpb24geworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGU/IHg7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGRvdWJsZT8geTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91Ymxl
PyB6OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25EYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRGF0YS5oCmluZGV4IDFkNTNiNTMx
ZmI4YjU4NTFlMmQ2MTU4YjY4N2FiY2RlMTMxZDAwM2QuLmQ3ZWYwZmQwZWZjZjMxYTc1NTMwNTc2
ZjU3NmJiMzlmOThkNTJkNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VN
b3Rpb25EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkRhdGEuaApA
QCAtODYsMTEgKzg2LDEyIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEZXZpY2VN
b3Rpb25EYXRhPiBjcmVhdGUoUGFzc1JlZlB0cjxBY2NlbGVyYXRpb24+IGFjY2VsZXJhdGlvbiwg
UGFzc1JlZlB0cjxBY2NlbGVyYXRpb24+IGFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhc3NSZWZQdHI8
Um90YXRpb25SYXRlPiByb3RhdGlvblJhdGUsIGJvb2wgY2FuUHJvdmlkZUludGVydmFsLCBkb3Vi
bGUgaW50ZXJ2YWwpOwogCi0gICAgY29uc3QgQWNjZWxlcmF0aW9uKiBhY2NlbGVyYXRpb24oKSBj
b25zdCB7IHJldHVybiBtX2FjY2VsZXJhdGlvbi5nZXQoKTsgfQotICAgIGNvbnN0IEFjY2VsZXJh
dGlvbiogYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSgpIGNvbnN0IHsgcmV0dXJuIG1fYWNj
ZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eS5nZXQoKTsgfQotICAgIGNvbnN0IFJvdGF0aW9uUmF0
ZSogcm90YXRpb25SYXRlKCkgY29uc3QgeyByZXR1cm4gbV9yb3RhdGlvblJhdGUuZ2V0KCk7IH0K
LSAgICBkb3VibGUgaW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX2ludGVydmFsOyB9CisgICAg
UGFzc1JlZlB0cjxBY2NlbGVyYXRpb24+IGFjY2VsZXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1f
YWNjZWxlcmF0aW9uOyB9CisgICAgUGFzc1JlZlB0cjxBY2NlbGVyYXRpb24+IGFjY2VsZXJhdGlv
bkluY2x1ZGluZ0dyYXZpdHkoKSBjb25zdCB7IHJldHVybiBtX2FjY2VsZXJhdGlvbkluY2x1ZGlu
Z0dyYXZpdHk7IH0KKyAgICBQYXNzUmVmUHRyPFJvdGF0aW9uUmF0ZT4gcm90YXRpb25SYXRlKCkg
Y29uc3QgeyByZXR1cm4gbV9yb3RhdGlvblJhdGU7IH0KKwogICAgIGJvb2wgY2FuUHJvdmlkZUlu
dGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9jYW5Qcm92aWRlSW50ZXJ2YWw7IH0KKyAgICBkb3Vi
bGUgaW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX2ludGVydmFsOyB9CiAKIHByaXZhdGU6CiAg
ICAgRGV2aWNlTW90aW9uRGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rl
dmljZU1vdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVu
dC5jcHAKaW5kZXggYjI5ZmNiZWFjZWI1MmUxNGM5NTJiNmQxMDJjNjNiY2Q0YTBmMTA3Ny4uMjgz
OTJlOTlkZTc2YjkxN2Q4NmQxYzA2MGRmODgzYzMyOThmMDcxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRGV2aWNlTW90aW9uRXZlbnQuY3BwCkBAIC0yNiw3ICsyNiw5IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiRGV2aWNlTW90aW9uRXZlbnQuaCIKIAorI2luY2x1ZGUgIkRldmlj
ZUFjY2VsZXJhdGlvbi5oIgogI2luY2x1ZGUgIkRldmljZU1vdGlvbkRhdGEuaCIKKyNpbmNsdWRl
ICJEZXZpY2VSb3RhdGlvblJhdGUuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTUzLDYgKzU1LDUyIEBAIHZvaWQgRGV2aWNlTW90aW9uRXZlbnQ6
OmluaXREZXZpY2VNb3Rpb25FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgYnVi
CiAKICAgICBpbml0RXZlbnQodHlwZSwgYnViYmxlcywgY2FuY2VsYWJsZSk7CiAgICAgbV9kZXZp
Y2VNb3Rpb25EYXRhID0gZGV2aWNlTW90aW9uRGF0YTsKKworICAgIG1fYWNjZWxlcmF0aW9uLmNs
ZWFyKCk7CisgICAgbV9hY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5LmNsZWFyKCk7CisgICAg
bV9yb3RhdGlvblJhdGUuY2xlYXIoKTsKK30KKworRGV2aWNlQWNjZWxlcmF0aW9uKiBEZXZpY2VN
b3Rpb25FdmVudDo6YWNjZWxlcmF0aW9uKCkKK3sKKyAgICBpZiAoIW1fZGV2aWNlTW90aW9uRGF0
YS0+YWNjZWxlcmF0aW9uKCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgaWYgKCFtX2FjY2Vs
ZXJhdGlvbikKKyAgICAgICAgbV9hY2NlbGVyYXRpb24gPSBEZXZpY2VBY2NlbGVyYXRpb246OmNy
ZWF0ZShtX2RldmljZU1vdGlvbkRhdGEtPmFjY2VsZXJhdGlvbigpKTsKKworICAgIHJldHVybiBt
X2FjY2VsZXJhdGlvbi5nZXQoKTsKK30KKworRGV2aWNlQWNjZWxlcmF0aW9uKiBEZXZpY2VNb3Rp
b25FdmVudDo6YWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSgpCit7CisgICAgaWYgKCFtX2Rl
dmljZU1vdGlvbkRhdGEtPmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoKSkKKyAgICAgICAg
cmV0dXJuIDA7CisKKyAgICBpZiAoIW1fYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSkKKyAg
ICAgICAgbV9hY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5ID0gRGV2aWNlQWNjZWxlcmF0aW9u
OjpjcmVhdGUobV9kZXZpY2VNb3Rpb25EYXRhLT5hY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5
KCkpOworCisgICAgcmV0dXJuIG1fYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eS5nZXQoKTsK
K30KKworRGV2aWNlUm90YXRpb25SYXRlKiBEZXZpY2VNb3Rpb25FdmVudDo6cm90YXRpb25SYXRl
KCkKK3sKKyAgICBpZiAoIW1fZGV2aWNlTW90aW9uRGF0YS0+cm90YXRpb25SYXRlKCkpCisgICAg
ICAgIHJldHVybiAwOworCisgICAgaWYgKCFtX3JvdGF0aW9uUmF0ZSkKKyAgICAgICAgbV9yb3Rh
dGlvblJhdGUgPSBEZXZpY2VSb3RhdGlvblJhdGU6OmNyZWF0ZShtX2RldmljZU1vdGlvbkRhdGEt
PnJvdGF0aW9uUmF0ZSgpKTsKKworICAgIHJldHVybiBtX3JvdGF0aW9uUmF0ZS5nZXQoKTsKK30K
KworZG91YmxlIERldmljZU1vdGlvbkV2ZW50OjppbnRlcnZhbChib29sJiBpc051bGwpIGNvbnN0
Cit7CisgICAgaWYgKG1fZGV2aWNlTW90aW9uRGF0YS0+Y2FuUHJvdmlkZUludGVydmFsKCkpCisg
ICAgICAgIHJldHVybiBtX2RldmljZU1vdGlvbkRhdGEtPmludGVydmFsKCk7CisKKyAgICBpc051
bGwgPSB0cnVlOworICAgIHJldHVybiAwOwogfQogCiBjb25zdCBBdG9taWNTdHJpbmcmIERldmlj
ZU1vdGlvbkV2ZW50OjppbnRlcmZhY2VOYW1lKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rldmlj
ZU1vdGlvbkV2ZW50LmgKaW5kZXggMzAxZmZkZDk3OWYzMWQ5OTE5ZWY5MTQwNWI2ZjJlYzU4MTEx
M2M1Yy4uNzA1Yjk4N2U5N2VjZjA3NDkyMDIyMDk5Yzk0NDk5YzhmODRiNzk4MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmgKQEAgLTMwLDcgKzMwLDkgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitjbGFzcyBEZXZpY2VBY2NlbGVyYXRpb247CiBjbGFzcyBEZXZpY2VN
b3Rpb25EYXRhOworY2xhc3MgRGV2aWNlUm90YXRpb25SYXRlOwogCiBjbGFzcyBEZXZpY2VNb3Rp
b25FdmVudCA6IHB1YmxpYyBFdmVudCB7CiBwdWJsaWM6CkBAIC00OCw2ICs1MCwxMSBAQCBwdWJs
aWM6CiAKICAgICBEZXZpY2VNb3Rpb25EYXRhKiBkZXZpY2VNb3Rpb25EYXRhKCkgY29uc3QgeyBy
ZXR1cm4gbV9kZXZpY2VNb3Rpb25EYXRhLmdldCgpOyB9CiAKKyAgICBEZXZpY2VBY2NlbGVyYXRp
b24qIGFjY2VsZXJhdGlvbigpOworICAgIERldmljZUFjY2VsZXJhdGlvbiogYWNjZWxlcmF0aW9u
SW5jbHVkaW5nR3Jhdml0eSgpOworICAgIERldmljZVJvdGF0aW9uUmF0ZSogcm90YXRpb25SYXRl
KCk7CisgICAgZG91YmxlIGludGVydmFsKGJvb2wmIGlzTnVsbCkgY29uc3Q7CisKICAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0OwogCiBwcml2YXRl
OgpAQCAtNTUsNiArNjIsMTAgQEAgcHJpdmF0ZToKICAgICBEZXZpY2VNb3Rpb25FdmVudChjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRGV2aWNlTW90aW9uRGF0YSopOwogCiAgICAgUmVm
UHRyPERldmljZU1vdGlvbkRhdGE+IG1fZGV2aWNlTW90aW9uRGF0YTsKKworICAgIFJlZlB0cjxE
ZXZpY2VBY2NlbGVyYXRpb24+IG1fYWNjZWxlcmF0aW9uOworICAgIFJlZlB0cjxEZXZpY2VBY2Nl
bGVyYXRpb24+IG1fYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eTsKKyAgICBSZWZQdHI8RGV2
aWNlUm90YXRpb25SYXRlPiBtX3JvdGF0aW9uUmF0ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsCmluZGV4IDdjMzlj
MmZhYzJkNzFhMzYwNzc4OTYyMWVjZTRjMjEzNWU5NjhhNjAuLmFjZmM3OTgxOGZlN2I4Y2RhYmVh
MGE0N2Q0ZDQ5ODI0YjQ5OWMwODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZp
Y2VNb3Rpb25FdmVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2
ZW50LmlkbApAQCAtMjYsMTAgKzI2LDEwIEBACiBbCiAgICAgQ29uZGl0aW9uYWw9REVWSUNFX09S
SUVOVEFUSU9OLAogXSBpbnRlcmZhY2UgRGV2aWNlTW90aW9uRXZlbnQgOiBFdmVudCB7Ci0gICAg
W0N1c3RvbV0gcmVhZG9ubHkgYXR0cmlidXRlIEFjY2VsZXJhdGlvbiBhY2NlbGVyYXRpb247Ci0g
ICAgW0N1c3RvbV0gcmVhZG9ubHkgYXR0cmlidXRlIEFjY2VsZXJhdGlvbiBhY2NlbGVyYXRpb25J
bmNsdWRpbmdHcmF2aXR5OwotICAgIFtDdXN0b21dIHJlYWRvbmx5IGF0dHJpYnV0ZSBSb3RhdGlv
blJhdGUgcm90YXRpb25SYXRlOwotICAgIFtDdXN0b21dIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3Vi
bGUgaW50ZXJ2YWw7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERldmljZUFjY2VsZXJhdGlvbiBh
Y2NlbGVyYXRpb247CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERldmljZUFjY2VsZXJhdGlvbiBh
Y2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEZXZp
Y2VSb3RhdGlvblJhdGUgcm90YXRpb25SYXRlOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3Vi
bGU/IGludGVydmFsOwogICAgIFtDdXN0b21dIHZvaWQgaW5pdERldmljZU1vdGlvbkV2ZW50KGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyB0eXBlLCAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSBib29sZWFuIGJ1YmJsZXMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGJvb2xlYW4gY2FuY2Vs
YWJsZSwgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25F
dmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAK
aW5kZXggYmFiYzc3ZTZiZmIwMjJiZTc1ZjczMmRkMzkzYzY0ZjQ0ZTI2MzM2NC4uNmI0N2YzNmNm
YzUzZWViMTYwMDEzNDRjM2I5M2NhMzJkYmM0MDc1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcApAQCAtNTUsNiArNTUsNDIgQEAgdm9pZCBEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUKICAgICBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247CiB9CiAKK2Rv
dWJsZSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjphbHBoYShib29sJiBpc051bGwpIGNvbnN0Cit7
CisgICAgaWYgKG1fb3JpZW50YXRpb24tPmNhblByb3ZpZGVBbHBoYSgpKQorICAgICAgICByZXR1
cm4gbV9vcmllbnRhdGlvbi0+YWxwaGEoKTsKKworICAgIGlzTnVsbCA9IHRydWU7CisgICAgcmV0
dXJuIDA7Cit9CisKK2RvdWJsZSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpiZXRhKGJvb2wmIGlz
TnVsbCkgY29uc3QKK3sKKyAgICBpZiAobV9vcmllbnRhdGlvbi0+Y2FuUHJvdmlkZUJldGEoKSkK
KyAgICAgICAgcmV0dXJuIG1fb3JpZW50YXRpb24tPmJldGEoKTsKKworICAgIGlzTnVsbCA9IHRy
dWU7CisgICAgcmV0dXJuIDA7Cit9CisKK2RvdWJsZSBEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojpn
YW1tYShib29sJiBpc051bGwpIGNvbnN0Cit7CisgICAgaWYgKG1fb3JpZW50YXRpb24tPmNhblBy
b3ZpZGVHYW1tYSgpKQorICAgICAgICByZXR1cm4gbV9vcmllbnRhdGlvbi0+Z2FtbWEoKTsKKwor
ICAgIGlzTnVsbCA9IHRydWU7CisgICAgcmV0dXJuIDA7Cit9CisKK2Jvb2wgRGV2aWNlT3JpZW50
YXRpb25FdmVudDo6YWJzb2x1dGUoYm9vbCYgaXNOdWxsKSBjb25zdAoreworICAgIGlmIChtX29y
aWVudGF0aW9uLT5jYW5Qcm92aWRlQWJzb2x1dGUoKSkKKyAgICAgICAgcmV0dXJuIG1fb3JpZW50
YXRpb24tPmFic29sdXRlKCk7CisKKyAgICBpc051bGwgPSB0cnVlOworICAgIHJldHVybiAwOwor
fQorCiBjb25zdCBBdG9taWNTdHJpbmcmIERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmludGVyZmFj
ZU5hbWUoKSBjb25zdAogewogI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaAppbmRleCBlMTk2ZWE1YjkzZTRj
Zjc0ODRiOTNjYjdlY2ZlZWFkYjdmYzQyM2JiLi41MTAyNjkwMGM1ZmJjNjk1Y2Q2NTg2MDE5YjEx
ZjVjY2EwY2QyNjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50
YXRpb25FdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2
ZW50LmgKQEAgLTQ4LDYgKzQ4LDExIEBAIHB1YmxpYzoKIAogICAgIERldmljZU9yaWVudGF0aW9u
RGF0YSogb3JpZW50YXRpb24oKSBjb25zdCB7IHJldHVybiBtX29yaWVudGF0aW9uLmdldCgpOyB9
CiAKKyAgICBkb3VibGUgYWxwaGEoYm9vbCYgaXNOdWxsKSBjb25zdDsKKyAgICBkb3VibGUgYmV0
YShib29sJiBpc051bGwpIGNvbnN0OworICAgIGRvdWJsZSBnYW1tYShib29sJiBpc051bGwpIGNv
bnN0OworICAgIGJvb2wgYWJzb2x1dGUoYm9vbCYgaXNOdWxsKSBjb25zdDsKKwogICAgIHZpcnR1
YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CiAKIHByaXZhdGU6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwKaW5kZXgg
ZTgyNjUwM2M1NWIyNDBmMjQxMjlkOTc5MDA1Zjc3NTA3MjNkYjRlNy4uMWUwMjU5MjdlNTMzYmEx
NzhkNTI4ZTRmYjM2MDM4NDI3ZWFjYmY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZp
Y2VPcmllbnRhdGlvbkV2ZW50LmlkbApAQCAtMjYsMTAgKzI2LDEwIEBACiBbCiAgICAgQ29uZGl0
aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OLAogXSBpbnRlcmZhY2UgRGV2aWNlT3JpZW50YXRpb25F
dmVudCA6IEV2ZW50IHsKLSAgICBbQ3VzdG9tXSByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGFs
cGhhOwotICAgIFtDdXN0b21dIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgYmV0YTsKLSAgICBb
Q3VzdG9tXSByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGdhbW1hOwotICAgIFtDdXN0b21dIHJl
YWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGFic29sdXRlOworICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBkb3VibGU/IGFscGhhOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGU/IGJldGE7Cisg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZT8gZ2FtbWE7CisgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4/IGFic29sdXRlOwogICAgIFtDdXN0b21dIHZvaWQgaW5pdERldmljZU9yaWVu
dGF0aW9uRXZlbnQoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIHR5
cGUsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09w
dGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gYm9vbGVhbiBidWJibGVzLCAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNV
bmRlZmluZWRdIGJvb2xlYW4gY2FuY2VsYWJsZSwgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRGV2aWNlUm90YXRpb25SYXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VS
b3RhdGlvblJhdGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxYmZkMzJiNmI0ZDU2NWY1YzkwMDFiZWZiNzNm
NzIzYmNkM2JhYmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNl
Um90YXRpb25SYXRlLmNwcApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkRldmljZVJvdGF0aW9uUmF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK0RldmljZVJvdGF0aW9uUmF0ZTo6RGV2aWNlUm90YXRpb25SYXRlKFBhc3NSZWZQdHI8
RGV2aWNlTW90aW9uRGF0YTo6Um90YXRpb25SYXRlPiByb3RhdGlvblJhdGUpCisgICAgOiBtX3Jv
dGF0aW9uUmF0ZShyb3RhdGlvblJhdGUpCit7Cit9CisKK2RvdWJsZSBEZXZpY2VSb3RhdGlvblJh
dGU6OmFscGhhKGJvb2wmIGlzTnVsbCkgY29uc3QKK3sKKyAgICBpZiAobV9yb3RhdGlvblJhdGUt
PmNhblByb3ZpZGVBbHBoYSgpKQorICAgICAgICByZXR1cm4gbV9yb3RhdGlvblJhdGUtPmFscGhh
KCk7CisKKyAgICBpc051bGwgPSB0cnVlOworICAgIHJldHVybiAwOworfQorCitkb3VibGUgRGV2
aWNlUm90YXRpb25SYXRlOjpiZXRhKGJvb2wmIGlzTnVsbCkgY29uc3QKK3sKKyAgICBpZiAobV9y
b3RhdGlvblJhdGUtPmNhblByb3ZpZGVCZXRhKCkpCisgICAgICAgIHJldHVybiBtX3JvdGF0aW9u
UmF0ZS0+YmV0YSgpOworCisgICAgaXNOdWxsID0gdHJ1ZTsKKyAgICByZXR1cm4gMDsKK30KKwor
ZG91YmxlIERldmljZVJvdGF0aW9uUmF0ZTo6Z2FtbWEoYm9vbCYgaXNOdWxsKSBjb25zdAorewor
ICAgIGlmIChtX3JvdGF0aW9uUmF0ZS0+Y2FuUHJvdmlkZUdhbW1hKCkpCisgICAgICAgIHJldHVy
biBtX3JvdGF0aW9uUmF0ZS0+Z2FtbWEoKTsKKworICAgIGlzTnVsbCA9IHRydWU7CisgICAgcmV0
dXJuIDA7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9EZXZpY2VSb3RhdGlvblJhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZp
Y2VSb3RhdGlvblJhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMzczMjVmODMxMjM0MjcxMTQ5ZDZmMjY1ZGQ1
MmE2MzQ4NWZjZjI0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rldmlj
ZVJvdGF0aW9uUmF0ZS5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIERldmljZVJv
dGF0aW9uUmF0ZV9oCisjZGVmaW5lIERldmljZVJvdGF0aW9uUmF0ZV9oCisKKyNpbmNsdWRlICJE
ZXZpY2VNb3Rpb25EYXRhLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBEZXZpY2VSb3RhdGlvblJhdGUgOiBwdWJsaWMgUmVmQ291
bnRlZDxEZXZpY2VSb3RhdGlvblJhdGU+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxEZXZpY2VSb3RhdGlvblJhdGU+IGNyZWF0ZShQYXNzUmVmUHRyPERldmljZU1vdGlvbkRhdGE6
OlJvdGF0aW9uUmF0ZT4gcm90YXRpb25SYXRlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBEZXZpY2VSb3RhdGlvblJhdGUocm90YXRpb25SYXRlKSk7CisgICAgfQorCisgICAg
ZG91YmxlIGFscGhhKGJvb2wmIGlzTnVsbCkgY29uc3Q7CisgICAgZG91YmxlIGJldGEoYm9vbCYg
aXNOdWxsKSBjb25zdDsKKyAgICBkb3VibGUgZ2FtbWEoYm9vbCYgaXNOdWxsKSBjb25zdDsKKwor
cHJpdmF0ZToKKyAgICBEZXZpY2VSb3RhdGlvblJhdGUoUGFzc1JlZlB0cjxEZXZpY2VNb3Rpb25E
YXRhOjpSb3RhdGlvblJhdGU+KTsKKworICAgIFJlZlB0cjxEZXZpY2VNb3Rpb25EYXRhOjpSb3Rh
dGlvblJhdGU+IG1fcm90YXRpb25SYXRlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRGV2aWNlUm90YXRpb25SYXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9EZXZpY2VSb3RhdGlvblJhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rldmlj
ZVJvdGF0aW9uUmF0ZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWUwMzQ1NGUzNmI0NGNjNDQ0OTQ1ZGYyY2M1
ZGZlYTFiZWJhZjJiMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZp
Y2VSb3RhdGlvblJhdGUuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0
aW9uYWw9REVWSUNFX09SSUVOVEFUSU9OLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUK
K10gaW50ZXJmYWNlIERldmljZVJvdGF0aW9uUmF0ZSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGRvdWJsZT8gYWxwaGE7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZT8gYmV0YTsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlPyBnYW1tYTsKK307Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196204</attachid>
            <date>2013-04-02 11:58:16 -0700</date>
            <delta_ts>2013-04-03 01:19:52 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-112910-20130402195807.patch</filename>
            <type>text/plain</type>
            <size>63818</size>
            <attacher name="Peter Beverloo">peter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3NDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODUxZTY4ODllYWMwMDEw
NzBiOTRjZmQ1OTM1YmFjZjNjMDFmZWEwYS4uMTFiZGViZDNhZjdmZjAyYjczZjZmYjkyOTE4ZGQ1
YjEyZmJlNzU5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDgzIEBACiAyMDEzLTA0LTAyICBQZXRl
ciBCZXZlcmxvbyAgPHBldGVyQGNocm9taXVtLm9yZz4KIAorICAgICAgICBJbXBsZW1lbnQgdGhl
IERldmljZUFjY2VsZXJhdGlvbiBhbmQgRGV2aWNlUm90YXRpb25SYXRlIElETCBvYmplY3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI5MTAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBLZW50YXJvIEhhcmEuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBj
dXN0b20gYmluZGluZ3MgLS1leGNlcHQgZm9yIHRoZSBldmVudCBpbml0aWFsaXphdGlvbgorICAg
ICAgICBtZXRob2RzLS0gaW4gZmF2b3Igb2YgaW1wbGVtZW50aW5nIHRoZSBJREwgb2JqZWN0cyBh
cyBkZWZpbmVkIGJ5CisgICAgICAgIHRoZSBzcGVjaWZpY2F0aW9uLiBUaGlzIHBhdGNoIGFkZHMg
dGhlIERldmljZUFjY2VsZXJhdGlvbiBhbmQKKyAgICAgICAgRGV2aWNlUm90YXRpb25SYXRlIG9i
amVjdHMuCisKKyAgICAgICAgVGhlcmUgc2hvdWxkIGJlIG5vIG9ic2VydmFibGUgY2hhbmdlIGlu
IGJlaGF2aW9yLiBUaGlzIGlzIGJlaW5nCisgICAgICAgIGV4ZXJjaXplZCBieSB0aGUgZXhpc3Rp
bmcgbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6CisgICAg
ICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
ajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAq
IFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0RldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0RldmljZU9yaWVudGF0aW9uRXZlbnRDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L2N1c3RvbS9WOERldmljZU1vdGlvbkV2ZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcDoKKyAg
ICAgICAgKiBkb20vRE9NQWxsSW5PbmUuY3BwOgorICAgICAgICAqIGRvbS9EZXZpY2VBY2NlbGVy
YXRpb24uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlQWNjZWxlcmF0aW9uOjpEZXZpY2VBY2NlbGVyYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6RGV2aWNlQWNjZWxlcmF0aW9uOjp4KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZUFjY2Vs
ZXJhdGlvbjo6eSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VBY2NlbGVyYXRpb246OnopOgor
ICAgICAgICAqIGRvbS9EZXZpY2VBY2NlbGVyYXRpb24uaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKERldmljZUFjY2VsZXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpE
ZXZpY2VBY2NlbGVyYXRpb246OmNyZWF0ZSk6CisgICAgICAgICogZG9tL0RldmljZUFjY2VsZXJh
dGlvbi5pZGw6IEFkZGVkLgorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25EYXRhLmg6CisgICAg
ICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25EYXRhOjphY2NlbGVyYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6RGV2aWNlTW90aW9uRGF0YTo6YWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSk6
CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25EYXRhOjpyb3RhdGlvblJhdGUpOgorICAg
ICAgICAoRGV2aWNlTW90aW9uRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25E
YXRhOjppbnRlcnZhbCk6CisgICAgICAgICogZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkV2ZW50Ojppbml0RGV2aWNlTW90aW9uRXZlbnQp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25FdmVu
dDo6YWNjZWxlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkV2ZW50Ojph
Y2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1v
dGlvbkV2ZW50Ojpyb3RhdGlvblJhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9u
RXZlbnQ6OmludGVydmFsKToKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uRXZlbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRGV2aWNlTW90aW9uRXZlbnQpOgorICAgICAgICAq
IGRvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGw6CisgICAgICAgICogZG9tL0RldmljZU9yaWVudGF0
aW9uRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25FdmVudDo6
YWxwaGEpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmll
bnRhdGlvbkV2ZW50OjpiZXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9u
RXZlbnQ6OmdhbW1hKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uRXZlbnQ6
OmFic29sdXRlKToKKyAgICAgICAgKiBkb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5oOgorICAg
ICAgICAoRGV2aWNlT3JpZW50YXRpb25FdmVudCk6CisgICAgICAgICogZG9tL0RldmljZU9yaWVu
dGF0aW9uRXZlbnQuaWRsOgorICAgICAgICAqIGRvbS9EZXZpY2VSb3RhdGlvblJhdGUuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlUm90YXRp
b25SYXRlOjpEZXZpY2VSb3RhdGlvblJhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlUm90
YXRpb25SYXRlOjphbHBoYSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VSb3RhdGlvblJhdGU6
OmJldGEpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlUm90YXRpb25SYXRlOjpnYW1tYSk6Cisg
ICAgICAgICogZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoRGV2aWNlUm90YXRpb25SYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRl
dmljZVJvdGF0aW9uUmF0ZTo6Y3JlYXRlKToKKyAgICAgICAgKiBkb20vRGV2aWNlUm90YXRpb25S
YXRlLmlkbDogQWRkZWQuCisKKzIwMTMtMDQtMDIgIFBldGVyIEJldmVybG9vICA8cGV0ZXJAY2hy
b21pdW0ub3JnPgorCiAgICAgICAgIFtKU0NdIERvbid0IGNyZWF0ZSBhIEpTVmFsdWUgaWYgaXQn
cyBub3QgZ29pbmcgdG8gYmUgdXNlZCBmb3IgbnVsbGFibGUgYXR0cmlidXRlcwogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNzExCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggN2IxMWQzYWNmZmE3ZWFkOWEwMjBkOGFjYjRiMTAwZDA5NTNhMjU1YS4u
MGM5MWQyYTI4OTllOGEwOTRmZTRlZTAyMDY3NjUzMWYxYWJlYjQxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTM0Myw4ICszNDMsMTAgQEAgc2V0KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgZG9t
L0N1c3RvbUV2ZW50LmlkbAogICAgIGRvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbAogICAgIGRvbS9E
YXRhVHJhbnNmZXJJdGVtTGlzdC5pZGwKKyAgICBkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmlkbAog
ICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25F
dmVudC5pZGwKKyAgICBkb20vRGV2aWNlUm90YXRpb25SYXRlLmlkbAogICAgIGRvbS9ET01Db3Jl
RXhjZXB0aW9uLmlkbAogICAgIGRvbS9ET01FcnJvci5pZGwKICAgICBkb20vRE9NSW1wbGVtZW50
YXRpb24uaWRsCkBAIC0xMTQyLDEyICsxMTQ0LDE0IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAg
ICBkb20vRGF0YXNldERPTVN0cmluZ01hcC5jcHAKICAgICBkb20vRGF0YVRyYW5zZmVySXRlbS5j
cHAKICAgICBkb20vRGVjb2RlZERhdGFEb2N1bWVudFBhcnNlci5jcHAKKyAgICBkb20vRGV2aWNl
QWNjZWxlcmF0aW9uLmNwcAogICAgIGRvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcAogICAg
IGRvbS9EZXZpY2VNb3Rpb25EYXRhLmNwcAogICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAK
ICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcAogICAgIGRvbS9EZXZpY2VP
cmllbnRhdGlvbkRhdGEuY3BwCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwCisg
ICAgZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5jcHAKICAgICBkb20vRE9NQ29yZUV4Y2VwdGlvbi5j
cHAKICAgICBkb20vRE9NRXJyb3IuY3BwCiAgICAgZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMGQ3YTY1ZDI3ZTkzYjY4ZDcwMGJlOGJl
NjkzMGMxOTIyNjZiZDE0OC4uMDEyMmMzZjBmYWEwYzhkYTViNjkzYjYzODkzM2YwMTBiY2NlM2Ix
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yMzQsOCArMjM0LDEwIEBAIEJJ
TkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2RvbS9ET01TdHJpbmdNYXAuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9k
b20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9EZXZpY2VB
Y2NlbGVyYXRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5p
ZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL2RvbS9EZXZpY2VSb3RhdGlvblJhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2RvbS9Eb2N1bWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0RvY3VtZW50RnJhZ21lbnQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9Eb2N1bWVudFR5cGUuaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLnByaQppbmRleCBkYmVjYTQ3MWE3YzYxYzc2Y2Y0MjAxNTEwODY4NTg1Zjk3NzI3
MjRmLi4zMGY0NmU2ZWJjZDRkYTI0NTM4ZTJlNDBlYmMzY2YzMzIyZDQ2MjllIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMucHJpCkBAIC0yMzYsOCArMjM2LDEwIEBAIElETF9CSU5ESU5HUyArPSBc
CiAgICAgJCRQV0QvZG9tL0N1c3RvbUV2ZW50LmlkbCBcCiAgICAgJCRQV0QvZG9tL0RhdGFUcmFu
c2Zlckl0ZW0uaWRsIFwKICAgICAkJFBXRC9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsIFwK
KyAgICAkJFBXRC9kb20vRGV2aWNlQWNjZWxlcmF0aW9uLmlkbCBcCiAgICAgJCRQV0QvZG9tL0Rl
dmljZU1vdGlvbkV2ZW50LmlkbCBcCiAgICAgJCRQV0QvZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuaWRsIFwKKyAgICAkJFBXRC9kb20vRGV2aWNlUm90YXRpb25SYXRlLmlkbCBcCiAgICAgJCRQ
V0QvZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsIFwKICAgICAkJFBXRC9kb20vRG9jdW1lbnQuaWRs
IFwKICAgICAkJFBXRC9kb20vRG9jdW1lbnRUeXBlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUu
bGlzdC5hbQppbmRleCBiMDhkMDM1ZWY3MWVhZjQwZDIyODliZGYxMmY2MmRlY2E5ZDYwNWUyLi5l
YTUyNDE5ZmI3ZWUwZDk2YmJmNTJlMmVlODBkMGI4MjIzZTc4ODVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KQEAgLTE1OSwxMCArMTU5LDE0IEBAIHdlYmNvcmVfYnVpbHRfc291cmNl
cyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RlZGljYXRlZFdvcmtlckNvbnRleHQu
aCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RlbGF5Tm9kZS5jcHAgXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNEZWxheU5vZGUuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0RldmljZUFjY2VsZXJhdGlvbi5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZp
Y2VBY2NlbGVyYXRpb24uaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZU1vdGlv
bkV2ZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZU1vdGlvbkV2ZW50
LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCBc
CisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RldmljZVJvdGF0aW9uUmF0ZS5jcHAgXAorCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEZXZpY2VSb3RhdGlvblJhdGUuaCBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0RpcmVjdG9yeUVudHJ5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RpcmVjdG9yeUVudHJ5LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNEaXJl
Y3RvcnlFbnRyeVN5bmMuY3BwIFwKQEAgLTEzOTEsOCArMTM5NSwxMCBAQCBkb21fYmluZGluZ19p
ZGxzICs9IFwKIAkkKFdlYkNvcmUpL2RvbS9ET01TdHJpbmdNYXAuaWRsIFwKIAkkKFdlYkNvcmUp
L2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlkbCBcCiAJJChXZWJDb3JlKS9kb20vRGF0YVRyYW5zZmVy
SXRlbUxpc3QuaWRsIFwKKwkkKFdlYkNvcmUpL2RvbS9EZXZpY2VBY2NlbGVyYXRpb24uaWRsIFwK
IAkkKFdlYkNvcmUpL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9t
L0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsIFwKKwkkKFdlYkNvcmUpL2RvbS9EZXZpY2VSb3Rh
dGlvblJhdGUuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9Eb2N1bWVudC5pZGwgXAogCSQoV2ViQ29y
ZSkvZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9Eb2N1bWVudFR5
cGUuaWRsIFwKQEAgLTI4MzMsNiArMjgzOSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuaCBcCiAJU291cmNlL1dl
YkNvcmUvZG9tL2RlZmF1bHQvUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vZGVmYXVsdC9QbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbC5oIFwKKwlT
b3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCBcCisJU291cmNlL1dlYkNv
cmUvZG9tL0RldmljZUFjY2VsZXJhdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNl
TW90aW9uQ2xpZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9s
bGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaCBc
CkBAIC0yODQ3LDYgKzI4NTUsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkRhdGEuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0Rl
dmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3Jp
ZW50YXRpb25FdmVudC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlUm90YXRpb25SYXRl
LmNwcCBcCisJU291cmNlL1dlYkNvcmUvZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnRGcmFnbWVudC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50Lmgg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKaW5kZXggNWUzZjRlZjIwOTIzOGMwNjQyNjg3Y2M3ODM1N2RmYjgwZDU5ZmVh
Mi4uYTk0OTQ0Y2E1NDRjZTI3OGQ0ZGMxYzJlMjUwY2E1YjAyM2M0M2Q0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CkBAIC0zNzcsMTIgKzM3NywxNCBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vQ29udGV4dEZlYXR1
cmVzLmNwcCBcCiAgICAgZG9tL0N1c3RvbUV2ZW50LmNwcCBcCiAgICAgZG9tL0RlY29kZWREYXRh
RG9jdW1lbnRQYXJzZXIuY3BwIFwKKyAgICBkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCBcCiAg
ICAgZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIFwKICAgICBkb20vRGV2aWNlTW90aW9u
RGF0YS5jcHAgXAogICAgIGRvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAgXAogICAgIGRvbS9EZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwIFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25E
YXRhLmNwcCBcCiAgICAgZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIFwKKyAgICBkb20v
RGV2aWNlUm90YXRpb25SYXRlLmNwcCBcCiAgICAgZG9tL0RvY3VtZW50LmNwcCBcCiAgICAgZG9t
L0RvY3VtZW50RXZlbnRRdWV1ZS5jcHAgXAogICAgIGRvbS9Eb2N1bWVudEZyYWdtZW50LmNwcCBc
CkBAIC0xNjIxLDYgKzE2MjMsNyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vQ29udGV4dEZlYXR1
cmVzLmggXAogICAgIGRvbS9DdXN0b21FdmVudC5oIFwKICAgICBkb20vZGVmYXVsdC9QbGF0Zm9y
bU1lc3NhZ2VQb3J0Q2hhbm5lbC5oIFwKKyAgICBkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmggXAog
ICAgIGRvbS9EZXZpY2VNb3Rpb25DbGllbnQuaCBcCiAgICAgZG9tL0RldmljZU1vdGlvbkNvbnRy
b2xsZXIuaCBcCiAgICAgZG9tL0RldmljZU1vdGlvbkRhdGEuaCBcCkBAIC0xNjI5LDYgKzE2MzIs
NyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgg
XAogICAgIGRvbS9EZXZpY2VPcmllbnRhdGlvbkRhdGEuaCBcCiAgICAgZG9tL0RldmljZU9yaWVu
dGF0aW9uRXZlbnQuaCBcCisgICAgZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5oIFwKICAgICBkb20v
RG9jdW1lbnQuaCBcCiAgICAgZG9tL0RvY3VtZW50RnJhZ21lbnQuaCBcCiAgICAgZG9tL0RvY3Vt
ZW50TWFya2VyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDBmNTU0M2I0N2NlNmUzY2QwMDQ1N2I1
NzkzYjJiMzk4YmFmMDVkOGIuLmVlNjgxMzJjNzQxMmRlNjU5MjMyNDFmMjViODUzNTkyMWI1N2Vm
NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTMwMCw4ICszMDAsMTAgQEAKICAgICAgICAgICAgICdk
b20vRE9NU3RyaW5nTWFwLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RhdGFUcmFuc2Zlckl0ZW0u
aWRsJywKICAgICAgICAgICAgICdkb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsJywKKyAgICAg
ICAgICAgICdkb20vRGV2aWNlQWNjZWxlcmF0aW9uLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0Rl
dmljZU1vdGlvbkV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU9yaWVudGF0aW9u
RXZlbnQuaWRsJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlUm90YXRpb25SYXRlLmlkbCcsCiAg
ICAgICAgICAgICAnZG9tL0RvY3VtZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50
RnJhZ21lbnQuaWRsJywKICAgICAgICAgICAgICdkb20vRG9jdW1lbnRUeXBlLmlkbCcsCkBAIC0y
ODc1LDYgKzI4NzcsOCBAQAogICAgICAgICAgICAgJ2RvbS9EYXRhc2V0RE9NU3RyaW5nTWFwLmgn
LAogICAgICAgICAgICAgJ2RvbS9EZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCcsCiAgICAg
ICAgICAgICAnZG9tL0RlY29kZWREYXRhRG9jdW1lbnRQYXJzZXIuaCcsCisgICAgICAgICAgICAn
ZG9tL0RldmljZUFjY2VsZXJhdGlvbi5jcHAnLAorICAgICAgICAgICAgJ2RvbS9EZXZpY2VBY2Nl
bGVyYXRpb24uaCcsCiAgICAgICAgICAgICAnZG9tL0RldmljZU1vdGlvbkNsaWVudC5oJywKICAg
ICAgICAgICAgICdkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAnLAogICAgICAgICAgICAg
J2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmgnLApAQCAtMjg4Nyw2ICsyODkxLDggQEAKICAg
ICAgICAgICAgICdkb20vRGV2aWNlT3JpZW50YXRpb25EYXRhLmNwcCcsCiAgICAgICAgICAgICAn
ZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vRGV2aWNl
T3JpZW50YXRpb25FdmVudC5oJywKKyAgICAgICAgICAgICdkb20vRGV2aWNlUm90YXRpb25SYXRl
LmNwcCcsCisgICAgICAgICAgICAnZG9tL0RldmljZVJvdGF0aW9uUmF0ZS5oJywKICAgICAgICAg
ICAgICdkb20vRG9jdW1lbnQuY3BwJywKICAgICAgICAgICAgICdkb20vRG9jdW1lbnRFdmVudFF1
ZXVlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0RvY3VtZW50RXZlbnRRdWV1ZS5oJywKQEAgLTU2
MzUsMTAgKzU2NDEsMTQgQEAKICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikv
V2ViQ29yZS9iaW5kaW5ncy9KU0RlZGljYXRlZFdvcmtlckNvbnRleHQuaCcsCiAgICAgICAgICAg
JzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL1dlYkNvcmUvYmluZGluZ3MvSlNEZWxheU5vZGUu
Y3BwJywKICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvV2ViQ29yZS9iaW5k
aW5ncy9KU0RlbGF5Tm9kZS5oJywKKyAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJ
UikvV2ViQ29yZS9iaW5kaW5ncy9KU0RldmljZUFjY2VsZXJhdGlvbi5jcHAnLAorICAgICAgICAg
ICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS9XZWJDb3JlL2JpbmRpbmdzL0pTRGV2aWNlQWNj
ZWxlcmF0aW9uLmgnLAogICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS9XZWJD
b3JlL2JpbmRpbmdzL0pTRGV2aWNlTW90aW9uRXZlbnQuY3BwJywKICAgICAgICAgICAnPChTSEFS
RURfSU5URVJNRURJQVRFX0RJUikvV2ViQ29yZS9iaW5kaW5ncy9KU0RldmljZU1vdGlvbkV2ZW50
LmgnLAogICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS9XZWJDb3JlL2JpbmRp
bmdzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAnLAogICAgICAgICAgICc8KFNIQVJFRF9J
TlRFUk1FRElBVEVfRElSKS9XZWJDb3JlL2JpbmRpbmdzL0pTRGV2aWNlT3JpZW50YXRpb25FdmVu
dC5oJywKKyAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvV2ViQ29yZS9iaW5k
aW5ncy9KU0RldmljZVJvdGF0aW9uUmF0ZS5jcHAnLAorICAgICAgICAgICc8KFNIQVJFRF9JTlRF
Uk1FRElBVEVfRElSKS9XZWJDb3JlL2JpbmRpbmdzL0pTRGV2aWNlUm90YXRpb25SYXRlLmgnLAog
ICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS9XZWJDb3JlL2JpbmRpbmdzL0pT
RGlyZWN0b3J5RW50cnkuY3BwJywKICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJ
UikvV2ViQ29yZS9iaW5kaW5ncy9KU0RpcmVjdG9yeUVudHJ5LmgnLAogICAgICAgICAgICc8KFNI
QVJFRF9JTlRFUk1FRElBVEVfRElSKS9XZWJDb3JlL2JpbmRpbmdzL0pTRGlyZWN0b3J5RW50cnlT
eW5jLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CmluZGV4IDEwMDBlNjc4NWUxYTQ0ZWIwMDcwNGRlZWM5NmM1OTYyZjU3ZjMxODkuLjdiNWE1ZTZh
Yzg1NWUyMGZkMDJlZjI0MDA0ZWZjMWZmNjVlMDJmMGIgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yOTc5LDYgKzI5NzksNjQgQEAKIAkJCQk+
CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9ialxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXEpTRGV2aWNlQWNjZWxlcmF0aW9u
LmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxp
dGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2Vf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFt
ZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisKKwkJCQlSZWxh
dGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcV2ViQ29yZVxEZXJpdmVkU291
cmNlc1xKU0RldmljZUFjY2VsZXJhdGlvbi5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXFdlYkNvcmVc
RGVyaXZlZFNvdXJjZXNcSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAiCiAJCQkJPgogCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgpAQCAtMzA5MSw2ICszMTQ5LDY0IEBACiAJCQkJPgogCQkJPC9GaWxlPgog
CQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpc
V2ViQ29yZVxEZXJpdmVkU291cmNlc1xKU0RldmljZVJvdGF0aW9uUmF0ZS5jcHAiCisJCQkJPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KworCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCisJCQkJUmVsYXRpdmVQYXRoPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXNcSlNEZXZpY2VS
b3RhdGlvblJhdGUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU0RpcmVjdG9yeUVudHJ5LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0
aW9uCkBAIC01MDkzNSw2ICs1MTA1MSw2NCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCIKKwkJCQk+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NG
TGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdf
QWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0
aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGRvbVxEZXZpY2VBY2NlbGVyYXRpb24uaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXERldmljZU1vdGlvbkNsaWVudC5oIgogCQkJCT4KIAkJ
CTwvRmlsZT4KQEAgLTUxMjc5LDYgKzUxNDUzLDY0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxEZXZpY2VSb3RhdGlvblJhdGUuY3BwIgor
CQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKworCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fp
cm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJE
ZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlBy
b2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cZG9tXERldmljZVJvdGF0aW9uUmF0ZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRG9jdW1lbnQuY3BwIgogCQkJCT4KIAkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qCmluZGV4IGExNTk3N2M5OTczZGM3MWE1NzYwYTZkNDM1OTRlNmY5ZGE5YTUz
MjkuLjM2MzdhNDYwY2ZjZjBlNTk2OGIzMGM0ZGUyZTEwNmYzMWM2ZDY2MDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtNTEyLDYgKzUx
MiwxNCBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialxXZWJDb3JlXERlcml2ZWRTb3VyY2VzXEpTRGV2
aWNlQWNjZWxlcmF0aW9uLmNwcCI+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXFdlYkNvcmVcRGVyaXZlZFNv
dXJjZXNcSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CkBAIC01MjgsNiArNTM2LDE0IEBACiAgICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqXFdlYkNvcmVcRGVyaXZlZFNvdXJjZXNcSlNSb3RhdGlvblJhdGUuY3Bw
Ij4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Cisg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
KyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNEaXJl
Y3RvcnlFbnRyeS5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+CkBAIC03MDQ1LDYgKzcwNjEsMTQgQEAKICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29t
cGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRvbVxEZXZpY2VBY2NlbGVyYXRpb24u
Y3BwIj4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRp
b24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRv
bVxEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMici
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTcwOTMsNiArNzExNywxNCBAQAogICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZG9tXERldmlj
ZVJvdGF0aW9uUmF0ZS5jcHAiPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5cZG9tXERvY3VtZW50LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMici
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KQEAgLTEyNDc0LDYgKzEyNTA2LDcgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxEYXRhVHJhbnNmZXJJdGVtLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkb21cRGF0YVRyYW5zZmVySXRlbUxpc3QuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxEZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmgi
IC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkb21cRGV2aWNlQWNjZWxlcmF0aW9uLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkb21cRGV2aWNlTW90aW9uQ2xpZW50Lmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkb21cRGV2aWNlTW90aW9uQ29udHJvbGxl
ci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZG9tXERldmljZU1vdGlvbkRhdGEu
aCIgLz4KQEAgLTEyNDgyLDYgKzEyNTE1LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGRvbVxEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbkRhdGEuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGRvbVxEZXZpY2VPcmllbnRhdGlvbkV2ZW50LmgiIC8+CisgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxkb21cRGV2aWNlUm90YXRpb25SYXRlLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxkb21cRG9jdW1lbnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGRvbVxEb2N1bWVudEZyYWdtZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxkb21cRG9jdW1lbnRNYXJrZXIuaCIgLz4KQEAgLTEzNjI5LDQgKzEzNjYzLDQgQEAKICAg
PEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIg
Lz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRH
cm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qLmZpbHRlcnMKaW5kZXggNDg0ZmNhM2NhYWIzOGQyYTFiNzhiM2Q4ODY3ZmIxNjgxMzRkZTlm
My4uNDM4NmRjNWJlOGEzZWZjMTczNjZiMDkzMDRiNWE1Y2JmOTE4ZjZhNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
cwpAQCAtNDYwOCw2ICs0NjA4LDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRvbVxE
ZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCI+CiAgICAgICA8RmlsdGVyPmRvbTwvRmlsdGVy
PgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZG9tXERldmlj
ZUFjY2VsZXJhdGlvbi5jcHAiPgorICAgICAgPEZpbHRlcj5kb208L0ZpbHRlcj4KKyAgICA8L0Ns
Q29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRvbVxEZXZpY2VNb3Rpb25Db250
cm9sbGVyLmNwcCI+CiAgICAgICA8RmlsdGVyPmRvbTwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxl
PgpAQCAtNDYyNiw2ICs0NjI5LDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRvbVxE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcCI+CiAgICAgICA8RmlsdGVyPmRvbTwvRmlsdGVyPgog
ICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZG9tXERldmljZVJv
dGF0aW9uUmF0ZS5jcHAiPgorICAgICAgPEZpbHRlcj5kb208L0ZpbHRlcj4KKyAgICA8L0NsQ29t
cGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRvbVxEb2N1bWVudC5jcHAiPgogICAg
ICAgPEZpbHRlcj5kb208L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTExNDgxLDYgKzEx
NDg3LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxEZWNvZGVkRGF0YURvY3Vt
ZW50UGFyc2VyLmgiPgogICAgICAgPEZpbHRlcj5kb208L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVk
ZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRvbVxEZXZpY2VBY2NlbGVyYXRpb24uaCI+
CisgICAgICA8RmlsdGVyPmRvbTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cZG9tXERldmljZU1vdGlvbkNsaWVudC5oIj4KICAgICAgIDxGaWx0
ZXI+ZG9tPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0xMTUwNSw2ICsxMTUxNCw5IEBA
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkb21cRGV2aWNlT3JpZW50YXRpb25FdmVudC5o
Ij4KICAgICAgIDxGaWx0ZXI+ZG9tPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxkb21cRGV2aWNlUm90YXRpb25SYXRlLmgiPgorICAgICAgPEZp
bHRlcj5kb208L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGRvbVxEb2N1bWVudC5oIj4KICAgICAgIDxGaWx0ZXI+ZG9tPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggNWNiMGJhNWUwM2YzMDkyNjk5MWNhMjFkOGFmMjg1ODdlNzk2MGZi
Zi4uOGZjNTQxMmRlNzk5NDk1NTVkNGQwOTEwZDgxNmIzNzFiOTU4ZjQ2ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjA0MCw2
ICsyMDQwLDE0IEBACiAJCTdBMUYyQjUyMTI2QzYxQjIwMDA2QTdFNiAvKiBJbnNwZWN0b3JDbGll
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0Ex
RjJCNTExMjZDNjFCMjAwMDZBN0U2IC8qIEluc3BlY3RvckNsaWVudC5jcHAgKi87IH07CiAJCTdB
MjQ1ODdCMTAyMUVBRjQwMDBBMDBBQSAvKiBJbnNwZWN0b3JET01BZ2VudC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTI0NTg3OTEwMjFFQUY0MDAw
QTAwQUEgLyogSW5zcGVjdG9yRE9NQWdlbnQuY3BwICovOyB9OwogCQk3QTI0NTg3QzEwMjFFQUY0
MDAwQTAwQUEgLyogSW5zcGVjdG9yRE9NQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBMjQ1ODdBMTAyMUVBRjQwMDBBMDBBQSAvKiBJbnNwZWN0
b3JET01BZ2VudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTdBMzlDODUwMTcwQjVFN0UwMDM4MEIzRCAvKiBEZXZpY2VBY2NlbGVyYXRpb24uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EzOUM4NEEx
NzBCNUUyNTAwMzgwQjNEIC8qIERldmljZUFjY2VsZXJhdGlvbi5jcHAgKi87IH07CisJCTdBMzlD
ODUxMTcwQjVFODIwMDM4MEIzRCAvKiBEZXZpY2VBY2NlbGVyYXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBMzlDODRCMTcwQjVFMjUwMDM4MEIz
RCAvKiBEZXZpY2VBY2NlbGVyYXRpb24uaCAqLzsgfTsKKwkJN0EzOUM4NTIxNzBCNUU4NTAwMzgw
QjNEIC8qIERldmljZVJvdGF0aW9uUmF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QTM5Qzg0RDE3MEI1RTI1MDAzODBCM0QgLyogRGV2aWNlUm90
YXRpb25SYXRlLmNwcCAqLzsgfTsKKwkJN0EzOUM4NTMxNzBCNUU4OTAwMzgwQjNEIC8qIERldmlj
ZVJvdGF0aW9uUmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0EzOUM4NEUxNzBCNUUyNTAwMzgwQjNEIC8qIERldmljZVJvdGF0aW9uUmF0ZS5oICov
OyB9OworCQk3QTM5Qzg1ODE3MEI2MDgxMDAzODBCM0QgLyogSlNEZXZpY2VSb3RhdGlvblJhdGUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0EzOUM4
NTYxNzBCNjA2QjAwMzgwQjNEIC8qIEpTRGV2aWNlUm90YXRpb25SYXRlLmNwcCAqLzsgfTsKKwkJ
N0EzOUM4NTkxNzBCNjA4NTAwMzgwQjNEIC8qIEpTRGV2aWNlUm90YXRpb25SYXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QTM5Qzg1NzE3MEI2MDZC
MDAzODBCM0QgLyogSlNEZXZpY2VSb3RhdGlvblJhdGUuaCAqLzsgfTsKKwkJN0EzOUM4NUExNzBC
NjA4QjAwMzgwQjNEIC8qIEpTRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBMzlDODU0MTcwQjYwNkIwMDM4MEIzRCAv
KiBKU0RldmljZUFjY2VsZXJhdGlvbi5jcHAgKi87IH07CisJCTdBMzlDODVCMTcwQjYwOEUwMDM4
MEIzRCAvKiBKU0RldmljZUFjY2VsZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0EzOUM4NTUxNzBCNjA2QjAwMzgwQjNEIC8qIEpTRGV2aWNl
QWNjZWxlcmF0aW9uLmggKi87IH07CiAJCTdBNTQ4NTdGMTRFMDJENTEwMDZBRTA1QSAvKiBJbnNw
ZWN0b3JIaXN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdBNTQ4NTdEMTRFMDJENTEwMDZBRTA1QSAvKiBJbnNwZWN0b3JIaXN0b3J5LmNwcCAq
LzsgfTsKIAkJN0E1NDg1ODAxNEUwMkQ1MTAwNkFFMDVBIC8qIEluc3BlY3Rvckhpc3RvcnkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBNTQ4NTdFMTRF
MDJENTEwMDZBRTA1QSAvKiBJbnNwZWN0b3JIaXN0b3J5LmggKi87IH07CiAJCTdBNTQ4ODE3MTRF
NDMyQTEwMDZBRTA1QSAvKiBET01QYXRjaFN1cHBvcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBNTQ4ODE1MTRFNDMyQTEwMDZBRTA1QSAvKiBET01Q
YXRjaFN1cHBvcnQuaCAqLzsgfTsKQEAgLTIwNzQsMTQgKzIwODIsMTQgQEAKIAkJN0U1RDdBNzYx
NjFEM0Y4RjAwODk2QzM0IC8qIE9FU0VsZW1lbnRJbmRleFVpbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0U1RDdBNzMxNjFEM0Y4RjAwODk2QzM0
IC8qIE9FU0VsZW1lbnRJbmRleFVpbnQuY3BwICovOyB9OwogCQk3RTVEN0E3NzE2MUQzRjhGMDA4
OTZDMzQgLyogT0VTRWxlbWVudEluZGV4VWludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0U1RDdBNzQxNjFEM0Y4RjAwODk2QzM0IC8qIE9FU0VsZW1l
bnRJbmRleFVpbnQuaCAqLzsgfTsKIAkJN0U2NkUyMzMxNkQ2RUI2QzAwRjdFN0ZGIC8qIFdlYkdM
Q29tcHJlc3NlZFRleHR1cmVBVEMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0U2NkUyMzExNkQ2RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29tcHJlc3Nl
ZFRleHR1cmVBVEMuY3BwICovOyB9OworCQk3RTY2RTIzMzE3RTZFQjZDMDBGN0U3RkYgLyogV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdFNjZFMjMxMTdFNkVCNkMwMEY3RTdGRiAvKiBXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlUFZSVEMuY3BwICovOyB9OwogCQk3RTY2RTIzNDE2RDZFQjZDMDBGN0U3RkYg
LyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0U2NkUyMzIxNkQ2RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29t
cHJlc3NlZFRleHR1cmVBVEMuaCAqLzsgfTsKKwkJN0U2NkUyMzQxN0U2RUI2QzAwRjdFN0ZGIC8q
IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0U2NkUyMzIxN0U2RUI2QzAwRjdFN0ZGIC8qIFdlYkdMQ29t
cHJlc3NlZFRleHR1cmVQVlJUQy5oICovOyB9OwogCQk3RTk5QUY1MTBCMTM4NDY0NjhGQjAxQTUg
LyogV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFOTlBRjUyMEIxMzg0NjQ2OEZCMDFBNSAvKiBXaW5k
b3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuY3BwICovOyB9OwogCQk3RTk5QUY1MzBCMTM4NDY0NjhG
QjAxQTUgLyogV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RTk5QUY1NDBCMTM4NDY0NjhGQjAxQTUgLyog
V2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0VBMzBGNjkxNkRGRkU3NTAwMjU3RDBCIC8qIEpTV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3RUEzMEY2NzE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlQVRDLmNwcCAqLzsgfTsKLQkJN0VBMzBGNkExNkRGRkU3NTAwMjU3RDBCIC8q
IEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0VBMzBGNjgxNkRGRkU3NTAwMjU3RDBCIC8qIEpTV2ViR0xD
b21wcmVzc2VkVGV4dHVyZUFUQy5oICovOyB9OwotCQk3RTY2RTIzMzE3RTZFQjZDMDBGN0U3RkYg
LyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFNjZFMjMxMTdFNkVCNkMwMEY3RTdGRiAvKiBXZWJH
TENvbXByZXNzZWRUZXh0dXJlUFZSVEMuY3BwICovOyB9OwotCQk3RTY2RTIzNDE3RTZFQjZDMDBG
N0U3RkYgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RTY2RTIzMjE3RTZFQjZDMDBGN0U3RkYgLyog
V2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmggKi87IH07CiAJCTdFQTMwRjY5MTdFRkZFNzUw
MDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RUEzMEY2NzE3RUZGRTc1MDAyNTdE
MEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuY3BwICovOyB9OworCQk3RUEzMEY2
QTE2REZGRTc1MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3RUEzMEY2ODE2REZGRTc1
MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmggKi87IH07CiAJCTdFQTMw
RjZBMTdFRkZFNzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0VBMzBGNjgxN0VG
RkU3NTAwMjU3RDBCIC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmggKi87IH07CiAJ
CTdFRTY4NDVGMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFRTY4NDRDMTJEMjZFMzgw
MEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmNwcCAqLzsgfTsKIAkJN0VFNjg0NjAxMkQyNkUz
ODAwRTc5NDE1IC8qIEF1dGhlbnRpY2F0aW9uQ0YuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdFRTY4NDREMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50
aWNhdGlvbkNGLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTk1NjIsNiArOTU3MCwxNiBAQAogCQk3QTFGMkI1MTEyNkM2MUIyMDAwNkE3RTYgLyog
SW5zcGVjdG9yQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEluc3BlY3RvckNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBMjQ1
ODc5MTAyMUVBRjQwMDBBMDBBQSAvKiBJbnNwZWN0b3JET01BZ2VudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JET01BZ2VudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBMjQ1ODdBMTAyMUVBRjQwMDBBMDBBQSAvKiBJbnNwZWN0
b3JET01BZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JE
T01BZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QTM5Qzg0QTE3MEI1RTI1
MDAzODBCM0QgLyogRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERldmljZUFjY2VsZXJhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTdBMzlDODRCMTcwQjVFMjUwMDM4MEIzRCAvKiBEZXZpY2VBY2NlbGVyYXRp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlQWNjZWxlcmF0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdBMzlDODRDMTcwQjVFMjUwMDM4MEIz
RCAvKiBEZXZpY2VBY2NlbGVyYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERldmlj
ZUFjY2VsZXJhdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdBMzlDODRE
MTcwQjVFMjUwMDM4MEIzRCAvKiBEZXZpY2VSb3RhdGlvblJhdGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGV2aWNlUm90YXRpb25SYXRlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0EzOUM4NEUxNzBCNUUyNTAwMzgwQjNEIC8qIERldmljZVJv
dGF0aW9uUmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VSb3Rh
dGlvblJhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0EzOUM4NEYxNzBCNUUy
NTAwMzgwQjNEIC8qIERldmljZVJvdGF0aW9uUmF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gRGV2aWNlUm90YXRpb25SYXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
N0EzOUM4NTQxNzBCNjA2QjAwMzgwQjNEIC8qIEpTRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRGV2aWNlQWNjZWxlcmF0aW9uLmNw
cDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OworCQk3QTM5Qzg1NTE3MEI2MDZCMDAzODBC
M0QgLyogSlNEZXZpY2VBY2NlbGVyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNEZXZpY2VBY2NlbGVyYXRpb24uaDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9
OworCQk3QTM5Qzg1NjE3MEI2MDZCMDAzODBCM0QgLyogSlNEZXZpY2VSb3RhdGlvblJhdGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEZXZpY2VSb3RhdGlvblJh
dGUuY3BwOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CisJCTdBMzlDODU3MTcwQjYwNkIw
MDM4MEIzRCAvKiBKU0RldmljZVJvdGF0aW9uUmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0RldmljZVJvdGF0aW9uUmF0ZS5oOyBzb3VyY2VUcmVlID0gU09VUkNFX1JP
T1Q7IH07CiAJCTdBNTQ4NTdEMTRFMDJENTEwMDZBRTA1QSAvKiBJbnNwZWN0b3JIaXN0b3J5LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3Rvckhpc3Rvcnku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTU0ODU3RTE0RTAyRDUxMDA2QUUw
NUEgLyogSW5zcGVjdG9ySGlzdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBJbnNwZWN0b3JIaXN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdBNTQ4
ODE1MTRFNDMyQTEwMDZBRTA1QSAvKiBET01QYXRjaFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRE9NUGF0Y2hTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC05NjAxLDE2ICs5NjE5LDE2IEBACiAJCTdFNUQ3QTczMTYxRDNGOEYwMDg5NkMz
NCAvKiBPRVNFbGVtZW50SW5kZXhVaW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IE9FU0VsZW1lbnRJbmRleFVpbnQuY3BwOyBwYXRoID0gY2FudmFzL09FU0VsZW1l
bnRJbmRleFVpbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3RTVEN0E3NDE2
MUQzRjhGMDA4OTZDMzQgLyogT0VTRWxlbWVudEluZGV4VWludC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBPRVNFbGVtZW50SW5kZXhVaW50Lmg7IHBhdGggPSBjYW52YXMvT0VT
RWxlbWVudEluZGV4VWludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3RTY2RTIz
MTE2RDZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRD
LmNwcDsgcGF0aCA9IGNhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0U2NkUyMzExN0U2RUI2QzAwRjdFN0ZGIC8qIFdlYkdM
Q29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBXZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuY3BwOyBwYXRoID0gY2FudmFzL1dl
YkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTdFNjZFMjMyMTZENkVCNkMwMEY3RTdGRiAvKiBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRD
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVBVEMuaDsgcGF0aCA9IGNhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdFNjZFMjMyMTdFNkVCNkMwMEY3RTdGRiAvKiBXZWJH
TENvbXByZXNzZWRUZXh0dXJlUFZSVEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmg7IHBhdGggPSBjYW52YXMvV2ViR0xDb21w
cmVzc2VkVGV4dHVyZVBWUlRDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdFOTlB
RjUyMEIxMzg0NjQ2OEZCMDFBNSAvKiBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2luZG93Rm9jdXNBbGxvd2VkSW5k
aWNhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0U5OUFGNTQwQjEzODQ2
NDY4RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXaW5kb3dGb2N1c0FsbG93ZWRJbmRpY2F0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0VBMzBGNjIxNkRGRDYyNzAwMjU3RDBCIC8qIFdlYkdM
Q29tcHJlc3NlZFRleHR1cmVBVEMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFdlYkdMQ29t
cHJlc3NlZFRleHR1cmVBVEMuaWRsOyBwYXRoID0gY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1
cmVBVEMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3RUEzMEY2NzE2REZGRTc1
MDAyNTdEMEIgLyogSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdFQTMwRjY4MTZERkZFNzUwMDI1N0QwQiAv
KiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTdFNjZFMjMxMTdFNkVCNkMwMEY3RTdGRiAvKiBXZWJHTENvbXByZXNzZWRU
ZXh0dXJlUFZSVEMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2Vi
R0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNwcDsgcGF0aCA9IGNhbnZhcy9XZWJHTENvbXByZXNz
ZWRUZXh0dXJlUFZSVEMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3RTY2RTIz
MjE3RTZFQjZDMDBGN0U3RkYgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5o
OyBwYXRoID0gY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVQVlJUQy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3RUEzMEY2MjE3RUZENjI3MDAyNTdEMEIgLyogV2ViR0xDb21w
cmVzc2VkVGV4dHVyZVBWUlRDLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlUFZSVEMuaWRsOyBwYXRoID0gY2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1
cmVQVlJUQy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdFQTMwRjY3MTZERkZF
NzUwMDI1N0QwQiAvKiBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0VBMzBGNjcxN0VGRkU3NTAwMjU3RDBC
IC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0VBMzBGNjgxNkRGRkU3NTAwMjU3RDBCIC8qIEpT
V2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU1dlYkdMQ29tcHJlc3NlZFRleHR1cmVBVEMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0VBMzBGNjgxN0VGRkU3NTAwMjU3RDBCIC8qIEpTV2ViR0xDb21wcmVzc2VkVGV4
dHVyZVBWUlRDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTV2ViR0xDb21w
cmVzc2VkVGV4dHVyZVBWUlRDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdFRTY4
NDRDMTJEMjZFMzgwMEU3OTQxNSAvKiBBdXRoZW50aWNhdGlvbkNGLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1dGhlbnRpY2F0aW9uQ0YuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3RUU2ODQ0RDEyRDI2RTM4MDBFNzk0MTUgLyogQXV0aGVudGlj
YXRpb25DRi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdXRoZW50aWNhdGlv
bkNGLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xOTc3OSwxMCArMTk3OTcsMTQg
QEAKIAkJCQk5M0Y5QjZERjBCQTBGQjcyMDA4NTQwNjQgLyogSlNDb21tZW50LmggKi8sCiAJCQkJ
RkU2RkQ0OEIwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuY3BwICovLAogCQkJCUZF
NkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmggKi8sCisJCQkJN0EzOUM4
NTQxNzBCNjA2QjAwMzgwQjNEIC8qIEpTRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCAqLywKKwkJCQk3
QTM5Qzg1NTE3MEI2MDZCMDAzODBCM0QgLyogSlNEZXZpY2VBY2NlbGVyYXRpb24uaCAqLywKIAkJ
CQkzMUZCMUE2MzEyMEE1RDNGMDBEQzAyQTAgLyogSlNEZXZpY2VNb3Rpb25FdmVudC5jcHAgKi8s
CiAJCQkJMzFGQjFBNjQxMjBBNUQzRjAwREMwMkEwIC8qIEpTRGV2aWNlTW90aW9uRXZlbnQuaCAq
LywKIAkJCQk1OUE4NjAwNTExOURBRjdGMDBERUYxRUYgLyogSlNEZXZpY2VPcmllbnRhdGlvbkV2
ZW50LmNwcCAqLywKIAkJCQk1OUE4NjAwNzExOURBRkExMDBERUYxRUYgLyogSlNEZXZpY2VPcmll
bnRhdGlvbkV2ZW50LmggKi8sCisJCQkJN0EzOUM4NTYxNzBCNjA2QjAwMzgwQjNEIC8qIEpTRGV2
aWNlUm90YXRpb25SYXRlLmNwcCAqLywKKwkJCQk3QTM5Qzg1NzE3MEI2MDZCMDAzODBCM0QgLyog
SlNEZXZpY2VSb3RhdGlvblJhdGUuaCAqLywKIAkJCQk2NTlEREM4MDA5RTE5OEJBMDAxQkYzQzYg
LyogSlNEb2N1bWVudC5jcHAgKi8sCiAJCQkJNjU5RERDODEwOUUxOThCQTAwMUJGM0M2IC8qIEpT
RG9jdW1lbnQuaCAqLywKIAkJCQkxQTQ5NEVEQzBBMTIzRjRDMDBGREFGQzEgLyogSlNEb2N1bWVu
dEZyYWdtZW50LmNwcCAqLywKQEAgLTIyNjg1LDYgKzIyNzA3LDkgQEAKIAkJCQk4MUFDNUFFOTEz
MTYzOTJFMDAwOUE3RTAgLyogRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsICovLAogCQkJCUE4QzIy
OEEwMTFENTcyMkUwMEQ1QTdEMyAvKiBEZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyLmNwcCAqLywK
IAkJCQlBOEMyMjg5RjExRDU3MjJFMDBENUE3RDMgLyogRGVjb2RlZERhdGFEb2N1bWVudFBhcnNl
ci5oICovLAorCQkJCTdBMzlDODRBMTcwQjVFMjUwMDM4MEIzRCAvKiBEZXZpY2VBY2NlbGVyYXRp
b24uY3BwICovLAorCQkJCTdBMzlDODRCMTcwQjVFMjUwMDM4MEIzRCAvKiBEZXZpY2VBY2NlbGVy
YXRpb24uaCAqLywKKwkJCQk3QTM5Qzg0QzE3MEI1RTI1MDAzODBCM0QgLyogRGV2aWNlQWNjZWxl
cmF0aW9uLmlkbCAqLywKIAkJCQkzMUZCMUE0RjEyMEE1RDA2MDBEQzAyQTAgLyogRGV2aWNlTW90
aW9uQ2xpZW50LmggKi8sCiAJCQkJMzFGQjFBNTAxMjBBNUQwNjAwREMwMkEwIC8qIERldmljZU1v
dGlvbkNvbnRyb2xsZXIuY3BwICovLAogCQkJCTMxRkIxQTUxMTIwQTVEMDYwMERDMDJBMCAvKiBE
ZXZpY2VNb3Rpb25Db250cm9sbGVyLmggKi8sCkBAIC0yMjcwMSw2ICsyMjcyNiw5IEBACiAJCQkJ
NTlBODVFQTExMTlENjhEOTAwREVGMUVGIC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwICov
LAogCQkJCTU5QTg1RUEzMTE5RDY4RUMwMERFRjFFRiAvKiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50
LmggKi8sCiAJCQkJNTlBODVFQUExMTlEN0I2RTAwREVGMUVGIC8qIERldmljZU9yaWVudGF0aW9u
RXZlbnQuaWRsICovLAorCQkJCTdBMzlDODREMTcwQjVFMjUwMDM4MEIzRCAvKiBEZXZpY2VSb3Rh
dGlvblJhdGUuY3BwICovLAorCQkJCTdBMzlDODRFMTcwQjVFMjUwMDM4MEIzRCAvKiBEZXZpY2VS
b3RhdGlvblJhdGUuaCAqLywKKwkJCQk3QTM5Qzg0RjE3MEI1RTI1MDAzODBCM0QgLyogRGV2aWNl
Um90YXRpb25SYXRlLmlkbCAqLywKIAkJCQlBODE4NUYzNDA5NzY1NzY1MDA1ODI2RDkgLyogRG9j
dW1lbnQuY3BwICovLAogCQkJCUE4MTg1RjM4MDk3NjU3NjUwMDU4MjZEOSAvKiBEb2N1bWVudC5o
ICovLAogCQkJCTY1NDhFMjQ4MDlFMUUwNEQwMEFGODAyMCAvKiBEb2N1bWVudC5pZGwgKi8sCkBA
IC0yNjgwMCw2ICsyNjgyOCwxMCBAQAogCQkJCUUxODA4MTBGMTZGQ0VDREYwMEI4MEQwNyAvKiBX
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc0RlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTgw
ODExNzE2RkNGOUNCMDBCODBEMDcgLyogU3luY2hyb25vdXNMb2FkZXJDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxNTI1NTE1MTZGRDIzNTAwMDNEN0FEQiAvKiBXZWJDb3JlUmVzb3VyY2VI
YW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTdBMzlD
ODUxMTcwQjVFODIwMDM4MEIzRCAvKiBEZXZpY2VBY2NlbGVyYXRpb24uaCBpbiBIZWFkZXJzICov
LAorCQkJCTdBMzlDODUzMTcwQjVFODkwMDM4MEIzRCAvKiBEZXZpY2VSb3RhdGlvblJhdGUuaCBp
biBIZWFkZXJzICovLAorCQkJCTdBMzlDODU5MTcwQjYwODUwMDM4MEIzRCAvKiBKU0RldmljZVJv
dGF0aW9uUmF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0EzOUM4NUIxNzBCNjA4RTAwMzgwQjNE
IC8qIEpTRGV2aWNlQWNjZWxlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTMwMDEzLDYgKzMw
MDQ1LDEwIEBACiAJCQkJRTE4MDgxMTIxNkZDRjQyRjAwQjgwRDA3IC8qIFN5bmNocm9ub3VzTG9h
ZGVyQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxODA4MTE2MTZGQ0Y5Q0IwMEI4MEQw
NyAvKiBTeW5jaHJvbm91c0xvYWRlckNsaWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUUxNTI1
NTE2MTZGRDIzNTAwMDNEN0FEQiAvKiBXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1
ZXVlRGVsZWdhdGUubW0gaW4gU291cmNlcyAqLywKKwkJCQk3QTM5Qzg1MDE3MEI1RTdFMDAzODBC
M0QgLyogRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdBMzlDODUy
MTcwQjVFODUwMDM4MEIzRCAvKiBEZXZpY2VSb3RhdGlvblJhdGUuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJN0EzOUM4NTgxNzBCNjA4MTAwMzgwQjNEIC8qIEpTRGV2aWNlUm90YXRpb25SYXRlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTdBMzlDODVBMTcwQjYwOEIwMDM4MEIzRCAvKiBKU0Rldmlj
ZUFjY2VsZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlTW90aW9uRXZlbnRDdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAKaW5kZXggNjEx
Mjc2N2Q3OGVmZDg1MTc3N2NkOGRiMTE4M2EyMDE2NDc3YmU4My4uNGRiOTZlMzJjMWQzZThhYTJj
MzA1OWM4YzNlNTE5Y2NkYTlkNDc4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAKQEAgLTExMyw1NiArMTEz
LDYgQEAgc3RhdGljIFBhc3NSZWZQdHI8RGV2aWNlTW90aW9uRGF0YTo6Um90YXRpb25SYXRlPiBy
ZWFkUm90YXRpb25SYXRlQXJndW1lbnQoSlNWYWwKICAgICByZXR1cm4gRGV2aWNlTW90aW9uRGF0
YTo6Um90YXRpb25SYXRlOjpjcmVhdGUoY2FuUHJvdmlkZUFscGhhLCBhbHBoYSwgY2FuUHJvdmlk
ZUJldGEsIGJldGEsIGNhblByb3ZpZGVHYW1tYSwgZ2FtbWEpOwogfQogCi1zdGF0aWMgSlNPYmpl
Y3QqIGNyZWF0ZUFjY2VsZXJhdGlvbk9iamVjdChjb25zdCBEZXZpY2VNb3Rpb25EYXRhOjpBY2Nl
bGVyYXRpb24qIGFjY2VsZXJhdGlvbiwgRXhlY1N0YXRlKiBleGVjKQotewotICAgIEpTT2JqZWN0
KiBvYmplY3QgPSBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjKTsKLSAgICBvYmplY3QtPnB1dERp
cmVjdChleGVjLT5nbG9iYWxEYXRhKCksIElkZW50aWZpZXIoZXhlYywgIngiKSwgYWNjZWxlcmF0
aW9uLT5jYW5Qcm92aWRlWCgpID8ganNOdW1iZXIoYWNjZWxlcmF0aW9uLT54KCkpIDoganNOdWxs
KCkpOwotICAgIG9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmll
cihleGVjLCAieSIpLCBhY2NlbGVyYXRpb24tPmNhblByb3ZpZGVZKCkgPyBqc051bWJlcihhY2Nl
bGVyYXRpb24tPnkoKSkgOiBqc051bGwoKSk7Ci0gICAgb2JqZWN0LT5wdXREaXJlY3QoZXhlYy0+
Z2xvYmFsRGF0YSgpLCBJZGVudGlmaWVyKGV4ZWMsICJ6IiksIGFjY2VsZXJhdGlvbi0+Y2FuUHJv
dmlkZVooKSA/IGpzTnVtYmVyKGFjY2VsZXJhdGlvbi0+eigpKSA6IGpzTnVsbCgpKTsKLSAgICBy
ZXR1cm4gb2JqZWN0OwotfQotCi1zdGF0aWMgSlNPYmplY3QqIGNyZWF0ZVJvdGF0aW9uUmF0ZU9i
amVjdChjb25zdCBEZXZpY2VNb3Rpb25EYXRhOjpSb3RhdGlvblJhdGUqIHJvdGF0aW9uUmF0ZSwg
RXhlY1N0YXRlKiBleGVjKQotewotICAgIEpTT2JqZWN0KiBvYmplY3QgPSBjb25zdHJ1Y3RFbXB0
eU9iamVjdChleGVjKTsKLSAgICBvYmplY3QtPnB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCks
IElkZW50aWZpZXIoZXhlYywgImFscGhhIiksIHJvdGF0aW9uUmF0ZS0+Y2FuUHJvdmlkZUFscGhh
KCkgPyBqc051bWJlcihyb3RhdGlvblJhdGUtPmFscGhhKCkpIDoganNOdWxsKCkpOwotICAgIG9i
amVjdC0+cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihleGVjLCAiYmV0
YSIpLCAgcm90YXRpb25SYXRlLT5jYW5Qcm92aWRlQmV0YSgpICA/IGpzTnVtYmVyKHJvdGF0aW9u
UmF0ZS0+YmV0YSgpKSAgOiBqc051bGwoKSk7Ci0gICAgb2JqZWN0LT5wdXREaXJlY3QoZXhlYy0+
Z2xvYmFsRGF0YSgpLCBJZGVudGlmaWVyKGV4ZWMsICJnYW1tYSIpLCByb3RhdGlvblJhdGUtPmNh
blByb3ZpZGVHYW1tYSgpID8ganNOdW1iZXIocm90YXRpb25SYXRlLT5nYW1tYSgpKSA6IGpzTnVs
bCgpKTsKLSAgICByZXR1cm4gb2JqZWN0OwotfQotCi1KU1ZhbHVlIEpTRGV2aWNlTW90aW9uRXZl
bnQ6OmFjY2VsZXJhdGlvbihFeGVjU3RhdGUqIGV4ZWMpIGNvbnN0Ci17Ci0gICAgRGV2aWNlTW90
aW9uRXZlbnQqIGltcCA9IHN0YXRpY19jYXN0PERldmljZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsK
LSAgICBpZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5hY2NlbGVyYXRpb24oKSkKLSAgICAg
ICAgcmV0dXJuIGpzTnVsbCgpOwotICAgIHJldHVybiBjcmVhdGVBY2NlbGVyYXRpb25PYmplY3Qo
aW1wLT5kZXZpY2VNb3Rpb25EYXRhKCktPmFjY2VsZXJhdGlvbigpLCBleGVjKTsKLX0KLQotSlNW
YWx1ZSBKU0RldmljZU1vdGlvbkV2ZW50OjphY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5KEV4
ZWNTdGF0ZSogZXhlYykgY29uc3QKLXsKLSAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3Rh
dGljX2Nhc3Q8RGV2aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOwotICAgIGlmICghaW1wLT5kZXZp
Y2VNb3Rpb25EYXRhKCktPmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoKSkKLSAgICAgICAg
cmV0dXJuIGpzTnVsbCgpOwotICAgIHJldHVybiBjcmVhdGVBY2NlbGVyYXRpb25PYmplY3QoaW1w
LT5kZXZpY2VNb3Rpb25EYXRhKCktPmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoKSwgZXhl
Yyk7Ci19Ci0KLUpTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6cm90YXRpb25SYXRlKEV4ZWNT
dGF0ZSogZXhlYykgY29uc3QKLXsKLSAgICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gc3RhdGlj
X2Nhc3Q8RGV2aWNlTW90aW9uRXZlbnQqPihpbXBsKCkpOwotICAgIGlmICghaW1wLT5kZXZpY2VN
b3Rpb25EYXRhKCktPnJvdGF0aW9uUmF0ZSgpKQotICAgICAgICByZXR1cm4ganNOdWxsKCk7Ci0g
ICAgcmV0dXJuIGNyZWF0ZVJvdGF0aW9uUmF0ZU9iamVjdChpbXAtPmRldmljZU1vdGlvbkRhdGEo
KS0+cm90YXRpb25SYXRlKCksIGV4ZWMpOwotfQotCi1KU1ZhbHVlIEpTRGV2aWNlTW90aW9uRXZl
bnQ6OmludGVydmFsKEV4ZWNTdGF0ZSopIGNvbnN0Ci17Ci0gICAgRGV2aWNlTW90aW9uRXZlbnQq
IGltcCA9IHN0YXRpY19jYXN0PERldmljZU1vdGlvbkV2ZW50Kj4oaW1wbCgpKTsKLSAgICBpZiAo
IWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5jYW5Qcm92aWRlSW50ZXJ2YWwoKSkKLSAgICAgICAg
cmV0dXJuIGpzTnVsbCgpOwotICAgIHJldHVybiBqc051bWJlcihpbXAtPmRldmljZU1vdGlvbkRh
dGEoKS0+aW50ZXJ2YWwoKSk7Ci19Ci0KIEpTVmFsdWUgSlNEZXZpY2VNb3Rpb25FdmVudDo6aW5p
dERldmljZU1vdGlvbkV2ZW50KEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBjb25zdCBTdHJpbmcg
dHlwZSA9IGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpLT52YWx1ZShleGVjKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25F
dmVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RldmljZU9yaWVu
dGF0aW9uRXZlbnRDdXN0b20uY3BwCmluZGV4IDFmMDcwZmU2MGRjNDI1NTRkOGMwYTVlOTQ3NzU5
NmY3ZDQxODZiNmMuLjdkN2VlMjM5N2MwMWE2NDc5YzBkNTJkMjVlNDg2NTQ1Nzc5YjM5YTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGV2aWNlT3JpZW50YXRpb25F
dmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZXZpY2VP
cmllbnRhdGlvbkV2ZW50Q3VzdG9tLmNwcApAQCAtMzYsMzggKzM2LDYgQEAgdXNpbmcgbmFtZXNw
YWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1KU1ZhbHVlIEpTRGV2aWNlT3JpZW50
YXRpb25FdmVudDo6YWxwaGEoRXhlY1N0YXRlKikgY29uc3QKLXsKLSAgICBEZXZpY2VPcmllbnRh
dGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VPcmllbnRhdGlvbkV2ZW50Kj4oaW1w
bCgpKTsKLSAgICBpZiAoIWltcC0+b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUFscGhhKCkpCi0g
ICAgICAgIHJldHVybiBqc051bGwoKTsKLSAgICByZXR1cm4ganNOdW1iZXIoaW1wLT5vcmllbnRh
dGlvbigpLT5hbHBoYSgpKTsKLX0KLQotSlNWYWx1ZSBKU0RldmljZU9yaWVudGF0aW9uRXZlbnQ6
OmJldGEoRXhlY1N0YXRlKikgY29uc3QKLXsKLSAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KiBp
bXAgPSBzdGF0aWNfY2FzdDxEZXZpY2VPcmllbnRhdGlvbkV2ZW50Kj4oaW1wbCgpKTsKLSAgICBp
ZiAoIWltcC0+b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUJldGEoKSkKLSAgICAgICAgcmV0dXJu
IGpzTnVsbCgpOwotICAgIHJldHVybiBqc051bWJlcihpbXAtPm9yaWVudGF0aW9uKCktPmJldGEo
KSk7Ci19Ci0KLUpTVmFsdWUgSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpnYW1tYShFeGVjU3Rh
dGUqKSBjb25zdAotewotICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IHN0YXRpY19j
YXN0PERldmljZU9yaWVudGF0aW9uRXZlbnQqPihpbXBsKCkpOwotICAgIGlmICghaW1wLT5vcmll
bnRhdGlvbigpLT5jYW5Qcm92aWRlR2FtbWEoKSkKLSAgICAgICAgcmV0dXJuIGpzTnVsbCgpOwot
ICAgIHJldHVybiBqc051bWJlcihpbXAtPm9yaWVudGF0aW9uKCktPmdhbW1hKCkpOwotfQotCi1K
U1ZhbHVlIEpTRGV2aWNlT3JpZW50YXRpb25FdmVudDo6YWJzb2x1dGUoRXhlY1N0YXRlKikgY29u
c3QKLXsKLSAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KiBpbXAgPSBzdGF0aWNfY2FzdDxEZXZp
Y2VPcmllbnRhdGlvbkV2ZW50Kj4oaW1wbCgpKTsKLSAgICBpZiAoIWltcC0+b3JpZW50YXRpb24o
KS0+Y2FuUHJvdmlkZUFic29sdXRlKCkpCi0gICAgICAgIHJldHVybiBqc051bGwoKTsKLSAgICBy
ZXR1cm4ganNCb29sZWFuKGltcC0+b3JpZW50YXRpb24oKS0+YWJzb2x1dGUoKSk7Ci19Ci0KIEpT
VmFsdWUgSlNEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojppbml0RGV2aWNlT3JpZW50YXRpb25FdmVu
dChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgY29uc3QgU3RyaW5nIHR5cGUgPSBleGVjLT5hcmd1
bWVudCgwKS50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEZXZpY2VNb3Rpb25FdmVudEN1
c3RvbS5jcHAKaW5kZXggNjQwZjhkM2IwNGI0YmM4NWQyOGNmNWQ4NDA0YTJjMjQ5Mzk5MTQyOS4u
ZDlmYmIzNzA3MjAwZDQwYWI4ZTFhNTQwNDMxNWU2NzdkZDJkZGFjNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlTW90aW9uRXZlbnRDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU1vdGlv
bkV2ZW50Q3VzdG9tLmNwcApAQCAtMzcsMjQgKzM3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBuYW1lc3BhY2UgewogCi1zdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZUFjY2Vs
ZXJhdGlvbk9iamVjdChjb25zdCBEZXZpY2VNb3Rpb25EYXRhOjpBY2NlbGVyYXRpb24qIGFjY2Vs
ZXJhdGlvbiwgdjg6Oklzb2xhdGUqIGlzb2xhdGUpCi17Ci0gICAgdjg6OkxvY2FsPHY4OjpPYmpl
Y3Q+IG9iamVjdCA9IHY4OjpPYmplY3Q6Ok5ldygpOwotICAgIG9iamVjdC0+U2V0KHY4OjpTdHJp
bmc6Ok5ld1N5bWJvbCgieCIpLCBhY2NlbGVyYXRpb24tPmNhblByb3ZpZGVYKCkgPyB2ODo6TnVt
YmVyOjpOZXcoYWNjZWxlcmF0aW9uLT54KCkpIDogdjhOdWxsKGlzb2xhdGUpKTsKLSAgICBvYmpl
Y3QtPlNldCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woInkiKSwgYWNjZWxlcmF0aW9uLT5jYW5Qcm92
aWRlWSgpID8gdjg6Ok51bWJlcjo6TmV3KGFjY2VsZXJhdGlvbi0+eSgpKSA6IHY4TnVsbChpc29s
YXRlKSk7Ci0gICAgb2JqZWN0LT5TZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJ6IiksIGFjY2Vs
ZXJhdGlvbi0+Y2FuUHJvdmlkZVooKSA/IHY4OjpOdW1iZXI6Ok5ldyhhY2NlbGVyYXRpb24tPnoo
KSkgOiB2OE51bGwoaXNvbGF0ZSkpOwotICAgIHJldHVybiBvYmplY3Q7Ci19Ci0KLXN0YXRpYyB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlUm90YXRpb25SYXRlT2JqZWN0KGNvbnN0IERldmlj
ZU1vdGlvbkRhdGE6OlJvdGF0aW9uUmF0ZSogcm90YXRpb25SYXRlLCB2ODo6SXNvbGF0ZSogaXNv
bGF0ZSkKLXsKLSAgICB2ODo6TG9jYWw8djg6Ok9iamVjdD4gb2JqZWN0ID0gdjg6Ok9iamVjdDo6
TmV3KCk7Ci0gICAgb2JqZWN0LT5TZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJhbHBoYSIpLCBy
b3RhdGlvblJhdGUtPmNhblByb3ZpZGVBbHBoYSgpID8gdjg6Ok51bWJlcjo6TmV3KHJvdGF0aW9u
UmF0ZS0+YWxwaGEoKSkgOiB2OE51bGwoaXNvbGF0ZSkpOwotICAgIG9iamVjdC0+U2V0KHY4OjpT
dHJpbmc6Ok5ld1N5bWJvbCgiYmV0YSIpLCAgcm90YXRpb25SYXRlLT5jYW5Qcm92aWRlQmV0YSgp
ICA/IHY4OjpOdW1iZXI6Ok5ldyhyb3RhdGlvblJhdGUtPmJldGEoKSkgIDogdjhOdWxsKGlzb2xh
dGUpKTsKLSAgICBvYmplY3QtPlNldCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woImdhbW1hIiksIHJv
dGF0aW9uUmF0ZS0+Y2FuUHJvdmlkZUdhbW1hKCkgPyB2ODo6TnVtYmVyOjpOZXcocm90YXRpb25S
YXRlLT5nYW1tYSgpKSA6IHY4TnVsbChpc29sYXRlKSk7Ci0gICAgcmV0dXJuIG9iamVjdDsKLX0K
LQogUmVmUHRyPERldmljZU1vdGlvbkRhdGE6OkFjY2VsZXJhdGlvbj4gcmVhZEFjY2VsZXJhdGlv
bkFyZ3VtZW50KHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlKQogewogICAgIGlmIChpc1VuZGVm
aW5lZE9yTnVsbCh2YWx1ZSkpCkBAIC0xMjEsNDIgKzEwMyw2IEBAIFJlZlB0cjxEZXZpY2VNb3Rp
b25EYXRhOjpSb3RhdGlvblJhdGU+IHJlYWRSb3RhdGlvblJhdGVBcmd1bWVudCh2ODo6TG9jYWw8
djg6OlZhCiAKIH0gLy8gbmFtZXNwYWNlCiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmlj
ZU1vdGlvbkV2ZW50OjphY2NlbGVyYXRpb25BdHRyR2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQotewotICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKLSAgICBEZXZpY2VNb3Rp
b25FdmVudCogaW1wID0gVjhEZXZpY2VNb3Rpb25FdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKLSAg
ICBpZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5hY2NlbGVyYXRpb24oKSkKLSAgICAgICAg
cmV0dXJuIHY4TnVsbChpbmZvLkdldElzb2xhdGUoKSk7Ci0gICAgcmV0dXJuIGNyZWF0ZUFjY2Vs
ZXJhdGlvbk9iamVjdChpbXAtPmRldmljZU1vdGlvbkRhdGEoKS0+YWNjZWxlcmF0aW9uKCksIGlu
Zm8uR2V0SXNvbGF0ZSgpKTsKLX0KLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNlTW90
aW9uRXZlbnQ6OmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHlBdHRyR2V0dGVyQ3VzdG9tKHY4
OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQot
ewotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKLSAg
ICBEZXZpY2VNb3Rpb25FdmVudCogaW1wID0gVjhEZXZpY2VNb3Rpb25FdmVudDo6dG9OYXRpdmUo
aG9sZGVyKTsKLSAgICBpZiAoIWltcC0+ZGV2aWNlTW90aW9uRGF0YSgpLT5hY2NlbGVyYXRpb25J
bmNsdWRpbmdHcmF2aXR5KCkpCi0gICAgICAgIHJldHVybiB2OE51bGwoaW5mby5HZXRJc29sYXRl
KCkpOwotICAgIHJldHVybiBjcmVhdGVBY2NlbGVyYXRpb25PYmplY3QoaW1wLT5kZXZpY2VNb3Rp
b25EYXRhKCktPmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoKSwgaW5mby5HZXRJc29sYXRl
KCkpOwotfQotCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VNb3Rpb25FdmVudDo6cm90
YXRpb25SYXRlQXR0ckdldHRlckN1c3RvbSh2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29u
c3Qgdjg6OkFjY2Vzc29ySW5mbyYgaW5mbykKLXsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7Ci0gICAgRGV2aWNlTW90aW9uRXZlbnQqIGltcCA9IFY4
RGV2aWNlTW90aW9uRXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7Ci0gICAgaWYgKCFpbXAtPmRldmlj
ZU1vdGlvbkRhdGEoKS0+cm90YXRpb25SYXRlKCkpCi0gICAgICAgIHJldHVybiB2OE51bGwoaW5m
by5HZXRJc29sYXRlKCkpOwotICAgIHJldHVybiBjcmVhdGVSb3RhdGlvblJhdGVPYmplY3QoaW1w
LT5kZXZpY2VNb3Rpb25EYXRhKCktPnJvdGF0aW9uUmF0ZSgpLCBpbmZvLkdldElzb2xhdGUoKSk7
Ci19Ci0KLXY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERldmljZU1vdGlvbkV2ZW50OjppbnRlcnZh
bEF0dHJHZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpB
Y2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xkZXIg
PSBpbmZvLkhvbGRlcigpOwotICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU1v
dGlvbkV2ZW50Ojp0b05hdGl2ZShob2xkZXIpOwotICAgIGlmICghaW1wLT5kZXZpY2VNb3Rpb25E
YXRhKCktPmNhblByb3ZpZGVJbnRlcnZhbCgpKQotICAgICAgICByZXR1cm4gdjhOdWxsKGluZm8u
R2V0SXNvbGF0ZSgpKTsKLSAgICByZXR1cm4gdjg6Ok51bWJlcjo6TmV3KGltcC0+ZGV2aWNlTW90
aW9uRGF0YSgpLT5pbnRlcnZhbCgpKTsKLX0KLQogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2
aWNlTW90aW9uRXZlbnQ6OmluaXREZXZpY2VNb3Rpb25FdmVudE1ldGhvZEN1c3RvbShjb25zdCB2
ODo6QXJndW1lbnRzJiBhcmdzKQogewogICAgIERldmljZU1vdGlvbkV2ZW50KiBpbXAgPSBWOERl
dmljZU1vdGlvbkV2ZW50Ojp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERldmljZU9yaWVudGF0aW9uRXZlbnRD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlT3Jp
ZW50YXRpb25FdmVudEN1c3RvbS5jcHAKaW5kZXggNDcxNmMxZWQ5MmIyY2M5YTJhMmQ0YmY2ZjBj
MDkzMzFjZmNhMGY5OC4uYzdkZDI3ZDMxMjc1MGIxNDA1ZDU3MzVkOWM3MDEzMGM4OWFlYTJkNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGV2aWNlT3Jp
ZW50YXRpb25FdmVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4RGV2aWNlT3JpZW50YXRpb25FdmVudEN1c3RvbS5jcHAKQEAgLTM1LDQyICszNSw2
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2
aWNlT3JpZW50YXRpb25FdmVudDo6YWxwaGFBdHRyR2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQotewotICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKLSAgICBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhv
bGRlcik7Ci0gICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVBbHBoYSgpKQot
ICAgICAgICByZXR1cm4gdjhOdWxsKGluZm8uR2V0SXNvbGF0ZSgpKTsKLSAgICByZXR1cm4gdjg6
Ok51bWJlcjo6TmV3KGltcC0+b3JpZW50YXRpb24oKS0+YWxwaGEoKSk7Ci19Ci0KLXY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OmJldGFBdHRyR2V0dGVyQ3Vz
dG9tKHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBp
bmZvKQotewotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIo
KTsKLSAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9u
RXZlbnQ6OnRvTmF0aXZlKGhvbGRlcik7Ci0gICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNh
blByb3ZpZGVCZXRhKCkpCi0gICAgICAgIHJldHVybiB2OE51bGwoaW5mby5HZXRJc29sYXRlKCkp
OwotICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5vcmllbnRhdGlvbigpLT5iZXRhKCkp
OwotfQotCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojpn
YW1tYUF0dHJHZXR0ZXJDdXN0b20odjg6OkxvY2FsPHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4
OjpBY2Nlc3NvckluZm8mIGluZm8pCi17Ci0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBob2xk
ZXIgPSBpbmZvLkhvbGRlcigpOwotICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IFY4
RGV2aWNlT3JpZW50YXRpb25FdmVudDo6dG9OYXRpdmUoaG9sZGVyKTsKLSAgICBpZiAoIWltcC0+
b3JpZW50YXRpb24oKS0+Y2FuUHJvdmlkZUdhbW1hKCkpCi0gICAgICAgIHJldHVybiB2OE51bGwo
aW5mby5HZXRJc29sYXRlKCkpOwotICAgIHJldHVybiB2ODo6TnVtYmVyOjpOZXcoaW1wLT5vcmll
bnRhdGlvbigpLT5nYW1tYSgpKTsKLX0KLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RGV2aWNl
T3JpZW50YXRpb25FdmVudDo6YWJzb2x1dGVBdHRyR2V0dGVyQ3VzdG9tKHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQotewotICAgIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gaG9sZGVyID0gaW5mby5Ib2xkZXIoKTsKLSAgICBEZXZpY2VPcmll
bnRhdGlvbkV2ZW50KiBpbXAgPSBWOERldmljZU9yaWVudGF0aW9uRXZlbnQ6OnRvTmF0aXZlKGhv
bGRlcik7Ci0gICAgaWYgKCFpbXAtPm9yaWVudGF0aW9uKCktPmNhblByb3ZpZGVBYnNvbHV0ZSgp
KQotICAgICAgICByZXR1cm4gdjhOdWxsKGluZm8uR2V0SXNvbGF0ZSgpKTsKLSAgICByZXR1cm4g
djg6OkJvb2xlYW46Ok5ldyhpbXAtPm9yaWVudGF0aW9uKCktPmFic29sdXRlKCkpOwotfQotCiB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZXZpY2VPcmllbnRhdGlvbkV2ZW50Ojppbml0RGV2aWNl
T3JpZW50YXRpb25FdmVudE1ldGhvZEN1c3RvbShjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQog
ewogICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQqIGltcCA9IFY4RGV2aWNlT3JpZW50YXRpb25F
dmVudDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRE9NQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNw
cAppbmRleCA0MzUwOGNmMGRhYzRkYTljOWQwOTlmNGE4OTE4ZmM2NmZkMmY5NzNlLi40NzRjZDcy
OTAwMjNiZDcxNTlmOTBhZTM4MjgyYTk3ODZkMWM2Yjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJ
bk9uZS5jcHAKQEAgLTUzLDEyICs1MywxNCBAQAogI2luY2x1ZGUgIkRPTVN0cmluZ01hcC5jcHAi
CiAjaW5jbHVkZSAiRGF0YXNldERPTVN0cmluZ01hcC5jcHAiCiAjaW5jbHVkZSAiRGVjb2RlZERh
dGFEb2N1bWVudFBhcnNlci5jcHAiCisjaW5jbHVkZSAiRGV2aWNlQWNjZWxlcmF0aW9uLmNwcCIK
ICNpbmNsdWRlICJEZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcCIKICNpbmNsdWRlICJEZXZpY2VN
b3Rpb25EYXRhLmNwcCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25FdmVudC5jcHAiCiAjaW5jbHVk
ZSAiRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcCIKICNpbmNsdWRlICJEZXZpY2VPcmll
bnRhdGlvbkRhdGEuY3BwIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRXZlbnQuY3BwIgor
I2luY2x1ZGUgIkRldmljZVJvdGF0aW9uUmF0ZS5jcHAiCiAjaW5jbHVkZSAiRG9jdW1lbnQuY3Bw
IgogI2luY2x1ZGUgIkRvY3VtZW50RXZlbnRRdWV1ZS5jcHAiCiAjaW5jbHVkZSAiRG9jdW1lbnRG
cmFnbWVudC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9u
RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkRhdGEuaAppbmRleCAxZDUz
YjUzMWZiOGI1ODUxZTJkNjE1OGI2ODdhYmNkZTEzMWQwMDNkLi5kN2VmMGZkMGVmY2YzMWE3NTUz
MDU3NmY1NzZiYjM5Zjk4ZDUyZDY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2
aWNlTW90aW9uRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25EYXRh
LmgKQEAgLTg2LDExICs4NiwxMiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RGV2
aWNlTW90aW9uRGF0YT4gY3JlYXRlKFBhc3NSZWZQdHI8QWNjZWxlcmF0aW9uPiBhY2NlbGVyYXRp
b24sIFBhc3NSZWZQdHI8QWNjZWxlcmF0aW9uPiBhY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXNzUmVm
UHRyPFJvdGF0aW9uUmF0ZT4gcm90YXRpb25SYXRlLCBib29sIGNhblByb3ZpZGVJbnRlcnZhbCwg
ZG91YmxlIGludGVydmFsKTsKIAotICAgIGNvbnN0IEFjY2VsZXJhdGlvbiogYWNjZWxlcmF0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9hY2NlbGVyYXRpb24uZ2V0KCk7IH0KLSAgICBjb25zdCBBY2Nl
bGVyYXRpb24qIGFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoKSBjb25zdCB7IHJldHVybiBt
X2FjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkuZ2V0KCk7IH0KLSAgICBjb25zdCBSb3RhdGlv
blJhdGUqIHJvdGF0aW9uUmF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcm90YXRpb25SYXRlLmdldCgp
OyB9Ci0gICAgZG91YmxlIGludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcnZhbDsgfQor
ICAgIFBhc3NSZWZQdHI8QWNjZWxlcmF0aW9uPiBhY2NlbGVyYXRpb24oKSBjb25zdCB7IHJldHVy
biBtX2FjY2VsZXJhdGlvbjsgfQorICAgIFBhc3NSZWZQdHI8QWNjZWxlcmF0aW9uPiBhY2NlbGVy
YXRpb25JbmNsdWRpbmdHcmF2aXR5KCkgY29uc3QgeyByZXR1cm4gbV9hY2NlbGVyYXRpb25JbmNs
dWRpbmdHcmF2aXR5OyB9CisgICAgUGFzc1JlZlB0cjxSb3RhdGlvblJhdGU+IHJvdGF0aW9uUmF0
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcm90YXRpb25SYXRlOyB9CisKICAgICBib29sIGNhblByb3Zp
ZGVJbnRlcnZhbCgpIGNvbnN0IHsgcmV0dXJuIG1fY2FuUHJvdmlkZUludGVydmFsOyB9CisgICAg
ZG91YmxlIGludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlcnZhbDsgfQogCiBwcml2YXRl
OgogICAgIERldmljZU1vdGlvbkRhdGEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VNb3Rpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9u
RXZlbnQuY3BwCmluZGV4IGIyOWZjYmVhY2ViNTJlMTRjOTUyYjZkMTAyYzYzYmNkNGEwZjEwNzcu
LjI4MzkyZTk5ZGU3NmI5MTdkODZkMWMwNjBkZjg4M2MzMjk4ZjA3MWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmNwcApAQCAtMjYsNyArMjYsOSBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkRldmljZU1vdGlvbkV2ZW50LmgiCiAKKyNpbmNsdWRlICJE
ZXZpY2VBY2NlbGVyYXRpb24uaCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25EYXRhLmgiCisjaW5j
bHVkZSAiRGV2aWNlUm90YXRpb25SYXRlLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Myw2ICs1NSw1MiBAQCB2b2lkIERldmljZU1vdGlvbkV2
ZW50Ojppbml0RGV2aWNlTW90aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29s
IGJ1YgogCiAgICAgaW5pdEV2ZW50KHR5cGUsIGJ1YmJsZXMsIGNhbmNlbGFibGUpOwogICAgIG1f
ZGV2aWNlTW90aW9uRGF0YSA9IGRldmljZU1vdGlvbkRhdGE7CisKKyAgICBtX2FjY2VsZXJhdGlv
bi5jbGVhcigpOworICAgIG1fYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eS5jbGVhcigpOwor
ICAgIG1fcm90YXRpb25SYXRlLmNsZWFyKCk7Cit9CisKK0RldmljZUFjY2VsZXJhdGlvbiogRGV2
aWNlTW90aW9uRXZlbnQ6OmFjY2VsZXJhdGlvbigpCit7CisgICAgaWYgKCFtX2RldmljZU1vdGlv
bkRhdGEtPmFjY2VsZXJhdGlvbigpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmICghbV9h
Y2NlbGVyYXRpb24pCisgICAgICAgIG1fYWNjZWxlcmF0aW9uID0gRGV2aWNlQWNjZWxlcmF0aW9u
OjpjcmVhdGUobV9kZXZpY2VNb3Rpb25EYXRhLT5hY2NlbGVyYXRpb24oKSk7CisKKyAgICByZXR1
cm4gbV9hY2NlbGVyYXRpb24uZ2V0KCk7Cit9CisKK0RldmljZUFjY2VsZXJhdGlvbiogRGV2aWNl
TW90aW9uRXZlbnQ6OmFjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkoKQoreworICAgIGlmICgh
bV9kZXZpY2VNb3Rpb25EYXRhLT5hY2NlbGVyYXRpb25JbmNsdWRpbmdHcmF2aXR5KCkpCisgICAg
ICAgIHJldHVybiAwOworCisgICAgaWYgKCFtX2FjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkp
CisgICAgICAgIG1fYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eSA9IERldmljZUFjY2VsZXJh
dGlvbjo6Y3JlYXRlKG1fZGV2aWNlTW90aW9uRGF0YS0+YWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jh
dml0eSgpKTsKKworICAgIHJldHVybiBtX2FjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHkuZ2V0
KCk7Cit9CisKK0RldmljZVJvdGF0aW9uUmF0ZSogRGV2aWNlTW90aW9uRXZlbnQ6OnJvdGF0aW9u
UmF0ZSgpCit7CisgICAgaWYgKCFtX2RldmljZU1vdGlvbkRhdGEtPnJvdGF0aW9uUmF0ZSgpKQor
ICAgICAgICByZXR1cm4gMDsKKworICAgIGlmICghbV9yb3RhdGlvblJhdGUpCisgICAgICAgIG1f
cm90YXRpb25SYXRlID0gRGV2aWNlUm90YXRpb25SYXRlOjpjcmVhdGUobV9kZXZpY2VNb3Rpb25E
YXRhLT5yb3RhdGlvblJhdGUoKSk7CisKKyAgICByZXR1cm4gbV9yb3RhdGlvblJhdGUuZ2V0KCk7
Cit9CisKK2RvdWJsZSBEZXZpY2VNb3Rpb25FdmVudDo6aW50ZXJ2YWwoYm9vbCYgaXNOdWxsKSBj
b25zdAoreworICAgIGlmIChtX2RldmljZU1vdGlvbkRhdGEtPmNhblByb3ZpZGVJbnRlcnZhbCgp
KQorICAgICAgICByZXR1cm4gbV9kZXZpY2VNb3Rpb25EYXRhLT5pbnRlcnZhbCgpOworCisgICAg
aXNOdWxsID0gdHJ1ZTsKKyAgICByZXR1cm4gMDsKIH0KIAogY29uc3QgQXRvbWljU3RyaW5nJiBE
ZXZpY2VNb3Rpb25FdmVudDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
ZXZpY2VNb3Rpb25FdmVudC5oCmluZGV4IDMwMWZmZGQ5NzlmMzFkOTkxOWVmOTE0MDViNmYyZWM1
ODExMTNjNWMuLjcwNWI5ODdlOTdlY2YwNzQ5MjAyMjA5OWM5NDQ5OWM4Zjg0Yjc5ODIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5oCkBAIC0zMCw3ICszMCw5IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRGV2aWNlQWNjZWxlcmF0aW9uOwogY2xhc3MgRGV2
aWNlTW90aW9uRGF0YTsKK2NsYXNzIERldmljZVJvdGF0aW9uUmF0ZTsKIAogY2xhc3MgRGV2aWNl
TW90aW9uRXZlbnQgOiBwdWJsaWMgRXZlbnQgewogcHVibGljOgpAQCAtNDgsNiArNTAsMTEgQEAg
cHVibGljOgogCiAgICAgRGV2aWNlTW90aW9uRGF0YSogZGV2aWNlTW90aW9uRGF0YSgpIGNvbnN0
IHsgcmV0dXJuIG1fZGV2aWNlTW90aW9uRGF0YS5nZXQoKTsgfQogCisgICAgRGV2aWNlQWNjZWxl
cmF0aW9uKiBhY2NlbGVyYXRpb24oKTsKKyAgICBEZXZpY2VBY2NlbGVyYXRpb24qIGFjY2VsZXJh
dGlvbkluY2x1ZGluZ0dyYXZpdHkoKTsKKyAgICBEZXZpY2VSb3RhdGlvblJhdGUqIHJvdGF0aW9u
UmF0ZSgpOworICAgIGRvdWJsZSBpbnRlcnZhbChib29sJiBpc051bGwpIGNvbnN0OworCiAgICAg
dmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKIAogcHJp
dmF0ZToKQEAgLTU1LDYgKzYyLDEwIEBAIHByaXZhdGU6CiAgICAgRGV2aWNlTW90aW9uRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIERldmljZU1vdGlvbkRhdGEqKTsKIAogICAg
IFJlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBtX2RldmljZU1vdGlvbkRhdGE7CisKKyAgICBSZWZQ
dHI8RGV2aWNlQWNjZWxlcmF0aW9uPiBtX2FjY2VsZXJhdGlvbjsKKyAgICBSZWZQdHI8RGV2aWNl
QWNjZWxlcmF0aW9uPiBtX2FjY2VsZXJhdGlvbkluY2x1ZGluZ0dyYXZpdHk7CisgICAgUmVmUHRy
PERldmljZVJvdGF0aW9uUmF0ZT4gbV9yb3RhdGlvblJhdGU7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZl
bnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkV2ZW50LmlkbAppbmRleCA3
YzM5YzJmYWMyZDcxYTM2MDc3ODk2MjFlY2U0YzIxMzVlOTY4YTYwLi5hY2ZjNzk4MThmZTdiOGNk
YWJlYTBhNDdkNGQ0OTgyNGI0OTljMDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RGV2aWNlTW90aW9uRXZlbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rp
b25FdmVudC5pZGwKQEAgLTI2LDEwICsyNiwxMCBAQAogWwogICAgIENvbmRpdGlvbmFsPURFVklD
RV9PUklFTlRBVElPTiwKIF0gaW50ZXJmYWNlIERldmljZU1vdGlvbkV2ZW50IDogRXZlbnQgewot
ICAgIFtDdXN0b21dIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2NlbGVyYXRpb24gYWNjZWxlcmF0aW9u
OwotICAgIFtDdXN0b21dIHJlYWRvbmx5IGF0dHJpYnV0ZSBBY2NlbGVyYXRpb24gYWNjZWxlcmF0
aW9uSW5jbHVkaW5nR3Jhdml0eTsKLSAgICBbQ3VzdG9tXSByZWFkb25seSBhdHRyaWJ1dGUgUm90
YXRpb25SYXRlIHJvdGF0aW9uUmF0ZTsKLSAgICBbQ3VzdG9tXSByZWFkb25seSBhdHRyaWJ1dGUg
ZG91YmxlIGludGVydmFsOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEZXZpY2VBY2NlbGVyYXRp
b24gYWNjZWxlcmF0aW9uOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBEZXZpY2VBY2NlbGVyYXRp
b24gYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUg
RGV2aWNlUm90YXRpb25SYXRlIHJvdGF0aW9uUmF0ZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUg
ZG91YmxlPyBpbnRlcnZhbDsKICAgICBbQ3VzdG9tXSB2b2lkIGluaXREZXZpY2VNb3Rpb25FdmVu
dChpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgdHlwZSwgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJ
c1VuZGVmaW5lZF0gYm9vbGVhbiBidWJibGVzLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBib29sZWFuIGNh
bmNlbGFibGUsIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0
aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQu
Y3BwCmluZGV4IGJhYmM3N2U2YmZiMDIyYmU3NWY3MzJkZDM5M2M2NGY0NGUyNjMzNjQuLjZiNDdm
MzZjZmM1M2VlYjE2MDAxMzQ0YzNiOTNjYTMyZGJjNDA3NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25FdmVudC5jcHAKQEAgLTU1LDYgKzU1LDQyIEBAIHZvaWQg
RGV2aWNlT3JpZW50YXRpb25FdmVudDo6aW5pdERldmljZU9yaWVudGF0aW9uRXZlbnQoY29uc3Qg
QXRvbWljU3RyaW5nJiB0eXBlCiAgICAgbV9vcmllbnRhdGlvbiA9IG9yaWVudGF0aW9uOwogfQog
Citkb3VibGUgRGV2aWNlT3JpZW50YXRpb25FdmVudDo6YWxwaGEoYm9vbCYgaXNOdWxsKSBjb25z
dAoreworICAgIGlmIChtX29yaWVudGF0aW9uLT5jYW5Qcm92aWRlQWxwaGEoKSkKKyAgICAgICAg
cmV0dXJuIG1fb3JpZW50YXRpb24tPmFscGhhKCk7CisKKyAgICBpc051bGwgPSB0cnVlOworICAg
IHJldHVybiAwOworfQorCitkb3VibGUgRGV2aWNlT3JpZW50YXRpb25FdmVudDo6YmV0YShib29s
JiBpc051bGwpIGNvbnN0Cit7CisgICAgaWYgKG1fb3JpZW50YXRpb24tPmNhblByb3ZpZGVCZXRh
KCkpCisgICAgICAgIHJldHVybiBtX29yaWVudGF0aW9uLT5iZXRhKCk7CisKKyAgICBpc051bGwg
PSB0cnVlOworICAgIHJldHVybiAwOworfQorCitkb3VibGUgRGV2aWNlT3JpZW50YXRpb25FdmVu
dDo6Z2FtbWEoYm9vbCYgaXNOdWxsKSBjb25zdAoreworICAgIGlmIChtX29yaWVudGF0aW9uLT5j
YW5Qcm92aWRlR2FtbWEoKSkKKyAgICAgICAgcmV0dXJuIG1fb3JpZW50YXRpb24tPmdhbW1hKCk7
CisKKyAgICBpc051bGwgPSB0cnVlOworICAgIHJldHVybiAwOworfQorCitib29sIERldmljZU9y
aWVudGF0aW9uRXZlbnQ6OmFic29sdXRlKGJvb2wmIGlzTnVsbCkgY29uc3QKK3sKKyAgICBpZiAo
bV9vcmllbnRhdGlvbi0+Y2FuUHJvdmlkZUFic29sdXRlKCkpCisgICAgICAgIHJldHVybiBtX29y
aWVudGF0aW9uLT5hYnNvbHV0ZSgpOworCisgICAgaXNOdWxsID0gdHJ1ZTsKKyAgICByZXR1cm4g
MDsKK30KKwogY29uc3QgQXRvbWljU3RyaW5nJiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50OjppbnRl
cmZhY2VOYW1lKCkgY29uc3QKIHsKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmgKaW5kZXggZTE5NmVhNWI5
M2U0Y2Y3NDg0YjkzY2I3ZWNmZWVhZGI3ZmM0MjNiYi4uNTEwMjY5MDBjNWZiYzY5NWNkNjU4NjAx
OWIxMWY1Y2NhMGNkMjYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9y
aWVudGF0aW9uRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b25FdmVudC5oCkBAIC00OCw2ICs0OCwxMSBAQCBwdWJsaWM6CiAKICAgICBEZXZpY2VPcmllbnRh
dGlvbkRhdGEqIG9yaWVudGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9vcmllbnRhdGlvbi5nZXQo
KTsgfQogCisgICAgZG91YmxlIGFscGhhKGJvb2wmIGlzTnVsbCkgY29uc3Q7CisgICAgZG91Ymxl
IGJldGEoYm9vbCYgaXNOdWxsKSBjb25zdDsKKyAgICBkb3VibGUgZ2FtbWEoYm9vbCYgaXNOdWxs
KSBjb25zdDsKKyAgICBib29sIGFic29sdXRlKGJvb2wmIGlzTnVsbCkgY29uc3Q7CisKICAgICB2
aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0OwogCiBwcml2
YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZl
bnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRsCmlu
ZGV4IGU4MjY1MDNjNTViMjQwZjI0MTI5ZDk3OTAwNWY3NzUwNzIzZGI0ZTcuLjFlMDI1OTI3ZTUz
M2JhMTc4ZDUyOGU0ZmIzNjAzODQyN2VhY2JmNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RGV2aWNlT3JpZW50YXRpb25FdmVudC5pZGwKQEAgLTI2LDEwICsyNiwxMCBAQAogWwogICAgIENv
bmRpdGlvbmFsPURFVklDRV9PUklFTlRBVElPTiwKIF0gaW50ZXJmYWNlIERldmljZU9yaWVudGF0
aW9uRXZlbnQgOiBFdmVudCB7Ci0gICAgW0N1c3RvbV0gcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJs
ZSBhbHBoYTsKLSAgICBbQ3VzdG9tXSByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGJldGE7Ci0g
ICAgW0N1c3RvbV0gcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBnYW1tYTsKLSAgICBbQ3VzdG9t
XSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBhYnNvbHV0ZTsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgZG91YmxlPyBhbHBoYTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlPyBiZXRh
OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGU/IGdhbW1hOworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBib29sZWFuPyBhYnNvbHV0ZTsKICAgICBbQ3VzdG9tXSB2b2lkIGluaXREZXZpY2VP
cmllbnRhdGlvbkV2ZW50KGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmlu
ZyB0eXBlLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGJvb2xlYW4gYnViYmxlcywgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBib29sZWFuIGNhbmNlbGFibGUsIAo=
</data>
<flag name="commit-queue"
          id="218232"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>